summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorG. Branden Robinson <branden@debian.org>2024-01-14 18:59:15 +0100
committerAlejandro Colomar <alx@kernel.org>2024-01-15 15:10:10 +0100
commit71c25f15dcf36e9d95b42b1befb92c5abf1da577 (patch)
tree6f1b57b1c1232b4e160c6bc7f4d1494fd145cf4f
parentd82ce270c70b49c3dd3558ea81d42ccb65f69eee (diff)
man*/: ffix (MR.sed)MR
Use the man(7) macro `MR`, new to groff 1.23.0, instead of font style alternation macros to mark up man-page cross references. Hi Alex, All past efforts at submitting a patch for this have met with vger's wrath and rage--even a diffstat is too much for it tolerate. For those who don't remember what this proposal is meant to achieve, here's a backgrounder from October[0]. groff 1.23.0 has been out for over six months[1] and every major GNU/Linux distribution, plus several non-major ones, is shipping it.[2] I'm attaching two scripts, "MR-migrate.sh" and "MR.sed". Drop them in the directory of your man-pages checkout, and run the first with a POSIX shell. The migration script doesn't just alter the pages; it also generates "before.txt" and "after.txt" files containing the man page contents rendered as (UTF-8) plain text to verify that no changes to page content (apart from font style change to man page cross references attendant to the use of a new macro, which is user-configurable[3]) occur. I get the following output: $ sh ./MR-migrate.sh man4/console_codes.4:324: warning: table wider than line length minus indentation man5/proc_pid_smaps.5:88: warning: table wider than line length minus indentation troff:man7/ascii.7:28: warning: cannot select font 'CW' man4/console_codes.4:324: warning: table wider than line length minus indentation man5/proc_pid_smaps.5:88: warning: table wider than line length minus indentation troff:man7/ascii.7:28: warning: cannot select font 'CW' SAME Thanks again to Brian Inglis for reminding me not to update externally generated/sourced pages (bpf-helpers and Paul Eggert's tz project). Regards, Branden [0] https://lore.kernel.org/linux-man/20231025185341.mqvn7qlm3iby4zgm@illithid/ [1] https://lists.gnu.org/archive/html/info-gnu/2023-07/msg00001.html [2] https://repology.org/project/groff/versions [3] You can of course find out how in groff_man(7). $ cat MR-migrate.sh #!/bin/sh set -e groff_cmd="groff -t -dAD=l -rHY=0 -m andoc -T utf8 -P -cbou" pages=$(grep -L '^\.so ' man*/* \ | grep -Ev '(tzfile|tzselect|zdump|zic|time2posix|bpf-helpers)' \ | sort) $groff_cmd $pages > before.txt sed -i -f MR.sed $pages $groff_cmd $pages > after.txt cmp before.txt after.txt && echo SAME # git co . # to revert ############## $ cat MR.sed # Handle simplest cases: ".BR foo (1)" and ".IR foo (1)". s/^.[BI]R \(\\%\)*\([.@_[:alnum:]\\-]\+\) (\([1-9a-z]\+\))$/.MR \2 \3/ # Handle case: trailing punctuation, as in ".IR foo (1),". s/^.[BI]R \(\\%\)*\([.@_[:alnum:]\\-]\+\) (\([1-9a-z]\+\))\([^[:space:]]\+\)$/.MR \2 \3 \4/ # Handle case: leading punctuation, as in ".RI ( foo (1)". s/^.R[BI] \(\\%\)*\([^[:space:]]\+\) \([.@_[:alnum:]\\-]\+\) (\([1-9a-z]\+\))\([^[:space:]]\+\)$/\\%\2\\c\n.MR \3 \4 \5/ # Handle case: 3rd+ arguments or trailing comments. This case is rare # and will require manual fixup if there are 4+ arguments to MR. Use # groff -man -rCHECKSTYLE=1 to have them automatically reported. s/^.[BI]R \(\\%\)*\([.@_[:alnum:]\\-]\+\) (\([1-8a-z]\+\))\( .*\)/.MR \2 \3\4/ Link: <https://lore.kernel.org/linux-man/20240114154225.5tyuiqrgwyltqmj3@illithid/T/#u> Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--man1/getent.1122
-rw-r--r--man1/iconv.124
-rw-r--r--man1/intro.154
-rw-r--r--man1/ldd.116
-rw-r--r--man1/locale.116
-rw-r--r--man1/localedef.115
-rw-r--r--man1/memusage.158
-rw-r--r--man1/memusagestat.18
-rw-r--r--man1/mtrace.110
-rw-r--r--man1/pldd.112
-rw-r--r--man1/sprof.16
-rw-r--r--man1/time.132
-rw-r--r--man2/_exit.244
-rw-r--r--man2/_syscall.212
-rw-r--r--man2/accept.246
-rw-r--r--man2/access.244
-rw-r--r--man2/acct.28
-rw-r--r--man2/add_key.241
-rw-r--r--man2/adjtimex.226
-rw-r--r--man2/alarm.230
-rw-r--r--man2/alloc_hugepages.24
-rw-r--r--man2/arch_prctl.222
-rw-r--r--man2/bdflush.26
-rw-r--r--man2/bind.248
-rw-r--r--man2/bpf.228
-rw-r--r--man2/brk.214
-rw-r--r--man2/cacheflush.22
-rw-r--r--man2/capget.226
-rw-r--r--man2/chdir.214
-rw-r--r--man2/chmod.238
-rw-r--r--man2/chown.230
-rw-r--r--man2/chroot.226
-rw-r--r--man2/clock_getres.260
-rw-r--r--man2/clock_nanosleep.242
-rw-r--r--man2/clone.2217
-rw-r--r--man2/close.244
-rw-r--r--man2/close_range.216
-rw-r--r--man2/connect.232
-rw-r--r--man2/copy_file_range.210
-rw-r--r--man2/create_module.28
-rw-r--r--man2/delete_module.218
-rw-r--r--man2/dup.228
-rw-r--r--man2/epoll_create.214
-rw-r--r--man2/epoll_ctl.246
-rw-r--r--man2/epoll_wait.226
-rw-r--r--man2/eventfd.2108
-rw-r--r--man2/execve.2134
-rw-r--r--man2/execveat.222
-rw-r--r--man2/exit_group.26
-rw-r--r--man2/fallocate.232
-rw-r--r--man2/fanotify_init.242
-rw-r--r--man2/fanotify_mark.246
-rw-r--r--man2/fcntl.2252
-rw-r--r--man2/flock.258
-rw-r--r--man2/fork.2119
-rw-r--r--man2/fsync.240
-rw-r--r--man2/futex.234
-rw-r--r--man2/futimesat.226
-rw-r--r--man2/get_kernel_syms.212
-rw-r--r--man2/get_mempolicy.232
-rw-r--r--man2/get_robust_list.218
-rw-r--r--man2/getcpu.216
-rw-r--r--man2/getdents.216
-rw-r--r--man2/getdomainname.214
-rw-r--r--man2/getgid.210
-rw-r--r--man2/getgroups.226
-rw-r--r--man2/gethostname.216
-rw-r--r--man2/getitimer.229
-rw-r--r--man2/getpagesize.28
-rw-r--r--man2/getpeername.226
-rw-r--r--man2/getpid.246
-rw-r--r--man2/getpriority.222
-rw-r--r--man2/getrandom.220
-rw-r--r--man2/getresuid.210
-rw-r--r--man2/getrlimit.2140
-rw-r--r--man2/getrusage.218
-rw-r--r--man2/getsid.210
-rw-r--r--man2/getsockname.212
-rw-r--r--man2/getsockopt.226
-rw-r--r--man2/gettid.238
-rw-r--r--man2/gettimeofday.238
-rw-r--r--man2/getuid.210
-rw-r--r--man2/getunwind.24
-rw-r--r--man2/getxattr.230
-rw-r--r--man2/init_module.216
-rw-r--r--man2/inotify_add_watch.214
-rw-r--r--man2/inotify_init.214
-rw-r--r--man2/inotify_rm_watch.28
-rw-r--r--man2/intro.254
-rw-r--r--man2/io_cancel.214
-rw-r--r--man2/io_destroy.214
-rw-r--r--man2/io_getevents.222
-rw-r--r--man2/io_setup.216
-rw-r--r--man2/io_submit.230
-rw-r--r--man2/ioctl.238
-rw-r--r--man2/ioctl_console.250
-rw-r--r--man2/ioctl_fat.222
-rw-r--r--man2/ioctl_ficlonerange.26
-rw-r--r--man2/ioctl_fideduperange.26
-rw-r--r--man2/ioctl_fslabel.26
-rw-r--r--man2/ioctl_getfsmap.24
-rw-r--r--man2/ioctl_iflags.242
-rw-r--r--man2/ioctl_ns.228
-rw-r--r--man2/ioctl_pagemap_scan.28
-rw-r--r--man2/ioctl_pipe.28
-rw-r--r--man2/ioctl_tty.248
-rw-r--r--man2/ioctl_userfaultfd.256
-rw-r--r--man2/ioperm.214
-rw-r--r--man2/iopl.212
-rw-r--r--man2/ioprio_set.223
-rw-r--r--man2/ipc.234
-rw-r--r--man2/kcmp.242
-rw-r--r--man2/kexec_load.212
-rw-r--r--man2/keyctl.2244
-rw-r--r--man2/kill.228
-rw-r--r--man2/landlock_add_rule.216
-rw-r--r--man2/landlock_create_ruleset.216
-rw-r--r--man2/landlock_restrict_self.218
-rw-r--r--man2/link.238
-rw-r--r--man2/listen.226
-rw-r--r--man2/listxattr.232
-rw-r--r--man2/llseek.214
-rw-r--r--man2/lookup_dcookie.26
-rw-r--r--man2/lseek.220
-rw-r--r--man2/madvise.268
-rw-r--r--man2/mbind.242
-rw-r--r--man2/membarrier.22
-rw-r--r--man2/memfd_create.268
-rw-r--r--man2/memfd_secret.238
-rw-r--r--man2/migrate_pages.230
-rw-r--r--man2/mincore.216
-rw-r--r--man2/mkdir.230
-rw-r--r--man2/mknod.240
-rw-r--r--man2/mlock.246
-rw-r--r--man2/mmap.284
-rw-r--r--man2/mmap2.220
-rw-r--r--man2/modify_ldt.212
-rw-r--r--man2/mount.274
-rw-r--r--man2/mount_setattr.276
-rw-r--r--man2/move_pages.228
-rw-r--r--man2/mprotect.222
-rw-r--r--man2/mq_getsetattr.210
-rw-r--r--man2/mremap.238
-rw-r--r--man2/msgctl.224
-rw-r--r--man2/msgget.220
-rw-r--r--man2/msgop.218
-rw-r--r--man2/msync.28
-rw-r--r--man2/nanosleep.236
-rw-r--r--man2/nfsservctl.24
-rw-r--r--man2/nice.228
-rw-r--r--man2/open.2320
-rw-r--r--man2/open_by_handle_at.226
-rw-r--r--man2/openat2.248
-rw-r--r--man2/outb.28
-rw-r--r--man2/pause.28
-rw-r--r--man2/pciconfig_read.22
-rw-r--r--man2/perf_event_open.2100
-rw-r--r--man2/perfmonctl.214
-rw-r--r--man2/personality.220
-rw-r--r--man2/pidfd_getfd.226
-rw-r--r--man2/pidfd_open.260
-rw-r--r--man2/pidfd_send_signal.230
-rw-r--r--man2/pipe.246
-rw-r--r--man2/pivot_root.236
-rw-r--r--man2/pkey_alloc.210
-rw-r--r--man2/poll.242
-rw-r--r--man2/posix_fadvise.226
-rw-r--r--man2/prctl.2261
-rw-r--r--man2/pread.226
-rw-r--r--man2/process_madvise.230
-rw-r--r--man2/process_vm_readv.210
-rw-r--r--man2/ptrace.2277
-rw-r--r--man2/query_module.214
-rw-r--r--man2/quotactl.214
-rw-r--r--man2/read.240
-rw-r--r--man2/readahead.212
-rw-r--r--man2/readdir.210
-rw-r--r--man2/readlink.228
-rw-r--r--man2/readv.240
-rw-r--r--man2/reboot.236
-rw-r--r--man2/recv.280
-rw-r--r--man2/recvmmsg.228
-rw-r--r--man2/remap_file_pages.224
-rw-r--r--man2/removexattr.226
-rw-r--r--man2/rename.226
-rw-r--r--man2/request_key.278
-rw-r--r--man2/restart_syscall.220
-rw-r--r--man2/rmdir.218
-rw-r--r--man2/rt_sigqueueinfo.238
-rw-r--r--man2/s390_guarded_storage.24
-rw-r--r--man2/s390_pci_mmio_write.24
-rw-r--r--man2/s390_runtime_instr.26
-rw-r--r--man2/s390_sthyi.24
-rw-r--r--man2/sched_get_priority_max.216
-rw-r--r--man2/sched_rr_get_interval.28
-rw-r--r--man2/sched_setaffinity.272
-rw-r--r--man2/sched_setattr.278
-rw-r--r--man2/sched_setparam.234
-rw-r--r--man2/sched_setscheduler.256
-rw-r--r--man2/sched_yield.22
-rw-r--r--man2/seccomp.2141
-rw-r--r--man2/seccomp_unotify.2178
-rw-r--r--man2/select.266
-rw-r--r--man2/select_tut.284
-rw-r--r--man2/semctl.232
-rw-r--r--man2/semget.236
-rw-r--r--man2/semop.234
-rw-r--r--man2/send.278
-rw-r--r--man2/sendfile.228
-rw-r--r--man2/sendmmsg.218
-rw-r--r--man2/set_mempolicy.230
-rw-r--r--man2/set_thread_area.218
-rw-r--r--man2/set_tid_address.212
-rw-r--r--man2/seteuid.220
-rw-r--r--man2/setfsgid.214
-rw-r--r--man2/setfsuid.216
-rw-r--r--man2/setgid.214
-rw-r--r--man2/setns.238
-rw-r--r--man2/setpgid.242
-rw-r--r--man2/setresuid.222
-rw-r--r--man2/setreuid.224
-rw-r--r--man2/setsid.224
-rw-r--r--man2/setuid.222
-rw-r--r--man2/setxattr.228
-rw-r--r--man2/sgetmask.210
-rw-r--r--man2/shmctl.235
-rw-r--r--man2/shmget.232
-rw-r--r--man2/shmop.224
-rw-r--r--man2/shutdown.28
-rw-r--r--man2/sigaction.2136
-rw-r--r--man2/sigaltstack.232
-rw-r--r--man2/signal.260
-rw-r--r--man2/signalfd.2130
-rw-r--r--man2/sigpending.224
-rw-r--r--man2/sigprocmask.242
-rw-r--r--man2/sigreturn.220
-rw-r--r--man2/sigsuspend.230
-rw-r--r--man2/sigwaitinfo.240
-rw-r--r--man2/socket.2120
-rw-r--r--man2/socketcall.284
-rw-r--r--man2/socketpair.216
-rw-r--r--man2/splice.226
-rw-r--r--man2/spu_create.228
-rw-r--r--man2/spu_run.218
-rw-r--r--man2/stat.238
-rw-r--r--man2/statfs.236
-rw-r--r--man2/statx.266
-rw-r--r--man2/stime.210
-rw-r--r--man2/subpage_prot.26
-rw-r--r--man2/swapon.214
-rw-r--r--man2/symlink.232
-rw-r--r--man2/sync.210
-rw-r--r--man2/sync_file_range.210
-rw-r--r--man2/syscall.254
-rw-r--r--man2/syscalls.2128
-rw-r--r--man2/sysctl.24
-rw-r--r--man2/sysfs.26
-rw-r--r--man2/sysinfo.22
-rw-r--r--man2/syslog.210
-rw-r--r--man2/tee.218
-rw-r--r--man2/time.218
-rw-r--r--man2/timer_create.264
-rw-r--r--man2/timer_delete.212
-rw-r--r--man2/timer_getoverrun.226
-rw-r--r--man2/timer_settime.220
-rw-r--r--man2/timerfd_create.2113
-rw-r--r--man2/times.222
-rw-r--r--man2/tkill.216
-rw-r--r--man2/truncate.224
-rw-r--r--man2/umask.247
-rw-r--r--man2/umount.214
-rw-r--r--man2/uname.212
-rw-r--r--man2/unimplemented.226
-rw-r--r--man2/unlink.244
-rw-r--r--man2/unshare.277
-rw-r--r--man2/uselib.226
-rw-r--r--man2/userfaultfd.2106
-rw-r--r--man2/ustat.26
-rw-r--r--man2/utime.220
-rw-r--r--man2/utimensat.248
-rw-r--r--man2/vfork.288
-rw-r--r--man2/vhangup.26
-rw-r--r--man2/vmsplice.218
-rw-r--r--man2/wait.280
-rw-r--r--man2/wait4.228
-rw-r--r--man2/write.256
-rw-r--r--man2type/open_how.2type4
-rw-r--r--man3/CPU_SET.314
-rw-r--r--man3/INFINITY.34
-rw-r--r--man3/MAX.38
-rw-r--r--man3/MB_CUR_MAX.312
-rw-r--r--man3/MB_LEN_MAX.32
-rw-r--r--man3/_Generic.32
-rw-r--r--man3/__ppc_get_timebase.34
-rw-r--r--man3/__ppc_set_ppr_med.34
-rw-r--r--man3/__ppc_yield.34
-rw-r--r--man3/__setfpucw.324
-rw-r--r--man3/a64l.310
-rw-r--r--man3/abort.324
-rw-r--r--man3/abs.314
-rw-r--r--man3/acos.320
-rw-r--r--man3/acosh.318
-rw-r--r--man3/addseverity.38
-rw-r--r--man3/adjtime.314
-rw-r--r--man3/aio_cancel.336
-rw-r--r--man3/aio_error.332
-rw-r--r--man3/aio_fsync.328
-rw-r--r--man3/aio_init.32
-rw-r--r--man3/aio_read.334
-rw-r--r--man3/aio_return.332
-rw-r--r--man3/aio_suspend.336
-rw-r--r--man3/aio_write.332
-rw-r--r--man3/alloca.324
-rw-r--r--man3/arc4random.314
-rw-r--r--man3/argz_add.38
-rw-r--r--man3/asin.320
-rw-r--r--man3/asinh.316
-rw-r--r--man3/asprintf.316
-rw-r--r--man3/assert.310
-rw-r--r--man3/assert_perror.312
-rw-r--r--man3/atan.320
-rw-r--r--man3/atan2.318
-rw-r--r--man3/atanh.318
-rw-r--r--man3/atexit.336
-rw-r--r--man3/atof.314
-rw-r--r--man3/atoi.312
-rw-r--r--man3/backtrace.324
-rw-r--r--man3/basename.38
-rw-r--r--man3/bcmp.34
-rw-r--r--man3/bcopy.322
-rw-r--r--man3/bindresvport.312
-rw-r--r--man3/bsd_signal.328
-rw-r--r--man3/bsearch.312
-rw-r--r--man3/bstring.324
-rw-r--r--man3/bswap.34
-rw-r--r--man3/btowc.312
-rw-r--r--man3/btree.318
-rw-r--r--man3/byteorder.310
-rw-r--r--man3/bzero.38
-rw-r--r--man3/cabs.310
-rw-r--r--man3/cacos.38
-rw-r--r--man3/cacosh.312
-rw-r--r--man3/canonicalize_file_name.310
-rw-r--r--man3/carg.36
-rw-r--r--man3/casin.38
-rw-r--r--man3/casinh.312
-rw-r--r--man3/catan.310
-rw-r--r--man3/catanh.312
-rw-r--r--man3/catgets.38
-rw-r--r--man3/catopen.312
-rw-r--r--man3/cbrt.38
-rw-r--r--man3/ccos.312
-rw-r--r--man3/ccosh.310
-rw-r--r--man3/ceil.316
-rw-r--r--man3/cexp.312
-rw-r--r--man3/cexp2.38
-rw-r--r--man3/cfree.322
-rw-r--r--man3/cimag.38
-rw-r--r--man3/circleq.34
-rw-r--r--man3/clearenv.330
-rw-r--r--man3/clock.316
-rw-r--r--man3/clock_getcpuclockid.316
-rw-r--r--man3/clog.314
-rw-r--r--man3/clog10.312
-rw-r--r--man3/clog2.310
-rw-r--r--man3/closedir.316
-rw-r--r--man3/cmsg.318
-rw-r--r--man3/confstr.318
-rw-r--r--man3/conj.38
-rw-r--r--man3/copysign.36
-rw-r--r--man3/cos.322
-rw-r--r--man3/cosh.318
-rw-r--r--man3/cpow.38
-rw-r--r--man3/cproj.36
-rw-r--r--man3/creal.38
-rw-r--r--man3/crypt.324
-rw-r--r--man3/csin.312
-rw-r--r--man3/csinh.312
-rw-r--r--man3/csqrt.38
-rw-r--r--man3/ctan.312
-rw-r--r--man3/ctanh.312
-rw-r--r--man3/ctermid.36
-rw-r--r--man3/ctime.340
-rw-r--r--man3/daemon.326
-rw-r--r--man3/dbopen.346
-rw-r--r--man3/des_crypt.310
-rw-r--r--man3/difftime.314
-rw-r--r--man3/dirfd.328
-rw-r--r--man3/div.38
-rw-r--r--man3/dl_iterate_phdr.316
-rw-r--r--man3/dladdr.316
-rw-r--r--man3/dlerror.312
-rw-r--r--man3/dlinfo.322
-rw-r--r--man3/dlopen.350
-rw-r--r--man3/dlsym.328
-rw-r--r--man3/drand48.38
-rw-r--r--man3/drand48_r.312
-rw-r--r--man3/duplocale.328
-rw-r--r--man3/dysize.36
-rw-r--r--man3/ecvt.318
-rw-r--r--man3/ecvt_r.324
-rw-r--r--man3/encrypt.310
-rw-r--r--man3/end.314
-rw-r--r--man3/endian.310
-rw-r--r--man3/envz_add.36
-rw-r--r--man3/erf.312
-rw-r--r--man3/erfc.312
-rw-r--r--man3/err.316
-rw-r--r--man3/errno.330
-rw-r--r--man3/error.320
-rw-r--r--man3/ether_aton.34
-rw-r--r--man3/euidaccess.332
-rw-r--r--man3/exec.332
-rw-r--r--man3/exit.356
-rw-r--r--man3/exp.318
-rw-r--r--man3/exp10.318
-rw-r--r--man3/exp2.320
-rw-r--r--man3/expm1.312
-rw-r--r--man3/fabs.316
-rw-r--r--man3/fclose.326
-rw-r--r--man3/fcloseall.314
-rw-r--r--man3/fdim.38
-rw-r--r--man3/fenv.34
-rw-r--r--man3/ferror.322
-rw-r--r--man3/fexecve.320
-rw-r--r--man3/fflush.328
-rw-r--r--man3/ffs.36
-rw-r--r--man3/fgetc.338
-rw-r--r--man3/fgetgrent.324
-rw-r--r--man3/fgetpwent.326
-rw-r--r--man3/fgetwc.316
-rw-r--r--man3/fgetws.312
-rw-r--r--man3/fileno.318
-rw-r--r--man3/finite.38
-rw-r--r--man3/flockfile.318
-rw-r--r--man3/floor.316
-rw-r--r--man3/fma.312
-rw-r--r--man3/fmax.38
-rw-r--r--man3/fmemopen.332
-rw-r--r--man3/fmin.38
-rw-r--r--man3/fmod.38
-rw-r--r--man3/fmtmsg.38
-rw-r--r--man3/fnmatch.314
-rw-r--r--man3/fopen.349
-rw-r--r--man3/fopencookie.320
-rw-r--r--man3/fpathconf.316
-rw-r--r--man3/fpclassify.312
-rw-r--r--man3/fpurge.314
-rw-r--r--man3/fputwc.314
-rw-r--r--man3/fputws.312
-rw-r--r--man3/fread.318
-rw-r--r--man3/frexp.38
-rw-r--r--man3/fseek.320
-rw-r--r--man3/fseeko.314
-rw-r--r--man3/ftime.314
-rw-r--r--man3/ftok.322
-rw-r--r--man3/fts.336
-rw-r--r--man3/ftw.328
-rw-r--r--man3/futimes.318
-rw-r--r--man3/fwide.310
-rw-r--r--man3/gamma.326
-rw-r--r--man3/gcvt.316
-rw-r--r--man3/get_nprocs.36
-rw-r--r--man3/get_phys_pages.36
-rw-r--r--man3/getaddrinfo.350
-rw-r--r--man3/getaddrinfo_a.336
-rw-r--r--man3/getauxval.322
-rw-r--r--man3/getcontext.348
-rw-r--r--man3/getcwd.334
-rw-r--r--man3/getdate.326
-rw-r--r--man3/getdirentries.312
-rw-r--r--man3/getdtablesize.316
-rw-r--r--man3/getentropy.314
-rw-r--r--man3/getenv.324
-rw-r--r--man3/getfsent.38
-rw-r--r--man3/getgrent.328
-rw-r--r--man3/getgrent_r.332
-rw-r--r--man3/getgrnam.324
-rw-r--r--man3/getgrouplist.318
-rw-r--r--man3/gethostbyname.359
-rw-r--r--man3/gethostid.314
-rw-r--r--man3/getifaddrs.332
-rw-r--r--man3/getipnodebyname.316
-rw-r--r--man3/getline.318
-rw-r--r--man3/getloadavg.38
-rw-r--r--man3/getlogin.318
-rw-r--r--man3/getmntent.316
-rw-r--r--man3/getnameinfo.342
-rw-r--r--man3/getnetent.38
-rw-r--r--man3/getnetent_r.314
-rw-r--r--man3/getopt.316
-rw-r--r--man3/getpass.310
-rw-r--r--man3/getprotoent.312
-rw-r--r--man3/getprotoent_r.314
-rw-r--r--man3/getpt.318
-rw-r--r--man3/getpw.322
-rw-r--r--man3/getpwent.328
-rw-r--r--man3/getpwent_r.328
-rw-r--r--man3/getpwnam.330
-rw-r--r--man3/getrpcent.310
-rw-r--r--man3/getrpcent_r.314
-rw-r--r--man3/getrpcport.32
-rw-r--r--man3/gets.336
-rw-r--r--man3/getservent.312
-rw-r--r--man3/getservent_r.314
-rw-r--r--man3/getspnam.316
-rw-r--r--man3/getsubopt.310
-rw-r--r--man3/getttyent.36
-rw-r--r--man3/getusershell.36
-rw-r--r--man3/getutent.316
-rw-r--r--man3/getutmp.38
-rw-r--r--man3/getw.320
-rw-r--r--man3/getwchar.310
-rw-r--r--man3/glob.344
-rw-r--r--man3/gnu_get_libc_version.34
-rw-r--r--man3/grantpt.320
-rw-r--r--man3/group_member.312
-rw-r--r--man3/gsignal.318
-rw-r--r--man3/hash.320
-rw-r--r--man3/hsearch.312
-rw-r--r--man3/hypot.310
-rw-r--r--man3/iconv.310
-rw-r--r--man3/iconv_close.38
-rw-r--r--man3/iconv_open.316
-rw-r--r--man3/if_nameindex.328
-rw-r--r--man3/if_nametoindex.312
-rw-r--r--man3/ilogb.314
-rw-r--r--man3/index.316
-rw-r--r--man3/inet.328
-rw-r--r--man3/inet_net_pton.36
-rw-r--r--man3/inet_ntop.314
-rw-r--r--man3/inet_pton.320
-rw-r--r--man3/initgroups.312
-rw-r--r--man3/insque.36
-rw-r--r--man3/intro.330
-rw-r--r--man3/isalpha.346
-rw-r--r--man3/isatty.36
-rw-r--r--man3/isfdtype.310
-rw-r--r--man3/isgreater.38
-rw-r--r--man3/iswalnum.38
-rw-r--r--man3/iswalpha.38
-rw-r--r--man3/iswblank.310
-rw-r--r--man3/iswcntrl.38
-rw-r--r--man3/iswctype.330
-rw-r--r--man3/iswdigit.38
-rw-r--r--man3/iswgraph.38
-rw-r--r--man3/iswlower.310
-rw-r--r--man3/iswprint.38
-rw-r--r--man3/iswpunct.38
-rw-r--r--man3/iswspace.38
-rw-r--r--man3/iswupper.310
-rw-r--r--man3/iswxdigit.38
-rw-r--r--man3/j0.310
-rw-r--r--man3/key_setsecret.34
-rw-r--r--man3/killpg.320
-rw-r--r--man3/ldexp.312
-rw-r--r--man3/lgamma.38
-rw-r--r--man3/lio_listio.340
-rw-r--r--man3/list.34
-rw-r--r--man3/localeconv.326
-rw-r--r--man3/lockf.314
-rw-r--r--man3/log.318
-rw-r--r--man3/log10.322
-rw-r--r--man3/log1p.312
-rw-r--r--man3/log2.320
-rw-r--r--man3/logb.310
-rw-r--r--man3/login.314
-rw-r--r--man3/lrint.322
-rw-r--r--man3/lround.324
-rw-r--r--man3/lsearch.38
-rw-r--r--man3/lseek64.314
-rw-r--r--man3/makecontext.326
-rw-r--r--man3/makedev.310
-rw-r--r--man3/mallinfo.338
-rw-r--r--man3/malloc.350
-rw-r--r--man3/malloc_get_state.320
-rw-r--r--man3/malloc_hook.326
-rw-r--r--man3/malloc_info.320
-rw-r--r--man3/malloc_stats.320
-rw-r--r--man3/malloc_trim.316
-rw-r--r--man3/malloc_usable_size.38
-rw-r--r--man3/mallopt.368
-rw-r--r--man3/matherr.318
-rw-r--r--man3/mblen.36
-rw-r--r--man3/mbrlen.34
-rw-r--r--man3/mbrtowc.36
-rw-r--r--man3/mbsinit.318
-rw-r--r--man3/mbsnrtowcs.314
-rw-r--r--man3/mbsrtowcs.314
-rw-r--r--man3/mbstowcs.314
-rw-r--r--man3/mbtowc.316
-rw-r--r--man3/mcheck.316
-rw-r--r--man3/memccpy.314
-rw-r--r--man3/memchr.328
-rw-r--r--man3/memcmp.316
-rw-r--r--man3/memcpy.322
-rw-r--r--man3/memfrob.36
-rw-r--r--man3/memmem.36
-rw-r--r--man3/memmove.316
-rw-r--r--man3/mempcpy.312
-rw-r--r--man3/memset.310
-rw-r--r--man3/mkdtemp.320
-rw-r--r--man3/mkfifo.326
-rw-r--r--man3/mkstemp.324
-rw-r--r--man3/mktemp.320
-rw-r--r--man3/modf.38
-rw-r--r--man3/mpool.320
-rw-r--r--man3/mq_close.320
-rw-r--r--man3/mq_getattr.330
-rw-r--r--man3/mq_notify.330
-rw-r--r--man3/mq_open.336
-rw-r--r--man3/mq_receive.328
-rw-r--r--man3/mq_send.328
-rw-r--r--man3/mq_unlink.316
-rw-r--r--man3/mtrace.331
-rw-r--r--man3/nan.314
-rw-r--r--man3/netlink.36
-rw-r--r--man3/newlocale.326
-rw-r--r--man3/nextafter.38
-rw-r--r--man3/nextup.36
-rw-r--r--man3/nl_langinfo.362
-rw-r--r--man3/ntp_gettime.314
-rw-r--r--man3/offsetof.32
-rw-r--r--man3/on_exit.320
-rw-r--r--man3/open_memstream.328
-rw-r--r--man3/opendir.324
-rw-r--r--man3/openpty.314
-rw-r--r--man3/perror.314
-rw-r--r--man3/popen.342
-rw-r--r--man3/posix_fallocate.318
-rw-r--r--man3/posix_madvise.310
-rw-r--r--man3/posix_memalign.326
-rw-r--r--man3/posix_openpt.324
-rw-r--r--man3/posix_spawn.3170
-rw-r--r--man3/pow.312
-rw-r--r--man3/pow10.38
-rw-r--r--man3/powerof2.34
-rw-r--r--man3/printf.346
-rw-r--r--man3/profil.316
-rw-r--r--man3/program_invocation_name.32
-rw-r--r--man3/psignal.316
-rw-r--r--man3/pthread_atfork.328
-rw-r--r--man3/pthread_attr_init.340
-rw-r--r--man3/pthread_attr_setaffinity_np.316
-rw-r--r--man3/pthread_attr_setdetachstate.326
-rw-r--r--man3/pthread_attr_setguardsize.326
-rw-r--r--man3/pthread_attr_setinheritsched.335
-rw-r--r--man3/pthread_attr_setschedparam.330
-rw-r--r--man3/pthread_attr_setschedpolicy.326
-rw-r--r--man3/pthread_attr_setscope.320
-rw-r--r--man3/pthread_attr_setsigmask_np.320
-rw-r--r--man3/pthread_attr_setstack.332
-rw-r--r--man3/pthread_attr_setstackaddr.320
-rw-r--r--man3/pthread_attr_setstacksize.320
-rw-r--r--man3/pthread_cancel.334
-rw-r--r--man3/pthread_cleanup_push.334
-rw-r--r--man3/pthread_cleanup_push_defer_np.324
-rw-r--r--man3/pthread_create.372
-rw-r--r--man3/pthread_detach.324
-rw-r--r--man3/pthread_equal.38
-rw-r--r--man3/pthread_exit.322
-rw-r--r--man3/pthread_getattr_default_np.330
-rw-r--r--man3/pthread_getattr_np.336
-rw-r--r--man3/pthread_getcpuclockid.322
-rw-r--r--man3/pthread_join.318
-rw-r--r--man3/pthread_kill.322
-rw-r--r--man3/pthread_kill_other_threads_np.318
-rw-r--r--man3/pthread_mutex_consistent.314
-rw-r--r--man3/pthread_mutexattr_getpshared.34
-rw-r--r--man3/pthread_mutexattr_init.38
-rw-r--r--man3/pthread_mutexattr_setrobust.334
-rw-r--r--man3/pthread_rwlockattr_setkind_np.34
-rw-r--r--man3/pthread_self.314
-rw-r--r--man3/pthread_setaffinity_np.334
-rw-r--r--man3/pthread_setcancelstate.322
-rw-r--r--man3/pthread_setconcurrency.36
-rw-r--r--man3/pthread_setname_np.310
-rw-r--r--man3/pthread_setschedparam.340
-rw-r--r--man3/pthread_setschedprio.330
-rw-r--r--man3/pthread_sigmask.332
-rw-r--r--man3/pthread_sigqueue.326
-rw-r--r--man3/pthread_spin_init.316
-rw-r--r--man3/pthread_spin_lock.312
-rw-r--r--man3/pthread_testcancel.314
-rw-r--r--man3/pthread_tryjoin_np.322
-rw-r--r--man3/pthread_yield.314
-rw-r--r--man3/ptsname.318
-rw-r--r--man3/putenv.314
-rw-r--r--man3/putgrent.310
-rw-r--r--man3/putpwent.318
-rw-r--r--man3/puts.328
-rw-r--r--man3/putwchar.310
-rw-r--r--man3/qecvt.324
-rw-r--r--man3/qsort.316
-rw-r--r--man3/raise.318
-rw-r--r--man3/rand.316
-rw-r--r--man3/random.316
-rw-r--r--man3/random_r.322
-rw-r--r--man3/rcmd.324
-rw-r--r--man3/re_comp.38
-rw-r--r--man3/readdir.338
-rw-r--r--man3/readdir_r.322
-rw-r--r--man3/realpath.330
-rw-r--r--man3/recno.326
-rw-r--r--man3/regex.38
-rw-r--r--man3/remainder.314
-rw-r--r--man3/remove.330
-rw-r--r--man3/remquo.316
-rw-r--r--man3/resolver.324
-rw-r--r--man3/rewinddir.314
-rw-r--r--man3/rexec.316
-rw-r--r--man3/rint.320
-rw-r--r--man3/round.322
-rw-r--r--man3/roundup.312
-rw-r--r--man3/rpc.314
-rw-r--r--man3/rpmatch.324
-rw-r--r--man3/rtime.317
-rw-r--r--man3/rtnetlink.310
-rw-r--r--man3/scalb.316
-rw-r--r--man3/scalbln.316
-rw-r--r--man3/scandir.340
-rw-r--r--man3/scanf.330
-rw-r--r--man3/sched_getcpu.312
-rw-r--r--man3/seekdir.324
-rw-r--r--man3/sem_close.316
-rw-r--r--man3/sem_destroy.316
-rw-r--r--man3/sem_getvalue.312
-rw-r--r--man3/sem_init.328
-rw-r--r--man3/sem_open.318
-rw-r--r--man3/sem_post.316
-rw-r--r--man3/sem_unlink.312
-rw-r--r--man3/sem_wait.322
-rw-r--r--man3/setaliasent.310
-rw-r--r--man3/setbuf.324
-rw-r--r--man3/setenv.314
-rw-r--r--man3/setjmp.310
-rw-r--r--man3/setlocale.336
-rw-r--r--man3/setlogmask.310
-rw-r--r--man3/setnetgrent.310
-rw-r--r--man3/shm_open.348
-rw-r--r--man3/siginterrupt.38
-rw-r--r--man3/signbit.36
-rw-r--r--man3/significand.38
-rw-r--r--man3/sigpause.322
-rw-r--r--man3/sigqueue.334
-rw-r--r--man3/sigset.353
-rw-r--r--man3/sigsetops.314
-rw-r--r--man3/sigvec.343
-rw-r--r--man3/sigwait.326
-rw-r--r--man3/sin.322
-rw-r--r--man3/sincos.316
-rw-r--r--man3/sinh.318
-rw-r--r--man3/sleep.322
-rw-r--r--man3/slist.34
-rw-r--r--man3/sockatmark.316
-rw-r--r--man3/sqrt.312
-rw-r--r--man3/sscanf.332
-rw-r--r--man3/stailq.34
-rw-r--r--man3/static_assert.34
-rw-r--r--man3/statvfs.326
-rw-r--r--man3/stdarg.310
-rw-r--r--man3/stdin.346
-rw-r--r--man3/stdio.324
-rw-r--r--man3/stdio_ext.38
-rw-r--r--man3/stpncpy.310
-rw-r--r--man3/strcasecmp.316
-rw-r--r--man3/strchr.322
-rw-r--r--man3/strcmp.324
-rw-r--r--man3/strcoll.318
-rw-r--r--man3/strcpy.314
-rw-r--r--man3/strdup.324
-rw-r--r--man3/strerror.320
-rw-r--r--man3/strfmon.312
-rw-r--r--man3/strfromd.312
-rw-r--r--man3/strfry.36
-rw-r--r--man3/strftime.348
-rw-r--r--man3/string.352
-rw-r--r--man3/strlen.312
-rw-r--r--man3/strncat.310
-rw-r--r--man3/strnlen.36
-rw-r--r--man3/strpbrk.318
-rw-r--r--man3/strptime.324
-rw-r--r--man3/strsep.324
-rw-r--r--man3/strsignal.38
-rw-r--r--man3/strspn.320
-rw-r--r--man3/strstr.322
-rw-r--r--man3/strtod.326
-rw-r--r--man3/strtoimax.316
-rw-r--r--man3/strtok.322
-rw-r--r--man3/strtol.320
-rw-r--r--man3/strtoul.322
-rw-r--r--man3/strverscmp.320
-rw-r--r--man3/strxfrm.320
-rw-r--r--man3/swab.34
-rw-r--r--man3/sysconf.352
-rw-r--r--man3/syslog.326
-rw-r--r--man3/system.352
-rw-r--r--man3/sysv_signal.322
-rw-r--r--man3/tailq.34
-rw-r--r--man3/tan.320
-rw-r--r--man3/tanh.316
-rw-r--r--man3/tcgetpgrp.38
-rw-r--r--man3/tcgetsid.36
-rw-r--r--man3/telldir.318
-rw-r--r--man3/tempnam.330
-rw-r--r--man3/termios.374
-rw-r--r--man3/tgamma.314
-rw-r--r--man3/timegm.318
-rw-r--r--man3/timeradd.36
-rw-r--r--man3/tmpfile.314
-rw-r--r--man3/tmpnam.328
-rw-r--r--man3/toascii.310
-rw-r--r--man3/toupper.320
-rw-r--r--man3/towctrans.310
-rw-r--r--man3/towlower.316
-rw-r--r--man3/towupper.316
-rw-r--r--man3/trunc.316
-rw-r--r--man3/tsearch.310
-rw-r--r--man3/ttyname.314
-rw-r--r--man3/ttyslot.320
-rw-r--r--man3/tzset.322
-rw-r--r--man3/ualarm.345
-rw-r--r--man3/ulimit.318
-rw-r--r--man3/undocumented.3264
-rw-r--r--man3/ungetwc.36
-rw-r--r--man3/unlocked_stdio.310
-rw-r--r--man3/unlockpt.314
-rw-r--r--man3/updwtmp.38
-rw-r--r--man3/uselocale.328
-rw-r--r--man3/usleep.346
-rw-r--r--man3/wcpcpy.310
-rw-r--r--man3/wcpncpy.310
-rw-r--r--man3/wcrtomb.36
-rw-r--r--man3/wcscasecmp.315
-rw-r--r--man3/wcscat.312
-rw-r--r--man3/wcschr.314
-rw-r--r--man3/wcscmp.310
-rw-r--r--man3/wcscpy.314
-rw-r--r--man3/wcscspn.310
-rw-r--r--man3/wcsdup.314
-rw-r--r--man3/wcslen.38
-rw-r--r--man3/wcsncasecmp.315
-rw-r--r--man3/wcsncat.38
-rw-r--r--man3/wcsncmp.38
-rw-r--r--man3/wcsncpy.36
-rw-r--r--man3/wcsnlen.310
-rw-r--r--man3/wcsnrtombs.312
-rw-r--r--man3/wcspbrk.310
-rw-r--r--man3/wcsrchr.38
-rw-r--r--man3/wcsrtombs.312
-rw-r--r--man3/wcsspn.38
-rw-r--r--man3/wcsstr.38
-rw-r--r--man3/wcstoimax.318
-rw-r--r--man3/wcstok.38
-rw-r--r--man3/wcstombs.314
-rw-r--r--man3/wcswidth.36
-rw-r--r--man3/wctob.312
-rw-r--r--man3/wctomb.316
-rw-r--r--man3/wctrans.36
-rw-r--r--man3/wctype.36
-rw-r--r--man3/wcwidth.36
-rw-r--r--man3/wmemchr.38
-rw-r--r--man3/wmemcmp.38
-rw-r--r--man3/wmemcpy.314
-rw-r--r--man3/wmemmove.38
-rw-r--r--man3/wmemset.36
-rw-r--r--man3/wordexp.316
-rw-r--r--man3/wprintf.348
-rw-r--r--man3/xcrypt.34
-rw-r--r--man3/xdr.312
-rw-r--r--man3/y0.310
-rw-r--r--man3const/EOF.3const4
-rw-r--r--man3const/EXIT_SUCCESS.3const6
-rw-r--r--man3const/NULL.3const8
-rw-r--r--man3head/printf.h.3head22
-rw-r--r--man3head/sysexits.h.3head12
-rw-r--r--man3type/FILE.3type16
-rw-r--r--man3type/aiocb.3type18
-rw-r--r--man3type/blkcnt_t.3type2
-rw-r--r--man3type/blksize_t.3type2
-rw-r--r--man3type/cc_t.3type2
-rw-r--r--man3type/clock_t.3type4
-rw-r--r--man3type/clockid_t.3type10
-rw-r--r--man3type/dev_t.3type6
-rw-r--r--man3type/div_t.3type10
-rw-r--r--man3type/epoll_event.3type4
-rw-r--r--man3type/fenv_t.3type4
-rw-r--r--man3type/id_t.3type46
-rw-r--r--man3type/intN_t.3type10
-rw-r--r--man3type/intmax_t.3type12
-rw-r--r--man3type/intptr_t.3type8
-rw-r--r--man3type/iovec.3type4
-rw-r--r--man3type/itimerspec.3type6
-rw-r--r--man3type/lconv.3type8
-rw-r--r--man3type/mode_t.3type10
-rw-r--r--man3type/off_t.3type28
-rw-r--r--man3type/ptrdiff_t.3type6
-rw-r--r--man3type/sigevent.3type24
-rw-r--r--man3type/size_t.3type34
-rw-r--r--man3type/sockaddr.3type34
-rw-r--r--man3type/stat.3type14
-rw-r--r--man3type/time_t.3type14
-rw-r--r--man3type/timer_t.3type10
-rw-r--r--man3type/timespec.3type14
-rw-r--r--man3type/timeval.3type18
-rw-r--r--man3type/tm.3type20
-rw-r--r--man3type/va_list.3type16
-rw-r--r--man3type/void.3type14
-rw-r--r--man4/cciss.418
-rw-r--r--man4/console_codes.430
-rw-r--r--man4/cpuid.46
-rw-r--r--man4/dsp56k.410
-rw-r--r--man4/fd.418
-rw-r--r--man4/full.46
-rw-r--r--man4/fuse.428
-rw-r--r--man4/hd.48
-rw-r--r--man4/hpsa.433
-rw-r--r--man4/initrd.416
-rw-r--r--man4/intro.46
-rw-r--r--man4/lirc.416
-rw-r--r--man4/loop.432
-rw-r--r--man4/lp.416
-rw-r--r--man4/mem.46
-rw-r--r--man4/mouse.46
-rw-r--r--man4/null.48
-rw-r--r--man4/pts.424
-rw-r--r--man4/ram.46
-rw-r--r--man4/random.434
-rw-r--r--man4/rtc.456
-rw-r--r--man4/sd.416
-rw-r--r--man4/sk98lin.412
-rw-r--r--man4/smartpqi.416
-rw-r--r--man4/st.428
-rw-r--r--man4/tty.428
-rw-r--r--man4/ttyS.412
-rw-r--r--man4/vcs.418
-rw-r--r--man4/veth.412
-rw-r--r--man4/wavelan.422
-rw-r--r--man5/acct.512
-rw-r--r--man5/charmap.512
-rw-r--r--man5/core.597
-rw-r--r--man5/dir_colors.518
-rw-r--r--man5/elf.538
-rw-r--r--man5/erofs.512
-rw-r--r--man5/filesystems.546
-rw-r--r--man5/ftpusers.56
-rw-r--r--man5/gai.conf.54
-rw-r--r--man5/group.524
-rw-r--r--man5/host.conf.518
-rw-r--r--man5/hosts.514
-rw-r--r--man5/hosts.equiv.56
-rw-r--r--man5/intro.52
-rw-r--r--man5/issue.56
-rw-r--r--man5/locale.558
-rw-r--r--man5/motd.56
-rw-r--r--man5/networks.516
-rw-r--r--man5/nologin.56
-rw-r--r--man5/nscd.conf.510
-rw-r--r--man5/nss.518
-rw-r--r--man5/nsswitch.conf.532
-rw-r--r--man5/passwd.548
-rw-r--r--man5/proc.570
-rw-r--r--man5/proc_apm.52
-rw-r--r--man5/proc_buddyinfo.52
-rw-r--r--man5/proc_bus.56
-rw-r--r--man5/proc_cgroups.54
-rw-r--r--man5/proc_cmdline.56
-rw-r--r--man5/proc_config.gz.56
-rw-r--r--man5/proc_cpuinfo.54
-rw-r--r--man5/proc_crypto.52
-rw-r--r--man5/proc_devices.52
-rw-r--r--man5/proc_diskstats.52
-rw-r--r--man5/proc_dma.52
-rw-r--r--man5/proc_driver.52
-rw-r--r--man5/proc_execdomains.52
-rw-r--r--man5/proc_fb.52
-rw-r--r--man5/proc_filesystems.56
-rw-r--r--man5/proc_fs.52
-rw-r--r--man5/proc_ide.54
-rw-r--r--man5/proc_interrupts.52
-rw-r--r--man5/proc_iomem.52
-rw-r--r--man5/proc_ioports.52
-rw-r--r--man5/proc_kallsyms.52
-rw-r--r--man5/proc_kcore.52
-rw-r--r--man5/proc_keys.56
-rw-r--r--man5/proc_kmsg.58
-rw-r--r--man5/proc_kpagecgroup.52
-rw-r--r--man5/proc_kpagecount.52
-rw-r--r--man5/proc_kpageflags.52
-rw-r--r--man5/proc_loadavg.54
-rw-r--r--man5/proc_locks.518
-rw-r--r--man5/proc_malloc.52
-rw-r--r--man5/proc_meminfo.516
-rw-r--r--man5/proc_modules.54
-rw-r--r--man5/proc_mtrr.52
-rw-r--r--man5/proc_partitions.52
-rw-r--r--man5/proc_pci.52
-rw-r--r--man5/proc_pid.58
-rw-r--r--man5/proc_pid_attr.527
-rw-r--r--man5/proc_pid_autogroup.54
-rw-r--r--man5/proc_pid_auxv.56
-rw-r--r--man5/proc_pid_cgroup.54
-rw-r--r--man5/proc_pid_clear_refs.52
-rw-r--r--man5/proc_pid_cmdline.56
-rw-r--r--man5/proc_pid_comm.510
-rw-r--r--man5/proc_pid_coredump_filter.54
-rw-r--r--man5/proc_pid_cpuset.54
-rw-r--r--man5/proc_pid_cwd.59
-rw-r--r--man5/proc_pid_environ.514
-rw-r--r--man5/proc_pid_exe.513
-rw-r--r--man5/proc_pid_fd.527
-rw-r--r--man5/proc_pid_fdinfo.534
-rw-r--r--man5/proc_pid_io.514
-rw-r--r--man5/proc_pid_limits.54
-rw-r--r--man5/proc_pid_map_files.56
-rw-r--r--man5/proc_pid_maps.518
-rw-r--r--man5/proc_pid_mem.510
-rw-r--r--man5/proc_pid_mountinfo.516
-rw-r--r--man5/proc_pid_mounts.522
-rw-r--r--man5/proc_pid_mountstats.54
-rw-r--r--man5/proc_pid_net.516
-rw-r--r--man5/proc_pid_ns.56
-rw-r--r--man5/proc_pid_numa_maps.54
-rw-r--r--man5/proc_pid_oom_score.56
-rw-r--r--man5/proc_pid_oom_score_adj.58
-rw-r--r--man5/proc_pid_pagemap.56
-rw-r--r--man5/proc_pid_personality.56
-rw-r--r--man5/proc_pid_projid_map.54
-rw-r--r--man5/proc_pid_root.511
-rw-r--r--man5/proc_pid_seccomp.58
-rw-r--r--man5/proc_pid_setgroups.54
-rw-r--r--man5/proc_pid_smaps.56
-rw-r--r--man5/proc_pid_stack.54
-rw-r--r--man5/proc_pid_stat.529
-rw-r--r--man5/proc_pid_statm.54
-rw-r--r--man5/proc_pid_status.540
-rw-r--r--man5/proc_pid_syscall.54
-rw-r--r--man5/proc_pid_task.510
-rw-r--r--man5/proc_pid_timers.56
-rw-r--r--man5/proc_pid_timerslack_ns.56
-rw-r--r--man5/proc_pid_uid_map.56
-rw-r--r--man5/proc_pid_wchan.54
-rw-r--r--man5/proc_profile.54
-rw-r--r--man5/proc_scsi.54
-rw-r--r--man5/proc_slabinfo.54
-rw-r--r--man5/proc_stat.52
-rw-r--r--man5/proc_swaps.54
-rw-r--r--man5/proc_sys.54
-rw-r--r--man5/proc_sys_abi.54
-rw-r--r--man5/proc_sys_debug.54
-rw-r--r--man5/proc_sys_dev.54
-rw-r--r--man5/proc_sys_fs.554
-rw-r--r--man5/proc_sys_kernel.566
-rw-r--r--man5/proc_sys_net.514
-rw-r--r--man5/proc_sys_proc.54
-rw-r--r--man5/proc_sys_sunrpc.54
-rw-r--r--man5/proc_sys_user.56
-rw-r--r--man5/proc_sys_vm.533
-rw-r--r--man5/proc_sysrq-trigger.52
-rw-r--r--man5/proc_sysvipc.56
-rw-r--r--man5/proc_tid_children.52
-rw-r--r--man5/proc_timer_list.52
-rw-r--r--man5/proc_timer_stats.52
-rw-r--r--man5/proc_tty.52
-rw-r--r--man5/proc_uptime.52
-rw-r--r--man5/proc_version.52
-rw-r--r--man5/proc_vmstat.54
-rw-r--r--man5/proc_zoneinfo.52
-rw-r--r--man5/protocols.52
-rw-r--r--man5/repertoiremap.510
-rw-r--r--man5/resolv.conf.536
-rw-r--r--man5/rpc.52
-rw-r--r--man5/securetty.512
-rw-r--r--man5/services.548
-rw-r--r--man5/shells.58
-rw-r--r--man5/slabinfo.52
-rw-r--r--man5/sysfs.512
-rw-r--r--man5/termcap.510
-rw-r--r--man5/tmpfs.537
-rw-r--r--man5/ttytype.514
-rw-r--r--man5/utmp.578
-rw-r--r--man7/address_families.738
-rw-r--r--man7/aio.776
-rw-r--r--man7/armscii-8.78
-rw-r--r--man7/arp.716
-rw-r--r--man7/ascii.734
-rw-r--r--man7/attributes.720
-rw-r--r--man7/boot.734
-rw-r--r--man7/bootparam.722
-rw-r--r--man7/capabilities.7413
-rw-r--r--man7/cgroup_namespaces.734
-rw-r--r--man7/cgroups.774
-rw-r--r--man7/charsets.714
-rw-r--r--man7/complex.752
-rw-r--r--man7/cp1251.716
-rw-r--r--man7/cp1252.714
-rw-r--r--man7/cpuset.7158
-rw-r--r--man7/credentials.7259
-rw-r--r--man7/ddp.720
-rw-r--r--man7/environ.7110
-rw-r--r--man7/epoll.7117
-rw-r--r--man7/fanotify.7116
-rw-r--r--man7/feature_test_macros.758
-rw-r--r--man7/fifo.720
-rw-r--r--man7/futex.724
-rw-r--r--man7/glob.712
-rw-r--r--man7/hier.728
-rw-r--r--man7/hostname.722
-rw-r--r--man7/icmp.78
-rw-r--r--man7/inode.772
-rw-r--r--man7/inotify.7142
-rw-r--r--man7/intro.72
-rw-r--r--man7/ip.7171
-rw-r--r--man7/ipc_namespaces.720
-rw-r--r--man7/ipv6.728
-rw-r--r--man7/iso_8859-1.712
-rw-r--r--man7/iso_8859-10.78
-rw-r--r--man7/iso_8859-11.78
-rw-r--r--man7/iso_8859-13.78
-rw-r--r--man7/iso_8859-14.78
-rw-r--r--man7/iso_8859-15.712
-rw-r--r--man7/iso_8859-16.710
-rw-r--r--man7/iso_8859-2.712
-rw-r--r--man7/iso_8859-3.78
-rw-r--r--man7/iso_8859-4.78
-rw-r--r--man7/iso_8859-5.714
-rw-r--r--man7/iso_8859-6.78
-rw-r--r--man7/iso_8859-7.78
-rw-r--r--man7/iso_8859-8.78
-rw-r--r--man7/iso_8859-9.78
-rw-r--r--man7/keyrings.7152
-rw-r--r--man7/koi8-r.714
-rw-r--r--man7/koi8-u.714
-rw-r--r--man7/landlock.786
-rw-r--r--man7/libc.714
-rw-r--r--man7/locale.7127
-rw-r--r--man7/mailaddr.78
-rw-r--r--man7/man-pages.750
-rw-r--r--man7/math_error.738
-rw-r--r--man7/mount_namespaces.7155
-rw-r--r--man7/mq_overview.794
-rw-r--r--man7/namespaces.799
-rw-r--r--man7/netdevice.720
-rw-r--r--man7/netlink.732
-rw-r--r--man7/network_namespaces.737
-rw-r--r--man7/nptl.750
-rw-r--r--man7/numa.726
-rw-r--r--man7/packet.754
-rw-r--r--man7/path_resolution.740
-rw-r--r--man7/persistent-keyring.752
-rw-r--r--man7/pid_namespaces.7108
-rw-r--r--man7/pipe.794
-rw-r--r--man7/pkeys.734
-rw-r--r--man7/posixoptions.718
-rw-r--r--man7/process-keyring.726
-rw-r--r--man7/pthreads.7175
-rw-r--r--man7/pty.756
-rw-r--r--man7/queue.712
-rw-r--r--man7/random.726
-rw-r--r--man7/raw.741
-rw-r--r--man7/regex.710
-rw-r--r--man7/rtld-audit.718
-rw-r--r--man7/rtnetlink.714
-rw-r--r--man7/sched.7190
-rw-r--r--man7/sem_overview.761
-rw-r--r--man7/session-keyring.754
-rw-r--r--man7/shm_overview.758
-rw-r--r--man7/signal-safety.738
-rw-r--r--man7/signal.7372
-rw-r--r--man7/sock_diag.726
-rw-r--r--man7/socket.7264
-rw-r--r--man7/spufs.7140
-rw-r--r--man7/standards.718
-rw-r--r--man7/string_copying.7134
-rw-r--r--man7/suffixes.76
-rw-r--r--man7/symlink.7174
-rw-r--r--man7/system_data_types.740
-rw-r--r--man7/sysvipc.766
-rw-r--r--man7/tcp.7136
-rw-r--r--man7/termio.722
-rw-r--r--man7/thread-keyring.726
-rw-r--r--man7/time.7124
-rw-r--r--man7/time_namespaces.748
-rw-r--r--man7/udp.768
-rw-r--r--man7/udplite.726
-rw-r--r--man7/unicode.714
-rw-r--r--man7/unix.7168
-rw-r--r--man7/uri.720
-rw-r--r--man7/user-keyring.744
-rw-r--r--man7/user-session-keyring.744
-rw-r--r--man7/user_namespaces.7226
-rw-r--r--man7/utf-8.714
-rw-r--r--man7/uts_namespaces.732
-rw-r--r--man7/vdso.722
-rw-r--r--man7/vsock.740
-rw-r--r--man7/x25.712
-rw-r--r--man7/xattr.740
-rw-r--r--man8/iconvconfig.88
-rw-r--r--man8/intro.82
-rw-r--r--man8/ld.so.855
-rw-r--r--man8/ldconfig.84
-rw-r--r--man8/nscd.828
-rw-r--r--man8/sln.88
1203 files changed, 15732 insertions, 15569 deletions
diff --git a/man1/getent.1 b/man1/getent.1
index 8efbbe51a..a15459bc1 100644
--- a/man1/getent.1
+++ b/man1/getent.1
@@ -34,19 +34,19 @@ may be any of those supported by the GNU C Library, listed below:
When no
.I key
is provided, use
-.BR sethostent (3),
-.BR gethostent (3),
+.MR sethostent 3 ,
+.MR gethostent 3 ,
and
-.BR endhostent (3)
+.MR endhostent 3
to enumerate the hosts database.
This is identical to using
-.BR hosts (5).
+.MR hosts 5 .
When one or more
.I key
arguments are provided, pass each
.I key
in succession to
-.BR getaddrinfo (3)
+.MR getaddrinfo 3
with the address family
.BR AF_UNSPEC ,
enumerating each socket address structure returned.
@@ -63,7 +63,7 @@ Same as
but use the address family
.BR AF_INET6 .
The call to
-.BR getaddrinfo (3)
+.MR getaddrinfo 3
in this case includes the
.B AI_V4MAPPED
flag.
@@ -72,17 +72,17 @@ flag.
When no
.I key
is provided, use
-.BR setaliasent (3),
-.BR getaliasent (3),
+.MR setaliasent 3 ,
+.MR getaliasent 3 ,
and
-.BR endaliasent (3)
+.MR endaliasent 3
to enumerate the aliases database.
When one or more
.I key
arguments are provided, pass each
.I key
in succession to
-.BR getaliasbyname (3)
+.MR getaliasbyname 3
and display the result.
.TP
.B ethers
@@ -91,9 +91,9 @@ When one or more
arguments are provided, pass each
.I key
in succession to
-.BR ether_aton (3)
+.MR ether_aton 3
and
-.BR ether_hostton (3)
+.MR ether_hostton 3
until a result is obtained, and display the result.
Enumeration is not supported on
.BR ethers ,
@@ -105,59 +105,59 @@ must be provided.
When no
.I key
is provided, use
-.BR setgrent (3),
-.BR getgrent (3),
+.MR setgrent 3 ,
+.MR getgrent 3 ,
and
-.BR endgrent (3)
+.MR endgrent 3
to enumerate the group database.
When one or more
.I key
arguments are provided, pass each numeric
.I key
to
-.BR getgrgid (3)
+.MR getgrgid 3
and each nonnumeric
.I key
to
-.BR getgrnam (3)
+.MR getgrnam 3
and display the result.
.TP
.B gshadow
When no
.I key
is provided, use
-.BR setsgent (3),
-.BR getsgent (3),
+.MR setsgent 3 ,
+.MR getsgent 3 ,
and
-.BR endsgent (3)
+.MR endsgent 3
to enumerate the gshadow database.
When one or more
.I key
arguments are provided, pass each
.I key
in succession to
-.BR getsgnam (3)
+.MR getsgnam 3
and display the result.
.TP
.B hosts
When no
.I key
is provided, use
-.BR sethostent (3),
-.BR gethostent (3),
+.MR sethostent 3 ,
+.MR gethostent 3 ,
and
-.BR endhostent (3)
+.MR endhostent 3
to enumerate the hosts database.
When one or more
.I key
arguments are provided, pass each
.I key
to
-.BR gethostbyaddr (3)
+.MR gethostbyaddr 3
or
-.BR gethostbyname2 (3),
+.MR gethostbyname2 3 ,
depending on whether a call to
-.BR inet_pton (3)
+.MR inet_pton 3
indicates that the
.I key
is an IPv6 or IPv4 address or not, and display the result.
@@ -168,7 +168,7 @@ When one or more
arguments are provided, pass each
.I key
in succession to
-.BR getgrouplist (3)
+.MR getgrouplist 3
and display the result.
Enumeration is not supported on
.BR initgroups ,
@@ -182,9 +182,9 @@ When one
is provided, pass the
.I key
to
-.BR setnetgrent (3)
+.MR setnetgrent 3
and, using
-.BR getnetgrent (3)
+.MR getnetgrent 3
display the resulting string triple
.RI ( hostname ", " username ", " domainname ).
Alternatively, three
@@ -195,7 +195,7 @@ may be provided, which are interpreted as the
and
.I domainname
to match to a netgroup name via
-.BR innetgr (3).
+.MR innetgr 3 .
Enumeration is not supported on
.BR netgroup ,
so either one or three
@@ -206,122 +206,122 @@ must be provided.
When no
.I key
is provided, use
-.BR setnetent (3),
-.BR getnetent (3),
+.MR setnetent 3 ,
+.MR getnetent 3 ,
and
-.BR endnetent (3)
+.MR endnetent 3
to enumerate the networks database.
When one or more
.I key
arguments are provided, pass each numeric
.I key
to
-.BR getnetbyaddr (3)
+.MR getnetbyaddr 3
and each nonnumeric
.I key
to
-.BR getnetbyname (3)
+.MR getnetbyname 3
and display the result.
.TP
.B passwd
When no
.I key
is provided, use
-.BR setpwent (3),
-.BR getpwent (3),
+.MR setpwent 3 ,
+.MR getpwent 3 ,
and
-.BR endpwent (3)
+.MR endpwent 3
to enumerate the passwd database.
When one or more
.I key
arguments are provided, pass each numeric
.I key
to
-.BR getpwuid (3)
+.MR getpwuid 3
and each nonnumeric
.I key
to
-.BR getpwnam (3)
+.MR getpwnam 3
and display the result.
.TP
.B protocols
When no
.I key
is provided, use
-.BR setprotoent (3),
-.BR getprotoent (3),
+.MR setprotoent 3 ,
+.MR getprotoent 3 ,
and
-.BR endprotoent (3)
+.MR endprotoent 3
to enumerate the protocols database.
When one or more
.I key
arguments are provided, pass each numeric
.I key
to
-.BR getprotobynumber (3)
+.MR getprotobynumber 3
and each nonnumeric
.I key
to
-.BR getprotobyname (3)
+.MR getprotobyname 3
and display the result.
.TP
.B rpc
When no
.I key
is provided, use
-.BR setrpcent (3),
-.BR getrpcent (3),
+.MR setrpcent 3 ,
+.MR getrpcent 3 ,
and
-.BR endrpcent (3)
+.MR endrpcent 3
to enumerate the rpc database.
When one or more
.I key
arguments are provided, pass each numeric
.I key
to
-.BR getrpcbynumber (3)
+.MR getrpcbynumber 3
and each nonnumeric
.I key
to
-.BR getrpcbyname (3)
+.MR getrpcbyname 3
and display the result.
.TP
.B services
When no
.I key
is provided, use
-.BR setservent (3),
-.BR getservent (3),
+.MR setservent 3 ,
+.MR getservent 3 ,
and
-.BR endservent (3)
+.MR endservent 3
to enumerate the services database.
When one or more
.I key
arguments are provided, pass each numeric
.I key
to
-.BR getservbynumber (3)
+.MR getservbynumber 3
and each nonnumeric
.I key
to
-.BR getservbyname (3)
+.MR getservbyname 3
and display the result.
.TP
.B shadow
When no
.I key
is provided, use
-.BR setspent (3),
-.BR getspent (3),
+.MR setspent 3 ,
+.MR getspent 3 ,
and
-.BR endspent (3)
+.MR endspent 3
to enumerate the shadow database.
When one or more
.I key
arguments are provided, pass each
.I key
in succession to
-.BR getspnam (3)
+.MR getspnam 3
and display the result.
.SH OPTIONS
.TP
@@ -384,4 +384,4 @@ could not be found in the
Enumeration not supported on this
.IR database .
.SH SEE ALSO
-.BR nsswitch.conf (5)
+.MR nsswitch.conf 5
diff --git a/man1/iconv.1 b/man1/iconv.1
index 8dcce9262..658e39cf7 100644
--- a/man1/iconv.1
+++ b/man1/iconv.1
@@ -110,17 +110,17 @@ Zero on success, nonzero on errors.
Internally, the
.B iconv
program uses the
-.BR iconv (3)
+.MR iconv 3
function which in turn uses
.I gconv
modules (dynamically loaded shared libraries)
to convert to and from a character set.
Before calling
-.BR iconv (3),
+.MR iconv 3 ,
the
.B iconv
program must first allocate a conversion descriptor using
-.BR iconv_open (3).
+.MR iconv_open 3 .
The operation of the latter function is influenced by the setting of the
.B GCONV_PATH
environment variable:
@@ -128,9 +128,9 @@ environment variable:
If
.B GCONV_PATH
is not set,
-.BR iconv_open (3)
+.MR iconv_open 3
loads the system gconv module configuration cache file created by
-.BR iconvconfig (8)
+.MR iconvconfig 8
and then, based on the configuration,
loads the gconv modules needed to perform the conversion.
If the system gconv module configuration cache file is not available
@@ -141,7 +141,7 @@ If
is defined (as a colon-separated list of pathnames),
the system gconv module configuration cache is not used.
Instead,
-.BR iconv_open (3)
+.MR iconv_open 3
first tries to load the configuration files by searching the directories in
.B GCONV_PATH
in order,
@@ -196,9 +196,9 @@ abc ss ? EUR abc
.EE
.in
.SH SEE ALSO
-.BR locale (1),
-.BR uconv (1),
-.BR iconv (3),
-.BR nl_langinfo (3),
-.BR charsets (7),
-.BR iconvconfig (8)
+.MR locale 1 ,
+.MR uconv 1 ,
+.MR iconv 3 ,
+.MR nl_langinfo 3 ,
+.MR charsets 7 ,
+.MR iconvconfig 8
diff --git a/man1/intro.1 b/man1/intro.1
index decaab161..ae98a9cdb 100644
--- a/man1/intro.1
+++ b/man1/intro.1
@@ -27,14 +27,14 @@ Below a bare minimum, to get started.
In order to start working, you probably first have to open a session by
giving your username and password.
The program
-.BR login (1)
+.MR login 1
now starts a
.I shell
(command interpreter) for you.
In case of a graphical login, you get a screen with menus or icons
and a mouse click will start a shell in a window.
See also
-.BR xterm (1).
+.MR xterm 1 .
.SS The shell
One types commands to the
.IR shell ,
@@ -45,13 +45,13 @@ Everybody has their own favorite one.
The standard one is called
.IR sh .
See also
-.BR ash (1),
-.BR bash (1),
-.BR chsh (1),
-.BR csh (1),
-.BR dash (1),
-.BR ksh (1),
-.BR zsh (1).
+.MR ash 1 ,
+.MR bash 1 ,
+.MR chsh 1 ,
+.MR csh 1 ,
+.MR dash 1 ,
+.MR ksh 1 ,
+.MR zsh 1 .
.P
A session might go like:
.P
@@ -139,7 +139,7 @@ will show the contents of a file.
(The name is from "concatenate and print": all files given as
parameters are concatenated and sent to "standard output"
(see
-.BR stdout (3)),
+.MR stdout 3 ),
here
the terminal screen.)
.P
@@ -223,7 +223,7 @@ And "find / \-name tel" would do the same, but starting at the root
of the tree.
Large searches on a multi-GB disk will be time-consuming,
and it may be better to use
-.BR locate (1).
+.MR locate 1 .
.SS Disks and filesystems
The command
.I mount
@@ -269,7 +269,7 @@ Hit the space bar to get the next page, hit q to quit.
.P
In documentation it is customary to refer to man pages
by giving the name and section number, as in
-.BR man (1).
+.MR man 1 .
Man pages are terse, and allow you to find quickly some forgotten
detail.
For newcomers an introductory text with more examples
@@ -288,18 +288,18 @@ and use a browser if you find HTML files there.
.\" Actual examples? Separate section for each of cat, cp, ...?
.\" gzip, bzip2, tar, rpm
.SH SEE ALSO
-.BR ash (1),
-.BR bash (1),
-.BR chsh (1),
-.BR csh (1),
-.BR dash (1),
-.BR ksh (1),
-.BR locate (1),
-.BR login (1),
-.BR man (1),
-.BR xterm (1),
-.BR zsh (1),
-.BR wait (2),
-.BR stdout (3),
-.BR man\-pages (7),
-.BR standards (7)
+.MR ash 1 ,
+.MR bash 1 ,
+.MR chsh 1 ,
+.MR csh 1 ,
+.MR dash 1 ,
+.MR ksh 1 ,
+.MR locate 1 ,
+.MR login 1 ,
+.MR man 1 ,
+.MR xterm 1 ,
+.MR zsh 1 ,
+.MR wait 2 ,
+.MR stdout 3 ,
+.MR man\-pages 7 ,
+.MR standards 7
diff --git a/man1/ldd.1 b/man1/ldd.1
index 57e9b40eb..d9a8e98b4 100644
--- a/man1/ldd.1
+++ b/man1/ldd.1
@@ -40,13 +40,13 @@ $ \fBldd /bin/ls\fP
In the usual case,
.B ldd
invokes the standard dynamic linker (see
-.BR ld.so (8))
+.MR ld.so 8 )
with the
.B LD_TRACE_LOADED_OBJECTS
environment variable set to 1.
This causes the dynamic linker to inspect the program's dynamic dependencies,
and find (according to the rules described in
-.BR ld.so (8))
+.MR ld.so 8 )
and load the objects that satisfy those dependencies.
For each dependency,
.B ldd
@@ -57,9 +57,9 @@ and the (hexadecimal) address at which it is loaded.
and
.I ld\-linux
shared dependencies are special; see
-.BR vdso (7)
+.MR vdso 7
and
-.BR ld.so (8).)
+.MR ld.so 8 .)
.\"
.SS Security
Be aware that in some circumstances
@@ -174,7 +174,7 @@ on one of these programs, the program will attempt to run with
.\" David Engel.
.\" Roland McGrath and Ulrich Drepper.
.SH SEE ALSO
-.BR pldd (1),
-.BR sprof (1),
-.BR ld.so (8),
-.BR ldconfig (8)
+.MR pldd 1 ,
+.MR sprof 1 ,
+.MR ld.so 8 ,
+.MR ldconfig 8
diff --git a/man1/locale.1 b/man1/locale.1
index 8c26f831c..8d30cbf6f 100644
--- a/man1/locale.1
+++ b/man1/locale.1
@@ -21,10 +21,10 @@ on standard output.
When invoked without arguments,
.B locale
displays the current locale settings for each locale category (see
-.BR locale (5)),
+.MR locale 5 ),
based on the settings of the environment variables that control the locale
(see
-.BR locale (7)).
+.MR locale 7 ).
Values for variables set in the environment are printed without double
quotes, implied values are printed with double quotes.
.P
@@ -182,11 +182,11 @@ telephone\-codeset="UTF\-8"
The following example compiles a custom locale from the
.I ./wrk
directory with the
-.BR localedef (1)
+.MR localedef 1
utility under the
.I $HOME/.locale
directory, then tests the result with the
-.BR date (1)
+.MR date 1
command, and then sets the environment variables
.B LOCPATH
and
@@ -202,7 +202,7 @@ $ \fBecho "export LOCPATH=\e$HOME/.locale" >> $HOME/.bashrc\fP
$ \fBecho "export LANG=fi_SE.UTF\-8" >> $HOME/.bashrc\fP
.EE
.SH SEE ALSO
-.BR localedef (1),
-.BR charmap (5),
-.BR locale (5),
-.BR locale (7)
+.MR localedef 1 ,
+.MR charmap 5 ,
+.MR locale 5 ,
+.MR locale 7
diff --git a/man1/localedef.1 b/man1/localedef.1
index 6a7877089..50d31acd8 100644
--- a/man1/localedef.1
+++ b/man1/localedef.1
@@ -53,8 +53,9 @@ and
files,
compiles them to a binary form quickly usable by the
locale functions in the C library
-.RB ( setlocale (3),
-.BR localeconv (3),
+\%(\c
+.MR setlocale 3 ,
+.MR localeconv 3 ,
etc.),
and places the output in
.IR outputpath .
@@ -408,8 +409,8 @@ localedef \-f UTF\-8 \-i fi_FI ./fi_FI.UTF\-8
.EE
.in
.SH SEE ALSO
-.BR locale (1),
-.BR charmap (5),
-.BR locale (5),
-.BR repertoiremap (5),
-.BR locale (7)
+.MR locale 1 ,
+.MR charmap 5 ,
+.MR locale 5 ,
+.MR repertoiremap 5 ,
+.MR locale 7
diff --git a/man1/memusage.1 b/man1/memusage.1
index b6793f6e8..5c1a630e4 100644
--- a/man1/memusage.1
+++ b/man1/memusage.1
@@ -18,25 +18,25 @@ It preloads the
library into the caller's environment (via the
.B LD_PRELOAD
environment variable; see
-.BR ld.so (8)).
+.MR ld.so 8 ).
The
.B libmemusage.so
library traces memory allocation by intercepting calls to
-.BR malloc (3),
-.BR calloc (3),
-.BR free (3),
+.MR malloc 3 ,
+.MR calloc 3 ,
+.MR free 3 ,
and
-.BR realloc (3);
+.MR realloc 3 ;
optionally, calls to
-.BR mmap (2),
-.BR mremap (2),
+.MR mmap 2 ,
+.MR mremap 2 ,
and
-.BR munmap (2)
+.MR munmap 2
can also be intercepted.
.P
.B memusage
can output the collected data in textual form, or it can use
-.BR memusagestat (1)
+.MR memusagestat 1
(see the
.B \-p
option, below)
@@ -50,34 +50,34 @@ contains three fields:
.TP
\fBheap total\fR
Sum of \fIsize\fR arguments of all
-.BR malloc (3)
+.MR malloc 3
calls,
products of arguments (\fInmemb\fR*\fIsize\fR) of all
-.BR calloc (3)
+.MR calloc 3
calls,
and sum of \fIlength\fR arguments of all
-.BR mmap (2)
+.MR mmap 2
calls.
In the case of
-.BR realloc (3)
+.MR realloc 3
and
-.BR mremap (2),
+.MR mremap 2 ,
if the new size of an allocation is larger than the previous size,
the sum of all such differences (new size minus old size) is added.
.TP
.B "heap peak"
Maximum of all \fIsize\fR arguments of
-.BR malloc (3),
+.MR malloc 3 ,
all products of \fInmemb\fR*\fIsize\fR of
-.BR calloc (3),
+.MR calloc 3 ,
all \fIsize\fR arguments of
-.BR realloc (3),
+.MR realloc 3 ,
.I length
arguments of
-.BR mmap (2),
+.MR mmap 2 ,
and
\fInew_size\fR arguments of
-.BR mremap (2).
+.MR mremap 2 .
.TP
.B "stack peak"
Before the first call to any monitored function,
@@ -91,22 +91,22 @@ Immediately following this summary line, a table shows the number calls,
total memory allocated or deallocated,
and number of failed calls for each intercepted function.
For
-.BR realloc (3)
+.MR realloc 3
and
-.BR mremap (2),
+.MR mremap 2 ,
the additional field "nomove" shows reallocations that
changed the address of a block,
and the additional "dec" field shows reallocations that
decreased the size of the block.
For
-.BR realloc (3),
+.MR realloc 3 ,
the additional field "free" shows reallocations that
caused a block to be freed (i.e., the reallocated size was 0).
.P
The "realloc/total memory" of the table output by
.B memusage
does not reflect cases where
-.BR realloc (3)
+.MR realloc 3
is used to reallocate a block of memory
to have a smaller size than previously.
This can cause sum of all "total memory" cells (excluding "free")
@@ -142,10 +142,10 @@ sampling of stack pointer value.
.TP
.B \-m\fR,\ \fB\-\-mmap
Also trace
-.BR mmap (2),
-.BR mremap (2),
+.MR mmap 2 ,
+.MR mremap 2 ,
and
-.BR munmap (2).
+.MR munmap 2 .
.TP
.B \-?\fR,\ \fB\-\-help
Print help and exit.
@@ -257,6 +257,6 @@ main(int argc, char *argv[])
}
.EE
.SH SEE ALSO
-.BR memusagestat (1),
-.BR mtrace (1),
-.BR ld.so (8)
+.MR memusagestat 1 ,
+.MR mtrace 1 ,
+.MR ld.so 8
diff --git a/man1/memusagestat.1 b/man1/memusagestat.1
index 4825ca67f..0a705920e 100644
--- a/man1/memusagestat.1
+++ b/man1/memusagestat.1
@@ -18,7 +18,7 @@ that file is generated via the
(or
.IR \-\-data )
option of
-.BR memusage (1).
+.MR memusage 1 .
.P
The red line in the graph shows the heap usage (allocated memory)
and the green line shows the stack usage.
@@ -67,7 +67,7 @@ To report bugs, see
.UE
.SH EXAMPLES
See
-.BR memusage (1).
+.MR memusage 1 .
.SH SEE ALSO
-.BR memusage (1),
-.BR mtrace (1)
+.MR memusage 1 ,
+.MR mtrace 1
diff --git a/man1/mtrace.1 b/man1/mtrace.1
index 7b802837a..39d2ceed6 100644
--- a/man1/mtrace.1
+++ b/man1/mtrace.1
@@ -14,7 +14,7 @@ is a Perl script used to interpret and provide human readable output
of the trace log contained in the file
.IR mtracedata ,
whose contents were produced by
-.BR mtrace (3).
+.MR mtrace 3 .
If
.I binary
is provided, the output of
@@ -26,11 +26,11 @@ for problem locations
was compiled with debugging information).
.P
For more information about the
-.BR mtrace (3)
+.MR mtrace 3
function and
.B mtrace
script usage, see
-.BR mtrace (3).
+.MR mtrace 3 .
.SH OPTIONS
.TP
.B \-\-help
@@ -43,5 +43,5 @@ For bug reporting instructions, please see:
.UR http://www.gnu.org/software/libc/bugs.html
.UE .
.SH SEE ALSO
-.BR memusage (1),
-.BR mtrace (3)
+.MR memusage 1 ,
+.MR mtrace 3
diff --git a/man1/pldd.1 b/man1/pldd.1
index e0fa32b6e..a6f859f88 100644
--- a/man1/pldd.1
+++ b/man1/pldd.1
@@ -16,7 +16,7 @@ The
command displays a list of the dynamic shared objects (DSOs) that are
linked into the process with the specified process ID (PID).
The list includes the libraries that have been dynamically loaded using
-.BR dlopen (3).
+.MR dlopen 3 .
.SH OPTIONS
.TP
.B \-\-help
@@ -63,7 +63,7 @@ also shows output that includes the dynamic shared objects
that are linked into a process.
.P
The
-.BR gdb (1)
+.MR gdb 1
.I "info shared"
command also shows the shared libraries being used by a process,
so that one can obtain similar output to
@@ -99,7 +99,7 @@ linux\-vdso.so.1
/lib64/libnss_files.so.2
.EE
.SH SEE ALSO
-.BR ldd (1),
-.BR lsof (1),
-.BR dlopen (3),
-.BR ld.so (8)
+.MR ldd 1 ,
+.MR lsof 1 ,
+.MR dlopen 3 ,
+.MR ld.so 8
diff --git a/man1/sprof.1 b/man1/sprof.1
index a6eb7ad3c..cfb15737a 100644
--- a/man1/sprof.1
+++ b/man1/sprof.1
@@ -277,6 +277,6 @@ x2 consumeCpu2 1000
.EE
.in
.SH SEE ALSO
-.BR gprof (1),
-.BR ldd (1),
-.BR ld.so (8)
+.MR gprof 1 ,
+.MR ldd 1 ,
+.MR ld.so 8
diff --git a/man1/time.1 b/man1/time.1
index 9b7efcfd4..9e1622570 100644
--- a/man1/time.1
+++ b/man1/time.1
@@ -31,7 +31,7 @@ and
values in a
.I "struct tms"
as returned by
-.BR times (2)),
+.MR times 2 ),
and (iii) the system CPU time (the sum of the
.I tms_stime
and
@@ -39,10 +39,10 @@ and
values in a
.I "struct tms"
as returned by
-.BR times (2)).
+.MR times 2 ).
.P
Note: some shells (e.g.,
-.BR bash (1))
+.MR bash 1 )
have a built-in
.B time
command that provides similar information on the usage of time and
@@ -131,7 +131,7 @@ The program
will always add a trailing newline itself.
The conversions follow.
All of those used by
-.BR tcsh (1)
+.MR tcsh 1
are supported.
.P
.B "Time"
@@ -141,7 +141,7 @@ Elapsed real time (in [hours:]minutes:seconds).
.TP
.B %e
(Not in
-.BR tcsh (1).)
+.MR tcsh 1 .)
Elapsed real time (in seconds).
.TP
.B %S
@@ -160,7 +160,7 @@ Maximum resident set size of the process during its lifetime, in Kbytes.
.TP
.B %t
(Not in
-.BR tcsh (1).)
+.MR tcsh 1 .)
Average resident set size of the process, in Kbytes.
.TP
.B %K
@@ -172,7 +172,7 @@ Average size of the process's unshared data area, in Kbytes.
.TP
.B %p
(Not in
-.BR tcsh (1).)
+.MR tcsh 1 .)
Average size of the process's unshared stack space, in Kbytes.
.TP
.B %X
@@ -180,7 +180,7 @@ Average size of the process's shared text space, in Kbytes.
.TP
.B %Z
(Not in
-.BR tcsh (1).)
+.MR tcsh 1 .)
System's page size, in bytes.
This is a per-system constant, but varies between systems.
.TP
@@ -225,12 +225,12 @@ Number of signals delivered to the process.
.TP
.B %C
(Not in
-.BR tcsh (1).)
+.MR tcsh 1 .)
Name and command-line arguments of the command being timed.
.TP
.B %x
(Not in
-.BR tcsh (1).)
+.MR tcsh 1 .)
Exit status of the command.
.SS GNU options
.TP
@@ -280,9 +280,9 @@ The environment variable
.B TIME
was badly chosen.
It is not unusual for systems like
-.BR autoconf (1)
+.MR autoconf 1
or
-.BR make (1)
+.MR make 1
to use environment variables with the name of a utility to override
the utility to be used.
Uses like MORE or TIME for options to programs
@@ -323,7 +323,7 @@ and C compiler you used.
.\" .IP "Francois Pinard"
.\" Helped with portability
.SH SEE ALSO
-.BR bash (1),
-.BR tcsh (1),
-.BR times (2),
-.BR wait3 (2)
+.MR bash 1 ,
+.MR tcsh 1 ,
+.MR times 2 ,
+.MR wait3 2
diff --git a/man2/_exit.2 b/man2/_exit.2
index 08854a073..fca98e1df 100644
--- a/man2/_exit.2
+++ b/man2/_exit.2
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR _Exit ():
@@ -37,9 +37,9 @@ Feature Test Macro Requirements for glibc (see
terminates the calling process "immediately".
Any open file descriptors belonging to the process are closed.
Any children of the process are inherited by
-.BR init (1)
+.MR init 1
(or by the nearest "subreaper" process as defined through the use of the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_CHILD_SUBREAPER
operation).
The process's parent is sent a
@@ -50,7 +50,7 @@ The value
.I "status & 0xFF"
is returned to the parent process as the process's exit status, and
can be collected by the parent using one of the
-.BR wait (2)
+.MR wait 2
family of calls.
.P
The function
@@ -74,19 +74,19 @@ was introduced by C99.
.SH NOTES
For a discussion on the effects of an exit, the transmission of
exit status, zombie processes, signals sent, and so on, see
-.BR exit (3).
+.MR exit 3 .
.P
The function
.BR _exit ()
is like
-.BR exit (3),
+.MR exit 3 ,
but does not call any
functions registered with
-.BR atexit (3)
+.MR atexit 3
or
-.BR on_exit (3).
+.MR on_exit 3 .
Open
-.BR stdio (3)
+.MR stdio 3
streams are not flushed.
On the other hand,
.BR _exit ()
@@ -94,7 +94,7 @@ does close open file descriptors, and this may cause an unknown delay,
waiting for pending output to finish.
If the delay is undesired,
it may be useful to call functions like
-.BR tcflush (3)
+.MR tcflush 3
before calling
.BR _exit ().
Whether any pending I/O is canceled, and which pending I/O may be
@@ -122,17 +122,17 @@ Up to glibc 2.3, the
.BR _exit ()
wrapper function invoked the kernel system call of the same name.
Since glibc 2.3, the wrapper function invokes
-.BR exit_group (2),
+.MR exit_group 2 ,
in order to terminate all of the threads in a process.
.SH SEE ALSO
-.BR execve (2),
-.BR exit_group (2),
-.BR fork (2),
-.BR kill (2),
-.BR wait (2),
-.BR wait4 (2),
-.BR waitpid (2),
-.BR atexit (3),
-.BR exit (3),
-.BR on_exit (3),
-.BR termios (3)
+.MR execve 2 ,
+.MR exit_group 2 ,
+.MR fork 2 ,
+.MR kill 2 ,
+.MR wait 2 ,
+.MR wait4 2 ,
+.MR waitpid 2 ,
+.MR atexit 3 ,
+.MR exit 3 ,
+.MR on_exit 3 ,
+.MR termios 3
diff --git a/man2/_syscall.2 b/man2/_syscall.2
index aab31b545..1665af945 100644
--- a/man2/_syscall.2
+++ b/man2/_syscall.2
@@ -73,11 +73,11 @@ Linux.
Starting around Linux 2.6.18, the _syscall macros were removed
from header files supplied to user space.
Use
-.BR syscall (2)
+.MR syscall 2
instead.
(Some architectures, notably ia64, never provided the _syscall macros;
on those architectures,
-.BR syscall (2)
+.MR syscall 2
was always required.)
.SH NOTES
The _syscall() macros
@@ -105,7 +105,7 @@ when
.I r
is negative.
For the error codes, see
-.BR errno (3).
+.MR errno 3 .
.P
When defining a system call, the argument types
.I must
@@ -166,6 +166,6 @@ Swap: total 27881472 / free 24698880
Number of processes = 40
.EE
.SH SEE ALSO
-.BR intro (2),
-.BR syscall (2),
-.BR errno (3)
+.MR intro 2 ,
+.MR syscall 2 ,
+.MR errno 3
diff --git a/man2/accept.2 b/man2/accept.2
index aed8660f3..6d349f52a 100644
--- a/man2/accept.2
+++ b/man2/accept.2
@@ -48,11 +48,11 @@ is unaffected by this call.
The argument
.I sockfd
is a socket that has been created with
-.BR socket (2),
+.MR socket 2 ,
bound to a local address with
-.BR bind (2),
+.MR bind 2 ,
and is listening for connections after a
-.BR listen (2).
+.MR listen 2 .
.P
The argument
.I addr
@@ -64,7 +64,7 @@ as known to the communications layer.
The exact format of the address returned
.I addr
is determined by the socket's address family (see
-.BR socket (2)
+.MR socket 2
and the respective protocol man pages).
When
.I addr
@@ -99,10 +99,10 @@ or
.BR EWOULDBLOCK .
.P
In order to be notified of incoming connections on a socket, you can use
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7).
+.MR epoll 7 .
A readable event will be delivered when a new connection is attempted and you
may then call
.BR accept ()
@@ -110,7 +110,7 @@ to get a socket for that connection.
Alternatively, you can set the socket to deliver
.B SIGIO
when activity occurs on a socket; see
-.BR socket (7)
+.MR socket 7
for details.
.P
If
@@ -127,10 +127,10 @@ to obtain different behavior:
Set the
.B O_NONBLOCK
file status flag on the open file description (see
-.BR open (2))
+.MR open 2 )
referred to by the new file descriptor.
Using this flag saves extra calls to
-.BR fcntl (2)
+.MR fcntl 2
to achieve the same result.
.TP
.B SOCK_CLOEXEC
@@ -140,7 +140,7 @@ flag on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.SH RETURN VALUE
On success,
@@ -204,7 +204,7 @@ argument is not in a writable part of the user address space.
.B EINTR
The system call was interrupted by a signal that was caught
before a valid connection arrived; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
Socket is not listening for connections, or
@@ -297,10 +297,10 @@ glibc 2.10.
There may not always be a connection waiting after a
.B SIGIO
is delivered or
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7)
+.MR epoll 7
return a readability event because the connection might have been
removed by an asynchronous network error or another thread before
.BR accept ()
@@ -314,7 +314,7 @@ never blocks, the passed socket
needs to have the
.B O_NONBLOCK
flag set (see
-.BR socket (7)).
+.MR socket 7 ).
.P
For certain protocols which require an explicit confirmation,
such as DECnet,
@@ -339,11 +339,11 @@ later POSIX standards and glibc 2.x have
.IR "socklen_t\ * ".
.SH EXAMPLES
See
-.BR bind (2).
+.MR bind 2 .
.SH SEE ALSO
-.BR bind (2),
-.BR connect (2),
-.BR listen (2),
-.BR select (2),
-.BR socket (2),
-.BR socket (7)
+.MR bind 2 ,
+.MR connect 2 ,
+.MR listen 2 ,
+.MR select 2 ,
+.MR socket 2 ,
+.MR socket 7
diff --git a/man2/access.2 b/man2/access.2
index 2b3e70e34..e71f59621 100644
--- a/man2/access.2
+++ b/man2/access.2
@@ -50,7 +50,7 @@ mode ", int " flags );
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR faccessat ():
@@ -86,7 +86,7 @@ The check is done using the calling process's
.I real
UID and GID, rather than the effective IDs as is done when
actually attempting an operation (e.g.,
-.BR open (2))
+.MR open 2 )
on the file.
Similarly, for the root user, the check uses the set of
permitted capabilities rather than the set of effective
@@ -161,7 +161,7 @@ If
is an empty string, operate on the file referred to by
.I dirfd
(which may have been obtained using the
-.BR open (2)
+.MR open 2
.B O_PATH
flag).
In this case,
@@ -183,7 +183,7 @@ is a symbolic link, do not dereference it:
instead return information about the link itself.
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR faccessat ().
.\"
@@ -228,7 +228,7 @@ The requested access would be denied to the file, or search permission
is denied for one of the directories in the path prefix of
.IR pathname .
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( faccessat ())
@@ -287,7 +287,7 @@ is a file descriptor referring to a file other than a directory.
.B EPERM
Write permission was requested to a file that has the immutable flag set.
See also
-.BR ioctl_iflags (2).
+.MR ioctl_iflags 2 .
.TP
.B EROFS
Write permission was requested for a file on a read-only filesystem.
@@ -314,7 +314,7 @@ and
flags are actually implemented within the glibc wrapper function for
.BR faccessat ().
If either of these flags is specified, then the wrapper function employs
-.BR fstatat (2)
+.MR fstatat 2
to determine access permissions, but see BUGS.
.\"
.SS glibc notes
@@ -359,14 +359,14 @@ Linux 5.8.
.BR Warning :
Using these calls to check if a user is authorized to, for example,
open a file before actually doing so using
-.BR open (2)
+.MR open 2
creates a security hole, because the user might exploit the short time
interval between checking and opening the file to manipulate it.
.BR "For this reason, the use of this system call should be avoided" .
(In the example just described,
a safer alternative would be to temporarily switch the process's
effective user ID to the real ID and then call
-.BR open (2).)
+.MR open 2 .)
.P
.BR access ()
always dereferences symbolic links.
@@ -394,7 +394,7 @@ Therefore, if a directory is found to be writable,
it probably means that files can be created in the directory,
and not that the directory can be written as a file.
Similarly, a DOS file may be reported as executable, but the
-.BR execve (2)
+.MR execve 2
call will still fail.
.P
These calls
@@ -416,7 +416,7 @@ emulates the required functionality using
a combination of the
.BR faccessat ()
system call and
-.BR fstatat (2).
+.MR fstatat 2 .
However, this emulation does not take ACLs into account.
Starting with glibc 2.33, the wrapper function avoids this bug
by making use of the
@@ -450,19 +450,19 @@ Before Linux 2.6.20,
these calls ignored the effect of the
.B MS_NOEXEC
flag if it was used to
-.BR mount (2)
+.MR mount 2
the underlying filesystem.
Since Linux 2.6.20, the
.B MS_NOEXEC
flag is honored.
.SH SEE ALSO
-.BR chmod (2),
-.BR chown (2),
-.BR open (2),
-.BR setgid (2),
-.BR setuid (2),
-.BR stat (2),
-.BR euidaccess (3),
-.BR credentials (7),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR chmod 2 ,
+.MR chown 2 ,
+.MR open 2 ,
+.MR setgid 2 ,
+.MR setuid 2 ,
+.MR stat 2 ,
+.MR euidaccess 3 ,
+.MR credentials 7 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/acct.2 b/man2/acct.2
index 8c7414bb7..94f056aac 100644
--- a/man2/acct.2
+++ b/man2/acct.2
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR acct ():
@@ -60,7 +60,7 @@ or search permission is denied for one of the directories
in the path prefix of
.I filename
(see also
-.BR path_resolution (7)),
+.MR path_resolution 7 ),
or
.I filename
is not a regular file.
@@ -131,6 +131,6 @@ No accounting is produced for programs running when a system crash occurs.
In particular, nonterminating processes are never accounted for.
.P
The structure of the records written to the accounting file is described in
-.BR acct (5).
+.MR acct 5 .
.SH SEE ALSO
-.BR acct (5)
+.MR acct 5
diff --git a/man2/add_key.2 b/man2/add_key.2
index 3a706c829..6547905c5 100644
--- a/man2/add_key.2
+++ b/man2/add_key.2
@@ -66,23 +66,28 @@ Alternatively, it may be one of the following special keyring IDs:
.TP
.B KEY_SPEC_THREAD_KEYRING
This specifies the caller's thread-specific keyring
-.RB ( thread\-keyring (7)).
+\%(\c
+.MR thread\-keyring 7 ).
.TP
.B KEY_SPEC_PROCESS_KEYRING
This specifies the caller's process-specific keyring
-.RB ( process\-keyring (7)).
+\%(\c
+.MR process\-keyring 7 ).
.TP
.B KEY_SPEC_SESSION_KEYRING
This specifies the caller's session-specific keyring
-.RB ( session\-keyring (7)).
+\%(\c
+.MR session\-keyring 7 ).
.TP
.B KEY_SPEC_USER_KEYRING
This specifies the caller's UID-specific keyring
-.RB ( user\-keyring (7)).
+\%(\c
+.MR user\-keyring 7 ).
.TP
.B KEY_SPEC_USER_SESSION_KEYRING
This specifies the caller's UID-session keyring
-.RB ( user\-session\-keyring (7)).
+\%(\c
+.MR user\-session\-keyring 7 ).
.SS Key types
The key
.I type
@@ -137,7 +142,7 @@ then it may be stored encrypted in tmpfs
(which can be swapped out) rather than kernel memory.
.P
For further details on these key types, see
-.BR keyrings (7).
+.MR keyrings 7 .
.SH RETURN VALUE
On success,
.BR add_key ()
@@ -273,18 +278,18 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR keyctl (2),
-.BR request_key (2),
-.BR keyctl (3),
-.BR keyrings (7),
-.BR keyutils (7),
-.BR persistent\-keyring (7),
-.BR process\-keyring (7),
-.BR session\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-keyring (7),
-.BR user\-session\-keyring (7)
+.MR keyctl 1 ,
+.MR keyctl 2 ,
+.MR request_key 2 ,
+.MR keyctl 3 ,
+.MR keyrings 7 ,
+.MR keyutils 7 ,
+.MR persistent\-keyring 7 ,
+.MR process\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-keyring 7 ,
+.MR user\-session\-keyring 7
.P
The kernel source files
.I Documentation/security/keys/core.rst
diff --git a/man2/adjtimex.2 b/man2/adjtimex.2
index c7c095f5e..94a86d950 100644
--- a/man2/adjtimex.2
+++ b/man2/adjtimex.2
@@ -217,7 +217,7 @@ in which case other bits should not be specified in
.\" In user space, ADJ_OFFSET_SINGLESHOT is 0x8001
.\" In kernel space it is 0x0001, and must be ANDed with ADJ_ADJTIME (0x8000)
Old-fashioned
-.BR adjtime (3):
+.MR adjtime 3 :
(gradually) adjust time by value specified in
.IR buf.offset ,
which specifies an adjustment in microseconds.
@@ -498,7 +498,7 @@ positive clock ID value is out of range, or the dynamic
.I clk_id
does not refer to a valid instance of a clock object.
See
-.BR clock_gettime (2)
+.MR clock_gettime 2
for a discussion of dynamic clocks.
.TP
.B EINVAL
@@ -518,7 +518,7 @@ dynamic
.I clk_id
has disappeared after its character device was opened.
See
-.BR clock_gettime (2)
+.MR clock_gettime 2
for a discussion of dynamic clocks.
.TP
.B EOPNOTSUPP
@@ -536,7 +536,7 @@ Under Linux, the
capability is required.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -579,15 +579,15 @@ is done by the kernel in timer context.
Thus, it will take one tick into the second
for the leap second to be inserted or deleted.
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR clock_settime (2),
-.BR settimeofday (2),
-.BR adjtime (3),
-.BR ntp_gettime (3),
-.BR capabilities (7),
-.BR time (7),
-.BR adjtimex (8),
-.BR hwclock (8)
+.MR clock_gettime 2 ,
+.MR clock_settime 2 ,
+.MR settimeofday 2 ,
+.MR adjtime 3 ,
+.MR ntp_gettime 3 ,
+.MR capabilities 7 ,
+.MR time 7 ,
+.MR adjtimex 8 ,
+.MR hwclock 8
.P
.ad l
.UR http://www.slac.stanford.edu/comp/unix/\:package/\:rtems/\:src/\:ssrlApps/\:ntpNanoclock/\:api.htm
diff --git a/man2/alarm.2 b/man2/alarm.2
index 4a4f0fd37..79326a35c 100644
--- a/man2/alarm.2
+++ b/man2/alarm.2
@@ -46,36 +46,36 @@ POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
.BR alarm ()
and
-.BR setitimer (2)
+.MR setitimer 2
share the same timer; calls to one will interfere with use of the
other.
.P
Alarms created by
.BR alarm ()
are preserved across
-.BR execve (2)
+.MR execve 2
and are not inherited by children created via
-.BR fork (2).
+.MR fork 2 .
.P
-.BR sleep (3)
+.MR sleep 3
may be implemented using
.BR SIGALRM ;
mixing calls to
.BR alarm ()
and
-.BR sleep (3)
+.MR sleep 3
is a bad idea.
.P
Scheduling delays can, as ever, cause the execution of the process to
be delayed by an arbitrary amount of time.
.SH SEE ALSO
-.BR gettimeofday (2),
-.BR pause (2),
-.BR select (2),
-.BR setitimer (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR timer_create (2),
-.BR timerfd_create (2),
-.BR sleep (3),
-.BR time (7)
+.MR gettimeofday 2 ,
+.MR pause 2 ,
+.MR select 2 ,
+.MR setitimer 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR timer_create 2 ,
+.MR timerfd_create 2 ,
+.MR sleep 3 ,
+.MR time 7
diff --git a/man2/alloc_hugepages.2 b/man2/alloc_hugepages.2
index 8e4b7ee1b..6dc45d5cf 100644
--- a/man2/alloc_hugepages.2
+++ b/man2/alloc_hugepages.2
@@ -19,7 +19,7 @@ size_t " len ,
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The system calls
.BR alloc_hugepages ()
@@ -122,7 +122,7 @@ they existed only in Linux 2.5.36 through to Linux 2.5.54.
Now the hugetlbfs filesystem can be used instead.
Memory backed by huge pages (if the CPU supports them) is obtained by
using
-.BR mmap (2)
+.MR mmap 2
to map files in this virtual filesystem.
.P
The maximal number of huge pages can be specified using the
diff --git a/man2/arch_prctl.2 b/man2/arch_prctl.2
index bbb85866c..ca730c1c8 100644
--- a/man2/arch_prctl.2
+++ b/man2/arch_prctl.2
@@ -22,7 +22,7 @@ Standard C library
glibc provides no wrapper for
.BR arch_prctl (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR arch_prctl ()
sets architecture-specific process or thread state.
@@ -63,13 +63,13 @@ hardware would have produced (e.g., in a paravirtualization setting).
The
.B ARCH_SET_CPUID
setting is preserved across
-.BR fork (2)
+.MR fork 2
and
-.BR clone (2)
+.MR clone 2
but reset to the default (i.e.,
.I cpuid
enabled) on
-.BR execve (2).
+.MR execve 2 .
.TP
.BR ARCH_GET_CPUID " (since Linux 4.12)"
Return the setting of the flag manipulated by
@@ -147,10 +147,10 @@ Context switches for 64-bit segment bases are rather expensive.
As an optimization, if a 32-bit TLS base address is used,
.BR arch_prctl ()
may use a real TLS entry as if
-.BR set_thread_area (2)
+.MR set_thread_area 2
had been called, instead of manipulating the segment base register directly.
Memory in the first 2\ GB of address space can be allocated by using
-.BR mmap (2)
+.MR mmap 2
with the
.B MAP_32BIT
flag.
@@ -158,7 +158,7 @@ flag.
Because of the aforementioned optimization, using
.BR arch_prctl ()
and
-.BR set_thread_area (2)
+.MR set_thread_area 2
in the same thread is dangerous, as they may overwrite each other's
TLS entries.
.P
@@ -168,9 +168,9 @@ Programs that use
.B ARCH_SET_FS
directly are very likely to crash.
.SH SEE ALSO
-.BR mmap (2),
-.BR modify_ldt (2),
-.BR prctl (2),
-.BR set_thread_area (2)
+.MR mmap 2 ,
+.MR modify_ldt 2 ,
+.MR prctl 2 ,
+.MR set_thread_area 2
.P
AMD X86-64 Programmer's manual
diff --git a/man2/bdflush.2 b/man2/bdflush.2
index 8627a42a2..df8e038da 100644
--- a/man2/bdflush.2
+++ b/man2/bdflush.2
@@ -98,6 +98,6 @@ Linux.
.SH HISTORY
Since glibc 2.23, glibc no longer supports this obsolete system call.
.SH SEE ALSO
-.BR sync (1),
-.BR fsync (2),
-.BR sync (2)
+.MR sync 1 ,
+.MR fsync 2 ,
+.MR sync 2
diff --git a/man2/bind.2 b/man2/bind.2
index 2fec135d9..806e247ae 100644
--- a/man2/bind.2
+++ b/man2/bind.2
@@ -33,7 +33,7 @@ Standard C library
.fi
.SH DESCRIPTION
When a socket is created with
-.BR socket (2),
+.MR socket 2 ,
it exists in a name space (address family) but has no address assigned to it.
.BR bind ()
assigns the address specified by
@@ -50,38 +50,38 @@ It is normally necessary to assign a local address using
before a
.B SOCK_STREAM
socket may receive connections (see
-.BR accept (2)).
+.MR accept 2 ).
.P
The rules used in name binding vary between address families.
Consult the manual entries in Section 7 for detailed information.
For
.BR AF_INET ,
see
-.BR ip (7);
+.MR ip 7 ;
for
.BR AF_INET6 ,
see
-.BR ipv6 (7);
+.MR ipv6 7 ;
for
.BR AF_UNIX ,
see
-.BR unix (7);
+.MR unix 7 ;
for
.BR AF_APPLETALK ,
see
-.BR ddp (7);
+.MR ddp 7 ;
for
.BR AF_PACKET ,
see
-.BR packet (7);
+.MR packet 7 ;
for
.BR AF_X25 ,
see
-.BR x25 (7);
+.MR x25 7 ;
and for
.BR AF_NETLINK ,
see
-.BR netlink (7).
+.MR netlink 7 .
.P
The actual structure passed for the
.I addr
@@ -126,7 +126,7 @@ it was determined that all port numbers in the ephemeral port range
are currently in use.
See the discussion of
.I /proc/sys/net/ipv4/ip_local_port_range
-.BR ip (7).
+.MR ip 7 .
.TP
.B EBADF
.I sockfd
@@ -155,7 +155,7 @@ sockets:
.B EACCES
Search permission is denied on a component of the path prefix.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EADDRNOTAVAIL
A nonexistent interface was requested or the requested
@@ -205,7 +205,7 @@ The transparent proxy options are not described.
An example of the use of
.BR bind ()
with Internet domain sockets can be found in
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
.P
The following example shows how to bind a stream socket in the UNIX
.RB ( AF_UNIX )
@@ -272,15 +272,15 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR accept (2),
-.BR connect (2),
-.BR getsockname (2),
-.BR listen (2),
-.BR socket (2),
-.BR getaddrinfo (3),
-.BR getifaddrs (3),
-.BR ip (7),
-.BR ipv6 (7),
-.BR path_resolution (7),
-.BR socket (7),
-.BR unix (7)
+.MR accept 2 ,
+.MR connect 2 ,
+.MR getsockname 2 ,
+.MR listen 2 ,
+.MR socket 2 ,
+.MR getaddrinfo 3 ,
+.MR getifaddrs 3 ,
+.MR ip 7 ,
+.MR ipv6 7 ,
+.MR path_resolution 7 ,
+.MR socket 7 ,
+.MR unix 7
diff --git a/man2/bpf.2 b/man2/bpf.2
index e4390ff2a..3ba6118cd 100644
--- a/man2/bpf.2
+++ b/man2/bpf.2
@@ -64,7 +64,7 @@ below for further details.
Generally, eBPF programs are loaded by the user process and automatically
unloaded when the process exits.
In some cases, for example,
-.BR tc\-bpf (8),
+.MR tc\-bpf 8 ,
the program will continue to stay alive inside the kernel even after the
process that loaded the program exits.
In that case,
@@ -87,7 +87,7 @@ eBPF programs can be attached to different events.
These events can be the arrival of network packets, tracing
events, classification events by network queueing disciplines
(for eBPF programs attached to a
-.BR tc (8)
+.MR tc 8
classifier), and other types that may be added in the future.
A new event triggers execution of the eBPF program, which
may store information about the event in eBPF maps.
@@ -136,7 +136,7 @@ is one of the following:
.B BPF_MAP_CREATE
Create a map and return a file descriptor that refers to the map.
The close-on-exec file descriptor flag (see
-.BR fcntl (2))
+.MR fcntl 2 )
is automatically enabled for the new file descriptor.
.TP
.B BPF_MAP_LOOKUP_ELEM
@@ -156,7 +156,7 @@ of the next element.
Verify and load an eBPF program,
returning a new file descriptor associated with the program.
The close-on-exec file descriptor flag (see
-.BR fcntl (2))
+.MR fcntl 2 )
is automatically enabled for the new file descriptor.
.IP
The
@@ -819,7 +819,7 @@ must be a null pointer, and
must be zero.
.P
Applying
-.BR close (2)
+.MR close 2
to the file descriptor returned by
.B BPF_PROG_LOAD
will unload the eBPF program (but see NOTES).
@@ -926,7 +926,7 @@ the following call will attach the program
to the socket
.IR sockfd ,
which was created by an earlier call to
-.BR socket (2):
+.MR socket 2 :
.P
.in +4n
.EX
@@ -943,7 +943,7 @@ the eBPF program referred to by the file descriptor
to a perf event file descriptor,
.IR event_fd ,
that was created by a previous call to
-.BR perf_event_open (2):
+.MR perf_event_open 2 :
.P
.in +4n
.EX
@@ -1097,13 +1097,13 @@ Unprivileged access may be blocked by writing the value 1 to the file
.P
eBPF objects (maps and programs) can be shared between processes.
For example, after
-.BR fork (2),
+.MR fork 2 ,
the child inherits file descriptors referring to the same eBPF objects.
In addition, file descriptors referring to eBPF objects can be
transferred over UNIX domain sockets.
File descriptors referring to eBPF objects can be duplicated
in the usual way, using
-.BR dup (2)
+.MR dup 2
and similar calls.
An eBPF object is deallocated only after all file descriptors
referring to the object have been closed.
@@ -1263,11 +1263,11 @@ Some complete working code can be found in the
.I samples/bpf
directory in the kernel source tree.
.SH SEE ALSO
-.BR seccomp (2),
-.BR bpf\-helpers (7),
-.BR socket (7),
-.BR tc (8),
-.BR tc\-bpf (8)
+.MR seccomp 2 ,
+.MR bpf\-helpers 7 ,
+.MR socket 7 ,
+.MR tc 8 ,
+.MR tc\-bpf 8
.P
Both classic and extended BPF are explained in the kernel source file
.IR Documentation/networking/filter.txt .
diff --git a/man2/brk.2 b/man2/brk.2
index 40ba0f302..2f5fab222 100644
--- a/man2/brk.2
+++ b/man2/brk.2
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR brk (),
@@ -63,7 +63,7 @@ sets the end of the data segment to the value specified by
.IR addr ,
when that value is reasonable, the system has enough memory,
and the process does not exceed its maximum data size (see
-.BR setrlimit (2)).
+.MR setrlimit 2 ).
.P
.BR sbrk ()
increments the program's data space by
@@ -110,7 +110,7 @@ Avoid using
and
.BR sbrk ():
the
-.BR malloc (3)
+.MR malloc 3
memory allocation package is the
portable and comfortable way of allocating memory.
.P
@@ -147,7 +147,7 @@ is implemented as a library function that uses the
system call, and does some internal bookkeeping so that it can
return the old break value.
.SH SEE ALSO
-.BR execve (2),
-.BR getrlimit (2),
-.BR end (3),
-.BR malloc (3)
+.MR execve 2 ,
+.MR getrlimit 2 ,
+.MR end 3 ,
+.MR malloc 3
diff --git a/man2/cacheflush.2 b/man2/cacheflush.2
index bc38355e6..9c63c7340 100644
--- a/man2/cacheflush.2
+++ b/man2/cacheflush.2
@@ -95,7 +95,7 @@ NDS32:
.P
On the above architectures,
glibc does not provide a wrapper for this system call; call it using
-.BR syscall (2).
+.MR syscall 2 .
.SS GCC alternative
Unless you need the finer grained control that this system call provides,
you probably want to use the GCC built-in function
diff --git a/man2/capget.2 b/man2/capget.2
index feaa36d1d..58969cb1c 100644
--- a/man2/capget.2
+++ b/man2/capget.2
@@ -33,7 +33,7 @@ Standard C library
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
These two system calls are the raw kernel interface for getting and
setting thread capabilities.
@@ -45,9 +45,9 @@ types) is subject to extension with each kernel revision,
but old programs will keep working.
.P
The portable interfaces are
-.BR cap_set_proc (3)
+.MR cap_set_proc 3
and
-.BR cap_get_proc (3);
+.MR cap_get_proc 3 ;
if possible, you should use those interfaces in applications; see NOTES.
.\"
.SS Current details
@@ -89,7 +89,7 @@ The
and
.I inheritable
fields are bit masks of the capabilities defined in
-.BR capabilities (7).
+.MR capabilities 7 .
Note that the
.B CAP_*
values are bit indexes and need to be bit-shifted before ORing into
@@ -129,11 +129,11 @@ process ID with the
field value.
.P
For details on the data, see
-.BR capabilities (7).
+.MR capabilities 7 .
.\"
.SS With VFS capabilities support
VFS capabilities employ a file extended attribute (see
-.BR xattr (7))
+.MR xattr 7 )
to allow capabilities to be attached to executables.
This privilege model obsoletes kernel support for one process
asynchronously setting the capabilities of another.
@@ -142,7 +142,7 @@ That is, on kernels that have VFS capabilities support, when calling
the only permitted values for
.I hdrp\->pid
are 0 or, equivalently, the value returned by
-.BR gettid (2).
+.MR gettid 2 .
.\"
.SS Without VFS capabilities support
On older kernels that do not provide VFS capabilities support
@@ -165,13 +165,13 @@ refers to a single-threaded process, then
can be specified as a traditional process ID;
operating on a thread of a multithreaded process requires a thread ID
of the type returned by
-.BR gettid (2).
+.MR gettid 2 .
For
.BR capset (),
.I pid
can also be: \-1, meaning perform the change on all threads except the
caller and
-.BR init (1);
+.MR init 1 ;
or a value less than \-1, in which case the change is applied
to all members of the process group whose ID is \-\fIpid\fP.
.SH RETURN VALUE
@@ -239,7 +239,7 @@ occur if a thread without this capability tried to change its
own capabilities by specifying the
.I pid
field as a nonzero value (i.e., the value returned by
-.BR getpid (2))
+.MR getpid 2 )
instead of 0.)
.TP
.B ESRCH
@@ -255,6 +255,6 @@ library and is available here:
.UR http://git.kernel.org/cgit\:/linux\:/kernel\:/git\:/morgan\:\:/libcap.git
.UE
.SH SEE ALSO
-.BR clone (2),
-.BR gettid (2),
-.BR capabilities (7)
+.MR clone 2 ,
+.MR gettid 2 ,
+.MR capabilities 7
diff --git a/man2/chdir.2 b/man2/chdir.2
index d33efbdfe..3341fc119 100644
--- a/man2/chdir.2
+++ b/man2/chdir.2
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fchdir ():
@@ -63,7 +63,7 @@ are listed below:
Search permission is denied for one of the components of
.IR path .
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EFAULT
.I path
@@ -117,11 +117,11 @@ The current working directory is the starting point for interpreting
relative pathnames (those not starting with \[aq]/\[aq]).
.P
A child process created via
-.BR fork (2)
+.MR fork 2
inherits its parent's current working directory.
The current working directory is left unchanged by
-.BR execve (2).
+.MR execve 2 .
.SH SEE ALSO
-.BR chroot (2),
-.BR getcwd (3),
-.BR path_resolution (7)
+.MR chroot 2 ,
+.MR getcwd 3 ,
+.MR path_resolution 7
diff --git a/man2/chmod.2 b/man2/chmod.2
index 255f76b1c..5b993550e 100644
--- a/man2/chmod.2
+++ b/man2/chmod.2
@@ -31,7 +31,7 @@ mode ", int " flags );
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.nf
@@ -84,21 +84,21 @@ more of the following:
.TP 18
.BR S_ISUID " (04000)"
set-user-ID (set process effective user ID on
-.BR execve (2))
+.MR execve 2 )
.TP
.BR S_ISGID " (02000)"
set-group-ID (set process effective group ID on
-.BR execve (2);
+.MR execve 2 ;
mandatory locking, as described in
-.BR fcntl (2);
+.MR fcntl 2 ;
take a new file's group from parent directory, as described in
-.BR chown (2)
+.MR chown 2
and
-.BR mkdir (2))
+.MR mkdir 2 )
.TP
.BR S_ISVTX " (01000)"
sticky bit (restricted deletion flag, as described in
-.BR unlink (2))
+.MR unlink 2 )
.TP
.BR S_IRUSR " (00400)"
read by owner
@@ -152,7 +152,7 @@ On some filesystems, only the superuser can set the sticky bit,
which may have a special meaning.
For the sticky bit, and for set-user-ID and set-group-ID bits on
directories, see
-.BR inode (7).
+.MR inode 7 .
.P
On NFS filesystems, restricting the permissions will immediately influence
already open files, because the access control is done on the server, but
@@ -207,7 +207,7 @@ instead operate on the link itself.
This flag is not currently implemented.
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR fchmodat ().
.SH RETURN VALUE
@@ -226,7 +226,7 @@ are listed below:
.B EACCES
Search permission is denied on a component of the path prefix.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( fchmod ())
@@ -295,7 +295,7 @@ capability).
.B EPERM
The file is marked immutable or append-only.
(See
-.BR ioctl_iflags (2).)
+.MR ioctl_iflags 2 .)
.TP
.B EROFS
The named file resides on a read-only filesystem.
@@ -337,11 +337,11 @@ POSIX.1-2008.
Linux 2.6.16,
glibc 2.4.
.SH SEE ALSO
-.BR chmod (1),
-.BR chown (2),
-.BR execve (2),
-.BR open (2),
-.BR stat (2),
-.BR inode (7),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR chmod 1 ,
+.MR chown 2 ,
+.MR execve 2 ,
+.MR open 2 ,
+.MR stat 2 ,
+.MR inode 7 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/chown.2 b/man2/chown.2
index ffba3acaf..6ab2836b4 100644
--- a/man2/chown.2
+++ b/man2/chown.2
@@ -38,7 +38,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fchown (),
@@ -166,7 +166,7 @@ If
is an empty string, operate on the file referred to by
.I dirfd
(which may have been obtained using the
-.BR open (2)
+.MR open 2
.B O_PATH
flag).
In this case,
@@ -194,7 +194,7 @@ dereferences symbolic links, like
.BR chown ().)
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR fchownat ().
.SH RETURN VALUE
@@ -213,7 +213,7 @@ are listed below.
.B EACCES
Search permission is denied on a component of the path prefix.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( fchown ())
@@ -273,7 +273,7 @@ The calling process did not have the required permissions
.B EPERM
The file is marked immutable or append-only.
(See
-.BR ioctl_iflags (2).)
+.MR ioctl_iflags 2 .)
.TP
.B EROFS
The named file resides on a read-only filesystem.
@@ -304,9 +304,9 @@ glibc 2.4.
.SH NOTES
.SS Ownership of new files
When a new file is created (by, for example,
-.BR open (2)
+.MR open 2
or
-.BR mkdir (2)),
+.MR mkdir 2 ),
its owner is made the same as the filesystem user ID of the
creating process.
The group of the file depends on a range of factors,
@@ -322,7 +322,7 @@ and
.B "\-o\ nogrpid"
(or, synonymously
.BR "\-o\ sysvgroups" )
-.BR mount (8)
+.MR mount 8
options, then the rules are as follows:
.IP \[bu] 3
If the filesystem is mounted with
@@ -419,7 +419,7 @@ its second command-line argument to the value specified in its
first command-line argument.
The new owner can be specified either as a numeric user ID,
or as a username (which is converted to a user ID by using
-.BR getpwnam (3)
+.MR getpwnam 3
to perform a lookup in the system password file).
.SS Program source
.\" SRC BEGIN (chown.c)
@@ -463,9 +463,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR chgrp (1),
-.BR chown (1),
-.BR chmod (2),
-.BR flock (2),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR chgrp 1 ,
+.MR chown 1 ,
+.MR chmod 2 ,
+.MR flock 2 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/chroot.2 b/man2/chroot.2
index 72a75fb40..a2d76dcdb 100644
--- a/man2/chroot.2
+++ b/man2/chroot.2
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR chroot ():
@@ -58,11 +58,11 @@ In the past,
.BR chroot ()
has been used by daemons to restrict themselves prior to passing paths
supplied by untrusted users to system calls such as
-.BR open (2).
+.MR open 2 .
However, if a folder is moved out of the chroot directory, an attacker
can exploit that to get out of the chroot directory as well.
The easiest way to do that is to
-.BR chdir (2)
+.MR chdir 2
to the to-be-moved directory, wait for it to be moved out, then open a
path like ../../../etc/passwd.
.P
@@ -70,7 +70,7 @@ path like ../../../etc/passwd.
.\" https://github.com/QubesOS/qubes-secpack/blob/master/QSBs/qsb-014-2015.txt#L142
A slightly
trickier variation also works under some circumstances if
-.BR chdir (2)
+.MR chdir 2
is not permitted.
If a daemon allows a "chroot directory" to be specified,
that usually means that if you want to prevent remote users from accessing
@@ -103,7 +103,7 @@ The more general errors are listed below:
.B EACCES
Search permission is denied on a component of the path prefix.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.\" Also search permission is required on the final component,
.\" maybe just to guarantee that it is a directory?
.TP
@@ -144,23 +144,23 @@ This function is not part of POSIX.1-2001.
.\" X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
.SH NOTES
A child process created via
-.BR fork (2)
+.MR fork 2
inherits its parent's root directory.
The root directory is left unchanged by
-.BR execve (2).
+.MR execve 2 .
.P
The magic symbolic link,
.IR /proc/ pid /root ,
can be used to discover a process's root directory; see
-.BR proc (5)
+.MR proc 5
for details.
.P
FreeBSD has a stronger
.BR jail ()
system call.
.SH SEE ALSO
-.BR chroot (1),
-.BR chdir (2),
-.BR pivot_root (2),
-.BR path_resolution (7),
-.BR switch_root (8)
+.MR chroot 1 ,
+.MR chdir 2 ,
+.MR pivot_root 2 ,
+.MR path_resolution 7 ,
+.MR switch_root 8
diff --git a/man2/clock_getres.2 b/man2/clock_getres.2
index 8457f6148..c31866952 100644
--- a/man2/clock_getres.2
+++ b/man2/clock_getres.2
@@ -32,7 +32,7 @@ Real-time library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR clock_getres (),
@@ -73,7 +73,7 @@ The
and
.I tp
arguments are
-.BR timespec (3)
+.MR timespec 3
structures.
.P
The
@@ -102,11 +102,11 @@ Setting this clock requires appropriate privileges.
This clock is affected by discontinuous jumps in the system time
(e.g., if the system administrator manually changes the clock),
and by frequency adjustments performed by NTP and similar applications via
-.BR adjtime (3),
-.BR adjtimex (2),
-.BR clock_adjtime (2),
+.MR adjtime 3 ,
+.MR adjtimex 2 ,
+.MR clock_adjtime 2 ,
and
-.BR ntp_adjtime (3).
+.MR ntp_adjtime 3 .
This clock normally counts the number of seconds since
1970-01-01 00:00:00 Coordinated Universal Time (UTC)
except that it ignores leap seconds;
@@ -118,7 +118,7 @@ Like
.BR CLOCK_REALTIME ,
but not settable.
See
-.BR timer_create (2)
+.MR timer_create 2
for further details.
.TP
.BR CLOCK_REALTIME_COARSE " (since Linux 2.6.32; Linux-specific)"
@@ -129,7 +129,7 @@ This clock is not settable.
Use when you need very fast, but not fine-grained timestamps.
Requires per-architecture support,
and probably also architecture support for this flag in the
-.BR vdso (7).
+.MR vdso 7 .
.TP
.BR CLOCK_TAI " (since Linux 3.10; Linux-specific)"
.\" commit 1ff3c9677bff7e468e0c487d0ffefe4e901d33f4
@@ -169,7 +169,7 @@ A faster but less precise version of
Use when you need very fast, but not fine-grained timestamps.
Requires per-architecture support,
and probably also architecture support for this flag in the
-.BR vdso (7).
+.MR vdso 7 .
.TP
.BR CLOCK_MONOTONIC_RAW " (since Linux 2.6.28; Linux-specific)"
.\" Added in commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68, John Stultz
@@ -189,14 +189,14 @@ This allows applications to get a suspend-aware monotonic clock
without having to deal with the complications of
.BR CLOCK_REALTIME ,
which may have discontinuities if the time is changed using
-.BR settimeofday (2)
+.MR settimeofday 2
or similar.
.TP
.BR CLOCK_BOOTTIME_ALARM " (since Linux 3.0; Linux-specific)"
Like
.BR CLOCK_BOOTTIME .
See
-.BR timer_create (2)
+.MR timer_create 2
for further details.
.TP
.BR CLOCK_PROCESS_CPUTIME_ID " (since Linux 2.6.12)"
@@ -221,7 +221,7 @@ descriptors may be converted into clock IDs and passed to
.BR clock_gettime (),
.BR clock_settime (),
and
-.BR clock_adjtime (2).
+.MR clock_adjtime 2 .
The following example shows how to convert a file descriptor into a
dynamic clock ID.
.P
@@ -324,7 +324,7 @@ range in other situations, the behavior is undefined.
does not have permission to set the clock indicated.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -367,7 +367,7 @@ On Linux, these clocks are not settable
On some architectures, an implementation of
.BR clock_gettime ()
is provided in the
-.BR vdso (7).
+.MR vdso 7 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -387,7 +387,7 @@ indicate that
.B CLOCK_THREAD_CPUTIME_ID
are available.
(See also
-.BR sysconf (3).)
+.MR sysconf 3 .)
POSIX.1-2008 makes these APIs mandatory.
.\"
.SS Historical note for SMP systems
@@ -521,18 +521,18 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR date (1),
-.BR gettimeofday (2),
-.BR settimeofday (2),
-.BR time (2),
-.BR adjtime (3),
-.BR clock_getcpuclockid (3),
-.BR ctime (3),
-.BR ftime (3),
-.BR pthread_getcpuclockid (3),
-.BR sysconf (3),
-.BR timespec (3),
-.BR time (7),
-.BR time_namespaces (7),
-.BR vdso (7),
-.BR hwclock (8)
+.MR date 1 ,
+.MR gettimeofday 2 ,
+.MR settimeofday 2 ,
+.MR time 2 ,
+.MR adjtime 3 ,
+.MR clock_getcpuclockid 3 ,
+.MR ctime 3 ,
+.MR ftime 3 ,
+.MR pthread_getcpuclockid 3 ,
+.MR sysconf 3 ,
+.MR timespec 3 ,
+.MR time 7 ,
+.MR time_namespaces 7 ,
+.MR vdso 7 ,
+.MR hwclock 8
diff --git a/man2/clock_nanosleep.2 b/man2/clock_nanosleep.2
index 5bda50e18..ff751e6fb 100644
--- a/man2/clock_nanosleep.2
+++ b/man2/clock_nanosleep.2
@@ -25,7 +25,7 @@ Real-time library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR clock_nanosleep ():
@@ -34,7 +34,7 @@ Feature Test Macro Requirements for glibc (see
.fi
.SH DESCRIPTION
Like
-.BR nanosleep (2),
+.MR nanosleep 2 ,
.BR clock_nanosleep ()
allows the calling thread to sleep for an interval specified
with nanosecond precision.
@@ -44,7 +44,7 @@ and in allowing the sleep interval to be specified as
either an absolute or a relative value.
.P
The time values passed to and returned by this call are specified using
-.BR timespec (3)
+.MR timespec 3
structures.
.P
The
@@ -79,12 +79,12 @@ by all threads in the process.
.\" to deal with the CLOCK_PROCESS_CPUTIME_ID case.
.P
See
-.BR clock_getres (2)
+.MR clock_getres 2
for further details on these clocks.
In addition, the CPU clock IDs returned by
-.BR clock_getcpuclockid (3)
+.MR clock_getcpuclockid 3
and
-.BR pthread_getcpuclockid (3)
+.MR pthread_getcpuclockid 3
can also be passed in
.IR clockid .
.\" Sleeping against CLOCK_REALTIME_ALARM and CLOCK_BOOTTIME_ALARM
@@ -153,7 +153,7 @@ specified an invalid address.
.TP
.B EINTR
The sleep was interrupted by a signal handler; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The value in the
@@ -182,18 +182,18 @@ glibc 2.1.
If the interval specified in
.I request
is not an exact multiple of the granularity underlying clock (see
-.BR time (7)),
+.MR time 7 ),
then the interval will be rounded up to the next multiple.
Furthermore, after the sleep completes, there may still be a delay before
the CPU becomes free to once again execute the calling thread.
.P
Using an absolute timer is useful for preventing
timer drift problems of the type described in
-.BR nanosleep (2).
+.MR nanosleep 2 .
(Such problems are exacerbated in programs that try to restart
a relative sleep that is repeatedly interrupted by signals.)
To perform a relative sleep that avoids these problems, call
-.BR clock_gettime (2)
+.MR clock_gettime 2
for the desired clock,
add the desired interval to the returned time value,
and then call
@@ -205,7 +205,7 @@ flag.
.BR clock_nanosleep ()
is never restarted after being interrupted by a signal handler,
regardless of the use of the
-.BR sigaction (2)
+.MR sigaction 2
.B SA_RESTART
flag.
.P
@@ -226,7 +226,7 @@ has no effect on signals dispositions or the signal mask.
POSIX.1 specifies that after changing the value of the
.B CLOCK_REALTIME
clock via
-.BR clock_settime (2),
+.MR clock_settime 2 ,
the new clock value shall be used to determine the time
at which a thread blocked on an absolute
.BR clock_nanosleep ()
@@ -239,15 +239,15 @@ POSIX.1 specifies that
changing the value of the
.B CLOCK_REALTIME
clock via
-.BR clock_settime (2)
+.MR clock_settime 2
shall have no effect on a thread that is blocked on a relative
.BR clock_nanosleep ().
.SH SEE ALSO
-.BR clock_getres (2),
-.BR nanosleep (2),
-.BR restart_syscall (2),
-.BR timer_create (2),
-.BR sleep (3),
-.BR timespec (3),
-.BR usleep (3),
-.BR time (7)
+.MR clock_getres 2 ,
+.MR nanosleep 2 ,
+.MR restart_syscall 2 ,
+.MR timer_create 2 ,
+.MR sleep 3 ,
+.MR timespec 3 ,
+.MR usleep 3 ,
+.MR time 7
diff --git a/man2/clone.2 b/man2/clone.2
index 8e5eae806..f0c60b9e3 100644
--- a/man2/clone.2
+++ b/man2/clone.2
@@ -72,14 +72,14 @@ Standard C library
glibc provides no wrapper for
.BR clone3 (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
These system calls
create a new ("child") process, in a manner similar to
-.BR fork (2).
+.MR fork 2 .
.P
By contrast with
-.BR fork (2),
+.MR fork 2 ,
these system calls provide more precise control over what pieces of execution
context are shared between the calling process and the child process.
For example, using these system calls, the caller can control whether
@@ -87,7 +87,7 @@ or not the two processes share the virtual address space,
the table of file descriptors, and the table of signal handlers.
These system calls also allow the new child process to be placed
in separate
-.BR namespaces (7).
+.MR namespaces 7 .
.P
Note that in this manual
page, "calling process" normally corresponds to "parent process".
@@ -120,10 +120,10 @@ wrapper function,
it commences execution by calling the function pointed to by the argument
.IR fn .
(This differs from
-.BR fork (2),
+.MR fork 2 ,
where execution continues in the child from the point
of the
-.BR fork (2)
+.MR fork 2
call.)
The
.I arg
@@ -137,7 +137,7 @@ The integer returned by
.I fn
is the exit status for the child process.
The child process may also terminate explicitly by calling
-.BR exit (2)
+.MR exit 2
or after receiving a fatal signal.
.P
The
@@ -176,7 +176,7 @@ cleaner separation in the use of various arguments;
and the ability to specify the size of the child's stack area.
.P
As with
-.BR fork (2),
+.MR fork 2 ,
.BR clone3 ()
returns in both the parent and the child.
It returns 0 in the child process and returns the PID of the child
@@ -298,7 +298,7 @@ then the parent process must specify the
or
.B __WCLONE
options when waiting for the child with
-.BR wait (2).
+.MR wait 2 .
If no signal (i.e., zero) is specified, then the parent process is not signaled
when the child terminates.
.\"
@@ -431,7 +431,7 @@ or
in child memory when the child exits, and do a wakeup on the futex
at that address.
The address involved may be changed by the
-.BR set_tid_address (2)
+.MR set_tid_address 2
system call.
This is used by threading libraries.
.TP
@@ -495,11 +495,11 @@ Any file descriptor created by the calling process or by the child
process is also valid in the other process.
Similarly, if one of the processes closes a file descriptor,
or changes its associated flags (using the
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETFD
operation), the other process is also affected.
If a process sharing a file descriptor table calls
-.BR execve (2),
+.MR execve 2 ,
its file descriptor table is duplicated (unshared).
.IP
If
@@ -515,7 +515,7 @@ that the duplicated file descriptors in the child refer to the same
open file descriptions as the corresponding file descriptors
in the calling process,
and thus share file offsets and file status flags (see
-.BR open (2)).
+.MR open 2 ).
.TP
.BR CLONE_FS " (since Linux 2.0)"
If
@@ -525,10 +525,10 @@ information.
This includes the root of the filesystem, the current
working directory, and the umask.
Any call to
-.BR chroot (2),
-.BR chdir (2),
+.MR chroot 2 ,
+.MR chdir 2 ,
or
-.BR umask (2)
+.MR umask 2
performed by the calling process or the child process also affects the
other process.
.IP
@@ -537,10 +537,10 @@ If
is not set, the child process works on a copy of the filesystem
information of the calling process at the time of the clone call.
Calls to
-.BR chroot (2),
-.BR chdir (2),
+.MR chroot 2 ,
+.MR chdir 2 ,
or
-.BR umask (2)
+.MR umask 2
performed later by one of the processes do not affect the other process.
.TP
.BR CLONE_INTO_CGROUP " (since Linux 5.7)"
@@ -569,7 +569,7 @@ or the
.B O_PATH
flag.)
Note that all of the usual restrictions (described in
-.BR cgroups (7))
+.MR cgroups 7 )
on placing a process into a version 2 cgroup apply.
.IP
Among the possible use cases for
@@ -593,7 +593,7 @@ The
flag also allows the creation of
frozen child processes by spawning them into a frozen cgroup.
(See
-.BR cgroups (7)
+.MR cgroups 7
for a description of the freezer controller.)
.IP \[bu]
For threaded applications (or even thread implementations which
@@ -608,7 +608,7 @@ If
is set, then the new process shares an I/O context with
the calling process.
If this flag is not set, then (as with
-.BR fork (2))
+.MR fork 2 )
the new process has its own I/O context.
.IP
.\" The following based on text from Jens Axboe
@@ -622,7 +622,8 @@ For some I/O schedulers,
if two processes share an I/O context,
they will be allowed to interleave their disk access.
If several threads are doing I/O on behalf of the same process
-.RB ( aio_read (3),
+\%(\c
+.MR aio_read 3 ,
for instance), they should employ
.B CLONE_IO
to get better I/O performance.
@@ -635,11 +636,11 @@ option, this flag is a no-op.
.BR CLONE_NEWCGROUP " (since Linux 4.6)"
Create the process in a new cgroup namespace.
If this flag is not set, then (as with
-.BR fork (2))
+.MR fork 2 )
the process is created in the same cgroup namespaces as the calling process.
.IP
For further information on cgroup namespaces, see
-.BR cgroup_namespaces (7).
+.MR cgroup_namespaces 7 .
.IP
Only a privileged process
.RB ( CAP_SYS_ADMIN )
@@ -652,12 +653,12 @@ If
.B CLONE_NEWIPC
is set, then create the process in a new IPC namespace.
If this flag is not set, then (as with
-.BR fork (2)),
+.MR fork 2 ),
the process is created in the same IPC namespace as
the calling process.
.IP
For further information on IPC namespaces, see
-.BR ipc_namespaces (7).
+.MR ipc_namespaces 7 .
.IP
Only a privileged process
.RB ( CAP_SYS_ADMIN )
@@ -674,12 +675,12 @@ If
.B CLONE_NEWNET
is set, then create the process in a new network namespace.
If this flag is not set, then (as with
-.BR fork (2))
+.MR fork 2 )
the process is created in the same network namespace as
the calling process.
.IP
For further information on network namespaces, see
-.BR network_namespaces (7).
+.MR network_namespaces 7 .
.IP
Only a privileged process
.RB ( CAP_SYS_ADMIN )
@@ -697,9 +698,9 @@ is not set, the child lives in the same mount
namespace as the parent.
.IP
For further information on mount namespaces, see
-.BR namespaces (7)
+.MR namespaces 7
and
-.BR mount_namespaces (7).
+.MR mount_namespaces 7 .
.IP
Only a privileged process
.RB ( CAP_SYS_ADMIN )
@@ -724,14 +725,14 @@ If
.B CLONE_NEWPID
is set, then create the process in a new PID namespace.
If this flag is not set, then (as with
-.BR fork (2))
+.MR fork 2 )
the process is created in the same PID namespace as
the calling process.
.IP
For further information on PID namespaces, see
-.BR namespaces (7)
+.MR namespaces 7
and
-.BR pid_namespaces (7).
+.MR pid_namespaces 7 .
.IP
Only a privileged process
.RB ( CAP_SYS_ADMIN )
@@ -754,13 +755,13 @@ If
.B CLONE_NEWUSER
is set, then create the process in a new user namespace.
If this flag is not set, then (as with
-.BR fork (2))
+.MR fork 2 )
the process is created in the same user namespace as the calling process.
.IP
For further information on user namespaces, see
-.BR namespaces (7)
+.MR namespaces 7
and
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.IP
Before Linux 3.8, use of
.B CLONE_NEWUSER
@@ -794,12 +795,12 @@ is set, then create the process in a new UTS namespace,
whose identifiers are initialized by duplicating the identifiers
from the UTS namespace of the calling process.
If this flag is not set, then (as with
-.BR fork (2))
+.MR fork 2 )
the process is created in the same UTS namespace as
the calling process.
.IP
For further information on UTS namespaces, see
-.BR uts_namespaces (7).
+.MR uts_namespaces 7 .
.IP
Only a privileged process
.RB ( CAP_SYS_ADMIN )
@@ -810,17 +811,17 @@ can employ
If
.B CLONE_PARENT
is set, then the parent of the new child (as returned by
-.BR getppid (2))
+.MR getppid 2 )
will be the same as that of the calling process.
.IP
If
.B CLONE_PARENT
is not set, then (as with
-.BR fork (2))
+.MR fork 2 )
the child's parent is the calling process.
.IP
Note that it is the parent process, as returned by
-.BR getppid (2),
+.MR getppid 2 ,
which is signaled when the child terminates, so that
if
.B CLONE_PARENT
@@ -873,7 +874,7 @@ a PID file descriptor referring to the child process is allocated
and placed at a specified location in the parent's memory.
The close-on-exec flag is set on this new file descriptor.
PID file descriptors can be used for the purposes described in
-.BR pidfd_open (2).
+.MR pidfd_open 2 .
.RS
.IP \[bu] 3
When using
@@ -920,7 +921,7 @@ If
.B CLONE_PTRACE
is specified, and the calling process is being traced,
then trace the child also (see
-.BR ptrace (2)).
+.MR ptrace 2 ).
.TP
.BR CLONE_SETTLS " (since Linux 2.5.32)"
The TLS (Thread Local Storage) descriptor is set to
@@ -934,12 +935,12 @@ On x86,
is interpreted as a
.I struct user_desc\~*
(see
-.BR set_thread_area (2)).
+.MR set_thread_area 2 ).
On x86-64 it is the new value to be set for the %fs base register
(see the
.B ARCH_SET_FS
argument to
-.BR arch_prctl (2)).
+.MR arch_prctl 2 ).
On architectures with a dedicated TLS register, it is the new value
of that register.
.IP
@@ -952,14 +953,14 @@ If
is set, the calling process and the child process share the same table of
signal handlers.
If the calling process or child process calls
-.BR sigaction (2)
+.MR sigaction 2
to change the behavior associated with a signal, the behavior is
changed in the other process as well.
However, the calling process and child
processes still have distinct signal masks and sets of pending
signals.
So, one of them may block or unblock signals using
-.BR sigprocmask (2)
+.MR sigprocmask 2
without affecting the other process.
.IP
If
@@ -967,7 +968,7 @@ If
is not set, the child process inherits a copy of the signal handlers
of the calling process at the time of the clone call.
Calls to
-.BR sigaction (2)
+.MR sigaction 2
performed later by one of the processes have no effect on the other
process.
.IP
@@ -1010,13 +1011,13 @@ is set, then the child and the calling process share
a single list of System V semaphore adjustment
.RI ( semadj )
values (see
-.BR semop (2)).
+.MR semop 2 ).
In this case, the shared list accumulates
.I semadj
values across all processes sharing the list,
and semaphore adjustments are performed only when the last process
that is sharing the list terminates (or ceases sharing the list using
-.BR unshare (2)).
+.MR unshare 2 ).
If this flag is not set, then the child has a separate
.I semadj
list that is initially empty.
@@ -1036,7 +1037,7 @@ POSIX threads notion of a set of threads that share a single PID.
Internally, this shared PID is the so-called
thread group identifier (TGID) for the thread group.
Since Linux 2.4, calls to
-.BR getpid (2)
+.MR getpid 2
return the TGID of the caller.
.IP
The threads within a group can be distinguished by their (system-wide)
@@ -1045,7 +1046,7 @@ A new thread's TID is available as the function result
returned to the caller,
and a thread can obtain
its own TID using
-.BR gettid (2).
+.MR gettid 2 .
.IP
When a clone call is made without specifying
.BR CLONE_THREAD ,
@@ -1061,7 +1062,7 @@ has the same parent process as the process that made the clone call
(i.e., like
.BR CLONE_PARENT ),
so that calls to
-.BR getppid (2)
+.MR getppid 2
return the same value for all of the threads in a thread group.
When a
.B CLONE_THREAD
@@ -1070,7 +1071,7 @@ thread terminates, the thread that created it is not sent a
(or other termination) signal;
nor can the status of such a thread be obtained
using
-.BR wait (2).
+.MR wait 2 .
(The thread is said to be
.IR detached .)
.IP
@@ -1080,14 +1081,14 @@ the parent process of the thread group is sent a
(or other termination) signal.
.IP
If any of the threads in a thread group performs an
-.BR execve (2),
+.MR execve 2 ,
then all threads other than the thread group leader are terminated,
and the new program is executed in the thread group leader.
.IP
If one of the threads in a thread group creates a child using
-.BR fork (2),
+.MR fork 2 ,
then any thread in the group can
-.BR wait (2)
+.MR wait 2
for that child.
.IP
Since Linux 2.5.35, the
@@ -1110,7 +1111,7 @@ it will affect (terminate, stop, continue, be ignored in)
all members of the thread group.
.IP
Each thread has its own signal mask, as set by
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
.IP
A signal may be process-directed or thread-directed.
A process-directed signal is targeted at a thread group (i.e., a TGID),
@@ -1118,15 +1119,15 @@ and is delivered to an arbitrarily selected thread from among those
that are not blocking the signal.
A signal may be process-directed because it was generated by the kernel
for reasons other than a hardware exception, or because it was sent using
-.BR kill (2)
+.MR kill 2
or
-.BR sigqueue (3).
+.MR sigqueue 3 .
A thread-directed signal is targeted at (i.e., delivered to)
a specific thread.
A signal may be thread directed because it was sent using
-.BR tgkill (2)
+.MR tgkill 2
or
-.BR pthread_sigqueue (3),
+.MR pthread_sigqueue 3 ,
or because the thread executed a machine language instruction that triggered
a hardware exception
(e.g., invalid memory access triggering
@@ -1135,7 +1136,7 @@ or a floating-point exception triggering
.BR SIGFPE ).
.IP
A call to
-.BR sigpending (2)
+.MR sigpending 2
returns a signal set that is the union of the pending process-directed
signals and the signals that are pending for the calling thread.
.IP
@@ -1144,7 +1145,7 @@ and the thread group has installed a handler for the signal, then
the handler is invoked in exactly one, arbitrarily selected
member of the thread group that has not blocked the signal.
If multiple threads in a group are waiting to accept the same signal using
-.BR sigwaitinfo (2),
+.MR sigwaitinfo 2 ,
the kernel will arbitrarily select one of these threads
to receive the signal.
.TP
@@ -1161,11 +1162,11 @@ If
is set, the execution of the calling process is suspended
until the child releases its virtual memory
resources via a call to
-.BR execve (2)
+.MR execve 2
or
-.BR _exit (2)
+.MR _exit 2
(as with
-.BR vfork (2)).
+.MR vfork 2 ).
.IP
If
.B CLONE_VFORK
@@ -1181,9 +1182,9 @@ space.
In particular, memory writes performed by the calling process
or by the child process are also visible in the other process.
Moreover, any memory mapping or unmapping performed with
-.BR mmap (2)
+.MR mmap 2
or
-.BR munmap (2)
+.MR munmap 2
by the child or calling process also affects the other process.
.IP
If
@@ -1192,7 +1193,7 @@ is not set, the child process runs in a separate copy of the memory
space of the calling process at the time of the clone call.
Memory writes or file mappings/unmappings performed by one of the
processes do not affect the other, as with
-.BR fork (2).
+.MR fork 2 .
.IP
If the
.B CLONE_VM
@@ -1200,7 +1201,7 @@ flag is specified and the
.B CLONE_VFORK
flag is not specified,
then any alternate signal stack that was established by
-.BR sigaltstack (2)
+.MR sigaltstack 2
is cleared in the child process.
.SH RETURN VALUE
.\" gettid(2) returns current->pid;
@@ -1218,14 +1219,14 @@ is set to indicate the error.
was specified in
.IR cl_args.flags ,
but the restrictions (described in
-.BR cgroups (7))
+.MR cgroups 7 )
on placing the child process into the version 2 cgroup referred to by
.I cl_args.cgroup
are not met.
.TP
.B EAGAIN
Too many processes are already running; see
-.BR fork (2).
+.MR fork 2 .
.TP
.BR EBUSY " (" clone3 "() only)"
.B CLONE_INTO_CGROUP
@@ -1281,11 +1282,11 @@ was not.
was specified in the
.I flags
mask, but the current process previously called
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWPID
flag or used
-.BR setns (2)
+.MR setns 2
to reassociate itself with a PID namespace.
.TP
.B EINVAL
@@ -1468,7 +1469,7 @@ was specified in the
mask,
but the limit on the nesting depth of PID namespaces
would have been exceeded; see
-.BR pid_namespaces (7).
+.MR pid_namespaces 7 .
.TP
.BR ENOSPC " (since Linux 4.9; beforehand " EUSERS )
.B CLONE_NEWUSER
@@ -1477,7 +1478,7 @@ was specified in the
mask, and the call would cause the limit on the number of
nested user namespaces to be exceeded.
See
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.IP
From Linux 3.11 to Linux 4.8, the error diagnosed in this case was
.BR EUSERS .
@@ -1490,7 +1491,7 @@ but doing so would have caused the limit defined by the corresponding file in
.I /proc/sys/user
to be exceeded.
For further details, see
-.BR namespaces (7).
+.MR namespaces 7 .
.TP
.BR EOPNOTSUPP " (" clone3 "() only)"
.B CLONE_INTO_CGROUP
@@ -1524,7 +1525,7 @@ was specified in the
mask,
but either the effective user ID or the effective group ID of the caller
does not have a mapping in the parent namespace (see
-.BR user_namespaces (7)).
+.MR user_namespaces 7 ).
.TP
.BR EPERM " (since Linux 3.9)"
.\" commit 3151527ee007b73a0ebd296010f1c0454a919c7d
@@ -1582,7 +1583,7 @@ should not be called through vsyscall, but directly through
The raw
.BR clone ()
system call corresponds more closely to
-.BR fork (2)
+.MR fork 2
in that execution in the child continues from the point of the
call.
As such, the
@@ -1750,18 +1751,18 @@ is to implement threads: multiple flows of control in a program that
run concurrently in a shared address space.
.P
The
-.BR kcmp (2)
+.MR kcmp 2
system call can be used to test whether two processes share various
resources such as a file descriptor table,
System V semaphore undo operations, or a virtual address space.
.P
Handlers registered using
-.BR pthread_atfork (3)
+.MR pthread_atfork 3
are not executed during a clone call.
.SH BUGS
GNU C library versions 2.3.4 up to and including 2.24
contained a wrapper function for
-.BR getpid (2)
+.MR getpid 2
that performed caching of PIDs.
This caching relied on support in the glibc wrapper for
.BR clone (),
@@ -1771,7 +1772,7 @@ In particular,
if a signal was delivered to the child immediately after the
.BR clone ()
call, then a call to
-.BR getpid (2)
+.MR getpid 2
in a handler for the signal could return the PID
of the calling process ("the parent"),
if the clone wrapper had not yet had a chance to update the PID
@@ -1779,7 +1780,7 @@ cache in the child.
(This discussion ignores the case where the child was created using
.BR CLONE_THREAD ,
when
-.BR getpid (2)
+.MR getpid 2
.I should
return the same value in the child and in the process that called
.BR clone (),
@@ -1804,7 +1805,7 @@ mypid = syscall(SYS_getpid);
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=6910
.P
Because of the stale-cache problem, as well as other problems noted in
-.BR getpid (2),
+.MR getpid 2 ,
the PID caching feature was removed in glibc 2.25.
.SH EXAMPLES
The following program demonstrates the use of
@@ -1815,22 +1816,22 @@ Both parent and child then display the system hostname,
making it possible to see that the hostname
differs in the UTS namespaces of the parent and child.
For an example of the use of this program, see
-.BR setns (2).
+.MR setns 2 .
.P
Within the sample program, we allocate the memory that is to
be used for the child's stack using
-.BR mmap (2)
+.MR mmap 2
rather than
-.BR malloc (3)
+.MR malloc 3
for the following reasons:
.IP \[bu] 3
-.BR mmap (2)
+.MR mmap 2
allocates a block of memory that starts on a page
boundary and is a multiple of the page size.
This is useful if we want to establish a guard page (a page with protection
.BR PROT_NONE )
at the end of the stack using
-.BR mprotect (2).
+.MR mprotect 2 .
.IP \[bu]
We can specify the
.B MAP_STACK
@@ -1931,19 +1932,19 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fork (2),
-.BR futex (2),
-.BR getpid (2),
-.BR gettid (2),
-.BR kcmp (2),
-.BR mmap (2),
-.BR pidfd_open (2),
-.BR set_thread_area (2),
-.BR set_tid_address (2),
-.BR setns (2),
-.BR tkill (2),
-.BR unshare (2),
-.BR wait (2),
-.BR capabilities (7),
-.BR namespaces (7),
-.BR pthreads (7)
+.MR fork 2 ,
+.MR futex 2 ,
+.MR getpid 2 ,
+.MR gettid 2 ,
+.MR kcmp 2 ,
+.MR mmap 2 ,
+.MR pidfd_open 2 ,
+.MR set_thread_area 2 ,
+.MR set_tid_address 2 ,
+.MR setns 2 ,
+.MR tkill 2 ,
+.MR unshare 2 ,
+.MR wait 2 ,
+.MR capabilities 7 ,
+.MR namespaces 7 ,
+.MR pthreads 7
diff --git a/man2/close.2 b/man2/close.2
index cc6d2f43e..365ccb628 100644
--- a/man2/close.2
+++ b/man2/close.2
@@ -30,14 +30,14 @@ Standard C library
closes a file descriptor, so that it no longer refers to any file and
may be reused.
Any record locks (see
-.BR fcntl (2))
+.MR fcntl 2 )
held on the file it was associated with,
and owned by the process,
are removed regardless of the file descriptor that was used to obtain the lock.
This has some unfortunate consequences
and one should be extra careful when using advisory record locking.
See
-.BR fcntl (2)
+.MR fcntl 2
for discussion of the risks and consequences
as well as for the (probably preferred) open file description locks.
.P
@@ -45,11 +45,11 @@ If
.I fd
is the last file descriptor referring to the underlying
open file description (see
-.BR open (2)),
+.MR open 2 ),
the resources associated with the open file description are freed;
if the file descriptor was the last reference to a file which has been
removed using
-.BR unlink (2),
+.MR unlink 2 ,
the file is deleted.
.SH RETURN VALUE
.BR close ()
@@ -69,7 +69,7 @@ isn't a valid open file descriptor.
The
.BR close ()
call was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EIO
An I/O error occurred.
@@ -80,8 +80,8 @@ An I/O error occurred.
On NFS, these errors are not normally reported against the first write
which exceeds the available storage space, but instead against a
subsequent
-.BR write (2),
-.BR fsync (2),
+.MR write 2 ,
+.MR fsync 2 ,
or
.BR close ().
.P
@@ -99,14 +99,14 @@ saved to disk, as the kernel uses the buffer cache to defer writes.
Typically, filesystems do not flush buffers when a file is closed.
If you need to be sure that
the data is physically stored on the underlying disk, use
-.BR fsync (2).
+.MR fsync 2 .
(It will depend on the disk hardware at this point.)
.P
The close-on-exec file descriptor flag can be used to ensure
that a file descriptor is automatically closed upon a successful
-.BR execve (2);
+.MR execve 2 ;
see
-.BR fcntl (2)
+.MR fcntl 2
for details.
.\"
.SS Multithreaded processes and close()
@@ -130,9 +130,9 @@ performing operations on the same file descriptor:
.IP (1) 5
One thread is blocked in an I/O system call on the file descriptor.
For example, it is trying to
-.BR write (2)
+.MR write 2
to a pipe that is already full, or trying to
-.BR read (2)
+.MR read 2
from a stream socket which currently has no available data.
.IP (2)
Another thread closes the file descriptor.
@@ -147,7 +147,7 @@ open file description, and this reference keeps the description open
until the I/O system call completes.
.\" 'struct file' in kernel-speak
(See
-.BR open (2)
+.MR open 2
for a discussion of open file descriptions.)
Thus, the blocking system call in the first thread may successfully
complete after the
@@ -158,7 +158,7 @@ in the second thread.
A careful programmer will check the return value of
.BR close (),
since it is quite possible that errors on a previous
-.BR write (2)
+.MR write 2
operation are reported only on the final
.BR close ()
that releases the open file description.
@@ -210,7 +210,7 @@ of the standard.
A careful programmer who wants to know about I/O errors may precede
.BR close ()
with a call to
-.BR fsync (2).
+.MR fsync 2 .
.P
The
.B EINTR
@@ -265,10 +265,10 @@ the next major release of the POSIX.1 standard.
.\" Review the following glibc bug later
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=14627
.SH SEE ALSO
-.BR close_range (2),
-.BR fcntl (2),
-.BR fsync (2),
-.BR open (2),
-.BR shutdown (2),
-.BR unlink (2),
-.BR fclose (3)
+.MR close_range 2 ,
+.MR fcntl 2 ,
+.MR fsync 2 ,
+.MR open 2 ,
+.MR shutdown 2 ,
+.MR unlink 2 ,
+.MR fclose 3
diff --git a/man2/close_range.2 b/man2/close_range.2
index 380a47365..c1e1e1d14 100644
--- a/man2/close_range.2
+++ b/man2/close_range.2
@@ -62,7 +62,7 @@ The following can occur with
The number of open file descriptors exceeds the limit specified in
.I /proc/sys/fs/nr_open
(see
-.BR proc (5)).
+.MR proc 5 ).
This error can occur in situations where that limit was lowered before
a call to
.BR close_range ()
@@ -87,7 +87,7 @@ this is sometimes implemented (on Linux)
by listing open file descriptors in
.I /proc/self/fd/
and calling
-.BR close (2)
+.MR close 2
on each one.
.BR close_range ()
can take care of this without requiring
@@ -127,7 +127,7 @@ the kernel will unshare a new file descriptor table for the caller up to
.IR first ,
copying as few file descriptors as possible.
This avoids subsequent
-.BR close (2)
+.MR close 2
calls entirely;
the whole operation is complete once the table is unshared.
.SS Closing files on \fBexec\fP
@@ -136,12 +136,12 @@ This is particularly useful in cases where multiple
.RB pre- exec
setup steps risk conflicting with each other.
For example, setting up a
-.BR seccomp (2)
+.MR seccomp 2
profile can conflict with a
.BR close_range ()
call:
if the file descriptors are closed before the
-.BR seccomp (2)
+.MR seccomp 2
profile is set up,
the profile setup can't use them itself,
or control their closure;
@@ -153,7 +153,7 @@ Using
.B CLOSE_RANGE_CLOEXEC
avoids this:
the descriptors can be marked before the
-.BR seccomp (2)
+.MR seccomp 2
profile is set up,
and the profile can control access to
.BR close_range ()
@@ -194,7 +194,7 @@ $ \fB./a.out /tmp/a /tmp/b /tmp/c\fP
Note that the lines showing the pathname
.I /proc/9005/fd
result from the calls to
-.BR opendir (3).
+.MR opendir 3 .
.SS Program source
\&
.\" SRC BEGIN (close_range.c)
@@ -270,4 +270,4 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR close (2)
+.MR close 2
diff --git a/man2/connect.2 b/man2/connect.2
index dc4d51c59..5a51706a6 100644
--- a/man2/connect.2
+++ b/man2/connect.2
@@ -45,7 +45,7 @@ The format of the address in
is determined by the address space of the socket
.IR sockfd ;
see
-.BR socket (2)
+.MR socket 2
for further details.
.P
If the socket
@@ -102,7 +102,7 @@ Write permission is denied on the socket file,
or search permission is denied for one of the directories
in the path prefix.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EACCES
.TQ
@@ -131,7 +131,7 @@ are currently in use.
See the discussion of
.I /proc/sys/net/ipv4/ip_local_port_range
in
-.BR ip (7).
+.MR ip 7 .
.TP
.B EAFNOSUPPORT
The passed address didn't have the correct address family in its
@@ -165,14 +165,14 @@ The socket is nonblocking and the connection cannot be completed immediately.
.B EAGAIN
instead.)
It is possible to
-.BR select (2)
+.MR select 2
or
-.BR poll (2)
+.MR poll 2
for completion by selecting the socket for writing.
After
-.BR select (2)
+.MR select 2
indicates writability, use
-.BR getsockopt (2)
+.MR getsockopt 2
to read the
.B SO_ERROR
option at level
@@ -188,7 +188,7 @@ explaining the reason for the failure).
.TP
.B EINTR
The system call was interrupted by a signal that was caught; see
-.BR signal (7).
+.MR signal 7 .
.\" For TCP, the connection will complete asynchronously.
.\" See http://lkml.org/lkml/2005/7/12/254
.TP
@@ -242,12 +242,12 @@ reconnecting.
An example of the use of
.BR connect ()
is shown in
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
.SH SEE ALSO
-.BR accept (2),
-.BR bind (2),
-.BR getsockname (2),
-.BR listen (2),
-.BR socket (2),
-.BR path_resolution (7),
-.BR selinux (8)
+.MR accept 2 ,
+.MR bind 2 ,
+.MR getsockname 2 ,
+.MR listen 2 ,
+.MR socket 2 ,
+.MR path_resolution 7 ,
+.MR selinux 8
diff --git a/man2/copy_file_range.2 b/man2/copy_file_range.2
index 913d94345..48d853c79 100644
--- a/man2/copy_file_range.2
+++ b/man2/copy_file_range.2
@@ -100,7 +100,7 @@ is not open for writing.
The
.B O_APPEND
flag is set for the open file description (see
-.BR open (2))
+.MR open 2 )
referred to by the file descriptor
.IR fd_out .
.TP
@@ -214,7 +214,7 @@ may expand any holes existing in the requested range.
Users may benefit from calling
.BR copy_file_range ()
in a loop, and using the
-.BR lseek (2)
+.MR lseek 2
.B SEEK_DATA
and
.B SEEK_HOLE
@@ -302,6 +302,6 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR lseek (2),
-.BR sendfile (2),
-.BR splice (2)
+.MR lseek 2 ,
+.MR sendfile 2 ,
+.MR splice 2
diff --git a/man2/create_module.2 b/man2/create_module.2
index 1121713a8..6625abcbc 100644
--- a/man2/create_module.2
+++ b/man2/create_module.2
@@ -65,8 +65,8 @@ glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
-.BR syscall (2).
+.MR syscall 2 .
.SH SEE ALSO
-.BR delete_module (2),
-.BR init_module (2),
-.BR query_module (2)
+.MR delete_module 2 ,
+.MR init_module 2 ,
+.MR query_module 2
diff --git a/man2/delete_module.2 b/man2/delete_module.2
index e9c432e84..a41f55426 100644
--- a/man2/delete_module.2
+++ b/man2/delete_module.2
@@ -21,7 +21,7 @@ Standard C library
glibc provides no wrapper for
.BR delete_module (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR delete_module ()
@@ -147,7 +147,7 @@ or module unloading is disabled
(see
.I /proc/sys/kernel/modules_disabled
in
-.BR proc (5)).
+.MR proc 5 ).
.TP
.B EWOULDBLOCK
Other modules depend on this module;
@@ -171,7 +171,7 @@ Therefore, in order to employ this system call,
it is (before glibc 2.23) sufficient to
manually declare the interface in your code;
alternatively, you can invoke the system call using
-.BR syscall (2).
+.MR syscall 2 .
.SS Linux 2.4 and earlier
In Linux 2.4 and earlier, the system call took only one argument:
.P
@@ -197,9 +197,9 @@ As at Linux 3.7, specifying
.B O_NONBLOCK
is optional, but in future kernels it is likely to become mandatory.
.SH SEE ALSO
-.BR create_module (2),
-.BR init_module (2),
-.BR query_module (2),
-.BR lsmod (8),
-.BR modprobe (8),
-.BR rmmod (8)
+.MR create_module 2 ,
+.MR init_module 2 ,
+.MR query_module 2 ,
+.MR lsmod 8 ,
+.MR modprobe 8 ,
+.MR rmmod 8
diff --git a/man2/dup.2 b/man2/dup.2
index 4948e6dd4..eb57683fb 100644
--- a/man2/dup.2
+++ b/man2/dup.2
@@ -40,7 +40,7 @@ system call allocates a new file descriptor that refers to the same
open file description as the descriptor
.IR oldfd .
(For an explanation of open file descriptions, see
-.BR open (2).)
+.MR open 2 .)
The new file descriptor number is guaranteed to be the lowest-numbered
file descriptor that was unused in the calling process.
.P
@@ -49,7 +49,7 @@ the old and new file descriptors may be used interchangeably.
Since the two file descriptors refer to the same open file description,
they share file offset and file status flags;
for example, if the file offset is modified by using
-.BR lseek (2)
+.MR lseek 2
on one of the file descriptors,
the offset is also changed for the other file descriptor.
.P
@@ -58,7 +58,7 @@ The two file descriptors do not share file descriptor flags
The close-on-exec flag
.RB ( FD_CLOEXEC ;
see
-.BR fcntl (2))
+.MR fcntl 2 )
for the duplicate descriptor is off.
.\"
.SS dup2()
@@ -87,7 +87,7 @@ The steps of closing and reusing the file descriptor
are performed
.IR atomically .
This is important, because trying to implement equivalent functionality using
-.BR close (2)
+.MR close 2
and
.BR dup ()
would be
@@ -129,7 +129,7 @@ for the new file descriptor by specifying
in
.IR flags .
See the description of the same flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.IP \[bu]
.\" Ulrich Drepper, LKML, 2008-10-09:
@@ -160,7 +160,7 @@ isn't an open file descriptor.
is out of the allowed range for file descriptors (see the discussion of
.B RLIMIT_NOFILE
in
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.B EBUSY
(Linux only) This may be returned by
@@ -168,7 +168,7 @@ in
or
.BR dup3 ()
during a race condition with
-.BR open (2)
+.MR open 2
and
.BR dup ().
.TP
@@ -178,7 +178,7 @@ The
or
.BR dup3 ()
call was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.RB ( dup3 ())
@@ -196,7 +196,7 @@ The per-process limit on the number of open file descriptors has been reached
(see the discussion of
.B RLIMIT_NOFILE
in
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.SH STANDARDS
.TP
.BR dup ()
@@ -237,7 +237,7 @@ like
If
.I newfd
was open, any errors that would have been reported at
-.BR close (2)
+.MR close 2
time are lost.
If this is of concern,
then\[em]unless the program is single-threaded and does not allocate
@@ -278,7 +278,7 @@ if (tmpfd != \-1) {
.EE
.in
.SH SEE ALSO
-.BR close (2),
-.BR fcntl (2),
-.BR open (2),
-.BR pidfd_getfd (2)
+.MR close 2 ,
+.MR fcntl 2 ,
+.MR open 2 ,
+.MR pidfd_getfd 2
diff --git a/man2/epoll_create.2 b/man2/epoll_create.2
index f0327e8ba..31bafb508 100644
--- a/man2/epoll_create.2
+++ b/man2/epoll_create.2
@@ -24,7 +24,7 @@ Standard C library
.SH DESCRIPTION
.BR epoll_create ()
creates a new
-.BR epoll (7)
+.MR epoll 7
instance.
Since Linux 2.6.8, the
.I size
@@ -38,7 +38,7 @@ interface.
When no longer required, the file descriptor returned by
.BR epoll_create ()
should be closed by using
-.BR close (2).
+.MR close 2 .
When all file descriptors referring to an epoll instance have been closed,
the kernel destroys the instance
and releases the associated resources for reuse.
@@ -62,7 +62,7 @@ flag on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.SH RETURN VALUE
On success,
@@ -138,7 +138,7 @@ to fail with
.B EMFILE
on overrun.
.SH SEE ALSO
-.BR close (2),
-.BR epoll_ctl (2),
-.BR epoll_wait (2),
-.BR epoll (7)
+.MR close 2 ,
+.MR epoll_ctl 2 ,
+.MR epoll_wait 2 ,
+.MR epoll 7
diff --git a/man2/epoll_ctl.2 b/man2/epoll_ctl.2
index 6d5bc032e..8ea45ae9b 100644
--- a/man2/epoll_ctl.2
+++ b/man2/epoll_ctl.2
@@ -20,7 +20,7 @@ Standard C library
.SH DESCRIPTION
This system call is used to add, modify, or remove
entries in the interest list of the
-.BR epoll (7)
+.MR epoll 7
instance
referred to by the file descriptor
.IR epfd .
@@ -39,9 +39,9 @@ Add an entry to the interest list of the epoll file descriptor,
The entry includes the file descriptor,
.IR fd ,
a reference to the corresponding open file description (see
-.BR epoll (7)
+.MR epoll 7
and
-.BR open (2)),
+.MR open 2 ),
and the settings specified in
.IR event .
.TP
@@ -66,14 +66,14 @@ argument describes the object linked to the file descriptor
The
.I struct epoll_event
is described in
-.BR epoll_event (3type).
+.MR epoll_event 3type .
.P
The
.I data
member of the
.I epoll_event
structure specifies data that the kernel should save and then return (via
-.BR epoll_wait (2))
+.MR epoll_wait 2 )
when this file descriptor becomes ready.
.P
The
@@ -82,18 +82,18 @@ member of the
.I epoll_event
structure is a bit mask composed by ORing together zero or more event types,
returned by
-.BR epoll_wait (2),
+.MR epoll_wait 2 ,
and input flags, which affect its behaviour, but aren't returned.
The available event types are:
.TP
.B EPOLLIN
The associated file is available for
-.BR read (2)
+.MR read 2
operations.
.TP
.B EPOLLOUT
The associated file is available for
-.BR write (2)
+.MR write 2
operations.
.TP
.BR EPOLLRDHUP " (since Linux 2.6.17)"
@@ -107,14 +107,14 @@ There is an exceptional condition on the file descriptor.
See the discussion of
.B POLLPRI
in
-.BR poll (2).
+.MR poll 2 .
.TP
.B EPOLLERR
Error condition happened on the associated file descriptor.
This event is also reported for the write end of a pipe when the read end
has been closed.
.IP
-.BR epoll_wait (2)
+.MR epoll_wait 2
will always report for this event; it is not necessary to set it in
.I events
when calling
@@ -123,7 +123,7 @@ when calling
.B EPOLLHUP
Hang up happened on the associated file descriptor.
.IP
-.BR epoll_wait (2)
+.MR epoll_wait 2
will always wait for this event; it is not necessary to set it in
.I events
when calling
@@ -142,14 +142,14 @@ The default behavior for
.B epoll
is level-triggered.
See
-.BR epoll (7)
+.MR epoll 7
for more detailed information about edge-triggered and
level-triggered notification.
.TP
.BR EPOLLONESHOT " (since Linux 2.6.2)"
Requests one-shot notification for the associated file descriptor.
This means that after an event notified for the file descriptor by
-.BR epoll_wait (2),
+.MR epoll_wait 2 ,
the file descriptor is disabled in the interest list and no other events
will be reported by the
.B epoll
@@ -173,11 +173,11 @@ ensure that the system does not enter "suspend" or
"hibernate" while this event is pending or being processed.
The event is considered as being "processed" from the time
when it is returned by a call to
-.BR epoll_wait (2)
+.MR epoll_wait 2
until the next call to
-.BR epoll_wait (2)
+.MR epoll_wait 2
on the same
-.BR epoll (7)
+.MR epoll 7
file descriptor,
the closure of that file descriptor,
the removal of the event file descriptor with
@@ -196,7 +196,7 @@ When a wakeup event occurs and multiple epoll file descriptors
are attached to the same target file using
.BR EPOLLEXCLUSIVE ,
one or more of the epoll file descriptors will receive an event with
-.BR epoll_wait (2).
+.MR epoll_wait 2 .
The default in this scenario (when
.B EPOLLEXCLUSIVE
is not set) is for all epoll file descriptors to receive an event.
@@ -358,7 +358,7 @@ was encountered while trying to register
.RB ( EPOLL_CTL_ADD )
a new file descriptor on an epoll instance.
See
-.BR epoll (7)
+.MR epoll 7
for further details.
.TP
.B EPERM
@@ -380,7 +380,7 @@ glibc 2.3.2.
The
.B epoll
interface supports all file descriptors that support
-.BR poll (2).
+.MR poll 2 .
.SH BUGS
Before Linux 2.6.9, the
.B EPOLL_CTL_DEL
@@ -423,7 +423,7 @@ capability if attempting to use the
.B EPOLLWAKEUP
flag.
.SH SEE ALSO
-.BR epoll_create (2),
-.BR epoll_wait (2),
-.BR poll (2),
-.BR epoll (7)
+.MR epoll_create 2 ,
+.MR epoll_wait 2 ,
+.MR poll 2 ,
+.MR epoll 7
diff --git a/man2/epoll_wait.2 b/man2/epoll_wait.2
index 3407785ec..05d9afcd6 100644
--- a/man2/epoll_wait.2
+++ b/man2/epoll_wait.2
@@ -31,7 +31,7 @@ const struct timespec *_Nullable " timeout ,
The
.BR epoll_wait ()
system call waits for events on the
-.BR epoll (7)
+.MR epoll 7
instance referred to by the file descriptor
.IR epfd .
The buffer pointed to by
@@ -84,7 +84,7 @@ to return immediately, even if no events are available.
The
.I struct epoll_event
is described in
-.BR epoll_event (3type).
+.MR epoll_event 3type .
.P
The
.I data
@@ -92,7 +92,7 @@ field of each returned
.I epoll_event
structure contains the same data as was specified
in the most recent call to
-.BR epoll_ctl (2)
+.MR epoll_ctl 2
.RB ( EPOLL_CTL_ADD ", " EPOLL_CTL_MOD )
for the corresponding open file descriptor.
.P
@@ -101,7 +101,7 @@ The
field is a bit mask that indicates the events that have occurred for the
corresponding open file description.
See
-.BR epoll_ctl (2)
+.MR epoll_ctl 2
for a list of the bits that may appear in this mask.
.\"
.SS epoll_pwait()
@@ -110,11 +110,11 @@ The relationship between
and
.BR epoll_pwait ()
is analogous to the relationship between
-.BR select (2)
+.MR select 2
and
-.BR pselect (2):
+.MR pselect 2 :
like
-.BR pselect (2),
+.MR pselect 2 ,
.BR epoll_pwait ()
allows an application to safely wait until either a file descriptor
becomes ready or until a signal is caught.
@@ -162,9 +162,9 @@ It takes an argument of type
.I timespec
to be able to specify nanosecond resolution timeout.
This argument functions the same as in
-.BR pselect (2)
+.MR pselect 2
and
-.BR ppoll (2).
+.MR ppoll 2 .
If
.I timeout
is NULL, then
@@ -198,7 +198,7 @@ The call was interrupted by a signal handler before either (1) any of the
requested events occurred or (2) the
.I timeout
expired; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.I epfd
@@ -283,6 +283,6 @@ is 4 and the kernel
value is 1000,
this means that timeouts greater than 35.79 minutes are treated as infinity.
.SH SEE ALSO
-.BR epoll_create (2),
-.BR epoll_ctl (2),
-.BR epoll (7)
+.MR epoll_create 2 ,
+.MR epoll_ctl 2 ,
+.MR epoll 7
diff --git a/man2/eventfd.2 b/man2/eventfd.2
index 3b67239ac..3562d4bee 100644
--- a/man2/eventfd.2
+++ b/man2/eventfd.2
@@ -46,17 +46,17 @@ flag on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.TP
.BR EFD_NONBLOCK " (since Linux 2.6.27)"
Set the
.B O_NONBLOCK
file status flag on the open file description (see
-.BR open (2))
+.MR open 2 )
referred to by the new file descriptor.
Using this flag saves extra calls to
-.BR fcntl (2)
+.MR fcntl 2
to achieve the same result.
.TP
.BR EFD_SEMAPHORE " (since Linux 2.6.30)"
@@ -70,23 +70,23 @@ argument is unused, and must be specified as zero.
The following operations can be performed on the file descriptor returned by
.BR eventfd ():
.TP
-.BR read (2)
+.MR read 2
Each successful
-.BR read (2)
+.MR read 2
returns an 8-byte integer.
A
-.BR read (2)
+.MR read 2
fails with the error
.B EINVAL
if the size of the supplied buffer is less than 8 bytes.
.IP
The value returned by
-.BR read (2)
+.MR read 2
is in host byte order\[em]that is,
the native byte order for integers on the host machine.
.IP
The semantics of
-.BR read (2)
+.MR read 2
depend on whether the eventfd counter currently has a nonzero value
and whether the
.B EFD_SEMAPHORE
@@ -96,102 +96,102 @@ flag was specified when creating the eventfd file descriptor:
If
.B EFD_SEMAPHORE
was not specified and the eventfd counter has a nonzero value, then a
-.BR read (2)
+.MR read 2
returns 8 bytes containing that value,
and the counter's value is reset to zero.
.IP \[bu]
If
.B EFD_SEMAPHORE
was specified and the eventfd counter has a nonzero value, then a
-.BR read (2)
+.MR read 2
returns 8 bytes containing the value 1,
and the counter's value is decremented by 1.
.IP \[bu]
If the eventfd counter is zero at the time of the call to
-.BR read (2),
+.MR read 2 ,
then the call either blocks until the counter becomes nonzero
(at which time, the
-.BR read (2)
+.MR read 2
proceeds as described above)
or fails with the error
.B EAGAIN
if the file descriptor has been made nonblocking.
.RE
.TP
-.BR write (2)
+.MR write 2
A
-.BR write (2)
+.MR write 2
call adds the 8-byte integer value supplied in its
buffer to the counter.
The maximum value that may be stored in the counter is the largest
unsigned 64-bit value minus 1 (i.e., 0xfffffffffffffffe).
If the addition would cause the counter's value to exceed
the maximum, then the
-.BR write (2)
+.MR write 2
either blocks until a
-.BR read (2)
+.MR read 2
is performed on the file descriptor,
or fails with the error
.B EAGAIN
if the file descriptor has been made nonblocking.
.IP
A
-.BR write (2)
+.MR write 2
fails with the error
.B EINVAL
if the size of the supplied buffer is less than 8 bytes,
or if an attempt is made to write the value 0xffffffffffffffff.
.TP
-.BR poll (2)
+.MR poll 2
.TQ
-.BR select (2)
+.MR select 2
.TQ
(and similar)
The returned file descriptor supports
-.BR poll (2)
+.MR poll 2
(and analogously
-.BR epoll (7))
+.MR epoll 7 )
and
-.BR select (2),
+.MR select 2 ,
as follows:
.RS
.IP \[bu] 3
The file descriptor is readable
(the
-.BR select (2)
+.MR select 2
.I readfds
argument; the
-.BR poll (2)
+.MR poll 2
.B POLLIN
flag)
if the counter has a value greater than 0.
.IP \[bu]
The file descriptor is writable
(the
-.BR select (2)
+.MR select 2
.I writefds
argument; the
-.BR poll (2)
+.MR poll 2
.B POLLOUT
flag)
if it is possible to write a value of at least "1" without blocking.
.IP \[bu]
If an overflow of the counter value was detected,
then
-.BR select (2)
+.MR select 2
indicates the file descriptor as being both readable and writable, and
-.BR poll (2)
+.MR poll 2
returns a
.B POLLERR
event.
As noted above,
-.BR write (2)
+.MR write 2
can never overflow the counter.
However an overflow can occur if 2\[ha]64
eventfd "signal posts" were performed by the KAIO
subsystem (theoretically possible, but practically unlikely).
If an overflow has occurred, then
-.BR read (2)
+.MR read 2
will return that maximum
.I uint64_t
value (i.e., 0xffffffffffffffff).
@@ -199,11 +199,11 @@ value (i.e., 0xffffffffffffffff).
.IP
The eventfd file descriptor also supports the other file-descriptor
multiplexing APIs:
-.BR pselect (2)
+.MR pselect 2
and
-.BR ppoll (2).
+.MR ppoll 2 .
.TP
-.BR close (2)
+.MR close 2
When the file descriptor is no longer required it should be closed.
When all file descriptors associated with the same eventfd object
have been closed, the resources for object are freed by the kernel.
@@ -211,13 +211,13 @@ have been closed, the resources for object are freed by the kernel.
A copy of the file descriptor created by
.BR eventfd ()
is inherited by the child produced by
-.BR fork (2).
+.MR fork 2 .
The duplicate file descriptor is associated with the same
eventfd object.
File descriptors created by
.BR eventfd ()
are preserved across
-.BR execve (2),
+.MR execve 2 ,
unless the close-on-exec flag has been set.
.SH RETURN VALUE
On success,
@@ -252,7 +252,7 @@ There was insufficient memory to create a new
eventfd file descriptor.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -315,7 +315,7 @@ wrapper will employ the
system call, if it is supported by the kernel.
.SH NOTES
Applications can use an eventfd file descriptor instead of a pipe (see
-.BR pipe (2))
+.MR pipe 2 )
in all cases where a pipe is used simply to signal events.
The kernel overhead of an eventfd file descriptor
is much lower than that of a pipe,
@@ -330,27 +330,27 @@ to signal to a file descriptor that some operation is complete.
.P
A key point about an eventfd file descriptor is that it can be
monitored just like any other file descriptor using
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7).
+.MR epoll 7 .
This means that an application can simultaneously monitor the
readiness of "traditional" files and the readiness of other
kernel mechanisms that support the eventfd interface.
(Without the
.BR eventfd ()
interface, these mechanisms could not be multiplexed via
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7).)
+.MR epoll 7 .)
.P
The current value of an eventfd counter can be viewed
via the entry for the corresponding file descriptor in the process's
.IR /proc/ pid /fdinfo
directory.
See
-.BR proc (5)
+.MR proc 5
for further details.
.SH EXAMPLES
The following program creates an eventfd file descriptor
@@ -434,13 +434,13 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR futex (2),
-.BR pipe (2),
-.BR poll (2),
-.BR read (2),
-.BR select (2),
-.BR signalfd (2),
-.BR timerfd_create (2),
-.BR write (2),
-.BR epoll (7),
-.BR sem_overview (7)
+.MR futex 2 ,
+.MR pipe 2 ,
+.MR poll 2 ,
+.MR read 2 ,
+.MR select 2 ,
+.MR signalfd 2 ,
+.MR timerfd_create 2 ,
+.MR write 2 ,
+.MR epoll 7 ,
+.MR sem_overview 7
diff --git a/man2/execve.2 b/man2/execve.2
index 03dfdcdcf..37e62edfa 100644
--- a/man2/execve.2
+++ b/man2/execve.2
@@ -72,7 +72,7 @@ standardised variants of this function provided by libc,
including ones that search the
.B PATH
environment variable, see
-.BR exec (3).
+.MR exec 3 .
.P
The argument vector and environment can be accessed by the
new program's main function, when it is defined as:
@@ -87,7 +87,7 @@ Note, however, that the use of a third argument to the main function
is not specified in POSIX.1;
according to POSIX.1,
the environment should be accessed via the external variable
-.BR environ (7).
+.MR environ 7 .
.P
.BR execve ()
does not return on success, and the text, initialized data,
@@ -114,20 +114,20 @@ if any of the following is true:
the
.I no_new_privs
attribute is set for the calling thread (see
-.BR prctl (2));
+.MR prctl 2 );
.IP \[bu]
the underlying filesystem is mounted
.I nosuid
(the
.B MS_NOSUID
flag for
-.BR mount (2));
+.MR mount 2 );
or
.IP \[bu]
the calling process is being ptraced.
.P
The capabilities of the program file (see
-.BR capabilities (7))
+.MR capabilities 7 )
are also ignored if any of the above are true.
.P
The effective user ID of the process is copied to the saved set-user-ID;
@@ -142,7 +142,7 @@ are unchanged by a call to
If the executable is an a.out dynamically linked
binary executable containing
shared-library stubs, the Linux dynamic linker
-.BR ld.so (8)
+.MR ld.so 8
is called at the start of execution to bring
needed shared objects into memory
and link the executable with them.
@@ -153,7 +153,7 @@ shared objects.
This interpreter is typically
.I /lib/ld\-linux.so.2
for binaries linked with glibc (see
-.BR ld\-linux.so (8)).
+.MR ld\-linux.so 8 ).
.\"
.SS Effect on process attributes
All process attributes are preserved during an
@@ -162,42 +162,53 @@ except the following:
.IP \[bu] 3
The dispositions of any signals that are being caught are
reset to the default
-.RB ( signal (7)).
+\%(\c
+.MR signal 7 ).
.IP \[bu]
Any alternate signal stack is not preserved
-.RB ( sigaltstack (2)).
+\%(\c
+.MR sigaltstack 2 ).
.IP \[bu]
Memory mappings are not preserved
-.RB ( mmap (2)).
+\%(\c
+.MR mmap 2 ).
.IP \[bu]
Attached System\ V shared memory segments are detached
-.RB ( shmat (2)).
+\%(\c
+.MR shmat 2 ).
.IP \[bu]
POSIX shared memory regions are unmapped
-.RB ( shm_open (3)).
+\%(\c
+.MR shm_open 3 ).
.IP \[bu]
Open POSIX message queue descriptors are closed
-.RB ( mq_overview (7)).
+\%(\c
+.MR mq_overview 7 ).
.IP \[bu]
Any open POSIX named semaphores are closed
-.RB ( sem_overview (7)).
+\%(\c
+.MR sem_overview 7 ).
.IP \[bu]
POSIX timers are not preserved
-.RB ( timer_create (2)).
+\%(\c
+.MR timer_create 2 ).
.IP \[bu]
Any open directory streams are closed
-.RB ( opendir (3)).
+\%(\c
+.MR opendir 3 ).
.IP \[bu]
Memory locks are not preserved
-.RB ( mlock (2),
-.BR mlockall (2)).
+\%(\c
+.MR mlock 2 ,
+.MR mlockall 2 ).
.IP \[bu]
Exit handlers are not preserved
-.RB ( atexit (3),
-.BR on_exit (3)).
+\%(\c
+.MR atexit 3 ,
+.MR on_exit 3 ).
.IP \[bu]
The floating-point environment is reset to the default (see
-.BR fenv (3)).
+.MR fenv 3 ).
.P
The process attributes in the preceding list are all specified
in POSIX.1.
@@ -213,29 +224,29 @@ in which case the dumpable flag may instead be reset to the value in
in the circumstances described under
.B PR_SET_DUMPABLE
in
-.BR prctl (2).
+.MR prctl 2 .
Note that changes to the "dumpable" attribute may cause ownership
of files in the process's
.IR /proc/ pid
directory to change to
.IR root:root ,
as described in
-.BR proc (5).
+.MR proc 5 .
.IP \[bu]
The
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_KEEPCAPS
flag is cleared.
.IP \[bu]
(Since Linux 2.4.36 / 2.6.23)
If a set-user-ID or set-group-ID program is being executed,
then the parent death signal set by
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_PDEATHSIG
flag is cleared.
.IP \[bu]
The process name, as set by
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_NAME
(and displayed by
.IR "ps\ \-o comm" ),
@@ -246,17 +257,17 @@ The
.I securebits
flag is cleared.
See
-.BR capabilities (7).
+.MR capabilities 7 .
.IP \[bu]
The termination signal is reset to
.B SIGCHLD
(see
-.BR clone (2)).
+.MR clone 2 ).
.IP \[bu]
The file descriptor table is unshared, undoing the effect of the
.B CLONE_FILES
flag of
-.BR clone (2).
+.MR clone 2 .
.P
Note the following further points:
.IP \[bu] 3
@@ -276,13 +287,14 @@ then an implementation may leave the disposition unchanged or
reset it to the default; Linux does the former.
.IP \[bu]
Any outstanding asynchronous I/O operations are canceled
-.RB ( aio_read (3),
-.BR aio_write (3)).
+\%(\c
+.MR aio_read 3 ,
+.MR aio_write 3 ).
.IP \[bu]
For the handling of capabilities during
.BR execve (),
see
-.BR capabilities (7).
+.MR capabilities 7 .
.IP \[bu]
By default, file descriptors remain open across an
.BR execve ().
@@ -290,11 +302,11 @@ File descriptors that are marked close-on-exec are closed;
see the description of
.B FD_CLOEXEC
in
-.BR fcntl (2).
+.MR fcntl 2 .
(If a file descriptor is closed, this will cause the release
of all record locks obtained on the underlying file by this process.
See
-.BR fcntl (2)
+.MR fcntl 2
for details.)
POSIX.1 says that if file descriptors 0, 1, and 2 would
otherwise be closed after a successful
@@ -395,7 +407,7 @@ On Linux 2.6.23 and later, most architectures support a size limit
derived from the soft
.B RLIMIT_STACK
resource limit (see
-.BR getrlimit (2))
+.MR getrlimit 2 )
that is in force at the time of the
.BR execve ()
call.
@@ -455,7 +467,7 @@ Search permission is denied on a component of the path prefix of
.I pathname
or the name of a script interpreter.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EACCES
The file or a script interpreter is not a regular file.
@@ -474,7 +486,7 @@ Having changed its real UID using one of the
calls, the caller was\[em]and is now still\[em]above its
.B RLIMIT_NPROC
resource limit (see
-.BR setrlimit (2)).
+.MR setrlimit 2 ).
For a more detailed explanation of this error, see NOTES.
.TP
.B EFAULT
@@ -553,7 +565,7 @@ file has the set-user-ID or set-group-ID bit set.
A "capability-dumb" applications would not obtain the full set of
permitted capabilities granted by the executable file.
See
-.BR capabilities (7).
+.MR capabilities 7 .
.TP
.B ETXTBSY
The specified executable was open for writing by one or more processes.
@@ -584,7 +596,7 @@ case the same as Linux.
.\"
.P
POSIX.1 says that values returned by
-.BR sysconf (3)
+.MR sysconf 3
should be invariant over the lifetime of a process.
However, since Linux 2.6.23, if the
.B RLIMIT_STACK
@@ -647,7 +659,7 @@ Since UNIX\ V7, both are NULL.
One sometimes sees
.BR execve ()
(and the related functions described in
-.BR exec (3))
+.MR exec 3 )
described as "executing a
.I new
process" (or similar).
@@ -661,7 +673,7 @@ does is arrange for an existing process (the calling process)
to execute a new program.
.P
Set-user-ID and set-group-ID processes can not be
-.BR ptrace (2)d.
+.MR ptrace 2 d.
.P
The result of mounting a filesystem
.I nosuid
@@ -702,10 +714,10 @@ The
error can occur when a
.I preceding
call to
-.BR setuid (2),
-.BR setreuid (2),
+.MR setuid 2 ,
+.MR setreuid 2 ,
or
-.BR setresuid (2)
+.MR setresuid 2
caused the real user ID of the process to change,
and that change caused the process to exceed its
.B RLIMIT_NPROC
@@ -744,7 +756,7 @@ This kernel logic ensures that the
.B RLIMIT_NPROC
resource limit is still enforced for the
common privileged daemon workflow\[em]namely,
-.BR fork (2)
+.MR fork 2
+
.BR set*uid ()
+
@@ -763,7 +775,7 @@ call succeeds and the kernel clears the
.B PF_NPROC_EXCEEDED
process flag.
The flag is also cleared if a subsequent call to
-.BR fork (2)
+.MR fork 2
by this process succeeds.
.\"
.\" .SH BUGS
@@ -872,18 +884,18 @@ argv[4]: world
.EE
.in
.SH SEE ALSO
-.BR chmod (2),
-.BR execveat (2),
-.BR fork (2),
-.BR get_robust_list (2),
-.BR ptrace (2),
-.BR exec (3),
-.BR fexecve (3),
-.BR getauxval (3),
-.BR getopt (3),
-.BR system (3),
-.BR capabilities (7),
-.BR credentials (7),
-.BR environ (7),
-.BR path_resolution (7),
-.BR ld.so (8)
+.MR chmod 2 ,
+.MR execveat 2 ,
+.MR fork 2 ,
+.MR get_robust_list 2 ,
+.MR ptrace 2 ,
+.MR exec 3 ,
+.MR fexecve 3 ,
+.MR getauxval 3 ,
+.MR getopt 3 ,
+.MR system 3 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR environ 7 ,
+.MR path_resolution 7 ,
+.MR ld.so 8
diff --git a/man2/execveat.2 b/man2/execveat.2
index ff0eb278f..328aad032 100644
--- a/man2/execveat.2
+++ b/man2/execveat.2
@@ -28,7 +28,7 @@ system call executes the program referred to by the combination of
and
.IR pathname .
It operates in exactly the same way as
-.BR execve (2),
+.MR execve 2 ,
except for the differences described in this manual page.
.P
If the pathname given in
@@ -38,7 +38,7 @@ referred to by the file descriptor
.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
-.BR execve (2)
+.MR execve 2
for a relative pathname).
.P
If
@@ -51,7 +51,7 @@ then
.I pathname
is interpreted relative to the current working
directory of the calling process (like
-.BR execve (2)).
+.MR execve 2 ).
.P
If
.I pathname
@@ -79,7 +79,7 @@ If
is an empty string, operate on the file referred to by
.I dirfd
(which may have been obtained using the
-.BR open (2)
+.MR open 2
.B O_PATH
flag).
.TP
@@ -99,7 +99,7 @@ On error, \-1 is returned, and
is set to indicate the error.
.SH ERRORS
The same errors that occur for
-.BR execve (2)
+.MR execve 2
can also occur for
.BR execveat ().
The following additional errors can occur for
@@ -152,11 +152,11 @@ Linux 3.19,
glibc 2.34.
.SH NOTES
In addition to the reasons explained in
-.BR openat (2),
+.MR openat 2 ,
the
.BR execveat ()
system call is also needed to allow
-.BR fexecve (3)
+.MR fexecve 3
to be implemented on systems that do not have the
.I /proc
filesystem mounted.
@@ -185,7 +185,7 @@ is the value given in
.IR pathname .
.P
For the same reasons described in
-.BR fexecve (3),
+.MR fexecve 3 ,
the natural idiom when using
.BR execveat ()
is to set the close-on-exec flag on
@@ -215,6 +215,6 @@ where scripts recursively employ
.\" Subject: [PATCHv10 man-pages 5/5] execveat.2: initial man page.\" for execveat(2
.\" Date: Mon, 24 Nov 2014 11:53:59 +0000
.SH SEE ALSO
-.BR execve (2),
-.BR openat (2),
-.BR fexecve (3)
+.MR execve 2 ,
+.MR openat 2 ,
+.MR fexecve 3
diff --git a/man2/exit_group.2 b/man2/exit_group.2
index ac7cb4243..7bd7cd786 100644
--- a/man2/exit_group.2
+++ b/man2/exit_group.2
@@ -20,7 +20,7 @@ Standard C library
glibc provides no wrapper for
.BR exit_group (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
This system call terminates all threads
in the calling process's thread group.
@@ -32,7 +32,7 @@ Linux.
Linux 2.5.35.
.SH NOTES
Since glibc 2.3, this is the system call invoked when the
-.BR _exit (2)
+.MR _exit 2
wrapper function is called.
.SH SEE ALSO
-.BR _exit (2)
+.MR _exit 2
diff --git a/man2/fallocate.2 b/man2/fallocate.2
index bb2bb0521..d547b8161 100644
--- a/man2/fallocate.2
+++ b/man2/fallocate.2
@@ -24,7 +24,7 @@ Standard C library
This is a nonportable, Linux-specific system call.
For the portable, POSIX.1-specified method of ensuring that space
is allocated for a file, see
-.BR posix_fallocate (3).
+.MR posix_fallocate 3 .
.P
.BR fallocate ()
allows the caller to directly manipulate the allocated disk space
@@ -50,7 +50,7 @@ allocates the disk space within the range specified by
and
.IR len .
The file size (as reported by
-.BR stat (2))
+.MR stat 2 )
will be changed if
.IR offset + len
is greater than the file size.
@@ -60,7 +60,7 @@ and
.I len
that did not contain data before the call will be initialized to zero.
This default behavior closely resembles the behavior of the
-.BR posix_fallocate (3)
+.MR posix_fallocate 3
library function,
and is intended as a method of optimally implementing that function.
.P
@@ -118,7 +118,7 @@ in
.IR mode ;
in other words, even when punching off the end of the file, the file size
(as reported by
-.BR stat (2))
+.MR stat 2 )
does not change.
.P
Not all filesystems support
@@ -133,11 +133,11 @@ ext4 (since Linux 3.0)
.IP \[bu]
Btrfs (since Linux 3.7)
.IP \[bu]
-.BR tmpfs (5)
+.MR tmpfs 5
(since Linux 3.5)
.\" commit 83e4fa9c16e4af7122e31be3eca5d57881d236fe
.IP \[bu]
-.BR gfs2 (5)
+.MR gfs2 5
(since Linux 4.16)
.\" commit 4e56a6411fbce6f859566e17298114c2434391a4
.SS Collapsing file space
@@ -181,7 +181,7 @@ plus
.I len
reaches or passes the end of file, an error is returned;
instead, use
-.BR ftruncate (2)
+.MR ftruncate 2
to truncate a file.
.P
No other flags may be specified in
@@ -282,7 +282,7 @@ If the
.I offset
is equal to or greater than the end of file, an error is returned.
For such operations (i.e., inserting a hole at the end of file),
-.BR ftruncate (2)
+.MR ftruncate 2
should be used.
.P
No other flags may be specified in
@@ -324,7 +324,7 @@ and the current file size+\fIlen\fP exceeds the maximum file size.
.TP
.B EINTR
A signal was caught during execution; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.I offset
@@ -430,7 +430,7 @@ is not supported by the filesystem containing the file referred to by
The file referred to by
.I fd
is marked immutable (see
-.BR chattr (1)).
+.MR chattr 1 ).
.TP
.B EPERM
.I mode
@@ -444,11 +444,11 @@ the file referred to by
.I fd
is marked append-only
(see
-.BR chattr (1)).
+.MR chattr 1 ).
.TP
.B EPERM
The operation was prevented by a file seal; see
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.B ESPIPE
.I fd
@@ -475,7 +475,7 @@ glibc 2.10.
glibc 2.18.
.\" See http://sourceware.org/bugzilla/show_bug.cgi?id=14964
.SH SEE ALSO
-.BR fallocate (1),
-.BR ftruncate (2),
-.BR posix_fadvise (3),
-.BR posix_fallocate (3)
+.MR fallocate 1 ,
+.MR ftruncate 2 ,
+.MR posix_fadvise 3 ,
+.MR posix_fallocate 3
diff --git a/man2/fanotify_init.2 b/man2/fanotify_init.2
index e5f9cbf29..f4929140b 100644
--- a/man2/fanotify_init.2
+++ b/man2/fanotify_init.2
@@ -16,14 +16,14 @@ Standard C library
.fi
.SH DESCRIPTION
For an overview of the fanotify API, see
-.BR fanotify (7).
+.MR fanotify 7 .
.P
.BR fanotify_init ()
initializes a new fanotify group and returns a file descriptor for the event
queue associated with the group.
.P
The file descriptor is used in calls to
-.BR fanotify_mark (2)
+.MR fanotify_mark 2
to specify the files, directories, mounts, or filesystems for which fanotify
events shall be created.
These events are received by reading from the file descriptor.
@@ -38,7 +38,7 @@ monitor the same files.
.P
The number of fanotify groups per user is limited.
See
-.BR fanotify (7)
+.MR fanotify 7
for details about this limit.
.P
The
@@ -101,7 +101,7 @@ on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2).
+.MR open 2 .
.TP
.B FAN_NONBLOCK
Enable the nonblocking flag
@@ -109,14 +109,14 @@ Enable the nonblocking flag
for the file descriptor.
Reading from the file descriptor will not block.
Instead, if no data is available,
-.BR read (2)
+.MR read 2
fails with the error
.BR EAGAIN .
.TP
.B FAN_UNLIMITED_QUEUE
Remove the limit on the number of events in the event queue.
See
-.BR fanotify (7)
+.MR fanotify 7
for details about this limit.
Use of this flag requires the
.B CAP_SYS_ADMIN
@@ -125,7 +125,7 @@ capability.
.B FAN_UNLIMITED_MARKS
Remove the limit on the number of fanotify marks per user.
See
-.BR fanotify (7)
+.MR fanotify 7
for details about this limit.
Use of this flag requires the
.B CAP_SYS_ADMIN
@@ -139,9 +139,9 @@ in the
field of the
.I "struct fanotify_event_metadata"
supplied to
-.BR read (2)
+.MR read 2
(see
-.BR fanotify (7)).
+.MR fanotify 7 ).
Use of this flag requires the
.B CAP_SYS_ADMIN
capability.
@@ -195,7 +195,7 @@ or
is not permitted with this flag and will result in the error
.BR EINVAL .
See
-.BR fanotify (7)
+.MR fanotify 7
for additional details.
.TP
.BR FAN_REPORT_DIR_FID " (since Linux 5.9)"
@@ -228,7 +228,7 @@ Without the
.B FAN_REPORT_FID
flag, no event will be reported.
See
-.BR fanotify (7)
+.MR fanotify 7
for additional details.
.TP
.BR FAN_REPORT_NAME " (since Linux 5.9)"
@@ -274,10 +274,10 @@ is that of the parent directory object and the reported name is the name of a
directory entry where the object was located at the time of the event.
The rationale behind this logic is that the reported directory file handle can
be passed to
-.BR open_by_handle_at (2)
+.MR open_by_handle_at 2
to get an open directory file descriptor and that file descriptor along with
the reported name can be used to call
-.BR fstatat (2).
+.MR fstatat 2 .
The same rule that applies to record type
.B FAN_EVENT_INFO_TYPE_DFID
also applies to record type
@@ -288,7 +288,7 @@ Note that there is no guarantee that the filesystem object will be found at the
location described by the directory entry information at the time the event is
received.
See
-.BR fanotify (7)
+.MR fanotify 7
for additional details.
.TP
.B FAN_REPORT_DFID_NAME
@@ -342,7 +342,7 @@ and will contain a pidfd for the process that
was responsible for generating an event.
A pidfd returned in this information record object is
no different to the pidfd that is returned when calling
-.BR pidfd_open (2).
+.MR pidfd_open 2 .
Usage of this information record are for applications that
may be interested in reliably determining whether
the process responsible for generating an event
@@ -363,7 +363,7 @@ may be supported at some point in the future,
so this restriction may eventually be lifted.
For more details on information records,
see
-.BR fanotify (7).
+.MR fanotify 7 .
.P
The
.I event_f_flags
@@ -373,7 +373,7 @@ that are created for fanotify events.
For details of these flags, see the description of the
.I flags
values in
-.BR open (2).
+.MR open 2 .
.I event_f_flags
includes a multi-bit field for the access mode.
This field can take the following values:
@@ -404,7 +404,7 @@ Enable the close-on-exec flag for the file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.P
The following are also allowable:
@@ -442,7 +442,7 @@ defines all allowable bits for
.B EMFILE
The number of fanotify groups for this user exceeds the limit.
See
-.BR fanotify (7)
+.MR fanotify 7
for details about this limit.
.TP
.B EMFILE
@@ -538,5 +538,5 @@ such as
can be set, and will consequently be set for the file descriptors
returned when reading from the fanotify file descriptor.
.SH SEE ALSO
-.BR fanotify_mark (2),
-.BR fanotify (7)
+.MR fanotify_mark 2 ,
+.MR fanotify 7
diff --git a/man2/fanotify_mark.2 b/man2/fanotify_mark.2
index f3fce0c4e..044e9bd89 100644
--- a/man2/fanotify_mark.2
+++ b/man2/fanotify_mark.2
@@ -18,7 +18,7 @@ Standard C library
.fi
.SH DESCRIPTION
For an overview of the fanotify API, see
-.BR fanotify (7).
+.MR fanotify 7 .
.P
.BR fanotify_mark ()
adds, removes, or modifies an fanotify mark on a filesystem object.
@@ -28,7 +28,7 @@ is to be marked.
The
.I fanotify_fd
argument is a file descriptor returned by
-.BR fanotify_init (2).
+.MR fanotify_init 2 .
.P
.I flags
is a bit mask describing the modification to perform.
@@ -382,7 +382,7 @@ filesystem reports
events.
.IP
See
-.BR fanotify (7)
+.MR fanotify 7
for additional details.
.TP
.BR FAN_MOVED_FROM " (since Linux 5.1)"
@@ -447,10 +447,10 @@ is required.
.TP
.B FAN_ONDIR
Create events for directories\[em]for example, when
-.BR opendir (3),
-.BR readdir (3)
+.MR opendir 3 ,
+.MR readdir 3
(but see BUGS), and
-.BR closedir (3)
+.MR closedir 3
are called.
Without this flag, events are created only for files.
In the context of directory entry events, such as
@@ -463,8 +463,8 @@ specifying the flag
.B FAN_ONDIR
is required in order to create events when subdirectory entries are
modified (i.e.,
-.BR mkdir (2)/
-.BR rmdir (2)).
+.MR mkdir 2 /
+.MR rmdir 2 ).
.TP
.B FAN_EVENT_ON_CHILD
Events for the immediate children of marked directories shall be created.
@@ -543,7 +543,7 @@ then the filesystem object to be marked is determined by interpreting
.I pathname
relative to the current working directory.
(See
-.BR openat (2)
+.MR openat 2
for an explanation of why the
.I dirfd
argument is useful.)
@@ -662,8 +662,8 @@ and
is not associated with a filesystem that supports
.I fsid
(e.g.,
-.BR fuse (4)).
-.BR tmpfs (5)
+.MR fuse 4 ).
+.MR tmpfs 5
did not support
.I fsid
prior to Linux 5.13.
@@ -687,9 +687,9 @@ The necessary memory could not be allocated.
The number of marks for this user exceeds the limit and the
.B FAN_UNLIMITED_MARKS
flag was not specified when the fanotify file descriptor was created with
-.BR fanotify_init (2).
+.MR fanotify_init 2 .
See
-.BR fanotify (7)
+.MR fanotify 7
for details about this limit.
.TP
.B ENOSYS
@@ -748,7 +748,7 @@ that does not support the encoding of file handles.
This error can be returned only with an fanotify group that identifies
filesystem objects by file handles.
Calling
-.BR name_to_handle_at (2)
+.MR name_to_handle_at 2
with the flag
.BR AT_HANDLE_FID " (since Linux 6.5)"
.\" commit 96b2b072ee62be8ae68c8ecf14854c4d0505a8f8
@@ -762,7 +762,7 @@ The operation is not permitted because the caller lacks a required capability.
The filesystem object indicated by
.I pathname
resides within a filesystem subvolume (e.g.,
-.BR btrfs (5))
+.MR btrfs 5 )
which uses a different
.I fsid
than its root superblock.
@@ -785,19 +785,19 @@ events of these types will be returned only when the direct execution of a
program occurs.
More specifically, this means that events of these types will be generated
for files that are opened using
-.BR execve (2),
-.BR execveat (2),
+.MR execve 2 ,
+.MR execveat 2 ,
or
-.BR uselib (2).
+.MR uselib 2 .
Events of these types will not be raised in the situation where an
interpreter is passed (or reads) a file for interpretation.
.P
Additionally, if a mark has also been placed on the Linux dynamic
linker, a user should also expect to receive an event for it when
an ELF object has been successfully opened using
-.BR execve (2)
+.MR execve 2
or
-.BR execveat (2).
+.MR execveat 2 .
.P
For example, if the following ELF binary were to be invoked and a
.B FAN_OPEN_EXEC
@@ -833,7 +833,7 @@ and
must specify a valid filesystem object, even though this object is not used.
.IP \[bu]
.\" Fixed by commit d4c7cf6cffb1bc711a833b5e304ba5bcfe76398b
-.BR readdir (2)
+.MR readdir 2
does not generate a
.B FAN_ACCESS
event.
@@ -846,5 +846,5 @@ is called with
.I flags
is not checked for invalid values.
.SH SEE ALSO
-.BR fanotify_init (2),
-.BR fanotify (7)
+.MR fanotify_init 2 ,
+.MR fanotify 7
diff --git a/man2/fcntl.2 b/man2/fcntl.2
index 4973ab028..b01ed73d3 100644
--- a/man2/fcntl.2
+++ b/man2/fcntl.2
@@ -95,13 +95,13 @@ Duplicate the file descriptor
using the lowest-numbered available file descriptor greater than or equal to
.IR arg .
This is different from
-.BR dup2 (2),
+.MR dup2 2 ,
which uses exactly the file descriptor specified.
.IP
On success, the new file descriptor is returned.
.IP
See
-.BR dup (2)
+.MR dup 2
for further details.
.TP
.BR F_DUPFD_CLOEXEC " (\fIint\fP; since Linux 2.6.24)"
@@ -119,7 +119,7 @@ For an explanation of why this flag is useful,
see the description of
.B O_CLOEXEC
in
-.BR open (2).
+.MR open 2 .
.SS File descriptor flags
The following commands manipulate the flags associated with
a file descriptor.
@@ -130,14 +130,14 @@ If the
.B FD_CLOEXEC
bit is set,
the file descriptor will automatically be closed during a successful
-.BR execve (2).
+.MR execve 2 .
(If the
-.BR execve (2)
+.MR execve 2
fails, the file descriptor is left open.)
If the
.B FD_CLOEXEC
bit is not set, the file descriptor will remain open across an
-.BR execve (2).
+.MR execve 2 .
.TP
.BR F_GETFD " (\fIvoid\fP)"
Return (as the function result) the file descriptor flags;
@@ -152,34 +152,34 @@ In multithreaded programs, using
.BR fcntl ()
.B F_SETFD
to set the close-on-exec flag at the same time as another thread performs a
-.BR fork (2)
+.MR fork 2
plus
-.BR execve (2)
+.MR execve 2
is vulnerable to a race condition that may unintentionally leak
the file descriptor to the program executed in the child process.
See the discussion of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for details and a remedy to the problem.
.SS File status flags
Each open file description has certain associated status flags,
initialized by
-.BR open (2)
+.MR open 2
.\" or
.\" .BR creat (2),
and possibly modified by
.BR fcntl ().
Duplicated file descriptors
(made with
-.BR dup (2),
+.MR dup 2 ,
.BR fcntl (F_DUPFD),
-.BR fork (2),
+.MR fork 2 ,
etc.) refer to the same open file description, and thus
share the same file status flags.
.P
The file status flags and their semantics are described in
-.BR open (2).
+.MR open 2 .
.TP
.BR F_GETFL " (\fIvoid\fP)"
Return (as the function result)
@@ -355,7 +355,7 @@ returns immediately (with return value \-1 and
set to
.BR EINTR ;
see
-.BR signal (7)).
+.MR signal 7 ).
.TP
.BR F_GETLK " (\fIstruct flock *\fP)"
On input to this call,
@@ -424,17 +424,17 @@ As well as being removed by an explicit
record locks are automatically released when the process terminates.
.P
Record locks are not inherited by a child created via
-.BR fork (2),
+.MR fork 2 ,
but are preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
Because of the buffering performed by the
-.BR stdio (3)
+.MR stdio 3
library, the use of record locking with routines in that package
should be avoided; use
-.BR read (2)
+.MR read 2
and
-.BR write (2)
+.MR write 2
instead.
.P
The record locks described above are associated with the process
@@ -473,7 +473,7 @@ and available since Linux 3.15.
.\" http://austingroupbugs.net/view.php?id=768
to include this lock type in the next revision of POSIX.1.)
For an explanation of open file descriptions, see
-.BR open (2).
+.MR open 2 .
.P
The principal difference between the two lock types
is that whereas traditional record locks
@@ -481,12 +481,12 @@ are associated with a process,
open file description locks are associated with the
open file description on which they are acquired,
much like locks acquired with
-.BR flock (2).
+.MR flock 2 .
Consequently (and unlike traditional advisory record locks),
open file description locks are inherited across
-.BR fork (2)
+.MR fork 2
(and
-.BR clone (2)
+.MR clone 2
with
.BR CLONE_FILES ),
and are only automatically released on the last close
@@ -502,8 +502,8 @@ even when they are acquired by the same process on the same file descriptor.
Open file description locks placed via the same open file description
(i.e., via the same file descriptor,
or via a duplicate of the file descriptor created by
-.BR fork (2),
-.BR dup (2),
+.MR fork 2 ,
+.MR dup 2 ,
.BR fcntl ()
.BR F_DUPFD ,
and so on) are always compatible:
@@ -517,7 +517,7 @@ each other when they are acquired via different open file descriptions.
Thus, the threads in a multithreaded program can use
open file description locks to synchronize access to a file region
by having each thread perform its own
-.BR open (2)
+.MR open 2
on the file and applying locks via the resulting file descriptor.
.P
As with traditional advisory locks, the third argument to
@@ -567,7 +567,7 @@ and (after the signal handler has returned) returns immediately
set to
.BR EINTR ;
see
-.BR signal (7)).
+.MR signal 7 ).
.TP
.BR F_OFD_GETLK " (\fIstruct flock *\fP)"
On input to this call,
@@ -613,9 +613,9 @@ cooperating processes.
Both lock types can also be mandatory.
Mandatory locks are enforced for all processes.
If a process tries to perform an incompatible access (e.g.,
-.BR read (2)
+.MR read 2
or
-.BR write (2))
+.MR write 2 )
on a file region that has an incompatible mandatory lock,
then the result depends upon whether the
.B O_NONBLOCK
@@ -635,17 +635,17 @@ both on the filesystem that contains the file to be locked,
and on the file itself.
Mandatory locking is enabled on a filesystem
using the "\-o mand" option to
-.BR mount (8),
+.MR mount 8 ,
or the
.B MS_MANDLOCK
flag for
-.BR mount (2).
+.MR mount 2 .
Mandatory locking is enabled on a file by disabling
group execute permission on the file and enabling the set-group-ID
permission bit (see
-.BR chmod (1)
+.MR chmod 1
and
-.BR chmod (2)).
+.MR chmod 2 ).
.P
Mandatory locking is not specified by POSIX.
Some other systems also support mandatory locking,
@@ -660,9 +660,9 @@ which lasts long enough for the server to assume
that the client is no longer functioning.
.P
When the filesystem determines that a lock has been lost, future
-.BR read (2)
+.MR read 2
or
-.BR write (2)
+.MR write 2
requests may fail with the error
.BR EIO .
This error will persist until the lock is removed or the file
@@ -715,7 +715,7 @@ Most commonly, the calling process specifies itself as the owner
(that is,
.I arg
is specified as
-.BR getpid (2)).
+.MR getpid 2 ).
.IP
As well as setting the file descriptor owner,
one must also enable generation of signals on the file descriptor.
@@ -738,7 +738,7 @@ command can be used to obtain delivery of a signal other than
Sending a signal to the owner process (group) specified by
.B F_SETOWN
is subject to the same permissions checks as are described for
-.BR kill (2),
+.MR kill 2 ,
where the sending process is the one that employs
.B F_SETOWN
(but see BUGS below).
@@ -763,7 +763,7 @@ signals that are delivered when out-of-band
data arrives on that socket.
.RB ( SIGURG
is sent in any situation where
-.BR select (2)
+.MR select 2
would report the socket as having an "exceptional condition".)
.\" The following appears to be rubbish. It doesn't seem to
.\" be true according to the kernel source, and I can write
@@ -793,18 +793,18 @@ it is a thread ID identifying a specific thread within a process.
Consequently, it may be necessary to pass
.B F_SETOWN
the result of
-.BR gettid (2)
+.MR gettid 2
instead of
-.BR getpid (2)
+.MR getpid 2
to get sensible results when
.B F_SETSIG
is used.
(In current Linux threading implementations,
a main thread's thread ID is the same as its process ID.
This means that a single-threaded program can equally use
-.BR gettid (2)
+.MR gettid 2
or
-.BR getpid (2)
+.MR getpid 2
in this scenario.)
Note, however, that the statements in this paragraph do not apply
to the
@@ -882,9 +882,9 @@ is interpreted:
.B F_OWNER_TID
Send the signal to the thread whose thread ID
(the value returned by a call to
-.BR clone (2)
+.MR clone 2
or
-.BR gettid (2))
+.MR gettid 2 )
is specified in
.IR pid .
.TP
@@ -946,7 +946,7 @@ with a nonzero value, and setting
.B SA_SIGINFO
for the
signal handler (see
-.BR sigaction (2)),
+.MR sigaction 2 ),
extra information about I/O events is passed to
the handler in a
.I siginfo_t
@@ -961,9 +961,10 @@ field gives the file descriptor associated with the event.
Otherwise,
there is no indication which file descriptors are pending, and you
should use the usual mechanisms
-.RB ( select (2),
-.BR poll (2),
-.BR read (2)
+\%(\c
+.MR select 2 ,
+.MR poll 2 ,
+.MR read 2
with
.B O_NONBLOCK
set etc.) to determine which file descriptors are available for I/O.
@@ -993,9 +994,9 @@ is set for the signal handler, as above.
Note that Linux imposes a limit on the
number of real-time signals that may be queued to a
process (see
-.BR getrlimit (2)
+.MR getrlimit 2
and
-.BR signal (7))
+.MR signal 7 )
and if this limit is reached, then the kernel reverts to
delivering
.BR SIGIO ,
@@ -1005,9 +1006,9 @@ process rather than to a specific thread.
.P
Using these mechanisms, a program can implement fully asynchronous I/O
without using
-.BR select (2)
+.MR select 2
or
-.BR poll (2)
+.MR poll 2
most of the time.
.P
The use of
@@ -1044,9 +1045,9 @@ referred to by the file descriptor
A file lease provides a mechanism whereby the process holding
the lease (the "lease holder") is notified (via delivery of a signal)
when a process (the "lease breaker") tries to
-.BR open (2)
+.MR open 2
or
-.BR truncate (2)
+.MR truncate 2
the file referred to by that file descriptor.
.TP
.BR F_SETLEASE " (\fIint\fP)"
@@ -1076,11 +1077,11 @@ Remove our lease from the file.
.RE
.P
Leases are associated with an open file description (see
-.BR open (2)).
+.MR open 2 ).
This means that duplicate file descriptors (created by, for example,
-.BR fork (2)
+.MR fork 2
or
-.BR dup (2))
+.MR dup 2 )
refer to the same lease, and this lease may be modified
or released using any of these descriptors.
Furthermore, the lease is released by either an explicit
@@ -1105,9 +1106,9 @@ indicating, respectively, a read lease , a write lease, or no lease.
is ignored.
.P
When a process (the "lease breaker") performs an
-.BR open (2)
+.MR open 2
or
-.BR truncate (2)
+.MR truncate 2
that conflicts with a lease established via
.BR F_SETLEASE ,
the system call is blocked by the kernel and
@@ -1155,22 +1156,22 @@ and assuming the lease breaker has not unblocked its system call,
the kernel permits the lease breaker's system call to proceed.
.P
If the lease breaker's blocked
-.BR open (2)
+.MR open 2
or
-.BR truncate (2)
+.MR truncate 2
is interrupted by a signal handler,
then the system call fails with the error
.BR EINTR ,
but the other steps still occur as described above.
If the lease breaker is killed by a signal while blocked in
-.BR open (2)
+.MR open 2
or
-.BR truncate (2),
+.MR truncate 2 ,
then the other steps still occur as described above.
If the lease breaker specifies the
.B O_NONBLOCK
flag when calling
-.BR open (2),
+.MR open 2 ,
then the call immediately fails with the error
.BR EWOULDBLOCK ,
but the other steps still occur as described above.
@@ -1212,48 +1213,54 @@ the following bits:
.TP
.B DN_ACCESS
A file was accessed
-.RB ( read (2),
-.BR pread (2),
-.BR readv (2),
+\%(\c
+.MR read 2 ,
+.MR pread 2 ,
+.MR readv 2 ,
and similar)
.TP
.B DN_MODIFY
A file was modified
-.RB ( write (2),
-.BR pwrite (2),
-.BR writev (2),
-.BR truncate (2),
-.BR ftruncate (2),
+\%(\c
+.MR write 2 ,
+.MR pwrite 2 ,
+.MR writev 2 ,
+.MR truncate 2 ,
+.MR ftruncate 2 ,
and similar).
.TP
.B DN_CREATE
A file was created
-.RB ( open (2),
-.BR creat (2),
-.BR mknod (2),
-.BR mkdir (2),
-.BR link (2),
-.BR symlink (2),
-.BR rename (2)
+\%(\c
+.MR open 2 ,
+.MR creat 2 ,
+.MR mknod 2 ,
+.MR mkdir 2 ,
+.MR link 2 ,
+.MR symlink 2 ,
+.MR rename 2
into this directory).
.TP
.B DN_DELETE
A file was unlinked
-.RB ( unlink (2),
-.BR rename (2)
+\%(\c
+.MR unlink 2 ,
+.MR rename 2
to another directory,
-.BR rmdir (2)).
+.MR rmdir 2 ).
.TP
.B DN_RENAME
A file was renamed within this directory
-.RB ( rename (2)).
+\%(\c
+.MR rename 2 ).
.TP
.B DN_ATTRIB
The attributes of a file were changed
-.RB ( chown (2),
-.BR chmod (2),
-.BR utime (2),
-.BR utimensat (2),
+\%(\c
+.MR chown 2 ,
+.MR chmod 2 ,
+.MR utime 2 ,
+.MR utimensat 2 ,
and similar).
.PD
.RE
@@ -1319,7 +1326,7 @@ interface (available since Linux 2.6.13),
which provides a much superior interface for obtaining notifications of
filesystem events.
See
-.BR inotify (7).
+.MR inotify 7 .
.SS Changing the capacity of a pipe
.TP
.BR F_SETPIPE_SZ " (\fIint\fP; since Linux 2.6.35)"
@@ -1332,7 +1339,7 @@ An unprivileged process can adjust the pipe capacity to any value
between the system page size and the limit defined in
.I /proc/sys/fs/pipe\-max\-size
(see
-.BR proc (5)).
+.MR proc 5 ).
Attempts to set the pipe capacity below the page size are silently
rounded up to the page size.
Attempts by an unprivileged process to set the pipe capacity above the limit in
@@ -1376,11 +1383,11 @@ The default set of seals depends on the type of the underlying
file and filesystem.
For an overview of file sealing, a discussion of its purpose,
and some code examples, see
-.BR memfd_create (2).
+.MR memfd_create 2 .
.P
Currently,
file seals can be applied only to a file descriptor returned by
-.BR memfd_create (2)
+.MR memfd_create 2
(if the
.B MFD_ALLOW_SEALING
was employed).
@@ -1439,13 +1446,13 @@ then this effectively causes the set of seals to be constant and locked.
.B F_SEAL_SHRINK
If this seal is set, the file in question cannot be reduced in size.
This affects
-.BR open (2)
+.MR open 2
with the
.B O_TRUNC
flag as well as
-.BR truncate (2)
+.MR truncate 2
and
-.BR ftruncate (2).
+.MR ftruncate 2 .
Those calls fail with
.B EPERM
if you try to shrink the file in question.
@@ -1454,12 +1461,12 @@ Increasing the file size is still possible.
.B F_SEAL_GROW
If this seal is set, the size of the file in question cannot be increased.
This affects
-.BR write (2)
+.MR write 2
beyond the end of the file,
-.BR truncate (2),
-.BR ftruncate (2),
+.MR truncate 2 ,
+.MR ftruncate 2 ,
and
-.BR fallocate (2).
+.MR fallocate 2 .
These calls fail with
.B EPERM
if you use them to increase the file size.
@@ -1479,9 +1486,9 @@ still possible and allowed.
.\"
Thus, this seal is normally used in combination with one of the other seals.
This seal affects
-.BR write (2)
+.MR write 2
and
-.BR fallocate (2)
+.MR fallocate 2
(only in combination with the
.B FALLOC_FL_PUNCH_HOLE
flag).
@@ -1489,7 +1496,7 @@ Those calls fail with
.B EPERM
if this seal is set.
Furthermore, trying to create new shared, writable memory-mappings via
-.BR mmap (2)
+.MR mmap 2
will also fail with
.BR EPERM .
.IP
@@ -1502,7 +1509,8 @@ seal fails with
if any writable, shared mapping exists.
Such mappings must be unmapped before you can add this seal.
Furthermore, if there are any asynchronous I/O operations
-.RB ( io_submit (2))
+\%(\c
+.MR io_submit 2 )
pending on the file,
all outstanding writes will be discarded.
.TP
@@ -1512,11 +1520,11 @@ The effect of this seal is similar to
but the contents of the file can still be modified via
shared writable mappings that were created prior to the seal being set.
Any attempt to create a new writable mapping on the file via
-.BR mmap (2)
+.MR mmap 2
will fail with
.BR EPERM .
Likewise, an attempt to write to the file via
-.BR write (2)
+.MR write 2
will fail with
.BR EPERM .
.IP
@@ -1529,7 +1537,7 @@ Write lifetime hints can be used to inform the kernel about the relative
expected lifetime of writes on a given inode or
via a particular open file description.
(See
-.BR open (2)
+.MR open 2
for an explanation of open file descriptions.)
In this context, the term "write lifetime" means
the expected time the data will live on media, before
@@ -1702,7 +1710,7 @@ is
or
.B F_OFD_SETLKW
and the operation was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINTR
.I cmd
@@ -1750,7 +1758,7 @@ is negative or is greater than the maximum allowable value
(see the discussion of
.B RLIMIT_NOFILE
in
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.B EINVAL
.I cmd
@@ -1795,7 +1803,7 @@ does not refer to a directory.
is
.B F_SETPIPE_SZ
and the soft or hard user pipe limit has been reached; see
-.BR pipe (7).
+.MR pipe 7 .
.TP
.B EPERM
Attempted to clear the
@@ -1881,7 +1889,7 @@ with the value 200809L or greater, or
with the value 700 or greater.)
.SH NOTES
The errors returned by
-.BR dup2 (2)
+.MR dup2 2
are different from those returned by
.BR F_DUPFD .
.\"
@@ -1910,7 +1918,7 @@ where it is available.
.SS Record locks
Since Linux 2.0, there is no interaction between the types of lock
placed by
-.BR flock (2)
+.MR flock 2
and
.BR fcntl ().
.P
@@ -2063,7 +2071,7 @@ meaning that circular deadlock chains that exceed
that size will not be detected.
In addition, the kernel may falsely indicate a deadlock
when two or more processes created using the
-.BR clone (2)
+.MR clone 2
.B CLONE_FILES
flag place locks that appear (to the kernel) to conflict.
.\"
@@ -2079,25 +2087,25 @@ is subject to race conditions which render it unreliable:
.\" Date: 2014-04-28 10:07:57 GMT
.\" http://thread.gmane.org/gmane.linux.file-systems/84481/focus=84518
a
-.BR write (2)
+.MR write 2
call that overlaps with a lock may modify data after the mandatory lock is
acquired;
a
-.BR read (2)
+.MR read 2
call that overlaps with a lock may detect changes to data that were made
only after a write lock was acquired.
Similar races exist between mandatory locks and
-.BR mmap (2).
+.MR mmap 2 .
It is therefore inadvisable to rely on mandatory locking.
.SH SEE ALSO
-.BR dup2 (2),
-.BR flock (2),
-.BR open (2),
-.BR socket (2),
-.BR lockf (3),
-.BR capabilities (7),
-.BR feature_test_macros (7),
-.BR lslocks (8)
+.MR dup2 2 ,
+.MR flock 2 ,
+.MR open 2 ,
+.MR socket 2 ,
+.MR lockf 3 ,
+.MR capabilities 7 ,
+.MR feature_test_macros 7 ,
+.MR lslocks 8
.P
.IR locks.txt ,
.IR mandatory\-locking.txt ,
diff --git a/man2/flock.2 b/man2/flock.2
index 279c983ad..60581783b 100644
--- a/man2/flock.2
+++ b/man2/flock.2
@@ -59,11 +59,11 @@ A single file may not simultaneously have both shared and exclusive locks.
Locks created by
.BR flock ()
are associated with an open file description (see
-.BR open (2)).
+.MR open 2 ).
This means that duplicate file descriptors (created by, for example,
-.BR fork (2)
+.MR fork 2
or
-.BR dup (2))
+.MR dup 2 )
refer to the same lock, and this lock may be modified
or released using any of these file descriptors.
Furthermore, the lock is released either by an explicit
@@ -72,7 +72,7 @@ operation on any of these duplicate file descriptors, or when all
such file descriptors have been closed.
.P
If a process uses
-.BR open (2)
+.MR open 2
(or similar) to obtain more than one file descriptor for the same file,
these file descriptors are treated independently by
.BR flock ().
@@ -90,7 +90,7 @@ lock mode.
Locks created by
.BR flock ()
are preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
A shared or exclusive lock can be placed on a file regardless of the
mode in which the file was opened.
@@ -108,7 +108,7 @@ is not an open file descriptor.
.B EINTR
While waiting to acquire a lock, the call was interrupted by
delivery of a signal caught by a handler; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.I operation
@@ -126,13 +126,13 @@ Since Linux 2.0,
.BR flock ()
is implemented as a system call in its own right rather
than being emulated in the GNU C library as a call to
-.BR fcntl (2).
+.MR fcntl 2 .
With this implementation,
there is no interaction between the types of lock
placed by
.BR flock ()
and
-.BR fcntl (2),
+.MR fcntl 2 ,
and
.BR flock ()
does not detect deadlock.
@@ -140,7 +140,7 @@ does not detect deadlock.
.\" E.g., according to the flock(2) man page, FreeBSD since at least 5.3
.BR flock ()
and
-.BR fcntl (2)
+.MR fcntl 2
locks
.I do
interact with one another.)
@@ -154,7 +154,7 @@ Since Linux 5.5,
.BR flock ()
locks are emulated with SMB byte-range locks on the entire file.
Similarly to NFS, this means that
-.BR fcntl (2)
+.MR fcntl 2
and
.BR flock ()
locks interact with one another.
@@ -168,7 +168,7 @@ which provides mandatory locking semantics.
Remote and mandatory locking semantics may vary with
SMB protocol, mount options and server type.
See
-.BR mount.cifs (8)
+.MR mount.cifs 8
for additional information.
.SH STANDARDS
BSD.
@@ -179,7 +179,7 @@ call first appeared in 4.2BSD).
A version of
.BR flock (),
possibly implemented in terms of
-.BR fcntl (2),
+.MR fcntl 2 ,
appears on most UNIX systems.
.SS NFS details
Up to Linux 2.6.11,
@@ -187,7 +187,7 @@ Up to Linux 2.6.11,
does not lock files over NFS
(i.e., the scope of locks was limited to the local system).
Instead, one could use
-.BR fcntl (2)
+.MR fcntl 2
byte-range locking, which does work over NFS,
given a sufficiently recent version of
Linux and a server which supports locking.
@@ -195,10 +195,10 @@ Linux and a server which supports locking.
Since Linux 2.6.12, NFS clients support
.BR flock ()
locks by emulating them as
-.BR fcntl (2)
+.MR fcntl 2
byte-range locks on the entire file.
This means that
-.BR fcntl (2)
+.MR fcntl 2
and
.BR flock ()
locks
@@ -212,12 +212,12 @@ Since Linux 2.6.37,
the kernel supports a compatibility mode that allows
.BR flock ()
locks (and also
-.BR fcntl (2)
+.MR fcntl 2
byte region locks) to be treated as local;
see the discussion of the
.I "local_lock"
option in
-.BR nfs (5).
+.MR nfs 5 .
.SH NOTES
.BR flock ()
places advisory locks only; given suitable permissions on a file,
@@ -227,13 +227,13 @@ and perform I/O on the file.
.P
.BR flock ()
and
-.BR fcntl (2)
+.MR fcntl 2
locks have different semantics with respect to forked processes and
-.BR dup (2).
+.MR dup 2 .
On systems that implement
.BR flock ()
using
-.BR fcntl (2),
+.MR fcntl 2 ,
the semantics of
.BR flock ()
will be different from those described in this manual page.
@@ -251,15 +251,15 @@ and occurs on many other implementations.)
.\" Kernel 2.5.21 changed things a little: during lock conversion
.\" it is now the highest priority process that will get the lock -- mtk
.SH SEE ALSO
-.BR flock (1),
-.BR close (2),
-.BR dup (2),
-.BR execve (2),
-.BR fcntl (2),
-.BR fork (2),
-.BR open (2),
-.BR lockf (3),
-.BR lslocks (8)
+.MR flock 1 ,
+.MR close 2 ,
+.MR dup 2 ,
+.MR execve 2 ,
+.MR fcntl 2 ,
+.MR fork 2 ,
+.MR open 2 ,
+.MR lockf 3 ,
+.MR lslocks 8
.P
.I Documentation/filesystems/locks.txt
in the Linux kernel source tree
diff --git a/man2/fork.2 b/man2/fork.2
index b5a7816a0..cba4ebc96 100644
--- a/man2/fork.2
+++ b/man2/fork.2
@@ -43,9 +43,11 @@ At the time of
.BR fork ()
both memory spaces have the same content.
Memory writes, file mappings
-.RB ( mmap (2)),
+\%(\c
+.MR mmap 2 ),
and unmappings
-.RB ( munmap (2))
+\%(\c
+.MR munmap 2 )
performed by one of the processes do not affect the other.
.P
The child process is an exact duplicate of the parent
@@ -53,46 +55,55 @@ process except for the following points:
.IP \[bu] 3
The child has its own unique process ID,
and this PID does not match the ID of any existing process group
-.RB ( setpgid (2))
+\%(\c
+.MR setpgid 2 )
or session.
.IP \[bu]
The child's parent process ID is the same as the parent's process ID.
.IP \[bu]
The child does not inherit its parent's memory locks
-.RB ( mlock (2),
-.BR mlockall (2)).
+\%(\c
+.MR mlock 2 ,
+.MR mlockall 2 ).
.IP \[bu]
Process resource utilizations
-.RB ( getrusage (2))
+\%(\c
+.MR getrusage 2 )
and CPU time counters
-.RB ( times (2))
+\%(\c
+.MR times 2 )
are reset to zero in the child.
.IP \[bu]
The child's set of pending signals is initially empty
-.RB ( sigpending (2)).
+\%(\c
+.MR sigpending 2 ).
.IP \[bu]
The child does not inherit semaphore adjustments from its parent
-.RB ( semop (2)).
+\%(\c
+.MR semop 2 ).
.IP \[bu]
The child does not inherit process-associated record locks from its parent
-.RB ( fcntl (2)).
+\%(\c
+.MR fcntl 2 ).
(On the other hand, it does inherit
-.BR fcntl (2)
+.MR fcntl 2
open file description locks and
-.BR flock (2)
+.MR flock 2
locks from its parent.)
.IP \[bu]
The child does not inherit timers from its parent
-.RB ( setitimer (2),
-.BR alarm (2),
-.BR timer_create (2)).
+\%(\c
+.MR setitimer 2 ,
+.MR alarm 2 ,
+.MR timer_create 2 ).
.IP \[bu]
The child does not inherit outstanding asynchronous I/O operations
from its parent
-.RB ( aio_read (3),
-.BR aio_write (3)),
+\%(\c
+.MR aio_read 3 ,
+.MR aio_write 3 ),
nor does it inherit any asynchronous I/O contexts from its parent (see
-.BR io_setup (2)).
+.MR io_setup 2 ).
.P
The process attributes in the preceding list are all specified
in POSIX.1.
@@ -104,10 +115,10 @@ from its parent
(see the description of
.B F_NOTIFY
in
-.BR fcntl (2)).
+.MR fcntl 2 ).
.IP \[bu]
The
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_PDEATHSIG
setting is reset so that the child does not receive a signal
when its parent terminates.
@@ -117,16 +128,16 @@ current timer slack value.
See the description of
.B PR_SET_TIMERSLACK
in
-.BR prctl (2).
+.MR prctl 2 .
.IP \[bu]
Memory mappings that have been marked with the
-.BR madvise (2)
+.MR madvise 2
.B MADV_DONTFORK
flag are not inherited across a
.BR fork ().
.IP \[bu]
Memory in address ranges that have been marked with the
-.BR madvise (2)
+.MR madvise 2
.B MADV_WIPEONFORK
flag is zeroed in the child after a
.BR fork ().
@@ -137,13 +148,13 @@ setting remains in place for those address ranges in the child.)
The termination signal of the child is always
.B SIGCHLD
(see
-.BR clone (2)).
+.MR clone 2 ).
.IP \[bu]
The port access permission bits set by
-.BR ioperm (2)
+.MR ioperm 2
are not inherited by the child;
the child must turn on any bits that it requires using
-.BR ioperm (2).
+.MR ioperm 2 .
.P
Note the following further points:
.IP \[bu] 3
@@ -153,21 +164,21 @@ one that called
The entire virtual address space of the parent is replicated in the child,
including the states of mutexes, condition variables,
and other pthreads objects; the use of
-.BR pthread_atfork (3)
+.MR pthread_atfork 3
may be helpful for dealing with problems that this can cause.
.IP \[bu]
After a
.BR fork ()
in a multithreaded program,
the child can safely call only async-signal-safe functions (see
-.BR signal\-safety (7))
+.MR signal\-safety 7 )
until such time as it calls
-.BR execve (2).
+.MR execve 2 .
.IP \[bu]
The child inherits copies of the parent's set of open file descriptors.
Each file descriptor in the child refers to the same
open file description (see
-.BR open (2))
+.MR open 2 )
as the corresponding file descriptor in the parent.
This means that the two file descriptors share open file status flags,
file offset,
@@ -176,11 +187,11 @@ and signal-driven I/O attributes (see the description of
and
.B F_SETSIG
in
-.BR fcntl (2)).
+.MR fcntl 2 ).
.IP \[bu]
The child inherits copies of the parent's set of open message
queue descriptors (see
-.BR mq_overview (7)).
+.MR mq_overview 7 ).
Each file descriptor in the child refers to the same
open message queue description
as the corresponding file descriptor in the parent.
@@ -188,7 +199,7 @@ This means that the two file descriptors share the same flags
.RI ( mq_flags ).
.IP \[bu]
The child inherits copies of the parent's set of open directory streams (see
-.BR opendir (3)).
+.MR opendir 3 ).
POSIX.1 says that the corresponding directory streams
in the parent and child
.I may
@@ -212,19 +223,19 @@ There are a number of limits that may trigger this error:
the
.B RLIMIT_NPROC
soft resource limit (set via
-.BR setrlimit (2)),
+.MR setrlimit 2 ),
which limits the number of processes and threads for a real user ID,
was reached;
.IP \[bu]
the kernel's system-wide limit on the number of processes and threads,
.IR /proc/sys/kernel/threads\-max ,
was reached (see
-.BR proc (5));
+.MR proc 5 );
.IP \[bu]
the maximum number of PIDs,
.IR /proc/sys/kernel/pid_max ,
was reached (see
-.BR proc (5));
+.MR proc 5 );
or
.IP \[bu]
the PID limit
@@ -237,7 +248,7 @@ The caller is operating under the
.B SCHED_DEADLINE
scheduling policy and does not have the reset-on-fork flag set.
See
-.BR sched (7).
+.MR sched 7 .
.TP
.B ENOMEM
.BR fork ()
@@ -247,7 +258,7 @@ failed to allocate the necessary kernel structures because memory is tight.
An attempt was made to create a child process in a PID namespace
whose "init" process has terminated.
See
-.BR pid_namespaces (7).
+.MR pid_namespaces 7 .
.TP
.B ENOSYS
.BR fork ()
@@ -270,19 +281,19 @@ the glibc
.BR fork ()
wrapper that is provided as part of the
NPTL threading implementation invokes
-.BR clone (2)
+.MR clone 2
with flags that provide the same effect as the traditional system call.
(A call to
.BR fork ()
is equivalent to a call to
-.BR clone (2)
+.MR clone 2
specifying
.I flags
as just
.BR SIGCHLD .)
The glibc wrapper invokes any fork handlers that have been
established using
-.BR pthread_atfork (3).
+.MR pthread_atfork 3 .
.\" and does some magic to ensure that getpid(2) returns the right value.
.SH STANDARDS
POSIX.1-2008.
@@ -296,9 +307,9 @@ is the time and memory required to duplicate the parent's page tables,
and to create a unique task structure for the child.
.SH EXAMPLES
See
-.BR pipe (2)
+.MR pipe 2
and
-.BR wait (2)
+.MR wait 2
for more examples.
.P
.\" SRC BEGIN (fork.c)
@@ -335,14 +346,14 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR clone (2),
-.BR execve (2),
-.BR exit (2),
-.BR setrlimit (2),
-.BR unshare (2),
-.BR vfork (2),
-.BR wait (2),
-.BR daemon (3),
-.BR pthread_atfork (3),
-.BR capabilities (7),
-.BR credentials (7)
+.MR clone 2 ,
+.MR execve 2 ,
+.MR exit 2 ,
+.MR setrlimit 2 ,
+.MR unshare 2 ,
+.MR vfork 2 ,
+.MR wait 2 ,
+.MR daemon 3 ,
+.MR pthread_atfork 3 ,
+.MR capabilities 7 ,
+.MR credentials 7
diff --git a/man2/fsync.2 b/man2/fsync.2
index e8d19bcc8..fa08a1c83 100644
--- a/man2/fsync.2
+++ b/man2/fsync.2
@@ -32,7 +32,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.nf
@@ -63,7 +63,7 @@ The call blocks until the device reports that the transfer has completed.
As well as flushing the file data,
.BR fsync ()
also flushes the metadata information associated with the file (see
-.BR inode (7)).
+.MR inode 7 ).
.P
Calling
.BR fsync ()
@@ -85,13 +85,13 @@ or
.I st_mtime
(respectively, time of last access and
time of last modification; see
-.BR inode (7))
+.MR inode 7 )
do not require flushing because they are not necessary for
a subsequent data read to be handled correctly.
On the other hand, a change to the file size
.RI ( st_size ,
as made by say
-.BR ftruncate (2)),
+.MR ftruncate 2 ),
would require a metadata flush.
.P
The aim of
@@ -111,7 +111,7 @@ is not a valid open file descriptor.
.TP
.B EINTR
The function was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EIO
An error occurred during synchronization.
@@ -143,7 +143,7 @@ which does not support synchronization.
.I fd
is bound to a file on NFS or another filesystem which does not allocate
space at the time of a
-.BR write (2)
+.MR write 2
system call, and some previous write failed due to insufficient
storage space.
.SH VERSIONS
@@ -155,7 +155,7 @@ is defined in
.I <unistd.h>
to a value greater than 0.
(See also
-.BR sysconf (3).)
+.MR sysconf 3 .)
.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
.\" -1: unavailable, 0: ask using sysconf().
.\" glibc defines them to 1.
@@ -175,9 +175,9 @@ The
implementations in older kernels and lesser used filesystems
do not know how to flush disk caches.
In these cases disk caches need to be disabled using
-.BR hdparm (8)
+.MR hdparm 8
or
-.BR sdparm (8)
+.MR sdparm 8
to guarantee safe operation.
.P
Under AT&T UNIX System V Release 4
@@ -187,14 +187,14 @@ This is by itself incompatible with the original BSD interface
and forbidden by POSIX,
but nevertheless survives in HP-UX and AIX.
.SH SEE ALSO
-.BR sync (1),
-.BR bdflush (2),
-.BR open (2),
-.BR posix_fadvise (2),
-.BR pwritev (2),
-.BR sync (2),
-.BR sync_file_range (2),
-.BR fflush (3),
-.BR fileno (3),
-.BR hdparm (8),
-.BR mount (8)
+.MR sync 1 ,
+.MR bdflush 2 ,
+.MR open 2 ,
+.MR posix_fadvise 2 ,
+.MR pwritev 2 ,
+.MR sync 2 ,
+.MR sync_file_range 2 ,
+.MR fflush 3 ,
+.MR fileno 3 ,
+.MR hdparm 8 ,
+.MR mount 8
diff --git a/man2/futex.2 b/man2/futex.2
index 3eed74412..d39ecf006 100644
--- a/man2/futex.2
+++ b/man2/futex.2
@@ -43,7 +43,7 @@ Standard C library
glibc provides no wrapper for
.BR futex (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR futex ()
@@ -72,9 +72,9 @@ All futex operations are governed by this value.
In order to share a futex between processes,
the futex is placed in a region of shared memory,
created using (for example)
-.BR mmap (2)
+.MR mmap 2
or
-.BR shmat (2).
+.MR shmat 2 .
(Thus, the futex word may have different
virtual addresses in different processes,
but these addresses all refer to the same location in physical memory.)
@@ -138,7 +138,7 @@ lock state to not acquired and then execute a futex
operation that wakes threads blocked on the lock flag used as a futex word
(this can be further optimized to avoid unnecessary wake-ups).
See
-.BR futex (7)
+.MR futex 7
for more detail on how to use futexes.
.P
Besides the basic wait and wake-up futex functionality, there are further
@@ -413,10 +413,10 @@ The caller must close the returned file descriptor after use.
When another process or thread performs a
.B FUTEX_WAKE
on the futex word, the file descriptor indicates as being readable with
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
and
-.BR epoll (7)
+.MR epoll 7
.IP
The file descriptor can be used to obtain asynchronous notifications: if
.I val
@@ -576,7 +576,7 @@ and when the woken waiter unlocks A then the next waiter can proceed.
This operation was added to support some user-space use cases
where more than one futex must be handled at the same time.
The most notable example is the implementation of
-.BR pthread_cond_signal (3),
+.MR pthread_cond_signal 3 ,
which requires operations on two futexes,
the one used to implement the mutex and the one used in the implementation
of the wait queue associated with the condition variable.
@@ -882,7 +882,7 @@ If the lock is not acquired, the futex word's value shall be 0.
If the lock is acquired, the futex word's value shall
be the thread ID (TID;
see
-.BR gettid (2))
+.MR gettid 2 )
of the owning thread.
.IP \[bu]
If the lock is owned and there are threads contending for the lock,
@@ -1077,7 +1077,7 @@ the enqueueing of the waiter is in descending priority order.
and
.B SCHED_RR
scheduling policies in
-.BR sched (7).)
+.MR sched 7 .)
The owner inherits either the waiter's CPU bandwidth
(if the waiter is scheduled under the
.B SCHED_DEADLINE
@@ -1358,7 +1358,7 @@ operation.
In the event of an error (and assuming that
.BR futex ()
was invoked via
-.BR syscall (2)),
+.MR syscall 2 ),
all operations return \-1 and set
.I errno
to indicate the error.
@@ -1523,7 +1523,7 @@ A
or
.B FUTEX_WAIT_BITSET
operation was interrupted by a signal (see
-.BR signal (7)).
+.MR signal 7 ).
Before Linux 2.6.22, this error could also be returned for
a spurious wakeup; since Linux 2.6.22, this no longer happens.
.TP
@@ -1926,11 +1926,11 @@ main(int argc, char *argv[])
.\" SRC END
.SH SEE ALSO
.ad l
-.BR get_robust_list (2),
-.BR restart_syscall (2),
-.BR pthread_mutexattr_getprotocol (3),
-.BR futex (7),
-.BR sched (7)
+.MR get_robust_list 2 ,
+.MR restart_syscall 2 ,
+.MR pthread_mutexattr_getprotocol 3 ,
+.MR futex 7 ,
+.MR sched 7
.P
The following kernel source files:
.IP \[bu] 3
diff --git a/man2/futimesat.2 b/man2/futimesat.2
index 78b5431ed..75ebe50e8 100644
--- a/man2/futimesat.2
+++ b/man2/futimesat.2
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR futimesat ():
@@ -30,13 +30,13 @@ Feature Test Macro Requirements for glibc (see
.SH DESCRIPTION
This system call is obsolete.
Use
-.BR utimensat (2)
+.MR utimensat 2
instead.
.P
The
.BR futimesat ()
system call operates in exactly the same way as
-.BR utimes (2),
+.MR utimes 2 ,
except for the differences described in this manual page.
.P
If the pathname given in
@@ -46,7 +46,7 @@ referred to by the file descriptor
.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
-.BR utimes (2)
+.MR utimes 2
for a relative pathname).
.P
If
@@ -59,7 +59,7 @@ then
.I pathname
is interpreted relative to the current working
directory of the calling process (like
-.BR utimes (2)).
+.MR utimes 2 ).
.P
If
.I pathname
@@ -67,7 +67,7 @@ is absolute, then
.I dirfd
is ignored.
(See
-.BR openat (2)
+.MR openat 2
for an explanation of why the
.I dirfd
argument is useful.)
@@ -80,7 +80,7 @@ On error, \-1 is returned and
is set to indicate the error.
.SH ERRORS
The same errors that occur for
-.BR utimes (2)
+.MR utimes 2
can also occur for
.BR futimesat ().
The following additional errors can occur for
@@ -116,13 +116,13 @@ glibc 2.4.
.P
It was implemented from a specification that was proposed for POSIX.1,
but that specification was replaced by the one for
-.BR utimensat (2).
+.MR utimensat 2 .
.P
A similar system call exists on Solaris.
.SH NOTES
.SH SEE ALSO
-.BR stat (2),
-.BR utimensat (2),
-.BR utimes (2),
-.BR futimes (3),
-.BR path_resolution (7)
+.MR stat 2 ,
+.MR utimensat 2 ,
+.MR utimes 2 ,
+.MR futimes 3 ,
+.MR path_resolution 7
diff --git a/man2/get_kernel_syms.2 b/man2/get_kernel_syms.2
index f032705e7..260baa39f 100644
--- a/man2/get_kernel_syms.2
+++ b/man2/get_kernel_syms.2
@@ -67,7 +67,7 @@ glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
-.BR syscall (2).
+.MR syscall 2 .
.SH BUGS
There is no way to indicate the size of the buffer allocated for
.IR table .
@@ -78,11 +78,11 @@ The length of exported symbol names is limited to 59 characters.
.P
Because of these limitations, this system call is deprecated in
favor of
-.BR query_module (2)
+.MR query_module 2
(which is itself nowadays deprecated
in favor of other interfaces described on its manual page).
.SH SEE ALSO
-.BR create_module (2),
-.BR delete_module (2),
-.BR init_module (2),
-.BR query_module (2)
+.MR create_module 2 ,
+.MR delete_module 2 ,
+.MR init_module 2 ,
+.MR query_module 2
diff --git a/man2/get_mempolicy.2 b/man2/get_mempolicy.2
index 5248f04ba..39e3b31aa 100644
--- a/man2/get_mempolicy.2
+++ b/man2/get_mempolicy.2
@@ -39,7 +39,7 @@ If
is specified as 0,
then information about the calling thread's default policy
(as set by
-.BR set_mempolicy (2))
+.MR set_mempolicy 2 )
is returned, in the buffers pointed to by
.I mode
and
@@ -49,7 +49,7 @@ may be used to restore the thread's policy to its state at
the time of the call to
.BR get_mempolicy ()
using
-.BR set_mempolicy (2).
+.MR set_mempolicy 2 .
When
.I flags
is 0,
@@ -64,9 +64,9 @@ specifies
.I mode
argument is ignored and the set of nodes (memories) that the
thread is allowed to specify in subsequent calls to
-.BR mbind (2)
+.MR mbind 2
or
-.BR set_mempolicy (2)
+.MR set_mempolicy 2
(in the absence of any
.IR "mode flags" )
is returned in
@@ -86,9 +86,9 @@ then information is returned about the policy governing the memory
address given in
.IR addr .
This policy may be different from the thread's default policy if
-.BR mbind (2)
+.MR mbind 2
or one of the helper functions described in
-.BR numa (3)
+.MR numa 3
has been used to establish a policy for the memory range containing
.IR addr .
.P
@@ -148,7 +148,7 @@ interleaving of internal kernel pages allocated on behalf of the thread.
.\" Note: code returns next interleave node via 'mode' argument -Lee Schermerhorn
These allocations include pages for memory-mapped files in
process memory ranges mapped using the
-.BR mmap (2)
+.MR mmap 2
call with the
.B MAP_PRIVATE
flag for read accesses, and in memory ranges mapped with the
@@ -158,7 +158,7 @@ flag for all accesses.
Other flag values are reserved.
.P
For an overview of the possible policies see
-.BR set_mempolicy (2).
+.MR set_mempolicy 2 .
.SH RETURN VALUE
On success,
.BR get_mempolicy ()
@@ -224,12 +224,12 @@ Linux.
Linux 2.6.7.
.SH NOTES
For information on library support, see
-.BR numa (7).
+.MR numa 7 .
.SH SEE ALSO
-.BR getcpu (2),
-.BR mbind (2),
-.BR mmap (2),
-.BR set_mempolicy (2),
-.BR numa (3),
-.BR numa (7),
-.BR numactl (8)
+.MR getcpu 2 ,
+.MR mbind 2 ,
+.MR mmap 2 ,
+.MR set_mempolicy 2 ,
+.MR numa 3 ,
+.MR numa 7 ,
+.MR numactl 8
diff --git a/man2/get_robust_list.2 b/man2/get_robust_list.2
index 9fc260022..98fac7109 100644
--- a/man2/get_robust_list.2
+++ b/man2/get_robust_list.2
@@ -29,7 +29,7 @@ Standard C library
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
These system calls deal with per-thread robust futex lists.
These lists are managed in user space:
@@ -41,13 +41,13 @@ The address of a thread's robust futex list can be obtained using
.P
The purpose of the robust futex list is to ensure that if a thread
accidentally fails to unlock a futex before terminating or calling
-.BR execve (2),
+.MR execve 2 ,
another thread that is waiting on that futex is notified that
the former owner of the futex has died.
This notification consists of two pieces: the
.B FUTEX_OWNER_DIED
bit is set in the futex word, and the kernel performs a
-.BR futex (2)
+.MR futex 2
.B FUTEX_WAKE
operation on one of the threads waiting on the futex.
.P
@@ -72,7 +72,7 @@ Permission to employ
is governed by a ptrace access mode
.B PTRACE_MODE_READ_REALCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.P
The
.BR set_robust_list ()
@@ -137,17 +137,17 @@ only if the owner terminated.
Starting with Linux 2.6.28,
.\" commit 8141c7f3e7aee618312fa1c15109e1219de784a7
notification was extended to include the case where the owner performs an
-.BR execve (2).
+.MR execve 2 .
.P
The thread IDs mentioned in the main text are
.I kernel
thread IDs of the kind returned by
-.BR clone (2)
+.MR clone 2
and
-.BR gettid (2).
+.MR gettid 2 .
.SH SEE ALSO
-.BR futex (2),
-.BR pthread_mutexattr_setrobust (3)
+.MR futex 2 ,
+.MR pthread_mutexattr_setrobust 3
.P
.I Documentation/robust\-futexes.txt
and
diff --git a/man2/getcpu.2 b/man2/getcpu.2
index 72c500f97..b2489dedb 100644
--- a/man2/getcpu.2
+++ b/man2/getcpu.2
@@ -40,7 +40,7 @@ The information placed in
.I cpu
is guaranteed to be current only at the time of the call:
unless the CPU affinity has been fixed using
-.BR sched_setaffinity (2),
+.MR sched_setaffinity 2 ,
the kernel might change the CPU at any time.
(Normally this does not happen
because the scheduler tries to minimize movements between CPUs to
@@ -133,15 +133,15 @@ migrating threads between CPUs, and so the argument is now ignored.
.SH NOTES
Linux makes a best effort to make this call as fast as possible.
(On some architectures, this is done via an implementation in the
-.BR vdso (7).)
+.MR vdso 7 .)
The intention of
.BR getcpu ()
is to allow programs to make optimizations with per-CPU data
or for NUMA optimization.
.SH SEE ALSO
-.BR mbind (2),
-.BR sched_setaffinity (2),
-.BR set_mempolicy (2),
-.BR sched_getcpu (3),
-.BR cpuset (7),
-.BR vdso (7)
+.MR mbind 2 ,
+.MR sched_setaffinity 2 ,
+.MR set_mempolicy 2 ,
+.MR sched_getcpu 3 ,
+.MR cpuset 7 ,
+.MR vdso 7
diff --git a/man2/getdents.2 b/man2/getdents.2
index 0d4c379f1..9af2b914b 100644
--- a/man2/getdents.2
+++ b/man2/getdents.2
@@ -33,7 +33,7 @@ Standard C library
glibc provides no wrapper for
.BR getdents (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.P
.IR Note :
There is no definition of
@@ -42,7 +42,7 @@ in glibc; see NOTES.
.SH DESCRIPTION
These are not the interfaces you are interested in.
Look at
-.BR readdir (3)
+.MR readdir 3
for the POSIX-conforming C library interface.
This page documents the bare kernel system call interfaces.
.SS getdents()
@@ -211,7 +211,7 @@ glibc does not provide a wrapper for
call
.BR getdents ()
using
-.BR syscall (2).
+.MR syscall 2 .
In that case you will need to define the
.I linux_dirent
or
@@ -219,11 +219,11 @@ or
structure yourself.
.P
Probably, you want to use
-.BR readdir (3)
+.MR readdir 3
instead of these system calls.
.P
These calls supersede
-.BR readdir (2).
+.MR readdir 2 .
.SH EXAMPLES
.\" FIXME The example program needs to be revised, since it uses the older
.\" getdents() system call and the structure with smaller field widths.
@@ -314,6 +314,6 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR readdir (2),
-.BR readdir (3),
-.BR inode (7)
+.MR readdir 2 ,
+.MR readdir 3 ,
+.MR inode 7
diff --git a/man2/getdomainname.2 b/man2/getdomainname.2
index 3b74bcd7a..128c670eb 100644
--- a/man2/getdomainname.2
+++ b/man2/getdomainname.2
@@ -22,7 +22,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getdomainname (),
@@ -83,7 +83,7 @@ was negative or too large.
The caller did not have the
.B CAP_SYS_ADMIN
capability in the user namespace associated with its UTS namespace (see
-.BR namespaces (7)).
+.MR namespaces 7 ).
.P
.BR getdomainname ()
can fail with the following errors:
@@ -107,7 +107,7 @@ system call; instead, glibc implements
as a library function that returns a copy of the
.I domainname
field returned from a call to
-.BR uname (2).
+.MR uname 2 .
.SH STANDARDS
None.
.\" But they appear on most systems...
@@ -116,7 +116,7 @@ Since Linux 1.0, the limit on the length of a domain name,
including the terminating null byte, is 64 bytes.
In older kernels, it was 8 bytes.
.SH SEE ALSO
-.BR gethostname (2),
-.BR sethostname (2),
-.BR uname (2),
-.BR uts_namespaces (7)
+.MR gethostname 2 ,
+.MR sethostname 2 ,
+.MR uname 2 ,
+.MR uts_namespaces 7
diff --git a/man2/getgid.2 b/man2/getgid.2
index a02515509..2a1492900 100644
--- a/man2/getgid.2
+++ b/man2/getgid.2
@@ -41,7 +41,7 @@ and
.BR getegid ()
wrapper functions transparently deal with this.
See
-.BR syscall (2)
+.MR syscall 2
for details regarding register mapping.
.SH STANDARDS
POSIX.1-2008.
@@ -64,7 +64,7 @@ and
.BR getegid ()
wrapper functions transparently deal with the variations across kernel versions.
.SH SEE ALSO
-.BR getresgid (2),
-.BR setgid (2),
-.BR setregid (2),
-.BR credentials (7)
+.MR getresgid 2 ,
+.MR setgid 2 ,
+.MR setregid 2 ,
+.MR credentials 7
diff --git a/man2/getgroups.2 b/man2/getgroups.2
index 3d9be4b98..456abf4da 100644
--- a/man2/getgroups.2
+++ b/man2/getgroups.2
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR setgroups ():
@@ -54,7 +54,7 @@ supplementary groups, then an error results.
It is unspecified whether the effective group ID of the calling process
is included in the returned list.
(Thus, an application should also call
-.BR getegid (2)
+.MR getegid 2
and add or remove the resulting value.)
.P
If
@@ -137,7 +137,7 @@ is denied in this user namespace.
See the description of
.IR /proc/ pid /setgroups
in
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.SH VERSIONS
.SS C library/kernel differences
At the kernel level, user IDs and group IDs are a per-thread attribute.
@@ -152,7 +152,7 @@ employ a signal-based technique to ensure
that when one thread changes credentials,
all of the other threads in the process also change their credentials.
For details, see
-.BR nptl (7).
+.MR nptl 7 .
.SH STANDARDS
.TP
.BR getgroups ()
@@ -191,10 +191,10 @@ is defined in
.IR <limits.h> .
The set of supplementary group IDs
is inherited from the parent process, and preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
The maximum number of supplementary group IDs can be found at run time using
-.BR sysconf (3):
+.MR sysconf 3 :
.P
.in +4n
.EX
@@ -210,10 +210,10 @@ Since Linux 2.6.4, the maximum number of supplementary group IDs is also
exposed via the Linux-specific read-only file,
.IR /proc/sys/kernel/ngroups_max .
.SH SEE ALSO
-.BR getgid (2),
-.BR setgid (2),
-.BR getgrouplist (3),
-.BR group_member (3),
-.BR initgroups (3),
-.BR capabilities (7),
-.BR credentials (7)
+.MR getgid 2 ,
+.MR setgid 2 ,
+.MR getgrouplist 3 ,
+.MR group_member 3 ,
+.MR initgroups 3 ,
+.MR capabilities 7 ,
+.MR credentials 7
diff --git a/man2/gethostname.2 b/man2/gethostname.2
index 1a9fc0d2f..85afecd90 100644
--- a/man2/gethostname.2
+++ b/man2/gethostname.2
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR gethostname ():
@@ -108,7 +108,7 @@ For
the caller did not have the
.B CAP_SYS_ADMIN
capability in the user namespace associated with its UTS namespace (see
-.BR namespaces (7)).
+.MR namespaces 7 ).
.SH VERSIONS
SUSv2 guarantees that "Host names are limited to 255 bytes".
POSIX.1 guarantees that "Host names (not including
@@ -125,7 +125,7 @@ The GNU C library does not employ the
system call; instead, it implements
.BR gethostname ()
as a library function that calls
-.BR uname (2)
+.MR uname 2
and copies up to
.I len
bytes from the returned
@@ -169,8 +169,8 @@ and the function returns \-1 with
set to
.BR ENAMETOOLONG .
.SH SEE ALSO
-.BR hostname (1),
-.BR getdomainname (2),
-.BR setdomainname (2),
-.BR uname (2),
-.BR uts_namespaces (7)
+.MR hostname 1 ,
+.MR getdomainname 2 ,
+.MR setdomainname 2 ,
+.MR uname 2 ,
+.MR uts_namespaces 7
diff --git a/man2/getitimer.2 b/man2/getitimer.2
index b0a97c68f..b54b7cf54 100644
--- a/man2/getitimer.2
+++ b/man2/getitimer.2
@@ -191,33 +191,34 @@ POSIX.1-2008 marks
and
.BR setitimer ()
obsolete, recommending the use of the POSIX timers API
-.RB ( timer_gettime (2),
-.BR timer_settime (2),
+\%(\c
+.MR timer_gettime 2 ,
+.MR timer_settime 2 ,
etc.) instead.
.SH NOTES
Timers will never expire before the requested time,
but may expire some (short) time afterward, which depends
on the system timer resolution and on the system load; see
-.BR time (7).
+.MR time 7 .
(But see BUGS below.)
If the timer expires while the process is active (always true for
.BR ITIMER_VIRTUAL ),
the signal will be delivered immediately when generated.
.P
A child created via
-.BR fork (2)
+.MR fork 2
does not inherit its parent's interval timers.
Interval timers are preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
POSIX.1 leaves the
interaction between
.BR setitimer ()
and the three interfaces
-.BR alarm (2),
-.BR sleep (3),
+.MR alarm 2 ,
+.MR sleep 3 ,
and
-.BR usleep (3)
+.MR usleep 3
unspecified.
.SH BUGS
The generation and delivery of a signal are distinct, and
@@ -270,9 +271,9 @@ error.
.\" http://bugzilla.kernel.org/show_bug.cgi?id=6443
.\" "setitimer() should reject noncanonical arguments"
.SH SEE ALSO
-.BR gettimeofday (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR timer_create (2),
-.BR timerfd_create (2),
-.BR time (7)
+.MR gettimeofday 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR timer_create 2 ,
+.MR timerfd_create 2 ,
+.MR time 7
diff --git a/man2/getpagesize.2 b/man2/getpagesize.2
index b82586f36..2207de2e4 100644
--- a/man2/getpagesize.2
+++ b/man2/getpagesize.2
@@ -17,7 +17,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getpagesize ():
@@ -36,7 +36,7 @@ The function
returns the number of bytes in a memory page,
where "page" is a fixed-length block,
the unit for memory allocation and file mapping performed by
-.BR mmap (2).
+.MR mmap 2 .
.SH STANDARDS
None.
.SH HISTORY
@@ -85,5 +85,5 @@ Here glibc 2.0 fails because its
returns a statically derived value, and does not use a system call.
Things are OK in glibc 2.1.
.SH SEE ALSO
-.BR mmap (2),
-.BR sysconf (3)
+.MR mmap 2 ,
+.MR sysconf 3
diff --git a/man2/getpeername.2 b/man2/getpeername.2
index dc216c0f6..c7243f93c 100644
--- a/man2/getpeername.2
+++ b/man2/getpeername.2
@@ -82,35 +82,35 @@ POSIX.1-2001, SVr4, 4.4BSD
(first appeared in 4.2BSD).
.SH NOTES
For stream sockets, once a
-.BR connect (2)
+.MR connect 2
has been performed, either socket can call
.BR getpeername ()
to obtain the address of the peer socket.
On the other hand, datagram sockets are connectionless.
Calling
-.BR connect (2)
+.MR connect 2
on a datagram socket merely sets the peer address for outgoing
datagrams sent with
-.BR write (2)
+.MR write 2
or
-.BR recv (2).
+.MR recv 2 .
The caller of
-.BR connect (2)
+.MR connect 2
can use
.BR getpeername ()
to obtain the peer address that it earlier set for the socket.
However, the peer socket is unaware of this information, and calling
.BR getpeername ()
on the peer socket will return no useful information (unless a
-.BR connect (2)
+.MR connect 2
call was also executed on the peer).
Note also that the receiver of a datagram can obtain
the address of the sender when using
-.BR recvfrom (2).
+.MR recvfrom 2 .
.SH SEE ALSO
-.BR accept (2),
-.BR bind (2),
-.BR getsockname (2),
-.BR ip (7),
-.BR socket (7),
-.BR unix (7)
+.MR accept 2 ,
+.MR bind 2 ,
+.MR getsockname 2 ,
+.MR ip 7 ,
+.MR socket 7 ,
+.MR unix 7
diff --git a/man2/getpid.2 b/man2/getpid.2
index 811270f05..5be89ddd5 100644
--- a/man2/getpid.2
+++ b/man2/getpid.2
@@ -27,9 +27,9 @@ This will be either the ID of the process that created this process using
.BR fork (),
or, if that process has already terminated,
the ID of the process to which this process has been reparented (either
-.BR init (1)
+.MR init 1
or a "subreaper" process defined via the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_CHILD_SUBREAPER
operation).
.SH ERRORS
@@ -48,7 +48,7 @@ and
.BR getppid ()
wrapper functions transparently deal with this.
See
-.BR syscall (2)
+.MR syscall 2
for details regarding register mapping.
.SH STANDARDS
POSIX.1-2008.
@@ -64,12 +64,12 @@ with the goal of avoiding additional system calls when a process calls
repeatedly.
Normally this caching was invisible,
but its correct operation relied on support in the wrapper functions for
-.BR fork (2),
-.BR vfork (2),
+.MR fork 2 ,
+.MR vfork 2 ,
and
-.BR clone (2):
+.MR clone 2 :
if an application bypassed the glibc wrappers for these system calls by using
-.BR syscall (2),
+.MR syscall 2 ,
then a call to
.BR getpid ()
in the child would return the wrong value
@@ -103,10 +103,10 @@ in the child would return the wrong value
In addition, there were cases where
.BR getpid ()
could return the wrong value even when invoking
-.BR clone (2)
+.MR clone 2
via the glibc wrapper function.
(For a discussion of one such case, see BUGS in
-.BR clone (2).)
+.MR clone 2 .)
Furthermore, the complexity of the caching code had been
the source of a few bugs within glibc over the years.
.P
@@ -121,7 +121,7 @@ always invoke the actual system call, rather than returning a cached value.
.\" Review progress of https://bugzilla.redhat.com/show_bug.cgi?id=1469757
.SH NOTES
If the caller's parent is in a different PID namespace (see
-.BR pid_namespaces (7)),
+.MR pid_namespaces 7 ),
.BR getppid ()
returns 0.
.P
@@ -131,20 +131,20 @@ is sometimes also known as the thread group ID (TGID).
This contrasts with the kernel thread ID (TID),
which is unique for each thread.
For further details, see
-.BR gettid (2)
+.MR gettid 2
and the discussion of the
.B CLONE_THREAD
flag in
-.BR clone (2).
+.MR clone 2 .
.SH SEE ALSO
-.BR clone (2),
-.BR fork (2),
-.BR gettid (2),
-.BR kill (2),
-.BR exec (3),
-.BR mkstemp (3),
-.BR tempnam (3),
-.BR tmpfile (3),
-.BR tmpnam (3),
-.BR credentials (7),
-.BR pid_namespaces (7)
+.MR clone 2 ,
+.MR fork 2 ,
+.MR gettid 2 ,
+.MR kill 2 ,
+.MR exec 3 ,
+.MR mkstemp 3 ,
+.MR tempnam 3 ,
+.MR tmpfile 3 ,
+.MR tmpnam 3 ,
+.MR credentials 7 ,
+.MR pid_namespaces 7
diff --git a/man2/getpriority.2 b/man2/getpriority.2
index 111b591b5..6f97ae3b5 100644
--- a/man2/getpriority.2
+++ b/man2/getpriority.2
@@ -40,7 +40,7 @@ call and set with the
call.
The process attribute dealt with by these system calls is
the same attribute (also known as the "nice" value) that is dealt with by
-.BR nice (2).
+.MR nice 2 .
.P
The value
.I which
@@ -89,7 +89,7 @@ However, since Linux 2.6.12, an unprivileged process can decrease
the nice value of a target process that has a suitable
.B RLIMIT_NICE
soft limit; see
-.BR getrlimit (2)
+.MR getrlimit 2
for details.
.SH RETURN VALUE
On success,
@@ -153,19 +153,19 @@ POSIX.1-2001,
SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).
.SH NOTES
For further details on the nice value, see
-.BR sched (7).
+.MR sched 7 .
.P
.IR Note :
the addition of the "autogroup" feature in Linux 2.6.38 means that
the nice value no longer has its traditional effect in many circumstances.
For details, see
-.BR sched (7).
+.MR sched 7 .
.P
A child created by
-.BR fork (2)
+.MR fork 2
inherits its parent's nice value.
The nice value is preserved across
-.BR execve (2).
+.MR execve 2 .
.P
The details on the condition for
.B EPERM
@@ -199,11 +199,11 @@ different threads in the same process can have different nice values.
Portable applications should avoid relying on the Linux behavior,
which may be made standards conformant in the future.
.SH SEE ALSO
-.BR nice (1),
-.BR renice (1),
-.BR fork (2),
-.BR capabilities (7),
-.BR sched (7)
+.MR nice 1 ,
+.MR renice 1 ,
+.MR fork 2 ,
+.MR capabilities 7 ,
+.MR sched 7
.P
.I Documentation/scheduler/sched\-nice\-design.txt
in the Linux kernel source tree (since Linux 2.6.23)
diff --git a/man2/getrandom.2 b/man2/getrandom.2
index a6489a494..428a676f1 100644
--- a/man2/getrandom.2
+++ b/man2/getrandom.2
@@ -140,11 +140,11 @@ is outside the accessible address space.
.B EINTR
The call was interrupted by a signal
handler; see the description of how interrupted
-.BR read (2)
+.MR read 2
calls on "slow" devices are handled with and without the
.B SA_RESTART
flag in the
-.BR signal (7)
+.MR signal 7
man page.
.TP
.B EINVAL
@@ -163,7 +163,7 @@ glibc 2.25.
.SH NOTES
For an overview and comparison of the various interfaces that
can be used to obtain randomness, see
-.BR random (7).
+.MR random 7 .
.P
Unlike
.I /dev/random
@@ -174,7 +174,7 @@ does not involve the use of pathnames or file descriptors.
Thus,
.BR getrandom ()
can be useful in cases where
-.BR chroot (2)
+.MR chroot 2
makes
.I /dev
pathnames invisible,
@@ -264,7 +264,7 @@ The special treatment of small values of
.I buflen
was designed for compatibility with
OpenBSD's
-.BR getentropy (3),
+.MR getentropy 3 ,
which is nowadays supported by glibc.
.P
The user of
@@ -288,8 +288,8 @@ Depending on CPU load,
.BR getrandom ()
does not react to interrupts before reading all bytes requested.
.SH SEE ALSO
-.BR getentropy (3),
-.BR random (4),
-.BR urandom (4),
-.BR random (7),
-.BR signal (7)
+.MR getentropy 3 ,
+.MR random 4 ,
+.MR urandom 4 ,
+.MR random 7 ,
+.MR signal 7
diff --git a/man2/getresuid.2 b/man2/getresuid.2
index b39bf5b7f..658f9a550 100644
--- a/man2/getresuid.2
+++ b/man2/getresuid.2
@@ -63,8 +63,8 @@ and
.BR getresgid ()
wrapper functions transparently deal with the variations across kernel versions.
.SH SEE ALSO
-.BR getuid (2),
-.BR setresuid (2),
-.BR setreuid (2),
-.BR setuid (2),
-.BR credentials (7)
+.MR getuid 2 ,
+.MR setresuid 2 ,
+.MR setreuid 2 ,
+.MR setuid 2 ,
+.MR credentials 7
diff --git a/man2/getrlimit.2 b/man2/getrlimit.2
index 68f880d5a..35a3e86e5 100644
--- a/man2/getrlimit.2
+++ b/man2/getrlimit.2
@@ -62,7 +62,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR prlimit ():
@@ -115,10 +115,10 @@ This is the maximum size of the process's virtual memory
The limit is specified in bytes, and is rounded down to the system page size.
.\" since Linux 2.0.27 / Linux 2.1.12
This limit affects calls to
-.BR brk (2),
-.BR mmap (2),
+.MR brk 2 ,
+.MR mmap 2 ,
and
-.BR mremap (2),
+.MR mremap 2 ,
which fail with the error
.B ENOMEM
upon exceeding this limit.
@@ -127,7 +127,7 @@ In addition, automatic stack expansion fails
.B SIGSEGV
that kills the process if no alternate stack
has been made available via
-.BR sigaltstack (2)).
+.MR sigaltstack 2 ).
Since the value is a \fIlong\fP, on machines with a 32-bit \fIlong\fP
either this limit is at most 2\ GiB, or this resource is unlimited.
.TP
@@ -135,7 +135,7 @@ either this limit is at most 2\ GiB, or this resource is unlimited.
This is the maximum size of a
.I core
file (see
-.BR core (5))
+.MR core 5 )
in bytes that the process may dump.
When 0 no core dump files are created.
When nonzero, larger dumps are truncated to this size.
@@ -167,10 +167,10 @@ of the process's data segment (initialized data,
uninitialized data, and heap).
The limit is specified in bytes, and is rounded down to the system page size.
This limit affects calls to
-.BR brk (2),
-.BR sbrk (2),
+.MR brk 2 ,
+.MR sbrk 2 ,
and (since Linux 4.7)
-.BR mmap (2),
+.MR mmap 2 ,
.\" commits 84638335900f1995495838fe1bd4870c43ec1f67
.\" ("mm: rework virtual memory accounting"),
.\" f4fcd55841fc9e46daac553b39361572453c2b88
@@ -186,17 +186,17 @@ Attempts to extend a file beyond this limit result in delivery of a
signal.
By default, this signal terminates a process, but a process can
catch this signal instead, in which case the relevant system call (e.g.,
-.BR write (2),
-.BR truncate (2))
+.MR write 2 ,
+.MR truncate 2 )
fails with the error
.BR EFBIG .
.TP
.BR RLIMIT_LOCKS " (Linux 2.4.0 to Linux 2.4.24)"
.\" to be precise: Linux 2.4.0-test9; no longer in Linux 2.4.25 / Linux 2.5.65
This is a limit on the combined number of
-.BR flock (2)
+.MR flock 2
locks and
-.BR fcntl (2)
+.MR fcntl 2
leases that this process may establish.
.TP
.B RLIMIT_MEMLOCK
@@ -205,28 +205,28 @@ into RAM.
This limit is in effect rounded down to the nearest multiple
of the system page size.
This limit affects
-.BR mlock (2),
-.BR mlockall (2),
+.MR mlock 2 ,
+.MR mlockall 2 ,
and the
-.BR mmap (2)
+.MR mmap 2
.B MAP_LOCKED
operation.
Since Linux 2.6.9, it also affects the
-.BR shmctl (2)
+.MR shmctl 2
.B SHM_LOCK
operation, where it sets a maximum on the total bytes in
shared memory segments (see
-.BR shmget (2))
+.MR shmget 2 )
that may be locked by the real user ID of the calling process.
The
-.BR shmctl (2)
+.MR shmctl 2
.B SHM_LOCK
locks are accounted for separately from the per-process memory
locks established by
-.BR mlock (2),
-.BR mlockall (2),
+.MR mlock 2 ,
+.MR mlockall 2 ,
and
-.BR mmap (2)
+.MR mmap 2
.BR MAP_LOCKED ;
a process can lock bytes up to this limit in each of these
two categories.
@@ -241,7 +241,7 @@ the amount of memory that an unprivileged process may lock.
This is a limit on the number of bytes that can be allocated
for POSIX message queues for the real user ID of the calling process.
This limit is enforced for
-.BR mq_open (3).
+.MR mq_open 3 .
Each message queue that the user creates counts (until it is removed)
against this limit according to the formula:
.RS 4
@@ -276,7 +276,7 @@ where
is the
.I mq_attr
structure specified as the fourth argument to
-.BR mq_open (3),
+.MR mq_open 3 ,
and the
.I msg_msg
and
@@ -291,9 +291,9 @@ nevertheless each consume some system memory for bookkeeping overhead).
.TP
.BR RLIMIT_NICE " (since Linux 2.6.12, but see BUGS below)"
This specifies a ceiling to which the process's nice value can be raised using
-.BR setpriority (2)
+.MR setpriority 2
or
-.BR nice (2).
+.MR nice 2 .
The actual ceiling for the nice value is calculated as
.IR "20\ \-\ rlim_cur" .
The useful range for this limit is thus from 1
@@ -306,15 +306,16 @@ For example,
.B RLIM_INFINITY
typically is the same as \-1.
For more detail on the nice value, see
-.BR sched (7).
+.MR sched 7 .
.TP
.B RLIMIT_NOFILE
This specifies a value one greater than the maximum file descriptor number
that can be opened by this process.
Attempts
-.RB ( open (2),
-.BR pipe (2),
-.BR dup (2),
+\%(\c
+.MR open 2 ,
+.MR pipe 2 ,
+.MR dup 2 ,
etc.)
to exceed this limit yield the error
.BR EMFILE .
@@ -329,10 +330,10 @@ an unprivileged process (one without the
capability) may have "in flight" to other processes,
by being passed across UNIX domain sockets.
This limit applies to the
-.BR sendmsg (2)
+.MR sendmsg 2
system call.
For further details, see
-.BR unix (7).
+.MR unix 7 .
.TP
.B RLIMIT_NPROC
This is a limit on the number of extant process
@@ -340,7 +341,7 @@ This is a limit on the number of extant process
for the real user ID of the calling process.
So long as the current number of processes belonging to this
process's real user ID is greater than or equal to this limit,
-.BR fork (2)
+.MR fork 2
fails with the error
.BR EAGAIN .
.IP
@@ -358,7 +359,7 @@ This is a limit (in bytes) on the process's resident set
(the number of virtual pages resident in RAM).
This limit has effect only in Linux 2.4.x, x < 30, and there
affects only calls to
-.BR madvise (2)
+.MR madvise 2
specifying
.BR MADV_WILLNEED .
.\" As at Linux 2.6.12, this limit still does nothing in Linux 2.6 though
@@ -368,12 +369,12 @@ specifying
.BR RLIMIT_RTPRIO " (since Linux 2.6.12, but see BUGS)"
This specifies a ceiling on the real-time priority that may be set for
this process using
-.BR sched_setscheduler (2)
+.MR sched_setscheduler 2
and
-.BR sched_setparam (2).
+.MR sched_setparam 2 .
.IP
For further details on real-time scheduling policies, see
-.BR sched (7)
+.MR sched 7
.TP
.BR RLIMIT_RTTIME " (since Linux 2.6.25)"
This is a limit (in microseconds)
@@ -385,7 +386,7 @@ each time a process makes a blocking system call,
the count of its consumed CPU time is reset to zero.
The CPU time count is not reset if the process continues trying to
use the CPU but is preempted, its time slice expires, or it calls
-.BR sched_yield (2).
+.MR sched_yield 2 .
.IP
Upon reaching the soft limit, the process is sent a
.B SIGXCPU
@@ -402,7 +403,7 @@ The intended use of this limit is to stop a runaway
real-time process from locking up the system.
.IP
For further details on real-time scheduling policies, see
-.BR sched (7)
+.MR sched 7
.TP
.BR RLIMIT_SIGPENDING " (since Linux 2.6.8)"
This is a limit on the number of signals
@@ -410,9 +411,9 @@ that may be queued for the real user ID of the calling process.
Both standard and real-time signals are counted for the purpose of
checking this limit.
However, the limit is enforced only for
-.BR sigqueue (3);
+.MR sigqueue 3 ;
it is always possible to use
-.BR kill (2)
+.MR kill 2
to queue one instance of any of the signals that are not already
queued to the process.
.\" This replaces the /proc/sys/kernel/rtsig-max system-wide limit
@@ -424,12 +425,13 @@ Upon reaching this limit, a
.B SIGSEGV
signal is generated.
To handle this signal, a process must employ an alternate signal stack
-.RB ( sigaltstack (2)).
+\%(\c
+.MR sigaltstack 2 ).
.IP
Since Linux 2.6.23,
this limit also determines the amount of space used for the process's
command-line arguments and environment variables; for details, see
-.BR execve (2).
+.MR execve 2 .
.SS prlimit()
.\" commit c022a0acad534fd5f5d5f17280f6d4d135e74e81
.\" Author: Jiri Slaby <jslaby@suse.cz>
@@ -529,7 +531,7 @@ The caller tried to increase the hard
limit above the maximum defined by
.I /proc/sys/fs/nr_open
(see
-.BR proc (5))
+.MR proc 5 )
.TP
.B EPERM
.RB ( prlimit ())
@@ -542,7 +544,7 @@ Could not find a process with the ID specified in
.IR pid .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -593,10 +595,10 @@ Linux 2.6.36,
glibc 2.13.
.SH NOTES
A child process created via
-.BR fork (2)
+.MR fork 2
inherits its parent's resource limits.
Resource limits are preserved across
-.BR execve (2).
+.MR execve 2 .
.P
Resource limits are per-process attributes that are shared
by all of the threads in a process.
@@ -611,14 +613,14 @@ One can set the resource limits of the shell using the built-in
command
.RI ( limit
in
-.BR csh (1)).
+.MR csh 1 ).
The shell's resource limits are inherited by the processes that
it creates to execute commands.
.P
Since Linux 2.6.24, the resource limits of any process can be inspected via
.IR /proc/ pid /limits ;
see
-.BR proc (5).
+.MR proc 5 .
.P
Ancient systems provided a
.BR vlimit ()
@@ -667,7 +669,7 @@ does not work in Linux 2.6.12; the problem is fixed in Linux 2.6.13.
.P
In Linux 2.6.12, there was an off-by-one mismatch
between the priority ranges returned by
-.BR getpriority (2)
+.MR getpriority 2
and
.BR RLIMIT_NICE .
This had the effect that the actual ceiling for the nice value
@@ -832,22 +834,22 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR prlimit (1),
-.BR dup (2),
-.BR fcntl (2),
-.BR fork (2),
-.BR getrusage (2),
-.BR mlock (2),
-.BR mmap (2),
-.BR open (2),
-.BR quotactl (2),
-.BR sbrk (2),
-.BR shmctl (2),
-.BR malloc (3),
-.BR sigqueue (3),
-.BR ulimit (3),
-.BR core (5),
-.BR capabilities (7),
-.BR cgroups (7),
-.BR credentials (7),
-.BR signal (7)
+.MR prlimit 1 ,
+.MR dup 2 ,
+.MR fcntl 2 ,
+.MR fork 2 ,
+.MR getrusage 2 ,
+.MR mlock 2 ,
+.MR mmap 2 ,
+.MR open 2 ,
+.MR quotactl 2 ,
+.MR sbrk 2 ,
+.MR shmctl 2 ,
+.MR malloc 3 ,
+.MR sigqueue 3 ,
+.MR ulimit 3 ,
+.MR core 5 ,
+.MR capabilities 7 ,
+.MR cgroups 7 ,
+.MR credentials 7 ,
+.MR signal 7
diff --git a/man2/getrusage.2 b/man2/getrusage.2
index 8323bef35..4a9521bc0 100644
--- a/man2/getrusage.2
+++ b/man2/getrusage.2
@@ -183,7 +183,7 @@ points outside the accessible address space.
is invalid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -238,16 +238,16 @@ All new applications should be written using
implementation.)
.SH NOTES
Resource usage metrics are preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
See also the description of
.IR /proc/ pid /stat
in
-.BR proc (5).
+.MR proc 5 .
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR getrlimit (2),
-.BR times (2),
-.BR wait (2),
-.BR wait4 (2),
-.BR clock (3)
+.MR clock_gettime 2 ,
+.MR getrlimit 2 ,
+.MR times 2 ,
+.MR wait 2 ,
+.MR wait4 2 ,
+.MR clock 3
diff --git a/man2/getsid.2 b/man2/getsid.2
index c296a92d2..7c5747d36 100644
--- a/man2/getsid.2
+++ b/man2/getsid.2
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getsid ():
@@ -67,9 +67,9 @@ Linux 2.0.
.\" There is libc support since libc 5.2.19.
.SH NOTES
See
-.BR credentials (7)
+.MR credentials 7
for a description of sessions and session IDs.
.SH SEE ALSO
-.BR getpgid (2),
-.BR setsid (2),
-.BR credentials (7)
+.MR getpgid 2 ,
+.MR setsid 2 ,
+.MR credentials 7
diff --git a/man2/getsockname.2 b/man2/getsockname.2
index 27a0b7e61..bec87d1a5 100644
--- a/man2/getsockname.2
+++ b/man2/getsockname.2
@@ -77,9 +77,9 @@ POSIX.1-2001, SVr4, 4.4BSD
.\" SVr4 documents additional ENOMEM
.\" and ENOSR error codes.
.SH SEE ALSO
-.BR bind (2),
-.BR socket (2),
-.BR getifaddrs (3),
-.BR ip (7),
-.BR socket (7),
-.BR unix (7)
+.MR bind 2 ,
+.MR socket 2 ,
+.MR getifaddrs 3 ,
+.MR ip 7 ,
+.MR socket 7 ,
+.MR unix 7
diff --git a/man2/getsockopt.2 b/man2/getsockopt.2
index d0a24db76..7534007aa 100644
--- a/man2/getsockopt.2
+++ b/man2/getsockopt.2
@@ -57,7 +57,7 @@ protocol,
should be set to the protocol number of
.BR TCP ;
see
-.BR getprotoent (3).
+.MR getprotoent 3 .
.P
The arguments
.I optval
@@ -101,7 +101,7 @@ the argument should be nonzero to enable a boolean option, or zero if the
option is to be disabled.
.P
For a description of the available socket options see
-.BR socket (7)
+.MR socket 7
and the appropriate protocol man pages.
.SH RETURN VALUE
On success, zero is returned for the standard options.
@@ -138,7 +138,7 @@ In some cases this error can also occur for an invalid value in
(e.g., for the
.B IP_ADD_MEMBERSHIP
option described in
-.BR ip (7)).
+.MR ip 7 ).
.TP
.B ENOPROTOOPT
The option is unknown at the level indicated.
@@ -160,13 +160,13 @@ SVr4, 4.4BSD (first appeared in 4.2BSD).
Several of the socket options should be handled at lower levels of the
system.
.SH SEE ALSO
-.BR ioctl (2),
-.BR socket (2),
-.BR getprotoent (3),
-.BR protocols (5),
-.BR ip (7),
-.BR packet (7),
-.BR socket (7),
-.BR tcp (7),
-.BR udp (7),
-.BR unix (7)
+.MR ioctl 2 ,
+.MR socket 2 ,
+.MR getprotoent 3 ,
+.MR protocols 5 ,
+.MR ip 7 ,
+.MR packet 7 ,
+.MR socket 7 ,
+.MR tcp 7 ,
+.MR udp 7 ,
+.MR unix 7
diff --git a/man2/gettid.2 b/man2/gettid.2
index 2a8f932f6..84d290410 100644
--- a/man2/gettid.2
+++ b/man2/gettid.2
@@ -21,13 +21,13 @@ Standard C library
returns the caller's thread ID (TID).
In a single-threaded process, the thread ID
is equal to the process ID (PID, as returned by
-.BR getpid (2)).
+.MR getpid 2 ).
In a multithreaded process, all threads
have the same PID, but each one has a unique TID.
For further details, see the discussion of
.B CLONE_THREAD
in
-.BR clone (2).
+.MR clone 2 .
.SH RETURN VALUE
On success, returns the thread ID of the calling thread.
.SH ERRORS
@@ -40,35 +40,35 @@ glibc 2.30.
.SH NOTES
The thread ID returned by this call is not the same thing as a
POSIX thread ID (i.e., the opaque value returned by
-.BR pthread_self (3)).
+.MR pthread_self 3 ).
.P
In a new thread group created by a
-.BR clone (2)
+.MR clone 2
call that does not specify the
.B CLONE_THREAD
flag (or, equivalently, a new process created by
-.BR fork (2)),
+.MR fork 2 ),
the new process is a thread group leader,
and its thread group ID (the value returned by
-.BR getpid (2))
+.MR getpid 2 )
is the same as its thread ID (the value returned by
.BR gettid ()).
.SH SEE ALSO
-.BR capget (2),
-.BR clone (2),
-.BR fcntl (2),
-.BR fork (2),
-.BR get_robust_list (2),
-.BR getpid (2),
+.MR capget 2 ,
+.MR clone 2 ,
+.MR fcntl 2 ,
+.MR fork 2 ,
+.MR get_robust_list 2 ,
+.MR getpid 2 ,
.\" .BR kcmp (2),
-.BR ioprio_set (2),
+.MR ioprio_set 2 ,
.\" .BR move_pages (2),
.\" .BR migrate_pages (2),
-.BR perf_event_open (2),
+.MR perf_event_open 2 ,
.\" .BR process_vm_readv (2),
.\" .BR ptrace (2),
-.BR sched_setaffinity (2),
-.BR sched_setparam (2),
-.BR sched_setscheduler (2),
-.BR tgkill (2),
-.BR timer_create (2)
+.MR sched_setaffinity 2 ,
+.MR sched_setparam 2 ,
+.MR sched_setscheduler 2 ,
+.MR tgkill 2 ,
+.MR timer_create 2
diff --git a/man2/gettimeofday.2 b/man2/gettimeofday.2
index e0231e230..005ed3535 100644
--- a/man2/gettimeofday.2
+++ b/man2/gettimeofday.2
@@ -35,7 +35,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR settimeofday ():
@@ -69,7 +69,7 @@ struct timeval {
.in
.P
and gives the number of seconds and microseconds since the Epoch (see
-.BR time (2)).
+.MR time 2 ).
.P
The
.I tz
@@ -161,7 +161,7 @@ An attempt was made to set the time to a value less than
the current value of the
.B CLOCK_MONOTONIC
clock (see
-.BR clock_gettime (2)).
+.MR clock_gettime 2 ).
.TP
.B EPERM
The calling process has insufficient privilege to call
@@ -174,7 +174,7 @@ capability is required.
On some architectures, an implementation of
.BR gettimeofday ()
is provided in the
-.BR vdso (7).
+.MR vdso 7 .
.P
The kernel accepts NULL for both
.I tv
@@ -202,7 +202,7 @@ but not
POSIX.1-2008 marks
.BR gettimeofday ()
as obsolete, recommending the use of
-.BR clock_gettime (2)
+.MR clock_gettime 2
instead.
.P
Traditionally, the fields of
@@ -220,7 +220,7 @@ will be set to a nonzero value by
if the current timezone has ever had or will have a daylight saving
rule applied.
In this sense it exactly mirrors the meaning of
-.BR daylight (3)
+.MR daylight 3
for the current zone.
On Linux, with glibc, the setting of the
.I tz_dsttime
@@ -276,21 +276,21 @@ The time returned by
affected by discontinuous jumps in the system time
(e.g., if the system administrator manually changes the system time).
If you need a monotonically increasing clock, see
-.BR clock_gettime (2).
+.MR clock_gettime 2 .
.P
Macros for operating on
.I timeval
structures are described in
-.BR timeradd (3).
+.MR timeradd 3 .
.SH SEE ALSO
-.BR date (1),
-.BR adjtimex (2),
-.BR clock_gettime (2),
-.BR time (2),
-.BR ctime (3),
-.BR ftime (3),
-.BR timeradd (3),
-.BR capabilities (7),
-.BR time (7),
-.BR vdso (7),
-.BR hwclock (8)
+.MR date 1 ,
+.MR adjtimex 2 ,
+.MR clock_gettime 2 ,
+.MR time 2 ,
+.MR ctime 3 ,
+.MR ftime 3 ,
+.MR timeradd 3 ,
+.MR capabilities 7 ,
+.MR time 7 ,
+.MR vdso 7 ,
+.MR hwclock 8
diff --git a/man2/getuid.2 b/man2/getuid.2
index 700571729..025b4ee3d 100644
--- a/man2/getuid.2
+++ b/man2/getuid.2
@@ -71,10 +71,10 @@ and
.BR geteuid ()
wrapper functions transparently deal with this.
See
-.BR syscall (2)
+.MR syscall 2
for details regarding register mapping.
.SH SEE ALSO
-.BR getresuid (2),
-.BR setreuid (2),
-.BR setuid (2),
-.BR credentials (7)
+.MR getresuid 2 ,
+.MR setreuid 2 ,
+.MR setuid 2 ,
+.MR credentials 7
diff --git a/man2/getunwind.2 b/man2/getunwind.2
index 4abecc108..c5c5fd3e8 100644
--- a/man2/getunwind.2
+++ b/man2/getunwind.2
@@ -82,6 +82,6 @@ Linux 2.4.
.P
This system call has been deprecated.
The modern way to obtain the kernel's unwind data is via the
-.BR vdso (7).
+.MR vdso 7 .
.SH SEE ALSO
-.BR getauxval (3)
+.MR getauxval 3
diff --git a/man2/getxattr.2 b/man2/getxattr.2
index f0b872f8c..5a26cfbf8 100644
--- a/man2/getxattr.2
+++ b/man2/getxattr.2
@@ -26,10 +26,10 @@ Extended attributes are
pairs associated with inodes (files, directories, symbolic links, etc.).
They are extensions to the normal attributes which are associated
with all inodes in the system (i.e., the
-.BR stat (2)
+.MR stat 2
data).
A complete overview of extended attributes concepts can be found in
-.BR xattr (7).
+.MR xattr 7 .
.P
.BR getxattr ()
retrieves the value of the extended attribute identified by
@@ -56,7 +56,7 @@ is identical to
only the open file referred to by
.I fd
(as returned by
-.BR open (2))
+.MR open 2 )
is interrogated in place of
.IR path .
.P
@@ -67,7 +67,7 @@ The name includes a namespace prefix; there may be several, disjoint
namespaces associated with an individual inode.
The value of an extended attribute is a chunk of arbitrary textual or
binary data that was assigned using
-.BR setxattr (2).
+.MR setxattr 2 .
.P
If
.I size
@@ -115,7 +115,7 @@ of the
buffer is too small to hold the result.
.P
In addition, the errors documented in
-.BR stat (2)
+.MR stat 2
can also occur.
.SH STANDARDS
Linux.
@@ -130,14 +130,14 @@ glibc 2.3.
.\" Please send any bug reports or comments to these addresses.
.SH EXAMPLES
See
-.BR listxattr (2).
+.MR listxattr 2 .
.SH SEE ALSO
-.BR getfattr (1),
-.BR setfattr (1),
-.BR listxattr (2),
-.BR open (2),
-.BR removexattr (2),
-.BR setxattr (2),
-.BR stat (2),
-.BR symlink (7),
-.BR xattr (7)
+.MR getfattr 1 ,
+.MR setfattr 1 ,
+.MR listxattr 2 ,
+.MR open 2 ,
+.MR removexattr 2 ,
+.MR setxattr 2 ,
+.MR stat 2 ,
+.MR symlink 7 ,
+.MR xattr 7
diff --git a/man2/init_module.2 b/man2/init_module.2
index 95917a079..334e1970a 100644
--- a/man2/init_module.2
+++ b/man2/init_module.2
@@ -26,7 +26,7 @@ unsigned long " len ,
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR init_module ()
loads an ELF image into kernel space,
@@ -176,7 +176,7 @@ or module loading is disabled
(see
.I /proc/sys/kernel/modules_disabled
in
-.BR proc (5)).
+.MR proc 5 ).
.P
The following errors may additionally occur for
.BR init_module ():
@@ -260,7 +260,7 @@ Therefore, in order to employ this system call,
it is (before glibc 2.23) sufficient to
manually declare the interface in your code;
alternatively, you can invoke the system call using
-.BR syscall (2).
+.MR syscall 2 .
.SS Linux 2.4 and earlier
In Linux 2.4 and earlier, the
.BR init_module ()
@@ -335,8 +335,8 @@ See the Linux kernel source file
.I include/linux/module.h
for some useful background information.
.SH SEE ALSO
-.BR create_module (2),
-.BR delete_module (2),
-.BR query_module (2),
-.BR lsmod (8),
-.BR modprobe (8)
+.MR create_module 2 ,
+.MR delete_module 2 ,
+.MR query_module 2 ,
+.MR lsmod 8 ,
+.MR modprobe 8
diff --git a/man2/inotify_add_watch.2 b/man2/inotify_add_watch.2
index 61d3987ec..2ff3288cc 100644
--- a/man2/inotify_add_watch.2
+++ b/man2/inotify_add_watch.2
@@ -34,7 +34,7 @@ are specified in the
.I mask
bit-mask argument.
See
-.BR inotify (7)
+.MR inotify 7
for a description of the bits that can be set in
.IR mask .
.P
@@ -51,12 +51,12 @@ If the filesystem object was already being watched
for the existing watch is returned.
.P
The watch descriptor is returned by later
-.BR read (2)s
+.MR read 2 s
from the inotify file descriptor.
These reads fetch
.I inotify_event
structures (see
-.BR inotify (7))
+.MR inotify 7 )
indicating filesystem events;
the watch descriptor inside this structure identifies
the object for which the event occurred.
@@ -128,8 +128,8 @@ Linux.
Linux 2.6.13.
.SH EXAMPLES
See
-.BR inotify (7).
+.MR inotify 7 .
.SH SEE ALSO
-.BR inotify_init (2),
-.BR inotify_rm_watch (2),
-.BR inotify (7)
+.MR inotify_init 2 ,
+.MR inotify_rm_watch 2 ,
+.MR inotify 7
diff --git a/man2/inotify_init.2 b/man2/inotify_init.2
index c5072ef70..63d6ee424 100644
--- a/man2/inotify_init.2
+++ b/man2/inotify_init.2
@@ -22,7 +22,7 @@ Standard C library
.fi
.SH DESCRIPTION
For an overview of the inotify API, see
-.BR inotify (7).
+.MR inotify 7 .
.P
.BR inotify_init ()
initializes a new inotify instance and returns a file descriptor associated
@@ -42,10 +42,10 @@ to obtain different behavior:
Set the
.B O_NONBLOCK
file status flag on the open file description (see
-.BR open (2))
+.MR open 2 )
referred to by the new file descriptor.
Using this flag saves extra calls to
-.BR fcntl (2)
+.MR fcntl 2
to achieve the same result.
.TP
.B IN_CLOEXEC
@@ -55,7 +55,7 @@ flag on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.SH RETURN VALUE
On success, these system calls return a new file descriptor.
@@ -92,6 +92,6 @@ glibc 2.4.
Linux 2.6.27,
glibc 2.9.
.SH SEE ALSO
-.BR inotify_add_watch (2),
-.BR inotify_rm_watch (2),
-.BR inotify (7)
+.MR inotify_add_watch 2 ,
+.MR inotify_rm_watch 2 ,
+.MR inotify 7
diff --git a/man2/inotify_rm_watch.2 b/man2/inotify_rm_watch.2
index 2fde52c61..61107e093 100644
--- a/man2/inotify_rm_watch.2
+++ b/man2/inotify_rm_watch.2
@@ -30,7 +30,7 @@ Removing a watch causes an
.B IN_IGNORED
event to be generated for this watch descriptor.
(See
-.BR inotify (7).)
+.MR inotify 7 .)
.SH RETURN VALUE
On success,
.BR inotify_rm_watch ()
@@ -55,6 +55,6 @@ Linux.
.SH HISTORY
Linux 2.6.13.
.SH SEE ALSO
-.BR inotify_add_watch (2),
-.BR inotify_init (2),
-.BR inotify (7)
+.MR inotify_add_watch 2 ,
+.MR inotify_init 2 ,
+.MR inotify 7
diff --git a/man2/intro.2 b/man2/intro.2
index 3986bb0a1..32662e1d5 100644
--- a/man2/intro.2
+++ b/man2/intro.2
@@ -44,11 +44,11 @@ Most commonly, the main DESCRIPTION will focus on the C library interface,
and differences for the system call are covered in the NOTES section.
.P
For a list of the Linux system calls, see
-.BR syscalls (2).
+.MR syscalls 2 .
.SH RETURN VALUE
On error, most system calls return a negative error number
(i.e., the negated value of one of the constants described in
-.BR errno (3)).
+.MR errno 3 ).
The C library wrapper hides this detail from the caller: when a
system call returns a negative value, the wrapper copies the
absolute value into the
@@ -69,22 +69,22 @@ in the man page SYNOPSIS section.
header files.)
In such cases, the required macro is described in the man page.
For further information on feature test macros, see
-.BR feature_test_macros (7).
+.MR feature_test_macros 7 .
.SH STANDARDS
Certain terms and abbreviations are used to indicate UNIX variants
and standards to which calls in this section conform.
See
-.BR standards (7).
+.MR standards 7 .
.SH NOTES
.SS Calling directly
In most cases, it is unnecessary to invoke a system call directly,
but there are times when the Standard C library does not implement
a nice wrapper function for you.
In this case, the programmer must manually invoke the system call using
-.BR syscall (2).
+.MR syscall 2 .
Historically, this was also possible using one of the _syscall macros
described in
-.BR _syscall (2).
+.MR _syscall 2 .
.SS Authors and copyright conditions
Look at the header of the manual page source for the author(s) and copyright
conditions.
@@ -92,24 +92,24 @@ Note that these can be different from page to page!
.SH SEE ALSO
.ad l
.nh
-.BR _syscall (2),
-.BR syscall (2),
-.BR syscalls (2),
-.BR errno (3),
-.BR intro (3),
-.BR capabilities (7),
-.BR credentials (7),
-.BR feature_test_macros (7),
-.BR mq_overview (7),
-.BR path_resolution (7),
-.BR pipe (7),
-.BR pty (7),
-.BR sem_overview (7),
-.BR shm_overview (7),
-.BR signal (7),
-.BR socket (7),
-.BR standards (7),
-.BR symlink (7),
-.BR system_data_types (7),
-.BR sysvipc (7),
-.BR time (7)
+.MR _syscall 2 ,
+.MR syscall 2 ,
+.MR syscalls 2 ,
+.MR errno 3 ,
+.MR intro 3 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR feature_test_macros 7 ,
+.MR mq_overview 7 ,
+.MR path_resolution 7 ,
+.MR pipe 7 ,
+.MR pty 7 ,
+.MR sem_overview 7 ,
+.MR shm_overview 7 ,
+.MR signal 7 ,
+.MR socket 7 ,
+.MR standards 7 ,
+.MR symlink 7 ,
+.MR system_data_types 7 ,
+.MR sysvipc 7 ,
+.MR time 7
diff --git a/man2/io_cancel.2 b/man2/io_cancel.2
index 3820a916b..2b629b03d 100644
--- a/man2/io_cancel.2
+++ b/man2/io_cancel.2
@@ -35,7 +35,7 @@ The
.BR io_cancel ()
system call
attempts to cancel an asynchronous I/O operation previously submitted with
-.BR io_submit (2).
+.MR io_submit 2 .
The
.I iocb
argument describes the operation to be canceled and the
@@ -87,7 +87,7 @@ wrapper does not follow the usual C library conventions for indicating errors:
on error it returns a negated error number
(the negative of one of the values listed in ERRORS).
If the system call is invoked via
-.BR syscall (2),
+.MR syscall 2 ,
then the return value follows the usual conventions for
indicating an error: \-1, with
.I errno
@@ -97,10 +97,10 @@ Linux.
.SH HISTORY
Linux 2.5.
.SH SEE ALSO
-.BR io_destroy (2),
-.BR io_getevents (2),
-.BR io_setup (2),
-.BR io_submit (2),
-.BR aio (7)
+.MR io_destroy 2 ,
+.MR io_getevents 2 ,
+.MR io_setup 2 ,
+.MR io_submit 2 ,
+.MR aio 7
.\" .SH AUTHOR
.\" Kent Yoder.
diff --git a/man2/io_destroy.2 b/man2/io_destroy.2
index 451cf82ff..bdb63815d 100644
--- a/man2/io_destroy.2
+++ b/man2/io_destroy.2
@@ -21,7 +21,7 @@ Standard C library
glibc provides no wrapper for
.BR io_destroy (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.IR Note :
this page describes the raw Linux system call interface.
@@ -78,7 +78,7 @@ wrapper does not follow the usual C library conventions for indicating errors:
on error it returns a negated error number
(the negative of one of the values listed in ERRORS).
If the system call is invoked via
-.BR syscall (2),
+.MR syscall 2 ,
then the return value follows the usual conventions for
indicating an error: \-1, with
.I errno
@@ -88,10 +88,10 @@ Linux.
.SH HISTORY
Linux 2.5.
.SH SEE ALSO
-.BR io_cancel (2),
-.BR io_getevents (2),
-.BR io_setup (2),
-.BR io_submit (2),
-.BR aio (7)
+.MR io_cancel 2 ,
+.MR io_getevents 2 ,
+.MR io_setup 2 ,
+.MR io_submit 2 ,
+.MR aio 7
.\" .SH AUTHOR
.\" Kent Yoder.
diff --git a/man2/io_getevents.2 b/man2/io_getevents.2
index e426c1eae..95760688c 100644
--- a/man2/io_getevents.2
+++ b/man2/io_getevents.2
@@ -27,7 +27,7 @@ see VERSIONS.
glibc provides no wrapper for
.BR io_getevents (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.IR Note :
this page describes the raw Linux system call interface.
@@ -47,7 +47,7 @@ specified by \fIctx_id\fP.
.P
The \fItimeout\fP argument specifies the amount of time to wait for events,
and is specified as a relative timeout in a
-.BR timespec (3)
+.MR timespec 3
structure.
.P
The specified time will be rounded up to the system clock granularity
@@ -79,7 +79,7 @@ Either \fIevents\fP or \fItimeout\fP is an invalid pointer.
.TP
.B EINTR
Interrupted by a signal handler; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
\fIctx_id\fP is invalid.
@@ -111,7 +111,7 @@ wrapper does not follow the usual C library conventions for indicating errors:
on error it returns a negated error number
(the negative of one of the values listed in ERRORS).
If the system call is invoked via
-.BR syscall (2),
+.MR syscall 2 ,
then the return value follows the usual conventions for
indicating an error: \-1, with
.I errno
@@ -126,12 +126,12 @@ An invalid
may cause a segmentation fault instead of generating the error
.BR EINVAL .
.SH SEE ALSO
-.BR io_cancel (2),
-.BR io_destroy (2),
-.BR io_setup (2),
-.BR io_submit (2),
-.BR timespec (3),
-.BR aio (7),
-.BR time (7)
+.MR io_cancel 2 ,
+.MR io_destroy 2 ,
+.MR io_setup 2 ,
+.MR io_submit 2 ,
+.MR timespec 3 ,
+.MR aio 7 ,
+.MR time 7
.\" .SH AUTHOR
.\" Kent Yoder.
diff --git a/man2/io_setup.2 b/man2/io_setup.2
index 32db66422..180c1ad3b 100644
--- a/man2/io_setup.2
+++ b/man2/io_setup.2
@@ -54,7 +54,7 @@ The specified \fInr_events\fP exceeds the limit of available events,
as defined in
.I /proc/sys/fs/aio\-max\-nr
(see
-.BR proc (5)).
+.MR proc 5 ).
.TP
.B EFAULT
An invalid pointer is passed for \fIctx_idp\fP.
@@ -73,7 +73,7 @@ is not implemented on this architecture.
.SH VERSIONS
glibc does not provide a wrapper for this system call.
You could invoke it using
-.BR syscall (2).
+.MR syscall 2 .
But instead, you probably want to use the
.BR io_setup ()
wrapper function provided by
@@ -95,7 +95,7 @@ wrapper does not follow the usual C library conventions for indicating errors:
on error it returns a negated error number
(the negative of one of the values listed in ERRORS).
If the system call is invoked via
-.BR syscall (2),
+.MR syscall 2 ,
then the return value follows the usual conventions for
indicating an error: \-1, with
.I errno
@@ -105,10 +105,10 @@ Linux.
.SH HISTORY
Linux 2.5.
.SH SEE ALSO
-.BR io_cancel (2),
-.BR io_destroy (2),
-.BR io_getevents (2),
-.BR io_submit (2),
-.BR aio (7)
+.MR io_cancel 2 ,
+.MR io_destroy 2 ,
+.MR io_getevents 2 ,
+.MR io_submit 2 ,
+.MR aio 7
.\" .SH AUTHOR
.\" Kent Yoder.
diff --git a/man2/io_submit.2 b/man2/io_submit.2
index c53ae9aaf..0d810aed7 100644
--- a/man2/io_submit.2
+++ b/man2/io_submit.2
@@ -77,7 +77,7 @@ This data is copied into the
field of the
.I io_event
structure upon I/O completion (see
-.BR io_getevents (2)).
+.MR io_getevents 2 ).
.TP
.I aio_key
This is an internal field used by the kernel.
@@ -94,11 +94,11 @@ The valid values are:
.\" commit e1fc742e14e01d84d9693c4aca4ab23da65811fb
Append data to the end of the file.
See the description of the flag of the same name in
-.BR pwritev2 (2)
+.MR pwritev2 2
as well as the description of
.B O_APPEND
in
-.BR open (2).
+.MR open 2 .
The
.I aio_offset
field is ignored.
@@ -108,11 +108,11 @@ The file offset is not changed.
Write operation complete according to requirement of
synchronized I/O data integrity.
See the description of the flag of the same name in
-.BR pwritev2 (2)
+.MR pwritev2 2
as well the description of
.B O_DSYNC
in
-.BR open (2).
+.MR open 2 .
.TP
.BR RWF_HIPRI " (since Linux 4.13)"
High priority request, poll if possible
@@ -129,17 +129,17 @@ in the
field of the
.I io_event
structure (see
-.BR io_getevents (2)).
+.MR io_getevents 2 ).
.TP
.BR RWF_SYNC " (since Linux 4.13)"
Write operation complete according to requirement of
synchronized I/O file integrity.
See the description of the flag of the same name in
-.BR pwritev2 (2)
+.MR pwritev2 2
as well the description of
.B O_SYNC
in
-.BR open (2).
+.MR open 2 .
.RE
.TP
.I aio_lio_opcode
@@ -248,7 +248,7 @@ capability.
.SH VERSIONS
glibc does not provide a wrapper for this system call.
You could invoke it using
-.BR syscall (2).
+.MR syscall 2 .
But instead, you probably want to use the
.BR io_submit ()
wrapper function provided by
@@ -270,7 +270,7 @@ wrapper does not follow the usual C library conventions for indicating errors:
on error it returns a negated error number
(the negative of one of the values listed in ERRORS).
If the system call is invoked via
-.BR syscall (2),
+.MR syscall 2 ,
then the return value follows the usual conventions for
indicating an error: \-1, with
.I errno
@@ -280,10 +280,10 @@ Linux.
.SH HISTORY
Linux 2.5.
.SH SEE ALSO
-.BR io_cancel (2),
-.BR io_destroy (2),
-.BR io_getevents (2),
-.BR io_setup (2),
-.BR aio (7)
+.MR io_cancel 2 ,
+.MR io_destroy 2 ,
+.MR io_getevents 2 ,
+.MR io_setup 2 ,
+.MR aio 7
.\" .SH AUTHOR
.\" Kent Yoder.
diff --git a/man2/ioctl.2 b/man2/ioctl.2
index c10a5e2ec..517215eea 100644
--- a/man2/ioctl.2
+++ b/man2/ioctl.2
@@ -114,9 +114,9 @@ Version\~7 AT&T UNIX has
(where
.B struct sgttyb
has historically been used by
-.BR stty (2)
+.MR stty 2
and
-.BR gtty (2),
+.MR gtty 2 ,
and is polymorphic by request type (like a
.B void *
would be, if it had been available)).
@@ -151,7 +151,7 @@ SysVr4 has
.SH NOTES
In order to use this call, one needs an open file descriptor.
Often the
-.BR open (2)
+.MR open 2
call has unwanted side effects, that can be avoided under Linux
by giving it the
.B O_NONBLOCK
@@ -210,20 +210,20 @@ Thus, it seems that the new structure only gave disadvantages:
it does not help in checking, but it causes varying values
for the various architectures.
.SH SEE ALSO
-.BR execve (2),
-.BR fcntl (2),
-.BR ioctl_console (2),
-.BR ioctl_fat (2),
-.BR ioctl_ficlone (2),
-.BR ioctl_ficlonerange (2),
-.BR ioctl_fideduperange (2),
-.BR ioctl_fslabel (2),
-.BR ioctl_getfsmap (2),
-.BR ioctl_iflags (2),
-.BR ioctl_ns (2),
-.BR ioctl_tty (2),
-.BR ioctl_userfaultfd (2),
-.BR open (2),
+.MR execve 2 ,
+.MR fcntl 2 ,
+.MR ioctl_console 2 ,
+.MR ioctl_fat 2 ,
+.MR ioctl_ficlone 2 ,
+.MR ioctl_ficlonerange 2 ,
+.MR ioctl_fideduperange 2 ,
+.MR ioctl_fslabel 2 ,
+.MR ioctl_getfsmap 2 ,
+.MR ioctl_iflags 2 ,
+.MR ioctl_ns 2 ,
+.MR ioctl_tty 2 ,
+.MR ioctl_userfaultfd 2 ,
+.MR open 2 ,
.\" .BR mt (4),
-.BR sd (4),
-.BR tty (4)
+.MR sd 4 ,
+.MR tty 4
diff --git a/man2/ioctl_console.2 b/man2/ioctl_console.2
index abc50b786..b76dfe04e 100644
--- a/man2/ioctl_console.2
+++ b/man2/ioctl_console.2
@@ -24,7 +24,7 @@
ioctl_console \- ioctls for console terminal and virtual consoles
.SH DESCRIPTION
The following Linux-specific
-.BR ioctl (2)
+.MR ioctl 2
requests are supported for console terminals and virtual consoles.
Each requires a third argument, assumed here to be
.IR argp .
@@ -626,7 +626,7 @@ struct vt_sizes {
.IP
Note that this does not change the videomode.
See
-.BR resizecons (8).
+.MR resizecons 8 .
(Since Linux 1.1.54.)
.TP
.B VT_RESIZEX
@@ -655,7 +655,7 @@ Any parameter may be set to zero, indicating "no change", but if
multiple parameters are set, they must be self-consistent.
Note that this does not change the videomode.
See
-.BR resizecons (8).
+.MR resizecons 8 .
(Since Linux 1.3.3.)
.P
The action of the following ioctls depends on the first byte in the struct
@@ -888,28 +888,28 @@ on future versions of Linux.
.P
Use POSIX functions.
.SH SEE ALSO
-.BR dumpkeys (1),
-.BR kbd_mode (1),
-.BR loadkeys (1),
-.BR mknod (1),
-.BR setleds (1),
-.BR setmetamode (1),
-.BR execve (2),
-.BR fcntl (2),
-.BR ioctl_tty (2),
-.BR ioperm (2),
-.BR termios (3),
-.BR console_codes (4),
-.BR mt (4),
-.BR sd (4),
-.BR tty (4),
-.BR ttyS (4),
-.BR vcs (4),
-.BR vcsa (4),
-.BR charsets (7),
-.BR mapscrn (8),
-.BR resizecons (8),
-.BR setfont (8)
+.MR dumpkeys 1 ,
+.MR kbd_mode 1 ,
+.MR loadkeys 1 ,
+.MR mknod 1 ,
+.MR setleds 1 ,
+.MR setmetamode 1 ,
+.MR execve 2 ,
+.MR fcntl 2 ,
+.MR ioctl_tty 2 ,
+.MR ioperm 2 ,
+.MR termios 3 ,
+.MR console_codes 4 ,
+.MR mt 4 ,
+.MR sd 4 ,
+.MR tty 4 ,
+.MR ttyS 4 ,
+.MR vcs 4 ,
+.MR vcsa 4 ,
+.MR charsets 7 ,
+.MR mapscrn 8 ,
+.MR resizecons 8 ,
+.MR setfont 8
.P
.IR /usr/include/linux/kd.h ,
.I /usr/include/linux/vt.h
diff --git a/man2/ioctl_fat.2 b/man2/ioctl_fat.2
index 294acc6ff..d01942218 100644
--- a/man2/ioctl_fat.2
+++ b/man2/ioctl_fat.2
@@ -23,7 +23,7 @@ Standard C library
.fi
.SH DESCRIPTION
The
-.BR ioctl (2)
+.MR ioctl 2
system call can be used to read and write metadata of FAT filesystems that
are not accessible using other system calls.
.SS Reading and setting file attributes
@@ -37,7 +37,7 @@ The
.I fd
argument contains a file descriptor for a file or directory.
It is sufficient to create the file descriptor by calling
-.BR open (2)
+.MR open 2
with the
.B O_RDONLY
flag.
@@ -82,7 +82,7 @@ The
argument can be a file descriptor for any file or directory of the
filesystem.
It is sufficient to create the file descriptor by calling
-.BR open (2)
+.MR open 2
with the
.B O_RDONLY
flag.
@@ -114,13 +114,13 @@ The
.I fd
argument must be a file descriptor for a directory.
It is sufficient to create the file descriptor by calling
-.BR open (2)
+.MR open 2
with the
.B O_RDONLY
flag.
The file descriptor can be used only once to iterate over the directory
entries by calling
-.BR ioctl (2)
+.MR ioctl 2
repeatedly.
.P
The
@@ -163,7 +163,7 @@ To keep backward compatibility, a length of 0 for the short filename signals
that the end of the directory has been reached.
However, the preferred method for detecting the end of the directory
is to test the
-.BR ioctl (2)
+.MR ioctl 2
return value.
If no long filename exists, field
.I d_reclen
@@ -207,7 +207,7 @@ The file descriptor
does not refer to an object in a FAT filesystem.
.P
For further error values, see
-.BR ioctl (2).
+.MR ioctl 2 .
.SH STANDARDS
Linux.
.SH HISTORY
@@ -229,7 +229,7 @@ Linux 3.11.
.SH EXAMPLES
.SS Toggling the archive flag
The following program demonstrates the usage of
-.BR ioctl (2)
+.MR ioctl 2
to manipulate file attributes.
The program reads and displays the archive attribute of a file.
After inverting the value of the attribute,
@@ -333,7 +333,7 @@ main(int argc, char *argv[])
.\" SRC END
.SS Reading the volume ID
The following program demonstrates the use of
-.BR ioctl (2)
+.MR ioctl 2
to display the volume ID of a FAT filesystem.
.P
The following output was recorded when applying the program for
@@ -398,7 +398,7 @@ main(int argc, char *argv[])
.\" SRC END
.SS Listing a directory
The following program demonstrates the use of
-.BR ioctl (2)
+.MR ioctl 2
to list a directory.
.P
The following was recorded when applying the program to the directory
@@ -486,4 +486,4 @@ main(int argc, char *argv[])
.\" SRC END
.in
.SH SEE ALSO
-.BR ioctl (2)
+.MR ioctl 2
diff --git a/man2/ioctl_ficlonerange.2 b/man2/ioctl_ficlonerange.2
index 63a430dd4..73865758a 100644
--- a/man2/ioctl_ficlonerange.2
+++ b/man2/ioctl_ficlonerange.2
@@ -19,7 +19,7 @@ Standard C library
.SH DESCRIPTION
If a filesystem supports files sharing physical storage between multiple
files ("reflink"), this
-.BR ioctl (2)
+.MR ioctl 2
operation can be used to make some of the data in the
.I src_fd
file appear in the
@@ -122,8 +122,8 @@ and
and were private to Btrfs.
.SH NOTES
Because a copy-on-write operation requires the allocation of new storage, the
-.BR fallocate (2)
+.MR fallocate 2
operation may unshare shared blocks to guarantee that subsequent writes will
not fail because of lack of disk space.
.SH SEE ALSO
-.BR ioctl (2)
+.MR ioctl 2
diff --git a/man2/ioctl_fideduperange.2 b/man2/ioctl_fideduperange.2
index 8f43a28cc..7030b7923 100644
--- a/man2/ioctl_fideduperange.2
+++ b/man2/ioctl_fideduperange.2
@@ -18,7 +18,7 @@ Standard C library
.SH DESCRIPTION
If a filesystem supports files sharing physical storage between multiple
files, this
-.BR ioctl (2)
+.MR ioctl 2
operation can be used to make some of the data in the
.B src_fd
file appear in the
@@ -193,8 +193,8 @@ It was previously known as
and was private to Btrfs.
.SH NOTES
Because a copy-on-write operation requires the allocation of new storage, the
-.BR fallocate (2)
+.MR fallocate 2
operation may unshare shared blocks to guarantee that subsequent writes will
not fail because of lack of disk space.
.SH SEE ALSO
-.BR ioctl (2)
+.MR ioctl 2
diff --git a/man2/ioctl_fslabel.2 b/man2/ioctl_fslabel.2
index c4a211c4b..45fb504a0 100644
--- a/man2/ioctl_fslabel.2
+++ b/man2/ioctl_fslabel.2
@@ -17,7 +17,7 @@ Standard C library
.fi
.SH DESCRIPTION
If a filesystem supports online label manipulation, these
-.BR ioctl (2)
+.MR ioctl 2
operations can be used to get or set the filesystem label for the filesystem
on which
.I fd
@@ -68,5 +68,5 @@ must always be null-terminated, and the string returned by
.B FS_IOC_GETFSLABEL
will always be null-terminated.
.SH SEE ALSO
-.BR ioctl (2),
-.BR blkid (8)
+.MR ioctl 2 ,
+.MR blkid 8
diff --git a/man2/ioctl_getfsmap.2 b/man2/ioctl_getfsmap.2
index 0b0546743..4105a4fe2 100644
--- a/man2/ioctl_getfsmap.2
+++ b/man2/ioctl_getfsmap.2
@@ -17,7 +17,7 @@ Standard C library
.fi
.SH DESCRIPTION
This
-.BR ioctl (2)
+.MR ioctl 2
operation retrieves physical extent mappings for a filesystem.
This information can be used to discover which files are mapped to a physical
block, examine free space, or find known bad blocks, among other things.
@@ -348,4 +348,4 @@ in the
.I xfsprogs
distribution for a sample program.
.SH SEE ALSO
-.BR ioctl (2)
+.MR ioctl 2
diff --git a/man2/ioctl_iflags.2 b/man2/ioctl_iflags.2
index 0f4c533bc..a37e06db3 100644
--- a/man2/ioctl_iflags.2
+++ b/man2/ioctl_iflags.2
@@ -11,7 +11,7 @@ Various Linux filesystems support the notion of
.IR "inode flags" \[em]attributes
that modify the semantics of files and directories.
These flags can be retrieved and modified using two
-.BR ioctl (2)
+.MR ioctl 2
operations:
.P
.in +4n
@@ -28,17 +28,17 @@ ioctl(fd, FS_IOC_SETFLAGS, &attr); /* Update flags for inode
.in
.P
The
-.BR lsattr (1)
+.MR lsattr 1
and
-.BR chattr (1)
+.MR chattr 1
shell commands provide interfaces to these two operations,
allowing a user to view and modify the inode flags associated with a file.
.P
The following flags are supported
(shown along with the corresponding letter used to indicate the flag by
-.BR lsattr (1)
+.MR lsattr 1
and
-.BR chattr (1)):
+.MR chattr 1 ):
.TP
.BR FS_APPEND_FL " \[aq]a\[aq]"
The file can be opened only with the
@@ -55,7 +55,7 @@ This flag is
.I not
supported by most of the mainstream filesystem implementations;
one exception is
-.BR btrfs (5).
+.MR btrfs 5 .
.TP
.BR FS_DIRSYNC_FL " \[aq]D\[aq] (since Linux 2.6.0)"
Write directory changes synchronously to disk.
@@ -79,9 +79,9 @@ can set or clear this attribute.
.TP
.BR FS_JOURNAL_DATA_FL " \[aq]j\[aq]"
Enable journaling of file data on
-.BR ext3 (5)
+.MR ext3 5
and
-.BR ext4 (5)
+.MR ext4 5
filesystems.
On a filesystem that is journaling in
.I ordered
@@ -97,7 +97,7 @@ Don't update the file last access time when the file is accessed.
This can provide I/O performance benefits for applications that do not care
about the accuracy of this timestamp.
This flag provides functionality similar to the
-.BR mount (2)
+.MR mount 2
.B MS_NOATIME
flag, but on a per-file basis.
.\" .TP
@@ -109,13 +109,13 @@ The file will not be subject to copy-on-write updates.
This flag has an effect only on filesystems that support copy-on-write
semantics, such as Btrfs.
See
-.BR chattr (1)
+.MR chattr 1
and
-.BR btrfs (5).
+.MR btrfs 5 .
.TP
.BR FS_NODUMP_FL " \[aq]d\[aq]"
Don't include this file in backups made using
-.BR dump (8).
+.MR dump 8 .
.TP
.BR FS_NOTAIL_FL " \[aq]t\[aq]"
This flag is supported only on Reiserfs.
@@ -151,7 +151,7 @@ flag.
Mark a directory for special treatment under the Orlov block-allocation
strategy.
See
-.BR chattr (1)
+.MR chattr 1
for details.
This flag can be applied only to directories and
has an effect only for ext2, ext3, and ext4.
@@ -192,11 +192,11 @@ notwithstanding the implication in the kernel source file
that the argument is
.IR long\~* .
.SH SEE ALSO
-.BR chattr (1),
-.BR lsattr (1),
-.BR mount (2),
-.BR btrfs (5),
-.BR ext4 (5),
-.BR xfs (5),
-.BR xattr (7),
-.BR mount (8)
+.MR chattr 1 ,
+.MR lsattr 1 ,
+.MR mount 2 ,
+.MR btrfs 5 ,
+.MR ext4 5 ,
+.MR xfs 5 ,
+.MR xattr 7 ,
+.MR mount 8
diff --git a/man2/ioctl_ns.2 b/man2/ioctl_ns.2
index 61a1afe65..f2285c5c3 100644
--- a/man2/ioctl_ns.2
+++ b/man2/ioctl_ns.2
@@ -11,11 +11,11 @@ ioctl_ns \- ioctl() operations for Linux namespaces
.\"
.SS Discovering namespace relationships
The following
-.BR ioctl (2)
+.MR ioctl 2
operations are provided to allow discovery of namespace relationships (see
-.BR user_namespaces (7)
+.MR user_namespaces 7
and
-.BR pid_namespaces (7)).
+.MR pid_namespaces 7 ).
The form of the calls is:
.P
.in +4n
@@ -55,11 +55,11 @@ The new file descriptor returned by these operations is opened with the
and
.B O_CLOEXEC
(close-on-exec; see
-.BR fcntl (2))
+.MR fcntl 2 )
flags.
.P
By applying
-.BR fstat (2)
+.MR fstat 2
to the returned file descriptor, one obtains a
.I stat
structure whose
@@ -72,7 +72,7 @@ This inode number can be matched with the inode number of another
file to determine whether that is the owning/parent namespace.
.P
Either of these
-.BR ioctl (2)
+.MR ioctl 2
operations can fail with the following errors:
.TP
.B EPERM
@@ -118,9 +118,9 @@ file.
The return value is one of the
.B CLONE_NEW*
values that can be specified to
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
in order to create a namespace.
.\" ============================================================
.\"
@@ -168,7 +168,7 @@ file.
Linux.
.SH EXAMPLES
The example shown below uses the
-.BR ioctl (2)
+.MR ioctl 2
operations described above to perform simple
discovery of namespace relationships.
The following shell sessions show various examples of the use
@@ -185,7 +185,7 @@ The parent namespace is outside your namespace scope
.in
.P
Create a process running
-.BR sleep (1)
+.MR sleep 1
that resides in new user and UTS namespaces,
and show that the new UTS namespace is associated with the new user namespace:
.P
@@ -336,7 +336,7 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fstat (2),
-.BR ioctl (2),
-.BR proc (5),
-.BR namespaces (7)
+.MR fstat 2 ,
+.MR ioctl 2 ,
+.MR proc 5 ,
+.MR namespaces 7
diff --git a/man2/ioctl_pagemap_scan.2 b/man2/ioctl_pagemap_scan.2
index 0394243bc..b83cbdec9 100644
--- a/man2/ioctl_pagemap_scan.2
+++ b/man2/ioctl_pagemap_scan.2
@@ -19,7 +19,7 @@ Standard C library
.fi
.SH DESCRIPTION
This
-.BR ioctl (2)
+.MR ioctl 2
is used to get and optionally clear some specific flags from page table entries.
The information is returned with
.B PAGE_SIZE
@@ -30,12 +30,12 @@ the
.B UFFD_FEATURE_WP_ASYNC
must be enabled by
.B UFFDIO_API
-.BR ioctl (2)
+.MR ioctl 2
on
.B userfaultfd
and memory range must be registered with
.B UFFDIO_REGISTER
-.BR ioctl (2)
+.MR ioctl 2
in
.B UFFDIO_REGISTER_MODE_WP
mode.
@@ -203,4 +203,4 @@ Linux.
.SH HISTORY
Linux 6.7.
.SH SEE ALSO
-.BR ioctl (2)
+.MR ioctl 2
diff --git a/man2/ioctl_pipe.2 b/man2/ioctl_pipe.2
index 5f5c42652..32f48d550 100644
--- a/man2/ioctl_pipe.2
+++ b/man2/ioctl_pipe.2
@@ -16,10 +16,10 @@ ioctl_pipe \- ioctl() operations for General notification mechanism
.fi
.SH DESCRIPTION
The following
-.BR ioctl (2)
+.MR ioctl 2
operations are provided to set up general notification queue parameters.
The notification queue is built on the top of a
-.BR pipe (2)
+.MR pipe 2
opened with the
.B O_NOTIFICATION_PIPE
flag.
@@ -60,5 +60,5 @@ struct watch_notification_type_filter {
.EE
.in
.SH SEE ALSO
-.BR pipe (2),
-.BR ioctl (2)
+.MR pipe 2 ,
+.MR ioctl 2
diff --git a/man2/ioctl_tty.2 b/man2/ioctl_tty.2
index 9f198b1d8..78a721ac9 100644
--- a/man2/ioctl_tty.2
+++ b/man2/ioctl_tty.2
@@ -22,7 +22,7 @@ Standard C library
.fi
.SH DESCRIPTION
The
-.BR ioctl (2)
+.MR ioctl 2
call for terminals and serial ports accepts many possible command arguments.
Most require a third argument, of varying type, here called
.I argp
@@ -33,7 +33,7 @@ Use of
.BR ioctl ()
makes for nonportable programs.
Use the POSIX interface described in
-.BR termios (3)
+.MR termios 3
whenever possible.
.P
Please note that
@@ -270,7 +270,7 @@ Equivalent to
.IR "tcflow(fd, arg)" .
.IP
See
-.BR tcflow (3)
+.MR tcflow 3
for the argument values
.BR TCOOFF ,
.BR TCOON ,
@@ -305,7 +305,7 @@ Equivalent to
.IR "tcflush(fd, arg)" .
.IP
See
-.BR tcflush (3)
+.MR tcflush 3
for the argument values
.BR TCIFLUSH ,
.BR TCOFLUSH ,
@@ -323,7 +323,7 @@ output buffer is empty and also hardware transmitter is physically empty.
.IP
Does not have to be supported by all serial tty drivers.
.IP
-.BR tcdrain (3)
+.MR tcdrain 3
does not wait and returns immediately when
.B TIOCSER_TEMT
bit is set.
@@ -446,7 +446,7 @@ Argument:
.IP
Put the terminal into exclusive mode.
No further
-.BR open (2)
+.MR open 2
operations on the terminal are permitted.
(They fail with
.BR EBUSY ,
@@ -496,7 +496,7 @@ Can be applied to the master side of a pseudoterminal only (and will return
.B ENOTTY
otherwise).
In packet mode, each subsequent
-.BR read (2)
+.MR read 2
will return a packet that either contains a single nonzero control byte,
or has a single byte containing zero (\[aq]\e0\[aq]) followed by data
written on the slave side of the pseudoterminal.
@@ -532,17 +532,17 @@ T}
While packet mode is in use, the presence
of control status information to be read
from the master side may be detected by a
-.BR select (2)
+.MR select 2
for exceptional conditions or a
-.BR poll (2)
+.MR poll 2
for the
.B POLLPRI
event.
.IP
This mode is used by
-.BR rlogin (1)
+.MR rlogin 1
and
-.BR rlogind (8)
+.MR rlogind 8
to implement a remote-echoed,
locally \fB\[ha]S\fP/\fB\[ha]Q\fP flow-controlled remote login.
.TP
@@ -564,7 +564,7 @@ is nonzero) or remove (if
.I *argp
is zero) the lock on the pseudoterminal slave device.
(See also
-.BR unlockpt (3).)
+.MR unlockpt 3 .)
.TP
.B TIOCGPTLCK
Argument:
@@ -585,7 +585,7 @@ Given a file descriptor in
.I fd
that refers to a pseudoterminal master,
open (with the given
-.BR open (2)-style
+.MR open 2 -style
.IR flags )
and return a new file descriptor that refers to the peer
pseudoterminal slave device.
@@ -595,12 +595,12 @@ is accessible through the calling process's mount namespace.
.IP
Security-conscious programs interacting with namespaces may wish to use this
operation rather than
-.BR open (2)
+.MR open 2
with the pathname returned by
-.BR ptsname (3),
+.MR ptsname 3 ,
and similar library functions that have insecure APIs.
(For example, confusion can occur in some cases using
-.BR ptsname (3)
+.MR ptsname 3
with a pathname where a devpts filesystem
has been mounted in a different mount namespace.)
.P
@@ -709,7 +709,7 @@ If the
.B CLOCAL
flag for a line is off, the hardware carrier detect (DCD)
signal is significant, and an
-.BR open (2)
+.MR open 2
of the corresponding terminal will block until DCD is asserted,
unless the
.B O_NONBLOCK
@@ -723,7 +723,7 @@ and is off for lines with modems.
For the
.B TIOCLINUX
ioctl, see
-.BR ioctl_console (2).
+.MR ioctl_console 2 .
.SS Kernel debugging
.B "#include <linux/tty.h>"
.TP
@@ -756,7 +756,7 @@ This command was removed in Linux 2.5.67.
.\" Set serial info.
.SH RETURN VALUE
The
-.BR ioctl (2)
+.MR ioctl 2
system call returns 0 on success.
On error, it returns \-1 and sets
.I errno
@@ -902,11 +902,11 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR ldattach (8),
-.BR ioctl (2),
-.BR ioctl_console (2),
-.BR termios (3),
-.BR pty (7)
+.MR ldattach 8 ,
+.MR ioctl 2 ,
+.MR ioctl_console 2 ,
+.MR termios 3 ,
+.MR pty 7
.\"
.\" FIONBIO const int *
.\" FIONCLEX void
diff --git a/man2/ioctl_userfaultfd.2 b/man2/ioctl_userfaultfd.2
index a2380a670..b2201a05e 100644
--- a/man2/ioctl_userfaultfd.2
+++ b/man2/ioctl_userfaultfd.2
@@ -21,9 +21,9 @@ Standard C library
.fi
.SH DESCRIPTION
Various
-.BR ioctl (2)
+.MR ioctl 2
operations can be performed on a userfaultfd object (created by a call to
-.BR userfaultfd (2))
+.MR userfaultfd 2 )
using calls of the form:
.P
.in +4n
@@ -42,7 +42,7 @@ is a pointer to a data structure that is specific to
.IR cmd .
.P
The various
-.BR ioctl (2)
+.MR ioctl 2
operations are described below.
The
.BR UFFDIO_API ,
@@ -89,7 +89,7 @@ and sets the
and
.I ioctls
fields to bit masks representing all the available features and the generic
-.BR ioctl (2)
+.MR ioctl 2
operations available.
.P
Since Linux 4.11,
@@ -118,7 +118,7 @@ field must be initialized to zero before the call to
and zero (i.e., no feature bits) is placed in the
.I features
field by the kernel upon return from
-.BR ioctl (2).
+.MR ioctl 2 .
.P
If the application sets unsupported feature bits,
the kernel will zero out the returned
@@ -132,7 +132,7 @@ The following feature bits may be set:
When this feature is enabled,
the userfaultfd objects associated with a parent process are duplicated
into the child process during
-.BR fork (2)
+.MR fork 2
and a
.B UFFD_EVENT_FORK
event is delivered to the userfaultfd monitor
@@ -140,14 +140,14 @@ event is delivered to the userfaultfd monitor
.BR UFFD_FEATURE_EVENT_REMAP " (since Linux 4.11)"
If this feature is enabled,
when the faulting process invokes
-.BR mremap (2),
+.MR mremap 2 ,
the userfaultfd monitor will receive an event of type
.BR UFFD_EVENT_REMAP .
.TP
.BR UFFD_FEATURE_EVENT_REMOVE " (since Linux 4.11)"
If this feature is enabled,
when the faulting process calls
-.BR madvise (2)
+.MR madvise 2
with the
.B MADV_DONTNEED
or
@@ -159,11 +159,11 @@ the userfaultfd monitor will receive an event of type
.BR UFFD_FEATURE_EVENT_UNMAP " (since Linux 4.11)"
If this feature is enabled,
when the faulting process unmaps virtual memory either explicitly with
-.BR munmap (2),
+.MR munmap 2 ,
or implicitly during either
-.BR mmap (2)
+.MR mmap 2
or
-.BR mremap (2),
+.MR mremap 2 ,
the userfaultfd monitor will receive an event of type
.BR UFFD_EVENT_UNMAP .
.TP
@@ -177,14 +177,14 @@ If this feature bit is set,
the kernel supports registering userfaultfd ranges on shared memory areas.
This includes all kernel shared memory APIs:
System V shared memory,
-.BR tmpfs (5),
+.MR tmpfs 5 ,
shared mappings of
.IR /dev/zero ,
-.BR mmap (2)
+.MR mmap 2
with the
.B MAP_SHARED
flag set,
-.BR memfd_create (2),
+.MR memfd_create 2 ,
and so on.
.TP
.BR UFFD_FEATURE_SIGBUS " (since Linux 4.14)"
@@ -272,7 +272,7 @@ The
operation is supported.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
On error, \-1 is returned and
.I errno
@@ -382,7 +382,7 @@ compatibility with shmem ranges was added.
If the operation is successful, the kernel modifies the
.I ioctls
bit-mask field to indicate which
-.BR ioctl (2)
+.MR ioctl 2
operations are available for the specified range.
This returned bit mask can contain the following bits:
.TP
@@ -417,7 +417,7 @@ The
operation is supported.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
On error, \-1 is returned and
.I errno
@@ -471,7 +471,7 @@ structure pointed to by
.IR argp .
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
On error, \-1 is returned and
.I errno
@@ -563,7 +563,7 @@ it is not read by the
operation.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
In this case, the entire area was copied.
On error, \-1 is returned and
@@ -667,7 +667,7 @@ it is not read by the
operation.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
In this case, the entire area was zeroed.
On error, \-1 is returned and
@@ -734,7 +734,7 @@ argument is a pointer to a
structure (shown above) that specifies the address range.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
On error, \-1 is returned and
.I errno
@@ -790,7 +790,7 @@ This can be specified only if
is not specified.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
On error, \-1 is returned and
.I errno
@@ -873,7 +873,7 @@ it is not read by the
operation.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
In this case,
the entire area was mapped.
@@ -983,7 +983,7 @@ it is not read by the
operation.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
operation returns 0 on success.
In this case,
the entire area was poisoned.
@@ -1062,11 +1062,11 @@ the second
operation that actually enables the desired features.
.SH EXAMPLES
See
-.BR userfaultfd (2).
+.MR userfaultfd 2 .
.SH SEE ALSO
-.BR ioctl (2),
-.BR mmap (2),
-.BR userfaultfd (2)
+.MR ioctl 2 ,
+.MR mmap 2 ,
+.MR userfaultfd 2
.P
.I Documentation/admin\-guide/mm/userfaultfd.rst
in the Linux kernel source tree
diff --git a/man2/ioperm.2 b/man2/ioperm.2
index a2cde4721..a3af7b121 100644
--- a/man2/ioperm.2
+++ b/man2/ioperm.2
@@ -42,17 +42,17 @@ is nonzero, the calling thread must be privileged
Before Linux 2.6.8,
only the first 0x3ff I/O ports could be specified in this manner.
For more ports, the
-.BR iopl (2)
+.MR iopl 2
system call had to be used (with a
.I level
argument of 3).
Since Linux 2.6.8, 65,536 I/O ports can be specified.
.P
Permissions are inherited by the child created by
-.BR fork (2)
+.MR fork 2
(but see NOTES).
Permissions are preserved across
-.BR execve (2);
+.MR execve 2 ;
this is useful for giving port access permissions to unprivileged
programs.
.P
@@ -94,12 +94,12 @@ Linux.
.SH HISTORY
Before Linux 2.4,
permissions were not inherited by a child created by
-.BR fork (2).
+.MR fork 2 .
.SH NOTES
The
.I /proc/ioports
file shows the I/O ports that are currently allocated on the system.
.SH SEE ALSO
-.BR iopl (2),
-.BR outb (2),
-.BR capabilities (7)
+.MR iopl 2 ,
+.MR outb 2 ,
+.MR capabilities 7
diff --git a/man2/iopl.2 b/man2/iopl.2
index 8279336e3..b2984cdab 100644
--- a/man2/iopl.2
+++ b/man2/iopl.2
@@ -32,7 +32,7 @@ The I/O privilege level for a normal thread is 0.
Permissions are inherited from parents to children.
.P
This call is deprecated, is significantly slower than
-.BR ioperm (2),
+.MR ioperm 2 ,
and is only provided for older X servers which require
access to all 65536 I/O ports.
It is mostly for the i386 architecture.
@@ -81,12 +81,12 @@ Prior to Linux 3.7,
on some architectures (such as i386), permissions
.I were
inherited by the child produced by
-.BR fork (2)
+.MR fork 2
and were preserved across
-.BR execve (2).
+.MR execve 2 .
This behavior was inadvertently changed in Linux 3.7,
and won't be reinstated.
.SH SEE ALSO
-.BR ioperm (2),
-.BR outb (2),
-.BR capabilities (7)
+.MR ioperm 2 ,
+.MR outb 2 ,
+.MR capabilities 7
diff --git a/man2/ioprio_set.2 b/man2/ioprio_set.2
index b4b9fe080..a87c7b714 100644
--- a/man2/ioprio_set.2
+++ b/man2/ioprio_set.2
@@ -26,7 +26,7 @@ Standard C library
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR ioprio_get ()
@@ -195,7 +195,7 @@ Linux 2.6.13.
.SH NOTES
Two or more processes or threads can share an I/O context.
This will be the case when
-.BR clone (2)
+.MR clone 2
was called with the
.B CLONE_IO
flag.
@@ -208,9 +208,9 @@ priority of all threads in a process, you may need to call
on each of the threads.
The thread ID that you would need for this operation
is the one that is returned by
-.BR gettid (2)
+.MR gettid 2
or
-.BR clone (2).
+.MR clone 2 .
.P
These system calls have an effect only when used
in conjunction with an I/O scheduler that supports I/O priorities.
@@ -219,7 +219,8 @@ As at kernel 2.6.17 the only such scheduler is the Completely Fair Queuing
.P
If no I/O scheduler has been set for a thread,
then by default the I/O priority will follow the CPU nice value
-.RB ( setpriority (2)).
+\%(\c
+.MR setpriority 2 ).
Before Linux 2.6.24,
once an I/O priority had been set using
.BR ioprio_set (),
@@ -297,7 +298,7 @@ The class data (priority) determines how much
I/O bandwidth the process will get.
Best-effort priority levels are analogous to CPU nice values
(see
-.BR getpriority (2)).
+.MR getpriority 2 ).
The priority level determines a priority relative
to other processes in the best-effort scheduling class.
Priority levels range from 0 (highest) to 7 (lowest).
@@ -352,11 +353,11 @@ the function prototypes and macros described on this page.
Suitable definitions can be found in
.IR linux/ioprio.h .
.SH SEE ALSO
-.BR ionice (1),
-.BR getpriority (2),
-.BR open (2),
-.BR capabilities (7),
-.BR cgroups (7)
+.MR ionice 1 ,
+.MR getpriority 2 ,
+.MR open 2 ,
+.MR capabilities 7 ,
+.MR cgroups 7
.P
.I Documentation/block/ioprio.txt
in the Linux kernel source tree
diff --git a/man2/ipc.2 b/man2/ipc.2
index 91eb1ac50..6d1363a60 100644
--- a/man2/ipc.2
+++ b/man2/ipc.2
@@ -25,7 +25,7 @@ Standard C library
glibc provides no wrapper for
.BR ipc (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR ipc ()
is a common kernel entry point for the System\ V IPC calls
@@ -41,23 +41,23 @@ Only standard library implementors and kernel hackers need to know about
On some architectures\[em]for example x86-64 and ARM\[em]there is no
.BR ipc ()
system call; instead,
-.BR msgctl (2),
-.BR semctl (2),
-.BR shmctl (2),
+.MR msgctl 2 ,
+.MR semctl 2 ,
+.MR shmctl 2 ,
and so on really are implemented as separate system calls.
.SH STANDARDS
Linux.
.SH SEE ALSO
-.BR msgctl (2),
-.BR msgget (2),
-.BR msgrcv (2),
-.BR msgsnd (2),
-.BR semctl (2),
-.BR semget (2),
-.BR semop (2),
-.BR semtimedop (2),
-.BR shmat (2),
-.BR shmctl (2),
-.BR shmdt (2),
-.BR shmget (2),
-.BR sysvipc (7)
+.MR msgctl 2 ,
+.MR msgget 2 ,
+.MR msgrcv 2 ,
+.MR msgsnd 2 ,
+.MR semctl 2 ,
+.MR semget 2 ,
+.MR semop 2 ,
+.MR semtimedop 2 ,
+.MR shmat 2 ,
+.MR shmctl 2 ,
+.MR shmdt 2 ,
+.MR shmget 2 ,
+.MR sysvipc 7
diff --git a/man2/kcmp.2 b/man2/kcmp.2
index 0ea604eac..fe41f74c0 100644
--- a/man2/kcmp.2
+++ b/man2/kcmp.2
@@ -25,7 +25,7 @@ Standard C library
glibc provides no wrapper for
.BR kcmp (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR kcmp ()
@@ -45,7 +45,7 @@ checks against both
and
.IR pid2 ;
see
-.BR ptrace (2).
+.MR ptrace 2 .
.P
The
.I type
@@ -58,18 +58,18 @@ Check whether a file descriptor
in the process
.I pid1
refers to the same open file description (see
-.BR open (2))
+.MR open 2 )
as file descriptor
.I idx2
in the process
.IR pid2 .
The existence of two file descriptors that refer to the same
open file description can occur as a result of
-.BR dup (2)
+.MR dup 2
(and similar)
-.BR fork (2),
+.MR fork 2 ,
or passing file descriptors via a domain socket (see
-.BR unix (7)).
+.MR unix 7 ).
.TP
.B KCMP_FILES
Check whether the processes share the same set of open file descriptors.
@@ -81,7 +81,7 @@ are ignored.
See the discussion of the
.B CLONE_FILES
flag in
-.BR clone (2).
+.MR clone 2 .
.TP
.B KCMP_FS
Check whether the processes share the same filesystem information
@@ -94,7 +94,7 @@ are ignored.
See the discussion of the
.B CLONE_FS
flag in
-.BR clone (2).
+.MR clone 2 .
.TP
.B KCMP_IO
Check whether the processes share I/O context.
@@ -106,7 +106,7 @@ are ignored.
See the discussion of the
.B CLONE_IO
flag in
-.BR clone (2).
+.MR clone 2 .
.TP
.B KCMP_SIGHAND
Check whether the processes share the same table of signal dispositions.
@@ -118,7 +118,7 @@ are ignored.
See the discussion of the
.B CLONE_SIGHAND
flag in
-.BR clone (2).
+.MR clone 2 .
.TP
.B KCMP_SYSVSEM
Check whether the processes share the same
@@ -131,7 +131,7 @@ are ignored.
See the discussion of the
.B CLONE_SYSVSEM
flag in
-.BR clone (2).
+.MR clone 2 .
.TP
.B KCMP_VM
Check whether the processes share the same address space.
@@ -143,7 +143,7 @@ are ignored.
See the discussion of the
.B CLONE_VM
flag in
-.BR clone (2).
+.MR clone 2 .
.TP
.BR KCMP_EPOLL_TFD " (since Linux 4.13)"
.\" commit 0791e3644e5ef21646fe565b9061788d05ec71d4
@@ -152,7 +152,7 @@ Check whether the file descriptor
of the process
.I pid1
is present in the
-.BR epoll (7)
+.MR epoll 7
instance described by
.I idx2
of the process
@@ -175,7 +175,7 @@ struct kcmp_epoll_slot {
Within this structure,
.I efd
is an epoll file descriptor returned from
-.BR epoll_create (2),
+.MR epoll_create 2 ,
.I tfd
is a target file descriptor number, and
.I toff
@@ -191,7 +191,7 @@ the processes are currently running.
One should stop the processes by sending
.B SIGSTOP
(see
-.BR signal (7))
+.MR signal 7 )
prior to inspection with this system call to obtain meaningful results.
.SH RETURN VALUE
The return value of a successful call to
@@ -263,7 +263,7 @@ is invalid.
.TP
.B ENOENT
The target file is not present in
-.BR epoll (7)
+.MR epoll 7
instance.
.TP
.B EPERM
@@ -279,7 +279,7 @@ is 2, limits
.BR kcmp ()
to child processes;
see
-.BR ptrace (2).
+.MR ptrace 2 .
.TP
.B ESRCH
Process
@@ -299,14 +299,14 @@ since the original purpose of the system call was for the
checkpoint/restore in user space (CRIU) feature.
(The alternative to this system call would have been to expose suitable
process information via the
-.BR proc (5)
+.MR proc 5
filesystem; this was deemed to be unsuitable for security reasons.)
Since Linux 5.12,
this system call is also available if the kernel is configured with
.BR CONFIG_KCMP .
.SH NOTES
See
-.BR clone (2)
+.MR clone 2
for some background information on the shared resources
referred to on this page.
.SH EXAMPLES
@@ -416,5 +416,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR clone (2),
-.BR unshare (2)
+.MR clone 2 ,
+.MR unshare 2
diff --git a/man2/kexec_load.2 b/man2/kexec_load.2
index 58a894f30..99b4a661f 100644
--- a/man2/kexec_load.2
+++ b/man2/kexec_load.2
@@ -28,12 +28,12 @@ Standard C library
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR kexec_load ()
system call loads a new kernel that can be executed later by
-.BR reboot (2).
+.MR reboot 2 .
.P
The
.I flags
@@ -159,7 +159,7 @@ In case of a normal kexec (i.e., the
.B KEXEC_ON_CRASH
flag is not set), the segment data is loaded in any available memory
and is moved to the final destination at kexec reboot time (e.g., when the
-.BR kexec (8)
+.MR kexec 8
command is executed with the
.I \-e
option).
@@ -321,9 +321,9 @@ Linux 2.6.13.
.BR kexec_file_load ()
Linux 3.17.
.SH SEE ALSO
-.BR reboot (2),
-.BR syscall (2),
-.BR kexec (8)
+.MR reboot 2 ,
+.MR syscall 2 ,
+.MR kexec 8
.P
The kernel source files
.I Documentation/kdump/kdump.txt
diff --git a/man2/keyctl.2 b/man2/keyctl.2
index 7d4324f85..559cee9fb 100644
--- a/man2/keyctl.2
+++ b/man2/keyctl.2
@@ -30,7 +30,7 @@ see VERSIONS.
glibc provides no wrapper for
.BR keyctl (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR keyctl ()
allows user-space programs to perform key manipulation.
@@ -67,49 +67,49 @@ The following values may be specified in
.B KEY_SPEC_THREAD_KEYRING
This specifies the calling thread's thread-specific keyring.
See
-.BR thread\-keyring (7).
+.MR thread\-keyring 7 .
.TP
.B KEY_SPEC_PROCESS_KEYRING
This specifies the caller's process-specific keyring.
See
-.BR process\-keyring (7).
+.MR process\-keyring 7 .
.TP
.B KEY_SPEC_SESSION_KEYRING
This specifies the caller's session-specific keyring.
See
-.BR session\-keyring (7).
+.MR session\-keyring 7 .
.TP
.B KEY_SPEC_USER_KEYRING
This specifies the caller's UID-specific keyring.
See
-.BR user\-keyring (7).
+.MR user\-keyring 7 .
.TP
.B KEY_SPEC_USER_SESSION_KEYRING
This specifies the caller's UID-session keyring.
See
-.BR user\-session\-keyring (7).
+.MR user\-session\-keyring 7 .
.TP
.BR KEY_SPEC_REQKEY_AUTH_KEY " (since Linux 2.6.16)"
.\" commit b5f545c880a2a47947ba2118b2509644ab7a2969
This specifies the authorization key created by
-.BR request_key (2)
+.MR request_key 2
and passed to the process it spawns to generate a key.
This key is available only in a
-.BR request\-key (8)-style
+.MR request\-key 8 -style
program that was passed an authorization key by the kernel and
ceases to be available once the requested key has been instantiated; see
-.BR request_key (2).
+.MR request_key 2 .
.TP
.BR KEY_SPEC_REQUESTOR_KEYRING " (since Linux 2.6.29)"
.\" commit 8bbf4976b59fc9fc2861e79cab7beb3f6d647640
This specifies the key ID for the
-.BR request_key (2)
+.MR request_key 2
destination keyring.
This keyring is available only in a
-.BR request\-key (8)-style
+.MR request\-key 8 -style
program that was passed an authorization key by the kernel and
ceases to be available once the requested key has been instantiated; see
-.BR request_key (2).
+.MR request_key 2 .
.RE
.IP
The behavior if the key specified in
@@ -151,7 +151,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_get_keyring_ID (3).
+.MR keyctl_get_keyring_ID 3 .
.TP
.BR KEYCTL_JOIN_SESSION_KEYRING " (since Linux 2.6.10)"
Replace the session keyring this process subscribes to with
@@ -198,7 +198,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_join_session_keyring (3).
+.MR keyctl_join_session_keyring 3 .
.TP
.BR KEYCTL_UPDATE " (since Linux 2.6.10)"
Update a key's data payload.
@@ -233,7 +233,7 @@ argument is ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_update (3).
+.MR keyctl_update 3 .
.TP
.BR KEYCTL_REVOKE " (since Linux 2.6.10)"
Revoke the key with the ID provided in
@@ -265,7 +265,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_revoke (3).
+.MR keyctl_revoke 3 .
.TP
.BR KEYCTL_CHOWN " (since Linux 2.6.10)"
Change the ownership (user and group ID) of a key.
@@ -294,7 +294,7 @@ For the UID to be changed, or for the GID to be changed to a group
the caller is not a member of, the caller must have the
.B CAP_SYS_ADMIN
capability (see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.IP
If the UID is to be changed, the new user must have sufficient
quota to accept the key.
@@ -308,7 +308,7 @@ argument is ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_chown (3).
+.MR keyctl_chown 3 .
.TP
.BR KEYCTL_SETPERM " (since Linux 2.6.10)"
Change the permissions of the key with the ID provided in the
@@ -344,7 +344,7 @@ for each of the following user categories:
This is the permission granted to a process that possesses the key
(has it attached searchably to one of the process's keyrings);
see
-.BR keyrings (7).
+.MR keyrings 7 .
.TP
.I user
This is the permission granted to a process
@@ -515,7 +515,7 @@ arguments are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_setperm (3).
+.MR keyctl_setperm 3 .
.TP
.BR KEYCTL_DESCRIBE " (since Linux 2.6.10)"
Obtain a string describing the attributes of a specified key.
@@ -597,7 +597,7 @@ argument is ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_describe (3).
+.MR keyctl_describe 3 .
.TP
.B KEYCTL_CLEAR
Clear the contents of (i.e., unlink all keys from) a keyring.
@@ -628,7 +628,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_clear (3).
+.MR keyctl_clear 3 .
.TP
.BR KEYCTL_LINK " (since Linux 2.6.10)"
Create a link from a keyring to a key.
@@ -669,7 +669,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_link (3).
+.MR keyctl_link 3 .
.TP
.BR KEYCTL_UNLINK " (since Linux 2.6.10)"
Unlink a key from a keyring.
@@ -701,7 +701,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_unlink (3).
+.MR keyctl_unlink 3 .
.TP
.BR KEYCTL_SEARCH " (since Linux 2.6.10)"
Search for a key in a keyring tree,
@@ -768,7 +768,7 @@ keyrings can be one of the special keyring IDs listed under
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_search (3).
+.MR keyctl_search 3 .
.TP
.BR KEYCTL_READ " (since Linux 2.6.10)"
Read the payload data of a key.
@@ -828,7 +828,7 @@ argument is ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_read (3).
+.MR keyctl_read 3 .
.TP
.BR KEYCTL_INSTANTIATE " (since Linux 2.6.10)"
(Positively) instantiate an uninstantiated key with a specified payload.
@@ -866,16 +866,16 @@ The caller must have the appropriate authorization key,
and once the uninstantiated key has been instantiated,
the authorization key is revoked.
In other words, this operation is available only from a
-.BR request\-key (8)-style
+.MR request\-key 8 -style
program.
See
-.BR request_key (2)
+.MR request_key 2
for an explanation of uninstantiated keys and key instantiation.
.IP
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_instantiate (3).
+.MR keyctl_instantiate 3 .
.TP
.BR KEYCTL_NEGATE " (since Linux 2.6.10)"
Negatively instantiate an uninstantiated key.
@@ -895,7 +895,7 @@ argument is ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_negate (3).
+.MR keyctl_negate 3 .
.TP
.BR KEYCTL_SET_REQKEY_KEYRING " (since Linux 2.6.13)"
Set the default keyring to which implicitly requested keys
@@ -908,7 +908,7 @@ such as can occur when, for example, opening files
on an AFS or NFS filesystem.
Setting the default keyring also has an effect when requesting
a key from user space; see
-.BR request_key (2)
+.MR request_key 2
for details.
.IP
The
@@ -934,27 +934,32 @@ otherwise the user-specific keyring.
.TP
.B KEY_REQKEY_DEFL_THREAD_KEYRING
Use the thread-specific keyring
-.RB ( thread\-keyring (7))
+\%(\c
+.MR thread\-keyring 7 )
as the new default keyring.
.TP
.B KEY_REQKEY_DEFL_PROCESS_KEYRING
Use the process-specific keyring
-.RB ( process\-keyring (7))
+\%(\c
+.MR process\-keyring 7 )
as the new default keyring.
.TP
.B KEY_REQKEY_DEFL_SESSION_KEYRING
Use the session-specific keyring
-.RB ( session\-keyring (7))
+\%(\c
+.MR session\-keyring 7 )
as the new default keyring.
.TP
.B KEY_REQKEY_DEFL_USER_KEYRING
Use the UID-specific keyring
-.RB ( user\-keyring (7))
+\%(\c
+.MR user\-keyring 7 )
as the new default keyring.
.TP
.B KEY_REQKEY_DEFL_USER_SESSION_KEYRING
Use the UID-specific session keyring
-.RB ( user\-session\-keyring (7))
+\%(\c
+.MR user\-session\-keyring 7 )
as the new default keyring.
.TP
.BR KEY_REQKEY_DEFL_REQUESTOR_KEYRING " (since Linux 2.6.29)"
@@ -980,14 +985,14 @@ and
are ignored.
.IP
The setting controlled by this operation is inherited by the child of
-.BR fork (2)
+.MR fork 2
and preserved across
.BR execve (2).
.IP
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_set_reqkey_keyring (3).
+.MR keyctl_set_reqkey_keyring 3 .
.TP
.BR KEYCTL_SET_TIMEOUT " (since Linux 2.6.16)"
Set a timeout on a key.
@@ -1014,7 +1019,7 @@ The caller must either have the
.I setattr
permission on the key
or hold an instantiation authorization token for the key (see
-.BR request_key (2)).
+.MR request_key 2 ).
.IP
The key and any links to the key will be
automatically garbage collected after the timeout expires.
@@ -1033,7 +1038,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_set_timeout (3).
+.MR keyctl_set_timeout 3 .
.TP
.BR KEYCTL_ASSUME_AUTHORITY " (since Linux 2.6.16)"
Assume (or divest) the authority for the calling thread
@@ -1065,9 +1070,9 @@ associated with the specified key.
(In other words, the
.B KEYCTL_ASSUME_AUTHORITY
operation is available only from a
-.BR request\-key (8)-style
+.MR request\-key 8 -style
program; see
-.BR request_key (2)
+.MR request_key 2
for an explanation of how this operation is used.)
The caller must have
.I search
@@ -1078,7 +1083,7 @@ then the ID of that key is returned.
The authorization key can be read
.RB ( KEYCTL_READ )
to obtain the callout information passed to
-.BR request_key (2).
+.MR request_key 2 .
.IP
If the ID given in
.I arg2
@@ -1088,12 +1093,12 @@ and the value 0 is returned.
The
.B KEYCTL_ASSUME_AUTHORITY
mechanism allows a program such as
-.BR request\-key (8)
+.MR request\-key 8
to assume the necessary authority to instantiate a new uninstantiated key
that was created as a consequence of a call to
-.BR request_key (2).
+.MR request_key 2 .
For further information, see
-.BR request_key (2)
+.MR request_key 2
and the kernel source file
.IR Documentation/security/keys\-request\-key.txt .
.IP
@@ -1107,7 +1112,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_assume_authority (3).
+.MR keyctl_assume_authority 3 .
.TP
.BR KEYCTL_GET_SECURITY " (since Linux 2.6.26)"
.\" commit 70a5bb72b55e82fbfbf1e22cae6975fac58a1e2d
@@ -1160,9 +1165,9 @@ argument is ignored.
This operation is exposed by
.I libkeyutils
via the functions
-.BR keyctl_get_security (3)
+.MR keyctl_get_security 3
and
-.BR keyctl_get_security_alloc (3).
+.MR keyctl_get_security_alloc 3 .
.TP
.BR KEYCTL_SESSION_TO_PARENT " (since Linux 2.6.32)"
.\" commit ee18d64c1f632043a02e6f5ba5e045bb26a5465f
@@ -1191,7 +1196,7 @@ The fact that it is the parent process that is affected by this operation
allows a program such as the shell to start a child process that
uses this operation to change the shell's session keyring.
(This is what the
-.BR keyctl (1)
+.MR keyctl 1
.B new_session
command does.)
.IP
@@ -1206,7 +1211,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_session_to_parent (3).
+.MR keyctl_session_to_parent 3 .
.TP
.BR KEYCTL_REJECT " (since Linux 2.6.39)"
.\" commit fdd1b94581782a2ddf9124414e5b7a5f48ce2f9c
@@ -1248,25 +1253,25 @@ whose ID is specified in
.IP
The caller must have the appropriate authorization key.
In other words, this operation is available only from a
-.BR request\-key (8)-style
+.MR request\-key 8 -style
program.
See
-.BR request_key (2).
+.MR request_key 2 .
.IP
The caller must have the appropriate authorization key,
and once the uninstantiated key has been instantiated,
the authorization key is revoked.
In other words, this operation is available only from a
-.BR request\-key (8)-style
+.MR request\-key 8 -style
program.
See
-.BR request_key (2)
+.MR request_key 2
for an explanation of uninstantiated keys and key instantiation.
.IP
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_reject (3).
+.MR keyctl_reject 3 .
.TP
.BR KEYCTL_INSTANTIATE_IOV " (since Linux 2.6.39)"
.\" commit ee009e4a0d4555ed522a631bae9896399674f063
@@ -1278,7 +1283,7 @@ This operation is the same as
but the payload data is specified as an array of
.I iovec
structures (see
-.BR iovec (3type)).
+.MR iovec 3type ).
.IP
The pointer to the payload vector is specified in
.I arg3
@@ -1301,7 +1306,7 @@ are interpreted as for
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_instantiate_iov (3).
+.MR keyctl_instantiate_iov 3 .
.TP
.BR KEYCTL_INVALIDATE " (since Linux 3.5)"
.\" commit fd75815f727f157a05f4c96b5294a4617c0557da
@@ -1342,12 +1347,13 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_invalidate (3).
+.MR keyctl_invalidate 3 .
.TP
.BR KEYCTL_GET_PERSISTENT " (since Linux 3.13)"
.\" commit f36f8c75ae2e7d4da34f4c908cebdb4aa42c977e
Get the persistent keyring
-.RB ( persistent\-keyring (7))
+\%(\c
+.MR persistent\-keyring 7 )
for a specified user and link it to a specified keyring.
.IP
The user ID is specified in
@@ -1404,7 +1410,7 @@ are ignored.
This operation is exposed by
.I libkeyutils
via the function
-.BR keyctl_get_persistent (3).
+.MR keyctl_get_persistent 3 .
.TP
.BR KEYCTL_DH_COMPUTE " (since Linux 4.7)"
.\" commit ddbb41148724367394d0880c516bfaeed127b52e
@@ -1545,9 +1551,9 @@ This operation is exposed by
(from
.I libkeyutils
1.5.10 onwards) via the functions
-.BR keyctl_dh_compute (3)
+.MR keyctl_dh_compute 3
and
-.BR keyctl_dh_compute_alloc (3).
+.MR keyctl_dh_compute_alloc 3 .
.TP
.BR KEYCTL_RESTRICT_KEYRING " (since Linux 4.12)"
.\" commit 6563c91fd645556c7801748f15bc727c77fcd311
@@ -1938,7 +1944,7 @@ the UID of the caller's session keyring did not match
the effective UID of the caller;
the parent process is not single-thread;
or the parent process is
-.BR init (1)
+.MR init 1
or a kernel thread.
.TP
.B ETIMEDOUT
@@ -1962,7 +1968,7 @@ Linux.
Linux 2.6.10.
.SH EXAMPLES
The program below provide subset of the functionality of the
-.BR request\-key (8)
+.MR request\-key 8
program provided by the
.I keyutils
package.
@@ -1970,9 +1976,9 @@ For informational purposes,
the program records various information in a log file.
.P
As described in
-.BR request_key (2),
+.MR request_key 2 ,
the
-.BR request\-key (8)
+.MR request\-key 8
program is invoked with command-line arguments that
describe a key that is to be instantiated.
The example program fetches and logs these arguments.
@@ -1982,14 +1988,14 @@ and then instantiates that key.
The following shell session demonstrates the use of this program.
In the session,
we compile the program and then use it to temporarily replace the standard
-.BR request\-key (8)
+.MR request\-key 8
program.
(Note that temporarily disabling the standard
-.BR request\-key (8)
+.MR request\-key 8
program may not be safe on some systems.)
While our example program is installed,
we use the example program shown in
-.BR request_key (2)
+.MR request_key 2
to request a key.
.P
.in +4n
@@ -2038,10 +2044,10 @@ which included the name of the key
the payload of the authorization key, which consisted of the data
.RI ( somepayloaddata )
passed to
-.BR request_key (2);
+.MR request_key 2 ;
.IP \[bu]
the destination keyring that was specified in the call to
-.BR request_key (2);
+.MR request_key 2 ;
and
.IP \[bu]
the description of the authorization key,
@@ -2050,7 +2056,7 @@ the ID of the key that is to be instantiated
.RI ( 20d035bf ).
.P
The example program in
-.BR request_key (2)
+.MR request_key 2
specified the destination keyring as
.BR KEY_SPEC_SESSION_KEYRING .
By examining the contents of
@@ -2242,54 +2248,54 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR add_key (2),
-.BR request_key (2),
+.MR keyctl 1 ,
+.MR add_key 2 ,
+.MR request_key 2 ,
.\" .BR find_key_by_type_and_name (3)
.\" There is a man page, but this function seems not to exist
-.BR keyctl (3),
-.BR keyctl_assume_authority (3),
-.BR keyctl_chown (3),
-.BR keyctl_clear (3),
-.BR keyctl_describe (3),
-.BR keyctl_describe_alloc (3),
-.BR keyctl_dh_compute (3),
-.BR keyctl_dh_compute_alloc (3),
-.BR keyctl_get_keyring_ID (3),
-.BR keyctl_get_persistent (3),
-.BR keyctl_get_security (3),
-.BR keyctl_get_security_alloc (3),
-.BR keyctl_instantiate (3),
-.BR keyctl_instantiate_iov (3),
-.BR keyctl_invalidate (3),
-.BR keyctl_join_session_keyring (3),
-.BR keyctl_link (3),
-.BR keyctl_negate (3),
-.BR keyctl_read (3),
-.BR keyctl_read_alloc (3),
-.BR keyctl_reject (3),
-.BR keyctl_revoke (3),
-.BR keyctl_search (3),
-.BR keyctl_session_to_parent (3),
-.BR keyctl_set_reqkey_keyring (3),
-.BR keyctl_set_timeout (3),
-.BR keyctl_setperm (3),
-.BR keyctl_unlink (3),
-.BR keyctl_update (3),
-.BR recursive_key_scan (3),
-.BR recursive_session_key_scan (3),
-.BR capabilities (7),
-.BR credentials (7),
-.BR keyrings (7),
-.BR keyutils (7),
-.BR persistent\-keyring (7),
-.BR process\-keyring (7),
-.BR session\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-keyring (7),
-.BR user_namespaces (7),
-.BR user\-session\-keyring (7),
-.BR request\-key (8)
+.MR keyctl 3 ,
+.MR keyctl_assume_authority 3 ,
+.MR keyctl_chown 3 ,
+.MR keyctl_clear 3 ,
+.MR keyctl_describe 3 ,
+.MR keyctl_describe_alloc 3 ,
+.MR keyctl_dh_compute 3 ,
+.MR keyctl_dh_compute_alloc 3 ,
+.MR keyctl_get_keyring_ID 3 ,
+.MR keyctl_get_persistent 3 ,
+.MR keyctl_get_security 3 ,
+.MR keyctl_get_security_alloc 3 ,
+.MR keyctl_instantiate 3 ,
+.MR keyctl_instantiate_iov 3 ,
+.MR keyctl_invalidate 3 ,
+.MR keyctl_join_session_keyring 3 ,
+.MR keyctl_link 3 ,
+.MR keyctl_negate 3 ,
+.MR keyctl_read 3 ,
+.MR keyctl_read_alloc 3 ,
+.MR keyctl_reject 3 ,
+.MR keyctl_revoke 3 ,
+.MR keyctl_search 3 ,
+.MR keyctl_session_to_parent 3 ,
+.MR keyctl_set_reqkey_keyring 3 ,
+.MR keyctl_set_timeout 3 ,
+.MR keyctl_setperm 3 ,
+.MR keyctl_unlink 3 ,
+.MR keyctl_update 3 ,
+.MR recursive_key_scan 3 ,
+.MR recursive_session_key_scan 3 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR keyrings 7 ,
+.MR keyutils 7 ,
+.MR persistent\-keyring 7 ,
+.MR process\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-keyring 7 ,
+.MR user_namespaces 7 ,
+.MR user\-session\-keyring 7 ,
+.MR request\-key 8
.P
The kernel source files under
.I Documentation/security/keys/
diff --git a/man2/kill.2 b/man2/kill.2
index 16500fba2..34d058c64 100644
--- a/man2/kill.2
+++ b/man2/kill.2
@@ -36,7 +36,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR kill ():
@@ -97,7 +97,7 @@ The target process or process group does not exist.
Note that an existing process might be a zombie,
a process that has terminated execution, but
has not yet been
-.BR wait (2)ed
+.MR wait 2 ed
for.
.SH STANDARDS
POSIX.1-2008.
@@ -136,7 +136,7 @@ POSIX.1 requires that if a process sends a signal to itself,
and the sending thread does not have the signal blocked,
and no other thread
has it unblocked or is waiting for it in
-.BR sigwait (3),
+.MR sigwait 3 ,
at least one
unblocked signal must be delivered to the sending thread before the
.BR kill ()
@@ -152,14 +152,14 @@ than \fIall\fP) of the members of the process group.
Notwithstanding this error return, the signal was still delivered
to all of the processes for which the caller had permission to signal.
.SH SEE ALSO
-.BR kill (1),
-.BR _exit (2),
-.BR pidfd_send_signal (2),
-.BR signal (2),
-.BR tkill (2),
-.BR exit (3),
-.BR killpg (3),
-.BR sigqueue (3),
-.BR capabilities (7),
-.BR credentials (7),
-.BR signal (7)
+.MR kill 1 ,
+.MR _exit 2 ,
+.MR pidfd_send_signal 2 ,
+.MR signal 2 ,
+.MR tkill 2 ,
+.MR exit 3 ,
+.MR killpg 3 ,
+.MR sigqueue 3 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR signal 7
diff --git a/man2/landlock_add_rule.2 b/man2/landlock_add_rule.2
index 4b95afb07..c734b0676 100644
--- a/man2/landlock_add_rule.2
+++ b/man2/landlock_add_rule.2
@@ -28,14 +28,14 @@ This
.BR landlock_add_rule ()
system call enables adding a new Landlock rule to an existing ruleset
created with
-.BR landlock_create_ruleset (2).
+.MR landlock_create_ruleset 2 .
See
-.BR landlock (7)
+.MR landlock 7
for a global overview.
.P
.I ruleset_fd
is a Landlock ruleset file descriptor obtained with
-.BR landlock_create_ruleset (2).
+.MR landlock_create_ruleset 2 .
.P
.I rule_type
identifies the structure type pointed to by
@@ -64,7 +64,7 @@ contains a bitmask of allowed filesystem actions for this file hierarchy
(see
.B Filesystem actions
in
-.BR landlock (7)).
+.MR landlock 7 ).
.IP
.I parent_fd
is an opened file descriptor, preferably with the
@@ -124,8 +124,8 @@ Linux.
Linux 5.13.
.SH EXAMPLES
See
-.BR landlock (7).
+.MR landlock 7 .
.SH SEE ALSO
-.BR landlock_create_ruleset (2),
-.BR landlock_restrict_self (2),
-.BR landlock (7)
+.MR landlock_create_ruleset 2 ,
+.MR landlock_restrict_self 2 ,
+.MR landlock 7
diff --git a/man2/landlock_create_ruleset.2 b/man2/landlock_create_ruleset.2
index e62a3f9b9..bc2afd710 100644
--- a/man2/landlock_create_ruleset.2
+++ b/man2/landlock_create_ruleset.2
@@ -25,11 +25,11 @@ This
.BR landlock_create_ruleset ()
system call enables creating a new file descriptor identifying a ruleset.
This file descriptor can then be used by
-.BR landlock_add_rule (2)
+.MR landlock_add_rule 2
and
-.BR landlock_restrict_self (2).
+.MR landlock_restrict_self 2 .
See
-.BR landlock (7)
+.MR landlock 7
for a global overview.
.P
.I attr
@@ -50,7 +50,7 @@ should then be forbidden if no rule explicitly allows them
(see
.B Filesystem actions
in
-.BR landlock (7)).
+.MR landlock 7 ).
This enables simply restricting ambient rights
(e.g., global filesystem access) and is needed for compatibility reasons.
.P
@@ -117,8 +117,8 @@ Linux.
Linux 5.13.
.SH EXAMPLES
See
-.BR landlock (7).
+.MR landlock 7 .
.SH SEE ALSO
-.BR landlock_add_rule (2),
-.BR landlock_restrict_self (2),
-.BR landlock (7)
+.MR landlock_add_rule 2 ,
+.MR landlock_restrict_self 2 ,
+.MR landlock 7
diff --git a/man2/landlock_restrict_self.2 b/man2/landlock_restrict_self.2
index 43f15c932..f3cf35238 100644
--- a/man2/landlock_restrict_self.2
+++ b/man2/landlock_restrict_self.2
@@ -22,7 +22,7 @@ Once a Landlock ruleset is populated with the desired rules, the
.BR landlock_restrict_self ()
system call enables enforcing this ruleset on the calling thread.
See
-.BR landlock (7)
+.MR landlock 7
for a global overview.
.P
A thread can be restricted with multiple rulesets that are then
@@ -42,7 +42,7 @@ and they should avoid arbitrary numbers of such calls because of the
composed rulesets limit.
Instead, developers are encouraged to build a tailored ruleset thanks to
multiple calls to
-.BR landlock_add_rule (2).
+.MR landlock_add_rule 2 .
.P
In order to enforce a ruleset, either the caller must have the
.B CAP_SYS_ADMIN
@@ -50,7 +50,7 @@ capability in its user namespace, or the thread must already have the
.I no_new_privs
bit set.
As for
-.BR seccomp (2),
+.MR seccomp 2 ,
this avoids scenarios where unprivileged processes can affect
the behavior of privileged children (e.g., because of set-user-ID binaries).
If that bit was not already set by an ancestor of this thread,
@@ -62,9 +62,9 @@ prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0);
.P
.I ruleset_fd
is a Landlock ruleset file descriptor obtained with
-.BR landlock_create_ruleset (2)
+.MR landlock_create_ruleset 2
and fully populated with a set of calls to
-.BR landlock_add_rule (2).
+.MR landlock_add_rule 2 .
.P
.I flags
must be 0.
@@ -109,8 +109,8 @@ Linux.
Linux 5.13.
.SH EXAMPLES
See
-.BR landlock (7).
+.MR landlock 7 .
.SH SEE ALSO
-.BR landlock_create_ruleset (2),
-.BR landlock_add_rule (2),
-.BR landlock (7)
+.MR landlock_create_ruleset 2 ,
+.MR landlock_add_rule 2 ,
+.MR landlock 7
diff --git a/man2/link.2 b/man2/link.2
index 576b5510b..6bb47749c 100644
--- a/man2/link.2
+++ b/man2/link.2
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR linkat ():
@@ -107,7 +107,7 @@ If
is an empty string, create a link to the file referenced by
.I olddirfd
(which may have been obtained using the
-.BR open (2)
+.MR open 2
.B O_PATH
flag).
In this case,
@@ -158,7 +158,7 @@ Before Linux 2.6.18, the
argument was unused, and had to be specified as 0.
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR linkat ().
.SH RETURN VALUE
@@ -177,7 +177,7 @@ in the path prefix of
or
.IR newpath .
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EDQUOT
The user's quota of disk blocks on the filesystem has been exhausted.
@@ -201,11 +201,11 @@ The file referred to by
.I oldpath
already has the maximum number of links to it.
For example, on an
-.BR ext4 (5)
+.MR ext4 5
filesystem that does not employ the
.I dir_index
feature, the limit on the number of hard links to a file is 65,000; on
-.BR btrfs (5),
+.MR btrfs 5 ,
the limit is 65,535 links.
.TP
.B ENAMETOOLONG
@@ -242,13 +242,13 @@ The caller does not have permission to create a hard link to this file
(see the description of
.I /proc/sys/fs/protected_hardlinks
in
-.BR proc (5)).
+.MR proc 5 ).
.TP
.B EPERM
.I oldpath
is marked immutable or append-only.
(See
-.BR ioctl_iflags (2).)
+.MR ioctl_iflags 2 .)
.TP
.B EROFS
The file is on a read-only filesystem.
@@ -298,7 +298,7 @@ open(path, O_TMPFILE | O_EXCL, mode);
.in
.IP
See
-.BR open (2).
+.MR open 2 .
.TP
.B ENOENT
An attempt was made to link to a
@@ -406,20 +406,20 @@ Hard links, as created by
.BR link (),
cannot span filesystems.
Use
-.BR symlink (2)
+.MR symlink 2
if this is required.
.SH BUGS
On NFS filesystems, the return code may be wrong in case the NFS server
performs the link creation and dies before it can say so.
Use
-.BR stat (2)
+.MR stat 2
to find out if the link got created.
.SH SEE ALSO
-.BR ln (1),
-.BR open (2),
-.BR rename (2),
-.BR stat (2),
-.BR symlink (2),
-.BR unlink (2),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR ln 1 ,
+.MR open 2 ,
+.MR rename 2 ,
+.MR stat 2 ,
+.MR symlink 2 ,
+.MR unlink 2 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/listen.2 b/man2/listen.2
index 6ee5ad11a..7843f1c64 100644
--- a/man2/listen.2
+++ b/man2/listen.2
@@ -32,7 +32,7 @@ marks the socket referred to by
.I sockfd
as a passive socket, that is, as a socket that will
be used to accept incoming connection requests using
-.BR accept (2).
+.MR accept 2 .
.P
The
.I sockfd
@@ -73,7 +73,7 @@ are currently in use.
See the discussion of
.I /proc/sys/net/ipv4/ip_local_port_range
in
-.BR ip (7).
+.MR ip 7 .
.TP
.B EBADF
The argument
@@ -99,12 +99,12 @@ To accept connections, the following steps are performed:
.RS 4
.IP (1) 5
A socket is created with
-.BR socket (2).
+.MR socket 2 .
.IP (2)
The socket is bound to a local address using
-.BR bind (2),
+.MR bind 2 ,
so that other sockets may be
-.BR connect (2)ed
+.MR connect 2 ed
to it.
.IP (3)
A willingness to accept incoming connections and a queue limit for incoming
@@ -112,7 +112,7 @@ connections are specified with
.BR listen ().
.IP (4)
Connections are accepted with
-.BR accept (2).
+.MR accept 2 .
.RE
.P
The behavior of the
@@ -128,7 +128,7 @@ can be set using
When syncookies are enabled there is no logical maximum
length and this setting is ignored.
See
-.BR tcp (7)
+.MR tcp 7
for more information.
.P
If the
@@ -146,10 +146,10 @@ with the value 128.
.\" (and some BSD-derived systems) limit the backlog to 5.
.SH EXAMPLES
See
-.BR bind (2).
+.MR bind 2 .
.SH SEE ALSO
-.BR accept (2),
-.BR bind (2),
-.BR connect (2),
-.BR socket (2),
-.BR socket (7)
+.MR accept 2 ,
+.MR bind 2 ,
+.MR connect 2 ,
+.MR socket 2 ,
+.MR socket 7
diff --git a/man2/listxattr.2 b/man2/listxattr.2
index 72b769a0e..91cabeddb 100644
--- a/man2/listxattr.2
+++ b/man2/listxattr.2
@@ -26,10 +26,10 @@ Extended attributes are
pairs associated with inodes (files, directories, symbolic links, etc.).
They are extensions to the normal attributes which are associated
with all inodes in the system (i.e., the
-.BR stat (2)
+.MR stat 2
data).
A complete overview of extended attributes concepts can be found in
-.BR xattr (7).
+.MR xattr 7 .
.P
.BR listxattr ()
retrieves the list
@@ -60,7 +60,7 @@ is identical to
only the open file referred to by
.I fd
(as returned by
-.BR open (2))
+.MR open 2 )
is interrogated in place of
.IR path .
.P
@@ -131,7 +131,7 @@ of the
buffer is too small to hold the result.
.P
In addition, the errors documented in
-.BR stat (2)
+.MR stat 2
can also occur.
.SH STANDARDS
Linux.
@@ -147,7 +147,7 @@ glibc 2.3.
.SH BUGS
.\" The xattr(7) page refers to this text:
As noted in
-.BR xattr (7),
+.MR xattr 7 ,
the VFS imposes a limit of 64\ kB on the size of the extended
attribute name list returned by
.BR listxattr ().
@@ -157,7 +157,7 @@ it is no longer possible to retrieve the list of attribute names.
The following program demonstrates the usage of
.BR listxattr ()
and
-.BR getxattr (2).
+.MR getxattr 2 .
For the file whose pathname is provided as a command-line argument,
it lists all extended file attributes and their values.
.P
@@ -175,7 +175,7 @@ a loop that retries the call
with a larger buffer each time it fails with the error
.BR ERANGE .
Calls to
-.BR getxattr (2)
+.MR getxattr 2
could be handled similarly.
.P
The following output was recorded by first creating a file, setting
@@ -311,12 +311,12 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR getfattr (1),
-.BR setfattr (1),
-.BR getxattr (2),
-.BR open (2),
-.BR removexattr (2),
-.BR setxattr (2),
-.BR stat (2),
-.BR symlink (7),
-.BR xattr (7)
+.MR getfattr 1 ,
+.MR setfattr 1 ,
+.MR getxattr 2 ,
+.MR open 2 ,
+.MR removexattr 2 ,
+.MR setxattr 2 ,
+.MR stat 2 ,
+.MR symlink 7 ,
+.MR xattr 7
diff --git a/man2/llseek.2 b/man2/llseek.2
index 1a3f365f2..478be6c24 100644
--- a/man2/llseek.2
+++ b/man2/llseek.2
@@ -26,12 +26,12 @@ Standard C library
glibc provides no wrapper for
.BR _llseek (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
Note: for information about the
-.BR llseek (3)
+.MR llseek 3
library function, see
-.BR lseek64 (3).
+.MR lseek64 3 .
.P
The
.BR _llseek ()
@@ -82,11 +82,11 @@ Problem with copying results to user space.
is invalid.
.SH VERSIONS
You probably want to use the
-.BR lseek (2)
+.MR lseek 2
wrapper function instead.
.SH STANDARDS
Linux.
.SH SEE ALSO
-.BR lseek (2),
-.BR open (2),
-.BR lseek64 (3)
+.MR lseek 2 ,
+.MR open 2 ,
+.MR lseek64 3
diff --git a/man2/lookup_dcookie.2 b/man2/lookup_dcookie.2
index acc5e43e6..bda07a9fb 100644
--- a/man2/lookup_dcookie.2
+++ b/man2/lookup_dcookie.2
@@ -23,7 +23,7 @@ Standard C library
glibc provides no wrapper for
.BR lookup_dcookie (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
Look up the full path of the directory entry specified by the value
.IR cookie .
@@ -76,11 +76,11 @@ error was added in Linux 2.5.70.
.SH NOTES
.BR lookup_dcookie ()
is a special-purpose system call, currently used only by the
-.BR oprofile (1)
+.MR oprofile 1
profiler.
It relies on a kernel driver to register cookies for directory entries.
.P
The path returned may be suffixed by the string " (deleted)" if the directory
entry has been removed.
.SH SEE ALSO
-.BR oprofile (1)
+.MR oprofile 1
diff --git a/man2/lseek.2 b/man2/lseek.2
index 14fc13734..2969fab02 100644
--- a/man2/lseek.2
+++ b/man2/lseek.2
@@ -147,7 +147,7 @@ XFS (since Linux 3.5)
.IP \[bu]
ext4 (since Linux 3.8)
.IP \[bu]
-.BR tmpfs (5)
+.MR tmpfs 5
(since Linux 3.8)
.IP \[bu]
NFS (since Linux 3.18)
@@ -226,7 +226,7 @@ they are proposed for inclusion in the next POSIX revision (Issue 8).
.\" FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
.SH NOTES
See
-.BR open (2)
+.MR open 2
for a discussion of the relationship between file descriptors,
open file descriptions, and files.
.P
@@ -234,7 +234,7 @@ If the
.B O_APPEND
file status flag is set on the open file description,
then a
-.BR write (2)
+.MR write 2
.I always
moves the file offset to the end of the file, regardless of the use of
.BR lseek ().
@@ -243,10 +243,10 @@ Some devices are incapable of seeking and POSIX does not specify which
devices must support
.BR lseek ().
.SH SEE ALSO
-.BR dup (2),
-.BR fallocate (2),
-.BR fork (2),
-.BR open (2),
-.BR fseek (3),
-.BR lseek64 (3),
-.BR posix_fallocate (3)
+.MR dup 2 ,
+.MR fallocate 2 ,
+.MR fork 2 ,
+.MR open 2 ,
+.MR fseek 3 ,
+.MR lseek64 3 ,
+.MR posix_fallocate 3
diff --git a/man2/madvise.2 b/man2/madvise.2
index 441edfbc1..8e778ee91 100644
--- a/man2/madvise.2
+++ b/man2/madvise.2
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR madvise ():
@@ -83,7 +83,7 @@ but may influence its performance.
All of the
.I advice
values listed here have analogs in the POSIX-specified
-.BR posix_madvise (3)
+.MR posix_madvise 3
function, and the values have the same meanings, with the exception of
.BR MADV_DONTNEED .
.P
@@ -155,7 +155,7 @@ to a multiple of the underlying Huge TLB page size.
The following Linux-specific
.I advice
values have no counterparts in the POSIX-specified
-.BR posix_madvise (3),
+.MR posix_madvise 3 ,
and may or may not have counterparts in the
.BR madvise ()
interface available on other implementations.
@@ -167,7 +167,7 @@ Free up a given range of pages
and its associated backing store.
This is equivalent to punching a hole in the corresponding
range of the backing store (see
-.BR fallocate (2)).
+.MR fallocate 2 ).
Subsequent accesses in the specified address range will see
data with a value of zero.
.\" Databases want to use this feature to drop a section of their
@@ -181,13 +181,13 @@ This flag cannot be applied to locked pages, or
pages.
.IP
In the initial implementation, only
-.BR tmpfs (5)
+.MR tmpfs 5
supported
.BR MADV_REMOVE ;
but since Linux 3.5,
.\" commit 3f31d07571eeea18a7d34db9af21d2285b807a17
any filesystem which supports the
-.BR fallocate (2)
+.MR fallocate 2
.B FALLOC_FL_PUNCH_HOLE
mode also supports
.BR MADV_REMOVE .
@@ -202,10 +202,10 @@ Support for the Huge TLB filesystem was added in Linux v4.3.
.\" commit f822566165dd46ff5de9bf895cfa6c51f53bb0c4
.\" See http://lwn.net/Articles/171941/
Do not make the pages in this range available to the child after a
-.BR fork (2).
+.MR fork 2 .
This is useful to prevent copy-on-write semantics from changing
the physical location of a page if the parent writes to it after a
-.BR fork (2).
+.MR fork 2 .
(Such page relocations cause problems for hardware that
DMAs into the page.)
.\" [PATCH] madvise MADV_DONTFORK/MADV_DOFORK
@@ -234,7 +234,7 @@ DMAs into the page.)
Undo the effect of
.BR MADV_DONTFORK ,
restoring the default behavior, whereby a mapping is inherited across
-.BR fork (2).
+.MR fork 2 .
.TP
.BR MADV_HWPOISON " (since Linux 2.6.32)"
.\" commit 9893e49d64a4874ea67849ee2cfbf3f3d6817573
@@ -267,7 +267,7 @@ looking for pages with identical content.
These are replaced by a single write-protected page (which is automatically
copied if a process later wants to update the content of the page).
KSM merges only private anonymous pages (see
-.BR mmap (2)).
+.MR mmap 2 ).
.IP
The KSM feature is intended for applications that generate many
instances of the same data (e.g., virtualization systems such as KVM).
@@ -324,7 +324,7 @@ The kernel will regularly scan the areas marked as huge page candidates
to replace them with huge pages.
The kernel will also allocate huge pages directly when the region is
naturally aligned to the huge page size (see
-.BR posix_memalign (2)).
+.MR posix_memalign 2 ).
.IP
This feature is primarily aimed at applications that use large mappings of
data and access large regions of that memory at a time (e.g., virtualization
@@ -356,14 +356,14 @@ hugepages are enabled.
Since Linux 5.4,
automatic scan of eligible areas and replacement by huge pages works with
private anonymous pages (see
-.BR mmap (2)),
+.MR mmap 2 ),
shmem pages,
and file-backed pages.
For all memory types,
memory may only be replaced by huge pages on hugepage-aligned boundaries.
For file-mapped memory
\[em]including tmpfs (see
-.BR tmpfs (2))\[em]
+.MR tmpfs 2 )\[em]
the mapping must also be naturally hugepage-aligned within the file.
Additionally,
for file-backed,
@@ -383,7 +383,7 @@ nor can it be stack memory or backed by a DAX-enabled device
The process must also not have
.B PR_SET_THP_DISABLE
set (see
-.BR prctl (2)).
+.MR prctl 2 ).
.IP
The
.BR MADV_HUGEPAGE ,
@@ -416,7 +416,7 @@ or faulted in the future.
.IP
.B MADV_COLLAPSE
supports private anonymous pages (see
-.BR mmap (2)),
+.MR mmap 2 ),
shmem pages,
and file-backed pages.
See
@@ -446,7 +446,7 @@ at least one page must currently be backed by physical memory.
.B MADV_COLLAPSE
is independent of any sysfs
(see
-.BR sysfs (5))
+.MR sysfs 5 )
setting under
.IR /sys/kernel/mm/transparent_hugepage ,
both in terms of determining THP eligibility,
@@ -492,7 +492,7 @@ The effect of
takes precedence over the bit mask that is set via the
.IR /proc/ pid /coredump_filter
file (see
-.BR core (5)).
+.MR core 5 ).
.TP
.BR MADV_DODUMP " (since Linux 3.4)"
Undo the effect of an earlier
@@ -524,7 +524,7 @@ The
.B MADV_FREE
operation
can be applied only to private anonymous pages (see
-.BR mmap (2)).
+.MR mmap 2 ).
Before Linux 4.12,
.\" commit 93e06c7a645343d222c9a838834a51042eebbbf7
when freeing pages on a swapless system,
@@ -534,7 +534,7 @@ regardless of memory pressure.
.BR MADV_WIPEONFORK " (since Linux 4.14)"
.\" commit d2cd9ede6e193dd7d88b6d27399e96229a551b19
Present the child process with zero-filled memory in this range after a
-.BR fork (2).
+.MR fork 2 .
This is useful in forking servers in order to ensure
that sensitive per-process data
(for example, PRNG seeds, cryptographic secrets, and so on)
@@ -543,15 +543,15 @@ is not handed to child processes.
The
.B MADV_WIPEONFORK
operation can be applied only to private anonymous pages (see
-.BR mmap (2)).
+.MR mmap 2 ).
.IP
Within the child created by
-.BR fork (2),
+.MR fork 2 ,
the
.B MADV_WIPEONFORK
setting remains in place on the specified address range.
This setting is cleared during
-.BR execve (2).
+.MR execve 2 .
.TP
.BR MADV_KEEPONFORK " (since Linux 4.14)"
.\" commit d2cd9ede6e193dd7d88b6d27399e96229a551b19
@@ -847,7 +847,7 @@ above under
albeit with some variation in semantics.
.P
POSIX.1-2001 describes
-.BR posix_madvise (3)
+.MR posix_madvise 3
with constants
.BR POSIX_MADV_NORMAL ,
.BR POSIX_MADV_RANDOM ,
@@ -885,14 +885,14 @@ depending on the setting of the
.B CONFIG_ADVISE_SYSCALLS
configuration option.
.SH SEE ALSO
-.BR getrlimit (2),
-.BR memfd_secret (2),
-.BR mincore (2),
-.BR mmap (2),
-.BR mprotect (2),
-.BR msync (2),
-.BR munmap (2),
-.BR prctl (2),
-.BR process_madvise (2),
-.BR posix_madvise (3),
-.BR core (5)
+.MR getrlimit 2 ,
+.MR memfd_secret 2 ,
+.MR mincore 2 ,
+.MR mmap 2 ,
+.MR mprotect 2 ,
+.MR msync 2 ,
+.MR munmap 2 ,
+.MR prctl 2 ,
+.MR process_madvise 2 ,
+.MR posix_madvise 3 ,
+.MR core 5
diff --git a/man2/mbind.2 b/man2/mbind.2
index b0e961f9c..0fbb7fe63 100644
--- a/man2/mbind.2
+++ b/man2/mbind.2
@@ -45,11 +45,11 @@ If the memory range specified by the
.IR addr " and " len
arguments includes an "anonymous" region of memory\[em]that is
a region of memory created using the
-.BR mmap (2)
+.MR mmap 2
system call with the
.BR MAP_ANONYMOUS \[em]or
a memory-mapped file, mapped using the
-.BR mmap (2)
+.MR mmap 2
system call with the
.B MAP_PRIVATE
flag, pages will be allocated only according to the specified
@@ -73,9 +73,9 @@ Again, this may not be the thread that called
.P
If the specified memory range includes a shared memory region
created using the
-.BR shmget (2)
+.MR shmget 2
system call and attached using the
-.BR shmat (2)
+.MR shmat 2
system call,
pages allocated for the anonymous or shared memory region will
be allocated according to the policy specified, regardless of which
@@ -196,7 +196,7 @@ When applied to a range of memory via
.BR mbind (),
this means to use the thread memory policy,
which may have been set with
-.BR set_mempolicy (2).
+.MR set_mempolicy 2 .
If the mode of the thread memory policy is also
.BR MPOL_DEFAULT ,
the system-wide default policy will be used.
@@ -280,7 +280,7 @@ it becomes allowed by the thread's current cpuset context.
By contrast,
.B MPOL_DEFAULT
reverts to the memory policy of the thread (which may be set via
-.BR set_mempolicy (2));
+.MR set_mempolicy 2 );
that policy may be something other than "local allocation".
.P
If
@@ -450,7 +450,7 @@ and
are available only on Linux 2.6.16 and later.
.SH NOTES
For information on library support, see
-.BR numa (7).
+.MR numa 7 .
.P
NUMA policy is not supported on a memory-mapped file range
that was mapped with the
@@ -462,11 +462,11 @@ The
mode can have different effects for
.BR mbind ()
and
-.BR set_mempolicy (2).
+.MR set_mempolicy 2 .
When
.B MPOL_DEFAULT
is specified for
-.BR set_mempolicy (2),
+.MR set_mempolicy 2 ,
the thread's memory policy reverts to the system default policy
or local allocation.
When
@@ -475,7 +475,7 @@ is specified for a range of memory using
.BR mbind (),
any pages subsequently allocated for that range will use
the thread's memory policy, as set by
-.BR set_mempolicy (2).
+.MR set_mempolicy 2 .
This effectively removes the explicit policy from the
specified range, "falling back" to a possibly nondefault
policy.
@@ -488,16 +488,16 @@ or
.B MPOL_PREFERRED
with an empty set of nodes.
This method will work for
-.BR set_mempolicy (2),
+.MR set_mempolicy 2 ,
as well.
.SH SEE ALSO
-.BR get_mempolicy (2),
-.BR getcpu (2),
-.BR mmap (2),
-.BR set_mempolicy (2),
-.BR shmat (2),
-.BR shmget (2),
-.BR numa (3),
-.BR cpuset (7),
-.BR numa (7),
-.BR numactl (8)
+.MR get_mempolicy 2 ,
+.MR getcpu 2 ,
+.MR mmap 2 ,
+.MR set_mempolicy 2 ,
+.MR shmat 2 ,
+.MR shmget 2 ,
+.MR numa 3 ,
+.MR cpuset 7 ,
+.MR numa 7 ,
+.MR numactl 8
diff --git a/man2/membarrier.2 b/man2/membarrier.2
index cd8029dd9..601693d64 100644
--- a/man2/membarrier.2
+++ b/man2/membarrier.2
@@ -25,7 +25,7 @@ Standard C library
glibc provides no wrapper for
.BR membarrier (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR membarrier ()
diff --git a/man2/memfd_create.2 b/man2/memfd_create.2
index 794aa0e54..6cfe506e1 100644
--- a/man2/memfd_create.2
+++ b/man2/memfd_create.2
@@ -35,16 +35,16 @@ have the same semantics as other anonymous
.\" those are accounted on "current" and "current->mm", that is, the
.\" process doing the first page access.
memory allocations such as those allocated using
-.BR mmap (2)
+.MR mmap 2
with the
.B MAP_ANONYMOUS
flag.
.P
The initial size of the file is set to 0.
Following the call, the file size should be set using
-.BR ftruncate (2).
+.MR ftruncate 2 .
(Alternatively, the file may be populated by calls to
-.BR write (2)
+.MR write 2
or similar.)
.P
The name supplied in
@@ -70,7 +70,7 @@ flag on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.TP
.B MFD_ALLOW_SEALING
@@ -80,7 +80,7 @@ See the discussion of the
and
.B F_GET_SEALS
operations in
-.BR fcntl (2),
+.MR fcntl 2 ,
and also NOTES, below.
The initial set of seals is empty.
If this flag is not set, the initial set of seals will be
@@ -120,7 +120,7 @@ huge page sizes are included in the header file
.IP
For details on encoding huge page sizes not included in the header file,
see the discussion of the similarly named constants in
-.BR mmap (2).
+.MR mmap 2 .
.P
Unused bits in
.I flags
@@ -136,16 +136,16 @@ and
is set for the file descriptor.
.P
With respect to
-.BR fork (2)
+.MR fork 2
and
-.BR execve (2),
+.MR execve 2 ,
the usual semantics apply for the file descriptor created by
.BR memfd_create ().
A copy of the file descriptor is inherited by the child produced by
-.BR fork (2)
+.MR fork 2
and refers to the same file.
The file descriptor is preserved across
-.BR execve (2),
+.MR execve 2 ,
unless the close-on-exec flag has been set.
.SH RETURN VALUE
On success,
@@ -200,7 +200,7 @@ and is not a member of the
group; see the description of
.I /proc/sys/vm/sysctl_hugetlb_shm_group
in
-.BR proc (5).
+.MR proc 5 .
.SH STANDARDS
Linux.
.SH HISTORY
@@ -212,13 +212,13 @@ glibc 2.27.
The
.BR memfd_create ()
system call provides a simple alternative to manually mounting a
-.BR tmpfs (5)
+.MR tmpfs 5
filesystem and creating and opening a file in that filesystem.
The primary purpose of
.BR memfd_create ()
is to create files and associated file descriptors that are
used with the file-sealing APIs provided by
-.BR fcntl (2).
+.MR fcntl 2 .
.P
The
.BR memfd_create ()
@@ -261,20 +261,20 @@ its peer can't modify the shared memory in an undesired fashion.
An example of the usage of the sealing mechanism is as follows:
.IP (1) 5
The first process creates a
-.BR tmpfs (5)
+.MR tmpfs 5
file using
.BR memfd_create ().
The call yields a file descriptor used in subsequent steps.
.IP (2)
The first process
sizes the file created in the previous step using
-.BR ftruncate (2),
+.MR ftruncate 2 ,
maps it using
-.BR mmap (2),
+.MR mmap 2 ,
and populates the shared memory with the desired data.
.IP (3)
The first process uses the
-.BR fcntl (2)
+.MR fcntl 2
.B F_ADD_SEALS
operation to place one or more seals on the file,
in order to restrict further modifications on the file.
@@ -287,13 +287,13 @@ Otherwise, behavior similar to
can be achieved by using
.BR F_SEAL_FUTURE_WRITE ,
which will prevent future writes via
-.BR mmap (2)
+.MR mmap 2
and
-.BR write (2)
+.MR write 2
from succeeding while keeping existing shared writable mappings).
.IP (4)
A second process obtains a file descriptor for the
-.BR tmpfs (5)
+.MR tmpfs 5
file and maps it.
Among the possible ways in which this could happen are the following:
.RS
@@ -302,14 +302,14 @@ The process that called
.BR memfd_create ()
could transfer the resulting file descriptor to the second process
via a UNIX domain socket (see
-.BR unix (7)
+.MR unix 7
and
-.BR cmsg (3)).
+.MR cmsg 3 ).
The second process then maps the file using
-.BR mmap (2).
+.MR mmap 2 .
.IP \[bu]
The second process is created via
-.BR fork (2)
+.MR fork 2
and thus automatically inherits the file descriptor and mapping.
(Note that in this case and the next,
there is a natural trust relationship between the two processes,
@@ -328,11 +328,11 @@ is the number of the file descriptor returned by the call to
.BR memfd_create ()
in that process.
The second process then maps the file using
-.BR mmap (2).
+.MR mmap 2 .
.RE
.IP (5)
The second process uses the
-.BR fcntl (2)
+.MR fcntl 2
.B F_GET_SEALS
operation to retrieve the bit mask of seals
that has been applied to the file.
@@ -350,7 +350,7 @@ and the file sealing API.
The first program,
.IR t_memfd_create.c ,
creates a
-.BR tmpfs (5)
+.MR tmpfs 5
file using
.BR memfd_create (),
sets a size for the file, maps it into memory,
@@ -370,7 +370,7 @@ and inspect the set of seals that have been applied to that file.
.P
The following shell session demonstrates the use of these programs.
First we create a
-.BR tmpfs (5)
+.MR tmpfs 5
file and set some seals on it:
.P
.in +4n
@@ -541,9 +541,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fcntl (2),
-.BR ftruncate (2),
-.BR memfd_secret (2),
-.BR mmap (2),
-.BR shmget (2),
-.BR shm_open (3)
+.MR fcntl 2 ,
+.MR ftruncate 2 ,
+.MR memfd_secret 2 ,
+.MR mmap 2 ,
+.MR shmget 2 ,
+.MR shm_open 3
diff --git a/man2/memfd_secret.2 b/man2/memfd_secret.2
index 5d2436cc5..f3b946d19 100644
--- a/man2/memfd_secret.2
+++ b/man2/memfd_secret.2
@@ -27,7 +27,7 @@ Standard C library
glibc provides no wrapper for
.BR memfd_secret (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR memfd_secret ()
creates an anonymous RAM-based file and returns a file descriptor
@@ -39,10 +39,10 @@ Once all open references to the file are closed,
it is automatically released.
The initial size of the file is set to 0.
Following the call, the file size should be set using
-.BR ftruncate (2).
+.MR ftruncate 2 .
.P
The memory areas backing the file created with
-.BR memfd_secret (2)
+.MR memfd_secret 2
are visible only to the processes that have access to the file descriptor.
The memory region is removed from the kernel page tables
and only the page tables of the processes holding the file descriptor
@@ -59,11 +59,11 @@ to control the behavior of
.B FD_CLOEXEC
Set the close-on-exec flag on the new file descriptor,
which causes the region to be removed from the process on
-.BR execve (2).
+.MR execve 2 .
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
.P
As its return value,
.BR memfd_secret ()
@@ -75,20 +75,20 @@ and
is set for the file descriptor.
.P
With respect to
-.BR fork (2)
+.MR fork 2
and
-.BR execve (2),
+.MR execve 2 ,
the usual semantics apply for the file descriptor created by
.BR memfd_secret ().
A copy of the file descriptor is inherited by the child produced by
-.BR fork (2)
+.MR fork 2
and refers to the same file.
The file descriptor is preserved across
-.BR execve (2),
+.MR execve 2 ,
unless the close-on-exec flag has been set.
.P
The memory region is locked into memory in the same way as with
-.BR mlock (2),
+.MR mlock 2 ,
so that it will never be written into swap,
and hibernation is inhibited for as long as any
.BR memfd_secret ()
@@ -96,13 +96,13 @@ descriptions exist.
However the implementation of
.BR memfd_secret ()
will not try to populate the whole range during the
-.BR mmap (2)
+.MR mmap 2
call that attaches the region into the process's address space;
instead, the pages are only actually allocated
as they are faulted in.
The amount of memory allowed for memory mappings
of the file descriptor obeys the same rules as
-.BR mlock (2)
+.MR mlock 2
and cannot exceed
.BR RLIMIT_MEMLOCK .
.SH RETURN VALUE
@@ -180,7 +180,7 @@ a kernel-side attack would need to
either walk the page tables and create new ones,
or spawn a new privileged user-space process to perform
secrets exfiltration using
-.BR ptrace (2).
+.MR ptrace 2 .
.P
The way
.BR memfd_secret ()
@@ -196,9 +196,9 @@ hybernation is prevented when there are active
.BR memfd_secret ()
users.
.SH SEE ALSO
-.BR fcntl (2),
-.BR ftruncate (2),
-.BR mlock (2),
-.BR memfd_create (2),
-.BR mmap (2),
-.BR setrlimit (2)
+.MR fcntl 2 ,
+.MR ftruncate 2 ,
+.MR mlock 2 ,
+.MR memfd_create 2 ,
+.MR mmap 2 ,
+.MR setrlimit 2
diff --git a/man2/migrate_pages.2 b/man2/migrate_pages.2
index 3e96f0322..c18ae4c2f 100644
--- a/man2/migrate_pages.2
+++ b/man2/migrate_pages.2
@@ -55,9 +55,9 @@ The
.I maxnode
argument is the maximum node number in the bit mask plus one (this is the same
as in
-.BR mbind (2),
+.MR mbind 2 ,
but different from
-.BR select (2)).
+.MR select 2 ).
.P
The
.I pid
@@ -131,10 +131,10 @@ Linux.
Linux 2.6.16.
.SH NOTES
For information on library support, see
-.BR numa (7).
+.MR numa 7 .
.P
Use
-.BR get_mempolicy (2)
+.MR get_mempolicy 2
with the
.B MPOL_F_MEMS_ALLOWED
flag to obtain the set of nodes that are allowed by
@@ -147,9 +147,9 @@ Use of
may result in pages whose location
(node) violates the memory policy established for the
specified addresses (see
-.BR mbind (2))
+.MR mbind 2 )
and/or the specified process (see
-.BR set_mempolicy (2)).
+.MR set_mempolicy 2 ).
That is, memory policy does not constrain the destination
nodes used by
.BR migrate_pages ().
@@ -160,15 +160,15 @@ header is not included with glibc, but requires installing
.I libnuma\-devel
or a similar package.
.SH SEE ALSO
-.BR get_mempolicy (2),
-.BR mbind (2),
-.BR set_mempolicy (2),
-.BR numa (3),
-.BR numa_maps (5),
-.BR cpuset (7),
-.BR numa (7),
-.BR migratepages (8),
-.BR numastat (8)
+.MR get_mempolicy 2 ,
+.MR mbind 2 ,
+.MR set_mempolicy 2 ,
+.MR numa 3 ,
+.MR numa_maps 5 ,
+.MR cpuset 7 ,
+.MR numa 7 ,
+.MR migratepages 8 ,
+.MR numastat 8
.P
.I Documentation/vm/page_migration.rst
in the Linux kernel source tree
diff --git a/man2/mincore.2 b/man2/mincore.2
index bc34562dc..2b0145faa 100644
--- a/man2/mincore.2
+++ b/man2/mincore.2
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mincore ():
@@ -133,7 +133,7 @@ Before Linux 2.6.21,
did not return correct information for
.B MAP_PRIVATE
mappings, or for nonlinear mappings (established using
-.BR remap_file_pages (2)).
+.MR remap_file_pages 2 ).
.\" Linux (up to now, 2.6.5),
.\" .B mincore
.\" does not return correct information for MAP_PRIVATE mappings:
@@ -150,9 +150,9 @@ mappings, or for nonlinear mappings (established using
.\" always fails with the error
.\" .BR ENOMEM .
.SH SEE ALSO
-.BR fincore (1),
-.BR madvise (2),
-.BR mlock (2),
-.BR mmap (2),
-.BR posix_fadvise (2),
-.BR posix_madvise (3)
+.MR fincore 1 ,
+.MR madvise 2 ,
+.MR mlock 2 ,
+.MR mmap 2 ,
+.MR posix_fadvise 2 ,
+.MR posix_madvise 3
diff --git a/man2/mkdir.2 b/man2/mkdir.2
index 1d9cddbe6..fb46cb543 100644
--- a/man2/mkdir.2
+++ b/man2/mkdir.2
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mkdirat ():
@@ -44,7 +44,7 @@ attempts to create a directory named
The argument
.I mode
specifies the mode for the new directory (see
-.BR inode (7)).
+.MR inode 7 ).
It is modified by the process's
.I umask
in the usual way: in the absence of a default ACL, the mode of the
@@ -105,7 +105,7 @@ is absolute, then
is ignored.
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR mkdirat ().
.SH RETURN VALUE
@@ -124,7 +124,7 @@ or one of the directories in
.I pathname
did not allow search permission.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( mkdirat ())
@@ -237,14 +237,14 @@ There are many infelicities in the protocol underlying NFS.
Some of these affect
.BR mkdir ().
.SH SEE ALSO
-.BR mkdir (1),
-.BR chmod (2),
-.BR chown (2),
-.BR mknod (2),
-.BR mount (2),
-.BR rmdir (2),
-.BR stat (2),
-.BR umask (2),
-.BR unlink (2),
-.BR acl (5),
-.BR path_resolution (7)
+.MR mkdir 1 ,
+.MR chmod 2 ,
+.MR chown 2 ,
+.MR mknod 2 ,
+.MR mount 2 ,
+.MR rmdir 2 ,
+.MR stat 2 ,
+.MR umask 2 ,
+.MR unlink 2 ,
+.MR acl 5 ,
+.MR path_resolution 7
diff --git a/man2/mknod.2 b/man2/mknod.2
index 86b3b8c4f..5c8da8bc2 100644
--- a/man2/mknod.2
+++ b/man2/mknod.2
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mknod ():
@@ -57,7 +57,7 @@ argument specifies both the file mode to use and the type of node
to be created.
It should be a combination (using bitwise OR) of one of the file types
listed below and zero or more of the file mode bits listed in
-.BR inode (7).
+.MR inode 7 .
.P
The file mode is modified by the process's
.I umask
@@ -142,7 +142,7 @@ is absolute, then
is ignored.
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR mknodat ().
.SH RETURN VALUE
@@ -161,7 +161,7 @@ or one of the directories in the path prefix of
.I pathname
did not allow search permission.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( mknodat ())
@@ -256,14 +256,14 @@ is unspecified."
However, nowadays one should never use
.BR mknod ()
for this purpose; one should use
-.BR mkfifo (3),
+.MR mkfifo 3 ,
a function especially defined for this purpose.
.P
Under Linux,
.BR mknod ()
cannot be used to create directories.
One should make directories with
-.BR mkdir (2).
+.MR mkdir 2 .
.\" and one should make UNIX domain sockets with socket(2) and bind(2).
.SH STANDARDS
POSIX.1-2008.
@@ -286,17 +286,17 @@ Some of these affect
and
.BR mknodat ().
.SH SEE ALSO
-.BR mknod (1),
-.BR chmod (2),
-.BR chown (2),
-.BR fcntl (2),
-.BR mkdir (2),
-.BR mount (2),
-.BR socket (2),
-.BR stat (2),
-.BR umask (2),
-.BR unlink (2),
-.BR makedev (3),
-.BR mkfifo (3),
-.BR acl (5),
-.BR path_resolution (7)
+.MR mknod 1 ,
+.MR chmod 2 ,
+.MR chown 2 ,
+.MR fcntl 2 ,
+.MR mkdir 2 ,
+.MR mount 2 ,
+.MR socket 2 ,
+.MR stat 2 ,
+.MR umask 2 ,
+.MR unlink 2 ,
+.MR makedev 3 ,
+.MR mkfifo 3 ,
+.MR acl 5 ,
+.MR path_resolution 7
diff --git a/man2/mlock.2 b/man2/mlock.2
index 30f6ac130..293fb0d37 100644
--- a/man2/mlock.2
+++ b/man2/mlock.2
@@ -146,9 +146,9 @@ or both.
If
.B MCL_FUTURE
has been specified, then a later system call (e.g.,
-.BR mmap (2),
-.BR sbrk (2),
-.BR malloc (3)),
+.MR mmap 2 ,
+.MR sbrk 2 ,
+.MR malloc 3 ),
may fail if it would cause the number of locked bytes to exceed
the permitted maximum (see below).
In the same circumstances, stack growth may likewise fail:
@@ -284,7 +284,7 @@ has locked using
.BR mlock2 (),
.BR mlockall (),
and
-.BR mmap (2)
+.MR mmap 2
.BR MAP_LOCKED .
.SH STANDARDS
.TP
@@ -320,7 +320,7 @@ are available,
.B _POSIX_MEMLOCK
is defined in \fI<unistd.h>\fP to a value greater than 0.
(See also
-.BR sysconf (3).)
+.MR sysconf 3 .)
.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
.\" -1: unavailable, 0: ask using sysconf().
.\" glibc defines it to 1.
@@ -346,7 +346,7 @@ deterministic timing, and, like scheduling, paging is one major cause
of unexpected program execution delays.
Real-time applications will
usually also switch to a real-time scheduler with
-.BR sched_setscheduler (2).
+.MR sched_setscheduler 2 .
Cryptographic security software often handles critical bytes like
passwords or secret keys as data structures.
As a result of paging,
@@ -371,9 +371,9 @@ The dummy writes ensure that not even copy-on-write
page faults can occur in the critical section.
.P
Memory locks are not inherited by a child created via
-.BR fork (2)
+.MR fork 2
and are automatically removed (unlocked) during an
-.BR execve (2)
+.MR execve 2
or when the process terminates.
The
.BR mlockall ()
@@ -381,17 +381,17 @@ The
and
.B MCL_FUTURE | MCL_ONFAULT
settings are not inherited by a child created via
-.BR fork (2)
+.MR fork 2
and are cleared during an
-.BR execve (2).
+.MR execve 2 .
.P
Note that
-.BR fork (2)
+.MR fork 2
will prepare the address space for a copy-on-write operation.
The consequence is that any write access that follows will cause
a page fault that in turn may cause high latencies for a real-time process.
Therefore, it is crucial not to invoke
-.BR fork (2)
+.MR fork 2
after an
.BR mlockall ()
or
@@ -401,7 +401,7 @@ a process which also has a thread running at elevated priority.
.P
The memory lock on an address range is automatically removed
if the address range is unmapped via
-.BR munmap (2).
+.MR munmap 2 .
.P
Memory locks do not stack, that is, pages which have been locked several times
by calls to
@@ -478,7 +478,7 @@ a bug caused the
.BR mlockall ()
.B MCL_FUTURE
flag to be inherited across a
-.BR fork (2).
+.MR fork 2 .
This was rectified in Linux 2.4.18.
.P
Since Linux 2.6.9, if a privileged process calls
@@ -488,8 +488,8 @@ and later drops privileges (loses the
capability by, for example,
setting its effective UID to a nonzero value),
then subsequent memory allocations (e.g.,
-.BR mmap (2),
-.BR brk (2))
+.MR mmap 2 ,
+.MR brk 2 )
will fail if the
.B RLIMIT_MEMLOCK
resource limit is encountered.
@@ -498,10 +498,10 @@ resource limit is encountered.
.\" "Rationale for RLIMIT_MEMLOCK"
.\" 23 Jan 2006
.SH SEE ALSO
-.BR mincore (2),
-.BR mmap (2),
-.BR setrlimit (2),
-.BR shmctl (2),
-.BR sysconf (3),
-.BR proc (5),
-.BR capabilities (7)
+.MR mincore 2 ,
+.MR mmap 2 ,
+.MR setrlimit 2 ,
+.MR shmctl 2 ,
+.MR sysconf 3 ,
+.MR proc 5 ,
+.MR capabilities 7
diff --git a/man2/mmap.2 b/man2/mmap.2
index 63df5a98a..73c89b805 100644
--- a/man2/mmap.2
+++ b/man2/mmap.2
@@ -120,7 +120,7 @@ and (in the case of file-backed mappings)
are carried through to the underlying file.
(To precisely control when updates are carried through
to the underlying file requires the use of
-.BR msync (2).)
+.MR msync 2 .)
.TP
.BR MAP_SHARED_VALIDATE " (since Linux 4.15)"
This flag provides the same behavior as
@@ -331,7 +331,7 @@ can be discovered by listing the subdirectories in
.TP
.BR MAP_LOCKED " (since Linux 2.5.37)"
Mark the mapped region to be locked in the same way as
-.BR mlock (2).
+.MR mlock 2 .
This implementation will try to populate (prefault) the whole range but the
.BR mmap ()
call doesn't fail with
@@ -339,11 +339,11 @@ call doesn't fail with
if this fails.
Therefore major faults might happen later on.
So the semantic is not as strong as
-.BR mlock (2).
+.MR mlock 2 .
One should use
.BR mmap ()
plus
-.BR mlock (2)
+.MR mlock 2
when major faults are not acceptable after the initialization of the mapping.
The
.B MAP_LOCKED
@@ -378,7 +378,7 @@ if no physical memory is available.
See also the discussion of the file
.I /proc/sys/vm/overcommit_memory
in
-.BR proc (5).
+.MR proc 5 .
Before Linux 2.6, this flag had effect only for
private writable mappings.
.TP
@@ -520,7 +520,7 @@ is set, but the file is append-only.
.TP
.B EAGAIN
The file has been locked, or too much memory has been locked (see
-.BR setrlimit (2)).
+.MR setrlimit 2 ).
.TP
.B EBADF
.I fd
@@ -587,7 +587,7 @@ the region being unmapped.
The process's
.B RLIMIT_DATA
limit, described in
-.BR getrlimit (2),
+.MR getrlimit 2 ,
would have been exceeded.
.TP
.B ENOMEM
@@ -618,7 +618,7 @@ was mounted no-exec.
.TP
.B EPERM
The operation was prevented by a file seal; see
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.B EPERM
The
@@ -631,7 +631,7 @@ and is not a member of the
group; see the description of
.I /proc/sys/vm/sysctl_hugetlb_shm_group
in
-.BR proc_sys (5).
+.MR proc_sys 5 .
.TP
.B ETXTBSY
.B MAP_DENYWRITE
@@ -652,7 +652,7 @@ corresponds to the end of a mapped file that is not a multiple
of the page size, see NOTES.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -732,13 +732,13 @@ This page describes the interface provided by the glibc
wrapper function.
Originally, this function invoked a system call of the same name.
Since Linux 2.4, that system call has been superseded by
-.BR mmap2 (2),
+.MR mmap2 2 ,
and nowadays
.\" Since around glibc 2.1/2.2, depending on the platform.
the glibc
.BR mmap ()
wrapper function invokes
-.BR mmap2 (2)
+.MR mmap2 2
with a suitably adjusted value for
.IR offset .
.SH STANDARDS
@@ -750,14 +750,14 @@ POSIX.1-2001, SVr4, 4.4BSD.
.P
On POSIX systems on which
.BR mmap (),
-.BR msync (2),
+.MR msync 2 ,
and
.BR munmap ()
are available,
.B _POSIX_MAPPED_FILES
is defined in \fI<unistd.h>\fP to a value greater than 0.
(See also
-.BR sysconf (3).)
+.MR sysconf 3 .)
.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
.\" -1: unavailable, 0: ask using sysconf().
.\" glibc defines it to 1.
@@ -765,7 +765,7 @@ is defined in \fI<unistd.h>\fP to a value greater than 0.
Memory mapped by
.BR mmap ()
is preserved across
-.BR fork (2),
+.MR fork 2 ,
with the same attributes.
.P
A file is mapped in multiples of the page size.
@@ -780,7 +780,7 @@ correspond to added or removed regions of the file is unspecified.
.P
An application can determine which pages of a mapping are
currently resident in the buffer/page cache using
-.BR mincore (2).
+.MR mincore 2 .
.\"
.SS Using MAP_FIXED safely
The only safe use for
@@ -807,18 +807,18 @@ it will effectively clobber the mapping that thread B created.
In this scenario,
thread B need not create a mapping directly; simply making a library call
that, internally, uses
-.BR dlopen (3)
+.MR dlopen 3
to load some other shared library, will suffice.
The
-.BR dlopen (3)
+.MR dlopen 3
call will map the library into the process's address space.
Furthermore, almost any library call may be implemented in a way that
adds memory mappings to the address space, either with this technique,
or by simply allocating memory.
Examples include
-.BR brk (2),
-.BR malloc (3),
-.BR pthread_create (3),
+.MR brk 2 ,
+.MR malloc 3 ,
+.MR pthread_create 3 ,
and the PAM libraries
.UR http://www.linux-pam.org
.UE .
@@ -847,7 +847,7 @@ and
.B MAP_SHARED
will be updated after
a write to the mapped region, and before a subsequent
-.BR msync (2)
+.MR msync 2
with the
.B MS_SYNC
or
@@ -915,12 +915,12 @@ is closed and unmapped
and even though the data is never written to the file itself,
subsequent mappings may see the modified content.
In some cases, this could be fixed by calling
-.BR msync (2)
+.MR msync 2
before the unmap takes place;
however, this doesn't work on
-.BR tmpfs (5)
+.MR tmpfs 5
(for example, when using the POSIX shared memory interface documented in
-.BR shm_overview (7)).
+.MR shm_overview 7 ).
.SH EXAMPLES
.\" FIXME . Add an example here that uses an anonymous shared region for
.\" IPC between parent and child.
@@ -930,7 +930,7 @@ The range of bytes to be printed is specified via offset and length
values in the second and third command-line arguments.
The program creates a memory mapping of the required
pages of the file and then uses
-.BR write (2)
+.MR write 2
to output the desired bytes.
.SS Program source
.\" SRC BEGIN (mmap.c)
@@ -1008,24 +1008,24 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR ftruncate (2),
-.BR getpagesize (2),
-.BR memfd_create (2),
-.BR mincore (2),
-.BR mlock (2),
-.BR mmap2 (2),
-.BR mprotect (2),
-.BR mremap (2),
-.BR msync (2),
-.BR remap_file_pages (2),
-.BR setrlimit (2),
-.BR shmat (2),
-.BR userfaultfd (2),
-.BR shm_open (3),
-.BR shm_overview (7)
+.MR ftruncate 2 ,
+.MR getpagesize 2 ,
+.MR memfd_create 2 ,
+.MR mincore 2 ,
+.MR mlock 2 ,
+.MR mmap2 2 ,
+.MR mprotect 2 ,
+.MR mremap 2 ,
+.MR msync 2 ,
+.MR remap_file_pages 2 ,
+.MR setrlimit 2 ,
+.MR shmat 2 ,
+.MR userfaultfd 2 ,
+.MR shm_open 3 ,
+.MR shm_overview 7
.P
The descriptions of the following files in
-.BR proc (5):
+.MR proc 5 :
.IR /proc/ pid /maps ,
.IR /proc/ pid /map_files ,
and
diff --git a/man2/mmap2.2 b/man2/mmap2.2
index 594a207ec..6bc9aff2e 100644
--- a/man2/mmap2.2
+++ b/man2/mmap2.2
@@ -24,16 +24,16 @@ Standard C library
.fi
.SH DESCRIPTION
This is probably not the system call that you are interested in; instead, see
-.BR mmap (2),
+.MR mmap 2 ,
which describes the glibc wrapper function that invokes this system call.
.P
The
.BR mmap2 ()
system call provides the same interface as
-.BR mmap (2),
+.MR mmap 2 ,
except that the final argument specifies the offset into the
file in 4096-byte units (instead of bytes, as is done by
-.BR mmap (2)).
+.MR mmap 2 ).
This enables applications that use a 32-bit
.I off_t
to map large files (up to 2\[ha]44 bytes).
@@ -56,13 +56,13 @@ is not a multiple of the system page size.
.P
.BR mmap2 ()
can also return any of the errors described in
-.BR mmap (2).
+.MR mmap 2 .
.SH VERSIONS
On architectures where this system call is present,
the glibc
.BR mmap ()
wrapper function invokes this system call rather than the
-.BR mmap (2)
+.MR mmap 2
system call.
.P
This system call does not exist on x86-64.
@@ -78,8 +78,8 @@ Linux.
.SH HISTORY
Linux 2.3.31.
.SH SEE ALSO
-.BR getpagesize (2),
-.BR mmap (2),
-.BR mremap (2),
-.BR msync (2),
-.BR shm_open (3)
+.MR getpagesize 2 ,
+.MR mmap 2 ,
+.MR mremap 2 ,
+.MR msync 2 ,
+.MR shm_open 3
diff --git a/man2/modify_ldt.2 b/man2/modify_ldt.2
index 7af91ed59..ae5c36ecd 100644
--- a/man2/modify_ldt.2
+++ b/man2/modify_ldt.2
@@ -23,7 +23,7 @@ Standard C library
glibc provides no wrapper for
.BR modify_ldt (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR modify_ldt ()
reads or writes the local descriptor table (LDT) for a process.
@@ -163,9 +163,9 @@ Linux.
should not be used for thread-local storage, as it slows down context
switches and only supports a limited number of threads.
Threading libraries should use
-.BR set_thread_area (2)
+.MR set_thread_area 2
or
-.BR arch_prctl (2)
+.MR arch_prctl 2
instead, except on extremely old kernels that do not support those system
calls.
.P
@@ -191,6 +191,6 @@ Keep in mind that the
"lm" bit does not exist in the 32-bit headers, but these buggy kernels
will still notice the bit even when set in a 32-bit process.
.SH SEE ALSO
-.BR arch_prctl (2),
-.BR set_thread_area (2),
-.BR vm86 (2)
+.MR arch_prctl 2 ,
+.MR set_thread_area 2 ,
+.MR vm86 2
diff --git a/man2/mount.2 b/man2/mount.2
index d8a691e13..7dc2bda36 100644
--- a/man2/mount.2
+++ b/man2/mount.2
@@ -60,7 +60,7 @@ argument is interpreted by the different filesystems.
Typically it is a string of comma-separated options
understood by this filesystem.
See
-.BR mount (8)
+.MR mount 8
for details of the options available for each filesystem type.
This argument may be specified as NULL, if there are no options.
.P
@@ -124,7 +124,7 @@ as described later in this page.
Make directory changes on this filesystem synchronous.
(This property can be obtained for individual directories
or subtrees using
-.BR chattr (1).)
+.MR chattr 1 .)
.TP
.BR MS_LAZYTIME " (since Linux 4.0)"
.\" commit 0ae45f63d4ef8d8eeec49c7d8b44a1775fff13e8
@@ -138,10 +138,10 @@ The on-disk timestamps are updated only when:
the inode needs to be updated for some change unrelated to file timestamps;
.IP \[bu]
the application employs
-.BR fsync (2),
-.BR syncfs (2),
+.MR fsync 2 ,
+.MR syncfs 2 ,
or
-.BR sync (2);
+.MR sync 2 ;
.IP \[bu]
an undeleted inode is evicted from memory; or
.IP \[bu]
@@ -163,7 +163,7 @@ mount option is also enabled.
and
.B MS_LAZYTIME
is that
-.BR stat (2)
+.MR stat 2
will return the correctly updated atime, but the atime updates
will be flushed to disk only in the cases listed above.)
.TP
@@ -171,7 +171,7 @@ will be flushed to disk only in the cases listed above.)
Permit mandatory locking on files in this filesystem.
(Mandatory locking must still be enabled on a per-file basis,
as described in
-.BR fcntl (2).)
+.MR fcntl 2 .)
Since Linux 4.5,
.\" commit 95ace75414f312f9a7b93d873f386987b92a5301
this mount option requires the
@@ -232,7 +232,7 @@ update the file's last access time (atime) only if the current value
of atime is less than or equal to the file's last modification time (mtime)
or last status change time (ctime).
This option is useful for programs, such as
-.BR mutt (1),
+.MR mutt 1 ,
that need to know when a file has been read since it was last modified.
Since Linux 2.6.30, the kernel defaults to the behavior provided
by this flag (unless
@@ -270,7 +270,7 @@ Make writes on this filesystem synchronous (as though
the
.B O_SYNC
flag to
-.BR open (2)
+.MR open 2
was specified for all file opens to this filesystem).
.TP
.BR MS_NOSYMFOLLOW " (since Linux 5.10)"
@@ -278,11 +278,11 @@ was specified for all file opens to this filesystem).
Do not follow symbolic links when resolving paths.
Symbolic links can still be created,
and
-.BR readlink (1),
-.BR readlink (2),
-.BR realpath (1),
+.MR readlink 1 ,
+.MR readlink 2 ,
+.MR realpath 1 ,
and
-.BR realpath (3)
+.MR realpath 3
all still work properly.
.P
From Linux 2.4 onward, some of the above flags are
@@ -445,7 +445,7 @@ then perform a bind mount.
A bind mount makes a file or a directory subtree visible at
another point within the single directory hierarchy.
Bind mounts may cross filesystem boundaries and span
-.BR chroot (2)
+.MR chroot 2
jails.
.P
The
@@ -564,7 +564,7 @@ is also changed.
.P
For further details regarding mount propagation types
(including the default propagation type assigned to new mounts), see
-.BR mount_namespaces (7).
+.MR mount_namespaces 7 .
.\"
.SS Moving a mount
If
@@ -630,7 +630,7 @@ See the Linux kernel source code for details.
.B EACCES
A component of a path was not searchable.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EACCES
Mounting a read-only filesystem was attempted without giving the
@@ -822,7 +822,7 @@ flag, or one of the "atime" flags
.BR MS_NODIRATIME ,
.BR MS_RELATIME )
of an existing mount, but the mount is locked; see
-.BR mount_namespaces (7).
+.MR mount_namespaces 7 .
.TP
.B EROFS
Mounting a read-only filesystem was attempted without giving the
@@ -896,22 +896,22 @@ are visible to all other processes sharing the same namespace.
a single namespace was shared by every process on the system.)
.P
A child process created by
-.BR fork (2)
+.MR fork 2
shares its parent's mount namespace;
the mount namespace is preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
A process can obtain a private mount namespace if:
it was created using the
-.BR clone (2)
+.MR clone 2
.B CLONE_NEWNS
flag,
in which case its new namespace is initialized to be a
.I copy
of the namespace of the process that called
-.BR clone (2);
+.MR clone 2 ;
or it calls
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWNS
flag,
@@ -922,7 +922,7 @@ to other processes (except child processes that the caller
subsequently creates) and vice versa.
.P
For further details on mount namespaces, see
-.BR mount_namespaces (7).
+.MR mount_namespaces 7 .
.\"
.SS Parental relationship between mounts
Each mount has a parent mount.
@@ -952,20 +952,20 @@ file exposes even more information about mounts,
including the propagation type and mount ID information that makes it
possible to discover the parental relationship between mounts.
See
-.BR proc (5)
+.MR proc 5
and
-.BR mount_namespaces (7)
+.MR mount_namespaces 7
for details of this file.
.SH SEE ALSO
-.BR mountpoint (1),
-.BR chroot (2),
-.BR ioctl_iflags (2),
-.BR mount_setattr (2),
-.BR pivot_root (2),
-.BR umount (2),
-.BR mount_namespaces (7),
-.BR path_resolution (7),
-.BR findmnt (8),
-.BR lsblk (8),
-.BR mount (8),
-.BR umount (8)
+.MR mountpoint 1 ,
+.MR chroot 2 ,
+.MR ioctl_iflags 2 ,
+.MR mount_setattr 2 ,
+.MR pivot_root 2 ,
+.MR umount 2 ,
+.MR mount_namespaces 7 ,
+.MR path_resolution 7 ,
+.MR findmnt 8 ,
+.MR lsblk 8 ,
+.MR mount 8 ,
+.MR umount 8
diff --git a/man2/mount_setattr.2 b/man2/mount_setattr.2
index 3b70dcd97..f93132d42 100644
--- a/man2/mount_setattr.2
+++ b/man2/mount_setattr.2
@@ -24,7 +24,7 @@ Standard C library
glibc provides no wrapper for
.BR mount_setattr (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR mount_setattr ()
@@ -53,7 +53,7 @@ then the mount properties of the mount identified by
.I dirfd
are changed.
(See
-.BR openat (2)
+.MR openat 2
for an explanation of why the
.I dirfd
argument is useful.)
@@ -274,7 +274,7 @@ they are nonetheless passed in
and
.I attr_clr
for consistency with
-.BR fsmount (2),
+.MR fsmount 2 ,
which introduced this behavior.
.IP
Note that,
@@ -382,7 +382,7 @@ Turn all mounts into dependent mounts.
Turn all mounts into unbindable mounts.
.P
For further details on the above propagation types, see
-.BR mount_namespaces (7).
+.MR mount_namespaces 7 .
.SH RETURN VALUE
On success,
.BR mount_setattr ()
@@ -553,10 +553,10 @@ A new mount and user namespace pair is created.
This happens for example when specifying
.B CLONE_NEWUSER | CLONE_NEWNS
in
-.BR unshare (2),
-.BR clone (2),
+.MR unshare 2 ,
+.MR clone 2 ,
or
-.BR clone3 (2).
+.MR clone3 2 .
The aforementioned flags become locked in the new mount namespace
to prevent sensitive mount properties from being altered.
Since the newly created mount namespace will be owned by the
@@ -603,7 +603,7 @@ the ID mapping of the mount will be applied to
user and group IDs associated with filesystem objects.
This encompasses the user and group IDs associated with inodes
and also the following
-.BR xattr (7)
+.MR xattr 7
keys:
.IP \[bu] 3
.IR security.capability ,
@@ -613,7 +613,7 @@ are stored or returned in the
format,
which stores a root user ID alongside the capabilities
(see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.IP \[bu]
.I system.posix_acl_access
and
@@ -640,16 +640,16 @@ Currently, the following filesystems support ID-mapped mounts:
.RS
.IP \[bu] 3
.PD 0
-.BR xfs (5)
+.MR xfs 5
(since Linux 5.12)
.IP \[bu]
-.BR ext4 (5)
+.MR ext4 5
(since Linux 5.12)
.IP \[bu]
.B FAT
(since Linux 5.12)
.IP \[bu]
-.BR btrfs (5)
+.MR btrfs 5
(since Linux 5.15)
.\" commit 5b9b26f5d0b88b74001dcfe4ab8a8f2f4e744112
.IP \[bu]
@@ -679,14 +679,14 @@ The mount must not have any writers.
The mount must be a detached mount;
that is,
it must have been created by calling
-.BR open_tree (2)
+.MR open_tree 2
with the
.B OPEN_TREE_CLONE
flag and it must not already have been visible in a mount namespace.
(To put things another way:
the mount must not have been attached to the filesystem hierarchy
with a system call such as
-.BR move_mount (2).)
+.MR move_mount 2 .)
.P
ID mappings can be created for user IDs, group IDs, and project IDs.
An ID mapping is essentially a mapping of a range of user or group IDs into
@@ -709,7 +709,7 @@ all files owned by that unmapped user or group ID will appear as
being owned by the overflow user ID or overflow group ID respectively.
.P
Further details on setting up ID mappings can be found in
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.P
In the common case, the user namespace passed in
.I userns_fd
@@ -720,7 +720,7 @@ in
to create an ID-mapped mount will be the user namespace of a container.
In other scenarios it will be a dedicated user namespace associated with
a user's login session as is the case for portable home directories in
-.BR systemd-homed.service (8)).
+.MR systemd-homed.service 8 ).
It is also perfectly fine to create a dedicated user namespace
for the sake of ID mapping a mount.
.P
@@ -732,7 +732,7 @@ between multiple users or multiple machines,
especially in complex scenarios.
For example,
ID-mapped mounts are used to implement portable home directories in
-.BR systemd-homed.service (8),
+.MR systemd-homed.service 8 ,
where they allow users to move their home directory
to an external storage device
and use it on multiple computers
@@ -743,13 +743,13 @@ assign random user IDs and group IDs at login time.
Sharing files or filesystems
from the host with unprivileged containers.
This allows a user to avoid having to change ownership permanently through
-.BR chown (2).
+.MR chown 2 .
.IP \[bu]
ID mapping a container's root filesystem.
Users don't need to change ownership permanently through
-.BR chown (2).
+.MR chown 2 .
Especially for large root filesystems, using
-.BR chown (2)
+.MR chown 2
can be prohibitively expensive.
.IP \[bu]
Sharing files or filesystems
@@ -760,7 +760,7 @@ for filesystems lacking a concept of ownership.
.IP \[bu]
Efficiently changing ownership on a per-mount basis.
In contrast to
-.BR chown (2),
+.MR chown 2 ,
changing ownership of large sets of files is instantaneous with
ID-mapped mounts.
This is especially useful when ownership of
@@ -775,7 +775,7 @@ Taking the current ownership into account.
ID mappings specify precisely
what a user or group ID is supposed to be mapped to.
This contrasts with the
-.BR chown (2)
+.MR chown 2
system call which cannot by itself
take the current ownership of the files it changes into account.
It simply changes the ownership to the specified user ID and group ID.
@@ -786,7 +786,7 @@ restricting the ownership changes to specific mounts,
and temporarily as the ownership changes only apply as long as the mount exists.
By contrast,
changing ownership via the
-.BR chown (2)
+.MR chown 2
system call changes the ownership globally and permanently.
.\"
.SS Extensibility
@@ -803,11 +803,11 @@ acting as an implicit version number.
(Because new extension fields will always
be appended, the structure size will always increase.)
This extensibility design is very similar to other system calls such as
-.BR perf_setattr (2),
-.BR perf_event_open (2),
-.BR clone3 (2)
+.MR perf_setattr 2 ,
+.MR perf_event_open 2 ,
+.MR clone3 2
and
-.BR openat2 (2).
+.MR openat2 2 .
.P
Let
.I usize
@@ -873,7 +873,7 @@ struct mount_attr attr = {
.in
.P
Alternatively, the structure can be zero-filled using
-.BR memset (3)
+.MR memset 3
or similar functions:
.P
.in +4n
@@ -1043,13 +1043,13 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR newgidmap (1),
-.BR newuidmap (1),
-.BR clone (2),
-.BR mount (2),
-.BR unshare (2),
-.BR proc (5),
-.BR capabilities (7),
-.BR mount_namespaces (7),
-.BR user_namespaces (7),
-.BR xattr (7)
+.MR newgidmap 1 ,
+.MR newuidmap 1 ,
+.MR clone 2 ,
+.MR mount 2 ,
+.MR unshare 2 ,
+.MR proc 5 ,
+.MR capabilities 7 ,
+.MR mount_namespaces 7 ,
+.MR user_namespaces 7 ,
+.MR xattr 7
diff --git a/man2/move_pages.2 b/man2/move_pages.2
index 1b6281bd5..6cc9eb684 100644
--- a/man2/move_pages.2
+++ b/man2/move_pages.2
@@ -63,7 +63,7 @@ Since Linux 4.13,
permission is governed by a ptrace access mode
.B PTRACE_MODE_READ_REALCREDS
check with respect to the target process; see
-.BR ptrace (2).
+.MR ptrace 2 .
.P
.I count
is the number of pages to move.
@@ -213,10 +213,10 @@ Linux.
Linux 2.6.18.
.SH NOTES
For information on library support, see
-.BR numa (7).
+.MR numa 7 .
.P
Use
-.BR get_mempolicy (2)
+.MR get_mempolicy 2
with the
.B MPOL_F_MEMS_ALLOWED
flag to obtain the set of nodes that are allowed by
@@ -229,9 +229,9 @@ time by manual or automatic reconfiguration of the cpuset.
Use of this function may result in pages whose location
(node) violates the memory policy established for the
specified addresses (See
-.BR mbind (2))
+.MR mbind 2 )
and/or the specified process (See
-.BR set_mempolicy (2)).
+.MR set_mempolicy 2 ).
That is, memory policy does not constrain the destination
nodes used by
.BR move_pages ().
@@ -242,12 +242,12 @@ header is not included with glibc, but requires installing
.I libnuma\-devel
or a similar package.
.SH SEE ALSO
-.BR get_mempolicy (2),
-.BR mbind (2),
-.BR set_mempolicy (2),
-.BR numa (3),
-.BR numa_maps (5),
-.BR cpuset (7),
-.BR numa (7),
-.BR migratepages (8),
-.BR numastat (8)
+.MR get_mempolicy 2 ,
+.MR mbind 2 ,
+.MR set_mempolicy 2 ,
+.MR numa 3 ,
+.MR numa_maps 5 ,
+.MR cpuset 7 ,
+.MR numa 7 ,
+.MR migratepages 8 ,
+.MR numastat 8
diff --git a/man2/mprotect.2 b/man2/mprotect.2
index 63781f536..309de1ff6 100644
--- a/man2/mprotect.2
+++ b/man2/mprotect.2
@@ -60,7 +60,7 @@ The memory can be executed.
.BR PROT_SEM " (since Linux 2.5.7)"
The memory can be used for atomic operations.
This flag was introduced as part of the
-.BR futex (2)
+.MR futex 2
implementation (in order to guarantee the ability to perform atomic
operations required by commands such as
.BR FUTEX_WAIT ),
@@ -111,14 +111,14 @@ and
The
.I pkey
argument specifies the protection key (see
-.BR pkeys (7))
+.MR pkeys 7 )
to assign to the memory.
The protection key must be allocated with
-.BR pkey_alloc (2)
+.MR pkey_alloc 2
before it is passed to
.BR pkey_mprotect ().
For an example of the use of this system call, see
-.BR pkeys (7).
+.MR pkeys 7 .
.SH RETURN VALUE
On success,
.BR mprotect ()
@@ -133,7 +133,7 @@ is set to indicate the error.
.B EACCES
The memory cannot be given the specified access.
This can happen, for example, if you
-.BR mmap (2)
+.MR mmap 2
a file to which you have read-only access, then ask
.BR mprotect ()
to mark it
@@ -146,7 +146,7 @@ or not a multiple of the system page size.
.B EINVAL
.RB ( pkey_mprotect ())
\fIpkey\fP has not been allocated with
-.BR pkey_alloc (2)
+.MR pkey_alloc 2
.TP
.B EINVAL
Both
@@ -198,7 +198,7 @@ POSIX says that the behavior of
.BR mprotect ()
is unspecified if it is applied to a region of memory that
was not obtained via
-.BR mmap (2).
+.MR mmap 2 .
.P
On Linux, it is always permissible to call
.BR mprotect ()
@@ -215,7 +215,7 @@ depends on processor architecture, kernel version, and process state.
If
.B READ_IMPLIES_EXEC
is set in the process's personality flags (see
-.BR personality (2)),
+.MR personality 2 ),
specifying
.B PROT_READ
will implicitly add
@@ -358,6 +358,6 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR mmap (2),
-.BR sysconf (3),
-.BR pkeys (7)
+.MR mmap 2 ,
+.MR sysconf 3 ,
+.MR pkeys 7
diff --git a/man2/mq_getsetattr.2 b/man2/mq_getsetattr.2
index 8f08436fd..71d3d68ab 100644
--- a/man2/mq_getsetattr.2
+++ b/man2/mq_getsetattr.2
@@ -18,16 +18,16 @@ mq_getsetattr \- get/set message queue attributes
Do not use this system call.
.P
This is the low-level system call used to implement
-.BR mq_getattr (3)
+.MR mq_getattr 3
and
-.BR mq_setattr (3).
+.MR mq_setattr 3 .
For an explanation of how this system call operates,
see the description of
-.BR mq_setattr (3).
+.MR mq_setattr 3 .
.SH STANDARDS
None.
.SH NOTES
Never call it unless you are writing a C library!
.SH SEE ALSO
-.BR mq_getattr (3),
-.BR mq_overview (7)
+.MR mq_getattr 3 ,
+.MR mq_overview 7
diff --git a/man2/mremap.2 b/man2/mremap.2
index e4dd9d0ce..62487f9ae 100644
--- a/man2/mremap.2
+++ b/man2/mremap.2
@@ -44,7 +44,7 @@ below.
.P
If the value of \fIold_size\fP is zero, and \fIold_address\fP refers to
a shareable mapping (see
-.BR mmap (2)
+.MR mmap 2
.BR MAP_SHARED ),
then
.BR mremap ()
@@ -76,7 +76,7 @@ the mapping should be employed).
This flag serves a similar purpose to the
.B MAP_FIXED
flag of
-.BR mmap (2).
+.MR mmap 2 .
If this flag is specified, then
.BR mremap ()
accepts a fifth argument,
@@ -110,7 +110,7 @@ flag can be used only with private anonymous mappings
and
.B MAP_ANONYMOUS
in
-.BR mmap (2)).
+.MR mmap 2 ).
.IP
After completion,
any access to the range specified by
@@ -119,10 +119,10 @@ and
.I old_size
will result in a page fault.
The page fault will be handled by a
-.BR userfaultfd (2)
+.MR userfaultfd 2
handler
if the address is in a range previously registered with
-.BR userfaultfd (2).
+.MR userfaultfd 2 .
Otherwise, the kernel allocates a zero-filled page to handle the fault.
.IP
The
@@ -137,7 +137,7 @@ If the memory segment specified by
and
.I old_size
is locked (using
-.BR mlock (2)
+.MR mlock 2
or similar), then this lock is maintained when the segment is
resized and/or relocated.
As a consequence, the amount of memory locked by the process may change.
@@ -261,7 +261,7 @@ argument.
changes the
mapping between virtual addresses and memory pages.
This can be used to implement a very efficient
-.BR realloc (3).
+.MR realloc 3 .
.P
In Linux, memory is divided into pages.
A process has (one or)
@@ -280,7 +280,7 @@ segments will also cause a segmentation violation.
If
.BR mremap ()
is used to move or expand an area locked with
-.BR mlock (2)
+.MR mlock 2
or equivalent, the
.BR mremap ()
call will make a best effort to populate the new area but will not fail
@@ -294,18 +294,18 @@ Possible applications for
include:
.IP \[bu] 3
Non-cooperative
-.BR userfaultfd (2):
+.MR userfaultfd 2 :
an application can yank out a virtual address range using
.B MREMAP_DONTUNMAP
and then employ a
-.BR userfaultfd (2)
+.MR userfaultfd 2
handler to handle the page faults that subsequently occur
as other threads in the process touch pages in the yanked range.
.IP \[bu]
Garbage collection:
.B MREMAP_DONTUNMAP
can be used in conjunction with
-.BR userfaultfd (2)
+.MR userfaultfd 2
to implement garbage collection algorithms (e.g., in a Java virtual machine).
Such an implementation can be cheaper (and simpler)
than conventional garbage collection techniques that involve
@@ -336,14 +336,14 @@ fails with the error
.B EINVAL
in this scenario.
.SH SEE ALSO
-.BR brk (2),
-.BR getpagesize (2),
-.BR getrlimit (2),
-.BR mlock (2),
-.BR mmap (2),
-.BR sbrk (2),
-.BR malloc (3),
-.BR realloc (3)
+.MR brk 2 ,
+.MR getpagesize 2 ,
+.MR getrlimit 2 ,
+.MR mlock 2 ,
+.MR mmap 2 ,
+.MR sbrk 2 ,
+.MR malloc 3 ,
+.MR realloc 3
.P
Your favorite text book on operating systems
for more information on paged memory
diff --git a/man2/msgctl.2 b/man2/msgctl.2
index 3e69eb600..58ca0bb6c 100644
--- a/man2/msgctl.2
+++ b/man2/msgctl.2
@@ -68,12 +68,12 @@ queue.
.TP
.I msg_stime
Time of the last
-.BR msgsnd (2)
+.MR msgsnd 2
system call.
.TP
.I msg_rtime
Time of the last
-.BR msgrcv (2)
+.MR msgrcv 2
system call.
.TP
.I msg_ctime
@@ -95,12 +95,12 @@ queue.
.TP
.I msg_lspid
ID of the process that performed the last
-.BR msgsnd (2)
+.MR msgsnd 2
system call.
.TP
.I msg_lrpid
ID of the process that performed the last
-.BR msgrcv (2)
+.MR msgrcv 2
system call.
.P
The
@@ -244,7 +244,7 @@ and
settings can be changed via
.I /proc
files of the same name; see
-.BR proc (5)
+.MR proc 5
for details.
.TP
.BR MSG_INFO " (Linux-specific)"
@@ -410,15 +410,15 @@ The
and
.B MSG_INFO
operations are used by the
-.BR ipcs (1)
+.MR ipcs 1
program to provide information on allocated resources.
In the future these may modified or moved to a
.I /proc
filesystem interface.
.SH SEE ALSO
-.BR msgget (2),
-.BR msgrcv (2),
-.BR msgsnd (2),
-.BR capabilities (7),
-.BR mq_overview (7),
-.BR sysvipc (7)
+.MR msgget 2 ,
+.MR msgrcv 2 ,
+.MR msgsnd 2 ,
+.MR capabilities 7 ,
+.MR mq_overview 7 ,
+.MR sysvipc 7
diff --git a/man2/msgget.2 b/man2/msgget.2
index b7105e7f5..592e0bbbe 100644
--- a/man2/msgget.2
+++ b/man2/msgget.2
@@ -72,7 +72,7 @@ set to
(This is analogous to the effect of the combination
.B O_CREAT | O_EXCL
for
-.BR open (2).)
+.MR open 2 .)
.P
Upon creation, the least significant bits of the argument
.I msgflg
@@ -81,14 +81,14 @@ These permission bits have the same format and semantics
as the permissions specified for the
.I mode
argument of
-.BR open (2).
+.MR open 2 .
(The execute permissions are not used.)
.P
If a new message queue is created,
then its associated data structure
.I msqid_ds
(see
-.BR msgctl (2))
+.MR msgctl 2 )
is initialized as follows:
.IP \[bu] 3
.I msg_perm.cuid
@@ -208,10 +208,10 @@ was perhaps unfortunate,
.B IPC_NEW
would more clearly show its function.
.SH SEE ALSO
-.BR msgctl (2),
-.BR msgrcv (2),
-.BR msgsnd (2),
-.BR ftok (3),
-.BR capabilities (7),
-.BR mq_overview (7),
-.BR sysvipc (7)
+.MR msgctl 2 ,
+.MR msgrcv 2 ,
+.MR msgsnd 2 ,
+.MR ftok 3 ,
+.MR capabilities 7 ,
+.MR mq_overview 7 ,
+.MR sysvipc 7
diff --git a/man2/msgop.2 b/man2/msgop.2
index 6ffd76b2f..9d008b4ad 100644
--- a/man2/msgop.2
+++ b/man2/msgop.2
@@ -92,7 +92,7 @@ field in the associated data structure for the message queue.
During queue creation this field is initialized to
.B MSGMNB
bytes, but this limit can be modified using
-.BR msgctl (2).
+.MR msgctl 2 .
A message queue is considered to be full if either of the following
conditions is true:
.IP \[bu] 3
@@ -137,7 +137,7 @@ with
.I errno
set to
.BR EINTR ; see
-.BR signal (7).
+.MR signal 7 .
.RB ( msgsnd ()
is never automatically restarted after being interrupted by a
signal handler, regardless of the setting of the
@@ -402,7 +402,7 @@ the message queue was removed.
.B EINTR
While the process was sleeping to receive a message,
the process caught a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.I msqid
@@ -492,7 +492,7 @@ capability)
can increase the size of a message queue beyond
.B MSGMNB
using the
-.BR msgctl (2)
+.MR msgctl 2
.B IPC_SET
operation.
.P
@@ -677,8 +677,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR msgctl (2),
-.BR msgget (2),
-.BR capabilities (7),
-.BR mq_overview (7),
-.BR sysvipc (7)
+.MR msgctl 2 ,
+.MR msgget 2 ,
+.MR capabilities 7 ,
+.MR mq_overview 7 ,
+.MR sysvipc 7
diff --git a/man2/msync.2 b/man2/msync.2
index f46b0ff90..6cc05a8c6 100644
--- a/man2/msync.2
+++ b/man2/msync.2
@@ -18,11 +18,11 @@ Standard C library
.BR msync ()
flushes changes made to the in-core copy of a file that was mapped
into memory using
-.BR mmap (2)
+.MR mmap 2
back to the filesystem.
Without use of this call,
there is no guarantee that changes are written back before
-.BR munmap (2)
+.MR munmap 2
is called.
To be more precise, the part of the file that
corresponds to the memory area starting at
@@ -130,11 +130,11 @@ are defined in
.I <unistd.h>
to a value greater than 0.
(See also
-.BR sysconf (3).)
+.MR sysconf 3 .)
.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
.\" -1: unavailable, 0: ask using sysconf().
.\" glibc defines them to 1.
.SH SEE ALSO
-.BR mmap (2)
+.MR mmap 2
.P
B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128\[en]129 and 389\[en]391.
diff --git a/man2/nanosleep.2 b/man2/nanosleep.2
index a8d9f5a8a..1688f9013 100644
--- a/man2/nanosleep.2
+++ b/man2/nanosleep.2
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR nanosleep ():
@@ -62,16 +62,16 @@ can then be used to call
again and complete the specified pause (but see NOTES).
.P
The
-.BR timespec (3)
+.MR timespec 3
structure
is used to specify intervals of time with nanosecond precision.
.P
The value of the nanoseconds field must be in the range [0, 999999999].
.P
Compared to
-.BR sleep (3)
+.MR sleep 3
and
-.BR usleep (3),
+.MR usleep 3 ,
.BR nanosleep ()
has the following advantages:
it provides a higher resolution for specifying the sleep interval;
@@ -95,7 +95,7 @@ Problem with copying information from user space.
.B EINTR
The pause has been interrupted by a signal that was
delivered to the thread (see
-.BR signal (7)).
+.MR signal 7 ).
The remaining sleep time has been written
into
.I *rem
@@ -122,7 +122,7 @@ clock.
.\" Subject: nanosleep() uses CLOCK_MONOTONIC, should be CLOCK_REALTIME?
.\" Date: 2008-06-22 07:35:41 GMT
This probably does not matter, since the POSIX.1 specification for
-.BR clock_settime (2)
+.MR clock_settime 2
says that discontinuous changes in
.B CLOCK_REALTIME
should not affect
@@ -132,7 +132,7 @@ should not affect
Setting the value of the
.B CLOCK_REALTIME
clock via
-.BR clock_settime (2)
+.MR clock_settime 2
shall
have no effect on threads that are blocked waiting for a relative time
service based upon this clock, including the
@@ -161,7 +161,7 @@ and is thus not available in Linux 2.6.0 and later kernels.
If the interval specified in
.I req
is not an exact multiple of the granularity underlying clock (see
-.BR time (7)),
+.MR time 7 ),
then the interval will be rounded up to the next multiple.
Furthermore, after the sleep completes, there may still be a delay before
the CPU becomes free to once again execute the calling thread.
@@ -173,7 +173,7 @@ is repeatedly restarted after being interrupted by signals,
since the time between the interruptions and restarts of the call
will lead to drift in the time when the sleep finally completes.
This problem can be avoided by using
-.BR clock_nanosleep (2)
+.MR clock_nanosleep 2
with an absolute time value.
.SH BUGS
If a program that catches signals and uses
@@ -190,7 +190,7 @@ on successive restarts of the
.BR nanosleep ()
call.
To avoid such problems, use
-.BR clock_nanosleep (2)
+.MR clock_nanosleep 2
with the
.B TIMER_ABSTIME
flag to sleep to an absolute deadline.
@@ -210,11 +210,11 @@ then the time that the thread spent in the stopped state is
counted against the sleep interval.
This problem is fixed in Linux 2.6.0 and later kernels.
.SH SEE ALSO
-.BR clock_nanosleep (2),
-.BR restart_syscall (2),
-.BR sched_setscheduler (2),
-.BR timer_create (2),
-.BR sleep (3),
-.BR timespec (3),
-.BR usleep (3),
-.BR time (7)
+.MR clock_nanosleep 2 ,
+.MR restart_syscall 2 ,
+.MR sched_setscheduler 2 ,
+.MR timer_create 2 ,
+.MR sleep 3 ,
+.MR timespec 3 ,
+.MR usleep 3 ,
+.MR time 7
diff --git a/man2/nfsservctl.2 b/man2/nfsservctl.2
index 462fda2ac..3c0e158e0 100644
--- a/man2/nfsservctl.2
+++ b/man2/nfsservctl.2
@@ -21,7 +21,7 @@ Since Linux 3.1, this system call no longer exists.
It has been replaced by a set of files in the
.I nfsd
filesystem; see
-.BR nfsd (7).
+.MR nfsd 7 .
.P
.in +4n
.EX
@@ -67,4 +67,4 @@ Linux.
Removed in Linux 3.1.
Removed in glibc 2.28.
.SH SEE ALSO
-.BR nfsd (7)
+.MR nfsd 7
diff --git a/man2/nice.2 b/man2/nice.2
index 20d8d8ec1..64c4974f3 100644
--- a/man2/nice.2
+++ b/man2/nice.2
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR nice ():
@@ -48,7 +48,7 @@ However, since Linux 2.6.12, an unprivileged process can decrease
the nice value of a target process that has a suitable
.B RLIMIT_NICE
soft limit; see
-.BR getrlimit (2)
+.MR getrlimit 2
for details.
.SH RETURN VALUE
On success, the new nice value is returned (but see NOTES below).
@@ -75,7 +75,7 @@ capability is required.
(But see the discussion of the
.B RLIMIT_NICE
resource limit in
-.BR setrlimit (2).)
+.MR setrlimit 2 .)
.SH VERSIONS
.SS C library/kernel differences
POSIX.1 specifies that
@@ -89,7 +89,7 @@ wrapper function provided in glibc 2.2.3 and earlier returns 0 on success.
Since glibc 2.2.4, the
.BR nice ()
wrapper function provided by glibc provides conformance to POSIX.1 by calling
-.BR getpriority (2)
+.MR getpriority 2
to obtain the new nice value, which is then returned to the caller.
.SH STANDARDS
POSIX.1-2008.
@@ -100,19 +100,19 @@ POSIX.1-2001, SVr4, 4.3BSD.
.\" error code.
.SH NOTES
For further details on the nice value, see
-.BR sched (7).
+.MR sched 7 .
.P
.IR Note :
the addition of the "autogroup" feature in Linux 2.6.38 means that
the nice value no longer has its traditional effect in many circumstances.
For details, see
-.BR sched (7).
+.MR sched 7 .
.SH SEE ALSO
-.BR nice (1),
-.BR renice (1),
-.BR fork (2),
-.BR getpriority (2),
-.BR getrlimit (2),
-.BR setpriority (2),
-.BR capabilities (7),
-.BR sched (7)
+.MR nice 1 ,
+.MR renice 1 ,
+.MR fork 2 ,
+.MR getpriority 2 ,
+.MR getrlimit 2 ,
+.MR setpriority 2 ,
+.MR capabilities 7 ,
+.MR sched 7
diff --git a/man2/open.2 b/man2/open.2
index f37ddbed0..300046bde 100644
--- a/man2/open.2
+++ b/man2/open.2
@@ -53,7 +53,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR openat ():
@@ -83,26 +83,26 @@ to an entry in the process's table of open file descriptors.
The file descriptor is used
in subsequent system calls
(\c
-.BR read (2),
-.BR write (2),
-.BR lseek (2),
-.BR fcntl (2),
+.MR read 2 ,
+.MR write 2 ,
+.MR lseek 2 ,
+.MR fcntl 2 ,
etc.)
to refer to the open file.
The file descriptor returned by a successful call will be
the lowest-numbered file descriptor not currently open for the process.
.P
By default, the new file descriptor is set to remain open across an
-.BR execve (2)
+.MR execve 2
(i.e., the
.B FD_CLOEXEC
file descriptor flag described in
-.BR fcntl (2)
+.MR fcntl 2
is initially disabled); the
.B O_CLOEXEC
flag, described below, can be used to change this default.
The file offset is set to the beginning of the file (see
-.BR lseek (2)).
+.MR lseek 2 ).
.P
A call to
.BR open ()
@@ -162,7 +162,7 @@ the file creation flags affect the semantics of the open operation itself,
while the file status flags affect the semantics of subsequent I/O operations.
The file status flags can be retrieved and (in some cases)
modified; see
-.BR fcntl (2)
+.MR fcntl 2
for details.
.P
The full list of file creation flags and file status flags is as follows:
@@ -170,10 +170,10 @@ The full list of file creation flags and file status flags is as follows:
.B O_APPEND
The file is opened in append mode.
Before each
-.BR write (2),
+.MR write 2 ,
the file offset is positioned at the end of the file,
as if with
-.BR lseek (2).
+.MR lseek 2 .
The modification of the file offset and the write operation
are performed as a single atomic step.
.IP
@@ -192,12 +192,12 @@ Enable signal-driven I/O:
generate a signal
.RB ( SIGIO
by default, but this can be changed via
-.BR fcntl (2))
+.MR fcntl 2 )
when input or output becomes possible on this file descriptor.
This feature is available only for terminals, pseudoterminals,
sockets, and (since Linux 2.6) pipes and FIFOs.
See
-.BR fcntl (2)
+.MR fcntl 2
for further details.
See also BUGS, below.
.TP
@@ -209,7 +209,7 @@ Enable the close-on-exec flag for the new file descriptor.
.\" http://austingroupbugs.net/tag_view_page.php?tag_id=8
.\" http://austingroupbugs.net/view.php?id=368
Specifying this flag permits a program to avoid additional
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETFD
operations to set the
.B FD_CLOEXEC
@@ -217,24 +217,24 @@ flag.
.IP
Note that the use of this flag is essential in some multithreaded programs,
because using a separate
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETFD
operation to set the
.B FD_CLOEXEC
flag does not suffice to avoid race conditions
where one thread opens a file descriptor and
attempts to set its close-on-exec flag using
-.BR fcntl (2)
+.MR fcntl 2
at the same time as another thread does a
-.BR fork (2)
+.MR fork 2
plus
-.BR execve (2).
+.MR execve 2 .
Depending on the order of execution,
the race may lead to the file descriptor returned by
.BR open ()
being unintentionally leaked to the program executed by the child process
created by
-.BR fork (2).
+.MR fork 2 .
(This kind of race is in principle possible for any system call
that creates a file descriptor whose close-on-exec flag should be set,
and various other Linux system calls provide an equivalent of the
@@ -264,7 +264,7 @@ For some filesystems, the behavior also depends on the
and
.I sysvgroups
mount options described in
-.BR mount (8).
+.MR mount 8 .
.\" As at Linux 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
.\" XFS (since Linux 2.6.14).
.IP
@@ -360,11 +360,11 @@ On Linux, the following bits are also honored in
.TP
.B S_ISGID
0002000 set-group-ID bit (see
-.BR inode (7)).
+.MR inode 7 ).
.TP
.B S_ISVTX
0001000 sticky bit (see
-.BR inode (7)).
+.MR inode 7 ).
.RE
.TP
.BR O_DIRECT " (since Linux 2.4.10)"
@@ -386,7 +386,7 @@ See NOTES below for further discussion.
.IP
A semantically similar (but deprecated) interface for block devices
is described in
-.BR raw (8).
+.MR raw 8 .
.TP
.B O_DIRECTORY
If \fIpathname\fP is not a directory, cause the open to fail.
@@ -396,7 +396,7 @@ If \fIpathname\fP is not a directory, cause the open to fail.
.\" O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
This flag was added in Linux 2.1.126, to
avoid denial-of-service problems if
-.BR opendir (3)
+.MR opendir 3
is called on a
FIFO or tape device.
.TP
@@ -407,15 +407,15 @@ synchronized I/O
integrity completion.
.IP
By the time
-.BR write (2)
+.MR write 2
(and similar)
return, the output data
has been transferred to the underlying hardware,
along with any file metadata that would be required to retrieve that data
(i.e., as though each
-.BR write (2)
+.MR write 2
was followed by a call to
-.BR fdatasync (2)).
+.MR fdatasync 2 ).
.IR "See NOTES below" .
.TP
.B O_EXCL
@@ -465,13 +465,13 @@ and need to avoid reliance on NFS support for
.BR O_EXCL ,
can create a unique file on
the same filesystem (e.g., incorporating hostname and PID), and use
-.BR link (2)
+.MR link 2
to make a link to the lockfile.
If
-.BR link (2)
+.MR link 2
returns 0, the lock is successful.
Otherwise, use
-.BR stat (2)
+.MR stat 2
on the unique file to check if its link count has increased to 2,
in which case the lock is also successful.
.TP
@@ -495,14 +495,14 @@ feature test macro to 64 (rather than using
.BR O_LARGEFILE )
is the preferred
method of accessing large files on 32-bit systems (see
-.BR feature_test_macros (7)).
+.MR feature_test_macros 7 ).
.TP
.BR O_NOATIME " (since Linux 2.6.8)"
Do not update the file last access time
.RI ( st_atime
in the inode)
when the file is
-.BR read (2).
+.MR read 2 .
.IP
This flag can be employed only if one of the following conditions is true:
.RS
@@ -528,7 +528,7 @@ One example is NFS, where the server maintains the access time.
If
.I pathname
refers to a terminal device\[em]see
-.BR tty (4)\[em]it
+.MR tty 4 \[em]it
will not become the process's controlling terminal even if the
process does not have one.
.TP
@@ -563,9 +563,9 @@ nor any subsequent I/O operations on the file descriptor which is
returned will cause the calling process to wait.
.IP
Note that the setting of this flag has no effect on the operation of
-.BR poll (2),
-.BR select (2),
-.BR epoll (7),
+.MR poll 2 ,
+.MR select 2 ,
+.MR epoll 7 ,
and similar,
since those interfaces merely inform the caller about whether
a file descriptor is "ready",
@@ -588,11 +588,11 @@ applications should not depend upon blocking behavior
when specifying this flag for regular files and block devices.
.IP
For the handling of FIFOs (named pipes), see also
-.BR fifo (7).
+.MR fifo 7 .
For a discussion of the effect of
.B O_NONBLOCK
in conjunction with mandatory file locks and with file leases, see
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.BR O_PATH " (since Linux 2.6.39)"
.\" commit 1abf0c718f15a56a0a435588d1b104c7a37dc9bd
@@ -607,13 +607,13 @@ Obtain a file descriptor that can be used for two purposes:
to indicate a location in the filesystem tree and
to perform operations that act purely at the file descriptor level.
The file itself is not opened, and other file operations (e.g.,
-.BR read (2),
-.BR write (2),
-.BR fchmod (2),
-.BR fchown (2),
-.BR fgetxattr (2),
-.BR ioctl (2),
-.BR mmap (2))
+.MR read 2 ,
+.MR write 2 ,
+.MR fchmod 2 ,
+.MR fchown 2 ,
+.MR fgetxattr 2 ,
+.MR ioctl 2 ,
+.MR mmap 2 )
fail with the error
.BR EBADF .
.IP
@@ -622,24 +622,25 @@ The following operations
be performed on the resulting file descriptor:
.RS
.IP \[bu] 3
-.BR close (2).
+.MR close 2 .
.IP \[bu]
-.BR fchdir (2),
+.MR fchdir 2 ,
if the file descriptor refers to a directory
(since Linux 3.5).
.\" commit 332a2e1244bd08b9e3ecd378028513396a004a24
.IP \[bu]
-.BR fstat (2)
+.MR fstat 2
(since Linux 3.6).
.IP \[bu]
.\" fstat(): commit 55815f70147dcfa3ead5738fd56d3574e2e3c1c2
-.BR fstatfs (2)
+.MR fstatfs 2
(since Linux 3.12).
.\" fstatfs(): commit 9d05746e7b16d8565dddbe3200faa1e669d23bbf
.IP \[bu]
Duplicating the file descriptor
-.RB ( dup (2),
-.BR fcntl (2)
+\%(\c
+.MR dup 2 ,
+.MR fcntl 2
.BR F_DUPFD ,
etc.).
.IP \[bu]
@@ -650,7 +651,7 @@ and
.BR F_SETFD ).
.IP \[bu]
Retrieving open file status flags using the
-.BR fcntl (2)
+.MR fcntl 2
.B F_GETFL
operation: the returned flags will include the bit
.BR O_PATH .
@@ -661,7 +662,7 @@ argument of
.BR openat ()
and the other "*at()" system calls.
This includes
-.BR linkat (2)
+.MR linkat 2
with
.B AT_EMPTY_PATH
(or via procfs using
@@ -672,7 +673,7 @@ Passing the file descriptor to another process via a UNIX domain socket
(see
.B SCM_RIGHTS
in
-.BR unix (7)).
+.MR unix 7 ).
.RE
.IP
When
@@ -692,7 +693,7 @@ flag requires no permissions on the object itself
(but does require execute permission on the directories in the path prefix).
Depending on the subsequent operation,
a check for suitable file permissions may be performed (e.g.,
-.BR fchdir (2)
+.MR fchdir 2
requires execute permission on the directory referred to
by its file descriptor argument).
By contrast,
@@ -700,8 +701,8 @@ obtaining a reference to a filesystem object by opening it with the
.B O_RDONLY
flag requires that the caller have read permission on the object,
even when the subsequent operation (e.g.,
-.BR fchdir (2),
-.BR fstat (2))
+.MR fchdir 2 ,
+.MR fstat 2 )
does not require read permission on the object.
.IP
If
@@ -713,11 +714,11 @@ then the call returns a file descriptor referring to the symbolic link.
This file descriptor can be used as the
.I dirfd
argument in calls to
-.BR fchownat (2),
-.BR fstatat (2),
-.BR linkat (2),
+.MR fchownat 2 ,
+.MR fstatat 2 ,
+.MR linkat 2 ,
and
-.BR readlinkat (2)
+.MR readlinkat 2
with an empty pathname to have the calls operate on the symbolic link.
.IP
If
@@ -725,7 +726,7 @@ If
refers to an automount point that has not yet been triggered, so no
other filesystem is mounted on it, then the call returns a file
descriptor referring to the automount directory without triggering a mount.
-.BR fstatfs (2)
+.MR fstatfs 2
can then be used to determine if it is, in fact, an untriggered
automount point
.RB ( ".f_type == AUTOFS_SUPER_MAGIC" ).
@@ -751,7 +752,7 @@ execl(buf, "some_prog", (char *) NULL);
An
.B O_PATH
file descriptor can also be passed as the argument of
-.BR fexecve (3).
+.MR fexecve 3 .
.TP
.B O_SYNC
Write operations on the file will complete according to the requirements of
@@ -766,14 +767,14 @@ provided by
.BR O_DSYNC .)
.IP
By the time
-.BR write (2)
+.MR write 2
(or similar)
returns, the output data and associated file metadata
have been transferred to the underlying hardware
(i.e., as though each
-.BR write (2)
+.MR write 2
was followed by a call to
-.BR fsync (2)).
+.MR fsync 2 ).
.IR "See NOTES below" .
.TP
.BR O_TMPFILE " (since Linux 3.11)"
@@ -798,7 +799,7 @@ and, optionally,
If
.B O_EXCL
is not specified, then
-.BR linkat (2)
+.MR linkat 2
can be used to link the temporary file into the filesystem, making it
permanent, using code like the following:
.IP
@@ -849,7 +850,7 @@ There are two main use cases for
.RS
.IP \[bu] 3
Improved
-.BR tmpfile (3)
+.MR tmpfile 3
functionality: race-free creation of temporary files that
(1) are automatically deleted when closed;
(2) can never be reached via any pathname;
@@ -858,13 +859,14 @@ functionality: race-free creation of temporary files that
.IP \[bu]
Creating a file that is initially invisible, which is then populated
with data and adjusted to have appropriate filesystem attributes
-.RB ( fchown (2),
-.BR fchmod (2),
-.BR fsetxattr (2),
+\%(\c
+.MR fchown 2 ,
+.MR fchmod 2 ,
+.MR fsetxattr 2 ,
etc.)
before being atomically linked into the filesystem
in a fully formed state (using
-.BR linkat (2)
+.MR linkat 2
as described above).
.RE
.IP
@@ -969,13 +971,13 @@ is absolute.)
.\"
.SS openat2(2)
The
-.BR openat2 (2)
+.MR openat2 2
system call is an extension of
.BR openat (),
and provides a superset of the features of
.BR openat ().
It is documented separately, in
-.BR openat2 (2).
+.MR openat2 2 .
.SH RETURN VALUE
On success,
.BR open (),
@@ -1000,7 +1002,7 @@ is denied for one of the directories in the path prefix of
or the file did not exist yet and write access to the parent directory
is not allowed.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EACCES
.\" commit 30aba6656f61ed44cba445a3c0d38b296fa9e8f5
@@ -1019,7 +1021,7 @@ For details, see the descriptions of
and
.I /proc/sys/fs/protected_regular
in
-.BR proc (5).
+.MR proc 5 .
.TP
.B EBADF
.RB ( openat ())
@@ -1061,9 +1063,9 @@ See
.B EINTR
While blocked waiting to complete an open of a slow device
(e.g., a FIFO; see
-.BR fifo (7)),
+.MR fifo 7 ),
the call was interrupted by a signal handler; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The filesystem does not support the
@@ -1144,7 +1146,7 @@ The per-process limit on the number of open file descriptors has been reached
(see the description of
.B RLIMIT_NOFILE
in
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.B ENAMETOOLONG
.I pathname
@@ -1188,7 +1190,7 @@ The named file is a FIFO,
but memory for the FIFO buffer can't be allocated because
the per-user hard limit on memory allocation for pipes has been reached
and the caller is not privileged; see
-.BR pipe (7).
+.MR pipe 7 .
.TP
.B ENOMEM
Insufficient kernel memory was available.
@@ -1259,7 +1261,7 @@ did not match the owner of the file and the caller was not privileged.
.TP
.B EPERM
The operation was prevented by a file seal; see
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.B EROFS
.I pathname
@@ -1287,7 +1289,7 @@ The
.B O_NONBLOCK
flag was specified, and an incompatible lease was held on the file
(see
-.BR fcntl (2)).
+.MR fcntl 2 ).
.SH VERSIONS
The (undefined) effect of
.B O_RDONLY | O_TRUNC
@@ -1414,7 +1416,7 @@ For certain architectures, this is also true before glibc 2.26.
.BR openat ()
POSIX.1-2008.
.P
-.BR openat2 (2)
+.MR openat2 2
Linux.
.P
The
@@ -1461,14 +1463,14 @@ but does not necessarily have the intention to read or write.
For example,
this may be used to open a device in order to get a file descriptor
for use with
-.BR ioctl (2).
+.MR ioctl 2 .
.P
Note that
.BR open ()
can open device special files, but
.BR creat ()
cannot create them; use
-.BR mknod (2)
+.MR mknod 2
instead.
.P
If the file is newly created, its
@@ -1478,7 +1480,7 @@ If the file is newly created, its
fields
(respectively, time of last access, time of last status change, and
time of last modification; see
-.BR stat (2))
+.MR stat 2 )
are set
to the current time, and so are the
.I st_ctime
@@ -1502,7 +1504,7 @@ The files in the
.IR /proc/ pid /fdinfo
directory show even more information about these file descriptors.
See
-.BR proc (5)
+.MR proc 5
for further details of both of these directories.
.P
The Linux header file
@@ -1524,7 +1526,7 @@ or\[em]in kernel-developer parlance\[em]a
.IR "struct file" .
.P
When a file descriptor is duplicated (using
-.BR dup (2)
+.MR dup 2
or similar),
the duplicate refers to the same open file description
as the original file descriptor,
@@ -1532,7 +1534,7 @@ and the two file descriptors consequently share
the file offset and file status flags.
Such sharing can also occur between processes:
a child process created via
-.BR fork (2)
+.MR fork 2
inherits duplicates of its parent's file descriptors,
and those duplicates refer to the same open file descriptions.
.P
@@ -1543,7 +1545,7 @@ thus, there may be multiple open file descriptions
corresponding to a file inode.
.P
On Linux, one can use the
-.BR kcmp (2)
+.MR kcmp 2
.B KCMP_FILE
operation to test whether two file descriptors
(in the same process or in two different processes)
@@ -1558,7 +1560,7 @@ On NFS filesystems with UID mapping enabled,
.BR open ()
may
return a file descriptor but, for example,
-.BR read (2)
+.MR read 2
requests are denied
with
.BR EACCES .
@@ -1573,7 +1575,7 @@ read and write requests.
Opening the read or write end of a FIFO blocks until the other
end is also opened (by another process or thread).
See
-.BR fifo (7)
+.MR fifo 7
for further details.
.\"
.\"
@@ -1600,7 +1602,7 @@ check for read and write permission on the file and return a file descriptor
that can't be used for reading or writing.
This nonstandard access mode is used by some Linux drivers to return a
file descriptor that is to be used only for device-specific
-.BR ioctl (2)
+.MR ioctl 2
operations.
.\" See for example util-linux's disk-utils/setfdprm.c
.\" For some background on access mode 3, see
@@ -1614,32 +1616,32 @@ operations.
and the other system calls and library functions that take
a directory file descriptor argument
(i.e.,
-.BR execveat (2),
-.BR faccessat (2),
-.BR fanotify_mark (2),
-.BR fchmodat (2),
-.BR fchownat (2),
-.BR fspick (2),
-.BR fstatat (2),
-.BR futimesat (2),
-.BR linkat (2),
-.BR mkdirat (2),
-.BR mknodat (2),
-.BR mount_setattr (2),
-.BR move_mount (2),
-.BR name_to_handle_at (2),
-.BR open_tree (2),
-.BR openat2 (2),
-.BR readlinkat (2),
-.BR renameat (2),
-.BR renameat2 (2),
-.BR statx (2),
-.BR symlinkat (2),
-.BR unlinkat (2),
-.BR utimensat (2),
-.BR mkfifoat (3),
+.MR execveat 2 ,
+.MR faccessat 2 ,
+.MR fanotify_mark 2 ,
+.MR fchmodat 2 ,
+.MR fchownat 2 ,
+.MR fspick 2 ,
+.MR fstatat 2 ,
+.MR futimesat 2 ,
+.MR linkat 2 ,
+.MR mkdirat 2 ,
+.MR mknodat 2 ,
+.MR mount_setattr 2 ,
+.MR move_mount 2 ,
+.MR name_to_handle_at 2 ,
+.MR open_tree 2 ,
+.MR openat2 2 ,
+.MR readlinkat 2 ,
+.MR renameat 2 ,
+.MR renameat2 2 ,
+.MR statx 2 ,
+.MR symlinkat 2 ,
+.MR unlinkat 2 ,
+.MR utimensat 2 ,
+.MR mkfifoat 3 ,
and
-.BR scandirat (3))
+.MR scandirat 3 )
address two problems with the older interfaces that preceded them.
Here, the explanation is in terms of the
.BR openat ()
@@ -1672,7 +1674,7 @@ opening a file descriptor for the target directory,
and then specifying that file descriptor as the
.I dirfd
argument of (say)
-.BR fstatat (2)
+.MR fstatat 2
and
.BR openat ().
The use of the
@@ -1707,9 +1709,9 @@ or the
.B O_PATH
flag).
Alternatively, such a file descriptor can be obtained by applying
-.BR dirfd (3)
+.MR dirfd 3
to a directory stream created using
-.BR opendir (3).
+.MR opendir 3 .
.P
When these APIs are given a
.I dirfd
@@ -1742,7 +1744,7 @@ or fall back to buffered I/O.
Since Linux 6.1,
.B O_DIRECT
support and alignment restrictions for a file can be queried using
-.BR statx (2),
+.MR statx 2 ,
using the
.B STATX_DIOALIGN
flag.
@@ -1750,7 +1752,7 @@ Support for
.B STATX_DIOALIGN
varies by filesystem;
see
-.BR statx (2).
+.MR statx 2 .
.P
Some filesystems provide their own interfaces for querying
.B O_DIRECT
@@ -1758,7 +1760,7 @@ alignment restrictions,
for example the
.B XFS_IOC_DIOINFO
operation in
-.BR xfsctl (3).
+.MR xfsctl 3 .
.B STATX_DIOALIGN
should be used instead when it is available.
.P
@@ -1777,7 +1779,7 @@ In Linux 2.6.0,
this was relaxed to the logical block size of the block device
(typically 512 bytes).
A block device's logical block size can be determined using the
-.BR ioctl (2)
+.MR ioctl 2
.B BLKSSZGET
operation or from the shell using the command:
.P
@@ -1789,44 +1791,44 @@ blockdev \-\-getss
.P
.B O_DIRECT
I/Os should never be run concurrently with the
-.BR fork (2)
+.MR fork 2
system call,
if the memory buffer is a private mapping
(i.e., any mapping created with the
-.BR mmap (2)
+.MR mmap 2
.B MAP_PRIVATE
flag;
this includes memory allocated on the heap and statically allocated buffers).
Any such I/Os, whether submitted via an asynchronous I/O interface or from
another thread in the process,
should be completed before
-.BR fork (2)
+.MR fork 2
is called.
Failure to do so can result in data corruption and undefined behavior in
parent and child processes.
This restriction does not apply when the memory buffer for the
.B O_DIRECT
I/Os was created using
-.BR shmat (2)
+.MR shmat 2
or
-.BR mmap (2)
+.MR mmap 2
with the
.B MAP_SHARED
flag.
Nor does this restriction apply when the memory buffer has been advised as
.B MADV_DONTFORK
with
-.BR madvise (2),
+.MR madvise 2 ,
ensuring that it will not be available
to the child after
-.BR fork (2).
+.MR fork 2 .
.P
The
.B O_DIRECT
flag was introduced in SGI IRIX, where it has alignment
restrictions similar to those of Linux 2.4.
IRIX has also a
-.BR fcntl (2)
+.MR fcntl 2
call to query appropriate alignments, and sizes.
FreeBSD 4.x introduced
a flag of the same name, but without alignment restrictions.
@@ -1848,7 +1850,7 @@ Even when the filesystem correctly handles the coherency issues in
this situation, overall I/O throughput is likely to be slower than
using either mode alone.
Likewise, applications should avoid mixing
-.BR mmap (2)
+.MR mmap 2
of files with direct I/O to the same files.
.P
The behavior of
@@ -1886,7 +1888,7 @@ I/O by specifying
when calling
.BR open ();
use
-.BR fcntl (2)
+.MR fcntl 2
to enable this flag.
.\" FIXME . Check bugzilla report on open(O_ASYNC)
.\" See http://bugzilla.kernel.org/show_bug.cgi?id=5993
@@ -1913,27 +1915,27 @@ will create a regular file (i.e.,
.B O_DIRECTORY
is ignored).
.SH SEE ALSO
-.BR chmod (2),
-.BR chown (2),
-.BR close (2),
-.BR dup (2),
-.BR fcntl (2),
-.BR link (2),
-.BR lseek (2),
-.BR mknod (2),
-.BR mmap (2),
-.BR mount (2),
-.BR open_by_handle_at (2),
-.BR openat2 (2),
-.BR read (2),
-.BR socket (2),
-.BR stat (2),
-.BR umask (2),
-.BR unlink (2),
-.BR write (2),
-.BR fopen (3),
-.BR acl (5),
-.BR fifo (7),
-.BR inode (7),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR chmod 2 ,
+.MR chown 2 ,
+.MR close 2 ,
+.MR dup 2 ,
+.MR fcntl 2 ,
+.MR link 2 ,
+.MR lseek 2 ,
+.MR mknod 2 ,
+.MR mmap 2 ,
+.MR mount 2 ,
+.MR open_by_handle_at 2 ,
+.MR openat2 2 ,
+.MR read 2 ,
+.MR socket 2 ,
+.MR stat 2 ,
+.MR umask 2 ,
+.MR unlink 2 ,
+.MR write 2 ,
+.MR fopen 3 ,
+.MR acl 5 ,
+.MR fifo 7 ,
+.MR inode 7 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/open_by_handle_at.2 b/man2/open_by_handle_at.2
index a4050d664..edf1a3519 100644
--- a/man2/open_by_handle_at.2
+++ b/man2/open_by_handle_at.2
@@ -26,7 +26,7 @@ The
and
.BR open_by_handle_at ()
system calls split the functionality of
-.BR openat (2)
+.MR openat 2
into two parts:
.BR name_to_handle_at ()
returns an opaque handle that corresponds to a specified file;
@@ -117,7 +117,7 @@ to compare the identity of filesystem objects
that were queried at different times and possibly
at different paths.
The
-.BR fanotify (7)
+.MR fanotify 7
subsystem can report events
with an information record containing a
.I file_handle
@@ -183,7 +183,7 @@ is interpreted relative to the directory referred to by
.IR dirfd ,
and a handle is returned for the file to which it refers.
(See
-.BR openat (2)
+.MR openat 2
for an explanation of why "directory file descriptors" are useful.)
.IP \[bu]
If
@@ -267,7 +267,7 @@ The
.I flags
argument
is as for
-.BR open (2).
+.MR open 2 .
If
.I handle
refers to a symbolic link, the caller must specify the
@@ -296,7 +296,7 @@ to indicate the error.
and
.BR open_by_handle_at ()
can fail for the same errors as
-.BR openat (2).
+.MR openat 2 .
In addition, they can fail with the errors noted below.
.P
.BR name_to_handle_at ()
@@ -458,9 +458,9 @@ with the
flag, and then passing the file descriptor as the
.I dirfd
argument in system calls such as
-.BR readlinkat (2)
+.MR readlinkat 2
and
-.BR fchownat (2).
+.MR fchownat 2 .
.SS Obtaining a persistent filesystem ID
The mount IDs in
.I /proc/self/mountinfo
@@ -482,7 +482,7 @@ record to search for the corresponding device UUID via the symbolic links in
.IR /dev/disks/by\-uuid .
(A more comfortable way of obtaining the UUID is to use the
.\" e.g., http://stackoverflow.com/questions/6748429/using-libblkid-to-find-uuid-of-a-partition
-.BR libblkid (3)
+.MR libblkid 3
library.)
That process can then be reversed,
using the UUID to look up the device name,
@@ -770,11 +770,11 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR open (2),
-.BR libblkid (3),
-.BR blkid (8),
-.BR findfs (8),
-.BR mount (8)
+.MR open 2 ,
+.MR libblkid 3 ,
+.MR blkid 8 ,
+.MR findfs 8 ,
+.MR mount 8
.P
The
.I libblkid
diff --git a/man2/openat2.2 b/man2/openat2.2
index 4b9029a6b..c9afb5e11 100644
--- a/man2/openat2.2
+++ b/man2/openat2.2
@@ -23,12 +23,12 @@ Standard C library
glibc provides no wrapper for
.BR openat2 (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR openat2 ()
system call is an extension of
-.BR openat (2)
+.MR openat 2
and provides a superset of its functionality.
.P
The
@@ -42,7 +42,7 @@ is specified in
be created.
.P
As with
-.BR openat (2),
+.MR openat 2 ,
if
.I pathname
is a relative pathname, then it is interpreted relative to the
@@ -84,12 +84,12 @@ should be opened, and acts as a superset of the
and
.I mode
arguments to
-.BR openat (2).
+.MR openat 2 .
This argument is a pointer to an
.I open_how
structure,
described in
-.BR open_how (2type).
+.MR open_how 2type .
.P
Any future extensions to
.BR openat2 ()
@@ -116,13 +116,13 @@ the file creation and file status flags to use when opening the file.
All of the
.B O_*
flags defined for
-.BR openat (2)
+.MR openat 2
are valid
.BR openat2 ()
flag values.
.IP
Whereas
-.BR openat (2)
+.MR openat 2
ignores unknown bits in its
.I flags
argument,
@@ -135,10 +135,10 @@ This field specifies the
mode for the new file, with identical semantics to the
.I mode
argument of
-.BR openat (2).
+.MR openat 2 .
.IP
Whereas
-.BR openat (2)
+.MR openat 2
ignores bits other than those in the range
.I 07777
in its
@@ -167,7 +167,7 @@ components of
.I pathname
will be resolved.
(See
-.BR path_resolution (7)
+.MR path_resolution 7
for background information.)
.IP
The primary use case for these flags is to allow trusted programs to restrict
@@ -218,12 +218,12 @@ is an absolute path, it is also interpreted relative to
.IR dirfd .
.IP
The effect of this flag is as though the calling process had used
-.BR chroot (2)
+.MR chroot 2
to (temporarily) modify its root directory (to the directory
referred to by
.IR dirfd ).
However, unlike
-.BR chroot (2)
+.MR chroot 2
(which changes the filesystem root permanently for a process),
.B RESOLVE_IN_ROOT
allows a program to efficiently restrict path resolution on a per-open basis.
@@ -239,13 +239,13 @@ the caller should explicitly specify
Disallow all magic-link resolution during path resolution.
.IP
Magic links are symbolic link-like objects that are most notably found in
-.BR proc (5);
+.MR proc 5 ;
examples include
.IR /proc/ pid /exe
and
.IR /proc/ pid /fd/* .
(See
-.BR symlink (7)
+.MR symlink 7
for more details.)
.IP
Unknowingly opening magic links can be risky for some applications.
@@ -254,7 +254,7 @@ Examples of such risks include the following:
.IP \[bu] 3
If the process opening a pathname is a controlling process that
currently has no controlling terminal (see
-.BR credentials (7)),
+.MR credentials 7 ),
then opening a magic link inside
.IR /proc/ pid /fd
that happens to refer to a terminal
@@ -392,7 +392,7 @@ is set to indicate the error.
The set of errors returned by
.BR openat2 ()
includes all of the errors returned by
-.BR openat (2),
+.MR openat 2 ,
as well as the following additional errors:
.TP
.B E2BIG
@@ -491,10 +491,10 @@ acting as an implicit version number.
(Because new extension fields will always
be appended, the structure size will always increase.)
This extensibility design is very similar to other system calls such as
-.BR sched_setattr (2),
-.BR perf_event_open (2),
+.MR sched_setattr 2 ,
+.MR perf_event_open 2 ,
and
-.BR clone3 (2).
+.MR clone3 2 .
.P
If we let
.I usize
@@ -557,7 +557,7 @@ struct open_how how = { .flags = O_RDWR,
.in
.P
or explicitly using
-.BR memset (3)
+.MR memset 3
or similar:
.P
.in +4n
@@ -576,7 +576,7 @@ with a structure which has every byte nonzero (to find the largest value
which doesn't produce an error of
.BR E2BIG ).
.SH SEE ALSO
-.BR openat (2),
-.BR open_how (2type),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR openat 2 ,
+.MR open_how 2type ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/outb.2 b/man2/outb.2
index 6f76d7725..e15c59330 100644
--- a/man2/outb.2
+++ b/man2/outb.2
@@ -61,9 +61,9 @@ are defined as inline macros, and will not be substituted in without
optimization enabled, causing unresolved references at link time.
.P
You use
-.BR ioperm (2)
+.MR ioperm 2
or alternatively
-.BR iopl (2)
+.MR iopl 2
to tell the kernel to allow the user space application to access the
I/O ports in question.
Failure to do this will cause the application
@@ -80,5 +80,5 @@ which is the opposite order from most DOS implementations.
.SH STANDARDS
None.
.SH SEE ALSO
-.BR ioperm (2),
-.BR iopl (2)
+.MR ioperm 2 ,
+.MR iopl 2
diff --git a/man2/pause.2 b/man2/pause.2
index f8f07f8ea..f2f35ab73 100644
--- a/man2/pause.2
+++ b/man2/pause.2
@@ -44,7 +44,7 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR kill (2),
-.BR select (2),
-.BR signal (2),
-.BR sigsuspend (2)
+.MR kill 2 ,
+.MR select 2 ,
+.MR signal 2 ,
+.MR sigsuspend 2
diff --git a/man2/pciconfig_read.2 b/man2/pciconfig_read.2
index 06da7a6a1..75d4c1bb9 100644
--- a/man2/pciconfig_read.2
+++ b/man2/pciconfig_read.2
@@ -119,4 +119,4 @@ Linux.
.SH HISTORY
Linux 2.0.26/2.1.11.
.SH SEE ALSO
-.BR capabilities (7)
+.MR capabilities 7
diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2
index 5f68f5204..5d951ec2a 100644
--- a/man2/perf_event_open.2
+++ b/man2/perf_event_open.2
@@ -27,16 +27,16 @@ Standard C library
glibc provides no wrapper for
.BR perf_event_open (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
Given a list of parameters,
.BR perf_event_open ()
returns a file descriptor, for use in subsequent system calls
(\c
-.BR read (2),
-.BR mmap (2),
-.BR prctl (2),
-.BR fcntl (2),
+.MR read 2 ,
+.MR mmap 2 ,
+.MR prctl 2 ,
+.MR fcntl 2 ,
etc.).
.PP
A call to
@@ -48,9 +48,9 @@ event that is measured; these can be grouped together
to measure multiple events simultaneously.
.P
Events can be enabled and disabled in two ways: via
-.BR ioctl (2)
+.MR ioctl 2
and via
-.BR prctl (2).
+.MR prctl 2 .
When an event is disabled it does not count or generate overflows but does
continue to exist and maintain its count value.
.P
@@ -60,13 +60,13 @@ A
event is one that is used for counting the aggregate number of events
that occur.
In general, counting event results are gathered with a
-.BR read (2)
+.MR read 2
call.
A
.I sampling
event periodically writes measurements to a buffer that can then
be accessed via
-.BR mmap (2).
+.MR mmap 2 .
.SS Arguments
The
.I pid
@@ -109,7 +109,7 @@ is governed by
(since Linux 5.9) and a ptrace access mode
.B PTRACE_MODE_READ_REALCREDS
check on older Linux versions; see
-.BR ptrace (2).
+.MR ptrace 2 .
.P
The
.I group_fd
@@ -142,17 +142,17 @@ argument is formed by ORing together zero or more of the following values:
This flag enables the close-on-exec flag for the created
event file descriptor,
so that the file descriptor is automatically closed on
-.BR execve (2).
+.MR execve 2 .
Setting the close-on-exec flags at creation time, rather than later with
-.BR fcntl (2),
+.MR fcntl 2 ,
avoids potential race conditions where the calling thread invokes
.BR perf_event_open ()
and
-.BR fcntl (2)
+.MR fcntl 2
at the same time as another thread calls
-.BR fork (2)
+.MR fork 2
then
-.BR execve (2).
+.MR execve 2 .
.TP
.B PERF_FLAG_FD_NO_GROUP
This flag tells the event to ignore the
@@ -761,7 +761,7 @@ The various bits in this field specify which values to include
in the sample.
They will be recorded in a ring-buffer,
which is available to user space using
-.BR mmap (2).
+.MR mmap 2 .
The order in which the values are saved in the
sample are documented in the MMAP Layout subsection below;
it is not the
@@ -955,7 +955,7 @@ union perf_sample_weight {
.TP
.I read_format
This field specifies the format of the data returned by
-.BR read (2)
+.MR read 2
on a
.BR perf_event_open ()
file descriptor.
@@ -996,8 +996,8 @@ The
.I disabled
bit specifies whether the counter starts out disabled or enabled.
If disabled, the event can later be enabled by
-.BR ioctl (2),
-.BR prctl (2),
+.MR ioctl 2 ,
+.MR prctl 2 ,
or
.IR enable_on_exec .
.IP
@@ -1036,7 +1036,7 @@ If a pinned counter cannot be put onto the CPU (e.g., because there are
not enough hardware counters or because of a conflict with some other
event), then the counter goes into an 'error' state, where reads
return end-of-file (i.e.,
-.BR read (2)
+.MR read 2
returns 0) until the counter is subsequently enabled or disabled.
.TP
.I exclusive
@@ -1080,7 +1080,7 @@ The
bit enables generation of
.B PERF_RECORD_MMAP
samples for every
-.BR mmap (2)
+.MR mmap 2
call that has
.B PROT_EXEC
set.
@@ -1092,7 +1092,7 @@ so that addresses can be mapped back to the original code.
The
.I comm
bit enables tracking of process command name as modified by the
-.BR execve (2)
+.MR execve 2
and
.BR prctl (PR_SET_NAME)
system calls as well as writing to
@@ -1104,7 +1104,7 @@ flag is also successfully set (possible since Linux 3.16),
then the misc flag
.B PERF_RECORD_MISC_COMM_EXEC
can be used to differentiate the
-.BR execve (2)
+.MR execve 2
case from the others.
.TP
.I freq
@@ -1124,7 +1124,7 @@ field is set.
.I enable_on_exec
If this bit is set, a counter is automatically
enabled after a call to
-.BR execve (2).
+.MR execve 2 .
.TP
.I task
If this bit is set, then
@@ -1179,7 +1179,7 @@ field.
This enables generation of
.B PERF_RECORD_MMAP
samples for
-.BR mmap (2)
+.MR mmap 2
calls that do not have
.B PROT_EXEC
set (for example data and SysV shared memory).
@@ -1221,7 +1221,7 @@ struct sample_id {
When conducting measurements that include processes running
VM instances (i.e., have executed a
.B KVM_RUN
-.BR ioctl (2)),
+.MR ioctl 2 ),
only measure events happening inside a guest instance.
This is only meaningful outside the guests; this setting does
not change counts gathered inside of a guest.
@@ -1232,7 +1232,7 @@ Currently, this functionality is x86 only.
When conducting measurements that include processes running
VM instances (i.e., have executed a
.B KVM_RUN
-.BR ioctl (2)),
+.MR ioctl 2 ),
do not measure events happening inside guest instances.
This is only meaningful outside the guests; this setting does
not change counts gathered inside of a guest.
@@ -1271,7 +1271,7 @@ flag will be set in the
.I misc
field of a comm record header if the rename event being
reported was caused by a call to
-.BR execve (2).
+.MR execve 2 .
This allows tools to distinguish between the various
types of process renaming.
.TP
@@ -1359,7 +1359,7 @@ will inherit the event.
.IR remove_on_exec " (since Linux 5.13)"
.\" commit 2e498d0a74e5b88a6689ae1b811f247f91ff188e
This closes the event when it starts a new process image by
-.BR execve (2).
+.MR execve 2 .
.TP
.IR sigtrap " (since Linux 5.13)"
.\" commit 97ba62b278674293762c3d91f724f1bb922f04e0
@@ -1696,7 +1696,7 @@ in sampled mode, asynchronous events
mmap tracking)
are logged into a ring-buffer.
This ring-buffer is created and accessed through
-.BR mmap (2).
+.MR mmap 2 .
.P
The mmap size should be 1+2\[ha]n pages, where the first page is a
metadata page
@@ -1996,7 +1996,7 @@ the mmap buffer.
.I aux_size " (since Linux 4.1)"
.\" commit 45bfb2e50471abbbfd83d40d28c986078b0d24ff
The AUX region allows
-.BR mmap (2)-ing
+.MR mmap 2 -ing
a separate sample buffer for
high-bandwidth data streams (separate from the main perf sample buffer).
An example of a high-bandwidth stream is instruction tracing support,
@@ -2015,7 +2015,7 @@ These values are then passed to mmap in order to map the AUX buffer.
Pages in the AUX buffer are included as part of the
.B RLIMIT_MEMLOCK
resource limit (see
-.BR setrlimit (2)),
+.MR setrlimit 2 ),
and also as part of the
.I perf_event_mlock_kb
allowance.
@@ -2123,7 +2123,7 @@ This is set for a
.B PERF_RECORD_COMM
record on kernels more recent than Linux 3.16
if a process name change was caused by an
-.BR execve (2)
+.MR execve 2
system call.
.TP
.BR PERF_RECORD_MISC_SWITCH_OUT " (since Linux 4.3)"
@@ -2864,7 +2864,7 @@ a snapshot of the aux buffer is recorded.
.TP
.B PERF_RECORD_MMAP2
This record includes extended information on
-.BR mmap (2)
+.MR mmap 2
calls returning executable mappings.
The format is similar to that of the
.B PERF_RECORD_MMAP
@@ -3245,7 +3245,7 @@ struct {
.I id
is the cgroup identifier.
This can be also retrieved by
-.BR name_to_handle_at (2)
+.MR name_to_handle_at 2
on the cgroup path (as a file handle).
.TP
.I path
@@ -3290,17 +3290,17 @@ Events can be set to notify when a threshold is crossed,
indicating an overflow.
Overflow conditions can be captured by monitoring the
event file descriptor with
-.BR poll (2),
-.BR select (2),
+.MR poll 2 ,
+.MR select 2 ,
or
-.BR epoll (7).
+.MR epoll 7 .
Alternatively, the overflow events can be captured via sa signal handler,
by enabling I/O signaling on the file descriptor; see the discussion of the
.B F_SETOWN
and
.B F_SETSIG
operations in
-.BR fcntl (2).
+.MR fcntl 2 .
.P
Overflows are generated only by sampling events
.RI ( sample_period
@@ -3478,7 +3478,7 @@ privileges to use this ioctl.
.IP
The argument is a BPF program file descriptor that was created by
a previous
-.BR bpf (2)
+.MR bpf 2
system call.
.TP
.BR PERF_EVENT_IOC_PAUSE_OUTPUT " (since Linux 4.7)"
@@ -3553,7 +3553,7 @@ will indicate the number of program IDs that were successfully copied.
.SS Using prctl(2)
A process can enable or disable all currently open event groups
using the
-.BR prctl (2)
+.MR prctl 2
.B PR_TASK_PERF_EVENTS_ENABLE
and
.B PR_TASK_PERF_EVENTS_DISABLE
@@ -3611,7 +3611,7 @@ when generating a call trace.
.TP
.I /proc/sys/kernel/perf_event_mlock_kb
Maximum number of pages an unprivileged user can
-.BR mlock (2).
+.MR mlock 2 .
The default is 516 (kB).
.RE
.P
@@ -3898,7 +3898,7 @@ capability.
The
.B F_SETOWN_EX
option to
-.BR fcntl (2)
+.MR fcntl 2
is needed to properly get overflow signals in threads.
This was introduced in Linux 2.6.32.
.\" commit ba0a6c9f6fceed11c6a99e8326f0477fe383e6b5
@@ -3966,7 +3966,7 @@ the wrong thing on AMD machines until Linux 2.6.35.
.SH EXAMPLES
The following is a short example that measures the total
instruction count of a call to
-.BR printf (3).
+.MR printf 3 .
.P
.\" SRC BEGIN (perf_event_open.c)
.EX
@@ -4025,12 +4025,12 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR perf (1),
-.BR fcntl (2),
-.BR mmap (2),
-.BR open (2),
-.BR prctl (2),
-.BR read (2)
+.MR perf 1 ,
+.MR fcntl 2 ,
+.MR mmap 2 ,
+.MR open 2 ,
+.MR prctl 2 ,
+.MR read 2
.P
.I Documentation/admin\-guide/perf\-security.rst
in the kernel source tree
diff --git a/man2/perfmonctl.2 b/man2/perfmonctl.2
index d4bf56b9a..7f066b3e7 100644
--- a/man2/perfmonctl.2
+++ b/man2/perfmonctl.2
@@ -58,15 +58,15 @@ The file descriptor can be used in subsequent calls to
and can be used to read event notifications (type
.IR pfm_msg_t )
using
-.BR read (2).
+.MR read 2 .
The file descriptor is pollable using
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
and
-.BR epoll (7).
+.MR epoll 7 .
.IP
The context can be destroyed by calling
-.BR close (2)
+.MR close 2
on the file descriptor.
.TP
.B PFM_WRITE_PMCS
@@ -186,8 +186,8 @@ and ultimately removed in Linux 5.10.
.P
glibc does not provide a wrapper for this system call;
on kernels where it exists, call it using
-.BR syscall (2).
+.MR syscall 2 .
.SH SEE ALSO
-.BR gprof (1)
+.MR gprof 1
.P
The perfmon2 interface specification
diff --git a/man2/personality.2 b/man2/personality.2
index 976f27c6d..685391b05 100644
--- a/man2/personality.2
+++ b/man2/personality.2
@@ -65,7 +65,7 @@ Limit the address space to 32 bits.
.BR ADDR_LIMIT_3GB " (since Linux 2.4.0)"
With this flag set, use 0xc0000000 as the offset at which to search
a virtual memory chunk on
-.BR mmap (2);
+.MR mmap 2 ;
otherwise use 0xffffe000.
Applies to 32-bit x86 processes only.
.TP
@@ -84,23 +84,23 @@ With this flag set,
implies
.B PROT_EXEC
for
-.BR mmap (2).
+.MR mmap 2 .
.TP
.BR SHORT_INODE " (since Linux 2.4.0)"
No effect.
.TP
.BR STICKY_TIMEOUTS " (since Linux 1.2.0)"
With this flag set,
-.BR select (2),
-.BR pselect (2),
+.MR select 2 ,
+.MR pselect 2 ,
and
-.BR ppoll (2)
+.MR ppoll 2
do not modify the returned timeout argument when
interrupted by a signal handler.
.TP
.BR UNAME26 " (since Linux 3.1)"
Have
-.BR uname (2)
+.MR uname 2
report a 2.6.(40+x) version number rather than a MAJOR.x version number.
Added as a stopgap measure to support broken applications that
could not handle the
@@ -146,18 +146,18 @@ otherwise no effect.
Linux.
.TP
.BR PER_LINUX32 " (since Linux 2.2)"
-.BR uname (2)
+.MR uname 2
returns the name of the 32-bit architecture in the
.I machine
field ("i686" instead of "x86_64", &c.).
.IP
Under ia64 (Itanium), processes with this personality don't have the
O_LARGEFILE
-.BR open (2)
+.MR open 2
flag forced.
.IP
Under 64-bit ARM, setting this personality is forbidden if
-.BR execve (2)ing
+.MR execve 2 ing
a 32-bit process would also be forbidden
(cf. the allow_mismatched_32bit_el0 kernel parameter and
.IR Documentation/arm64/asymmetric-32bit.rst ).
@@ -293,4 +293,4 @@ glibc 2.3.
.\" personality wrapper first appeared in glibc 1.90,
.\" <sys/personality.h> was added later in glibc 2.2.91.
.SH SEE ALSO
-.BR setarch (8)
+.MR setarch 8
diff --git a/man2/pidfd_getfd.2 b/man2/pidfd_getfd.2
index ba92823cb..564520359 100644
--- a/man2/pidfd_getfd.2
+++ b/man2/pidfd_getfd.2
@@ -21,7 +21,7 @@ Standard C library
glibc provides no wrapper for
.BR pidfd_getfd (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR pidfd_getfd ()
@@ -32,19 +32,19 @@ in the process referred to by the PID file descriptor
.IR pidfd .
.P
The duplicate file descriptor refers to the same open file description (see
-.BR open (2))
+.MR open 2 )
as the original file descriptor in the process referred to by
.IR pidfd .
The two file descriptors thus share file status flags and file offset.
Furthermore, operations on the underlying file object
(for example, assigning an address to a socket object using
-.BR bind (2))
+.MR bind 2 )
can equally be performed via the duplicate file descriptor.
.P
The close-on-exec flag
.RB ( FD_CLOEXEC ;
see
-.BR fcntl (2))
+.MR fcntl 2 )
is set on the file descriptor returned by
.BR pidfd_getfd ().
.P
@@ -57,7 +57,7 @@ Permission to duplicate another process's file descriptor
is governed by a ptrace access mode
.B PTRACE_MODE_ATTACH_REALCREDS
check (see
-.BR ptrace (2)).
+.MR ptrace 2 ).
.SH RETURN VALUE
On success,
.BR pidfd_getfd ()
@@ -85,7 +85,7 @@ The per-process limit on the number of open file descriptors has been reached
(see the description of
.B RLIMIT_NOFILE
in
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.B ENFILE
The system-wide limit on the total number of open files has been reached.
@@ -94,7 +94,7 @@ The system-wide limit on the total number of open files has been reached.
The calling process did not have
.B PTRACE_MODE_ATTACH_REALCREDS
permissions (see
-.BR ptrace (2))
+.MR ptrace 2 )
over the process referred to by
.IR pidfd .
.TP
@@ -110,14 +110,14 @@ Linux 5.6.
.\" commit 8649c322f75c96e7ced2fec201e123b2b073bf09
.SH NOTES
For a description of PID file descriptors, see
-.BR pidfd_open (2).
+.MR pidfd_open 2 .
.P
The effect of
.BR pidfd_getfd ()
is similar to the use of
.B SCM_RIGHTS
messages described in
-.BR unix (7),
+.MR unix 7 ,
but differs in the following respects:
.IP \[bu] 3
In order to pass a file descriptor using an
@@ -138,7 +138,7 @@ is restricted by a
.B PTRACE_MODE_ATTACH_REALCREDS
ptrace access mode check.
.SH SEE ALSO
-.BR clone3 (2),
-.BR dup (2),
-.BR kcmp (2),
-.BR pidfd_open (2)
+.MR clone3 2 ,
+.MR dup 2 ,
+.MR kcmp 2 ,
+.MR pidfd_open 2
diff --git a/man2/pidfd_open.2 b/man2/pidfd_open.2
index 02c741f2b..3eb22f3d6 100644
--- a/man2/pidfd_open.2
+++ b/man2/pidfd_open.2
@@ -20,7 +20,7 @@ Standard C library
glibc provides no wrapper for
.BR pidfd_open (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR pidfd_open ()
@@ -39,7 +39,7 @@ argument either has the value 0, or contains the following flag:
Return a nonblocking file descriptor.
If the process referred to by the file descriptor has not yet terminated,
then an attempt to wait on the file descriptor using
-.BR waitid (2)
+.MR waitid 2
will immediately return the error
.B EAGAIN
rather than blocking.
@@ -65,7 +65,7 @@ The per-process limit on the number of open file descriptors has been reached
(see the description of
.B RLIMIT_NOFILE
in
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.B ENFILE
The system-wide limit on the total number of open files has been reached.
@@ -87,7 +87,7 @@ Linux 5.3.
.SH NOTES
The following code sequence can be used to obtain a file descriptor
for the child of
-.BR fork (2):
+.MR fork 2 :
.P
.in +4n
.EX
@@ -111,7 +111,7 @@ the disposition of
has not been explicitly set to
.B SIG_IGN
(see
-.BR sigaction (2));
+.MR sigaction 2 );
.IP \[bu]
the
.B SA_NOCLDWAIT
@@ -120,18 +120,18 @@ flag was not specified while establishing a handler for
or while setting the disposition of that signal to
.B SIG_DFL
(see
-.BR sigaction (2));
+.MR sigaction 2 );
and
.IP \[bu]
the zombie process was not reaped elsewhere in the program
(e.g., either by an asynchronously executed signal handler or by
-.BR wait (2)
+.MR wait 2
or similar in another thread).
.P
If any of these conditions does not hold,
then the child process (along with a PID file descriptor that refers to it)
should instead be created using
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_PIDFD
flag.
@@ -140,21 +140,21 @@ flag.
A PID file descriptor returned by
.BR pidfd_open ()
(or by
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_PID
flag) can be used for the following purposes:
.IP \[bu] 3
The
-.BR pidfd_send_signal (2)
+.MR pidfd_send_signal 2
system call can be used to send a signal to the process referred to by
a PID file descriptor.
.IP \[bu]
A PID file descriptor can be monitored using
-.BR poll (2),
-.BR select (2),
+.MR poll 2 ,
+.MR select 2 ,
and
-.BR epoll (7).
+.MR epoll 7 .
When the process that it refers to terminates,
these interfaces indicate the file descriptor as readable.
Note, however, that in the current implementation,
@@ -165,20 +165,20 @@ on the file descriptor fails with the error
.IP \[bu]
If the PID file descriptor refers to a child of the calling process,
then it can be waited on using
-.BR waitid (2).
+.MR waitid 2 .
.IP \[bu]
The
-.BR pidfd_getfd (2)
+.MR pidfd_getfd 2
system call can be used to obtain a duplicate of a file descriptor
of another process referred to by a PID file descriptor.
.IP \[bu]
A PID file descriptor can be used as the argument of
-.BR setns (2)
+.MR setns 2
in order to move into one or more of the same namespaces as the process
referred to by the file descriptor.
.IP \[bu]
A PID file descriptor can be used as the argument of
-.BR process_madvise (2)
+.MR process_madvise 2
in order to provide advice on the memory usage patterns of the process
referred to by the file descriptor.
.P
@@ -190,17 +190,17 @@ The alternative is to obtain a file descriptor by opening a
.IR /proc/ pid
directory.
However, the latter technique is possible only if the
-.BR proc (5)
+.MR proc 5
filesystem is mounted;
furthermore, the file descriptor obtained in this way is
.I not
pollable and can't be waited on with
-.BR waitid (2).
+.MR waitid 2 .
.SH EXAMPLES
The program below opens a PID file descriptor for the
process whose PID is specified as its command-line argument.
It then uses
-.BR poll (2)
+.MR poll 2
to monitor the file descriptor for process exit, as indicated by an
.B EPOLLIN
event.
@@ -257,13 +257,13 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR clone (2),
-.BR kill (2),
-.BR pidfd_getfd (2),
-.BR pidfd_send_signal (2),
-.BR poll (2),
-.BR process_madvise (2),
-.BR select (2),
-.BR setns (2),
-.BR waitid (2),
-.BR epoll (7)
+.MR clone 2 ,
+.MR kill 2 ,
+.MR pidfd_getfd 2 ,
+.MR pidfd_send_signal 2 ,
+.MR poll 2 ,
+.MR process_madvise 2 ,
+.MR select 2 ,
+.MR setns 2 ,
+.MR waitid 2 ,
+.MR epoll 7
diff --git a/man2/pidfd_send_signal.2 b/man2/pidfd_send_signal.2
index 205808425..58961fb82 100644
--- a/man2/pidfd_send_signal.2
+++ b/man2/pidfd_send_signal.2
@@ -23,7 +23,7 @@ Standard C library
glibc provides no wrapper for
.BR pidfd_send_signal (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR pidfd_send_signal ()
@@ -40,7 +40,7 @@ If the
argument points to a
.I siginfo_t
buffer, that buffer should be populated as described in
-.BR rt_sigqueueinfo (2).
+.MR rt_sigqueueinfo 2 .
.P
If the
.I info
@@ -49,7 +49,7 @@ this is equivalent to specifying a pointer to a
.I siginfo_t
buffer whose fields match the values that are
implicitly supplied when a signal is sent using
-.BR kill (2):
+.MR kill 2 :
.P
.PD 0
.IP \[bu] 3
@@ -113,7 +113,7 @@ to the target process.
doesn't refer to the calling process, and
.I info.si_code
is invalid (see
-.BR rt_sigqueueinfo (2)).
+.MR rt_sigqueueinfo 2 ).
.TP
.B ESRCH
The target process does not exist
@@ -135,13 +135,13 @@ by opening a
directory;
.IP \[bu]
using
-.BR pidfd_open (2);
+.MR pidfd_open 2 ;
or
.IP \[bu]
via the PID file descriptor that is returned by a call to
-.BR clone (2)
+.MR clone 2
or
-.BR clone3 (2)
+.MR clone3 2
that specifies the
.B CLONE_PIDFD
flag.
@@ -150,7 +150,7 @@ The
.BR pidfd_send_signal ()
system call allows the avoidance of race conditions that occur
when using traditional interfaces (such as
-.BR kill (2))
+.MR kill 2 )
to signal a process.
The problem is that the traditional interfaces specify the target process
via a process ID (PID),
@@ -231,10 +231,10 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR clone (2),
-.BR kill (2),
-.BR pidfd_open (2),
-.BR rt_sigqueueinfo (2),
-.BR sigaction (2),
-.BR pid_namespaces (7),
-.BR signal (7)
+.MR clone 2 ,
+.MR kill 2 ,
+.MR pidfd_open 2 ,
+.MR rt_sigqueueinfo 2 ,
+.MR sigaction 2 ,
+.MR pid_namespaces 7 ,
+.MR signal 7
diff --git a/man2/pipe.2 b/man2/pipe.2
index a440ad401..636c538e3 100644
--- a/man2/pipe.2
+++ b/man2/pipe.2
@@ -55,7 +55,7 @@ refers to the write end of the pipe.
Data written to the write end of the pipe is buffered by the kernel
until it is read from the read end of the pipe.
For further details, see
-.BR pipe (7).
+.MR pipe 7 .
.P
If
.I flags
@@ -72,16 +72,16 @@ Set the close-on-exec
.RB ( FD_CLOEXEC )
flag on the two new file descriptors.
See the description of the same flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.TP
.BR O_DIRECT " (since Linux 3.4)"
.\" commit 9883035ae7edef3ec62ad215611cb8e17d6a1a5d
Create a pipe that performs I/O in "packet" mode.
Each
-.BR write (2)
+.MR write 2
to the pipe is dealt with as a separate packet, and
-.BR read (2)s
+.MR read 2 s
from the pipe will read one packet at a time.
Note the following points:
.RS
@@ -89,7 +89,7 @@ Note the following points:
Writes of greater than
.B PIPE_BUF
bytes (see
-.BR pipe (7))
+.MR pipe 7 )
will be split into multiple packets.
The constant
.B PIPE_BUF
@@ -97,7 +97,7 @@ is defined in
.IR <limits.h> .
.IP \[bu]
If a
-.BR read (2)
+.MR read 2
specifies a buffer size that is smaller than the next packet,
then the requested number of bytes are read,
and the excess bytes in the packet are discarded.
@@ -108,7 +108,7 @@ will be sufficient to read the largest possible packets
.IP \[bu]
Zero-length packets are not supported.
(A
-.BR read (2)
+.MR read 2
that specifies a buffer size of zero is a no-op, and returns 0.)
.RE
.IP
@@ -122,7 +122,7 @@ Since Linux 4.5,
it is possible to change the
.B O_DIRECT
setting of a pipe file descriptor using
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.B O_NONBLOCK
Set the
@@ -130,7 +130,7 @@ Set the
file status flag on the open file descriptions
referred to by the new file descriptors.
Using this flag saves extra calls to
-.BR fcntl (2)
+.MR fcntl 2
to achieve the same result.
.TP
.B O_NOTIFICATION_PIPE
@@ -182,7 +182,7 @@ The system-wide limit on the total number of open files has been reached.
.B ENFILE
The user hard limit on memory that can be allocated for pipes
has been reached and the caller is not privileged; see
-.BR pipe (7).
+.MR pipe 7 .
.TP
.B ENOPKG
.RB ( pipe2 ())
@@ -207,7 +207,7 @@ The glibc
.BR pipe ()
wrapper function transparently deals with this.
See
-.BR syscall (2)
+.MR syscall 2
for information regarding registers used for storing second file descriptor.
.SH STANDARDS
.TP
@@ -227,15 +227,15 @@ glibc 2.9.
.SH EXAMPLES
.\" fork.2 refers to this example program.
The following program creates a pipe, and then
-.BR fork (2)s
+.MR fork 2 s
to create a child process;
the child inherits a duplicate set of file
descriptors that refer to the same pipe.
After the
-.BR fork (2),
+.MR fork 2 ,
each process closes the file descriptors that it doesn't need for the pipe
(see
-.BR pipe (7)).
+.MR pipe 7 ).
The parent then writes the string contained in the program's
command-line argument to the pipe,
and the child reads this string a byte at a time from the pipe
@@ -293,12 +293,12 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fork (2),
-.BR read (2),
-.BR socketpair (2),
-.BR splice (2),
-.BR tee (2),
-.BR vmsplice (2),
-.BR write (2),
-.BR popen (3),
-.BR pipe (7)
+.MR fork 2 ,
+.MR read 2 ,
+.MR socketpair 2 ,
+.MR splice 2 ,
+.MR tee 2 ,
+.MR vmsplice 2 ,
+.MR write 2 ,
+.MR popen 3 ,
+.MR pipe 7
diff --git a/man2/pivot_root.2 b/man2/pivot_root.2
index 832637dc5..55328b7db 100644
--- a/man2/pivot_root.2
+++ b/man2/pivot_root.2
@@ -23,7 +23,7 @@ Standard C library
glibc provides no wrapper for
.BR pivot_root (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR pivot_root ()
changes the root mount in the mount namespace of the calling process.
@@ -90,7 +90,7 @@ On error, \-1 is returned, and
.SH ERRORS
.BR pivot_root ()
may fail with any of the same errors as
-.BR stat (2).
+.MR stat 2 .
Additionally, it may fail with the following errors:
.TP
.B EBUSY
@@ -127,7 +127,7 @@ is not a mount point.
.B EINVAL
The current root directory is not a mount point
(because of an earlier
-.BR chroot (2)).
+.MR chroot 2 ).
.TP
.B EINVAL
The current root is on the rootfs (initial ramfs) mount; see NOTES.
@@ -157,7 +157,7 @@ Linux.
Linux 2.3.41.
.SH NOTES
A command-line interface for this system call is provided by
-.BR pivot_root (8).
+.MR pivot_root 8 .
.P
.BR pivot_root ()
allows the caller to switch to a new root filesystem while at the same time
@@ -173,7 +173,7 @@ One use of
.BR pivot_root ()
is during system startup, when the
system mounts a temporary root filesystem (e.g., an
-.BR initrd (4)),
+.MR initrd 4 ),
then mounts the real root filesystem, and eventually turns the latter into
the root directory of all relevant processes and threads.
A modern use is to set up a root filesystem during
@@ -196,9 +196,9 @@ to delete everything in rootfs, overmount rootfs with the new root, attach
to the new
.IR /dev/console ,
and exec the new
-.BR init (1).
+.MR init 1 .
Helper programs for this process exist; see
-.BR switch_root (8).
+.MR switch_root 8 .
.\"
.SS pivot_root(\[dq].\[dq], \[dq].\[dq])
.I new_root
@@ -264,15 +264,15 @@ was first implemented and will not change now.
The program below demonstrates the use of
.BR pivot_root ()
inside a mount namespace that is created using
-.BR clone (2).
+.MR clone 2 .
After pivoting to the root directory named in the program's
first command-line argument, the child created by
-.BR clone (2)
+.MR clone 2
then executes the program named in the remaining command-line arguments.
.P
We demonstrate the program by creating a directory that will serve as
the new root filesystem and placing a copy of the (statically linked)
-.BR busybox (1)
+.MR busybox 1
executable in that directory.
.P
.in +4n
@@ -399,11 +399,11 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR chdir (2),
-.BR chroot (2),
-.BR mount (2),
-.BR stat (2),
-.BR initrd (4),
-.BR mount_namespaces (7),
-.BR pivot_root (8),
-.BR switch_root (8)
+.MR chdir 2 ,
+.MR chroot 2 ,
+.MR mount 2 ,
+.MR stat 2 ,
+.MR initrd 4 ,
+.MR mount_namespaces 7 ,
+.MR pivot_root 8 ,
+.MR switch_root 8
diff --git a/man2/pkey_alloc.2 b/man2/pkey_alloc.2
index 0f706e7da..7736b1de5 100644
--- a/man2/pkey_alloc.2
+++ b/man2/pkey_alloc.2
@@ -19,7 +19,7 @@ Standard C library
.SH DESCRIPTION
.BR pkey_alloc ()
allocates a protection key (pkey) and allows it to be passed to
-.BR pkey_mprotect (2).
+.MR pkey_mprotect 2 .
.P
The
.BR pkey_alloc ()
@@ -47,7 +47,7 @@ An application should not call
.BR pkey_free ()
on any protection key which has been assigned to an address
range by
-.BR pkey_mprotect (2)
+.MR pkey_mprotect 2
and which is still in use.
The behavior in this case is undefined and may result in an error.
.SH RETURN VALUE
@@ -109,7 +109,7 @@ the kernel may make arbitrary changes to the parts of the
rights register affecting access to that key.
.SH EXAMPLES
See
-.BR pkeys (7).
+.MR pkeys 7 .
.SH SEE ALSO
-.BR pkey_mprotect (2),
-.BR pkeys (7)
+.MR pkey_mprotect 2 ,
+.MR pkeys 7
diff --git a/man2/poll.2 b/man2/poll.2
index f1a5a9795..69668f88e 100644
--- a/man2/poll.2
+++ b/man2/poll.2
@@ -29,11 +29,11 @@ Standard C library
.SH DESCRIPTION
.BR poll ()
performs a similar task to
-.BR select (2):
+.MR select 2 :
it waits for one of a set of file descriptors to become ready
to perform I/O.
The Linux-specific
-.BR epoll (7)
+.MR epoll 7
API performs a similar task, but offers features beyond those found in
.BR poll ().
.P
@@ -160,16 +160,16 @@ Possibilities include:
.RS
.IP \[bu] 3
There is out-of-band data on a TCP socket (see
-.BR tcp (7)).
+.MR tcp 7 ).
.IP \[bu]
A pseudoterminal master in packet mode has seen a state change on the slave
(see
-.BR ioctl_tty (2)).
+.MR ioctl_tty 2 ).
.IP \[bu]
A
.I cgroup.events
file has been modified (see
-.BR cgroups (7)).
+.MR cgroups 7 ).
.RE
.TP
.B POLLOUT
@@ -243,11 +243,11 @@ The relationship between
and
.BR ppoll ()
is analogous to the relationship between
-.BR select (2)
+.MR select 2
and
-.BR pselect (2):
+.MR pselect 2 :
like
-.BR pselect (2),
+.MR pselect 2 ,
.BR ppoll ()
allows an application to safely wait until either a file descriptor
becomes ready or until a signal is caught.
@@ -293,7 +293,7 @@ results in an error from
.BR ppoll ().
.P
See the description of
-.BR pselect (2)
+.MR pselect 2
for an explanation of why
.BR ppoll ()
is necessary.
@@ -316,7 +316,7 @@ argument specifies an upper limit on the amount of time that
.BR ppoll ()
will block.
This argument is a pointer to a
-.BR timespec (3)
+.MR timespec 3
structure.
.P
If
@@ -348,7 +348,7 @@ address space.
.TP
.B EINTR
A signal occurred before any requested event; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The
@@ -415,7 +415,7 @@ wrapper function specifies this argument as a fixed value
(equal to
.IR sizeof(kernel_sigset_t) ).
See
-.BR sigprocmask (2)
+.MR sigprocmask 2
for a discussion on the differences between the kernel and the libc
notion of the sigset.
.SH STANDARDS
@@ -439,7 +439,7 @@ On older kernels that lack this system call,
the glibc
.BR poll ()
wrapper function provides emulation using
-.BR select (2).
+.MR select 2 .
.TP
.BR ppoll ()
Linux 2.6.16,
@@ -456,11 +456,11 @@ flag.
For a discussion of what may happen if a file descriptor being monitored by
.BR poll ()
is closed in another thread, see
-.BR select (2).
+.MR select 2 .
.SH BUGS
See the discussion of spurious readiness notifications under the
BUGS section of
-.BR select (2).
+.MR select 2 .
.SH EXAMPLES
The program below opens each of the files named in its command-line
arguments and monitors the resulting file descriptors for readiness to read
@@ -641,9 +641,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR restart_syscall (2),
-.BR select (2),
-.BR select_tut (2),
-.BR timespec (3),
-.BR epoll (7),
-.BR time (7)
+.MR restart_syscall 2 ,
+.MR select 2 ,
+.MR select_tut 2 ,
+.MR timespec 3 ,
+.MR epoll 7 ,
+.MR time 7
diff --git a/man2/posix_fadvise.2 b/man2/posix_fadvise.2
index 7984f7989..c10c121a1 100644
--- a/man2/posix_fadvise.2
+++ b/man2/posix_fadvise.2
@@ -23,7 +23,7 @@ Standard C library
.ad l
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR posix_fadvise ():
@@ -102,9 +102,9 @@ but this is not guaranteed.
Any unwritten dirty pages will not be freed.
If the application wishes to ensure that dirty pages will be released,
it should call
-.BR fsync (2)
+.MR fsync 2
or
-.BR fdatasync (2)
+.MR fdatasync 2
first.
.SH RETURN VALUE
On success, zero is returned.
@@ -145,7 +145,7 @@ while the latter expects \fIloff_t\fP there.
.SS Architecture-specific variants
Some architectures require
64-bit arguments to be aligned in a suitable pair of registers (see
-.BR syscall (2)
+.MR syscall 2
for further detail).
On such architectures, the call signature of
.BR posix_fadvise ()
@@ -205,13 +205,13 @@ in POSIX.1-2001 TC1.
The contents of the kernel buffer cache can be cleared via the
.I /proc/sys/vm/drop_caches
interface described in
-.BR proc (5).
+.MR proc 5 .
.P
One can obtain a snapshot of which pages of a file are resident
in the buffer cache by opening a file, mapping it with
-.BR mmap (2),
+.MR mmap 2 ,
and then applying
-.BR mincore (2)
+.MR mincore 2
to the mapping.
.SH BUGS
Before Linux 2.6.6, if
@@ -219,9 +219,9 @@ Before Linux 2.6.6, if
was specified as 0, then this was interpreted literally as "zero bytes",
rather than as meaning "all bytes through to the end of the file".
.SH SEE ALSO
-.BR fincore (1),
-.BR mincore (2),
-.BR readahead (2),
-.BR sync_file_range (2),
-.BR posix_fallocate (3),
-.BR posix_madvise (3)
+.MR fincore 1 ,
+.MR mincore 2 ,
+.MR readahead 2 ,
+.MR sync_file_range 2 ,
+.MR posix_fallocate 3 ,
+.MR posix_madvise 3
diff --git a/man2/prctl.2 b/man2/prctl.2
index f1604a7cb..7fefb5d2e 100644
--- a/man2/prctl.2
+++ b/man2/prctl.2
@@ -114,12 +114,12 @@ must be specified as 0.
.IP
Higher-level interfaces layered on top of the above operations are
provided in the
-.BR libcap (3)
+.MR libcap 3
library in the form of
-.BR cap_get_ambient (3),
-.BR cap_set_ambient (3),
+.MR cap_get_ambient 3 ,
+.MR cap_set_ambient 3 ,
and
-.BR cap_reset_ambient (3).
+.MR cap_reset_ambient 3 .
.\" prctl PR_CAPBSET_READ
.TP
.BR PR_CAPBSET_READ " (since Linux 2.6.25)"
@@ -132,7 +132,7 @@ or 0 if it is not.
The capability bounding set dictates
whether the process can receive the capability through a
file's permitted capability set on a subsequent call to
-.BR execve (2).
+.MR execve 2 .
.IP
If the capability specified in
.I arg2
@@ -140,9 +140,9 @@ is not valid, then the call fails with the error
.BR EINVAL .
.IP
A higher-level interface layered on top of this operation is provided in the
-.BR libcap (3)
+.MR libcap 3
library in the form of
-.BR cap_get_bound (3).
+.MR cap_get_bound 3 .
.\" prctl PR_CAPBSET_DROP
.TP
.BR PR_CAPBSET_DROP " (since Linux 2.6.25)"
@@ -167,9 +167,9 @@ if file capabilities are not enabled in the kernel,
in which case bounding sets are not supported.
.IP
A higher-level interface layered on top of this operation is provided in the
-.BR libcap (3)
+.MR libcap 3
library in the form of
-.BR cap_drop_bound (3).
+.MR cap_drop_bound 3 .
.\" prctl PR_SET_CHILD_SUBREAPER
.TP
.BR PR_SET_CHILD_SUBREAPER " (since Linux 3.4)"
@@ -183,29 +183,29 @@ if
is zero, unset the attribute.
.IP
A subreaper fulfills the role of
-.BR init (1)
+.MR init 1
for its descendant processes.
When a process becomes orphaned
(i.e., its immediate parent terminates),
then that process will be reparented to
the nearest still living ancestor subreaper.
Subsequently, calls to
-.BR getppid (2)
+.MR getppid 2
in the orphaned process will now return the PID of the subreaper process,
and when the orphan terminates, it is the subreaper process that
will receive a
.B SIGCHLD
signal and will be able to
-.BR wait (2)
+.MR wait 2
on the process to discover its termination status.
.IP
The setting of the "child subreaper" attribute
is not inherited by children created by
-.BR fork (2)
+.MR fork 2
and
-.BR clone (2).
+.MR clone 2 .
The setting is preserved across
-.BR execve (2).
+.MR execve 2 .
.IP
Establishing a subreaper process is useful in session management frameworks
where a hierarchical group of processes is managed by a subreaper process
@@ -213,9 +213,9 @@ that needs to be informed when one of the processes\[em]for example,
a double-forked daemon\[em]terminates
(perhaps so that it can restart that process).
Some
-.BR init (1)
+.MR init 1
frameworks (e.g.,
-.BR systemd (1))
+.MR systemd 1 )
employ a subreaper process for similar reasons.
.\" prctl PR_GET_CHILD_SUBREAPER
.TP
@@ -250,7 +250,7 @@ for security reasons, this feature has been removed.
(See also the description of
.I /proc/sys/fs/\:suid_dumpable
in
-.BR proc (5).)
+.MR proc 5 .)
.IP
Normally, the "dumpable" attribute is set to 1.
However, it is reset to the current value contained in the file
@@ -263,17 +263,19 @@ in the following circumstances:
The process's effective user or group ID is changed.
.IP \[bu]
The process's filesystem user or group ID is changed (see
-.BR credentials (7)).
+.MR credentials 7 ).
.IP \[bu]
The process executes
-.RB ( execve (2))
+\%(\c
+.MR execve 2 )
a set-user-ID or set-group-ID program, resulting in a change
of either the effective user ID or the effective group ID.
.IP \[bu]
The process executes
-.RB ( execve (2))
+\%(\c
+.MR execve 2 )
a program that has file capabilities (see
-.BR capabilities (7)),
+.MR capabilities 7 ),
.\" See kernel/cred.c::commit_creds()
but only if the permitted capabilities
gained exceed those already permitted for the process.
@@ -281,17 +283,17 @@ gained exceed those already permitted for the process.
.RE
.IP
Processes that are not dumpable can not be attached via
-.BR ptrace (2)
+.MR ptrace 2
.BR PTRACE_ATTACH ;
see
-.BR ptrace (2)
+.MR ptrace 2
for further details.
.IP
If a process is not dumpable,
the ownership of files in the process's
.IR /proc/ pid
directory is affected as described in
-.BR proc (5).
+.MR proc 5 .
.\" prctl PR_GET_DUMPABLE
.TP
.BR PR_GET_DUMPABLE " (since Linux 2.3.20)"
@@ -415,7 +417,8 @@ so FPU emulation is not required and the FPU always operates in
mode.
.IP
This operation is mainly intended for use by the dynamic linker
-.RB ( ld.so (8)).
+\%(\c
+.MR ld.so 8 ).
.IP
The arguments
.IR arg3 ,
@@ -500,9 +503,9 @@ and
must be zero.
.IP
The IO_FLUSHER state is inherited by a child process created via
-.BR fork (2)
+.MR fork 2
and is preserved across
-.BR execve (2).
+.MR execve 2 .
.IP
Examples of IO_FLUSHER applications are FUSE daemons, SCSI device
emulation daemons, and daemons that perform error handling like multipath
@@ -529,19 +532,19 @@ must be zero.
.BR PR_SET_KEEPCAPS " (since Linux 2.2.18)"
Set the state of the calling thread's "keep capabilities" flag.
The effect of this flag is described in
-.BR capabilities (7).
+.MR capabilities 7 .
.I arg2
must be either 0 (clear the flag)
or 1 (set the flag).
The "keep capabilities" value will be reset to 0 on subsequent calls to
-.BR execve (2).
+.MR execve 2 .
.\" prctl PR_GET_KEEPCAPS
.TP
.BR PR_GET_KEEPCAPS " (since Linux 2.2.18)"
Return (as the function result) the current state of the calling thread's
"keep capabilities" flag.
See
-.BR capabilities (7)
+.MR capabilities 7
for a description of this flag.
.\" prctl PR_MCE_KILL
.TP
@@ -555,7 +558,7 @@ clear the thread memory corruption kill policy and use the system-wide default.
(The system-wide default is defined by
.IR /proc/sys/vm/memory_failure_early_kill ;
see
-.BR proc (5).)
+.MR proc 5 .)
If
.I arg2
is
@@ -576,7 +579,7 @@ signal as soon as hardware memory corruption is detected inside
its address space.
In late kill mode, the process is killed only when it accesses a corrupted page.
See
-.BR sigaction (2)
+.MR sigaction 2
for more information on the
.B SIGBUS
signal.
@@ -599,7 +602,7 @@ arguments must be zero.
Modify certain kernel memory map descriptor fields
of the calling process.
Usually these fields are set by the kernel and dynamic loader (see
-.BR ld.so (8)
+.MR ld.so 8
for more information) and a regular application should not use this feature.
However, there are cases, such as self-modifying programs,
where a program might find it useful to change its own memory map.
@@ -629,9 +632,9 @@ option enabled.
Set the address above which the program text can run.
The corresponding memory area must be readable and executable,
but not writable or shareable (see
-.BR mprotect (2)
+.MR mprotect 2
and
-.BR mmap (2)
+.MR mmap 2
for more information).
.TP
.B PR_SET_MM_END_CODE
@@ -657,7 +660,7 @@ The corresponding memory area must be readable and writable.
.TP
.B PR_SET_MM_START_BRK
Set the address above which the program heap can be expanded with
-.BR brk (2)
+.MR brk 2
call.
The address must be greater than the ending address of
the current program data segment.
@@ -665,11 +668,11 @@ In addition, the combined size of the resulting heap and
the size of the data segment can't exceed the
.B RLIMIT_DATA
resource limit (see
-.BR setrlimit (2)).
+.MR setrlimit 2 ).
.TP
.B PR_SET_MM_BRK
Set the current
-.BR brk (2)
+.MR brk 2
value.
The requirements for the address are the same as for the
.B PR_SET_MM_START_BRK
@@ -701,7 +704,7 @@ Thus, the corresponding memory area must be readable, writable, and
(depending on the kernel configuration) have the
.B MAP_GROWSDOWN
attribute set (see
-.BR mmap (2)).
+.MR mmap 2 ).
.TP
.B PR_SET_MM_AUXV
Set a new auxiliary vector.
@@ -721,7 +724,7 @@ identified by the file descriptor provided in
.I arg3
argument.
The file descriptor should be obtained with a regular
-.BR open (2)
+.MR open 2
call.
.IP
To change the symbolic link, one needs to unmap all existing
@@ -873,10 +876,10 @@ enabled.
All threads in a process are affected by these calls.
.IP
The child of a
-.BR fork (2)
+.MR fork 2
inherits the state of MPX management.
During
-.BR execve (2),
+.MR execve 2 ,
MPX management is reset to a state as if
.B PR_MPX_DISABLE_MANAGEMENT
had been called.
@@ -901,17 +904,17 @@ including the terminating null byte.
(If the length of the string, including the terminating null byte,
exceeds 16 bytes, the string is silently truncated.)
This is the same attribute that can be set via
-.BR pthread_setname_np (3)
+.MR pthread_setname_np 3
and retrieved using
-.BR pthread_getname_np (3).
+.MR pthread_getname_np 3 .
The attribute is likewise accessible via
.IR /proc/self/task/ tid /comm
(see
-.BR proc (5)),
+.MR proc 5 ),
where
.I tid
is the thread ID of the calling thread, as returned by
-.BR gettid (2).
+.MR gettid 2 .
.\" prctl PR_GET_NAME
.TP
.BR PR_GET_NAME " (since Linux 2.6.11)"
@@ -930,10 +933,10 @@ attribute to the value in
With
.I no_new_privs
set to 1,
-.BR execve (2)
+.MR execve 2
promises not to grant privileges to do anything
that could not have been done without the
-.BR execve (2)
+.MR execve 2
call (for example,
rendering the set-user-ID and set-group-ID mode bits,
and file capabilities non-functional).
@@ -941,11 +944,11 @@ Once set, the
.I no_new_privs
attribute cannot be unset.
The setting of this attribute is inherited by children created by
-.BR fork (2)
+.MR fork 2
and
-.BR clone (2),
+.MR clone 2 ,
and preserved across
-.BR execve (2).
+.MR execve 2 .
.IP
Since Linux 4.10,
the value of a thread's
@@ -963,7 +966,7 @@ For more information, see the kernel source file
.I Documentation/prctl/no_new_privs.txt
before Linux 4.13).
See also
-.BR seccomp (2).
+.MR seccomp 2 .
.\" prctl PR_GET_NO_NEW_PRIVS
.TP
.BR PR_GET_NO_NEW_PRIVS " (since Linux 3.5)"
@@ -971,10 +974,10 @@ Return (as the function result) the value of the
.I no_new_privs
attribute for the calling thread.
A value of 0 indicates the regular
-.BR execve (2)
+.MR execve 2
behavior.
A value of 1 indicates
-.BR execve (2)
+.MR execve 2
will operate in the privilege-restricting mode described above.
.\" prctl PR_PAC_RESET_KEYS
.\" commit ba830885656414101b2f8ca88786524d4bb5e8c1
@@ -1015,9 +1018,9 @@ when establishing a clean execution context.
Note that there is no need to use
.B PR_PAC_RESET_KEYS
in preparation for calling
-.BR execve (2),
+.MR execve 2 ,
since
-.BR execve (2)
+.MR execve 2
resets all the pointer authentication keys.
.IP
The remaining arguments
@@ -1068,7 +1071,7 @@ the "parent" in this case is considered to be the
that created this process.
In other words, the signal will be sent when that thread terminates
(via, for example,
-.BR pthread_exit (3)),
+.MR pthread_exit 3 ),
rather than after all of the threads in the parent process terminate.
.IP
The parent-death signal is sent upon subsequent termination of the parent
@@ -1082,9 +1085,9 @@ by the time of the
operation, then no parent-death signal is sent to the caller.
.IP
The parent-death signal is process-directed (see
-.BR signal (7))
+.MR signal 7 )
and, if the child installs a handler using the
-.BR sigaction (2)
+.MR sigaction 2
.B SA_SIGINFO
flag, the
.I si_pid
@@ -1093,15 +1096,15 @@ field of the
argument of the handler contains the PID of the terminating parent process.
.IP
The parent-death signal setting is cleared for the child of a
-.BR fork (2).
+.MR fork 2 .
It is also
(since Linux 2.4.36 / 2.6.23)
.\" commit d2d56c5f51028cb9f3d800882eb6f4cbd3f9099f
cleared when executing a set-user-ID or set-group-ID binary,
or a binary that has associated capabilities (see
-.BR capabilities (7));
+.MR capabilities 7 );
otherwise, this value is preserved across
-.BR execve (2).
+.MR execve 2 .
The parent-death signal setting is also cleared upon changes to
any of the following thread credentials:
.\" FIXME capability changes can also trigger this; see
@@ -1124,7 +1127,7 @@ This is meaningful only when the Yama LSM is enabled and in mode 1
.IR /proc/sys/kernel/yama/ptrace_scope ).
When a "ptracer process ID" is passed in \fIarg2\fP,
the caller is declaring that the ptracer process can
-.BR ptrace (2)
+.MR ptrace 2
the calling process as if it were a direct process ancestor.
Each
.B PR_SET_PTRACER
@@ -1156,7 +1159,7 @@ before Linux 4.13).
Set the secure computing (seccomp) mode for the calling thread, to limit
the available system calls.
The more recent
-.BR seccomp (2)
+.MR seccomp 2
system call provides a superset of the functionality of
.BR PR_SET_SECCOMP ,
and is the preferred interface for new applications.
@@ -1172,7 +1175,7 @@ The following values can be specified:
See the description of
.B SECCOMP_SET_MODE_STRICT
in
-.BR seccomp (2).
+.MR seccomp 2 .
.IP
This operation is available only
if the kernel is configured with
@@ -1190,7 +1193,7 @@ arbitrary system calls and system call arguments.
See the description of
.B SECCOMP_SET_MODE_FILTER
in
-.BR seccomp (2).
+.MR seccomp 2 .
.IP
This operation is available only
if the kernel is configured with
@@ -1199,7 +1202,7 @@ enabled.
.RE
.IP
For further details on seccomp filtering, see
-.BR seccomp (2).
+.MR seccomp 2 .
.\" prctl PR_GET_SECCOMP
.TP
.BR PR_GET_SECCOMP " (since Linux 2.6.23)"
@@ -1227,21 +1230,21 @@ field of the
.IR /proc/ pid /status
file provides a method of obtaining the same information,
without the risk that the process is killed; see
-.BR proc (5).
+.MR proc 5 .
.\" prctl PR_SET_SECUREBITS
.TP
.BR PR_SET_SECUREBITS " (since Linux 2.6.26)"
Set the "securebits" flags of the calling thread to the value supplied in
.IR arg2 .
See
-.BR capabilities (7).
+.MR capabilities 7 .
.\" prctl PR_GET_SECUREBITS
.TP
.BR PR_GET_SECUREBITS " (since Linux 2.6.26)"
Return (as the function result)
the "securebits" flags of the calling thread.
See
-.BR capabilities (7).
+.MR capabilities 7 .
.\" prctl PR_GET_SPECULATION_CTRL
.TP
.BR PR_GET_SPECULATION_CTRL " (since Linux 4.17)"
@@ -1275,7 +1278,7 @@ but cannot be undone.
Same as
.BR PR_SPEC_DISABLE ,
but the state will be cleared on
-.BR execve (2).
+.MR execve 2 .
.RE
.IP
If all bits are 0,
@@ -1353,7 +1356,7 @@ will fail with the error
Same as
.BR PR_SPEC_DISABLE ,
but the state will be cleared on
-.BR execve (2).
+.MR execve 2 .
Currently only supported for
.I arg2
equal to
@@ -1420,7 +1423,7 @@ must be set to one of the following combinations of flags:
.B 0
Perform the change immediately.
At the next
-.BR execve (2)
+.MR execve 2
in the thread,
the vector length will be reset to the value configured in
.IR /proc/sys/abi/sve_default_vector_length .
@@ -1428,24 +1431,24 @@ the vector length will be reset to the value configured in
.B PR_SVE_VL_INHERIT
Perform the change immediately.
Subsequent
-.BR execve (2)
+.MR execve 2
calls will preserve the new vector length.
.TP
.B PR_SVE_SET_VL_ONEXEC
Defer the change, so that it is performed at the next
-.BR execve (2)
+.MR execve 2
in the thread.
Further
-.BR execve (2)
+.MR execve 2
calls will reset the vector length to the value configured in
.IR /proc/sys/abi/sve_default_vector_length .
.TP
.B "PR_SVE_SET_VL_ONEXEC | PR_SVE_VL_INHERIT"
Defer the change, so that it is performed at the next
-.BR execve (2)
+.MR execve 2
in the thread.
Further
-.BR execve (2)
+.MR execve 2
calls will preserve the new vector length.
.RE
.IP
@@ -1474,7 +1477,7 @@ was included in
.IR arg2 ,
then the configuration described by the return value
will take effect at the next
-.BR execve (2).
+.MR execve 2 .
Otherwise, the configuration is already in effect when the
.B PR_SVE_SET_VL
call returns.
@@ -1486,9 +1489,9 @@ corresponding to
.IP
The configuration (including any pending deferred change)
is inherited across
-.BR fork (2)
+.MR fork 2
and
-.BR clone (2).
+.MR clone 2 .
.IP
For more information, see the kernel source file
.I Documentation/arm64/sve.rst
@@ -1525,7 +1528,7 @@ The bit corresponding to
.B PR_SVE_VL_INHERIT
indicates whether the vector length will be inherited
across
-.BR execve (2).
+.MR execve 2 .
.IP
Note that there is no way to determine whether there is
a pending vector length change that has not yet taken effect.
@@ -1598,7 +1601,7 @@ signal to the triggering thread.
Various fields will be set in the
.I siginfo_t
structure (see
-.BR sigaction (2))
+.MR sigaction 2 )
associated with the signal:
.RS
.IP \[bu] 3
@@ -1637,10 +1640,10 @@ by modifying the register context stored in the
.I ucontext
argument of the signal handler.
See
-.BR sigaction (2),
-.BR sigreturn (2),
+.MR sigaction 2 ,
+.MR sigreturn 2 ,
and
-.BR getcontext (3)
+.MR getcontext 3
for more information.
.IP
If
@@ -1651,10 +1654,10 @@ Syscall User Dispatch is disabled for that thread.
the remaining arguments must be set to 0.
.IP
The setting is not preserved across
-.BR fork (2),
-.BR clone (2),
+.MR fork 2 ,
+.MR clone 2 ,
or
-.BR execve (2).
+.MR execve 2 .
.IP
For more information,
see the kernel source file
@@ -1713,14 +1716,14 @@ addresses passed to certain interfaces
must always be untagged:
.RS
.IP \[bu] 3
-.BR brk (2),
-.BR mmap (2),
-.BR shmat (2),
-.BR shmdt (2),
+.MR brk 2 ,
+.MR mmap 2 ,
+.MR shmat 2 ,
+.MR shmdt 2 ,
and the
.I new_address
argument of
-.BR mremap (2).
+.MR mremap 2 .
.IP
(Prior to Linux 5.6 these accepted tagged addresses,
but the behaviour may not be what you expect.
@@ -1731,11 +1734,11 @@ that accept pointers to arbitrary types cast to a
.I void *
or other generic type, specifically
.BR prctl (),
-.BR ioctl (2),
+.MR ioctl 2 ,
and in general
-.BR setsockopt (2)
+.MR setsockopt 2
(only certain specific
-.BR setsockopt (2)
+.MR setsockopt 2
options allow tagged addresses).
.RE
.IP
@@ -1748,11 +1751,11 @@ the effect of passing tagged addresses to these interfaces
is unspecified.
.IP
The mode set by this call is inherited across
-.BR fork (2)
+.MR fork 2
and
-.BR clone (2).
+.MR clone 2 .
The mode is reset by
-.BR execve (2)
+.MR execve 2
to 0
(i.e., tagged addresses not permitted in the user/kernel ABI).
.IP
@@ -1844,12 +1847,12 @@ has a nonzero value, the flag is set, otherwise it is cleared.
Setting this flag provides a method
for disabling transparent huge pages
for jobs where the code cannot be modified, and using a malloc hook with
-.BR madvise (2)
+.MR madvise 2
is not an option (i.e., statically allocated data).
The setting of the "THP disable" flag is inherited by a child created via
-.BR fork (2)
+.MR fork 2
and is preserved across
-.BR execve (2).
+.MR execve 2 .
.\" prctl PR_GET_THP_DISABLE
.TP
.BR PR_GET_THP_DISABLE " (since Linux 3.15)"
@@ -1863,9 +1866,9 @@ either 1, if the flag is set, or 0, if it is not.
Return the
.I clear_child_tid
address set by
-.BR set_tid_address (2)
+.MR set_tid_address 2
and the
-.BR clone (2)
+.MR clone 2
.B CLONE_CHILD_CLEARTID
flag, in the location pointed to by
.IR "(int\~**)\~arg2" .
@@ -1906,28 +1909,28 @@ Grouping timer expirations can help reduce system power consumption
by minimizing CPU wake-ups.
.IP
The timer expirations affected by timer slack are those set by
-.BR select (2),
-.BR pselect (2),
-.BR poll (2),
-.BR ppoll (2),
-.BR epoll_wait (2),
-.BR epoll_pwait (2),
-.BR clock_nanosleep (2),
-.BR nanosleep (2),
+.MR select 2 ,
+.MR pselect 2 ,
+.MR poll 2 ,
+.MR ppoll 2 ,
+.MR epoll_wait 2 ,
+.MR epoll_pwait 2 ,
+.MR clock_nanosleep 2 ,
+.MR nanosleep 2 ,
and
-.BR futex (2)
+.MR futex 2
(and thus the library functions implemented via futexes, including
.\" List obtained by grepping for futex usage in glibc source
-.BR pthread_cond_timedwait (3),
-.BR pthread_mutex_timedlock (3),
-.BR pthread_rwlock_timedrdlock (3),
-.BR pthread_rwlock_timedwrlock (3),
+.MR pthread_cond_timedwait 3 ,
+.MR pthread_mutex_timedlock 3 ,
+.MR pthread_rwlock_timedrdlock 3 ,
+.MR pthread_rwlock_timedwrlock 3 ,
and
-.BR sem_timedwait (3)).
+.MR sem_timedwait 3 ).
.IP
Timer slack is not applied to threads that are scheduled under
a real-time scheduling policy (see
-.BR sched_setscheduler (2)).
+.MR sched_setscheduler 2 ).
.IP
When a new thread is created,
the two timer slack values are made the same as the "current" value
@@ -1940,15 +1943,15 @@ The timer slack values of
(PID 1), the ancestor of all processes,
are 50,000 nanoseconds (50 microseconds).
The timer slack value is inherited by a child created via
-.BR fork (2),
+.MR fork 2 ,
and is preserved across
-.BR execve (2).
+.MR execve 2 .
.IP
Since Linux 4.6, the "current" timer slack value of any process
can be examined and changed via the file
.IR /proc/ pid /timerslack_ns .
See
-.BR proc (5).
+.MR proc 5 .
.\" prctl PR_GET_TIMERSLACK
.TP
.BR PR_GET_TIMERSLACK " (since Linux 2.6.28)"
@@ -2060,7 +2063,7 @@ Non-executable mappings can't become executable.
.B PR_MDWE_NO_INHERIT " (since Linux 6.6)"
.\" commit 2a87e5520554034e8c423479740f95bea4a086a0
Do not propagate MDWE protection to child processes on
-.BR fork (2).
+.MR fork 2 .
Setting this bit requires setting
.B PR_MDWE_REFUSE_EXEC_GAIN
too.
@@ -2487,7 +2490,7 @@ capability,
or tried to unset a "locked" flag,
or tried to set a flag whose corresponding locked flag was set
(see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.TP
.B EPERM
.I operation
@@ -2505,7 +2508,7 @@ and the caller's
.B SECBIT_KEEP_CAPS_LOCKED
flag is set
(see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.TP
.B EPERM
.I operation
@@ -2573,5 +2576,5 @@ Linux.
Linux 2.1.57,
glibc 2.0.6
.SH SEE ALSO
-.BR signal (2),
-.BR core (5)
+.MR signal 2 ,
+.MR core 5
diff --git a/man2/pread.2 b/man2/pread.2
index e80680b48..d8c128e3d 100644
--- a/man2/pread.2
+++ b/man2/pread.2
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pread (),
@@ -66,9 +66,9 @@ returns the number of bytes written.
.P
Note that it is not an error for a successful call to transfer fewer bytes
than requested (see
-.BR read (2)
+.MR read 2
and
-.BR write (2)).
+.MR write 2 ).
.P
On error, \-1 is returned and
.I errno
@@ -78,16 +78,16 @@ is set to indicate the error.
can fail and set
.I errno
to any error specified for
-.BR read (2)
+.MR read 2
or
-.BR lseek (2).
+.MR lseek 2 .
.BR pwrite ()
can fail and set
.I errno
to any error specified for
-.BR write (2)
+.MR write 2
or
-.BR lseek (2).
+.MR lseek 2 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -96,7 +96,7 @@ POSIX.1-2001.
Added in Linux 2.1.60;
the entries in the i386 system call table were added in Linux 2.1.69.
C library support (including emulation using
-.BR lseek (2)
+.MR lseek 2
on older kernels without the system calls) was added in glibc 2.1.
.SS C library/kernel differences
On Linux, the underlying system calls were renamed
@@ -118,7 +118,7 @@ wrapper functions transparently deal with the change.
On some 32-bit architectures,
the calling signature for these system calls differ,
for the reasons described in
-.BR syscall (2).
+.MR syscall 2 .
.SH NOTES
The
.BR pread ()
@@ -140,7 +140,7 @@ However, on Linux, if a file is opened with
appends data to the end of the file, regardless of the value of
.IR offset .
.SH SEE ALSO
-.BR lseek (2),
-.BR read (2),
-.BR readv (2),
-.BR write (2)
+.MR lseek 2 ,
+.MR read 2 ,
+.MR readv 2 ,
+.MR write 2
diff --git a/man2/process_madvise.2 b/man2/process_madvise.2
index 53fd57598..b67e7e406 100644
--- a/man2/process_madvise.2
+++ b/man2/process_madvise.2
@@ -28,7 +28,7 @@ Standard C library
glibc provides no wrapper for
.BR process_madvise (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.\" FIXME: See <https://sourceware.org/bugzilla/show_bug.cgi?id=27380>
.SH DESCRIPTION
The
@@ -44,7 +44,7 @@ The goal of such advice is to improve system or application performance.
The
.I pidfd
argument is a PID file descriptor (see
-.BR pidfd_open (2))
+.MR pidfd_open 2 )
that specifies the process to which the advice is to be applied.
.P
The pointer
@@ -52,7 +52,7 @@ The pointer
points to an array of
.I iovec
structures, described in
-.BR iovec (3type).
+.MR iovec 3type .
.P
.I vlen
specifies the number of elements in the array of
@@ -71,19 +71,19 @@ argument is one of the following values:
.TP
.B MADV_COLD
See
-.BR madvise (2).
+.MR madvise 2 .
.TP
.B MADV_COLLAPSE
See
-.BR madvise (2).
+.MR madvise 2 .
.TP
.B MADV_PAGEOUT
See
-.BR madvise (2).
+.MR madvise 2 .
.TP
.B MADV_WILLNEED
See
-.BR madvise (2).
+.MR madvise 2 .
.P
The
.I flags
@@ -115,14 +115,14 @@ permission to apply advice to another process is governed by
ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check (see
-.BR ptrace (2));
+.MR ptrace 2 );
in addition,
because of the performance implications of applying the advice,
the caller must have the
.B CAP_SYS_NICE
capability
(see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.SH RETURN VALUE
On success,
.BR process_madvise ()
@@ -179,7 +179,7 @@ The caller does not have permission to access the address space of the process
The target process does not exist (i.e., it has terminated and been waited on).
.P
See
-.BR madvise (2)
+.MR madvise 2
for
.IR advice -specific
errors.
@@ -199,11 +199,11 @@ permission to apply advice to another process was entirely governed by
ptrace access mode
.B PTRACE_MODE_ATTACH_FSCREDS
check (see
-.BR ptrace (2)).
+.MR ptrace 2 ).
This requirement was relaxed in Linux 5.12 so that the caller didn't require
full control over the target process.
.SH SEE ALSO
-.BR madvise (2),
-.BR pidfd_open (2),
-.BR process_vm_readv (2),
-.BR process_vm_write (2)
+.MR madvise 2 ,
+.MR pidfd_open 2 ,
+.MR process_vm_readv 2 ,
+.MR process_vm_write 2
diff --git a/man2/process_vm_readv.2 b/man2/process_vm_readv.2
index 3a25cd8f5..7d3431551 100644
--- a/man2/process_vm_readv.2
+++ b/man2/process_vm_readv.2
@@ -33,7 +33,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR process_vm_readv (),
@@ -95,7 +95,7 @@ and
arguments point to an array of
.I iovec
structures, described in
-.BR iovec (3type).
+.MR iovec 3type .
.P
Buffers are processed in array order.
This means that
@@ -181,7 +181,7 @@ Permission to read from or write to another process
is governed by a ptrace access mode
.B PTRACE_MODE_ATTACH_REALCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH RETURN VALUE
On success,
.BR process_vm_readv ()
@@ -310,5 +310,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR readv (2),
-.BR writev (2)
+.MR readv 2 ,
+.MR writev 2
diff --git a/man2/ptrace.2 b/man2/ptrace.2
index 73afd3174..f1e59d5be 100644
--- a/man2/ptrace.2
+++ b/man2/ptrace.2
@@ -128,16 +128,16 @@ is the thread ID of the corresponding Linux thread.
.P
(Note that in this page, a "multithreaded process"
means a thread group consisting of threads created using the
-.BR clone (2)
+.MR clone 2
.B CLONE_THREAD
flag.)
.P
A process can initiate a trace by calling
-.BR fork (2)
+.MR fork 2
and having the resulting child do a
.BR PTRACE_TRACEME ,
followed (typically) by an
-.BR execve (2).
+.MR execve 2 .
Alternatively, one process may commence tracing another process using
.B PTRACE_ATTACH
or
@@ -149,7 +149,7 @@ even if the signal is being ignored.
.BR SIGKILL ,
which has its usual effect.)
The tracer will be notified at its next call to
-.BR waitpid (2)
+.MR waitpid 2
(or one of the related "wait" system calls); that call will return a
.I status
value containing information that indicates
@@ -163,7 +163,7 @@ optionally ignoring the delivered signal
If the
.B PTRACE_O_TRACEEXEC
option is not in effect, all successful calls to
-.BR execve (2)
+.MR execve 2
by the traced process will cause it to be sent a
.B SIGTRAP
signal,
@@ -351,7 +351,7 @@ Retrieve information about the signal that caused the stop.
Copy a
.I siginfo_t
structure (see
-.BR sigaction (2))
+.MR sigaction 2 )
from the tracee to the address
.I data
in the tracer.
@@ -421,7 +421,7 @@ signals are read from the per-thread queue of the specified thread.
.BR PTRACE_GETSIGMASK " (since Linux 3.11)"
.\" commit 29000caecbe87b6b66f144f72111f0d02fbbf0c1
Place a copy of the mask of blocked signals (see
-.BR sigprocmask (2))
+.MR sigprocmask 2 )
in the buffer pointed to by
.IR data ,
which should be a pointer to a buffer of type
@@ -435,7 +435,7 @@ argument contains the size of the buffer pointed to by
.TP
.BR PTRACE_SETSIGMASK " (since Linux 3.11)"
Change the mask of blocked signals (see
-.BR sigprocmask (2))
+.MR sigprocmask 2 )
to the value specified in the buffer pointed to by
.IR data ,
which should be a pointer to a buffer of type
@@ -467,7 +467,7 @@ want to ensure that tracees can never escape the tracer's control.
.TP
.BR PTRACE_O_TRACECLONE " (since Linux 2.5.46)"
Stop the tracee at the next
-.BR clone (2)
+.MR clone 2
and automatically start tracing the newly cloned process,
which will start with a
.BR SIGSTOP ,
@@ -477,7 +477,7 @@ if
.B PTRACE_SEIZE
was used.
A
-.BR waitpid (2)
+.MR waitpid 2
by the tracer will return a
.I status
value such that
@@ -490,10 +490,10 @@ The PID of the new process can be retrieved with
.BR PTRACE_GETEVENTMSG .
.IP
This option may not catch
-.BR clone (2)
+.MR clone 2
calls in all cases.
If the tracee calls
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_VFORK
flag,
@@ -502,7 +502,7 @@ will be delivered instead
if
.B PTRACE_O_TRACEVFORK
is set; otherwise if the tracee calls
-.BR clone (2)
+.MR clone 2
with the exit signal set to
.BR SIGCHLD ,
.B PTRACE_EVENT_FORK
@@ -512,9 +512,9 @@ is set.
.TP
.BR PTRACE_O_TRACEEXEC " (since Linux 2.5.46)"
Stop the tracee at the next
-.BR execve (2).
+.MR execve 2 .
A
-.BR waitpid (2)
+.MR waitpid 2
by the tracer will return a
.I status
value such that
@@ -531,7 +531,7 @@ Since Linux 3.0, the former thread ID can be retrieved with
.BR PTRACE_O_TRACEEXIT " (since Linux 2.5.60)"
Stop the tracee at exit.
A
-.BR waitpid (2)
+.MR waitpid 2
by the tracer will return a
.I status
value such that
@@ -553,7 +553,7 @@ the tracer cannot prevent the exit from happening at this point.
.TP
.BR PTRACE_O_TRACEFORK " (since Linux 2.5.46)"
Stop the tracee at the next
-.BR fork (2)
+.MR fork 2
and automatically start tracing the newly forked process,
which will start with a
.BR SIGSTOP ,
@@ -563,7 +563,7 @@ if
.B PTRACE_SEIZE
was used.
A
-.BR waitpid (2)
+.MR waitpid 2
by the tracer will return a
.I status
value such that
@@ -584,7 +584,7 @@ normal traps from those caused by a system call.
.TP
.BR PTRACE_O_TRACEVFORK " (since Linux 2.5.46)"
Stop the tracee at the next
-.BR vfork (2)
+.MR vfork 2
and automatically start tracing the newly vforked process,
which will start with a
.BR SIGSTOP ,
@@ -594,7 +594,7 @@ if
.B PTRACE_SEIZE
was used.
A
-.BR waitpid (2)
+.MR waitpid 2
by the tracer will return a
.I status
value such that
@@ -608,9 +608,9 @@ The PID of the new process can be retrieved with
.TP
.BR PTRACE_O_TRACEVFORKDONE " (since Linux 2.5.60)"
Stop the tracee at the completion of the next
-.BR vfork (2).
+.MR vfork 2 .
A
-.BR waitpid (2)
+.MR waitpid 2
by the tracer will return a
.I status
value such that
@@ -624,11 +624,11 @@ The PID of the new process can (since Linux 2.6.18) be retrieved with
.TP
.BR PTRACE_O_TRACESECCOMP " (since Linux 3.5)"
Stop the tracee when a
-.BR seccomp (2)
+.MR seccomp 2
.B SECCOMP_RET_TRACE
rule is triggered.
A
-.BR waitpid (2)
+.MR waitpid 2
by the tracer will return a
.I status
value such that
@@ -685,7 +685,7 @@ this is the PID of the new process.
For
.BR PTRACE_EVENT_SECCOMP ,
this is the
-.BR seccomp (2)
+.MR seccomp 2
filter's
.B SECCOMP_RET_DATA
associated with the triggered rule.
@@ -798,9 +798,9 @@ are ignored.)
Instead, send a
.B SIGKILL
directly using
-.BR kill (2)
+.MR kill 2
or
-.BR tgkill (2).
+.MR tgkill 2 .
The problem with
.B PTRACE_KILL
is that it requires the tracee to be in signal-delivery-stop,
@@ -861,7 +861,7 @@ The tracee is sent a
.BR SIGSTOP ,
but will not necessarily have stopped
by the completion of this call; use
-.BR waitpid (2)
+.MR waitpid 2
to wait for the tracee to stop.
See the "Attaching and detaching" subsection for additional information.
.RI ( addr
@@ -908,7 +908,7 @@ returns
instead of having
.B SIGSTOP
signal delivered to them.
-.BR execve (2)
+.MR execve 2
does not deliver an extra
.BR SIGTRAP .
Only a
@@ -992,7 +992,7 @@ is ignored.)
.TP
.BR PTRACE_GET_THREAD_AREA " (since Linux 2.6.0)"
This operation performs a similar task to
-.BR get_thread_area (2).
+.MR get_thread_area 2 .
It reads the TLS entry in the GDT whose index is given in
.IR addr ,
placing a copy of the entry into the
@@ -1000,7 +1000,7 @@ placing a copy of the entry into the
pointed to by
.IR data .
(By contrast with
-.BR get_thread_area (2),
+.MR get_thread_area 2 ,
the
.I entry_number
of the
@@ -1009,7 +1009,7 @@ is ignored.)
.TP
.BR PTRACE_SET_THREAD_AREA " (since Linux 2.6.0)"
This operation performs a similar task to
-.BR set_thread_area (2).
+.MR set_thread_area 2 .
It sets the TLS entry in the GDT whose index is given in
.IR addr ,
assigning it the data supplied in the
@@ -1017,7 +1017,7 @@ assigning it the data supplied in the
pointed to by
.IR data .
(By contrast with
-.BR set_thread_area (2),
+.MR set_thread_area 2 ,
the
.I entry_number
of the
@@ -1141,7 +1141,7 @@ and whose default action is to kill the process),
all threads exit.
Tracees report their death to their tracer(s).
Notification of this event is delivered via
-.BR waitpid (2).
+.MR waitpid 2 .
.P
Note that the killing signal will first cause signal-delivery-stop
(on one tracee only),
@@ -1165,12 +1165,12 @@ always kills the process (all its threads),
even if some threads of the process are ptraced.
.P
When the tracee calls
-.BR _exit (2),
+.MR _exit 2 ,
it reports its death to its tracer.
Other threads are not affected.
.P
When any thread executes
-.BR exit_group (2),
+.MR exit_group 2 ,
every tracee in its thread group reports its death to its tracer.
.P
If the
@@ -1179,13 +1179,13 @@ option is on,
.B PTRACE_EVENT_EXIT
will happen before actual death.
This applies to exits via
-.BR exit (2),
-.BR exit_group (2),
+.MR exit 2 ,
+.MR exit_group 2 ,
and signal deaths (except
.BR SIGKILL ,
depending on the kernel version; see BUGS below),
and when threads are torn down on
-.BR execve (2)
+.MR execve 2
in a multithreaded process.
.P
The tracer cannot assume that the ptrace-stopped tracee exists.
@@ -1221,7 +1221,7 @@ or
.IR WIFSIGNALED(status) ;
there are cases where this does not occur.
For example, if a thread other than thread group leader does an
-.BR execve (2),
+.MR execve 2 ,
it disappears;
its PID will never be seen again,
and any subsequent ptrace stops will be reported under
@@ -1230,8 +1230,8 @@ the thread group leader's PID.
A tracee can be in two states: running or stopped.
For the purposes of ptrace, a tracee which is blocked in a system call
(such as
-.BR read (2),
-.BR pause (2),
+.MR read 2 ,
+.MR pause 2 ,
etc.)
is nevertheless considered to be running, even if the tracee is blocked
for a long time.
@@ -1239,7 +1239,7 @@ The state of the tracee after
.B PTRACE_LISTEN
is somewhat of a gray area: it is not in any ptrace-stop (ptrace commands
won't work on it, and it will deliver
-.BR waitpid (2)
+.MR waitpid 2
notifications),
but it also may be considered "stopped" because
it is not executing instructions (is not scheduled), and if it was
@@ -1266,7 +1266,7 @@ and so on.
These stopped states are described in detail below.
.P
When the running tracee enters ptrace-stop, it notifies its tracer using
-.BR waitpid (2)
+.MR waitpid 2
(or one of the other "wait" system calls).
Most of this manual page assumes that the tracer waits with:
.P
@@ -1299,14 +1299,14 @@ flags, but implies their functionality.
Setting the
.B WCONTINUED
flag when calling
-.BR waitpid (2)
+.MR waitpid 2
is not recommended: the "continued" state is per-process and
consuming it can confuse the real parent of the tracee.
.P
Use of the
.B WNOHANG
flag may cause
-.BR waitpid (2)
+.MR waitpid 2
to return 0 ("no wait results available yet")
even if the tracer knows there should be a notification.
Example:
@@ -1331,7 +1331,7 @@ group-stops,
.B PTRACE_EVENT
stops, syscall-stops.
They all are reported by
-.BR waitpid (2)
+.MR waitpid 2
with
.I WIFSTOPPED(status)
true.
@@ -1349,7 +1349,7 @@ When a (possibly multithreaded) process receives any signal except
.BR SIGKILL ,
the kernel selects an arbitrary thread which handles the signal.
(If the signal is generated with
-.BR tgkill (2),
+.MR tgkill 2 ,
the target thread can be explicitly selected by the caller.)
If the selected thread is traced, it enters signal-delivery-stop.
At this point, the signal is not yet delivered to the process,
@@ -1366,7 +1366,7 @@ with the usual exception that
can't be blocked.
.P
Signal-delivery-stop is observed by the tracer as
-.BR waitpid (2)
+.MR waitpid 2
returning with
.I WIFSTOPPED(status)
true, with the signal returned by
@@ -1411,12 +1411,12 @@ Note that a suppressed signal still causes system calls to return
prematurely.
In this case, system calls will be restarted: the tracer will
observe the tracee to reexecute the interrupted system call (or
-.BR restart_syscall (2)
+.MR restart_syscall 2
system call for a few system calls which use a different mechanism
for restarting) if the tracer uses
.BR PTRACE_SYSCALL .
Even system calls (such as
-.BR poll (2))
+.MR poll 2 )
which are not restartable after signal are restarted after
signal is suppressed;
however, kernel bugs exist which cause some system calls to fail with
@@ -1431,7 +1431,7 @@ No error is reported; a nonzero
.I sig
may simply be ignored.
Ptrace users should not try to "create a new signal" this way: use
-.BR tgkill (2)
+.MR tgkill 2
instead.
.P
The fact that signal injection requests may be ignored
@@ -1517,7 +1517,7 @@ As usual, every tracee reports its group-stop separately
to the corresponding tracer.
.P
Group-stop is observed by the tracer as
-.BR waitpid (2)
+.MR waitpid 2
returning with
.I WIFSTOPPED(status)
true, with the stopping signal available via
@@ -1568,7 +1568,7 @@ restarts or kills it, the tracee will not run,
and will not send notifications (except
.B SIGKILL
death) to the tracer, even if the tracer enters into another
-.BR waitpid (2)
+.MR waitpid 2
call.
.P
The kernel behavior described in the previous paragraph
@@ -1577,7 +1577,7 @@ If the tracer restarts the tracee after group-stop,
the stopping signal
is effectively ignored\[em]the tracee doesn't remain stopped, it runs.
If the tracer doesn't restart the tracee before entering into the next
-.BR waitpid (2),
+.MR waitpid 2 ,
future
.B SIGCONT
signals will not be reported to the tracer;
@@ -1591,7 +1591,7 @@ a
.B PTRACE_LISTEN
command can be used to restart a tracee in a way where it does not execute,
but waits for a new event which it can report via
-.BR waitpid (2)
+.MR waitpid 2
(such as when
it is restarted by a
.BR SIGCONT ).
@@ -1604,7 +1604,7 @@ stops.
.P
.B PTRACE_EVENT
stops are observed by the tracer as
-.BR waitpid (2)
+.MR waitpid 2
returning with
.IR WIFSTOPPED(status) ,
and
@@ -1629,34 +1629,34 @@ The following events exist:
.TP
.B PTRACE_EVENT_VFORK
Stop before return from
-.BR vfork (2)
+.MR vfork 2
or
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_VFORK
flag.
When the tracee is continued after this stop, it will wait for child to
exit/exec before continuing its execution
(in other words, the usual behavior on
-.BR vfork (2)).
+.MR vfork 2 ).
.TP
.B PTRACE_EVENT_FORK
Stop before return from
-.BR fork (2)
+.MR fork 2
or
-.BR clone (2)
+.MR clone 2
with the exit signal set to
.BR SIGCHLD .
.TP
.B PTRACE_EVENT_CLONE
Stop before return from
-.BR clone (2).
+.MR clone 2 .
.TP
.B PTRACE_EVENT_VFORK_DONE
Stop before return from
-.BR vfork (2)
+.MR vfork 2
or
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_VFORK
flag,
@@ -1670,16 +1670,16 @@ can be used to retrieve the new thread's ID.
.TP
.B PTRACE_EVENT_EXEC
Stop before return from
-.BR execve (2).
+.MR execve 2 .
Since Linux 3.0,
.B PTRACE_GETEVENTMSG
returns the former thread ID.
.TP
.B PTRACE_EVENT_EXIT
Stop before exit (including death from
-.BR exit_group (2)),
+.MR exit_group 2 ),
signal death, or exit caused by
-.BR execve (2)
+.MR execve 2
in a multithreaded process.
.B PTRACE_GETEVENTMSG
returns the exit status.
@@ -1700,7 +1700,7 @@ command, or group-stop, or initial ptrace-stop when a new child is attached
.TP
.B PTRACE_EVENT_SECCOMP
Stop triggered by a
-.BR seccomp (2)
+.MR seccomp 2
rule on tracee syscall entry when
.B PTRACE_O_TRACESECCOMP
has been set by the tracer.
@@ -1756,19 +1756,19 @@ it is not guaranteed that the next stop will be a syscall-exit-stop.
Other possibilities are that the tracee may stop in a
.B PTRACE_EVENT
stop (including seccomp stops), exit (if it entered
-.BR _exit (2)
+.MR _exit 2
or
-.BR exit_group (2)),
+.MR exit_group 2 ),
be killed by
.BR SIGKILL ,
or die silently (if it is a thread group leader, the
-.BR execve (2)
+.MR execve 2
happened in another thread,
and that thread is not traced by the same tracer;
this situation is discussed later).
.P
Syscall-enter-stop and syscall-exit-stop are observed by the tracer as
-.BR waitpid (2)
+.MR waitpid 2
returning with
.I WIFSTOPPED(status)
true, and
@@ -1792,9 +1792,10 @@ for the following cases:
.B SIGTRAP
was delivered as a result of a user-space action,
for example, a system call
-.RB ( tgkill (2),
-.BR kill (2),
-.BR sigqueue (3),
+\%(\c
+.MR tgkill 2 ,
+.MR kill 2 ,
+.MR sigqueue 3 ,
etc.),
expiration of a POSIX timer,
change of state on a POSIX message queue,
@@ -2126,19 +2127,19 @@ If the
or
.B PTRACE_O_TRACECLONE
options are in effect, then children created by, respectively,
-.BR vfork (2)
+.MR vfork 2
or
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_VFORK
flag,
-.BR fork (2)
+.MR fork 2
or
-.BR clone (2)
+.MR clone 2
with the exit signal set to
.BR SIGCHLD ,
and other kinds of
-.BR clone (2),
+.MR clone 2 ,
are automatically attached to the same tracer which traced their parent.
.B SIGSTOP
is delivered to the children, causing them to enter
@@ -2164,7 +2165,7 @@ If the tracee is running when the tracer wants to detach it,
the usual solution is to send
.B SIGSTOP
(using
-.BR tgkill (2),
+.MR tgkill 2 ,
to make sure it goes to the correct thread),
wait for the tracee to stop in signal-delivery-stop for
.B SIGSTOP
@@ -2198,17 +2199,17 @@ the pending signal is injected.
.\" and the new program is executed in the thread group leader.
.\"
When one thread in a multithreaded process calls
-.BR execve (2),
+.MR execve 2 ,
the kernel destroys all other threads in the process,
.\" In Linux 3.1 sources, see fs/exec.c::de_thread()
and resets the thread ID of the execing thread to the
thread group ID (process ID).
(Or, to put things another way, when a multithreaded process does an
-.BR execve (2),
+.MR execve 2 ,
at completion of the call, it appears as though the
-.BR execve (2)
+.MR execve 2
occurred in the thread group leader, regardless of which thread did the
-.BR execve (2).)
+.MR execve 2 .)
This resetting of the thread ID looks very confusing to tracers:
.IP \[bu] 3
All other threads stop in
@@ -2218,13 +2219,13 @@ stop, if the
option was turned on.
Then all other threads except the thread group leader report
death as if they exited via
-.BR _exit (2)
+.MR _exit 2
with exit code 0.
.IP \[bu]
The execing tracee changes its thread ID while it is in the
-.BR execve (2).
+.MR execve 2 .
(Remember, under ptrace, the "pid" returned from
-.BR waitpid (2),
+.MR waitpid 2 ,
or fed into ptrace calls, is the tracee's thread ID.)
That is, the tracee's thread ID is reset to be the same as its process ID,
which is the same as the thread group leader's thread ID.
@@ -2252,7 +2253,7 @@ or even "returned from a system call even though
it was not in any system call".
If the thread group leader was not traced
(or was traced by a different tracer), then during
-.BR execve (2)
+.MR execve 2
it will appear as if it has become a tracee of
the tracer of the execing tracee.
.P
@@ -2266,7 +2267,7 @@ First, it enables
.B PTRACE_EVENT_EXEC
stop,
which occurs before
-.BR execve (2)
+.MR execve 2
returns.
In this stop, the tracer can use
.B PTRACE_GETEVENTMSG
@@ -2277,7 +2278,7 @@ Second, the
option disables legacy
.B SIGTRAP
generation on
-.BR execve (2).
+.MR execve 2 .
.P
When the tracer receives
.B PTRACE_EVENT_EXEC
@@ -2300,7 +2301,7 @@ thread ID == thread group ID == process ID.
.in
.P
Example: two threads call
-.BR execve (2)
+.MR execve 2
at the same time:
.P
.nf
@@ -2327,7 +2328,7 @@ rather that
the kernel delivers an extra
.B SIGTRAP
to the tracee after
-.BR execve (2)
+.MR execve 2
returns.
This is an ordinary signal (similar to one which can be
generated by
@@ -2343,7 +2344,7 @@ This signal may be blocked by signal mask,
and thus may be delivered (much) later.
.P
Usually, the tracer (for example,
-.BR strace (1))
+.MR strace 1 )
would not want to show this extra post-execve
.B SIGTRAP
signal to the user, and would suppress its delivery to the tracee (if
@@ -2364,10 +2365,10 @@ and thus suppressing this extra
is the recommended approach.
.SS Real parent
The ptrace API (ab)uses the standard UNIX parent/child signaling over
-.BR waitpid (2).
+.MR waitpid 2 .
This used to cause the real parent of the process to stop receiving
several kinds of
-.BR waitpid (2)
+.MR waitpid 2
notifications when the child process is traced by some other process.
.P
Many of these bugs have been fixed, but as of Linux 2.6.38 several still
@@ -2377,7 +2378,7 @@ As of Linux 2.6.38, the following is believed to work correctly:
.IP \[bu] 3
exit/death by signal is reported first to the tracer, then,
when the tracer consumes the
-.BR waitpid (2)
+.MR waitpid 2
result, to the real parent (to the real parent only when the
whole multithreaded process exits).
If the tracer and the real parent are the same process,
@@ -2439,7 +2440,7 @@ cannot send signals to or those running
set-user-ID/set-group-ID programs, for obvious reasons.
Alternatively, the process may already be being traced,
or (before Linux 2.6.26) be
-.BR init (1)
+.MR init 1
(PID 1).
.TP
.B ESRCH
@@ -2453,7 +2454,7 @@ SVr4, 4.3BSD.
.P
Before Linux 2.6.26,
.\" See commit 00cd5c37afd5f431ac186dd131705048c0a11fdb
-.BR init (1),
+.MR init 1 ,
the process with PID 1, may not be traced.
.SH NOTES
Although arguments to
@@ -2472,7 +2473,7 @@ or
.IR "(void\ *)\ 0".
.P
A tracees parent continues to be the tracer even if that tracer calls
-.BR execve (2).
+.MR execve 2 .
.P
The layout of the contents of memory and the USER area are
quite operating-system- and architecture-specific.
@@ -2518,15 +2519,15 @@ two access mode levels are distinguished:
.B PTRACE_MODE_READ
For "read" operations or other operations that are less dangerous,
such as:
-.BR get_robust_list (2);
-.BR kcmp (2);
+.MR get_robust_list 2 ;
+.MR kcmp 2 ;
reading
.IR /proc/ pid /auxv ,
.IR /proc/ pid /environ ,
or
.IR /proc/ pid /stat ;
or
-.BR readlink (2)
+.MR readlink 2
of a
.IR /proc/ pid /ns/*
file.
@@ -2537,7 +2538,7 @@ such as: ptrace attaching
.RB ( PTRACE_ATTACH )
to another process
or calling
-.BR process_vm_writev (2).
+.MR process_vm_writev 2 .
.RB ( PTRACE_MODE_ATTACH
was effectively the default before Linux 2.6.27.)
.\"
@@ -2561,7 +2562,7 @@ one of the following modifiers:
.TP
.B PTRACE_MODE_FSCREDS
Use the caller's filesystem UID and GID (see
-.BR credentials (7))
+.MR credentials 7 )
or effective capabilities for LSM checks.
.TP
.B PTRACE_MODE_REALCREDS
@@ -2632,7 +2633,7 @@ If the access mode specifies
then, for the check in the next step,
employ the caller's filesystem UID and GID.
(As noted in
-.BR credentials (7),
+.MR credentials 7 ,
the filesystem UID and GID almost always have the same values
as the corresponding effective IDs.)
.IP
@@ -2665,7 +2666,7 @@ Deny access if the target process "dumpable" attribute has a value other than 1
see the discussion of
.B PR_SET_DUMPABLE
in
-.BR prctl (2)),
+.MR prctl 2 ),
and the caller does not have the
.B CAP_SYS_PTRACE
capability in the user namespace of the target process.
@@ -2728,9 +2729,9 @@ file (available since Linux 3.4)
can be used to restrict the ability to trace a process with
.BR ptrace ()
(and thus also the ability to use tools such as
-.BR strace (1)
+.MR strace 1
and
-.BR gdb (1)).
+.MR gdb 1 ).
The goal of such restrictions is to prevent attack escalation whereby
a compromised process can ptrace-attach to other sensitive processes
(e.g., a GPG agent or an SSH session) owned by the user in order
@@ -2776,7 +2777,7 @@ the predefined relationship is that the target process
must be a descendant of the caller.
.IP
A target process can employ the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_PTRACER
operation to declare an additional PID that is allowed to perform
.B PTRACE_MODE_ATTACH
@@ -2851,7 +2852,7 @@ Group-stop notifications are sent to the tracer, but not to real parent.
Last confirmed on 2.6.38.6.
.P
If a thread group leader is traced and exits by calling
-.BR _exit (2),
+.MR _exit 2 ,
.\" Note from Denys Vlasenko:
.\" Here "exits" means any kind of death - _exit, exit_group,
.\" signal death. Signal death and exit_group cases are trivial,
@@ -2867,13 +2868,13 @@ stop will happen for it (if requested), but the subsequent
.B WIFEXITED
notification will not be delivered until all other threads exit.
As explained above, if one of other threads calls
-.BR execve (2),
+.MR execve 2 ,
the death of the thread group leader will
.I never
be reported.
If the execed thread is not traced by this tracer,
the tracer will never know that
-.BR execve (2)
+.MR execve 2
happened.
One possible workaround is to
.B PTRACE_DETACH
@@ -2900,11 +2901,11 @@ a bogus
.BR SIGSTOP ).
As of Linux 3.2.9, the following system calls are affected
(this list is likely incomplete):
-.BR epoll_wait (2),
+.MR epoll_wait 2 ,
and
-.BR read (2)
+.MR read 2
from an
-.BR inotify (7)
+.MR inotify 7
file descriptor.
The usual symptom of this bug is that when you attach to
a quiescent process with the command
@@ -2943,23 +2944,23 @@ For example:
.in
.P
What is not visible here is that the process was blocked in
-.BR epoll_wait (2)
+.MR epoll_wait 2
before
-.BR strace (1)
+.MR strace 1
has attached to it.
Attaching caused
-.BR epoll_wait (2)
+.MR epoll_wait 2
to return to user space with the error
.BR EINTR .
In this particular case, the program reacted to
.B EINTR
by checking the current time, and then executing
-.BR epoll_wait (2)
+.MR epoll_wait 2
again.
(Programs which do not expect such "stray"
.B EINTR
errors may behave in an unintended way upon an
-.BR strace (1)
+.MR strace 1
attach.)
.P
Contrary to the normal rules, the glibc wrapper for
@@ -2968,19 +2969,19 @@ can set
.I errno
to zero.
.SH SEE ALSO
-.BR gdb (1),
-.BR ltrace (1),
-.BR strace (1),
-.BR clone (2),
-.BR execve (2),
-.BR fork (2),
-.BR gettid (2),
-.BR prctl (2),
-.BR seccomp (2),
-.BR sigaction (2),
-.BR tgkill (2),
-.BR vfork (2),
-.BR waitpid (2),
-.BR exec (3),
-.BR capabilities (7),
-.BR signal (7)
+.MR gdb 1 ,
+.MR ltrace 1 ,
+.MR strace 1 ,
+.MR clone 2 ,
+.MR execve 2 ,
+.MR fork 2 ,
+.MR gettid 2 ,
+.MR prctl 2 ,
+.MR seccomp 2 ,
+.MR sigaction 2 ,
+.MR tgkill 2 ,
+.MR vfork 2 ,
+.MR waitpid 2 ,
+.MR exec 3 ,
+.MR capabilities 7 ,
+.MR signal 7
diff --git a/man2/query_module.2 b/man2/query_module.2
index 60746df56..02b02634b 100644
--- a/man2/query_module.2
+++ b/man2/query_module.2
@@ -184,11 +184,11 @@ through a quirk of history, glibc does export an ABI for this system call.
Therefore, in order to employ this system call,
it is sufficient to manually declare the interface in your code;
alternatively, you can invoke the system call using
-.BR syscall (2).
+.MR syscall 2 .
.SH SEE ALSO
-.BR create_module (2),
-.BR delete_module (2),
-.BR get_kernel_syms (2),
-.BR init_module (2),
-.BR lsmod (8),
-.BR modinfo (8)
+.MR create_module 2 ,
+.MR delete_module 2 ,
+.MR get_kernel_syms 2 ,
+.MR init_module 2 ,
+.MR lsmod 8 ,
+.MR modinfo 8
diff --git a/man2/quotactl.2 b/man2/quotactl.2
index d7ec80e7b..554eea0f6 100644
--- a/man2/quotactl.2
+++ b/man2/quotactl.2
@@ -100,14 +100,14 @@ The
argument points to the pathname of a file containing the quotas for
the filesystem.
The quota file must exist; it is normally created with the
-.BR quotacheck (8)
+.MR quotacheck 8
program
.IP
Quota information can be also stored in hidden system inodes
for ext4, XFS, and other filesystems if the filesystem is configured so.
In this case, there are no visible quota files and there is no need to
use
-.BR quotacheck (8).
+.MR quotacheck 8 .
Quota information is always kept consistent by the filesystem and the
.B Q_QUOTAON
operation serves only to enable enforcement of quota limits.
@@ -665,7 +665,7 @@ This operation was an XFS quota equivalent to
but it is no-op since Linux 3.4,
.\" 4b217ed9e30f94b6e8e5e262020ef0ceab6113af
as
-.BR sync (1)
+.MR sync 1
writes quota information to disk now
(in addition to the other filesystem metadata that it writes out).
The
@@ -800,7 +800,7 @@ constants without the
.B XQM_
prefix.
.SH SEE ALSO
-.BR quota (1),
-.BR getrlimit (2),
-.BR quotacheck (8),
-.BR quotaon (8)
+.MR quota 1 ,
+.MR getrlimit 2 ,
+.MR quotacheck 8 ,
+.MR quotaon 8
diff --git a/man2/read.2 b/man2/read.2
index 2b92597c8..b835d25d4 100644
--- a/man2/read.2
+++ b/man2/read.2
@@ -88,7 +88,7 @@ refers to a file other than a socket and has been marked nonblocking
.RB ( O_NONBLOCK ),
and the read would block.
See
-.BR open (2)
+.MR open 2
for further details on the
.B O_NONBLOCK
flag.
@@ -114,7 +114,7 @@ is outside your accessible address space.
.TP
.B EINTR
The call was interrupted by a signal before any data was read; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.I fd
@@ -130,11 +130,11 @@ or the file offset is not suitably aligned.
.B EINVAL
.I fd
was created via a call to
-.BR timerfd_create (2)
+.MR timerfd_create 2
and the wrong size buffer was given to
.BR read ();
see
-.BR timerfd_create (2)
+.MR timerfd_create 2
for further information.
.TP
.B EIO
@@ -154,7 +154,7 @@ out on the file descriptor and this lock has been lost.
See the
.I "Lost locks"
section of
-.BR fcntl (2)
+.MR fcntl 2
for further details.
.TP
.B EISDIR
@@ -204,17 +204,17 @@ operate on regular files or symbolic links: ...
Among the APIs subsequently listed are
.BR read ()
and
-.BR readv (2).
+.MR readv 2 .
And among the effects that should be atomic across threads (and processes)
are updates of the file offset.
However, before Linux 3.14,
this was not the case: if two processes that share
an open file description (see
-.BR open (2))
+.MR open 2 )
perform a
.BR read ()
(or
-.BR readv (2))
+.MR readv 2 )
at the same time, then the I/O operations were not atomic
with respect updating the file offset,
with the result that the reads in the two processes
@@ -231,15 +231,15 @@ This problem was fixed in Linux 3.14.
.\"
.\" vfs: atomic f_pos accesses as per POSIX
.SH SEE ALSO
-.BR close (2),
-.BR fcntl (2),
-.BR ioctl (2),
-.BR lseek (2),
-.BR open (2),
-.BR pread (2),
-.BR readdir (2),
-.BR readlink (2),
-.BR readv (2),
-.BR select (2),
-.BR write (2),
-.BR fread (3)
+.MR close 2 ,
+.MR fcntl 2 ,
+.MR ioctl 2 ,
+.MR lseek 2 ,
+.MR open 2 ,
+.MR pread 2 ,
+.MR readdir 2 ,
+.MR readlink 2 ,
+.MR readv 2 ,
+.MR select 2 ,
+.MR write 2 ,
+.MR fread 3
diff --git a/man2/readahead.2 b/man2/readahead.2
index e857fde66..a93d19a81 100644
--- a/man2/readahead.2
+++ b/man2/readahead.2
@@ -68,7 +68,7 @@ can be applied.
On some 32-bit architectures,
the calling signature for this system call differs,
for the reasons described in
-.BR syscall (2).
+.MR syscall 2 .
.SH STANDARDS
Linux.
.SH HISTORY
@@ -92,8 +92,8 @@ using indirect blocks instead of extents,
giving the appearance that the call blocks until the requested data has
been read.
.SH SEE ALSO
-.BR lseek (2),
-.BR madvise (2),
-.BR mmap (2),
-.BR posix_fadvise (2),
-.BR read (2)
+.MR lseek 2 ,
+.MR madvise 2 ,
+.MR mmap 2 ,
+.MR posix_fadvise 2 ,
+.MR read 2
diff --git a/man2/readdir.2 b/man2/readdir.2
index 933bb30d4..dda01c733 100644
--- a/man2/readdir.2
+++ b/man2/readdir.2
@@ -29,11 +29,11 @@ see NOTES.
.SH DESCRIPTION
This is not the function you are interested in.
Look at
-.BR readdir (3)
+.MR readdir 3
for the POSIX conforming C library interface.
This page documents the bare kernel system call interface,
which is superseded by
-.BR getdents (2).
+.MR getdents 2 .
.P
.BR readdir ()
reads one
@@ -105,12 +105,12 @@ You will need to define the
.I old_linux_dirent
structure yourself.
However, probably you should use
-.BR readdir (3)
+.MR readdir 3
instead.
.P
This system call does not exist on x86-64.
.SH STANDARDS
Linux.
.SH SEE ALSO
-.BR getdents (2),
-.BR readdir (3)
+.MR getdents 2 ,
+.MR readdir 3
diff --git a/man2/readlink.2 b/man2/readlink.2
index da671a9be..9e2131adc 100644
--- a/man2/readlink.2
+++ b/man2/readlink.2
@@ -35,7 +35,7 @@ Standard C library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR readlink ():
@@ -108,7 +108,7 @@ can be an empty string,
in which case the call operates on the symbolic link referred to by
.I dirfd
(which should have been obtained using
-.BR open (2)
+.MR open 2
with the
.B O_PATH
and
@@ -116,7 +116,7 @@ and
flags).
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR readlinkat ().
.SH RETURN VALUE
@@ -133,7 +133,7 @@ is set to indicate the error.
.B EACCES
Search permission is denied for a component of the path prefix.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( readlinkat ())
@@ -226,7 +226,7 @@ symbolic link contents.
The required size for the buffer can be obtained from the
.I stat.st_size
value returned by a call to
-.BR lstat (2)
+.MR lstat 2
on the link.
However, the number of bytes written by
.BR readlink ()
@@ -247,11 +247,11 @@ if the system does not have such limit.
The following program allocates the buffer needed by
.BR readlink ()
dynamically from the information provided by
-.BR lstat (2),
+.MR lstat 2 ,
falling back to a buffer of size
.B PATH_MAX
in cases where
-.BR lstat (2)
+.MR lstat 2
reports a size of zero.
.P
.\" SRC BEGIN (readlink.c)
@@ -322,10 +322,10 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR readlink (1),
-.BR lstat (2),
-.BR stat (2),
-.BR symlink (2),
-.BR realpath (3),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR readlink 1 ,
+.MR lstat 2 ,
+.MR stat 2 ,
+.MR symlink 2 ,
+.MR realpath 3 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/readv.2 b/man2/readv.2
index d39f2b9b9..0d7927874 100644
--- a/man2/readv.2
+++ b/man2/readv.2
@@ -36,7 +36,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR preadv (),
@@ -74,18 +74,18 @@ points to an array of
.I iovec
structures,
described in
-.BR iovec (3type).
+.MR iovec 3type .
.P
The
.BR readv ()
system call works just like
-.BR read (2)
+.MR read 2
except that multiple buffers are filled.
.P
The
.BR writev ()
system call works just like
-.BR write (2)
+.MR write 2
except that multiple buffers are written out.
.P
Buffers are processed in array order.
@@ -122,14 +122,14 @@ is guaranteed to read a contiguous block of data from the file,
regardless of read operations performed in other threads or processes
that have file descriptors referring to the same open file description
(see
-.BR open (2)).
+.MR open 2 ).
.SS preadv() and pwritev()
The
.BR preadv ()
system call combines the functionality of
.BR readv ()
and
-.BR pread (2).
+.MR pread 2 .
It performs the same task as
.BR readv (),
but adds a fourth argument,
@@ -142,7 +142,7 @@ The
system call combines the functionality of
.BR writev ()
and
-.BR pwrite (2).
+.MR pwrite 2 .
It performs the same task as
.BR writev (),
but adds a fourth argument,
@@ -179,7 +179,7 @@ argument contains a bitwise OR of zero or more of the following flags:
.\" commit e864f39569f4092c2b2bc72c773b6e486c7e3bd9
Provide a per-write equivalent of the
.B O_DSYNC
-.BR open (2)
+.MR open 2
flag.
This flag is meaningful only for
.BR pwritev2 (),
@@ -197,7 +197,7 @@ flag.)
.\" commit e864f39569f4092c2b2bc72c773b6e486c7e3bd9
Provide a per-write equivalent of the
.B O_SYNC
-.BR open (2)
+.MR open 2
flag.
This flag is meaningful only for
.BR pwritev2 (),
@@ -225,7 +225,7 @@ Currently, this flag is meaningful only for
.\" commit e1fc742e14e01d84d9693c4aca4ab23da65811fb
Provide a per-write equivalent of the
.B O_APPEND
-.BR open (2)
+.MR open 2
flag.
This flag is meaningful only for
.BR pwritev2 (),
@@ -252,16 +252,16 @@ return the number of bytes written.
.P
Note that it is not an error for a successful call to transfer fewer bytes
than requested (see
-.BR read (2)
+.MR read 2
and
-.BR write (2)).
+.MR write 2 ).
.P
On error, \-1 is returned, and \fIerrno\fP is set to indicate the error.
.SH ERRORS
The errors are as given for
-.BR read (2)
+.MR read 2
and
-.BR write (2).
+.MR write 2 .
Furthermore,
.BR preadv (),
.BR preadv2 (),
@@ -269,7 +269,7 @@ Furthermore,
and
.BR pwritev2 ()
can also fail for the same reasons as
-.BR lseek (2).
+.MR lseek 2 .
Additionally, the following errors are defined:
.TP
.B EINVAL
@@ -355,7 +355,7 @@ the wrapper function allocated a temporary buffer large enough
for all of the items specified by
.IR iov ,
passed that buffer in a call to
-.BR read (2),
+.MR read 2 ,
copied data from the buffer to the locations specified by the
.I iov_base
fields of the elements of
@@ -364,7 +364,7 @@ and then freed the buffer.
The wrapper function for
.BR writev ()
performed the analogous task using a temporary buffer and a call to
-.BR write (2).
+.MR write 2 .
.P
The need for this extra effort in the glibc wrapper functions
went away with Linux 2.2 and later.
@@ -422,6 +422,6 @@ nwritten = writev(STDOUT_FILENO, iov, 2);
.EE
.in
.SH SEE ALSO
-.BR pread (2),
-.BR read (2),
-.BR write (2)
+.MR pread 2 ,
+.MR read 2 ,
+.MR write 2
diff --git a/man2/reboot.2 b/man2/reboot.2
index e00ef20eb..005f71f66 100644
--- a/man2/reboot.2
+++ b/man2/reboot.2
@@ -39,7 +39,7 @@ The
call reboots the system, or enables/disables the reboot keystroke
(abbreviated CAD, since the default is Ctrl-Alt-Delete;
it can be changed using
-.BR loadkeys (1)).
+.MR loadkeys 1 ).
.P
This system call fails (with the error
.BR EINVAL )
@@ -93,14 +93,14 @@ the action associated with
The message "System halted." is printed, and the system is halted.
Control is given to the ROM monitor, if there is one.
If not preceded by a
-.BR sync (2),
+.MR sync 2 ,
data will be lost.
.TP
.B LINUX_REBOOT_CMD_KEXEC
.RB ( RB_KEXEC ,
0x45584543, since Linux 2.6.13).
Execute a kernel that has been loaded earlier with
-.BR kexec_load (2).
+.MR kexec_load 2 .
This option is available only if the kernel was configured with
.BR CONFIG_KEXEC .
.TP
@@ -110,7 +110,7 @@ This option is available only if the kernel was configured with
The message "Power down." is printed, the system is stopped,
and all power is removed from the system, if possible.
If not preceded by a
-.BR sync (2),
+.MR sync 2 ,
data will be lost.
.TP
.B LINUX_REBOOT_CMD_RESTART
@@ -119,7 +119,7 @@ data will be lost.
The message "Restarting system." is printed, and a default
restart is performed immediately.
If not preceded by a
-.BR sync (2),
+.MR sync 2 ,
data will be lost.
.TP
.B LINUX_REBOOT_CMD_RESTART2
@@ -129,7 +129,7 @@ and a restart (using the command string given in
.IR arg )
is performed immediately.
If not preceded by a
-.BR sync (2),
+.MR sync 2 ,
data will be lost.
.TP
.B LINUX_REBOOT_CMD_SW_SUSPEND
@@ -162,7 +162,7 @@ values listed below,
it performs a "reboot" of that namespace:
the "init" process of the PID namespace is immediately terminated,
with the effects described in
-.BR pid_namespaces (7).
+.MR pid_namespaces 7 .
.P
The values that can be supplied in
.I cmd
@@ -175,7 +175,7 @@ in this case are as follows:
.B LINUX_REBOOT_CMD_RESTART2
The "init" process is terminated,
and
-.BR wait (2)
+.MR wait 2
in the parent process reports that the child was killed with a
.B SIGHUP
signal.
@@ -185,7 +185,7 @@ signal.
.B LINUX_REBOOT_CMD_HALT
The "init" process is terminated,
and
-.BR wait (2)
+.MR wait 2
in the parent process reports that the child was killed with a
.B SIGINT
signal.
@@ -229,12 +229,12 @@ inside its user namespace.
.SH STANDARDS
Linux.
.SH SEE ALSO
-.BR systemctl (1),
-.BR systemd (1),
-.BR kexec_load (2),
-.BR sync (2),
-.BR bootparam (7),
-.BR capabilities (7),
-.BR ctrlaltdel (8),
-.BR halt (8),
-.BR shutdown (8)
+.MR systemctl 1 ,
+.MR systemd 1 ,
+.MR kexec_load 2 ,
+.MR sync 2 ,
+.MR bootparam 7 ,
+.MR capabilities 7 ,
+.MR ctrlaltdel 8 ,
+.MR halt 8 ,
+.MR shutdown 8
diff --git a/man2/recv.2 b/man2/recv.2
index 7959bff25..03a2da47c 100644
--- a/man2/recv.2
+++ b/man2/recv.2
@@ -43,7 +43,7 @@ and then describes the differences between the calls.
The only difference between
.BR recv ()
and
-.BR read (2)
+.MR read 2
is the presence of
.IR flags .
With a zero
@@ -51,7 +51,7 @@ With a zero
argument,
.BR recv ()
is generally equivalent to
-.BR read (2)
+.MR read 2
(but see NOTES).
Also, the following call
.P
@@ -77,7 +77,7 @@ received from.
.P
If no messages are available at the socket, the receive calls wait for a
message to arrive, unless the socket is nonblocking (see
-.BR fcntl (2)),
+.MR fcntl 2 ),
in which case the value \-1 is returned and
.I errno
is set to
@@ -86,10 +86,10 @@ The receive calls normally return any data available, up to the requested
amount, rather than waiting for receipt of the full amount requested.
.P
An application can use
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7)
+.MR epoll 7
to determine when more data arrives on a socket.
.SS The flags argument
The
@@ -101,11 +101,11 @@ Set the close-on-exec flag for the file descriptor received
via a UNIX domain file descriptor using the
.B SCM_RIGHTS
operation (described in
-.BR unix (7)).
+.MR unix 7 ).
This flag is useful for the same reasons as the
.B O_CLOEXEC
flag of
-.BR open (2).
+.MR open 2 .
.TP
.BR MSG_DONTWAIT " (since Linux 2.2)"
Enables nonblocking operation; if the operation would block,
@@ -114,14 +114,14 @@ the call fails with the error
This provides similar behavior to setting the
.B O_NONBLOCK
flag (via the
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETFL
operation), but differs in that
.B MSG_DONTWAIT
is a per-call option, whereas
.B O_NONBLOCK
is a setting on the open file description (see
-.BR open (2)),
+.MR open 2 ),
which will affect all threads in the calling process
and as well as other processes that hold file descriptors
referring to the same open file description.
@@ -134,9 +134,9 @@ an ancillary message with a type dependent on the protocol (for IPv4
.BR IP_RECVERR ).
The user should supply a buffer of sufficient size.
See
-.BR cmsg (3)
+.MR cmsg 3
and
-.BR ip (7)
+.MR ip 7
for more information.
The payload of the original packet that caused the error
is passed as normal data via
@@ -234,7 +234,7 @@ return the real length of the packet or datagram,
even when it was longer than the passed buffer.
.IP
For use with Internet stream sockets, see
-.BR tcp (7).
+.MR tcp 7 .
.TP
.BR MSG_WAITALL " (since Linux 2.2)"
This flag requests that the operation block until the full request is
@@ -291,7 +291,7 @@ The
call is normally used only on a
.I connected
socket (see
-.BR connect (2)).
+.MR connect 2 ).
It is equivalent to the call:
.P
.in +4n
@@ -342,7 +342,7 @@ The fields
and
.I msg_iovlen
describe scatter-gather locations, as discussed in
-.BR readv (2).
+.MR readv 2 .
.P
The field
.IR msg_control ,
@@ -375,15 +375,15 @@ struct cmsghdr {
.in
.P
Ancillary data should be accessed only by the macros defined in
-.BR cmsg (3).
+.MR cmsg 3 .
.P
As an example, Linux uses this ancillary data mechanism to pass extended
errors, IP options, or file descriptors over UNIX domain sockets.
For further information on the use of ancillary data in various
socket domains, see
-.BR unix (7)
+.MR unix 7
and
-.BR ip (7).
+.MR ip 7 .
.P
The
.I msg_flags
@@ -468,7 +468,7 @@ address space.
.B EINTR
The receive was interrupted by delivery of a signal before
any data was available; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
Invalid argument passed.
@@ -481,9 +481,9 @@ Could not allocate memory for
.B ENOTCONN
The socket is associated with a connection-oriented protocol
and has not been connected (see
-.BR connect (2)
+.MR connect 2
and
-.BR accept (2)).
+.MR accept 2 ).
.TP
.B ENOTSOCK
The file descriptor
@@ -524,40 +524,40 @@ and
flags.
.SH NOTES
If a zero-length datagram is pending,
-.BR read (2)
+.MR read 2
and
.BR recv ()
with a
.I flags
argument of zero provide different behavior.
In this circumstance,
-.BR read (2)
+.MR read 2
has no effect (the datagram remains pending), while
.BR recv ()
consumes the pending datagram.
.P
See
-.BR recvmmsg (2)
+.MR recvmmsg 2
for information about a Linux-specific system call
that can be used to receive multiple datagrams in a single call.
.SH EXAMPLES
An example of the use of
.BR recvfrom ()
is shown in
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
.SH SEE ALSO
-.BR fcntl (2),
-.BR getsockopt (2),
-.BR read (2),
-.BR recvmmsg (2),
-.BR select (2),
-.BR shutdown (2),
-.BR socket (2),
-.BR cmsg (3),
-.BR sockatmark (3),
-.BR ip (7),
-.BR ipv6 (7),
-.BR socket (7),
-.BR tcp (7),
-.BR udp (7),
-.BR unix (7)
+.MR fcntl 2 ,
+.MR getsockopt 2 ,
+.MR read 2 ,
+.MR recvmmsg 2 ,
+.MR select 2 ,
+.MR shutdown 2 ,
+.MR socket 2 ,
+.MR cmsg 3 ,
+.MR sockatmark 3 ,
+.MR ip 7 ,
+.MR ipv6 7 ,
+.MR socket 7 ,
+.MR tcp 7 ,
+.MR udp 7 ,
+.MR unix 7
diff --git a/man2/recvmmsg.2 b/man2/recvmmsg.2
index bf3c9d4ca..78556fb8f 100644
--- a/man2/recvmmsg.2
+++ b/man2/recvmmsg.2
@@ -27,12 +27,12 @@ Standard C library
The
.BR recvmmsg ()
system call is an extension of
-.BR recvmsg (2)
+.MR recvmsg 2
that allows the caller to receive multiple messages from a socket
using a single system call.
(This has performance benefits for some applications.)
A further extension over
-.BR recvmsg (2)
+.MR recvmsg 2
is support for a timeout on the receive operation.
.P
The
@@ -67,19 +67,19 @@ The
field is a
.I msghdr
structure, as described in
-.BR recvmsg (2).
+.MR recvmsg 2 .
The
.I msg_len
field is the number of bytes returned for the message in the entry.
This field has the same value as the return value of a single
-.BR recvmsg (2)
+.MR recvmsg 2
on the header.
.P
The
.I flags
argument contains flags ORed together.
The flags are the same as documented for
-.BR recvmsg (2),
+.MR recvmsg 2 ,
with the following addition:
.TP
.BR MSG_WAITFORONE " (since Linux 2.6.34)"
@@ -92,7 +92,7 @@ The
argument points to a
.I struct timespec
(see
-.BR clock_gettime (2))
+.MR clock_gettime 2 )
defining a timeout (seconds plus nanoseconds) for the receive operation
.RI ( "but see BUGS!" ).
(This interval will be rounded up to the system clock granularity,
@@ -123,7 +123,7 @@ contains the size of the received message;
the subfields of
.I msg_hdr
are updated as described in
-.BR recvmsg (2).
+.MR recvmsg 2 .
The return value of the call indicates the number of elements of
.I msgvec
that have been updated.
@@ -137,7 +137,7 @@ on error, \-1 is returned, and
is set to indicate the error.
.SH ERRORS
Errors are as for
-.BR recvmsg (2).
+.MR recvmsg 2 .
In addition, the following error can occur:
.TP
.B EINVAL
@@ -268,9 +268,9 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR recvmsg (2),
-.BR sendmmsg (2),
-.BR sendmsg (2),
-.BR socket (2),
-.BR socket (7)
+.MR clock_gettime 2 ,
+.MR recvmsg 2 ,
+.MR sendmmsg 2 ,
+.MR sendmsg 2 ,
+.MR socket 2 ,
+.MR socket 7
diff --git a/man2/remap_file_pages.2 b/man2/remap_file_pages.2
index 0c87352c0..c2b808acf 100644
--- a/man2/remap_file_pages.2
+++ b/man2/remap_file_pages.2
@@ -43,7 +43,7 @@ in memory.
The advantage of using
.BR remap_file_pages ()
over using repeated calls to
-.BR mmap (2)
+.MR mmap 2
is that the former approach does not require the kernel to create
additional VMA (Virtual Memory Area) data structures.
.P
@@ -51,7 +51,7 @@ To create a nonlinear mapping we perform the following steps:
.TP 3
1.
Use
-.BR mmap (2)
+.MR mmap 2
to create a mapping (which is initially linear).
This mapping must be created with the
.B MAP_SHARED
@@ -84,7 +84,7 @@ Thus,
.I addr
must be an address that falls within
a region previously mapped by a call to
-.BR mmap (2).
+.MR mmap 2 .
Second,
.I addr
specifies the address at which the file pages
@@ -115,7 +115,7 @@ argument must be specified as 0.
The
.I flags
argument has the same meaning as for
-.BR mmap (2),
+.MR mmap 2 ,
but all flags other than
.B MAP_NONBLOCK
are ignored.
@@ -154,17 +154,17 @@ Since Linux 2.6.23,
.BR remap_file_pages ()
creates non-linear mappings only
on in-memory filesystems such as
-.BR tmpfs (5),
+.MR tmpfs 5 ,
hugetlbfs or ramfs.
On filesystems with a backing store,
.BR remap_file_pages ()
is not much more efficient than using
-.BR mmap (2)
+.MR mmap 2
to adjust which parts of the file are mapped to which addresses.
.SH SEE ALSO
-.BR getpagesize (2),
-.BR mmap (2),
-.BR mmap2 (2),
-.BR mprotect (2),
-.BR mremap (2),
-.BR msync (2)
+.MR getpagesize 2 ,
+.MR mmap 2 ,
+.MR mmap2 2 ,
+.MR mprotect 2 ,
+.MR mremap 2 ,
+.MR msync 2
diff --git a/man2/removexattr.2 b/man2/removexattr.2
index 1d3a731e4..705a45c25 100644
--- a/man2/removexattr.2
+++ b/man2/removexattr.2
@@ -23,10 +23,10 @@ Extended attributes are
pairs associated with inodes (files, directories, symbolic links, etc.).
They are extensions to the normal attributes which are associated
with all inodes in the system (i.e., the
-.BR stat (2)
+.MR stat 2
data).
A complete overview of extended attributes concepts can be found in
-.BR xattr (7).
+.MR xattr 7 .
.P
.BR removexattr ()
removes the extended attribute identified by
@@ -47,7 +47,7 @@ is identical to
only the extended attribute is removed from the open file referred to by
.I fd
(as returned by
-.BR open (2))
+.MR open 2 )
in place of
.IR path .
.P
@@ -75,7 +75,7 @@ The named attribute does not exist.
Extended attributes are not supported by the filesystem, or are disabled.
.P
In addition, the errors documented in
-.BR stat (2)
+.MR stat 2
can also occur.
.SH STANDARDS
Linux.
@@ -89,12 +89,12 @@ glibc 2.3.
.\" .RI < linux-xfs@oss.sgi.com >.
.\" Please send any bug reports or comments to these addresses.
.SH SEE ALSO
-.BR getfattr (1),
-.BR setfattr (1),
-.BR getxattr (2),
-.BR listxattr (2),
-.BR open (2),
-.BR setxattr (2),
-.BR stat (2),
-.BR symlink (7),
-.BR xattr (7)
+.MR getfattr 1 ,
+.MR setfattr 1 ,
+.MR getxattr 2 ,
+.MR listxattr 2 ,
+.MR open 2 ,
+.MR setxattr 2 ,
+.MR stat 2 ,
+.MR symlink 7 ,
+.MR xattr 7
diff --git a/man2/rename.2 b/man2/rename.2
index 617d8c29a..755e24a7e 100644
--- a/man2/rename.2
+++ b/man2/rename.2
@@ -34,7 +34,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.nf
@@ -51,7 +51,7 @@ Feature Test Macro Requirements for glibc (see
.BR rename ()
renames a file, moving it between directories if required.
Any other hard links to the file (as created using
-.BR link (2))
+.MR link 2 )
are unaffected.
Open file descriptors for
.I oldpath
@@ -143,7 +143,7 @@ to the directory referred to by the file descriptor
.IR newdirfd .
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR renameat ().
.SS renameat2()
@@ -297,7 +297,7 @@ the
.I ..
entry).
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBUSY
The rename fails because
@@ -536,14 +536,14 @@ server is up again causes a failure.
The application is expected to
deal with this.
See
-.BR link (2)
+.MR link 2
for a similar problem.
.SH SEE ALSO
-.BR mv (1),
-.BR rename (1),
-.BR chmod (2),
-.BR link (2),
-.BR symlink (2),
-.BR unlink (2),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR mv 1 ,
+.MR rename 1 ,
+.MR chmod 2 ,
+.MR link 2 ,
+.MR symlink 2 ,
+.MR unlink 2 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/request_key.2 b/man2/request_key.2
index 89815c4ed..0487d3546 100644
--- a/man2/request_key.2
+++ b/man2/request_key.2
@@ -77,23 +77,23 @@ permission, or it may be one of the following special keyring IDs:
.TP
.B KEY_SPEC_THREAD_KEYRING
This specifies the caller's thread-specific keyring (see
-.BR thread\-keyring (7)).
+.MR thread\-keyring 7 ).
.TP
.B KEY_SPEC_PROCESS_KEYRING
This specifies the caller's process-specific keyring (see
-.BR process\-keyring (7)).
+.MR process\-keyring 7 ).
.TP
.B KEY_SPEC_SESSION_KEYRING
This specifies the caller's session-specific keyring (see
-.BR session\-keyring (7)).
+.MR session\-keyring 7 ).
.TP
.B KEY_SPEC_USER_KEYRING
This specifies the caller's UID-specific keyring (see
-.BR user\-keyring (7)).
+.MR user\-keyring 7 ).
.TP
.B KEY_SPEC_USER_SESSION_KEYRING
This specifies the caller's UID-session keyring (see
-.BR user\-session\-keyring (7)).
+.MR user\-session\-keyring 7 ).
.P
When the
.I dest_keyring
@@ -109,7 +109,7 @@ More precisely, when the kernel tries to determine to which keyring the
newly constructed key should be linked,
it tries the following keyrings,
beginning with the keyring set via the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_SET_REQKEY_KEYRING
operation and continuing in the order shown below
until it finds the first keyring that exists:
@@ -127,28 +127,28 @@ since Linux 2.6.29).
The thread-specific keyring
.RB ( KEY_REQKEY_DEFL_THREAD_KEYRING ;
see
-.BR thread\-keyring (7)).
+.MR thread\-keyring 7 ).
.IP \[bu]
The process-specific keyring
.RB ( KEY_REQKEY_DEFL_PROCESS_KEYRING ;
see
-.BR process\-keyring (7)).
+.MR process\-keyring 7 ).
.IP \[bu]
The session-specific keyring
.RB ( KEY_REQKEY_DEFL_SESSION_KEYRING ;
see
-.BR session\-keyring (7)).
+.MR session\-keyring 7 ).
.IP \[bu]
The session keyring for the process's user ID
.RB ( KEY_REQKEY_DEFL_USER_SESSION_KEYRING ;
see
-.BR user\-session\-keyring (7)).
+.MR user\-session\-keyring 7 ).
This keyring is expected to always exist.
.IP \[bu]
The UID-specific keyring
.RB ( KEY_REQKEY_DEFL_USER_KEYRING ;
see
-.BR user\-keyring (7)).
+.MR user\-keyring 7 ).
This keyring is also expected to always exist.
.\" mtk: Are there circumstances where the user sessions and UID-specific
.\" keyrings do not exist?
@@ -182,7 +182,7 @@ This keyring is also expected to always exist.
.\" such as KEYCTL_GET_SECURITY, KEYCTL_READ and KEYCTL_REVOKE, won't.
.P
If the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_SET_REQKEY_KEYRING
operation specifies
.B KEY_REQKEY_DEFL_DEFAULT
@@ -253,7 +253,7 @@ Internally, the kernel also records the PID of the process that called
.RE
.IP (3)
The kernel creates a process that executes a user-space service such as
-.BR request\-key (8)
+.MR request\-key 8
with a new session keyring that contains a link to the authorization key, V.
.\" The request\-key(8) program can be invoked in circumstances *other* than
.\" when triggered by request_key(2). For example, upcalls from places such
@@ -300,18 +300,18 @@ The program spawned in the previous step:
.RS
.IP \[bu] 3
Assumes the authority to instantiate the key U using the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_ASSUME_AUTHORITY
operation (typically via the
-.BR keyctl_assume_authority (3)
+.MR keyctl_assume_authority 3
function).
.IP \[bu]
Obtains the callout data from the payload of the authorization key V
(using the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_READ
operation (or, more commonly, the
-.BR keyctl_read (3)
+.MR keyctl_read 3
function) with a key ID value of
.BR KEY_SPEC_REQKEY_AUTH_KEY ).
.IP \[bu]
@@ -328,10 +328,10 @@ can be accessed using the special key ID
.\" * This feature is provided, but not used at the moment.
.\" * A key added to that ring is then owned by the requester
Instantiation is performed using the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_INSTANTIATE
operation (or, more commonly, the
-.BR keyctl_instantiate (3)
+.MR keyctl_instantiate 3
function).
At this point, the
.BR request_key ()
@@ -351,7 +351,7 @@ to fail until it does.
The purpose of this negatively instantiated key is to prevent
(possibly different) processes making repeated requests
(that require expensive
-.BR request\-key (8)
+.MR request\-key 8
upcalls) for a key that can't (at the moment) be positively instantiated.
.P
Once the key has been instantiated, the authorization key
@@ -359,7 +359,7 @@ Once the key has been instantiated, the authorization key
is revoked, and the destination keyring
.RB ( KEY_SPEC_REQUESTOR_KEYRING )
is no longer accessible from the
-.BR request\-key (8)
+.MR request\-key 8
program.
.P
If a key is created, then\[em]regardless of whether it is a valid key or
@@ -392,7 +392,7 @@ points outside the process's accessible address space.
.TP
.B EINTR
The request was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The size of the string (including the terminating null byte) specified in
@@ -460,7 +460,7 @@ $ sudo sh
.P
This entry specifies that when a new "user" key with the prefix
"mtk:" must be instantiated, that task should be performed via the
-.BR keyctl (1)
+.MR keyctl 1
command's
.B instantiate
operation.
@@ -478,7 +478,7 @@ and the session keyring
of the requestor (i.e., the caller of
.BR request_key ()).
See
-.BR request\-key.conf (5)
+.MR request\-key.conf 5
for details of these
.I %
specifiers.
@@ -496,7 +496,7 @@ $ \fBgrep \[aq]2dddaf50\[aq] /proc/keys\fP
.in
.P
For another example of the use of this program, see
-.BR keyctl (2).
+.MR keyctl 2 .
.SS Program source
\&
.\" SRC BEGIN (t_request_key.c)
@@ -535,20 +535,20 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR add_key (2),
-.BR keyctl (2),
-.BR keyctl (3),
-.BR capabilities (7),
-.BR keyrings (7),
-.BR keyutils (7),
-.BR persistent\-keyring (7),
-.BR process\-keyring (7),
-.BR session\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-keyring (7),
-.BR user\-session\-keyring (7),
-.BR request\-key (8)
+.MR keyctl 1 ,
+.MR add_key 2 ,
+.MR keyctl 2 ,
+.MR keyctl 3 ,
+.MR capabilities 7 ,
+.MR keyrings 7 ,
+.MR keyutils 7 ,
+.MR persistent\-keyring 7 ,
+.MR process\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-keyring 7 ,
+.MR user\-session\-keyring 7 ,
+.MR request\-key 8
.P
The kernel source files
.I Documentation/security/keys/core.rst
diff --git a/man2/restart_syscall.2 b/man2/restart_syscall.2
index c90bb3827..a958914e7 100644
--- a/man2/restart_syscall.2
+++ b/man2/restart_syscall.2
@@ -36,14 +36,14 @@ This system call is designed only for internal use by the kernel.
.BR restart_syscall ()
is used for restarting only those system calls that,
when restarted, should adjust their time-related parameters\[em]namely
-.BR poll (2)
+.MR poll 2
(since Linux 2.6.24),
-.BR nanosleep (2)
+.MR nanosleep 2
(since Linux 2.6),
-.BR clock_nanosleep (2)
+.MR clock_nanosleep 2
(since Linux 2.6),
and
-.BR futex (2),
+.MR futex 2 ,
when employed with the
.B FUTEX_WAIT
(since Linux 2.6.22)
@@ -101,10 +101,10 @@ the time that the process spent in the stop state is
.I not
counted against the timeout value.
Notable examples of system calls that suffer this problem are
-.BR ppoll (2),
-.BR select (2),
+.MR ppoll 2 ,
+.MR select 2 ,
and
-.BR pselect (2).
+.MR pselect 2 .
.P
From user space, the operation of
.BR restart_syscall ()
@@ -113,9 +113,9 @@ to the process that made the system call that is restarted,
it appears as though that system call executed and
returned in the usual fashion.
.SH SEE ALSO
-.BR sigaction (2),
-.BR sigreturn (2),
-.BR signal (7)
+.MR sigaction 2 ,
+.MR sigreturn 2 ,
+.MR signal 7
.\" FIXME . ppoll(2), select(2), and pselect(2)
.\" should probably get the restart_syscall() treatment:
.\" If a select() call is suspended by stop-sig+SIGCONT, the time
diff --git a/man2/rmdir.2 b/man2/rmdir.2
index b3ab4904d..b55df3ce3 100644
--- a/man2/rmdir.2
+++ b/man2/rmdir.2
@@ -36,7 +36,7 @@ was not allowed, or one of the directories in the path prefix of
.I pathname
did not allow search permission.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBUSY
.I pathname
@@ -118,11 +118,11 @@ POSIX.1-2001, SVr4, 4.3BSD.
Infelicities in the protocol underlying NFS can cause the unexpected
disappearance of directories which are still being used.
.SH SEE ALSO
-.BR rm (1),
-.BR rmdir (1),
-.BR chdir (2),
-.BR chmod (2),
-.BR mkdir (2),
-.BR rename (2),
-.BR unlink (2),
-.BR unlinkat (2)
+.MR rm 1 ,
+.MR rmdir 1 ,
+.MR chdir 2 ,
+.MR chmod 2 ,
+.MR mkdir 2 ,
+.MR rename 2 ,
+.MR unlink 2 ,
+.MR unlinkat 2
diff --git a/man2/rt_sigqueueinfo.2 b/man2/rt_sigqueueinfo.2
index 59d1d2cbe..bda1a3217 100644
--- a/man2/rt_sigqueueinfo.2
+++ b/man2/rt_sigqueueinfo.2
@@ -31,15 +31,15 @@ system calls are the low-level interfaces used to send a signal plus data
to a process or thread.
The receiver of the signal can obtain the accompanying data
by establishing a signal handler with the
-.BR sigaction (2)
+.MR sigaction 2
.B SA_SIGINFO
flag.
.P
These system calls are not intended for direct application use;
they are provided to allow the implementation of
-.BR sigqueue (3)
+.MR sigqueue 3
and
-.BR pthread_sigqueue (3).
+.MR pthread_sigqueue 3 .
.P
The
.BR rt_sigqueueinfo ()
@@ -59,7 +59,7 @@ argument specifies the data to accompany the signal.
This argument is a pointer to a structure of type
.IR siginfo_t ,
described in
-.BR sigaction (2)
+.MR sigaction 2
(and defined by including
.IR <sigaction.h> ).
The caller should set the following fields in this structure:
@@ -77,7 +77,7 @@ The code can't be a value greater than or equal to zero.
In particular, it can't be
.BR SI_USER ,
which is used by the kernel to indicate a signal sent by
-.BR kill (2),
+.MR kill 2 ,
and nor can it be
.BR SI_KERNEL ,
which is used to indicate a signal generated by the kernel.
@@ -86,7 +86,7 @@ The code can't (since Linux 2.6.39) be
.BR SI_TKILL ,
which is used by the kernel to indicate a signal sent using
.\" tkill(2) or
-.BR tgkill (2).
+.MR tgkill 2 .
.RE
.TP
.I si_pid
@@ -102,7 +102,7 @@ This field contains the user data to accompany the signal.
For more information, see the description of the last
.RI ( "union sigval" )
argument of
-.BR sigqueue (3).
+.MR sigqueue 3 .
.P
Internally, the kernel sets the
.I si_signo
@@ -132,7 +132,7 @@ is set to indicate the error.
.B EAGAIN
The limit of signals which may be queued has been reached.
(See
-.BR signal (7)
+.MR signal 7
for further information.)
.TP
.B EINVAL
@@ -145,7 +145,7 @@ was invalid.
.B EPERM
The caller does not have permission to send the signal to the target.
For the required permissions, see
-.BR kill (2).
+.MR kill 2 .
.TP
.B EPERM
.I tgid
@@ -177,19 +177,19 @@ Linux 2.6.31.
.SH NOTES
Since these system calls are not intended for application use,
there are no glibc wrapper functions; use
-.BR syscall (2)
+.MR syscall 2
in the unlikely case that you want to call them directly.
.P
As with
-.BR kill (2),
+.MR kill 2 ,
the null signal (0) can be used to check if the specified process
or thread exists.
.SH SEE ALSO
-.BR kill (2),
-.BR pidfd_send_signal (2),
-.BR sigaction (2),
-.BR sigprocmask (2),
-.BR tgkill (2),
-.BR pthread_sigqueue (3),
-.BR sigqueue (3),
-.BR signal (7)
+.MR kill 2 ,
+.MR pidfd_send_signal 2 ,
+.MR sigaction 2 ,
+.MR sigprocmask 2 ,
+.MR tgkill 2 ,
+.MR pthread_sigqueue 3 ,
+.MR sigqueue 3 ,
+.MR signal 7
diff --git a/man2/s390_guarded_storage.2 b/man2/s390_guarded_storage.2
index dd77e010c..befb1d75f 100644
--- a/man2/s390_guarded_storage.2
+++ b/man2/s390_guarded_storage.2
@@ -23,7 +23,7 @@ Standard C library
glibc provides no wrapper for
.BR s390_guarded_storage (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR s390_guarded_storage ()
@@ -159,4 +159,4 @@ header.
.\" the article with the description of its usage in the Java Garbage Collection
.\" .UE
.SH SEE ALSO
-.BR syscall (2)
+.MR syscall 2
diff --git a/man2/s390_pci_mmio_write.2 b/man2/s390_pci_mmio_write.2
index 00875f20a..d1eb4918a 100644
--- a/man2/s390_pci_mmio_write.2
+++ b/man2/s390_pci_mmio_write.2
@@ -25,7 +25,7 @@ size_t " length );
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR s390_pci_mmio_write ()
@@ -91,4 +91,4 @@ Linux on s390.
Linux 3.19.
System z EC12.
.SH SEE ALSO
-.BR syscall (2)
+.MR syscall 2
diff --git a/man2/s390_runtime_instr.2 b/man2/s390_runtime_instr.2
index cb52fd43d..1457ed551 100644
--- a/man2/s390_runtime_instr.2
+++ b/man2/s390_runtime_instr.2
@@ -22,7 +22,7 @@ Standard C library
glibc provides no wrapper for
.BR s390_runtime_instr (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR s390_runtime_instr ()
@@ -100,5 +100,5 @@ a valid real-time signal number in
.I signum
and install a handler for that signal.
.SH SEE ALSO
-.BR syscall (2),
-.BR signal (7)
+.MR syscall 2 ,
+.MR signal 7
diff --git a/man2/s390_sthyi.2 b/man2/s390_sthyi.2
index 9e0ebb0b7..cf28e7a56 100644
--- a/man2/s390_sthyi.2
+++ b/man2/s390_sthyi.2
@@ -24,7 +24,7 @@ Standard C library
glibc provides no wrapper for
.BR s390_sthyi (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR s390_sthyi ()
@@ -130,4 +130,4 @@ instruction definition.
The kernel caches the response (for up to one second, as of Linux 4.16).
Subsequent system call invocations may return the cached response.
.SH SEE ALSO
-.BR syscall (2)
+.MR syscall 2
diff --git a/man2/sched_get_priority_max.2 b/man2/sched_get_priority_max.2
index c94f11051..2eb0e92c1 100644
--- a/man2/sched_get_priority_max.2
+++ b/man2/sched_get_priority_max.2
@@ -40,7 +40,7 @@ values are
and
.BR SCHED_DEADLINE .
Further details about these policies can be found in
-.BR sched (7).
+.MR sched 7 .
.P
Processes with numerically higher priority values are scheduled before
processes with numerically lower priority values.
@@ -103,10 +103,10 @@ POSIX.1-2001.
.SH SEE ALSO
.ad l
.nh
-.BR sched_getaffinity (2),
-.BR sched_getparam (2),
-.BR sched_getscheduler (2),
-.BR sched_setaffinity (2),
-.BR sched_setparam (2),
-.BR sched_setscheduler (2),
-.BR sched (7)
+.MR sched_getaffinity 2 ,
+.MR sched_getparam 2 ,
+.MR sched_getscheduler 2 ,
+.MR sched_setaffinity 2 ,
+.MR sched_setparam 2 ,
+.MR sched_setscheduler 2 ,
+.MR sched 7
diff --git a/man2/sched_rr_get_interval.2 b/man2/sched_rr_get_interval.2
index 3b70285a9..7ebbd8a7f 100644
--- a/man2/sched_rr_get_interval.2
+++ b/man2/sched_rr_get_interval.2
@@ -22,7 +22,7 @@ Standard C library
.SH DESCRIPTION
.BR sched_rr_get_interval ()
writes into the
-.BR timespec (3)
+.MR timespec 3
structure pointed to by
.I tp
the round-robin time quantum for the process identified by
@@ -83,7 +83,7 @@ POSIX does not specify any mechanism for controlling the size of the
round-robin time quantum.
Older Linux kernels provide a (nonportable) method of doing this.
The quantum can be controlled by adjusting the process's nice value (see
-.BR setpriority (2)).
+.MR setpriority 2 ).
Assigning a negative (i.e., high) nice value results in a longer quantum;
assigning a positive (i.e., low) nice value results in a shorter quantum.
The default quantum is 0.1 seconds;
@@ -106,5 +106,5 @@ in
.\" ENOSYS, because SCHED_RR has not yet been fully implemented and tested
.\" properly.
.SH SEE ALSO
-.BR timespec (3),
-.BR sched (7)
+.MR timespec 3 ,
+.MR sched 7
diff --git a/man2/sched_setaffinity.2 b/man2/sched_setaffinity.2
index 7f87fabb1..aa083ffd0 100644
--- a/man2/sched_setaffinity.2
+++ b/man2/sched_setaffinity.2
@@ -49,7 +49,7 @@ A CPU affinity mask is represented by the
structure, a "CPU set", pointed to by
.IR mask .
A set of macros for manipulating CPU sets is described in
-.BR CPU_SET (3).
+.MR CPU_SET 3 .
.P
.BR sched_setaffinity ()
sets the CPU affinity mask of the thread whose ID is
@@ -112,7 +112,7 @@ and permitted to the thread according to any restrictions that
may be imposed by
.I cpuset
cgroups or the "cpuset" mechanism described in
-.BR cpuset (7).
+.MR cpuset 7 .
.TP
.B EINVAL
.RB ( sched_getaffinity ()
@@ -157,7 +157,7 @@ the intersection of the set specified in the
argument and the set of CPUs actually present on the system.
The system may further restrict the set of CPUs on which the thread
runs if the "cpuset" mechanism described in
-.BR cpuset (7)
+.MR cpuset 7
is being used.
These restrictions on the actual set of CPUs on which the thread
will run are silently imposed by the kernel.
@@ -166,7 +166,7 @@ There are various ways of determining the number of CPUs
available on the system, including: inspecting the contents of
.IR /proc/cpuinfo ;
using
-.BR sysconf (3)
+.MR sysconf 3
to obtain the values of the
.B _SC_NPROCESSORS_CONF
and
@@ -174,23 +174,23 @@ and
parameters; and inspecting the list of CPU directories under
.IR /sys/devices/system/cpu/ .
.P
-.BR sched (7)
+.MR sched 7
has a description of the Linux scheduling scheme.
.P
The affinity mask is a per-thread attribute that can be
adjusted independently for each of the threads in a thread group.
The value returned from a call to
-.BR gettid (2)
+.MR gettid 2
can be passed in the argument
.IR pid .
Specifying
.I pid
as 0 will set the attribute for the calling thread,
and passing the value returned from a call to
-.BR getpid (2)
+.MR getpid 2
will set the attribute for the main thread of the thread group.
(If you are using the POSIX threads API, then use
-.BR pthread_setaffinity_np (3)
+.MR pthread_setaffinity_np 3
instead of
.BR sched_setaffinity ().)
.P
@@ -202,7 +202,7 @@ Following the use of this boot option,
the only way to schedule processes onto the isolated CPUs is via
.BR sched_setaffinity ()
or the
-.BR cpuset (7)
+.MR cpuset 7
mechanism.
For further information, see the kernel source file
.IR Documentation/admin\-guide/kernel\-parameters.txt .
@@ -213,10 +213,10 @@ is the preferred mechanism of isolating CPUs
of all processes on the system).
.P
A child created via
-.BR fork (2)
+.MR fork 2
inherits its parent's CPU affinity mask.
The affinity mask is preserved across an
-.BR execve (2).
+.MR execve 2 .
.SS C library/kernel differences
This manual page describes the glibc interface for the CPU affinity calls.
The actual system call interface is slightly different, with the
@@ -270,7 +270,7 @@ When working on systems with large kernel CPU affinity masks,
one must dynamically allocate the
.I mask
argument (see
-.BR CPU_ALLOC (3)).
+.MR CPU_ALLOC 3 ).
Currently, the only way to do this is by probing for the size
of the required mask using
.BR sched_getaffinity ()
@@ -278,7 +278,7 @@ calls with increasing mask sizes (until the call does not fail with the error
.BR EINVAL ).
.P
Be aware that
-.BR CPU_ALLOC (3)
+.MR CPU_ALLOC 3
may allocate a slightly larger CPU set than requested
(because CPU sets are implemented as bit masks allocated in units of
.IR sizeof(long) ).
@@ -288,7 +288,7 @@ can set bits beyond the requested allocation size, because the kernel
sees a few additional bits.
Therefore, the caller should iterate over the bits in the returned set,
counting those which are set, and stop upon reaching the value returned by
-.BR CPU_COUNT (3)
+.MR CPU_COUNT 3
(rather than iterating over the number of bits
requested to be allocated).
.SH EXAMPLES
@@ -306,7 +306,7 @@ consumed when running the program will depend on intra-core caching effects
and whether the processes are using the same CPU.
.P
We first employ
-.BR lscpu (1)
+.MR lscpu 1
to determine that this (x86)
system has two cores, each with two CPUs:
.P
@@ -404,24 +404,24 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR lscpu (1),
-.BR nproc (1),
-.BR taskset (1),
-.BR clone (2),
-.BR getcpu (2),
-.BR getpriority (2),
-.BR gettid (2),
-.BR nice (2),
-.BR sched_get_priority_max (2),
-.BR sched_get_priority_min (2),
-.BR sched_getscheduler (2),
-.BR sched_setscheduler (2),
-.BR setpriority (2),
-.BR CPU_SET (3),
-.BR get_nprocs (3),
-.BR pthread_setaffinity_np (3),
-.BR sched_getcpu (3),
-.BR capabilities (7),
-.BR cpuset (7),
-.BR sched (7),
-.BR numactl (8)
+.MR lscpu 1 ,
+.MR nproc 1 ,
+.MR taskset 1 ,
+.MR clone 2 ,
+.MR getcpu 2 ,
+.MR getpriority 2 ,
+.MR gettid 2 ,
+.MR nice 2 ,
+.MR sched_get_priority_max 2 ,
+.MR sched_get_priority_min 2 ,
+.MR sched_getscheduler 2 ,
+.MR sched_setscheduler 2 ,
+.MR setpriority 2 ,
+.MR CPU_SET 3 ,
+.MR get_nprocs 3 ,
+.MR pthread_setaffinity_np 3 ,
+.MR sched_getcpu 3 ,
+.MR capabilities 7 ,
+.MR cpuset 7 ,
+.MR sched 7 ,
+.MR numactl 8
diff --git a/man2/sched_setattr.2 b/man2/sched_setattr.2
index 5d7061bd6..71df0495a 100644
--- a/man2/sched_setattr.2
+++ b/man2/sched_setattr.2
@@ -26,7 +26,7 @@ Standard C library
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.SS sched_setattr()
The
@@ -60,7 +60,7 @@ Various "real-time" policies are also supported,
for special time-critical applications that need precise control over
the way in which runnable threads are selected for execution.
For the rules governing when a process may use these policies, see
-.BR sched (7).
+.MR sched 7 .
The real-time policies that may be specified in
.I policy
are:
@@ -75,7 +75,7 @@ Linux also provides the following policy:
.TP 14
.B SCHED_DEADLINE
a deadline scheduling policy; see
-.BR sched (7)
+.MR sched 7
for details.
.P
The
@@ -147,10 +147,10 @@ that are ORed together to control scheduling behavior:
.TP
.B SCHED_FLAG_RESET_ON_FORK
Children created by
-.BR fork (2)
+.MR fork 2
do not inherit privileged scheduling policies.
See
-.BR sched (7)
+.MR sched 7
for details.
.TP
.BR SCHED_FLAG_RECLAIM " (since Linux 4.13)"
@@ -177,7 +177,7 @@ This
signal is
.I process-directed
(see
-.BR signal (7))
+.MR signal 7 )
rather than thread-directed.
This is probably a bug.
On the one hand,
@@ -197,7 +197,7 @@ or
.BR SCHED_BATCH .
The nice value is a number in the range \-20 (high priority)
to +19 (low priority); see
-.BR sched (7).
+.MR sched 7 .
.TP
.I sched_priority
This field specifies the static priority to be set when specifying
@@ -207,9 +207,9 @@ as
or
.BR SCHED_RR .
The allowed range of priorities for these policies can be determined using
-.BR sched_get_priority_min (2)
+.MR sched_get_priority_min 2
and
-.BR sched_get_priority_max (2).
+.MR sched_get_priority_max 2 .
For other policies, this field must be specified as 0.
.TP
.I sched_runtime
@@ -219,7 +219,7 @@ This field, and the next two fields,
are used only for
.B SCHED_DEADLINE
scheduling; for further details, see
-.BR sched (7).
+.MR sched 7 .
.TP
.I sched_deadline
This field specifies the "Deadline" parameter for deadline scheduling.
@@ -345,7 +345,7 @@ and one or more of the excess bytes is nonzero.
.B EBUSY
.B SCHED_DEADLINE
admission control failure, see
-.BR sched (7).
+.MR sched 7 .
.TP
.B EINVAL
.I attr.sched_policy
@@ -371,7 +371,7 @@ The CPU affinity mask of the thread specified by
.I pid
does not include all CPUs in the system
(see
-.BR sched_setaffinity (2)).
+.MR sched_setaffinity 2 ).
.SH STANDARDS
Linux.
.SH HISTORY
@@ -379,23 +379,23 @@ Linux 3.14.
.\" FIXME . Add glibc version
.SH NOTES
glibc does not provide wrappers for these system calls; call them using
-.BR syscall (2).
+.MR syscall 2 .
.P
.BR sched_setattr ()
provides a superset of the functionality of
-.BR sched_setscheduler (2),
-.BR sched_setparam (2),
-.BR nice (2),
+.MR sched_setscheduler 2 ,
+.MR sched_setparam 2 ,
+.MR nice 2 ,
and (other than the ability to set the priority of all processes
belonging to a specified user or all processes in a specified group)
-.BR setpriority (2).
+.MR setpriority 2 .
Analogously,
.BR sched_getattr ()
provides a superset of the functionality of
-.BR sched_getscheduler (2),
-.BR sched_getparam (2),
+.MR sched_getscheduler 2 ,
+.MR sched_getparam 2 ,
and (partially)
-.BR getpriority (2).
+.MR getpriority 2 .
.SH BUGS
In Linux versions up to
.\" FIXME . patch sent to Peter Zijlstra
@@ -425,23 +425,23 @@ passed by user space.
.SH SEE ALSO
.ad l
.nh
-.BR chrt (1),
-.BR nice (2),
-.BR sched_get_priority_max (2),
-.BR sched_get_priority_min (2),
-.BR sched_getaffinity (2),
-.BR sched_getparam (2),
-.BR sched_getscheduler (2),
-.BR sched_rr_get_interval (2),
-.BR sched_setaffinity (2),
-.BR sched_setparam (2),
-.BR sched_setscheduler (2),
-.BR sched_yield (2),
-.BR setpriority (2),
-.BR pthread_getschedparam (3),
-.BR pthread_setschedparam (3),
-.BR pthread_setschedprio (3),
-.BR capabilities (7),
-.BR cpuset (7),
-.BR sched (7)
+.MR chrt 1 ,
+.MR nice 2 ,
+.MR sched_get_priority_max 2 ,
+.MR sched_get_priority_min 2 ,
+.MR sched_getaffinity 2 ,
+.MR sched_getparam 2 ,
+.MR sched_getscheduler 2 ,
+.MR sched_rr_get_interval 2 ,
+.MR sched_setaffinity 2 ,
+.MR sched_setparam 2 ,
+.MR sched_setscheduler 2 ,
+.MR sched_yield 2 ,
+.MR setpriority 2 ,
+.MR pthread_getschedparam 3 ,
+.MR pthread_setschedparam 3 ,
+.MR pthread_setschedprio 3 ,
+.MR capabilities 7 ,
+.MR cpuset 7 ,
+.MR sched 7
.ad
diff --git a/man2/sched_setparam.2 b/man2/sched_setparam.2
index 20aff7aa1..08201bcc5 100644
--- a/man2/sched_setparam.2
+++ b/man2/sched_setparam.2
@@ -38,7 +38,7 @@ the argument \fIparam\fP depends on the scheduling
policy of the thread identified by
.IR pid .
See
-.BR sched (7)
+.MR sched 7
for a description of the scheduling policies supported under Linux.
.P
.BR sched_getparam ()
@@ -52,13 +52,13 @@ checks the validity of \fIparam\fP for the scheduling policy of the
thread.
The value \fIparam\->sched_priority\fP must lie within the
range given by
-.BR sched_get_priority_min (2)
+.MR sched_get_priority_min 2
and
-.BR sched_get_priority_max (2).
+.MR sched_get_priority_max 2 .
.P
For a discussion of the privileges and resource limits related to
scheduling priority and policy, see
-.BR sched (7).
+.MR sched 7 .
.P
POSIX systems on which
.BR sched_setparam ()
@@ -106,16 +106,16 @@ POSIX.1-2001.
.SH SEE ALSO
.ad l
.nh
-.BR getpriority (2),
-.BR gettid (2),
-.BR nice (2),
-.BR sched_get_priority_max (2),
-.BR sched_get_priority_min (2),
-.BR sched_getaffinity (2),
-.BR sched_getscheduler (2),
-.BR sched_setaffinity (2),
-.BR sched_setattr (2),
-.BR sched_setscheduler (2),
-.BR setpriority (2),
-.BR capabilities (7),
-.BR sched (7)
+.MR getpriority 2 ,
+.MR gettid 2 ,
+.MR nice 2 ,
+.MR sched_get_priority_max 2 ,
+.MR sched_get_priority_min 2 ,
+.MR sched_getaffinity 2 ,
+.MR sched_getscheduler 2 ,
+.MR sched_setaffinity 2 ,
+.MR sched_setattr 2 ,
+.MR sched_setscheduler 2 ,
+.MR setpriority 2 ,
+.MR capabilities 7 ,
+.MR sched 7
diff --git a/man2/sched_setscheduler.2 b/man2/sched_setscheduler.2
index b22dd76d5..517466bac 100644
--- a/man2/sched_setscheduler.2
+++ b/man2/sched_setscheduler.2
@@ -72,7 +72,7 @@ Various "real-time" policies are also supported,
for special time-critical applications that need precise control over
the way in which runnable threads are selected for execution.
For the rules governing when a process may use these policies, see
-.BR sched (7).
+.MR sched 7 .
The real-time policies that may be specified in
.I policy
are:
@@ -87,9 +87,9 @@ For each of the above policies,
.I param\->sched_priority
specifies a scheduling priority for the thread.
This is a number in the range returned by calling
-.BR sched_get_priority_min (2)
+.MR sched_get_priority_min 2
and
-.BR sched_get_priority_max (2)
+.MR sched_get_priority_max 2
with the specified
.IR policy .
On Linux, these system calls return, respectively, 1 and 99.
@@ -101,10 +101,10 @@ flag can be ORed in
when calling
.BR sched_setscheduler ().
As a result of including this flag, children created by
-.BR fork (2)
+.MR fork 2
do not inherit privileged scheduling policies.
See
-.BR sched (7)
+.MR sched 7
for details.
.P
.BR sched_getscheduler ()
@@ -159,20 +159,20 @@ match the real user ID or the save set-user-ID of the target.
The scheduling policy and parameters are in fact per-thread
attributes on Linux.
The value returned from a call to
-.BR gettid (2)
+.MR gettid 2
can be passed in the argument
.IR pid .
Specifying
.I pid
as 0 will operate on the attributes of the calling thread,
and passing the value returned from a call to
-.BR getpid (2)
+.MR getpid 2
will operate on the attributes of the main thread of the thread group.
(If you are using the POSIX threads API, then use
-.BR pthread_setschedparam (3),
-.BR pthread_getschedparam (3),
+.MR pthread_setschedparam 3 ,
+.MR pthread_getschedparam 3 ,
and
-.BR pthread_setschedprio (3),
+.MR pthread_setschedprio 3 ,
instead of the
.BR sched_* (2)
system calls.)
@@ -188,12 +188,12 @@ POSIX.1-2001.
.SH NOTES
Further details of the semantics of all of the above "normal"
and "real-time" scheduling policies can be found in the
-.BR sched (7)
+.MR sched 7
manual page.
That page also describes an additional policy,
.BR SCHED_DEADLINE ,
which is settable only via
-.BR sched_setattr (2).
+.MR sched_setattr 2 .
.P
POSIX systems on which
.BR sched_setscheduler ()
@@ -213,20 +213,20 @@ since it always returns 0 on success.
.SH SEE ALSO
.ad l
.nh
-.BR chrt (1),
-.BR nice (2),
-.BR sched_get_priority_max (2),
-.BR sched_get_priority_min (2),
-.BR sched_getaffinity (2),
-.BR sched_getattr (2),
-.BR sched_getparam (2),
-.BR sched_rr_get_interval (2),
-.BR sched_setaffinity (2),
-.BR sched_setattr (2),
-.BR sched_setparam (2),
-.BR sched_yield (2),
-.BR setpriority (2),
-.BR capabilities (7),
-.BR cpuset (7),
-.BR sched (7)
+.MR chrt 1 ,
+.MR nice 2 ,
+.MR sched_get_priority_max 2 ,
+.MR sched_get_priority_min 2 ,
+.MR sched_getaffinity 2 ,
+.MR sched_getattr 2 ,
+.MR sched_getparam 2 ,
+.MR sched_rr_get_interval 2 ,
+.MR sched_setaffinity 2 ,
+.MR sched_setattr 2 ,
+.MR sched_setparam 2 ,
+.MR sched_yield 2 ,
+.MR setpriority 2 ,
+.MR capabilities 7 ,
+.MR cpuset 7 ,
+.MR sched 7
.ad
diff --git a/man2/sched_yield.2 b/man2/sched_yield.2
index 4a926a747..3fdde88fc 100644
--- a/man2/sched_yield.2
+++ b/man2/sched_yield.2
@@ -73,4 +73,4 @@ schedulable threads are still held by the caller),
since doing so will result in unnecessary context switches,
which will degrade system performance.
.SH SEE ALSO
-.BR sched (7)
+.MR sched 7
diff --git a/man2/seccomp.2 b/man2/seccomp.2
index 25376c3bf..c356b0b32 100644
--- a/man2/seccomp.2
+++ b/man2/seccomp.2
@@ -32,7 +32,7 @@ Standard C library
glibc provides no wrapper for
.BR seccomp (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR seccomp ()
@@ -45,13 +45,13 @@ values:
.TP
.B SECCOMP_SET_MODE_STRICT
The only system calls that the calling thread is permitted to make are
-.BR read (2),
-.BR write (2),
-.BR _exit (2)
+.MR read 2 ,
+.MR write 2 ,
+.MR _exit 2
(but not
-.BR exit_group (2)),
+.MR exit_group 2 ),
and
-.BR sigreturn (2).
+.MR sigreturn 2 .
Other system calls result in the termination of the calling thread,
or termination of the entire process with the
.B SIGKILL
@@ -61,21 +61,21 @@ applications that may need to execute untrusted byte code, perhaps
obtained by reading from a pipe or socket.
.IP
Note that although the calling thread can no longer call
-.BR sigprocmask (2),
+.MR sigprocmask 2 ,
it can use
-.BR sigreturn (2)
+.MR sigreturn 2
to block all signals apart from
.B SIGKILL
and
.BR SIGSTOP .
This means that
-.BR alarm (2)
+.MR alarm 2
(for example) is not sufficient for restricting the process's execution time.
Instead, to reliably terminate the process,
.B SIGKILL
must be used.
This can be done by using
-.BR timer_create (2)
+.MR timer_create 2
with
.B SIGEV_SIGNAL
and
@@ -83,7 +83,7 @@ and
set to
.BR SIGKILL ,
or by using
-.BR setrlimit (2)
+.MR setrlimit 2
to set the hard limit for
.BR RLIMIT_CPU .
.IP
@@ -121,16 +121,16 @@ in
.IR errno .
.IP
If
-.BR fork (2)
+.MR fork 2
or
-.BR clone (2)
+.MR clone 2
is allowed by the filter, any child processes will be constrained to
the same system call filters as the parent.
If
-.BR execve (2)
+.MR execve 2
is allowed,
the existing filters will be preserved across a call to
-.BR execve (2).
+.MR execve 2 .
.IP
In order to use the
.B SECCOMP_SET_MODE_FILTER
@@ -157,10 +157,10 @@ in
This requirement ensures that an unprivileged process cannot apply
a malicious filter and then invoke a set-user-ID or
other privileged program using
-.BR execve (2),
+.MR execve 2 ,
thus potentially compromising that program.
(Such a malicious filter might, for example, cause an attempt to use
-.BR setuid (2)
+.MR setuid 2
to set the caller's user IDs to nonzero values to instead
return 0 without actually making the system call.
Thus, the program might be tricked into retaining superuser privileges
@@ -168,7 +168,7 @@ in circumstances where it is possible to influence it to do
dangerous things because it did not actually drop privileges.)
.IP
If
-.BR prctl (2)
+.MR prctl 2
or
.BR seccomp ()
is allowed by the attached filter, further filters may be added.
@@ -220,7 +220,7 @@ At most one seccomp filter using the
flag can be installed for a thread.
.IP
See
-.BR seccomp_unotify (2)
+.MR seccomp_unotify 2
for further details.
.TP
.BR SECCOMP_FILTER_FLAG_SPEC_ALLOW " (since Linux 4.17)"
@@ -282,7 +282,7 @@ struct seccomp_notif_sizes
.EE
.IP
See
-.BR seccomp_unotify (2)
+.MR seccomp_unotify 2
for further details.
.\"
.SS Filters
@@ -341,7 +341,7 @@ Because numbering of system calls varies between architectures and
some architectures (e.g., x86-64) allow user-space code to use
the calling conventions of multiple architectures
(and the convention being used may vary over the life of a process that uses
-.BR execve (2)
+.MR execve 2
to execute binaries that employ the different conventions),
it is usually necessary to verify the value of the
.I arch
@@ -406,7 +406,7 @@ For example,
== (101 |
.BR __X32_SYSCALL_BIT )
would result in invocations of
-.BR ptrace (2)
+.MR ptrace 2
with potentially confused x32-vs-x86_64 semantics in the kernel.
Policies intended to work on kernels before Linux 5.4 must ensure that they
deny or otherwise correctly handle these system calls.
@@ -425,9 +425,9 @@ This might be useful in conjunction with the use of
to perform checks based on which region (mapping) of the program
made the system call.
(Probably, it is wise to lock down the
-.BR mmap (2)
+.MR mmap 2
and
-.BR mprotect (2)
+.MR mprotect 2
system calls to prevent the program from subverting such checks.)
.P
When checking values from
@@ -492,7 +492,7 @@ below, all threads in the thread group are terminated.
(For a discussion of thread groups, see the description of the
.B CLONE_THREAD
flag in
-.BR clone (2).)
+.MR clone 2 .)
.IP
The process terminates
.I "as though"
@@ -503,7 +503,7 @@ Even if a signal handler has been registered for
.BR SIGSYS ,
the handler will be ignored in this case and the process always terminates.
To a parent process that is waiting on this process (using
-.BR waitpid (2)
+.MR waitpid 2
or similar), the returned
.I wstatus
will indicate that its child was terminated as though by a
@@ -535,7 +535,7 @@ any process terminated in this way would not trigger a coredump
(even though
.B SIGSYS
is documented in
-.BR signal (7)
+.MR signal 7
as having a default action of termination with a core dump).
Since Linux 4.11,
a single-threaded process will dump core if terminated in this way.
@@ -562,7 +562,7 @@ signal to the triggering thread.
Various fields will be set in the
.I siginfo_t
structure (see
-.BR sigaction (2))
+.MR sigaction 2 )
associated with signal:
.RS
.IP \[bu] 3
@@ -616,7 +616,7 @@ flag or because the file descriptor was closed), the filter returns
.B SECCOMP_RET_TRACE
and there is no tracer).
See
-.BR seccomp_unotify (2)
+.MR seccomp_unotify 2
for further details.
.IP
Note that the supervisor process will not be notified
@@ -625,7 +625,7 @@ if another filter returns an action value with a precedence greater than
.TP
.B SECCOMP_RET_TRACE
When returned, this value will cause the kernel to attempt to notify a
-.BR ptrace (2)-based
+.MR ptrace 2 -based
tracer prior to executing the system call.
If there is no tracer present,
the system call is not executed and returns a failure status with
@@ -660,7 +660,7 @@ notified.
(This means that, on older kernels, seccomp-based sandboxes
.B "must not"
allow use of
-.BR ptrace (2)\[em]even
+.MR ptrace 2 \[em]even
of other
sandboxed processes\[em]without extreme care;
ptracers can use this mechanism to escape from the seccomp sandbox.)
@@ -763,7 +763,8 @@ and the action appears in the
file, the action is logged.
.IP \[bu]
Otherwise, if kernel auditing is enabled and the process is being audited
-.RB ( autrace (8)),
+\%(\c
+.MR autrace 8 ),
the action is logged.
.IP \[bu]
Otherwise, the action is not logged.
@@ -777,9 +778,9 @@ was used,
the return value is the ID of the thread
that caused the synchronization failure.
(This ID is a kernel thread ID of the type returned by
-.BR clone (2)
+.MR clone 2
and
-.BR gettid (2).)
+.MR gettid 2 .)
On other errors, \-1 is returned, and
.I errno
is set to indicate the error.
@@ -877,17 +878,17 @@ The
field of the
.IR /proc/ pid /status
file provides a method of viewing the seccomp mode of a process; see
-.BR proc (5).
+.MR proc 5 .
.P
.BR seccomp ()
provides a superset of the functionality provided by the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_SECCOMP
operation (which does not support
.IR flags ).
.P
Since Linux 4.4, the
-.BR ptrace (2)
+.MR ptrace 2
.B PTRACE_SECCOMP_GET_FILTER
operation can be used to dump a process's seccomp filters.
.\"
@@ -921,17 +922,17 @@ There are various subtleties to consider when applying seccomp filters
to a program, including the following:
.IP \[bu] 3
Some traditional system calls have user-space implementations in the
-.BR vdso (7)
+.MR vdso 7
on many architectures.
Notable examples include
-.BR clock_gettime (2),
-.BR gettimeofday (2),
+.MR clock_gettime 2 ,
+.MR gettimeofday 2 ,
and
-.BR time (2).
+.MR time 2 .
On such architectures,
seccomp filtering for these system calls will have no effect.
(However, there are cases where the
-.BR vdso (7)
+.MR vdso 7
implementations may fall back to invoking the true system call,
in which case seccomp filters would see the system call.)
.IP \[bu]
@@ -945,13 +946,13 @@ Consequently, one must be aware of the following:
The glibc wrappers for some traditional system calls may actually
employ system calls with different names in the kernel.
For example, the
-.BR exit (2)
+.MR exit 2
wrapper function actually employs the
-.BR exit_group (2)
+.MR exit_group 2
system call, and the
-.BR fork (2)
+.MR fork 2
wrapper function actually calls
-.BR clone (2).
+.MR clone 2 .
.IP \[bu]
The behavior of wrapper functions may vary across architectures,
according to the range of system calls provided on those architectures.
@@ -960,10 +961,10 @@ different system calls on different architectures.
.IP \[bu]
Finally, the behavior of wrapper functions can change across glibc versions.
For example, in older versions, the glibc wrapper function for
-.BR open (2)
+.MR open 2
invoked the system call of the same name,
but starting in glibc 2.26, the implementation switched to calling
-.BR openat (2)
+.MR openat 2
on all architectures.
.RE
.P
@@ -1023,9 +1024,9 @@ being set to the specified error number.
The remaining command-line arguments specify
the pathname and additional arguments of a program
that the example program should attempt to execute using
-.BR execv (3)
+.MR execv 3
(a library function that employs the
-.BR execve (2)
+.MR execve 2
system call).
Some example runs of the program are shown below.
.P
@@ -1057,9 +1058,9 @@ EADDRNOTAVAIL 99 Cannot assign requested address
.in
.P
In the following example, we attempt to run the command
-.BR whoami (1),
+.MR whoami 1 ,
but the BPF filter rejects the
-.BR execve (2)
+.MR execve 2
system call, so that the command is not even executed:
.P
.in +4n
@@ -1076,9 +1077,9 @@ execv: Cannot assign requested address
.in
.P
In the next example, the BPF filter rejects the
-.BR write (2)
+.MR write 2
system call, so that, although it is successfully started, the
-.BR whoami (1)
+.MR whoami 1
command is not able to write output:
.P
.in +4n
@@ -1091,7 +1092,7 @@ $ \fB./a.out 1 0xC000003E 99 /bin/whoami\fP
.P
In the final example,
the BPF filter rejects a system call that is not used by the
-.BR whoami (1)
+.MR whoami 1
command, so it is able to successfully execute and produce output:
.P
.in +4n
@@ -1208,26 +1209,26 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR bpfc (1),
-.BR strace (1),
-.BR bpf (2),
-.BR prctl (2),
-.BR ptrace (2),
-.BR seccomp_unotify (2),
-.BR sigaction (2),
-.BR proc (5),
-.BR signal (7),
-.BR socket (7)
+.MR bpfc 1 ,
+.MR strace 1 ,
+.MR bpf 2 ,
+.MR prctl 2 ,
+.MR ptrace 2 ,
+.MR seccomp_unotify 2 ,
+.MR sigaction 2 ,
+.MR proc 5 ,
+.MR signal 7 ,
+.MR socket 7
.P
Various pages from the
.I libseccomp
library, including:
-.BR scmp_sys_resolver (1),
-.BR seccomp_export_bpf (3),
-.BR seccomp_init (3),
-.BR seccomp_load (3),
+.MR scmp_sys_resolver 1 ,
+.MR seccomp_export_bpf 3 ,
+.MR seccomp_init 3 ,
+.MR seccomp_load 3 ,
and
-.BR seccomp_rule_add (3).
+.MR seccomp_rule_add 3 .
.P
The kernel source files
.I Documentation/networking/filter.txt
diff --git a/man2/seccomp_unotify.2 b/man2/seccomp_unotify.2
index f11dabf3a..1de5601fe 100644
--- a/man2/seccomp_unotify.2
+++ b/man2/seccomp_unotify.2
@@ -37,9 +37,9 @@ flag, the
action value, and the
.B SECCOMP_GET_NOTIF_SIZES
operation described in
-.BR seccomp (2),
+.MR seccomp 2 ,
this mechanism involves the use of a number of related
-.BR ioctl (2)
+.MR ioctl 2
operations (described below).
.\"
.SS Overview
@@ -79,12 +79,12 @@ but with two differences:
.RS
.IP \[bu] 3
The
-.BR seccomp (2)
+.MR seccomp 2
.I flags
argument includes the flag
.BR SECCOMP_FILTER_FLAG_NEW_LISTENER .
Consequently, the return value of the (successful)
-.BR seccomp (2)
+.MR seccomp 2
call is a new "listening"
file descriptor that can be used to receive notifications.
Only one "listening" seccomp filter can be installed for a thread.
@@ -117,9 +117,9 @@ over a UNIX domain socket connection between the target and the supervisor
(using the
.B SCM_RIGHTS
ancillary message type described in
-.BR unix (7)).
+.MR unix 7 ).
Another way to do this is through the use of
-.BR pidfd_getfd (2).
+.MR pidfd_getfd 2 .
.\" Jann Horn:
.\" Instead of using unix domain sockets to send the fd to the
.\" parent, I think you could also use clone3() with
@@ -138,7 +138,7 @@ These events are returned as structures of type
Because this structure and its size may evolve over kernel versions,
the supervisor must first determine the size of this structure
using the
-.BR seccomp (2)
+.MR seccomp 2
.B SECCOMP_GET_NOTIF_SIZES
operation, which returns a structure of type
.IR seccomp_notif_sizes .
@@ -171,7 +171,7 @@ listening file descriptor for
events.
To do this, the supervisor uses the
.B SECCOMP_IOCTL_NOTIF_RECV
-.BR ioctl (2)
+.MR ioctl 2
operation to read information about a notification event;
this operation blocks until an event is available.
The operation returns a
@@ -180,10 +180,10 @@ structure containing information about the system call
that is being attempted by the target.
(As described in NOTES,
the file descriptor can also be monitored with
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7).)
+.MR epoll 7 .)
.\" FIXME
.\" Christian Brauner:
.\"
@@ -220,7 +220,7 @@ values of pointer arguments for the target's system call.
One way in which the supervisor can do this is to open the corresponding
.IR /proc/ tid /mem
file (see
-.BR proc (5))
+.MR proc 5 )
and read bytes from the location that corresponds to one of
the pointer arguments whose value is supplied in the notification event.
.\" Tycho Andersen mentioned that there are alternatives to /proc/PID/mem,
@@ -229,7 +229,7 @@ the pointer arguments whose value is supplied in the notification event.
a race condition that can occur when doing this;
see the description of the
.B SECCOMP_IOCTL_NOTIF_ID_VALID
-.BR ioctl (2)
+.MR ioctl 2
operation below.)
In addition,
the supervisor can access other system information that is visible
@@ -260,7 +260,7 @@ variable of the target.
.IP
The response is sent using the
.B SECCOMP_IOCTL_NOTIF_SEND
-.BR ioctl (2)
+.MR ioctl 2
operation, which is used to transmit a
.I seccomp_notif_resp
structure to the kernel.
@@ -294,13 +294,13 @@ below.
.\"
.SH IOCTL OPERATIONS
The following
-.BR ioctl (2)
+.MR ioctl 2
operations are supported by the seccomp user-space
notification file descriptor.
For each of these operations, the first (file descriptor) argument of
-.BR ioctl (2)
+.MR ioctl 2
is the listening file descriptor returned by a call to
-.BR seccomp (2)
+.MR seccomp 2
with the
.B SECCOMP_FILTER_FLAG_NEW_LISTENER
flag.
@@ -313,7 +313,7 @@ notification event.
If no such event is currently pending,
the operation blocks until an event occurs.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is a pointer to a structure of the following form
which contains information about the event.
This structure must be zeroed out before the call.
@@ -339,7 +339,7 @@ seccomp filter.
.IP \[bu] 3
The cookie can be used with the
.B SECCOMP_IOCTL_NOTIF_ID_VALID
-.BR ioctl (2)
+.MR ioctl 2
operation described below.
.IP \[bu]
When returning a notification response to the kernel,
@@ -365,7 +365,7 @@ structure containing information about the system call that
triggered the notification.
This is the same structure that is passed to the seccomp filter.
See
-.BR seccomp (2)
+.MR seccomp 2
for details of this structure.
.P
On success, this operation returns 0; on failure, \-1 is returned, and
@@ -425,7 +425,7 @@ operation is still valid
is still blocked waiting for a response).
.P
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is a pointer to the cookie
.RI ( id )
returned by the
@@ -452,7 +452,7 @@ Another thread or process is created on the system that by chance reuses the
TID that was freed when the target terminated.
.IP (4)
The supervisor
-.BR open (2)s
+.MR open 2 s
the
.IR /proc/ tid /mem
file for the TID obtained in step 1, with the intention of (say)
@@ -462,14 +462,14 @@ the system call that triggered the notification in step 1.
In the above scenario, the risk is that the supervisor may try
to access the memory of a process other than the target.
This race can be avoided by following the call to
-.BR open (2)
+.MR open 2
with a
.B SECCOMP_IOCTL_NOTIF_ID_VALID
operation to verify that the process that generated the notification
is still alive.
(Note that if the target terminates after the latter step,
a subsequent
-.BR read (2)
+.MR read 2
from the file descriptor may return 0, indicating end of file.)
.\" Jann Horn:
.\" the PID can be reused, but the /proc/$pid directory is
@@ -497,7 +497,7 @@ The
operation (available since Linux 5.0)
is used to send a notification response back to the kernel.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument of this structure is a pointer to a structure of the following form:
.P
.in +4n
@@ -652,7 +652,7 @@ into the target's file descriptor table.
Much like the use of
.B SCM_RIGHTS
messages described in
-.BR unix (7),
+.MR unix 7 ,
this operation is semantically equivalent to duplicating
a file descriptor from the supervisor's file descriptor table
into the target's file descriptor table.
@@ -660,16 +660,16 @@ into the target's file descriptor table.
The
.B SECCOMP_IOCTL_NOTIF_ADDFD
operation permits the supervisor to emulate a target system call (such as
-.BR socket (2)
+.MR socket 2
or
-.BR openat (2))
+.MR openat 2 )
that generates a file descriptor.
The supervisor can perform the system call that generates
the file descriptor (and associated open file description)
and then use this operation to allocate
a file descriptor that refers to the same open file description in the target.
(For an explanation of open file descriptions, see
-.BR open (2).)
+.MR open 2 .)
.P
Once this operation has been performed,
the supervisor can close its copy of the file descriptor.
@@ -688,7 +688,7 @@ and
of the target.
.P
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is a pointer to a structure of the following form:
.P
.in +4n
@@ -776,12 +776,12 @@ Set the close-on-exec flag on the received file descriptor.
.RE
.P
On success, this
-.BR ioctl (2)
+.MR ioctl 2
call returns the number of the file descriptor that was allocated
in the target.
Assuming that the emulated system call is one that returns
a file descriptor as its function result (e.g.,
-.BR socket (2)),
+.MR socket 2 ),
this value can be used as the return value
.RI ( resp.val )
that is supplied in the response that is subsequently sent with the
@@ -798,7 +798,7 @@ This operation can fail with the following errors:
Allocating the file descriptor in the target would cause the target's
.B RLIMIT_NOFILE
limit to be exceeded (see
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.B EBUSY
If the flag
@@ -842,7 +842,7 @@ or the target has terminated.
Here is some sample code (with error handling omitted) that uses the
.B SECCOMP_ADDFD_FLAG_SETFD
operation (here, to emulate a call to
-.BR openat (2)):
+.MR openat 2 ):
.P
.EX
.in +4n
@@ -879,10 +879,10 @@ the processes inside the container)
to mount block devices or create device nodes for the container.
The mount use case provides an example of where the
.B SECCOMP_USER_NOTIF_FLAG_CONTINUE
-.BR ioctl (2)
+.MR ioctl 2
operation is useful.
Upon receiving a notification for the
-.BR mount (2)
+.MR mount 2
system call, the container manager (the "supervisor") can distinguish
a request to mount a block filesystem
(which would not be possible for a "target" process inside the container)
@@ -890,28 +890,28 @@ and mount that file system.
If, on the other hand, the container manager detects that the operation
could be performed by the process inside the container
(e.g., a mount of a
-.BR tmpfs (5)
+.MR tmpfs 5
filesystem), it can notify the kernel that the target process's
-.BR mount (2)
+.MR mount 2
system call can continue.
.\"
.SS select()/poll()/epoll semantics
The file descriptor returned when
-.BR seccomp (2)
+.MR seccomp 2
is employed with the
.B SECCOMP_FILTER_FLAG_NEW_LISTENER
flag can be monitored using
-.BR poll (2),
-.BR epoll (7),
+.MR poll 2 ,
+.MR epoll 7 ,
and
-.BR select (2).
+.MR select 2 .
These interfaces indicate that the file descriptor is ready as follows:
.IP \[bu] 3
When a notification is pending,
these interfaces indicate that the file descriptor is readable.
Following such an indication, a subsequent
.B SECCOMP_IOCTL_NOTIF_RECV
-.BR ioctl (2)
+.MR ioctl 2
will not block, returning either information about a notification
or else failing with the error
.B EINTR
@@ -920,22 +920,22 @@ has been interrupted by a signal handler.
.IP \[bu]
After the notification has been received (i.e., by the
.B SECCOMP_IOCTL_NOTIF_RECV
-.BR ioctl (2)
+.MR ioctl 2
operation), these interfaces indicate that the file descriptor is writable,
meaning that a notification response can be sent using the
.B SECCOMP_IOCTL_NOTIF_SEND
-.BR ioctl (2)
+.MR ioctl 2
operation.
.IP \[bu]
After the last thread using the filter has terminated and been reaped using
-.BR waitpid (2)
+.MR waitpid 2
(or similar),
the file descriptor indicates an end-of-file condition (readable in
-.BR select (2);
+.MR select 2 ;
.BR POLLHUP / EPOLLHUP
in
-.BR poll (2)/
-.BR epoll_wait (2)).
+.MR poll 2 /
+.MR epoll_wait 2 ).
.SS Design goals; use of SECCOMP_USER_NOTIF_FLAG_CONTINUE
The intent of the user-space notification feature is
to allow system calls to be performed on behalf of the target.
@@ -959,13 +959,13 @@ rewriting the system call arguments.
.P
Note furthermore that a user-space notifier can be bypassed if
the existing filters allow the use of
-.BR seccomp (2)
+.MR seccomp 2
or
-.BR prctl (2)
+.MR prctl 2
to install a filter that returns an action value with a higher precedence than
.B SECCOMP_RET_USER_NOTIF
(see
-.BR seccomp (2)).
+.MR seccomp 2 ).
.P
It should thus be absolutely clear that the
seccomp user-space notification mechanism
@@ -983,7 +983,7 @@ the system call if its arguments are rewritten to something unsafe.
.SS Caveats regarding the use of \fI/proc/\fPtid\fI/mem\fP
The discussion above noted the need to use the
.B SECCOMP_IOCTL_NOTIF_ID_VALID
-.BR ioctl (2)
+.MR ioctl 2
when opening the
.IR /proc/ tid /mem
file of the target
@@ -991,19 +991,19 @@ to avoid the possibility of accessing the memory of the wrong process
in the event that the target terminates and its ID
is recycled by another (unrelated) thread.
However, the use of this
-.BR ioctl (2)
+.MR ioctl 2
operation is also necessary in other situations,
as explained in the following paragraphs.
.P
Consider the following scenario, where the supervisor
tries to read the pathname argument of a target's blocked
-.BR mount (2)
+.MR mount 2
system call:
.IP (1) 5
From one of its functions
.RI ( func() ),
the target calls
-.BR mount (2),
+.MR mount 2 ,
which triggers a user-space notification and causes the target to block.
.IP (2)
The supervisor receives the notification, opens
@@ -1013,7 +1013,7 @@ and (successfully) performs the
check.
.IP (3)
The target receives a signal, which causes the
-.BR mount (2)
+.MR mount 2
to abort.
.IP (4)
The signal handler executes in the target, and returns.
@@ -1029,7 +1029,7 @@ the supervisor reads from the target's memory location that used to
contain the pathname.
.IP (7)
The supervisor now calls
-.BR mount (2)
+.MR mount 2
with some arbitrary bytes obtained in the previous step.
.P
The conclusion from the above scenario is this:
@@ -1056,7 +1056,7 @@ be considered safe.
.\"
.SS Caveats regarding blocking system calls
Suppose that the target performs a blocking system call (e.g.,
-.BR accept (2))
+.MR accept 2 )
that the supervisor should handle.
The supervisor might then in turn execute the same blocking system call.
.P
@@ -1069,13 +1069,13 @@ If the supervisor does not take suitable steps to
actively discover that the target's system call has been canceled,
various difficulties can occur.
Taking the example of
-.BR accept (2),
+.MR accept 2 ,
the supervisor might remain blocked in its
-.BR accept (2)
+.MR accept 2
holding a port number that the target
(which, after the interruption by the signal handler,
perhaps closed its listening socket) might expect to be able to reuse in a
-.BR bind (2)
+.MR bind 2
call.
.P
Therefore, when the supervisor wishes to emulate a blocking system call,
@@ -1087,12 +1087,12 @@ that uses the
.B SECCOMP_IOCTL_NOTIF_ID_VALID
operation to check if the target is still blocked in its system call.
Alternatively, in the
-.BR accept (2)
+.MR accept 2
example, the supervisor might use
-.BR poll (2)
+.MR poll 2
to monitor both the notification file descriptor
(so as to discover when the target's
-.BR accept (2)
+.MR accept 2
call has been interrupted) and the listening file descriptor
(so as to know when a connection is available).
.P
@@ -1104,7 +1104,7 @@ that it acquired on behalf of the target.
Consider the following scenario:
.IP (1) 5
The target process has used
-.BR sigaction (2)
+.MR sigaction 2
to install a signal handler with the
.B SA_RESTART
flag.
@@ -1117,7 +1117,7 @@ A signal is delivered to the target and the signal handler is executed.
.IP (4)
When (if) the supervisor attempts to send a notification response, the
.B SECCOMP_IOCTL_NOTIF_SEND
-.BR ioctl (2))
+.MR ioctl 2 )
operation will fail with the
.B ENOENT
error.
@@ -1131,7 +1131,7 @@ the same instance of a system call in the target.
.P
One oddity is that system call restarting as described in this scenario
will occur even for the blocking system calls listed in
-.BR signal (7)
+.MR signal 7
that would
.B never
normally be restarted by the
@@ -1167,11 +1167,11 @@ making sure no file descriptors are inadvertently leaked into the target.
.SH BUGS
If a
.B SECCOMP_IOCTL_NOTIF_RECV
-.BR ioctl (2)
+.MR ioctl 2
operation
.\" or a poll/epoll/select
is performed after the target terminates, then the
-.BR ioctl (2)
+.MR ioctl 2
call simply blocks (rather than returning an error to indicate that the
target no longer exists).
.\" FIXME
@@ -1189,28 +1189,28 @@ The program creates a child process that serves as the "target" process.
The child process installs a seccomp filter that returns the
.B SECCOMP_RET_USER_NOTIF
action value if a call is made to
-.BR mkdir (2).
+.MR mkdir 2 .
The child process then calls
-.BR mkdir (2)
+.MR mkdir 2
once for each of the supplied command-line arguments,
and reports the result returned by the call.
After processing all arguments, the child process terminates.
.P
The parent process acts as the supervisor, listening for the notifications
that are generated when the target process calls
-.BR mkdir (2).
+.MR mkdir 2 .
When such a notification occurs,
the supervisor examines the memory of the target process (using
.IR /proc/ pid /mem )
to discover the pathname argument that was supplied to the
-.BR mkdir (2)
+.MR mkdir 2
call, and performs one of the following actions:
.IP \[bu] 3
If the pathname begins with the prefix "/tmp/",
then the supervisor attempts to create the specified directory,
and then spoofs a return for the target process based on the return
value of the supervisor's
-.BR mkdir (2)
+.MR mkdir 2
call.
In the event that that call succeeds,
the spoofed success return value is the length of the pathname.
@@ -1220,13 +1220,13 @@ the supervisor sends a
.B SECCOMP_USER_NOTIF_FLAG_CONTINUE
response to the kernel to say that the kernel should execute
the target process's
-.BR mkdir (2)
+.MR mkdir 2
call.
.IP \[bu]
If the pathname begins with some other prefix,
the supervisor spoofs an error return for the target process,
so that the target process's
-.BR mkdir (2)
+.MR mkdir 2
call appears to fail with the error
.B EOPNOTSUPP
("Operation not supported").
@@ -1245,7 +1245,7 @@ In the following example, the target attempts to create the directory
Upon receiving the notification, the supervisor creates the directory on the
target's behalf,
and spoofs a success return to be received by the target process's
-.BR mkdir (2)
+.MR mkdir 2
call.
.P
.in +4n
@@ -1269,7 +1269,7 @@ In the above output, note that the spoofed return value seen by the target
process is 6 (the length of the pathname
.IR /tmp/x ),
whereas a normal
-.BR mkdir (2)
+.MR mkdir 2
call returns 0 on success.
.P
In the next example, the target attempts to create a directory using the
@@ -1280,7 +1280,7 @@ the supervisor sends a
.B SECCOMP_USER_NOTIF_FLAG_CONTINUE
response to the kernel,
and the kernel then (successfully) executes the target process's
-.BR mkdir (2)
+.MR mkdir 2
call.
.P
.in +4n
@@ -1305,7 +1305,7 @@ a pathname that doesn't start with "." and doesn't begin with the prefix
.RB ( EOPNOTSUPP ,
"Operation not supported")
for the target's
-.BR mkdir (2)
+.MR mkdir 2
call (which is not executed):
.P
.in +4n
@@ -1329,13 +1329,13 @@ the target process attempts to create a directory with the pathname
.BR /tmp/nosuchdir/b .
Upon receiving the notification,
the supervisor attempts to create that directory, but the
-.BR mkdir (2)
+.MR mkdir 2
call fails because the directory
.B /tmp/nosuchdir
does not exist.
Consequently, the supervisor spoofs an error return that passes the error
that it received back to the target process's
-.BR mkdir (2)
+.MR mkdir 2
call.
.P
.in +4n
@@ -1357,12 +1357,12 @@ T: terminating
.P
If the supervisor receives a notification and sees that the
argument of the target's
-.BR mkdir (2)
+.MR mkdir 2
is the string "/bye", then (as well as spoofing an
.B EOPNOTSUPP
error), the supervisor terminates.
If the target process subsequently executes another
-.BR mkdir (2)
+.MR mkdir 2
that triggers its seccomp filter to return the
.B SECCOMP_RET_USER_NOTIF
action value, then the kernel causes the target process's system call to
@@ -2002,10 +2002,10 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR ioctl (2),
-.BR pidfd_getfd (2),
-.BR pidfd_open (2),
-.BR seccomp (2)
+.MR ioctl 2 ,
+.MR pidfd_getfd 2 ,
+.MR pidfd_open 2 ,
+.MR seccomp 2
.P
A further example program can be found in the kernel source file
.IR samples/seccomp/user-trap.c .
diff --git a/man2/select.2 b/man2/select.2
index bbf8ea9e0..460552108 100644
--- a/man2/select.2
+++ b/man2/select.2
@@ -49,7 +49,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pselect ():
@@ -64,9 +64,9 @@ can monitor only file descriptors numbers that are less than
(1024)\[em]an unreasonably low limit for many modern applications\[em]and
this limitation will not change.
All modern applications should instead use
-.BR poll (2)
+.MR poll 2
or
-.BR epoll (7),
+.MR epoll 7 ,
which do not suffer this limitation.
.P
.BR select ()
@@ -75,9 +75,9 @@ waiting until one or more of the file descriptors become "ready"
for some class of I/O operation (e.g., input possible).
A file descriptor is considered ready if it is possible to
perform a corresponding I/O operation (e.g.,
-.BR read (2),
+.MR read 2 ,
or a sufficiently small
-.BR write (2))
+.MR write 2 )
without blocking.
.\"
.SS fd_set
@@ -181,7 +181,7 @@ The file descriptors in this set are watched for "exceptional conditions".
For examples of some exceptional conditions, see the discussion of
.B POLLPRI
in
-.BR poll (2).
+.MR poll 2 .
.IP
After
.BR select ()
@@ -270,7 +270,7 @@ called with NULL
.P
.I sigmask
is a pointer to a signal mask (see
-.BR sigprocmask (2));
+.MR sigprocmask 2 );
if it is not NULL, then
.BR pselect ()
first replaces the current signal mask by the one pointed to by
@@ -349,7 +349,7 @@ struct timeval {
The corresponding argument for
.BR pselect ()
is a
-.BR timespec (3)
+.MR timespec 3
structure.
.P
On Linux,
@@ -404,14 +404,14 @@ However, see BUGS.
.TP
.B EINTR
A signal was caught; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.I nfds
is negative or exceeds the
.B RLIMIT_NOFILE
resource limit (see
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.B EINVAL
The value contained within
@@ -430,7 +430,7 @@ if the system fails to allocate kernel-internal resources, rather than
.B ENOMEM
as Linux does.
POSIX specifies this error for
-.BR poll (2),
+.MR poll 2 ,
but not for
.BR select ().
Portable programs may wish to check for
@@ -506,7 +506,7 @@ nonblocking I/O is used when reading from and writing to the pipe.)
.\"
.SS Emulating usleep(3)
Before the advent of
-.BR usleep (3),
+.MR usleep 3 ,
some code employed a call to
.BR select ()
with all three sets empty,
@@ -522,9 +522,9 @@ we find the following definitions which show the correspondence
between the readable, writable, and exceptional condition notifications of
.BR select ()
and the event notifications provided by
-.BR poll (2)
+.MR poll 2
and
-.BR epoll (7):
+.MR epoll 7 :
.P
.in +4n
.EX
@@ -609,7 +609,7 @@ a pointer to the signal set and its size,
while allowing for the fact that most architectures
support a maximum of 6 arguments to a system call.
See
-.BR sigprocmask (2)
+.MR sigprocmask 2
for a discussion of the difference between the kernel and libc
notion of the signal set.
.\"
@@ -641,17 +641,17 @@ defined as 1024, and the
.BR FD_* ()
macros operating according to that limit.
To monitor file descriptors greater than 1023, use
-.BR poll (2)
+.MR poll 2
or
-.BR epoll (7)
+.MR epoll 7
instead.
.P
The implementation of the
.I fd_set
arguments as value-result arguments is a design error that is avoided in
-.BR poll (2)
+.MR poll 2
and
-.BR epoll (7).
+.MR epoll 7 .
.P
According to POSIX,
.BR select ()
@@ -668,7 +668,7 @@ of the sets should result in the error
Starting with glibc 2.1, glibc provided an emulation of
.BR pselect ()
that was implemented using
-.BR sigprocmask (2)
+.MR sigprocmask 2
and
.BR select ().
This implementation remained vulnerable to the very race condition that
@@ -748,18 +748,18 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR accept (2),
-.BR connect (2),
-.BR poll (2),
-.BR read (2),
-.BR recv (2),
-.BR restart_syscall (2),
-.BR send (2),
-.BR sigprocmask (2),
-.BR write (2),
-.BR timespec (3),
-.BR epoll (7),
-.BR time (7)
+.MR accept 2 ,
+.MR connect 2 ,
+.MR poll 2 ,
+.MR read 2 ,
+.MR recv 2 ,
+.MR restart_syscall 2 ,
+.MR send 2 ,
+.MR sigprocmask 2 ,
+.MR write 2 ,
+.MR timespec 3 ,
+.MR epoll 7 ,
+.MR time 7
.P
For a tutorial with discussion and examples, see
-.BR select_tut (2).
+.MR select_tut 2 .
diff --git a/man2/select_tut.2 b/man2/select_tut.2
index 59c241973..1f6ea6242 100644
--- a/man2/select_tut.2
+++ b/man2/select_tut.2
@@ -17,7 +17,7 @@ Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
See
-.BR select (2)
+.MR select 2
.SH DESCRIPTION
The
.BR select ()
@@ -35,7 +35,7 @@ For details of the arguments and semantics of
and
.BR pselect (),
see
-.BR select (2).
+.MR select 2 .
.\"
.SS Combining signal and data events
.BR pselect ()
@@ -75,7 +75,7 @@ For instance, let us say that the event in question
was the exit of a child process.
Before the start of the main loop, we
would block \fBSIGCHLD\fP using
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
Our
.BR pselect ()
call would enable
@@ -151,9 +151,9 @@ UNIX programmers often find
themselves in a position where they have to handle I/O from more than one
file descriptor where the data flow may be intermittent.
If you were to merely create a sequence of
-.BR read (2)
+.MR read 2
and
-.BR write (2)
+.MR write 2
calls, you would
find that one of your calls may block waiting for data from/to a file
descriptor, while another file descriptor is unused though ready for I/O.
@@ -201,11 +201,11 @@ should be checked to see if they are ready.
.TP
5.
The functions
-.BR read (2),
-.BR recv (2),
-.BR write (2),
+.MR read 2 ,
+.MR recv 2 ,
+.MR write 2 ,
and
-.BR send (2)
+.MR send 2
do \fInot\fP necessarily read/write the full amount of data
that you have requested.
If they do read/write the full amount, it's
@@ -224,20 +224,20 @@ easily be made larger.
.TP
7.
Calls to
-.BR read (2),
-.BR recv (2),
-.BR write (2),
-.BR send (2),
+.MR read 2 ,
+.MR recv 2 ,
+.MR write 2 ,
+.MR send 2 ,
and
.BR select ()
can fail with the error
\fBEINTR\fP,
and calls to
-.BR read (2),
-.BR recv (2),
-.BR write (2),
+.MR read 2 ,
+.MR recv 2 ,
+.MR write 2 ,
and
-.BR send (2)
+.MR send 2
can fail with
.I errno
set to \fBEAGAIN\fP (\fBEWOULDBLOCK\fP).
@@ -250,20 +250,20 @@ you will not get \fBEAGAIN\fP.
.TP
8.
Never call
-.BR read (2),
-.BR recv (2),
-.BR write (2),
+.MR read 2 ,
+.MR recv 2 ,
+.MR write 2 ,
or
-.BR send (2)
+.MR send 2
with a buffer length of zero.
.TP
9.
If the functions
-.BR read (2),
-.BR recv (2),
-.BR write (2),
+.MR read 2 ,
+.MR recv 2 ,
+.MR write 2 ,
and
-.BR send (2)
+.MR send 2
fail with errors other than those listed in \fB7.\fP,
or one of the input functions returns 0, indicating end of file,
then you should \fInot\fP pass that file descriptor to
@@ -300,7 +300,7 @@ then the sets must be reinitialized before each call.
.\" (See further on.)
.SH RETURN VALUE
See
-.BR select (2).
+.MR select 2 .
.SH NOTES
Generally speaking,
all operating systems that support sockets also support
@@ -312,7 +312,7 @@ to solve in a more complicated manner using
threads, forking, IPCs, signals, memory sharing, and so on.
.P
The
-.BR poll (2)
+.MR poll 2
system call has the same functionality as
.BR select (),
and is somewhat more efficient when monitoring sparse
@@ -321,11 +321,11 @@ It is nowadays widely available, but historically was less portable than
.BR select ().
.P
The Linux-specific
-.BR epoll (7)
+.MR epoll 7
API provides an interface that is more efficient than
-.BR select (2)
+.MR select 2
and
-.BR poll (2)
+.MR poll 2
when monitoring large numbers of file descriptors.
.SH EXAMPLES
Here is an example that better demonstrates the true utility of
@@ -610,11 +610,11 @@ including OOB signal data transmitted by \fBtelnet\fP servers.
It handles the tricky problem of having data flow in both directions
simultaneously.
You might think it more efficient to use a
-.BR fork (2)
+.MR fork 2
call and devote a thread to each stream.
This becomes more tricky than you might suspect.
Another idea is to set nonblocking I/O using
-.BR fcntl (2).
+.MR fcntl 2 .
This also has its problems because you end up using
inefficient timeouts.
.P
@@ -624,15 +624,15 @@ of buffers\[em]one for each connection.
At the moment, new
connections cause the current connection to be dropped.
.SH SEE ALSO
-.BR accept (2),
-.BR connect (2),
-.BR poll (2),
-.BR read (2),
-.BR recv (2),
-.BR select (2),
-.BR send (2),
-.BR sigprocmask (2),
-.BR write (2),
-.BR epoll (7)
+.MR accept 2 ,
+.MR connect 2 ,
+.MR poll 2 ,
+.MR read 2 ,
+.MR recv 2 ,
+.MR select 2 ,
+.MR send 2 ,
+.MR sigprocmask 2 ,
+.MR write 2 ,
+.MR epoll 7
.\" .SH AUTHORS
.\" This man page was written by Paul Sheer.
diff --git a/man2/semctl.2 b/man2/semctl.2
index 2dcb63559..f42c2ac0d 100644
--- a/man2/semctl.2
+++ b/man2/semctl.2
@@ -89,7 +89,7 @@ set.
.TP
.I sem_otime
Time of last
-.BR semop (2)
+.MR semop 2
system call.
.TP
.I sem_ctime
@@ -192,7 +192,7 @@ is ignored.
.B IPC_RMID
Immediately remove the semaphore set,
awakening all processes blocked in
-.BR semop (2)
+.MR semop 2
calls on the set (with an error return and
.I errno
set to
@@ -249,7 +249,7 @@ and
settings can be changed via
.IR /proc/sys/kernel/sem ;
see
-.BR proc (5)
+.MR proc 5
for details.
.TP
.BR SEM_INFO " (Linux-specific)"
@@ -348,10 +348,10 @@ member of the
.I semid_ds
structure associated with the set.
Undo entries (see
-.BR semop (2))
+.MR semop 2 )
are cleared for altered semaphores in all processes.
If the changes to semaphore values would permit blocked
-.BR semop (2)
+.MR semop 2
calls in other processes to proceed, then those processes are woken up.
The argument
.I semnum
@@ -373,7 +373,7 @@ member of the
structure associated with the set.
Undo entries are cleared for altered semaphores in all processes.
If the changes to semaphore values would permit blocked
-.BR semop (2)
+.MR semop 2
calls in other processes to proceed, then those processes are woken up.
The calling process must have alter permission on the semaphore set.
.SH RETURN VALUE
@@ -521,7 +521,7 @@ POSIX.1 defines
.I sempid
as the "process ID of [the] last operation" on a semaphore,
and explicitly notes that this value is set by a successful
-.BR semop (2)
+.MR semop 2
call, with the implication that no other interface affects the
.I sempid
value.
@@ -542,7 +542,7 @@ operations, as well as the semaphore adjustments performed
on process termination as a consequence of the use of the
.B SEM_UNDO
flag (see
-.BR semop (2)).
+.MR semop 2 ).
.P
Linux also updates
.I sempid
@@ -593,7 +593,7 @@ The
and
.B SEM_INFO
operations are used by the
-.BR ipcs (1)
+.MR ipcs 1
program to provide information on allocated resources.
In the future these may modified or moved to a
.I /proc
@@ -613,11 +613,11 @@ For greater portability, it is best to always call
with four arguments.
.SH EXAMPLES
See
-.BR shmop (2).
+.MR shmop 2 .
.SH SEE ALSO
-.BR ipc (2),
-.BR semget (2),
-.BR semop (2),
-.BR capabilities (7),
-.BR sem_overview (7),
-.BR sysvipc (7)
+.MR ipc 2 ,
+.MR semget 2 ,
+.MR semop 2 ,
+.MR capabilities 7 ,
+.MR sem_overview 7 ,
+.MR sysvipc 7
diff --git a/man2/semget.2 b/man2/semget.2
index 167957b3a..cc63e8d3b 100644
--- a/man2/semget.2
+++ b/man2/semget.2
@@ -73,7 +73,7 @@ set to
(This is analogous to the effect of the combination
.B O_CREAT | O_EXCL
for
-.BR open (2).)
+.MR open 2 .)
.P
Upon creation, the least significant 9 bits of the argument
.I semflg
@@ -83,7 +83,7 @@ These bits have the same format, and the same
meaning, as the
.I mode
argument of
-.BR open (2)
+.MR open 2
(though the execute permissions are
not meaningful for semaphores, and write permissions mean permission
to alter semaphore values).
@@ -93,7 +93,7 @@ When creating a new semaphore set,
initializes the set's associated data structure,
.I semid_ds
(see
-.BR semctl (2)),
+.MR semctl 2 ),
as follows:
.IP \[bu] 3
.I sem_perm.cuid
@@ -227,7 +227,7 @@ it should explicitly initialize the semaphores to the desired values.
.\" implementation out there that does not.
.P
Initialization can be done using
-.BR semctl (2)
+.MR semctl 2
.B SETVAL
or
.B SETALL
@@ -236,7 +236,7 @@ Where multiple peers do not know who will be the first to
initialize the set, checking for a nonzero
.I sem_otime
in the associated data structure retrieved by a
-.BR semctl (2)
+.MR semctl 2
.B IPC_STAT
operation can be used to avoid races.
.\"
@@ -290,13 +290,13 @@ It generates the
for
.BR semget ()
using
-.BR ftok (3).
+.MR ftok 3 .
The first two command-line arguments are used as the
.I pathname
and
.I proj_id
arguments for
-.BR ftok (3).
+.MR ftok 3 .
The third command-line argument is an integer that specifies the
.I nsems
argument for
@@ -312,9 +312,9 @@ flags for the call to
The usage of this program is demonstrated below.
.P
We first create two files that will be used to generate keys using
-.BR ftok (3),
+.MR ftok 3 ,
create two semaphore sets using those files, and then list the sets using
-.BR ipcs (1):
+.MR ipcs 1 :
.P
.in +4n
.EX
@@ -333,11 +333,11 @@ key semid owner perms nsems
.in
.P
Next, we demonstrate that when
-.BR semctl (2)
+.MR semctl 2
is given the same
.I key
(as generated by the same arguments to
-.BR ftok (3)),
+.MR ftok 3 ),
it returns the ID of the already existing semaphore set:
.P
.in +4n
@@ -348,7 +348,7 @@ ID = 9
.in
.P
Finally, we demonstrate the kind of collision that can occur when
-.BR ftok (3)
+.MR ftok 3
is given different
.I pathname
arguments that have the same inode number:
@@ -426,9 +426,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR semctl (2),
-.BR semop (2),
-.BR ftok (3),
-.BR capabilities (7),
-.BR sem_overview (7),
-.BR sysvipc (7)
+.MR semctl 2 ,
+.MR semop 2 ,
+.MR ftok 3 ,
+.MR capabilities 7 ,
+.MR sem_overview 7 ,
+.MR sysvipc 7
diff --git a/man2/semop.2 b/man2/semop.2
index 92bfec80a..a68c45abe 100644
--- a/man2/semop.2
+++ b/man2/semop.2
@@ -29,7 +29,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR semtimedop ():
@@ -331,7 +331,7 @@ The semaphore set was removed.
.TP
.B EINTR
While blocked in this system call, the thread caught a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The semaphore set doesn't exist, or
@@ -366,9 +366,9 @@ POSIX.1-2001, SVr4.
The
.I sem_undo
structures of a process aren't inherited by the child produced by
-.BR fork (2),
+.MR fork 2 ,
but they are inherited across an
-.BR execve (2)
+.MR execve 2
system call.
.P
.BR semop ()
@@ -397,22 +397,22 @@ When a semaphore's value is directly set using the
or
.B SETALL
request to
-.BR semctl (2),
+.MR semctl 2 ,
the corresponding
.I semadj
values in all processes are cleared.
The
-.BR clone (2)
+.MR clone 2
.B CLONE_SYSVSEM
flag allows more than one process to share a
.I semadj
list; see
-.BR clone (2)
+.MR clone 2
for details.
.P
The \fIsemval\fP, \fIsempid\fP, \fIsemzcnt\fP, and \fIsemnct\fP values
for a semaphore can all be retrieved using appropriate
-.BR semctl (2)
+.MR semctl 2
calls.
.SS Semaphore limits
The following limits on semaphore set resources affect the
@@ -511,13 +511,13 @@ if (semop(semid, sops, 2) == \-1) {
A further example of the use of
.BR semop ()
can be found in
-.BR shmop (2).
+.MR shmop 2 .
.SH SEE ALSO
-.BR clone (2),
-.BR semctl (2),
-.BR semget (2),
-.BR sigaction (2),
-.BR capabilities (7),
-.BR sem_overview (7),
-.BR sysvipc (7),
-.BR time (7)
+.MR clone 2 ,
+.MR semctl 2 ,
+.MR semget 2 ,
+.MR sigaction 2 ,
+.MR capabilities 7 ,
+.MR sem_overview 7 ,
+.MR sysvipc 7 ,
+.MR time 7
diff --git a/man2/send.2 b/man2/send.2
index 88588148e..d45db0cec 100644
--- a/man2/send.2
+++ b/man2/send.2
@@ -43,7 +43,7 @@ state (so that the intended recipient is known).
The only difference between
.BR send ()
and
-.BR write (2)
+.MR write 2
is the presence of
.IR flags .
With a zero
@@ -51,7 +51,7 @@ With a zero
argument,
.BR send ()
is equivalent to
-.BR write (2).
+.MR write 2 .
Also, the following call
.P
.in +4n
@@ -135,7 +135,7 @@ or
.B EWOULDBLOCK
in this case.
The
-.BR select (2)
+.MR select 2
call may be used to determine when it is possible to send more data.
.SS The flags argument
The
@@ -155,7 +155,7 @@ and
.B SOCK_RAW
sockets and currently implemented only for IPv4 and IPv6.
See
-.BR arp (7)
+.MR arp 7
for details.
.TP
.B MSG_DONTROUTE
@@ -175,14 +175,14 @@ is returned.
This provides similar behavior to setting the
.B O_NONBLOCK
flag (via the
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETFL
operation), but differs in that
.B MSG_DONTWAIT
is a per-call option, whereas
.B O_NONBLOCK
is a setting on the open file description (see
-.BR open (2)),
+.MR open 2 ),
which will affect all threads in the calling process
and as well as other processes that hold file descriptors
referring to the same open file description.
@@ -197,7 +197,7 @@ This flag is used with TCP sockets to obtain the same effect
as the
.B TCP_CORK
socket option (see
-.BR tcp (7)),
+.MR tcp 7 ),
with the difference that this flag can be set on a per-call basis.
.IP
Since Linux 2.6, this flag is also supported for UDP sockets, and informs
@@ -207,7 +207,7 @@ that does not specify this flag.
(See also the
.B UDP_CORK
socket option described in
-.BR udp (7).)
+.MR udp 7 .)
.TP
.BR MSG_NOSIGNAL " (since Linux 2.2)"
Don't generate a
@@ -217,7 +217,7 @@ The
.B EPIPE
error is still returned.
This provides similar behavior to using
-.BR sigaction (2)
+.MR sigaction 2
to ignore
.BR SIGPIPE ,
but, whereas
@@ -239,11 +239,11 @@ data.
.BR MSG_FASTOPEN " (since Linux 3.7)"
Attempts TCP Fast Open (RFC7413) and sends data in the SYN like a
combination of
-.BR connect (2)
+.MR connect 2
and
-.BR write (2),
+.MR write 2 ,
by performing an implicit
-.BR connect (2)
+.MR connect 2
operation.
It blocks until the data is buffered and the handshake has completed.
For a non-blocking socket,
@@ -257,7 +257,7 @@ On errors,
it sets the same
.I errno
as
-.BR connect (2)
+.MR connect 2
if the handshake fails.
This flag requires enabling TCP Fast Open client support on sysctl
.IR net.ipv4.tcp_fastopen .
@@ -265,7 +265,7 @@ This flag requires enabling TCP Fast Open client support on sysctl
Refer to
.B TCP_FASTOPEN_CONNECT
socket option in
-.BR tcp (7)
+.MR tcp 7
for an alternative approach.
.SS sendmsg()
The definition of the
@@ -303,7 +303,7 @@ The
and
.I msg_iovlen
fields specify scatter-gather locations, as for
-.BR writev (2).
+.MR writev 2 .
.P
You may send control information (ancillary data) using the
.I msg_control
@@ -314,12 +314,12 @@ The maximum control buffer length the kernel can process is limited
per socket by the value in
.IR /proc/sys/net/core/optmem_max ;
see
-.BR socket (7).
+.MR socket 7 .
For further information on the use of ancillary data in various
socket domains, see
-.BR unix (7)
+.MR unix 7
and
-.BR ip (7).
+.MR ip 7 .
.P
The
.I msg_flags
@@ -344,7 +344,7 @@ Write permission is denied on the destination socket file,
or search permission is denied for one of the directories
the path prefix.
(See
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.IP
(For UDP sockets) An attempt was made to send to a
network/broadcast address as though it was a unicast address.
@@ -368,7 +368,7 @@ are currently in use.
See the discussion of
.I /proc/sys/net/ipv4/ip_local_port_range
in
-.BR ip (7).
+.MR ip 7 .
.TP
.B EALREADY
Another Fast Open is in progress.
@@ -388,7 +388,7 @@ An invalid user space address was specified for an argument.
.TP
.B EINTR
A signal occurred before any data was transmitted; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
Invalid argument passed.
@@ -474,7 +474,7 @@ POSIX.1-2008 adds a specification of
.BR MSG_NOSIGNAL .
.SH NOTES
See
-.BR sendmmsg (2)
+.MR sendmmsg 2
for information about a Linux-specific system call
that can be used to transmit multiple datagrams in a single call.
.SH BUGS
@@ -486,21 +486,21 @@ instead of
An example of the use of
.BR sendto ()
is shown in
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
.SH SEE ALSO
-.BR fcntl (2),
-.BR getsockopt (2),
-.BR recv (2),
-.BR select (2),
-.BR sendfile (2),
-.BR sendmmsg (2),
-.BR shutdown (2),
-.BR socket (2),
-.BR write (2),
-.BR cmsg (3),
-.BR ip (7),
-.BR ipv6 (7),
-.BR socket (7),
-.BR tcp (7),
-.BR udp (7),
-.BR unix (7)
+.MR fcntl 2 ,
+.MR getsockopt 2 ,
+.MR recv 2 ,
+.MR select 2 ,
+.MR sendfile 2 ,
+.MR sendmmsg 2 ,
+.MR shutdown 2 ,
+.MR socket 2 ,
+.MR write 2 ,
+.MR cmsg 3 ,
+.MR ip 7 ,
+.MR ipv6 7 ,
+.MR socket 7 ,
+.MR tcp 7 ,
+.MR udp 7 ,
+.MR unix 7
diff --git a/man2/sendfile.2 b/man2/sendfile.2
index a385949c1..660ced064 100644
--- a/man2/sendfile.2
+++ b/man2/sendfile.2
@@ -44,9 +44,9 @@ copies data between one file descriptor and another.
Because this copying is done within the kernel,
.BR sendfile ()
is more efficient than the combination of
-.BR read (2)
+.MR read 2
and
-.BR write (2),
+.MR write 2 ,
which would require transferring data to and from user space.
.P
.I in_fd
@@ -88,7 +88,7 @@ is the number of bytes to copy between the file descriptors.
The
.I in_fd
argument must correspond to a file which supports
-.BR mmap (2)-like
+.MR mmap 2 -like
operations
(i.e., it cannot be a socket).
Except since Linux 5.12
@@ -98,7 +98,7 @@ and if
is a pipe, in which case
.BR sendfile ()
desugars to a
-.BR splice (2)
+.MR splice 2
and its restrictions apply.
.P
Before Linux 2.6.33,
@@ -137,7 +137,7 @@ Bad address.
.TP
.B EINVAL
Descriptor is not valid or locked, or an
-.BR mmap (2)-like
+.MR mmap 2 -like
operation is not available for
.IR in_fd ,
or
@@ -210,13 +210,13 @@ to send some header data in front of the file contents, you will find
it useful to employ the
.B TCP_CORK
option, described in
-.BR tcp (7),
+.MR tcp 7 ,
to minimize the number of packets and to tune performance.
.P
Applications may wish to fall back to
-.BR read (2)
+.MR read 2
and
-.BR write (2)
+.MR write 2
in the case where
.BR sendfile ()
fails with
@@ -234,12 +234,12 @@ remain unmodified until the reader on the other end of
has consumed the transferred data.
.P
The Linux-specific
-.BR splice (2)
+.MR splice 2
call supports transferring data between arbitrary file descriptors
provided one (or both) of them is a pipe.
.SH SEE ALSO
-.BR copy_file_range (2),
-.BR mmap (2),
-.BR open (2),
-.BR socket (2),
-.BR splice (2)
+.MR copy_file_range 2 ,
+.MR mmap 2 ,
+.MR open 2 ,
+.MR socket 2 ,
+.MR splice 2
diff --git a/man2/sendmmsg.2 b/man2/sendmmsg.2
index bc541aae5..fdd5b6f3c 100644
--- a/man2/sendmmsg.2
+++ b/man2/sendmmsg.2
@@ -24,7 +24,7 @@ Standard C library
The
.BR sendmmsg ()
system call is an extension of
-.BR sendmsg (2)
+.MR sendmsg 2
that allows the caller to transmit multiple messages on a socket
using a single system call.
(This has performance benefits for some applications.)
@@ -63,20 +63,20 @@ The
field is a
.I msghdr
structure, as described in
-.BR sendmsg (2).
+.MR sendmsg 2 .
The
.I msg_len
field is used to return the number of bytes sent from the message in
.I msg_hdr
(i.e., the same as the return value from a single
-.BR sendmsg (2)
+.MR sendmsg 2
call).
.P
The
.I flags
argument contains flags ORed together.
The flags are the same as for
-.BR sendmsg (2).
+.MR sendmsg 2 .
.P
A blocking
.BR sendmmsg ()
@@ -115,7 +115,7 @@ On error, \-1 is returned, and
is set to indicate the error.
.SH ERRORS
Errors are as for
-.BR sendmsg (2).
+.MR sendmsg 2 .
An error is returned only if no datagrams could be sent.
See also BUGS.
.\" commit 728ffb86f10873aaf4abd26dde691ee40ae731fe
@@ -226,7 +226,7 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR recvmmsg (2),
-.BR sendmsg (2),
-.BR socket (2),
-.BR socket (7)
+.MR recvmmsg 2 ,
+.MR sendmsg 2 ,
+.MR socket 2 ,
+.MR socket 7
diff --git a/man2/set_mempolicy.2 b/man2/set_mempolicy.2
index fc3ad9df8..b53374401 100644
--- a/man2/set_mempolicy.2
+++ b/man2/set_mempolicy.2
@@ -40,15 +40,15 @@ This system call defines the default policy for the thread.
The thread policy governs allocation of pages in the process's
address space outside of memory ranges
controlled by a more specific policy set by
-.BR mbind (2).
+.MR mbind 2 .
The thread default policy also controls allocation of any pages for
memory-mapped files mapped using the
-.BR mmap (2)
+.MR mmap 2
call with the
.B MAP_PRIVATE
flag and that are only read (loaded) from by the thread
and of memory-mapped files mapped using the
-.BR mmap (2)
+.MR mmap 2
call with the
.B MAP_SHARED
flag, regardless of the access type.
@@ -236,11 +236,11 @@ The kernel will allocate memory from the "local node" whenever
it becomes allowed by the process's current cpuset context.
.P
The thread memory policy is preserved across an
-.BR execve (2),
+.MR execve 2 ,
and is inherited by child threads created using
-.BR fork (2)
+.MR fork 2
or
-.BR clone (2).
+.MR clone 2 .
.SH RETURN VALUE
On success,
.BR set_mempolicy ()
@@ -313,13 +313,13 @@ the thread or memory range that is in effect at the time the
page is allocated.
.P
For information on library support, see
-.BR numa (7).
+.MR numa 7 .
.SH SEE ALSO
-.BR get_mempolicy (2),
-.BR getcpu (2),
-.BR mbind (2),
-.BR mmap (2),
-.BR numa (3),
-.BR cpuset (7),
-.BR numa (7),
-.BR numactl (8)
+.MR get_mempolicy 2 ,
+.MR getcpu 2 ,
+.MR mbind 2 ,
+.MR mmap 2 ,
+.MR numa 3 ,
+.MR cpuset 7 ,
+.MR numa 7 ,
+.MR numactl 8
diff --git a/man2/set_thread_area.2 b/man2/set_thread_area.2
index feef67c4c..28f87e128 100644
--- a/man2/set_thread_area.2
+++ b/man2/set_thread_area.2
@@ -36,7 +36,7 @@ Standard C library
.IR Note :
glibc provides no wrappers for these system calls,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
These calls provide architecture-specific support for a thread-local storage
implementation.
@@ -176,15 +176,15 @@ Linux 2.5.32.
.SH NOTES
These system calls are generally intended for use only by threading libraries.
.P
-.BR arch_prctl (2)
+.MR arch_prctl 2
can interfere with
.BR set_thread_area ()
on x86.
See
-.BR arch_prctl (2)
+.MR arch_prctl 2
for more details.
This is not normally a problem, as
-.BR arch_prctl (2)
+.MR arch_prctl 2
is normally used only by 64-bit programs.
.P
On MIPS, the current value of the thread area pointer can be obtained
@@ -203,9 +203,9 @@ On 64-bit kernels before Linux 3.19,
one of the padding bits in
.IR user_desc ,
if set, would prevent the descriptor from being considered empty (see
-.BR modify_ldt (2)).
+.MR modify_ldt 2 ).
As a result, the only reliable way to clear a TLS entry is to use
-.BR memset (3)
+.MR memset 3
to zero the entire
.I user_desc
structure, including padding bits, and then to set the
@@ -223,7 +223,7 @@ behaved differently on older kernels.
Prior to Linux 3.19, the DS and ES segment registers must not reference
TLS entries.
.SH SEE ALSO
-.BR arch_prctl (2),
-.BR modify_ldt (2),
-.BR ptrace (2)
+.MR arch_prctl 2 ,
+.MR modify_ldt 2 ,
+.MR ptrace 2
.RB ( PTRACE_GET_THREAD_AREA " and " PTRACE_SET_THREAD_AREA )
diff --git a/man2/set_tid_address.2 b/man2/set_tid_address.2
index c60144913..77f9cce18 100644
--- a/man2/set_tid_address.2
+++ b/man2/set_tid_address.2
@@ -20,7 +20,7 @@ Standard C library
glibc provides no wrapper for
.BR set_tid_address (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
For each thread, the kernel maintains two attributes (addresses) called
.I set_child_tid
@@ -30,7 +30,7 @@ These two attributes contain the value NULL by default.
.TP
.I set_child_tid
If a thread is started using
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_CHILD_SETTID
flag,
@@ -46,7 +46,7 @@ is to write its thread ID at this address.
.TP
.I clear_child_tid
If a thread is started using
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_CHILD_CLEARTID
flag,
@@ -92,6 +92,6 @@ Linux 2.5.48.
.P
Details as given here are valid since Linux 2.5.49.
.SH SEE ALSO
-.BR clone (2),
-.BR futex (2),
-.BR gettid (2)
+.MR clone 2 ,
+.MR futex 2 ,
+.MR gettid 2
diff --git a/man2/seteuid.2 b/man2/seteuid.2
index 312ed1f9e..53619693a 100644
--- a/man2/seteuid.2
+++ b/man2/seteuid.2
@@ -22,7 +22,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR seteuid (),
@@ -117,18 +117,18 @@ On Linux,
and
.BR setegid ()
are implemented as library functions that call, respectively,
-.BR setreuid (2)
+.MR setreuid 2
and
-.BR setregid (2).
+.MR setregid 2 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
-.BR geteuid (2),
-.BR setresuid (2),
-.BR setreuid (2),
-.BR setuid (2),
-.BR capabilities (7),
-.BR credentials (7),
-.BR user_namespaces (7)
+.MR geteuid 2 ,
+.MR setresuid 2 ,
+.MR setreuid 2 ,
+.MR setuid 2 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR user_namespaces 7
diff --git a/man2/setfsgid.2 b/man2/setfsgid.2
index 3d02a65a8..72683798d 100644
--- a/man2/setfsgid.2
+++ b/man2/setfsgid.2
@@ -27,7 +27,7 @@ The (Linux-specific) filesystem group ID is used
for permissions checking when accessing filesystem objects,
while the effective group ID is used for some other kinds
of permissions checks (see
-.BR credentials (7)).
+.MR credentials 7 ).
.P
Normally, the value of the process's filesystem group ID
is the same as the value of its effective group ID.
@@ -69,9 +69,9 @@ The filesystem group ID concept and the
system call were invented for historical reasons that are
no longer applicable on modern Linux kernels.
See
-.BR setfsuid (2)
+.MR setfsuid 2
for a discussion of why the use of both
-.BR setfsuid (2)
+.MR setfsuid 2
and
.BR setfsgid ()
is nowadays unneeded.
@@ -103,7 +103,7 @@ should be returned when the call fails (because the caller lacks the
.B CAP_SETGID
capability).
.SH SEE ALSO
-.BR kill (2),
-.BR setfsuid (2),
-.BR capabilities (7),
-.BR credentials (7)
+.MR kill 2 ,
+.MR setfsuid 2 ,
+.MR capabilities 7 ,
+.MR credentials 7
diff --git a/man2/setfsuid.2 b/man2/setfsuid.2
index c6e75dafa..59c43fc9c 100644
--- a/man2/setfsuid.2
+++ b/man2/setfsuid.2
@@ -27,7 +27,7 @@ The (Linux-specific) filesystem user ID is used
for permissions checking when accessing filesystem objects,
while the effective user ID is used for various other kinds
of permissions checks (see
-.BR credentials (7)).
+.MR credentials 7 ).
.P
Normally, the value of the process's filesystem user ID
is the same as the value of its effective user ID.
@@ -43,7 +43,7 @@ to change its filesystem user ID to the value given in
Explicit calls to
.BR setfsuid ()
and
-.BR setfsgid (2)
+.MR setfsgid 2
are (were) usually used only by programs such as the Linux NFS server that
need to change what user and group ID is used for file access without a
corresponding change in the real and effective user and group IDs.
@@ -76,14 +76,14 @@ The filesystem user ID attribute was thus added to allow a process to
change its user ID for the purposes of file permission checking without
at the same time becoming vulnerable to receiving unwanted signals.
Since Linux 2.0, signal permission handling is different (see
-.BR kill (2)),
+.MR kill 2 ),
with the result that a process can change its effective user ID
without being vulnerable to receiving signals from unwanted processes.
Thus,
.BR setfsuid ()
is nowadays unneeded and should be avoided in new applications
(likewise for
-.BR setfsgid (2)).
+.MR setfsgid 2 ).
.P
The original Linux
.BR setfsuid ()
@@ -121,7 +121,7 @@ should be returned when the call fails (because the caller lacks the
.B CAP_SETUID
capability).
.SH SEE ALSO
-.BR kill (2),
-.BR setfsgid (2),
-.BR capabilities (7),
-.BR credentials (7)
+.MR kill 2 ,
+.MR setfsgid 2 ,
+.MR capabilities 7 ,
+.MR credentials 7
diff --git a/man2/setgid.2 b/man2/setgid.2
index 4ca3f1765..b1db7e2c3 100644
--- a/man2/setgid.2
+++ b/man2/setgid.2
@@ -68,7 +68,7 @@ employ a signal-based technique to ensure
that when one thread changes credentials,
all of the other threads in the process also change their credentials.
For details, see
-.BR nptl (7).
+.MR nptl 7 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -84,9 +84,9 @@ The glibc
.BR setgid ()
wrapper function transparently deals with the variation across kernel versions.
.SH SEE ALSO
-.BR getgid (2),
-.BR setegid (2),
-.BR setregid (2),
-.BR capabilities (7),
-.BR credentials (7),
-.BR user_namespaces (7)
+.MR getgid 2 ,
+.MR setegid 2 ,
+.MR setregid 2 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR user_namespaces 7
diff --git a/man2/setns.2 b/man2/setns.2
index 860ee7e10..947240554 100644
--- a/man2/setns.2
+++ b/man2/setns.2
@@ -29,7 +29,7 @@ a file descriptor referring to one of the magic links in a
directory (or a bind mount to such a link);
.IP \[bu]
a PID file descriptor (see
-.BR pidfd_open (2)).
+.MR pidfd_open 2 ).
.P
The
.I nstype
@@ -113,9 +113,9 @@ passed to the caller via a UNIX domain socket.)
Since Linux 5.8,
.I fd
may refer to a PID file descriptor obtained from
-.BR pidfd_open (2)
+.MR pidfd_open 2
or
-.BR clone (2).
+.MR clone 2 .
In this usage,
.BR setns ()
atomically moves the calling thread into one or more of the same namespaces
@@ -176,12 +176,12 @@ For security reasons,
a process can't join a new user namespace if it is sharing
filesystem-related attributes
(the attributes whose sharing is controlled by the
-.BR clone (2)
+.MR clone 2
.B CLONE_FS
flag) with another process.
.IP
For further details on user namespaces, see
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.TP
Mount namespaces
Changing the mount namespace requires that the caller possess both
@@ -195,13 +195,13 @@ in the user namespace that owns the target mount namespace.
A process can't join a new mount namespace if it is sharing
filesystem-related attributes
(the attributes whose sharing is controlled by the
-.BR clone (2)
+.MR clone 2
.B CLONE_FS
flag) with another process.
.\" Above check is in fs/namespace.c:mntns_install() [3.8 source]
.IP
See
-.BR user_namespaces (7)
+.MR user_namespaces 7
for details on the interaction of user namespaces and mount namespaces.
.TP
PID namespaces
@@ -223,7 +223,7 @@ PID namespace is a descendant (child, grandchild, etc.)
of, or is the same as, the current PID namespace of the caller.
.IP
For further details on PID namespaces, see
-.BR pid_namespaces (7).
+.MR pid_namespaces 7 .
.TP
Cgroup namespaces
In order to reassociate itself with a new cgroup namespace,
@@ -311,11 +311,11 @@ glibc 2.14.
For further information on the
.IR /proc/ pid /ns/
magic links, see
-.BR namespaces (7).
+.MR namespaces 7 .
.P
Not all of the attributes that can be shared when
a new thread is created using
-.BR clone (2)
+.MR clone 2
can be changed using
.BR setns ().
.SH EXAMPLES
@@ -334,12 +334,12 @@ The following shell session demonstrates the use of this program
in conjunction with the
.B CLONE_NEWUTS
example program in the
-.BR clone (2)
+.MR clone 2
man page (complied as a binary named
.IR newuts ).
.P
We begin by executing the example program in
-.BR clone (2)
+.MR clone 2
in the background.
That program creates a child in a separate UTS namespace.
The child changes the hostname in its namespace,
@@ -410,10 +410,10 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR nsenter (1),
-.BR clone (2),
-.BR fork (2),
-.BR unshare (2),
-.BR vfork (2),
-.BR namespaces (7),
-.BR unix (7)
+.MR nsenter 1 ,
+.MR clone 2 ,
+.MR fork 2 ,
+.MR unshare 2 ,
+.MR vfork 2 ,
+.MR namespaces 7 ,
+.MR unix 7
diff --git a/man2/setpgid.2 b/man2/setpgid.2
index d5f9bbd6b..7b0e39f72 100644
--- a/man2/setpgid.2
+++ b/man2/setpgid.2
@@ -39,7 +39,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getpgid ():
@@ -70,7 +70,7 @@ All of these interfaces are available on Linux,
and are used for getting and setting the
process group ID (PGID) of a process.
The preferred, POSIX.1-specified ways of doing this are:
-.BR getpgrp (void),
+.MR getpgrp void ,
for retrieving the calling process's PGID; and
.BR setpgid (),
for setting a process's PGID.
@@ -93,9 +93,9 @@ If
is used to move a process from one process
group to another (as is done by some shells when creating pipelines),
both process groups must be part of the same session (see
-.BR setsid (2)
+.MR setsid 2
and
-.BR credentials (7)).
+.MR credentials 7 ).
In this case,
the \fIpgid\fP specifies an existing process group to be joined and the
session ID of that group must match the session ID of the joining process.
@@ -195,7 +195,7 @@ is set to indicate the error.
An attempt was made to change the process group ID
of one of the children of the calling process and the child had
already performed an
-.BR execve (2)
+.MR execve 2
.RB ( setpgid (),
.BR setpgrp ()).
.TP
@@ -262,15 +262,15 @@ POSIX.1-2008 marks it as obsolete.
4.2BSD.
.SH NOTES
A child created via
-.BR fork (2)
+.MR fork 2
inherits its parent's process group ID.
The PGID is preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
Each process group is a member of a session and each process is a
member of the session of which its process group is a member.
(See
-.BR credentials (7).)
+.MR credentials 7 .)
.P
A session can have a controlling terminal.
At any time, one (and only one) of the process groups
@@ -282,20 +282,20 @@ interrupt key to generate
.BR SIGINT ),
that signal is sent to the foreground process group.
(See
-.BR termios (3)
+.MR termios 3
for a description of the characters that generate signals.)
Only the foreground process group may
-.BR read (2)
+.MR read 2
from the terminal;
if a background process group tries to
-.BR read (2)
+.MR read 2
from the terminal, then the group is sent a
.B SIGTTIN
signal, which suspends it.
The
-.BR tcgetpgrp (3)
+.MR tcgetpgrp 3
and
-.BR tcsetpgrp (3)
+.MR tcsetpgrp 3
functions are used to get/set the foreground
process group of the controlling terminal.
.P
@@ -304,7 +304,7 @@ The
and
.BR getpgrp ()
calls are used by programs such as
-.BR bash (1)
+.MR bash 1
to create process groups in order to implement shell job control.
.P
If the termination of a process causes a process group to become orphaned,
@@ -319,11 +319,11 @@ An orphaned process group is one in which the parent of
every member of process group is either itself also a member
of the process group or is a member of a process group
in a different session (see also
-.BR credentials (7)).
+.MR credentials 7 ).
.SH SEE ALSO
-.BR getuid (2),
-.BR setsid (2),
-.BR tcgetpgrp (3),
-.BR tcsetpgrp (3),
-.BR termios (3),
-.BR credentials (7)
+.MR getuid 2 ,
+.MR setsid 2 ,
+.MR tcgetpgrp 3 ,
+.MR tcsetpgrp 3 ,
+.MR termios 3 ,
+.MR credentials 7
diff --git a/man2/setresuid.2 b/man2/setresuid.2
index 5ee42b32d..06b03dc35 100644
--- a/man2/setresuid.2
+++ b/man2/setresuid.2
@@ -78,7 +78,7 @@ Since Linux 3.1, this error case no longer occurs
see the description of
.B EAGAIN
in
-.BR execve (2).
+.MR execve 2 .
.TP
.B EINVAL
One or more of the target user or group IDs
@@ -112,7 +112,7 @@ employ a signal-based technique to ensure
that when one thread changes credentials,
all of the other threads in the process also change their credentials.
For details, see
-.BR nptl (7).
+.MR nptl 7 .
.SH STANDARDS
None.
.SH HISTORY
@@ -136,12 +136,12 @@ and
.BR setresgid ()
wrapper functions transparently deal with the variations across kernel versions.
.SH SEE ALSO
-.BR getresuid (2),
-.BR getuid (2),
-.BR setfsgid (2),
-.BR setfsuid (2),
-.BR setreuid (2),
-.BR setuid (2),
-.BR capabilities (7),
-.BR credentials (7),
-.BR user_namespaces (7)
+.MR getresuid 2 ,
+.MR getuid 2 ,
+.MR setfsgid 2 ,
+.MR setfsuid 2 ,
+.MR setreuid 2 ,
+.MR setuid 2 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR user_namespaces 7
diff --git a/man2/setreuid.2 b/man2/setreuid.2
index 1ff0229a9..c792a9b2d 100644
--- a/man2/setreuid.2
+++ b/man2/setreuid.2
@@ -31,7 +31,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR setreuid (),
@@ -99,7 +99,7 @@ Since Linux 3.1, this error case no longer occurs
see the description of
.B EAGAIN
in
-.BR execve (2).
+.MR execve 2 .
.TP
.B EINVAL
One or more of the target user or group IDs
@@ -180,14 +180,14 @@ employ a signal-based technique to ensure
that when one thread changes credentials,
all of the other threads in the process also change their credentials.
For details, see
-.BR nptl (7).
+.MR nptl 7 .
.SH SEE ALSO
-.BR getgid (2),
-.BR getuid (2),
-.BR seteuid (2),
-.BR setgid (2),
-.BR setresuid (2),
-.BR setuid (2),
-.BR capabilities (7),
-.BR credentials (7),
-.BR user_namespaces (7)
+.MR getgid 2 ,
+.MR getuid 2 ,
+.MR seteuid 2 ,
+.MR setgid 2 ,
+.MR setresuid 2 ,
+.MR setuid 2 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR user_namespaces 7
diff --git a/man2/setsid.2 b/man2/setsid.2
index 3ee4e2a66..e0eb6aa8b 100644
--- a/man2/setsid.2
+++ b/man2/setsid.2
@@ -36,7 +36,7 @@ the new process group and in the new session.
.P
Initially, the new session has no controlling terminal.
For details of how a session acquires a controlling terminal, see
-.BR credentials (7).
+.MR credentials 7 .
.SH RETURN VALUE
On success, the (new) session ID of the calling process is returned.
On error,
@@ -57,10 +57,10 @@ POSIX.1-2008.
POSIX.1-2001, SVr4.
.SH NOTES
A child created via
-.BR fork (2)
+.MR fork 2
inherits its parent's session ID.
The session ID is preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
A process group leader is a process whose process group ID equals its PID.
Disallowing a process group leader from calling
@@ -73,9 +73,9 @@ two-level hierarchy of sessions and process groups.
In order to be sure that
.BR setsid ()
will succeed, call
-.BR fork (2)
+.MR fork 2
and have the parent
-.BR _exit (2),
+.MR _exit 2 ,
while the child (which by definition can't be a process group leader) calls
.BR setsid ().
.P
@@ -91,10 +91,10 @@ If a process that is a session leader terminates, then a
signal is sent to each process in the foreground
process group of the controlling terminal.
.SH SEE ALSO
-.BR setsid (1),
-.BR getsid (2),
-.BR setpgid (2),
-.BR setpgrp (2),
-.BR tcgetsid (3),
-.BR credentials (7),
-.BR sched (7)
+.MR setsid 1 ,
+.MR getsid 2 ,
+.MR setpgid 2 ,
+.MR setpgrp 2 ,
+.MR tcgetsid 3 ,
+.MR credentials 7 ,
+.MR sched 7
diff --git a/man2/setuid.2 b/man2/setuid.2
index 2c987c437..b914f1210 100644
--- a/man2/setuid.2
+++ b/man2/setuid.2
@@ -52,7 +52,7 @@ privileges, assume the identity of an unprivileged user, and then regain
root privileges afterward cannot use
.BR setuid ().
You can accomplish this with
-.BR seteuid (2).
+.MR seteuid 2 .
.SH RETURN VALUE
On success, zero is returned.
On error, \-1 is returned, and
@@ -87,7 +87,7 @@ Since Linux 3.1, this error case no longer occurs
see the description of
.B EAGAIN
in
-.BR execve (2).
+.MR execve 2 .
.TP
.B EINVAL
The user ID specified in
@@ -114,7 +114,7 @@ employ a signal-based technique to ensure
that when one thread changes credentials,
all of the other threads in the process also change their credentials.
For details, see
-.BR nptl (7).
+.MR nptl 7 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -140,17 +140,17 @@ The
.BR setuid ()
call also sets the filesystem user ID of the calling process.
See
-.BR setfsuid (2).
+.MR setfsuid 2 .
.P
If
.I uid
is different from the old effective UID, the process will
be forbidden from leaving core dumps.
.SH SEE ALSO
-.BR getuid (2),
-.BR seteuid (2),
-.BR setfsuid (2),
-.BR setreuid (2),
-.BR capabilities (7),
-.BR credentials (7),
-.BR user_namespaces (7)
+.MR getuid 2 ,
+.MR seteuid 2 ,
+.MR setfsuid 2 ,
+.MR setreuid 2 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR user_namespaces 7
diff --git a/man2/setxattr.2 b/man2/setxattr.2
index ebb4229f0..8125e449f 100644
--- a/man2/setxattr.2
+++ b/man2/setxattr.2
@@ -26,10 +26,10 @@ Extended attributes are
pairs associated with inodes (files, directories, symbolic links, etc.).
They are extensions to the normal attributes which are associated
with all inodes in the system (i.e., the
-.BR stat (2)
+.MR stat 2
data).
A complete overview of extended attributes concepts can be found in
-.BR xattr (7).
+.MR xattr 7 .
.P
.BR setxattr ()
sets the
@@ -57,7 +57,7 @@ is identical to
only the extended attribute is set on the open file referred to by
.I fd
(as returned by
-.BR open (2))
+.MR open 2 )
in place of
.IR path .
.P
@@ -124,10 +124,10 @@ Extended attributes are not supported by the filesystem, or are disabled,
.B EPERM
The file is marked immutable or append-only.
(See
-.BR ioctl_iflags (2).)
+.MR ioctl_iflags 2 .)
.P
In addition, the errors documented in
-.BR stat (2)
+.MR stat 2
can also occur.
.TP
.B ERANGE
@@ -148,12 +148,12 @@ glibc 2.3.
.\" .RI < linux-xfs@oss.sgi.com >.
.\" Please send any bug reports or comments to these addresses.
.SH SEE ALSO
-.BR getfattr (1),
-.BR setfattr (1),
-.BR getxattr (2),
-.BR listxattr (2),
-.BR open (2),
-.BR removexattr (2),
-.BR stat (2),
-.BR symlink (7),
-.BR xattr (7)
+.MR getfattr 1 ,
+.MR setfattr 1 ,
+.MR getxattr 2 ,
+.MR listxattr 2 ,
+.MR open 2 ,
+.MR removexattr 2 ,
+.MR stat 2 ,
+.MR symlink 7 ,
+.MR xattr 7
diff --git a/man2/sgetmask.2 b/man2/sgetmask.2
index 9cf17b8d4..ab3029397 100644
--- a/man2/sgetmask.2
+++ b/man2/sgetmask.2
@@ -20,7 +20,7 @@ Standard C library
These system calls are obsolete.
.IR "Do not use them" ;
use
-.BR sigprocmask (2)
+.MR sigprocmask 2
instead.
.P
.BR sgetmask ()
@@ -35,9 +35,9 @@ The signal masks dealt with by these two system calls
are plain bit masks (unlike the
.I sigset_t
used by
-.BR sigprocmask (2));
+.MR sigprocmask 2 );
use
-.BR sigmask (3)
+.MR sigmask 3
to create and inspect these masks.
.SH RETURN VALUE
.BR sgetmask ()
@@ -66,5 +66,5 @@ It is not possible to block
or
.BR SIGKILL .
.SH SEE ALSO
-.BR sigprocmask (2),
-.BR signal (7)
+.MR sigprocmask 2 ,
+.MR signal 7
diff --git a/man2/shmctl.2 b/man2/shmctl.2
index d13240647..06ee35d14 100644
--- a/man2/shmctl.2
+++ b/man2/shmctl.2
@@ -80,12 +80,12 @@ Size in bytes of the shared memory segment.
.TP
.I shm_atime
Time of the last
-.BR shmat (2)
+.MR shmat 2
system call that attached this segment.
.TP
.I shm_dtime
Time of the last
-.BR shmdt (2)
+.MR shmdt 2
system call that detached tgis segment.
.TP
.I shm_ctime
@@ -99,9 +99,9 @@ ID of the process that created the shared memory segment.
.TP
.I shm_lpid
ID of the last process that executed a
-.BR shmat (2)
+.MR shmat 2
or
-.BR shmdt (2)
+.MR shmdt 2
system call on this segment.
.TP
.I shm_nattch
@@ -147,7 +147,7 @@ l l.
Bits 0100, 0010, and 0001 (the execute bits) are unused by the system.
(It is not necessary to have execute permission on a segment
in order to perform a
-.BR shmat (2)
+.MR shmat 2
call with the
.B SHM_EXEC
flag.)
@@ -212,7 +212,7 @@ otherwise its pages that were faulted in will remain in memory or swap.
See also the description of
.I /proc/sys/kernel/shm_rmid_forced
in
-.BR proc (5).
+.MR proc 5 .
.TP
.BR IPC_INFO " (Linux-specific)"
Return information about system-wide shared memory limits and
@@ -251,7 +251,7 @@ and
settings can be changed via
.I /proc
files of the same name; see
-.BR proc (5)
+.MR proc 5
for details.
.TP
.BR SHM_INFO " (Linux-specific)"
@@ -338,7 +338,7 @@ if its effective UID matches the owner or creator UID of the segment, and
the amount of memory to be locked falls within the
.B RLIMIT_MEMLOCK
resource limit (see
-.BR setrlimit (2)).
+.MR setrlimit 2 ).
.\" There was some weirdness in Linux 2.6.9: SHM_LOCK and SHM_UNLOCK could
.\" be applied to a segment, regardless of ownership of the segment.
.\" This was a botch-up in the move to RLIMIT_MEMLOCK, and was fixed
@@ -411,7 +411,7 @@ the limit for the real user ID of the calling process.
This limit is defined by the
.B RLIMIT_MEMLOCK
soft resource limit (see
-.BR setrlimit (2)).
+.MR setrlimit 2 ).
.TP
.B EOVERFLOW
\fBIPC_STAT\fP is attempted, and the GID or UID value
@@ -443,7 +443,8 @@ capability).
is 0 and the caller is not privileged.)
.SH VERSIONS
Linux permits a process to attach
-.RB ( shmat (2))
+\%(\c
+.MR shmat 2 )
a shared memory segment that has already been marked for deletion
using
.IR shmctl(IPC_RMID) .
@@ -476,15 +477,15 @@ The
and
.B SHM_INFO
operations are used by the
-.BR ipcs (1)
+.MR ipcs 1
program to provide information on allocated resources.
In the future, these may modified or moved to a
.I /proc
filesystem interface.
.SH SEE ALSO
-.BR mlock (2),
-.BR setrlimit (2),
-.BR shmget (2),
-.BR shmop (2),
-.BR capabilities (7),
-.BR sysvipc (7)
+.MR mlock 2 ,
+.MR setrlimit 2 ,
+.MR shmget 2 ,
+.MR shmop 2 ,
+.MR capabilities 7 ,
+.MR sysvipc 7
diff --git a/man2/shmget.2 b/man2/shmget.2
index 96c2e6108..5b636e520 100644
--- a/man2/shmget.2
+++ b/man2/shmget.2
@@ -77,7 +77,7 @@ set to
(This is analogous to the effect of the combination
.B O_CREAT | O_EXCL
for
-.BR open (2).)
+.MR open 2 .)
.P
The value
.I shmflg
@@ -125,11 +125,11 @@ Thus, the above two constants are defined as:
.IP
For some additional details,
see the discussion of the similarly named constants in
-.BR mmap (2).
+.MR mmap 2 .
.TP
.BR SHM_NORESERVE " (since Linux 2.6.15)"
This flag serves the same purpose as the
-.BR mmap (2)
+.MR mmap 2
.B MAP_NORESERVE
flag.
Do not reserve swap space for this segment.
@@ -142,7 +142,7 @@ if no physical memory is available.
See also the discussion of the file
.I /proc/sys/vm/overcommit_memory
in
-.BR proc (5).
+.MR proc 5 .
.\" As at 2.6.17-rc2, this flag has no effect if SHM_HUGETLB was also
.\" specified.
.P
@@ -153,7 +153,7 @@ These bits have the same format, and the same
meaning, as the
.I mode
argument of
-.BR open (2).
+.MR open 2 .
Presently, execute permissions are not used by the system.
.P
When a new shared memory segment is created,
@@ -161,7 +161,7 @@ its contents are initialized to zero values, and
its associated data structure,
.I shmid_ds
(see
-.BR shmctl (2)),
+.MR shmctl 2 ),
is initialized as follows:
.IP \[bu] 3
.I shm_perm.cuid
@@ -262,7 +262,7 @@ and is not a member of the
group; see the description of
.I /proc/sys/vm/sysctl_hugetlb_shm_group
in
-.BR proc (5).
+.MR proc 5 .
.SH STANDARDS
POSIX.1-2008.
.P
@@ -400,13 +400,13 @@ was perhaps unfortunate,
would more clearly show its function.
.SH EXAMPLES
See
-.BR shmop (2).
+.MR shmop 2 .
.SH SEE ALSO
-.BR memfd_create (2),
-.BR shmat (2),
-.BR shmctl (2),
-.BR shmdt (2),
-.BR ftok (3),
-.BR capabilities (7),
-.BR shm_overview (7),
-.BR sysvipc (7)
+.MR memfd_create 2 ,
+.MR shmat 2 ,
+.MR shmctl 2 ,
+.MR shmdt 2 ,
+.MR ftok 3 ,
+.MR capabilities 7 ,
+.MR shm_overview 7 ,
+.MR sysvipc 7
diff --git a/man2/shmop.2 b/man2/shmop.2
index f67595552..f8da02f60 100644
--- a/man2/shmop.2
+++ b/man2/shmop.2
@@ -95,7 +95,7 @@ In this case,
must not be NULL.
.P
The
-.BR brk (2)
+.MR brk 2
value of the calling process is not altered by the attach.
The segment will automatically be detached at process exit.
The same segment may be attached as a read and as a read-write
@@ -106,7 +106,7 @@ A successful
call updates the members of the
.I shmid_ds
structure (see
-.BR shmctl (2))
+.MR shmctl 2 )
associated with the shared memory segment as follows:
.IP \[bu] 3
.I shm_atime
@@ -219,15 +219,15 @@ into
.IR "void\ *" .
.SH NOTES
After a
-.BR fork (2),
+.MR fork 2 ,
the child inherits the attached shared memory segments.
.P
After an
-.BR execve (2),
+.MR execve 2 ,
all attached shared memory segments are detached from the process.
.P
Upon
-.BR _exit (2),
+.MR _exit 2 ,
all attached shared memory segments are detached from the process.
.P
Using
@@ -498,10 +498,10 @@ main(int argc, char *argv[])
.\" SRC END
.in
.SH SEE ALSO
-.BR brk (2),
-.BR mmap (2),
-.BR shmctl (2),
-.BR shmget (2),
-.BR capabilities (7),
-.BR shm_overview (7),
-.BR sysvipc (7)
+.MR brk 2 ,
+.MR mmap 2 ,
+.MR shmctl 2 ,
+.MR shmget 2 ,
+.MR capabilities 7 ,
+.MR shm_overview 7 ,
+.MR sysvipc 7
diff --git a/man2/shutdown.2 b/man2/shutdown.2
index d15566fb5..5a9c76f0a 100644
--- a/man2/shutdown.2
+++ b/man2/shutdown.2
@@ -92,7 +92,7 @@ This problem was fixed for UNIX domain sockets
.\" and for DECnet sockets in commit 46b66d7077b89fb4917ceef19b3f7dd86055c94a
in Linux 3.7.
.SH SEE ALSO
-.BR close (2),
-.BR connect (2),
-.BR socket (2),
-.BR socket (7)
+.MR close 2 ,
+.MR connect 2 ,
+.MR socket 2 ,
+.MR socket 7
diff --git a/man2/sigaction.2 b/man2/sigaction.2
index 0bbc44bd5..75b14ba07 100644
--- a/man2/sigaction.2
+++ b/man2/sigaction.2
@@ -42,7 +42,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigaction ():
@@ -60,7 +60,7 @@ The
system call is used to change the action taken by a process on
receipt of a specific signal.
(See
-.BR signal (7)
+.MR signal 7
for an overview of signals.)
.P
.I signum
@@ -108,7 +108,7 @@ field is not intended for application use.
.I sa_restorer
field.)
Some further details of the purpose of this field can be found in
-.BR sigreturn (2).
+.MR sigreturn 2 .
.P
.I sa_handler
specifies the action to be associated with
@@ -163,7 +163,7 @@ or
or resume (i.e., they receive
.BR SIGCONT )
(see
-.BR wait (2)).
+.MR wait 2 ).
This flag is meaningful only when establishing a handler for
.BR SIGCHLD .
.TP
@@ -175,7 +175,7 @@ is
.BR SIGCHLD ,
do not transform children into zombies when they terminate.
See also
-.BR waitpid (2).
+.MR waitpid 2 .
This flag is meaningful only when establishing a handler for
.BR SIGCHLD ,
or when setting that signal's disposition to
@@ -206,7 +206,7 @@ is an obsolete, nonstandard synonym for this flag.
.TP
.B SA_ONSTACK
Call the signal handler on an alternate signal stack provided by
-.BR sigaltstack (2).
+.MR sigaltstack 2 .
If an alternate stack is not available, the default stack will be used.
This flag is meaningful only when establishing a signal handler.
.TP
@@ -222,7 +222,7 @@ Provide behavior compatible with BSD signal semantics by making certain
system calls restartable across signals.
This flag is meaningful only when establishing a signal handler.
See
-.BR signal (7)
+.MR signal 7
for a discussion of system call restarting.
.TP
.B SA_RESTORER
@@ -231,7 +231,7 @@ This flag is used by C libraries to indicate that the
.I sa_restorer
field contains the address of a "signal trampoline".
See
-.BR sigreturn (2)
+.MR sigreturn 2
for more details.
.TP
.BR SA_SIGINFO " (since Linux 2.2)"
@@ -321,13 +321,13 @@ structure, cast to \fIvoid\ *\fP.
The structure pointed to by this field contains
signal context information that was saved
on the user-space stack by the kernel; for details, see
-.BR sigreturn (2).
+.MR sigreturn 2 .
Further information about the
.I ucontext_t
structure can be found in
-.BR getcontext (3)
+.MR getcontext 3
and
-.BR signal (7).
+.MR signal 7 .
Commonly, the handler function doesn't make any use of the third argument.
.P
The
@@ -389,18 +389,18 @@ The rest of the struct may be a union, so that one should
read only the fields that are meaningful for the given signal:
.IP \[bu] 3
Signals sent with
-.BR kill (2)
+.MR kill 2
and
-.BR sigqueue (3)
+.MR sigqueue 3
fill in
.IR si_pid " and " si_uid .
In addition, signals sent with
-.BR sigqueue (3)
+.MR sigqueue 3
fill in
.IR si_int " and " si_ptr
with the values specified by the sender of the signal;
see
-.BR sigqueue (3)
+.MR sigqueue 3
for more details.
.IP \[bu]
Signals sent by POSIX.1b timers (since Linux 2.6) fill in
@@ -411,24 +411,24 @@ The
.I si_timerid
field is an internal ID used by the kernel to identify
the timer; it is not the same as the timer ID returned by
-.BR timer_create (2).
+.MR timer_create 2 .
The
.I si_overrun
field is the timer overrun count;
this is the same information as is obtained by a call to
-.BR timer_getoverrun (2).
+.MR timer_getoverrun 2 .
These fields are nonstandard Linux extensions.
.IP \[bu]
Signals sent for message queue notification (see the description of
.B SIGEV_SIGNAL
in
-.BR mq_notify (3))
+.MR mq_notify 3 )
fill in
.IR si_int / si_ptr ,
with the
.I sigev_value
supplied to
-.BR mq_notify (3);
+.MR mq_notify 3 ;
.IR si_pid ,
with the process ID of the message sender; and
.IR si_uid ,
@@ -456,16 +456,16 @@ and
.I si_stime
contain the user and system CPU time used by the child process;
these fields do not include the times used by waited-for children (unlike
-.BR getrusage (2)
+.MR getrusage 2
and
-.BR times (2)).
+.MR times 2 ).
Up to Linux 2.6, and since Linux 2.6.27, these fields report
CPU time in units of
.IR sysconf(_SC_CLK_TCK) .
In Linux 2.6 kernels before Linux 2.6.27,
a bug meant that these fields reported time in units
of the (configurable) system jiffy (see
-.BR time (7)).
+.MR time 7 ).
.\" FIXME .
.\" When si_utime and si_stime where originally implemented, the
.\" measurement unit was HZ, which was the same as clock ticks
@@ -512,7 +512,7 @@ contains
When
.B SIGTRAP
is delivered in response to a
-.BR ptrace (2)
+.MR ptrace 2
event (PTRACE_EVENT_foo),
.I si_addr
is not populated, but
@@ -522,7 +522,7 @@ and
are populated with the respective process ID and user ID responsible for
delivering the trap.
In the case of
-.BR seccomp (2),
+.MR seccomp 2 ,
the tracee will be shown as delivering the event.
.B BUS_MCEERR_*
and
@@ -556,14 +556,14 @@ The
event is a bit mask containing the same values as are filled in the
.I revents
field by
-.BR poll (2).
+.MR poll 2 .
The
.I si_fd
field indicates the file descriptor for which the I/O event occurred;
for further details, see the description of
.B F_SETSIG
in
-.BR fcntl (2).
+.MR fcntl 2 .
.IP \[bu]
.BR SIGSYS ,
generated (since Linux 3.5)
@@ -576,7 +576,7 @@ fills in
.IR si_arch ,
.IR si_errno ,
and other fields as described in
-.BR seccomp (2).
+.MR seccomp 2 .
.\"
.SS
The si_code field
@@ -589,7 +589,7 @@ argument that is passed to a
signal handler is a value (not a bit mask)
indicating why this signal was sent.
For a
-.BR ptrace (2)
+.MR ptrace 2
event,
.I si_code
will contain
@@ -637,20 +637,20 @@ for any signal, along with the reason that the signal was generated.
.RS 4
.TP
.B SI_USER
-.BR kill (2).
+.MR kill 2 .
.TP
.B SI_KERNEL
Sent by the kernel.
.TP
.B SI_QUEUE
-.BR sigqueue (3).
+.MR sigqueue 3 .
.TP
.B SI_TIMER
POSIX timer expired.
.TP
.BR SI_MESGQ " (since Linux 2.6.6)"
POSIX message queue state changed; see
-.BR mq_notify (3).
+.MR mq_notify 3 .
.TP
.B SI_ASYNCIO
AIO completed.
@@ -665,9 +665,9 @@ fills in
as described below).
.TP
.BR SI_TKILL " (since Linux 2.4.19)"
-.BR tkill (2)
+.MR tkill 2
or
-.BR tgkill (2).
+.MR tgkill 2 .
.\" SI_DETHREAD is defined in Linux 2.6.9 sources, but isn't implemented
.\" It appears to have been an idea that was tried during 2.5.6
.\" through to Linux 2.5.24 and then was backed out.
@@ -758,7 +758,7 @@ Failed address bound checks.
.\" commit cd0ea35ff5511cde299a61c21a95889b4a71464e
Access was denied by memory protection keys.
See
-.BR pkeys (7).
+.MR pkeys 7 .
The protection key which applied to this access is available via
.IR si_pkey .
.RE
@@ -867,7 +867,7 @@ signal:
.TP
.BR SYS_SECCOMP " (since Linux 3.5)"
Triggered by a
-.BR seccomp (2)
+.MR seccomp 2
filter rule.
.RE
.SS Dynamically probing for flag bit support
@@ -951,7 +951,7 @@ gives an error
on attempts to change the disposition of the two real-time signals
used internally by the NPTL threading implementation.
See
-.BR nptl (7)
+.MR nptl 7
for details.
.P
On architectures where the signal trampoline resides in the C library,
@@ -965,7 +965,7 @@ flag in the
.I act.sa_flags
field.
See
-.BR sigreturn (2).
+.MR sigreturn 2 .
.P
The original Linux system call was named
.BR sigaction ().
@@ -1007,14 +1007,14 @@ to
POSIX.1-2001 and later allow this possibility, so that ignoring
.B SIGCHLD
can be used to prevent the creation of zombies (see
-.BR wait (2)).
+.MR wait 2 ).
Nevertheless, the historical BSD and System\ V behaviors for ignoring
.B SIGCHLD
differ, so that the only completely portable method of ensuring that
terminated children do not become zombies is to catch the
.B SIGCHLD
signal and perform a
-.BR wait (2)
+.MR wait 2
or similar.
.P
POSIX.1-1990 specified only
@@ -1048,10 +1048,10 @@ allowed the receipt of any signal, not just the one we are installing
settings).
.SH NOTES
A child created via
-.BR fork (2)
+.MR fork 2
inherits a copy of its parent's signal dispositions.
During an
-.BR execve (2),
+.MR execve 2 ,
the dispositions of handled signals are reset to the default;
the dispositions of ignored signals are left unchanged.
.P
@@ -1062,9 +1062,9 @@ ignores a
or
.B SIGSEGV
signal that was not generated by
-.BR kill (2)
+.MR kill 2
or
-.BR raise (3).
+.MR raise 3 .
Integer division by zero has undefined result.
On some architectures it will generate a
.B SIGFPE
@@ -1086,11 +1086,11 @@ It is not possible to block
Attempts to do so are silently ignored.
.P
See
-.BR sigsetops (3)
+.MR sigsetops 3
for details on manipulating signal sets.
.P
See
-.BR signal\-safety (7)
+.MR signal\-safety 7
for a list of the async-signal-safe functions that can be
safely called inside from inside a signal handler.
.\"
@@ -1131,7 +1131,7 @@ This bug was fixed in Linux 2.6.14.
.\" commit 69be8f189653cd81aae5a74e26615b12871bb72e
.SH EXAMPLES
See
-.BR mprotect (2).
+.MR mprotect 2 .
.SS Probing for flag support
The following example program exits with status
.B EXIT_SUCCESS
@@ -1179,25 +1179,25 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR kill (1),
-.BR kill (2),
-.BR pause (2),
-.BR pidfd_send_signal (2),
-.BR restart_syscall (2),
-.BR seccomp (2),
-.BR sigaltstack (2),
-.BR signal (2),
-.BR signalfd (2),
-.BR sigpending (2),
-.BR sigprocmask (2),
-.BR sigreturn (2),
-.BR sigsuspend (2),
-.BR wait (2),
-.BR killpg (3),
-.BR raise (3),
-.BR siginterrupt (3),
-.BR sigqueue (3),
-.BR sigsetops (3),
-.BR sigvec (3),
-.BR core (5),
-.BR signal (7)
+.MR kill 1 ,
+.MR kill 2 ,
+.MR pause 2 ,
+.MR pidfd_send_signal 2 ,
+.MR restart_syscall 2 ,
+.MR seccomp 2 ,
+.MR sigaltstack 2 ,
+.MR signal 2 ,
+.MR signalfd 2 ,
+.MR sigpending 2 ,
+.MR sigprocmask 2 ,
+.MR sigreturn 2 ,
+.MR sigsuspend 2 ,
+.MR wait 2 ,
+.MR killpg 3 ,
+.MR raise 3 ,
+.MR siginterrupt 3 ,
+.MR sigqueue 3 ,
+.MR sigsetops 3 ,
+.MR sigvec 3 ,
+.MR core 5 ,
+.MR signal 7
diff --git a/man2/sigaltstack.2 b/man2/sigaltstack.2
index bd5e6ab86..2f31b43ca 100644
--- a/man2/sigaltstack.2
+++ b/man2/sigaltstack.2
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigaltstack ():
@@ -37,7 +37,7 @@ signal stack and/or retrieve the state of an existing
alternate signal stack.
An alternate signal stack is used during the
execution of a signal handler if the establishment of that handler (see
-.BR sigaction (2))
+.MR sigaction 2 )
requested it.
.P
The normal sequence of events for using an alternate signal stack
@@ -55,7 +55,7 @@ location of the alternate signal stack.
.TP
3.
When establishing a signal handler using
-.BR sigaction (2),
+.MR sigaction 2 ,
inform the system that the signal handler should be executed
on the alternate signal stack by
specifying the \fBSA_ONSTACK\fP flag.
@@ -97,7 +97,7 @@ the previous alternate signal stack settings are restored.
.IP
This flag was added in order to make it safe
to switch away from the signal handler with
-.BR swapcontext (3).
+.MR swapcontext 3 .
Without this flag, a subsequently handled signal will corrupt
the state of the switched-away signal handler.
On kernels where this flag is not supported,
@@ -149,7 +149,7 @@ executing on an alternate signal stack that was established using the
.B SS_AUTODISARM
flag.
In this case, it is safe to switch away from the signal handler with
-.BR swapcontext (3).
+.MR swapcontext 3 .
It is also possible to set up a different alternative signal stack
using a further call to
.BR sigaltstack ().
@@ -195,7 +195,7 @@ it was active (i.e., the thread was already executing
on the current alternate signal stack).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -249,14 +249,14 @@ Exceeding the allocated size of the alternate signal stack will
lead to unpredictable results.
.P
A successful call to
-.BR execve (2)
+.MR execve 2
removes any existing alternate
signal stack.
A child process created via
-.BR fork (2)
+.MR fork 2
inherits a copy of its parent's alternate signal stack settings.
The same is also true for a child process created using
-.BR clone (2),
+.MR clone 2 ,
unless the clone flags include
.B CLONE_VM
and do not include
@@ -321,7 +321,7 @@ is specified in
The following code segment demonstrates the use of
.BR sigaltstack ()
(and
-.BR sigaction (2))
+.MR sigaction 2 )
to install an alternate signal stack that is employed by a handler
for the
.B SIGSEGV
@@ -354,9 +354,9 @@ if (sigaction(SIGSEGV, &sa, NULL) == \-1) {
.EE
.in
.SH SEE ALSO
-.BR execve (2),
-.BR setrlimit (2),
-.BR sigaction (2),
-.BR siglongjmp (3),
-.BR sigsetjmp (3),
-.BR signal (7)
+.MR execve 2 ,
+.MR setrlimit 2 ,
+.MR sigaction 2 ,
+.MR siglongjmp 3 ,
+.MR sigsetjmp 3 ,
+.MR signal 7
diff --git a/man2/signal.2 b/man2/signal.2
index 5e84f40c3..132f2c138 100644
--- a/man2/signal.2
+++ b/man2/signal.2
@@ -34,7 +34,7 @@ the behavior of
varies across UNIX versions,
and has also varied historically across different versions of Linux.
\fBAvoid its use\fP: use
-.BR sigaction (2)
+.MR sigaction 2
instead.
See \fIPortability\fP below.
.P
@@ -61,7 +61,7 @@ then the signal is ignored.
If the disposition is set to
.BR SIG_DFL ,
then the default action associated with the signal (see
-.BR signal (7))
+.MR signal 7 )
occurs.
.TP
*
@@ -133,7 +133,7 @@ to establish a signal handler vary across systems
.B do not use it for this purpose.
.P
POSIX.1 solved the portability mess by specifying
-.BR sigaction (2),
+.MR sigaction 2 ,
which provides explicit control of the semantics when a
signal handler is invoked; use that interface instead of
.BR signal ().
@@ -149,7 +149,7 @@ the disposition of the signal would be reset to
.BR SIG_DFL ,
and the system did not block delivery of further instances of the signal.
This is equivalent to calling
-.BR sigaction (2)
+.MR sigaction 2
with the following flags:
.P
.in +4n
@@ -175,9 +175,9 @@ and further instances of the signal are blocked from
being delivered while the handler is executing.
Furthermore, certain blocking system calls are automatically
restarted if interrupted by a signal handler (see
-.BR signal (7)).
+.MR signal 7 ).
The BSD semantics are equivalent to calling
-.BR sigaction (2)
+.MR sigaction 2
with the following flags:
.P
.in +4n
@@ -196,7 +196,7 @@ By default, in glibc 2 and later, the
.BR signal ()
wrapper function does not invoke the kernel system call.
Instead, it calls
-.BR sigaction (2)
+.MR sigaction 2
using flags that supply BSD semantics.
This default behavior is provided as long as a suitable
feature test macro is defined:
@@ -205,7 +205,7 @@ on glibc 2.19 and earlier or
.B _DEFAULT_SOURCE
in glibc 2.19 and later.
(By default, these macros are defined; see
-.BR feature_test_macros (7)
+.MR feature_test_macros 7
for details.)
If such a feature test macro is not defined, then
.BR signal ()
@@ -237,9 +237,9 @@ ignores a
or
.B SIGSEGV
signal that was not generated by
-.BR kill (2)
+.MR kill 2
or
-.BR raise (3).
+.MR raise 3 .
Integer division by zero has undefined result.
On some architectures it will generate a
.B SIGFPE
@@ -249,32 +249,32 @@ signal.
Ignoring this signal might lead to an endless loop.
.P
See
-.BR sigaction (2)
+.MR sigaction 2
for details on what happens when the disposition
.B SIGCHLD
is set to
.BR SIG_IGN .
.P
See
-.BR signal\-safety (7)
+.MR signal\-safety 7
for a list of the async-signal-safe functions that can be
safely called from inside a signal handler.
.SH SEE ALSO
-.BR kill (1),
-.BR alarm (2),
-.BR kill (2),
-.BR pause (2),
-.BR sigaction (2),
-.BR signalfd (2),
-.BR sigpending (2),
-.BR sigprocmask (2),
-.BR sigsuspend (2),
-.BR bsd_signal (3),
-.BR killpg (3),
-.BR raise (3),
-.BR siginterrupt (3),
-.BR sigqueue (3),
-.BR sigsetops (3),
-.BR sigvec (3),
-.BR sysv_signal (3),
-.BR signal (7)
+.MR kill 1 ,
+.MR alarm 2 ,
+.MR kill 2 ,
+.MR pause 2 ,
+.MR sigaction 2 ,
+.MR signalfd 2 ,
+.MR sigpending 2 ,
+.MR sigprocmask 2 ,
+.MR sigsuspend 2 ,
+.MR bsd_signal 3 ,
+.MR killpg 3 ,
+.MR raise 3 ,
+.MR siginterrupt 3 ,
+.MR sigqueue 3 ,
+.MR sigsetops 3 ,
+.MR sigvec 3 ,
+.MR sysv_signal 3 ,
+.MR signal 7
diff --git a/man2/signalfd.2 b/man2/signalfd.2
index 831fa944c..f41e1a7d5 100644
--- a/man2/signalfd.2
+++ b/man2/signalfd.2
@@ -20,12 +20,12 @@ Standard C library
creates a file descriptor that can be used to accept signals
targeted at the caller.
This provides an alternative to the use of a signal handler or
-.BR sigwaitinfo (2),
+.MR sigwaitinfo 2 ,
and has the advantage that the file descriptor may be monitored by
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
and
-.BR epoll (7).
+.MR epoll 7 .
.P
The
.I mask
@@ -33,10 +33,10 @@ argument specifies the set of signals that the caller
wishes to accept via the file descriptor.
This argument is a signal set whose contents can be initialized
using the macros described in
-.BR sigsetops (3).
+.MR sigsetops 3 .
Normally, the set of signals to be received via the
file descriptor should be blocked using
-.BR sigprocmask (2),
+.MR sigprocmask 2 ,
to prevent the signals being handled according to their default
dispositions.
It is not possible to receive
@@ -70,10 +70,10 @@ to change the behavior of
Set the
.B O_NONBLOCK
file status flag on the open file description (see
-.BR open (2))
+.MR open 2 )
referred to by the new file descriptor.
Using this flag saves extra calls to
-.BR fcntl (2)
+.MR fcntl 2
to achieve the same result.
.TP
.B SFD_CLOEXEC
@@ -83,7 +83,7 @@ flag on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.P
Up to Linux 2.6.26, the
@@ -93,37 +93,37 @@ argument is unused, and must be specified as zero.
.BR signalfd ()
returns a file descriptor that supports the following operations:
.TP
-.BR read (2)
+.MR read 2
If one or more of the signals specified in
.I mask
is pending for the process, then the buffer supplied to
-.BR read (2)
+.MR read 2
is used to return one or more
.I signalfd_siginfo
structures (see below) that describe the signals.
The
-.BR read (2)
+.MR read 2
returns information for as many signals as are pending and will
fit in the supplied buffer.
The buffer must be at least
.I "sizeof(struct signalfd_siginfo)"
bytes.
The return value of the
-.BR read (2)
+.MR read 2
is the total number of bytes read.
.IP
As a consequence of the
-.BR read (2),
+.MR read 2 ,
the signals are consumed,
so that they are no longer pending for the process
(i.e., will not be caught by signal handlers,
and cannot be accepted using
-.BR sigwaitinfo (2)).
+.MR sigwaitinfo 2 ).
.IP
If none of the signals in
.I mask
is pending for the process, then the
-.BR read (2)
+.MR read 2
either blocks until one of the signals in
.I mask
is generated for the process,
@@ -131,17 +131,17 @@ or fails with the error
.B EAGAIN
if the file descriptor has been made nonblocking.
.TP
-.BR poll (2)
+.MR poll 2
.TQ
-.BR select (2)
+.MR select 2
.TQ
(and similar)
The file descriptor is readable
(the
-.BR select (2)
+.MR select 2
.I readfds
argument; the
-.BR poll (2)
+.MR poll 2
.B POLLIN
flag)
if one or more of the signals in
@@ -150,12 +150,12 @@ is pending for the process.
.IP
The signalfd file descriptor also supports the other file-descriptor
multiplexing APIs:
-.BR pselect (2),
-.BR ppoll (2),
+.MR pselect 2 ,
+.MR ppoll 2 ,
and
-.BR epoll (7).
+.MR epoll 7 .
.TP
-.BR close (2)
+.MR close 2
When the file descriptor is no longer required it should be closed.
When all file descriptors associated with the same signalfd object
have been closed, the resources for object are freed by the kernel.
@@ -163,7 +163,7 @@ have been closed, the resources for object are freed by the kernel.
The format of the
.I signalfd_siginfo
structure(s) returned by
-.BR read (2)s
+.MR read 2 s
from a signalfd file descriptor is as follows:
.P
.in +4n
@@ -204,7 +204,7 @@ structure.
The
.I siginfo_t
structure is described in
-.BR sigaction (2).
+.MR sigaction 2 .
Not all fields in the returned
.I signalfd_siginfo
structure will be valid for a specific signal;
@@ -215,37 +215,37 @@ This field is the analog of the
.I siginfo_t
.I si_code
field; see
-.BR sigaction (2)
+.MR sigaction 2
for details.
.SS fork(2) semantics
After a
-.BR fork (2),
+.MR fork 2 ,
the child inherits a copy of the signalfd file descriptor.
A
-.BR read (2)
+.MR read 2
from the file descriptor in the child will return information
about signals queued to the child.
.SS Semantics of file descriptor passing
As with other file descriptors,
signalfd file descriptors can be passed to another process
via a UNIX domain socket (see
-.BR unix (7)).
+.MR unix 7 ).
In the receiving process, a
-.BR read (2)
+.MR read 2
from the received file descriptor will return information
about signals queued to that process.
.SS execve(2) semantics
Just like any other file descriptor,
a signalfd file descriptor remains open across an
-.BR execve (2),
+.MR execve 2 ,
unless it has been marked for close-on-exec (see
-.BR fcntl (2)).
+.MR fcntl 2 ).
Any signals that were available for reading before the
-.BR execve (2)
+.MR execve 2
remain available to the newly loaded program.
(This is analogous to traditional signal semantics,
where a blocked signal that is pending remains pending across an
-.BR execve (2).)
+.MR execve 2 .)
.SS Thread semantics
The semantics of signalfd file descriptors in a multithreaded program
mirror the standard semantics for signals.
@@ -259,30 +259,30 @@ to other threads in the process.)
.\"
.SS epoll(7) semantics
If a process adds (via
-.BR epoll_ctl (2))
+.MR epoll_ctl 2 )
a signalfd file descriptor to an
-.BR epoll (7)
+.MR epoll 7
instance, then
-.BR epoll_wait (2)
+.MR epoll_wait 2
returns events only for signals sent to that process.
In particular, if the process then uses
-.BR fork (2)
+.MR fork 2
to create a child process, then the child will be able to
-.BR read (2)
+.MR read 2
signals that are sent to it using the signalfd file descriptor, but
-.BR epoll_wait (2)
+.MR epoll_wait 2
will
.B not
indicate that the signalfd file descriptor is ready.
In this scenario, a possible workaround is that after the
-.BR fork (2),
+.MR fork 2 ,
the child process can close the signalfd file descriptor that it inherited
from the parent process and then create another signalfd file descriptor
and add it to the epoll instance.
Alternatively, the parent and the child could delay creating their
(separate) signalfd file descriptors and adding them to the
epoll instance until after the call to
-.BR fork (2).
+.MR fork 2 .
.SH RETURN VALUE
On success,
.BR signalfd ()
@@ -374,10 +374,10 @@ A process can create multiple signalfd file descriptors.
This makes it possible to accept different signals
on different file descriptors.
(This may be useful if monitoring the file descriptors using
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7):
+.MR epoll 7 :
the arrival of different signals will make different file descriptors ready.)
If a signal appears in the
.I mask
@@ -397,7 +397,7 @@ via the entry for the corresponding file descriptor in the process's
.IR /proc/ pid /fdinfo
directory.
See
-.BR proc (5)
+.MR proc 5
for further details.
.\"
.SS Limitations
@@ -416,26 +416,26 @@ in normal usage one blocks the signals that will be accepted via
If spawning a child process to execute a helper program
(that does not need the signalfd file descriptor),
then, after the call to
-.BR fork (2),
+.MR fork 2 ,
you will normally want to unblock those signals before calling
-.BR execve (2),
+.MR execve 2 ,
so that the helper program can see any signals that it expects to see.
Be aware, however,
that this won't be possible in the case of a helper program spawned
behind the scenes by any library function that the program may call.
In such cases, one must fall back to using a traditional signal
handler that writes to a file descriptor monitored by
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7).
+.MR epoll 7 .
.SH BUGS
Before Linux 2.6.25, the
.I ssi_ptr
and
.I ssi_int
fields are not filled in with the data accompanying a signal sent by
-.BR sigqueue (3).
+.MR sigqueue 3 .
.\" The fix also was put into Linux 2.6.24.5
.SH EXAMPLES
The program below accepts the signals
@@ -511,15 +511,15 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR eventfd (2),
-.BR poll (2),
-.BR read (2),
-.BR select (2),
-.BR sigaction (2),
-.BR sigprocmask (2),
-.BR sigwaitinfo (2),
-.BR timerfd_create (2),
-.BR sigsetops (3),
-.BR sigwait (3),
-.BR epoll (7),
-.BR signal (7)
+.MR eventfd 2 ,
+.MR poll 2 ,
+.MR read 2 ,
+.MR select 2 ,
+.MR sigaction 2 ,
+.MR sigprocmask 2 ,
+.MR sigwaitinfo 2 ,
+.MR timerfd_create 2 ,
+.MR sigsetops 3 ,
+.MR sigwait 3 ,
+.MR epoll 7 ,
+.MR signal 7
diff --git a/man2/sigpending.2 b/man2/sigpending.2
index 0562440dc..70614ae97 100644
--- a/man2/sigpending.2
+++ b/man2/sigpending.2
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigpending ():
@@ -77,7 +77,7 @@ wrapper function hides these details from us, transparently calling
when the kernel provides it.
.SH NOTES
See
-.BR sigsetops (3)
+.MR sigsetops 3
for details on manipulating signal sets.
.P
If a signal is both blocked and has a disposition of "ignored", it is
@@ -87,13 +87,13 @@ added to the mask of pending signals when generated.
The set of signals that is pending for a thread
is the union of the set of signals that is pending for that thread
and the set of signals that is pending for the process as a whole; see
-.BR signal (7).
+.MR signal 7 .
.P
A child created via
-.BR fork (2)
+.MR fork 2
initially has an empty pending signal set;
the pending signal set is preserved across an
-.BR execve (2).
+.MR execve 2 .
.SH BUGS
Up to and including glibc 2.2.1,
there is a bug in the wrapper function for
@@ -101,10 +101,10 @@ there is a bug in the wrapper function for
which means that information about pending real-time signals
is not correctly returned.
.SH SEE ALSO
-.BR kill (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR sigprocmask (2),
-.BR sigsuspend (2),
-.BR sigsetops (3),
-.BR signal (7)
+.MR kill 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR sigprocmask 2 ,
+.MR sigsuspend 2 ,
+.MR sigsetops 3 ,
+.MR signal 7
diff --git a/man2/sigprocmask.2 b/man2/sigprocmask.2
index 89838a51d..19f130676 100644
--- a/man2/sigprocmask.2
+++ b/man2/sigprocmask.2
@@ -38,7 +38,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigprocmask ():
@@ -51,7 +51,7 @@ is used to fetch and/or change the signal mask of the calling thread.
The signal mask is the set of signals whose delivery is currently
blocked for the caller
(see also
-.BR signal (7)
+.MR signal 7
for more details).
.P
The behavior of the call is dependent on the value of
@@ -90,12 +90,12 @@ but the current value of the signal mask is nevertheless returned in
A set of functions for modifying and inspecting variables of type
.I sigset_t
("signal sets") is described in
-.BR sigsetops (3).
+.MR sigsetops 3 .
.P
The use of
.BR sigprocmask ()
is unspecified in a multithreaded process; see
-.BR pthread_sigmask (3).
+.MR pthread_sigmask 3 .
.SH RETURN VALUE
.BR sigprocmask ()
returns 0 on success.
@@ -133,7 +133,7 @@ The glibc wrapper function for
silently ignores attempts to block the two real-time signals that
are used internally by the NPTL threading implementation.
See
-.BR nptl (7)
+.MR nptl 7
for details.
.P
The original Linux system call was named
@@ -183,10 +183,10 @@ Attempts to do so are silently ignored.
Each of the threads in a process has its own signal mask.
.P
A child created via
-.BR fork (2)
+.MR fork 2
inherits a copy of its parent's signal mask;
the signal mask is preserved across
-.BR execve (2).
+.MR execve 2 .
.P
If
.BR SIGBUS ,
@@ -197,13 +197,13 @@ or
are generated
while they are blocked, the result is undefined,
unless the signal was generated by
-.BR kill (2),
-.BR sigqueue (3),
+.MR kill 2 ,
+.MR sigqueue 3 ,
or
-.BR raise (3).
+.MR raise 3 .
.P
See
-.BR sigsetops (3)
+.MR sigsetops 3
for details on manipulating signal sets.
.P
Note that it is permissible (although not very useful) to specify both
@@ -212,13 +212,13 @@ and
.I oldset
as NULL.
.SH SEE ALSO
-.BR kill (2),
-.BR pause (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR sigpending (2),
-.BR sigsuspend (2),
-.BR pthread_sigmask (3),
-.BR sigqueue (3),
-.BR sigsetops (3),
-.BR signal (7)
+.MR kill 2 ,
+.MR pause 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR sigpending 2 ,
+.MR sigsuspend 2 ,
+.MR pthread_sigmask 3 ,
+.MR sigqueue 3 ,
+.MR sigsetops 3 ,
+.MR signal 7
diff --git a/man2/sigreturn.2 b/man2/sigreturn.2
index 1a34ef54c..1181b25c1 100644
--- a/man2/sigreturn.2
+++ b/man2/sigreturn.2
@@ -89,13 +89,13 @@ Nowadays, pages of the user stack are protected so as to
disallow code execution.
Thus, on contemporary Linux systems, depending on the architecture,
the signal trampoline code lives either in the
-.BR vdso (7)
+.MR vdso 7
or in the C library.
In the latter case,
.\" See, for example, sysdeps/unix/sysv/linux/i386/sigaction.c and
.\" sysdeps/unix/sysv/linux/x86_64/sigaction.c in the glibc (2.20) source.
the C library's
-.BR sigaction (2)
+.MR sigaction 2
wrapper function informs the kernel of the location of the trampoline code
by placing its address in the
.I sa_restorer
@@ -114,7 +114,7 @@ structure (see
.IR <sys/ucontext.h> ).
That structure is visible within the signal handler
as the third argument of a handler established via
-.BR sigaction (2)
+.MR sigaction 2
with the
.B SA_SIGINFO
flag.
@@ -142,10 +142,10 @@ hides these details from us, transparently employing
when the kernel provides it.
.\"
.SH SEE ALSO
-.BR kill (2),
-.BR restart_syscall (2),
-.BR sigaltstack (2),
-.BR signal (2),
-.BR getcontext (3),
-.BR signal (7),
-.BR vdso (7)
+.MR kill 2 ,
+.MR restart_syscall 2 ,
+.MR sigaltstack 2 ,
+.MR signal 2 ,
+.MR getcontext 3 ,
+.MR signal 7 ,
+.MR vdso 7
diff --git a/man2/sigsuspend.2 b/man2/sigsuspend.2
index 01f9c9dcc..7e7257d29 100644
--- a/man2/sigsuspend.2
+++ b/man2/sigsuspend.2
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigsuspend ():
@@ -66,7 +66,7 @@ points to memory which is not a valid part of the process address space.
.TP
.B EINTR
The call was interrupted by a signal;
-.BR signal (7).
+.MR signal 7 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -102,30 +102,30 @@ when the kernel provides it.
Normally,
.BR sigsuspend ()
is used in conjunction with
-.BR sigprocmask (2)
+.MR sigprocmask 2
in order to prevent delivery of a signal during the execution of a
critical code section.
The caller first blocks the signals with
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
When the critical code has completed, the caller then waits for the
signals by calling
.BR sigsuspend ()
with the signal mask that was returned by
-.BR sigprocmask (2)
+.MR sigprocmask 2
(in the
.I oldset
argument).
.P
See
-.BR sigsetops (3)
+.MR sigsetops 3
for details on manipulating signal sets.
.SH SEE ALSO
-.BR kill (2),
-.BR pause (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR sigprocmask (2),
-.BR sigwaitinfo (2),
-.BR sigsetops (3),
-.BR sigwait (3),
-.BR signal (7)
+.MR kill 2 ,
+.MR pause 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR sigprocmask 2 ,
+.MR sigwaitinfo 2 ,
+.MR sigsetops 3 ,
+.MR sigwait 3 ,
+.MR signal 7
diff --git a/man2/sigwaitinfo.2 b/man2/sigwaitinfo.2
index 5d302dfb5..e7e08a63b 100644
--- a/man2/sigwaitinfo.2
+++ b/man2/sigwaitinfo.2
@@ -22,7 +22,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigwaitinfo (),
@@ -50,7 +50,7 @@ argument is not NULL,
then the buffer that it points to is used to return a structure of type
.I siginfo_t
(see
-.BR sigaction (2))
+.MR sigaction 2 )
containing information about the signal.
.P
If multiple signals in
@@ -58,7 +58,7 @@ If multiple signals in
are pending for the caller, the signal that is retrieved by
.BR sigwaitinfo ()
is determined according to the usual ordering rules; see
-.BR signal (7)
+.MR signal 7
for further details.
.P
.BR sigtimedwait ()
@@ -72,7 +72,7 @@ the thread is suspended waiting for a signal.
and kernel scheduling delays mean that the interval
may overrun by a small amount.)
This argument is a
-.BR timespec (3)
+.MR timespec 3
structure.
.P
If both fields of this structure are specified as 0, a poll is performed:
@@ -103,7 +103,7 @@ period specified to
.TP
.B EINTR
The wait was interrupted by a signal handler; see
-.BR signal (7).
+.MR signal 7 .
(This handler was for a signal other than one of those in
.IR set .)
.TP
@@ -124,7 +124,7 @@ and
silently ignore attempts to wait for the two real-time signals that
are used internally by the NPTL threading implementation.
See
-.BR nptl (7)
+.MR nptl 7
for details.
.P
The original Linux system call was named
@@ -161,7 +161,7 @@ POSIX.1-2001.
In normal usage, the calling program blocks the signals in
.I set
via a prior call to
-.BR sigprocmask (2)
+.MR sigprocmask 2
(so that the default disposition for these signals does not occur if they
become pending between successive calls to
.BR sigwaitinfo ()
@@ -179,7 +179,7 @@ or
The set of signals that is pending for a given thread is the
union of the set of signals that is pending specifically for that thread
and the set of signals that is pending for the process as a whole (see
-.BR signal (7)).
+.MR signal 7 ).
.P
Attempts to wait for
.B SIGKILL
@@ -217,15 +217,15 @@ as a call to
.BR sigwaitinfo (),
and indeed this is what is done on Linux.
.SH SEE ALSO
-.BR kill (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR signalfd (2),
-.BR sigpending (2),
-.BR sigprocmask (2),
-.BR sigqueue (3),
-.BR sigsetops (3),
-.BR sigwait (3),
-.BR timespec (3),
-.BR signal (7),
-.BR time (7)
+.MR kill 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR signalfd 2 ,
+.MR sigpending 2 ,
+.MR sigprocmask 2 ,
+.MR sigqueue 3 ,
+.MR sigsetops 3 ,
+.MR sigwait 3 ,
+.MR timespec 3 ,
+.MR signal 7 ,
+.MR time 7
diff --git a/man2/socket.2 b/man2/socket.2
index c6dc54282..a269486a7 100644
--- a/man2/socket.2
+++ b/man2/socket.2
@@ -47,7 +47,7 @@ T{
T}:T{
Local communication
T}:T{
-.BR unix (7)
+.MR unix 7
T}
T{
.B AF_LOCAL
@@ -59,7 +59,7 @@ T}
T{
.B AF_INET
T}:IPv4 Internet protocols:T{
-.BR ip (7)
+.MR ip 7
T}
T{
.B AF_AX25
@@ -67,7 +67,7 @@ T}:T{
Amateur radio AX.25 protocol
T}:T{
.\" Part of ax25-tools
-.BR ax25 (4)
+.MR ax25 4
T}
T{
.B AF_IPX
@@ -75,17 +75,17 @@ T}:IPX \- Novell protocols:
T{
.B AF_APPLETALK
T}:AppleTalk:T{
-.BR ddp (7)
+.MR ddp 7
T}
T{
.B AF_X25
T}:ITU-T X.25 / ISO-8208 protocol:T{
-.BR x25 (7)
+.MR x25 7
T}
T{
.B AF_INET6
T}:IPv6 Internet protocols:T{
-.BR ipv6 (7)
+.MR ipv6 7
T}
T{
.B AF_DECnet
@@ -102,14 +102,14 @@ T{
T}:T{
Kernel user interface device
T}:T{
-.BR netlink (7)
+.MR netlink 7
T}
T{
.B AF_PACKET
T}:T{
Low-level packet interface
T}:T{
-.BR packet (7)
+.MR packet 7
T}
T{
.B AF_RDS
@@ -119,9 +119,9 @@ Reliable Datagram Sockets (RDS) protocol
T}:T{
.\" rds-tools: https://github.com/oracle/rds-tools/blob/master/rds.7
.\" rds-tools: https://github.com/oracle/rds-tools/blob/master/rds-rdma.7
-.BR rds (7)
+.MR rds 7
.br
-.BR rds\-rdma (7)
+.MR rds\-rdma 7
T}
T{
.B AF_PPPOX
@@ -178,7 +178,7 @@ T}:T{
VSOCK (originally "VMWare VSockets") protocol
for hypervisor-guest communication
T}:T{
-.BR vsock (7)
+.MR vsock 7
T}
T{
.B AF_KCM
@@ -196,7 +196,7 @@ T}
.P
Further details of the above address families,
as well as information on several other address families, can be found in
-.BR address_families (7).
+.MR address_families 7 .
.P
The socket has the indicated
.IR type ,
@@ -226,7 +226,7 @@ Provides a reliable datagram layer that does not guarantee ordering.
.B SOCK_PACKET
Obsolete and should not be used in new programs;
see
-.BR packet (7).
+.MR packet 7 .
.P
Some socket types may not be implemented by all protocol families.
.P
@@ -242,10 +242,10 @@ to modify the behavior of
Set the
.B O_NONBLOCK
file status flag on the open file description (see
-.BR open (2))
+.MR open 2 )
referred to by the new file descriptor.
Using this flag saves extra calls to
-.BR fcntl (2)
+.MR fcntl 2
to achieve the same result.
.TP
.B SOCK_CLOEXEC
@@ -255,7 +255,7 @@ flag on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.P
The
@@ -269,9 +269,9 @@ However, it is possible that many protocols may exist, in
which case a particular protocol must be specified in this manner.
The protocol number to use is specific to the \*(lqcommunication domain\*(rq
in which communication is to take place; see
-.BR protocols (5).
+.MR protocols 5 .
See
-.BR getprotoent (3)
+.MR getprotoent 3
on how to map protocol name strings to protocol numbers.
.P
Sockets of type
@@ -285,24 +285,24 @@ a
state before any data may be sent or received on it.
A connection to
another socket is created with a
-.BR connect (2)
+.MR connect 2
call.
Once connected, data may be transferred using
-.BR read (2)
+.MR read 2
and
-.BR write (2)
+.MR write 2
calls or some variant of the
-.BR send (2)
+.MR send 2
and
-.BR recv (2)
+.MR recv 2
calls.
When a session has been completed a
-.BR close (2)
+.MR close 2
may be performed.
Out-of-band data may also be transmitted as described in
-.BR send (2)
+.MR send 2
and received as described in
-.BR recv (2).
+.MR recv 2 .
.P
The communications protocols which implement a
.B SOCK_STREAM
@@ -325,7 +325,7 @@ sockets employ the same system calls as
.B SOCK_STREAM
sockets.
The only difference is that
-.BR read (2)
+.MR read 2
calls will return only the amount of data requested,
and any data remaining in the arriving packet will be discarded.
Also all message boundaries in incoming datagrams are preserved.
@@ -334,21 +334,21 @@ Also all message boundaries in incoming datagrams are preserved.
and
.B SOCK_RAW
sockets allow sending of datagrams to correspondents named in
-.BR sendto (2)
+.MR sendto 2
calls.
Datagrams are generally received with
-.BR recvfrom (2),
+.MR recvfrom 2 ,
which returns the next datagram along with the address of its sender.
.P
.B SOCK_PACKET
is an obsolete socket type to receive raw packets directly from the
device driver.
Use
-.BR packet (7)
+.MR packet 7
instead.
.P
An
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETOWN
operation can be used to specify a process or process group to receive a
.B SIGURG
@@ -363,7 +363,7 @@ that receives the I/O and asynchronous notification of I/O events via
Using
.B F_SETOWN
is equivalent to an
-.BR ioctl (2)
+.MR ioctl 2
call with the
.B FIOSETOWN
or
@@ -378,16 +378,16 @@ For some protocols it is possible to enable a per-socket error queue
to retrieve detailed information about the error; see
.B IP_RECVERR
in
-.BR ip (7).
+.MR ip 7 .
.P
The operation of sockets is controlled by socket level
.IR options .
These options are defined in
.IR <sys/socket.h> .
The functions
-.BR setsockopt (2)
+.MR setsockopt 2
and
-.BR getsockopt (2)
+.MR getsockopt 2
are used to set and get options.
.SH RETURN VALUE
On success, a file descriptor for the new socket is returned.
@@ -459,32 +459,32 @@ standards use AF_* everywhere.
An example of the use of
.BR socket ()
is shown in
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
.SH SEE ALSO
-.BR accept (2),
-.BR bind (2),
-.BR close (2),
-.BR connect (2),
-.BR fcntl (2),
-.BR getpeername (2),
-.BR getsockname (2),
-.BR getsockopt (2),
-.BR ioctl (2),
-.BR listen (2),
-.BR read (2),
-.BR recv (2),
-.BR select (2),
-.BR send (2),
-.BR shutdown (2),
-.BR socketpair (2),
-.BR write (2),
-.BR getprotoent (3),
-.BR address_families (7),
-.BR ip (7),
-.BR socket (7),
-.BR tcp (7),
-.BR udp (7),
-.BR unix (7)
+.MR accept 2 ,
+.MR bind 2 ,
+.MR close 2 ,
+.MR connect 2 ,
+.MR fcntl 2 ,
+.MR getpeername 2 ,
+.MR getsockname 2 ,
+.MR getsockopt 2 ,
+.MR ioctl 2 ,
+.MR listen 2 ,
+.MR read 2 ,
+.MR recv 2 ,
+.MR select 2 ,
+.MR send 2 ,
+.MR shutdown 2 ,
+.MR socketpair 2 ,
+.MR write 2 ,
+.MR getprotoent 3 ,
+.MR address_families 7 ,
+.MR ip 7 ,
+.MR socket 7 ,
+.MR tcp 7 ,
+.MR udp 7 ,
+.MR unix 7
.P
\[lq]An Introductory 4.3BSD Interprocess Communication Tutorial\[rq]
and
diff --git a/man2/socketcall.2 b/man2/socketcall.2
index 086ed6bdb..493654895 100644
--- a/man2/socketcall.2
+++ b/man2/socketcall.2
@@ -23,7 +23,7 @@ Standard C library
glibc provides no wrapper for
.BR socketcall (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR socketcall ()
is a common kernel entry point for the socket system calls.
@@ -44,111 +44,111 @@ l l.
T{
.B SYS_SOCKET
T}:T{
-.BR socket (2)
+.MR socket 2
T}
T{
.B SYS_BIND
T}:T{
-.BR bind (2)
+.MR bind 2
T}
T{
.B SYS_CONNECT
T}:T{
-.BR connect (2)
+.MR connect 2
T}
T{
.B SYS_LISTEN
T}:T{
-.BR listen (2)
+.MR listen 2
T}
T{
.B SYS_ACCEPT
T}:T{
-.BR accept (2)
+.MR accept 2
T}
T{
.B SYS_GETSOCKNAME
T}:T{
-.BR getsockname (2)
+.MR getsockname 2
T}
T{
.B SYS_GETPEERNAME
T}:T{
-.BR getpeername (2)
+.MR getpeername 2
T}
T{
.B SYS_SOCKETPAIR
T}:T{
-.BR socketpair (2)
+.MR socketpair 2
T}
T{
.B SYS_SEND
T}:T{
-.BR send (2)
+.MR send 2
T}
T{
.B SYS_RECV
T}:T{
-.BR recv (2)
+.MR recv 2
T}
T{
.B SYS_SENDTO
T}:T{
-.BR sendto (2)
+.MR sendto 2
T}
T{
.B SYS_RECVFROM
T}:T{
-.BR recvfrom (2)
+.MR recvfrom 2
T}
T{
.B SYS_SHUTDOWN
T}:T{
-.BR shutdown (2)
+.MR shutdown 2
T}
T{
.B SYS_SETSOCKOPT
T}:T{
-.BR setsockopt (2)
+.MR setsockopt 2
T}
T{
.B SYS_GETSOCKOPT
T}:T{
-.BR getsockopt (2)
+.MR getsockopt 2
T}
T{
.B SYS_SENDMSG
T}:T{
-.BR sendmsg (2)
+.MR sendmsg 2
T}
T{
.B SYS_RECVMSG
T}:T{
-.BR recvmsg (2)
+.MR recvmsg 2
T}
T{
.B SYS_ACCEPT4
T}:T{
-.BR accept4 (2)
+.MR accept4 2
T}
T{
.B SYS_RECVMMSG
T}:T{
-.BR recvmmsg (2)
+.MR recvmmsg 2
T}
T{
.B SYS_SENDMMSG
T}:T{
-.BR sendmmsg (2)
+.MR sendmmsg 2
T}
.TE
.SH VERSIONS
On some architectures\[em]for example, x86-64 and ARM\[em]there is no
.BR socketcall ()
system call; instead
-.BR socket (2),
-.BR accept (2),
-.BR bind (2),
+.MR socket 2 ,
+.MR accept 2 ,
+.MR bind 2 ,
and so on really are implemented as separate system calls.
.SH STANDARDS
Linux.
@@ -160,26 +160,26 @@ However, starting in Linux 4.3,
.\" commit 9dea5dc921b5f4045a18c63eb92e84dc274d17eb
direct system calls are provided on x86-32 for the sockets API.
This facilitates the creation of
-.BR seccomp (2)
+.MR seccomp 2
filters that filter sockets system calls
(for new user-space binaries that are compiled
to use the new entry points)
and also provides a (very) small performance improvement.
.SH SEE ALSO
-.BR accept (2),
-.BR bind (2),
-.BR connect (2),
-.BR getpeername (2),
-.BR getsockname (2),
-.BR getsockopt (2),
-.BR listen (2),
-.BR recv (2),
-.BR recvfrom (2),
-.BR recvmsg (2),
-.BR send (2),
-.BR sendmsg (2),
-.BR sendto (2),
-.BR setsockopt (2),
-.BR shutdown (2),
-.BR socket (2),
-.BR socketpair (2)
+.MR accept 2 ,
+.MR bind 2 ,
+.MR connect 2 ,
+.MR getpeername 2 ,
+.MR getsockname 2 ,
+.MR getsockopt 2 ,
+.MR listen 2 ,
+.MR recv 2 ,
+.MR recvfrom 2 ,
+.MR recvmsg 2 ,
+.MR send 2 ,
+.MR sendmsg 2 ,
+.MR sendto 2 ,
+.MR setsockopt 2 ,
+.MR shutdown 2 ,
+.MR socket 2 ,
+.MR socketpair 2
diff --git a/man2/socketpair.2 b/man2/socketpair.2
index 17d3bb35c..01faf8148 100644
--- a/man2/socketpair.2
+++ b/man2/socketpair.2
@@ -34,7 +34,7 @@ of the specified
and using the optionally specified
.IR protocol .
For further details of these arguments, see
-.BR socket (2).
+.MR socket 2 .
.P
The file descriptors used in referencing the new sockets are returned in
.I sv[0]
@@ -106,11 +106,11 @@ and
flags in the
.I type
argument, as described in
-.BR socket (2).
+.MR socket 2 .
.SH SEE ALSO
-.BR pipe (2),
-.BR read (2),
-.BR socket (2),
-.BR write (2),
-.BR socket (7),
-.BR unix (7)
+.MR pipe 2 ,
+.MR read 2 ,
+.MR socket 2 ,
+.MR write 2 ,
+.MR socket 7 ,
+.MR unix 7
diff --git a/man2/splice.2 b/man2/splice.2
index e5d05a05c..ae6bebe66 100644
--- a/man2/splice.2
+++ b/man2/splice.2
@@ -105,17 +105,17 @@ the
refers to a socket (see also the description of
.B MSG_MORE
in
-.BR send (2),
+.MR send 2 ,
and the description of
.B TCP_CORK
in
-.BR tcp (7)).
+.MR tcp 7 ).
.TP
.B SPLICE_F_GIFT
Unused for
.BR splice ();
see
-.BR vmsplice (2).
+.MR vmsplice 2 .
.SH RETURN VALUE
Upon successful completion,
.BR splice ()
@@ -195,9 +195,9 @@ both arguments may refer to pipes.
.SH NOTES
The three system calls
.BR splice (),
-.BR vmsplice (2),
+.MR vmsplice 2 ,
and
-.BR tee (2),
+.MR tee 2 ,
provide user-space programs with full control over an arbitrary
kernel buffer, implemented within the kernel using the same type
of buffer that is used for a pipe.
@@ -207,10 +207,10 @@ In overview, these system calls perform the following tasks:
moves data from the buffer to an arbitrary file descriptor, or vice versa,
or from one buffer to another.
.TP
-.BR tee (2)
+.MR tee 2
"copies" the data from one buffer to another.
.TP
-.BR vmsplice (2)
+.MR vmsplice 2
"copies" data from user space into the buffer.
.P
Though we talk of copying, actual copies are generally avoided.
@@ -257,10 +257,10 @@ to traditional 32-bit x86 and ARM platforms where
width defaults to 32 bits.
.SH EXAMPLES
See
-.BR tee (2).
+.MR tee 2 .
.SH SEE ALSO
-.BR copy_file_range (2),
-.BR sendfile (2),
-.BR tee (2),
-.BR vmsplice (2),
-.BR pipe (7)
+.MR copy_file_range 2 ,
+.MR sendfile 2 ,
+.MR tee 2 ,
+.MR vmsplice 2 ,
+.MR pipe 7
diff --git a/man2/spu_create.2 b/man2/spu_create.2
index 9f137a047..9c5d71f02 100644
--- a/man2/spu_create.2
+++ b/man2/spu_create.2
@@ -29,7 +29,7 @@ Standard C library
glibc provides no wrapper for
.BR spu_create (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR spu_create ()
@@ -48,17 +48,17 @@ If
is successful, a directory is created at
.I pathname
and it is populated with the files described in
-.BR spufs (7).
+.MR spufs 7 .
.P
When a context is created,
the returned file descriptor can only be passed to
-.BR spu_run (2),
+.MR spu_run 2 ,
used as the
.I dirfd
argument to the
.B *at
family of system calls (e.g.,
-.BR openat (2)),
+.MR openat 2 ),
or closed;
other operations are not defined.
A logical SPU
@@ -72,11 +72,11 @@ is closed.
The
.I mode
argument (minus any bits set in the process's
-.BR umask (2))
+.MR umask 2 )
specifies the permissions used for creating the new directory in
.BR spufs .
See
-.BR stat (2)
+.MR stat 2
for a full list of the possible
.I mode
values.
@@ -96,7 +96,7 @@ combination of the following constants:
Rather than using signals for reporting DMA errors, use the
.I event
argument to
-.BR spu_run (2).
+.MR spu_run 2 .
.TP
.B SPU_CREATE_GANG
Create an SPU gang instead of a context.
@@ -174,7 +174,7 @@ is set to indicate the error.
.TP
.B EACCES
The current user does not have write access to the
-.BR spufs (7)
+.MR spufs 7
mount point.
.TP
.B EEXIST
@@ -188,7 +188,7 @@ calling process's address space.
.B EINVAL
.I pathname
is not a directory in the
-.BR spufs (7)
+.MR spufs 7
mount point, or invalid flags have been provided.
.TP
.B ELOOP
@@ -266,11 +266,11 @@ See
for the recommended libraries.
.SH EXAMPLES
See
-.BR spu_run (2)
+.MR spu_run 2
for an example of the use of
.BR spu_create ()
.SH SEE ALSO
-.BR close (2),
-.BR spu_run (2),
-.BR capabilities (7),
-.BR spufs (7)
+.MR close 2 ,
+.MR spu_run 2 ,
+.MR capabilities 7 ,
+.MR spufs 7
diff --git a/man2/spu_run.2 b/man2/spu_run.2
index d96592726..dd0bf8115 100644
--- a/man2/spu_run.2
+++ b/man2/spu_run.2
@@ -29,7 +29,7 @@ Standard C library
glibc provides no wrapper for
.BR spu_run (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR spu_run ()
@@ -39,7 +39,7 @@ Processor Units (SPUs).
The
.I fd
argument is a file descriptor returned by
-.BR spu_create (2)
+.MR spu_create 2
that refers to a specific SPU context.
When the context gets scheduled to a physical SPU,
it starts execution at the instruction pointer passed in
@@ -52,7 +52,7 @@ If there is a need
to execute SPU code in parallel with other code on either the
main CPU or other SPUs, a new thread of execution must be created
first (e.g., using
-.BR pthread_create (3)).
+.MR pthread_create 3 ).
.P
When
.BR spu_run ()
@@ -162,7 +162,7 @@ is non-NULL and an invalid pointer.
A signal occurred while
.BR spu_run ()
was in progress; see
-.BR signal (7).
+.MR signal 7 .
The
.I npc
value has been updated to the new program counter value if
@@ -171,7 +171,7 @@ necessary.
.B EINVAL
.I fd
is not a valid file descriptor returned from
-.BR spu_create (2).
+.MR spu_create 2 .
.TP
.B ENOMEM
There was not enough memory available to handle a page fault
@@ -254,7 +254,7 @@ int main(void)
.\" .SH AUTHORS
.\" Arnd Bergmann <arndb@de.ibm.com>, Jeremy Kerr <jk@ozlabs.org>
.SH SEE ALSO
-.BR close (2),
-.BR spu_create (2),
-.BR capabilities (7),
-.BR spufs (7)
+.MR close 2 ,
+.MR spu_create 2 ,
+.MR capabilities 7 ,
+.MR spufs 7
diff --git a/man2/stat.2 b/man2/stat.2
index e15269a70..8beaf7ca2 100644
--- a/man2/stat.2
+++ b/man2/stat.2
@@ -41,7 +41,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR lstat ():
@@ -100,7 +100,7 @@ is specified by the file descriptor
All of these system calls return a
.I stat
structure (see
-.BR stat (3type)).
+.MR stat 3type ).
.P
.\" Background: inode attributes are modified with i_mutex held, but
.\" read by stat() without taking the mutex.
@@ -114,9 +114,9 @@ For example, if
or
.I st_uid
is changed by another process by calling
-.BR chmod (2)
+.MR chmod 2
or
-.BR chown (2),
+.MR chown 2 ,
.BR stat ()
might return the old
.I st_mode
@@ -178,7 +178,7 @@ If
is an empty string, operate on the file referred to by
.I dirfd
(which may have been obtained using the
-.BR open (2)
+.MR open 2
.B O_PATH
flag).
In this case,
@@ -216,7 +216,7 @@ dereferences symbolic links, like
.BR stat ().)
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR fstatat ().
.SH RETURN VALUE
@@ -231,7 +231,7 @@ Search permission is denied for one of the directories
in the path prefix of
.IR pathname .
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.I fd
@@ -525,15 +525,15 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR ls (1),
-.BR stat (1),
-.BR access (2),
-.BR chmod (2),
-.BR chown (2),
-.BR readlink (2),
-.BR statx (2),
-.BR utime (2),
-.BR stat (3type),
-.BR capabilities (7),
-.BR inode (7),
-.BR symlink (7)
+.MR ls 1 ,
+.MR stat 1 ,
+.MR access 2 ,
+.MR chmod 2 ,
+.MR chown 2 ,
+.MR readlink 2 ,
+.MR statx 2 ,
+.MR utime 2 ,
+.MR stat 3type ,
+.MR capabilities 7 ,
+.MR inode 7 ,
+.MR symlink 7
diff --git a/man2/statfs.2 b/man2/statfs.2
index ffee7ee87..f88c7a46d 100644
--- a/man2/statfs.2
+++ b/man2/statfs.2
@@ -22,7 +22,7 @@ Standard C library
Unless you need the
.I f_type
field, you should use the standard
-.BR statvfs (3)
+.MR statvfs 3
interface instead.
.SH DESCRIPTION
The
@@ -163,25 +163,25 @@ It contains zero or more of the following bits:
.TP
.B ST_MANDLOCK
Mandatory locking is permitted on the filesystem (see
-.BR fcntl (2)).
+.MR fcntl 2 ).
.TP
.B ST_NOATIME
Do not update access times; see
-.BR mount (2).
+.MR mount 2 .
.TP
.B ST_NODEV
Disallow access to device special files on this filesystem.
.TP
.B ST_NODIRATIME
Do not update directory access times; see
-.BR mount (2).
+.MR mount 2 .
.TP
.B ST_NOEXEC
Execution of programs is disallowed on this filesystem.
.TP
.B ST_NOSUID
The set-user-ID and set-group-ID bits are ignored by
-.BR exec (3)
+.MR exec 3
for executable files on this filesystem
.TP
.B ST_RDONLY
@@ -189,18 +189,18 @@ This filesystem is mounted read-only.
.TP
.B ST_RELATIME
Update atime relative to mtime/ctime; see
-.BR mount (2).
+.MR mount 2 .
.TP
.B ST_SYNCHRONOUS
Writes are synched to the filesystem immediately (see the description of
.B O_SYNC
in
-.BR open (2)).
+.MR open 2 ).
.TP
.BR ST_NOSYMFOLLOW " (since Linux 5.10)"
.\" dab741e0e02bd3c4f5e2e97be74b39df2523fc6e
Symbolic links are not followed when resolving paths; see
-.BR mount (2).
+.MR mount 2 .
.P
Nobody knows what
.I f_fsid
@@ -223,7 +223,7 @@ is set to indicate the error.
Search permission is denied for a component of the path prefix of
.IR path .
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( fstatfs ())
@@ -238,7 +238,7 @@ points to an invalid address.
.TP
.B EINTR
The call was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EIO
An I/O error occurred while reading from the filesystem.
@@ -276,7 +276,7 @@ Some values were too large to be represented in the returned struct.
.SH VERSIONS
.SS The f_fsid field
Solaris, Irix, and POSIX have a system call
-.BR statvfs (2)
+.MR statvfs 2
that returns a
.I "struct statvfs"
(defined in
@@ -316,7 +316,7 @@ when NFS-exported, and giving it out is a security concern.
Under some operating systems, the
.I fsid
can be used as the second argument to the
-.BR sysfs (2)
+.MR sysfs 2
system call.
.SH STANDARDS
Linux.
@@ -353,9 +353,9 @@ LSB has deprecated the library calls
and
.BR fstatfs ()
and tells us to use
-.BR statvfs (3)
+.MR statvfs 3
and
-.BR fstatvfs (3)
+.MR fstatvfs 3
instead.
.SH NOTES
The
@@ -382,8 +382,8 @@ From Linux 2.6.38 up to and including Linux 3.1,
failed with the error
.B ENOSYS
for file descriptors created by
-.BR pipe (2).
+.MR pipe 2 .
.SH SEE ALSO
-.BR stat (2),
-.BR statvfs (3),
-.BR path_resolution (7)
+.MR stat 2 ,
+.MR statvfs 3 ,
+.MR path_resolution 7
diff --git a/man2/statx.2 b/man2/statx.2
index 0dcf7e20b..65013811f 100644
--- a/man2/statx.2
+++ b/man2/statx.2
@@ -134,7 +134,7 @@ is a relative pathname that is interpreted relative to the directory
referred to by
.IR dirfd .
(See
-.BR openat (2)
+.MR openat 2
for an explanation of why this is useful.)
.TP
By file descriptor
@@ -161,7 +161,7 @@ If
is an empty string, operate on the file referred to by
.I dirfd
(which may have been obtained using the
-.BR open (2)
+.MR open 2
.B O_PATH
flag).
In this case,
@@ -188,10 +188,10 @@ flag can be used in tools that scan directories
to prevent mass-automounting of a directory of automount points.
.IP
All of
-.BR stat (2),
-.BR lstat (2),
+.MR stat 2 ,
+.MR lstat 2 ,
and
-.BR fstatat (2)
+.MR fstatat 2
act as though
.B AT_NO_AUTOMOUNT
was set.
@@ -201,7 +201,7 @@ If
.I pathname
is a symbolic link, do not dereference it:
instead return information about the link itself, like
-.BR lstat (2).
+.MR lstat 2 .
.P
.I flags
can also be used to control what sort of synchronization the kernel will do
@@ -210,7 +210,7 @@ This is done by ORing in one of the following values:
.TP
.B AT_STATX_SYNC_AS_STAT
Do whatever
-.BR stat (2)
+.MR stat 2
does.
This is the default and is very much filesystem-specific.
.TP
@@ -328,9 +328,9 @@ For example, if
or
.I stx_uid
is changed by another process by calling
-.BR chmod (2)
+.MR chmod 2
or
-.BR chown (2),
+.MR chown 2 ,
.BR stat ()
might return the old
.I stx_mode
@@ -367,7 +367,7 @@ This field contains the ID of the group owner of the file.
.I stx_mode
The file type and mode.
See
-.BR inode (7)
+.MR inode 7
for details.
.TP
.I stx_ino
@@ -412,7 +412,7 @@ character device type.
.\" commit fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60
The mount ID of the mount containing the file.
This is the same number reported by
-.BR name_to_handle_at (2)
+.MR name_to_handle_at 2
and corresponds to the number in the first field in one of the records in
.IR /proc/self/mountinfo .
.TP
@@ -441,7 +441,7 @@ This will only be nonzero if
is nonzero, and vice versa.
.P
For further information on the above fields, see
-.BR inode (7).
+.MR inode 7 .
.\"
.SS File attributes
The
@@ -466,21 +466,21 @@ to access.
The file cannot be modified: it cannot be deleted or renamed,
no hard links can be created to this file and no data can be written to it.
See
-.BR chattr (1).
+.MR chattr 1 .
.TP
.B STATX_ATTR_APPEND
The file can only be opened in append mode for writing.
Random access writing
is not permitted.
See
-.BR chattr (1).
+.MR chattr 1 .
.TP
.B STATX_ATTR_NODUMP
File is not a candidate for backup when a backup program such as
-.BR dump (8)
+.MR dump 8
is run.
See
-.BR chattr (1).
+.MR chattr 1 .
.TP
.B STATX_ATTR_ENCRYPTED
A key is required for the file to be encrypted by the filesystem.
@@ -509,7 +509,7 @@ While the DAX property tends to result in data being transferred synchronously,
it does not give the same guarantees as the
.B O_SYNC
flag (see
-.BR open (2)),
+.MR open 2 ),
where data and the necessary metadata are transferred together.
.IP
A DAX file may support being mapped with the
@@ -517,9 +517,9 @@ A DAX file may support being mapped with the
flag, which enables a
program to use CPU cache flush instructions to persist CPU store operations
without an explicit
-.BR fsync (2).
+.MR fsync 2 .
See
-.BR mmap (2)
+.MR mmap 2
for more information.
.TP
.BR STATX_ATTR_MOUNT_ROOT " (since Linux 5.8)"
@@ -537,7 +537,7 @@ Search permission is denied for one of the directories
in the path prefix of
.IR pathname .
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.I pathname
@@ -599,16 +599,16 @@ Linux.
Linux 4.11,
glibc 2.28.
.SH SEE ALSO
-.BR ls (1),
-.BR stat (1),
-.BR access (2),
-.BR chmod (2),
-.BR chown (2),
-.BR name_to_handle_at (2),
-.BR readlink (2),
-.BR stat (2),
-.BR utime (2),
-.BR proc (5),
-.BR capabilities (7),
-.BR inode (7),
-.BR symlink (7)
+.MR ls 1 ,
+.MR stat 1 ,
+.MR access 2 ,
+.MR chmod 2 ,
+.MR chown 2 ,
+.MR name_to_handle_at 2 ,
+.MR readlink 2 ,
+.MR stat 2 ,
+.MR utime 2 ,
+.MR proc 5 ,
+.MR capabilities 7 ,
+.MR inode 7 ,
+.MR symlink 7
diff --git a/man2/stime.2 b/man2/stime.2
index 70ad2be83..ec5895e25 100644
--- a/man2/stime.2
+++ b/man2/stime.2
@@ -19,7 +19,7 @@ stime \- set time
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR stime ():
@@ -33,7 +33,7 @@ Feature Test Macro Requirements for glibc (see
.BR NOTE :
This function is deprecated;
use
-.BR clock_settime (2)
+.MR clock_settime 2
instead.
.P
.BR stime ()
@@ -68,6 +68,6 @@ this function is no longer available to newly linked applications
and is no longer declared in
.IR <time.h> .
.SH SEE ALSO
-.BR date (1),
-.BR settimeofday (2),
-.BR capabilities (7)
+.MR date 1 ,
+.MR settimeofday 2 ,
+.MR capabilities 7
diff --git a/man2/subpage_prot.2 b/man2/subpage_prot.2
index c006821c1..00a38b6e6 100644
--- a/man2/subpage_prot.2
+++ b/man2/subpage_prot.2
@@ -26,7 +26,7 @@ Standard C library
glibc provides no wrapper for
.BR subpage_prot (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The PowerPC-specific
.BR subpage_prot ()
@@ -111,8 +111,8 @@ hardware pages (on machines with hardware 64-kB page support).
.\" But Paul Mackerass says (Oct 2010): I'm pretty sure we now only switch
.\" the affected segment, not the whole process.
.SH SEE ALSO
-.BR mprotect (2),
-.BR syscall (2)
+.MR mprotect 2 ,
+.MR syscall 2
.P
.I Documentation/admin\-guide/mm/hugetlbpage.rst
in the Linux kernel source tree
diff --git a/man2/swapon.2 b/man2/swapon.2
index b2651fc39..27f3d172d 100644
--- a/man2/swapon.2
+++ b/man2/swapon.2
@@ -118,7 +118,7 @@ exists, but refers neither to a regular file nor to a block device;
.RB ( swapon ())
The indicated path does not contain a valid swap signature or
resides on an in-memory filesystem such as
-.BR tmpfs (5).
+.MR tmpfs 5 .
.TP
.BR EINVAL " (since Linux 3.4)"
.RB ( swapon ())
@@ -155,7 +155,7 @@ The
argument was introduced in Linux 1.3.2.
.SH NOTES
The partition or path must be prepared with
-.BR mkswap (8).
+.MR mkswap 8 .
.P
There is an upper limit on the number of swap files that may be used,
defined by the kernel constant
@@ -170,9 +170,9 @@ if the kernel is built with the
.B CONFIG_MIGRATION
option
(which reserves two swap table entries for the page migration features of
-.BR mbind (2)
+.MR mbind 2
and
-.BR migrate_pages (2)).
+.MR migrate_pages 2 ).
Since Linux 2.6.32, the limit is further decreased by 1
if the kernel is built with the
.B CONFIG_MEMORY_FAILURE
@@ -197,6 +197,6 @@ entire swap area when
.BR swapon ()
is called, even if that flag bit is not set.
.SH SEE ALSO
-.BR mkswap (8),
-.BR swapoff (8),
-.BR swapon (8)
+.MR mkswap 8 ,
+.MR swapoff 8 ,
+.MR swapon 8
diff --git a/man2/symlink.2 b/man2/symlink.2
index 21ab4fa45..62fc46f0c 100644
--- a/man2/symlink.2
+++ b/man2/symlink.2
@@ -31,7 +31,7 @@ Standard C library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR symlink ():
@@ -73,7 +73,7 @@ ignored when following the link
(except when the
.I protected_symlinks
feature is enabled, as explained in
-.BR proc (5)),
+.MR proc 5 ),
but is checked when removal or
renaming of the link is requested and the link is in a directory with
the sticky bit
@@ -121,7 +121,7 @@ is absolute, then
is ignored.
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR symlinkat ().
.SH RETURN VALUE
@@ -138,7 +138,7 @@ is denied, or one of the directories in the path prefix of
.I linkpath
did not allow search permission.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( symlinkat ())
@@ -250,16 +250,16 @@ is done.
Deleting the name referred to by a symbolic link will actually delete the
file (unless it also has other hard links).
If this behavior is not desired, use
-.BR link (2).
+.MR link 2 .
.SH SEE ALSO
-.BR ln (1),
-.BR namei (1),
-.BR lchown (2),
-.BR link (2),
-.BR lstat (2),
-.BR open (2),
-.BR readlink (2),
-.BR rename (2),
-.BR unlink (2),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR ln 1 ,
+.MR namei 1 ,
+.MR lchown 2 ,
+.MR link 2 ,
+.MR lstat 2 ,
+.MR open 2 ,
+.MR readlink 2 ,
+.MR rename 2 ,
+.MR unlink 2 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/sync.2 b/man2/sync.2
index 1c0c7d7b4..b80a4a810 100644
--- a/man2/sync.2
+++ b/man2/sync.2
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sync ():
@@ -86,7 +86,7 @@ Disk space was exhausted while synchronizing.
.B EDQUOT
Data was written to a file on NFS or another filesystem which does not
allocate space at the time of a
-.BR write (2)
+.MR write 2
system call, and some previous write failed due to insufficient
storage space.
.SH VERSIONS
@@ -143,6 +143,6 @@ call.
Before Linux 1.3.20, Linux did not wait for I/O to complete
before returning.
.SH SEE ALSO
-.BR sync (1),
-.BR fdatasync (2),
-.BR fsync (2)
+.MR sync 1 ,
+.MR fdatasync 2 ,
+.MR fsync 2
diff --git a/man2/sync_file_range.2 b/man2/sync_file_range.2
index 2f6fadbe9..4c8b4ee2e 100644
--- a/man2/sync_file_range.2
+++ b/man2/sync_file_range.2
@@ -169,7 +169,7 @@ and
.I offset
arguments.
(See
-.BR syscall (2)
+.MR syscall 2
for details.)
Therefore, these architectures define a different
system call that orders the arguments suitably:
@@ -207,7 +207,7 @@ to traditional 32-bit x86 and ARM platforms where
.BR off_t 's
width defaults to 32 bits.
.SH SEE ALSO
-.BR fdatasync (2),
-.BR fsync (2),
-.BR msync (2),
-.BR sync (2)
+.MR fdatasync 2 ,
+.MR fsync 2 ,
+.MR msync 2 ,
+.MR sync 2
diff --git a/man2/syscall.2 b/man2/syscall.2
index 82f02ebe1..d657554a8 100644
--- a/man2/syscall.2
+++ b/man2/syscall.2
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR syscall ():
@@ -54,7 +54,7 @@ when invoking a system call that has no wrapper function in the C library.
saves CPU registers before making the system call,
restores the registers upon return from the system call,
and stores any error returned by the system call in
-.BR errno (3).
+.MR errno 3 .
.P
Symbolic constants for system call numbers can be found in the header file
.IR <sys/syscall.h> .
@@ -94,7 +94,7 @@ Thus, using
.BR syscall ()
instead of the wrapper provided by glibc,
the
-.BR readahead (2)
+.MR readahead 2
system call would be invoked as follows on the ARM architecture with the EABI
in little endian mode:
.P
@@ -131,15 +131,15 @@ Note that while the parisc C ABI also uses aligned register pairs,
it uses a shim layer to hide the issue from user space.
.P
The affected system calls are
-.BR fadvise64_64 (2),
-.BR ftruncate64 (2),
-.BR posix_fadvise (2),
-.BR pread64 (2),
-.BR pwrite64 (2),
-.BR readahead (2),
-.BR sync_file_range (2),
+.MR fadvise64_64 2 ,
+.MR ftruncate64 2 ,
+.MR posix_fadvise 2 ,
+.MR pread64 2 ,
+.MR pwrite64 2 ,
+.MR readahead 2 ,
+.MR sync_file_range 2 ,
and
-.BR truncate64 (2).
+.MR truncate64 2 .
.P
.\" You need to look up the syscalls directly in the kernel source to see if
.\" they should be in this list. For example, look at fs/read_write.c and
@@ -148,12 +148,12 @@ and
.\" If they use off_t, then they most likely do not belong in this list.
This does not affect syscalls that manually split and assemble 64-bit values
such as
-.BR _llseek (2),
-.BR preadv (2),
-.BR preadv2 (2),
-.BR pwritev (2),
+.MR _llseek 2 ,
+.MR preadv 2 ,
+.MR preadv2 2 ,
+.MR pwritev 2 ,
and
-.BR pwritev2 (2).
+.MR pwritev2 2 .
Welcome to the wonderful world of historical baggage.
.SS Architecture calling conventions
Every architecture has its own way of invoking and passing arguments to the
@@ -163,7 +163,7 @@ The details for various architectures are listed in the two tables below.
The first table lists the instruction used to transition to kernel mode
(which might not be the fastest or best way to transition to the kernel,
so you might have to refer to
-.BR vdso (7)),
+.MR vdso 7 ),
the register used to indicate the system call number,
the register(s) used to return the system call result,
and the register used to signal an error.
@@ -265,7 +265,7 @@ for the x32 ABI.
Most of these additional system calls are actually identical
to the system calls used for providing i386 compat.
There are some notable exceptions, however, such as
-.BR preadv2 (2),
+.MR preadv2 2 ,
which uses
.I struct iovec
entities with 4-byte pointers and sizes ("compat_iovec" in kernel terms),
@@ -278,13 +278,13 @@ Some architectures
(namely, Alpha, IA-64, MIPS, SuperH, sparc/32, and sparc/64)
use an additional register ("Retval2" in the above table)
to pass back a second return value from the
-.BR pipe (2)
+.MR pipe 2
system call;
Alpha uses this technique in the architecture-specific
-.BR getxpid (2),
-.BR getxuid (2),
+.MR getxpid 2 ,
+.MR getxuid 2 ,
and
-.BR getxgid (2)
+.MR getxgid 2
system calls as well.
Other architectures do not use the second return value register
in the system call interface, even if it is defined in the System V ABI.
@@ -360,8 +360,8 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR _syscall (2),
-.BR intro (2),
-.BR syscalls (2),
-.BR errno (3),
-.BR vdso (7)
+.MR _syscall 2 ,
+.MR intro 2 ,
+.MR syscalls 2 ,
+.MR errno 3 ,
+.MR vdso 7
diff --git a/man2/syscalls.2 b/man2/syscalls.2
index 2014a8ea9..fd03be075 100644
--- a/man2/syscalls.2
+++ b/man2/syscalls.2
@@ -23,7 +23,7 @@ and the Linux kernel.
System calls are generally not invoked directly,
but rather via wrapper functions in glibc (or perhaps some other library).
For details of direct invocation of a system call, see
-.BR intro (2).
+.MR intro 2 .
Often, but not always, the name of the wrapper function is the same
as the name of the system call that it invokes.
For example, glibc contains a function
@@ -37,13 +37,13 @@ and then setting
.I errno
appropriately after the system call has returned.
(These are the same steps that are performed by
-.BR syscall (2),
+.MR syscall 2 ,
which can be used to invoke system calls
for which no wrapper function is provided.)
Note: system calls indicate a failure by returning a negative error
number to the caller on architectures without a separate error register/flag,
as noted in
-.BR syscall (2);
+.MR syscall 2 ;
when this happens,
the wrapper function negates the returned error number
(to make it positive), copies it to
@@ -54,9 +54,9 @@ Sometimes, however, the wrapper function does some extra work
before invoking the system call.
For example, nowadays there are (for reasons described below) two
related system calls,
-.BR truncate (2)
+.MR truncate 2
and
-.BR truncate64 (2),
+.MR truncate64 2 ,
and the glibc
.BR truncate ()
wrapper function checks which of those system calls
@@ -596,7 +596,7 @@ T}
\fBs390_guarded_storage\fP(2) 4.12 s390 only
\fBsched_get_affinity\fP(2) 2.6 T{
Name of
-.BR \%sched_getaffinity (2)
+.MR sched_getaffinity 2
on SPARC and SPARC64
T}
\fBsched_get_priority_max\fP(2) 2.0
@@ -608,7 +608,7 @@ T}
\fBsched_rr_get_interval\fP(2) 2.0
\fBsched_set_affinity\fP(2) 2.6 T{
Name of
-.BR \%sched_setaffinity (2)
+.MR sched_setaffinity 2
on SPARC and SPARC64
T}
\fBsched_setaffinity\fP(2) 2.6
@@ -836,9 +836,9 @@ T}
.P
On many platforms, including x86-32, socket calls are all multiplexed
(via glibc wrapper functions) through
-.BR socketcall (2)
+.MR socketcall 2
and similarly System\ V IPC calls are multiplexed through
-.BR ipc (2).
+.MR ipc 2 .
.P
Although slots are reserved for them in the system call table,
the following system calls are not implemented in the standard kernel:
@@ -863,30 +863,30 @@ the following system calls are not implemented in the standard kernel:
.BR tuxcall (2), \" __NR_tuxcall is 184 on x86_64, also on PPC and alpha
.BR ulimit (2), \" __NR_ulimit is 58 on Linux 2.6.22/i386
and
-.BR vserver (2) \" __NR_vserver is 273 on Linux 2.6.22/i386
+.MR vserver 2 \" __NR_vserver is 273 on Linux 2.6.22/i386
(see also
-.BR unimplemented (2)).
+.MR unimplemented 2 ).
However,
-.BR ftime (3),
-.BR profil (3),
+.MR ftime 3 ,
+.MR profil 3 ,
and
-.BR ulimit (3)
+.MR ulimit 3
exist as library routines.
The slot for
-.BR phys (2)
+.MR phys 2
is in use since Linux 2.1.116 for
-.BR umount (2);
-.BR phys (2)
+.MR umount 2 ;
+.MR phys 2
will never be implemented.
The
-.BR getpmsg (2)
+.MR getpmsg 2
and
-.BR putpmsg (2)
+.MR putpmsg 2
calls are for kernels patched to support STREAMS,
and may never be in the standard kernel.
.P
There was briefly
-.BR set_zone_reclaim (2),
+.MR set_zone_reclaim 2 ,
added in Linux 2.6.13, and removed in Linux 2.6.16;
this system call was never available to user space.
.\"
@@ -898,9 +898,9 @@ AVR32 (port removed in Linux 4.12)
.RS
.PD 0
.IP \[bu] 3
-.BR pread (2)
+.MR pread 2
.IP \[bu]
-.BR pwrite (2)
+.MR pwrite 2
.PD
.RE
.TP
@@ -908,22 +908,22 @@ Blackfin (port removed in Linux 4.17)
.RS
.PD 0
.IP \[bu] 3
-.BR bfin_spinlock (2)
+.MR bfin_spinlock 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR dma_memcpy (2)
+.MR dma_memcpy 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR pread (2)
+.MR pread 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR pwrite (2)
+.MR pwrite 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR sram_alloc (2)
+.MR sram_alloc 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR sram_free (2)
+.MR sram_free 2
(added in Linux 2.6.22)
.PD
.RE
@@ -932,16 +932,16 @@ Metag (port removed in Linux 4.17)
.RS
.PD 0
.IP \[bu] 3
-.BR metag_get_tls (2)
+.MR metag_get_tls 2
(add in Linux 3.9)
.IP \[bu]
-.BR metag_set_fpu_flags (2)
+.MR metag_set_fpu_flags 2
(add in Linux 3.9)
.IP \[bu]
-.BR metag_set_tls (2)
+.MR metag_set_tls 2
(add in Linux 3.9)
.IP \[bu]
-.BR metag_setglobalbit (2)
+.MR metag_setglobalbit 2
(add in Linux 3.9)
.PD
.RE
@@ -950,7 +950,7 @@ Tile (port removed in Linux 4.17)
.RS
.PD 0
.IP \[bu] 3
-.BR cmpxchg_badaddr (2)
+.MR cmpxchg_badaddr 2
(added in Linux 2.6.36)
.PD
.RE
@@ -976,9 +976,9 @@ structures or scalar values passed to the system call.
Because of these changes, certain architectures
(notably, longstanding 32-bit architectures such as i386)
now have various groups of related system calls (e.g.,
-.BR truncate (2)
+.MR truncate 2
and
-.BR truncate64 (2))
+.MR truncate64 2 )
which perform similar tasks, but which vary in
details such as the size of their arguments.
(As noted earlier, applications are generally unaware of this:
@@ -989,7 +989,7 @@ Examples of systems calls that exist in multiple versions are
the following:
.IP \[bu] 3
By now there are three different versions of
-.BR stat (2):
+.MR stat 2 :
.IR sys_stat ()
(slot
.IR __NR_oldstat ),
@@ -1005,9 +1005,9 @@ with the last being the most current.
.\" The stat system calls deal with three different data structures,
.\" defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
A similar story applies for
-.BR lstat (2)
+.MR lstat 2
and
-.BR fstat (2).
+.MR fstat 2 .
.IP \[bu]
Similarly, the defines
.IR __NR_oldolduname ,
@@ -1021,14 +1021,14 @@ and
.IR sys_newuname ().
.IP \[bu]
In Linux 2.0, a new version of
-.BR vm86 (2)
+.MR vm86 2
appeared, with the old and the new kernel routines being named
.IR sys_vm86old ()
and
.IR sys_vm86 ().
.IP \[bu]
In Linux 2.4, a new version of
-.BR getrlimit (2)
+.MR getrlimit 2
appeared, with the old and the new kernel routines being named
.IR sys_old_getrlimit ()
(slot
@@ -1043,10 +1043,10 @@ Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.
.\" fcntl64 (because of the flock structure), getdents64, *statfs64
To support this change, a range of system calls were added
(e.g.,
-.BR chown32 (2),
-.BR getuid32 (2),
-.BR getgroups32 (2),
-.BR setresuid32 (2)),
+.MR chown32 2 ,
+.MR getuid32 2 ,
+.MR getgroups32 2 ,
+.MR setresuid32 2 ),
superseding earlier calls of the same name without the
"32" suffix.
.IP \[bu]
@@ -1056,11 +1056,11 @@ file offsets can't be represented in 32 bits.)
To support this change, replacements were required for system calls
that deal with file offsets and sizes.
Thus the following system calls were added:
-.BR fcntl64 (2),
-.BR getdents64 (2),
-.BR stat64 (2),
-.BR statfs64 (2),
-.BR truncate64 (2),
+.MR fcntl64 2 ,
+.MR getdents64 2 ,
+.MR stat64 2 ,
+.MR statfs64 2 ,
+.MR truncate64 2 ,
and their analogs that work with file descriptors or
symbolic links.
These system calls supersede the older system calls
@@ -1077,14 +1077,14 @@ The
.I rt_sig*
calls were added in Linux 2.2 to support the addition
of real-time signals (see
-.BR signal (7)).
+.MR signal 7 ).
These system calls supersede the older system calls of the same
name without the "rt_" prefix.
.IP \[bu]
The
-.BR select (2)
+.MR select 2
and
-.BR mmap (2)
+.MR mmap 2
system calls use five or more arguments,
which caused problems in the way
argument passing on the i386 used to be set up.
@@ -1136,34 +1136,34 @@ s390x is the only 64-bit architecture that has
.\"
.SS "Architecture-specific details: Alpha"
.TP
-.BR getxgid (2)
+.MR getxgid 2
returns a pair of GID and effective GID via registers
\fBr0\fP and \fBr20\fP; it is provided
instead of
\fBgetgid\fP(2) and \fBgetegid\fP(2).
.TP
-.BR getxpid (2)
+.MR getxpid 2
returns a pair of PID and parent PID via registers
\fBr0\fP and \fBr20\fP; it is provided instead of
\fBgetpid\fP(2) and \fBgetppid\fP(2).
.TP
-.BR old_adjtimex (2)
+.MR old_adjtimex 2
is a variant of \fBadjtimex\fP(2) that uses \fIstruct timeval32\fP,
for compatibility with OSF/1.
.TP
-.BR getxuid (2)
+.MR getxuid 2
returns a pair of GID and effective GID via registers
\fBr0\fP and \fBr20\fP; it is provided instead of
\fBgetuid\fP(2) and \fBgeteuid\fP(2).
.TP
-.BR sethae (2)
+.MR sethae 2
is used for configuring the Host Address Extension register on
low-cost Alphas in order to access address space beyond first 27 bits.
.SH SEE ALSO
-.BR ausyscall (1),
-.BR intro (2),
-.BR syscall (2),
-.BR unimplemented (2),
-.BR errno (3),
-.BR libc (7),
-.BR vdso (7)
+.MR ausyscall 1 ,
+.MR intro 2 ,
+.MR syscall 2 ,
+.MR unimplemented 2 ,
+.MR errno 3 ,
+.MR libc 7 ,
+.MR vdso 7
diff --git a/man2/sysctl.2 b/man2/sysctl.2
index 3d91dc632..a07b4b39a 100644
--- a/man2/sysctl.2
+++ b/man2/sysctl.2
@@ -104,7 +104,7 @@ it is available only if the kernel was configured with the
option.
Furthermore, glibc does not provide a wrapper for this system call,
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH BUGS
The object names vary between kernel versions,
making this system call worthless for applications.
@@ -157,4 +157,4 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man2/sysfs.2 b/man2/sysfs.2
index 6e75cf3ae..9b5241dc9 100644
--- a/man2/sysfs.2
+++ b/man2/sysfs.2
@@ -20,7 +20,7 @@ if you are looking for information about the
filesystem that is normally mounted at
.IR /sys ,
see
-.BR sysfs (5).
+.MR sysfs 5 .
.P
The (obsolete)
.BR sysfs ()
@@ -93,5 +93,5 @@ use that interface instead.
There is no libc or glibc support.
There is no way to guess how large \fIbuf\fP should be.
.SH SEE ALSO
-.BR proc (5),
-.BR sysfs (5)
+.MR proc 5 ,
+.MR sysfs 5
diff --git a/man2/sysinfo.2 b/man2/sysinfo.2
index 75c578404..9e7ecaea5 100644
--- a/man2/sysinfo.2
+++ b/man2/sysinfo.2
@@ -103,4 +103,4 @@ All of the information provided by this system call is also available via
and
.IR /proc/loadavg .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man2/syslog.2 b/man2/syslog.2
index 15426badf..9b16e2c84 100644
--- a/man2/syslog.2
+++ b/man2/syslog.2
@@ -35,9 +35,9 @@ Standard C library
Probably, you are looking for the C library function
.BR syslog (),
which talks to
-.BR syslogd (8);
+.MR syslogd 8 ;
see
-.BR syslog (3)
+.MR syslog 3
for details.
.P
This page describes the kernel
@@ -373,6 +373,6 @@ different animals.
.\" In glibc 2.0 the syscall is baptized
.\" .BR klogctl ().
.SH SEE ALSO
-.BR dmesg (1),
-.BR syslog (3),
-.BR capabilities (7)
+.MR dmesg 1 ,
+.MR syslog 3 ,
+.MR capabilities 7
diff --git a/man2/tee.2 b/man2/tee.2
index 8ed9a67a8..4fe7aeb9c 100644
--- a/man2/tee.2
+++ b/man2/tee.2
@@ -35,7 +35,7 @@ to the pipe referred to by the file descriptor
It does not consume the data that is duplicated from
.IR fd_in ;
therefore, that data can be copied by a subsequent
-.BR splice (2).
+.MR splice 2 .
.P
.I flags
is a bit mask that is composed by ORing together
@@ -45,24 +45,24 @@ zero or more of the following values:
Currently has no effect for
.BR tee ();
see
-.BR splice (2).
+.MR splice 2 .
.TP
.B SPLICE_F_NONBLOCK
Do not block on I/O; see
-.BR splice (2)
+.MR splice 2
for further details.
.TP
.B SPLICE_F_MORE
Currently has no effect for
.BR tee (),
but may be implemented in the future; see
-.BR splice (2).
+.MR splice 2 .
.TP
.B SPLICE_F_GIFT
Unused for
.BR tee ();
see
-.BR vmsplice (2).
+.MR vmsplice 2 .
.SH RETURN VALUE
Upon successful completion,
.BR tee ()
@@ -116,7 +116,7 @@ assigns data to the output by merely grabbing
a reference to the input.
.SH EXAMPLES
The example below implements a basic
-.BR tee (1)
+.MR tee 1
program using the
.BR tee ()
system call.
@@ -194,6 +194,6 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR splice (2),
-.BR vmsplice (2),
-.BR pipe (7)
+.MR splice 2 ,
+.MR vmsplice 2 ,
+.MR pipe 7
diff --git a/man2/time.2 b/man2/time.2
index e85029db0..498b0d6a4 100644
--- a/man2/time.2
+++ b/man2/time.2
@@ -53,7 +53,7 @@ points outside your accessible address space (but see BUGS).
On systems where the C library
.BR time ()
wrapper function invokes an implementation provided by the
-.BR vdso (7)
+.MR vdso 7
(so that there is no trap into the kernel),
an invalid address may instead trigger a
.B SIGSEGV
@@ -79,12 +79,12 @@ see POSIX.1-2018 Rationale A.4.16.
Applications intended to run after 2038 should use ABIs with
.I time_t
wider than 32 bits; see
-.BR time_t (3type).
+.MR time_t 3type .
.SS C library/kernel differences
On some architectures, an implementation of
.BR time ()
is provided in the
-.BR vdso (7).
+.MR vdso 7 .
.SH STANDARDS
C11, POSIX.1-2008.
.SH HISTORY
@@ -106,9 +106,9 @@ When
.I tloc
is NULL, the call cannot fail.
.SH SEE ALSO
-.BR date (1),
-.BR gettimeofday (2),
-.BR ctime (3),
-.BR ftime (3),
-.BR time (7),
-.BR vdso (7)
+.MR date 1 ,
+.MR gettimeofday 2 ,
+.MR ctime 3 ,
+.MR ftime 3 ,
+.MR time 7 ,
+.MR vdso 7
diff --git a/man2/timer_create.2 b/man2/timer_create.2
index 1109858b8..8749cc601 100644
--- a/man2/timer_create.2
+++ b/man2/timer_create.2
@@ -21,7 +21,7 @@ Real-time library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR timer_create ():
@@ -99,7 +99,7 @@ capability in order to set a timer against this clock.
A system-wide clock derived from wall-clock time but counting leap seconds.
.P
See
-.BR clock_getres (2)
+.MR clock_getres 2
for some further details on the above clocks.
.P
As well as the above values,
@@ -107,9 +107,9 @@ As well as the above values,
can be specified as the
.I clockid
returned by a call to
-.BR clock_getcpuclockid (3)
+.MR clock_getcpuclockid 3
or
-.BR pthread_getcpuclockid (3).
+.MR pthread_getcpuclockid 3 .
.P
The
.I sevp
@@ -118,7 +118,7 @@ argument points to a
structure that specifies how the caller
should be notified when the timer expires.
For the definition and general details of this structure, see
-.BR sigevent (3type).
+.MR sigevent 3type .
.P
The
.I sevp.sigev_notify
@@ -127,14 +127,14 @@ field can have the following values:
.B SIGEV_NONE
Don't asynchronously notify when the timer expires.
Progress of the timer can be monitored using
-.BR timer_gettime (2).
+.MR timer_gettime 2 .
.TP
.B SIGEV_SIGNAL
Upon timer expiration, generate the signal
.I sigev_signo
for the process.
See
-.BR sigevent (3type)
+.MR sigevent 3type
for general details.
The
.I si_code
@@ -144,7 +144,7 @@ structure will be set to
.BR SI_TIMER .
At any point in time,
at most one signal is queued to the process for a given timer; see
-.BR timer_getoverrun (2)
+.MR timer_getoverrun 2
for more details.
.TP
.B SIGEV_THREAD
@@ -152,7 +152,7 @@ Upon timer expiration, invoke
.I sigev_notify_function
as if it were the start function of a new thread.
See
-.BR sigevent (3type)
+.MR sigevent 3type
for details.
.TP
.BR SIGEV_THREAD_ID " (Linux-specific)"
@@ -164,9 +164,9 @@ which must be a thread in the same process as the caller.
The
.I sigev_notify_thread_id
field specifies a kernel thread ID, that is, the value returned by
-.BR clone (2)
+.MR clone 2
or
-.BR gettid (2).
+.MR gettid 2 .
This flag is intended only for use by threading libraries.
.P
Specifying
@@ -239,7 +239,7 @@ internally the NPTL implementation uses a
value of
.B SIGEV_THREAD_ID
along with a real-time signal that is reserved by the implementation (see
-.BR nptl (7)).
+.MR nptl 7 ).
.IP \[bu]
The implementation of the default case where
.I evp
@@ -272,9 +272,9 @@ A program may create multiple interval timers using
.BR timer_create ().
.P
Timers are not inherited by the child of a
-.BR fork (2),
+.MR fork 2 ,
and are disarmed and deleted during an
-.BR execve (2).
+.MR execve 2 .
.P
The kernel preallocates a "queued real-time signal"
for each timer created using
@@ -282,7 +282,7 @@ for each timer created using
Consequently, the number of timers is limited by the
.B RLIMIT_SIGPENDING
resource limit (see
-.BR setrlimit (2)).
+.MR setrlimit 2 ).
.P
The timers created by
.BR timer_create ()
@@ -292,17 +292,17 @@ The POSIX timers API consists of the following interfaces:
.BR timer_create ()
Create a timer.
.TP
-.BR timer_settime (2)
+.MR timer_settime 2
Arm (start) or disarm (stop) a timer.
.TP
-.BR timer_gettime (2)
+.MR timer_gettime 2
Fetch the time remaining until the next expiration of a timer,
along with the interval setting of the timer.
.TP
-.BR timer_getoverrun (2)
+.MR timer_getoverrun 2
Return the overrun count for the last timer expiration.
.TP
-.BR timer_delete (2)
+.MR timer_delete 2
Disarm and delete a timer.
.P
Since Linux 3.10, the
@@ -310,7 +310,7 @@ Since Linux 3.10, the
file can be used to list the POSIX timers for the process with PID
.IR pid .
See
-.BR proc (5)
+.MR proc 5
for further information.
.P
Since Linux 4.10,
@@ -473,15 +473,15 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR clock_gettime (2),
-.BR setitimer (2),
-.BR timer_delete (2),
-.BR timer_getoverrun (2),
-.BR timer_settime (2),
-.BR timerfd_create (2),
-.BR clock_getcpuclockid (3),
-.BR pthread_getcpuclockid (3),
-.BR pthreads (7),
-.BR sigevent (3type),
-.BR signal (7),
-.BR time (7)
+.MR clock_gettime 2 ,
+.MR setitimer 2 ,
+.MR timer_delete 2 ,
+.MR timer_getoverrun 2 ,
+.MR timer_settime 2 ,
+.MR timerfd_create 2 ,
+.MR clock_getcpuclockid 3 ,
+.MR pthread_getcpuclockid 3 ,
+.MR pthreads 7 ,
+.MR sigevent 3type ,
+.MR signal 7 ,
+.MR time 7
diff --git a/man2/timer_delete.2 b/man2/timer_delete.2
index bdc2cfa12..4b795d631 100644
--- a/man2/timer_delete.2
+++ b/man2/timer_delete.2
@@ -18,7 +18,7 @@ Real-time library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR timer_delete ():
@@ -51,8 +51,8 @@ POSIX.1-2008.
Linux 2.6.
POSIX.1-2001.
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR timer_create (2),
-.BR timer_getoverrun (2),
-.BR timer_settime (2),
-.BR time (7)
+.MR clock_gettime 2 ,
+.MR timer_create 2 ,
+.MR timer_getoverrun 2 ,
+.MR timer_settime 2 ,
+.MR time 7
diff --git a/man2/timer_getoverrun.2 b/man2/timer_getoverrun.2
index edc1ff6ab..cf2f15d11 100644
--- a/man2/timer_getoverrun.2
+++ b/man2/timer_getoverrun.2
@@ -18,7 +18,7 @@ Real-time library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR timer_getoverrun ():
@@ -51,7 +51,7 @@ or because the signal may be temporarily blocked,
there can be a delay between the time when the notification
signal is generated and the time when it
is delivered (e.g., caught by a signal handler) or accepted (e.g., using
-.BR sigwaitinfo (2)).
+.MR sigwaitinfo 2 ).
In this interval, further timer expirations may occur.
The timer overrun count is the number of additional
timer expirations that occurred between the time when the signal
@@ -83,7 +83,7 @@ on Linux it is also possible to obtain the overrun count via the
field of the
.I siginfo_t
structure (see
-.BR sigaction (2)).
+.MR sigaction 2 ).
This allows an application to avoid the overhead of making
a system call to obtain the overrun count,
but is a nonportable extension to POSIX.1.
@@ -121,14 +121,14 @@ in
in this case (and the overrun value is reset to 0).
.SH EXAMPLES
See
-.BR timer_create (2).
+.MR timer_create 2 .
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR sigaction (2),
-.BR signalfd (2),
-.BR sigwaitinfo (2),
-.BR timer_create (2),
-.BR timer_delete (2),
-.BR timer_settime (2),
-.BR signal (7),
-.BR time (7)
+.MR clock_gettime 2 ,
+.MR sigaction 2 ,
+.MR signalfd 2 ,
+.MR sigwaitinfo 2 ,
+.MR timer_create 2 ,
+.MR timer_delete 2 ,
+.MR timer_settime 2 ,
+.MR signal 7 ,
+.MR time 7
diff --git a/man2/timer_settime.2 b/man2/timer_settime.2
index 1f8589874..8fa7da905 100644
--- a/man2/timer_settime.2
+++ b/man2/timer_settime.2
@@ -22,7 +22,7 @@ Real-time library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR timer_settime (),
@@ -43,17 +43,17 @@ the new interval for the timer.
The
.I itimerspec
structure is described in
-.BR itimerspec (3type).
+.MR itimerspec 3type .
.P
Each of the substructures of the
.I itimerspec
structure is a
-.BR timespec (3)
+.MR timespec 3
structure that allows a time value to be specified
in seconds and nanoseconds.
These time values are measured according to the clock
that was specified when the timer was created by
-.BR timer_create (2).
+.MR timer_create 2 .
.P
If
.I new_value\->it_value
@@ -98,7 +98,7 @@ value specified by
If the specified absolute time has already passed,
then the timer expires immediately,
and the overrun count (see
-.BR timer_getoverrun (2))
+.MR timer_getoverrun 2 )
will be set correctly.
.\" By experiment: the overrun count is set correctly, for CLOCK_REALTIME.
.P
@@ -179,9 +179,9 @@ Linux 2.6.
POSIX.1-2001.
.SH EXAMPLES
See
-.BR timer_create (2).
+.MR timer_create 2 .
.SH SEE ALSO
-.BR timer_create (2),
-.BR timer_getoverrun (2),
-.BR timespec (3),
-.BR time (7)
+.MR timer_create 2 ,
+.MR timer_getoverrun 2 ,
+.MR timespec 3 ,
+.MR time 7
diff --git a/man2/timerfd_create.2 b/man2/timerfd_create.2
index 23c399c7d..28b5a7338 100644
--- a/man2/timerfd_create.2
+++ b/man2/timerfd_create.2
@@ -24,24 +24,24 @@ Standard C library
These system calls create and operate on a timer
that delivers timer expiration notifications via a file descriptor.
They provide an alternative to the use of
-.BR setitimer (2)
+.MR setitimer 2
or
-.BR timer_create (2),
+.MR timer_create 2 ,
with the advantage that the file descriptor may be monitored by
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
and
-.BR epoll (7).
+.MR epoll 7 .
.P
The use of these three system calls is analogous to the use of
-.BR timer_create (2),
-.BR timer_settime (2),
+.MR timer_create 2 ,
+.MR timer_settime 2 ,
and
-.BR timer_gettime (2).
+.MR timer_gettime 2 .
(There is no analog of
-.BR timer_getoverrun (2),
+.MR timer_getoverrun 2 ,
since that functionality is provided by
-.BR read (2),
+.MR read 2 ,
as described below.)
.\"
.SS timerfd_create()
@@ -95,11 +95,11 @@ The caller must have the
capability in order to set a timer against this clock.
.P
See
-.BR clock_getres (2)
+.MR clock_getres 2
for some further details on the above clocks.
.P
The current value of each of these clocks can be retrieved using
-.BR clock_gettime (2).
+.MR clock_gettime 2 .
.P
Starting with Linux 2.6.27, the following values may be bitwise ORed in
.I flags
@@ -110,10 +110,10 @@ to change the behavior of
Set the
.B O_NONBLOCK
file status flag on the open file description (see
-.BR open (2))
+.MR open 2 )
referred to by the new file descriptor.
Using this flag saves extra calls to
-.BR fcntl (2)
+.MR fcntl 2
to achieve the same result.
.TP
.B TFD_CLOEXEC
@@ -123,7 +123,7 @@ flag on the new file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.P
In Linux versions up to and including 2.6.26,
@@ -141,7 +141,7 @@ argument specifies the initial expiration and interval for the timer.
The
.I itimerspec
structure used for this argument is described in
-.BR itimerspec (3type).
+.MR itimerspec 3type .
.P
.I new_value.it_value
specifies the initial expiration of the timer,
@@ -195,11 +195,12 @@ or
.BR CLOCK_REALTIME_ALARM ,
then mark this timer as cancelable if the real-time clock
undergoes a discontinuous change
-.RB ( settimeofday (2),
-.BR clock_settime (2),
+\%(\c
+.MR settimeofday 2 ,
+.MR clock_settime 2 ,
or similar).
When such changes occur, a current or future
-.BR read (2)
+.MR read 2
from the file descriptor will fail with the error
.BR ECANCELED .
.P
@@ -244,14 +245,14 @@ The file descriptor returned by
.BR timerfd_create ()
supports the following additional operations:
.TP
-.BR read (2)
+.MR read 2
If the timer has already expired one or more times since
its settings were last modified using
.BR timerfd_settime (),
or since the last successful
-.BR read (2),
+.MR read 2 ,
then the buffer given to
-.BR read (2)
+.MR read 2
returns an unsigned 8-byte integer
.RI ( uint64_t )
containing the number of expirations that have occurred.
@@ -259,20 +260,20 @@ containing the number of expirations that have occurred.
the native byte order for integers on the host machine.)
.IP
If no timer expirations have occurred at the time of the
-.BR read (2),
+.MR read 2 ,
then the call either blocks until the next timer expiration,
or fails with the error
.B EAGAIN
if the file descriptor has been made nonblocking
(via the use of the
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETFL
operation to set the
.B O_NONBLOCK
flag).
.IP
A
-.BR read (2)
+.MR read 2
fails with the error
.B EINVAL
if the size of the supplied buffer is less than 8 bytes.
@@ -288,7 +289,7 @@ and the flag
was specified when calling
.BR timerfd_settime (),
then
-.BR read (2)
+.MR read 2
fails with the error
.B ECANCELED
if the real-time clock undergoes a discontinuous change.
@@ -308,38 +309,38 @@ was
specified when calling
.BR timerfd_settime (),
then a discontinuous negative change to the clock (e.g.,
-.BR clock_settime (2))
+.MR clock_settime 2 )
may cause
-.BR read (2)
+.MR read 2
to unblock, but return a value of 0 (i.e., no bytes read),
if the clock change occurs after the time expired,
but before the
-.BR read (2)
+.MR read 2
on the file descriptor.
.TP
-.BR poll (2)
+.MR poll 2
.TQ
-.BR select (2)
+.MR select 2
.TQ
(and similar)
The file descriptor is readable
(the
-.BR select (2)
+.MR select 2
.I readfds
argument; the
-.BR poll (2)
+.MR poll 2
.B POLLIN
flag)
if one or more timer expirations have occurred.
.IP
The file descriptor also supports the other file-descriptor
multiplexing APIs:
-.BR pselect (2),
-.BR ppoll (2),
+.MR pselect 2 ,
+.MR ppoll 2 ,
and
-.BR epoll (7).
+.MR epoll 7 .
.TP
-.BR ioctl (2)
+.MR ioctl 2
The following timerfd-specific command is supported:
.RS
.TP
@@ -357,7 +358,7 @@ This operation is available only if the kernel was configured with the
option.
.RE
.TP
-.BR close (2)
+.MR close 2
When the file descriptor is no longer required it should be closed.
When all file descriptors associated with the same timer object
have been closed,
@@ -365,13 +366,13 @@ the timer is disarmed and its resources are freed by the kernel.
.\"
.SS fork(2) semantics
After a
-.BR fork (2),
+.MR fork 2 ,
the child inherits a copy of the file descriptor created by
.BR timerfd_create ().
The file descriptor refers to the same underlying
timer object as the corresponding file descriptor in the parent,
and
-.BR read (2)s
+.MR read 2 s
in the child will return information about
expirations of the timer.
.\"
@@ -379,7 +380,7 @@ expirations of the timer.
A file descriptor created by
.BR timerfd_create ()
is preserved across
-.BR execve (2),
+.MR execve 2 ,
and continues to generate timer expirations if the timer was armed.
.SH RETURN VALUE
On success,
@@ -494,7 +495,7 @@ and
flags;
.IP (2)
A discontinuous change (e.g.,
-.BR settimeofday (2))
+.MR settimeofday 2 )
is subsequently made to the
.B CLOCK_REALTIME
clock; and
@@ -502,7 +503,7 @@ clock; and
the caller once more calls
.BR timerfd_settime ()
to rearm the timer (without first doing a
-.BR read (2)
+.MR read 2
on the file descriptor).
.P
In this case the following occurs:
@@ -528,7 +529,7 @@ Currently,
.\" 2.6.29
.BR timerfd_create ()
supports fewer types of clock IDs than
-.BR timer_create (2).
+.MR timer_create 2 .
.SH EXAMPLES
The following program creates a timer and then monitors its progress.
The program accepts up to three command-line arguments.
@@ -690,15 +691,15 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR eventfd (2),
-.BR poll (2),
-.BR read (2),
-.BR select (2),
-.BR setitimer (2),
-.BR signalfd (2),
-.BR timer_create (2),
-.BR timer_gettime (2),
-.BR timer_settime (2),
-.BR timespec (3),
-.BR epoll (7),
-.BR time (7)
+.MR eventfd 2 ,
+.MR poll 2 ,
+.MR read 2 ,
+.MR select 2 ,
+.MR setitimer 2 ,
+.MR signalfd 2 ,
+.MR timer_create 2 ,
+.MR timer_gettime 2 ,
+.MR timer_settime 2 ,
+.MR timespec 3 ,
+.MR epoll 7 ,
+.MR time 7
diff --git a/man2/times.2 b/man2/times.2
index 7e85beb6e..08202158a 100644
--- a/man2/times.2
+++ b/man2/times.2
@@ -76,9 +76,9 @@ values for all waited-for terminated children.
.P
Times for terminated children (and their descendants)
are added in at the moment
-.BR wait (2)
+.MR wait 2
or
-.BR waitpid (2)
+.MR waitpid 2
returns their process ID.
In particular,
times of grandchildren
@@ -139,7 +139,7 @@ and
fields,
although POSIX.1-2001 says that this should happen
only if the calling process
-.BR wait (2)s
+.MR wait 2 s
on its children.
This nonconformance is rectified in Linux 2.6.9 and later.
.\" See the description of times() in XSH, which says:
@@ -162,7 +162,7 @@ combined with the fact that the returned value may overflow the range of
means that a portable application would be wise to avoid using this value.
To measure changes in elapsed time,
use
-.BR clock_gettime (2)
+.MR clock_gettime 2
instead.
.\" .P
.\" On older systems the number of clock ticks per second is given
@@ -190,7 +190,7 @@ sysconf(_SC_CLK_TCK);
.in
.P
Note that
-.BR clock (3)
+.MR clock 3
also returns a value of type
.IR clock_t ,
but this value is measured in units of
@@ -214,9 +214,9 @@ the maximum value that can be stored in
.\" "compat_sys_times() bogus until jiffies >= 0"
.\" November 2007
.SH SEE ALSO
-.BR time (1),
-.BR getrusage (2),
-.BR wait (2),
-.BR clock (3),
-.BR sysconf (3),
-.BR time (7)
+.MR time 1 ,
+.MR getrusage 2 ,
+.MR wait 2 ,
+.MR clock 3 ,
+.MR sysconf 3 ,
+.MR time 7
diff --git a/man2/tkill.2 b/man2/tkill.2
index 9bbf722fe..edb6f7049 100644
--- a/man2/tkill.2
+++ b/man2/tkill.2
@@ -29,7 +29,7 @@ Standard C library
glibc provides no wrapper for
.BR tkill (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR tgkill ()
sends the signal
@@ -39,7 +39,7 @@ to the thread with the thread ID
in the thread group
.IR tgid .
(By contrast,
-.BR kill (2)
+.MR kill 2
can be used to send a signal only to a process (i.e., thread group)
as a whole, and the signal will be delivered to an arbitrary
thread within that process.)
@@ -103,7 +103,7 @@ An invalid thread ID, thread group ID, or signal was specified.
.B EPERM
Permission denied.
For the required permissions, see
-.BR kill (2).
+.MR kill 2 .
.TP
.B ESRCH
No process with the specified thread ID (and thread group ID) exists.
@@ -121,10 +121,10 @@ glibc 2.30.
See the description of
.B CLONE_THREAD
in
-.BR clone (2)
+.MR clone 2
for an explanation of thread groups.
.SH SEE ALSO
-.BR clone (2),
-.BR gettid (2),
-.BR kill (2),
-.BR rt_sigqueueinfo (2)
+.MR clone 2 ,
+.MR gettid 2 ,
+.MR kill 2 ,
+.MR rt_sigqueueinfo 2
diff --git a/man2/truncate.2 b/man2/truncate.2
index ac72f8820..5484102df 100644
--- a/man2/truncate.2
+++ b/man2/truncate.2
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR truncate ():
@@ -68,7 +68,7 @@ The file offset is not changed.
If the size changed, then the st_ctime and st_mtime fields
(respectively, time of last status change and
time of last modification; see
-.BR inode (7))
+.MR inode 7 )
for the file are updated,
and the set-user-ID and set-group-ID mode bits may be cleared.
.P
@@ -90,7 +90,7 @@ For
Search permission is denied for a component of the path prefix,
or the named file is not writable by the user.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EFAULT
The argument
@@ -105,9 +105,9 @@ is larger than the maximum file size. (XSI)
.B EINTR
While blocked waiting to complete,
the call was interrupted by a signal handler; see
-.BR fcntl (2)
+.MR fcntl 2
and
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The argument
@@ -141,7 +141,7 @@ a file beyond its current size.
.TP
.B EPERM
The operation was prevented by a file seal; see
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.B EROFS
The named file resides on a read-only filesystem.
@@ -201,7 +201,7 @@ a notable example on Linux is VFAT.
On some 32-bit architectures,
the calling signature for these system calls differ,
for the reasons described in
-.BR syscall (2).
+.MR syscall 2 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -235,7 +235,7 @@ where they are available.
.SH NOTES
.BR ftruncate ()
can also be used to set the size of a POSIX shared memory object; see
-.BR shm_open (3).
+.MR shm_open 3 .
.SH BUGS
A header file bug in glibc 2.12 meant that the minimum value of
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=12037
@@ -245,7 +245,7 @@ required to expose the declaration of
was 200809L instead of 200112L.
This has been fixed in later glibc versions.
.SH SEE ALSO
-.BR truncate (1),
-.BR open (2),
-.BR stat (2),
-.BR path_resolution (7)
+.MR truncate 1 ,
+.MR open 2 ,
+.MR stat 2 ,
+.MR path_resolution 7
diff --git a/man2/umask.2 b/man2/umask.2
index 939f258e7..797870f91 100644
--- a/man2/umask.2
+++ b/man2/umask.2
@@ -32,8 +32,8 @@ sets the calling process's file mode creation mask (umask) to
are used), and returns the previous value of the mask.
.P
The umask is used by
-.BR open (2),
-.BR mkdir (2),
+.MR open 2 ,
+.MR mkdir 2 ,
and other system calls that create files
.\" e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
.\" but NOT the System V IPC *get() calls
@@ -42,12 +42,12 @@ Specifically, permissions in the umask are turned off from
the
.I mode
argument to
-.BR open (2)
+.MR open 2
and
-.BR mkdir (2).
+.MR mkdir 2 .
.P
Alternatively, if the parent directory has a default ACL (see
-.BR acl (5)),
+.MR acl 5 ),
the umask is ignored, the default ACL is inherited,
the permission bits are set based on the inherited ACL,
and permission bits absent in the
@@ -69,7 +69,7 @@ argument of 0666 (rw-rw-rw-), the resulting file permissions would be 0644
The constants that should be used to specify
.I mask
are described in
-.BR inode (7).
+.MR inode 7 .
.P
The typical default value for the process umask is
.BR S_IWGRP " | " S_IWOTH
@@ -77,7 +77,7 @@ The typical default value for the process umask is
In the usual case where the
.I mode
argument to
-.BR open (2)
+.MR open 2
is specified as:
.P
.in +4n
@@ -105,10 +105,10 @@ POSIX.1-2008.
POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
A child process created via
-.BR fork (2)
+.MR fork 2
inherits its parent's umask.
The umask is left unchanged by
-.BR execve (2).
+.MR execve 2 .
.P
It is impossible to use
.BR umask ()
@@ -128,22 +128,25 @@ Inspecting this field in
allows a process to retrieve its umask without at the same time changing it.
.P
The umask setting also affects the permissions assigned to POSIX IPC objects
-.RB ( mq_open (3),
-.BR sem_open (3),
-.BR shm_open (3)),
+\%(\c
+.MR mq_open 3 ,
+.MR sem_open 3 ,
+.MR shm_open 3 ),
FIFOs
-.RB ( mkfifo (3)),
+\%(\c
+.MR mkfifo 3 ),
and UNIX domain sockets
-.RB ( unix (7))
+\%(\c
+.MR unix 7 )
created by the process.
The umask does not affect the permissions assigned
to System\ V IPC objects created by the process (using
-.BR msgget (2),
-.BR semget (2),
-.BR shmget (2)).
+.MR msgget 2 ,
+.MR semget 2 ,
+.MR shmget 2 ).
.SH SEE ALSO
-.BR chmod (2),
-.BR mkdir (2),
-.BR open (2),
-.BR stat (2),
-.BR acl (5)
+.MR chmod 2 ,
+.MR mkdir 2 ,
+.MR open 2 ,
+.MR stat 2 ,
+.MR acl 5
diff --git a/man2/umount.2 b/man2/umount.2
index 6decda265..64dd95408 100644
--- a/man2/umount.2
+++ b/man2/umount.2
@@ -126,7 +126,7 @@ is not a mount point.
.B EINVAL
.I target
is locked; see
-.BR mount_namespaces (7).
+.MR mount_namespaces 7 .
.TP
.B EINVAL
.BR umount2 ()
@@ -196,7 +196,7 @@ To ensure
.BR umount ()
does not propagate in this fashion,
the mount may be remounted using a
-.BR mount (2)
+.MR mount 2
call with a
.I mount_flags
argument that includes both
@@ -207,8 +207,8 @@ prior to
.BR umount ()
being called.
.SH SEE ALSO
-.BR mount (2),
-.BR mount_namespaces (7),
-.BR path_resolution (7),
-.BR mount (8),
-.BR umount (8)
+.MR mount 2 ,
+.MR mount_namespaces 7 ,
+.MR path_resolution 7 ,
+.MR mount 8 ,
+.MR umount 8
diff --git a/man2/uname.2 b/man2/uname.2
index 99178fc22..51d084e05 100644
--- a/man2/uname.2
+++ b/man2/uname.2
@@ -115,11 +115,11 @@ Conversely, the
field is configured by the administrator to match the network
(this is what the BSD historically calls the "hostname",
and is set via
-.BR sethostname (2)).
+.MR sethostname 2 ).
Similarly, the
.I domainname
field is set via
-.BR setdomainname (2).
+.MR setdomainname 2 .
.P
Part of the utsname information is also accessible via
.IR /proc/sys/kernel/ { ostype ,
@@ -128,7 +128,7 @@ Part of the utsname information is also accessible via
.IR version ,
.IR domainname }.
.SH SEE ALSO
-.BR uname (1),
-.BR getdomainname (2),
-.BR gethostname (2),
-.BR uts_namespaces (7)
+.MR uname 1 ,
+.MR getdomainname 2 ,
+.MR gethostname 2 ,
+.MR uts_namespaces 7
diff --git a/man2/unimplemented.2 b/man2/unimplemented.2
index 577380615..d0c62ecf8 100644
--- a/man2/unimplemented.2
+++ b/man2/unimplemented.2
@@ -22,27 +22,27 @@ to
.BR ENOSYS .
.SH NOTES
Note that
-.BR ftime (3),
-.BR profil (3),
+.MR ftime 3 ,
+.MR profil 3 ,
and
-.BR ulimit (3)
+.MR ulimit 3
are implemented as library functions.
.P
Some system calls, like
-.BR alloc_hugepages (2),
-.BR free_hugepages (2),
-.BR ioperm (2),
-.BR iopl (2),
+.MR alloc_hugepages 2 ,
+.MR free_hugepages 2 ,
+.MR ioperm 2 ,
+.MR iopl 2 ,
and
-.BR vm86 (2)
+.MR vm86 2
exist only on certain architectures.
.P
Some system calls, like
-.BR ipc (2),
-.BR create_module (2),
-.BR init_module (2),
+.MR ipc 2 ,
+.MR create_module 2 ,
+.MR init_module 2 ,
and
-.BR delete_module (2)
+.MR delete_module 2
exist only when the Linux kernel was built with support for them.
.SH SEE ALSO
-.BR syscalls (2)
+.MR syscalls 2
diff --git a/man2/unlink.2 b/man2/unlink.2
index c43071f12..446415bd3 100644
--- a/man2/unlink.2
+++ b/man2/unlink.2
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR unlinkat ():
@@ -62,7 +62,7 @@ The
system call operates in exactly the same way as either
.BR unlink ()
or
-.BR rmdir (2)
+.MR rmdir 2
(depending on whether or not
.I flags
includes the
@@ -79,7 +79,7 @@ referred to by the file descriptor
the calling process, as is done by
.BR unlink ()
and
-.BR rmdir (2)
+.MR rmdir 2
for a relative pathname).
.P
If the pathname given in
@@ -94,7 +94,7 @@ is interpreted relative to the current working
directory of the calling process (like
.BR unlink ()
and
-.BR rmdir (2)).
+.MR rmdir 2 ).
.P
If the pathname given in
.I pathname
@@ -119,12 +119,12 @@ If the
.B AT_REMOVEDIR
flag is specified, then
performs the equivalent of
-.BR rmdir (2)
+.MR rmdir 2
on
.IR pathname .
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR unlinkat ().
.SH RETURN VALUE
@@ -142,7 +142,7 @@ directories in
.I pathname
did not allow search permission.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBUSY
The file
@@ -213,7 +213,7 @@ capability).
.B EPERM
The file to be unlinked is marked immutable or append-only.
(See
-.BR ioctl_iflags (2).)
+.MR ioctl_iflags 2 .)
.TP
.B EROFS
.I pathname
@@ -222,7 +222,7 @@ refers to a file on a read-only filesystem.
The same errors that occur for
.BR unlink ()
and
-.BR rmdir (2)
+.MR rmdir 2
can also occur for
.BR unlinkat ().
The following additional errors can occur for
@@ -271,7 +271,7 @@ On older kernels where
is unavailable, the glibc wrapper function falls back to the use of
.BR unlink ()
or
-.BR rmdir (2).
+.MR rmdir 2 .
When
.I pathname
is a relative pathname,
@@ -284,15 +284,15 @@ argument.
Infelicities in the protocol underlying NFS can cause the unexpected
disappearance of files which are still being used.
.SH SEE ALSO
-.BR rm (1),
-.BR unlink (1),
-.BR chmod (2),
-.BR link (2),
-.BR mknod (2),
-.BR open (2),
-.BR rename (2),
-.BR rmdir (2),
-.BR mkfifo (3),
-.BR remove (3),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR rm 1 ,
+.MR unlink 1 ,
+.MR chmod 2 ,
+.MR link 2 ,
+.MR mknod 2 ,
+.MR open 2 ,
+.MR rename 2 ,
+.MR rmdir 2 ,
+.MR mkfifo 3 ,
+.MR remove 3 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/unshare.2 b/man2/unshare.2
index 98d92cf72..e891e49a4 100644
--- a/man2/unshare.2
+++ b/man2/unshare.2
@@ -34,12 +34,12 @@ allows a process (or thread) to disassociate parts of its execution
context that are currently being shared with other processes (or threads).
Part of the execution context, such as the mount namespace, is shared
implicitly when a new process is created using
-.BR fork (2)
+.MR fork 2
or
-.BR vfork (2),
+.MR vfork 2 ,
while other parts, such as virtual memory, may be
shared by explicit request when creating a process or thread using
-.BR clone (2).
+.MR clone 2 .
.P
The main use of
.BR unshare ()
@@ -55,7 +55,7 @@ of the following constants:
.TP
.B CLONE_FILES
Reverse the effect of the
-.BR clone (2)
+.MR clone 2
.B CLONE_FILES
flag.
Unshare the file descriptor table, so that the calling process
@@ -63,21 +63,24 @@ no longer shares its file descriptors with any other process.
.TP
.B CLONE_FS
Reverse the effect of the
-.BR clone (2)
+.MR clone 2
.B CLONE_FS
flag.
Unshare filesystem attributes, so that the calling process
no longer shares its root directory
-.RB ( chroot (2)),
+\%(\c
+.MR chroot 2 ),
current directory
-.RB ( chdir (2)),
+\%(\c
+.MR chdir 2 ),
or umask
-.RB ( umask (2))
+\%(\c
+.MR umask 2 )
attributes with any other process.
.TP
.BR CLONE_NEWCGROUP " (since Linux 4.6)"
This flag has the same effect as the
-.BR clone (2)
+.MR clone 2
.B CLONE_NEWCGROUP
flag.
Unshare the cgroup namespace.
@@ -89,7 +92,7 @@ capability.
.TP
.BR CLONE_NEWIPC " (since Linux 2.6.19)"
This flag has the same effect as the
-.BR clone (2)
+.MR clone 2
.B CLONE_NEWIPC
flag.
Unshare the IPC namespace,
@@ -106,7 +109,7 @@ capability.
.TP
.BR CLONE_NEWNET " (since Linux 2.6.24)"
This flag has the same effect as the
-.BR clone (2)
+.MR clone 2
.B CLONE_NEWNET
flag.
Unshare the network namespace,
@@ -125,7 +128,7 @@ capability.
.\" CLONE_FS, and CLONE_FILES reverse the action of the clone()
.\" flags of the same name.
This flag has the same effect as the
-.BR clone (2)
+.MR clone 2
.B CLONE_NEWNS
flag.
Unshare the mount namespace,
@@ -140,11 +143,11 @@ requires the
.B CAP_SYS_ADMIN
capability.
For further information, see
-.BR mount_namespaces (7).
+.MR mount_namespaces 7 .
.TP
.BR CLONE_NEWPID " (since Linux 3.8)"
This flag has the same effect as the
-.BR clone (2)
+.MR clone 2
.B CLONE_NEWPID
flag.
Unshare the PID namespace,
@@ -155,7 +158,7 @@ The calling process is
moved into the new namespace.
The first child created by the calling process will have
the process ID 1 and will assume the role of
-.BR init (1)
+.MR init 1
in the new namespace.
.B CLONE_NEWPID
automatically implies
@@ -167,7 +170,7 @@ requires the
.B CAP_SYS_ADMIN
capability.
For further information, see
-.BR pid_namespaces (7).
+.MR pid_namespaces 7 .
.TP
.BR CLONE_NEWTIME " (since Linux 5.6)"
Unshare the time namespace,
@@ -182,18 +185,18 @@ requires the
.B CAP_SYS_ADMIN
capability.
For further information, see
-.BR time_namespaces (7).
+.MR time_namespaces 7 .
.TP
.BR CLONE_NEWUSER " (since Linux 3.8)"
This flag has the same effect as the
-.BR clone (2)
+.MR clone 2
.B CLONE_NEWUSER
flag.
Unshare the user namespace,
so that the calling process is moved into a new user namespace
which is not shared with any previously existing process.
As with the child process created by
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_NEWUSER
flag, the caller obtains a full set of capabilities in the new namespace.
@@ -215,11 +218,11 @@ of the calling process are mapped to user IDs and group IDs in the
user namespace of the calling process at the time of the call.
.IP
For further information on user namespaces, see
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.TP
.BR CLONE_NEWUTS " (since Linux 2.6.19)"
This flag has the same effect as the
-.BR clone (2)
+.MR clone 2
.B CLONE_NEWUTS
flag.
Unshare the UTS IPC namespace,
@@ -234,7 +237,7 @@ capability.
.BR CLONE_SYSVSEM " (since Linux 2.6.26)"
.\" commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7
This flag reverses the effect of the
-.BR clone (2)
+.MR clone 2
.B CLONE_SYSVSEM
flag.
Unshare System\ V semaphore adjustment
@@ -247,7 +250,7 @@ If this is the last process that has a reference to the process's current
.I semadj
list, then the adjustments in that list are applied
to the corresponding semaphores, as described in
-.BR semop (2).
+.MR semop 2 .
.\" CLONE_NEWNS If CLONE_SIGHAND is set and signals are also being shared
.\" (i.e., current->signal->count > 1), force CLONE_THREAD.
.P
@@ -366,7 +369,7 @@ context that need to be unshared.
was specified in flags,
but the limit on the nesting depth of PID namespaces
would have been exceeded; see
-.BR pid_namespaces (7).
+.MR pid_namespaces 7 .
.TP
.BR ENOSPC " (since Linux 4.9; beforehand " EUSERS )
.B CLONE_NEWUSER
@@ -375,7 +378,7 @@ was specified in
and the call would cause the limit on the number of
nested user namespaces to be exceeded.
See
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.IP
From Linux 3.11 to Linux 4.8, the error diagnosed in this case was
.BR EUSERS .
@@ -388,7 +391,7 @@ but doing so would have caused the limit defined by the corresponding file in
.I /proc/sys/user
to be exceeded.
For further details, see
-.BR namespaces (7).
+.MR namespaces 7 .
.TP
.B EPERM
The calling process did not have the required privileges for this operation.
@@ -399,7 +402,7 @@ was specified in
.IR flags ,
but either the effective user ID or the effective group ID of the caller
does not have a mapping in the parent namespace (see
-.BR user_namespaces (7)).
+.MR user_namespaces 7 ).
.TP
.BR EPERM " (since Linux 3.9)"
.\" commit 3151527ee007b73a0ebd296010f1c0454a919c7d
@@ -426,7 +429,7 @@ Linux 2.6.16.
.SH NOTES
Not all of the process attributes that can be shared when
a new process is created using
-.BR clone (2)
+.MR clone 2
can be unshared using
.BR unshare ().
In particular, as at kernel 3.8,
@@ -470,7 +473,7 @@ call does not require the
capability in the original namespace.
.SH EXAMPLES
The program below provides a simple implementation of the
-.BR unshare (1)
+.MR unshare 1
command, which unshares one or more namespaces and executes the
command supplied in its command-line arguments.
Here's an example of the use of this program,
@@ -489,7 +492,7 @@ mnt:[4026532325]
.in
.P
The differing output of the two
-.BR readlink (1)
+.MR readlink 1
commands shows that the two shells are in different mount namespaces.
.SS Program source
\&
@@ -556,13 +559,13 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR unshare (1),
-.BR clone (2),
-.BR fork (2),
-.BR kcmp (2),
-.BR setns (2),
-.BR vfork (2),
-.BR namespaces (7)
+.MR unshare 1 ,
+.MR clone 2 ,
+.MR fork 2 ,
+.MR kcmp 2 ,
+.MR setns 2 ,
+.MR vfork 2 ,
+.MR namespaces 7
.P
.I Documentation/userspace\-api/unshare.rst
in the Linux kernel source tree
diff --git a/man2/uselib.2 b/man2/uselib.2
index bb567c688..1e9496d6d 100644
--- a/man2/uselib.2
+++ b/man2/uselib.2
@@ -34,9 +34,9 @@ On error, \-1 is returned, and
is set to indicate the error.
.SH ERRORS
In addition to all of the error codes returned by
-.BR open (2)
+.MR open 2
and
-.BR mmap (2),
+.MR mmap 2 ,
the following may also be returned:
.TP
.B EACCES
@@ -45,7 +45,7 @@ The library specified by
does not have read or execute permission, or the caller does not have
search permission for one of the directories in the path prefix.
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B ENFILE
The system-wide limit on the total number of open files has been reached.
@@ -64,7 +64,7 @@ glibc before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
-.BR syscall (2).
+.MR syscall 2 .
.P
In ancient libc versions (before glibc 2.0),
.BR uselib ()
@@ -95,12 +95,12 @@ this system call is available only when the kernel is configured with the
.B CONFIG_USELIB
option.
.SH SEE ALSO
-.BR ar (1),
-.BR gcc (1),
-.BR ld (1),
-.BR ldd (1),
-.BR mmap (2),
-.BR open (2),
-.BR dlopen (3),
-.BR capabilities (7),
-.BR ld.so (8)
+.MR ar 1 ,
+.MR gcc 1 ,
+.MR ld 1 ,
+.MR ldd 1 ,
+.MR mmap 2 ,
+.MR open 2 ,
+.MR dlopen 3 ,
+.MR capabilities 7 ,
+.MR ld.so 8
diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
index 160261e2d..bcc6a1781 100644
--- a/man2/userfaultfd.2
+++ b/man2/userfaultfd.2
@@ -24,23 +24,23 @@ Standard C library
glibc provides no wrapper for
.BR userfaultfd (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
.BR userfaultfd ()
creates a new userfaultfd object that can be used for delegation of page-fault
handling to a user-space application,
and returns a file descriptor that refers to the new object.
The new userfaultfd object is configured using
-.BR ioctl (2).
+.MR ioctl 2 .
.P
Once the userfaultfd object is configured, the application can use
-.BR read (2)
+.MR read 2
to receive userfaultfd notifications.
The reads from userfaultfd may be blocking or non-blocking,
depending on the value of
.I flags
used for the creation of the userfaultfd or subsequent calls to
-.BR fcntl (2).
+.MR fcntl 2 .
.P
The following values may be bitwise ORed in
.I flags
@@ -52,14 +52,14 @@ Enable the close-on-exec flag for the new userfaultfd file descriptor.
See the description of the
.B O_CLOEXEC
flag in
-.BR open (2).
+.MR open 2 .
.TP
.B O_NONBLOCK
Enables non-blocking operation for the userfaultfd object.
See the description of the
.B O_NONBLOCK
flag in
-.BR open (2).
+.MR open 2 .
.TP
.B UFFD_USER_MODE_ONLY
This is an userfaultfd-specific flag that was introduced in Linux 5.11.
@@ -129,7 +129,7 @@ the faulting thread is put to sleep and
an event is generated that can be read via the userfaultfd file descriptor.
The fault-handling thread reads events from this file descriptor and services
them using the operations described in
-.BR ioctl_userfaultfd (2).
+.MR ioctl_userfaultfd 2 .
When servicing the page fault events,
the fault-handling thread can trigger a wake-up for the sleeping thread.
.P
@@ -147,7 +147,7 @@ Since Linux 4.11,
userfaultfd can also notify the fault-handling threads about changes
in the virtual memory layout of the faulting process.
In addition, if the faulting process invokes
-.BR fork (2),
+.MR fork 2 ,
the userfaultfd objects associated with the parent may be duplicated
into the child process and the userfaultfd monitor will be notified
(via the
@@ -162,7 +162,7 @@ explicit or implicit wakeup,
all other events are delivered asynchronously and
the non-cooperative process resumes execution as
soon as the userfaultfd manager executes
-.BR read (2).
+.MR read 2 .
The userfaultfd manager should carefully synchronize calls to
.B UFFDIO_COPY
with the processing of events.
@@ -198,13 +198,13 @@ After the userfaultfd object is created with
.BR userfaultfd (),
the application must enable it using the
.B UFFDIO_API
-.BR ioctl (2)
+.MR ioctl 2
operation.
This operation allows a two-step handshake between the kernel and user space
to determine what API version and features the kernel supports,
and then to enable those features user space wants.
This operation must be performed before any of the other
-.BR ioctl (2)
+.MR ioctl 2
operations described below (or those operations fail with the
.B EINVAL
error).
@@ -214,7 +214,7 @@ After a successful
operation,
the application then registers memory address ranges using the
.B UFFDIO_REGISTER
-.BR ioctl (2)
+.MR ioctl 2
operation.
After successful completion of a
.B UFFDIO_REGISTER
@@ -227,14 +227,14 @@ The application can then use various (e.g.,
.BR UFFDIO_ZEROPAGE ,
or
.BR UFFDIO_CONTINUE )
-.BR ioctl (2)
+.MR ioctl 2
operations to resolve the page fault.
.P
Since Linux 4.14, if the application sets the
.B UFFD_FEATURE_SIGBUS
feature bit using the
.B UFFDIO_API
-.BR ioctl (2),
+.MR ioctl 2 ,
no page-fault notification will be forwarded to user space.
Instead a
.B SIGBUS
@@ -252,14 +252,14 @@ holes in sparse files when the hole is accessed through a memory mapping.
The
.B UFFD_FEATURE_SIGBUS
feature is implicitly inherited through
-.BR fork (2)
+.MR fork 2
if used in combination with
.BR UFFD_FEATURE_FORK .
.P
Details of the various
-.BR ioctl (2)
+.MR ioctl 2
operations can be found in
-.BR ioctl_userfaultfd (2).
+.MR ioctl_userfaultfd 2 .
.P
Since Linux 4.11, events other than page-fault may enabled during
.B UFFDIO_API
@@ -389,7 +389,7 @@ and shmem-backed (since Linux 5.14) memory.
.\"
.SS Reading from the userfaultfd structure
Each
-.BR read (2)
+.MR read 2
from the userfaultfd file descriptor returns one or more
.I uffd_msg
structures, each of which describes a page-fault event
@@ -433,14 +433,14 @@ struct uffd_msg {
.in
.P
If multiple events are available and the supplied buffer is large enough,
-.BR read (2)
+.MR read 2
returns as many events as will fit in the supplied buffer.
If the buffer supplied to
-.BR read (2)
+.MR read 2
is smaller than the size of the
.I uffd_msg
structure, the
-.BR read (2)
+.MR read 2
fails with the error
.BR EINVAL .
.P
@@ -457,7 +457,7 @@ union represent details required for the event processing.
The non-page-fault events are generated only when appropriate feature
is enabled during API handshake with
.B UFFDIO_API
-.BR ioctl (2).
+.MR ioctl 2 .
.IP
The following values can appear in the
.I event
@@ -472,9 +472,9 @@ field.
.TP
.BR UFFD_EVENT_FORK " (since Linux 4.11)"
Generated when the faulting process invokes
-.BR fork (2)
+.MR fork 2
(or
-.BR clone (2)
+.MR clone 2
without the
.B CLONE_VM
flag).
@@ -485,14 +485,14 @@ field.
.TP
.BR UFFD_EVENT_REMAP " (since Linux 4.11)"
Generated when the faulting process invokes
-.BR mremap (2).
+.MR mremap 2 .
The event details are available in the
.I remap
field.
.TP
.BR UFFD_EVENT_REMOVE " (since Linux 4.11)"
Generated when the faulting process invokes
-.BR madvise (2)
+.MR madvise 2
with
.B MADV_DONTNEED
or
@@ -505,11 +505,11 @@ field.
.BR UFFD_EVENT_UNMAP " (since Linux 4.11)"
Generated when the faulting process unmaps a memory range,
either explicitly using
-.BR munmap (2)
+.MR munmap 2
or implicitly during
-.BR mmap (2)
+.MR mmap 2
or
-.BR mremap (2).
+.MR mremap 2 .
The event details are available in the
.I remove
field.
@@ -547,57 +547,57 @@ The thread ID that triggered the page fault.
.I fork.ufd
The file descriptor associated with the userfault object
created for the child created by
-.BR fork (2).
+.MR fork 2 .
.TP
.I remap.from
The original address of the memory range that was remapped using
-.BR mremap (2).
+.MR mremap 2 .
.TP
.I remap.to
The new address of the memory range that was remapped using
-.BR mremap (2).
+.MR mremap 2 .
.TP
.I remap.len
The original length of the memory range that was remapped using
-.BR mremap (2).
+.MR mremap 2 .
.TP
.I remove.start
The start address of the memory range that was freed using
-.BR madvise (2)
+.MR madvise 2
or unmapped
.TP
.I remove.end
The end address of the memory range that was freed using
-.BR madvise (2)
+.MR madvise 2
or unmapped
.P
A
-.BR read (2)
+.MR read 2
on a userfaultfd file descriptor can fail with the following errors:
.TP
.B EINVAL
The userfaultfd object has not yet been enabled using the
.B UFFDIO_API
-.BR ioctl (2)
+.MR ioctl 2
operation
.P
If the
.B O_NONBLOCK
flag is enabled in the associated open file description,
the userfaultfd file descriptor can be monitored with
-.BR poll (2),
-.BR select (2),
+.MR poll 2 ,
+.MR select 2 ,
and
-.BR epoll (7).
+.MR epoll 7 .
When events are available, the file descriptor indicates as readable.
If the
.B O_NONBLOCK
flag is not enabled, then
-.BR poll (2)
+.MR poll 2
(always) indicates the file as having a
.B POLLERR
condition, and
-.BR select (2)
+.MR select 2
indicates the file descriptor as both readable and writable.
.\" FIXME What is the reason for this seemingly odd behavior with respect
.\" to the O_NONBLOCK flag? (see userfaultfd_poll() in fs/userfaultfd.c).
@@ -645,7 +645,7 @@ The userfaultfd mechanism can be used as an alternative to
traditional user-space paging techniques based on the use of the
.B SIGSEGV
signal and
-.BR mmap (2).
+.MR mmap 2 .
It can also be used to implement lazy restore
for checkpoint/restore mechanisms,
as well as post-copy migration to allow (nearly) uninterrupted execution
@@ -655,7 +655,7 @@ from one host to another.
If the
.B UFFD_FEATURE_EVENT_FORK
is enabled and a system call from the
-.BR fork (2)
+.MR fork 2
family is interrupted by a signal or failed, a stale userfaultfd descriptor
might be created.
In this case, a spurious
@@ -666,7 +666,7 @@ The program below demonstrates the use of the userfaultfd mechanism.
The program creates two threads, one of which acts as the
page-fault handler for the process, for the pages in a demand-page zero
region created using
-.BR mmap (2).
+.MR mmap 2 .
.P
The program takes one command-line argument,
which is the number of pages that will be created in a mapping
@@ -675,7 +675,7 @@ After creating a userfaultfd object,
the program then creates an anonymous private mapping of the specified size
and registers the address range of that mapping using the
.B UFFDIO_REGISTER
-.BR ioctl (2)
+.MR ioctl 2
operation.
The program then creates a second thread that will perform the
task of handling page faults.
@@ -689,7 +689,7 @@ on the userfaultfd file descriptor.
Each of the page-fault events is handled by the second thread,
which sits in a loop processing input from the userfaultfd file descriptor.
In each loop iteration, the second thread first calls
-.BR poll (2)
+.MR poll 2
to check the state of the file descriptor,
and then reads an event from the file descriptor.
All such events should be
@@ -698,7 +698,7 @@ events,
which the thread handles by copying a page of data into
the faulting region using the
.B UFFDIO_COPY
-.BR ioctl (2)
+.MR ioctl 2
operation.
.P
The following is an example of what we see when running the program:
@@ -941,11 +941,11 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fcntl (2),
-.BR ioctl (2),
-.BR ioctl_userfaultfd (2),
-.BR madvise (2),
-.BR mmap (2)
+.MR fcntl 2 ,
+.MR ioctl 2 ,
+.MR ioctl_userfaultfd 2 ,
+.MR madvise 2 ,
+.MR mmap 2
.P
.I Documentation/admin\-guide/mm/userfaultfd.rst
in the Linux kernel source tree
diff --git a/man2/ustat.2 b/man2/ustat.2
index 2b47f9f54..d44d33775 100644
--- a/man2/ustat.2
+++ b/man2/ustat.2
@@ -83,7 +83,7 @@ Removed in glibc 2.28.
.BR ustat ()
is deprecated and has been provided only for compatibility.
All new programs should use
-.BR statfs (2)
+.MR statfs 2
instead.
.SS HP-UX notes
The HP-UX version of the
@@ -100,5 +100,5 @@ Such filesystems will return \-1 in the field
For some filesystems, inodes are dynamically allocated.
Such filesystems will return the current number of free inodes.
.SH SEE ALSO
-.BR stat (2),
-.BR statfs (2)
+.MR stat 2 ,
+.MR statfs 2
diff --git a/man2/utime.2 b/man2/utime.2
index f4858d3e3..ef9a87b7b 100644
--- a/man2/utime.2
+++ b/man2/utime.2
@@ -29,7 +29,7 @@ Standard C library
.SH DESCRIPTION
.B Note:
modern applications may prefer to use the interfaces described in
-.BR utimensat (2).
+.MR utimensat 2 .
.P
The
.BR utime ()
@@ -118,7 +118,7 @@ Search permission is denied for one of the directories in
the path prefix of
.I path
(see also
-.BR path_resolution (7)).
+.MR path_resolution 7 ).
.TP
.B EACCES
.I times
@@ -169,11 +169,11 @@ on an append-only file.
.\" .BR utime ()
.\" and hence does not allow a subsecond resolution.
.SH SEE ALSO
-.BR chattr (1),
-.BR touch (1),
-.BR futimesat (2),
-.BR stat (2),
-.BR utimensat (2),
-.BR futimens (3),
-.BR futimes (3),
-.BR inode (7)
+.MR chattr 1 ,
+.MR touch 1 ,
+.MR futimesat 2 ,
+.MR stat 2 ,
+.MR utimensat 2 ,
+.MR futimens 3 ,
+.MR futimes 3 ,
+.MR inode 7
diff --git a/man2/utimensat.2 b/man2/utimensat.2
index d58b4d82e..23f2b627b 100644
--- a/man2/utimensat.2
+++ b/man2/utimensat.2
@@ -22,7 +22,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR utimensat ():
@@ -46,9 +46,9 @@ and
.BR futimens ()
update the timestamps of a file with nanosecond precision.
This contrasts with the historical
-.BR utime (2)
+.MR utime 2
and
-.BR utimes (2),
+.MR utimes 2 ,
which permit only second and microsecond precision, respectively,
when setting file timestamps.
.P
@@ -73,7 +73,7 @@ Each of the elements of
specifies a time as the number of seconds and nanoseconds
since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
This information is conveyed in a
-.BR timespec (3)
+.MR timespec 3
structure.
.P
Updated file timestamps are set to the greatest value
@@ -156,10 +156,10 @@ directory referred to by the open file descriptor,
.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
-.BR utimes (2)
+.MR utimes 2
for a relative pathname).
See
-.BR openat (2)
+.MR openat 2
for an explanation of why this can be useful.
.P
If
@@ -172,7 +172,7 @@ then
.I pathname
is interpreted relative to the current working
directory of the calling process (like
-.BR utimes (2)).
+.MR utimes 2 ).
.P
If
.I pathname
@@ -192,7 +192,7 @@ If
is an empty string, operate on the file referred to by
.I dirfd
(which may have been obtained using the
-.BR open (2)
+.MR open 2
.B O_PATH
flag).
In this case,
@@ -373,7 +373,7 @@ capability); or,
.\" since the case when both tv_nsec fields are UTIME_NOW, was not
.\" treated like the (times == NULL) case.
the file is marked append-only or immutable (see
-.BR chattr (1)).
+.MR chattr 1 ).
.\" EXT2_IMMUTABLE_FL EXT_APPEND_FL and similar flags for
.\" other filesystems.
.\"
@@ -391,7 +391,7 @@ Search permission is denied for one of the prefix components of
.IR pathname .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -451,15 +451,15 @@ POSIX.1-2008.
.SH NOTES
.BR utimensat ()
obsoletes
-.BR futimesat (2).
+.MR futimesat 2 .
.P
On Linux, timestamps cannot be changed for a file marked immutable,
and the only change permitted for files marked append-only is to
set the timestamps to the current time.
(This is consistent with the historical behavior of
-.BR utime (2)
+.MR utime 2
and
-.BR utimes (2)
+.MR utimes 2
on Linux.)
.P
If both
@@ -620,14 +620,14 @@ instead checks whether the
.\" be able to update the timestamps of a file,
.\" even if it has write permission on the file.
.SH SEE ALSO
-.BR chattr (1),
-.BR touch (1),
-.BR futimesat (2),
-.BR openat (2),
-.BR stat (2),
-.BR utimes (2),
-.BR futimes (3),
-.BR timespec (3),
-.BR inode (7),
-.BR path_resolution (7),
-.BR symlink (7)
+.MR chattr 1 ,
+.MR touch 1 ,
+.MR futimesat 2 ,
+.MR openat 2 ,
+.MR stat 2 ,
+.MR utimes 2 ,
+.MR futimes 3 ,
+.MR timespec 3 ,
+.MR inode 7 ,
+.MR path_resolution 7 ,
+.MR symlink 7
diff --git a/man2/vfork.2 b/man2/vfork.2
index 0436b0f42..b978d94a5 100644
--- a/man2/vfork.2
+++ b/man2/vfork.2
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR vfork ():
@@ -40,7 +40,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR vfork ()
function has the same effect as
-.BR fork (2),
+.MR fork 2 ,
except that the behavior is undefined if the process created by
.BR vfork ()
either modifies any data other than a variable of type
@@ -50,49 +50,49 @@ used to store the return value from
or returns from the function in which
.BR vfork ()
was called, or calls any other function before successfully calling
-.BR _exit (2)
+.MR _exit 2
or one of the
-.BR exec (3)
+.MR exec 3
family of functions.
.SS Linux description
.BR vfork (),
just like
-.BR fork (2),
+.MR fork 2 ,
creates a child process of the calling process.
For details and return value and errors, see
-.BR fork (2).
+.MR fork 2 .
.P
.BR vfork ()
is a special case of
-.BR clone (2).
+.MR clone 2 .
It is used to create new processes without copying the page tables of
the parent process.
It may be useful in performance-sensitive applications
where a child is created which then immediately issues an
-.BR execve (2).
+.MR execve 2 .
.P
.BR vfork ()
differs from
-.BR fork (2)
+.MR fork 2
in that the calling thread is suspended until the child terminates
(either normally,
by calling
-.BR _exit (2),
+.MR _exit 2 ,
or abnormally, after delivery of a fatal signal),
or it makes a call to
-.BR execve (2).
+.MR execve 2 .
Until that point, the child shares all memory with its parent,
including the stack.
The child must not return from the current function or call
-.BR exit (3)
+.MR exit 3
(which would have the effect of calling exit handlers
established by the parent process and flushing the parent's
-.BR stdio (3)
+.MR stdio 3
buffers), but may call
-.BR _exit (2).
+.MR _exit 2 .
.P
As with
-.BR fork (2),
+.MR fork 2 ,
the child process created by
.BR vfork ()
inherits copies of various of the caller's process attributes
@@ -106,26 +106,26 @@ Signals sent to the parent
arrive after the child releases the parent's memory
(i.e., after the child terminates
or calls
-.BR execve (2)).
+.MR execve 2 ).
.SS Historic description
Under Linux,
-.BR fork (2)
+.MR fork 2
is implemented using copy-on-write pages, so the only penalty incurred by
-.BR fork (2)
+.MR fork 2
is the time and memory required to duplicate the parent's page tables,
and to create a unique task structure for the child.
However, in the bad old days a
-.BR fork (2)
+.MR fork 2
would require making a complete copy of the caller's data space,
often needlessly, since usually immediately afterward an
-.BR exec (3)
+.MR exec 3
is done.
Thus, for greater efficiency, BSD introduced the
.BR vfork ()
system call, which did not fully copy the address space of
the parent process, but borrowed the parent's memory and thread
of control until a call to
-.BR execve (2)
+.MR execve 2
or an exit occurred.
The parent process was suspended while the
child was using its resources.
@@ -138,11 +138,11 @@ held in a register.
The requirements put on
.BR vfork ()
by the standards are weaker than those put on
-.BR fork (2),
+.MR fork 2 ,
so an implementation where the two are synonymous is compliant.
In particular, the programmer cannot rely on the parent
remaining blocked until the child either terminates or calls
-.BR execve (2),
+.MR execve 2 ,
and cannot rely on any specific behavior with respect to shared memory.
.\" In AIXv3.1 vfork is equivalent to fork.
.P
@@ -157,7 +157,7 @@ as it will, in that case, be made synonymous to
.IR fork .\[rq]
However, even though modern memory management hardware
has decreased the performance difference between
-.BR fork (2)
+.MR fork 2
and
.BR vfork (),
there are various reasons why Linux and other systems have retained
@@ -169,16 +169,16 @@ advantage conferred by
.IP \[bu]
.BR vfork ()
can be implemented on systems that lack a memory-management unit (MMU), but
-.BR fork (2)
+.MR fork 2
can't be implemented on such systems.
(POSIX.1-2008 removed
.BR vfork ()
from the standard; the POSIX rationale for the
-.BR posix_spawn (3)
+.MR posix_spawn 3
function notes that that function,
which provides functionality equivalent to
-.BR fork (2)+\c
-.BR exec (3),
+.MR fork 2 +\c
+.MR exec 3 ,
is designed to be implementable on systems that lack an MMU.)
.\" http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
.\" http://developers.sun.com/solaris/articles/subprocess/subprocess.html
@@ -190,32 +190,32 @@ On systems where memory is constrained,
avoids the need to temporarily commit memory (see the description of
.I /proc/sys/vm/overcommit_memory
in
-.BR proc (5))
+.MR proc 5 )
in order to execute a new program.
(This can be especially beneficial where a large parent process wishes
to execute a small helper program in a child process.)
By contrast, using
-.BR fork (2)
+.MR fork 2
in this scenario requires either committing an amount of memory equal
to the size of the parent process (if strict overcommitting is in force)
or overcommitting memory with the risk that a process is terminated
by the out-of-memory (OOM) killer.
.SS Linux notes
Fork handlers established using
-.BR pthread_atfork (3)
+.MR pthread_atfork 3
are not called when a multithreaded program employing
the NPTL threading library calls
.BR vfork ().
Fork handlers are called in this case in a program using the
LinuxThreads threading library.
(See
-.BR pthreads (7)
+.MR pthreads 7
for a description of Linux threading libraries.)
.P
A call to
.BR vfork ()
is equivalent to calling
-.BR clone (2)
+.MR clone 2
with
.I flags
specified as:
@@ -238,13 +238,13 @@ system call appeared in 3.0BSD.
.\" In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
.\" present, but definitely on its way out'.
In 4.4BSD it was made synonymous to
-.BR fork (2)
+.MR fork 2
but NetBSD introduced it again;
see
.UR http://www.netbsd.org\:/Documentation\:/kernel\:/vfork.html
.UE .
In Linux, it has been equivalent to
-.BR fork (2)
+.MR fork 2
until Linux 2.2.0-pre6 or so.
Since Linux 2.2.0-pre9 (on i386, somewhat later on
other architectures) it is an independent system call.
@@ -270,7 +270,7 @@ or executes a new program.
This means that the child is sharing an address space with other running code.
This can be dangerous if another thread in the parent process
changes credentials (using
-.BR setuid (2)
+.MR setuid 2
or similar),
since there are now two processes with different privilege levels
running in the same address space.
@@ -282,9 +282,9 @@ After the
a thread in the parent process drops the process to an unprivileged user
in order to run some untrusted code
(e.g., perhaps via plug-in opened with
-.BR dlopen (3)).
+.MR dlopen 3 ).
In this case, attacks are possible where the parent process uses
-.BR mmap (2)
+.MR mmap 2
to map in code that will be executed by the privileged child process.
.\"
.SH BUGS
@@ -308,9 +308,9 @@ are allowed and input attempts result in an end-of-file indication."
.\" .BR vfork ()
.\" and requires a kernel patch.
.SH SEE ALSO
-.BR clone (2),
-.BR execve (2),
-.BR _exit (2),
-.BR fork (2),
-.BR unshare (2),
-.BR wait (2)
+.MR clone 2 ,
+.MR execve 2 ,
+.MR _exit 2 ,
+.MR fork 2 ,
+.MR unshare 2 ,
+.MR wait 2
diff --git a/man2/vhangup.2 b/man2/vhangup.2
index c0f68f37a..170a6ce9d 100644
--- a/man2/vhangup.2
+++ b/man2/vhangup.2
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR vhangup ():
@@ -54,5 +54,5 @@ capability is required.
.SH STANDARDS
Linux.
.SH SEE ALSO
-.BR init (1),
-.BR capabilities (7)
+.MR init 1 ,
+.MR capabilities 7
diff --git a/man2/vmsplice.2 b/man2/vmsplice.2
index 819465b23..ca182d152 100644
--- a/man2/vmsplice.2
+++ b/man2/vmsplice.2
@@ -56,7 +56,7 @@ The pointer
points to an array of
.I iovec
structures as described in
-.BR iovec (3type).
+.MR iovec 3type .
.P
The
.I flags
@@ -67,20 +67,20 @@ zero or more of the following values:
Unused for
.BR vmsplice ();
see
-.BR splice (2).
+.MR splice 2 .
.TP
.B SPLICE_F_NONBLOCK
.\" Not used for vmsplice
.\" May be in the future -- therefore EAGAIN
Do not block on I/O; see
-.BR splice (2)
+.MR splice 2
for further details.
.TP
.B SPLICE_F_MORE
Currently has no effect for
.BR vmsplice (),
but may be implemented in the future; see
-.BR splice (2).
+.MR splice 2 .
.TP
.B SPLICE_F_GIFT
The user pages are a gift to the kernel.
@@ -88,11 +88,11 @@ The application may not modify this memory ever,
.\" FIXME . Explain the following line in a little more detail:
otherwise the page cache and on-disk data may differ.
Gifting pages to the kernel means that a subsequent
-.BR splice (2)
+.MR splice 2
.B SPLICE_F_MOVE
can successfully move the pages;
if this flag is not specified, then a subsequent
-.BR splice (2)
+.MR splice 2
.B SPLICE_F_MOVE
must copy the pages.
Data must also be properly page aligned, both in memory and length.
@@ -157,6 +157,6 @@ But this makes the interface nice and symmetric and enables people to build on
.BR vmsplice ()
with room for future improvement in performance.
.SH SEE ALSO
-.BR splice (2),
-.BR tee (2),
-.BR pipe (7)
+.MR splice 2 ,
+.MR tee 2 ,
+.MR pipe 7
diff --git a/man2/wait.2 b/man2/wait.2
index 2e0e9c254..c4ea1ddce 100644
--- a/man2/wait.2
+++ b/man2/wait.2
@@ -47,7 +47,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR waitid ():
@@ -77,7 +77,7 @@ a signal handler interrupts the call (assuming that system calls
are not automatically restarted using the
.B SA_RESTART
flag of
-.BR sigaction (2)).
+.MR sigaction 2 ).
In the remainder of this page, a child whose state has changed
and which has not yet been waited upon by one of these system
calls is termed
@@ -142,7 +142,7 @@ return immediately if no child has exited.
.B WUNTRACED
also return if a child has stopped
(but not traced via
-.BR ptrace (2)).
+.MR ptrace 2 ).
Status for
.I traced
children which have stopped is provided
@@ -171,9 +171,9 @@ and
.BI WIFEXITED( wstatus )
returns true if the child terminated normally, that is,
by calling
-.BR exit (3)
+.MR exit 3
or
-.BR _exit (2),
+.MR _exit 2 ,
or by returning from main().
.TP
.BI WEXITSTATUS( wstatus )
@@ -181,9 +181,9 @@ returns the exit status of the child.
This consists of the least significant 8 bits of the
.I status
argument that the child specified in a call to
-.BR exit (3)
+.MR exit 3
or
-.BR _exit (2)
+.MR _exit 2
or as the argument for a return statement in main().
This macro should be employed only if
.B WIFEXITED
@@ -201,7 +201,7 @@ returned true.
.TP
.BI WCOREDUMP( wstatus )
returns true if the child produced a core dump (see
-.BR core (5)).
+.MR core 5 ).
This macro should be employed only if
.B WIFSIGNALED
returned true.
@@ -216,7 +216,7 @@ returns true if the child process was stopped by delivery of a signal;
this is possible only if the call was done using
.B WUNTRACED
or when the child is being traced (see
-.BR ptrace (2)).
+.MR ptrace 2 ).
.TP
.BI WSTOPSIG( wstatus )
returns the number of the signal which caused the child to stop.
@@ -249,7 +249,7 @@ Wait for the child whose process ID matches
Wait for the child referred to by the PID file descriptor specified in
.IR id .
(See
-.BR pidfd_open (2)
+.MR pidfd_open 2
for further information on PID file descriptors.)
.TP
.IR idtype " == " \fBP_PGID\fP
@@ -313,9 +313,9 @@ Always set to
.TP
\fIsi_status\fP
Either the exit status of the child, as given to
-.BR _exit (2)
+.MR _exit 2
(or
-.BR exit (3)),
+.MR exit 3 ),
or the signal that caused the child to terminate, stop, or continue.
The
.I si_code
@@ -325,7 +325,7 @@ field can be used to determine how to interpret this field.
Set to one of:
.B CLD_EXITED
(child called
-.BR _exit (2));
+.MR _exit 2 );
.B CLD_KILLED
(child killed by signal);
.B CLD_DUMPED
@@ -445,7 +445,7 @@ See also the \fILinux Notes\fP section about threads.)
was not set and an unblocked signal or a
.B SIGCHLD
was caught; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The
@@ -464,7 +464,7 @@ is equal to
.SS C library/kernel differences
.BR wait ()
is actually a library function that (in glibc) is implemented as a call to
-.BR wait4 (2).
+.MR wait4 2 .
.P
On some architectures, there is no
.BR waitpid ()
@@ -472,7 +472,7 @@ system call;
.\" e.g., i386 has the system call, but not x86-64
instead, this interface is implemented via a C library
wrapper function that calls
-.BR wait4 (2).
+.MR wait4 2 .
.P
The raw
.BR waitid ()
@@ -481,9 +481,9 @@ system call takes a fifth argument, of type
If this argument is non-NULL,
then it is used to return resource usage information about the child,
in the same manner as
-.BR wait4 (2).
+.MR wait4 2 .
See
-.BR getrusage (2)
+.MR getrusage 2
for details.
.SH STANDARDS
POSIX.1-2008.
@@ -500,12 +500,12 @@ it will consume a slot in the kernel process table, and if
this table fills, it will not be possible to create further processes.
If a parent process terminates, then its "zombie" children (if any)
are adopted by
-.BR init (1),
+.MR init 1 ,
(or by the nearest "subreaper" process as defined through the use of the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_CHILD_SUBREAPER
operation);
-.BR init (1)
+.MR init 1
automatically performs a wait to remove the zombies.
.P
POSIX.1-2001 specifies that if the disposition of
@@ -517,7 +517,7 @@ or the
flag is set for
.B SIGCHLD
(see
-.BR sigaction (2)),
+.MR sigaction 2 ),
then children that terminate do not become zombies and a call to
.BR wait ()
or
@@ -554,11 +554,11 @@ In the Linux kernel, a kernel-scheduled thread is not a distinct
construct from a process.
Instead, a thread is simply a process
that is created using the Linux-unique
-.BR clone (2)
+.MR clone 2
system call; other routines such as the portable
-.BR pthread_create (3)
+.MR pthread_create 3
call are implemented using
-.BR clone (2).
+.MR clone 2 .
Before Linux 2.4, a thread was just a special case of a process,
and as a consequence one thread could not wait on the children
of another thread, even when the latter belongs to the same thread group.
@@ -569,7 +569,7 @@ in the same thread group.
The following Linux-specific
.I options
are for use with children created using
-.BR clone (2);
+.MR clone 2 ;
they can also, since Linux 4.7,
.\" commit 91c4e8ea8f05916df0c8a6f383508ac7c9e10dba
be used with
@@ -622,13 +622,13 @@ nonstandard, and unnecessary feature.
.SH EXAMPLES
.\" fork.2 refers to this example program.
The following program demonstrates the use of
-.BR fork (2)
+.MR fork 2
and
.BR waitpid ().
The program creates a child process.
If no command-line argument is supplied to the program,
then the child suspends its execution using
-.BR pause (2),
+.MR pause 2 ,
to allow the user to send signals to the child.
Otherwise, if a command-line argument is supplied,
then the child exits immediately,
@@ -706,15 +706,15 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR _exit (2),
-.BR clone (2),
-.BR fork (2),
-.BR kill (2),
-.BR ptrace (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR wait4 (2),
-.BR pthread_create (3),
-.BR core (5),
-.BR credentials (7),
-.BR signal (7)
+.MR _exit 2 ,
+.MR clone 2 ,
+.MR fork 2 ,
+.MR kill 2 ,
+.MR ptrace 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR wait4 2 ,
+.MR pthread_create 3 ,
+.MR core 5 ,
+.MR credentials 7 ,
+.MR signal 7
diff --git a/man2/wait4.2 b/man2/wait4.2
index 27d908997..3ea2ad4f9 100644
--- a/man2/wait4.2
+++ b/man2/wait4.2
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wait3 ():
@@ -54,9 +54,9 @@ Feature Test Macro Requirements for glibc (see
.fi
.SH DESCRIPTION
These functions are nonstandard; in new programs, the use of
-.BR waitpid (2)
+.MR waitpid 2
or
-.BR waitid (2)
+.MR waitid 2
is preferable.
.P
The
@@ -64,7 +64,7 @@ The
and
.BR wait4 ()
system calls are similar to
-.BR waitpid (2),
+.MR waitpid 2 ,
but additionally return resource usage information about the
child in the structure pointed to by
.IR rusage .
@@ -113,7 +113,7 @@ waits of any child, while
.BR wait4 ()
can be used to select a specific child, or children, on which to wait.
See
-.BR wait (2)
+.MR wait 2
for further details.
.P
If
@@ -123,14 +123,14 @@ is not NULL, the
to which it points will be filled with accounting information
about the child.
See
-.BR getrusage (2)
+.MR getrusage 2
for details.
.SH RETURN VALUE
As for
-.BR waitpid (2).
+.MR waitpid 2 .
.SH ERRORS
As for
-.BR waitpid (2).
+.MR waitpid 2 .
.SH STANDARDS
None.
.SH HISTORY
@@ -161,9 +161,9 @@ is a library function implemented on top of the
.BR wait4 ()
system call.
.SH SEE ALSO
-.BR fork (2),
-.BR getrusage (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR wait (2),
-.BR signal (7)
+.MR fork 2 ,
+.MR getrusage 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR wait 2 ,
+.MR signal 7
diff --git a/man2/write.2 b/man2/write.2
index a24cbdc31..0b7993b45 100644
--- a/man2/write.2
+++ b/man2/write.2
@@ -43,22 +43,22 @@ if, for example,
there is insufficient space on the underlying physical medium, or the
.B RLIMIT_FSIZE
resource limit is encountered (see
-.BR setrlimit (2)),
+.MR setrlimit 2 ),
or the call was interrupted by a signal
handler after having written less than
.I count
bytes.
(See also
-.BR pipe (7).)
+.MR pipe 7 .)
.P
For a seekable file (i.e., one to which
-.BR lseek (2)
+.MR lseek 2
may be applied, for example, a regular file)
writing takes place at the file offset,
and the file offset is incremented by
the number of bytes actually written.
If the file was
-.BR open (2)ed
+.MR open 2 ed
with
.BR O_APPEND ,
the file offset is first set to the end of the file before writing.
@@ -66,7 +66,7 @@ The adjustment of the file offset and the write operation
are performed as an atomic step.
.P
POSIX requires that a
-.BR read (2)
+.MR read 2
that can be proved to occur after a
.BR write ()
has returned will return the new data.
@@ -122,7 +122,7 @@ refers to a file other than a socket and has been marked nonblocking
.RB ( O_NONBLOCK ),
and the write would block.
See
-.BR open (2)
+.MR open 2
for further details on the
.B O_NONBLOCK
flag.
@@ -145,7 +145,7 @@ is not a valid file descriptor or is not open for writing.
.B EDESTADDRREQ
.I fd
refers to a datagram socket for which a peer address has not been set using
-.BR connect (2).
+.MR connect 2 .
.TP
.B EDQUOT
The user's quota of disk blocks on the filesystem containing the file
@@ -164,7 +164,7 @@ or to write at a position past the maximum allowed offset.
.TP
.B EINTR
The call was interrupted by a signal before any data was written; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.I fd
@@ -191,7 +191,7 @@ be reported by subsequent.
requests, and
.I will
be reported by a subsequent
-.BR fsync (2)
+.MR fsync 2
(whether or not they were also reported by
.BR write ()).
.\" commit 088737f44bbf6378745f5b57b035e57ee3dc4750
@@ -202,7 +202,7 @@ on the file descriptor and this lock has been lost.
See the
.I "Lost locks"
section of
-.BR fcntl (2)
+.MR fcntl 2
for further details.
.TP
.B ENOSPC
@@ -212,7 +212,7 @@ has no room for the data.
.TP
.B EPERM
The operation was prevented by a file seal; see
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.B EPIPE
.I fd
@@ -245,11 +245,11 @@ that space has successfully been reserved for the data.
In this case,
some errors might be delayed until a future
.BR write (),
-.BR fsync (2),
+.MR fsync 2 ,
or even
-.BR close (2).
+.MR close 2 .
The only way to be sure is to call
-.BR fsync (2)
+.MR fsync 2
after you are done writing all your data.
.P
If a
@@ -289,17 +289,17 @@ operate on regular files or symbolic links: ...
Among the APIs subsequently listed are
.BR write ()
and
-.BR writev (2).
+.MR writev 2 .
And among the effects that should be atomic across threads (and processes)
are updates of the file offset.
However, before Linux 3.14,
this was not the case: if two processes that share
an open file description (see
-.BR open (2))
+.MR open 2 )
perform a
.BR write ()
(or
-.BR writev (2))
+.MR writev 2 )
at the same time, then the I/O operations were not atomic
with respect to updating the file offset,
with the result that the blocks of data output by the two processes
@@ -316,14 +316,14 @@ This problem was fixed in Linux 3.14.
.\"
.\" vfs: atomic f_pos accesses as per POSIX
.SH SEE ALSO
-.BR close (2),
-.BR fcntl (2),
-.BR fsync (2),
-.BR ioctl (2),
-.BR lseek (2),
-.BR open (2),
-.BR pwrite (2),
-.BR read (2),
-.BR select (2),
-.BR writev (2),
-.BR fwrite (3)
+.MR close 2 ,
+.MR fcntl 2 ,
+.MR fsync 2 ,
+.MR ioctl 2 ,
+.MR lseek 2 ,
+.MR open 2 ,
+.MR pwrite 2 ,
+.MR read 2 ,
+.MR select 2 ,
+.MR writev 2 ,
+.MR fwrite 3
diff --git a/man2type/open_how.2type b/man2type/open_how.2type
index 54da1f9ff..6e244e7e7 100644
--- a/man2type/open_how.2type
+++ b/man2type/open_how.2type
@@ -36,7 +36,7 @@ This is a bit mask of flags that modify the way in which
.I all
components of a pathname will be resolved
(see
-.BR path_resolution (7)
+.MR path_resolution 7
for background information).
.SH VERSIONS
Extra fields may be appended to the structure,
@@ -48,4 +48,4 @@ zero-fill this structure on initialization.
.SH STANDARDS
Linux.
.SH SEE ALSO
-.BR openat2 (2)
+.MR openat2 2
diff --git a/man3/CPU_SET.3 b/man3/CPU_SET.3
index 402910913..976c3ed65 100644
--- a/man3/CPU_SET.3
+++ b/man3/CPU_SET.3
@@ -64,7 +64,7 @@ The
.I cpu_set_t
data structure represents a set of CPUs.
CPU sets are used by
-.BR sched_setaffinity (2)
+.MR sched_setaffinity 2
and similar interfaces.
.P
The
@@ -217,7 +217,7 @@ return nonzero if the two CPU sets are equal; otherwise they return 0.
.BR CPU_ALLOC ()
returns a pointer on success, or NULL on failure.
(Errors are as for
-.BR malloc (3).)
+.MR malloc 3 .)
.P
.BR CPU_ALLOC_SIZE ()
returns the number of bytes required to store a
@@ -257,7 +257,7 @@ and
first appeared in glibc 2.7.
.SH NOTES
To duplicate a CPU set, use
-.BR memcpy (3).
+.MR memcpy 3 .
.P
Since CPU sets are bit masks allocated in units of long words,
the actual number of CPUs in a dynamically
@@ -342,7 +342,7 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR sched_setaffinity (2),
-.BR pthread_attr_setaffinity_np (3),
-.BR pthread_setaffinity_np (3),
-.BR cpuset (7)
+.MR sched_setaffinity 2 ,
+.MR pthread_attr_setaffinity_np 3 ,
+.MR pthread_setaffinity_np 3 ,
+.MR cpuset 7
diff --git a/man3/INFINITY.3 b/man3/INFINITY.3
index f67be82c8..39620ed04 100644
--- a/man3/INFINITY.3
+++ b/man3/INFINITY.3
@@ -81,5 +81,5 @@ is defined, or
is defined
and has a value not less than 199901L.
.SH SEE ALSO
-.BR fpclassify (3),
-.BR math_error (7)
+.MR fpclassify 3 ,
+.MR math_error 7
diff --git a/man3/MAX.3 b/man3/MAX.3
index 9e74ad614..f440e60f6 100644
--- a/man3/MAX.3
+++ b/man3/MAX.3
@@ -31,9 +31,9 @@ GNU, BSD.
.SH NOTES
If either of the arguments is of a floating-point type,
you might prefer to use
-.BR fmax (3)
+.MR fmax 3
or
-.BR fmin (3),
+.MR fmin 3 ,
which can handle NaN.
.P
The arguments may be evaluated more than once, or not at all.
@@ -71,5 +71,5 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fmax (3),
-.BR fmin (3)
+.MR fmax 3 ,
+.MR fmin 3
diff --git a/man3/MB_CUR_MAX.3 b/man3/MB_CUR_MAX.3
index a1cb3046f..7849a4715 100644
--- a/man3/MB_CUR_MAX.3
+++ b/man3/MB_CUR_MAX.3
@@ -35,9 +35,9 @@ C11, POSIX.1-2008.
.SH HISTORY
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR MB_LEN_MAX (3),
-.BR mblen (3),
-.BR mbstowcs (3),
-.BR mbtowc (3),
-.BR wcstombs (3),
-.BR wctomb (3)
+.MR MB_LEN_MAX 3 ,
+.MR mblen 3 ,
+.MR mbstowcs 3 ,
+.MR mbtowc 3 ,
+.MR wcstombs 3 ,
+.MR wctomb 3
diff --git a/man3/MB_LEN_MAX.3 b/man3/MB_LEN_MAX.3
index c28bbb150..d3d2d5a89 100644
--- a/man3/MB_LEN_MAX.3
+++ b/man3/MB_LEN_MAX.3
@@ -48,4 +48,4 @@ is typically 16
.I sizeof(wchar_t)
is 4.
.SH SEE ALSO
-.BR MB_CUR_MAX (3)
+.MR MB_CUR_MAX 3
diff --git a/man3/_Generic.3 b/man3/_Generic.3
index 788a117dd..fc94924c4 100644
--- a/man3/_Generic.3
+++ b/man3/_Generic.3
@@ -31,7 +31,7 @@ C11.
.SH EXAMPLES
The following program demonstrates how to write
a replacement for the standard
-.BR imaxabs (3)
+.MR imaxabs 3
function, which being a function can't really provide what it promises:
seamlessly upgrading to the widest available type.
.IP
diff --git a/man3/__ppc_get_timebase.3 b/man3/__ppc_get_timebase.3
index ee922c130..b6e3c1991 100644
--- a/man3/__ppc_get_timebase.3
+++ b/man3/__ppc_get_timebase.3
@@ -95,5 +95,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR time (2),
-.BR usleep (3)
+.MR time 2 ,
+.MR usleep 3
diff --git a/man3/__ppc_set_ppr_med.3 b/man3/__ppc_set_ppr_med.3
index 317804438..a03f3e2b6 100644
--- a/man3/__ppc_set_ppr_med.3
+++ b/man3/__ppc_set_ppr_med.3
@@ -64,7 +64,7 @@ attempt is made to set the priority to medium high when it is not allowed, the
priority is set to medium.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -108,6 +108,6 @@ is defined.
Availability of these functions can be tested using
.BR "#ifdef _ARCH_PWR8" .
.SH SEE ALSO
-.BR __ppc_yield (3)
+.MR __ppc_yield 3
.P
.I Power ISA, Book\~II - Section\ 3.1 (Program Priority Registers)
diff --git a/man3/__ppc_yield.3 b/man3/__ppc_yield.3
index 8ccbcdac7..fe287088a 100644
--- a/man3/__ppc_yield.3
+++ b/man3/__ppc_yield.3
@@ -43,7 +43,7 @@ outstanding storage accesses to cacheable storage for which the data
is not in the cache have been completed.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -62,6 +62,6 @@ GNU.
.SH HISTORY
glibc 2.18.
.SH SEE ALSO
-.BR __ppc_set_ppr_med (3)
+.MR __ppc_set_ppr_med 3
.P
.I Power ISA, Book\~II - Section\~3.2 ("or" architecture)
diff --git a/man3/__setfpucw.3 b/man3/__setfpucw.3
index 647fece4a..676cd1332 100644
--- a/man3/__setfpucw.3
+++ b/man3/__setfpucw.3
@@ -30,20 +30,20 @@ Removed in glibc 2.1.
There are new functions from C99, with prototypes in
.IR <fenv.h> ,
to control FPU rounding modes, like
-.BR fegetround (3),
-.BR fesetround (3),
+.MR fegetround 3 ,
+.MR fesetround 3 ,
and the floating-point environment, like
-.BR fegetenv (3),
-.BR feholdexcept (3),
-.BR fesetenv (3),
-.BR feupdateenv (3),
+.MR fegetenv 3 ,
+.MR feholdexcept 3 ,
+.MR fesetenv 3 ,
+.MR feupdateenv 3 ,
and FPU exception handling, like
-.BR feclearexcept (3),
-.BR fegetexceptflag (3),
-.BR feraiseexcept (3),
-.BR fesetexceptflag (3),
+.MR feclearexcept 3 ,
+.MR fegetexceptflag 3 ,
+.MR feraiseexcept 3 ,
+.MR fesetexceptflag 3 ,
and
-.BR fetestexcept (3).
+.MR fetestexcept 3 .
.P
If direct access to the FPU control word is still needed, the
.B _FPU_GETCW
@@ -67,6 +67,6 @@ exceptions on overflow, zero divide and NaN
.PD
.RE
.SH SEE ALSO
-.BR feclearexcept (3)
+.MR feclearexcept 3
.P
.I <fpu_control.h>
diff --git a/man3/a64l.3 b/man3/a64l.3
index 9d20e94df..c8cff0d64 100644
--- a/man3/a64l.3
+++ b/man3/a64l.3
@@ -22,7 +22,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR a64l (),
@@ -64,7 +64,7 @@ a-z represent 38-63
So 123 = 59*64\[ha]0 + 1*64\[ha]1 = "v/".
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -104,8 +104,8 @@ These functions are broken before glibc 2.2.5
(puts most significant digit first).
.P
This is not the encoding used by
-.BR uuencode (1).
+.MR uuencode 1 .
.SH SEE ALSO
-.BR uuencode (1),
+.MR uuencode 1 ,
.\" .BR itoa (3),
-.BR strtoul (3)
+.MR strtoul 3
diff --git a/man3/abort.3 b/man3/abort.3
index e83077e7e..b7853b3fd 100644
--- a/man3/abort.3
+++ b/man3/abort.3
@@ -31,13 +31,13 @@ function first unblocks the
.B SIGABRT
signal, and then raises that signal for the calling process
(as though
-.BR raise (3)
+.MR raise 3
was called).
This results in the abnormal termination of the process unless the
.B SIGABRT
signal is caught and the signal handler does not return
(see
-.BR longjmp (3)).
+.MR longjmp 3 ).
.P
If the
.B SIGABRT
@@ -49,9 +49,9 @@ It does this by restoring the default disposition for
and then raising the signal for a second time.
.P
As with other cases of abnormal termination the functions registered with
-.BR atexit (3)
+.MR atexit 3
and
-.BR on_exit (3)
+.MR on_exit 3
are not called.
.SH RETURN VALUE
The
@@ -59,7 +59,7 @@ The
function never returns.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -81,7 +81,7 @@ if the
.BR abort ()
function caused process termination,
all open streams were closed and flushed (as with
-.BR fclose (3)).
+.MR fclose 3 ).
However, in some cases this could result in deadlocks and data corruption.
Therefore, starting with glibc 2.27,
.\" glibc commit 91e7cf982d0104f0e71770f5ae8e3faf352dea9f
@@ -91,9 +91,9 @@ POSIX.1 permits either possible behavior, saying that
.BR abort ()
"may include an attempt to effect fclose() on all open streams".
.SH SEE ALSO
-.BR gdb (1),
-.BR sigaction (2),
-.BR assert (3),
-.BR exit (3),
-.BR longjmp (3),
-.BR raise (3)
+.MR gdb 1 ,
+.MR sigaction 2 ,
+.MR assert 3 ,
+.MR exit 3 ,
+.MR longjmp 3 ,
+.MR raise 3
diff --git a/man3/abs.3 b/man3/abs.3
index 2b61e7787..c3a2a5f26 100644
--- a/man3/abs.3
+++ b/man3/abs.3
@@ -33,7 +33,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR llabs ():
@@ -57,7 +57,7 @@ Returns the absolute value of the integer argument, of the appropriate
integer type for the function.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -117,8 +117,8 @@ and
.BR imaxabs ()
as built-in functions.
.SH SEE ALSO
-.BR cabs (3),
-.BR ceil (3),
-.BR fabs (3),
-.BR floor (3),
-.BR rint (3)
+.MR cabs 3 ,
+.MR ceil 3 ,
+.MR fabs 3 ,
+.MR floor 3 ,
+.MR rint 3
diff --git a/man3/acos.3 b/man3/acos.3
index 048eea0e3..5b17ce5f5 100644
--- a/man3/acos.3
+++ b/man3/acos.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR acosf (),
@@ -73,7 +73,7 @@ a domain error occurs,
and a NaN is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -88,7 +88,7 @@ An invalid floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -112,10 +112,10 @@ The variant returning
also conforms to
C89, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR asin (3),
-.BR atan (3),
-.BR atan2 (3),
-.BR cacos (3),
-.BR cos (3),
-.BR sin (3),
-.BR tan (3)
+.MR asin 3 ,
+.MR atan 3 ,
+.MR atan2 3 ,
+.MR cacos 3 ,
+.MR cos 3 ,
+.MR sin 3 ,
+.MR tan 3
diff --git a/man3/acosh.3 b/man3/acosh.3
index 0874baa94..7e4a89f6d 100644
--- a/man3/acosh.3
+++ b/man3/acosh.3
@@ -30,7 +30,7 @@ Math library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR acosh ():
@@ -77,7 +77,7 @@ a domain error occurs,
and the functions return a NaN.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -92,7 +92,7 @@ An invalid floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -116,9 +116,9 @@ The variant returning
also conforms to
SVr4, 4.3BSD.
.SH SEE ALSO
-.BR asinh (3),
-.BR atanh (3),
-.BR cacosh (3),
-.BR cosh (3),
-.BR sinh (3),
-.BR tanh (3)
+.MR asinh 3 ,
+.MR atanh 3 ,
+.MR cacosh 3 ,
+.MR cosh 3 ,
+.MR sinh 3 ,
+.MR tanh 3
diff --git a/man3/addseverity.3 b/man3/addseverity.3
index 0244613c5..34902b45b 100644
--- a/man3/addseverity.3
+++ b/man3/addseverity.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR addseverity ():
@@ -36,7 +36,7 @@ This function allows the introduction of new severity classes
which can be addressed by the
.I severity
argument of the
-.BR fmtmsg (3)
+.MR fmtmsg 3
function.
By default, that function knows only how to
print messages for severity 0-4 (with strings (none), HALT,
@@ -63,7 +63,7 @@ Possible errors include: out of memory, attempt to remove a
nonexistent or default severity class.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,4 +84,4 @@ System V.
New severity classes can also be added by setting the environment variable
.BR SEV_LEVEL .
.SH SEE ALSO
-.BR fmtmsg (3)
+.MR fmtmsg 3
diff --git a/man3/adjtime.3 b/man3/adjtime.3
index 99b0c33fe..b47c19f9e 100644
--- a/man3/adjtime.3
+++ b/man3/adjtime.3
@@ -18,7 +18,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR adjtime ():
@@ -32,7 +32,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR adjtime ()
function gradually adjusts the system clock (as returned by
-.BR gettimeofday (2)).
+.MR gettimeofday 2 ).
The amount of time by which the clock is to be adjusted is specified
in the structure pointed to by
.IR delta .
@@ -93,7 +93,7 @@ Under Linux, the
capability is required.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -118,7 +118,7 @@ Using
.BR adjtime ()
to adjust the time prevents the problems that can be caused for certain
applications (e.g.,
-.BR make (1))
+.MR make 1 )
by abrupt positive or negative jumps in the system time.
.P
.BR adjtime ()
@@ -147,6 +147,6 @@ This bug is fixed
on systems with glibc 2.8 or later and
Linux kernel 2.6.26 or later.
.SH SEE ALSO
-.BR adjtimex (2),
-.BR gettimeofday (2),
-.BR time (7)
+.MR adjtimex 2 ,
+.MR gettimeofday 2 ,
+.MR time 7
diff --git a/man3/aio_cancel.3 b/man3/aio_cancel.3
index 4e32cd2bd..80fffa112 100644
--- a/man3/aio_cancel.3
+++ b/man3/aio_cancel.3
@@ -29,19 +29,21 @@ described by the control block pointed to by
.I aiocbp
is canceled.
(See
-.BR aio (7)
+.MR aio 7
for a description of the
.I aiocb
structure.)
.P
Normal asynchronous notification occurs for canceled requests (see
-.BR aio (7)
+.MR aio 7
and
-.BR sigevent (3type)).
+.MR sigevent 3type ).
The request return status
-.RB ( aio_return (3))
+\%(\c
+.MR aio_return 3 )
is set to \-1, and the request error status
-.RB ( aio_error (3))
+\%(\c
+.MR aio_error 3 )
is set to
.BR ECANCELED .
The control block of requests that cannot be canceled is not changed.
@@ -49,7 +51,7 @@ The control block of requests that cannot be canceled is not changed.
If the request could not be canceled,
then it will terminate in the usual way after performing the I/O operation.
(In this case,
-.BR aio_error (3)
+.MR aio_error 3
will return the status
.BR EINPROGRESSS .)
.P
@@ -74,7 +76,7 @@ All requests were successfully canceled.
At least one of the
requests specified was not canceled because it was in progress.
In this case, one may check the status of individual requests using
-.BR aio_error (3).
+.MR aio_error 3 .
.TP
.B AIO_ALLDONE
All requests had already been completed before the call.
@@ -94,7 +96,7 @@ is not a valid file descriptor.
is not implemented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -113,13 +115,13 @@ glibc 2.1.
POSIX.1-2001.
.SH EXAMPLES
See
-.BR aio (7).
+.MR aio 7 .
.SH SEE ALSO
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_read (3),
-.BR aio_return (3),
-.BR aio_suspend (3),
-.BR aio_write (3),
-.BR lio_listio (3),
-.BR aio (7)
+.MR aio_error 3 ,
+.MR aio_fsync 3 ,
+.MR aio_read 3 ,
+.MR aio_return 3 ,
+.MR aio_suspend 3 ,
+.MR aio_write 3 ,
+.MR lio_listio 3 ,
+.MR aio 7
diff --git a/man3/aio_error.3 b/man3/aio_error.3
index 11dcf37d0..e8afd079f 100644
--- a/man3/aio_error.3
+++ b/man3/aio_error.3
@@ -22,7 +22,7 @@ function returns the error status for the asynchronous I/O request
with control block pointed to by
.IR aiocbp .
(See
-.BR aio (7)
+.MR aio 7
for a description of the
.I aiocb
structure.)
@@ -44,11 +44,11 @@ A positive error number, if the asynchronous I/O operation failed.
This is the same value that would have been stored in the
.I errno
variable in the case of a synchronous
-.BR read (2),
-.BR write (2),
-.BR fsync (2),
+.MR read 2 ,
+.MR write 2 ,
+.MR fsync 2 ,
or
-.BR fdatasync (2)
+.MR fdatasync 2
call.
.SH ERRORS
.TP
@@ -56,7 +56,7 @@ call.
.I aiocbp
does not point at a control block for an asynchronous I/O request
of which the return status (see
-.BR aio_return (3))
+.MR aio_return 3 )
has not been retrieved yet.
.TP
.B ENOSYS
@@ -64,7 +64,7 @@ has not been retrieved yet.
is not implemented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -83,13 +83,13 @@ glibc 2.1.
POSIX.1-2001.
.SH EXAMPLES
See
-.BR aio (7).
+.MR aio 7 .
.SH SEE ALSO
-.BR aio_cancel (3),
-.BR aio_fsync (3),
-.BR aio_read (3),
-.BR aio_return (3),
-.BR aio_suspend (3),
-.BR aio_write (3),
-.BR lio_listio (3),
-.BR aio (7)
+.MR aio_cancel 3 ,
+.MR aio_fsync 3 ,
+.MR aio_read 3 ,
+.MR aio_return 3 ,
+.MR aio_suspend 3 ,
+.MR aio_write 3 ,
+.MR lio_listio 3 ,
+.MR aio 7
diff --git a/man3/aio_fsync.3 b/man3/aio_fsync.3
index c435c7e85..8d9e00cc8 100644
--- a/man3/aio_fsync.3
+++ b/man3/aio_fsync.3
@@ -22,7 +22,7 @@ function does a sync on all outstanding asynchronous I/O operations
associated with
.IR aiocbp\->aio_fildes .
(See
-.BR aio (7)
+.MR aio 7
for a description of the
.I aiocb
structure.)
@@ -33,13 +33,13 @@ is
.BR O_SYNC ,
then all currently queued I/O operations shall be
completed as if by a call of
-.BR fsync (2),
+.MR fsync 2 ,
and if
.I op
is
.BR O_DSYNC ,
this call is the asynchronous analog of
-.BR fdatasync (2).
+.MR fdatasync 2 .
.P
Note that this is a request only; it does not wait for I/O completion.
.P
@@ -52,7 +52,7 @@ that is used by this call is the
field (a
.I sigevent
structure, described in
-.BR sigevent (3type)),
+.MR sigevent 3type ),
which indicates the desired type of asynchronous notification at completion.
All other fields are ignored.
.SH RETURN VALUE
@@ -83,7 +83,7 @@ or
is not implemented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -101,12 +101,12 @@ POSIX.1-2008.
glibc 2.1.
POSIX.1-2001.
.SH SEE ALSO
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_read (3),
-.BR aio_return (3),
-.BR aio_suspend (3),
-.BR aio_write (3),
-.BR lio_listio (3),
-.BR aio (7),
-.BR sigevent (3type)
+.MR aio_cancel 3 ,
+.MR aio_error 3 ,
+.MR aio_read 3 ,
+.MR aio_return 3 ,
+.MR aio_suspend 3 ,
+.MR aio_write 3 ,
+.MR lio_listio 3 ,
+.MR aio 7 ,
+.MR sigevent 3type
diff --git a/man3/aio_init.3 b/man3/aio_init.3
index 79d36f2a5..1cfa7c418 100644
--- a/man3/aio_init.3
+++ b/man3/aio_init.3
@@ -75,4 +75,4 @@ GNU.
.SH HISTORY
glibc 2.1.
.SH SEE ALSO
-.BR aio (7)
+.MR aio 7
diff --git a/man3/aio_read.3 b/man3/aio_read.3
index d5c5084aa..5a7905b97 100644
--- a/man3/aio_read.3
+++ b/man3/aio_read.3
@@ -21,7 +21,7 @@ The
function queues the I/O request described by the buffer pointed to by
.IR aiocbp .
This function is the asynchronous analog of
-.BR read (2).
+.MR read 2 .
The arguments of the call
.P
.in +4n
@@ -38,7 +38,7 @@ and
of the structure pointed to by
.IR aiocbp .
(See
-.BR aio (7)
+.MR aio 7
for a description of the
.I aiocb
structure.)
@@ -53,13 +53,13 @@ The "asynchronous" means that this call returns as soon as the
request has been enqueued; the read may or may not have completed
when the call returns.
One tests for completion using
-.BR aio_error (3).
+.MR aio_error 3 .
The return status of a completed I/O operation can be obtained by
-.BR aio_return (3).
+.MR aio_return 3 .
Asynchronous notification of I/O completion can be obtained by setting
.I aiocbp\->aio_sigevent
appropriately; see
-.BR sigevent (3type)
+.MR sigevent 3type
for details.
.P
If
@@ -82,9 +82,9 @@ is returned, and
is set to indicate the error.
If an error is detected only later, it will
be reported via
-.BR aio_return (3)
+.MR aio_return 3
(returns status \-1) and
-.BR aio_error (3)
+.MR aio_error 3
(error status\[em]whatever one would have gotten in
.IR errno ,
such as
@@ -116,7 +116,7 @@ and want at least one byte, but the starting position is past
the maximum offset for this file.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -147,13 +147,13 @@ Simultaneous I/O operations specifying the same
structure produce undefined results.
.SH EXAMPLES
See
-.BR aio (7).
+.MR aio 7 .
.SH SEE ALSO
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_return (3),
-.BR aio_suspend (3),
-.BR aio_write (3),
-.BR lio_listio (3),
-.BR aio (7)
+.MR aio_cancel 3 ,
+.MR aio_error 3 ,
+.MR aio_fsync 3 ,
+.MR aio_return 3 ,
+.MR aio_suspend 3 ,
+.MR aio_write 3 ,
+.MR lio_listio 3 ,
+.MR aio 7
diff --git a/man3/aio_return.3 b/man3/aio_return.3
index b3100532a..b9582036b 100644
--- a/man3/aio_return.3
+++ b/man3/aio_return.3
@@ -22,23 +22,23 @@ function returns the final return status for the asynchronous I/O request
with control block pointed to by
.IR aiocbp .
(See
-.BR aio (7)
+.MR aio 7
for a description of the
.I aiocb
structure.)
.P
This function should be called only once for any given request, after
-.BR aio_error (3)
+.MR aio_error 3
returns something other than
.BR EINPROGRESS .
.SH RETURN VALUE
If the asynchronous I/O operation has completed, this function returns
the value that would have been returned in case of a synchronous
-.BR read (2),
-.BR write (2),
-.BR fsync (2),
+.MR read 2 ,
+.MR write 2 ,
+.MR fsync 2 ,
or
-.BR fdatasync (2),
+.MR fdatasync 2 ,
call.
On error, \-1 is returned, and \fIerrno\fP is set to indicate the error.
.P
@@ -58,7 +58,7 @@ of which the return status has not been retrieved yet.
is not implemented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -77,13 +77,13 @@ glibc 2.1.
POSIX.1-2001.
.SH EXAMPLES
See
-.BR aio (7).
+.MR aio 7 .
.SH SEE ALSO
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_read (3),
-.BR aio_suspend (3),
-.BR aio_write (3),
-.BR lio_listio (3),
-.BR aio (7)
+.MR aio_cancel 3 ,
+.MR aio_error 3 ,
+.MR aio_fsync 3 ,
+.MR aio_read 3 ,
+.MR aio_suspend 3 ,
+.MR aio_write 3 ,
+.MR lio_listio 3 ,
+.MR aio 7
diff --git a/man3/aio_suspend.3 b/man3/aio_suspend.3
index 4abec4025..8b13fb042 100644
--- a/man3/aio_suspend.3
+++ b/man3/aio_suspend.3
@@ -34,7 +34,7 @@ is not NULL and the specified time interval has passed.
(For details of the
.I timespec
structure, see
-.BR nanosleep (2).)
+.MR nanosleep 2 .)
.P
The
.I nitems
@@ -44,12 +44,12 @@ Each item in the list pointed to by
.I aiocb_list
must be either NULL (and then is ignored),
or a pointer to a control block on which I/O was initiated using
-.BR aio_read (3),
-.BR aio_write (3),
+.MR aio_read 3 ,
+.MR aio_write 3 ,
or
-.BR lio_listio (3).
+.MR lio_listio 3 .
(See
-.BR aio (7)
+.MR aio 7
for a description of the
.I aiocb
structure.)
@@ -58,7 +58,7 @@ If
.B CLOCK_MONOTONIC
is supported, this clock is used to measure
the timeout interval (see
-.BR clock_gettime (2)).
+.MR clock_gettime 2 ).
.SH RETURN VALUE
If this function returns after completion of one of the I/O
requests specified in
@@ -77,14 +77,14 @@ had completed.
The call was ended by signal
(possibly the completion signal of one of the operations we were
waiting for); see
-.BR signal (7).
+.MR signal 7 .
.TP
.B ENOSYS
.BR aio_suspend ()
is not implemented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -120,7 +120,7 @@ To determine which I/O operations have completed
after a successful return from
.BR aio_suspend (),
use
-.BR aio_error (3)
+.MR aio_error 3
to scan the list of
.I aiocb
structures pointed to by
@@ -132,12 +132,12 @@ is not async-signal-safe,
.\" FIXME . https://sourceware.org/bugzilla/show_bug.cgi?id=13172
in violation of the requirements of POSIX.1.
.SH SEE ALSO
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_read (3),
-.BR aio_return (3),
-.BR aio_write (3),
-.BR lio_listio (3),
-.BR aio (7),
-.BR time (7)
+.MR aio_cancel 3 ,
+.MR aio_error 3 ,
+.MR aio_fsync 3 ,
+.MR aio_read 3 ,
+.MR aio_return 3 ,
+.MR aio_write 3 ,
+.MR lio_listio 3 ,
+.MR aio 7 ,
+.MR time 7
diff --git a/man3/aio_write.3 b/man3/aio_write.3
index 55d62a84b..f940e5663 100644
--- a/man3/aio_write.3
+++ b/man3/aio_write.3
@@ -21,7 +21,7 @@ The
function queues the I/O request described by the buffer pointed to by
.IR aiocbp .
This function is the asynchronous analog of
-.BR write (2).
+.MR write 2 .
The arguments of the call
.P
.in +4n
@@ -38,7 +38,7 @@ and
of the structure pointed to by
.IR aiocbp .
(See
-.BR aio (7)
+.MR aio 7
for a description of the
.I aiocb
structure.)
@@ -60,13 +60,13 @@ The "asynchronous" means that this call returns as soon as the
request has been enqueued; the write may or may not have completed
when the call returns.
One tests for completion using
-.BR aio_error (3).
+.MR aio_error 3 .
The return status of a completed I/O operation can be obtained
-.BR aio_return (3).
+.MR aio_return 3 .
Asynchronous notification of I/O completion can be obtained by setting
.I aiocbp\->aio_sigevent
appropriately; see
-.BR sigevent (3type)
+.MR sigevent 3type
for details.
.P
If
@@ -89,9 +89,9 @@ is returned, and
is set to indicate the error.
If an error is detected only later, it will
be reported via
-.BR aio_return (3)
+.MR aio_return 3
(returns status \-1) and
-.BR aio_error (3)
+.MR aio_error 3
(error status\[em]whatever one would have gotten in
.IR errno ,
such as
@@ -121,7 +121,7 @@ are invalid.
is not implemented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -151,11 +151,11 @@ Simultaneous I/O operations specifying the same
.I aiocb
structure produce undefined results.
.SH SEE ALSO
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_read (3),
-.BR aio_return (3),
-.BR aio_suspend (3),
-.BR lio_listio (3),
-.BR aio (7)
+.MR aio_cancel 3 ,
+.MR aio_error 3 ,
+.MR aio_fsync 3 ,
+.MR aio_read 3 ,
+.MR aio_return 3 ,
+.MR aio_suspend 3 ,
+.MR lio_listio 3 ,
+.MR aio 7
diff --git a/man3/alloca.3 b/man3/alloca.3
index d06f43eda..32fd9ee37 100644
--- a/man3/alloca.3
+++ b/man3/alloca.3
@@ -42,7 +42,7 @@ function returns a pointer to the beginning of the allocated space.
If the allocation causes stack overflow, program behavior is undefined.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -63,14 +63,14 @@ The
.BR alloca ()
function is machine- and compiler-dependent.
Because it allocates from the stack, it's faster than
-.BR malloc (3)
+.MR malloc 3
and
-.BR free (3).
+.MR free 3 .
In certain cases,
it can also simplify memory deallocation in applications that use
-.BR longjmp (3)
+.MR longjmp 3
or
-.BR siglongjmp (3).
+.MR siglongjmp 3 .
Otherwise, its use is discouraged.
.P
Because the space allocated by
@@ -78,9 +78,9 @@ Because the space allocated by
is allocated within the stack frame,
that space is automatically freed if the function return
is jumped over by a call to
-.BR longjmp (3)
+.MR longjmp 3
or
-.BR siglongjmp (3).
+.MR siglongjmp 3 .
.P
The space allocated by
.BR alloca ()
@@ -90,7 +90,7 @@ automatically deallocated if the pointer that refers to it
simply goes out of scope.
.P
Do not attempt to
-.BR free (3)
+.MR free 3
space allocated by
.BR alloca ()!
.P
@@ -117,7 +117,7 @@ optional since C11, and can be used for a similar purpose.
However, they do not port to standard C++, and, being variables,
live in their block scope and don't have an allocator-like interface,
making them unfit for implementing functionality like
-.BR strdupa (3).
+.MR strdupa 3 .
.SH BUGS
Due to the nature of the stack, it is impossible to check if the allocation
would overflow the space available, and, hence, neither is indicating an error.
@@ -133,6 +133,6 @@ the stack space reserved by
would appear on the stack in the middle of the space for the
function arguments.
.SH SEE ALSO
-.BR brk (2),
-.BR longjmp (3),
-.BR malloc (3)
+.MR brk 2 ,
+.MR longjmp 3 ,
+.MR malloc 3
diff --git a/man3/arc4random.3 b/man3/arc4random.3
index bb7591c1c..09abfc902 100644
--- a/man3/arc4random.3
+++ b/man3/arc4random.3
@@ -37,9 +37,9 @@ with
bytes of pseudorandom data.
.P
The
-.BR rand (3)
+.MR rand 3
and
-.BR drand48 (3)
+.MR drand48 3
families of functions should only be used where
the quality of the pseudorandom numbers is not a concern
.I and
@@ -62,7 +62,7 @@ when
is invalid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -103,7 +103,7 @@ In some cases,
such as accessing an array,
using that value could result in Undefined Behavior.
.SH SEE ALSO
-.BR getrandom (3),
-.BR rand (3),
-.BR drand48 (3),
-.BR random (7)
+.MR getrandom 3 ,
+.MR rand 3 ,
+.MR drand48 3 ,
+.MR random 7
diff --git a/man3/argz_add.3 b/man3/argz_add.3
index 4b4fc4f8d..d41180aaf 100644
--- a/man3/argz_add.3
+++ b/man3/argz_add.3
@@ -67,9 +67,9 @@ These functions are for handling argz vectors.
The pair (NULL,0) is an argz vector, and, conversely,
argz vectors of length 0 must have null pointer.
Allocation of nonempty argz vectors is done using
-.BR malloc (3),
+.MR malloc 3 ,
so that
-.BR free (3)
+.MR free 3
can be used to dispose of them again.
.P
.BR argz_add ()
@@ -205,7 +205,7 @@ and return 0 for success, and
if an allocation error occurs.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -234,4 +234,4 @@ GNU.
Argz vectors without a terminating null byte may lead to
Segmentation Faults.
.SH SEE ALSO
-.BR envz_add (3)
+.MR envz_add 3
diff --git a/man3/asin.3 b/man3/asin.3
index 7d79f2e16..d29cdcf53 100644
--- a/man3/asin.3
+++ b/man3/asin.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR asinf (),
@@ -69,7 +69,7 @@ and a NaN is returned.
.\" glibc 2.8 does not do this.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -84,7 +84,7 @@ An invalid floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -108,10 +108,10 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR acos (3),
-.BR atan (3),
-.BR atan2 (3),
-.BR casin (3),
-.BR cos (3),
-.BR sin (3),
-.BR tan (3)
+.MR acos 3 ,
+.MR atan 3 ,
+.MR atan2 3 ,
+.MR casin 3 ,
+.MR cos 3 ,
+.MR sin 3 ,
+.MR tan 3
diff --git a/man3/asinh.3 b/man3/asinh.3
index d4b6f36a0..65f0a19cf 100644
--- a/man3/asinh.3
+++ b/man3/asinh.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR asinh ():
@@ -77,7 +77,7 @@ positive infinity (negative infinity) is returned.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -101,9 +101,9 @@ The variant returning
also conforms to
SVr4, 4.3BSD.
.SH SEE ALSO
-.BR acosh (3),
-.BR atanh (3),
-.BR casinh (3),
-.BR cosh (3),
-.BR sinh (3),
-.BR tanh (3)
+.MR acosh 3 ,
+.MR atanh 3 ,
+.MR casinh 3 ,
+.MR cosh 3 ,
+.MR sinh 3 ,
+.MR tanh 3
diff --git a/man3/asprintf.3 b/man3/asprintf.3
index bd5fcf7fa..a98c7fe7f 100644
--- a/man3/asprintf.3
+++ b/man3/asprintf.3
@@ -26,26 +26,26 @@ The functions
and
.BR vasprintf ()
are analogs of
-.BR sprintf (3)
+.MR sprintf 3
and
-.BR vsprintf (3),
+.MR vsprintf 3 ,
except that they allocate a string large enough to hold the output
including the terminating null byte (\[aq]\e0\[aq]),
and return a pointer to it via the first argument.
This pointer should be passed to
-.BR free (3)
+.MR free 3
to release the allocated storage when it is no longer needed.
.SH RETURN VALUE
When successful, these functions return the number of bytes printed,
just like
-.BR sprintf (3).
+.MR sprintf 3 .
If memory allocation wasn't possible, or some other error occurs,
these functions will return \-1, and the contents of
.I strp
are undefined.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -65,6 +65,6 @@ to NULL on error.
.SH STANDARDS
GNU, BSD.
.SH SEE ALSO
-.BR free (3),
-.BR malloc (3),
-.BR printf (3)
+.MR free 3 ,
+.MR malloc 3 ,
+.MR printf 3
diff --git a/man3/assert.3 b/man3/assert.3
index daec8d92b..21f5fd7de 100644
--- a/man3/assert.3
+++ b/man3/assert.3
@@ -29,7 +29,7 @@ is false (i.e., compares equal to zero),
.BR assert ()
prints an error message to standard error
and terminates the program by calling
-.BR abort (3).
+.MR abort 3 .
The error message includes the name of the file and function containing the
.BR assert ()
call, the source code line number of the call, and the text of the argument;
@@ -58,7 +58,7 @@ may behave non-deterministically.
No value is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -91,6 +91,6 @@ is defined.
This may create Heisenbugs which go away when debugging
is turned on.
.SH SEE ALSO
-.BR abort (3),
-.BR assert_perror (3),
-.BR exit (3)
+.MR abort 3 ,
+.MR assert_perror 3 ,
+.MR exit 3
diff --git a/man3/assert_perror.3 b/man3/assert_perror.3
index 4cdd54c6c..ae0b84eb7 100644
--- a/man3/assert_perror.3
+++ b/man3/assert_perror.3
@@ -31,7 +31,7 @@ Otherwise, the macro
.BR assert_perror ()
prints an error message to standard error and terminates the program
by calling
-.BR abort (3)
+.MR abort 3
if
.I errnum
is nonzero.
@@ -42,7 +42,7 @@ line number of the macro call, and the output of
No value is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -67,7 +67,7 @@ is defined,
but by proper error handling code.
Never use this macro.
.SH SEE ALSO
-.BR abort (3),
-.BR assert (3),
-.BR exit (3),
-.BR strerror (3)
+.MR abort 3 ,
+.MR assert 3 ,
+.MR exit 3 ,
+.MR strerror 3
diff --git a/man3/atan.3 b/man3/atan.3
index 177968a91..ff73d3b62 100644
--- a/man3/atan.3
+++ b/man3/atan.3
@@ -30,7 +30,7 @@ Math library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR atanf (),
@@ -69,7 +69,7 @@ is positive infinity (negative infinity), +pi/2 (\-pi/2) is returned.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -93,11 +93,11 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR acos (3),
-.BR asin (3),
-.BR atan2 (3),
-.BR carg (3),
-.BR catan (3),
-.BR cos (3),
-.BR sin (3),
-.BR tan (3)
+.MR acos 3 ,
+.MR asin 3 ,
+.MR atan2 3 ,
+.MR carg 3 ,
+.MR catan 3 ,
+.MR cos 3 ,
+.MR sin 3 ,
+.MR tan 3
diff --git a/man3/atan2.3 b/man3/atan2.3
index f0df976fa..1bd3091d8 100644
--- a/man3/atan2.3
+++ b/man3/atan2.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR atan2f (),
@@ -141,7 +141,7 @@ No errors occur.
.\" glibc 2.8 does not do this.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -165,10 +165,10 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR acos (3),
-.BR asin (3),
-.BR atan (3),
-.BR carg (3),
-.BR cos (3),
-.BR sin (3),
-.BR tan (3)
+.MR acos 3 ,
+.MR asin 3 ,
+.MR atan 3 ,
+.MR carg 3 ,
+.MR cos 3 ,
+.MR sin 3 ,
+.MR tan 3
diff --git a/man3/atanh.3 b/man3/atanh.3
index 136a501b7..3c4f2fc03 100644
--- a/man3/atanh.3
+++ b/man3/atanh.3
@@ -30,7 +30,7 @@ Math library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR atanh ():
@@ -87,7 +87,7 @@ and a NaN is returned.
.\" glibc 2.8 does not do this.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -111,7 +111,7 @@ A divide-by-zero floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -146,9 +146,9 @@ instead of the POSIX-mandated
.BR ERANGE .
Since glibc 2.10, glibc does the right thing.
.SH SEE ALSO
-.BR acosh (3),
-.BR asinh (3),
-.BR catanh (3),
-.BR cosh (3),
-.BR sinh (3),
-.BR tanh (3)
+.MR acosh 3 ,
+.MR asinh 3 ,
+.MR catanh 3 ,
+.MR cosh 3 ,
+.MR sinh 3 ,
+.MR tanh 3
diff --git a/man3/atexit.3 b/man3/atexit.3
index 88f2817b8..d8e345e60 100644
--- a/man3/atexit.3
+++ b/man3/atexit.3
@@ -30,7 +30,7 @@ function registers the given
.I function
to be
called at normal process termination, either via
-.BR exit (3)
+.MR exit 3
or via return from the program's
.IR main ().
Functions so registered are called in
@@ -44,13 +44,13 @@ POSIX.1 requires that an implementation allow at least
.B ATEXIT_MAX
(32) such functions to be registered.
The actual limit supported by an implementation can be obtained using
-.BR sysconf (3).
+.MR sysconf 3 .
.P
When a child process is created via
-.BR fork (2),
+.MR fork 2 ,
it inherits copies of its parent's registrations.
Upon a successful call to one of the
-.BR exec (3)
+.MR exec 3
functions,
all registrations are removed.
.SH RETURN VALUE
@@ -60,7 +60,7 @@ function returns the value 0 if successful; otherwise
it returns a nonzero value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -75,9 +75,9 @@ T} Thread safety MT-Safe
.SH VERSIONS
POSIX.1 says that the result of calling
.\" POSIX.1-2001, POSIX.1-2008
-.BR exit (3)
+.MR exit 3
more than once (i.e., calling
-.BR exit (3)
+.MR exit 3
within a function registered using
.BR atexit ())
is undefined.
@@ -87,7 +87,7 @@ On some systems (but not Linux), this can result in an infinite recursion;
.\" glibc does "the Right Thing" -- invocation of the remaining
.\" exit handlers carries on as normal.
portable programs should not invoke
-.BR exit (3)
+.MR exit 3
inside a function registered using
.BR atexit ().
.SH STANDARDS
@@ -98,28 +98,28 @@ POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
Functions registered using
.BR atexit ()
(and
-.BR on_exit (3))
+.MR on_exit 3 )
are not called if a process terminates abnormally because
of the delivery of a signal.
.P
If one of the registered functions calls
-.BR _exit (2),
+.MR _exit 2 ,
then any remaining functions are not invoked,
and the other process termination steps performed by
-.BR exit (3)
+.MR exit 3
are not performed.
.P
The
.BR atexit ()
and
-.BR on_exit (3)
+.MR on_exit 3
functions register functions on the same list:
at normal process termination,
the registered functions are invoked in reverse order
of their registration by these two functions.
.P
According to POSIX.1, the result is undefined if
-.BR longjmp (3)
+.MR longjmp 3
is used to terminate execution of one of the functions registered using
.BR atexit ().
.\" In glibc, things seem to be handled okay
@@ -127,7 +127,7 @@ is used to terminate execution of one of the functions registered using
Since glibc 2.2.3,
.BR atexit ()
(and
-.BR on_exit (3))
+.MR on_exit 3 )
can be used within a shared library to establish functions
that are called when the shared library is unloaded.
.SH EXAMPLES
@@ -163,7 +163,7 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR _exit (2),
-.BR dlopen (3),
-.BR exit (3),
-.BR on_exit (3)
+.MR _exit 2 ,
+.MR dlopen 3 ,
+.MR exit 3 ,
+.MR on_exit 3
diff --git a/man3/atof.3 b/man3/atof.3
index cc5323505..24c10dbc1 100644
--- a/man3/atof.3
+++ b/man3/atof.3
@@ -42,7 +42,7 @@ does not detect errors.
The converted value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -59,9 +59,9 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR atoi (3),
-.BR atol (3),
-.BR strfromd (3),
-.BR strtod (3),
-.BR strtol (3),
-.BR strtoul (3)
+.MR atoi 3 ,
+.MR atol 3 ,
+.MR strfromd 3 ,
+.MR strtod 3 ,
+.MR strtol 3 ,
+.MR strtoul 3
diff --git a/man3/atoi.3 b/man3/atoi.3
index f5fb5d0e1..2ff43fe3c 100644
--- a/man3/atoi.3
+++ b/man3/atoi.3
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR atoll ():
@@ -66,7 +66,7 @@ string to their return type of \fIlong\fP or \fIlong long\fP.
The converted value or 0 on error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -119,7 +119,7 @@ and
.BR strtoul ()
family of functions in new programs.
.SH SEE ALSO
-.BR atof (3),
-.BR strtod (3),
-.BR strtol (3),
-.BR strtoul (3)
+.MR atof 3 ,
+.MR strtod 3 ,
+.MR strtol 3 ,
+.MR strtoul 3
diff --git a/man3/backtrace.3 b/man3/backtrace.3
index 4875da31f..e2d187039 100644
--- a/man3/backtrace.3
+++ b/man3/backtrace.3
@@ -89,7 +89,7 @@ The address of the array of string pointers is returned
as the function result of
.BR backtrace_symbols ().
This array is
-.BR malloc (3)ed
+.MR malloc 3 ed
by
.BR backtrace_symbols (),
and must be freed by the caller.
@@ -108,7 +108,7 @@ it writes the strings, one per line, to the file descriptor
.IR fd .
.BR backtrace_symbols_fd ()
does not call
-.BR malloc (3),
+.MR malloc 3 ,
and so can be employed in situations where the latter function might
fail, but see NOTES.
.SH RETURN VALUE
@@ -127,12 +127,12 @@ oldest stack frames are not returned.
On success,
.BR backtrace_symbols ()
returns a pointer to the array
-.BR malloc (3)ed
+.MR malloc 3 ed
by the call;
on error, NULL is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -157,7 +157,7 @@ Note the following:
.IP \[bu] 3
Omission of the frame pointers (as
implied by any of
-.BR gcc (1)'s
+.MR gcc 1 's
nonzero optimization levels) may cause these assumptions to be
violated.
.IP \[bu]
@@ -174,7 +174,7 @@ explicitly, but they are part of
.IR libgcc ,
which gets loaded dynamically when first used.
Dynamic loading usually triggers a call to
-.BR malloc (3).
+.MR malloc 3 .
If you need certain calls to these two functions to not allocate memory
(in signal handlers, for example), you need to make sure
.I libgcc
@@ -275,9 +275,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR addr2line (1),
-.BR gcc (1),
-.BR gdb (1),
-.BR ld (1),
-.BR dlopen (3),
-.BR malloc (3)
+.MR addr2line 1 ,
+.MR gcc 1 ,
+.MR gdb 1 ,
+.MR ld 1 ,
+.MR dlopen 3 ,
+.MR malloc 3
diff --git a/man3/basename.3 b/man3/basename.3
index 2702a05f8..22ecd5751 100644
--- a/man3/basename.3
+++ b/man3/basename.3
@@ -109,10 +109,10 @@ and
.BR basename ()
return pointers to null-terminated strings.
(Do not pass these pointers to
-.BR free (3).)
+.MR free 3 .)
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -183,5 +183,5 @@ printf("dirname=%s, basename=%s\en", dname, bname);
.EE
.in
.SH SEE ALSO
-.BR basename (1),
-.BR dirname (1)
+.MR basename 1 ,
+.MR dirname 1
diff --git a/man3/bcmp.3 b/man3/bcmp.3
index c52b8f75b..3c16b340f 100644
--- a/man3/bcmp.3
+++ b/man3/bcmp.3
@@ -18,7 +18,7 @@ size_t " n );
.SH DESCRIPTION
.BR bcmp ()
is identical to
-.BR memcmp (3);
+.MR memcmp 3 ;
use the latter instead.
.SH STANDARDS
None.
@@ -27,4 +27,4 @@ None.
Marked as LEGACY in POSIX.1-2001;
removed in POSIX.1-2008.
.SH SEE ALSO
-.BR memcmp (3)
+.MR memcmp 3
diff --git a/man3/bcopy.3 b/man3/bcopy.3
index 96ca89f37..9baf342bf 100644
--- a/man3/bcopy.3
+++ b/man3/bcopy.3
@@ -38,7 +38,7 @@ The result is correct, even when both areas overlap.
None.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,21 +56,21 @@ None.
4.3BSD.
.P
Marked as LEGACY in POSIX.1-2001: use
-.BR memcpy (3)
+.MR memcpy 3
or
-.BR memmove (3)
+.MR memmove 3
in new programs.
Note that the first two arguments
are interchanged for
-.BR memcpy (3)
+.MR memcpy 3
and
-.BR memmove (3).
+.MR memmove 3 .
POSIX.1-2008 removes the specification of
.BR bcopy ().
.SH SEE ALSO
-.BR bstring (3),
-.BR memccpy (3),
-.BR memcpy (3),
-.BR memmove (3),
-.BR strcpy (3),
-.BR strncpy (3)
+.MR bstring 3 ,
+.MR memccpy 3 ,
+.MR memcpy 3 ,
+.MR memmove 3 ,
+.MR strcpy 3 ,
+.MR strncpy 3
diff --git a/man3/bindresvport.3 b/man3/bindresvport.3
index c17f586b3..5c95cc500 100644
--- a/man3/bindresvport.3
+++ b/man3/bindresvport.3
@@ -31,7 +31,7 @@ that is, a port number arbitrarily selected from the range 512 to 1023.
.\" glibc actually starts searching with a port # in the range 600 to 1023
.P
If the
-.BR bind (2)
+.MR bind 2
performed by
.BR bindresvport ()
is successful, and
@@ -49,7 +49,7 @@ However, in this case,
.BR bindresvport ()
has no way to return the port number actually allocated.
(This information can later be obtained using
-.BR getsockname (2).)
+.MR getsockname 2 .)
.SH RETURN VALUE
.BR bindresvport ()
returns 0 on success; otherwise \-1 is returned and
@@ -58,7 +58,7 @@ is set to indicate the error.
.SH ERRORS
.BR bindresvport ()
can fail for any of the same reasons as
-.BR bind (2).
+.MR bind 2 .
In addition, the following errors may occur:
.TP
.B EACCES
@@ -78,7 +78,7 @@ is not
.BR AF_INET .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -112,5 +112,5 @@ the glibc implementation ignores any value that the caller supplies in
.SH STANDARDS
BSD.
.SH SEE ALSO
-.BR bind (2),
-.BR getsockname (2)
+.MR bind 2 ,
+.MR getsockname 2
diff --git a/man3/bsd_signal.3 b/man3/bsd_signal.3
index 00026fee5..4fbe61ebc 100644
--- a/man3/bsd_signal.3
+++ b/man3/bsd_signal.3
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR bsd_signal ():
@@ -36,7 +36,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR bsd_signal ()
function takes the same arguments, and performs the same task, as
-.BR signal (2).
+.MR signal 2 .
.P
The difference between the two is that
.BR bsd_signal ()
@@ -48,7 +48,7 @@ the signal handler is executing; and
c) if the handler interrupts a blocking system call,
then the system call is automatically restarted.
A portable application cannot rely on
-.BR signal (2)
+.MR signal 2
to provide these guarantees.
.SH RETURN VALUE
The
@@ -58,10 +58,10 @@ function returns the previous value of the signal handler, or
on error.
.SH ERRORS
As for
-.BR signal (2).
+.MR signal 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -77,18 +77,18 @@ T} Thread safety MT-Safe
Use of
.BR bsd_signal ()
should be avoided; use
-.BR sigaction (2)
+.MR sigaction 2
instead.
.P
On modern Linux systems,
.BR bsd_signal ()
and
-.BR signal (2)
+.MR signal 2
are equivalent.
But on older systems,
-.BR signal (2)
+.MR signal 2
provided unreliable signal semantics; see
-.BR signal (2)
+.MR signal 2
for details.
.P
The use of
@@ -103,10 +103,10 @@ None.
4.2BSD, POSIX.1-2001.
Removed in POSIX.1-2008,
recommending the use of
-.BR sigaction (2)
+.MR sigaction 2
instead.
.SH SEE ALSO
-.BR sigaction (2),
-.BR signal (2),
-.BR sysv_signal (3),
-.BR signal (7)
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR sysv_signal 3 ,
+.MR signal 7
diff --git a/man3/bsearch.3 b/man3/bsearch.3
index 56ba64486..54a370048 100644
--- a/man3/bsearch.3
+++ b/man3/bsearch.3
@@ -62,7 +62,7 @@ If there are multiple elements that
match the key, the element returned is unspecified.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -80,7 +80,7 @@ C11, POSIX.1-2008.
POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
.SH EXAMPLES
The example below first sorts an array of structures using
-.BR qsort (3),
+.MR qsort 3 ,
then retrieves desired elements using
.BR bsearch ().
.P
@@ -133,7 +133,7 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR hsearch (3),
-.BR lsearch (3),
-.BR qsort (3),
-.BR tsearch (3)
+.MR hsearch 3 ,
+.MR lsearch 3 ,
+.MR qsort 3 ,
+.MR tsearch 3
diff --git a/man3/bstring.3 b/man3/bstring.3
index 9450b4128..c67898d10 100644
--- a/man3/bstring.3
+++ b/man3/bstring.3
@@ -62,15 +62,15 @@ and
instead.
.\" The old functions are not even available on some non-GNU/Linux systems.
.SH SEE ALSO
-.BR bcmp (3),
-.BR bcopy (3),
-.BR bzero (3),
-.BR memccpy (3),
-.BR memchr (3),
-.BR memcmp (3),
-.BR memcpy (3),
-.BR memfrob (3),
-.BR memmem (3),
-.BR memmove (3),
-.BR memset (3),
-.BR string (3)
+.MR bcmp 3 ,
+.MR bcopy 3 ,
+.MR bzero 3 ,
+.MR memccpy 3 ,
+.MR memchr 3 ,
+.MR memcmp 3 ,
+.MR memcpy 3 ,
+.MR memfrob 3 ,
+.MR memmem 3 ,
+.MR memmove 3 ,
+.MR memset 3 ,
+.MR string 3
diff --git a/man3/bswap.3 b/man3/bswap.3
index d7bac680c..5b74ae7f0 100644
--- a/man3/bswap.3
+++ b/man3/bswap.3
@@ -64,5 +64,5 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR byteorder (3),
-.BR endian (3)
+.MR byteorder 3 ,
+.MR endian 3
diff --git a/man3/btowc.3 b/man3/btowc.3
index 431f3fe14..433686ff5 100644
--- a/man3/btowc.3
+++ b/man3/btowc.3
@@ -47,7 +47,7 @@ it returns
.BR WEOF .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,11 +76,11 @@ It does not work for encodings which have
state, and unnecessarily treats single bytes differently from multibyte
sequences.
Use either
-.BR mbtowc (3)
+.MR mbtowc 3
or the thread-safe
-.BR mbrtowc (3)
+.MR mbrtowc 3
instead.
.SH SEE ALSO
-.BR mbrtowc (3),
-.BR mbtowc (3),
-.BR wctob (3)
+.MR mbrtowc 3 ,
+.MR mbtowc 3 ,
+.MR wctob 3
diff --git a/man3/btree.3 b/man3/btree.3
index b3ce40c13..3ed661ee7 100644
--- a/man3/btree.3
+++ b/man3/btree.3
@@ -28,18 +28,18 @@ Probably, you are looking for the APIs provided by the
library instead.
.P
The routine
-.BR dbopen (3)
+.MR dbopen 3
is the library interface to database files.
One of the supported file formats is btree files.
The general description of the database access methods is in
-.BR dbopen (3),
+.MR dbopen 3 ,
this manual page describes only the btree-specific information.
.P
The btree data structure is a sorted, balanced tree structure storing
associated key/data pairs.
.P
The btree access-method-specific data structure provided to
-.BR dbopen (3)
+.MR dbopen 3
is defined in the
.I <db.h>
include file as follows:
@@ -70,7 +70,7 @@ Permit duplicate keys in the tree, that is,
permit insertion if the key to be
inserted already exists in the tree.
The default behavior, as described in
-.BR dbopen (3),
+.MR dbopen 3 ,
is to overwrite a matching key when inserting a new key or to fail if
the
.B R_NOOVERWRITE
@@ -209,14 +209,14 @@ The
access method routines may fail and set
.I errno
for any of the errors specified for the library routine
-.BR dbopen (3).
+.MR dbopen 3 .
.SH BUGS
Only big and little endian byte order is supported.
.SH SEE ALSO
-.BR dbopen (3),
-.BR hash (3),
-.BR mpool (3),
-.BR recno (3)
+.MR dbopen 3 ,
+.MR hash 3 ,
+.MR mpool 3 ,
+.MR recno 3
.P
.IR "The Ubiquitous B-tree" ,
Douglas Comer, ACM Comput. Surv. 11, 2 (June 1979), 121-138.
diff --git a/man3/byteorder.3 b/man3/byteorder.3
index 76b699143..5aed342d7 100644
--- a/man3/byteorder.3
+++ b/man3/byteorder.3
@@ -57,7 +57,7 @@ whereas the network byte order, as used on the Internet, is Most
Significant Byte first.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -77,7 +77,7 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR bswap (3),
-.BR endian (3),
-.BR gethostbyname (3),
-.BR getservent (3)
+.MR bswap 3 ,
+.MR endian 3 ,
+.MR gethostbyname 3 ,
+.MR getservent 3
diff --git a/man3/bzero.3 b/man3/bzero.3
index f6c0ca2f3..c6eb53830 100644
--- a/man3/bzero.3
+++ b/man3/bzero.3
@@ -40,7 +40,7 @@ erase operation if the compiler deduces that the operation is "unnecessary".
None.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -153,6 +153,6 @@ anticipate that future compilers will recognize calls to
and take steps to ensure that all copies of the sensitive data are erased,
including copies in registers or in "scratch" stack areas.
.SH SEE ALSO
-.BR bstring (3),
-.BR memset (3),
-.BR swab (3)
+.MR bstring 3 ,
+.MR memset 3 ,
+.MR swab 3
diff --git a/man3/cabs.3 b/man3/cabs.3
index 97729e43c..e50fab03e 100644
--- a/man3/cabs.3
+++ b/man3/cabs.3
@@ -23,7 +23,7 @@ These functions return the absolute value of the complex number
The result is a real number.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -48,7 +48,7 @@ The function is actually an alias for
(or, equivalently,
.IR "sqrt(a*a\ +\ b*b)" ).
.SH SEE ALSO
-.BR abs (3),
-.BR cimag (3),
-.BR hypot (3),
-.BR complex (7)
+.MR abs 3 ,
+.MR cimag 3 ,
+.MR hypot 3 ,
+.MR complex 7
diff --git a/man3/cacos.3 b/man3/cacos.3
index 13a57e1ab..ba3304c5e 100644
--- a/man3/cacos.3
+++ b/man3/cacos.3
@@ -33,7 +33,7 @@ One has:
.fi
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -88,6 +88,6 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR ccos (3),
-.BR clog (3),
-.BR complex (7)
+.MR ccos 3 ,
+.MR clog 3 ,
+.MR complex 7
diff --git a/man3/cacosh.3 b/man3/cacosh.3
index c6b3a2067..41b53a7c2 100644
--- a/man3/cacosh.3
+++ b/man3/cacosh.3
@@ -36,7 +36,7 @@ One has:
.fi
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -88,8 +88,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR acosh (3),
-.BR cabs (3),
-.BR ccosh (3),
-.BR cimag (3),
-.BR complex (7)
+.MR acosh 3 ,
+.MR cabs 3 ,
+.MR ccosh 3 ,
+.MR cimag 3 ,
+.MR complex 7
diff --git a/man3/canonicalize_file_name.3 b/man3/canonicalize_file_name.3
index d5fcd0f0a..ca847185c 100644
--- a/man3/canonicalize_file_name.3
+++ b/man3/canonicalize_file_name.3
@@ -35,7 +35,7 @@ characters are replaced by a single slash.
The returned string is dynamically allocated by
.BR canonicalize_file_name ()
and the caller should deallocate it with
-.BR free (3)
+.MR free 3
when it is no longer required.
.P
The call
@@ -58,10 +58,10 @@ returns NULL and sets
to indicate the error.
.SH ERRORS
See
-.BR realpath (3).
+.MR realpath 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,5 +76,5 @@ T} Thread safety MT-Safe
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR readlink (2),
-.BR realpath (3)
+.MR readlink 2 ,
+.MR realpath 3
diff --git a/man3/carg.3 b/man3/carg.3
index f95be60e4..1face9691 100644
--- a/man3/carg.3
+++ b/man3/carg.3
@@ -64,7 +64,7 @@ tan(carg(z)) = cimag(z) / creal(z)
The return value is in the range of [\-pi,pi].
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,5 +84,5 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR complex 7
diff --git a/man3/casin.3 b/man3/casin.3
index af3ea3890..c4e6614ba 100644
--- a/man3/casin.3
+++ b/man3/casin.3
@@ -32,7 +32,7 @@ One has:
.fi
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -52,6 +52,6 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR clog (3),
-.BR csin (3),
-.BR complex (7)
+.MR clog 3 ,
+.MR csin 3 ,
+.MR complex 7
diff --git a/man3/casinh.3 b/man3/casinh.3
index 198e56ab9..7a3c6f3b8 100644
--- a/man3/casinh.3
+++ b/man3/casinh.3
@@ -34,7 +34,7 @@ casinh(z) = clog(z + csqrt(z * z + 1))
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -54,8 +54,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR asinh (3),
-.BR cabs (3),
-.BR cimag (3),
-.BR csinh (3),
-.BR complex (7)
+.MR asinh 3 ,
+.MR cabs 3 ,
+.MR cimag 3 ,
+.MR csinh 3 ,
+.MR complex 7
diff --git a/man3/catan.3 b/man3/catan.3
index d8e290853..d017f670d 100644
--- a/man3/catan.3
+++ b/man3/catan.3
@@ -35,7 +35,7 @@ catan(z) = (clog(1 + i * z) \- clog(1 \- i * z)) / (2 * i)
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -88,7 +88,7 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR ccos (3),
-.BR clog (3),
-.BR ctan (3),
-.BR complex (7)
+.MR ccos 3 ,
+.MR clog 3 ,
+.MR ctan 3 ,
+.MR complex 7
diff --git a/man3/catanh.3 b/man3/catanh.3
index f6749fe6c..6b18f395c 100644
--- a/man3/catanh.3
+++ b/man3/catanh.3
@@ -35,7 +35,7 @@ catanh(z) = 0.5 * (clog(1 + z) \- clog(1 \- z))
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -87,8 +87,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR atanh (3),
-.BR cabs (3),
-.BR cimag (3),
-.BR ctanh (3),
-.BR complex (7)
+.MR atanh 3 ,
+.MR cabs 3 ,
+.MR cimag 3 ,
+.MR ctanh 3 ,
+.MR complex 7
diff --git a/man3/catgets.3 b/man3/catgets.3
index 58320b673..0c8cf045c 100644
--- a/man3/catgets.3
+++ b/man3/catgets.3
@@ -29,7 +29,7 @@ from the message catalog identified by
where
.I catalog
is a catalog descriptor returned from an earlier call to
-.BR catopen (3).
+.MR catopen 3 .
The fourth argument,
.IR message ,
points to a default message string which will be returned by
@@ -51,7 +51,7 @@ returns the value
.IR message .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,5 +84,5 @@ These two possible error returns seem to be discarded in SUSv2
in favor of always returning
.IR message .
.SH SEE ALSO
-.BR catopen (3),
-.BR setlocale (3)
+.MR catopen 3 ,
+.MR setlocale 3
diff --git a/man3/catopen.3 b/man3/catopen.3
index 4fc327add..65b769711 100644
--- a/man3/catopen.3
+++ b/man3/catopen.3
@@ -26,7 +26,7 @@ opens a message catalog and returns a catalog descriptor.
The descriptor remains valid until
.BR catclose ()
or
-.BR execve (2).
+.MR execve 2 .
If a file descriptor is used to implement catalog descriptors,
then the
.B FD_CLOEXEC
@@ -48,7 +48,7 @@ is used with
substituted for
.B %N
(see
-.BR locale (7)).
+.MR locale 7 ).
It is unspecified whether
.B NLSPATH
will be used when the process has root privileges.
@@ -107,7 +107,7 @@ and sets
to indicate the error.
The possible error values include all
possible values for the
-.BR open (2)
+.MR open 2
call.
.P
The function
@@ -130,7 +130,7 @@ The language to use if
is 0.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -195,5 +195,5 @@ POSIX.1-2001.
.\" .B MCLoadAll
.\" (see below).
.SH SEE ALSO
-.BR catgets (3),
-.BR setlocale (3)
+.MR catgets 3 ,
+.MR setlocale 3
diff --git a/man3/cbrt.3 b/man3/cbrt.3
index cf9c41771..31c7c1fa3 100644
--- a/man3/cbrt.3
+++ b/man3/cbrt.3
@@ -25,7 +25,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR cbrt ():
@@ -62,7 +62,7 @@ is returned.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -83,5 +83,5 @@ C99, POSIX.1-2001.
.\" .BR cbrt ()
.\" was a GNU extension. It is now a C99 requirement.
.SH SEE ALSO
-.BR pow (3),
-.BR sqrt (3)
+.MR pow 3 ,
+.MR sqrt 3
diff --git a/man3/ccos.3 b/man3/ccos.3
index 0e77b3715..28cdbe01f 100644
--- a/man3/ccos.3
+++ b/man3/ccos.3
@@ -30,7 +30,7 @@ ccos(z) = (exp(i * z) + exp(\-i * z)) / 2
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -50,8 +50,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR cacos (3),
-.BR csin (3),
-.BR ctan (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cacos 3 ,
+.MR csin 3 ,
+.MR ctan 3 ,
+.MR complex 7
diff --git a/man3/ccosh.3 b/man3/ccosh.3
index 053a83dd6..349d48fcd 100644
--- a/man3/ccosh.3
+++ b/man3/ccosh.3
@@ -33,8 +33,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR cacosh (3),
-.BR csinh (3),
-.BR ctanh (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cacosh 3 ,
+.MR csinh 3 ,
+.MR ctanh 3 ,
+.MR complex 7
diff --git a/man3/ceil.3 b/man3/ceil.3
index 197920616..f4fc5db52 100644
--- a/man3/ceil.3
+++ b/man3/ceil.3
@@ -23,7 +23,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ceilf (),
@@ -56,7 +56,7 @@ No errors occur.
POSIX.1-2001 documents a range error for overflows, but see NOTES.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -107,9 +107,9 @@ To avoid an overflow, which will produce undefined results,
an application should perform a range check on the returned value
before assigning it to an integer type.
.SH SEE ALSO
-.BR floor (3),
-.BR lrint (3),
-.BR nearbyint (3),
-.BR rint (3),
-.BR round (3),
-.BR trunc (3)
+.MR floor 3 ,
+.MR lrint 3 ,
+.MR nearbyint 3 ,
+.MR rint 3 ,
+.MR round 3 ,
+.MR trunc 3
diff --git a/man3/cexp.3 b/man3/cexp.3
index 917d04d8b..f53aad0e6 100644
--- a/man3/cexp.3
+++ b/man3/cexp.3
@@ -31,7 +31,7 @@ cexp(I * z) = ccos(z) + I * csin(z)
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -51,8 +51,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR cexp2 (3),
-.BR clog (3),
-.BR cpow (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cexp2 3 ,
+.MR clog 3 ,
+.MR cpow 3 ,
+.MR complex 7
diff --git a/man3/cexp2.3 b/man3/cexp2.3
index 7a4f8c745..c1b3fc70f 100644
--- a/man3/cexp2.3
+++ b/man3/cexp2.3
@@ -25,7 +25,7 @@ These function names are reserved for future use in C99.
As at glibc 2.31, these functions are not provided in glibc.
.\" But reserved in NAMESPACE.
.SH SEE ALSO
-.BR cabs (3),
-.BR cexp (3),
-.BR clog10 (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cexp 3 ,
+.MR clog10 3 ,
+.MR complex 7
diff --git a/man3/cfree.3 b/man3/cfree.3
index 80812804d..78d7a806f 100644
--- a/man3/cfree.3
+++ b/man3/cfree.3
@@ -31,7 +31,7 @@ size_t " elsize );
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR cfree ():
@@ -44,14 +44,14 @@ Feature Test Macro Requirements for glibc (see
.SH DESCRIPTION
This function should never be used.
Use
-.BR free (3)
+.MR free 3
instead.
Starting with glibc 2.26, it has been removed from glibc.
.SS 1-arg cfree
In glibc, the function
.BR cfree ()
is a synonym for
-.BR free (3),
+.MR free 3 ,
"added for compatibility with SunOS".
.P
Other systems have other functions with this name.
@@ -63,7 +63,7 @@ and sometimes in
Some SCO and Solaris versions have malloc libraries with a 3-argument
.BR cfree (),
apparently as an analog to
-.BR calloc (3).
+.MR calloc 3 .
.P
If you need it while porting something, add
.P
@@ -76,13 +76,13 @@ If you need it while porting something, add
to your file.
.P
A frequently asked question is "Can I use
-.BR free (3)
+.MR free 3
to free memory allocated with
-.BR calloc (3),
+.MR calloc 3 ,
or do I need
.BR cfree ()?"
Answer: use
-.BR free (3).
+.MR free 3 .
.P
An SCO manual writes: "The cfree routine is provided for compliance
to the iBCSe2 standard and simply calls free.
@@ -92,7 +92,7 @@ arguments to cfree are not used."
The SunOS version of
.BR cfree ()
(which is a synonym for
-.BR free (3))
+.MR free 3 )
returns 1 on success and 0 on failure.
In case of error,
.I errno
@@ -102,11 +102,11 @@ the value of
.I ptr
was not a pointer to a block previously allocated by
one of the routines in the
-.BR malloc (3)
+.MR malloc 3
family.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -129,4 +129,4 @@ None.
.\" commit 025b33ae84bb8f15b2748a1d8605dca453fce112
Removed in glibc 2.26.
.SH SEE ALSO
-.BR malloc (3)
+.MR malloc 3
diff --git a/man3/cimag.3 b/man3/cimag.3
index e4c8f08c2..236b04373 100644
--- a/man3/cimag.3
+++ b/man3/cimag.3
@@ -30,7 +30,7 @@ z = creal(z) + I * cimag(z)
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -53,6 +53,6 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR creal (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR creal 3 ,
+.MR complex 7
diff --git a/man3/circleq.3 b/man3/circleq.3
index 75442e710..4df17a22f 100644
--- a/man3/circleq.3
+++ b/man3/circleq.3
@@ -314,5 +314,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR insque (3),
-.BR queue (7)
+.MR insque 3 ,
+.MR queue 7
diff --git a/man3/clearenv.3 b/man3/clearenv.3
index 49bd8c2f5..488d0d3f4 100644
--- a/man3/clearenv.3
+++ b/man3/clearenv.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR clearenv ():
@@ -35,9 +35,9 @@ pairs and sets the value of the external variable
.I environ
to NULL.
After this call, new variables can be added to the environment using
-.BR putenv (3)
+.MR putenv 3
and
-.BR setenv (3).
+.MR setenv 3 .
.SH RETURN VALUE
The
.BR clearenv ()
@@ -47,7 +47,7 @@ value on failure.
.\" glibc info and the Watcom C library document "a nonzero value".
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -80,12 +80,12 @@ POSIX.9 (bindings for FORTRAN77).
POSIX.1-1996 did not accept
.BR clearenv ()
and
-.BR putenv (3),
+.MR putenv 3 ,
but changed its mind and scheduled these functions for some
later issue of this standard (see \[sc]B.4.6.1).
However, POSIX.1-2001
adds only
-.BR putenv (3),
+.MR putenv 3 ,
and rejected
.BR clearenv ().
.SH NOTES
@@ -106,22 +106,22 @@ The
function may be useful in security-conscious applications that want to
precisely control the environment that is passed to programs
executed using
-.BR exec (3).
+.MR exec 3 .
The application would do this by first clearing the environment
and then adding select environment variables.
.P
Note that the main effect of
.BR clearenv ()
is to adjust the value of the pointer
-.BR environ (7);
+.MR environ 7 ;
this function does not erase the contents of the buffers
containing the environment definitions.
.P
The DG/UX and Tru64 man pages write: If
.I environ
has been modified by anything other than the
-.BR putenv (3),
-.BR getenv (3),
+.MR putenv 3 ,
+.MR getenv 3 ,
or
.BR clearenv ()
functions, then
@@ -130,8 +130,8 @@ will return an error and the process environment will remain unchanged.
.\" .P
.\" HP-UX has a ENOMEM error return.
.SH SEE ALSO
-.BR getenv (3),
-.BR putenv (3),
-.BR setenv (3),
-.BR unsetenv (3),
-.BR environ (7)
+.MR getenv 3 ,
+.MR putenv 3 ,
+.MR setenv 3 ,
+.MR unsetenv 3 ,
+.MR environ 7
diff --git a/man3/clock.3 b/man3/clock.3
index 292a0c137..fe8de92d6 100644
--- a/man3/clock.3
+++ b/man3/clock.3
@@ -33,7 +33,7 @@ be represented, the function returns the value
.IR (clock_t)\ \-1 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,7 +56,7 @@ the value returned by
.BR clock ()
also includes the times of any children whose status has been
collected via
-.BR wait (2)
+.MR wait 2
(or another wait-type call).
Linux does not include the times of waited-for children in the
value returned by
@@ -66,7 +66,7 @@ value returned by
.\" POSIX.1-2001 doesn't explicitly allow this, nor is there an
.\" explicit prohibition. -- MTK
The
-.BR times (2)
+.MR times 2
function, which explicitly returns (separate) information about the
caller and its children, may be preferable.
.SH STANDARDS
@@ -77,10 +77,10 @@ POSIX.1-2001, C89.
In glibc 2.17 and earlier,
.BR clock ()
was implemented on top of
-.BR times (2).
+.MR times 2 .
For improved accuracy,
since glibc 2.18, it is implemented on top of
-.BR clock_gettime (2)
+.MR clock_gettime 2
(using the
.B CLOCK_PROCESS_CPUTIME_ID
clock).
@@ -96,6 +96,6 @@ On a 32-bit system where
equals 1000000 this function will return the same
value approximately every 72 minutes.
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR getrusage (2),
-.BR times (2)
+.MR clock_gettime 2 ,
+.MR getrusage 2 ,
+.MR times 2
diff --git a/man3/clock_getcpuclockid.3 b/man3/clock_getcpuclockid.3
index 0d6e231d7..575fdb352 100644
--- a/man3/clock_getcpuclockid.3
+++ b/man3/clock_getcpuclockid.3
@@ -25,7 +25,7 @@ Real-time library
.ad l
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR clock_getcpuclockid ():
@@ -69,7 +69,7 @@ There is no process with the ID
.IR pid .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -88,7 +88,7 @@ glibc 2.2.
POSIX.1-2001.
.SH NOTES
Calling
-.BR clock_gettime (2)
+.MR clock_gettime 2
with the clock ID obtained by a call to
.BR clock_getcpuclockid ()
with a
@@ -100,7 +100,7 @@ is the same as using the clock ID
The example program below obtains the
CPU-time clock ID of the process whose ID is given on the command line,
and then uses
-.BR clock_gettime (2)
+.MR clock_gettime 2
to obtain the time on that clock.
An example run is the following:
.P
@@ -149,7 +149,7 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR clock_getres (2),
-.BR timer_create (2),
-.BR pthread_getcpuclockid (3),
-.BR time (7)
+.MR clock_getres 2 ,
+.MR timer_create 2 ,
+.MR pthread_getcpuclockid 3 ,
+.MR time 7
diff --git a/man3/clog.3 b/man3/clog.3
index ff2e8fb01..75c41be2f 100644
--- a/man3/clog.3
+++ b/man3/clog.3
@@ -25,7 +25,7 @@ with a branch cut along the negative real axis.
The logarithm
.BR clog ()
is the inverse function of the exponential
-.BR cexp (3).
+.MR cexp 3 .
Thus, if \fIy\ =\ clog(z)\fP, then \fIz\ =\ cexp(y)\fP.
The imaginary part of
.I y
@@ -44,7 +44,7 @@ Note that
close to zero will cause an overflow.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -64,8 +64,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR cexp (3),
-.BR clog10 (3),
-.BR clog2 (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cexp 3 ,
+.MR clog10 3 ,
+.MR clog2 3 ,
+.MR complex 7
diff --git a/man3/clog10.3 b/man3/clog10.3
index 1c798cf07..6d232f07a 100644
--- a/man3/clog10.3
+++ b/man3/clog10.3
@@ -47,7 +47,7 @@ Note that
close to zero will cause an overflow.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -68,8 +68,8 @@ glibc 2.1.
.P
The identifiers are reserved for future use in C99 and C11.
.SH SEE ALSO
-.BR cabs (3),
-.BR cexp (3),
-.BR clog (3),
-.BR clog2 (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cexp 3 ,
+.MR clog 3 ,
+.MR clog2 3 ,
+.MR complex 7
diff --git a/man3/clog2.3 b/man3/clog2.3
index b406a4229..6eba72040 100644
--- a/man3/clog2.3
+++ b/man3/clog2.3
@@ -38,8 +38,8 @@ These function names are reserved for future use in C99.
Not yet in glibc, as at glibc 2.19.
.\" But reserved in NAMESPACE.
.SH SEE ALSO
-.BR cabs (3),
-.BR cexp (3),
-.BR clog (3),
-.BR clog10 (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cexp 3 ,
+.MR clog 3 ,
+.MR clog10 3 ,
+.MR complex 7
diff --git a/man3/closedir.3 b/man3/closedir.3
index 6526a27be..7c73bcaad 100644
--- a/man3/closedir.3
+++ b/man3/closedir.3
@@ -49,7 +49,7 @@ Invalid directory stream descriptor
.IR dirp .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -66,10 +66,10 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR close (2),
-.BR opendir (3),
-.BR readdir (3),
-.BR rewinddir (3),
-.BR scandir (3),
-.BR seekdir (3),
-.BR telldir (3)
+.MR close 2 ,
+.MR opendir 3 ,
+.MR readdir 3 ,
+.MR rewinddir 3 ,
+.MR scandir 3 ,
+.MR seekdir 3 ,
+.MR telldir 3
diff --git a/man3/cmsg.3 b/man3/cmsg.3
index 43fd7c176..628af9318 100644
--- a/man3/cmsg.3
+++ b/man3/cmsg.3
@@ -31,9 +31,9 @@ credentials.
For instance, control messages can be used to send
additional header fields such as IP options.
Ancillary data is sent by calling
-.BR sendmsg (2)
+.MR sendmsg 2
and received by calling
-.BR recvmsg (2).
+.MR recvmsg 2 .
See their manual pages for more information.
.P
Ancillary data is a sequence of
@@ -43,7 +43,7 @@ See the specific protocol man pages for the available control message types.
The maximum ancillary buffer size allowed per socket can be set using
.IR /proc/sys/net/core/optmem_max ;
see
-.BR socket (7).
+.MR socket 7 .
.P
The
.I cmsghdr
@@ -87,7 +87,7 @@ It returns NULL when there isn't enough space left in the buffer.
When initializing a buffer that will contain a series of
.I cmsghdr
structures (e.g., to be sent with
-.BR sendmsg (2)),
+.MR sendmsg 2 ),
that buffer should first be zero-initialized
to ensure the correct operation of
.BR CMSG_NXTHDR ().
@@ -109,7 +109,7 @@ The pointer returned cannot be assumed to be suitably aligned for
accessing arbitrary payload data types.
Applications should not cast it to a pointer type matching the payload,
but should instead use
-.BR memcpy (3)
+.MR memcpy 3
to copy data to or from a suitably declared object.
.TP
.BR CMSG_LEN ()
@@ -154,7 +154,7 @@ all control messages in the buffer.
For more information on the
.IR msghdr ,
see
-.BR recvmsg (2).
+.MR recvmsg 2 .
.SH VERSIONS
For portability, ancillary data should be accessed using only the macros
described here.
@@ -253,9 +253,9 @@ memcpy(CMSG_DATA(cmsg), myfds, sizeof(myfds));
.P
For a complete code example that shows passing of file descriptors
over a UNIX domain socket, see
-.BR seccomp_unotify (2).
+.MR seccomp_unotify 2 .
.SH SEE ALSO
-.BR recvmsg (2),
-.BR sendmsg (2)
+.MR recvmsg 2 ,
+.MR sendmsg 2
.P
RFC\ 2292
diff --git a/man3/confstr.3 b/man3/confstr.3
index 5cb924cf0..a8f208fe4 100644
--- a/man3/confstr.3
+++ b/man3/confstr.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR confstr ():
@@ -114,7 +114,7 @@ The value of
is invalid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -147,10 +147,10 @@ confstr(_CS_PATH, pathbuf, n);
.EE
.in
.SH SEE ALSO
-.BR getconf (1),
-.BR sh (1),
-.BR exec (3),
-.BR fpathconf (3),
-.BR pathconf (3),
-.BR sysconf (3),
-.BR system (3)
+.MR getconf 1 ,
+.MR sh 1 ,
+.MR exec 3 ,
+.MR fpathconf 3 ,
+.MR pathconf 3 ,
+.MR sysconf 3 ,
+.MR system 3
diff --git a/man3/conj.3 b/man3/conj.3
index 36bf2ea70..ef6f6437c 100644
--- a/man3/conj.3
+++ b/man3/conj.3
@@ -31,7 +31,7 @@ cabs(z) = csqrt(z * conj(z))
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -51,6 +51,6 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR csqrt (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR csqrt 3 ,
+.MR complex 7
diff --git a/man3/copysign.3 b/man3/copysign.3
index bf20466ae..1506fcf00 100644
--- a/man3/copysign.3
+++ b/man3/copysign.3
@@ -26,7 +26,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR copysign (),
@@ -64,7 +64,7 @@ is returned.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -89,4 +89,4 @@ recommended functions in IEEE 754/IEEE 854).
.SH HISTORY
C99, POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
-.BR signbit (3)
+.MR signbit 3
diff --git a/man3/cos.3 b/man3/cos.3
index 4df1ae43c..673e0b03b 100644
--- a/man3/cos.3
+++ b/man3/cos.3
@@ -29,7 +29,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR cosf (),
@@ -61,7 +61,7 @@ a domain error occurs,
and a NaN is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -77,7 +77,7 @@ An invalid floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -108,11 +108,11 @@ to
.B EDOM
when a domain error occurred.
.SH SEE ALSO
-.BR acos (3),
-.BR asin (3),
-.BR atan (3),
-.BR atan2 (3),
-.BR ccos (3),
-.BR sin (3),
-.BR sincos (3),
-.BR tan (3)
+.MR acos 3 ,
+.MR asin 3 ,
+.MR atan 3 ,
+.MR atan2 3 ,
+.MR ccos 3 ,
+.MR sin 3 ,
+.MR sincos 3 ,
+.MR tan 3
diff --git a/man3/cosh.3 b/man3/cosh.3
index 4a22227d7..14bef3bc5 100644
--- a/man3/cosh.3
+++ b/man3/cosh.3
@@ -31,7 +31,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR coshf (),
@@ -78,7 +78,7 @@ or
respectively.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -93,7 +93,7 @@ An overflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -122,9 +122,9 @@ an overflow floating-point
.RB ( FE_OVERFLOW )
exception is not raised when an overflow occurs.
.SH SEE ALSO
-.BR acosh (3),
-.BR asinh (3),
-.BR atanh (3),
-.BR ccos (3),
-.BR sinh (3),
-.BR tanh (3)
+.MR acosh 3 ,
+.MR asinh 3 ,
+.MR atanh 3 ,
+.MR ccos 3 ,
+.MR sinh 3 ,
+.MR tanh 3
diff --git a/man3/cpow.3 b/man3/cpow.3
index 341c29b72..46b87845b 100644
--- a/man3/cpow.3
+++ b/man3/cpow.3
@@ -28,7 +28,7 @@ raised to the power
along the negative real axis).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -48,6 +48,6 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR pow (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR pow 3 ,
+.MR complex 7
diff --git a/man3/cproj.3 b/man3/cproj.3
index f91d43214..f87a6cc3d 100644
--- a/man3/cproj.3
+++ b/man3/cproj.3
@@ -29,7 +29,7 @@ Every complex infinite value is projected to a single infinite value,
namely to positive infinity on the real axis.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -55,5 +55,5 @@ In glibc 2.11 and earlier, the implementation does something different
projection onto a Riemann Sphere).
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=10401
.SH SEE ALSO
-.BR cabs (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR complex 7
diff --git a/man3/creal.3 b/man3/creal.3
index 97848d500..64e5eb4f4 100644
--- a/man3/creal.3
+++ b/man3/creal.3
@@ -28,7 +28,7 @@ One has:
.fi
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -51,6 +51,6 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR cimag (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cimag 3 ,
+.MR complex 7
diff --git a/man3/crypt.3 b/man3/crypt.3
index b619149a1..b2f6e7200 100644
--- a/man3/crypt.3
+++ b/man3/crypt.3
@@ -35,7 +35,7 @@ Password hashing library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR crypt ():
@@ -84,13 +84,13 @@ equal 7.2e16 possible values.
Exhaustive searches of this key space are
possible using massively parallel computers.
Software, such as
-.BR crack (1),
+.MR crack 1 ,
is available which will search the portion of this key space that is
generally used by humans for passwords.
Hence, password selection should,
at minimum, avoid common words and names.
The use of a
-.BR passwd (1)
+.MR passwd 1
program that checks for crackable passwords during the selection process is
recommended.
.P
@@ -168,7 +168,7 @@ has a nonzero value,
and an attempt was made to use a weak hashing type, such as DES.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -199,16 +199,16 @@ POSIX.1-2001, SVr4, 4.3BSD.
.SS Availability in glibc
The
.BR crypt (),
-.BR encrypt (3),
+.MR encrypt 3 ,
and
-.BR setkey (3)
+.MR setkey 3
functions are part of the POSIX.1-2008 XSI Options Group for Encryption
and are optional.
If the interfaces are not available, then the symbolic constant
.B _XOPEN_CRYPT
is either not defined,
or it is defined to \-1 and availability can be checked at run time with
-.BR sysconf (3).
+.MR sysconf 3 .
This may be the case if the downstream distribution has switched from glibc
crypt to
.IR libxcrypt .
@@ -312,8 +312,8 @@ is equal to
.I xxx
otherwise.
.SH SEE ALSO
-.BR login (1),
-.BR passwd (1),
-.BR encrypt (3),
-.BR getpass (3),
-.BR passwd (5)
+.MR login 1 ,
+.MR passwd 1 ,
+.MR encrypt 3 ,
+.MR getpass 3 ,
+.MR passwd 5
diff --git a/man3/csin.3 b/man3/csin.3
index 8dccebcd4..b289399fe 100644
--- a/man3/csin.3
+++ b/man3/csin.3
@@ -30,7 +30,7 @@ csin(z) = (exp(i * z) \- exp(\-i * z)) / (2 * i)
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -50,8 +50,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR casin (3),
-.BR ccos (3),
-.BR ctan (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR casin 3 ,
+.MR ccos 3 ,
+.MR ctan 3 ,
+.MR complex 7
diff --git a/man3/csinh.3 b/man3/csinh.3
index 709ae1af6..dad2ae24e 100644
--- a/man3/csinh.3
+++ b/man3/csinh.3
@@ -30,7 +30,7 @@ csinh(z) = (exp(z)\-exp(\-z))/2
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -50,8 +50,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR casinh (3),
-.BR ccosh (3),
-.BR ctanh (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR casinh 3 ,
+.MR ccosh 3 ,
+.MR ctanh 3 ,
+.MR complex 7
diff --git a/man3/csqrt.3 b/man3/csqrt.3
index c29db36bd..3fb9a8f5c 100644
--- a/man3/csqrt.3
+++ b/man3/csqrt.3
@@ -26,7 +26,7 @@ with a branch cut along the negative real axis.
real number.)
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -46,6 +46,6 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR cexp (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR cexp 3 ,
+.MR complex 7
diff --git a/man3/ctan.3 b/man3/ctan.3
index 2bcfb58be..c766d6cdd 100644
--- a/man3/ctan.3
+++ b/man3/ctan.3
@@ -30,7 +30,7 @@ ctan(z) = csin(z) / ccos(z)
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -50,8 +50,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR catan (3),
-.BR ccos (3),
-.BR csin (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR catan 3 ,
+.MR ccos 3 ,
+.MR csin 3 ,
+.MR complex 7
diff --git a/man3/ctanh.3 b/man3/ctanh.3
index 00ad505e7..dd1c7253e 100644
--- a/man3/ctanh.3
+++ b/man3/ctanh.3
@@ -31,7 +31,7 @@ ctanh(z) = csinh(z) / ccosh(z)
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -51,8 +51,8 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR cabs (3),
-.BR catanh (3),
-.BR ccosh (3),
-.BR csinh (3),
-.BR complex (7)
+.MR cabs 3 ,
+.MR catanh 3 ,
+.MR ccosh 3 ,
+.MR csinh 3 ,
+.MR complex 7
diff --git a/man3/ctermid.3 b/man3/ctermid.3
index 850dcec0b..5d922bd3a 100644
--- a/man3/ctermid.3
+++ b/man3/ctermid.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ctermid ():
@@ -45,7 +45,7 @@ is the maximum number of characters in the returned pathname.
The pointer to the pathname.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -70,4 +70,4 @@ It is not assured that the program can open the terminal.
.\" in glibc 2.3.x, x >= 4, the glibc headers threw an error
.\" if ctermid() was given an argument; fixed in glibc 2.4.
.SH SEE ALSO
-.BR ttyname (3)
+.MR ttyname 3
diff --git a/man3/ctime.3 b/man3/ctime.3
index b8543a1cf..31bcb1659 100644
--- a/man3/ctime.3
+++ b/man3/ctime.3
@@ -45,7 +45,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR asctime_r (),
@@ -78,7 +78,7 @@ separated into year, month, day, and so on.
Broken-down time is stored in the structure
.IR tm ,
described in
-.BR tm (3type).
+.MR tm 3type .
.P
The call
.BI ctime( t )
@@ -103,7 +103,7 @@ might be overwritten by subsequent calls to any of the date and time
functions.
The function also sets the external
variables \fItzname\fP, \fItimezone\fP, and \fIdaylight\fP (see
-.BR tzset (3))
+.MR tzset 3 )
with information about the current timezone.
The reentrant version
.BR ctime_r ()
@@ -132,7 +132,7 @@ function converts the calendar time \fItimep\fP to
broken-down time representation,
expressed relative to the user's specified timezone.
The function acts as if it called
-.BR tzset (3)
+.MR tzset 3
and sets the external variables \fItzname\fP with
information about the current timezone, \fItimezone\fP with the difference
between Coordinated Universal Time (UTC) and local standard time in
@@ -258,7 +258,7 @@ is set to indicate the error.
The result cannot be represented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -329,13 +329,13 @@ is interpreted as meaning the last day of the preceding month.
According to POSIX.1-2001,
.BR localtime ()
is required to behave as though
-.BR tzset (3)
+.MR tzset 3
was called, while
.BR localtime_r ()
does not have this requirement.
.\" See http://thread.gmane.org/gmane.comp.time.tz/2034/
For portable code,
-.BR tzset (3)
+.MR tzset 3
should be called before
.BR localtime_r ().
.SH STANDARDS
@@ -373,7 +373,7 @@ C89, POSIX.1-2001.
.BR ctime ()
C89, POSIX.1-2001.
Marked obsolete in POSIX.1-2008 (recommending
-.BR strftime (3)).
+.MR strftime 3 ).
.TP
.BR gmtime_r ()
.TQ
@@ -385,7 +385,7 @@ POSIX.1-2001.
.BR ctime_r ()
POSIX.1-2001.
Marked obsolete in POSIX.1-2008 (recommending
-.BR strftime (3)).
+.MR strftime 3 ).
.SH NOTES
The four functions
.BR asctime (),
@@ -416,14 +416,14 @@ Execution of any of the functions may overwrite the information returned
in either of these objects by any of the other functions."
This can occur in the glibc implementation.
.SH SEE ALSO
-.BR date (1),
-.BR gettimeofday (2),
-.BR time (2),
-.BR utime (2),
-.BR clock (3),
-.BR difftime (3),
-.BR strftime (3),
-.BR strptime (3),
-.BR timegm (3),
-.BR tzset (3),
-.BR time (7)
+.MR date 1 ,
+.MR gettimeofday 2 ,
+.MR time 2 ,
+.MR utime 2 ,
+.MR clock 3 ,
+.MR difftime 3 ,
+.MR strftime 3 ,
+.MR strptime 3 ,
+.MR timegm 3 ,
+.MR tzset 3 ,
+.MR time 7
diff --git a/man3/daemon.3 b/man3/daemon.3
index edc4e54b6..1f98dd791 100644
--- a/man3/daemon.3
+++ b/man3/daemon.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR daemon ():
@@ -58,10 +58,10 @@ to
otherwise, no changes are made to these file descriptors.
.SH RETURN VALUE
(This function forks, and if the
-.BR fork (2)
+.MR fork 2
succeeds, the parent calls
.\" not .IR in order not to underline _
-.BR _exit (2),
+.MR _exit 2 ,
so that further errors are seen by the child only.)
On success
.BR daemon ()
@@ -71,12 +71,12 @@ If an error occurs,
returns \-1 and sets
.I errno
to any of the errors specified for the
-.BR fork (2)
+.MR fork 2
and
-.BR setsid (2).
+.MR setsid 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -105,9 +105,9 @@ None.
.SH BUGS
The GNU C library implementation of this function was taken from BSD,
and does not employ the double-fork technique (i.e.,
-.BR fork (2),
-.BR setsid (2),
-.BR fork (2))
+.MR fork 2 ,
+.MR setsid 2 ,
+.MR fork 2 )
that is necessary to ensure that the resulting daemon process is
not a session leader.
Instead, the resulting daemon
@@ -123,7 +123,7 @@ already a controlling terminal for another session,
then that terminal will inadvertently become
the controlling terminal for the daemon.
.SH SEE ALSO
-.BR fork (2),
-.BR setsid (2),
-.BR daemon (7),
-.BR logrotate (8)
+.MR fork 2 ,
+.MR setsid 2 ,
+.MR daemon 7 ,
+.MR logrotate 8
diff --git a/man3/dbopen.3 b/man3/dbopen.3
index 475f460a9..aea783d6b 100644
--- a/man3/dbopen.3
+++ b/man3/dbopen.3
@@ -40,10 +40,10 @@ The flat-file format is a byte stream file with fixed or variable length
records.
The formats and file-format-specific information are described in detail
in their respective manual pages
-.BR btree (3),
-.BR hash (3),
+.MR btree 3 ,
+.MR hash 3 ,
and
-.BR recno (3).
+.MR recno 3 .
.P
.BR dbopen ()
opens
@@ -59,7 +59,7 @@ The
and
.I mode
arguments are as specified to the
-.BR open (2)
+.MR open 2
routine, however, only the
.BR O_CREAT ,
.BR O_EXCL ,
@@ -198,9 +198,9 @@ with the same
.I file
name.
This file descriptor may be safely used as an argument to the
-.BR fcntl (2)
+.MR fcntl 2
and
-.BR flock (2)
+.MR flock 2
locking functions.
The file descriptor is not necessarily associated with any of the
underlying files used by the access method.
@@ -417,7 +417,7 @@ recno file, not the recno file itself.
(See the
.I bfname
field of the
-.BR recno (3)
+.MR recno 3
manual page for more information.)
.RE
.IP
@@ -459,9 +459,9 @@ The
routine may fail and set
.I errno
for any of the errors specified for the library routines
-.BR open (2)
+.MR open 2
and
-.BR malloc (3)
+.MR malloc 3
or the following:
.TP
.B EFTYPE
@@ -479,12 +479,12 @@ The
routines may fail and set
.I errno
for any of the errors specified for the library routines
-.BR close (2),
-.BR read (2),
-.BR write (2),
-.BR free (3),
+.MR close 2 ,
+.MR read 2 ,
+.MR write 2 ,
+.MR free 3 ,
or
-.BR fsync (2).
+.MR fsync 2 .
.P
The
.IR del ,
@@ -495,11 +495,11 @@ and
routines may fail and set
.I errno
for any of the errors specified for the library routines
-.BR read (2),
-.BR write (2),
-.BR free (3),
+.MR read 2 ,
+.MR write 2 ,
+.MR free 3 ,
or
-.BR malloc (3).
+.MR malloc 3 .
.P
The
.I fd
@@ -514,7 +514,7 @@ The
routines may fail and set
.I errno
for any of the errors specified for the library routine
-.BR fsync (2).
+.MR fsync 2 .
.SH BUGS
The typedef
.I DBT
@@ -527,10 +527,10 @@ future version of the interface.
None of the access methods provide any form of concurrent access,
locking, or transactions.
.SH SEE ALSO
-.BR btree (3),
-.BR hash (3),
-.BR mpool (3),
-.BR recno (3)
+.MR btree 3 ,
+.MR hash 3 ,
+.MR mpool 3 ,
+.MR recno 3
.P
.IR "LIBTP: Portable, Modular Transactions for UNIX" ,
Margo Seltzer, Michael Olson, USENIX proceedings, Winter 1992.
diff --git a/man3/des_crypt.3 b/man3/des_crypt.3
index ca89b04bb..66a550543 100644
--- a/man3/des_crypt.3
+++ b/man3/des_crypt.3
@@ -44,7 +44,7 @@ NBS
DES
(Data Encryption Standard).
These routines are faster and more general purpose than
-.BR crypt (3).
+.MR crypt 3 .
They also are able to utilize
DES
hardware if it is available.
@@ -132,7 +132,7 @@ is false only for the first two statuses.
.\" Some additions - aeb
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -159,6 +159,6 @@ these functions were removed.
Applications should switch to a modern cryptography library, such as
.BR libgcrypt .
.SH SEE ALSO
-.BR des (1),
-.BR crypt (3),
-.BR xcrypt (3)
+.MR des 1 ,
+.MR crypt 3 ,
+.MR xcrypt 3
diff --git a/man3/difftime.3 b/man3/difftime.3
index 895a31c6d..d9f2a0dc4 100644
--- a/man3/difftime.3
+++ b/man3/difftime.3
@@ -35,7 +35,7 @@ except that the result does not overflow and is rounded to
.IR double .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -52,9 +52,9 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR date (1),
-.BR gettimeofday (2),
-.BR time (2),
-.BR ctime (3),
-.BR gmtime (3),
-.BR localtime (3)
+.MR date 1 ,
+.MR gettimeofday 2 ,
+.MR time 2 ,
+.MR ctime 3 ,
+.MR gmtime 3 ,
+.MR localtime 3
diff --git a/man3/dirfd.3 b/man3/dirfd.3
index 54ec28165..fe4114e8c 100644
--- a/man3/dirfd.3
+++ b/man3/dirfd.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR dirfd ():
@@ -36,11 +36,11 @@ returns the file descriptor associated with the directory stream
This file descriptor is the one used internally by the directory stream.
As a result, it is useful only for functions which do not depend on
or alter the file position, such as
-.BR fstat (2)
+.MR fstat 2
and
-.BR fchdir (2).
+.MR fchdir 2 .
It will be automatically closed when
-.BR closedir (3)
+.MR closedir 3
is called.
.SH RETURN VALUE
On success,
@@ -64,7 +64,7 @@ The implementation does not support the association of a file
descriptor with a directory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -82,12 +82,12 @@ POSIX.1-2008.
4.3BSD-Reno (not in 4.2BSD).
.\" It is present in libc5 (since 5.1.2) and in glibc 2.
.SH SEE ALSO
-.BR open (2),
-.BR openat (2),
-.BR closedir (3),
-.BR opendir (3),
-.BR readdir (3),
-.BR rewinddir (3),
-.BR scandir (3),
-.BR seekdir (3),
-.BR telldir (3)
+.MR open 2 ,
+.MR openat 2 ,
+.MR closedir 3 ,
+.MR opendir 3 ,
+.MR readdir 3 ,
+.MR rewinddir 3 ,
+.MR scandir 3 ,
+.MR seekdir 3 ,
+.MR telldir 3
diff --git a/man3/div.3 b/man3/div.3
index cdcdecbf9..c09a3334c 100644
--- a/man3/div.3
+++ b/man3/div.3
@@ -34,7 +34,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR lldiv ():
@@ -66,7 +66,7 @@ of the same type as the function arguments.
The \fIdiv_t\fP (etc.) structure.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -101,5 +101,5 @@ div_t q = div(\-5, 3);
.P
the values \fIq.quot\fP and \fIq.rem\fP are \-1 and \-2, respectively.
.SH SEE ALSO
-.BR abs (3),
-.BR remainder (3)
+.MR abs 3 ,
+.MR remainder 3
diff --git a/man3/dl_iterate_phdr.3 b/man3/dl_iterate_phdr.3
index 0a8beb3ae..cd37a4022 100644
--- a/man3/dl_iterate_phdr.3
+++ b/man3/dl_iterate_phdr.3
@@ -184,7 +184,7 @@ function returns whatever value was returned by the last call to
.IR callback .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -333,13 +333,13 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR ldd (1),
-.BR objdump (1),
-.BR readelf (1),
-.BR dladdr (3),
-.BR dlopen (3),
-.BR elf (5),
-.BR ld.so (8)
+.MR ldd 1 ,
+.MR objdump 1 ,
+.MR readelf 1 ,
+.MR dladdr 3 ,
+.MR dlopen 3 ,
+.MR elf 5 ,
+.MR ld.so 8
.P
.IR "Executable and Linking Format Specification" ,
available at various locations online.
diff --git a/man3/dladdr.3 b/man3/dladdr.3
index f52437df8..820d2e283 100644
--- a/man3/dladdr.3
+++ b/man3/dladdr.3
@@ -212,10 +212,10 @@ In this case, an error message is
.\" According to the FreeBSD man page, dladdr1() does signal an
.\" error via dlerror() for this case.
available via
-.BR dlerror (3).
+.MR dlerror 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -262,14 +262,14 @@ To work around this,
you can try to compile the code to be position-independent:
then, the compiler cannot prepare the pointer
at compile time any more and
-.BR gcc (1)
+.MR gcc 1
will generate code that just loads the final symbol address from the
.I got
(Global Offset Table) at run time before passing it to
.BR dladdr ().
.SH SEE ALSO
-.BR dl_iterate_phdr (3),
-.BR dlinfo (3),
-.BR dlopen (3),
-.BR dlsym (3),
-.BR ld.so (8)
+.MR dl_iterate_phdr 3 ,
+.MR dlinfo 3 ,
+.MR dlopen 3 ,
+.MR dlsym 3 ,
+.MR ld.so 8
diff --git a/man3/dlerror.3 b/man3/dlerror.3
index a779c12db..3ec1913c4 100644
--- a/man3/dlerror.3
+++ b/man3/dlerror.3
@@ -33,7 +33,7 @@ returns NULL if no errors have occurred since initialization or since
it was last called.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -70,9 +70,9 @@ calls.
.\" .in
.SH EXAMPLES
See
-.BR dlopen (3).
+.MR dlopen 3 .
.SH SEE ALSO
-.BR dladdr (3),
-.BR dlinfo (3),
-.BR dlopen (3),
-.BR dlsym (3)
+.MR dladdr 3 ,
+.MR dlinfo 3 ,
+.MR dlopen 3 ,
+.MR dlsym 3
diff --git a/man3/dlinfo.3 b/man3/dlinfo.3
index c3a5662ca..ea18bdd56 100644
--- a/man3/dlinfo.3
+++ b/man3/dlinfo.3
@@ -25,9 +25,9 @@ function obtains information about the dynamically loaded object
referred to by
.I handle
(typically obtained by an earlier call to
-.BR dlopen (3)
+.MR dlopen 3
or
-.BR dlmopen (3)).
+.MR dlmopen 3 ).
The
.I request
argument specifies which information is to be returned.
@@ -199,10 +199,10 @@ On success,
.BR dlinfo ()
returns 0.
On failure, it returns \-1; the cause of the error can be diagnosed using
-.BR dlerror (3).
+.MR dlerror 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -224,7 +224,7 @@ glibc 2.3.3.
Solaris.
.SH EXAMPLES
The program below opens a shared objects using
-.BR dlopen (3)
+.MR dlopen 3
and then uses the
.B RTLD_DI_SERINFOSIZE
and
@@ -309,9 +309,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR dl_iterate_phdr (3),
-.BR dladdr (3),
-.BR dlerror (3),
-.BR dlopen (3),
-.BR dlsym (3),
-.BR ld.so (8)
+.MR dl_iterate_phdr 3 ,
+.MR dladdr 3 ,
+.MR dlerror 3 ,
+.MR dlopen 3 ,
+.MR dlsym 3 ,
+.MR ld.so 8
diff --git a/man3/dlopen.3 b/man3/dlopen.3
index 03fbc04e1..86a03ad81 100644
--- a/man3/dlopen.3
+++ b/man3/dlopen.3
@@ -44,9 +44,9 @@ string
.I filename
and returns an opaque "handle" for the loaded object.
This handle is employed with other functions in the dlopen API, such as
-.BR dlsym (3),
-.BR dladdr (3),
-.BR dlinfo (3),
+.MR dlsym 3 ,
+.MR dladdr 3 ,
+.MR dlinfo 3 ,
and
.BR dlclose ().
.P
@@ -66,7 +66,7 @@ contains a slash ("/"), then it is interpreted as a (relative
or absolute) pathname.
Otherwise, the dynamic linker searches for the object as follows
(see
-.BR ld.so (8)
+.MR ld.so 8
for further details):
.IP \[bu] 3
(ELF only) If the calling object
@@ -90,7 +90,7 @@ are searched.
The cache file
.I /etc/ld.so.cache
(maintained by
-.BR ldconfig (8))
+.MR ldconfig 8 )
is checked to see whether it contains an entry for
.IR filename .
.IP \[bu]
@@ -181,7 +181,7 @@ If
.I filename
is NULL, then the returned handle is for the main program.
When given to
-.BR dlsym (3),
+.MR dlsym 3 ,
this handle causes a search for a symbol in the main program,
followed by all shared objects loaded at program startup,
and then all shared objects loaded by
@@ -203,14 +203,14 @@ and definitions in the shared object itself
.P
Any global symbols in the executable that were placed into
its dynamic symbol table by
-.BR ld (1)
+.MR ld 1
can also be used to resolve references in a dynamically loaded shared object.
Symbols may be placed in the dynamic symbol table
either because the executable was linked with the flag "\-rdynamic"
(or, synonymously, "\-\-export\-dynamic"), which causes all of
the executable's global symbols to be placed in the dynamic symbol table,
or because
-.BR ld (1)
+.MR ld 1
noted a dependency on a symbol in another object during static linking.
.P
If the same shared object is opened again with
@@ -276,7 +276,7 @@ The
argument is either the ID of an existing namespace
.\" FIXME: Is using dlinfo() RTLD_DI_LMID the right technique?
(which can be obtained using the
-.BR dlinfo (3)
+.MR dlinfo 3
.B RTLD_DI_LMID
request) or one of the following special values:
.TP
@@ -345,10 +345,10 @@ On success,
returns 0; on error, it returns a nonzero value.
.P
Errors from these functions can be diagnosed using
-.BR dlerror (3).
+.MR dlerror 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -489,7 +489,7 @@ then that routine is called just before the object is unloaded.
In this case, one must avoid linking against the system startup files,
which contain default versions of these files;
this can be done by using the
-.BR gcc (1)
+.MR gcc 1
.I \-nostartfiles
command-line option.
.P
@@ -515,7 +515,7 @@ permit multiple initialization and finalization functions to be defined.
.\"
.P
Since glibc 2.2.3,
-.BR atexit (3)
+.MR atexit 3
can be used to register an exit handler that is automatically
called when a shared object is unloaded.
.SS History
@@ -539,7 +539,7 @@ namespace other than the initial namespace.
.SH EXAMPLES
The program below loads the (glibc) math library,
looks up the address of the
-.BR cos (3)
+.MR cos 3
function, and prints the cosine of 2.0.
The following is an example of building and running the program:
.P
@@ -609,16 +609,16 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR ld (1),
-.BR ldd (1),
-.BR pldd (1),
-.BR dl_iterate_phdr (3),
-.BR dladdr (3),
-.BR dlerror (3),
-.BR dlinfo (3),
-.BR dlsym (3),
-.BR rtld\-audit (7),
-.BR ld.so (8),
-.BR ldconfig (8)
+.MR ld 1 ,
+.MR ldd 1 ,
+.MR pldd 1 ,
+.MR dl_iterate_phdr 3 ,
+.MR dladdr 3 ,
+.MR dlerror 3 ,
+.MR dlinfo 3 ,
+.MR dlsym 3 ,
+.MR rtld\-audit 7 ,
+.MR ld.so 8 ,
+.MR ldconfig 8
.P
gcc info pages, ld info pages
diff --git a/man3/dlsym.3 b/man3/dlsym.3
index 74cc36af2..23fa4be09 100644
--- a/man3/dlsym.3
+++ b/man3/dlsym.3
@@ -26,13 +26,13 @@ Dynamic linking library
The function
.BR dlsym ()
takes a "handle" of a dynamic loaded shared object returned by
-.BR dlopen (3)
+.MR dlopen 3
along with a null-terminated symbol name,
and returns the address where that symbol is
loaded into memory.
If the symbol is not found, in the specified
object or any of the shared objects that were automatically loaded by
-.BR dlopen (3)
+.MR dlopen 3
when that object was loaded,
.BR dlsym ()
returns NULL.
@@ -46,11 +46,11 @@ Therefore, a NULL return from
need not indicate an error.
The correct way to distinguish an error from a symbol whose value is NULL
is to call
-.BR dlerror (3)
+.MR dlerror 3
to clear any old error conditions, then call
.BR dlsym (),
and then call
-.BR dlerror (3)
+.MR dlerror 3
again, saving its return value into a variable, and check whether
this saved value is not NULL.
.P
@@ -75,7 +75,7 @@ the definition of a function in a preloaded shared object
(see
.B LD_PRELOAD
in
-.BR ld.so (8))
+.MR ld.so 8 )
can find and invoke the "real" function provided in another shared object
(or for that matter, the "next" definition of the function in cases
where there are multiple layers of preloading).
@@ -101,10 +101,10 @@ these functions return the address associated with
.IR symbol .
On failure, they return NULL;
the cause of the error can be diagnosed using
-.BR dlerror (3).
+.MR dlerror 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -161,11 +161,11 @@ That system does not have
.BR dlvsym ().
.SH EXAMPLES
See
-.BR dlopen (3).
+.MR dlopen 3 .
.SH SEE ALSO
-.BR dl_iterate_phdr (3),
-.BR dladdr (3),
-.BR dlerror (3),
-.BR dlinfo (3),
-.BR dlopen (3),
-.BR ld.so (8)
+.MR dl_iterate_phdr 3 ,
+.MR dladdr 3 ,
+.MR dlerror 3 ,
+.MR dlinfo 3 ,
+.MR dlopen 3 ,
+.MR ld.so 8
diff --git a/man3/drand48.3 b/man3/drand48.3
index 108fe0f44..4de8863ca 100644
--- a/man3/drand48.3
+++ b/man3/drand48.3
@@ -35,7 +35,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
All functions shown above:
@@ -225,7 +225,7 @@ and
.IR c .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -258,5 +258,5 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4.
.SH SEE ALSO
-.BR rand (3),
-.BR random (3)
+.MR rand 3 ,
+.MR random 3
diff --git a/man3/drand48_r.3 b/man3/drand48_r.3
index 13f893246..5563976fc 100644
--- a/man3/drand48_r.3
+++ b/man3/drand48_r.3
@@ -42,7 +42,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
All functions shown above:
@@ -61,7 +61,7 @@ All functions shown above:
.fi
.SH DESCRIPTION
These functions are the reentrant analogs of the functions described in
-.BR drand48 (3).
+.MR drand48 3 .
Instead of modifying the global random generator state, they use
the supplied data
.IR buffer .
@@ -76,7 +76,7 @@ or
The return value is 0.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -99,6 +99,6 @@ T} Thread safety MT-Safe race:buffer
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR drand48 (3),
-.BR rand (3),
-.BR random (3)
+.MR drand48 3 ,
+.MR rand 3 ,
+.MR random 3
diff --git a/man3/duplocale.3 b/man3/duplocale.3
index 246af79e9..bce4b7154 100644
--- a/man3/duplocale.3
+++ b/man3/duplocale.3
@@ -17,7 +17,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR duplocale ():
@@ -40,7 +40,7 @@ is
.BR duplocale ()
creates a locale object containing a copy of the global locale
determined by
-.BR setlocale (3).
+.MR setlocale 3 .
.SH RETURN VALUE
On success,
.BR duplocale ()
@@ -63,11 +63,11 @@ Duplicating a locale can serve the following purposes:
.IP \[bu] 3
To create a copy of a locale object in which one of more categories
are to be modified (using
-.BR newlocale (3)).
+.MR newlocale 3 ).
.IP \[bu]
To obtain a handle for the current locale which can used in
other functions that employ a locale handle, such as
-.BR toupper_l (3).
+.MR toupper_l 3 .
This is done by applying
.BR duplocale ()
to the value returned by the following call:
@@ -79,11 +79,11 @@ loc = uselocale((locale_t) 0);
.in
.IP
This technique is necessary, because the above
-.BR uselocale (3)
+.MR uselocale 3
call may return the value
.BR LC_GLOBAL_LOCALE ,
which results in undefined behavior if passed to functions such as
-.BR toupper_l (3).
+.MR toupper_l 3 .
Calling
.BR duplocale ()
can be used to ensure that the
@@ -97,11 +97,11 @@ should be deallocated using
.BR freelocale (3).
.SH EXAMPLES
The program below uses
-.BR uselocale (3)
+.MR uselocale 3
and
.BR duplocale ()
to obtain a handle for the current locale which is then passed to
-.BR toupper_l (3).
+.MR toupper_l 3 .
The program takes one command-line argument,
a string of characters that is converted to uppercase and
displayed on standard output.
@@ -160,9 +160,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR freelocale (3),
-.BR newlocale (3),
-.BR setlocale (3),
-.BR uselocale (3),
-.BR locale (5),
-.BR locale (7)
+.MR freelocale 3 ,
+.MR newlocale 3 ,
+.MR setlocale 3 ,
+.MR uselocale 3 ,
+.MR locale 5 ,
+.MR locale 7
diff --git a/man3/dysize.3 b/man3/dysize.3
index a6278f1bf..e36e91aa8 100644
--- a/man3/dysize.3
+++ b/man3/dysize.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR dysize ():
@@ -45,7 +45,7 @@ also found in
.IR <time.h> .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -66,4 +66,4 @@ This is a compatibility function only.
Don't use it in new programs.
.\" The SCO version of this function had a year-2000 problem.
.SH SEE ALSO
-.BR strftime (3)
+.MR strftime 3
diff --git a/man3/ecvt.3 b/man3/ecvt.3
index 48e25904e..234d8f252 100644
--- a/man3/ecvt.3
+++ b/man3/ecvt.3
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ecvt (),
@@ -88,7 +88,7 @@ or
.BR fcvt ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -115,9 +115,9 @@ POSIX.1-2008 removes the specifications of
and
.BR fcvt (),
recommending the use of
-.BR sprintf (3)
+.MR sprintf 3
instead (though
-.BR snprintf (3)
+.MR snprintf 3
may be preferable).
.SH NOTES
.\" Linux libc4 and libc5 specified the type of
@@ -126,8 +126,8 @@ may be preferable).
.\" .IR size_t .
Not all locales use a point as the radix character ("decimal point").
.SH SEE ALSO
-.BR ecvt_r (3),
-.BR gcvt (3),
-.BR qecvt (3),
-.BR setlocale (3),
-.BR sprintf (3)
+.MR ecvt_r 3 ,
+.MR gcvt 3 ,
+.MR qecvt 3 ,
+.MR setlocale 3 ,
+.MR sprintf 3
diff --git a/man3/ecvt_r.3 b/man3/ecvt_r.3
index 34e32abb7..39e5a10df 100644
--- a/man3/ecvt_r.3
+++ b/man3/ecvt_r.3
@@ -35,7 +35,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ecvt_r (),
@@ -54,25 +54,25 @@ The functions
and
.BR qfcvt_r ()
are identical to
-.BR ecvt (3),
-.BR fcvt (3),
-.BR qecvt (3),
+.MR ecvt 3 ,
+.MR fcvt 3 ,
+.MR qecvt 3 ,
and
-.BR qfcvt (3),
+.MR qfcvt 3 ,
respectively, except that they do not return their result in a static
buffer, but instead use the supplied
.I buf
of size
.IR len .
See
-.BR ecvt (3)
+.MR ecvt 3
and
-.BR qecvt (3).
+.MR qecvt 3 .
.SH RETURN VALUE
These functions return 0 on success, and \-1 otherwise.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -92,9 +92,9 @@ GNU.
.SH NOTES
These functions are obsolete.
Instead,
-.BR sprintf (3)
+.MR sprintf 3
is recommended.
.SH SEE ALSO
-.BR ecvt (3),
-.BR qecvt (3),
-.BR sprintf (3)
+.MR ecvt 3 ,
+.MR qecvt 3 ,
+.MR sprintf 3
diff --git a/man3/encrypt.3 b/man3/encrypt.3
index 47a9b918a..b2915b21c 100644
--- a/man3/encrypt.3
+++ b/man3/encrypt.3
@@ -106,7 +106,7 @@ The function is not provided.
(For example because of former USA export restrictions.)
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -151,7 +151,7 @@ Applications should switch to a modern cryptography library, such as
POSIX.1-2001, SUS, SVr4.
.SS Availability in glibc
See
-.BR crypt (3).
+.MR crypt 3 .
.SS Features in glibc
In glibc 2.2, these functions use the DES algorithm.
.SH EXAMPLES
@@ -205,7 +205,7 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR cbc_crypt (3),
-.BR crypt (3),
-.BR ecb_crypt (3)
+.MR cbc_crypt 3 ,
+.MR crypt 3 ,
+.MR ecb_crypt 3
.\" .BR fcrypt (3)
diff --git a/man3/end.3 b/man3/end.3
index f0c22ff5d..b410ba39a 100644
--- a/man3/end.3
+++ b/man3/end.3
@@ -49,11 +49,11 @@ the program break will be somewhere near
.I &end
(perhaps at the start of the following page).
However, the break will change as memory is allocated via
-.BR brk (2)
+.MR brk 2
or
-.BR malloc (3).
+.MR malloc 3 .
Use
-.BR sbrk (2)
+.MR sbrk 2
with an argument of zero to find the current value of the program break.
.SH EXAMPLES
When run, the program below produces output such as the following:
@@ -90,7 +90,7 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR objdump (1),
-.BR readelf (1),
-.BR sbrk (2),
-.BR elf (5)
+.MR objdump 1 ,
+.MR readelf 1 ,
+.MR sbrk 2 ,
+.MR elf 5
diff --git a/man3/endian.3 b/man3/endian.3
index 6cd85317a..f6df7d906 100644
--- a/man3/endian.3
+++ b/man3/endian.3
@@ -35,7 +35,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.ad l
.P
@@ -99,7 +99,7 @@ None.
glibc 2.9.
.P
These functions are similar to the older
-.BR byteorder (3)
+.MR byteorder 3
family of functions.
For example,
.BR be32toh ()
@@ -107,7 +107,7 @@ is identical to
.BR ntohl ().
.P
The advantage of the
-.BR byteorder (3)
+.MR byteorder 3
functions is that they are standard functions available
on all UNIX systems.
On the other hand, the fact that they were designed
@@ -160,5 +160,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR bswap (3),
-.BR byteorder (3)
+.MR bswap 3 ,
+.MR byteorder 3
diff --git a/man3/envz_add.3 b/man3/envz_add.3
index fd5b77029..5dfc868cd 100644
--- a/man3/envz_add.3
+++ b/man3/envz_add.3
@@ -41,7 +41,7 @@ These functions are glibc-specific.
.P
An argz vector is a pointer to a character buffer together with a length,
see
-.BR argz_add (3).
+.MR argz_add 3 .
An envz vector is a special argz vector, namely one where the strings
have the form "name=value".
Everything after the first \[aq]=\[aq] is considered
@@ -121,7 +121,7 @@ and return 0 for success, and
if an allocation error occurs.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -165,4 +165,4 @@ main(int argc, char *argv[], char *envp[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR argz_add (3)
+.MR argz_add 3
diff --git a/man3/erf.3 b/man3/erf.3
index b43b866e5..15d4fa900 100644
--- a/man3/erf.3
+++ b/man3/erf.3
@@ -30,7 +30,7 @@ Math library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR erf ():
@@ -82,7 +82,7 @@ a range error occurs,
and the return value is 2*x/sqrt(pi).
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -102,7 +102,7 @@ These functions do not set
.\" see https://www.sourceware.org/bugzilla/show_bug.cgi?id=6785
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -126,6 +126,6 @@ The variant returning
also conforms to
SVr4, 4.3BSD.
.SH SEE ALSO
-.BR cerf (3),
-.BR erfc (3),
-.BR exp (3)
+.MR cerf 3 ,
+.MR erfc 3 ,
+.MR exp 3
diff --git a/man3/erfc.3 b/man3/erfc.3
index f5717c789..c3f237571 100644
--- a/man3/erfc.3
+++ b/man3/erfc.3
@@ -21,7 +21,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR erfc ():
@@ -75,7 +75,7 @@ that value is returned, and
a range error occurs.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -95,7 +95,7 @@ These functions do not set
.\" see https://www.sourceware.org/bugzilla/show_bug.cgi?id=6785
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -129,6 +129,6 @@ would occur for the calculation 1-erf(x) for large values of
.I x
(for which the value of erf(x) approaches 1).
.SH SEE ALSO
-.BR cerf (3),
-.BR erf (3),
-.BR exp (3)
+.MR cerf 3 ,
+.MR erf 3 ,
+.MR exp 3
diff --git a/man3/err.3 b/man3/err.3
index 7df6d6cfe..75ef6b8a7 100644
--- a/man3/err.3
+++ b/man3/err.3
@@ -45,7 +45,7 @@ and a space are output.
If the
.I fmt
argument is not NULL, the
-.BR printf (3)-like
+.MR printf 3 -like
formatted error message is output.
The output is terminated by a newline character.
.P
@@ -56,7 +56,7 @@ The
and
.BR vwarn ()
functions append an error message obtained from
-.BR strerror (3)
+.MR strerror 3
based on the global variable
.IR errno ,
preceded by another colon and space unless the
@@ -80,7 +80,7 @@ functions do not return, but exit with the value of the argument
.IR eval .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -147,8 +147,8 @@ if (fd == \-1)
.EE
.in
.SH SEE ALSO
-.BR error (3),
-.BR exit (3),
-.BR perror (3),
-.BR printf (3),
-.BR strerror (3)
+.MR error 3 ,
+.MR exit 3 ,
+.MR perror 3 ,
+.MR printf 3 ,
+.MR strerror 3
diff --git a/man3/errno.3 b/man3/errno.3
index 786dec824..3b27c78b5 100644
--- a/man3/errno.3
+++ b/man3/errno.3
@@ -45,7 +45,7 @@ The value of
is never set to zero by any system call or library function.
.P
For some system calls and library functions (e.g.,
-.BR getpriority (2)),
+.MR getpriority 2 ),
\-1 is a valid return on success.
In such cases, a successful return can be distinguished from an error
return by setting
@@ -89,16 +89,16 @@ and even across different architectures on Linux.
Therefore, numeric values are not included as part of the list of
error names below.
The
-.BR perror (3)
+.MR perror 3
and
-.BR strerror (3)
+.MR strerror 3
functions can be used to convert these names to
corresponding textual error messages.
.P
On any particular Linux system,
one can obtain a list of all symbolic error names and
the corresponding error numbers using the
-.BR errno (1)
+.MR errno 1
command (part of the
.I moreutils
package):
@@ -116,7 +116,7 @@ EIO 5 Input/output error
.in
.P
The
-.BR errno (1)
+.MR errno 1
command can also be used to look up individual error numbers and names,
and to search for errors using strings from the error description,
as in the following examples:
@@ -276,7 +276,7 @@ Operation in progress (POSIX.1-2001).
.TP
.B EINTR
Interrupted function call (POSIX.1-2001); see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
Invalid argument (POSIX.1-2001).
@@ -344,7 +344,7 @@ Too many open files (POSIX.1-2001).
Commonly caused by exceeding the
.B RLIMIT_NOFILE
resource limit described in
-.BR getrlimit (2).
+.MR getrlimit 2 .
Can also be caused by exceeding the limit specified in
.IR /proc/sys/fs/nr_open .
.TP
@@ -376,7 +376,7 @@ Too many open files in system (POSIX.1-2001).
On Linux, this is probably a result of encountering the
.I /proc/sys/fs/file\-max
limit (see
-.BR proc (5)).
+.MR proc 5 ).
.TP
.B ENOANO
.\" ENOANO appears to be used by a few drivers
@@ -389,7 +389,7 @@ No buffer space available (POSIX.1 (XSI STREAMS option)).
.B ENODATA
The named attribute does not exist,
or the process has no access to this attribute; see
-.BR xattr (7).
+.MR xattr 7 .
.IP
In POSIX.1-2001 (XSI STREAMS option),
this error was described as
@@ -561,7 +561,7 @@ Timer expired
(POSIX.1 (XSI STREAMS option)).
.IP
(POSIX.1 says "STREAM
-.BR ioctl (2)
+.MR ioctl 2
timeout".)
.TP
.B ETIMEDOUT
@@ -610,7 +610,7 @@ where
no longer needs to have the value it had upon return from
.IR somecall ()
(i.e., it may have been changed by the
-.BR printf (3)).
+.MR printf 3 ).
If the value of
.I errno
should be preserved across a library call, it must be saved:
@@ -649,7 +649,7 @@ It long ago ceased to be necessary,
and it will cause problems with modern versions of the C library.
.SH SEE ALSO
.BR errno (1), \" In the moreutils package
-.BR err (3),
-.BR error (3),
-.BR perror (3),
-.BR strerror (3)
+.MR err 3 ,
+.MR error 3 ,
+.MR perror 3 ,
+.MR strerror 3
diff --git a/man3/error.3 b/man3/error.3
index 95a964103..c2415e8de 100644
--- a/man3/error.3
+++ b/man3/error.3
@@ -53,7 +53,7 @@ It flushes
and then outputs to
.I stderr
the program name, a colon and a space, the message specified by the
-.BR printf (3)-style
+.MR printf 3 -style
format string \fIformat\fP, and, if \fIerrnum\fP is
nonzero, a second colon and a space followed by the string given by
.IR strerror(errnum) .
@@ -67,7 +67,7 @@ The output is terminated by a newline character.
The program name printed by
.BR error ()
is the value of the global variable
-.BR program_invocation_name (3).
+.MR program_invocation_name 3 .
.I program_invocation_name
initially has the same value as
.IR main ()'s
@@ -78,7 +78,7 @@ The value of this variable can be modified to change the output of
If \fIstatus\fP has a nonzero value, then
.BR error ()
calls
-.BR exit (3)
+.MR exit 3
to terminate the program using the given value as the exit status;
otherwise it returns after printing the error message.
.P
@@ -123,7 +123,7 @@ The function should print a suitable string to
.IR stderr .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -163,9 +163,9 @@ is very much like
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR err (3),
-.BR errno (3),
-.BR exit (3),
-.BR perror (3),
-.BR program_invocation_name (3),
-.BR strerror (3)
+.MR err 3 ,
+.MR errno 3 ,
+.MR exit 3 ,
+.MR perror 3 ,
+.MR program_invocation_name 3 ,
+.MR strerror 3
diff --git a/man3/ether_aton.3 b/man3/ether_aton.3
index 7016fcc15..bc6a3c0c4 100644
--- a/man3/ether_aton.3
+++ b/man3/ether_aton.3
@@ -107,7 +107,7 @@ struct ether_addr {
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -140,4 +140,4 @@ In glibc 2.2.5 and earlier, the implementation of
.\" which was in glibc 2.3
is broken.
.SH SEE ALSO
-.BR ethers (5)
+.MR ethers 5
diff --git a/man3/euidaccess.3 b/man3/euidaccess.3
index 999bb9d9d..b309a4f78 100644
--- a/man3/euidaccess.3
+++ b/man3/euidaccess.3
@@ -19,12 +19,12 @@ Standard C library
.fi
.SH DESCRIPTION
Like
-.BR access (2),
+.MR access 2 ,
.BR euidaccess ()
checks permissions and existence of the file identified by its argument
.IR pathname .
However, whereas
-.BR access (2)
+.MR access 2
performs checks using the real user and group identifiers of the process,
.BR euidaccess ()
uses the effective identifiers.
@@ -33,7 +33,7 @@ uses the effective identifiers.
is a mask consisting of one or more of
.BR R_OK ", " W_OK ", " X_OK ", and " F_OK ,
with the same meanings as for
-.BR access (2).
+.MR access 2 .
.P
.BR eaccess ()
is a synonym for
@@ -49,10 +49,10 @@ asked for a permission that is denied, or some other error occurred),
is set to indicate the error.
.SH ERRORS
As for
-.BR access (2).
+.MR access 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -86,19 +86,19 @@ any permission error that occurs.
.P
This function always dereferences symbolic links.
If you need to check the permissions on a symbolic link, use
-.BR faccessat (2)
+.MR faccessat 2
with the flags
.B AT_EACCESS
and
.BR AT_SYMLINK_NOFOLLOW .
.SH SEE ALSO
-.BR access (2),
-.BR chmod (2),
-.BR chown (2),
-.BR faccessat (2),
-.BR open (2),
-.BR setgid (2),
-.BR setuid (2),
-.BR stat (2),
-.BR credentials (7),
-.BR path_resolution (7)
+.MR access 2 ,
+.MR chmod 2 ,
+.MR chown 2 ,
+.MR faccessat 2 ,
+.MR open 2 ,
+.MR setgid 2 ,
+.MR setuid 2 ,
+.MR stat 2 ,
+.MR credentials 7 ,
+.MR path_resolution 7
diff --git a/man3/exec.3 b/man3/exec.3
index 0ff3b1f48..59a565ab9 100644
--- a/man3/exec.3
+++ b/man3/exec.3
@@ -37,7 +37,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR execvpe ():
@@ -50,9 +50,9 @@ The
family of functions replaces the current process image with a new process
image.
The functions described in this manual page are layered on top of
-.BR execve (2).
+.MR execve 2 .
(See the manual page for
-.BR execve (2)
+.MR execve 2
for further details about the replacement of the current process image.)
.P
The initial argument for these functions is the name of a file that is
@@ -136,7 +136,7 @@ is ignored, and the file at the specified pathname is executed.
In addition, certain errors are treated specially.
.P
If permission is denied for a file (the attempted
-.BR execve (2)
+.MR execve 2
failed with the error
.BR EACCES ),
these functions will continue searching the rest of the search path.
@@ -147,7 +147,7 @@ set to
.BR EACCES .
.P
If the header of a file isn't recognized (the attempted
-.BR execve (2)
+.MR execve 2
failed with the error
.BR ENOEXEC ),
these functions will execute the shell
@@ -171,10 +171,10 @@ is set to indicate the error.
All of these functions may fail and set
.I errno
for any of the errors specified for
-.BR execve (2).
+.MR execve 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -283,7 +283,7 @@ Before glibc 2.24,
and
.BR execle ()
employed
-.BR realloc (3)
+.MR realloc 3
internally and were consequently not async-signal-safe,
in violation of the requirements of POSIX.1.
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=19534
@@ -301,11 +301,11 @@ employed by the
.BR execv ()
wrapper function on those architectures.
.SH SEE ALSO
-.BR sh (1),
-.BR execve (2),
-.BR execveat (2),
-.BR fork (2),
-.BR ptrace (2),
-.BR fexecve (3),
-.BR system (3),
-.BR environ (7)
+.MR sh 1 ,
+.MR execve 2 ,
+.MR execveat 2 ,
+.MR fork 2 ,
+.MR ptrace 2 ,
+.MR fexecve 3 ,
+.MR system 3 ,
+.MR environ 7
diff --git a/man3/exit.3 b/man3/exit.3
index 16dad7571..7bba819c1 100644
--- a/man3/exit.3
+++ b/man3/exit.3
@@ -25,40 +25,40 @@ The
function causes normal process termination and the least significant byte of
.I status
(i.e., \fIstatus & 0xFF\fP) is returned to the parent (see
-.BR wait (2)).
+.MR wait 2 ).
.P
All functions registered with
-.BR atexit (3)
+.MR atexit 3
and
-.BR on_exit (3)
+.MR on_exit 3
are called, in the reverse order of their registration.
(It is possible for one of these functions to use
-.BR atexit (3)
+.MR atexit 3
or
-.BR on_exit (3)
+.MR on_exit 3
to register an additional
function to be executed during exit processing;
the new registration is added to the front of the list of functions
that remain to be called.)
If one of these functions does not return
(e.g., it calls
-.BR _exit (2),
+.MR _exit 2 ,
or kills itself with a signal),
then none of the remaining functions is called,
and further exit processing (in particular, flushing of
-.BR stdio (3)
+.MR stdio 3
streams) is abandoned.
If a function has been registered multiple times using
-.BR atexit (3)
+.MR atexit 3
or
-.BR on_exit (3),
+.MR on_exit 3 ,
then it is called as many times as it was registered.
.P
All open
-.BR stdio (3)
+.MR stdio 3
streams are flushed and closed.
Files created by
-.BR tmpfile (3)
+.MR tmpfile 3
are removed.
.P
The C standard specifies two constants,
@@ -73,7 +73,7 @@ The
function does not return.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -96,19 +96,19 @@ C11, POSIX.1-2008.
C89, POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
The behavior is undefined if one of the functions registered using
-.BR atexit (3)
+.MR atexit 3
and
-.BR on_exit (3)
+.MR on_exit 3
calls either
.BR exit ()
or
-.BR longjmp (3).
+.MR longjmp 3 .
Note that a call to
-.BR execve (2)
+.MR execve 2
removes registrations created using
-.BR atexit (3)
+.MR atexit 3
and
-.BR on_exit (3).
+.MR on_exit 3 .
.P
The use of
.B EXIT_SUCCESS
@@ -147,7 +147,7 @@ most of the process resources are recycled,
but a slot containing minimal information about the child process
(termination status, resource usage statistics) is retained in process table.
This allows the parent to subsequently use
-.BR waitpid (2)
+.MR waitpid 2
(or similar) to learn the termination status of the child;
at that point the zombie process slot is released.
.P
@@ -180,7 +180,7 @@ signal followed by a
signal will be
sent to each process in this process group.
See
-.BR setpgid (2)
+.MR setpgid 2
for an explanation of orphaned process groups.
.P
Except in the above cases,
@@ -189,14 +189,14 @@ termination of a process does
.I not
in general cause a signal to be sent to children of that process.
However, a process can use the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_PDEATHSIG
operation to arrange that it receives a signal if its parent terminates.
.SH SEE ALSO
-.BR _exit (2),
-.BR get_robust_list (2),
-.BR setpgid (2),
-.BR wait (2),
-.BR atexit (3),
-.BR on_exit (3),
-.BR tmpfile (3)
+.MR _exit 2 ,
+.MR get_robust_list 2 ,
+.MR setpgid 2 ,
+.MR wait 2 ,
+.MR atexit 3 ,
+.MR on_exit 3 ,
+.MR tmpfile 3
diff --git a/man3/exp.3 b/man3/exp.3
index 378eeb64b..37767f585 100644
--- a/man3/exp.3
+++ b/man3/exp.3
@@ -31,7 +31,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR expf (),
@@ -78,7 +78,7 @@ or
respectively.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -101,7 +101,7 @@ An underflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -125,9 +125,9 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR cbrt (3),
-.BR cexp (3),
-.BR exp10 (3),
-.BR exp2 (3),
-.BR expm1 (3),
-.BR sqrt (3)
+.MR cbrt 3 ,
+.MR cexp 3 ,
+.MR exp10 3 ,
+.MR exp2 3 ,
+.MR expm1 3 ,
+.MR sqrt 3
diff --git a/man3/exp10.3 b/man3/exp10.3
index d5281fd49..055cf5375 100644
--- a/man3/exp10.3
+++ b/man3/exp10.3
@@ -38,18 +38,18 @@ On success, these functions return the base-10 exponential value of
.P
For various special cases, including the handling of infinity and NaN,
as well as overflows and underflows, see
-.BR exp (3).
+.MR exp 3 .
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
For a discussion of the errors that can occur for these functions, see
-.BR exp (3).
+.MR exp 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -75,8 +75,8 @@ to
when an underflow error occurred.
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6787
.SH SEE ALSO
-.BR cbrt (3),
-.BR exp (3),
-.BR exp2 (3),
-.BR log10 (3),
-.BR sqrt (3)
+.MR cbrt 3 ,
+.MR exp 3 ,
+.MR exp2 3 ,
+.MR log10 3 ,
+.MR sqrt 3
diff --git a/man3/exp2.3 b/man3/exp2.3
index fda0b3c3e..37321b34c 100644
--- a/man3/exp2.3
+++ b/man3/exp2.3
@@ -31,7 +31,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR exp2 (),
@@ -49,18 +49,18 @@ On success, these functions return the base-2 exponential value of
.P
For various special cases, including the handling of infinity and NaN,
as well as overflows and underflows, see
-.BR exp (3).
+.MR exp 3 .
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
For a discussion of the errors that can occur for these functions, see
-.BR exp (3).
+.MR exp 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -85,8 +85,8 @@ The variant returning
also conforms to
SVr4, 4.3BSD.
.SH SEE ALSO
-.BR cbrt (3),
-.BR cexp2 (3),
-.BR exp (3),
-.BR exp10 (3),
-.BR sqrt (3)
+.MR cbrt 3 ,
+.MR cexp2 3 ,
+.MR exp 3 ,
+.MR exp10 3 ,
+.MR sqrt 3
diff --git a/man3/expm1.3 b/man3/expm1.3
index 0e093a617..ba0a41817 100644
--- a/man3/expm1.3
+++ b/man3/expm1.3
@@ -25,7 +25,7 @@ Math library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR expm1 ():
@@ -89,7 +89,7 @@ or
respectively.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -108,7 +108,7 @@ is raised.
.\" x is subnormal. glibc does not implement this.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -160,6 +160,6 @@ to
.B ERANGE
when a range error occurred.
.SH SEE ALSO
-.BR exp (3),
-.BR log (3),
-.BR log1p (3)
+.MR exp 3 ,
+.MR log 3 ,
+.MR log1p 3
diff --git a/man3/fabs.3 b/man3/fabs.3
index bfd04d76b..d077c6228 100644
--- a/man3/fabs.3
+++ b/man3/fabs.3
@@ -27,7 +27,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fabsf (),
@@ -60,7 +60,7 @@ is negative infinity or positive infinity, positive infinity is returned.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,9 +84,9 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR abs (3),
-.BR cabs (3),
-.BR ceil (3),
-.BR floor (3),
-.BR labs (3),
-.BR rint (3)
+.MR abs 3 ,
+.MR cabs 3 ,
+.MR ceil 3 ,
+.MR floor 3 ,
+.MR labs 3 ,
+.MR rint 3
diff --git a/man3/fclose.3 b/man3/fclose.3
index c8d044b9c..7ac379b89 100644
--- a/man3/fclose.3
+++ b/man3/fclose.3
@@ -32,7 +32,7 @@ The
function flushes the stream pointed to by
.I stream
(writing any buffered output data using
-.BR fflush (3))
+.MR fflush 3 )
and closes the underlying file descriptor.
.SH RETURN VALUE
Upon successful completion, 0 is returned.
@@ -61,13 +61,13 @@ The
function may also fail and set
.I errno
for any of the errors specified for the routines
-.BR close (2),
-.BR write (2),
+.MR close 2 ,
+.MR write 2 ,
or
-.BR fflush (3).
+.MR fflush 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -90,13 +90,13 @@ flushes only the user-space buffers provided by the
C library.
To ensure that the data is physically stored
on disk the kernel buffers must be flushed too, for example, with
-.BR sync (2)
+.MR sync 2
or
-.BR fsync (2).
+.MR fsync 2 .
.SH SEE ALSO
-.BR close (2),
-.BR fcloseall (3),
-.BR fflush (3),
-.BR fileno (3),
-.BR fopen (3),
-.BR setbuf (3)
+.MR close 2 ,
+.MR fcloseall 3 ,
+.MR fflush 3 ,
+.MR fileno 3 ,
+.MR fopen 3 ,
+.MR setbuf 3
diff --git a/man3/fcloseall.3 b/man3/fcloseall.3
index 0d9700268..c996ae1e2 100644
--- a/man3/fcloseall.3
+++ b/man3/fcloseall.3
@@ -22,7 +22,7 @@ The
function closes all of the calling process's open streams.
Buffered output for each stream is written before it is closed
(as for
-.BR fflush (3));
+.MR fflush 3 );
buffered input is discarded.
.P
The standard streams,
@@ -38,7 +38,7 @@ on error,
is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -57,8 +57,8 @@ function does not lock the streams, so it is not thread-safe.
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR close (2),
-.BR fclose (3),
-.BR fflush (3),
-.BR fopen (3),
-.BR setbuf (3)
+.MR close 2 ,
+.MR fclose 3 ,
+.MR fflush 3 ,
+.MR fopen 3 ,
+.MR setbuf 3
diff --git a/man3/fdim.3 b/man3/fdim.3
index 74f707402..07df42e6a 100644
--- a/man3/fdim.3
+++ b/man3/fdim.3
@@ -22,7 +22,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fdimf (),
@@ -52,7 +52,7 @@ or
respectively.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -67,7 +67,7 @@ An overflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -93,4 +93,4 @@ on certain architectures (e.g., x86, but not x86_64)
these functions did not set
.IR errno .
.SH SEE ALSO
-.BR fmax (3)
+.MR fmax 3
diff --git a/man3/fenv.3 b/man3/fenv.3
index 12e9f59f4..d736eaa17 100644
--- a/man3/fenv.3
+++ b/man3/fenv.3
@@ -242,7 +242,7 @@ These functions return zero on success and nonzero if an error occurred.
.\" of the C99 Standard.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.nh
.TS
allbox;
@@ -331,4 +331,4 @@ this does not occur:
always has the value 1.
.\" See http://gcc.gnu.org/ml/gcc/2002-02/msg01535.html
.SH SEE ALSO
-.BR math_error (7)
+.MR math_error 7
diff --git a/man3/ferror.3 b/man3/ferror.3
index 0baf2443a..f3ebd75f6 100644
--- a/man3/ferror.3
+++ b/man3/ferror.3
@@ -52,7 +52,7 @@ The error indicator can be reset only by the
function.
.P
For nonlocking counterparts, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
The
.BR feof ()
@@ -70,7 +70,7 @@ These functions should not fail and do not set
.IR errno .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -100,19 +100,19 @@ is valid.
Normally,
programs should read the return value of an input function,
such as
-.BR fgetc (3),
+.MR fgetc 3 ,
before using functions of the
-.BR feof (3)
+.MR feof 3
family.
Only when the function returned the sentinel value
.B EOF
it makes sense to distinguish between the end of a file or an error with
-.BR feof (3)
+.MR feof 3
or
-.BR ferror (3).
+.MR ferror 3 .
.SH SEE ALSO
-.BR open (2),
-.BR fdopen (3),
-.BR fileno (3),
-.BR stdio (3),
-.BR unlocked_stdio (3)
+.MR open 2 ,
+.MR fdopen 3 ,
+.MR fileno 3 ,
+.MR stdio 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/fexecve.3 b/man3/fexecve.3
index 015d2e7fe..26688bf04 100644
--- a/man3/fexecve.3
+++ b/man3/fexecve.3
@@ -18,7 +18,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fexecve ():
@@ -31,7 +31,7 @@ Feature Test Macro Requirements for glibc (see
.SH DESCRIPTION
.BR fexecve ()
performs the same task as
-.BR execve (2),
+.MR execve 2 ,
with the difference that the file to be executed
is specified via a file descriptor,
.IR fd ,
@@ -53,7 +53,7 @@ On error, the function does return, with a result value of \-1, and
is set to indicate the error.
.SH ERRORS
Errors are as for
-.BR execve (2),
+.MR execve 2 ,
with the following additions:
.TP
.B EINVAL
@@ -74,13 +74,13 @@ See BUGS.
.TP
.B ENOSYS
The kernel does not provide the
-.BR execveat (2)
+.MR execveat 2
system call, and the
.I /proc
filesystem could not be accessed.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -100,14 +100,14 @@ glibc 2.3.2.
On Linux with glibc versions 2.26 and earlier,
.BR fexecve ()
is implemented using the
-.BR proc (5)
+.MR proc 5
filesystem, so
.I /proc
needs to be mounted and available at the time of the call.
Since glibc 2.27,
.\" glibc commit 43ffc53a352a67672210c9dd4959f6c6b7407e60
if the underlying kernel supports the
-.BR execveat (2)
+.MR execveat 2
system call, then
.BR fexecve ()
is implemented using that system call, with the benefit that
@@ -119,7 +119,7 @@ The idea behind
is to allow the caller to verify (checksum) the contents of
an executable before executing it.
Simply opening the file, checksumming the contents, and then doing an
-.BR execve (2)
+.MR execve 2
would not suffice, since, between the two steps, the filename,
or a directory prefix of the pathname, could have been exchanged
(by, for example, modifying the target of a symbolic link).
@@ -168,5 +168,5 @@ Thus, the close-on-exec flag can't be set on
.I fd
if it refers to a script, leading to the problems described in NOTES.
.SH SEE ALSO
-.BR execve (2),
-.BR execveat (2)
+.MR execve 2 ,
+.MR execveat 2
diff --git a/man3/fflush.3 b/man3/fflush.3
index 6590af5e8..72ce55b29 100644
--- a/man3/fflush.3
+++ b/man3/fflush.3
@@ -53,7 +53,7 @@ open output streams.
.\" Also verified for glibc by experiment.
.P
For a nonlocking counterpart, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
Upon successful completion 0 is returned.
Otherwise,
@@ -72,10 +72,10 @@ The function
may also fail and set
.I errno
for any of the errors specified for
-.BR write (2).
+.MR write 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -100,16 +100,16 @@ Note that
flushes only the user-space buffers provided by the C library.
To ensure that the data is physically stored on disk
the kernel buffers must be flushed too, for example, with
-.BR sync (2)
+.MR sync 2
or
-.BR fsync (2).
+.MR fsync 2 .
.SH SEE ALSO
-.BR fsync (2),
-.BR sync (2),
-.BR write (2),
-.BR fclose (3),
-.BR fileno (3),
-.BR fopen (3),
-.BR fpurge (3),
-.BR setbuf (3),
-.BR unlocked_stdio (3)
+.MR fsync 2 ,
+.MR sync 2 ,
+.MR write 2 ,
+.MR fclose 3 ,
+.MR fileno 3 ,
+.MR fopen 3 ,
+.MR fpurge 3 ,
+.MR setbuf 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/ffs.3 b/man3/ffs.3
index aab5f1099..052621604 100644
--- a/man3/ffs.3
+++ b/man3/ffs.3
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ffs ():
@@ -70,7 +70,7 @@ or 0 if no bits are set in
.IR i .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -94,4 +94,4 @@ POSIX.1-2001, POSIX.1-2008, 4.3BSD.
.BR ffsll ()
GNU.
.SH SEE ALSO
-.BR memchr (3)
+.MR memchr 3
diff --git a/man3/fgetc.3 b/man3/fgetc.3
index d92fd8413..8d5d817e5 100644
--- a/man3/fgetc.3
+++ b/man3/fgetc.3
@@ -78,7 +78,7 @@ calls to other input functions from the
library for the same input stream.
.P
For nonlocking counterparts, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
.BR fgetc (),
.BR getc (),
@@ -106,7 +106,7 @@ on success, or
on error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -130,23 +130,23 @@ POSIX.1-2001, C89.
It is not advisable to mix calls to input functions from the
.I stdio
library with low-level calls to
-.BR read (2)
+.MR read 2
for the file descriptor associated with the input stream; the results
will be undefined and very probably not what you want.
.SH SEE ALSO
-.BR read (2),
-.BR write (2),
-.BR ferror (3),
-.BR fgetwc (3),
-.BR fgetws (3),
-.BR fopen (3),
-.BR fread (3),
-.BR fseek (3),
-.BR getline (3),
-.BR gets (3),
-.BR getwchar (3),
-.BR puts (3),
-.BR scanf (3),
-.BR ungetwc (3),
-.BR unlocked_stdio (3),
-.BR feature_test_macros (7)
+.MR read 2 ,
+.MR write 2 ,
+.MR ferror 3 ,
+.MR fgetwc 3 ,
+.MR fgetws 3 ,
+.MR fopen 3 ,
+.MR fread 3 ,
+.MR fseek 3 ,
+.MR getline 3 ,
+.MR gets 3 ,
+.MR getwchar 3 ,
+.MR puts 3 ,
+.MR scanf 3 ,
+.MR ungetwc 3 ,
+.MR unlocked_stdio 3 ,
+.MR feature_test_macros 7
diff --git a/man3/fgetgrent.3 b/man3/fgetgrent.3
index aea64ac21..007747d02 100644
--- a/man3/fgetgrent.3
+++ b/man3/fgetgrent.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fgetgrent ():
@@ -48,7 +48,7 @@ The file referred to by
must have the same format as
.I /etc/group
(see
-.BR group (5)).
+.MR group 5 ).
.P
The \fIgroup\fP structure is defined in \fI<grp.h>\fP as follows:
.P
@@ -81,7 +81,7 @@ Insufficient memory to allocate
structure.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -107,12 +107,12 @@ None.
.SH HISTORY
SVr4.
.SH SEE ALSO
-.BR endgrent (3),
-.BR fgetgrent_r (3),
-.BR fopen (3),
-.BR getgrent (3),
-.BR getgrgid (3),
-.BR getgrnam (3),
-.BR putgrent (3),
-.BR setgrent (3),
-.BR group (5)
+.MR endgrent 3 ,
+.MR fgetgrent_r 3 ,
+.MR fopen 3 ,
+.MR getgrent 3 ,
+.MR getgrgid 3 ,
+.MR getgrnam 3 ,
+.MR putgrent 3 ,
+.MR setgrent 3 ,
+.MR group 5
diff --git a/man3/fgetpwent.3 b/man3/fgetpwent.3
index 038778033..911d87ee1 100644
--- a/man3/fgetpwent.3
+++ b/man3/fgetpwent.3
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fgetpwent ():
@@ -50,7 +50,7 @@ The file referred to by
must have the same format as
.I /etc/passwd
(see
-.BR passwd (5)).
+.MR passwd 5 ).
.P
The \fIpasswd\fP structure is defined in \fI<pwd.h>\fP as follows:
.P
@@ -89,7 +89,7 @@ structure.
password database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -115,13 +115,13 @@ None.
.SH HISTORY
SVr4.
.SH SEE ALSO
-.BR endpwent (3),
-.BR fgetpwent_r (3),
-.BR fopen (3),
-.BR getpw (3),
-.BR getpwent (3),
-.BR getpwnam (3),
-.BR getpwuid (3),
-.BR putpwent (3),
-.BR setpwent (3),
-.BR passwd (5)
+.MR endpwent 3 ,
+.MR fgetpwent_r 3 ,
+.MR fopen 3 ,
+.MR getpw 3 ,
+.MR getpwent 3 ,
+.MR getpwnam 3 ,
+.MR getpwuid 3 ,
+.MR putpwent 3 ,
+.MR setpwent 3 ,
+.MR passwd 5
diff --git a/man3/fgetwc.3 b/man3/fgetwc.3
index e3d17bfd2..88cb4914d 100644
--- a/man3/fgetwc.3
+++ b/man3/fgetwc.3
@@ -30,7 +30,7 @@ The
.BR fgetwc ()
function is the wide-character equivalent
of the
-.BR fgetc (3)
+.MR fgetc 3
function.
It reads a wide character from \fIstream\fP and returns it.
If the end of stream is reached, or if \fIferror(stream)\fP becomes true,
@@ -49,7 +49,7 @@ more than once.
There is no reason ever to use it.
.P
For nonlocking counterparts, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
On success,
.BR fgetwc ()
@@ -67,7 +67,7 @@ The data obtained from the input stream does not
form a valid character.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -93,14 +93,14 @@ category of the
current locale.
.P
In the absence of additional information passed to the
-.BR fopen (3)
+.MR fopen 3
call, it is
reasonable to expect that
.BR fgetwc ()
will actually read a multibyte sequence
from the stream and then convert it to a wide character.
.SH SEE ALSO
-.BR fgetws (3),
-.BR fputwc (3),
-.BR ungetwc (3),
-.BR unlocked_stdio (3)
+.MR fgetws 3 ,
+.MR fputwc 3 ,
+.MR ungetwc 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/fgetws.3 b/man3/fgetws.3
index a41573b6f..fbb5213a5 100644
--- a/man3/fgetws.3
+++ b/man3/fgetws.3
@@ -29,7 +29,7 @@ The
.BR fgetws ()
function is the wide-character equivalent
of the
-.BR fgets (3)
+.MR fgets 3
function.
It reads a string of at most \fIn\-1\fP wide characters into the
wide-character array pointed to by \fIws\fP,
@@ -42,7 +42,7 @@ The programmer must ensure that there is room for at least \fIn\fP wide
characters at \fIws\fP.
.P
For a nonlocking counterpart, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
The
.BR fgetws ()
@@ -51,7 +51,7 @@ If end of stream
was already reached or if an error occurred, it returns NULL.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,7 +76,7 @@ category of the
current locale.
.P
In the absence of additional information passed to the
-.BR fopen (3)
+.MR fopen 3
call, it is
reasonable to expect that
.BR fgetws ()
@@ -87,5 +87,5 @@ This function is unreliable,
because it does not permit to deal properly with
null wide characters that may be present in the input.
.SH SEE ALSO
-.BR fgetwc (3),
-.BR unlocked_stdio (3)
+.MR fgetwc 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/fileno.3 b/man3/fileno.3
index 1e9954626..51bfa9f57 100644
--- a/man3/fileno.3
+++ b/man3/fileno.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fileno ():
@@ -43,14 +43,14 @@ and returns the integer file descriptor used to implement this stream.
The file descriptor is still owned by
.I stream
and will be closed when
-.BR fclose (3)
+.MR fclose 3
is called.
Duplicate the file descriptor with
-.BR dup (2)
+.MR dup 2
before passing it to code that might close it.
.P
For the nonlocking counterpart, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
On success,
.BR fileno ()
@@ -66,7 +66,7 @@ is set to indicate the error.
is not associated with a file.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -83,7 +83,7 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR open (2),
-.BR fdopen (3),
-.BR stdio (3),
-.BR unlocked_stdio (3)
+.MR open 2 ,
+.MR fdopen 3 ,
+.MR stdio 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/finite.3 b/man3/finite.3
index 246a82a1f..01b09e9cf 100644
--- a/man3/finite.3
+++ b/man3/finite.3
@@ -29,7 +29,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR finite (),
@@ -99,7 +99,7 @@ is positive infinity, \-1 if
is negative infinity, and 0 otherwise.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -131,7 +131,7 @@ Further note that the C99
.BR isinf ()
has weaker guarantees on the return value.
See
-.BR fpclassify (3).
+.MR fpclassify 3 .
.\"
.\" finite* not on HP-UX; they exist on Tru64.
.\" .SH HISTORY
@@ -140,4 +140,4 @@ See
.\" function occurs in 4.3BSD.
.\" see IEEE.3 in the 4.3BSD manual
.SH SEE ALSO
-.BR fpclassify (3)
+.MR fpclassify 3
diff --git a/man3/flockfile.3 b/man3/flockfile.3
index 86b0f7ac5..e7ebe4137 100644
--- a/man3/flockfile.3
+++ b/man3/flockfile.3
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
All functions shown above:
@@ -44,9 +44,9 @@ requested I/O, and unlock the object again.
.P
(Note: this locking has nothing to do with the file locking done
by functions like
-.BR flock (2)
+.MR flock 2
and
-.BR lockf (3).)
+.MR lockf 3 .)
.P
All this is invisible to the C-programmer, but there may be two
reasons to wish for more detailed control.
@@ -65,13 +65,13 @@ other threads from coming in between.
If the reason for doing
this was to achieve greater efficiency, one does the I/O with
the nonlocking versions of the stdio functions: with
-.BR getc_unlocked (3)
+.MR getc_unlocked 3
and
-.BR putc_unlocked (3)
+.MR putc_unlocked 3
instead of
-.BR getc (3)
+.MR getc 3
and
-.BR putc (3).
+.MR putc 3 .
.P
The
.BR flockfile ()
@@ -107,7 +107,7 @@ function returns zero for success
None.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -130,4 +130,4 @@ These functions are available when
.B _POSIX_THREAD_SAFE_FUNCTIONS
is defined.
.SH SEE ALSO
-.BR unlocked_stdio (3)
+.MR unlocked_stdio 3
diff --git a/man3/floor.3 b/man3/floor.3
index 2df4489ba..002ecaa44 100644
--- a/man3/floor.3
+++ b/man3/floor.3
@@ -22,7 +22,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR floorf (),
@@ -55,7 +55,7 @@ No errors occur.
POSIX.1-2001 documents a range error for overflows, but see NOTES.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -97,9 +97,9 @@ and the number of mantissa bits
including the implicit bit
is 24 (respectively, 53).)
.SH SEE ALSO
-.BR ceil (3),
-.BR lrint (3),
-.BR nearbyint (3),
-.BR rint (3),
-.BR round (3),
-.BR trunc (3)
+.MR ceil 3 ,
+.MR lrint 3 ,
+.MR nearbyint 3 ,
+.MR rint 3 ,
+.MR round 3 ,
+.MR trunc 3
diff --git a/man3/fma.3 b/man3/fma.3
index a4d2330a6..427e237a4 100644
--- a/man3/fma.3
+++ b/man3/fma.3
@@ -25,7 +25,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fma (),
@@ -39,7 +39,7 @@ These functions compute
.IR x " * " y " + " z .
The result is rounded as one ternary operation according to the
current rounding mode (see
-.BR fenv (3)).
+.MR fenv 3 ).
.SH RETURN VALUE
These functions return the value of
.IR x " * " y " + " z ,
@@ -106,7 +106,7 @@ a range error occurs, and
a signed 0 is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -143,7 +143,7 @@ These functions do not set
.\" Bug raised: https://www.sourceware.org/bugzilla/show_bug.cgi?id=6801
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -163,5 +163,5 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR remainder (3),
-.BR remquo (3)
+.MR remainder 3 ,
+.MR remquo 3
diff --git a/man3/fmax.3 b/man3/fmax.3
index ea16797a7..91db0a2d3 100644
--- a/man3/fmax.3
+++ b/man3/fmax.3
@@ -22,7 +22,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fmax (),
@@ -49,7 +49,7 @@ If both arguments are NaN, a NaN is returned.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -69,5 +69,5 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR fdim (3),
-.BR fmin (3)
+.MR fdim 3 ,
+.MR fmin 3
diff --git a/man3/fmemopen.3 b/man3/fmemopen.3
index 385fcdcc9..dc5ecbcdd 100644
--- a/man3/fmemopen.3
+++ b/man3/fmemopen.3
@@ -19,7 +19,7 @@ const char *" mode );
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fmemopen ():
@@ -69,9 +69,9 @@ The stream maintains the notion of a current position,
the location where the next I/O operation will be performed.
The current position is implicitly updated by I/O operations.
It can be explicitly updated using
-.BR fseek (3),
+.MR fseek 3 ,
and determined using
-.BR ftell (3).
+.MR ftell 3 .
In all modes other than append,
the initial position is set to the start of the buffer.
In append mode, if no null byte is found within the buffer,
@@ -91,7 +91,7 @@ The initial position is set to the start of the buffer.
The buffer is automatically freed when the stream is closed.
Note that the caller has no way to obtain a pointer to the
temporary buffer allocated by this call (but see
-.BR open_memstream (3)).
+.MR open_memstream 3 ).
.P
If
.I buf
@@ -100,9 +100,11 @@ is not NULL, then it should point to a buffer of at least
bytes allocated by the caller.
.P
When a stream that has been opened for writing is flushed
-.RB ( fflush (3))
+\%(\c
+.MR fflush 3 )
or closed
-.RB ( fclose (3)),
+\%(\c
+.MR fclose 3 ),
a null byte is written at the end of the buffer if there is space.
The caller should ensure that an extra byte is available in the
buffer
@@ -149,7 +151,7 @@ Otherwise, NULL is returned and
is set to indicate the error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -188,7 +190,7 @@ enabled by specifying the letter \[aq]b\[aq] as the second character in
.IR mode .
In this mode,
writes don't implicitly add a terminating null byte, and
-.BR fseek (3)
+.MR fseek 3
.B SEEK_END
is relative to the end of the buffer (i.e., the value specified by the
.I size
@@ -204,7 +206,7 @@ This is inconsistent with the treatment of
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=12836
.I mode
by
-.BR fopen (3).
+.MR fopen 3 .
.P
Binary mode was removed in glibc 2.22; a \[aq]b\[aq] specified in
.I mode
@@ -213,7 +215,7 @@ has no effect.
There is no file descriptor associated with the file stream
returned by this function
(i.e.,
-.BR fileno (3)
+.MR fileno 3
will return an error if called on the returned stream).
.SH BUGS
Before glibc 2.22, if
@@ -257,7 +259,7 @@ This bug is fixed in glibc 2.22.
Before glibc 2.22,
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=14292
when a call to
-.BR fseek (3)
+.MR fseek 3
with a
.I whence
value of
@@ -282,7 +284,7 @@ ignored \[aq]b\[aq] in
The program below uses
.BR fmemopen ()
to open an input buffer, and
-.BR open_memstream (3)
+.MR open_memstream 3
to open a dynamically sized output buffer.
The program scans its input string (taken from the program's
first command-line argument) reading integers,
@@ -347,6 +349,6 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fopen (3),
-.BR fopencookie (3),
-.BR open_memstream (3)
+.MR fopen 3 ,
+.MR fopencookie 3 ,
+.MR open_memstream 3
diff --git a/man3/fmin.3 b/man3/fmin.3
index 23aa01cc3..0cb1683a3 100644
--- a/man3/fmin.3
+++ b/man3/fmin.3
@@ -22,7 +22,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fmin (),
@@ -49,7 +49,7 @@ If both arguments are NaN, a NaN is returned.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -69,5 +69,5 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR fdim (3),
-.BR fmax (3)
+.MR fdim 3 ,
+.MR fmax 3
diff --git a/man3/fmod.3 b/man3/fmod.3
index d6c76c7a3..750f23563 100644
--- a/man3/fmod.3
+++ b/man3/fmod.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fmodf (),
@@ -110,7 +110,7 @@ is +0 (\-0), and
is not zero, +0 (\-0) is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -136,7 +136,7 @@ is raised.
.\" (can't?) occur -- mtk, Jul 2008
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -180,4 +180,4 @@ The call
.I fmod(-372, -360)
also returns -12.
.SH SEE ALSO
-.BR remainder (3)
+.MR remainder 3
diff --git a/man3/fmtmsg.3 b/man3/fmtmsg.3
index 699db65e7..fb979b5ad 100644
--- a/man3/fmtmsg.3
+++ b/man3/fmtmsg.3
@@ -144,7 +144,7 @@ This value is printed as INFO.
.P
The numeric values are between 0 and 4.
Using
-.BR addseverity (3)
+.MR addseverity 3
or the environment variable
.B SEV_LEVEL
you can add more levels and strings to print.
@@ -220,7 +220,7 @@ is the string printed when a message of this class is processed by
.BR fmtmsg ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -333,5 +333,5 @@ TO FIX: See mount(8).
.EE
.in
.SH SEE ALSO
-.BR addseverity (3),
-.BR perror (3)
+.MR addseverity 3 ,
+.MR perror 3
diff --git a/man3/fnmatch.3 b/man3/fnmatch.3
index 978163af5..7f54da4b5 100644
--- a/man3/fnmatch.3
+++ b/man3/fnmatch.3
@@ -26,7 +26,7 @@ function checks whether the
argument matches the
.I pattern
argument, which is a shell wildcard pattern (see
-.BR glob (7)).
+.MR glob 7 ).
.P
The
.I flags
@@ -106,7 +106,7 @@ matches
if there is no match or another nonzero value if there is an error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -134,8 +134,8 @@ GNU.
.BR fnmatch ()
POSIX.1-2001, POSIX.2.
.SH SEE ALSO
-.BR sh (1),
-.BR glob (3),
-.BR scandir (3),
-.BR wordexp (3),
-.BR glob (7)
+.MR sh 1 ,
+.MR glob 3 ,
+.MR scandir 3 ,
+.MR wordexp 3 ,
+.MR glob 7
diff --git a/man3/fopen.3 b/man3/fopen.3
index 4e230a8fd..4d8a9a83d 100644
--- a/man3/fopen.3
+++ b/man3/fopen.3
@@ -34,7 +34,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fdopen ():
@@ -104,7 +104,7 @@ See NOTES below for details of glibc extensions for
Any created file will have the mode
.BR S_IRUSR " | " S_IWUSR " | " S_IRGRP " | " S_IWGRP " | " S_IROTH " | " S_IWOTH
(0666), as modified by the process's umask value (see
-.BR umask (2)).
+.MR umask 2 ).
.P
Reads and writes may be intermixed on read/write streams in any order.
Note that ANSI C requires that a file positioning function intervene
@@ -113,9 +113,9 @@ between output and input, unless an input operation encounters end-of-file.
result of writes other than the most recent.)
Therefore it is good practice (and indeed sometimes necessary
under Linux) to put an
-.BR fseek (3)
+.MR fseek 3
or
-.BR fsetpos (3)
+.MR fsetpos 3
operation between write and read operations on such a stream.
This operation may be an apparent no-op
(as in \fIfseek(..., 0L, SEEK_CUR)\fP
@@ -133,7 +133,7 @@ fseek(stream, 0, SEEK_END);
.in
.P
The file descriptor associated with the stream is opened as if by a call to
-.BR open (2)
+.MR open 2
with the following flags:
.RS
.TS
@@ -244,34 +244,34 @@ and
functions may also fail and set
.I errno
for any of the errors specified for the routine
-.BR malloc (3).
+.MR malloc 3 .
.P
The
.BR fopen ()
function may also fail and set
.I errno
for any of the errors specified for the routine
-.BR open (2).
+.MR open 2 .
.P
The
.BR fdopen ()
function may also fail and set
.I errno
for any of the errors specified for the routine
-.BR fcntl (2).
+.MR fcntl 2 .
.P
The
.BR freopen ()
function may also fail and set
.I errno
for any of the errors specified for the routines
-.BR open (2),
-.BR fclose (3),
+.MR open 2 ,
+.MR fclose 3 ,
and
-.BR fflush (3).
+.MR fflush 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -320,21 +320,22 @@ Open the file with the
.B O_CLOEXEC
flag.
See
-.BR open (2)
+.MR open 2
for more information.
This flag is ignored for
.BR fdopen ().
.TP
.BR m " (since glibc 2.3)"
Attempt to access the file using
-.BR mmap (2),
+.MR mmap 2 ,
rather than I/O system calls
-.RB ( read (2),
-.BR write (2)).
+\%(\c
+.MR read 2 ,
+.MR write 2 ).
Currently,
.\" As at glibc 2.4:
use of
-.BR mmap (2)
+.MR mmap 2
is attempted only for a file opened for reading.
.TP
.B x
@@ -344,7 +345,7 @@ Open the file exclusively
(like the
.B O_EXCL
flag of
-.BR open (2)).
+.MR open 2 ).
If the file already exists,
.BR fopen ()
fails, and sets
@@ -397,9 +398,9 @@ The current implementation of
parses at most 5 characters in
.IR mode .
.SH SEE ALSO
-.BR open (2),
-.BR fclose (3),
-.BR fileno (3),
-.BR fmemopen (3),
-.BR fopencookie (3),
-.BR open_memstream (3)
+.MR open 2 ,
+.MR fclose 3 ,
+.MR fileno 3 ,
+.MR fmemopen 3 ,
+.MR fopencookie 3 ,
+.MR open_memstream 3
diff --git a/man3/fopencookie.3 b/man3/fopencookie.3
index d1821772c..2d04cd5ae 100644
--- a/man3/fopencookie.3
+++ b/man3/fopencookie.3
@@ -28,7 +28,7 @@ This implementation can store the stream's data at a location of
its own choosing; for example,
.BR fopencookie ()
is used to implement
-.BR fmemopen (3),
+.MR fmemopen 3 ,
which provides a stream interface to data that is stored in a
buffer in memory.
.P
@@ -56,7 +56,7 @@ with that stream.
The
.BR fopencookie ()
function serves a purpose similar to
-.BR fopen (3):
+.MR fopen 3 :
it opens a new stream and returns a pointer to a
.I FILE
object that is used to operate on that stream.
@@ -71,7 +71,7 @@ library invokes any of the hook functions described below.
The
.I mode
argument serves the same purpose as for
-.BR fopen (3).
+.MR fopen 3 .
The following modes are supported:
.IR r ,
.IR w ,
@@ -81,7 +81,7 @@ The following modes are supported:
and
.IR a+ .
See
-.BR fopen (3)
+.MR fopen 3
for details.
.P
The
@@ -245,7 +245,7 @@ On error, NULL is returned.
.\" It's not clear if errno ever gets set...
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -262,7 +262,7 @@ GNU.
.SH EXAMPLES
The program below implements a custom stream whose functionality
is similar (but not identical) to that available via
-.BR fmemopen (3).
+.MR fmemopen 3 .
It implements a stream whose data is stored in a memory buffer.
The program writes its command-line arguments to the stream,
and then seeks through the stream reading two out of every
@@ -460,7 +460,7 @@ to traditional 32-bit x86 and ARM platforms where
.BR off_t 's
width defaults to 32 bits.
.SH SEE ALSO
-.BR fclose (3),
-.BR fmemopen (3),
-.BR fopen (3),
-.BR fseek (3)
+.MR fclose 3 ,
+.MR fmemopen 3 ,
+.MR fopen 3 ,
+.MR fseek 3
diff --git a/man3/fpathconf.3 b/man3/fpathconf.3
index 7718473c3..cd7307b15 100644
--- a/man3/fpathconf.3
+++ b/man3/fpathconf.3
@@ -122,9 +122,9 @@ The corresponding macro is
.TP
.B _PC_CHOWN_RESTRICTED
This returns a positive value if the use of
-.BR chown (2)
+.MR chown 2
and
-.BR fchown (2)
+.MR fchown 2
for changing a file's user ID is restricted to a process
with appropriate privileges,
and changing a file's group ID to a value other than the process's
@@ -239,7 +239,7 @@ A component used as a directory in
is not in fact a directory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -266,8 +266,8 @@ may exist in the given directory.
Some returned values may be huge; they are not suitable for allocating
memory.
.SH SEE ALSO
-.BR getconf (1),
-.BR open (2),
-.BR statfs (2),
-.BR confstr (3),
-.BR sysconf (3)
+.MR getconf 1 ,
+.MR open 2 ,
+.MR statfs 2 ,
+.MR confstr 3 ,
+.MR sysconf 3
diff --git a/man3/fpclassify.3 b/man3/fpclassify.3
index 98ec33d19..9f3be1eec 100644
--- a/man3/fpclassify.3
+++ b/man3/fpclassify.3
@@ -26,7 +26,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.\" I haven't fully grokked the source to determine the FTM requirements;
@@ -106,7 +106,7 @@ is positive infinity, and \-1 if
is negative infinity.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -139,7 +139,7 @@ For
the standards merely say that the return value is nonzero
if and only if the argument has an infinite value.
.SH SEE ALSO
-.BR finite (3),
-.BR INFINITY (3),
-.BR isgreater (3),
-.BR signbit (3)
+.MR finite 3 ,
+.MR INFINITY 3 ,
+.MR isgreater 3 ,
+.MR signbit 3
diff --git a/man3/fpurge.3 b/man3/fpurge.3
index 8b928f5f3..e493f8eb4 100644
--- a/man3/fpurge.3
+++ b/man3/fpurge.3
@@ -29,11 +29,11 @@ clears the buffers of the given stream.
For output streams this discards any unwritten output.
For input streams this discards any input read from the underlying object
but not yet obtained via
-.BR getc (3);
+.MR getc 3 ;
this includes any text pushed back via
-.BR ungetc (3).
+.MR ungetc 3 .
See also
-.BR fflush (3).
+.MR fflush 3 .
.P
The function
.BR __fpurge ()
@@ -52,7 +52,7 @@ to indicate the error.
is not an open stream.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -78,6 +78,6 @@ Solaris, glibc 2.1.95.
Usually it is a mistake to want to discard input buffers.
.SH SEE ALSO
.\" .BR fclean (3),
-.BR fflush (3),
-.BR setbuf (3),
-.BR stdio_ext (3)
+.MR fflush 3 ,
+.MR setbuf 3 ,
+.MR stdio_ext 3
diff --git a/man3/fputwc.3 b/man3/fputwc.3
index 3c7d4013b..f1e9551e4 100644
--- a/man3/fputwc.3
+++ b/man3/fputwc.3
@@ -28,7 +28,7 @@ The
.BR fputwc ()
function is the wide-character
equivalent of the
-.BR fputc (3)
+.MR fputc 3
function.
It writes the wide character \fIwc\fP to \fIstream\fP.
If
@@ -48,7 +48,7 @@ more than once.
There is no reason ever to use it.
.P
For nonlocking counterparts, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
On success,
.BR fputwc ()
@@ -66,7 +66,7 @@ Apart from the usual ones, there is
Conversion of \fIwc\fP to the stream's encoding fails.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -92,13 +92,13 @@ category of the
current locale.
.P
In the absence of additional information passed to the
-.BR fopen (3)
+.MR fopen 3
call, it is
reasonable to expect that
.BR fputwc ()
will actually write the multibyte
sequence corresponding to the wide character \fIwc\fP.
.SH SEE ALSO
-.BR fgetwc (3),
-.BR fputws (3),
-.BR unlocked_stdio (3)
+.MR fgetwc 3 ,
+.MR fputws 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/fputws.3 b/man3/fputws.3
index e40396d15..9cab61265 100644
--- a/man3/fputws.3
+++ b/man3/fputws.3
@@ -26,14 +26,14 @@ The
.BR fputws ()
function is the wide-character equivalent of
the
-.BR fputs (3)
+.MR fputs 3
function.
It writes the wide-character string starting at \fIws\fP,
up to but not including the terminating null wide character (L\[aq]\e0\[aq]),
to \fIstream\fP.
.P
For a nonlocking counterpart, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
The
.BR fputws ()
@@ -42,7 +42,7 @@ nonnegative integer if the operation was
successful, or \-1 to indicate an error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -67,12 +67,12 @@ category of the
current locale.
.P
In the absence of additional information passed to the
-.BR fopen (3)
+.MR fopen 3
call, it is
reasonable to expect that
.BR fputws ()
will actually write the multibyte
string corresponding to the wide-character string \fIws\fP.
.SH SEE ALSO
-.BR fputwc (3),
-.BR unlocked_stdio (3)
+.MR fputwc 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/fread.3 b/man3/fread.3
index dc320cd30..3ea4f7066 100644
--- a/man3/fread.3
+++ b/man3/fread.3
@@ -57,7 +57,7 @@ obtaining them from the location given by
.IR ptr .
.P
For nonlocking counterparts, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
On success,
.BR fread ()
@@ -75,13 +75,13 @@ of bytes successfully read or written.
.P
.BR fread ()
does not distinguish between end-of-file and error, and callers must use
-.BR feof (3)
+.MR feof 3
and
-.BR ferror (3)
+.MR ferror 3
to determine which occurred.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -157,8 +157,8 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR read (2),
-.BR write (2),
-.BR feof (3),
-.BR ferror (3),
-.BR unlocked_stdio (3)
+.MR read 2 ,
+.MR write 2 ,
+.MR feof 3 ,
+.MR ferror 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/frexp.3 b/man3/frexp.3
index ddcbc5802..30c4d48ef 100644
--- a/man3/frexp.3
+++ b/man3/frexp.3
@@ -29,7 +29,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR frexpf (),
@@ -79,7 +79,7 @@ is unspecified.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -138,5 +138,5 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR ldexp (3),
-.BR modf (3)
+.MR ldexp 3 ,
+.MR modf 3
diff --git a/man3/fseek.3 b/man3/fseek.3
index 64a23bbee..a5f20a7c9 100644
--- a/man3/fseek.3
+++ b/man3/fseek.3
@@ -52,7 +52,7 @@ A successful call to the
.BR fseek ()
function clears the end-of-file indicator for the stream and undoes
any effects of the
-.BR ungetc (3)
+.MR ungetc 3
function on the same stream.
.P
The
@@ -73,7 +73,7 @@ It is equivalent to:
.RE
.P
except that the error indicator for the stream is also cleared (see
-.BR clearerr (3)).
+.MR clearerr 3 ).
.P
The
.BR fgetpos ()
@@ -100,7 +100,7 @@ and the resulting stream offset is beyond the size of the file,
subsequent writes will extend the file with a hole, up to the offset,
before committing any data.
See
-.BR lseek (2)
+.MR lseek 2
for details on file seeking semantics.
.SH RETURN VALUE
The
@@ -145,14 +145,14 @@ and
may also fail and set
.I errno
for any of the errors specified for the routines
-.BR fflush (3),
-.BR fstat (2),
-.BR lseek (2),
+.MR fflush 3 ,
+.MR fstat 2 ,
+.MR lseek 2 ,
and
-.BR malloc (3).
+.MR malloc 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -173,5 +173,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89.
.SH SEE ALSO
-.BR lseek (2),
-.BR fseeko (3)
+.MR lseek 2 ,
+.MR fseeko 3
diff --git a/man3/fseeko.3 b/man3/fseeko.3
index 2f698ac0e..8f188f075 100644
--- a/man3/fseeko.3
+++ b/man3/fseeko.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fseeko (),
@@ -33,11 +33,11 @@ The
and
.BR ftello ()
functions are identical to
-.BR fseek (3)
+.MR fseek 3
and
-.BR ftell (3)
+.MR ftell 3
(see
-.BR fseek (3)),
+.MR fseek 3 ),
respectively, except that the
.I offset
argument of
@@ -72,10 +72,10 @@ Otherwise, \-1 is returned and
is set to indicate the error.
.SH ERRORS
See the ERRORS in
-.BR fseek (3).
+.MR fseek 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -99,4 +99,4 @@ the obsolete
.B _LARGEFILE_SOURCE
feature test macro.
.SH SEE ALSO
-.BR fseek (3)
+.MR fseek 3
diff --git a/man3/ftime.3 b/man3/ftime.3
index 28fb6bffe..69f528f62 100644
--- a/man3/ftime.3
+++ b/man3/ftime.3
@@ -25,7 +25,7 @@ Standard C library
.BR NOTE :
This function is no longer provided by the GNU C library.
Use
-.BR clock_gettime (2)
+.MR clock_gettime 2
instead.
.P
This function returns the current time as seconds and milliseconds
@@ -62,7 +62,7 @@ This function always returns 0.
(POSIX.1-2001 specifies, and some systems document, a \-1 error return.)
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -85,11 +85,11 @@ This function is obsolete.
Don't use it.
If the time in seconds
suffices,
-.BR time (2)
+.MR time 2
can be used;
-.BR gettimeofday (2)
+.MR gettimeofday 2
gives microseconds;
-.BR clock_gettime (2)
+.MR clock_gettime 2
gives nanoseconds but is not as widely available.
.SH BUGS
Early glibc2 is buggy and returns 0 in the
@@ -101,5 +101,5 @@ glibc 2.1.1 is correct again.
.\" .BR ftime ()
.\" function appeared in 4.2BSD.
.SH SEE ALSO
-.BR gettimeofday (2),
-.BR time (2)
+.MR gettimeofday 2 ,
+.MR time 2
diff --git a/man3/ftok.3 b/man3/ftok.3
index 74fad12b2..b715653d2 100644
--- a/man3/ftok.3
+++ b/man3/ftok.3
@@ -30,10 +30,10 @@ and the least significant 8 bits of
(which must be nonzero) to generate a
.I key_t
type System V IPC key, suitable for use with
-.BR msgget (2),
-.BR semget (2),
+.MR msgget 2 ,
+.MR semget 2 ,
or
-.BR shmget (2).
+.MR shmget 2 .
.P
The resulting value is the same for all pathnames that
name the same file, when the same value of
@@ -48,11 +48,11 @@ value is returned.
On failure \-1 is returned, with
.I errno
indicating the error as for the
-.BR stat (2)
+.MR stat 2
system call.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -101,10 +101,10 @@ and files on
.IR /dev/sda1 .
.SH EXAMPLES
See
-.BR semget (2).
+.MR semget 2 .
.SH SEE ALSO
-.BR msgget (2),
-.BR semget (2),
-.BR shmget (2),
-.BR stat (2),
-.BR sysvipc (7)
+.MR msgget 2 ,
+.MR semget 2 ,
+.MR shmget 2 ,
+.MR stat 2 ,
+.MR sysvipc 7
diff --git a/man3/fts.3 b/man3/fts.3
index ae2fdfcbc..cd9510187 100644
--- a/man3/fts.3
+++ b/man3/fts.3
@@ -390,9 +390,9 @@ are returned to the application are those referencing nonexistent files:
the
.I fts_statp
field is obtained via
-.BR stat (2)
+.MR stat 2
with a fallback to
-.BR lstat (2).
+.MR lstat 2 .
.TP
.B FTS_PHYSICAL
This option causes the
@@ -407,7 +407,7 @@ hierarchy are returned to the application:
the
.I fts_statp
field is obtained via
-.BR lstat (2).
+.MR lstat 2 .
.TP
.B FTS_COMFOLLOW
This option causes any symbolic link specified as a root path to be
@@ -718,9 +718,9 @@ The function
may fail and set
.I errno
for any of the errors specified for
-.BR open (2)
+.MR open 2
and
-.BR malloc (3).
+.MR malloc 3 .
.P
In addition,
.BR fts_open ()
@@ -738,9 +738,9 @@ The function
may fail and set
.I errno
for any of the errors specified for
-.BR chdir (2)
+.MR chdir 2
and
-.BR close (2).
+.MR close 2 .
.P
The functions
.BR fts_read ()
@@ -749,10 +749,10 @@ and
may fail and set
.I errno
for any of the errors specified for
-.BR chdir (2),
-.BR malloc (3),
-.BR opendir (3),
-.BR readdir (3),
+.MR chdir 2 ,
+.MR malloc 3 ,
+.MR opendir 3 ,
+.MR readdir 3 ,
and
.RB [ l ] stat (2).
.P
@@ -772,7 +772,7 @@ or
was invalid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -814,9 +814,9 @@ a program using the LFS APIs (e.g., when compiling with
.\" POSIX.1
.\" revision.
.SH SEE ALSO
-.BR find (1),
-.BR chdir (2),
-.BR lstat (2),
-.BR stat (2),
-.BR ftw (3),
-.BR qsort (3)
+.MR find 1 ,
+.MR chdir 2 ,
+.MR lstat 2 ,
+.MR stat 2 ,
+.MR ftw 3 ,
+.MR qsort 3
diff --git a/man3/ftw.3 b/man3/ftw.3
index 655bd38ac..184c02261 100644
--- a/man3/ftw.3
+++ b/man3/ftw.3
@@ -39,7 +39,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR nftw ():
@@ -91,7 +91,7 @@ was expressed as an absolute pathname.
is a pointer to the
.I stat
structure returned by a call to
-.BR stat (2)
+.MR stat 2
for
.IR fpath .
.P
@@ -129,7 +129,7 @@ and subdirectories within \fIfpath\fP have been processed.
.TP
.B FTW_NS
The
-.BR stat (2)
+.MR stat 2
call failed on
.IR fpath ,
which is not a symbolic link.
@@ -139,7 +139,7 @@ on the parent directory, so that the filename
could be seen,
but did not have execute permission,
so that the file could not be reached for
-.BR stat (2).
+.MR stat 2 .
The contents of the buffer pointed to by
.I sb
are undefined.
@@ -164,7 +164,7 @@ In this case the
argument passed to
.IR fn ()
contains information returned by performing
-.BR lstat (2)
+.MR lstat 2
on the "dangling" symbolic link.
(But see BUGS.)
.P
@@ -204,7 +204,7 @@ As long as \fIfn\fP() returns 0,
will continue either until it has traversed the entire tree,
in which case it will return zero,
or until it encounters an error (such as a
-.BR malloc (3)
+.MR malloc 3
failure), in which case it will return \-1.
.P
Because
@@ -214,7 +214,7 @@ exit out of a tree walk is to return a nonzero value from \fIfn\fP().
To allow a signal to terminate the walk without causing a memory leak,
have the handler set a global flag that is checked by \fIfn\fP().
\fIDon't\fP use
-.BR longjmp (3)
+.MR longjmp 3
unless the program is going to terminate.
.P
The \fIflags\fP argument of
@@ -274,7 +274,7 @@ obtain the definition of \fBFTW_ACTIONRETVAL\fP from \fI<ftw.h>\fP.
.TP
.B FTW_CHDIR
If set, do a
-.BR chdir (2)
+.MR chdir 2
to each directory before handling its contents.
This is useful if the program needs to perform some action
in the directory in which \fIfpath\fP resides.
@@ -352,7 +352,7 @@ and that value is returned as the result of
.BR nftw ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -380,7 +380,7 @@ will use \fBFTW_SL\fP for each symbolic link.
If
.I fpath
is a symbolic link and
-.BR stat (2)
+.MR stat 2
failed, POSIX.1-2008 states
that it is undefined whether \fBFTW_NS\fP or \fBFTW_SL\fP
is passed in
@@ -416,7 +416,7 @@ the buffer pointed to by
.I sb
should contain information about the dangling symbolic link
(obtained by calling
-.BR lstat (2)
+.MR lstat 2
on the link).
Early glibc versions correctly followed the POSIX specification on this point.
However, as a result of a regression introduced in glibc 2.4,
@@ -497,6 +497,6 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR stat (2),
-.BR fts (3),
-.BR readdir (3)
+.MR stat 2 ,
+.MR fts 3 ,
+.MR readdir 3
diff --git a/man3/futimes.3 b/man3/futimes.3
index 98bb0749c..bccfa1296 100644
--- a/man3/futimes.3
+++ b/man3/futimes.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR futimes (),
@@ -33,7 +33,7 @@ Feature Test Macro Requirements for glibc (see
.SH DESCRIPTION
.BR futimes ()
changes the access and modification times of a file in the same way as
-.BR utimes (2),
+.MR utimes 2 ,
with the difference that the file whose timestamps are to be changed
is specified via a file descriptor,
.IR fd ,
@@ -41,7 +41,7 @@ rather than via a pathname.
.P
.BR lutimes ()
changes the access and modification times of a file in the same way as
-.BR utimes (2),
+.MR utimes 2 ,
with the difference that if
.I filename
refers to a symbolic link, then the link is not dereferenced:
@@ -53,7 +53,7 @@ On error, \-1 is returned, and
is set to indicate the error.
.SH ERRORS
Errors are as for
-.BR utimes (2),
+.MR utimes 2 ,
with the following additions for
.BR futimes ():
.TP
@@ -73,7 +73,7 @@ The following additional error may occur for
The kernel does not support this call; Linux 2.6.22 or later is required.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -98,9 +98,9 @@ glibc 2.6.
.SH NOTES
.BR lutimes ()
is implemented using the
-.BR utimensat (2)
+.MR utimensat 2
system call.
.SH SEE ALSO
-.BR utime (2),
-.BR utimensat (2),
-.BR symlink (7)
+.MR utime 2 ,
+.MR utimensat 2 ,
+.MR symlink 7
diff --git a/man3/fwide.3 b/man3/fwide.3
index 006520aae..67fb3065c 100644
--- a/man3/fwide.3
+++ b/man3/fwide.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fwide ():
@@ -72,7 +72,7 @@ C11, POSIX.1-2008.
POSIX.1-2001, C99.
.SH NOTES
Wide-character output to a byte oriented stream can be performed through the
-.BR fprintf (3)
+.MR fprintf 3
function with the
.B %lc
and
@@ -81,12 +81,12 @@ directives.
.P
Char oriented output to a wide-character oriented stream can be performed
through the
-.BR fwprintf (3)
+.MR fwprintf 3
function with the
.B %c
and
.B %s
directives.
.SH SEE ALSO
-.BR fprintf (3),
-.BR fwprintf (3)
+.MR fprintf 3 ,
+.MR fwprintf 3
diff --git a/man3/gamma.3 b/man3/gamma.3
index 9f0dc9a2d..f9cc15e15 100644
--- a/man3/gamma.3
+++ b/man3/gamma.3
@@ -22,7 +22,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR gamma ():
@@ -41,13 +41,13 @@ Feature Test Macro Requirements for glibc (see
.fi
.SH DESCRIPTION
These functions are deprecated: instead, use either the
-.BR tgamma (3)
+.MR tgamma 3
or the
-.BR lgamma (3)
+.MR lgamma 3
functions, as appropriate.
.P
For the definition of the Gamma function, see
-.BR tgamma (3).
+.MR tgamma 3 .
.SS *BSD version
The libm in 4.4BSD and some versions of FreeBSD had a
.BR gamma ()
@@ -56,17 +56,17 @@ function that computes the Gamma function, as one would expect.
glibc has a
.BR gamma ()
function that is equivalent to
-.BR lgamma (3)
+.MR lgamma 3
and computes the natural logarithm of the Gamma function.
.SH RETURN VALUE
See
-.BR lgamma (3).
+.MR lgamma 3 .
.SH ERRORS
See
-.BR lgamma (3).
+.MR lgamma 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -97,7 +97,7 @@ leaving the sign of
in the external integer
.IR signgam .
In 4.3BSD the name was changed to
-.BR lgamma (3),
+.MR lgamma 3 ,
and the man page promises
.P
.in +4n
@@ -110,12 +110,12 @@ This did indeed happen in 4.4BSD, where
computes the Gamma function (with no effect on
.IR signgam ).
However, this came too late, and we now have
-.BR tgamma (3),
+.MR tgamma 3 ,
the "true gamma" function.
.\" The FreeBSD man page says about gamma() that it is like lgamma()
.\" except that is does not set signgam.
.\" Also, that 4.4BSD has a gamma() that computes the true gamma function.
.SH SEE ALSO
-.BR lgamma (3),
-.BR signgam (3),
-.BR tgamma (3)
+.MR lgamma 3 ,
+.MR signgam 3 ,
+.MR tgamma 3
diff --git a/man3/gcvt.3 b/man3/gcvt.3
index 7cdaec33e..6aae0e274 100644
--- a/man3/gcvt.3
+++ b/man3/gcvt.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR gcvt ():
@@ -45,7 +45,7 @@ The
function converts \fInumber\fP to a minimal length null-terminated
ASCII string and stores the result in \fIbuf\fP.
It produces \fIndigit\fP significant digits in either
-.BR printf (3)
+.MR printf 3
F format or E format.
.SH RETURN VALUE
The
@@ -54,7 +54,7 @@ function returns
\fIbuf\fP.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -72,11 +72,11 @@ None.
Marked as LEGACY in POSIX.1-2001.
POSIX.1-2008 removed it,
recommending the use of
-.BR sprintf (3)
+.MR sprintf 3
instead (though
-.BR snprintf (3)
+.MR snprintf 3
may be preferable).
.SH SEE ALSO
-.BR ecvt (3),
-.BR fcvt (3),
-.BR sprintf (3)
+.MR ecvt 3 ,
+.MR fcvt 3 ,
+.MR sprintf 3
diff --git a/man3/get_nprocs.3 b/man3/get_nprocs.3
index 49605f99a..99b51307d 100644
--- a/man3/get_nprocs.3
+++ b/man3/get_nprocs.3
@@ -32,7 +32,7 @@ because processors may be offline (e.g., on hotpluggable systems).
As given in DESCRIPTION.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,7 +56,7 @@ since they open and parse files in the
filesystem each time they are called.
.P
The following
-.BR sysconf (3)
+.MR sysconf 3
calls make use of the functions documented on this page
to return the same information.
.P
@@ -90,4 +90,4 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR nproc (1)
+.MR nproc 1
diff --git a/man3/get_phys_pages.3 b/man3/get_phys_pages.3
index a2a627a8c..a8cddcb4d 100644
--- a/man3/get_phys_pages.3
+++ b/man3/get_phys_pages.3
@@ -50,10 +50,10 @@ fields of
.IR /proc/meminfo .
Since glibc 2.23,
these functions obtain the required information by calling
-.BR sysinfo (2).
+.MR sysinfo 2 .
.SH NOTES
The following
-.BR sysconf (3)
+.MR sysconf 3
calls provide a portable means of obtaining the same information as the
functions described on this page.
.P
@@ -87,4 +87,4 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR sysconf (3)
+.MR sysconf 3
diff --git a/man3/getaddrinfo.3 b/man3/getaddrinfo.3
index 1d4f2d3d3..9ae2a8658 100644
--- a/man3/getaddrinfo.3
+++ b/man3/getaddrinfo.3
@@ -47,7 +47,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getaddrinfo (),
@@ -70,17 +70,17 @@ returns one or more
.I addrinfo
structures, each of which contains an Internet address
that can be specified in a call to
-.BR bind (2)
+.MR bind 2
or
-.BR connect (2).
+.MR connect 2 .
The
.BR getaddrinfo ()
function combines the functionality provided by the
.\" .BR getipnodebyname (3),
.\" .BR getipnodebyaddr (3),
-.BR gethostbyname (3)
+.MR gethostbyname 3
and
-.BR getservbyname (3)
+.MR getservbyname 3
functions into a single interface, but unlike the latter functions,
.BR getaddrinfo ()
is reentrant and allows programs to eliminate IPv4-versus-IPv6 dependencies.
@@ -185,9 +185,9 @@ see NOTES.)
.I node
specifies either a numerical network address
(for IPv4, numbers-and-dots notation as supported by
-.BR inet_aton (3);
+.MR inet_aton 3 ;
for IPv6, hexadecimal string format as supported by
-.BR inet_pton (3)),
+.MR inet_pton 3 ),
or a network hostname, whose network addresses are looked up and resolved.
If
.I hints.ai_flags
@@ -208,9 +208,9 @@ and
.I node
is NULL,
then the returned socket addresses will be suitable for
-.BR bind (2)ing
+.MR bind 2 ing
a socket that will
-.BR accept (2)
+.MR accept 2
connections.
The returned socket address will contain the "wildcard address"
.RB ( INADDR_ANY
@@ -230,10 +230,10 @@ If the
flag is not set in
.IR hints.ai_flags ,
then the returned socket addresses will be suitable for use with
-.BR connect (2),
-.BR sendto (2),
+.MR connect 2 ,
+.MR sendto 2 ,
or
-.BR sendmsg (2).
+.MR sendmsg 2 .
If
.I node
is NULL,
@@ -248,7 +248,7 @@ with peers running on the same host.
.I service
sets the port in each returned address structure.
If this argument is a service name (see
-.BR services (5)),
+.MR services 5 ),
it is translated to the corresponding port number.
This argument can also be specified as a decimal number,
which is simply converted to binary.
@@ -338,7 +338,7 @@ and
.I ai_protocol
fields return the socket creation parameters (i.e., these fields have
the same meaning as the corresponding arguments of
-.BR socket (2)).
+.MR socket 2 ).
For example,
.I ai_family
might return
@@ -376,9 +376,9 @@ This flag is useful on, for example,
IPv4-only systems, to ensure that
.BR getaddrinfo ()
does not return IPv6 socket addresses that would always fail in
-.BR connect (2)
+.MR connect 2
or
-.BR bind (2).
+.MR bind 2 .
.P
If
.I hints.ai_flags
@@ -581,7 +581,7 @@ suitable for error reporting.
.I /etc/gai.conf
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -644,7 +644,7 @@ The following programs demonstrate the use of
.BR gai_strerror (),
.BR freeaddrinfo (),
and
-.BR getnameinfo (3).
+.MR getnameinfo 3 .
The programs are an echo server and client for UDP datagrams.
.SS Server program
\&
@@ -845,10 +845,10 @@ main(int argc, char *argv[])
.SH SEE ALSO
.\" .BR getipnodebyaddr (3),
.\" .BR getipnodebyname (3),
-.BR getaddrinfo_a (3),
-.BR gethostbyname (3),
-.BR getnameinfo (3),
-.BR inet (3),
-.BR gai.conf (5),
-.BR hostname (7),
-.BR ip (7)
+.MR getaddrinfo_a 3 ,
+.MR gethostbyname 3 ,
+.MR getnameinfo 3 ,
+.MR inet 3 ,
+.MR gai.conf 5 ,
+.MR hostname 7 ,
+.MR ip 7
diff --git a/man3/getaddrinfo_a.3 b/man3/getaddrinfo_a.3
index e7792fd76..a74b65769 100644
--- a/man3/getaddrinfo_a.3
+++ b/man3/getaddrinfo_a.3
@@ -32,7 +32,7 @@ Asynchronous name lookup library
The
.BR getaddrinfo_a ()
function performs the same task as
-.BR getaddrinfo (3),
+.MR getaddrinfo 3 ,
but allows multiple name look-ups to be performed asynchronously,
with optional notification on completion of look-up operations.
.P
@@ -79,7 +79,7 @@ struct gaicb {
.in
.P
The elements of this structure correspond to the arguments of
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
Thus,
.I ar_name
corresponds to the
@@ -105,7 +105,7 @@ is resolved.
The
.I addrinfo
structure referenced by the last two elements is described in
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
.P
When
.I mode
@@ -118,7 +118,7 @@ structure pointed to by the
.I sevp
argument.
For the definition and general details of this structure, see
-.BR sigevent (3type).
+.MR sigevent 3type .
The
.I sevp\->sigev_notify
field can have the following values:
@@ -131,7 +131,7 @@ When a look-up completes, generate the signal
.I sigev_signo
for the process.
See
-.BR sigevent (3type)
+.MR sigevent 3type
for general details.
The
.I si_code
@@ -147,7 +147,7 @@ When a look-up completes, invoke
.I sigev_notify_function
as if it were the start function of a new thread.
See
-.BR sigevent (3type)
+.MR sigevent 3type
for details.
.P
For
@@ -180,7 +180,7 @@ The time interval specified in
.I timeout
elapses.
This argument specifies a timeout in seconds plus nanoseconds (see
-.BR nanosleep (2)
+.MR nanosleep 2
for details of the
.I timespec
structure).
@@ -261,7 +261,7 @@ function can return
for an unfinished look-up request,
0 for a successfully completed look-up
(as described above), one of the error codes that could be returned by
-.BR getaddrinfo (3),
+.MR getaddrinfo 3 ,
or the error code
.B EAI_CANCELED
if the request has been canceled explicitly before it could be finished.
@@ -280,12 +280,12 @@ The request has not been canceled.
The request has already completed.
.P
The
-.BR gai_strerror (3)
+.MR gai_strerror 3
function translates these error codes to a human readable string,
suitable for error reporting.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -308,7 +308,7 @@ glibc 2.2.3.
The interface of
.BR getaddrinfo_a ()
was modeled after the
-.BR lio_listio (3)
+.MR lio_listio 3
interface.
.SH EXAMPLES
Two examples are provided: a simple example that resolves
@@ -317,7 +317,7 @@ showing some of the asynchronous capabilities.
.SS Synchronous example
The program below simply resolves several hostnames in parallel,
giving a speed-up compared to resolving the hostnames sequentially using
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
The program might be used like this:
.P
.in +4n
@@ -637,9 +637,9 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR getaddrinfo (3),
-.BR inet (3),
-.BR lio_listio (3),
-.BR hostname (7),
-.BR ip (7),
-.BR sigevent (3type)
+.MR getaddrinfo 3 ,
+.MR inet 3 ,
+.MR lio_listio 3 ,
+.MR hostname 7 ,
+.MR ip 7 ,
+.MR sigevent 3type
diff --git a/man3/getauxval.3 b/man3/getauxval.3
index 082d9586a..45f6824b5 100644
--- a/man3/getauxval.3
+++ b/man3/getauxval.3
@@ -53,7 +53,7 @@ this identifies the ISA level (since Linux 5.7).
.TP
.B AT_CLKTCK
The frequency with which
-.BR times (2)
+.MR times 2
counts.
This value can also be obtained via
.IR sysconf(_SC_CLK_TCK) .
@@ -171,15 +171,15 @@ executing a set-user-ID or set-group-ID binary
(so that its real and effective UIDs or GIDs differ from one another),
or that it gained capabilities by executing
a binary file that has capabilities (see
-.BR capabilities (7)).
+.MR capabilities 7 ).
Alternatively,
a nonzero value may be triggered by a Linux Security Module.
When this value is nonzero,
the dynamic linker disables the use of certain environment variables (see
-.BR ld\-linux.so (8))
+.MR ld\-linux.so 8 )
and glibc changes other aspects of its behavior.
(See also
-.BR secure_getenv (3).)
+.MR secure_getenv 3 .)
.TP
.B AT_SYSINFO
The entry point to the system call function in the vDSO.
@@ -212,7 +212,7 @@ No entry corresponding to
could be found in the auxiliary vector.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -231,7 +231,7 @@ glibc 2.16.
.SH NOTES
The primary consumer of the information in the auxiliary vector
is the dynamic linker,
-.BR ld\-linux.so (8).
+.MR ld\-linux.so 8 .
The auxiliary vector is a convenient and efficient shortcut
that allows the kernel to communicate a certain set of standard
information that the dynamic linker usually or always needs.
@@ -254,7 +254,7 @@ The auxiliary vector of any process can (subject to file permissions)
be obtained via
.IR /proc/ pid /auxv ;
see
-.BR proc (5)
+.MR proc 5
for more information.
.SH BUGS
Before the addition of the
@@ -266,7 +266,7 @@ could not be found from the case where the value corresponding to
.I type
was zero.
.SH SEE ALSO
-.BR execve (2),
-.BR secure_getenv (3),
-.BR vdso (7),
-.BR ld\-linux.so (8)
+.MR execve 2 ,
+.MR secure_getenv 3 ,
+.MR vdso 7 ,
+.MR ld\-linux.so 8
diff --git a/man3/getcontext.3 b/man3/getcontext.3
index ef2f35fff..dd152c41b 100644
--- a/man3/getcontext.3
+++ b/man3/getcontext.3
@@ -26,9 +26,9 @@ defined in
and the four functions
.BR getcontext (),
.BR setcontext (),
-.BR makecontext (3),
+.MR makecontext 3 ,
and
-.BR swapcontext (3)
+.MR swapcontext 3
that allow user-level context switching between multiple
threads of control within a process.
.P
@@ -63,14 +63,14 @@ Here
points to the context that will be resumed
when the current context terminates (in case the current context
was created using
-.BR makecontext (3)),
+.MR makecontext 3 ),
.I uc_sigmask
is the
set of signals blocked in this context (see
-.BR sigprocmask (2)),
+.MR sigprocmask 2 ),
.I uc_stack
is the stack used by this context (see
-.BR sigaltstack (2)),
+.MR sigaltstack 2 ),
and
.I uc_mcontext
is the
@@ -93,23 +93,23 @@ A successful call does not return.
The context should have been obtained by a call of
.BR getcontext (),
or
-.BR makecontext (3),
+.MR makecontext 3 ,
or received as the third argument to a signal
handler (see the discussion of the
.B SA_SIGINFO
flag in
-.BR sigaction (2)).
+.MR sigaction 2 ).
.P
If the context was obtained by a call of
.BR getcontext (),
program execution continues as if this call just returned.
.P
If the context was obtained by a call of
-.BR makecontext (3),
+.MR makecontext 3 ,
program execution continues by a call to the function
.I func
specified as the second argument of that call to
-.BR makecontext (3).
+.MR makecontext 3 .
When the function
.I func
returns, we continue with the
@@ -118,7 +118,7 @@ member of the structure
.I ucp
specified as the
first argument of that call to
-.BR makecontext (3).
+.MR makecontext 3 .
When this member is NULL, the thread exits.
.P
If the context was obtained by a call to a signal handler,
@@ -140,7 +140,7 @@ to indicate the error.
None defined.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -163,13 +163,13 @@ citing portability issues, and
recommending that applications be rewritten to use POSIX threads instead.
.SH NOTES
The earliest incarnation of this mechanism was the
-.BR setjmp (3)/\c
-.BR longjmp (3)
+.MR setjmp 3 /\c
+.MR longjmp 3
mechanism.
Since that does not define
the handling of the signal context, the next stage was the
-.BR sigsetjmp (3)/\c
-.BR siglongjmp (3)
+.MR sigsetjmp 3 /\c
+.MR siglongjmp 3
pair.
The present mechanism gives much more control.
On the other hand,
@@ -184,18 +184,18 @@ variable won't do since registers are restored.
When a signal occurs, the current user context is saved and
a new context is created by the kernel for the signal handler.
Do not leave the handler using
-.BR longjmp (3):
+.MR longjmp 3 :
it is undefined what would happen with contexts.
Use
-.BR siglongjmp (3)
+.MR siglongjmp 3
or
.BR setcontext ()
instead.
.SH SEE ALSO
-.BR sigaction (2),
-.BR sigaltstack (2),
-.BR sigprocmask (2),
-.BR longjmp (3),
-.BR makecontext (3),
-.BR sigsetjmp (3),
-.BR signal (7)
+.MR sigaction 2 ,
+.MR sigaltstack 2 ,
+.MR sigprocmask 2 ,
+.MR longjmp 3 ,
+.MR makecontext 3 ,
+.MR sigsetjmp 3 ,
+.MR signal 7
diff --git a/man3/getcwd.3 b/man3/getcwd.3
index 6ba1e3280..c45f9b25a 100644
--- a/man3/getcwd.3
+++ b/man3/getcwd.3
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR get_current_dir_name ():
@@ -75,7 +75,7 @@ buffer if necessary.
As an extension to the POSIX.1-2001 standard, glibc's
.BR getcwd ()
allocates the buffer dynamically using
-.BR malloc (3)
+.MR malloc 3
if
.I buf
is NULL.
@@ -87,12 +87,12 @@ is zero, when
.I buf
is allocated as big as necessary.
The caller should
-.BR free (3)
+.MR free 3
the returned buffer.
.P
.BR get_current_dir_name ()
will
-.BR malloc (3)
+.MR malloc 3
an array big enough to hold the absolute pathname of
the current working directory.
If the environment
@@ -100,12 +100,12 @@ variable
.B PWD
is set, and its value is correct, then that value will be returned.
The caller should
-.BR free (3)
+.MR free 3
the returned buffer.
.P
.BR getwd ()
does not
-.BR malloc (3)
+.MR malloc 3
any memory.
The
.I buf
@@ -123,7 +123,7 @@ is set to
.B PATH_MAX
may not be a compile-time constant;
furthermore, its value may depend on the filesystem, see
-.BR pathconf (3).)
+.MR pathconf 3 .)
For portability and security reasons, use of
.BR getwd ()
is deprecated.
@@ -184,7 +184,7 @@ working directory, including the terminating null byte.
You need to allocate a bigger array and try again.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -241,7 +241,7 @@ the pathname returned by the
system call will be prefixed with the string "(unreachable)"
if the current directory is not below the root directory of the current
process (e.g., because the process set a new filesystem root using
-.BR chroot (2)
+.MR chroot 2
without changing its current directory into the new root).
Such behavior can also be caused by an unprivileged user by changing
the current directory into another mount namespace.
@@ -287,7 +287,7 @@ These functions are often used to save the location of the current working
directory for the purpose of returning to it later.
Opening the current
directory (".") and calling
-.BR fchdir (2)
+.MR fchdir 2
to return is usually a faster and more reliable alternative when sufficiently
many file descriptors are available, especially on platforms other than Linux.
.SH BUGS
@@ -302,10 +302,10 @@ calling
from such a pathname will now result in failure with
.BR ENOENT .
.SH SEE ALSO
-.BR pwd (1),
-.BR chdir (2),
-.BR fchdir (2),
-.BR open (2),
-.BR unlink (2),
-.BR free (3),
-.BR malloc (3)
+.MR pwd 1 ,
+.MR chdir 2 ,
+.MR fchdir 2 ,
+.MR open 2 ,
+.MR unlink 2 ,
+.MR free 3 ,
+.MR malloc 3
diff --git a/man3/getdate.3 b/man3/getdate.3
index 74e4a086e..07b3b7875 100644
--- a/man3/getdate.3
+++ b/man3/getdate.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getdate ():
@@ -58,7 +58,7 @@ and consequently it will be overwritten by further calls to
.BR getdate ().
.P
In contrast to
-.BR strptime (3),
+.MR strptime 3 ,
(which has a
.I format
argument),
@@ -74,7 +74,7 @@ Superfluous whitespace, either in the pattern or in the string to
be converted, is ignored.
.P
The conversion specifications that a pattern can contain are those given for
-.BR strptime (3).
+.MR strptime 3 .
One more conversion specification is specified in POSIX.1-2001:
.TP
.B %Z
@@ -91,7 +91,7 @@ is initialized with values corresponding to the current
time in the given timezone.
Otherwise, the structure is initialized to the broken-down time
corresponding to the current local time (as by a call to
-.BR localtime (3)).
+.MR localtime 3 ).
.P
When only the day of the week is given,
the day is taken to be the first such day
@@ -178,10 +178,10 @@ File containing format patterns.
.TQ
.B LC_TIME
Variables used by
-.BR strptime (3).
+.MR strptime 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -208,7 +208,7 @@ T}
.TE
.SH VERSIONS
The POSIX.1 specification for
-.BR strptime (3)
+.MR strptime 3
contains conversion specifications using the
.B %E
or
@@ -218,7 +218,7 @@ modifier, while such specifications are not given for
In glibc,
.BR getdate ()
is implemented using
-.BR strptime (3),
+.MR strptime 3 ,
so that precisely the same conversions are supported by both.
.SH STANDARDS
POSIX.1-2008.
@@ -315,8 +315,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR time (2),
-.BR localtime (3),
-.BR setlocale (3),
-.BR strftime (3),
-.BR strptime (3)
+.MR time 2 ,
+.MR localtime 3 ,
+.MR setlocale 3 ,
+.MR strftime 3 ,
+.MR strptime 3
diff --git a/man3/getdirentries.3 b/man3/getdirentries.3
index b738192af..0e3df788e 100644
--- a/man3/getdirentries.3
+++ b/man3/getdirentries.3
@@ -22,7 +22,7 @@ size_t " nbytes ,
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getdirentries ():
@@ -55,7 +55,7 @@ is set to indicate the error.
See the Linux library source code for details.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -71,10 +71,10 @@ T} Thread safety MT-Safe
BSD.
.SH NOTES
Use
-.BR opendir (3)
+.MR opendir 3
and
-.BR readdir (3)
+.MR readdir 3
instead.
.SH SEE ALSO
-.BR lseek (2),
-.BR open (2)
+.MR lseek 2 ,
+.MR open 2
diff --git a/man3/getdtablesize.3 b/man3/getdtablesize.3
index 9482886f7..aa5c8b613 100644
--- a/man3/getdtablesize.3
+++ b/man3/getdtablesize.3
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getdtablesize ():
@@ -43,11 +43,11 @@ The current limit on the number of open files per process.
On Linux,
.BR getdtablesize ()
can return any of the errors described for
-.BR getrlimit (2);
+.MR getrlimit 2 ;
see NOTES below.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -63,7 +63,7 @@ T} Thread safety MT-Safe
The glibc version of
.BR getdtablesize ()
calls
-.BR getrlimit (2)
+.MR getrlimit 2
and returns the current
.B RLIMIT_NOFILE
limit, or
@@ -82,7 +82,7 @@ None.
SVr4, 4.4BSD
(first appeared in 4.2BSD).
.SH SEE ALSO
-.BR close (2),
-.BR dup (2),
-.BR getrlimit (2),
-.BR open (2)
+.MR close 2 ,
+.MR dup 2 ,
+.MR getrlimit 2 ,
+.MR open 2
diff --git a/man3/getentropy.3 b/man3/getentropy.3
index a26a4eff5..cb58d5b44 100644
--- a/man3/getentropy.3
+++ b/man3/getentropy.3
@@ -17,7 +17,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getentropy ():
@@ -64,7 +64,7 @@ with random data.
.TP
.B ENOSYS
This kernel version does not implement the
-.BR getrandom (2)
+.MR getrandom 2
system call required to implement this function.
.SH STANDARDS
None.
@@ -75,10 +75,10 @@ OpenBSD.
The
.BR getentropy ()
function is implemented using
-.BR getrandom (2).
+.MR getrandom 2 .
.P
Whereas the glibc wrapper makes
-.BR getrandom (2)
+.MR getrandom 2
a cancelation point,
.BR getentropy ()
is not a cancelation point.
@@ -98,6 +98,6 @@ In this case,
will keep blocking even if a signal is handled,
and will return only once the entropy pool has been initialized.
.SH SEE ALSO
-.BR getrandom (2),
-.BR urandom (4),
-.BR random (7)
+.MR getrandom 2 ,
+.MR urandom 4 ,
+.MR random 7
diff --git a/man3/getenv.3 b/man3/getenv.3
index 65bc3c81e..edb1b1bb1 100644
--- a/man3/getenv.3
+++ b/man3/getenv.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR secure_getenv ():
@@ -77,7 +77,7 @@ function returns a pointer to the value in the
environment, or NULL if there is no match.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -121,10 +121,10 @@ The string pointed to by the return value of
may be statically allocated,
and can be modified by a subsequent call to
.BR getenv (),
-.BR putenv (3),
-.BR setenv (3),
+.MR putenv 3 ,
+.MR setenv 3 ,
or
-.BR unsetenv (3).
+.MR unsetenv 3 .
.P
The "secure execution" mode of
.BR secure_getenv ()
@@ -132,10 +132,10 @@ is controlled by the
.B AT_SECURE
flag contained in the auxiliary vector passed from the kernel to user space.
.SH SEE ALSO
-.BR clearenv (3),
-.BR getauxval (3),
-.BR putenv (3),
-.BR setenv (3),
-.BR unsetenv (3),
-.BR capabilities (7),
-.BR environ (7)
+.MR clearenv 3 ,
+.MR getauxval 3 ,
+.MR putenv 3 ,
+.MR setenv 3 ,
+.MR unsetenv 3 ,
+.MR capabilities 7 ,
+.MR environ 7
diff --git a/man3/getfsent.3 b/man3/getfsent.3
index eb610a62a..4a23899ad 100644
--- a/man3/getfsent.3
+++ b/man3/getfsent.3
@@ -93,7 +93,7 @@ returns 1.
Upon failure or end-of-file, these functions return NULL and 0, respectively.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -131,7 +131,7 @@ that however use a
instead of a
.IR "struct fstab" ,
and calls these functions obsolete, superseded by
-.BR getmntent (3).
+.MR getmntent 3 .
.SH STANDARDS
None.
.SH HISTORY
@@ -151,5 +151,5 @@ and
only return the first occurrence, these two functions are not suitable
for use under Linux.
.SH SEE ALSO
-.BR getmntent (3),
-.BR fstab (5)
+.MR getmntent 3 ,
+.MR fstab 5
diff --git a/man3/getgrent.3 b/man3/getgrent.3
index 16b41ff8b..5201eefe7 100644
--- a/man3/getgrent.3
+++ b/man3/getgrent.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR setgrent ():
@@ -88,7 +88,7 @@ struct group {
.in
.P
For more information about the fields of this structure, see
-.BR group (5).
+.MR group 5 .
.SH RETURN VALUE
The
.BR getgrent ()
@@ -107,11 +107,11 @@ after the call, it should be set to zero before the call.
The return value may point to a static area, and may be overwritten
by subsequent calls to
.BR getgrent (),
-.BR getgrgid (3),
+.MR getgrgid 3 ,
or
-.BR getgrnam (3).
+.MR getgrnam 3 .
(Do not pass the returned pointer to
-.BR free (3).)
+.MR free 3 .)
.SH ERRORS
.TP
.B EAGAIN
@@ -122,7 +122,7 @@ The error may correct itself, retrying later is suggested.
.TP
.B EINTR
A signal was caught; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EIO
I/O error.
@@ -153,7 +153,7 @@ Insufficient buffer space supplied.
local group database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -197,10 +197,10 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR fgetgrent (3),
-.BR getgrent_r (3),
-.BR getgrgid (3),
-.BR getgrnam (3),
-.BR getgrouplist (3),
-.BR putgrent (3),
-.BR group (5)
+.MR fgetgrent 3 ,
+.MR getgrent_r 3 ,
+.MR getgrgid 3 ,
+.MR getgrnam 3 ,
+.MR getgrouplist 3 ,
+.MR putgrent 3 ,
+.MR group 5
diff --git a/man3/getgrent_r.3 b/man3/getgrent_r.3
index 6c3018787..b9554ea1b 100644
--- a/man3/getgrent_r.3
+++ b/man3/getgrent_r.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getgrent_r ():
@@ -45,11 +45,11 @@ The functions
and
.BR fgetgrent_r ()
are the reentrant versions of
-.BR getgrent (3)
+.MR getgrent 3
and
-.BR fgetgrent (3).
+.MR fgetgrent 3 .
The former reads the next group entry from the stream initialized by
-.BR setgrent (3).
+.MR setgrent 3 .
The latter reads the next group entry from
.IR stream .
.P
@@ -70,7 +70,7 @@ struct group {
.in
.P
For more information about the fields of this structure, see
-.BR group (5).
+.MR group 5 .
.P
The nonreentrant functions return a pointer to static storage,
where this static storage contains further pointers to group
@@ -107,7 +107,7 @@ Insufficient buffer space supplied.
Try again with larger buffer.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -138,9 +138,9 @@ In the above table,
in
.I race:grent
signifies that if any of the functions
-.BR setgrent (3),
-.BR getgrent (3),
-.BR endgrent (3),
+.MR setgrent 3 ,
+.MR getgrent 3 ,
+.MR endgrent 3 ,
or
.BR getgrent_r ()
are used in parallel in different threads of a program,
@@ -168,7 +168,7 @@ GNU.
.SH HISTORY
These functions are done in a style resembling
the POSIX version of functions like
-.BR getpwnam_r (3).
+.MR getpwnam_r 3 .
.SH NOTES
The function
.BR getgrent_r ()
@@ -220,9 +220,9 @@ main(void)
.\" }
.\" SRC END
.SH SEE ALSO
-.BR fgetgrent (3),
-.BR getgrent (3),
-.BR getgrgid (3),
-.BR getgrnam (3),
-.BR putgrent (3),
-.BR group (5)
+.MR fgetgrent 3 ,
+.MR getgrent 3 ,
+.MR getgrgid 3 ,
+.MR getgrnam 3 ,
+.MR putgrent 3 ,
+.MR group 5
diff --git a/man3/getgrnam.3 b/man3/getgrnam.3
index 2010e6d1c..518b1cc82 100644
--- a/man3/getgrnam.3
+++ b/man3/getgrnam.3
@@ -36,7 +36,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getgrnam_r (),
@@ -78,7 +78,7 @@ struct group {
.in
.P
For more information about the fields of this structure, see
-.BR group (5).
+.MR group 5 .
.P
The
.BR getgrnam_r ()
@@ -137,12 +137,12 @@ after the call, it should be set to zero before the call.
.P
The return value may point to a static area, and may be overwritten
by subsequent calls to
-.BR getgrent (3),
+.MR getgrent 3 ,
.BR getgrgid (),
or
.BR getgrnam ().
(Do not pass the returned pointer to
-.BR free (3).)
+.MR free 3 .)
.P
On success,
.BR getgrnam_r ()
@@ -168,7 +168,7 @@ was not found.
.TP
.B EINTR
A signal was caught; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EIO
I/O error.
@@ -194,7 +194,7 @@ Insufficient buffer space supplied.
local group database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -252,9 +252,9 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR endgrent (3),
-.BR fgetgrent (3),
-.BR getgrent (3),
-.BR getpwnam (3),
-.BR setgrent (3),
-.BR group (5)
+.MR endgrent 3 ,
+.MR fgetgrent 3 ,
+.MR getgrent 3 ,
+.MR getpwnam 3 ,
+.MR setgrent 3 ,
+.MR group 5
diff --git a/man3/getgrouplist.3 b/man3/getgrouplist.3
index 41389b6c3..ea7e0e9ed 100644
--- a/man3/getgrouplist.3
+++ b/man3/getgrouplist.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getgrouplist ():
@@ -37,7 +37,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR getgrouplist ()
function scans the group database (see
-.BR group (5))
+.MR group 5 )
to obtain the list of groups that
.I user
belongs to.
@@ -85,7 +85,7 @@ can be used to resize the buffer passed to a further call to
.BR getgrouplist ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -192,9 +192,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR getgroups (2),
-.BR setgroups (2),
-.BR getgrent (3),
-.BR group_member (3),
-.BR group (5),
-.BR passwd (5)
+.MR getgroups 2 ,
+.MR setgroups 2 ,
+.MR getgrent 3 ,
+.MR group_member 3 ,
+.MR group 5 ,
+.MR passwd 5
diff --git a/man3/gethostbyname.3 b/man3/gethostbyname.3
index a881b2c10..e2630d90e 100644
--- a/man3/gethostbyname.3
+++ b/man3/gethostbyname.3
@@ -78,7 +78,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR gethostbyname2 (),
@@ -122,10 +122,10 @@ and
.BR hstrerror ()
functions are obsolete.
Applications should use
-.BR getaddrinfo (3),
-.BR getnameinfo (3),
+.MR getaddrinfo 3 ,
+.MR getnameinfo 3 ,
and
-.BR gai_strerror (3)
+.MR gai_strerror 3
instead.
.P
The
@@ -149,7 +149,7 @@ for the given host
Here
.I name
is either a hostname or an IPv4 address in standard dot notation (as for
-.BR inet_addr (3)).
+.MR inet_addr 3 ).
If
.I name
is an IPv4 address, no lookup is performed and
@@ -174,7 +174,7 @@ is set, the alias file pointed to by
will first be searched for
.I name
(see
-.BR hostname (7)
+.MR hostname 7
for the file format).
The current domain and its parents are searched unless \fIname\fP
ends in a dot.
@@ -193,7 +193,7 @@ and
The host address argument is a pointer to a struct of a type depending
on the address type, for example a \fIstruct in_addr *\fP (probably
obtained via a call to
-.BR inet_addr (3))
+.MR inet_addr 3 )
for address type
.BR AF_INET .
.P
@@ -212,24 +212,29 @@ The domain name queries carried out by
and
.BR gethostbyaddr ()
rely on the Name Service Switch
-.RB ( nsswitch.conf (5))
+\%(\c
+.MR nsswitch.conf 5 )
configured sources or a local name server
-.RB ( named (8)).
+\%(\c
+.MR named 8 ).
The default action is to query the Name Service Switch
-.RB ( nsswitch.conf (5))
+\%(\c
+.MR nsswitch.conf 5 )
configured sources, failing that, a local name server
-.RB ( named (8)).
+\%(\c
+.MR named 8 ).
.\"
.SS Historical
The
-.BR nsswitch.conf (5)
+.MR nsswitch.conf 5
file is the modern way of controlling the order of host lookups.
.P
In glibc 2.4 and earlier, the
.I order
keyword was used to control the order of host lookups as defined in
.I /etc/host.conf
-.RB ( host.conf (5)).
+\%(\c
+.MR host.conf 5 ).
.P
The \fIhostent\fP structure is defined in \fI<netdb.h>\fP as follows:
.P
@@ -315,7 +320,7 @@ host database file
name service switch configuration
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -431,9 +436,9 @@ POSIX.1-2001.
Marked obsolescent in POSIX.1-2001.
Removed in POSIX.1-2008,
recommending the use of
-.BR getaddrinfo (3)
+.MR getaddrinfo 3
and
-.BR getnameinfo (3)
+.MR getnameinfo 3
instead.
.SH NOTES
The functions
@@ -468,7 +473,7 @@ POSIX.1-2001 makes it
.IR socklen_t ,
which is OK.)
See also
-.BR accept (2).
+.MR accept 2 .
.P
The BSD prototype for
.BR gethostbyaddr ()
@@ -538,16 +543,16 @@ does not recognize components of a dotted IPv4 address string
that are expressed in hexadecimal.
.\" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482973
.SH SEE ALSO
-.BR getaddrinfo (3),
+.MR getaddrinfo 3 ,
.\" .BR getipnodebyaddr (3),
.\" .BR getipnodebyname (3),
-.BR getnameinfo (3),
-.BR inet (3),
-.BR inet_ntop (3),
-.BR inet_pton (3),
-.BR resolver (3),
-.BR hosts (5),
-.BR nsswitch.conf (5),
-.BR hostname (7),
-.BR named (8)
+.MR getnameinfo 3 ,
+.MR inet 3 ,
+.MR inet_ntop 3 ,
+.MR inet_pton 3 ,
+.MR resolver 3 ,
+.MR hosts 5 ,
+.MR nsswitch.conf 5 ,
+.MR hostname 7 ,
+.MR named 8
.\" .BR resolv+ (8)
diff --git a/man3/gethostid.3 b/man3/gethostid.3
index daaaf548a..a81b38f8c 100644
--- a/man3/gethostid.3
+++ b/man3/gethostid.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR gethostid ():
@@ -55,7 +55,7 @@ The 32-bit identifier was intended to be unique among all UNIX systems in
existence.
This normally resembles the Internet address for the local
machine, as returned by
-.BR gethostbyname (3),
+.MR gethostbyname 3 ,
and thus usually never needs to be set.
.P
The
@@ -84,7 +84,7 @@ The calling process's effective user or group ID is not the same
as its corresponding real ID.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -123,9 +123,9 @@ In the glibc implementation, if
.BR gethostid ()
cannot open the file containing the host ID,
then it obtains the hostname using
-.BR gethostname (2),
+.MR gethostname 2 ,
passes that hostname to
-.BR gethostbyname_r (3)
+.MR gethostbyname_r 3
in order to obtain the host's IPv4 address,
and returns a value obtained by bit-twiddling the IPv4 address.
(This value may not be unique.)
@@ -145,5 +145,5 @@ but not
.SH BUGS
It is impossible to ensure that the identifier is globally unique.
.SH SEE ALSO
-.BR hostid (1),
-.BR gethostbyname (3)
+.MR hostid 1 ,
+.MR gethostbyname 3
diff --git a/man3/getifaddrs.3 b/man3/getifaddrs.3
index 3ecaf71c0..1c21b71d4 100644
--- a/man3/getifaddrs.3
+++ b/man3/getifaddrs.3
@@ -76,9 +76,9 @@ The
.I ifa_flags
field contains the interface flags, as returned by the
.B SIOCGIFFLAGS
-.BR ioctl (2)
+.MR ioctl 2
operation (see
-.BR netdevice (7)
+.MR netdevice 7
for a list of these flags).
.P
The
@@ -134,17 +134,17 @@ is set to indicate the error.
may fail and set
.I errno
for any of the errors specified for
-.BR socket (2),
-.BR bind (2),
-.BR getsockname (2),
-.BR recvmsg (2),
-.BR sendto (2),
-.BR malloc (3),
+.MR socket 2 ,
+.MR bind 2 ,
+.MR getsockname 2 ,
+.MR recvmsg 2 ,
+.MR sendto 2 ,
+.MR malloc 3 ,
or
-.BR realloc (3).
+.MR realloc 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -207,7 +207,7 @@ The program below demonstrates the use of
.BR getifaddrs (),
.BR freeifaddrs (),
and
-.BR getnameinfo (3).
+.MR getnameinfo 3 .
Here is what we see when running this program on one system:
.P
.in +4n
@@ -306,8 +306,8 @@ int main(int argc, char *argv[])
}
.EE
.SH SEE ALSO
-.BR bind (2),
-.BR getsockname (2),
-.BR socket (2),
-.BR packet (7),
-.BR ifconfig (8)
+.MR bind 2 ,
+.MR getsockname 2 ,
+.MR socket 2 ,
+.MR packet 7 ,
+.MR ifconfig 8
diff --git a/man3/getipnodebyname.3 b/man3/getipnodebyname.3
index 09808542b..ab2e853f5 100644
--- a/man3/getipnodebyname.3
+++ b/man3/getipnodebyname.3
@@ -26,9 +26,9 @@ Standard C library
.SH DESCRIPTION
These functions are deprecated (and unavailable in glibc).
Use
-.BR getaddrinfo (3)
+.MR getaddrinfo 3
and
-.BR getnameinfo (3)
+.MR getnameinfo 3
instead.
.P
The
@@ -52,9 +52,9 @@ struct hostent {
.in
.P
These functions replace the
-.BR gethostbyname (3)
+.MR gethostbyname 3
and
-.BR gethostbyaddr (3)
+.MR gethostbyaddr 3
functions, which could access only the IPv4 network address family.
The
.BR getipnodebyname ()
@@ -247,7 +247,7 @@ Present in glibc 2.1.91-95, but removed again.
Several UNIX-like systems support them, but all
call them deprecated.
.SH SEE ALSO
-.BR getaddrinfo (3),
-.BR getnameinfo (3),
-.BR inet_ntop (3),
-.BR inet_pton (3)
+.MR getaddrinfo 3 ,
+.MR getnameinfo 3 ,
+.MR inet_ntop 3 ,
+.MR inet_pton 3
diff --git a/man3/getline.3 b/man3/getline.3
index e9afc06eb..7628f53f7 100644
--- a/man3/getline.3
+++ b/man3/getline.3
@@ -22,7 +22,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getline (),
@@ -55,14 +55,14 @@ Alternatively, before calling
.BR getline (),
.I *lineptr
can contain a pointer to a
-.BR malloc (3)\-allocated
+.MR malloc 3 \-allocated
buffer
.I *n
bytes in size.
If the buffer is not large enough to hold the line,
.BR getline ()
resizes it with
-.BR realloc (3),
+.MR realloc 3 ,
updating
.I *lineptr
and
@@ -120,7 +120,7 @@ is not valid).
Allocation or reallocation of the line buffer failed.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -175,8 +175,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR read (2),
-.BR fgets (3),
-.BR fopen (3),
-.BR fread (3),
-.BR scanf (3)
+.MR read 2 ,
+.MR fgets 3 ,
+.MR fopen 3 ,
+.MR fread 3 ,
+.MR scanf 3
diff --git a/man3/getloadavg.3 b/man3/getloadavg.3
index 5bbfc716c..5019f1f4e 100644
--- a/man3/getloadavg.3
+++ b/man3/getloadavg.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getloadavg ():
@@ -49,7 +49,7 @@ If the load average was unobtainable, \-1 is returned; otherwise,
the number of samples actually retrieved is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -67,5 +67,5 @@ BSD.
4.3BSD-Reno, Solaris.
glibc 2.2.
.SH SEE ALSO
-.BR uptime (1),
-.BR proc (5)
+.MR uptime 1 ,
+.MR proc 5
diff --git a/man3/getlogin.3 b/man3/getlogin.3
index f27dfb2d6..cb7a2ae46 100644
--- a/man3/getlogin.3
+++ b/man3/getlogin.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getlogin_r ():
@@ -133,7 +133,7 @@ password database file
some libc versions used \fI/var/adm/utmp\fP)
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -175,10 +175,10 @@ In the above table,
in
.I race:utent
signifies that if any of the functions
-.BR setutent (3),
-.BR getutent (3),
+.MR setutent 3 ,
+.MR getutent 3 ,
or
-.BR endutent (3)
+.MR endutent 3
are used in parallel in different threads of a program,
then data races could occur.
.BR getlogin ()
@@ -253,7 +253,7 @@ what you meant.
.B Do not use
.BR cuserid ().
.SH SEE ALSO
-.BR logname (1),
-.BR geteuid (2),
-.BR getuid (2),
-.BR utmp (5)
+.MR logname 1 ,
+.MR geteuid 2 ,
+.MR getuid 2 ,
+.MR utmp 5
diff --git a/man3/getmntent.3 b/man3/getmntent.3
index 4f22658ef..1068306d3 100644
--- a/man3/getmntent.3
+++ b/man3/getmntent.3
@@ -43,7 +43,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getmntent_r ():
@@ -71,11 +71,11 @@ is the type of access
required and can take the same values as the
.I mode
argument of
-.BR fopen (3).
+.MR fopen 3 .
The returned stream should be closed using
.BR endmntent ()
rather than
-.BR fclose (3).
+.MR fclose 3 .
.P
The
.BR getmntent ()
@@ -119,7 +119,7 @@ for a substring that matches
See
.I <mntent.h>
and
-.BR mount (8)
+.MR mount 8
for valid mount options.
.P
The reentrant
@@ -201,7 +201,7 @@ filesystem description file
mounted filesystem description file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -260,6 +260,6 @@ is used.
a wrapper around the system call
.BR getfsstat ().
.SH SEE ALSO
-.BR fopen (3),
-.BR fstab (5),
-.BR mount (8)
+.MR fopen 3 ,
+.MR fstab 5 ,
+.MR mount 8
diff --git a/man3/getnameinfo.3 b/man3/getnameinfo.3
index 16c202fc4..25c779213 100644
--- a/man3/getnameinfo.3
+++ b/man3/getnameinfo.3
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getnameinfo ():
@@ -44,13 +44,13 @@ Feature Test Macro Requirements for glibc (see
The
.BR getnameinfo ()
function is the inverse of
-.BR getaddrinfo (3):
+.MR getaddrinfo 3 :
it converts a socket address to a corresponding host and service,
in a protocol-independent manner.
It combines the functionality of
-.BR gethostbyaddr (3)
+.MR gethostbyaddr 3
and
-.BR getservbyport (3),
+.MR getservbyport 3 ,
but unlike those functions,
.BR getnameinfo ()
is reentrant and allows programs to eliminate
@@ -204,7 +204,7 @@ The error code can be found in
.IR errno .
.P
The
-.BR gai_strerror (3)
+.MR gai_strerror 3
function translates these error codes to a human readable string,
suitable for error reporting.
.SH FILES
@@ -215,7 +215,7 @@ suitable for error reporting.
.I /etc/resolv.conf
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -309,22 +309,22 @@ else
An example program using
.BR getnameinfo ()
can be found in
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
.SH SEE ALSO
-.BR accept (2),
-.BR getpeername (2),
-.BR getsockname (2),
-.BR recvfrom (2),
-.BR socket (2),
-.BR getaddrinfo (3),
-.BR gethostbyaddr (3),
-.BR getservbyname (3),
-.BR getservbyport (3),
-.BR inet_ntop (3),
-.BR hosts (5),
-.BR services (5),
-.BR hostname (7),
-.BR named (8)
+.MR accept 2 ,
+.MR getpeername 2 ,
+.MR getsockname 2 ,
+.MR recvfrom 2 ,
+.MR socket 2 ,
+.MR getaddrinfo 3 ,
+.MR gethostbyaddr 3 ,
+.MR getservbyname 3 ,
+.MR getservbyport 3 ,
+.MR inet_ntop 3 ,
+.MR hosts 5 ,
+.MR services 5 ,
+.MR hostname 7 ,
+.MR named 8
.P
R.\& Gilligan, S.\& Thomson, J.\& Bound and W.\& Stevens,
.IR "Basic Socket Interface Extensions for IPv6" ,
diff --git a/man3/getnetent.3 b/man3/getnetent.3
index a2a268994..d3ee9e0ab 100644
--- a/man3/getnetent.3
+++ b/man3/getnetent.3
@@ -126,7 +126,7 @@ error occurs or the end of the file is reached.
networks database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -198,9 +198,9 @@ argument of
was of type
.IR long .
.SH SEE ALSO
-.BR getnetent_r (3),
-.BR getprotoent (3),
-.BR getservent (3)
+.MR getnetent_r 3 ,
+.MR getprotoent 3 ,
+.MR getservent 3
.\" .BR networks (5)
.br
RFC\ 1101
diff --git a/man3/getnetent_r.3 b/man3/getnetent_r.3
index d8f70c3a2..6aef436a3 100644
--- a/man3/getnetent_r.3
+++ b/man3/getnetent_r.3
@@ -33,7 +33,7 @@ Standard C library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getnetent_r (),
@@ -52,10 +52,10 @@ The
and
.BR getnetbyaddr_r ()
functions are the reentrant equivalents of, respectively,
-.BR getnetent (3),
-.BR getnetbyname (3),
+.MR getnetent 3 ,
+.MR getnetbyname 3 ,
and
-.BR getnetbynumber (3).
+.MR getnetbynumber 3 .
They differ in the way that the
.I netent
structure is returned,
@@ -126,7 +126,7 @@ Try again with a larger buffer
.IR buflen ).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -146,5 +146,5 @@ though typically with different calling signatures.
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR getnetent (3),
-.BR networks (5)
+.MR getnetent 3 ,
+.MR networks 5
diff --git a/man3/getopt.3 b/man3/getopt.3
index 02d0ea141..7d0b55d31 100644
--- a/man3/getopt.3
+++ b/man3/getopt.3
@@ -49,7 +49,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getopt ():
@@ -111,9 +111,9 @@ Then \fIoptind\fP is the index in \fIargv\fP of the first
.I optstring
is a string containing the legitimate option characters.
A legitimate option character is any visible one byte
-.BR ascii (7)
+.MR ascii 7
character (for which
-.BR isgraph (3)
+.MR isgraph 3
would return nonzero) that is not \[aq]\-\[aq], \[aq]:\[aq], or \[aq];\[aq].
If such a
character is followed by a colon, the option requires an argument, so
@@ -321,15 +321,15 @@ argument is encountered.
.TP
.B _<PID>_GNU_nonoption_argv_flags_
This variable was used by
-.BR bash (1)
+.MR bash 1
2.0 to communicate to glibc which arguments are the results of
wildcard expansion and so should not be considered as options.
This behavior was removed in
-.BR bash (1)
+.MR bash 1
2.01, but the support remains in glibc.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -573,5 +573,5 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR getopt (1),
-.BR getsubopt (3)
+.MR getopt 1 ,
+.MR getsubopt 3
diff --git a/man3/getpass.3 b/man3/getpass.3
index 979da4949..ae635af91 100644
--- a/man3/getpass.3
+++ b/man3/getpass.3
@@ -18,7 +18,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getpass ():
@@ -38,7 +38,7 @@ If you want to read input without terminal echoing enabled,
see the description of the
.I ECHO
flag in
-.BR termios (3).
+.MR termios 3 .
.P
The
.BR getpass ()
@@ -69,7 +69,7 @@ The process does not have a controlling terminal.
.I /dev/tty
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -109,7 +109,7 @@ Removed in POSIX.1-2001.
.\" Since libc 5.4.19 also line editing is disabled, so that also
.\" backspace and the like will be seen as part of the password.
You should use instead
-.BR readpassphrase (3bsd),
+.MR readpassphrase 3bsd ,
provided by
.IR libbsd .
.P
@@ -147,4 +147,4 @@ and returns
The calling process should zero the password as soon as possible to avoid
leaving the cleartext password visible in the process's address space.
.SH SEE ALSO
-.BR crypt (3)
+.MR crypt 3
diff --git a/man3/getprotoent.3 b/man3/getprotoent.3
index 79b5d23be..74819b422 100644
--- a/man3/getprotoent.3
+++ b/man3/getprotoent.3
@@ -31,7 +31,7 @@ Standard C library
The
.BR getprotoent ()
function reads the next entry from the protocols database (see
-.BR protocols (5))
+.MR protocols 5 )
and returns a
.I protoent
structure
@@ -121,7 +121,7 @@ protocol database file
.PD
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -186,7 +186,7 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
-.BR getnetent (3),
-.BR getprotoent_r (3),
-.BR getservent (3),
-.BR protocols (5)
+.MR getnetent 3 ,
+.MR getprotoent_r 3 ,
+.MR getservent 3 ,
+.MR protocols 5
diff --git a/man3/getprotoent_r.3 b/man3/getprotoent_r.3
index 846eec936..c29f92d39 100644
--- a/man3/getprotoent_r.3
+++ b/man3/getprotoent_r.3
@@ -30,7 +30,7 @@ Standard C library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getprotoent_r (),
@@ -49,10 +49,10 @@ The
and
.BR getprotobynumber_r ()
functions are the reentrant equivalents of, respectively,
-.BR getprotoent (3),
-.BR getprotobyname (3),
+.MR getprotoent 3 ,
+.MR getprotobyname 3 ,
and
-.BR getprotobynumber (3).
+.MR getprotobynumber 3 .
They differ in the way that the
.I protoent
structure is returned,
@@ -116,7 +116,7 @@ Try again with a larger buffer
.IR buflen ).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -239,5 +239,5 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR getprotoent (3),
-.BR protocols (5)
+.MR getprotoent 3 ,
+.MR protocols 5
diff --git a/man3/getpt.3 b/man3/getpt.3
index fca62693e..ca2773a89 100644
--- a/man3/getpt.3
+++ b/man3/getpt.3
@@ -42,10 +42,10 @@ to indicate the error.
.SH ERRORS
.BR getpt ()
can fail with various errors described in
-.BR open (2).
+.MR open 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -59,16 +59,16 @@ T} Thread safety MT-Safe
.TE
.SH VERSIONS
Use
-.BR posix_openpt (3)
+.MR posix_openpt 3
instead.
.SH STANDARDS
GNU.
.SH HISTORY
glibc 2.1.
.SH SEE ALSO
-.BR grantpt (3),
-.BR posix_openpt (3),
-.BR ptsname (3),
-.BR unlockpt (3),
-.BR ptmx (4),
-.BR pty (7)
+.MR grantpt 3 ,
+.MR posix_openpt 3 ,
+.MR ptsname 3 ,
+.MR unlockpt 3 ,
+.MR ptmx 4 ,
+.MR pty 7
diff --git a/man3/getpw.3 b/man3/getpw.3
index b40b36ffd..dad08bf1c 100644
--- a/man3/getpw.3
+++ b/man3/getpw.3
@@ -54,7 +54,7 @@ struct passwd {
.in
.P
For more information about the fields of this structure, see
-.BR passwd (5).
+.MR passwd 5 .
.SH RETURN VALUE
The
.BR getpw ()
@@ -91,7 +91,7 @@ structure.
password database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -113,13 +113,13 @@ The
function is dangerous as it may overflow the provided buffer
.IR buf .
It is obsoleted by
-.BR getpwuid (3).
+.MR getpwuid 3 .
.SH SEE ALSO
-.BR endpwent (3),
-.BR fgetpwent (3),
-.BR getpwent (3),
-.BR getpwnam (3),
-.BR getpwuid (3),
-.BR putpwent (3),
-.BR setpwent (3),
-.BR passwd (5)
+.MR endpwent 3 ,
+.MR fgetpwent 3 ,
+.MR getpwent 3 ,
+.MR getpwnam 3 ,
+.MR getpwuid 3 ,
+.MR putpwent 3 ,
+.MR setpwent 3 ,
+.MR passwd 5
diff --git a/man3/getpwent.3 b/man3/getpwent.3
index 5c213db9a..d398fef36 100644
--- a/man3/getpwent.3
+++ b/man3/getpwent.3
@@ -29,7 +29,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getpwent (),
@@ -81,7 +81,7 @@ struct passwd {
.in
.P
For more information about the fields of this structure, see
-.BR passwd (5).
+.MR passwd 5 .
.SH RETURN VALUE
The
.BR getpwent ()
@@ -99,16 +99,16 @@ after the call, it should be set to zero before the call.
The return value may point to a static area, and may be overwritten
by subsequent calls to
.BR getpwent (),
-.BR getpwnam (3),
+.MR getpwnam 3 ,
or
-.BR getpwuid (3).
+.MR getpwuid 3 .
(Do not pass the returned pointer to
-.BR free (3).)
+.MR free 3 .)
.SH ERRORS
.TP
.B EINTR
A signal was caught; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EIO
I/O error.
@@ -134,7 +134,7 @@ Insufficient buffer space supplied.
local password database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -182,10 +182,10 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR fgetpwent (3),
-.BR getpw (3),
-.BR getpwent_r (3),
-.BR getpwnam (3),
-.BR getpwuid (3),
-.BR putpwent (3),
-.BR passwd (5)
+.MR fgetpwent 3 ,
+.MR getpw 3 ,
+.MR getpwent_r 3 ,
+.MR getpwnam 3 ,
+.MR getpwuid 3 ,
+.MR putpwent 3 ,
+.MR passwd 5
diff --git a/man3/getpwent_r.3 b/man3/getpwent_r.3
index 5433e6ae6..1c276594d 100644
--- a/man3/getpwent_r.3
+++ b/man3/getpwent_r.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getpwent_r (),
@@ -48,11 +48,11 @@ The functions
and
.BR fgetpwent_r ()
are the reentrant versions of
-.BR getpwent (3)
+.MR getpwent 3
and
-.BR fgetpwent (3).
+.MR fgetpwent 3 .
The former reads the next passwd entry from the stream initialized by
-.BR setpwent (3).
+.MR setpwent 3 .
The latter reads the next passwd entry from
.IR stream .
.P
@@ -75,7 +75,7 @@ struct passwd {
.in
.P
For more information about the fields of this structure, see
-.BR passwd (5).
+.MR passwd 5 .
.P
The nonreentrant functions return a pointer to static storage,
where this static storage contains further pointers to user
@@ -112,7 +112,7 @@ Insufficient buffer space supplied.
Try again with larger buffer.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -170,7 +170,7 @@ None.
.SH HISTORY
These functions are done in a style resembling
the POSIX version of functions like
-.BR getpwnam_r (3).
+.MR getpwnam_r 3 .
.SH NOTES
The function
.BR getpwent_r ()
@@ -218,10 +218,10 @@ main(void)
.\" }
.\" SRC END
.SH SEE ALSO
-.BR fgetpwent (3),
-.BR getpw (3),
-.BR getpwent (3),
-.BR getpwnam (3),
-.BR getpwuid (3),
-.BR putpwent (3),
-.BR passwd (5)
+.MR fgetpwent 3 ,
+.MR getpw 3 ,
+.MR getpwent 3 ,
+.MR getpwnam 3 ,
+.MR getpwuid 3 ,
+.MR putpwent 3 ,
+.MR passwd 5
diff --git a/man3/getpwnam.3 b/man3/getpwnam.3
index 7974fd229..dd0357eb3 100644
--- a/man3/getpwnam.3
+++ b/man3/getpwnam.3
@@ -40,7 +40,7 @@ struct passwd *restrict " pwd ,
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getpwnam_r (),
@@ -84,7 +84,7 @@ struct passwd {
.in
.P
See
-.BR passwd (5)
+.MR passwd 5
for more information about these fields.
.P
The
@@ -143,12 +143,12 @@ after the call, it should be set to zero before the call.
.P
The return value may point to a static area, and may be overwritten
by subsequent calls to
-.BR getpwent (3),
+.MR getpwent 3 ,
.BR getpwnam (),
or
.BR getpwuid ().
(Do not pass the returned pointer to
-.BR free (3).)
+.MR free 3 .)
.P
On success,
.BR getpwnam_r ()
@@ -174,7 +174,7 @@ was not found.
.TP
.B EINTR
A signal was caught; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EIO
I/O error.
@@ -200,7 +200,7 @@ Insufficient buffer space supplied.
local password database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -339,12 +339,12 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR endpwent (3),
-.BR fgetpwent (3),
-.BR getgrnam (3),
-.BR getpw (3),
-.BR getpwent (3),
-.BR getspnam (3),
-.BR putpwent (3),
-.BR setpwent (3),
-.BR passwd (5)
+.MR endpwent 3 ,
+.MR fgetpwent 3 ,
+.MR getgrnam 3 ,
+.MR getpw 3 ,
+.MR getpwent 3 ,
+.MR getspnam 3 ,
+.MR putpwent 3 ,
+.MR setpwent 3 ,
+.MR passwd 5
diff --git a/man3/getrpcent.3 b/man3/getrpcent.3
index ec217b70c..062b0b254 100644
--- a/man3/getrpcent.3
+++ b/man3/getrpcent.3
@@ -100,7 +100,7 @@ NULL is returned on EOF or error.
RPC program number database.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -130,7 +130,7 @@ is contained in a static area
so it must be copied if it is
to be saved.
.SH SEE ALSO
-.BR getrpcent_r (3),
-.BR rpc (5),
-.BR rpcinfo (8),
-.BR ypserv (8)
+.MR getrpcent_r 3 ,
+.MR rpc 5 ,
+.MR rpcinfo 8 ,
+.MR ypserv 8
diff --git a/man3/getrpcent_r.3 b/man3/getrpcent_r.3
index 558d0a831..8de81cbcb 100644
--- a/man3/getrpcent_r.3
+++ b/man3/getrpcent_r.3
@@ -27,7 +27,7 @@ Standard C library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getrpcent_r (),
@@ -46,10 +46,10 @@ The
and
.BR getrpcbynumber_r ()
functions are the reentrant equivalents of, respectively,
-.BR getrpcent (3),
-.BR getrpcbyname (3),
+.MR getrpcent 3 ,
+.MR getrpcbyname 3 ,
and
-.BR getrpcbynumber (3).
+.MR getrpcbynumber 3 .
They differ in the way that the
.I rpcent
structure is returned,
@@ -112,7 +112,7 @@ Try again with a larger buffer
.IR buflen ).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -132,5 +132,5 @@ though typically with different calling signatures.
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR getrpcent (3),
-.BR rpc (5)
+.MR getrpcent 3 ,
+.MR rpc 5
diff --git a/man3/getrpcport.3 b/man3/getrpcport.3
index bdc6451b6..10b01fa05 100644
--- a/man3/getrpcport.3
+++ b/man3/getrpcport.3
@@ -41,7 +41,7 @@ indicating that the program is indeed registered.
The version mismatch will be detected upon the first call to the service.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
diff --git a/man3/gets.3 b/man3/gets.3
index 8ffffaaa6..03242595b 100644
--- a/man3/gets.3
+++ b/man3/gets.3
@@ -41,7 +41,7 @@ However, given the lack of buffer overrun checking, there can be no
guarantees that the function will even return.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -88,20 +88,20 @@ For more information, see CWE-242 (aka "Use of Inherently Dangerous
Function") at
http://cwe.mitre.org/data/definitions/242.html
.SH SEE ALSO
-.BR read (2),
-.BR write (2),
-.BR ferror (3),
-.BR fgetc (3),
-.BR fgets (3),
-.BR fgetwc (3),
-.BR fgetws (3),
-.BR fopen (3),
-.BR fread (3),
-.BR fseek (3),
-.BR getline (3),
-.BR getwchar (3),
-.BR puts (3),
-.BR scanf (3),
-.BR ungetwc (3),
-.BR unlocked_stdio (3),
-.BR feature_test_macros (7)
+.MR read 2 ,
+.MR write 2 ,
+.MR ferror 3 ,
+.MR fgetc 3 ,
+.MR fgets 3 ,
+.MR fgetwc 3 ,
+.MR fgetws 3 ,
+.MR fopen 3 ,
+.MR fread 3 ,
+.MR fseek 3 ,
+.MR getline 3 ,
+.MR getwchar 3 ,
+.MR puts 3 ,
+.MR scanf 3 ,
+.MR ungetwc 3 ,
+.MR unlocked_stdio 3 ,
+.MR feature_test_macros 7
diff --git a/man3/getservent.3 b/man3/getservent.3
index 97f01dfbb..bf8540ffc 100644
--- a/man3/getservent.3
+++ b/man3/getservent.3
@@ -35,7 +35,7 @@ Standard C library
The
.BR getservent ()
function reads the next entry from the services database (see
-.BR services (5))
+.MR services 5 )
and returns a
.I servent
structure containing
@@ -138,7 +138,7 @@ error occurs or the end of the file is reached.
services database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -203,7 +203,7 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
-.BR getnetent (3),
-.BR getprotoent (3),
-.BR getservent_r (3),
-.BR services (5)
+.MR getnetent 3 ,
+.MR getprotoent 3 ,
+.MR getservent_r 3 ,
+.MR services 5
diff --git a/man3/getservent_r.3 b/man3/getservent_r.3
index 50952d87d..8a27657f9 100644
--- a/man3/getservent_r.3
+++ b/man3/getservent_r.3
@@ -32,7 +32,7 @@ Standard C library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getservent_r (),
@@ -51,10 +51,10 @@ The
and
.BR getservbyport_r ()
functions are the reentrant equivalents of, respectively,
-.BR getservent (3),
-.BR getservbyname (3),
+.MR getservent 3 ,
+.MR getservbyname 3 ,
and
-.BR getservbyport (3).
+.MR getservbyport 3 .
They differ in the way that the
.I servent
structure is returned,
@@ -117,7 +117,7 @@ Try again with a larger buffer
.IR buflen ).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -245,5 +245,5 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR getservent (3),
-.BR services (5)
+.MR getservent 3 ,
+.MR services 5
diff --git a/man3/getspnam.3 b/man3/getspnam.3
index c97f2fa2d..18e10783f 100644
--- a/man3/getspnam.3
+++ b/man3/getspnam.3
@@ -51,7 +51,7 @@ struct spwd **" spbufp );
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getspent_r (),
@@ -80,9 +80,9 @@ readable only by root.
The functions described below resemble those for
the traditional password database
(e.g., see
-.BR getpwnam (3)
+.MR getpwnam 3
and
-.BR getpwent (3)).
+.MR getpwent 3 ).
.\" FIXME . I've commented out the following for the
.\" moment. The relationship between PAM and nsswitch.conf needs
.\" to be clearly documented in one place, which is pointed to by
@@ -243,7 +243,7 @@ defines the constant
to the pathname of the shadow password file.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -338,7 +338,7 @@ Many other systems provide a similar API.
.SH STANDARDS
None.
.SH SEE ALSO
-.BR getgrnam (3),
-.BR getpwnam (3),
-.BR getpwnam_r (3),
-.BR shadow (5)
+.MR getgrnam 3 ,
+.MR getpwnam 3 ,
+.MR getpwnam_r 3 ,
+.MR shadow 5
diff --git a/man3/getsubopt.3 b/man3/getsubopt.3
index e5da55405..52e9866e2 100644
--- a/man3/getsubopt.3
+++ b/man3/getsubopt.3
@@ -39,7 +39,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getsubopt ():
@@ -53,10 +53,10 @@ Feature Test Macro Requirements for glibc (see
parses the list of comma-separated suboptions provided in
.IR optionp .
(Such a suboption list is typically produced when
-.BR getopt (3)
+.MR getopt 3
is used to parse a command line;
see for example the \fI\-o\fP option of
-.BR mount (8).)
+.MR mount 8 .)
Each suboption may include an associated value,
which is separated from the suboption name by an equal sign.
The following is an example of the kind of string
@@ -131,7 +131,7 @@ is not (necessarily) the same as the first suboption after
.BR getsubopt ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -248,4 +248,4 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR getopt (3)
+.MR getopt 3
diff --git a/man3/getttyent.3 b/man3/getttyent.3
index 7c694e5fe..7c67cf018 100644
--- a/man3/getttyent.3
+++ b/man3/getttyent.3
@@ -74,7 +74,7 @@ can be:
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -96,5 +96,5 @@ Under Linux, the file
.IR /etc/ttys ,
and the functions described above, are not used.
.SH SEE ALSO
-.BR ttyname (3),
-.BR ttyslot (3)
+.MR ttyname 3 ,
+.MR ttyslot 3
diff --git a/man3/getusershell.3 b/man3/getusershell.3
index 77c7c0409..9f216bec9 100644
--- a/man3/getusershell.3
+++ b/man3/getusershell.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getusershell (),
@@ -76,7 +76,7 @@ function returns NULL on end-of-file.
.I /etc/shells
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -95,4 +95,4 @@ None.
.SH HISTORY
4.3BSD.
.SH SEE ALSO
-.BR shells (5)
+.MR shells 5
diff --git a/man3/getutent.3 b/man3/getutent.3
index 656a52cd2..d7cb75256 100644
--- a/man3/getutent.3
+++ b/man3/getutent.3
@@ -60,7 +60,7 @@ reads a line from the current file position in the utmp file.
It returns a pointer to a structure containing the fields of
the line.
The definition of this structure is shown in
-.BR utmp (5).
+.MR utmp 5 .
.P
.BR getutid ()
searches forward from the current file position in the utmp
@@ -134,7 +134,7 @@ Record not found.
and the
.BR getut* ()
functions can also fail for the reasons described in
-.BR open (2).
+.MR open 2 .
.SH FILES
.TP
.I /var/run/utmp
@@ -144,7 +144,7 @@ database of currently logged-in users
database of past user logins
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -276,7 +276,7 @@ glibc adds reentrant versions
.fi
.P
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.P
.BR getutent_r (),
.BR getutid_r (),
@@ -302,9 +302,9 @@ The following example adds and removes a utmp record, assuming it is run
from within a pseudo terminal.
For usage in a real application, you
should check the return values of
-.BR getpwuid (3)
+.MR getpwuid 3
and
-.BR ttyname (3).
+.MR ttyname 3 .
.P
.\" SRC BEGIN (getutent.c)
.EX
@@ -351,5 +351,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR getutmp (3),
-.BR utmp (5)
+.MR getutmp 3 ,
+.MR utmp 5
diff --git a/man3/getutmp.3 b/man3/getutmp.3
index d3e774a81..c4d417c26 100644
--- a/man3/getutmp.3
+++ b/man3/getutmp.3
@@ -36,7 +36,7 @@ function performs the converse operation.
These functions do not return a value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -66,6 +66,6 @@ or the size of corresponding fields differs.
On Linux, the two structures contain the same fields,
and the fields have the same sizes.
.SH SEE ALSO
-.BR utmpdump (1),
-.BR getutent (3),
-.BR utmp (5)
+.MR utmpdump 1 ,
+.MR getutent 3 ,
+.MR utmp 5
diff --git a/man3/getw.3 b/man3/getw.3
index e41b7d8a4..d83b40349 100644
--- a/man3/getw.3
+++ b/man3/getw.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR getw (),
@@ -37,14 +37,14 @@ Feature Test Macro Requirements for glibc (see
reads a word (that is, an \fIint\fP) from \fIstream\fP.
It's provided for compatibility with SVr4.
We recommend you use
-.BR fread (3)
+.MR fread 3
instead.
.P
.BR putw ()
writes the word \fIw\fP (that is,
an \fIint\fP) to \fIstream\fP.
It is provided for compatibility with SVr4, but we recommend you use
-.BR fwrite (3)
+.MR fwrite 3
instead.
.SH RETURN VALUE
Normally,
@@ -55,7 +55,7 @@ returns 0.
On error, they return \fBEOF\fP.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -74,11 +74,11 @@ None.
SVr4, SUSv2.
.SH BUGS
The value returned on error is also a legitimate data value.
-.BR ferror (3)
+.MR ferror 3
can be used to distinguish between the two cases.
.SH SEE ALSO
-.BR ferror (3),
-.BR fread (3),
-.BR fwrite (3),
-.BR getc (3),
-.BR putc (3)
+.MR ferror 3 ,
+.MR fread 3 ,
+.MR fwrite 3 ,
+.MR getc 3 ,
+.MR putc 3
diff --git a/man3/getwchar.3 b/man3/getwchar.3
index 4dd9c16f7..6d87ce43d 100644
--- a/man3/getwchar.3
+++ b/man3/getwchar.3
@@ -26,7 +26,7 @@ Standard C library
The
.BR getwchar ()
function is the wide-character equivalent of the
-.BR getchar (3)
+.MR getchar 3
function.
It reads a wide character from
.I stdin
@@ -44,7 +44,7 @@ and returns
.BR WEOF .
.P
For a nonlocking counterpart, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
The
.BR getwchar ()
@@ -53,7 +53,7 @@ standard input, or
.BR WEOF .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -83,5 +83,5 @@ will actually
read a multibyte sequence from standard input and then
convert it to a wide character.
.SH SEE ALSO
-.BR fgetwc (3),
-.BR unlocked_stdio (3)
+.MR fgetwc 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/glob.3 b/man3/glob.3
index 130a6ce60..0253d15a3 100644
--- a/man3/glob.3
+++ b/man3/glob.3
@@ -33,10 +33,10 @@ The
function searches for all the pathnames matching
.I pattern
according to the rules used by the shell (see
-.BR glob (7)).
+.MR glob 7 ).
No tilde expansion or parameter substitution is done; if you want
these, use
-.BR wordexp (3).
+.MR wordexp 3 .
.P
The
.BR globfree ()
@@ -139,7 +139,7 @@ functions.
.TP
.B GLOB_BRACE
Expand
-.BR csh (1)
+.MR csh 1
style brace expressions of the form
.BR {a,b} .
Brace expressions can be nested.
@@ -204,10 +204,10 @@ a pointer to the path which failed, and
the value of
.I errno
as returned from one of the calls to
-.BR opendir (3),
-.BR readdir (3),
+.MR opendir 3 ,
+.MR readdir 3 ,
or
-.BR stat (2).
+.MR stat 2 .
If
.I errfunc
returns nonzero, or if
@@ -256,7 +256,7 @@ for a read error, and
for no found matches.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -284,10 +284,10 @@ In the above table,
in
.I race:utent
signifies that if any of the functions
-.BR setutent (3),
-.BR getutent (3),
+.MR setutent 3 ,
+.MR getutent 3 ,
or
-.BR endutent (3)
+.MR endutent 3
are used in parallel in different threads of a program,
then data races could occur.
.BR glob ()
@@ -312,9 +312,9 @@ in glibc 2.0.
The
.BR glob ()
function may fail due to failure of underlying function calls, such as
-.BR malloc (3)
+.MR malloc 3
or
-.BR opendir (3).
+.MR opendir 3 .
These will store their error code in
.IR errno .
.SH EXAMPLES
@@ -341,13 +341,13 @@ execvp("ls", &globbuf.gl_pathv[0]);
.EE
.in
.SH SEE ALSO
-.BR ls (1),
-.BR sh (1),
-.BR stat (2),
-.BR exec (3),
-.BR fnmatch (3),
-.BR malloc (3),
-.BR opendir (3),
-.BR readdir (3),
-.BR wordexp (3),
-.BR glob (7)
+.MR ls 1 ,
+.MR sh 1 ,
+.MR stat 2 ,
+.MR exec 3 ,
+.MR fnmatch 3 ,
+.MR malloc 3 ,
+.MR opendir 3 ,
+.MR readdir 3 ,
+.MR wordexp 3 ,
+.MR glob 7
diff --git a/man3/gnu_get_libc_version.3 b/man3/gnu_get_libc_version.3
index d08ecc4b9..6524dd142 100644
--- a/man3/gnu_get_libc_version.3
+++ b/man3/gnu_get_libc_version.3
@@ -30,7 +30,7 @@ This will be a string such as
.IR "stable" .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,4 +76,4 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR confstr (3)
+.MR confstr 3
diff --git a/man3/grantpt.3 b/man3/grantpt.3
index 94526691b..6a0c3e046 100644
--- a/man3/grantpt.3
+++ b/man3/grantpt.3
@@ -18,7 +18,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR grantpt ():
@@ -68,7 +68,7 @@ The
argument is valid but not associated with a master pseudoterminal.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -87,7 +87,7 @@ glibc 2.1.
POSIX.1-2001.
.P
This is part of the UNIX 98 pseudoterminal support, see
-.BR pts (4).
+.MR pts 4 .
.P
Historical systems implemented this function via a set-user-ID helper binary
called "pt_chown".
@@ -97,11 +97,11 @@ this support has been removed.
On modern systems this is either a no-op
\[em]with permissions configured on pty allocation, as is the case on Linux\[em]
or an
-.BR ioctl (2).
+.MR ioctl 2 .
.SH SEE ALSO
-.BR open (2),
-.BR posix_openpt (3),
-.BR ptsname (3),
-.BR unlockpt (3),
-.BR pts (4),
-.BR pty (7)
+.MR open 2 ,
+.MR posix_openpt 3 ,
+.MR ptsname 3 ,
+.MR unlockpt 3 ,
+.MR pts 4 ,
+.MR pty 7
diff --git a/man3/group_member.3 b/man3/group_member.3
index 7985b89be..908235782 100644
--- a/man3/group_member.3
+++ b/man3/group_member.3
@@ -17,7 +17,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR group_member ():
@@ -29,7 +29,7 @@ The
.BR group_member ()
function tests whether any of the caller's supplementary group IDs
(as returned by
-.BR getgroups (2))
+.MR getgroups 2 )
matches
.IR gid .
.SH RETURN VALUE
@@ -42,7 +42,7 @@ and zero otherwise.
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR getgid (2),
-.BR getgroups (2),
-.BR getgrouplist (3),
-.BR group (5)
+.MR getgid 2 ,
+.MR getgroups 2 ,
+.MR getgrouplist 3 ,
+.MR group 5
diff --git a/man3/gsignal.3 b/man3/gsignal.3
index 538837a63..7394567cc 100644
--- a/man3/gsignal.3
+++ b/man3/gsignal.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR gsignal (),
@@ -39,16 +39,16 @@ Feature Test Macro Requirements for glibc (see
Don't use these functions under Linux.
Due to a historical mistake, under Linux these functions are
aliases for
-.BR raise (3)
+.MR raise 3
and
-.BR signal (2),
+.MR signal 2 ,
respectively.
.P
Elsewhere, on System V-like systems, these functions implement
software signaling, entirely independent of the classical
-.BR signal (2)
+.MR signal 2
and
-.BR kill (2)
+.MR kill 2
functions.
The function
.BR ssignal ()
@@ -83,7 +83,7 @@ The range of possible values
varies (often 1\[en]15 or 1\[en]17).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -113,6 +113,6 @@ Some systems also have
and
.BR ssignal_r ().
.SH SEE ALSO
-.BR kill (2),
-.BR signal (2),
-.BR raise (3)
+.MR kill 2 ,
+.MR signal 2 ,
+.MR raise 3
diff --git a/man3/hash.3 b/man3/hash.3
index b40623a47..874aad3b1 100644
--- a/man3/hash.3
+++ b/man3/hash.3
@@ -28,17 +28,17 @@ Probably, you are looking for the APIs provided by the
library instead.
.P
The routine
-.BR dbopen (3)
+.MR dbopen 3
is the library interface to database files.
One of the supported file formats is hash files.
The general description of the database access methods is in
-.BR dbopen (3),
+.MR dbopen 3 ,
this manual page describes only the hash-specific information.
.P
The hash data structure is an extensible, dynamic hashing scheme.
.P
The access-method-specific data structure provided to
-.BR dbopen (3)
+.MR dbopen 3
is defined in the
.I <db.h>
include file as follows:
@@ -118,9 +118,9 @@ attempts to determine if the hash function specified is the same as
the one with which the database was created, and fails if it is not.
.P
Backward-compatible interfaces to the routines described in
-.BR dbm (3),
+.MR dbm 3 ,
and
-.BR ndbm (3)
+.MR ndbm 3
are provided, however these interfaces are not compatible with
previous file formats.
.SH ERRORS
@@ -129,14 +129,14 @@ The
access method routines may fail and set
.I errno
for any of the errors specified for the library routine
-.BR dbopen (3).
+.MR dbopen 3 .
.SH BUGS
Only big and little endian byte order are supported.
.SH SEE ALSO
-.BR btree (3),
-.BR dbopen (3),
-.BR mpool (3),
-.BR recno (3)
+.MR btree 3 ,
+.MR dbopen 3 ,
+.MR mpool 3 ,
+.MR recno 3
.P
.IR "Dynamic Hash Tables" ,
Per-Ake Larson, Communications of the ACM, April 1988.
diff --git a/man3/hsearch.3 b/man3/hsearch.3
index 1234228c0..941056e97 100644
--- a/man3/hsearch.3
+++ b/man3/hsearch.3
@@ -102,7 +102,7 @@ The
.BR hsearch ()
function searches the hash table for an
item with the same key as \fIitem\fP (where "the same" is determined using
-.BR strcmp (3)),
+.MR strcmp 3 ),
and if successful returns a pointer to it.
.P
The argument \fIitem\fP is of type \fIENTRY\fP, which is defined in
@@ -212,7 +212,7 @@ POSIX.1 specifies only the
error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -349,7 +349,7 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR bsearch (3),
-.BR lsearch (3),
-.BR malloc (3),
-.BR tsearch (3)
+.MR bsearch 3 ,
+.MR lsearch 3 ,
+.MR malloc 3 ,
+.MR tsearch 3
diff --git a/man3/hypot.3 b/man3/hypot.3
index 3c82980c1..764ea6e18 100644
--- a/man3/hypot.3
+++ b/man3/hypot.3
@@ -28,7 +28,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR hypot ():
@@ -101,7 +101,7 @@ a range error occurs,
and the correct result is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -127,7 +127,7 @@ for this case.
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6795
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -151,5 +151,5 @@ The variant returning
also conforms to
SVr4, 4.3BSD.
.SH SEE ALSO
-.BR cabs (3),
-.BR sqrt (3)
+.MR cabs 3 ,
+.MR sqrt 3
diff --git a/man3/iconv.3 b/man3/iconv.3
index 12bb9b50b..ec03e57b9 100644
--- a/man3/iconv.3
+++ b/man3/iconv.3
@@ -34,7 +34,7 @@ The
.I cd
argument is a conversion descriptor,
previously created by a call to
-.BR iconv_open (3);
+.MR iconv_open 3 ;
the conversion descriptor defines the character encodings that
.BR iconv ()
uses for the conversion.
@@ -179,7 +179,7 @@ An invalid multibyte sequence has been encountered in the input.
An incomplete multibyte sequence has been encountered in the input.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -228,6 +228,6 @@ for accessing characters in the appropriate character set.
This includes ensuring correct alignment on platforms that have
tight restrictions on alignment.
.SH SEE ALSO
-.BR iconv_close (3),
-.BR iconv_open (3),
-.BR iconvconfig (8)
+.MR iconv_close 3 ,
+.MR iconv_open 3 ,
+.MR iconvconfig 8
diff --git a/man3/iconv_close.3 b/man3/iconv_close.3
index e3dc87e8a..75503d4fc 100644
--- a/man3/iconv_close.3
+++ b/man3/iconv_close.3
@@ -25,7 +25,7 @@ The
function deallocates a conversion descriptor
.I cd
previously allocated using
-.BR iconv_open (3).
+.MR iconv_open 3 .
.SH RETURN VALUE
On success,
.BR iconv_close ()
@@ -34,7 +34,7 @@ returns 0; otherwise, it returns \-1 and sets
to indicate the error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -52,5 +52,5 @@ POSIX.1-2008.
glibc 2.1.
POSIX.1-2001.
.SH SEE ALSO
-.BR iconv (3),
-.BR iconv_open (3)
+.MR iconv 3 ,
+.MR iconv_open 3
diff --git a/man3/iconv_open.3 b/man3/iconv_open.3
index f58629aee..478603ef9 100644
--- a/man3/iconv_open.3
+++ b/man3/iconv_open.3
@@ -63,20 +63,20 @@ characters that
cannot be represented in the target character set will be silently discarded.
.P
The resulting conversion descriptor can be used with
-.BR iconv (3)
+.MR iconv 3
any number of times.
It remains valid until deallocated using
-.BR iconv_close (3).
+.MR iconv_close 3 .
.P
A conversion descriptor contains a conversion state.
After creation using
.BR iconv_open (),
the state is in the initial state.
Using
-.BR iconv (3)
+.MR iconv 3
modifies the descriptor's conversion state.
To bring the state back to the initial state, use
-.BR iconv (3)
+.MR iconv 3
with NULL as
.I inbuf
argument.
@@ -102,7 +102,7 @@ is not supported by the
implementation.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -120,6 +120,6 @@ POSIX.1-2008.
glibc 2.1.
POSIX.1-2001, SUSv2.
.SH SEE ALSO
-.BR iconv (1),
-.BR iconv (3),
-.BR iconv_close (3)
+.MR iconv 1 ,
+.MR iconv 3 ,
+.MR iconv_close 3
diff --git a/man3/if_nameindex.3 b/man3/if_nameindex.3
index 32afb1763..8bafe9549 100644
--- a/man3/if_nameindex.3
+++ b/man3/if_nameindex.3
@@ -70,17 +70,17 @@ Insufficient resources available.
.P
.BR if_nameindex ()
may also fail for any of the errors specified for
-.BR socket (2),
-.BR bind (2),
-.BR ioctl (2),
-.BR getsockname (2),
-.BR recvmsg (2),
-.BR sendto (2),
+.MR socket 2 ,
+.MR bind 2 ,
+.MR ioctl 2 ,
+.MR getsockname 2 ,
+.MR recvmsg 2 ,
+.MR sendto 2 ,
or
-.BR malloc (3).
+.MR malloc 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -146,9 +146,9 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR getsockopt (2),
-.BR setsockopt (2),
-.BR getifaddrs (3),
-.BR if_indextoname (3),
-.BR if_nametoindex (3),
-.BR ifconfig (8)
+.MR getsockopt 2 ,
+.MR setsockopt 2 ,
+.MR getifaddrs 3 ,
+.MR if_indextoname 3 ,
+.MR if_nametoindex 3 ,
+.MR ifconfig 8
diff --git a/man3/if_nametoindex.3 b/man3/if_nametoindex.3
index 5ca0514ed..571b425ab 100644
--- a/man3/if_nametoindex.3
+++ b/man3/if_nametoindex.3
@@ -70,12 +70,12 @@ No interface found for the index.
and
.BR if_indextoname ()
may also fail for any of the errors specified for
-.BR socket (2)
+.MR socket 2
or
-.BR ioctl (2).
+.MR ioctl 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -94,6 +94,6 @@ POSIX.1-2008, RFC\ 3493.
POSIX.1-2001.
BSDi.
.SH SEE ALSO
-.BR getifaddrs (3),
-.BR if_nameindex (3),
-.BR ifconfig (8)
+.MR getifaddrs 3 ,
+.MR if_nameindex 3 ,
+.MR ifconfig 8
diff --git a/man3/ilogb.3 b/man3/ilogb.3
index 5130e40e0..68b5cc060 100644
--- a/man3/ilogb.3
+++ b/man3/ilogb.3
@@ -24,7 +24,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ilogb ():
@@ -48,7 +48,7 @@ These functions return the exponent part of their argument
as a signed integer.
When no error occurs, these functions
are equivalent to the corresponding
-.BR logb (3)
+.MR logb 3
functions, cast to
.IR int .
.SH RETURN VALUE
@@ -85,7 +85,7 @@ a domain error occurs, and the functions return
.\" shall be returned and a domain error shall occur.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -110,7 +110,7 @@ is set to
(but see BUGS).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -145,6 +145,6 @@ is an infinity did not cause
.I errno
to be set or raise a floating-point exception.
.SH SEE ALSO
-.BR log (3),
-.BR logb (3),
-.BR significand (3)
+.MR log 3 ,
+.MR logb 3 ,
+.MR significand 3
diff --git a/man3/index.3 b/man3/index.3
index a47ce0dae..e8fc51cb7 100644
--- a/man3/index.3
+++ b/man3/index.3
@@ -18,16 +18,16 @@ Standard C library
.SH DESCRIPTION
.BR index ()
is identical to
-.BR strchr (3).
+.MR strchr 3 .
.P
.BR rindex ()
is identical to
-.BR strrchr (3).
+.MR strrchr 3 .
.P
Use
-.BR strchr (3)
+.MR strchr 3
and
-.BR strrchr (3)
+.MR strrchr 3
instead of these functions.
.SH STANDARDS
None.
@@ -35,10 +35,10 @@ None.
4.3BSD; marked as LEGACY in POSIX.1-2001.
Removed in POSIX.1-2008,
recommending
-.BR strchr (3)
+.MR strchr 3
and
-.BR strrchr (3)
+.MR strrchr 3
instead.
.SH SEE ALSO
-.BR strchr (3),
-.BR strrchr (3)
+.MR strchr 3 ,
+.MR strrchr 3
diff --git a/man3/inet.3 b/man3/inet.3
index 9e292f08a..6e4ffcc70 100644
--- a/man3/inet.3
+++ b/man3/inet.3
@@ -49,7 +49,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR inet_aton (),
@@ -138,9 +138,9 @@ Use of this function is problematic because \-1 is a valid address
(255.255.255.255).
Avoid its use in favor of
.BR inet_aton (),
-.BR inet_pton (3),
+.MR inet_pton 3 ,
or
-.BR getaddrinfo (3),
+.MR getaddrinfo 3 ,
which provide a cleaner way to indicate error return.
.P
The
@@ -205,7 +205,7 @@ struct in_addr {
.in
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -324,13 +324,13 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR byteorder (3),
-.BR getaddrinfo (3),
-.BR gethostbyname (3),
-.BR getnameinfo (3),
-.BR getnetent (3),
-.BR inet_net_pton (3),
-.BR inet_ntop (3),
-.BR inet_pton (3),
-.BR hosts (5),
-.BR networks (5)
+.MR byteorder 3 ,
+.MR getaddrinfo 3 ,
+.MR gethostbyname 3 ,
+.MR getnameinfo 3 ,
+.MR getnetent 3 ,
+.MR inet_net_pton 3 ,
+.MR inet_ntop 3 ,
+.MR inet_pton 3 ,
+.MR hosts 5 ,
+.MR networks 5
diff --git a/man3/inet_net_pton.3 b/man3/inet_net_pton.3
index c66ee8257..257e6f3d1 100644
--- a/man3/inet_net_pton.3
+++ b/man3/inet_net_pton.3
@@ -22,7 +22,7 @@ Resolver library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR inet_net_pton (),
@@ -365,5 +365,5 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR inet (3),
-.BR networks (5)
+.MR inet 3 ,
+.MR networks 5
diff --git a/man3/inet_ntop.3 b/man3/inet_ntop.3
index 8926460d4..53e0627e7 100644
--- a/man3/inet_ntop.3
+++ b/man3/inet_ntop.3
@@ -32,9 +32,9 @@ the argument
.P
.BR inet_ntop ()
extends the
-.BR inet_ntoa (3)
+.MR inet_ntoa 3
function to support multiple address families,
-.BR inet_ntoa (3)
+.MR inet_ntoa 3
is now considered to be deprecated in favor of
.BR inet_ntop ().
The following address families are currently supported:
@@ -83,7 +83,7 @@ The converted address string would exceed the size given by
.IR size .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -115,8 +115,8 @@ but 2.2 and later have
converts IPv4-mapped IPv6 addresses into an IPv6 format.
.SH EXAMPLES
See
-.BR inet_pton (3).
+.MR inet_pton 3 .
.SH SEE ALSO
-.BR getnameinfo (3),
-.BR inet (3),
-.BR inet_pton (3)
+.MR getnameinfo 3 ,
+.MR inet 3 ,
+.MR inet_pton 3
diff --git a/man3/inet_pton.3 b/man3/inet_pton.3
index b92046e40..1f3da44c5 100644
--- a/man3/inet_pton.3
+++ b/man3/inet_pton.3
@@ -115,7 +115,7 @@ is set to
.BR EAFNOSUPPORT .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -129,23 +129,23 @@ T} Thread safety MT-Safe locale
.TE
.SH VERSIONS
Unlike
-.BR inet_aton (3)
+.MR inet_aton 3
and
-.BR inet_addr (3),
+.MR inet_addr 3 ,
.BR inet_pton ()
supports IPv6 addresses.
On the other hand,
.BR inet_pton ()
accepts only IPv4 addresses in dotted-decimal notation, whereas
-.BR inet_aton (3)
+.MR inet_aton 3
and
-.BR inet_addr (3)
+.MR inet_addr 3
allow the more general numbers-and-dots notation (hexadecimal
and octal number formats, and formats that don't require all
four bytes to be explicitly written).
For an interface that handles both IPv6 addresses, and IPv4
addresses in numbers-and-dots notation, see
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -160,7 +160,7 @@ instead.
The program below demonstrates the use of
.BR inet_pton ()
and
-.BR inet_ntop (3).
+.MR inet_ntop 3 .
Here are some example runs:
.P
.in +4n
@@ -218,6 +218,6 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR getaddrinfo (3),
-.BR inet (3),
-.BR inet_ntop (3)
+.MR getaddrinfo 3 ,
+.MR inet 3 ,
+.MR inet_ntop 3
diff --git a/man3/initgroups.3 b/man3/initgroups.3
index 46e1b8501..918ed941b 100644
--- a/man3/initgroups.3
+++ b/man3/initgroups.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR initgroups ():
@@ -69,14 +69,14 @@ Insufficient memory to allocate group information structure.
.B EPERM
The calling process has insufficient privilege.
See the underlying system call
-.BR setgroups (2).
+.MR setgroups 2 .
.SH FILES
.TP
.I /etc/group
group database file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -93,6 +93,6 @@ None.
.SH HISTORY
SVr4, 4.3BSD.
.SH SEE ALSO
-.BR getgroups (2),
-.BR setgroups (2),
-.BR credentials (7)
+.MR getgroups 2 ,
+.MR setgroups 2 ,
+.MR credentials 7
diff --git a/man3/insque.3 b/man3/insque.3
index fedbbc214..1e4b703af 100644
--- a/man3/insque.3
+++ b/man3/insque.3
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR insque (),
@@ -81,7 +81,7 @@ function removes the element pointed to by \fIelem\fP from the
doubly linked list.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -245,4 +245,4 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR queue (7)
+.MR queue 7
diff --git a/man3/intro.3 b/man3/intro.3
index 1f75df9a1..f62b5edab 100644
--- a/man3/intro.3
+++ b/man3/intro.3
@@ -45,7 +45,7 @@ In such cases,
the required macro is described in the man page.
For further information on feature test macros,
see
-.BR feature_test_macros (7).
+.MR feature_test_macros 7 .
.\"
.\" There
.\" are various function groups which can be identified by a letter which
@@ -113,23 +113,23 @@ and thereby the usability of the software.
Certain terms and abbreviations are used to indicate UNIX variants
and standards to which calls in this section conform.
See
-.BR standards (7).
+.MR standards 7 .
.SH NOTES
.SS Authors and copyright conditions
Look at the header of the manual page source
for the author(s) and copyright conditions.
Note that these can be different from page to page!
.SH SEE ALSO
-.BR intro (2),
-.BR errno (3),
-.BR capabilities (7),
-.BR credentials (7),
-.BR environ (7),
-.BR feature_test_macros (7),
-.BR libc (7),
-.BR math_error (7),
-.BR path_resolution (7),
-.BR pthreads (7),
-.BR signal (7),
-.BR standards (7),
-.BR system_data_types (7)
+.MR intro 2 ,
+.MR errno 3 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR environ 7 ,
+.MR feature_test_macros 7 ,
+.MR libc 7 ,
+.MR math_error 7 ,
+.MR path_resolution 7 ,
+.MR pthreads 7 ,
+.MR signal 7 ,
+.MR standards 7 ,
+.MR system_data_types 7
diff --git a/man3/isalpha.3 b/man3/isalpha.3
index d1fbd17b6..b27f059c2 100644
--- a/man3/isalpha.3
+++ b/man3/isalpha.3
@@ -56,7 +56,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.ad l
.P
@@ -118,7 +118,7 @@ The behavior of these functions is undefined if
is the special locale object
.B LC_GLOBAL_LOCALE
(see
-.BR duplocale (3))
+.MR duplocale 3 )
or is not a valid locale object handle.
.P
The list below explains the operation of the functions without
@@ -197,7 +197,7 @@ The values returned are nonzero if the character
falls into the tested class, and zero if not.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -383,23 +383,23 @@ will not recognize an A-umlaut (\(:A) as an uppercase letter in the default
.B "C"
locale.
.SH SEE ALSO
-.BR iswalnum (3),
-.BR iswalpha (3),
-.BR iswblank (3),
-.BR iswcntrl (3),
-.BR iswdigit (3),
-.BR iswgraph (3),
-.BR iswlower (3),
-.BR iswprint (3),
-.BR iswpunct (3),
-.BR iswspace (3),
-.BR iswupper (3),
-.BR iswxdigit (3),
-.BR newlocale (3),
-.BR setlocale (3),
-.BR toascii (3),
-.BR tolower (3),
-.BR toupper (3),
-.BR uselocale (3),
-.BR ascii (7),
-.BR locale (7)
+.MR iswalnum 3 ,
+.MR iswalpha 3 ,
+.MR iswblank 3 ,
+.MR iswcntrl 3 ,
+.MR iswdigit 3 ,
+.MR iswgraph 3 ,
+.MR iswlower 3 ,
+.MR iswprint 3 ,
+.MR iswpunct 3 ,
+.MR iswspace 3 ,
+.MR iswupper 3 ,
+.MR iswxdigit 3 ,
+.MR newlocale 3 ,
+.MR setlocale 3 ,
+.MR toascii 3 ,
+.MR tolower 3 ,
+.MR toupper 3 ,
+.MR uselocale 3 ,
+.MR ascii 7 ,
+.MR locale 7
diff --git a/man3/isatty.3 b/man3/isatty.3
index 84342ff40..1d29044e6 100644
--- a/man3/isatty.3
+++ b/man3/isatty.3
@@ -47,7 +47,7 @@ in this case (which is a violation of POSIX, which specifies the error
.BR ENOTTY ).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -64,5 +64,5 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR fstat (2),
-.BR ttyname (3)
+.MR fstat 2 ,
+.MR ttyname 3
diff --git a/man3/isfdtype.3 b/man3/isfdtype.3
index 5ccfeb783..bdcb78812 100644
--- a/man3/isfdtype.3
+++ b/man3/isfdtype.3
@@ -18,7 +18,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR isfdtype ():
@@ -42,7 +42,7 @@ argument specifies one of the
constants defined in
.I <sys/stat.h>
and documented in
-.BR stat (2)
+.MR stat 2
(e.g.,
.BR S_IFREG ).
.SH RETURN VALUE
@@ -60,10 +60,10 @@ is set to indicate the error.
The
.BR isfdtype ()
function can fail with any of the same errors as
-.BR fstat (2).
+.MR fstat 2 .
.SH VERSIONS
Portable applications should use
-.BR fstat (2)
+.MR fstat 2
instead.
.SH STANDARDS
None.
@@ -74,4 +74,4 @@ It is present on OpenBSD and Tru64 UNIX
.IR <sys/stat.h> ,
as shown in the POSIX.1g draft).
.SH SEE ALSO
-.BR fstat (2)
+.MR fstat 2
diff --git a/man3/isgreater.3 b/man3/isgreater.3
index a2e52d18c..630d54744 100644
--- a/man3/isgreater.3
+++ b/man3/isgreater.3
@@ -27,7 +27,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.nf
@@ -113,7 +113,7 @@ is NaN and 0 otherwise.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -140,5 +140,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR fpclassify (3),
-.BR isnan (3)
+.MR fpclassify 3 ,
+.MR isnan 3
diff --git a/man3/iswalnum.3 b/man3/iswalnum.3
index e0f73c801..eed78f29f 100644
--- a/man3/iswalnum.3
+++ b/man3/iswalnum.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswalnum ()
function is the wide-character equivalent of the
-.BR isalnum (3)
+.MR isalnum 3
function.
It tests whether
.I wc
@@ -67,7 +67,7 @@ belonging to the wide-character class "alnum".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -91,5 +91,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR isalnum (3),
-.BR iswctype (3)
+.MR isalnum 3 ,
+.MR iswctype 3
diff --git a/man3/iswalpha.3 b/man3/iswalpha.3
index 0fa88e9bd..5d40fc14b 100644
--- a/man3/iswalpha.3
+++ b/man3/iswalpha.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswalpha ()
function is the wide-character equivalent of the
-.BR isalpha (3)
+.MR isalpha 3
function.
It tests whether
.I wc
@@ -68,7 +68,7 @@ belonging to the wide-character class "alpha".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -92,5 +92,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR isalpha (3),
-.BR iswctype (3)
+.MR isalpha 3 ,
+.MR iswctype 3
diff --git a/man3/iswblank.3 b/man3/iswblank.3
index 79c89ba59..3293a3222 100644
--- a/man3/iswblank.3
+++ b/man3/iswblank.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR iswblank ():
@@ -35,7 +35,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR iswblank ()
function is the wide-character equivalent of the
-.BR isblank (3)
+.MR isblank 3
function.
It tests whether \fIwc\fP is a wide character
belonging to the wide-character class "blank".
@@ -61,7 +61,7 @@ belonging to the wide-character class "blank".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -85,5 +85,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR isblank (3),
-.BR iswctype (3)
+.MR isblank 3 ,
+.MR iswctype 3
diff --git a/man3/iswcntrl.3 b/man3/iswcntrl.3
index 3478088ca..6cd783ef4 100644
--- a/man3/iswcntrl.3
+++ b/man3/iswcntrl.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswcntrl ()
function is the wide-character equivalent of the
-.BR iscntrl (3)
+.MR iscntrl 3
function.
It tests whether
.I wc
@@ -52,7 +52,7 @@ wide character belonging to the wide-character class "cntrl".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,5 +76,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR iscntrl (3),
-.BR iswctype (3)
+.MR iscntrl 3 ,
+.MR iswctype 3
diff --git a/man3/iswctype.3 b/man3/iswctype.3
index bf457d5f3..b4ea9d31e 100644
--- a/man3/iswctype.3
+++ b/man3/iswctype.3
@@ -42,7 +42,7 @@ zero is returned.
.I desc
must be a character property descriptor
returned by the
-.BR wctype (3)
+.MR wctype 3
function.
.SH RETURN VALUE
The
@@ -55,7 +55,7 @@ property.
Otherwise, it returns 0.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -79,16 +79,16 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR iswalnum (3),
-.BR iswalpha (3),
-.BR iswblank (3),
-.BR iswcntrl (3),
-.BR iswdigit (3),
-.BR iswgraph (3),
-.BR iswlower (3),
-.BR iswprint (3),
-.BR iswpunct (3),
-.BR iswspace (3),
-.BR iswupper (3),
-.BR iswxdigit (3),
-.BR wctype (3)
+.MR iswalnum 3 ,
+.MR iswalpha 3 ,
+.MR iswblank 3 ,
+.MR iswcntrl 3 ,
+.MR iswdigit 3 ,
+.MR iswgraph 3 ,
+.MR iswlower 3 ,
+.MR iswprint 3 ,
+.MR iswpunct 3 ,
+.MR iswspace 3 ,
+.MR iswupper 3 ,
+.MR iswxdigit 3 ,
+.MR wctype 3
diff --git a/man3/iswdigit.3 b/man3/iswdigit.3
index 60a088b87..51271ba53 100644
--- a/man3/iswdigit.3
+++ b/man3/iswdigit.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswdigit ()
function is the wide-character equivalent of the
-.BR isdigit (3)
+.MR isdigit 3
function.
It tests whether
.I wc
@@ -67,7 +67,7 @@ belonging to the wide-character class "digit".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -91,5 +91,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR isdigit (3),
-.BR iswctype (3)
+.MR isdigit 3 ,
+.MR iswctype 3
diff --git a/man3/iswgraph.3 b/man3/iswgraph.3
index 9cfb3a6dc..73c40f26f 100644
--- a/man3/iswgraph.3
+++ b/man3/iswgraph.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswgraph ()
function is the wide-character equivalent of the
-.BR isgraph (3)
+.MR isgraph 3
function.
It tests whether
.I wc
@@ -60,7 +60,7 @@ belonging to the wide-character class "graph".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,5 +84,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR isgraph (3),
-.BR iswctype (3)
+.MR isgraph 3 ,
+.MR iswctype 3
diff --git a/man3/iswlower.3 b/man3/iswlower.3
index d862b4a01..65b575f29 100644
--- a/man3/iswlower.3
+++ b/man3/iswlower.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswlower ()
function is the wide-character equivalent of the
-.BR islower (3)
+.MR islower 3
function.
It tests whether
.I wc
@@ -74,7 +74,7 @@ belonging to the wide-character class "lower".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -101,6 +101,6 @@ current locale.
This function is not very appropriate for dealing with Unicode characters,
because Unicode knows about three cases: upper, lower, and title case.
.SH SEE ALSO
-.BR islower (3),
-.BR iswctype (3),
-.BR towlower (3)
+.MR islower 3 ,
+.MR iswctype 3 ,
+.MR towlower 3
diff --git a/man3/iswprint.3 b/man3/iswprint.3
index 57055f6ee..bdd8af062 100644
--- a/man3/iswprint.3
+++ b/man3/iswprint.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswprint ()
function is the wide-character equivalent of the
-.BR isprint (3)
+.MR isprint 3
function.
It tests whether
.I wc
@@ -46,7 +46,7 @@ wide character belonging to the wide-character class "print".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -70,5 +70,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR isprint (3),
-.BR iswctype (3)
+.MR isprint 3 ,
+.MR iswctype 3
diff --git a/man3/iswpunct.3 b/man3/iswpunct.3
index 4f5a220a1..7e3f41137 100644
--- a/man3/iswpunct.3
+++ b/man3/iswpunct.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswpunct ()
function is the wide-character equivalent of the
-.BR ispunct (3)
+.MR ispunct 3
function.
It tests whether
.I wc
@@ -58,7 +58,7 @@ belonging to the wide-character class "punct".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -86,5 +86,5 @@ This function's name is a misnomer when dealing with Unicode characters,
because the wide-character class "punct" contains both punctuation characters
and symbol (math, currency, etc.) characters.
.SH SEE ALSO
-.BR ispunct (3),
-.BR iswctype (3)
+.MR ispunct 3 ,
+.MR iswctype 3
diff --git a/man3/iswspace.3 b/man3/iswspace.3
index c89517b15..f21aad696 100644
--- a/man3/iswspace.3
+++ b/man3/iswspace.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswspace ()
function is the wide-character equivalent of the
-.BR isspace (3)
+.MR isspace 3
function.
It tests whether
.I wc
@@ -55,7 +55,7 @@ belonging to the wide-character class "space".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -79,5 +79,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR isspace (3),
-.BR iswctype (3)
+.MR isspace 3 ,
+.MR iswctype 3
diff --git a/man3/iswupper.3 b/man3/iswupper.3
index 7a64ebae1..a2a354e5d 100644
--- a/man3/iswupper.3
+++ b/man3/iswupper.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswupper ()
function is the wide-character equivalent of the
-.BR isupper (3)
+.MR isupper 3
function.
It tests whether
.I wc
@@ -68,7 +68,7 @@ belonging to the wide-character class "upper".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -95,6 +95,6 @@ current locale.
This function is not very appropriate for dealing with Unicode characters,
because Unicode knows about three cases: upper, lower, and title case.
.SH SEE ALSO
-.BR isupper (3),
-.BR iswctype (3),
-.BR towupper (3)
+.MR isupper 3 ,
+.MR iswctype 3 ,
+.MR towupper 3
diff --git a/man3/iswxdigit.3 b/man3/iswxdigit.3
index 427fc3751..7f4a8c3ba 100644
--- a/man3/iswxdigit.3
+++ b/man3/iswxdigit.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR iswxdigit ()
function is the wide-character equivalent of the
-.BR isxdigit (3)
+.MR isxdigit 3
function.
It tests whether
.I wc
@@ -59,7 +59,7 @@ belonging to the wide-character class "xdigit".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -83,5 +83,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR iswctype (3),
-.BR isxdigit (3)
+.MR iswctype 3 ,
+.MR isxdigit 3
diff --git a/man3/j0.3 b/man3/j0.3
index d1af2938b..c1f9a2504 100644
--- a/man3/j0.3
+++ b/man3/j0.3
@@ -40,7 +40,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR j0 (),
@@ -113,7 +113,7 @@ a range error occurs,
and the return value is 0.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -125,13 +125,13 @@ is set to
.BR ERANGE .
.P
These functions do not raise exceptions for
-.BR fetestexcept (3).
+.MR fetestexcept 3 .
.\" e.g., j0(1.5e16)
.\" This is intentional.
.\" See https://www.sourceware.org/bugzilla/show_bug.cgi?id=6805
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -192,4 +192,4 @@ for values of
.I x
between \-8 and 8.
.SH SEE ALSO
-.BR y0 (3)
+.MR y0 3
diff --git a/man3/key_setsecret.3 b/man3/key_setsecret.3
index 18bbb107b..d0022a8c6 100644
--- a/man3/key_setsecret.3
+++ b/man3/key_setsecret.3
@@ -60,7 +60,7 @@ set for the effective UID of the calling process.
These functions return 1 on success and 0 on failure.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,4 +84,4 @@ The other is symmetric, the
.P
These routines were part of the Linux/Doors-project, abandoned by now.
.SH SEE ALSO
-.BR crypt (3)
+.MR crypt 3
diff --git a/man3/killpg.3 b/man3/killpg.3
index bec05d8be..a1e125611 100644
--- a/man3/killpg.3
+++ b/man3/killpg.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR killpg ():
@@ -43,7 +43,7 @@ sends the signal
to the process group
.IR pgrp .
See
-.BR signal (7)
+.MR signal 7
for a list of signals.
.P
If
@@ -56,7 +56,7 @@ sends the signal to the calling process's process group.
is less than or equal to 1, the behavior is undefined.)
.P
For the permissions required to send a signal to another process, see
-.BR kill (2).
+.MR kill 2 .
.SH RETURN VALUE
On success, zero is returned.
On error, \-1 is returned, and
@@ -72,7 +72,7 @@ is not a valid signal number.
The process does not have permission to send the signal
to any of the target processes.
For the required permissions, see
-.BR kill (2).
+.MR kill 2 .
.TP
.B ESRCH
No process can be found in the process group specified by
@@ -85,7 +85,7 @@ have a process group.
There are various differences between the permission checking
in BSD-type systems and System\ V-type systems.
See the POSIX rationale for
-.BR kill (3p).
+.MR kill 3p .
A difference not mentioned by POSIX concerns the return
value
.BR EPERM :
@@ -106,8 +106,8 @@ POSIX.1-2008.
POSIX.1-2001, SVr4, 4.4BSD
(first appeared in 4BSD).
.SH SEE ALSO
-.BR getpgrp (2),
-.BR kill (2),
-.BR signal (2),
-.BR capabilities (7),
-.BR credentials (7)
+.MR getpgrp 2 ,
+.MR kill 2 ,
+.MR signal 2 ,
+.MR capabilities 7 ,
+.MR credentials 7
diff --git a/man3/ldexp.3 b/man3/ldexp.3
index d361beb1f..77888606c 100644
--- a/man3/ldexp.3
+++ b/man3/ldexp.3
@@ -29,7 +29,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ldexpf (),
@@ -79,7 +79,7 @@ respectively, with a sign the same as
.IR x .
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -102,7 +102,7 @@ An underflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -126,6 +126,6 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR frexp (3),
-.BR modf (3),
-.BR scalbln (3)
+.MR frexp 3 ,
+.MR modf 3 ,
+.MR scalbln 3
diff --git a/man3/lgamma.3 b/man3/lgamma.3
index 87b8ec3ff..009d3f200 100644
--- a/man3/lgamma.3
+++ b/man3/lgamma.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.nf
@@ -64,7 +64,7 @@ Feature Test Macro Requirements for glibc (see
.fi
.SH DESCRIPTION
For the definition of the Gamma function, see
-.BR tgamma (3).
+.MR tgamma 3 .
.P
The
.BR lgamma (),
@@ -128,7 +128,7 @@ or
respectively, with the correct mathematical sign.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -199,4 +199,4 @@ instead of the POSIX-mandated
.BR ERANGE .
Since glibc 2.10, glibc does the right thing.
.SH SEE ALSO
-.BR tgamma (3)
+.MR tgamma 3
diff --git a/man3/lio_listio.3 b/man3/lio_listio.3
index bd9367d7c..9e634fd16 100644
--- a/man3/lio_listio.3
+++ b/man3/lio_listio.3
@@ -39,7 +39,7 @@ When all of the I/O operations complete, asynchronous notification occurs,
as specified by the
.I sevp
argument; see
-.BR sigevent (3type)
+.MR sigevent 3type
for details.
If
.I sevp
@@ -68,27 +68,27 @@ field specifies the I/O operation to be initiated, as follows:
.B LIO_READ
Initiate a read operation.
The operation is queued as for a call to
-.BR aio_read (3)
+.MR aio_read 3
specifying this control block.
.TP
.B LIO_WRITE
Initiate a write operation.
The operation is queued as for a call to
-.BR aio_write (3)
+.MR aio_write 3
specifying this control block.
.TP
.B LIO_NOP
Ignore this control block.
.P
The remaining fields in each control block have the same meanings as for
-.BR aio_read (3)
+.MR aio_read 3
and
-.BR aio_write (3).
+.MR aio_write 3 .
The
.I aio_sigevent
fields of each control block can be used to specify notifications
for the individual I/O operations (see
-.BR sigevent (7)).
+.MR sigevent 7 ).
.SH RETURN VALUE
If
.I mode
@@ -119,14 +119,14 @@ but this does not prevent other operations completing.
The status of individual I/O operations in
.I aiocb_list
can be determined using
-.BR aio_error (3).
+.MR aio_error 3 .
When an operation has completed,
its return status can be obtained using
-.BR aio_return (3).
+.MR aio_return 3 .
Individual I/O operations can fail for the reasons described in
-.BR aio_read (3)
+.MR aio_read 3
and
-.BR aio_write (3).
+.MR aio_write 3 .
.SH ERRORS
The
.BR lio_listio ()
@@ -149,7 +149,7 @@ was
.B LIO_WAIT
and a signal
was caught before all I/O operations completed; see
-.BR signal (7).
+.MR signal 7 .
(This may even be one of the signals used for
asynchronous I/O completion notification.)
.TP
@@ -167,7 +167,7 @@ One of more of the operations specified by
failed.
.\" e.g., ioa_reqprio or aio_lio_opcode was invalid
The application can check the status of each operation using
-.BR aio_return (3).
+.MR aio_return 3 .
.P
If
.BR lio_listio ()
@@ -185,7 +185,7 @@ fails for any other reason,
then none of the I/O operations has been initiated.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -215,10 +215,10 @@ Simultaneous I/O operations specifying the same
.I aiocb
structure produce undefined results.
.SH SEE ALSO
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_return (3),
-.BR aio_suspend (3),
-.BR aio_write (3),
-.BR aio (7)
+.MR aio_cancel 3 ,
+.MR aio_error 3 ,
+.MR aio_fsync 3 ,
+.MR aio_return 3 ,
+.MR aio_suspend 3 ,
+.MR aio_write 3 ,
+.MR aio 7
diff --git a/man3/list.3 b/man3/list.3
index 6f33dbf99..c321a1ed4 100644
--- a/man3/list.3
+++ b/man3/list.3
@@ -304,5 +304,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR insque (3),
-.BR queue (7)
+.MR insque 3 ,
+.MR queue 7
diff --git a/man3/localeconv.3 b/man3/localeconv.3
index 4862c9c53..3d494ec02 100644
--- a/man3/localeconv.3
+++ b/man3/localeconv.3
@@ -23,15 +23,15 @@ function returns a pointer to a
.I struct lconv
for the current locale.
This structure is shown in
-.BR locale (7),
+.MR locale 7 ,
and contains all values associated with the locale categories
.B LC_NUMERIC
and
.BR LC_MONETARY .
Programs may also use the functions
-.BR printf (3)
+.MR printf 3
and
-.BR strfmon (3),
+.MR strfmon 3 ,
which behave according to the actual locale in use.
.SH RETURN VALUE
The
@@ -48,7 +48,7 @@ The
function always succeeds.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -70,14 +70,14 @@ C11.
C89.
.SH BUGS
The
-.BR printf (3)
+.MR printf 3
family of functions may or may not honor the current locale.
.SH SEE ALSO
-.BR locale (1),
-.BR localedef (1),
-.BR isalpha (3),
-.BR nl_langinfo (3),
-.BR setlocale (3),
-.BR strcoll (3),
-.BR strftime (3),
-.BR locale (7)
+.MR locale 1 ,
+.MR localedef 1 ,
+.MR isalpha 3 ,
+.MR nl_langinfo 3 ,
+.MR setlocale 3 ,
+.MR strcoll 3 ,
+.MR strftime 3 ,
+.MR locale 7
diff --git a/man3/lockf.3 b/man3/lockf.3
index accf8e771..1aaeed97f 100644
--- a/man3/lockf.3
+++ b/man3/lockf.3
@@ -22,7 +22,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR lockf ():
@@ -57,14 +57,14 @@ In all cases, the section may extend past current end-of-file.
On Linux,
.BR lockf ()
is just an interface on top of
-.BR fcntl (2)
+.MR fcntl 2
locking.
Many other systems implement
.BR lockf ()
in this way, but note that POSIX.1 leaves the relationship between
.BR lockf ()
and
-.BR fcntl (2)
+.MR fcntl 2
locks unspecified.
A portable application should probably avoid mixing calls
to these interfaces.
@@ -135,7 +135,7 @@ and this lock operation would cause a deadlock.
.B EINTR
While waiting to acquire a lock, the call was interrupted by
delivery of a signal caught by a handler; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
An invalid operation was specified in
@@ -145,7 +145,7 @@ An invalid operation was specified in
Too many segment locks open, lock table is full.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -162,8 +162,8 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4.
.SH SEE ALSO
-.BR fcntl (2),
-.BR flock (2)
+.MR fcntl 2 ,
+.MR flock 2
.P
.I locks.txt
and
diff --git a/man3/log.3 b/man3/log.3
index 2192a9294..c7585be2e 100644
--- a/man3/log.3
+++ b/man3/log.3
@@ -31,7 +31,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR logf (),
@@ -78,7 +78,7 @@ is negative (including negative infinity), then
a domain error occurs, and a NaN (not a number) is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -101,7 +101,7 @@ A divide-by-zero floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -132,9 +132,9 @@ of a NaN produces a bogus invalid floating-point
.RB ( FE_INVALID )
exception.
.SH SEE ALSO
-.BR cbrt (3),
-.BR clog (3),
-.BR log10 (3),
-.BR log1p (3),
-.BR log2 (3),
-.BR sqrt (3)
+.MR cbrt 3 ,
+.MR clog 3 ,
+.MR log10 3 ,
+.MR log1p 3 ,
+.MR log2 3 ,
+.MR sqrt 3
diff --git a/man3/log10.3 b/man3/log10.3
index 415a77c5a..26c6471c2 100644
--- a/man3/log10.3
+++ b/man3/log10.3
@@ -31,7 +31,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR log10f (),
@@ -51,18 +51,18 @@ On success, these functions return the base 10 logarithm of
For special cases, including where
.I x
is 0, 1, negative, infinity, or NaN, see
-.BR log (3).
+.MR log 3 .
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
For a discussion of the errors that can occur for these functions, see
-.BR log (3).
+.MR log 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -86,9 +86,9 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR cbrt (3),
-.BR clog10 (3),
-.BR exp10 (3),
-.BR log (3),
-.BR log2 (3),
-.BR sqrt (3)
+.MR cbrt 3 ,
+.MR clog10 3 ,
+.MR exp10 3 ,
+.MR log 3 ,
+.MR log2 3 ,
+.MR sqrt 3
diff --git a/man3/log1p.3 b/man3/log1p.3
index 7855e6772..4528f4249 100644
--- a/man3/log1p.3
+++ b/man3/log1p.3
@@ -24,7 +24,7 @@ Math library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.nf
@@ -86,7 +86,7 @@ and a NaN (not a number) is returned.
.\" glibc 2.8 doesn't do this
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -111,7 +111,7 @@ A divide-by-zero floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -145,6 +145,6 @@ to
.B ERANGE
when a range error occurred.
.SH SEE ALSO
-.BR exp (3),
-.BR expm1 (3),
-.BR log (3)
+.MR exp 3 ,
+.MR expm1 3 ,
+.MR log 3
diff --git a/man3/log2.3 b/man3/log2.3
index 62103fe46..1b50773a0 100644
--- a/man3/log2.3
+++ b/man3/log2.3
@@ -31,7 +31,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR log2 (),
@@ -50,18 +50,18 @@ On success, these functions return the base 2 logarithm of
For special cases, including where
.I x
is 0, 1, negative, infinity, or NaN, see
-.BR log (3).
+.MR log 3 .
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
For a discussion of the errors that can occur for these functions, see
-.BR log (3).
+.MR log 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -86,8 +86,8 @@ The variant returning
also conforms to
SVr4, 4.3BSD.
.SH SEE ALSO
-.BR cbrt (3),
-.BR clog2 (3),
-.BR log (3),
-.BR log10 (3),
-.BR sqrt (3)
+.MR cbrt 3 ,
+.MR clog2 3 ,
+.MR log 3 ,
+.MR log10 3 ,
+.MR sqrt 3
diff --git a/man3/logb.3 b/man3/logb.3
index 7cbb2470a..cd5c42bc6 100644
--- a/man3/logb.3
+++ b/man3/logb.3
@@ -24,7 +24,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR logb ():
@@ -92,7 +92,7 @@ is negative infinity or positive infinity, then
positive infinity is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -114,7 +114,7 @@ These functions do not set
.\"
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -137,5 +137,5 @@ C99, POSIX.1-2001.
4.3BSD
(see IEEE.3 in the 4.3BSD manual).
.SH SEE ALSO
-.BR ilogb (3),
-.BR log (3)
+.MR ilogb 3 ,
+.MR log 3
diff --git a/man3/login.3 b/man3/login.3
index 5190dbf4b..52d95b4b1 100644
--- a/man3/login.3
+++ b/man3/login.3
@@ -21,7 +21,7 @@ System utilities library
The utmp file records who is currently using the system.
The wtmp file records all logins and logouts.
See
-.BR utmp (5).
+.MR utmp 5 .
.P
The function
.BR login ()
@@ -95,7 +95,7 @@ in
.I <paths.h>
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -119,10 +119,10 @@ In the above table,
in
.I race:utent
signifies that if any of the functions
-.BR setutent (3),
-.BR getutent (3),
+.MR setutent 3 ,
+.MR getutent 3 ,
or
-.BR endutent (3)
+.MR endutent 3
are used in parallel in different threads of a program,
then data races could occur.
.BR login ()
@@ -147,5 +147,5 @@ in
.SH STANDARDS
BSD.
.SH SEE ALSO
-.BR getutent (3),
-.BR utmp (5)
+.MR getutent 3 ,
+.MR utmp 5
diff --git a/man3/lrint.3 b/man3/lrint.3
index 74b91af9c..2d2605ece 100644
--- a/man3/lrint.3
+++ b/man3/lrint.3
@@ -26,7 +26,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
All functions shown above:
@@ -36,10 +36,10 @@ All functions shown above:
.SH DESCRIPTION
These functions round their argument to the nearest integer value,
using the current rounding direction (see
-.BR fesetround (3)).
+.MR fesetround 3 ).
.P
Note that unlike the
-.BR rint (3)
+.MR rint 3
family of functions,
the return type of these functions differs from
that of their arguments.
@@ -59,7 +59,7 @@ then a domain error occurs, and the return value is unspecified.
.\" The return value is -(LONG_MAX - 1) or -(LLONG_MAX -1)
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -79,7 +79,7 @@ These functions do not set
.\" Bug raised: https://www.sourceware.org/bugzilla/show_bug.cgi?id=6798
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -102,9 +102,9 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR ceil (3),
-.BR floor (3),
-.BR lround (3),
-.BR nearbyint (3),
-.BR rint (3),
-.BR round (3)
+.MR ceil 3 ,
+.MR floor 3 ,
+.MR lround 3 ,
+.MR nearbyint 3 ,
+.MR rint 3 ,
+.MR round 3
diff --git a/man3/lround.3 b/man3/lround.3
index b16854b2d..c056047e7 100644
--- a/man3/lround.3
+++ b/man3/lround.3
@@ -27,7 +27,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
All functions shown above:
@@ -38,12 +38,12 @@ All functions shown above:
These functions round their argument to the nearest integer value,
rounding halfway cases away from zero,
regardless of the current rounding direction (see
-.BR fenv (3)).
+.MR fenv 3 ).
.P
Note that unlike the
-.BR round (3)
+.MR round 3
and
-.BR ceil (3),
+.MR ceil 3 ,
functions, the return type of these functions differs from
that of their arguments.
.SH RETURN VALUE
@@ -62,7 +62,7 @@ then a domain error occurs, and the return value is unspecified.
.\" The return value is -(LONG_MAX - 1) or -(LLONG_MAX -1)
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -82,7 +82,7 @@ These functions do not set
.\" Bug raised: https://www.sourceware.org/bugzilla/show_bug.cgi?id=6797
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -105,9 +105,9 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR ceil (3),
-.BR floor (3),
-.BR lrint (3),
-.BR nearbyint (3),
-.BR rint (3),
-.BR round (3)
+.MR ceil 3 ,
+.MR floor 3 ,
+.MR lrint 3 ,
+.MR nearbyint 3 ,
+.MR rint 3 ,
+.MR round 3
diff --git a/man3/lsearch.3 b/man3/lsearch.3
index 13871e9cf..e55662ffc 100644
--- a/man3/lsearch.3
+++ b/man3/lsearch.3
@@ -68,7 +68,7 @@ a matching member of the array, or to the newly added member if no
match is found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -89,6 +89,6 @@ libc-4.6.27.
.SH BUGS
The naming is unfortunate.
.SH SEE ALSO
-.BR bsearch (3),
-.BR hsearch (3),
-.BR tsearch (3)
+.MR bsearch 3 ,
+.MR hsearch 3 ,
+.MR tsearch 3
diff --git a/man3/lseek64.3 b/man3/lseek64.3
index e62a7238e..3b9a5823e 100644
--- a/man3/lseek64.3
+++ b/man3/lseek64.3
@@ -37,7 +37,7 @@ or
respectively.
.P
For more details, return value, and errors, see
-.BR lseek (2).
+.MR lseek 2 .
.P
Four interfaces are available:
.BR lseek (),
@@ -120,7 +120,7 @@ However, the glibc headers do not provide a prototype.
Users should add
the above prototype, or something equivalent, to their own source.
When users complained about data loss caused by a miscompilation of
-.BR e2fsck (8),
+.MR e2fsck 8 ,
glibc 2.1.3 added the link-time warning
.P
.in +4n
@@ -148,13 +148,13 @@ The prototype is:
.in
.P
For more details, see
-.BR llseek (2).
+.MR llseek 2 .
.P
64-bit systems don't need an
.BR _llseek ()
system call.
Instead, they have an
-.BR lseek (2)
+.MR lseek 2
system call that supports 64-bit file offsets.
.\" In arch/x86/entry/syscalls/syscall_32.tbl,
.\" we see the following line:
@@ -170,7 +170,7 @@ system call that supports 64-bit file offsets.
.\" need an _llseek system call.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -202,5 +202,5 @@ if the macro
.B _FILE_OFFSET_BITS
is defined with the value 64.
.SH SEE ALSO
-.BR llseek (2),
-.BR lseek (2)
+.MR llseek 2 ,
+.MR lseek 2
diff --git a/man3/makecontext.3 b/man3/makecontext.3
index 4ee3cc2c4..b2d0f5459 100644
--- a/man3/makecontext.3
+++ b/man3/makecontext.3
@@ -27,10 +27,10 @@ In a System V-like environment, one has the type
(defined in
.I <ucontext.h>
and described in
-.BR getcontext (3))
+.MR getcontext 3 )
and the four functions
-.BR getcontext (3),
-.BR setcontext (3),
+.MR getcontext 3 ,
+.MR setcontext 3 ,
.BR makecontext (),
and
.BR swapcontext ()
@@ -41,7 +41,7 @@ The
.BR makecontext ()
function modifies the context pointed to
by \fIucp\fP (which was obtained from a call to
-.BR getcontext (3)).
+.MR getcontext 3 ).
Before invoking
.BR makecontext (),
the caller must allocate a new stack
@@ -50,7 +50,7 @@ and define a successor context and
assign its address to \fIucp\->uc_link\fP.
.P
When this context is later activated (using
-.BR setcontext (3)
+.MR setcontext 3
or
.BR swapcontext ())
the function \fIfunc\fP is called,
@@ -87,7 +87,7 @@ to indicate the error.
Insufficient stack space left.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -122,7 +122,7 @@ citing portability issues, and
recommending that applications be rewritten to use POSIX threads instead.
.SH NOTES
The interpretation of \fIucp\->uc_stack\fP is just as in
-.BR sigaltstack (2),
+.MR sigaltstack 2 ,
namely, this struct contains the start and length of a memory area
to be used as the stack, regardless of the direction of growth of
the stack.
@@ -146,7 +146,7 @@ Nevertheless, starting with glibc 2.8, glibc makes some changes to
to permit this on some 64-bit architectures (e.g., x86-64).
.SH EXAMPLES
The example program below demonstrates the use of
-.BR getcontext (3),
+.MR getcontext 3 ,
.BR makecontext (),
and
.BR swapcontext ().
@@ -229,8 +229,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR sigaction (2),
-.BR sigaltstack (2),
-.BR sigprocmask (2),
-.BR getcontext (3),
-.BR sigsetjmp (3)
+.MR sigaction 2 ,
+.MR sigaltstack 2 ,
+.MR sigprocmask 2 ,
+.MR getcontext 3 ,
+.MR sigsetjmp 3
diff --git a/man3/makedev.3 b/man3/makedev.3
index 7fd748e5f..75ade2cd6 100644
--- a/man3/makedev.3
+++ b/man3/makedev.3
@@ -30,7 +30,7 @@ Given major and minor device IDs,
.BR makedev ()
combines these to produce a device ID, returned as the function result.
This device ID can be given to
-.BR mknod (2),
+.MR mknod 2 ,
for example.
.P
The
@@ -41,10 +41,10 @@ functions perform the converse task: given a device ID,
they return, respectively, the major and minor components.
These macros can be useful to, for example,
decompose the device IDs in the structure returned by
-.BR stat (2).
+.MR stat 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -88,5 +88,5 @@ and since glibc 2.28,
.I <sys/types.h>
no longer provides these definitions.
.SH SEE ALSO
-.BR mknod (2),
-.BR stat (2)
+.MR mknod 2 ,
+.MR stat 2
diff --git a/man3/mallinfo.3 b/man3/mallinfo.3
index 20ac7f896..726fa6dec 100644
--- a/man3/mallinfo.3
+++ b/man3/mallinfo.3
@@ -19,7 +19,7 @@ Standard C library
.SH DESCRIPTION
These functions return a copy of a structure containing information about
memory allocations performed by
-.BR malloc (3)
+.MR malloc 3
and related functions.
The structure returned by each function contains the same fields.
However, the older function,
@@ -28,7 +28,7 @@ is deprecated since the type used for the fields is too small (see BUGS).
.P
Note that not all allocations are visible to these functions;
see BUGS and consider using
-.BR malloc_info (3)
+.MR malloc_info 3
instead.
.P
The
@@ -66,7 +66,7 @@ The structure fields contain the following information:
.TP 10
.I arena
The total amount of memory allocated by means other than
-.BR mmap (2)
+.MR mmap 2
(i.e., memory allocated on the heap).
This figure includes both in-use blocks and blocks on the free list.
.TP
@@ -77,19 +77,19 @@ The number of ordinary (i.e., non-fastbin) free blocks.
.\" the glibc info page wrongly says this field is unused
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=26746
The number of fastbin free blocks (see
-.BR mallopt (3)).
+.MR mallopt 3 ).
.TP
.I hblks
The number of blocks currently allocated using
-.BR mmap (2).
+.MR mmap 2 .
(See the discussion of
.B M_MMAP_THRESHOLD
in
-.BR mallopt (3).)
+.MR mallopt 3 .)
.TP
.I hblkhd
The number of bytes in blocks currently allocated using
-.BR mmap (2).
+.MR mmap 2 .
.TP
.I usmblks
This field is unused, and is always 0.
@@ -114,10 +114,10 @@ The total amount of releasable free space at the top
of the heap.
This is the maximum number of bytes that could ideally
(i.e., ignoring page alignment restrictions, and so on) be released by
-.BR malloc_trim (3).
+.MR malloc_trim 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -169,9 +169,9 @@ glibc 2.33.
.B Information is returned for only the main memory allocation area.
Allocations in other arenas are excluded.
See
-.BR malloc_stats (3)
+.MR malloc_stats 3
and
-.BR malloc_info (3)
+.MR malloc_info 3
for alternatives that include information about other arenas.
.P
The fields of the
@@ -192,11 +192,11 @@ The statistics are displayed on standard output.
.P
The first two command-line arguments specify the number and size of
blocks to be allocated with
-.BR malloc (3).
+.MR malloc 3 .
.P
The remaining three arguments specify which of the allocated blocks
should be freed with
-.BR free (3).
+.MR free 3 .
These three arguments are optional, and specify (in order):
the step size to be used in the loop that frees blocks
(the default is 1, meaning free all blocks in the range);
@@ -330,9 +330,9 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR mmap (2),
-.BR malloc (3),
-.BR malloc_info (3),
-.BR malloc_stats (3),
-.BR malloc_trim (3),
-.BR mallopt (3)
+.MR mmap 2 ,
+.MR malloc 3 ,
+.MR malloc_info 3 ,
+.MR malloc_stats 3 ,
+.MR malloc_trim 3 ,
+.MR mallopt 3
diff --git a/man3/malloc.3 b/man3/malloc.3
index e164d588f..ede017210 100644
--- a/man3/malloc.3
+++ b/man3/malloc.3
@@ -31,7 +31,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR reallocarray ():
@@ -225,14 +225,14 @@ Possibly, the application hit the
or
.B RLIMIT_DATA
limit described in
-.BR getrlimit (2).
+.MR getrlimit 2 .
Another reason could be that
the number of mappings created by the caller process
exceeded the limit specified by
.IR /proc/sys/vm/max_map_count .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -297,7 +297,7 @@ For more information, see the description of
and
.I /proc/sys/vm/oom_adj
in
-.BR proc (5),
+.MR proc 5 ,
and the Linux kernel source file
.IR Documentation/vm/overcommit\-accounting.rst .
.P
@@ -305,24 +305,24 @@ Normally,
.BR malloc ()
allocates memory from the heap, and adjusts the size of the heap
as required, using
-.BR sbrk (2).
+.MR sbrk 2 .
When allocating blocks of memory larger than
.B MMAP_THRESHOLD
bytes, the glibc
.BR malloc ()
implementation allocates the memory as a private anonymous mapping using
-.BR mmap (2).
+.MR mmap 2 .
.B MMAP_THRESHOLD
is 128\ kB by default, but is adjustable using
-.BR mallopt (3).
+.MR mallopt 3 .
Prior to Linux 4.7
allocations performed using
-.BR mmap (2)
+.MR mmap 2
were unaffected by the
.B RLIMIT_DATA
resource limit;
since Linux 4.7, this limit is also enforced for allocations performed using
-.BR mmap (2).
+.MR mmap 2 .
.P
To avoid corruption in multithreaded applications,
mutexes are used internally to protect the memory-management
@@ -337,9 +337,9 @@ if mutex contention is detected.
Each arena is a large region of memory that is internally allocated
by the system
(using
-.BR brk (2)
+.MR brk 2
or
-.BR mmap (2)),
+.MR mmap 2 ),
and managed with its own mutexes.
.P
If your program uses a private memory allocator,
@@ -371,7 +371,7 @@ an allocated chunk or freeing the same pointer twice.
The
.BR malloc ()
implementation is tunable via environment variables; see
-.BR mallopt (3)
+.MR mallopt 3
for details.
.SS Nonportable behavior
The behavior of
@@ -381,7 +381,7 @@ other implementations may return NULL without setting
.IR errno ,
and portable POSIX programs should tolerate such behavior.
See
-.BR realloc (3p).
+.MR realloc 3p .
.P
POSIX requires memory allocators
to set
@@ -442,18 +442,18 @@ my_mallocarray(size_t nmemb, size_t size)
.\"
.ad l
.nh
-.BR valgrind (1),
-.BR brk (2),
-.BR mmap (2),
-.BR alloca (3),
-.BR malloc_get_state (3),
-.BR malloc_info (3),
-.BR malloc_trim (3),
-.BR malloc_usable_size (3),
-.BR mallopt (3),
-.BR mcheck (3),
-.BR mtrace (3),
-.BR posix_memalign (3)
+.MR valgrind 1 ,
+.MR brk 2 ,
+.MR mmap 2 ,
+.MR alloca 3 ,
+.MR malloc_get_state 3 ,
+.MR malloc_info 3 ,
+.MR malloc_trim 3 ,
+.MR malloc_usable_size 3 ,
+.MR mallopt 3 ,
+.MR mcheck 3 ,
+.MR mtrace 3 ,
+.MR posix_memalign 3
.P
For details of the GNU C library implementation, see
.UR https://sourceware.org/glibc/wiki/MallocInternals
diff --git a/man3/malloc_get_state.3 b/man3/malloc_get_state.3
index 51783bc57..4adc32232 100644
--- a/man3/malloc_get_state.3
+++ b/man3/malloc_get_state.3
@@ -24,24 +24,24 @@ these functions are removed in glibc 2.25.
The
.BR malloc_get_state ()
function records the current state of all
-.BR malloc (3)
+.MR malloc 3
internal bookkeeping variables
(but not the actual contents of the heap
or the state of
-.BR malloc_hook (3)
+.MR malloc_hook 3
functions pointers).
The state is recorded in a system-dependent opaque data structure
dynamically allocated via
-.BR malloc (3),
+.MR malloc 3 ,
and a pointer to that data structure is returned as the function result.
(It is the caller's responsibility to
-.BR free (3)
+.MR free 3
this memory.)
.P
The
.BR malloc_set_state ()
function restores the state of all
-.BR malloc (3)
+.MR malloc 3
internal bookkeeping variables to the values recorded in
the opaque data structure pointed to by
.IR state .
@@ -72,7 +72,7 @@ is a more recent version than this implementation knows about,
returns \-2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -89,7 +89,7 @@ T} Thread safety MT-Safe
GNU.
.SH NOTES
These functions are useful when using this
-.BR malloc (3)
+.MR malloc 3
implementation as part of a shared library,
and the heap contents are saved/restored via some other method.
This technique is used by GNU Emacs to implement its "dumping" function.
@@ -97,7 +97,7 @@ This technique is used by GNU Emacs to implement its "dumping" function.
Hook function pointers are never saved or restored by these
functions, with two exceptions:
if malloc checking (see
-.BR mallopt (3))
+.MR mallopt 3 )
was in use when
.BR malloc_get_state ()
was called, then
@@ -111,5 +111,5 @@ if malloc checking was not in use in the recorded state,
but the caller has requested malloc checking,
then the hooks are reset to 0.
.SH SEE ALSO
-.BR malloc (3),
-.BR mallopt (3)
+.MR malloc 3 ,
+.MR mallopt 3
diff --git a/man3/malloc_hook.3 b/man3/malloc_hook.3
index bddcdf3e2..1bfd497b5 100644
--- a/man3/malloc_hook.3
+++ b/man3/malloc_hook.3
@@ -33,10 +33,10 @@ Standard C library
.fi
.SH DESCRIPTION
The GNU C library lets you modify the behavior of
-.BR malloc (3),
-.BR realloc (3),
+.MR malloc 3 ,
+.MR realloc 3 ,
and
-.BR free (3)
+.MR free 3
by specifying appropriate hook functions.
You can use these hooks
to help you debug programs that use dynamic memory allocation,
@@ -65,20 +65,20 @@ The four functions pointed to by
.BR __memalign_hook ,
.B __free_hook
have a prototype like the functions
-.BR malloc (3),
-.BR realloc (3),
-.BR memalign (3),
-.BR free (3),
+.MR malloc 3 ,
+.MR realloc 3 ,
+.MR memalign 3 ,
+.MR free 3 ,
respectively, except that they have a final argument
.I caller
that gives the address of the caller of
-.BR malloc (3),
+.MR malloc 3 ,
etc.
.P
The variable
.B __after_morecore_hook
points at a function that is called each time after
-.BR sbrk (2)
+.MR sbrk 2
was asked for more memory.
.SH STANDARDS
GNU.
@@ -148,7 +148,7 @@ my_malloc_hook(size_t size, const void *caller)
}
.EE
.SH SEE ALSO
-.BR mallinfo (3),
-.BR malloc (3),
-.BR mcheck (3),
-.BR mtrace (3)
+.MR mallinfo 3 ,
+.MR malloc 3 ,
+.MR mcheck 3 ,
+.MR mtrace 3
diff --git a/man3/malloc_info.3 b/man3/malloc_info.3
index 15f3d64e6..765272dd2 100644
--- a/man3/malloc_info.3
+++ b/man3/malloc_info.3
@@ -24,7 +24,7 @@ implementation in the caller.
The string is printed on the file stream
.IR stream .
The exported string includes information about all arenas (see
-.BR malloc (3)).
+.MR malloc 3 ).
.P
As currently implemented,
.I options
@@ -43,7 +43,7 @@ is set to indicate the error.
was nonzero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -67,7 +67,7 @@ because the information may change over time
The output XML string includes a version field.
.P
The
-.BR open_memstream (3)
+.MR open_memstream 3
function can be used to send the output of
.BR malloc_info ()
directly into a buffer in memory, rather than to a file.
@@ -75,9 +75,9 @@ directly into a buffer in memory, rather than to a file.
The
.BR malloc_info ()
function is designed to address deficiencies in
-.BR malloc_stats (3)
+.MR malloc_stats 3
and
-.BR mallinfo (3).
+.MR mallinfo 3 .
.SH EXAMPLES
The program below takes up to four command-line arguments,
of which the first three are mandatory.
@@ -250,8 +250,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR mallinfo (3),
-.BR malloc (3),
-.BR malloc_stats (3),
-.BR mallopt (3),
-.BR open_memstream (3)
+.MR mallinfo 3 ,
+.MR malloc 3 ,
+.MR malloc_stats 3 ,
+.MR mallopt 3 ,
+.MR open_memstream 3
diff --git a/man3/malloc_stats.3 b/man3/malloc_stats.3
index cd515c069..7cf497719 100644
--- a/man3/malloc_stats.3
+++ b/man3/malloc_stats.3
@@ -19,7 +19,7 @@ Standard C library
The
.BR malloc_stats ()
function prints (on standard error) statistics about memory allocated by
-.BR malloc (3)
+.MR malloc 3
and related functions.
For each arena (allocation area), this function prints
the total amount of memory allocated
@@ -29,15 +29,15 @@ and the total number of bytes consumed by in-use allocations.
and
.I uordblks
fields retrieved by
-.BR mallinfo (3).)
+.MR mallinfo 3 .)
In addition,
the function prints the sum of these two statistics for all arenas,
and the maximum number of blocks and bytes that were ever simultaneously
allocated using
-.BR mmap (2).
+.MR mmap 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,10 +56,10 @@ glibc 2.0.
.SH NOTES
More detailed information about memory allocations in the main arena
can be obtained using
-.BR mallinfo (3).
+.MR mallinfo 3 .
.SH SEE ALSO
-.BR mmap (2),
-.BR mallinfo (3),
-.BR malloc (3),
-.BR malloc_info (3),
-.BR mallopt (3)
+.MR mmap 2 ,
+.MR mallinfo 3 ,
+.MR malloc 3 ,
+.MR malloc_info 3 ,
+.MR mallopt 3
diff --git a/man3/malloc_trim.3 b/man3/malloc_trim.3
index 23677832b..90946bec1 100644
--- a/man3/malloc_trim.3
+++ b/man3/malloc_trim.3
@@ -20,9 +20,9 @@ The
.BR malloc_trim ()
function attempts to release free memory from the heap
(by calling
-.BR sbrk (2)
+.MR sbrk 2
or
-.BR madvise (2)
+.MR madvise 2
with suitable arguments).
.P
The
@@ -34,7 +34,7 @@ at the top of the heap (i.e., one page or less).
A nonzero argument can be used to maintain some trailing space
at the top of the heap in order to allow future allocations
to be made without having to extend the heap with
-.BR sbrk (2).
+.MR sbrk 2 .
.SH RETURN VALUE
The
.BR malloc_trim ()
@@ -44,7 +44,7 @@ or 0 if it was not possible to release any memory.
No errors are defined.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -62,7 +62,7 @@ GNU.
glibc 2.0.
.SH NOTES
Only the main heap (using
-.BR sbrk (2))
+.MR sbrk 2 )
honors the
.I pad
argument; thread heaps do not.
@@ -76,6 +76,6 @@ chunks with whole free pages.
Before glibc 2.8 this function only freed memory at the
top of the heap in the main arena.
.SH SEE ALSO
-.BR sbrk (2),
-.BR malloc (3),
-.BR mallopt (3)
+.MR sbrk 2 ,
+.MR malloc 3 ,
+.MR mallopt 3
diff --git a/man3/malloc_usable_size.3 b/man3/malloc_usable_size.3
index b2b6a73de..6a7f0cee1 100644
--- a/man3/malloc_usable_size.3
+++ b/man3/malloc_usable_size.3
@@ -18,7 +18,7 @@ Standard C library
.SH DESCRIPTION
This function can be used for
diagnostics or statistics about allocations from
-.BR malloc (3)
+.MR malloc 3
or a related function.
.SH RETURN VALUE
.BR malloc_usable_size ()
@@ -30,7 +30,7 @@ If
is NULL, 0 is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -53,8 +53,8 @@ none of which the programmer should rely on.
This function is intended to only be used
for diagnostics and statistics;
writing to the excess memory without first calling
-.BR realloc (3)
+.MR realloc 3
to resize the allocation is not supported.
The returned value is only valid at the time of the call.
.SH SEE ALSO
-.BR malloc (3)
+.MR malloc 3
diff --git a/man3/mallopt.3 b/man3/mallopt.3
index 8308203ae..10f1c5dd0 100644
--- a/man3/mallopt.3
+++ b/man3/mallopt.3
@@ -19,7 +19,7 @@ The
.BR mallopt ()
function adjusts parameters that control the behavior of the
memory-allocation functions (see
-.BR malloc (3)).
+.MR malloc 3 ).
The
.I param
argument specifies the parameter to be modified, and
@@ -33,7 +33,7 @@ The following values can be specified for
If this parameter has a nonzero value,
it defines a hard limit on the maximum number of arenas that can be created.
An arena represents a pool of memory that can be used by
-.BR malloc (3)
+.MR malloc 3
(and similar) calls to service allocation requests.
Arenas are thread safe and
therefore may have multiple concurrent memory requests.
@@ -110,16 +110,16 @@ Bit 1
If this bit is set, then,
after printing any error message specified by bit 0,
the program is terminated by calling
-.BR abort (3).
+.MR abort 3 .
Since glibc 2.4,
if bit 0 is also set,
then, between printing the error message and aborting,
the program also prints a stack trace in the manner of
-.BR backtrace (3),
+.MR backtrace 3 ,
and prints the process's memory mapping in the style of
.IR /proc/ pid /maps
(see
-.BR proc (5)).
+.MR proc 5 ).
.TP
Bit 2 (since glibc 2.4)
This bit has an effect only if bit 0 is also set.
@@ -173,17 +173,17 @@ and the true cause of the problem is then very hard to track down.
.\" The following text adapted from comments in the glibc source:
This parameter specifies the maximum number of allocation requests that
may be simultaneously serviced using
-.BR mmap (2).
+.MR mmap 2 .
This parameter exists because some systems have a limited number
of internal tables for use by
-.BR mmap (2),
+.MR mmap 2 ,
and using more than a few of them may degrade performance.
.IP
The default value is 65,536,
a value which has no special significance and
which serves only as a safeguard.
Setting this parameter to 0 disables the use of
-.BR mmap (2)
+.MR mmap 2
for servicing large allocation requests.
.TP
.B M_MMAP_THRESHOLD
@@ -191,26 +191,26 @@ For allocations greater than or equal to the limit specified (in bytes) by
.B M_MMAP_THRESHOLD
that can't be satisfied from the free list,
the memory-allocation functions employ
-.BR mmap (2)
+.MR mmap 2
instead of increasing the program break using
-.BR sbrk (2).
+.MR sbrk 2 .
.IP
Allocating memory using
-.BR mmap (2)
+.MR mmap 2
has the significant advantage that the allocated memory blocks
can always be independently released back to the system.
(By contrast,
the heap can be trimmed only if memory is freed at the top end.)
On the other hand, there are some disadvantages to the use of
-.BR mmap (2):
+.MR mmap 2 :
deallocated space is not placed on the free list
for reuse by later allocations;
memory may be wasted because
-.BR mmap (2)
+.MR mmap 2
allocations must be page-aligned;
and the kernel must perform the expensive task of zeroing out
memory allocated via
-.BR mmap (2).
+.MR mmap 2 .
Balancing these factors leads to a default setting of 128*1024 for the
.B M_MMAP_THRESHOLD
parameter.
@@ -264,12 +264,12 @@ to 0 disables the use of fastbins.
.BR M_PERTURB " (since glibc 2.4)"
If this parameter is set to a nonzero value,
then bytes of allocated memory (other than allocations via
-.BR calloc (3))
+.MR calloc 3 )
are initialized to the complement of the value
in the least significant byte of
.IR value ,
and when allocated memory is released using
-.BR free (3),
+.MR free 3 ,
the freed bytes are set to the least significant byte of
.IR value .
This can be useful for detecting errors where programs
@@ -280,7 +280,7 @@ The default value for this parameter is 0.
.TP
.B M_TOP_PAD
This parameter defines the amount of padding to employ when calling
-.BR sbrk (2)
+.MR sbrk 2
to modify the program break.
(The measurement unit for this parameter is bytes.)
This parameter has an effect in the following circumstances:
@@ -289,11 +289,11 @@ This parameter has an effect in the following circumstances:
When the program break is increased, then
.B M_TOP_PAD
bytes are added to the
-.BR sbrk (2)
+.MR sbrk 2
request.
.IP \[bu]
When the heap is trimmed as a consequence of calling
-.BR free (3)
+.MR free 3
(see the discussion of
.BR M_TRIM_THRESHOLD )
this much free space is preserved at the top of the heap.
@@ -315,9 +315,9 @@ The default value for this parameter is 128*1024.
.B M_TRIM_THRESHOLD
When the amount of contiguous free memory at the top of the heap
grows sufficiently large,
-.BR free (3)
+.MR free 3
employs
-.BR sbrk (2)
+.MR sbrk 2
to release this memory back to the system.
(This can be useful in programs that continue to execute for
a long period after freeing a significant amount of memory.)
@@ -325,7 +325,7 @@ The
.B M_TRIM_THRESHOLD
parameter specifies the minimum size (in bytes) that
this block of memory must reach before
-.BR sbrk (2)
+.MR sbrk 2
is used to trim the heap.
.IP
The default value for this parameter is 128*1024.
@@ -376,7 +376,7 @@ This environment variable controls the same parameter as
If this variable is set to a nonzero value,
then a special implementation of the memory-allocation functions is used.
(This is accomplished using the
-.BR malloc_hook (3)
+.MR malloc_hook 3
feature.)
This implementation performs additional error checking,
but is slower
@@ -606,14 +606,14 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR mmap (2),
-.BR sbrk (2),
-.BR mallinfo (3),
-.BR malloc (3),
-.BR malloc_hook (3),
-.BR malloc_info (3),
-.BR malloc_stats (3),
-.BR malloc_trim (3),
-.BR mcheck (3),
-.BR mtrace (3),
-.BR posix_memalign (3)
+.MR mmap 2 ,
+.MR sbrk 2 ,
+.MR mallinfo 3 ,
+.MR malloc 3 ,
+.MR malloc_hook 3 ,
+.MR malloc_info 3 ,
+.MR malloc_stats 3 ,
+.MR malloc_trim 3 ,
+.MR mcheck 3 ,
+.MR mtrace 3 ,
+.MR posix_memalign 3
diff --git a/man3/matherr.3 b/man3/matherr.3
index 53ab9965d..e3ef642fd 100644
--- a/man3/matherr.3
+++ b/man3/matherr.3
@@ -26,9 +26,9 @@ Since glibc 2.27,
.\" glibc commit 813378e9fe17e029caf627cab76fe23eb46815fa
the mechanism has been removed altogether.
New applications should use the techniques described in
-.BR math_error (7)
+.MR math_error 7
and
-.BR fenv (3).
+.MR fenv 3 .
This page documents the
.BR matherr ()
mechanism as an aid for maintaining and porting older applications.
@@ -258,7 +258,7 @@ remainder(x,0) DOMAIN NAN y EDOM \" retval is 0.0/0.0
.TE
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -274,10 +274,10 @@ T} Thread safety MT-Safe
The example program demonstrates the use of
.BR matherr ()
when calling
-.BR log (3).
+.MR log 3 .
The program takes up to three command-line arguments.
The first argument is the floating-point number to be given to
-.BR log (3).
+.MR log 3 .
If the optional second argument is provided, then
.B _LIB_VERSION
is set to
@@ -293,7 +293,7 @@ then it specifies an alternative return value that
should assign as the return value of the math function.
.P
The following example run, where
-.BR log (3)
+.MR log 3
is given an argument of 0.0, does not use
.BR matherr ():
.P
@@ -423,6 +423,6 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fenv (3),
-.BR math_error (7),
-.BR standards (7)
+.MR fenv 3 ,
+.MR math_error 7 ,
+.MR standards 7
diff --git a/man3/mblen.3 b/man3/mblen.3
index c2e421de9..407696226 100644
--- a/man3/mblen.3
+++ b/man3/mblen.3
@@ -85,7 +85,7 @@ invalid multibyte sequence was encountered or if it couldn't parse a complete
multibyte character.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -99,7 +99,7 @@ T} Thread safety MT-Unsafe race
.TE
.SH VERSIONS
The function
-.BR mbrlen (3)
+.MR mbrlen 3
provides a better interface to the same
functionality.
.SH STANDARDS
@@ -114,4 +114,4 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR mbrlen (3)
+.MR mbrlen 3
diff --git a/man3/mbrlen.3 b/man3/mbrlen.3
index ae147f2bb..319d113b8 100644
--- a/man3/mbrlen.3
+++ b/man3/mbrlen.3
@@ -103,7 +103,7 @@ character, meaning that
should be increased.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -127,4 +127,4 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR mbrtowc (3)
+.MR mbrtowc 3
diff --git a/man3/mbrtowc.3 b/man3/mbrtowc.3
index 26d29b255..5669cbedf 100644
--- a/man3/mbrtowc.3
+++ b/man3/mbrtowc.3
@@ -173,7 +173,7 @@ character, meaning that
should be increased.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -197,5 +197,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR mbsinit (3),
-.BR mbsrtowcs (3)
+.MR mbsinit 3 ,
+.MR mbsrtowcs 3
diff --git a/man3/mbsinit.3 b/man3/mbsinit.3
index 6581cc756..99f0be8db 100644
--- a/man3/mbsinit.3
+++ b/man3/mbsinit.3
@@ -34,10 +34,10 @@ state is needed for the sake of encodings such as ISO-2022 and UTF-7.
The initial state is the state at the beginning of conversion of a string.
There are two kinds of state: the one used by multibyte to wide character
conversion functions, such as
-.BR mbsrtowcs (3),
+.MR mbsrtowcs 3 ,
and the one used by wide
character to multibyte conversion functions, such as
-.BR wcsrtombs (3),
+.MR wcsrtombs 3 ,
but they both fit in a
.IR mbstate_t ,
and they both have the same
@@ -47,7 +47,7 @@ For 8-bit encodings, all states are equivalent to the initial state.
For multibyte encodings like UTF-8, EUC-*, BIG5, or SJIS, the wide character
to multibyte conversion functions never produce non-initial states, but the
multibyte to wide-character conversion functions like
-.BR mbrtowc (3)
+.MR mbrtowc 3
do
produce non-initial states when interrupted in the middle of a character.
.P
@@ -86,7 +86,7 @@ is NULL.
Otherwise, it returns 0.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -110,8 +110,8 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR mbrlen (3),
-.BR mbrtowc (3),
-.BR mbsrtowcs (3),
-.BR wcrtomb (3),
-.BR wcsrtombs (3)
+.MR mbrlen 3 ,
+.MR mbrtowc 3 ,
+.MR mbsrtowcs 3 ,
+.MR wcrtomb 3 ,
+.MR wcsrtombs 3
diff --git a/man3/mbsnrtowcs.3 b/man3/mbsnrtowcs.3
index a8447e594..aea351b4b 100644
--- a/man3/mbsnrtowcs.3
+++ b/man3/mbsnrtowcs.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mbsnrtowcs ():
@@ -39,7 +39,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR mbsnrtowcs ()
function is like the
-.BR mbsrtowcs (3)
+.MR mbsrtowcs 3
function, except that
the number of bytes to be converted, starting at
.IR *src ,
@@ -163,7 +163,7 @@ set to
.BR EILSEQ .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -193,7 +193,7 @@ Passing NULL as
.I ps
is not multithread safe.
.SH SEE ALSO
-.BR iconv (3),
-.BR mbrtowc (3),
-.BR mbsinit (3),
-.BR mbsrtowcs (3)
+.MR iconv 3 ,
+.MR mbrtowc 3 ,
+.MR mbsinit 3 ,
+.MR mbsrtowcs 3
diff --git a/man3/mbsrtowcs.3 b/man3/mbsrtowcs.3
index 7dd8d6827..e3910f021 100644
--- a/man3/mbsrtowcs.3
+++ b/man3/mbsrtowcs.3
@@ -116,7 +116,7 @@ characters at
.IR dest .
.P
This function is a restartable version of
-.BR mbstowcs (3).
+.MR mbstowcs 3 .
.SH RETURN VALUE
The number of wide characters that make
up the converted part of the wide-character string, not including the
@@ -130,7 +130,7 @@ set to
.BR EILSEQ .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -162,8 +162,8 @@ Passing NULL as
.I ps
is not multithread safe.
.SH SEE ALSO
-.BR iconv (3),
-.BR mbrtowc (3),
-.BR mbsinit (3),
-.BR mbsnrtowcs (3),
-.BR mbstowcs (3)
+.MR iconv 3 ,
+.MR mbrtowc 3 ,
+.MR mbsinit 3 ,
+.MR mbsnrtowcs 3 ,
+.MR mbstowcs 3
diff --git a/man3/mbstowcs.3 b/man3/mbstowcs.3
index f08ce3258..ce80db399 100644
--- a/man3/mbstowcs.3
+++ b/man3/mbstowcs.3
@@ -90,7 +90,7 @@ encountered,
is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -104,7 +104,7 @@ T} Thread safety MT-Safe
.TE
.SH VERSIONS
The function
-.BR mbsrtowcs (3)
+.MR mbsrtowcs 3
provides a better interface to the same
functionality.
.SH STANDARDS
@@ -230,8 +230,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR mblen (3),
-.BR mbsrtowcs (3),
-.BR mbtowc (3),
-.BR wcstombs (3),
-.BR wctomb (3)
+.MR mblen 3 ,
+.MR mbsrtowcs 3 ,
+.MR mbtowc 3 ,
+.MR wcstombs 3 ,
+.MR wctomb 3
diff --git a/man3/mbtowc.3 b/man3/mbtowc.3
index 08739facb..d605620d1 100644
--- a/man3/mbtowc.3
+++ b/man3/mbtowc.3
@@ -112,7 +112,7 @@ returns nonzero if the encoding
has nontrivial shift state, or zero if the encoding is stateless.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -127,7 +127,7 @@ T} Thread safety MT-Unsafe race
.SH VERSIONS
This function is not multithread safe.
The function
-.BR mbrtowc (3)
+.MR mbrtowc 3
provides
a better interface to the same functionality.
.SH STANDARDS
@@ -142,9 +142,9 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR MB_CUR_MAX (3),
-.BR mblen (3),
-.BR mbrtowc (3),
-.BR mbstowcs (3),
-.BR wcstombs (3),
-.BR wctomb (3)
+.MR MB_CUR_MAX 3 ,
+.MR mblen 3 ,
+.MR mbrtowc 3 ,
+.MR mbstowcs 3 ,
+.MR wcstombs 3 ,
+.MR wctomb 3
diff --git a/man3/mcheck.3 b/man3/mcheck.3
index e3cfe5830..0d2382e0c 100644
--- a/man3/mcheck.3
+++ b/man3/mcheck.3
@@ -23,7 +23,7 @@ Standard C library
The
.BR mcheck ()
function installs a set of debugging hooks for the
-.BR malloc (3)
+.MR malloc 3
family of memory-allocation functions.
These hooks cause certain consistency checks to be performed
on the state of the heap.
@@ -34,7 +34,7 @@ that immediately precede a block of allocated memory.
To be effective, the
.BR mcheck ()
function must be called before the first call to
-.BR malloc (3)
+.MR malloc 3
or a related function.
In cases where this is difficult to ensure, linking the program with
.I \-lmcheck
@@ -69,7 +69,7 @@ If
is NULL, a default function prints an error message on
.I stderr
and calls
-.BR abort (3).
+.MR abort 3 .
.P
The
.BR mprobe ()
@@ -115,7 +115,7 @@ and
return 0 on success, or \-1 on error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -154,7 +154,7 @@ Linking a program with
and using the
.B MALLOC_CHECK_
environment variable (described in
-.BR mallopt (3))
+.MR mallopt 3 )
cause the same kinds of errors to be detected.
But, using
.B MALLOC_CHECK_
@@ -208,6 +208,6 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR malloc (3),
-.BR mallopt (3),
-.BR mtrace (3)
+.MR malloc 3 ,
+.MR mallopt 3 ,
+.MR mtrace 3
diff --git a/man3/memccpy.3 b/man3/memccpy.3
index 0ba805176..4d3d104e6 100644
--- a/man3/memccpy.3
+++ b/man3/memccpy.3
@@ -54,7 +54,7 @@ characters of
.IR src .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -71,9 +71,9 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR bcopy (3),
-.BR bstring (3),
-.BR memcpy (3),
-.BR memmove (3),
-.BR strcpy (3),
-.BR strncpy (3)
+.MR bcopy 3 ,
+.MR bstring 3 ,
+.MR memcpy 3 ,
+.MR memmove 3 ,
+.MR strcpy 3 ,
+.MR strncpy 3
diff --git a/man3/memchr.3 b/man3/memchr.3
index bb598c7d4..3f1da33cd 100644
--- a/man3/memchr.3
+++ b/man3/memchr.3
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR memrchr (),
@@ -78,9 +78,9 @@ If an instance of
.I c
is not found, the behavior is undefined.
Use either
-.BR strlen (3)
+.MR strlen 3
or
-.BR memchr (3)
+.MR memchr 3
instead.
.SH RETURN VALUE
The
@@ -96,7 +96,7 @@ The
function returns a pointer to the matching byte.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -130,13 +130,13 @@ glibc 2.2.
.BR rawmemchr ()
glibc 2.1.
.SH SEE ALSO
-.BR bstring (3),
-.BR ffs (3),
-.BR memmem (3),
-.BR strchr (3),
-.BR strpbrk (3),
-.BR strrchr (3),
-.BR strsep (3),
-.BR strspn (3),
-.BR strstr (3),
-.BR wmemchr (3)
+.MR bstring 3 ,
+.MR ffs 3 ,
+.MR memmem 3 ,
+.MR strchr 3 ,
+.MR strpbrk 3 ,
+.MR strrchr 3 ,
+.MR strsep 3 ,
+.MR strspn 3 ,
+.MR strstr 3 ,
+.MR wmemchr 3
diff --git a/man3/memcmp.3 b/man3/memcmp.3
index 206ddad72..1485eb7f1 100644
--- a/man3/memcmp.3
+++ b/man3/memcmp.3
@@ -47,7 +47,7 @@ If
is zero, the return value is zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -82,10 +82,10 @@ Some operating systems provide such a function (e.g., NetBSD's
but no such function is specified in POSIX.
On Linux, you may need to implement such a function yourself.
.SH SEE ALSO
-.BR bstring (3),
-.BR strcasecmp (3),
-.BR strcmp (3),
-.BR strcoll (3),
-.BR strncasecmp (3),
-.BR strncmp (3),
-.BR wmemcmp (3)
+.MR bstring 3 ,
+.MR strcasecmp 3 ,
+.MR strcmp 3 ,
+.MR strcoll 3 ,
+.MR strncasecmp 3 ,
+.MR strncmp 3 ,
+.MR wmemcmp 3
diff --git a/man3/memcpy.3 b/man3/memcpy.3
index c97f6701a..27732c6d0 100644
--- a/man3/memcpy.3
+++ b/man3/memcpy.3
@@ -29,7 +29,7 @@ function copies \fIn\fP bytes from memory area
\fIsrc\fP to memory area \fIdest\fP.
The memory areas must not overlap.
Use
-.BR memmove (3)
+.MR memmove 3
if the memory areas do overlap.
.SH RETURN VALUE
The
@@ -37,7 +37,7 @@ The
function returns a pointer to \fIdest\fP.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -94,13 +94,13 @@ implementation that safely handles the overlapping buffers case
(by providing an "older"
.BR memcpy ()
implementation that was aliased to
-.BR memmove (3)).
+.MR memmove 3 ).
.SH SEE ALSO
-.BR bcopy (3),
-.BR bstring (3),
-.BR memccpy (3),
-.BR memmove (3),
-.BR mempcpy (3),
-.BR strcpy (3),
-.BR strncpy (3),
-.BR wmemcpy (3)
+.MR bcopy 3 ,
+.MR bstring 3 ,
+.MR memccpy 3 ,
+.MR memmove 3 ,
+.MR mempcpy 3 ,
+.MR strcpy 3 ,
+.MR strncpy 3 ,
+.MR wmemcpy 3
diff --git a/man3/memfrob.3 b/man3/memfrob.3
index 319717707..09d7e8382 100644
--- a/man3/memfrob.3
+++ b/man3/memfrob.3
@@ -41,7 +41,7 @@ function returns a pointer to the obfuscated memory
area.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,5 +56,5 @@ T} Thread safety MT-Safe
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR bstring (3),
-.BR strfry (3)
+.MR bstring 3 ,
+.MR strfry 3
diff --git a/man3/memmem.3 b/man3/memmem.3
index a807412b0..e1ce94a97 100644
--- a/man3/memmem.3
+++ b/man3/memmem.3
@@ -42,7 +42,7 @@ function returns a pointer to the beginning of the
substring, or NULL if the substring is not found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -85,5 +85,5 @@ returns a pointer to the last byte of
.IR haystack .
This is fixed in glibc 2.1.
.SH SEE ALSO
-.BR bstring (3),
-.BR strstr (3)
+.MR bstring 3 ,
+.MR strstr 3
diff --git a/man3/memmove.3 b/man3/memmove.3
index e68c54547..ba5531b10 100644
--- a/man3/memmove.3
+++ b/man3/memmove.3
@@ -45,7 +45,7 @@ function returns a pointer to
.IR dest .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -62,10 +62,10 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR bcopy (3),
-.BR bstring (3),
-.BR memccpy (3),
-.BR memcpy (3),
-.BR strcpy (3),
-.BR strncpy (3),
-.BR wmemmove (3)
+.MR bcopy 3 ,
+.MR bstring 3 ,
+.MR memccpy 3 ,
+.MR memcpy 3 ,
+.MR strcpy 3 ,
+.MR strncpy 3 ,
+.MR wmemmove 3
diff --git a/man3/mempcpy.3 b/man3/mempcpy.3
index e20517dfd..827ce585f 100644
--- a/man3/mempcpy.3
+++ b/man3/mempcpy.3
@@ -31,7 +31,7 @@ Standard C library
The
.BR mempcpy ()
function is nearly identical to the
-.BR memcpy (3)
+.MR memcpy 3
function.
It copies
.I n
@@ -59,7 +59,7 @@ wide characters.
.IR n .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -88,7 +88,7 @@ combine(void *o1, size_t s1, void *o2, size_t s2)
}
.EE
.SH SEE ALSO
-.BR memccpy (3),
-.BR memcpy (3),
-.BR memmove (3),
-.BR wmemcpy (3)
+.MR memccpy 3 ,
+.MR memcpy 3 ,
+.MR memmove 3 ,
+.MR wmemcpy 3
diff --git a/man3/memset.3 b/man3/memset.3
index 1ac3ba3b6..0ad05b90c 100644
--- a/man3/memset.3
+++ b/man3/memset.3
@@ -37,7 +37,7 @@ function returns a pointer to the memory area
.IR s .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -54,7 +54,7 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR bstring (3),
-.BR bzero (3),
-.BR swab (3),
-.BR wmemset (3)
+.MR bstring 3 ,
+.MR bzero 3 ,
+.MR swab 3 ,
+.MR wmemset 3
diff --git a/man3/mkdtemp.3 b/man3/mkdtemp.3
index c2a4f5a0a..7bf35baff 100644
--- a/man3/mkdtemp.3
+++ b/man3/mkdtemp.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mkdtemp ():
@@ -55,11 +55,11 @@ The last six characters of \fItemplate\fP were not XXXXXX.
Now \fItemplate\fP is unchanged.
.P
Also see
-.BR mkdir (2)
+.MR mkdir 2
for other possible values for \fIerrno\fP.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -78,10 +78,10 @@ glibc 2.1.91.
NetBSD 1.4.
POSIX.1-2008.
.SH SEE ALSO
-.BR mktemp (1),
-.BR mkdir (2),
-.BR mkstemp (3),
-.BR mktemp (3),
-.BR tempnam (3),
-.BR tmpfile (3),
-.BR tmpnam (3)
+.MR mktemp 1 ,
+.MR mkdir 2 ,
+.MR mkstemp 3 ,
+.MR mktemp 3 ,
+.MR tempnam 3 ,
+.MR tmpfile 3 ,
+.MR tmpnam 3
diff --git a/man3/mkfifo.3 b/man3/mkfifo.3
index f57474ba1..0f378ee00 100644
--- a/man3/mkfifo.3
+++ b/man3/mkfifo.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mkfifoat ():
@@ -59,7 +59,7 @@ proceed to do any input or output operations on it.
Opening a FIFO for reading normally blocks until some
other process opens the same FIFO for writing, and vice versa.
See
-.BR fifo (7)
+.MR fifo 7
for nonblocking handling of FIFO special files.
.SS mkfifoat()
The
@@ -97,7 +97,7 @@ is absolute, then
is ignored.
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR mkfifoat ().
.SH RETURN VALUE
@@ -164,7 +164,7 @@ is a file descriptor referring to a file other than a directory.
\fIpathname\fP refers to a read-only filesystem.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -179,7 +179,7 @@ T} Thread safety MT-Safe
.TE
.SH VERSIONS
It is implemented using
-.BR mknodat (2).
+.MR mknodat 2 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -191,11 +191,11 @@ POSIX.1-2001.
glibc 2.4.
POSIX.1-2008.
.SH SEE ALSO
-.BR mkfifo (1),
-.BR close (2),
-.BR open (2),
-.BR read (2),
-.BR stat (2),
-.BR umask (2),
-.BR write (2),
-.BR fifo (7)
+.MR mkfifo 1 ,
+.MR close 2 ,
+.MR open 2 ,
+.MR read 2 ,
+.MR stat 2 ,
+.MR umask 2 ,
+.MR write 2 ,
+.MR fifo 7
diff --git a/man3/mkstemp.3 b/man3/mkstemp.3
index c85dbd692..69790b3d8 100644
--- a/man3/mkstemp.3
+++ b/man3/mkstemp.3
@@ -31,7 +31,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mkstemp ():
@@ -77,7 +77,7 @@ The file is created with
permissions 0600, that is, read plus write for owner only.
The returned file descriptor provides both read and write access to the file.
The file is opened with the
-.BR open (2)
+.MR open 2
.B O_EXCL
flag, guaranteeing that the caller is the process that creates the file.
.P
@@ -86,7 +86,7 @@ The
function is like
.BR mkstemp (),
with the difference that the following bits\[em]with the same meaning as for
-.BR open (2)\[em]may
+.MR open 2 \[em]may
be specified in
.IR flags :
.BR O_APPEND ,
@@ -103,7 +103,7 @@ and
in the
.I flags
argument given to
-.BR open (2);
+.MR open 2 ;
including these values in the
.I flags
argument given to
@@ -168,10 +168,10 @@ characters long, or the last 6 characters before the suffix in
were not XXXXXX.
.P
These functions may also fail with any of the errors described for
-.BR open (2).
+.MR open 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -227,7 +227,7 @@ More generally, the POSIX specification of
does not say anything
about file modes, so the application should make sure its
file mode creation mask (see
-.BR umask (2))
+.MR umask 2 )
is set appropriately before calling
.BR mkstemp ()
(and
@@ -240,8 +240,8 @@ is set appropriately before calling
.\" for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in
.\" .IR <stdlib.h> .
.SH SEE ALSO
-.BR mkdtemp (3),
-.BR mktemp (3),
-.BR tempnam (3),
-.BR tmpfile (3),
-.BR tmpnam (3)
+.MR mkdtemp 3 ,
+.MR mktemp 3 ,
+.MR tempnam 3 ,
+.MR tmpfile 3 ,
+.MR tmpnam 3
diff --git a/man3/mktemp.3 b/man3/mktemp.3
index 181325b98..530d8e829 100644
--- a/man3/mktemp.3
+++ b/man3/mktemp.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mktemp ():
@@ -71,7 +71,7 @@ is set to indicate the error.
The last six characters of \fItemplate\fP were not XXXXXX.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -106,13 +106,13 @@ opening the file, every use of
.BR mktemp ()
is a security risk.
The race is avoided by
-.BR mkstemp (3)
+.MR mkstemp 3
and
-.BR mkdtemp (3).
+.MR mkdtemp 3 .
.SH SEE ALSO
-.BR mktemp (1),
-.BR mkdtemp (3),
-.BR mkstemp (3),
-.BR tempnam (3),
-.BR tmpfile (3),
-.BR tmpnam (3)
+.MR mktemp 1 ,
+.MR mkdtemp 3 ,
+.MR mkstemp 3 ,
+.MR tempnam 3 ,
+.MR tmpfile 3 ,
+.MR tmpnam 3
diff --git a/man3/modf.3 b/man3/modf.3
index 333f2f859..06305abfe 100644
--- a/man3/modf.3
+++ b/man3/modf.3
@@ -29,7 +29,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR modff (),
@@ -66,7 +66,7 @@ is set to positive infinity (negative infinity).
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -90,5 +90,5 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR frexp (3),
-.BR ldexp (3)
+.MR frexp 3 ,
+.MR ldexp 3
diff --git a/man3/mpool.3 b/man3/mpool.3
index 63b24ff2b..6c4e8b541 100644
--- a/man3/mpool.3
+++ b/man3/mpool.3
@@ -160,7 +160,7 @@ The
function may fail and set
.I errno
for any of the errors specified for the library routine
-.BR malloc (3).
+.MR malloc 3 .
.P
The
.BR mpool_get ()
@@ -178,28 +178,28 @@ and
functions may fail and set
.I errno
for any of the errors specified for the library routines
-.BR read (2),
-.BR write (2),
+.MR read 2 ,
+.MR write 2 ,
and
-.BR malloc (3).
+.MR malloc 3 .
.P
The
.BR mpool_sync ()
function may fail and set
.I errno
for any of the errors specified for the library routine
-.BR write (2).
+.MR write 2 .
.P
The
.BR mpool_close ()
function may fail and set
.I errno
for any of the errors specified for the library routine
-.BR free (3).
+.MR free 3 .
.SH STANDARDS
BSD.
.SH SEE ALSO
-.BR btree (3),
-.BR dbopen (3),
-.BR hash (3),
-.BR recno (3)
+.MR btree 3 ,
+.MR dbopen 3 ,
+.MR hash 3 ,
+.MR recno 3
diff --git a/man3/mq_close.3 b/man3/mq_close.3
index 5810bb36f..1db51a289 100644
--- a/man3/mq_close.3
+++ b/man3/mq_close.3
@@ -21,7 +21,7 @@ closes the message queue descriptor
.IR mqdes .
.P
If the calling process has attached a notification request (see
-.BR mq_notify (3))
+.MR mq_notify 3 )
to this message queue via
.IR mqdes ,
then this request is removed,
@@ -40,7 +40,7 @@ The message queue descriptor specified in
is invalid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -59,12 +59,12 @@ POSIX.1-2001.
.SH NOTES
All open message queues are automatically closed on process termination,
or upon
-.BR execve (2).
+.MR execve 2 .
.SH SEE ALSO
-.BR mq_getattr (3),
-.BR mq_notify (3),
-.BR mq_open (3),
-.BR mq_receive (3),
-.BR mq_send (3),
-.BR mq_unlink (3),
-.BR mq_overview (7)
+.MR mq_getattr 3 ,
+.MR mq_notify 3 ,
+.MR mq_open 3 ,
+.MR mq_receive 3 ,
+.MR mq_send 3 ,
+.MR mq_unlink 3 ,
+.MR mq_overview 7
diff --git a/man3/mq_getattr.3 b/man3/mq_getattr.3
index 3d11c308c..c0c93c0c1 100644
--- a/man3/mq_getattr.3
+++ b/man3/mq_getattr.3
@@ -47,7 +47,7 @@ The
.I mq_flags
field contains flags associated with the open message queue description.
This field is initialized when the queue is created by
-.BR mq_open (3).
+.MR mq_open 3 .
The only flag that can appear in this field is
.BR O_NONBLOCK .
.P
@@ -56,12 +56,12 @@ The
and
.I mq_msgsize
fields are set when the message queue is created by
-.BR mq_open (3).
+.MR mq_open 3 .
The
.I mq_maxmsg
field is an upper limit on the number of messages
that may be placed on the queue using
-.BR mq_send (3).
+.MR mq_send 3 .
The
.I mq_msgsize
field is an upper limit on the size of messages
@@ -70,7 +70,7 @@ Both of these fields must have a value greater than zero.
Two
.I /proc
files that place ceilings on the values for these fields are described in
-.BR mq_overview (7).
+.MR mq_overview 7 .
.P
The
.I mq_curmsgs
@@ -116,7 +116,7 @@ contained set bits other than
.BR O_NONBLOCK .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -135,7 +135,7 @@ On Linux,
and
.BR mq_setattr ()
are library functions layered on top of the
-.BR mq_getsetattr (2)
+.MR mq_getsetattr 2
system call.
.SH STANDARDS
POSIX.1-2008.
@@ -147,7 +147,7 @@ The program below can be used to show the default
and
.I mq_msgsize
values that are assigned to a message queue that is created with a call to
-.BR mq_open (3)
+.MR mq_open 3
in which the
.I attr
argument is NULL.
@@ -164,7 +164,7 @@ Maximum message size: 8192
Since Linux 3.5, the following
.I /proc
files (described in
-.BR mq_overview (7))
+.MR mq_overview 7 )
can be used to control the defaults:
.P
.in +4n
@@ -220,10 +220,10 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR mq_close (3),
-.BR mq_notify (3),
-.BR mq_open (3),
-.BR mq_receive (3),
-.BR mq_send (3),
-.BR mq_unlink (3),
-.BR mq_overview (7)
+.MR mq_close 3 ,
+.MR mq_notify 3 ,
+.MR mq_open 3 ,
+.MR mq_receive 3 ,
+.MR mq_send 3 ,
+.MR mq_unlink 3 ,
+.MR mq_overview 7
diff --git a/man3/mq_notify.3 b/man3/mq_notify.3
index 653e401c9..b7d180afd 100644
--- a/man3/mq_notify.3
+++ b/man3/mq_notify.3
@@ -29,7 +29,7 @@ argument is a pointer to a
.I sigevent
structure.
For the definition and general details of this structure, see
-.BR sigevent (3type).
+.MR sigevent 3type .
.P
If
.I sevp
@@ -54,7 +54,7 @@ for notification, but when a message arrives, no notification is sent.
Notify the process by sending the signal specified in
.IR sigev_signo .
See
-.BR sigevent (3type)
+.MR sigevent 3type
for general details.
The
.I si_code
@@ -75,7 +75,7 @@ Upon message delivery, invoke
.I sigev_notify_function
as if it were the start function of a new thread.
See
-.BR sigevent (3type)
+.MR sigevent 3type
for details.
.P
Only one process can be registered to receive notification
@@ -97,10 +97,10 @@ the queue is emptied and a new message arrives.
.P
If another process or thread is waiting to read a message
from an empty queue using
-.BR mq_receive (3),
+.MR mq_receive 3 ,
then any message notification registration is ignored:
the message is delivered to the process or thread calling
-.BR mq_receive (3),
+.MR mq_receive 3 ,
and the message notification registration remains in effect.
.P
Notification occurs once: after a notification is delivered,
@@ -155,7 +155,7 @@ notifications for the queue
.IR mqdes .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -185,7 +185,7 @@ rather than the kernel.
since the thread involved in handling the notification is one
that must be managed by the C library POSIX threads implementation.)
The implementation involves the use of a raw
-.BR netlink (7)
+.MR netlink 7
socket and creates a new thread for each notification that is
delivered to the process.
.SH STANDARDS
@@ -263,11 +263,11 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR mq_close (3),
-.BR mq_getattr (3),
-.BR mq_open (3),
-.BR mq_receive (3),
-.BR mq_send (3),
-.BR mq_unlink (3),
-.BR mq_overview (7),
-.BR sigevent (3type)
+.MR mq_close 3 ,
+.MR mq_getattr 3 ,
+.MR mq_open 3 ,
+.MR mq_receive 3 ,
+.MR mq_send 3 ,
+.MR mq_unlink 3 ,
+.MR mq_overview 7 ,
+.MR sigevent 3type
diff --git a/man3/mq_open.3 b/man3/mq_open.3
index 7343ea093..ef5ea1526 100644
--- a/man3/mq_open.3
+++ b/man3/mq_open.3
@@ -27,7 +27,7 @@ The queue is identified by
For details of the construction of
.IR name ,
see
-.BR mq_overview (7).
+.MR mq_overview 7 .
.P
The
.I oflag
@@ -55,7 +55,7 @@ in
.\" commit 269f21344b23e552c21c9e2d7ca258479dcd7a0a
Set the close-on-exec flag for the message queue descriptor.
See
-.BR open (2)
+.MR open 2
for a discussion of why this flag is useful.
.TP
.B O_CREAT
@@ -79,9 +79,9 @@ already exists, then fail with the error
.B O_NONBLOCK
Open the queue in nonblocking mode.
In circumstances where
-.BR mq_receive (3)
+.MR mq_receive 3
and
-.BR mq_send (3)
+.MR mq_send 3
would normally block, these functions instead fail with the error
.BR EAGAIN .
.P
@@ -94,7 +94,7 @@ The
.I mode
argument specifies the permissions to be placed on the new queue,
as for
-.BR open (2).
+.MR open 2 .
(Symbolic definitions for the permissions bits can be obtained by including
.IR <sys/stat.h> .)
The permissions settings are masked against the process umask.
@@ -134,7 +134,7 @@ default attributes.
Since Linux 3.5, two
.I /proc
files can be used to control these defaults; see
-.BR mq_overview (7)
+.MR mq_overview 7
for details.
.SH RETURN VALUE
On success,
@@ -175,7 +175,7 @@ already exists.
.\" gives this error
.I name
doesn't follow the format in
-.BR mq_overview (7).
+.MR mq_overview 7 .
.TP
.B EINVAL
.B O_CREAT
@@ -206,7 +206,7 @@ cannot exceed the
.B HARD_MAX
limit.
(See
-.BR mq_overview (7)
+.MR mq_overview 7
for details of these limits.)
.TP
.B EMFILE
@@ -215,7 +215,7 @@ and message queue descriptors has been reached
(see the description of
.B RLIMIT_NOFILE
in
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.B ENAMETOOLONG
.I name
@@ -247,10 +247,10 @@ Insufficient space for the creation of a new message queue.
This probably occurred because the
.I queues_max
limit was encountered; see
-.BR mq_overview (7).
+.MR mq_overview 7 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -289,10 +289,10 @@ Before Linux 2.6.14,
the process umask was not applied to the permissions specified in
.IR mode .
.SH SEE ALSO
-.BR mq_close (3),
-.BR mq_getattr (3),
-.BR mq_notify (3),
-.BR mq_receive (3),
-.BR mq_send (3),
-.BR mq_unlink (3),
-.BR mq_overview (7)
+.MR mq_close 3 ,
+.MR mq_getattr 3 ,
+.MR mq_notify 3 ,
+.MR mq_receive 3 ,
+.MR mq_send 3 ,
+.MR mq_unlink 3 ,
+.MR mq_overview 7
diff --git a/man3/mq_receive.3 b/man3/mq_receive.3
index 232c191df..8679b09db 100644
--- a/man3/mq_receive.3
+++ b/man3/mq_receive.3
@@ -28,7 +28,7 @@ char *restrict " msg_ptr [. msg_len ],
.ad l
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mq_timedreceive ():
@@ -49,7 +49,7 @@ argument specifies the size of the buffer pointed to by
this must be greater than or equal to the
.I mq_msgsize
attribute of the queue (see
-.BR mq_getattr (3)).
+.MR mq_getattr 3 ).
If
.I msg_prio
is not NULL, then the buffer to which it points is used
@@ -76,7 +76,7 @@ points to a structure which specifies how long the call will block.
This value is an absolute timeout in seconds and nanoseconds
since the Epoch, 1970-01-01 00:00:00 +0000 (UTC),
specified in a
-.BR timespec (3)
+.MR timespec 3
structure.
.P
If no message is available,
@@ -107,7 +107,7 @@ was invalid or not opened for reading.
.TP
.B EINTR
The call was interrupted by a signal handler; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The call would have blocked, and
@@ -128,7 +128,7 @@ attribute of the message queue.
The call timed out before a message could be transferred.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -152,12 +152,12 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR mq_close (3),
-.BR mq_getattr (3),
-.BR mq_notify (3),
-.BR mq_open (3),
-.BR mq_send (3),
-.BR mq_unlink (3),
-.BR timespec (3),
-.BR mq_overview (7),
-.BR time (7)
+.MR mq_close 3 ,
+.MR mq_getattr 3 ,
+.MR mq_notify 3 ,
+.MR mq_open 3 ,
+.MR mq_send 3 ,
+.MR mq_unlink 3 ,
+.MR timespec 3 ,
+.MR mq_overview 7 ,
+.MR time 7
diff --git a/man3/mq_send.3 b/man3/mq_send.3
index 2cc63825c..025fe75fe 100644
--- a/man3/mq_send.3
+++ b/man3/mq_send.3
@@ -27,7 +27,7 @@ Real-time library
.ad l
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR mq_timedsend ():
@@ -57,7 +57,7 @@ Messages are placed on the queue in decreasing order of priority,
with newer messages of the same priority being placed after
older messages with the same priority.
See
-.BR mq_overview (7)
+.MR mq_overview 7
for details on the range for the message priority.
.P
If the message queue is already full
@@ -84,7 +84,7 @@ points to a structure which specifies how long the call will block.
This value is an absolute timeout in seconds and nanoseconds
since the Epoch, 1970-01-01 00:00:00 +0000 (UTC),
specified in a
-.BR timespec (3)
+.MR timespec 3
structure.
.P
If the message queue is full,
@@ -114,7 +114,7 @@ was invalid or not opened for writing.
.TP
.B EINTR
The call was interrupted by a signal handler; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
The call would have blocked, and
@@ -135,7 +135,7 @@ attribute of the message queue.
The call timed out before a message could be transferred.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -159,12 +159,12 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR mq_close (3),
-.BR mq_getattr (3),
-.BR mq_notify (3),
-.BR mq_open (3),
-.BR mq_receive (3),
-.BR mq_unlink (3),
-.BR timespec (3),
-.BR mq_overview (7),
-.BR time (7)
+.MR mq_close 3 ,
+.MR mq_getattr 3 ,
+.MR mq_notify 3 ,
+.MR mq_open 3 ,
+.MR mq_receive 3 ,
+.MR mq_unlink 3 ,
+.MR timespec 3 ,
+.MR mq_overview 7 ,
+.MR time 7
diff --git a/man3/mq_unlink.3 b/man3/mq_unlink.3
index 5457b55f4..f894fb90e 100644
--- a/man3/mq_unlink.3
+++ b/man3/mq_unlink.3
@@ -42,7 +42,7 @@ There is no message queue with the given
.IR name .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -59,10 +59,10 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR mq_close (3),
-.BR mq_getattr (3),
-.BR mq_notify (3),
-.BR mq_open (3),
-.BR mq_receive (3),
-.BR mq_send (3),
-.BR mq_overview (7)
+.MR mq_close 3 ,
+.MR mq_getattr 3 ,
+.MR mq_notify 3 ,
+.MR mq_open 3 ,
+.MR mq_receive 3 ,
+.MR mq_send 3 ,
+.MR mq_overview 7
diff --git a/man3/mtrace.3 b/man3/mtrace.3
index 31db0793a..4f69346d8 100644
--- a/man3/mtrace.3
+++ b/man3/mtrace.3
@@ -20,10 +20,11 @@ Standard C library
The
.BR mtrace ()
function installs hook functions for the memory-allocation functions
-.RB ( malloc (3),
-.BR realloc (3)
-.BR memalign (3),
-.BR free (3)).
+\%(\c
+.MR malloc 3 ,
+.MR realloc 3
+.MR memalign 3 ,
+.MR free 3 ).
These hook functions record tracing information about memory allocation
and deallocation.
The tracing information can be used to discover memory leaks and
@@ -62,7 +63,7 @@ is ignored, and
has no effect.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -97,7 +98,7 @@ The tracing output produced after a call to
.BR mtrace ()
is textual, but not designed to be human readable.
The GNU C library provides a Perl script,
-.BR mtrace (1),
+.MR mtrace 1 ,
that interprets the trace log and produces human-readable output.
For best results,
the traced program should be compiled with debugging enabled,
@@ -110,7 +111,7 @@ incurs a performance penalty (if
points to a valid, writable pathname).
.SH BUGS
The line-number information produced by
-.BR mtrace (1)
+.MR mtrace 1
is not always precise:
the line number references may refer to the previous or following (nonblank)
line of the source code.
@@ -118,7 +119,7 @@ line of the source code.
The shell session below demonstrates the use of the
.BR mtrace ()
function and the
-.BR mtrace (1)
+.MR mtrace 1
command in a program that has memory leaks at two different locations.
The demonstration uses the following program:
.P
@@ -165,16 +166,16 @@ Memory not freed:
.in
.P
The first two messages about unfreed memory correspond to the two
-.BR malloc (3)
+.MR malloc 3
calls inside the
.I for
loop.
The final message corresponds to the call to
-.BR calloc (3)
+.MR calloc 3
(which in turn calls
-.BR malloc (3)).
+.MR malloc 3 ).
.SH SEE ALSO
-.BR mtrace (1),
-.BR malloc (3),
-.BR malloc_hook (3),
-.BR mcheck (3)
+.MR mtrace 1 ,
+.MR malloc 3 ,
+.MR malloc_hook 3 ,
+.MR mcheck 3
diff --git a/man3/nan.3 b/man3/nan.3
index f0e79b63d..096b7addb 100644
--- a/man3/nan.3
+++ b/man3/nan.3
@@ -24,7 +24,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR nan (),
@@ -55,9 +55,9 @@ Similarly, calls to
and
.BR nanl ()
are equivalent to analogous calls to
-.BR strtof (3)
+.MR strtof 3
and
-.BR strtold (3).
+.MR strtold 3 .
.P
The argument
.I tagp
@@ -68,7 +68,7 @@ selects one.
On other systems it may do nothing.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -91,6 +91,6 @@ recommended functions in IEEE 754/IEEE 854.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR isnan (3),
-.BR strtod (3),
-.BR math_error (7)
+.MR isnan 3 ,
+.MR strtod 3 ,
+.MR math_error 7
diff --git a/man3/netlink.3 b/man3/netlink.3
index b8f3e1bdc..d7b9c3c18 100644
--- a/man3/netlink.3
+++ b/man3/netlink.3
@@ -28,7 +28,7 @@ Standard C library
.I <linux/netlink.h>
defines several standard macros to access or create a netlink datagram.
They are similar in spirit to the macros defined in
-.BR cmsg (3)
+.MR cmsg 3
for auxiliary data.
The buffer passed to and from a netlink socket should
be accessed using only these macros.
@@ -83,5 +83,5 @@ than via the low-level kernel interface.
.SH STANDARDS
Linux.
.SH SEE ALSO
-.BR libnetlink (3),
-.BR netlink (7)
+.MR libnetlink 3 ,
+.MR netlink 7
diff --git a/man3/newlocale.3 b/man3/newlocale.3
index e6b29f875..b8f17e735 100644
--- a/man3/newlocale.3
+++ b/man3/newlocale.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR newlocale (),
@@ -51,7 +51,7 @@ refers to valid existing locale object
(i.e., an object returned by a previous call to
.BR newlocale ()
or
-.BR duplocale (3)),
+.MR duplocale 3 ),
then that object is modified by the call.
If the call is successful, the contents of
.I base
@@ -73,7 +73,7 @@ If
is the special locale object
.B LC_GLOBAL_LOCALE
(see
-.BR duplocale (3)),
+.MR duplocale 3 ),
or is not
.I (locale_t)\ 0
and is not a valid locale object handle,
@@ -131,7 +131,7 @@ corresponding to the values of the
and
.B LANG
environment variables (see
-.BR locale (7)).
+.MR locale 7 ).
.SS freelocale()
The
.BR freelocale ()
@@ -140,7 +140,7 @@ function deallocates the resources associated with
a locale object previously returned by a call to
.BR newlocale ()
or
-.BR duplocale (3).
+.MR duplocale 3 .
If
.I locobj
is
@@ -153,7 +153,7 @@ the program should make no further use of it.
On success,
.BR newlocale ()
returns a handle that can be used in calls to
-.BR duplocale (3),
+.MR duplocale 3 ,
.BR freelocale (),
and other functions that take a
.I locale_t
@@ -205,7 +205,7 @@ category of the locale object.
.P
Having created and initialized the locale object,
the program then applies it using
-.BR uselocale (3),
+.MR uselocale 3 ,
and then tests the effect of the locale changes by:
.IP (1) 5
Displaying a floating-point number with a fractional part.
@@ -348,9 +348,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR locale (1),
-.BR duplocale (3),
-.BR setlocale (3),
-.BR uselocale (3),
-.BR locale (5),
-.BR locale (7)
+.MR locale 1 ,
+.MR duplocale 3 ,
+.MR setlocale 3 ,
+.MR uselocale 3 ,
+.MR locale 5 ,
+.MR locale 7
diff --git a/man3/nextafter.3 b/man3/nextafter.3
index a33c1c4f6..8873858de 100644
--- a/man3/nextafter.3
+++ b/man3/nextafter.3
@@ -29,7 +29,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR nextafter ():
@@ -137,7 +137,7 @@ and either the correct value (if it can be represented),
or 0.0, is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -162,7 +162,7 @@ An underflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -197,4 +197,4 @@ Before glibc 2.23
these functions did not set
.IR errno .
.SH SEE ALSO
-.BR nearbyint (3)
+.MR nearbyint 3
diff --git a/man3/nextup.3 b/man3/nextup.3
index 618c6b2de..542ddafe2 100644
--- a/man3/nextup.3
+++ b/man3/nextup.3
@@ -65,7 +65,7 @@ See DESCRIPTION.
.\" .SH ERRORS
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -90,5 +90,5 @@ and
.SH HISTORY
glibc 2.24.
.SH SEE ALSO
-.BR nearbyint (3),
-.BR nextafter (3)
+.MR nearbyint 3 ,
+.MR nextafter 3
diff --git a/man3/nl_langinfo.3 b/man3/nl_langinfo.3
index d50b0f91b..4bc16129d 100644
--- a/man3/nl_langinfo.3
+++ b/man3/nl_langinfo.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR nl_langinfo_l ():
@@ -44,7 +44,7 @@ and
.BR nl_langinfo_l ()
functions provide access to locale information
in a more flexible way than
-.BR localeconv (3).
+.MR localeconv 3 .
.BR nl_langinfo ()
returns a string which is the value corresponding to
\fIitem\fP in the program's current global
@@ -53,7 +53,7 @@ locale.
returns a string which is the value corresponding to \fIitem\fP
for the locale identified by the locale object \fIlocale\fP,
which was previously created by
-.BR newlocale (3).
+.MR newlocale 3 .
Individual and additional elements of the locale categories can
be queried.
.P
@@ -68,25 +68,25 @@ This is the same string that you get with
"locale charmap".
For a list of character encoding names,
try "locale \-m" (see
-.BR locale (1)).
+.MR locale 1 ).
.TP
.BR D_T_FMT \ (LC_TIME)
Return a string that can be used as a format string for
-.BR strftime (3)
+.MR strftime 3
to represent time and date in a locale-specific way
.RB ( %c
conversion specification).
.TP
.BR D_FMT \ (LC_TIME)
Return a string that can be used as a format string for
-.BR strftime (3)
+.MR strftime 3
to represent a date in a locale-specific way
.RB ( %x
conversion specification).
.TP
.BR T_FMT \ (LC_TIME)
Return a string that can be used as a format string for
-.BR strftime (3)
+.MR strftime 3
to represent a time in a locale-specific way
.RB ( %X
conversion specification).
@@ -96,7 +96,7 @@ Return a string that represents affix for ante meridiem (before noon, "AM")
time.
(Used in
.B %p
-.BR strftime (3)
+.MR strftime 3
conversion specification.)
.TP
.BR PM_STR \ (LC_TIME)
@@ -104,12 +104,12 @@ Return a string that represents affix for post meridiem (before midnight, "PM")
time.
(Used in
.B %p
-.BR strftime (3)
+.MR strftime 3
conversion specification.)
.TP
.BR T_FMT_AMPM \ (LC_TIME)
Return a string that can be used as a format string for
-.BR strftime (3)
+.MR strftime 3
to represent a time in a.m. or p.m. notation in a locale-specific way
.RB ( %r
conversion specification).
@@ -162,13 +162,13 @@ or one of the two special values
.I era_name
The name of the era, corresponding to the
.B %EC
-.BR strftime (3)
+.MR strftime 3
conversion specification.
.TP
.I era_format
The format of the year in the era, corresponding to the
.B %EY
-.BR strftime (3)
+.MR strftime 3
conversion specification.
.RE
.IP
@@ -179,21 +179,21 @@ locales.
.TP
.BR ERA_D_T_FMT \ (LC_TIME)
Return a string that can be used as a format string for
-.BR strftime (3)
+.MR strftime 3
for alternative representation of time and date in a locale-specific way
.RB ( %Ec
conversion specification).
.TP
.BR ERA_D_FMT \ (LC_TIME)
Return a string that can be used as a format string for
-.BR strftime (3)
+.MR strftime 3
for alternative representation of a date in a locale-specific way
.RB ( %Ex
conversion specification).
.TP
.BR ERA_T_FMT \ (LC_TIME)
Return a string that can be used as a format string for
-.BR strftime (3)
+.MR strftime 3
for alternative representation of a time in a locale-specific way
.RB ( %EX
conversion specification).
@@ -205,28 +205,28 @@ the US convention DAY_1 = Sunday, not the international convention
(ISO 8601) that Monday is the first day of the week.]
(Used in
.B %A
-.BR strftime (3)
+.MR strftime 3
conversion specification.)
.TP
.BR ABDAY_ "{1\[en]7} (LC_TIME)"
Return abbreviated name of the \fIn\fP-th day of the week.
(Used in
.B %a
-.BR strftime (3)
+.MR strftime 3
conversion specification.)
.TP
.BR MON_ "{1\[en]12} (LC_TIME)"
Return name of the \fIn\fP-th month.
(Used in
.B %B
-.BR strftime (3)
+.MR strftime 3
conversion specification.)
.TP
.BR ABMON_ "{1\[en]12} (LC_TIME)"
Return abbreviated name of the \fIn\fP-th month.
(Used in
.B %b
-.BR strftime (3)
+.MR strftime 3
conversion specification.)
.TP
.BR RADIXCHAR \ (LC_NUMERIC)
@@ -237,12 +237,12 @@ Return separator character for thousands (groups of three digits).
.TP
.BR YESEXPR \ (LC_MESSAGES)
Return a regular expression that can be used with the
-.BR regex (3)
+.MR regex 3
function to recognize a positive response to a yes/no question.
.TP
.BR NOEXPR \ (LC_MESSAGES)
Return a regular expression that can be used with the
-.BR regex (3)
+.MR regex 3
function to recognize a negative response to a yes/no question.
.TP
.BR CRNCYSTR \ (LC_MONETARY)
@@ -260,7 +260,7 @@ is the value corresponding to
in the specified locale.
.P
If no locale has been selected by
-.BR setlocale (3)
+.MR setlocale 3
for the appropriate category,
.BR nl_langinfo ()
return a pointer to the corresponding string in the "C" locale.
@@ -280,21 +280,21 @@ by a subsequent call to
.BR nl_langinfo (),
.BR nl_langinfo_l (),
or
-.BR setlocale (3).
+.MR setlocale 3 .
The same statements apply to
.BR nl_langinfo_l ()
if the locale object referred to by
.I locale
is freed or modified by
-.BR freelocale (3)
+.MR freelocale 3
or
-.BR newlocale (3).
+.MR newlocale 3 .
.P
POSIX specifies that the application may not modify
the string returned by these functions.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -344,10 +344,10 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR locale (1),
-.BR localeconv (3),
-.BR setlocale (3),
-.BR charsets (7),
-.BR locale (7)
+.MR locale 1 ,
+.MR localeconv 3 ,
+.MR setlocale 3 ,
+.MR charsets 7 ,
+.MR locale 7
.P
The GNU C Library Reference Manual
diff --git a/man3/ntp_gettime.3 b/man3/ntp_gettime.3
index 62283a4f9..02c9212d6 100644
--- a/man3/ntp_gettime.3
+++ b/man3/ntp_gettime.3
@@ -53,7 +53,7 @@ struct timeval {
.I maxerror
Maximum error, in microseconds.
This value can be initialized by
-.BR ntp_adjtime (3),
+.MR ntp_adjtime 3 ,
and is increased periodically (on Linux: each second),
but is clamped to an upper limit (the kernel constant
.BR NTP_PHASE_MAX ,
@@ -62,7 +62,7 @@ with a value of 16,000).
.I esterror
Estimated error, in microseconds.
This value can be set via
-.BR ntp_adjtime (3)
+.MR ntp_adjtime 3
to contain an estimate of the difference between the system clock
and the true time.
This value is not used inside the kernel.
@@ -92,12 +92,12 @@ The return values for
and
.BR ntp_gettimex ()
are as for
-.BR adjtimex (2).
+.MR adjtimex 2 .
Given a correct pointer argument, these functions always succeed.
.\" FIXME . the info page incorrectly describes the return values.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -125,9 +125,9 @@ glibc 2.1.
.BR ntp_gettimex ()
glibc 2.12.
.SH SEE ALSO
-.BR adjtimex (2),
-.BR ntp_adjtime (3),
-.BR time (7)
+.MR adjtimex 2 ,
+.MR ntp_adjtime 3 ,
+.MR time 7
.P
.ad l
.UR http://www.slac.stanford.edu/comp/unix/\:package/\:rtems/\:src/\:ssrlApps/\:ntpNanoclock/\:api.htm
diff --git a/man3/offsetof.3 b/man3/offsetof.3
index 7eea85c10..c802c5272 100644
--- a/man3/offsetof.3
+++ b/man3/offsetof.3
@@ -69,7 +69,7 @@ C11, POSIX.1-2008.
POSIX.1-2001, C89.
.SH EXAMPLES
On a Linux/i386 system, when compiled using the default
-.BR gcc (1)
+.MR gcc 1
options, the program below produces the following output:
.P
.in +4n
diff --git a/man3/on_exit.3 b/man3/on_exit.3
index 08fceba13..c843e0282 100644
--- a/man3/on_exit.3
+++ b/man3/on_exit.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR on_exit ():
@@ -41,13 +41,13 @@ function registers the given
.I function
to be
called at normal process termination, whether via
-.BR exit (3)
+.MR exit 3
or via return from the program's
.IR main ().
The
.I function
is passed the status argument given to the last call to
-.BR exit (3)
+.MR exit 3
and the
.I arg
argument from
@@ -57,10 +57,10 @@ The same function may be registered multiple times:
it is called once for each registration.
.P
When a child process is created via
-.BR fork (2),
+.MR fork 2 ,
it inherits copies of its parent's registrations.
Upon a successful call to one of the
-.BR exec (3)
+.MR exec 3
functions, all registrations are removed.
.SH RETURN VALUE
The
@@ -69,7 +69,7 @@ function returns the value 0 if successful; otherwise
it returns a nonzero value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -87,7 +87,7 @@ None.
SunOS 4, glibc.
Removed in Solaris (SunOS 5).
Use the standard
-.BR atexit (3)
+.MR atexit 3
instead.
.SH CAVEATS
By the time
@@ -100,6 +100,6 @@ Therefore,
should not be a pointer to a stack variable;
it may however be a pointer to a heap variable or a global variable.
.SH SEE ALSO
-.BR _exit (2),
-.BR atexit (3),
-.BR exit (3)
+.MR _exit 2 ,
+.MR atexit 3 ,
+.MR exit 3
diff --git a/man3/open_memstream.3 b/man3/open_memstream.3
index 63a1ea9be..f5d735f78 100644
--- a/man3/open_memstream.3
+++ b/man3/open_memstream.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR open_memstream (),
@@ -43,7 +43,7 @@ The function dynamically allocates the buffer,
and the buffer automatically grows as needed.
Initially, the buffer has a size of zero.
After closing the stream, the caller should
-.BR free (3)
+.MR free 3
this buffer.
.P
The locations pointed to by
@@ -54,9 +54,11 @@ are used to report, respectively,
the current location and the size of the buffer.
The locations referred to by these pointers are updated
each time the stream is flushed
-.RB ( fflush (3))
+\%(\c
+.MR fflush 3 )
and when the stream is closed
-.RB ( fclose (3)).
+\%(\c
+.MR fclose 3 ).
These values remain valid only as long as the caller
performs no further output on the stream.
If further output is performed, then the stream
@@ -72,9 +74,9 @@ The stream maintains the notion of a current position,
which is initially zero (the start of the buffer).
Each write operation implicitly adjusts the buffer position.
The stream's buffer position can be explicitly changed with
-.BR fseek (3)
+.MR fseek 3
or
-.BR fseeko (3).
+.MR fseeko 3 .
Moving the buffer position past the end
of the data already written fills the intervening space with
null characters.
@@ -97,7 +99,7 @@ Otherwise, NULL is returned and
is set to indicate the error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -123,19 +125,19 @@ glibc 2.4.
There is no file descriptor associated with the file stream
returned by these functions
(i.e.,
-.BR fileno (3)
+.MR fileno 3
will return an error if called on the returned stream).
.SH BUGS
Before glibc 2.7, seeking past the end of a stream created by
.BR open_memstream ()
does not enlarge the buffer; instead the
-.BR fseek (3)
+.MR fseek 3
call fails, returning \-1.
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=1996
.SH EXAMPLES
See
-.BR fmemopen (3).
+.MR fmemopen 3 .
.SH SEE ALSO
-.BR fmemopen (3),
-.BR fopen (3),
-.BR setbuf (3)
+.MR fmemopen 3 ,
+.MR fopen 3 ,
+.MR setbuf 3
diff --git a/man3/opendir.3 b/man3/opendir.3
index 9222310a0..f11a89373 100644
--- a/man3/opendir.3
+++ b/man3/opendir.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR fdopendir ():
@@ -91,7 +91,7 @@ Insufficient memory to complete the operation.
\fIname\fP is not a directory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -116,10 +116,10 @@ POSIX.1-2008.
glibc 2.4.
.SH NOTES
Filename entries can be read from a directory stream using
-.BR readdir (3).
+.MR readdir 3 .
.P
The underlying file descriptor of the directory stream can be obtained using
-.BR dirfd (3).
+.MR dirfd 3 .
.P
The
.BR opendir ()
@@ -135,11 +135,11 @@ POSIX.1-200x leaves it unspecified whether a successful call to
will set the close-on-exec flag for the file descriptor,
.IR fd .
.SH SEE ALSO
-.BR open (2),
-.BR closedir (3),
-.BR dirfd (3),
-.BR readdir (3),
-.BR rewinddir (3),
-.BR scandir (3),
-.BR seekdir (3),
-.BR telldir (3)
+.MR open 2 ,
+.MR closedir 3 ,
+.MR dirfd 3 ,
+.MR readdir 3 ,
+.MR rewinddir 3 ,
+.MR scandir 3 ,
+.MR seekdir 3 ,
+.MR telldir 3
diff --git a/man3/openpty.3 b/man3/openpty.3
index 35ba068e8..56ce4bf6e 100644
--- a/man3/openpty.3
+++ b/man3/openpty.3
@@ -71,7 +71,7 @@ The
.BR forkpty ()
function combines
.BR openpty (),
-.BR fork (2),
+.MR fork 2 ,
and
.BR login_tty ()
to create a new process operating in a pseudoterminal.
@@ -115,7 +115,7 @@ There are no available terminals.
.P
.BR login_tty ()
fails if
-.BR ioctl (2)
+.MR ioctl 2
fails to set
.I fd
to the controlling terminal of the calling process.
@@ -124,11 +124,11 @@ to the controlling terminal of the calling process.
fails if either
.BR openpty ()
or
-.BR fork (2)
+.MR fork 2
fails.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -174,6 +174,6 @@ with non-NULL
.I name
may not be secure.
.SH SEE ALSO
-.BR fork (2),
-.BR ttyname (3),
-.BR pty (7)
+.MR fork 2 ,
+.MR ttyname 3 ,
+.MR pty 7
diff --git a/man3/perror.3 b/man3/perror.3
index 87a2520f1..c67e07258 100644
--- a/man3/perror.3
+++ b/man3/perror.3
@@ -32,7 +32,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.IR sys_errlist ,
@@ -76,7 +76,7 @@ may not have been added to
The use of
.IR sys_errlist "[]"
is nowadays deprecated; use
-.BR strerror (3)
+.MR strerror 3
instead.
.P
When a system call fails, it usually returns \-1 and sets the
@@ -101,7 +101,7 @@ the value of
should be saved.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -136,7 +136,7 @@ POSIX.1-2001, C89, 4.3BSD.
.I sys_errlist
Removed in glibc 2.32.
.SH SEE ALSO
-.BR err (3),
-.BR errno (3),
-.BR error (3),
-.BR strerror (3)
+.MR err 3 ,
+.MR errno 3 ,
+.MR error 3 ,
+.MR strerror 3
diff --git a/man3/popen.3 b/man3/popen.3
index c56d938e4..683f5649a 100644
--- a/man3/popen.3
+++ b/man3/popen.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR popen (),
@@ -67,7 +67,7 @@ to be set on the underlying file descriptor;
see the description of the
.B O_CLOEXEC
flag in
-.BR open (2)
+.MR open 2
for reasons why this may be useful.
.P
The return value from
@@ -76,7 +76,7 @@ is a normal standard I/O stream in all respects save that it must be closed
with
.BR pclose ()
rather than
-.BR fclose (3).
+.MR fclose 3 .
Writing to such a stream writes to the standard input of the command; the
command's standard output is the same as that of the process that called
.BR popen (),
@@ -94,15 +94,15 @@ The
.BR pclose ()
function waits for the associated process to terminate and returns the exit
status of the command as returned by
-.BR wait4 (2).
+.MR wait4 2 .
.SH RETURN VALUE
.BR popen ():
on success, returns a pointer to an open stream that
can be used to read or write to the pipe;
if the
-.BR fork (2)
+.MR fork 2
or
-.BR pipe (2)
+.MR pipe 2
calls fail, or if the function cannot allocate memory,
NULL is returned.
.P
@@ -114,7 +114,7 @@ on success, returns the exit status of the command; if
.\" is not associated with a "popen()ed" command, if
.\".I stream
.\" already "pclose()d", or if
-.BR wait4 (2)
+.MR wait4 2
returns an error, or some other error is detected,
\-1 is returned.
.P
@@ -128,9 +128,9 @@ function does not set
.I errno
if memory allocation fails.
If the underlying
-.BR fork (2)
+.MR fork 2
or
-.BR pipe (2)
+.MR pipe 2
fails,
.I errno
is set to indicate the error.
@@ -149,7 +149,7 @@ is set to
.BR ECHILD .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -172,7 +172,7 @@ POSIX.1-2008.
POSIX.1-2001.
.SH CAVEATS
Carefully read Caveats in
-.BR system (3).
+.MR system 3 .
.SH BUGS
Since the standard input of a command opened for reading shares its seek
offset with the process that called
@@ -183,7 +183,7 @@ Similarly, the output from a command
opened for writing may become intermingled with that of the original
process.
The latter can be avoided by calling
-.BR fflush (3)
+.MR fflush 3
before
.BR popen ().
.P
@@ -197,12 +197,12 @@ The only hint is an exit status of 127.
.\" .BR pclose ()
.\" function appeared in Version 7 AT&T UNIX.
.SH SEE ALSO
-.BR sh (1),
-.BR fork (2),
-.BR pipe (2),
-.BR wait4 (2),
-.BR fclose (3),
-.BR fflush (3),
-.BR fopen (3),
-.BR stdio (3),
-.BR system (3)
+.MR sh 1 ,
+.MR fork 2 ,
+.MR pipe 2 ,
+.MR wait4 2 ,
+.MR fclose 3 ,
+.MR fflush 3 ,
+.MR fopen 3 ,
+.MR stdio 3 ,
+.MR system 3
diff --git a/man3/posix_fallocate.3 b/man3/posix_fallocate.3
index 46ce6ac7f..5c93eff21 100644
--- a/man3/posix_fallocate.3
+++ b/man3/posix_fallocate.3
@@ -19,7 +19,7 @@ Standard C library
.ad l
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR posix_fallocate ():
@@ -93,7 +93,7 @@ emulation shown in NOTES, such as musl libc.
refers to a pipe.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -141,10 +141,10 @@ equals zero.
In the glibc implementation,
.BR posix_fallocate ()
is implemented using the
-.BR fallocate (2)
+.MR fallocate 2
system call, which is MT-safe.
If the underlying filesystem does not support
-.BR fallocate (2),
+.MR fallocate 2 ,
then the operation is emulated with the following caveats:
.IP \[bu] 3
The emulation is inefficient.
@@ -167,7 +167,7 @@ flags, the function fails with the error
.P
In general, the emulation is not MT-safe.
On Linux, applications may use
-.BR fallocate (2)
+.MR fallocate 2
if they cannot tolerate the emulation caveats.
In general, this is
only recommended if the application plans to terminate the operation if
@@ -175,7 +175,7 @@ only recommended if the application plans to terminate the operation if
is returned, otherwise the application itself will need to implement a
fallback with all the same problems as the emulation provided by glibc.
.SH SEE ALSO
-.BR fallocate (1),
-.BR fallocate (2),
-.BR lseek (2),
-.BR posix_fadvise (2)
+.MR fallocate 1 ,
+.MR fallocate 2 ,
+.MR lseek 2 ,
+.MR posix_fadvise 2
diff --git a/man3/posix_madvise.3 b/man3/posix_madvise.3
index 967d52aec..2f8e05459 100644
--- a/man3/posix_madvise.3
+++ b/man3/posix_madvise.3
@@ -17,7 +17,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR posix_madvise ():
@@ -94,11 +94,11 @@ On Linux, specifying
as 0 is permitted (as a successful no-op).
.P
In glibc, this function is implemented using
-.BR madvise (2).
+.MR madvise 2 .
However, since glibc 2.6,
.B POSIX_MADV_DONTNEED
is treated as a no-op, because the corresponding
-.BR madvise (2)
+.MR madvise 2
value,
.BR MADV_DONTNEED ,
has destructive semantics.
@@ -108,5 +108,5 @@ POSIX.1-2008.
glibc 2.2.
POSIX.1-2001.
.SH SEE ALSO
-.BR madvise (2),
-.BR posix_fadvise (2)
+.MR madvise 2 ,
+.MR posix_fadvise 2
diff --git a/man3/posix_memalign.3 b/man3/posix_memalign.3
index 534f85932..9cab67f2e 100644
--- a/man3/posix_memalign.3
+++ b/man3/posix_memalign.3
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR posix_memalign ():
@@ -64,7 +64,7 @@ The address of the allocated memory will be a multiple of
which must be a power of two and a multiple of
.IR "sizeof(void\ *)" .
This address can later be successfully passed to
-.BR free (3).
+.MR free 3 .
If
.I size
is 0, then
@@ -144,7 +144,7 @@ argument was not a power of two, or was not a multiple of
Out of memory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -240,19 +240,19 @@ argument is correct.
POSIX requires that memory obtained from
.BR posix_memalign ()
can be freed using
-.BR free (3).
+.MR free 3 .
Some systems provide no way to reclaim memory allocated with
.BR memalign ()
or
.BR valloc ()
(because one can pass to
-.BR free (3)
+.MR free 3
only a pointer obtained from
-.BR malloc (3),
+.MR malloc 3 ,
while, for example,
.BR memalign ()
would call
-.BR malloc (3)
+.MR malloc 3
and then align the obtained value).
.\" Other systems allow passing the result of
.\" .IR valloc ()
@@ -263,14 +263,14 @@ and then align the obtained value).
The glibc implementation
allows memory obtained from any of these functions to be
reclaimed with
-.BR free (3).
+.MR free 3 .
.P
The glibc
-.BR malloc (3)
+.MR malloc 3
always returns 8-byte aligned memory addresses, so these functions are
needed only if you require larger alignment values.
.SH SEE ALSO
-.BR brk (2),
-.BR getpagesize (2),
-.BR free (3),
-.BR malloc (3)
+.MR brk 2 ,
+.MR getpagesize 2 ,
+.MR free 3 ,
+.MR malloc 3
diff --git a/man3/posix_openpt.3 b/man3/posix_openpt.3
index 496b38d67..0ca567593 100644
--- a/man3/posix_openpt.3
+++ b/man3/posix_openpt.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR posix_openpt ():
@@ -53,10 +53,10 @@ On failure, \-1 is returned, and
is set to indicate the error.
.SH ERRORS
See
-.BR open (2).
+.MR open 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -75,7 +75,7 @@ glibc 2.2.1.
POSIX.1-2001.
.P
It is part of the UNIX 98 pseudoterminal support (see
-.BR pts (4)).
+.MR pts 4 ).
.SH NOTES
Some older UNIX implementations that support System V
(aka UNIX 98) pseudoterminals don't have this function, but it
@@ -95,13 +95,13 @@ Calling
.BR posix_openpt ()
creates a pathname for the corresponding pseudoterminal slave device.
The pathname of the slave device can be obtained using
-.BR ptsname (3).
+.MR ptsname 3 .
The slave device pathname exists only as long as the master device is open.
.SH SEE ALSO
-.BR open (2),
-.BR getpt (3),
-.BR grantpt (3),
-.BR ptsname (3),
-.BR unlockpt (3),
-.BR pts (4),
-.BR pty (7)
+.MR open 2 ,
+.MR getpt 3 ,
+.MR grantpt 3 ,
+.MR ptsname 3 ,
+.MR unlockpt 3 ,
+.MR pts 4 ,
+.MR pty 7
diff --git a/man3/posix_spawn.3 b/man3/posix_spawn.3
index 7eb96429f..9bd6ce129 100644
--- a/man3/posix_spawn.3
+++ b/man3/posix_spawn.3
@@ -39,7 +39,7 @@ a specified file.
These functions were specified by POSIX to provide a standardized method
of creating new processes on machines that lack the capability
to support the
-.BR fork (2)
+.MR fork 2
system call.
These machines are generally small, embedded systems lacking MMU support.
.P
@@ -48,15 +48,15 @@ The
and
.BR posix_spawnp ()
functions provide the functionality of a combined
-.BR fork (2)
+.MR fork 2
and
-.BR exec (3),
+.MR exec 3 ,
with some optional housekeeping steps in the child process before the
-.BR exec (3).
+.MR exec 3 .
These functions are not meant to replace the
-.BR fork (2)
+.MR fork 2
and
-.BR execve (2)
+.MR execve 2
system calls.
In fact, they provide only a subset of the functionality
that can be achieved by using the system calls.
@@ -77,7 +77,7 @@ the executable file is specified as a simple filename;
the system searches for this file in the list of directories specified by
.B PATH
(in the same way as for
-.BR execvp (3)).
+.MR execvp 3 ).
For the remainder of this page, the discussion is phrased in terms of
.BR posix_spawn (),
with the understanding that
@@ -95,14 +95,14 @@ points to a
.I "spawn file actions object"
that specifies file-related actions to be performed in the child
between the
-.BR fork (2)
+.MR fork 2
and
-.BR exec (3)
+.MR exec 3
steps.
This object is initialized and populated before the
.BR posix_spawn ()
call using
-.BR posix_spawn_file_actions_init (3)
+.MR posix_spawn_file_actions_init 3
and the
.BR posix_spawn_file_actions_* ()
functions.
@@ -114,7 +114,7 @@ that specifies various attributes of the created child process.
This object is initialized and populated before the
.BR posix_spawn ()
call using
-.BR posix_spawnattr_init (3)
+.MR posix_spawnattr_init 3
and the
.BR posix_spawnattr_* ()
functions.
@@ -124,7 +124,7 @@ functions.
.I envp
specify the argument list and environment for the program
that is executed in the child process, as for
-.BR execve (2).
+.MR execve 2 .
.P
Below, the functions are described in terms of a three-step process: the
.BR fork ()
@@ -138,16 +138,16 @@ step (executed in the child).
Since glibc 2.24, the
.BR posix_spawn ()
function commences by calling
-.BR clone (2)
+.MR clone 2
with
.B CLONE_VM
and
.B CLONE_VFORK
flags.
Older implementations use
-.BR fork (2),
+.MR fork 2 ,
or possibly
-.BR vfork (2)
+.MR vfork 2
(see below).
.P
The PID of the new child process is placed in
@@ -157,16 +157,16 @@ The
function then returns control to the parent process.
.P
Subsequently, the parent can use one of the system calls described in
-.BR wait (2)
+.MR wait 2
to check the status of the child process.
If the child fails in any of the housekeeping steps described below,
or fails to execute the desired file,
it exits with a status of 127.
.P
Before glibc 2.24, the child process is created using
-.BR vfork (2)
+.MR vfork 2
instead of
-.BR fork (2)
+.MR fork 2
when either of the following is true:
.IP \[bu] 3
the
@@ -192,10 +192,10 @@ or
.BR POSIX_SPAWN_RESETIDS .
.P
In other words,
-.BR vfork (2)
+.MR vfork 2
is used if the caller requests it,
or if there is no cleanup expected in the child before it
-.BR exec (3)s
+.MR exec 3 s
the requested file.
.SS pre-exec() step: housekeeping
In between the
@@ -239,9 +239,9 @@ object pointed to by
and the file actions in the object pointed to by
.IR file_actions ,
will be affected as though the child was created with
-.BR fork (2)
+.MR fork 2
and it executed the program with
-.BR execve (2).
+.MR execve 2 .
.P
The process attributes actions are defined by the attributes object
pointed to by
@@ -249,7 +249,7 @@ pointed to by
The
.I spawn-flags
attribute (set using
-.BR posix_spawnattr_setflags (3))
+.MR posix_spawnattr_setflags 3 )
controls the general actions that occur,
and other attributes in the object specify values
to be used during those actions.
@@ -286,7 +286,7 @@ For the treatment of the dispositions of signals not specified in the
attribute, or the treatment when
.B POSIX_SPAWN_SETSIGDEF
is not specified, see
-.BR execve (2).
+.MR execve 2 .
.TP
.B POSIX_SPAWN_SETSCHEDPARAM
.\" (POSIX_PRIORITY_SCHEDULING only)
@@ -343,7 +343,7 @@ then the child retains the effective UID and GID of the parent.
In either case, if the set-user-ID and set-group-ID permission
bits are enabled on the executable file, their effect will override
the setting of the effective UID and GID (se
-.BR execve (2)).
+.MR execve 2 ).
.TP
.B POSIX_SPAWN_SETPGROUP
Set the process group to the value specified in the
@@ -367,9 +367,9 @@ Since glibc 2.24, this flag has no effect.
On older implementations, setting this flag forces the
.B fork()
step to use
-.BR vfork (2)
+.MR vfork 2
instead of
-.BR fork (2).
+.MR fork 2 .
The
.B _GNU_SOURCE
feature test macro must be defined to obtain the definition of this constant.
@@ -379,7 +379,7 @@ If this flag is set,
the child process shall create a new session and become the session leader.
The child process shall also become the process group leader of the new process
group in the session (see
-.BR setsid (2)).
+.MR setsid 2 ).
The
.B _GNU_SOURCE
feature test macro must be defined to obtain the definition of this constant.
@@ -404,11 +404,11 @@ The
argument specifies a sequence of file operations
that are performed in the child process after
the general processing described above, and before it performs the
-.BR exec (3).
+.MR exec 3 .
If
.I file_actions
is NULL, then no special action is taken, and standard
-.BR exec (3)
+.MR exec 3
semantics apply\[em]file descriptors open before the exec
remain open in the new process,
except those for which the
@@ -419,18 +419,18 @@ File locks remain in place.
If
.I file_actions
is not NULL, then it contains an ordered set of requests to
-.BR open (2),
-.BR close (2),
+.MR open 2 ,
+.MR close 2 ,
and
-.BR dup2 (2)
+.MR dup2 2
files.
These requests are added to the
.I file_actions
by
-.BR posix_spawn_file_actions_addopen (3),
-.BR posix_spawn_file_actions_addclose (3),
+.MR posix_spawn_file_actions_addopen 3 ,
+.MR posix_spawn_file_actions_addclose 3 ,
and
-.BR posix_spawn_file_actions_adddup2 (3).
+.MR posix_spawn_file_actions_adddup2 3 .
The requested operations are performed in the order they were added to
.IR file_actions .
.\" FIXME . I think the following is best placed in the
@@ -458,11 +458,11 @@ the child runs the requested executable.
The child process takes its environment from the
.I envp
argument, which is interpreted as if it had been passed to
-.BR execve (2).
+.MR execve 2 .
The arguments to the created process come from the
.I argv
argument, which is processed as for
-.BR execve (2).
+.MR execve 2 .
.SH RETURN VALUE
Upon successful completion,
.BR posix_spawn ()
@@ -484,7 +484,7 @@ Even when these functions return a success status,
the child process may still fail for a plethora of reasons related to its
pre-\fBexec\fR() initialization.
In addition, the
-.BR exec (3)
+.MR exec 3
may fail.
In all of these cases, the child process will exit with the exit value of 127.
.SH ERRORS
@@ -493,16 +493,16 @@ The
and
.BR posix_spawnp ()
functions fail only in the case where the underlying
-.BR fork (2),
-.BR vfork (2),
+.MR fork 2 ,
+.MR vfork 2 ,
or
-.BR clone (2)
+.MR clone 2
call fails; in these cases, these functions return an error number,
which will be one of the errors described for
-.BR fork (2),
-.BR vfork (2),
+.MR fork 2 ,
+.MR vfork 2 ,
or
-.BR clone (2).
+.MR clone 2 .
.P
In addition, these functions fail if:
.TP
@@ -539,7 +539,7 @@ although these objects may be implemented as structures containing fields,
portable programs must avoid dependence on such implementation details.)
.P
According to POSIX, it is unspecified whether fork handlers established with
-.BR pthread_atfork (3)
+.MR pthread_atfork 3
are called when
.BR posix_spawn ()
is invoked.
@@ -547,14 +547,14 @@ Since glibc 2.24, the fork handlers are not executed in any case.
.\" Tested on glibc 2.12
On older implementations,
fork handlers are called only if the child is created using
-.BR fork (2).
+.MR fork 2 .
.P
There is no "posix_fspawn" function (i.e., a function that is to
.BR posix_spawn ()
as
-.BR fexecve (3)
+.MR fexecve 3
is to
-.BR execve (2)).
+.MR execve 2 ).
However, this functionality can be obtained by specifying the
.I path
argument as one of the files in the caller's
@@ -584,7 +584,7 @@ The remaining command-line arguments are used as the executable name
and command-line arguments of the program that is executed in the child.
.P
In the first run, the
-.BR date (1)
+.MR date 1
command is executed in the child, and the
.BR posix_spawn ()
call employs no file actions or attributes objects.
@@ -603,7 +603,7 @@ In the next run, the
command-line option is used to create a file actions object that closes
standard output in the child.
Consequently,
-.BR date (1)
+.MR date 1
fails when trying to perform output and exits with a status of 1.
.P
.in +4n
@@ -620,7 +620,7 @@ In the next run, the
command-line option is used to create an attributes object that
specifies that all (blockable) signals in the child should be blocked.
Consequently, trying to kill child with the default signal sent by
-.BR kill (1)
+.MR kill 1
(i.e.,
.BR SIGTERM )
fails, because that signal is blocked.
@@ -644,7 +644,7 @@ $ Child status: killed by signal 9
.in
.P
When we try to execute a nonexistent command in the child, the
-.BR exec (3)
+.MR exec 3
fails and the child exits with a status of 127.
.P
.in +4n
@@ -786,38 +786,38 @@ main(int argc, char *argv[])
.SH SEE ALSO
.nh \" Disable hyphenation
.ad l
-.BR close (2),
-.BR dup2 (2),
-.BR execl (2),
-.BR execlp (2),
-.BR fork (2),
-.BR open (2),
-.BR sched_setparam (2),
-.BR sched_setscheduler (2),
-.BR setpgid (2),
-.BR setuid (2),
-.BR sigaction (2),
-.BR sigprocmask (2),
-.BR posix_spawn_file_actions_addclose (3),
-.BR posix_spawn_file_actions_adddup2 (3),
-.BR posix_spawn_file_actions_addopen (3),
-.BR posix_spawn_file_actions_destroy (3),
-.BR posix_spawn_file_actions_init (3),
-.BR posix_spawnattr_destroy (3),
-.BR posix_spawnattr_getflags (3),
-.BR posix_spawnattr_getpgroup (3),
-.BR posix_spawnattr_getschedparam (3),
-.BR posix_spawnattr_getschedpolicy (3),
-.BR posix_spawnattr_getsigdefault (3),
-.BR posix_spawnattr_getsigmask (3),
-.BR posix_spawnattr_init (3),
-.BR posix_spawnattr_setflags (3),
-.BR posix_spawnattr_setpgroup (3),
-.BR posix_spawnattr_setschedparam (3),
-.BR posix_spawnattr_setschedpolicy (3),
-.BR posix_spawnattr_setsigdefault (3),
-.BR posix_spawnattr_setsigmask (3),
-.BR pthread_atfork (3),
+.MR close 2 ,
+.MR dup2 2 ,
+.MR execl 2 ,
+.MR execlp 2 ,
+.MR fork 2 ,
+.MR open 2 ,
+.MR sched_setparam 2 ,
+.MR sched_setscheduler 2 ,
+.MR setpgid 2 ,
+.MR setuid 2 ,
+.MR sigaction 2 ,
+.MR sigprocmask 2 ,
+.MR posix_spawn_file_actions_addclose 3 ,
+.MR posix_spawn_file_actions_adddup2 3 ,
+.MR posix_spawn_file_actions_addopen 3 ,
+.MR posix_spawn_file_actions_destroy 3 ,
+.MR posix_spawn_file_actions_init 3 ,
+.MR posix_spawnattr_destroy 3 ,
+.MR posix_spawnattr_getflags 3 ,
+.MR posix_spawnattr_getpgroup 3 ,
+.MR posix_spawnattr_getschedparam 3 ,
+.MR posix_spawnattr_getschedpolicy 3 ,
+.MR posix_spawnattr_getsigdefault 3 ,
+.MR posix_spawnattr_getsigmask 3 ,
+.MR posix_spawnattr_init 3 ,
+.MR posix_spawnattr_setflags 3 ,
+.MR posix_spawnattr_setpgroup 3 ,
+.MR posix_spawnattr_setschedparam 3 ,
+.MR posix_spawnattr_setschedpolicy 3 ,
+.MR posix_spawnattr_setsigdefault 3 ,
+.MR posix_spawnattr_setsigmask 3 ,
+.MR pthread_atfork 3 ,
.IR <spawn.h> ,
Base Definitions volume of POSIX.1-2001,
.I http://www.opengroup.org/unix/online.html
diff --git a/man3/pow.3 b/man3/pow.3
index 6735d35ba..132bd9fef 100644
--- a/man3/pow.3
+++ b/man3/pow.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR powf (),
@@ -268,7 +268,7 @@ is a NaN, the result is a NaN.
.\" EDOM FE_INVALID nan; fail-errno fail-except fail-result;
.\" FAIL (expected: range-error-overflow (ERANGE, FE_OVERFLOW); +INF)
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -308,7 +308,7 @@ An underflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -378,6 +378,6 @@ generates a bogus invalid floating-point exception
.RB ( FE_INVALID )
in addition to the overflow or underflow exception.
.SH SEE ALSO
-.BR cbrt (3),
-.BR cpow (3),
-.BR sqrt (3)
+.MR cbrt 3 ,
+.MR cpow 3 ,
+.MR sqrt 3
diff --git a/man3/pow10.3 b/man3/pow10.3
index 70fcaec1f..623de43fd 100644
--- a/man3/pow10.3
+++ b/man3/pow10.3
@@ -24,14 +24,14 @@ These functions return the value of 10 raised to the power
.P
.BR "Note well" :
These functions perform exactly the same task as the functions described in
-.BR exp10 (3),
+.MR exp10 3 ,
with the difference that the latter functions are now standardized
in TS\ 18661-4:2015.
Those latter functions should be used in preference
to the functions described in this page.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -52,5 +52,5 @@ glibc 2.1.
Removed in glibc 2.27.
.\" glibc commit 5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e
.SH SEE ALSO
-.BR exp10 (3),
-.BR pow (3)
+.MR exp10 3 ,
+.MR pow 3
diff --git a/man3/powerof2.3 b/man3/powerof2.3
index f1b438f41..907f0936a 100644
--- a/man3/powerof2.3
+++ b/man3/powerof2.3
@@ -42,5 +42,5 @@ the following invokes undefined behavior:
.IR "powerof2(INT_MIN);".
Call it only with unsigned types to be safe.
.SH SEE ALSO
-.BR stdc_bit_ceil (3),
-.BR stdc_bit_floor (3)
+.MR stdc_bit_ceil 3 ,
+.MR stdc_bit_floor 3
diff --git a/man3/printf.3 b/man3/printf.3
index eb152aa19..bdb1d2374 100644
--- a/man3/printf.3
+++ b/man3/printf.3
@@ -47,7 +47,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR snprintf (),
@@ -98,7 +98,7 @@ is the same as
except that it outputs to a file descriptor,
.IR fd ,
instead of to a
-.BR stdio (3)
+.MR stdio 3
stream.
.P
The functions
@@ -134,13 +134,13 @@ macro, the value of
.I ap
is undefined after the call.
See
-.BR stdarg (3).
+.MR stdarg 3 .
.P
All of these functions write the output under the control of a
.I format
string that specifies how subsequent arguments (or arguments accessed via
the variable-length argument facilities of
-.BR stdarg (3))
+.MR stdarg 3 )
are converted for output.
.P
C99 and POSIX.1-2001 specify that the results are undefined if a call to
@@ -236,7 +236,7 @@ depends on the
.B LC_NUMERIC
part of the locale.
(See
-.BR setlocale (3).)
+.MR setlocale 3 .)
The POSIX locale
uses \[aq].\[aq] as radix character, and does not have a grouping character.
Thus,
@@ -375,16 +375,16 @@ For decimal conversion
the output is to be grouped with thousands' grouping characters
if the locale information indicates any.
(See
-.BR setlocale (3).)
+.MR setlocale 3 .)
Note that many versions of
-.BR gcc (1)
+.MR gcc 1
cannot parse this option and will issue a warning.
(SUSv2 did not
include \fI%\[aq]F\fP, but SUSv3 added it.)
Note also that the default locale of a C program is "C"
whose locale information indicates no thousands' grouping character.
Therefore, without a prior call to
-.BR setlocale (3),
+.MR setlocale 3 ,
no thousands' grouping characters will be printed.
.P
glibc 2.2 adds one further flag character.
@@ -782,7 +782,7 @@ modifier is present, the
.I wint_t
(wide character) argument is converted to a multibyte sequence by a call
to the
-.BR wcrtomb (3)
+.MR wcrtomb 3
function, with a conversion state starting in the initial state, and the
resulting multibyte string is written.
.TP
@@ -808,7 +808,7 @@ modifier is present: the
argument is expected to be a pointer to an array of wide characters.
Wide characters from the array are converted to multibyte characters
(each by a call to the
-.BR wcrtomb (3)
+.MR wcrtomb 3
function, with a conversion state starting in the initial state before
the first wide character), up to and including a terminating null
wide character.
@@ -897,7 +897,7 @@ or more means that the output was truncated.
If an output error is encountered, a negative value is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -1039,7 +1039,7 @@ and
.BR vsnprintf ().
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=7075
Depending on the version of
-.BR gcc (1)
+.MR gcc 1
used, and the compiler options employed, calls such as the above will
.B not
produce the expected results.
@@ -1099,9 +1099,9 @@ Use
and
.BR vsnprintf ()
instead (or
-.BR asprintf (3)
+.MR asprintf 3
and
-.BR vasprintf (3)).
+.MR vasprintf 3 ).
.\" .P
.\" Linux libc4.[45] does not have a
.\" .BR snprintf (),
@@ -1228,12 +1228,12 @@ make_message(const char *fmt, ...)
If truncation occurs in glibc versions prior to glibc 2.0.6,
this is treated as an error instead of being handled gracefully.
.SH SEE ALSO
-.BR printf (1),
-.BR asprintf (3),
-.BR puts (3),
-.BR scanf (3),
-.BR setlocale (3),
-.BR strfromd (3),
-.BR wcrtomb (3),
-.BR wprintf (3),
-.BR locale (5)
+.MR printf 1 ,
+.MR asprintf 3 ,
+.MR puts 3 ,
+.MR scanf 3 ,
+.MR setlocale 3 ,
+.MR strfromd 3 ,
+.MR wcrtomb 3 ,
+.MR wprintf 3 ,
+.MR locale 5
diff --git a/man3/profil.3 b/man3/profil.3
index dd72c5ef2..029963301 100644
--- a/man3/profil.3
+++ b/man3/profil.3
@@ -22,7 +22,7 @@ Standard C library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR profil ():
@@ -61,7 +61,7 @@ is NULL, profiling is disabled.
Zero is always returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -82,13 +82,13 @@ Similar to a call in SVr4.
cannot be used on a program that also uses
.B ITIMER_PROF
interval timers (see
-.BR setitimer (2)).
+.MR setitimer 2 ).
.P
True kernel profiling provides more accurate results.
.\" Libc 4.4 contained a kernel patch providing a system call profil.
.SH SEE ALSO
-.BR gprof (1),
-.BR sprof (1),
-.BR setitimer (2),
-.BR sigaction (2),
-.BR signal (2)
+.MR gprof 1 ,
+.MR sprof 1 ,
+.MR setitimer 2 ,
+.MR sigaction 2 ,
+.MR signal 2
diff --git a/man3/program_invocation_name.3 b/man3/program_invocation_name.3
index f4b442d8a..d925204e4 100644
--- a/man3/program_invocation_name.3
+++ b/man3/program_invocation_name.3
@@ -63,4 +63,4 @@ file provides access to similar information.
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man3/psignal.3 b/man3/psignal.3
index 583c532d3..1d78070c5 100644
--- a/man3/psignal.3
+++ b/man3/psignal.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR psignal ():
@@ -66,9 +66,9 @@ and other information relevant to the signal
the child process ID for
.BR SIGCHLD ,
and the user ID and process ID of the sender, for signals set using
-.BR kill (2)
+.MR kill 2
or
-.BR sigqueue (3)).
+.MR sigqueue 3 ).
.SH RETURN VALUE
The
.BR psignal ()
@@ -77,7 +77,7 @@ and
functions return no value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -108,7 +108,7 @@ Additional details are not displayed for real-time signals.
.\" FIXME . http://sourceware.org/bugzilla/show_bug.cgi?id=12108
.\" Reportedly now fixed; check glibc 2.13
.SH SEE ALSO
-.BR sigaction (2),
-.BR perror (3),
-.BR strsignal (3),
-.BR signal (7)
+.MR sigaction 2 ,
+.MR perror 3 ,
+.MR strsignal 3 ,
+.MR signal 7
diff --git a/man3/pthread_atfork.3 b/man3/pthread_atfork.3
index a1226cfa4..91c711938 100644
--- a/man3/pthread_atfork.3
+++ b/man3/pthread_atfork.3
@@ -19,31 +19,31 @@ POSIX threads library
The
.BR pthread_atfork ()
function registers fork handlers that are to be executed when
-.BR fork (2)
+.MR fork 2
is called by any thread in a process.
The handlers are executed in the context of the thread that calls
-.BR fork (2).
+.MR fork 2 .
.P
Three kinds of handler can be registered:
.IP \[bu] 3
.I prepare
specifies a handler that is executed in the parent process before
-.BR fork (2)
+.MR fork 2
processing starts.
.IP \[bu]
.I parent
specifies a handler that is executed in the parent process after
-.BR fork (2)
+.MR fork 2
processing completes.
.IP \[bu]
.I child
specifies a handler that is executed in the child process after
-.BR fork (2)
+.MR fork 2
processing completes.
.P
Any of the three arguments may be NULL if no handler is needed
in the corresponding phase of
-.BR fork (2)
+.MR fork 2
processing.
.SH RETURN VALUE
On success,
@@ -70,14 +70,14 @@ POSIX.1-2008.
POSIX.1-2001.
.SH NOTES
When
-.BR fork (2)
+.MR fork 2
is called in a multithreaded process,
only the calling thread is duplicated in the child process.
The original intention of
.BR pthread_atfork ()
was to allow the child process to be returned to a consistent state.
For example, at the time of the call to
-.BR fork (2),
+.MR fork 2 ,
other threads may have locked mutexes that are visible in the
user-space memory duplicated in the child.
Such mutexes would never be unlocked,
@@ -90,12 +90,12 @@ restored to a consistent state.
In practice, this task is generally too difficult to be practicable.
.P
After a
-.BR fork (2)
+.MR fork 2
in a multithreaded process returns in the child,
the child should call only async-signal-safe functions (see
-.BR signal\-safety (7))
+.MR signal\-safety 7 )
until such time as it calls
-.BR execve (2)
+.MR execve 2
to execute a new program.
.P
POSIX.1 specifies that
@@ -103,6 +103,6 @@ POSIX.1 specifies that
shall not fail with the error
.BR EINTR .
.SH SEE ALSO
-.BR fork (2),
-.BR atexit (3),
-.BR pthreads (7)
+.MR fork 2 ,
+.MR atexit 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_attr_init.3 b/man3/pthread_attr_init.3
index dfd5ac67f..b7c34180f 100644
--- a/man3/pthread_attr_init.3
+++ b/man3/pthread_attr_init.3
@@ -27,7 +27,7 @@ with default attribute values.
After this call, individual attributes of the object can be set
using various related functions (listed under SEE ALSO),
and then the object can be used in one or more
-.BR pthread_create (3)
+.MR pthread_create 3
calls that create threads.
.P
Calling
@@ -60,7 +60,7 @@ on Linux these functions always succeed
handle a possible error return).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -89,7 +89,7 @@ The program below optionally makes use of
and various related functions to initialize a thread attributes
object that is used to create a single thread.
Once created, the thread uses the
-.BR pthread_getattr_np (3)
+.MR pthread_getattr_np 3
function (a nonstandard GNU extension) to retrieve the thread's
attributes, and then displays those attributes.
.P
@@ -97,7 +97,7 @@ If the program is run with no command-line argument,
then it passes NULL as the
.I attr
argument of
-.BR pthread_create (3),
+.MR pthread_create 3 ,
so that the thread is created with default attributes.
Running the program on Linux/x86-32 with the NPTL threading implementation,
we see the following:
@@ -124,7 +124,7 @@ When we supply a stack size as a command-line argument,
the program initializes a thread attributes object,
sets various attributes in that object,
and passes a pointer to the object in the call to
-.BR pthread_create (3).
+.MR pthread_create 3 .
Running the program on Linux/x86-32 with the NPTL threading implementation,
we see the following:
.P
@@ -296,18 +296,18 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR pthread_attr_setaffinity_np (3),
-.BR pthread_attr_setdetachstate (3),
-.BR pthread_attr_setguardsize (3),
-.BR pthread_attr_setinheritsched (3),
-.BR pthread_attr_setschedparam (3),
-.BR pthread_attr_setschedpolicy (3),
-.BR pthread_attr_setscope (3),
-.BR pthread_attr_setsigmask_np (3),
-.BR pthread_attr_setstack (3),
-.BR pthread_attr_setstackaddr (3),
-.BR pthread_attr_setstacksize (3),
-.BR pthread_create (3),
-.BR pthread_getattr_np (3),
-.BR pthread_setattr_default_np (3),
-.BR pthreads (7)
+.MR pthread_attr_setaffinity_np 3 ,
+.MR pthread_attr_setdetachstate 3 ,
+.MR pthread_attr_setguardsize 3 ,
+.MR pthread_attr_setinheritsched 3 ,
+.MR pthread_attr_setschedparam 3 ,
+.MR pthread_attr_setschedpolicy 3 ,
+.MR pthread_attr_setscope 3 ,
+.MR pthread_attr_setsigmask_np 3 ,
+.MR pthread_attr_setstack 3 ,
+.MR pthread_attr_setstackaddr 3 ,
+.MR pthread_attr_setstacksize 3 ,
+.MR pthread_create 3 ,
+.MR pthread_getattr_np 3 ,
+.MR pthread_setattr_default_np 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_attr_setaffinity_np.3 b/man3/pthread_attr_setaffinity_np.3
index 4d0df5763..155165cde 100644
--- a/man3/pthread_attr_setaffinity_np.3
+++ b/man3/pthread_attr_setaffinity_np.3
@@ -51,10 +51,10 @@ Typically, this argument would be specified as
.IR sizeof(cpu_set_t) .
.P
For more details on CPU affinity masks, see
-.BR sched_setaffinity (2).
+.MR sched_setaffinity 2 .
For a description of a set of macros
that can be used to manipulate and inspect CPU sets, see
-.BR CPU_SET (3).
+.MR CPU_SET 3 .
.SH RETURN VALUE
On success, these functions return 0;
on error, they return a nonzero error number.
@@ -87,7 +87,7 @@ is too small).
Could not allocate memory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -113,8 +113,8 @@ argument.
Instead the CPU set size given to the underlying system calls was always
.IR sizeof(cpu_set_t) .
.SH SEE ALSO
-.BR sched_setaffinity (2),
-.BR pthread_attr_init (3),
-.BR pthread_setaffinity_np (3),
-.BR cpuset (7),
-.BR pthreads (7)
+.MR sched_setaffinity 2 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_setaffinity_np 3 ,
+.MR cpuset 7 ,
+.MR pthreads 7
diff --git a/man3/pthread_attr_setdetachstate.3 b/man3/pthread_attr_setdetachstate.3
index 4c1828db7..2e9c296e4 100644
--- a/man3/pthread_attr_setdetachstate.3
+++ b/man3/pthread_attr_setdetachstate.3
@@ -68,7 +68,7 @@ An invalid value was specified in
.IR detachstate .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -87,29 +87,29 @@ POSIX.1-2008.
POSIX.1-2001.
.SH NOTES
See
-.BR pthread_create (3)
+.MR pthread_create 3
for more details on detached and joinable threads.
.P
A thread that is created in a joinable state should
eventually either be joined using
-.BR pthread_join (3)
+.MR pthread_join 3
or detached using
-.BR pthread_detach (3);
+.MR pthread_detach 3 ;
see
-.BR pthread_create (3).
+.MR pthread_create 3 .
.P
It is an error to specify the thread ID of
a thread that was created in a detached state
in a later call to
-.BR pthread_detach (3)
+.MR pthread_detach 3
or
-.BR pthread_join (3).
+.MR pthread_join 3 .
.SH EXAMPLES
See
-.BR pthread_attr_init (3).
+.MR pthread_attr_init 3 .
.SH SEE ALSO
-.BR pthread_attr_init (3),
-.BR pthread_create (3),
-.BR pthread_detach (3),
-.BR pthread_join (3),
-.BR pthreads (7)
+.MR pthread_attr_init 3 ,
+.MR pthread_create 3 ,
+.MR pthread_detach 3 ,
+.MR pthread_join 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_attr_setguardsize.3 b/man3/pthread_attr_setguardsize.3
index de9e4f2b7..79fb1aa21 100644
--- a/man3/pthread_attr_setguardsize.3
+++ b/man3/pthread_attr_setguardsize.3
@@ -50,15 +50,15 @@ The default guard size is the same as the system page size.
If the stack address attribute has been set in
.I attr
(using
-.BR pthread_attr_setstack (3)
+.MR pthread_attr_setstack 3
or
-.BR pthread_attr_setstackaddr (3)),
+.MR pthread_attr_setstackaddr 3 ),
meaning that the caller is allocating the thread's stack,
then the guard size attribute is ignored
(i.e., no guard area is created by the system):
it is the application's responsibility to handle stack overflow
(perhaps by using
-.BR mprotect (2)
+.MR mprotect 2
to manually define a guard area at the end of the stack
that it has allocated).
.P
@@ -85,7 +85,7 @@ On Linux these functions always succeed
handle a possible error return).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -133,7 +133,7 @@ as POSIX.1 requires.
(This can result in an
.B EINVAL
error from
-.BR pthread_create (3)
+.MR pthread_create 3
if the guard size value is too large,
leaving no space for the actual stack.)
.P
@@ -152,12 +152,12 @@ allocating extra space at the end of the stack for the guard area.
.\" http://sourceware.org/ml/libc-alpha/2008-05/msg00086.html
.SH EXAMPLES
See
-.BR pthread_getattr_np (3).
+.MR pthread_getattr_np 3 .
.SH SEE ALSO
-.BR mmap (2),
-.BR mprotect (2),
-.BR pthread_attr_init (3),
-.BR pthread_attr_setstack (3),
-.BR pthread_attr_setstacksize (3),
-.BR pthread_create (3),
-.BR pthreads (7)
+.MR mmap 2 ,
+.MR mprotect 2 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setstack 3 ,
+.MR pthread_attr_setstacksize 3 ,
+.MR pthread_create 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_attr_setinheritsched.3 b/man3/pthread_attr_setinheritsched.3
index 832f3b543..6a712fc91 100644
--- a/man3/pthread_attr_setinheritsched.3
+++ b/man3/pthread_attr_setinheritsched.3
@@ -38,11 +38,14 @@ or whether it will take them from
The following scheduling attributes are affected by the
inherit-scheduler attribute:
scheduling policy
-.RB ( pthread_attr_setschedpolicy (3)),
+\%(\c
+.MR pthread_attr_setschedpolicy 3 ),
scheduling priority
-.RB ( pthread_attr_setschedparam (3)),
+\%(\c
+.MR pthread_attr_setschedparam 3 ),
and contention scope
-.RB ( pthread_attr_setscope (3)).
+\%(\c
+.MR pthread_attr_setscope 3 ).
.P
The following values may be specified in
.IR inheritsched :
@@ -89,7 +92,7 @@ error ("attempt was made to set the attribute to an unsupported value") for
.BR pthread_attr_setinheritsched ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -109,7 +112,7 @@ glibc 2.0.
POSIX.1-2001.
.SH BUGS
As at glibc 2.8, if a thread attributes object is initialized using
-.BR pthread_attr_init (3),
+.MR pthread_attr_init 3 ,
then the scheduling policy of the attributes object is set to
.B SCHED_OTHER
and the scheduling priority is set to 0.
@@ -120,21 +123,21 @@ wrongly inherits its scheduling attributes from the creating thread.
This bug does not occur if either the scheduling policy or
scheduling priority attribute is explicitly set
in the thread attributes object before calling
-.BR pthread_create (3).
+.MR pthread_create 3 .
.\" FIXME . Track status of the following bug:
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=7007
.SH EXAMPLES
See
-.BR pthread_setschedparam (3).
+.MR pthread_setschedparam 3 .
.SH SEE ALSO
.ad l
.nh
-.BR pthread_attr_init (3),
-.BR pthread_attr_setschedparam (3),
-.BR pthread_attr_setschedpolicy (3),
-.BR pthread_attr_setscope (3),
-.BR pthread_create (3),
-.BR pthread_setschedparam (3),
-.BR pthread_setschedprio (3),
-.BR pthreads (7),
-.BR sched (7)
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setschedparam 3 ,
+.MR pthread_attr_setschedpolicy 3 ,
+.MR pthread_attr_setscope 3 ,
+.MR pthread_create 3 ,
+.MR pthread_setschedparam 3 ,
+.MR pthread_setschedprio 3 ,
+.MR pthreads 7 ,
+.MR sched 7
diff --git a/man3/pthread_attr_setschedparam.3 b/man3/pthread_attr_setschedparam.3
index 97df58a42..501b29537 100644
--- a/man3/pthread_attr_setschedparam.3
+++ b/man3/pthread_attr_setschedparam.3
@@ -52,14 +52,14 @@ struct sched_param {
As can be seen, only one scheduling parameter is supported.
For details of the permitted ranges for scheduling priorities
in each scheduling policy, see
-.BR sched (7).
+.MR sched 7 .
.P
In order for the parameter setting made by
.BR pthread_attr_setschedparam ()
to have effect when calling
-.BR pthread_create (3),
+.MR pthread_create 3 ,
the caller must use
-.BR pthread_attr_setinheritsched (3)
+.MR pthread_attr_setinheritsched 3
to set the inherit-scheduler attribute of the attributes object
.I attr
to
@@ -86,7 +86,7 @@ This value is never returned on Linux
handle this error return value).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -106,20 +106,20 @@ POSIX.1-2001.
glibc 2.0.
.SH NOTES
See
-.BR pthread_attr_setschedpolicy (3)
+.MR pthread_attr_setschedpolicy 3
for a list of the thread scheduling policies supported on Linux.
.SH EXAMPLES
See
-.BR pthread_setschedparam (3).
+.MR pthread_setschedparam 3 .
.SH SEE ALSO
.ad l
.nh
-.BR sched_get_priority_min (2),
-.BR pthread_attr_init (3),
-.BR pthread_attr_setinheritsched (3),
-.BR pthread_attr_setschedpolicy (3),
-.BR pthread_create (3),
-.BR pthread_setschedparam (3),
-.BR pthread_setschedprio (3),
-.BR pthreads (7),
-.BR sched (7)
+.MR sched_get_priority_min 2 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setinheritsched 3 ,
+.MR pthread_attr_setschedpolicy 3 ,
+.MR pthread_create 3 ,
+.MR pthread_setschedparam 3 ,
+.MR pthread_setschedprio 3 ,
+.MR pthreads 7 ,
+.MR sched 7
diff --git a/man3/pthread_attr_setschedpolicy.3 b/man3/pthread_attr_setschedpolicy.3
index f2575cf78..5e4788a22 100644
--- a/man3/pthread_attr_setschedpolicy.3
+++ b/man3/pthread_attr_setschedpolicy.3
@@ -39,7 +39,7 @@ are
and
.BR SCHED_OTHER ,
with the semantics described in
-.BR sched (7).
+.MR sched 7 .
.\" FIXME . pthread_setschedparam() places no restriction on the policy,
.\" but pthread_attr_setschedpolicy() restricts policy to RR/FIFO/OTHER
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=7013
@@ -54,9 +54,9 @@ in the buffer pointed to by
In order for the policy setting made by
.BR pthread_attr_setschedpolicy ()
to have effect when calling
-.BR pthread_create (3),
+.MR pthread_create 3 ,
the caller must use
-.BR pthread_attr_setinheritsched (3)
+.MR pthread_attr_setinheritsched 3
to set the inherit-scheduler attribute of the attributes object
.I attr
to
@@ -78,7 +78,7 @@ error ("attempt was made to set the attribute to an unsupported value") for
.BR pthread_attr_setschedpolicy ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -98,15 +98,15 @@ glibc 2.0.
POSIX.1-2001.
.SH EXAMPLES
See
-.BR pthread_setschedparam (3).
+.MR pthread_setschedparam 3 .
.SH SEE ALSO
.ad l
.nh
-.BR pthread_attr_init (3),
-.BR pthread_attr_setinheritsched (3),
-.BR pthread_attr_setschedparam (3),
-.BR pthread_create (3),
-.BR pthread_setschedparam (3),
-.BR pthread_setschedprio (3),
-.BR pthreads (7),
-.BR sched (7)
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setinheritsched 3 ,
+.MR pthread_attr_setschedparam 3 ,
+.MR pthread_create 3 ,
+.MR pthread_setschedparam 3 ,
+.MR pthread_setschedprio 3 ,
+.MR pthreads 7 ,
+.MR sched 7
diff --git a/man3/pthread_attr_setscope.3 b/man3/pthread_attr_setscope.3
index b48d0dd7a..d9856f3b6 100644
--- a/man3/pthread_attr_setscope.3
+++ b/man3/pthread_attr_setscope.3
@@ -66,9 +66,9 @@ On systems that support multiple contention scopes, then,
in order for the parameter setting made by
.BR pthread_attr_setscope ()
to have effect when calling
-.BR pthread_create (3),
+.MR pthread_create 3 ,
the caller must use
-.BR pthread_attr_setinheritsched (3)
+.MR pthread_attr_setinheritsched 3
to set the inherit-scheduler attribute of the attributes object
.I attr
to
@@ -99,7 +99,7 @@ specified the value
which is not supported on Linux.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -130,10 +130,10 @@ implementation-defined.
.SH SEE ALSO
.ad l
.nh
-.BR pthread_attr_init (3),
-.BR pthread_attr_setaffinity_np (3),
-.BR pthread_attr_setinheritsched (3),
-.BR pthread_attr_setschedparam (3),
-.BR pthread_attr_setschedpolicy (3),
-.BR pthread_create (3),
-.BR pthreads (7)
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setaffinity_np 3 ,
+.MR pthread_attr_setinheritsched 3 ,
+.MR pthread_attr_setschedparam 3 ,
+.MR pthread_attr_setschedpolicy 3 ,
+.MR pthread_create 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_attr_setsigmask_np.3 b/man3/pthread_attr_setsigmask_np.3
index ab50568f2..b57a7f6ed 100644
--- a/man3/pthread_attr_setsigmask_np.3
+++ b/man3/pthread_attr_setsigmask_np.3
@@ -70,7 +70,7 @@ On error, these functions return a positive error number.
Could not allocate memory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -97,17 +97,17 @@ If this attribute is not set, then a thread created using
will inherit a copy of the creating thread's signal mask.
.P
For more details on signal masks, see
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
For a description of a set of macros
that can be used to manipulate and inspect signal sets, see
-.BR sigsetops (3).
+.MR sigsetops 3 .
.P
In the absence of
.BR pthread_attr_setsigmask_np ()
it is possible to create a thread with a desired signal mask as follows:
.IP \[bu] 3
The creating thread uses
-.BR pthread_sigmask (3)
+.MR pthread_sigmask 3
to save its current signal mask and set its mask to block all signals.
.IP \[bu]
The new thread is then created using
@@ -115,7 +115,7 @@ The new thread is then created using
the new thread will inherit the creating thread's signal mask.
.IP \[bu]
The new thread sets its signal mask to the desired value using
-.BR pthread_sigmask (3).
+.MR pthread_sigmask 3 .
.IP \[bu]
The creating thread restores its signal mask to the original value.
.P
@@ -123,8 +123,8 @@ Following the above steps,
there is no possibility for the new thread to receive a signal
before it has adjusted its signal mask to the desired value.
.SH SEE ALSO
-.BR sigprocmask (2),
-.BR pthread_attr_init (3),
-.BR pthread_sigmask (3),
-.BR pthreads (7),
-.BR signal (7)
+.MR sigprocmask 2 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_sigmask 3 ,
+.MR pthreads 7 ,
+.MR signal 7
diff --git a/man3/pthread_attr_setstack.3 b/man3/pthread_attr_setstack.3
index f783b03a5..0b146a2eb 100644
--- a/man3/pthread_attr_setstack.3
+++ b/man3/pthread_attr_setstack.3
@@ -25,7 +25,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_attr_getstack (),
@@ -91,7 +91,7 @@ and
is not both readable and writable by the caller.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -115,14 +115,14 @@ a thread's stack is placed in a particular location.
For most applications, this is not necessary,
and the use of these functions should be avoided.
(Use
-.BR pthread_attr_setstacksize (3)
+.MR pthread_attr_setstacksize 3
if an application simply requires a stack size other than the default.)
.P
When an application employs
.BR pthread_attr_setstack (),
it takes over the responsibility of allocating the stack.
Any guard size value that was set using
-.BR pthread_attr_setguardsize (3)
+.MR pthread_attr_setguardsize 3
is ignored.
If deemed necessary,
it is the application's responsibility to allocate a guard area
@@ -134,7 +134,7 @@ The address specified in
should be suitably aligned:
for full portability, align it on a page boundary
.RI ( sysconf(_SC_PAGESIZE) ).
-.BR posix_memalign (3)
+.MR posix_memalign 3
may be useful for allocation.
Probably,
.I stacksize
@@ -144,21 +144,21 @@ If
.I attr
is used to create multiple threads, then the caller must change the
stack address attribute between calls to
-.BR pthread_create (3);
+.MR pthread_create 3 ;
otherwise, the threads will attempt to use the same memory area
for their stacks, and chaos will ensue.
.SH EXAMPLES
See
-.BR pthread_attr_init (3).
+.MR pthread_attr_init 3 .
.SH SEE ALSO
.ad l
.nh
-.BR mmap (2),
-.BR mprotect (2),
-.BR posix_memalign (3),
-.BR pthread_attr_init (3),
-.BR pthread_attr_setguardsize (3),
-.BR pthread_attr_setstackaddr (3),
-.BR pthread_attr_setstacksize (3),
-.BR pthread_create (3),
-.BR pthreads (7)
+.MR mmap 2 ,
+.MR mprotect 2 ,
+.MR posix_memalign 3 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setguardsize 3 ,
+.MR pthread_attr_setstackaddr 3 ,
+.MR pthread_attr_setstacksize 3 ,
+.MR pthread_create 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_attr_setstackaddr.3 b/man3/pthread_attr_setstackaddr.3
index 7f72b0f59..bca919414 100644
--- a/man3/pthread_attr_setstackaddr.3
+++ b/man3/pthread_attr_setstackaddr.3
@@ -26,9 +26,9 @@ POSIX threads library
These functions are obsolete:
.B do not use them.
Use
-.BR pthread_attr_setstack (3)
+.MR pthread_attr_setstack 3
and
-.BR pthread_attr_getstack (3)
+.MR pthread_attr_getstack 3
instead.
.P
The
@@ -64,7 +64,7 @@ No errors are defined
handle a possible error return).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -100,16 +100,16 @@ address in the allocated stack area.
By contrast, the
.I stackaddr
used by
-.BR pthread_attr_setstack (3)
+.MR pthread_attr_setstack 3
and
-.BR pthread_attr_getstack (3),
+.MR pthread_attr_getstack 3 ,
is always a pointer to the lowest address in the allocated stack area
(and the
.I stacksize
argument specifies the range of the stack).
.SH SEE ALSO
-.BR pthread_attr_init (3),
-.BR pthread_attr_setstack (3),
-.BR pthread_attr_setstacksize (3),
-.BR pthread_create (3),
-.BR pthreads (7)
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setstack 3 ,
+.MR pthread_attr_setstacksize 3 ,
+.MR pthread_create 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_attr_setstacksize.3 b/man3/pthread_attr_setstacksize.3
index 61816cc41..7cd88b882 100644
--- a/man3/pthread_attr_setstacksize.3
+++ b/man3/pthread_attr_setstacksize.3
@@ -62,7 +62,7 @@ if
is not a multiple of the system page size.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -81,13 +81,13 @@ These functions are provided since glibc 2.1.
POSIX.1-2001, POSIX.1-2008.
.SH NOTES
For details on the default stack size of new threads, see
-.BR pthread_create (3).
+.MR pthread_create 3 .
.P
A thread's stack size is fixed at the time of thread creation.
Only the main thread can dynamically grow its stack.
.P
The
-.BR pthread_attr_setstack (3)
+.MR pthread_attr_setstack 3
function allows an application to set both the size and location
of a caller-allocated stack that is to be used by a thread.
.SH BUGS
@@ -104,11 +104,11 @@ be at least
bytes.
.SH EXAMPLES
See
-.BR pthread_create (3).
+.MR pthread_create 3 .
.SH SEE ALSO
-.BR getrlimit (2),
-.BR pthread_attr_init (3),
-.BR pthread_attr_setguardsize (3),
-.BR pthread_attr_setstack (3),
-.BR pthread_create (3),
-.BR pthreads (7)
+.MR getrlimit 2 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setguardsize 3 ,
+.MR pthread_attr_setstack 3 ,
+.MR pthread_create 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_cancel.3 b/man3/pthread_cancel.3
index 3fef2f1c5..cc728cbb1 100644
--- a/man3/pthread_cancel.3
+++ b/man3/pthread_cancel.3
@@ -30,7 +30,7 @@ and
.IR type .
.P
A thread's cancelability state, determined by
-.BR pthread_setcancelstate (3),
+.MR pthread_setcancelstate 3 ,
can be
.I enabled
(the default for new threads) or
@@ -42,7 +42,7 @@ If a thread has enabled cancelation,
then its cancelability type determines when cancelation occurs.
.P
A thread's cancelation type, determined by
-.BR pthread_setcanceltype (3),
+.MR pthread_setcanceltype 3 ,
may be either
.I asynchronous
or
@@ -55,7 +55,7 @@ Deferred cancelability means that cancelation will be delayed until
the thread next calls a function that is a
.IR "cancelation point" .
A list of functions that are or may be cancelation points is provided in
-.BR pthreads (7).
+.MR pthreads 7 .
.P
When a cancelation requested is acted on, the following steps occur for
.I thread
@@ -64,16 +64,16 @@ When a cancelation requested is acted on, the following steps occur for
Cancelation clean-up handlers are popped
(in the reverse of the order in which they were pushed) and called.
(See
-.BR pthread_cleanup_push (3).)
+.MR pthread_cleanup_push 3 .)
.IP (2)
Thread-specific data destructors are called,
in an unspecified order.
(See
-.BR pthread_key_create (3).)
+.MR pthread_key_create 3 .)
.IP (3)
The thread is terminated.
(See
-.BR pthread_exit (3).)
+.MR pthread_exit 3 .)
.P
The above steps happen asynchronously with respect to the
.BR pthread_cancel ()
@@ -85,7 +85,7 @@ was successfully queued.
.P
After a canceled thread has terminated,
a join with that thread using
-.BR pthread_join (3)
+.MR pthread_join 3
obtains
.B PTHREAD_CANCELED
as the thread's exit status.
@@ -104,7 +104,7 @@ No thread with the ID
could be found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -226,12 +226,12 @@ main(void)
.SH SEE ALSO
.ad l
.nh
-.BR pthread_cleanup_push (3),
-.BR pthread_create (3),
-.BR pthread_exit (3),
-.BR pthread_join (3),
-.BR pthread_key_create (3),
-.BR pthread_setcancelstate (3),
-.BR pthread_setcanceltype (3),
-.BR pthread_testcancel (3),
-.BR pthreads (7)
+.MR pthread_cleanup_push 3 ,
+.MR pthread_create 3 ,
+.MR pthread_exit 3 ,
+.MR pthread_join 3 ,
+.MR pthread_key_create 3 ,
+.MR pthread_setcancelstate 3 ,
+.MR pthread_setcanceltype 3 ,
+.MR pthread_testcancel 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_cleanup_push.3 b/man3/pthread_cleanup_push.3
index 7026929a8..c677b29ea 100644
--- a/man3/pthread_cleanup_push.3
+++ b/man3/pthread_cleanup_push.3
@@ -53,7 +53,7 @@ all of the stacked clean-up handlers are popped and executed in
the reverse of the order in which they were pushed onto the stack.
.IP \[bu]
When a thread terminates by calling
-.BR pthread_exit (3),
+.MR pthread_exit 3 ,
all clean-up handlers are executed as described in the preceding point.
(Clean-up handlers are
.I not
@@ -81,23 +81,27 @@ and at the same lexical nesting level.
during the execution of a specified section of code.)
.P
Calling
-.BR longjmp (3)
-.RB ( siglongjmp (3))
+.MR longjmp 3
+\%(\c
+.MR siglongjmp 3 )
produces undefined results if any call has been made to
.BR pthread_cleanup_push ()
or
.BR pthread_cleanup_pop ()
without the matching call of the pair since the jump buffer
was filled by
-.BR setjmp (3)
-.RB ( sigsetjmp (3)).
+.MR setjmp 3
+\%(\c
+.MR sigsetjmp 3 ).
Likewise, calling
-.BR longjmp (3)
-.RB ( siglongjmp (3))
+.MR longjmp 3
+\%(\c
+.MR siglongjmp 3 )
from inside a clean-up handler produces undefined results
unless the jump buffer was also filled by
-.BR setjmp (3)
-.RB ( sigsetjmp (3))
+.MR setjmp 3
+\%(\c
+.MR sigsetjmp 3 )
inside the handler.
.SH RETURN VALUE
These functions do not return a value.
@@ -105,7 +109,7 @@ These functions do not return a value.
There are no errors.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -312,8 +316,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR pthread_cancel (3),
-.BR pthread_cleanup_push_defer_np (3),
-.BR pthread_setcancelstate (3),
-.BR pthread_testcancel (3),
-.BR pthreads (7)
+.MR pthread_cancel 3 ,
+.MR pthread_cleanup_push_defer_np 3 ,
+.MR pthread_setcancelstate 3 ,
+.MR pthread_testcancel 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_cleanup_push_defer_np.3 b/man3/pthread_cleanup_push_defer_np.3
index f448a1896..a6b5de998 100644
--- a/man3/pthread_cleanup_push_defer_np.3
+++ b/man3/pthread_cleanup_push_defer_np.3
@@ -20,7 +20,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_cleanup_push_defer_np (),
@@ -30,26 +30,26 @@ Feature Test Macro Requirements for glibc (see
.fi
.SH DESCRIPTION
These functions are the same as
-.BR pthread_cleanup_push (3)
+.MR pthread_cleanup_push 3
and
-.BR pthread_cleanup_pop (3),
+.MR pthread_cleanup_pop 3 ,
except for the differences noted on this page.
.P
Like
-.BR pthread_cleanup_push (3),
+.MR pthread_cleanup_push 3 ,
.BR pthread_cleanup_push_defer_np ()
pushes
.I routine
onto the thread's stack of cancelation clean-up handlers.
In addition, it also saves the thread's current cancelability type,
and sets the cancelability type to "deferred" (see
-.BR pthread_setcanceltype (3));
+.MR pthread_setcanceltype 3 );
this ensures that cancelation clean-up will occur
even if the thread's cancelability type was "asynchronous"
before the call.
.P
Like
-.BR pthread_cleanup_pop (3),
+.MR pthread_cleanup_pop 3 ,
.BR pthread_cleanup_pop_restore_np ()
pops the top-most clean-up handler from the thread's
stack of cancelation clean-up handlers.
@@ -61,7 +61,7 @@ The caller must ensure that calls to these
functions are paired within the same function,
and at the same lexical nesting level.
Other restrictions apply, as described in
-.BR pthread_cleanup_push (3).
+.MR pthread_cleanup_push 3 .
.P
This sequence of calls:
.P
@@ -93,8 +93,8 @@ hence the suffix "_np" (nonportable) in the names.
.SH HISTORY
glibc 2.0
.SH SEE ALSO
-.BR pthread_cancel (3),
-.BR pthread_cleanup_push (3),
-.BR pthread_setcancelstate (3),
-.BR pthread_testcancel (3),
-.BR pthreads (7)
+.MR pthread_cancel 3 ,
+.MR pthread_cleanup_push 3 ,
+.MR pthread_setcancelstate 3 ,
+.MR pthread_testcancel 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_create.3 b/man3/pthread_create.3
index 66c67a6ff..1e0ccd84d 100644
--- a/man3/pthread_create.3
+++ b/man3/pthread_create.3
@@ -32,24 +32,24 @@ is passed as the sole argument of
The new thread terminates in one of the following ways:
.IP \[bu] 3
It calls
-.BR pthread_exit (3),
+.MR pthread_exit 3 ,
specifying an exit status value that is available to another thread
in the same process that calls
-.BR pthread_join (3).
+.MR pthread_join 3 .
.IP \[bu]
It returns from
.IR start_routine ().
This is equivalent to calling
-.BR pthread_exit (3)
+.MR pthread_exit 3
with the value supplied in the
.I return
statement.
.IP \[bu]
It is canceled (see
-.BR pthread_cancel (3)).
+.MR pthread_cancel 3 ).
.IP \[bu]
Any of the threads in the process calls
-.BR exit (3),
+.MR exit 3 ,
or the main thread performs a return from
.IR main ().
This causes the termination of all threads in the process.
@@ -61,7 +61,7 @@ argument points to a
structure whose contents are used at thread creation time to
determine attributes for the new thread;
this structure is initialized using
-.BR pthread_attr_init (3)
+.MR pthread_attr_init 3
and related functions.
If
.I attr
@@ -76,26 +76,30 @@ this identifier is used to refer to the thread
in subsequent calls to other pthreads functions.
.P
The new thread inherits a copy of the creating thread's signal mask
-.RB ( pthread_sigmask (3)).
+\%(\c
+.MR pthread_sigmask 3 ).
The set of pending signals for the new thread is empty
-.RB ( sigpending (2)).
+\%(\c
+.MR sigpending 2 ).
The new thread does not inherit the creating thread's
alternate signal stack
-.RB ( sigaltstack (2)).
+\%(\c
+.MR sigaltstack 2 ).
.P
The new thread inherits the calling thread's floating-point environment
-.RB ( fenv (3)).
+\%(\c
+.MR fenv 3 ).
.P
The initial value of the new thread's CPU-time clock is 0
(see
-.BR pthread_getcpuclockid (3)).
+.MR pthread_getcpuclockid 3 ).
.\" CLOCK_THREAD_CPUTIME_ID in clock_gettime(2)
.SS Linux-specific details
The new thread inherits copies of the calling thread's capability sets
(see
-.BR capabilities (7))
+.MR capabilities 7 )
and CPU affinity mask (see
-.BR sched_setaffinity (2)).
+.MR sched_setaffinity 2 ).
.SH RETURN VALUE
On success,
.BR pthread_create ()
@@ -114,17 +118,17 @@ A system-imposed limit on the number of threads was encountered.
There are a number of limits that may trigger this error: the
.B RLIMIT_NPROC
soft resource limit (set via
-.BR setrlimit (2)),
+.MR setrlimit 2 ),
which limits the number of processes and threads for a real user ID,
was reached;
the kernel's system-wide limit on the number of processes and threads,
.IR /proc/sys/kernel/threads\-max ,
was reached (see
-.BR proc (5));
+.MR proc 5 );
or the maximum number of PIDs,
.IR /proc/sys/kernel/pid_max ,
was reached (see
-.BR proc (5)).
+.MR proc 5 ).
.TP
.B EINVAL
Invalid settings in
@@ -136,7 +140,7 @@ No permission to set the scheduling policy and parameters specified in
.IR attr .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -154,7 +158,7 @@ POSIX.1-2008.
POSIX.1-2001.
.SH NOTES
See
-.BR pthread_self (3)
+.MR pthread_self 3
for further information on the thread ID returned in
.I *thread
by
@@ -170,7 +174,7 @@ A thread may either be
or
.IR detached .
If a thread is joinable, then another thread can call
-.BR pthread_join (3)
+.MR pthread_join 3
to wait for the thread to terminate and fetch its exit status.
Only when a terminated joinable thread has been joined are
the last of its resources released back to the system.
@@ -183,7 +187,7 @@ whose exit status the application does not need to care about.
By default, a new thread is created in a joinable state, unless
.I attr
was set to create the thread in a detached state (using
-.BR pthread_attr_setdetachstate (3)).
+.MR pthread_attr_setdetachstate 3 ).
.P
Under the NPTL threading implementation, if the
.B RLIMIT_STACK
@@ -192,7 +196,7 @@ soft resource limit
has any value other than "unlimited",
then it determines the default stack size of new threads.
Using
-.BR pthread_attr_setstacksize (3),
+.MR pthread_attr_setstacksize 3 ,
the stack size attribute can be explicitly set in the
.I attr
argument used to create a thread,
@@ -222,7 +226,7 @@ In the obsolete LinuxThreads implementation,
each of the threads in a process has a different process ID.
This is in violation of the POSIX threads specification,
and is the source of many other nonconformances to the standard; see
-.BR pthreads (7).
+.MR pthreads 7 .
.SH EXAMPLES
The program below demonstrates the use of
.BR pthread_create (),
@@ -248,7 +252,7 @@ Joined with thread 3; returned value was SERVUS
.in
.P
In the next run, the program explicitly sets a stack size of 1\ MB (using
-.BR pthread_attr_setstacksize (3))
+.MR pthread_attr_setstacksize 3 )
for the created threads:
.P
.in +4n
@@ -396,14 +400,14 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR getrlimit (2),
-.BR pthread_attr_init (3),
-.BR pthread_cancel (3),
-.BR pthread_detach (3),
-.BR pthread_equal (3),
-.BR pthread_exit (3),
-.BR pthread_getattr_np (3),
-.BR pthread_join (3),
-.BR pthread_self (3),
-.BR pthread_setattr_default_np (3),
-.BR pthreads (7)
+.MR getrlimit 2 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_cancel 3 ,
+.MR pthread_detach 3 ,
+.MR pthread_equal 3 ,
+.MR pthread_exit 3 ,
+.MR pthread_getattr_np 3 ,
+.MR pthread_join 3 ,
+.MR pthread_self 3 ,
+.MR pthread_setattr_default_np 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_detach.3 b/man3/pthread_detach.3
index d8b02ed86..1b7cba9a2 100644
--- a/man3/pthread_detach.3
+++ b/man3/pthread_detach.3
@@ -45,7 +45,7 @@ No thread with the ID
could be found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -63,25 +63,25 @@ POSIX.1-2008.
POSIX.1-2001.
.SH NOTES
Once a thread has been detached, it can't be joined with
-.BR pthread_join (3)
+.MR pthread_join 3
or be made joinable again.
.P
A new thread can be created in a detached state using
-.BR pthread_attr_setdetachstate (3)
+.MR pthread_attr_setdetachstate 3
to set the detached attribute of the
.I attr
argument of
-.BR pthread_create (3).
+.MR pthread_create 3 .
.P
The detached attribute merely determines the behavior of the system
when the thread terminates;
it does not prevent the thread from being terminated
if the process terminates using
-.BR exit (3)
+.MR exit 3
(or equivalently, if the main thread returns).
.P
Either
-.BR pthread_join (3)
+.MR pthread_join 3
or
.BR pthread_detach ()
should be called for each thread that an application creates,
@@ -97,9 +97,9 @@ pthread_detach(pthread_self());
.EE
.in
.SH SEE ALSO
-.BR pthread_attr_setdetachstate (3),
-.BR pthread_cancel (3),
-.BR pthread_create (3),
-.BR pthread_exit (3),
-.BR pthread_join (3),
-.BR pthreads (7)
+.MR pthread_attr_setdetachstate 3 ,
+.MR pthread_cancel 3 ,
+.MR pthread_create 3 ,
+.MR pthread_exit 3 ,
+.MR pthread_join 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_equal.3 b/man3/pthread_equal.3
index 214f3b6ba..23015354b 100644
--- a/man3/pthread_equal.3
+++ b/man3/pthread_equal.3
@@ -28,7 +28,7 @@ returns a nonzero value; otherwise, it returns 0.
This function always succeeds.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -52,6 +52,6 @@ there is no portable way for applications to directly compare two
.I pthread_t
values.
.SH SEE ALSO
-.BR pthread_create (3),
-.BR pthread_self (3),
-.BR pthreads (7)
+.MR pthread_create 3 ,
+.MR pthread_self 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_exit.3 b/man3/pthread_exit.3
index dc1de8c19..515e94536 100644
--- a/man3/pthread_exit.3
+++ b/man3/pthread_exit.3
@@ -23,10 +23,10 @@ function terminates the calling thread and returns a value via
.I retval
that (if the thread is joinable)
is available to another thread in the same process that calls
-.BR pthread_join (3).
+.MR pthread_join 3 .
.P
Any clean-up handlers established by
-.BR pthread_cleanup_push (3)
+.MR pthread_cleanup_push 3
that have not yet been popped,
are popped (in the reverse of the order in which they were pushed)
and executed.
@@ -39,16 +39,16 @@ When a thread terminates,
process-shared resources (e.g., mutexes, condition variables,
semaphores, and file descriptors) are not released,
and functions registered using
-.BR atexit (3)
+.MR atexit 3
are not called.
.P
After the last thread in a process terminates,
the process terminates as by calling
-.BR exit (3)
+.MR exit 3
with an exit status of zero;
thus, process-shared resources
are released and functions registered using
-.BR atexit (3)
+.MR atexit 3
are called.
.SH RETURN VALUE
This function does not return to the caller.
@@ -56,7 +56,7 @@ This function does not return to the caller.
This function always succeeds.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -82,7 +82,7 @@ To allow other threads to continue execution,
the main thread should terminate by calling
.BR pthread_exit ()
rather than
-.BR exit (3).
+.MR exit 3 .
.P
The value pointed to by
.I retval
@@ -92,7 +92,7 @@ since the contents of that stack are undefined after the thread terminates.
Currently,
.\" Linux 2.6.27
there are limitations in the kernel implementation logic for
-.BR wait (2)ing
+.MR wait 2 ing
on a stopped thread group with a dead thread group leader.
This can manifest in problems such as a locked terminal if a stop signal is
sent to a foreground process whose thread group leader has already called
@@ -101,6 +101,6 @@ sent to a foreground process whose thread group leader has already called
.\" http://thread.gmane.org/gmane.linux.kernel/611611
.\" http://marc.info/?l=linux-kernel&m=122525468300823&w=2
.SH SEE ALSO
-.BR pthread_create (3),
-.BR pthread_join (3),
-.BR pthreads (7)
+.MR pthread_create 3 ,
+.MR pthread_join 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_getattr_default_np.3 b/man3/pthread_getattr_default_np.3
index 97f734eb9..952541cf1 100644
--- a/man3/pthread_getattr_default_np.3
+++ b/man3/pthread_getattr_default_np.3
@@ -23,7 +23,7 @@ The
.BR pthread_setattr_default_np ()
function sets the default attributes used for creation of a new
thread\[em]that is, the attributes that are used when
-.BR pthread_create (3)
+.MR pthread_create 3
is called with a second argument that is NULL.
The default attributes are set using the attributes supplied in
.IR *attr ,
@@ -60,7 +60,7 @@ is invalid, or the stack address attribute is set in
Insufficient memory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -177,16 +177,16 @@ main(void)
.SH SEE ALSO
.ad l
.nh
-.BR pthread_attr_getaffinity_np (3),
-.BR pthread_attr_getdetachstate (3),
-.BR pthread_attr_getguardsize (3),
-.BR pthread_attr_getinheritsched (3),
-.BR pthread_attr_getschedparam (3),
-.BR pthread_attr_getschedpolicy (3),
-.BR pthread_attr_getscope (3),
-.BR pthread_attr_getstack (3),
-.BR pthread_attr_getstackaddr (3),
-.BR pthread_attr_getstacksize (3),
-.BR pthread_attr_init (3),
-.BR pthread_create (3),
-.BR pthreads (7)
+.MR pthread_attr_getaffinity_np 3 ,
+.MR pthread_attr_getdetachstate 3 ,
+.MR pthread_attr_getguardsize 3 ,
+.MR pthread_attr_getinheritsched 3 ,
+.MR pthread_attr_getschedparam 3 ,
+.MR pthread_attr_getschedpolicy 3 ,
+.MR pthread_attr_getscope 3 ,
+.MR pthread_attr_getstack 3 ,
+.MR pthread_attr_getstackaddr 3 ,
+.MR pthread_attr_getstacksize 3 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_create 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_getattr_np.3 b/man3/pthread_getattr_np.3
index 2c9d7c196..8e14a9704 100644
--- a/man3/pthread_getattr_np.3
+++ b/man3/pthread_getattr_np.3
@@ -29,7 +29,7 @@ The returned attribute values may differ from
the corresponding attribute values passed in the
.I attr
object that was used to create the thread using
-.BR pthread_create (3).
+.MR pthread_create 3 .
In particular, the following attributes may differ:
.IP \[bu] 3
the detach state, since a joinable thread may have detached itself
@@ -51,7 +51,7 @@ stack address that the implementation selected for the thread.
When the thread attributes object returned by
.BR pthread_getattr_np ()
is no longer required, it should be destroyed using
-.BR pthread_attr_destroy (3).
+.MR pthread_attr_destroy 3 .
.SH RETURN VALUE
On success, this function returns 0;
on error, it returns a nonzero error number.
@@ -66,18 +66,18 @@ In addition, if
refers to the main thread, then
.BR pthread_getattr_np ()
can fail because of errors from various underlying calls:
-.BR fopen (3),
+.MR fopen 3 ,
if
.I /proc/self/maps
can't be opened;
and
-.BR getrlimit (2),
+.MR getrlimit 2 ,
if the
.B RLIMIT_STACK
resource limit is not supported.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -341,16 +341,16 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR pthread_attr_getaffinity_np (3),
-.BR pthread_attr_getdetachstate (3),
-.BR pthread_attr_getguardsize (3),
-.BR pthread_attr_getinheritsched (3),
-.BR pthread_attr_getschedparam (3),
-.BR pthread_attr_getschedpolicy (3),
-.BR pthread_attr_getscope (3),
-.BR pthread_attr_getstack (3),
-.BR pthread_attr_getstackaddr (3),
-.BR pthread_attr_getstacksize (3),
-.BR pthread_attr_init (3),
-.BR pthread_create (3),
-.BR pthreads (7)
+.MR pthread_attr_getaffinity_np 3 ,
+.MR pthread_attr_getdetachstate 3 ,
+.MR pthread_attr_getguardsize 3 ,
+.MR pthread_attr_getinheritsched 3 ,
+.MR pthread_attr_getschedparam 3 ,
+.MR pthread_attr_getschedpolicy 3 ,
+.MR pthread_attr_getscope 3 ,
+.MR pthread_attr_getstack 3 ,
+.MR pthread_attr_getstackaddr 3 ,
+.MR pthread_attr_getstacksize 3 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_create 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_getcpuclockid.3 b/man3/pthread_getcpuclockid.3
index e352dfbce..66946e3cc 100644
--- a/man3/pthread_getcpuclockid.3
+++ b/man3/pthread_getcpuclockid.3
@@ -47,7 +47,7 @@ No thread with the ID
could be found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -70,14 +70,14 @@ When
refers to the calling thread,
this function returns an identifier that refers to the same clock
manipulated by
-.BR clock_gettime (2)
+.MR clock_gettime 2
and
-.BR clock_settime (2)
+.MR clock_settime 2
when given the clock ID
.BR CLOCK_THREAD_CPUTIME_ID .
.SH EXAMPLES
The program below creates a thread and then uses
-.BR clock_gettime (2)
+.MR clock_gettime 2
to retrieve the total process CPU time,
and the per-thread CPU time consumed by the two threads.
The following shell session shows an example run:
@@ -171,10 +171,10 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR clock_settime (2),
-.BR timer_create (2),
-.BR clock_getcpuclockid (3),
-.BR pthread_self (3),
-.BR pthreads (7),
-.BR time (7)
+.MR clock_gettime 2 ,
+.MR clock_settime 2 ,
+.MR timer_create 2 ,
+.MR clock_getcpuclockid 3 ,
+.MR pthread_self 3 ,
+.MR pthreads 7 ,
+.MR time 7
diff --git a/man3/pthread_join.3 b/man3/pthread_join.3
index cbdd363ae..1ac4a0823 100644
--- a/man3/pthread_join.3
+++ b/man3/pthread_join.3
@@ -35,7 +35,7 @@ is not NULL, then
.BR pthread_join ()
copies the exit status of the target thread
(i.e., the value that the target thread supplied to
-.BR pthread_exit (3))
+.MR pthread_exit 3 )
into the location pointed to by
.IR retval .
If the target thread was canceled, then
@@ -79,7 +79,7 @@ No thread with the ID
could be found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -124,11 +124,11 @@ All of the threads in a process are peers:
any thread can join with any other thread in the process.
.SH EXAMPLES
See
-.BR pthread_create (3).
+.MR pthread_create 3 .
.SH SEE ALSO
-.BR pthread_cancel (3),
-.BR pthread_create (3),
-.BR pthread_detach (3),
-.BR pthread_exit (3),
-.BR pthread_tryjoin_np (3),
-.BR pthreads (7)
+.MR pthread_cancel 3 ,
+.MR pthread_create 3 ,
+.MR pthread_detach 3 ,
+.MR pthread_exit 3 ,
+.MR pthread_tryjoin_np 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_kill.3 b/man3/pthread_kill.3
index 5f158293e..febf9182f 100644
--- a/man3/pthread_kill.3
+++ b/man3/pthread_kill.3
@@ -19,7 +19,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_kill ():
@@ -51,7 +51,7 @@ on error, it returns an error number, and no signal is sent.
An invalid signal was specified.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -71,7 +71,7 @@ gives an error
on attempts to send either of the real-time signals
used internally by the NPTL threading implementation.
See
-.BR nptl (7)
+.MR nptl 7
for details.
.P
POSIX.1-2008 recommends that if an implementation detects the use
@@ -98,11 +98,11 @@ the handler will be invoked in the thread
but if the disposition of the signal is "stop", "continue", or "terminate",
this action will affect the whole process.
.SH SEE ALSO
-.BR kill (2),
-.BR sigaction (2),
-.BR sigpending (2),
-.BR pthread_self (3),
-.BR pthread_sigmask (3),
-.BR raise (3),
-.BR pthreads (7),
-.BR signal (7)
+.MR kill 2 ,
+.MR sigaction 2 ,
+.MR sigpending 2 ,
+.MR pthread_self 3 ,
+.MR pthread_sigmask 3 ,
+.MR raise 3 ,
+.MR pthreads 7 ,
+.MR signal 7
diff --git a/man3/pthread_kill_other_threads_np.3 b/man3/pthread_kill_other_threads_np.3
index 4689000b6..d70a89cd9 100644
--- a/man3/pthread_kill_other_threads_np.3
+++ b/man3/pthread_kill_other_threads_np.3
@@ -28,7 +28,7 @@ to-be-terminated threads are ignored,
and the cleanup handlers are not called in those threads.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -46,7 +46,7 @@ In the NPTL threading implementation,
exists, but does nothing.
(Nothing needs to be done,
because the implementation does the right thing during an
-.BR execve (2).)
+.MR execve 2 .)
.SH STANDARDS
GNU;
hence the suffix "_np" (nonportable) in the name.
@@ -55,15 +55,15 @@ glibc 2.0
.SH NOTES
.BR pthread_kill_other_threads_np ()
is intended to be called just before a thread calls
-.BR execve (2)
+.MR execve 2
or a similar function.
This function is designed to address a limitation in the obsolete
LinuxThreads implementation whereby the other threads of an application
are not automatically terminated (as POSIX.1-2001 requires) during
-.BR execve (2).
+.MR execve 2 .
.SH SEE ALSO
-.BR execve (2),
-.BR pthread_cancel (3),
-.BR pthread_setcancelstate (3),
-.BR pthread_setcanceltype (3),
-.BR pthreads (7)
+.MR execve 2 ,
+.MR pthread_cancel 3 ,
+.MR pthread_setcancelstate 3 ,
+.MR pthread_setcanceltype 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_mutex_consistent.3 b/man3/pthread_mutex_consistent.3
index 372ed0d35..367098f54 100644
--- a/man3/pthread_mutex_consistent.3
+++ b/man3/pthread_mutex_consistent.3
@@ -18,7 +18,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_mutex_consistent ():
@@ -75,12 +75,12 @@ shared data has been restored to a consistent state before calling
.BR pthread_mutex_consistent ().
.SH EXAMPLES
See
-.BR pthread_mutexattr_setrobust (3).
+.MR pthread_mutexattr_setrobust 3 .
.SH SEE ALSO
.ad l
.nh
-.BR pthread_mutex_lock (3),
-.BR pthread_mutexattr_getrobust (3),
-.BR pthread_mutexattr_init (3),
-.BR pthread_mutexattr_setrobust (3),
-.BR pthreads (7)
+.MR pthread_mutex_lock 3 ,
+.MR pthread_mutexattr_getrobust 3 ,
+.MR pthread_mutexattr_init 3 ,
+.MR pthread_mutexattr_setrobust 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_mutexattr_getpshared.3 b/man3/pthread_mutexattr_getpshared.3
index 34bf3a718..c9e2e671b 100644
--- a/man3/pthread_mutexattr_getpshared.3
+++ b/man3/pthread_mutexattr_getpshared.3
@@ -78,5 +78,5 @@ POSIX.1-2001.
.SH SEE ALSO
.ad l
.nh
-.BR pthread_mutexattr_init (3),
-.BR pthreads (7)
+.MR pthread_mutexattr_init 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_mutexattr_init.3 b/man3/pthread_mutexattr_init.3
index 7fff66b1d..feaaee334 100644
--- a/man3/pthread_mutexattr_init.3
+++ b/man3/pthread_mutexattr_init.3
@@ -47,7 +47,7 @@ have already been initialized using that object.
.SH SEE ALSO
.ad l
.nh
-.BR pthread_mutex_init (3),
-.BR pthread_mutexattr_getpshared (3),
-.BR pthread_mutexattr_getrobust (3),
-.BR pthreads (7)
+.MR pthread_mutex_init 3 ,
+.MR pthread_mutexattr_getpshared 3 ,
+.MR pthread_mutexattr_getrobust 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_mutexattr_setrobust.3 b/man3/pthread_mutexattr_setrobust.3
index 921d9e9c0..80d96a35b 100644
--- a/man3/pthread_mutexattr_setrobust.3
+++ b/man3/pthread_mutexattr_setrobust.3
@@ -22,7 +22,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_mutexattr_getrobust (),
@@ -59,7 +59,7 @@ If a mutex is initialized with the
.B PTHREAD_MUTEX_STALLED
attribute and its owner dies without unlocking it,
the mutex remains locked afterwards and any future attempts to call
-.BR pthread_mutex_lock (3)
+.MR pthread_mutex_lock 3
on the mutex will block indefinitely.
.TP
.B PTHREAD_MUTEX_ROBUST
@@ -67,7 +67,7 @@ If a mutex is initialized with the
.B PTHREAD_MUTEX_ROBUST
attribute and its owner dies without unlocking it,
any future attempts to call
-.BR pthread_mutex_lock (3)
+.MR pthread_mutex_lock 3
on this mutex will succeed and return
.B EOWNERDEAD
to indicate that the original owner no longer exists and the mutex is in
@@ -75,23 +75,23 @@ an inconsistent state.
Usually after
.B EOWNERDEAD
is returned, the next owner should call
-.BR pthread_mutex_consistent (3)
+.MR pthread_mutex_consistent 3
on the acquired mutex to make it consistent again before using it any further.
.IP
If the next owner unlocks the mutex using
-.BR pthread_mutex_unlock (3)
+.MR pthread_mutex_unlock 3
before making it consistent, the mutex will be permanently unusable and any
subsequent attempts to lock it using
-.BR pthread_mutex_lock (3)
+.MR pthread_mutex_lock 3
will fail with the error
.BR ENOTRECOVERABLE .
The only permitted operation on such a mutex is
-.BR pthread_mutex_destroy (3).
+.MR pthread_mutex_destroy 3 .
.IP
If the next owner terminates before calling
-.BR pthread_mutex_consistent (3),
+.MR pthread_mutex_consistent 3 ,
further
-.BR pthread_mutex_lock (3)
+.MR pthread_mutex_lock 3
operations on this mutex will still return
.BR EOWNERDEAD .
.P
@@ -102,7 +102,7 @@ argument of
and
.BR pthread_mutexattr_setrobust ()
should refer to a mutex attributes object that was initialized by
-.BR pthread_mutexattr_init (3),
+.MR pthread_mutexattr_init 3 ,
otherwise the behavior is undefined.
.SH RETURN VALUE
On success, these functions return 0.
@@ -125,7 +125,7 @@ In the Linux implementation,
when using process-shared robust mutexes, a waiting thread also receives the
.B EOWNERDEAD
notification if the owner of a robust mutex performs an
-.BR execve (2)
+.MR execve 2
without first unlocking the mutex.
POSIX.1 does not specify this detail,
but the same behavior also occurs in at least some
@@ -256,9 +256,9 @@ main(void)
.SH SEE ALSO
.ad l
.nh
-.BR get_robust_list (2),
-.BR set_robust_list (2),
-.BR pthread_mutex_consistent (3),
-.BR pthread_mutex_init (3),
-.BR pthread_mutex_lock (3),
-.BR pthreads (7)
+.MR get_robust_list 2 ,
+.MR set_robust_list 2 ,
+.MR pthread_mutex_consistent 3 ,
+.MR pthread_mutex_init 3 ,
+.MR pthread_mutex_lock 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_rwlockattr_setkind_np.3 b/man3/pthread_rwlockattr_setkind_np.3
index 5388a9ad3..9feb10816 100644
--- a/man3/pthread_rwlockattr_setkind_np.3
+++ b/man3/pthread_rwlockattr_setkind_np.3
@@ -22,7 +22,7 @@ POSIX threads library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_rwlockattr_setkind_np (),
@@ -116,4 +116,4 @@ hence the suffix "_np" (nonportable) in the names.
.SH HISTORY
glibc 2.1.
.SH SEE ALSO
-.BR pthreads (7)
+.MR pthreads 7
diff --git a/man3/pthread_self.3 b/man3/pthread_self.3
index 9aa58314d..1104f97bb 100644
--- a/man3/pthread_self.3
+++ b/man3/pthread_self.3
@@ -23,7 +23,7 @@ function returns the ID of the calling thread.
This is the same value that is returned in
.I *thread
in the
-.BR pthread_create (3)
+.MR pthread_create 3
call that created this thread.
.SH RETURN VALUE
This function always succeeds, returning the calling thread's ID.
@@ -31,7 +31,7 @@ This function always succeeds, returning the calling thread's ID.
This function always succeeds.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,7 +56,7 @@ Therefore, variables of type
.I pthread_t
can't portably be compared using the C equality operator (\fB==\fP);
use
-.BR pthread_equal (3)
+.MR pthread_equal 3
instead.
.P
Thread identifiers should be considered opaque:
@@ -70,8 +70,8 @@ or a detached thread has terminated.
The thread ID returned by
.BR pthread_self ()
is not the same thing as the kernel thread ID returned by a call to
-.BR gettid (2).
+.MR gettid 2 .
.SH SEE ALSO
-.BR pthread_create (3),
-.BR pthread_equal (3),
-.BR pthreads (7)
+.MR pthread_create 3 ,
+.MR pthread_equal 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_setaffinity_np.3 b/man3/pthread_setaffinity_np.3
index 4e7147321..c88ee4afd 100644
--- a/man3/pthread_setaffinity_np.3
+++ b/man3/pthread_setaffinity_np.3
@@ -42,10 +42,10 @@ in the buffer pointed to by
.IR cpuset .
.P
For more details on CPU affinity masks, see
-.BR sched_setaffinity (2).
+.MR sched_setaffinity 2 .
For a description of a set of macros
that can be used to manipulate and inspect CPU sets, see
-.BR CPU_SET (3).
+.MR CPU_SET 3 .
.P
The argument
.I cpusetsize
@@ -54,7 +54,7 @@ is the length (in bytes) of the buffer pointed to by
Typically, this argument would be specified as
.IR sizeof(cpu_set_t) .
(It may be some other value, if using the macros described in
-.BR CPU_SET (3)
+.MR CPU_SET 3
for dynamically allocating a CPU set.)
.SH RETURN VALUE
On success, these functions return 0;
@@ -71,7 +71,7 @@ The affinity bit mask
contains no processors that are currently physically on the system
and permitted to the thread according to any restrictions that
may be imposed by the "cpuset" mechanism described in
-.BR cpuset (7).
+.MR cpuset 7 .
.TP
.B EINVAL
.RB ( pthread_setaffinity_np ())
@@ -96,7 +96,7 @@ No thread with the ID
could be found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -130,19 +130,19 @@ the intersection of the set specified in the
argument and the set of CPUs actually present on the system.
The system may further restrict the set of CPUs on which the thread
runs if the "cpuset" mechanism described in
-.BR cpuset (7)
+.MR cpuset 7
is being used.
These restrictions on the actual set of CPUs on which the thread
will run are silently imposed by the kernel.
.P
These functions are implemented on top of the
-.BR sched_setaffinity (2)
+.MR sched_setaffinity 2
and
-.BR sched_getaffinity (2)
+.MR sched_getaffinity 2
system calls.
.P
A new thread created by
-.BR pthread_create (3)
+.MR pthread_create 3
inherits a copy of its creator's CPU affinity mask.
.SH EXAMPLES
In the following program, the main thread uses
@@ -197,11 +197,11 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR sched_setaffinity (2),
-.BR CPU_SET (3),
-.BR pthread_attr_setaffinity_np (3),
-.BR pthread_self (3),
-.BR sched_getcpu (3),
-.BR cpuset (7),
-.BR pthreads (7),
-.BR sched (7)
+.MR sched_setaffinity 2 ,
+.MR CPU_SET 3 ,
+.MR pthread_attr_setaffinity_np 3 ,
+.MR pthread_self 3 ,
+.MR sched_getcpu 3 ,
+.MR cpuset 7 ,
+.MR pthreads 7 ,
+.MR sched 7
diff --git a/man3/pthread_setcancelstate.3 b/man3/pthread_setcancelstate.3
index 287907657..62811ffdf 100644
--- a/man3/pthread_setcancelstate.3
+++ b/man3/pthread_setcancelstate.3
@@ -58,7 +58,7 @@ argument must have one of the following values:
.B PTHREAD_CANCEL_DEFERRED
A cancelation request is deferred until the thread next calls
a function that is a cancelation point (see
-.BR pthreads (7)).
+.MR pthreads 7 ).
This is the default cancelability type in all new threads,
including the initial thread.
.IP
@@ -97,7 +97,7 @@ Invalid value for
.IR type .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -131,7 +131,7 @@ glibc 2.0
POSIX.1-2001.
.SH NOTES
For details of what happens when a thread is canceled, see
-.BR \%pthread_cancel (3).
+.MR pthread_cancel 3 .
.P
Briefly disabling cancelability is useful
if a thread performs some critical action
@@ -146,7 +146,7 @@ is rarely useful.
Since the thread could be canceled at
.I any
time, it cannot safely reserve resources (e.g., allocating memory with
-.BR malloc (3)),
+.MR malloc 3 ),
acquire mutexes, semaphores, or locks, and so on.
Reserving resources is unsafe because the application has no way of
knowing what the state of these resources is when the thread is canceled;
@@ -154,7 +154,7 @@ that is, did cancelation occur before the resources were reserved,
while they were reserved, or after they were released?
Furthermore, some internal data structures
(e.g., the linked list of free blocks managed by the
-.BR malloc (3)
+.MR malloc 3
family of functions) may be left in an inconsistent state
if cancelation occurs in the middle of the function call.
Consequently, clean-up handlers cease to be useful.
@@ -162,7 +162,7 @@ Consequently, clean-up handlers cease to be useful.
Functions that can be safely asynchronously canceled are called
.IR "async-cancel-safe functions" .
POSIX.1-2001 and POSIX.1-2008 require only that
-.BR pthread_cancel (3),
+.MR pthread_cancel 3 ,
.BR pthread_setcancelstate (),
and
.BR pthread_setcanceltype ()
@@ -192,9 +192,9 @@ argument of
.BR pthread_setcanceltype ().
.SH EXAMPLES
See
-.BR pthread_cancel (3).
+.MR pthread_cancel 3 .
.SH SEE ALSO
-.BR pthread_cancel (3),
-.BR pthread_cleanup_push (3),
-.BR pthread_testcancel (3),
-.BR pthreads (7)
+.MR pthread_cancel 3 ,
+.MR pthread_cleanup_push 3 ,
+.MR pthread_testcancel 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_setconcurrency.3 b/man3/pthread_setconcurrency.3
index 54a6e0ca8..706c4277f 100644
--- a/man3/pthread_setconcurrency.3
+++ b/man3/pthread_setconcurrency.3
@@ -62,7 +62,7 @@ error ("the value specified by
would cause a system resource to be exceeded").
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -96,5 +96,5 @@ In other words,
on Linux these functions merely exist for compatibility with other systems,
and they have no effect on the execution of a program.
.SH SEE ALSO
-.BR pthread_attr_setscope (3),
-.BR pthreads (7)
+.MR pthread_attr_setscope 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_setname_np.3 b/man3/pthread_setname_np.3
index 587dd3e8c..23b106596 100644
--- a/man3/pthread_setname_np.3
+++ b/man3/pthread_setname_np.3
@@ -80,10 +80,10 @@ is too small to hold the thread name.
If either of these functions fails to open
.IR /proc/self/task/ tid /comm ,
then the call may fail with one of the errors described in
-.BR open (2).
+.MR open 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -197,6 +197,6 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR prctl (2),
-.BR pthread_create (3),
-.BR pthreads (7)
+.MR prctl 2 ,
+.MR pthread_create 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_setschedparam.3 b/man3/pthread_setschedparam.3
index 0bc45ccd5..a2a6241d0 100644
--- a/man3/pthread_setschedparam.3
+++ b/man3/pthread_setschedparam.3
@@ -32,7 +32,7 @@ specifies the new scheduling policy for
The supported values for
.IR policy ,
and their semantics, are described in
-.BR sched (7).
+.MR sched 7 .
.\" FIXME . pthread_setschedparam() places no restriction on the policy,
.\" but pthread_attr_setschedpolicy() restricts policy to RR/FIFO/OTHER
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=7013
@@ -54,7 +54,7 @@ struct sched_param {
As can be seen, only one scheduling parameter is supported.
For details of the permitted ranges for scheduling priorities
in each scheduling policy, see
-.BR sched (7).
+.MR sched 7 .
.P
The
.BR pthread_getschedparam ()
@@ -67,17 +67,17 @@ and
respectively.
The returned priority value is that set by the most recent
.BR pthread_setschedparam (),
-.BR pthread_setschedprio (3),
+.MR pthread_setschedprio 3 ,
or
-.BR pthread_create (3)
+.MR pthread_create 3
call that affected
.IR thread .
The returned priority does not reflect any temporary priority adjustments
as a result of calls to any priority inheritance or
priority ceiling functions (see, for example,
-.BR pthread_mutexattr_setprioceiling (3)
+.MR pthread_mutexattr_setprioceiling 3
and
-.BR pthread_mutexattr_setprotocol (3)).
+.MR pthread_mutexattr_setprotocol 3 ).
.\" FIXME . nptl/pthread_setschedparam.c has the following
.\" /* If the thread should have higher priority because of some
.\" PTHREAD_PRIO_PROTECT mutexes it holds, adjust the priority. */
@@ -120,7 +120,7 @@ to an unsupported value") error for
.BR pthread_setschedparam ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -143,7 +143,7 @@ For a description of the permissions required to, and the effect of,
changing a thread's scheduling policy and priority,
and details of the permitted ranges for priorities
in each scheduling policy, see
-.BR sched (7).
+.MR sched 7 .
.SH EXAMPLES
The program below demonstrates the use of
.BR pthread_setschedparam ()
@@ -160,7 +160,7 @@ a scheduling policy attribute of
.B SCHED_RR
and a scheduling priority attribute of 20.
The program then sets (using
-.BR pthread_attr_setinheritsched (3))
+.MR pthread_attr_setinheritsched 3 )
the inherit scheduler attribute of the thread attributes object to
.BR PTHREAD_EXPLICIT_SCHED ,
meaning that threads created using this attributes object should
@@ -435,14 +435,14 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR getrlimit (2),
-.BR sched_get_priority_min (2),
-.BR pthread_attr_init (3),
-.BR pthread_attr_setinheritsched (3),
-.BR pthread_attr_setschedparam (3),
-.BR pthread_attr_setschedpolicy (3),
-.BR pthread_create (3),
-.BR pthread_self (3),
-.BR pthread_setschedprio (3),
-.BR pthreads (7),
-.BR sched (7)
+.MR getrlimit 2 ,
+.MR sched_get_priority_min 2 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setinheritsched 3 ,
+.MR pthread_attr_setschedparam 3 ,
+.MR pthread_attr_setschedpolicy 3 ,
+.MR pthread_create 3 ,
+.MR pthread_self 3 ,
+.MR pthread_setschedprio 3 ,
+.MR pthreads 7 ,
+.MR sched 7
diff --git a/man3/pthread_setschedprio.3 b/man3/pthread_setschedprio.3
index 8e997520e..e902c570f 100644
--- a/man3/pthread_setschedprio.3
+++ b/man3/pthread_setschedprio.3
@@ -24,7 +24,7 @@ function sets the scheduling priority of the thread
to the value specified in
.IR prio .
(By contrast
-.BR pthread_setschedparam (3)
+.MR pthread_setschedparam 3
changes both the scheduling policy and priority of a thread.)
.\" FIXME . nptl/pthread_setschedprio.c has the following
.\" /* If the thread should have higher priority because of some
@@ -59,10 +59,10 @@ POSIX.1 also documents an
.B ENOTSUP
("attempt was made to set the priority
to an unsupported value") error for
-.BR pthread_setschedparam (3).
+.MR pthread_setschedparam 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,18 +84,18 @@ For a description of the permissions required to, and the effect of,
changing a thread's scheduling priority,
and details of the permitted ranges for priorities
in each scheduling policy, see
-.BR sched (7).
+.MR sched 7 .
.SH SEE ALSO
.ad l
.nh
-.BR getrlimit (2),
-.BR sched_get_priority_min (2),
-.BR pthread_attr_init (3),
-.BR pthread_attr_setinheritsched (3),
-.BR pthread_attr_setschedparam (3),
-.BR pthread_attr_setschedpolicy (3),
-.BR pthread_create (3),
-.BR pthread_self (3),
-.BR pthread_setschedparam (3),
-.BR pthreads (7),
-.BR sched (7)
+.MR getrlimit 2 ,
+.MR sched_get_priority_min 2 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_attr_setinheritsched 3 ,
+.MR pthread_attr_setschedparam 3 ,
+.MR pthread_attr_setschedpolicy 3 ,
+.MR pthread_create 3 ,
+.MR pthread_self 3 ,
+.MR pthread_setschedparam 3 ,
+.MR pthreads 7 ,
+.MR sched 7
diff --git a/man3/pthread_sigmask.3 b/man3/pthread_sigmask.3
index 8d859d760..f6bf3124e 100644
--- a/man3/pthread_sigmask.3
+++ b/man3/pthread_sigmask.3
@@ -20,7 +20,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_sigmask ():
@@ -31,13 +31,13 @@ Feature Test Macro Requirements for glibc (see
The
.BR pthread_sigmask ()
function is just like
-.BR sigprocmask (2),
+.MR sigprocmask 2 ,
with the difference that its use in multithreaded programs
is explicitly specified by POSIX.1.
Other differences are noted in this page.
.P
For a description of the arguments and operation of this function, see
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
.SH RETURN VALUE
On success,
.BR pthread_sigmask ()
@@ -45,10 +45,10 @@ returns 0;
on error, it returns an error number.
.SH ERRORS
See
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -72,12 +72,12 @@ The glibc
function silently ignores attempts to block the two real-time signals that
are used internally by the NPTL threading implementation.
See
-.BR nptl (7)
+.MR nptl 7
for details.
.SH EXAMPLES
The program below blocks some signals in the main thread,
and then creates a dedicated thread to fetch those signals via
-.BR sigwait (3).
+.MR sigwait 3 .
The following shell session demonstrates its use:
.P
.in +4n
@@ -151,12 +151,12 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR sigaction (2),
-.BR sigpending (2),
-.BR sigprocmask (2),
-.BR pthread_attr_setsigmask_np (3),
-.BR pthread_create (3),
-.BR pthread_kill (3),
-.BR sigsetops (3),
-.BR pthreads (7),
-.BR signal (7)
+.MR sigaction 2 ,
+.MR sigpending 2 ,
+.MR sigprocmask 2 ,
+.MR pthread_attr_setsigmask_np 3 ,
+.MR pthread_create 3 ,
+.MR pthread_kill 3 ,
+.MR sigsetops 3 ,
+.MR pthreads 7 ,
+.MR signal 7
diff --git a/man3/pthread_sigqueue.3 b/man3/pthread_sigqueue.3
index b8a4079ce..82f7184b8 100644
--- a/man3/pthread_sigqueue.3
+++ b/man3/pthread_sigqueue.3
@@ -20,7 +20,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_sigqueue ():
@@ -31,7 +31,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR pthread_sigqueue ()
function performs a similar task to
-.BR sigqueue (3),
+.MR sigqueue 3 ,
but, rather than sending a signal to a process,
it sends a signal to a thread in the same process as the
calling thread.
@@ -45,7 +45,7 @@ argument specifies the signal to be sent.
The
.I value
argument specifies data to accompany the signal; see
-.BR sigqueue (3)
+.MR sigqueue 3
for details.
.SH RETURN VALUE
On success,
@@ -57,7 +57,7 @@ on error, it returns an error number.
.B EAGAIN
The limit of signals which may be queued has been reached.
(See
-.BR signal (7)
+.MR signal 7
for further information.)
.TP
.B EINVAL
@@ -73,7 +73,7 @@ is not supported on this system.
is not valid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -93,17 +93,17 @@ gives an error
on attempts to send either of the real-time signals
used internally by the NPTL threading implementation.
See
-.BR nptl (7)
+.MR nptl 7
for details.
.SH STANDARDS
GNU.
.SH HISTORY
glibc 2.11.
.SH SEE ALSO
-.BR rt_tgsigqueueinfo (2),
-.BR sigaction (2),
-.BR pthread_sigmask (3),
-.BR sigqueue (3),
-.BR sigwait (3),
-.BR pthreads (7),
-.BR signal (7)
+.MR rt_tgsigqueueinfo 2 ,
+.MR sigaction 2 ,
+.MR pthread_sigmask 3 ,
+.MR sigqueue 3 ,
+.MR sigwait 3 ,
+.MR pthreads 7 ,
+.MR signal 7
diff --git a/man3/pthread_spin_init.3 b/man3/pthread_spin_init.3
index 0a72c89a0..547f6cfac 100644
--- a/man3/pthread_spin_init.3
+++ b/man3/pthread_spin_init.3
@@ -18,7 +18,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_spin_init (),
@@ -77,8 +77,8 @@ once more initializing it with
results in undefined behavior.
.P
The result of performing operations such as
-.BR pthread_spin_lock (3),
-.BR pthread_spin_unlock (3),
+.MR pthread_spin_lock 3 ,
+.MR pthread_spin_unlock 3 ,
and
.BR pthread_spin_destroy ()
on
@@ -141,8 +141,8 @@ thread placement, and priority assignment.
.SH SEE ALSO
.ad l
.nh
-.BR pthread_mutex_init (3),
-.BR pthread_mutex_lock (3),
-.BR pthread_spin_lock (3),
-.BR pthread_spin_unlock (3),
-.BR pthreads (7)
+.MR pthread_mutex_init 3 ,
+.MR pthread_mutex_lock 3 ,
+.MR pthread_spin_lock 3 ,
+.MR pthread_spin_unlock 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_spin_lock.3 b/man3/pthread_spin_lock.3
index bed98a9ec..03a63de68 100644
--- a/man3/pthread_spin_lock.3
+++ b/man3/pthread_spin_lock.3
@@ -20,7 +20,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR pthread_spin_lock (),
@@ -43,7 +43,7 @@ Calling
.BR pthread_spin_lock ()
on a lock that is already held by the caller
or a lock that has not been initialized with
-.BR pthread_spin_init (3)
+.MR pthread_spin_init 3
results in undefined behavior.
.P
The
@@ -92,11 +92,11 @@ Applying any of the functions described on this page to
an uninitialized spin lock results in undefined behavior.
.P
Carefully read NOTES in
-.BR pthread_spin_init (3).
+.MR pthread_spin_init 3 .
.SH SEE ALSO
.ad l
.nh
.\" FIXME . .BR pthread_mutex_lock (3),
-.BR pthread_spin_destroy (3),
-.BR pthread_spin_init (3),
-.BR pthreads (7)
+.MR pthread_spin_destroy 3 ,
+.MR pthread_spin_init 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_testcancel.3 b/man3/pthread_testcancel.3
index d05462f3d..ab71c56fa 100644
--- a/man3/pthread_testcancel.3
+++ b/man3/pthread_testcancel.3
@@ -24,7 +24,7 @@ so that a thread that is otherwise executing code that contains
no cancelation points will respond to a cancelation request.
.P
If cancelability is disabled (using
-.BR pthread_setcancelstate (3)),
+.MR pthread_setcancelstate 3 ),
or no cancelation request is pending,
then a call to
.BR pthread_testcancel ()
@@ -37,7 +37,7 @@ to this function, then the function does not return.
This function always succeeds.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,9 +56,9 @@ glibc 2.0.
POSIX.1-2001.
.SH EXAMPLES
See
-.BR pthread_cleanup_push (3).
+.MR pthread_cleanup_push 3 .
.SH SEE ALSO
-.BR pthread_cancel (3),
-.BR pthread_cleanup_push (3),
-.BR pthread_setcancelstate (3),
-.BR pthreads (7)
+.MR pthread_cancel 3 ,
+.MR pthread_cleanup_push 3 ,
+.MR pthread_setcancelstate 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_tryjoin_np.3 b/man3/pthread_tryjoin_np.3
index 61c3f206d..8a2b6d275 100644
--- a/man3/pthread_tryjoin_np.3
+++ b/man3/pthread_tryjoin_np.3
@@ -22,7 +22,7 @@ POSIX threads library
.fi
.SH DESCRIPTION
These functions operate in the same way as
-.BR pthread_join (3),
+.MR pthread_join 3 ,
except for the differences described on this page.
.P
The
@@ -34,7 +34,7 @@ returning the exit status of the thread in
If
.I thread
has not yet terminated, then instead of blocking, as is done by
-.BR pthread_join (3),
+.MR pthread_join 3 ,
the call returns an error.
.P
The
@@ -55,17 +55,17 @@ the call returns an error.
The
.I abstime
argument is a
-.BR timespec (3)
+.MR timespec 3
structure,
specifying an absolute time measured since the Epoch (see
-.BR time (2)).
+.MR time 2 ).
.SH RETURN VALUE
On success,
these functions return 0;
on error, they return an error number.
.SH ERRORS
These functions can fail with the same errors as
-.BR pthread_join (3).
+.MR pthread_join 3 .
.BR pthread_tryjoin_np ()
can in addition fail with the following error:
.TP
@@ -94,7 +94,7 @@ never returns the error
.BR EINTR .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -147,8 +147,8 @@ if (s != 0) {
.EE
.in
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR pthread_exit (3),
-.BR pthread_join (3),
-.BR timespec (3),
-.BR pthreads (7)
+.MR clock_gettime 2 ,
+.MR pthread_exit 3 ,
+.MR pthread_join 3 ,
+.MR timespec 3 ,
+.MR pthreads 7
diff --git a/man3/pthread_yield.3 b/man3/pthread_yield.3
index b0a6768d8..c784b07d1 100644
--- a/man3/pthread_yield.3
+++ b/man3/pthread_yield.3
@@ -25,7 +25,7 @@ causes the calling thread to relinquish the CPU.
The thread is placed at the end of the run queue for its static
priority and another thread is scheduled to run.
For further details, see
-.BR sched_yield (2)
+.MR sched_yield 2
.SH RETURN VALUE
On success,
.BR pthread_yield ()
@@ -37,7 +37,7 @@ On Linux, this call always succeeds
handle a possible error return).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -51,14 +51,14 @@ T} Thread safety MT-Safe
.TE
.SH VERSIONS
On Linux, this function is implemented as a call to
-.BR sched_yield (2).
+.MR sched_yield 2 .
.SH STANDARDS
None.
.SH HISTORY
.\" BSD, Tru64, AIX, and Irix.
Deprecated since glibc 2.34.
Use the standardized
-.BR sched_yield (2)
+.MR sched_yield 2
instead.
.SH NOTES
.BR pthread_yield ()
@@ -72,7 +72,7 @@ with nondeterministic scheduling policies such as
.B SCHED_OTHER
is unspecified and very likely means your application design is broken.
.SH SEE ALSO
-.BR sched_yield (2),
+.MR sched_yield 2 ,
.\" FIXME . .BR pthread_cond_wait (3),
-.BR pthreads (7),
-.BR sched (7)
+.MR pthreads 7 ,
+.MR sched 7
diff --git a/man3/ptsname.3 b/man3/ptsname.3
index 49342d0a6..09468bb86 100644
--- a/man3/ptsname.3
+++ b/man3/ptsname.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ptsname ():
@@ -91,7 +91,7 @@ only)
is too small.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -136,11 +136,11 @@ glibc 2.1.
.P
.BR ptsname ()
is part of the UNIX 98 pseudoterminal support (see
-.BR pts (4)).
+.MR pts 4 ).
.SH SEE ALSO
-.BR grantpt (3),
-.BR posix_openpt (3),
-.BR ttyname (3),
-.BR unlockpt (3),
-.BR pts (4),
-.BR pty (7)
+.MR grantpt 3 ,
+.MR posix_openpt 3 ,
+.MR ttyname 3 ,
+.MR unlockpt 3 ,
+.MR pts 4 ,
+.MR pty 7
diff --git a/man3/putenv.3 b/man3/putenv.3
index d0892b420..800d7dccc 100644
--- a/man3/putenv.3
+++ b/man3/putenv.3
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR putenv ():
@@ -65,7 +65,7 @@ is set to indicate the error.
Insufficient space to allocate new environment.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -134,8 +134,8 @@ putenv("NAME");
.P
then the named variable is removed from the caller's environment.
.SH SEE ALSO
-.BR clearenv (3),
-.BR getenv (3),
-.BR setenv (3),
-.BR unsetenv (3),
-.BR environ (7)
+.MR clearenv 3 ,
+.MR getenv 3 ,
+.MR setenv 3 ,
+.MR unsetenv 3 ,
+.MR environ 7
diff --git a/man3/putgrent.3 b/man3/putgrent.3
index 2df85eca0..f0fdb2db9 100644
--- a/man3/putgrent.3
+++ b/man3/putgrent.3
@@ -21,7 +21,7 @@ Standard C library
The
.BR putgrent ()
function is the counterpart for
-.BR fgetgrent (3).
+.MR fgetgrent 3 .
The function writes the content of the provided
.I struct group
into the
@@ -46,7 +46,7 @@ struct group {
The function returns zero on success, and a nonzero value on error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -61,6 +61,6 @@ T} Thread safety MT-Safe
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR fgetgrent (3),
-.BR getgrent (3),
-.BR group (5)
+.MR fgetgrent 3 ,
+.MR getgrent 3 ,
+.MR group 5
diff --git a/man3/putpwent.3 b/man3/putpwent.3
index a84bfce93..5a2da8f34 100644
--- a/man3/putpwent.3
+++ b/man3/putpwent.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR putpwent ():
@@ -70,7 +70,7 @@ is set to indicate the error.
Invalid (NULL) argument given.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -87,10 +87,10 @@ None.
.SH HISTORY
SVr4.
.SH SEE ALSO
-.BR endpwent (3),
-.BR fgetpwent (3),
-.BR getpw (3),
-.BR getpwent (3),
-.BR getpwnam (3),
-.BR getpwuid (3),
-.BR setpwent (3)
+.MR endpwent 3 ,
+.MR fgetpwent 3 ,
+.MR getpw 3 ,
+.MR getpwent 3 ,
+.MR getpwnam 3 ,
+.MR getpwuid 3 ,
+.MR setpwent 3
diff --git a/man3/puts.3 b/man3/puts.3
index 19241af90..a5792dfbc 100644
--- a/man3/puts.3
+++ b/man3/puts.3
@@ -61,7 +61,7 @@ calls to other output functions from the
library for the same output stream.
.P
For nonlocking counterparts, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
.BR fputc (),
.BR putc (),
@@ -83,7 +83,7 @@ return a nonnegative number on success, or
on error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -107,18 +107,18 @@ POSIX.1-2001, C89, C99.
It is not advisable to mix calls to output functions from the
.I stdio
library with low-level calls to
-.BR write (2)
+.MR write 2
for the file descriptor associated with the same output stream; the results
will be undefined and very probably not what you want.
.SH SEE ALSO
-.BR write (2),
-.BR ferror (3),
-.BR fgets (3),
-.BR fopen (3),
-.BR fputwc (3),
-.BR fputws (3),
-.BR fseek (3),
-.BR fwrite (3),
-.BR putwchar (3),
-.BR scanf (3),
-.BR unlocked_stdio (3)
+.MR write 2 ,
+.MR ferror 3 ,
+.MR fgets 3 ,
+.MR fopen 3 ,
+.MR fputwc 3 ,
+.MR fputws 3 ,
+.MR fseek 3 ,
+.MR fwrite 3 ,
+.MR putwchar 3 ,
+.MR scanf 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/putwchar.3 b/man3/putwchar.3
index 5b48fd439..207bb41b0 100644
--- a/man3/putwchar.3
+++ b/man3/putwchar.3
@@ -26,7 +26,7 @@ Standard C library
The
.BR putwchar ()
function is the wide-character equivalent of the
-.BR putchar (3)
+.MR putchar 3
function.
It writes the wide character
.I wc
@@ -47,7 +47,7 @@ Otherwise, it returns
.IR wc .
.P
For a nonlocking counterpart, see
-.BR unlocked_stdio (3).
+.MR unlocked_stdio 3 .
.SH RETURN VALUE
The
.BR putwchar ()
@@ -58,7 +58,7 @@ if no error occurred, or
to indicate an error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -88,5 +88,5 @@ will actually write
the multibyte sequence corresponding to the wide character
.IR wc .
.SH SEE ALSO
-.BR fputwc (3),
-.BR unlocked_stdio (3)
+.MR fputwc 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/qecvt.3 b/man3/qecvt.3
index dda5eb92a..39a88cd0f 100644
--- a/man3/qecvt.3
+++ b/man3/qecvt.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR qecvt (),
@@ -57,21 +57,21 @@ The functions
and
.BR qgcvt ()
are identical to
-.BR ecvt (3),
-.BR fcvt (3),
+.MR ecvt 3 ,
+.MR fcvt 3 ,
and
-.BR gcvt (3)
+.MR gcvt 3
respectively, except that they use a
.I "long double"
argument
.IR number .
See
-.BR ecvt (3)
+.MR ecvt 3
and
-.BR gcvt (3).
+.MR gcvt 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -101,10 +101,10 @@ SVr4, SunOS, GNU.
.P
These functions are obsolete.
Instead,
-.BR snprintf (3)
+.MR snprintf 3
is recommended.
.SH SEE ALSO
-.BR ecvt (3),
-.BR ecvt_r (3),
-.BR gcvt (3),
-.BR sprintf (3)
+.MR ecvt 3 ,
+.MR ecvt_r 3 ,
+.MR gcvt 3 ,
+.MR sprintf 3
diff --git a/man3/qsort.3 b/man3/qsort.3
index 16e8b1b65..f1d0784ec 100644
--- a/man3/qsort.3
+++ b/man3/qsort.3
@@ -38,7 +38,7 @@ const void [." size "], void *),"
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR qsort_r ():
@@ -83,7 +83,7 @@ and
functions return no value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -109,11 +109,11 @@ POSIX.1-2001, C89, SVr4, 4.3BSD.
glibc 2.8.
.SH NOTES
To compare C strings, the comparison function can call
-.BR strcmp (3),
+.MR strcmp 3 ,
as shown in the example below.
.SH EXAMPLES
For one example of use, see the example under
-.BR bsearch (3).
+.MR bsearch 3 .
.P
Another example is the following program,
which sorts the strings given in its command-line arguments:
@@ -151,7 +151,7 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR sort (1),
-.BR alphasort (3),
-.BR strcmp (3),
-.BR versionsort (3)
+.MR sort 1 ,
+.MR alphasort 3 ,
+.MR strcmp 3 ,
+.MR versionsort 3
diff --git a/man3/raise.3 b/man3/raise.3
index b412e52bd..382dbdd5b 100644
--- a/man3/raise.3
+++ b/man3/raise.3
@@ -47,7 +47,7 @@ will return only after the signal handler has returned.
returns 0 on success, and nonzero for failure.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -67,17 +67,17 @@ POSIX.1-2001, C89.
Since glibc 2.3.3,
.BR raise ()
is implemented by calling
-.BR tgkill (2),
+.MR tgkill 2 ,
.\" 2.3.2 used the obsolete tkill(), if available.
if the kernel supports that system call.
Older glibc versions implemented
.BR raise ()
using
-.BR kill (2).
+.MR kill 2 .
.SH SEE ALSO
-.BR getpid (2),
-.BR kill (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR pthread_kill (3),
-.BR signal (7)
+.MR getpid 2 ,
+.MR kill 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR pthread_kill 3 ,
+.MR signal 7
diff --git a/man3/rand.3 b/man3/rand.3
index 9f63ee9a1..6e70adf49 100644
--- a/man3/rand.3
+++ b/man3/rand.3
@@ -37,7 +37,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR rand_r ():
@@ -101,7 +101,7 @@ argument of
provides only a very small amount of state,
so this function will be a weak pseudo-random generator.
Try
-.BR drand48_r (3)
+.MR drand48_r 3
instead.
.SH RETURN VALUE
The
@@ -116,7 +116,7 @@ The
function returns no value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -136,9 +136,9 @@ The versions of
and
.BR srand ()
in the Linux C Library use the same random number generator as
-.BR random (3)
+.MR random 3
and
-.BR srandom (3),
+.MR srandom 3 ,
so the lower-order bits should be as random as the higher-order bits.
However, on older
.BR rand ()
@@ -147,7 +147,7 @@ the lower-order bits are much less random than the higher-order bits.
Do not use this function in applications intended to be portable
when good randomness is needed.
(Use
-.BR random (3)
+.MR random 3
instead.)
.SH STANDARDS
.TP
@@ -236,5 +236,5 @@ main(int argc, char *argv[])
.\" SRC END
.in
.SH SEE ALSO
-.BR drand48 (3),
-.BR random (3)
+.MR drand48 3 ,
+.MR random 3
diff --git a/man3/random.3 b/man3/random.3
index c6dc573dd..a0f02616a 100644
--- a/man3/random.3
+++ b/man3/random.3
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR random (),
@@ -137,7 +137,7 @@ A state array of less than 8 bytes was specified to
.BR initstate ().
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -175,7 +175,7 @@ The
function should not be used in multithreaded programs
where reproducible behavior is required.
Use
-.BR random_r (3)
+.MR random_r 3
for that purpose.
.SH BUGS
According to POSIX,
@@ -186,8 +186,8 @@ In the glibc implementation,
is (as specified) set on error, but the function does not return NULL.
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=15380
.SH SEE ALSO
-.BR getrandom (2),
-.BR drand48 (3),
-.BR rand (3),
-.BR random_r (3),
-.BR srand (3)
+.MR getrandom 2 ,
+.MR drand48 3 ,
+.MR rand 3 ,
+.MR random_r 3 ,
+.MR srand 3
diff --git a/man3/random_r.3 b/man3/random_r.3
index 0dbba5c84..7e648f1a5 100644
--- a/man3/random_r.3
+++ b/man3/random_r.3
@@ -28,7 +28,7 @@ char " statebuf "[restrict ." statelen ],
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR random_r (),
@@ -42,14 +42,14 @@ Feature Test Macro Requirements for glibc (see
.SH DESCRIPTION
These functions are the reentrant equivalents
of the functions described in
-.BR random (3).
+.MR random 3 .
They are suitable for use in multithreaded programs where each thread
needs to obtain an independent, reproducible sequence of random numbers.
.P
The
.BR random_r ()
function is like
-.BR random (3),
+.MR random 3 ,
except that instead of using state information maintained
in a global variable,
it uses the state information in the argument pointed to by
@@ -62,7 +62,7 @@ The generated random number is returned in the argument
The
.BR srandom_r ()
function is like
-.BR srandom (3),
+.MR srandom 3 ,
except that it initializes the seed for the random number generator
whose state is maintained in the object pointed to by
.IR buf ,
@@ -73,7 +73,7 @@ instead of the seed associated with the global state variable.
The
.BR initstate_r ()
function is like
-.BR initstate (3)
+.MR initstate 3
except that it initializes the state in the object pointed to by
.IR buf ,
rather than initializing the global state variable.
@@ -95,13 +95,13 @@ is still in use.
.I statebuf
should typically be allocated as a static variable,
or allocated on the heap using
-.BR malloc (3)
+.MR malloc 3
or similar.)
.P
The
.BR setstate_r ()
function is like
-.BR setstate (3)
+.MR setstate 3
except that it modifies the state in the object pointed to by
.IR buf ,
rather than modifying the global state variable.
@@ -140,7 +140,7 @@ argument to
was NULL.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -171,6 +171,6 @@ but the implementation requires the user to either initialize the
.I buf.state
field to NULL or zero out the entire structure before the call.
.SH SEE ALSO
-.BR drand48 (3),
-.BR rand (3),
-.BR random (3)
+.MR drand48 3 ,
+.MR rand 3 ,
+.MR random 3
diff --git a/man3/rcmd.3 b/man3/rcmd.3
index 8d200d429..d507b4cca 100644
--- a/man3/rcmd.3
+++ b/man3/rcmd.3
@@ -55,7 +55,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.ad l
.P
@@ -93,7 +93,7 @@ functions are used by servers
to authenticate clients requesting service with
.BR rcmd ().
All four functions are used by the
-.BR rshd (8)
+.MR rshd 8
server (among others).
.SS rcmd()
The
@@ -102,7 +102,7 @@ function
looks up the host
.I *ahost
using
-.BR gethostbyname (3),
+.MR gethostbyname 3 ,
returning \-1 if the host does not exist.
Otherwise,
.I *ahost
@@ -141,7 +141,7 @@ provision is made for sending arbitrary signals to the remote process,
although you may be able to get its attention by using out-of-band data.
.P
The protocol is described in detail in
-.BR rshd (8).
+.MR rshd 8 .
.SS rresvport()
The
.BR rresvport ()
@@ -196,7 +196,7 @@ and
.BR ruserok ()
return \-1.
If the local domain (as obtained from
-.BR gethostname (2))
+.MR gethostname 2 )
is the same as the remote domain, only the machine name need be specified.
.P
If the IP address of the remote host is known,
@@ -245,7 +245,7 @@ and
see above.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -296,9 +296,9 @@ are declared in glibc headers only since glibc 2.12.
.\" Bug filed 25 Nov 2007:
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=5399
.SH SEE ALSO
-.BR rlogin (1),
-.BR rsh (1),
-.BR rexec (3),
-.BR rexecd (8),
-.BR rlogind (8),
-.BR rshd (8)
+.MR rlogin 1 ,
+.MR rsh 1 ,
+.MR rexec 3 ,
+.MR rexecd 8 ,
+.MR rlogind 8 ,
+.MR rshd 8
diff --git a/man3/re_comp.3 b/man3/re_comp.3
index 51dd17821..19f048722 100644
--- a/man3/re_comp.3
+++ b/man3/re_comp.3
@@ -48,7 +48,7 @@ otherwise it returns a pointer to an appropriate error message.
returns 1 for a successful match, zero for failure.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -67,9 +67,9 @@ None.
4.3BSD.
.P
These functions are obsolete; the functions documented in
-.BR regcomp (3)
+.MR regcomp 3
should be used instead.
.SH SEE ALSO
-.BR regcomp (3),
-.BR regex (7),
+.MR regcomp 3 ,
+.MR regex 7 ,
GNU regex manual
diff --git a/man3/readdir.3 b/man3/readdir.3
index 731e25c85..23626503d 100644
--- a/man3/readdir.3
+++ b/man3/readdir.3
@@ -72,7 +72,7 @@ This is the inode number of the file.
The value returned in
.I d_off
is the same as would be returned by calling
-.BR telldir (3)
+.MR telldir 3
at the current position in the directory stream.
Be aware that despite its type and name, the
.I d_off
@@ -80,7 +80,7 @@ field is seldom any kind of directory offset on modern filesystems.
.\" https://lwn.net/Articles/544298/
Applications should treat this field as an opaque value,
making no assumptions about its contents; see also
-.BR telldir (3).
+.MR telldir 3 .
.TP
.I d_reclen
This is the size (in bytes) of the returned record.
@@ -90,7 +90,7 @@ see NOTES.
.I d_type
This field contains a value indicating the file type,
making it possible to avoid the expense of calling
-.BR lstat (2)
+.MR lstat 2
if further actions depend on the type of the file.
.IP
When a suitable feature test macro is defined
@@ -152,7 +152,7 @@ returns a pointer to a
.I dirent
structure.
(This structure may be statically allocated; do not attempt to
-.BR free (3)
+.MR free 3
it.)
.P
If the end of the directory stream is reached, NULL is returned and
@@ -174,7 +174,7 @@ if NULL is returned.
Invalid directory stream descriptor \fIdirp\fP.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -198,7 +198,7 @@ In cases where multiple threads must read from the same directory stream,
using
.BR readdir ()
with external synchronization is still preferable to the use of the deprecated
-.BR readdir_r (3)
+.MR readdir_r 3
function.
It is expected that a future version of POSIX.1
.\" FIXME .
@@ -283,22 +283,22 @@ POSIX.1-2008.
POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
A directory stream is opened using
-.BR opendir (3).
+.MR opendir 3 .
.P
The order in which filenames are read by successive calls to
.BR readdir ()
depends on the filesystem implementation;
it is unlikely that the names will be sorted in any fashion.
.SH SEE ALSO
-.BR getdents (2),
-.BR read (2),
-.BR closedir (3),
-.BR dirfd (3),
-.BR ftw (3),
-.BR offsetof (3),
-.BR opendir (3),
-.BR readdir_r (3),
-.BR rewinddir (3),
-.BR scandir (3),
-.BR seekdir (3),
-.BR telldir (3)
+.MR getdents 2 ,
+.MR read 2 ,
+.MR closedir 3 ,
+.MR dirfd 3 ,
+.MR ftw 3 ,
+.MR offsetof 3 ,
+.MR opendir 3 ,
+.MR readdir_r 3 ,
+.MR rewinddir 3 ,
+.MR scandir 3 ,
+.MR seekdir 3 ,
+.MR telldir 3
diff --git a/man3/readdir_r.3 b/man3/readdir_r.3
index 099591f41..f79dae543 100644
--- a/man3/readdir_r.3
+++ b/man3/readdir_r.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR readdir_r ():
@@ -31,13 +31,13 @@ Feature Test Macro Requirements for glibc (see
.fi
.SH DESCRIPTION
This function is deprecated; use
-.BR readdir (3)
+.MR readdir 3
instead.
.P
The
.BR readdir_r ()
function was invented as a reentrant version of
-.BR readdir (3).
+.MR readdir 3 .
It reads the next directory entry from the directory stream
.IR dirp ,
and returns it in the caller-allocated buffer pointed to by
@@ -45,7 +45,7 @@ and returns it in the caller-allocated buffer pointed to by
For details of the
.I dirent
structure, see
-.BR readdir (3).
+.MR readdir 3 .
.P
A pointer to the returned buffer is placed in
.IR *result ;
@@ -54,7 +54,7 @@ then NULL is instead returned in
.IR *result .
.P
It is recommended that applications use
-.BR readdir (3)
+.MR readdir 3
instead of
.BR readdir_r ().
Furthermore, since glibc 2.24, glibc deprecates
@@ -83,18 +83,18 @@ may return a success status, but the returned
field may not be null terminated or may be truncated.
.IP \[bu]
In the current POSIX.1 specification (POSIX.1-2008),
-.BR readdir (3)
+.MR readdir 3
is not required to be thread-safe.
However, in modern implementations (including the glibc implementation),
concurrent calls to
-.BR readdir (3)
+.MR readdir 3
that specify different directory streams are thread-safe.
Therefore, the use of
.BR readdir_r ()
is generally unnecessary in multithreaded programs.
In cases where multiple threads must read from the same directory stream,
using
-.BR readdir (3)
+.MR readdir 3
with external synchronization is still preferable to the use of
.BR readdir_r (),
for the reasons given in the points above.
@@ -105,7 +105,7 @@ It is expected that a future version of POSIX.1
will make
.BR readdir_r ()
obsolete, and require that
-.BR readdir (3)
+.MR readdir 3
be thread-safe when concurrently employed on different directory streams.
.SH RETURN VALUE
The
@@ -125,7 +125,7 @@ Invalid directory stream descriptor \fIdirp\fP.
A directory entry whose name was too long to be read was encountered.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -142,4 +142,4 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR readdir (3)
+.MR readdir 3
diff --git a/man3/realpath.3 b/man3/realpath.3
index 512807217..70838232c 100644
--- a/man3/realpath.3
+++ b/man3/realpath.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR realpath ():
@@ -59,13 +59,13 @@ If
is specified as NULL, then
.BR realpath ()
uses
-.BR malloc (3)
+.MR malloc 3
to allocate a buffer of up to
.B PATH_MAX
bytes to hold the resolved pathname,
and returns a pointer to this buffer.
The caller should deallocate this buffer using
-.BR free (3).
+.MR free 3 .
.\" Even if we use resolved_path == NULL, then realpath() will still
.\" return ENAMETOOLONG if the resolved pathname would exceed PATH_MAX
.\" bytes -- MTK, Dec 04
@@ -118,7 +118,7 @@ Out of memory.
A component of the path prefix is not a directory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -160,7 +160,7 @@ SUSv2 prescribes
and
.BR NAME_MAX ,
as found in \fI<limits.h>\fP or provided by the
-.BR pathconf (3)
+.MR pathconf 3
function.
A typical source fragment would be
.P
@@ -200,15 +200,15 @@ According to POSIX.1-2001 a buffer of size
suffices, but
.B PATH_MAX
need not be a defined constant, and may have to be obtained using
-.BR pathconf (3).
+.MR pathconf 3 .
And asking
-.BR pathconf (3)
+.MR pathconf 3
does not really help, since, on the one hand POSIX warns that
the result of
-.BR pathconf (3)
+.MR pathconf 3
may be huge and unsuitable for mallocing memory,
and on the other hand
-.BR pathconf (3)
+.MR pathconf 3
may return \-1 to signify that
.B PATH_MAX
is not bounded.
@@ -223,9 +223,9 @@ but standardized in POSIX.1-2008, allows this design problem to be avoided.
.\" .BR mount (8)
.\" needed a private version.
.SH SEE ALSO
-.BR realpath (1),
-.BR readlink (2),
-.BR canonicalize_file_name (3),
-.BR getcwd (3),
-.BR pathconf (3),
-.BR sysconf (3)
+.MR realpath 1 ,
+.MR readlink 2 ,
+.MR canonicalize_file_name 3 ,
+.MR getcwd 3 ,
+.MR pathconf 3 ,
+.MR sysconf 3
diff --git a/man3/recno.3 b/man3/recno.3
index fa666f585..c26293f9c 100644
--- a/man3/recno.3
+++ b/man3/recno.3
@@ -28,11 +28,11 @@ Probably, you are looking for the APIs provided by the
library instead.
.P
The routine
-.BR dbopen (3)
+.MR dbopen 3
is the library interface to database files.
One of the supported file formats is record number files.
The general description of the database access methods is in
-.BR dbopen (3),
+.MR dbopen 3 ,
this manual page describes only the recno-specific information.
.P
The record number data structure is either variable or fixed-length
@@ -45,7 +45,7 @@ as the cursor, if positioned after record number one, to shift down
one record.
.P
The recno access-method-specific data structure provided to
-.BR dbopen (3)
+.MR dbopen 3
is defined in the
.I <db.h>
include file as follows:
@@ -84,7 +84,7 @@ bytes long are automatically padded.
.TP
.B R_NOKEY
In the interface specified by
-.BR dbopen (3),
+.MR dbopen 3 ,
the sequential record retrieval fills in both the caller's key and
data structures.
If the
@@ -97,7 +97,7 @@ reading all of the intervening records.
.TP
.B R_SNAPSHOT
This flag requires that a snapshot of the file be taken when
-.BR dbopen (3)
+.MR dbopen 3
is called, instead of permitting any unmodified records to be read from
the original file.
.RE
@@ -120,7 +120,7 @@ If
is 0 (no page size is specified), a page size is chosen based on the
underlying filesystem I/O block size.
See
-.BR btree (3)
+.MR btree 3
for more information.
.TP
.I lorder
@@ -149,7 +149,7 @@ If
.I bfname
is non-NULL, it specifies the name of the btree file,
as if specified as the filename for a
-.BR dbopen (3)
+.MR dbopen 3
of a btree file.
.P
The data part of the key/data pair used by the
@@ -176,7 +176,7 @@ recno access method files, any changes made to the default values
specified each time the file is opened.
.P
In the interface specified by
-.BR dbopen (3),
+.MR dbopen 3 ,
using the
.I put
interface to create a new record will cause the creation of multiple,
@@ -188,7 +188,7 @@ The
access method routines may fail and set
.I errno
for any of the errors specified for the library routine
-.BR dbopen (3)
+.MR dbopen 3
or the following:
.TP
.B EINVAL
@@ -197,10 +197,10 @@ was too large to fit.
.SH BUGS
Only big and little endian byte order is supported.
.SH SEE ALSO
-.BR btree (3),
-.BR dbopen (3),
-.BR hash (3),
-.BR mpool (3)
+.MR btree 3 ,
+.MR dbopen 3 ,
+.MR hash 3 ,
+.MR mpool 3
.P
.IR "Document Processing in a Relational Database System" ,
Michael Stonebraker, Heidi Stettner, Joseph Kalash, Antonin Guttman,
diff --git a/man3/regex.3 b/man3/regex.3
index a4e89c100..c505b9b10 100644
--- a/man3/regex.3
+++ b/man3/regex.3
@@ -164,7 +164,7 @@ instead of
.RI [ string , " string + strlen(string)" ).
This allows matching embedded NUL bytes
and avoids a
-.BR strlen (3)
+.MR strlen 3
on known-length strings.
If any matches are returned
.RB ( REG_NOSUB
@@ -310,7 +310,7 @@ The regex routines ran out of memory.
Invalid back reference to a subexpression.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -404,8 +404,8 @@ int main(void)
}
.EE
.SH SEE ALSO
-.BR grep (1),
-.BR regex (7)
+.MR grep 1 ,
+.MR regex 7
.P
The glibc manual section,
.I "Regular Expressions"
diff --git a/man3/remainder.3 b/man3/remainder.3
index 2a937ee48..e78306c09 100644
--- a/man3/remainder.3
+++ b/man3/remainder.3
@@ -38,7 +38,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR remainder ():
@@ -85,7 +85,7 @@ is 0.5,
is chosen to be even.
.P
These functions are unaffected by the current rounding mode (see
-.BR fenv (3)).
+.MR fenv 3 ).
.P
The
.BR drem ()
@@ -124,7 +124,7 @@ a domain error occurs, and
a NaN is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -152,7 +152,7 @@ An invalid floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -229,6 +229,6 @@ is not a NaN.
.SH EXAMPLES
The call "remainder(29.0, 3.0)" returns \-1.
.SH SEE ALSO
-.BR div (3),
-.BR fmod (3),
-.BR remquo (3)
+.MR div 3 ,
+.MR fmod 3 ,
+.MR remquo 3
diff --git a/man3/remove.3 b/man3/remove.3
index 3e2c00df2..085d465ea 100644
--- a/man3/remove.3
+++ b/man3/remove.3
@@ -25,9 +25,9 @@ Standard C library
.BR remove ()
deletes a name from the filesystem.
It calls
-.BR unlink (2)
+.MR unlink 2
for files, and
-.BR rmdir (2)
+.MR rmdir 2
for directories.
.P
If the removed name was the
@@ -50,12 +50,12 @@ On error, \-1 is returned, and
is set to indicate the error.
.SH ERRORS
The errors that occur are those for
-.BR unlink (2)
+.MR unlink 2
and
-.BR rmdir (2).
+.MR rmdir 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -81,13 +81,13 @@ POSIX.1-2001, C89, 4.3BSD.
Infelicities in the protocol underlying NFS can cause the unexpected
disappearance of files which are still being used.
.SH SEE ALSO
-.BR rm (1),
-.BR unlink (1),
-.BR link (2),
-.BR mknod (2),
-.BR open (2),
-.BR rename (2),
-.BR rmdir (2),
-.BR unlink (2),
-.BR mkfifo (3),
-.BR symlink (7)
+.MR rm 1 ,
+.MR unlink 1 ,
+.MR link 2 ,
+.MR mknod 2 ,
+.MR open 2 ,
+.MR rename 2 ,
+.MR rmdir 2 ,
+.MR unlink 2 ,
+.MR mkfifo 3 ,
+.MR symlink 7
diff --git a/man3/remquo.3 b/man3/remquo.3
index ee42f5f36..169d491cd 100644
--- a/man3/remquo.3
+++ b/man3/remquo.3
@@ -25,7 +25,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR remquo (),
@@ -46,7 +46,7 @@ pointer.
The remainder is returned as the function result.
.P
The value of the remainder is the same as that computed by the
-.BR remainder (3)
+.MR remainder 3
function.
.P
The value stored via the
@@ -65,7 +65,7 @@ Note that the actual quotient might not fit in an integer.
.SH RETURN VALUE
On success, these functions return the same value as
the analogous functions described in
-.BR remainder (3).
+.MR remainder 3 .
.P
If
.I x
@@ -92,7 +92,7 @@ a domain error occurs, and
a NaN is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -113,7 +113,7 @@ These functions do not set
.\" Bug raised: https://www.sourceware.org/bugzilla/show_bug.cgi?id=6802
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -133,6 +133,6 @@ C11, POSIX.1-2008.
glibc 2.1.
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR fmod (3),
-.BR logb (3),
-.BR remainder (3)
+.MR fmod 3 ,
+.MR logb 3 ,
+.MR remainder 3
diff --git a/man3/resolver.3 b/man3/resolver.3
index c54337218..fd0040cc8 100644
--- a/man3/resolver.3
+++ b/man3/resolver.3
@@ -124,7 +124,7 @@ The
and
.BR res_init ()
functions read the configuration files (see
-.BR resolv.conf (5))
+.MR resolv.conf 5 )
to get the default domain name and name
server address(es).
If no server is given, the local host is tried.
@@ -313,7 +313,7 @@ If set,
will search for hostnames in the current
domain and in parent domains.
This option is used by
-.BR gethostbyname (3).
+.MR gethostbyname 3 .
[Enabled by default].
.TP
.B RES_INSECURE1
@@ -337,15 +337,15 @@ environment variable.
.TP
.B RES_USE_INET6
Try an AAAA query before an A query inside the
-.BR gethostbyname (3)
+.MR gethostbyname 3
function, and map IPv4 responses in IPv6 "tunneled form" if no AAAA records
are found but an A record set exists.
Since glibc 2.25, this option is deprecated,
and its usage produces a warning;
applications should use
-.BR getaddrinfo (3),
+.MR getaddrinfo 3 ,
rather than
-.BR gethostbyname (3).
+.MR gethostbyname 3 .
.TP
.B RES_ROTATE
Causes round-robin selection of name servers from among those listed.
@@ -461,7 +461,7 @@ or
the global variable
.I h_errno
(see
-.BR gethostbyname (3))
+.MR gethostbyname 3 )
can be consulted to determine the cause of the error.
.SH FILES
.TP
@@ -472,7 +472,7 @@ resolver configuration file
resolver configuration file
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -501,11 +501,11 @@ None.
.SH HISTORY
4.3BSD.
.SH SEE ALSO
-.BR gethostbyname (3),
-.BR resolv.conf (5),
-.BR resolver (5),
-.BR hostname (7),
-.BR named (8)
+.MR gethostbyname 3 ,
+.MR resolv.conf 5 ,
+.MR resolver 5 ,
+.MR hostname 7 ,
+.MR named 8
.P
The GNU C library source file
.IR resolv/README .
diff --git a/man3/rewinddir.3 b/man3/rewinddir.3
index 5df90c523..6305e6f2c 100644
--- a/man3/rewinddir.3
+++ b/man3/rewinddir.3
@@ -35,7 +35,7 @@ The
function returns no value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -52,9 +52,9 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR closedir (3),
-.BR opendir (3),
-.BR readdir (3),
-.BR scandir (3),
-.BR seekdir (3),
-.BR telldir (3)
+.MR closedir 3 ,
+.MR opendir 3 ,
+.MR readdir 3 ,
+.MR scandir 3 ,
+.MR seekdir 3 ,
+.MR telldir 3
diff --git a/man3/rexec.3 b/man3/rexec.3
index 725c71cf8..f4cbf9dba 100644
--- a/man3/rexec.3
+++ b/man3/rexec.3
@@ -43,7 +43,7 @@ Standard C library
.fi
.SH DESCRIPTION
This interface is obsoleted by
-.BR rcmd (3).
+.MR rcmd 3 .
.P
The
.BR rexec ()
@@ -51,7 +51,7 @@ function
looks up the host
.I *ahost
using
-.BR gethostbyname (3),
+.MR gethostbyname 3 ,
returning \-1 if the host does not exist.
Otherwise,
.I *ahost
@@ -70,10 +70,10 @@ specifies which well-known DARPA Internet port to use for
the connection; the call
.I "getservbyname(""exec"", ""tcp"")"
(see
-.BR getservent (3))
+.MR getservent 3 )
will return a pointer to a structure that contains the necessary port.
The protocol for connection is described in detail in
-.BR rexecd (8).
+.MR rexecd 8 .
.P
If the connection succeeds,
a socket in the Internet domain of type
@@ -125,7 +125,7 @@ or
(to allow the implementation to select the protocol).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -154,8 +154,8 @@ function sends the unencrypted password across the network.
.P
The underlying service is considered a big security hole and therefore
not enabled on many sites; see
-.BR rexecd (8)
+.MR rexecd 8
for explanations.
.SH SEE ALSO
-.BR rcmd (3),
-.BR rexecd (8)
+.MR rcmd 3 ,
+.MR rexecd 8
diff --git a/man3/rint.3 b/man3/rint.3
index 262670571..b20e25125 100644
--- a/man3/rint.3
+++ b/man3/rint.3
@@ -27,7 +27,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR nearbyint (),
@@ -61,7 +61,7 @@ and
.BR nearbyintl ()
functions round their argument to an integer value in floating-point
format, using the current rounding direction (see
-.BR fesetround (3))
+.MR fesetround 3 )
and without raising the
.I inexact
exception.
@@ -79,7 +79,7 @@ functions do the same, but will raise the
exception
.RB ( FE_INEXACT ,
checkable via
-.BR fetestexcept (3))
+.MR fetestexcept 3 )
when the result differs in value from the argument.
.SH RETURN VALUE
These functions return the rounded integer value.
@@ -94,7 +94,7 @@ No errors occur.
POSIX.1-2001 documents a range error for overflows, but see NOTES.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -135,11 +135,11 @@ is 24 (respectively, 53).)
.P
If you want to store the rounded value in an integer type,
you probably want to use one of the functions described in
-.BR lrint (3)
+.MR lrint 3
instead.
.SH SEE ALSO
-.BR ceil (3),
-.BR floor (3),
-.BR lrint (3),
-.BR round (3),
-.BR trunc (3)
+.MR ceil 3 ,
+.MR floor 3 ,
+.MR lrint 3 ,
+.MR round 3 ,
+.MR trunc 3
diff --git a/man3/round.3 b/man3/round.3
index 268ec083c..f7a2f6762 100644
--- a/man3/round.3
+++ b/man3/round.3
@@ -22,7 +22,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR round (),
@@ -37,9 +37,9 @@ These functions round
to the nearest integer, but
round halfway cases away from zero (regardless of the current rounding
direction, see
-.BR fenv (3)),
+.MR fenv 3 ),
instead of to the nearest even integer like
-.BR rint (3).
+.MR rint 3 .
.P
For example,
.I round(0.5)
@@ -59,7 +59,7 @@ No errors occur.
POSIX.1-2001 documents a range error for overflows, but see NOTES.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -99,12 +99,12 @@ is 24 (respectively, 53).)
.P
If you want to store the rounded value in an integer type,
you probably want to use one of the functions described in
-.BR lround (3)
+.MR lround 3
instead.
.SH SEE ALSO
-.BR ceil (3),
-.BR floor (3),
-.BR lround (3),
-.BR nearbyint (3),
-.BR rint (3),
-.BR trunc (3)
+.MR ceil 3 ,
+.MR floor 3 ,
+.MR lround 3 ,
+.MR nearbyint 3 ,
+.MR rint 3 ,
+.MR trunc 3
diff --git a/man3/roundup.3 b/man3/roundup.3
index 376591a11..6502a8e17 100644
--- a/man3/roundup.3
+++ b/man3/roundup.3
@@ -48,9 +48,9 @@ If
would overflow or wrap around,
the behavior is undefined.
.SH SEE ALSO
-.BR ceil (3),
-.BR floor (3),
-.BR lrint (3),
-.BR rint (3),
-.BR lround (3),
-.BR round (3)
+.MR ceil 3 ,
+.MR floor 3 ,
+.MR lrint 3 ,
+.MR rint 3 ,
+.MR lround 3 ,
+.MR round 3
diff --git a/man3/rpc.3 b/man3/rpc.3
index 66a97dbeb..338a61195 100644
--- a/man3/rpc.3
+++ b/man3/rpc.3
@@ -374,7 +374,7 @@ is used instead of
if the program does not have a standard error (as a program
running as a server quite likely does not), or if the programmer
does not want the message to be output with
-.BR printf (3),
+.MR printf 3 ,
or if a message format different than that supported by
.BR clnt_perrno ()
is to be used.
@@ -702,13 +702,13 @@ is undefined after calling this routine.
.IP
A global variable reflecting the RPC service side's
read file descriptor bit mask; it is suitable as a parameter to the
-.BR select (2)
+.MR select 2
system call.
This is of interest only if a service implementor does their own
asynchronous event processing, instead of calling
.BR svc_run ().
This variable is read-only (do not pass its address to
-.BR select (2)!),
+.MR select 2 !),
yet it may change after calls to
.BR svc_getreqset ()
or any creation routines.
@@ -763,7 +763,7 @@ This routine is of interest only if a service implementor does not call
.BR svc_run (),
but instead implements custom asynchronous event processing.
It is called when the
-.BR select (2)
+.MR select 2
system call has determined that an RPC request has arrived on some
RPC socket(s);
.I rdfds
@@ -838,7 +838,7 @@ procedure using
.BR svc_getreq ()
when one arrives.
This procedure is usually waiting for a
-.BR select (2)
+.MR select 2
system call to return.
.P
.nf
@@ -1108,7 +1108,7 @@ This routine modifies the global variable
Service implementors usually do not need this routine.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -1184,7 +1184,7 @@ T} Thread safety MT-Safe
.SH SEE ALSO
.\" We don't have an rpc_secure.3 page in the set at the moment -- MTK, 19 Sep 05
.\" .BR rpc_secure (3),
-.BR xdr (3)
+.MR xdr 3
.P
The following manuals:
.RS
diff --git a/man3/rpmatch.3 b/man3/rpmatch.3
index fd285cc64..8e02aabeb 100644
--- a/man3/rpmatch.3
+++ b/man3/rpmatch.3
@@ -42,7 +42,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR rpmatch ():
@@ -60,9 +60,9 @@ support for internationalization.
.I response
should be a null-terminated string containing a
user-supplied response, perhaps obtained with
-.BR fgets (3)
+.MR fgets 3
or
-.BR getline (3).
+.MR getline 3 .
.P
The user's language preference is taken into account per the
environment variables
@@ -71,7 +71,7 @@ environment variables
and
.BR LC_ALL ,
if the program has called
-.BR setlocale (3)
+.MR setlocale 3
to effect their changes.
.P
Regardless of the locale, responses matching
@@ -95,9 +95,9 @@ It is incorrect to only test if the return value is nonzero.
.P
.BR rpmatch ()
can fail for any of the reasons that
-.BR regcomp (3)
+.MR regcomp 3
or
-.BR regexec (3)
+.MR regexec 3
can fail; the cause of the error
is not available from
.I errno
@@ -107,7 +107,7 @@ that of an unrecognized value of
.IR response ).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -162,8 +162,8 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR fgets (3),
-.BR getline (3),
-.BR nl_langinfo (3),
-.BR regcomp (3),
-.BR setlocale (3)
+.MR fgets 3 ,
+.MR getline 3 ,
+.MR nl_langinfo 3 ,
+.MR regcomp 3 ,
+.MR setlocale 3
diff --git a/man3/rtime.3 b/man3/rtime.3
index cac162ed2..300ed18d2 100644
--- a/man3/rtime.3
+++ b/man3/rtime.3
@@ -43,11 +43,12 @@ In case of error \-1 is returned, and
is set to indicate the error.
.SH ERRORS
All errors for underlying functions
-.RB ( sendto (2),
-.BR poll (2),
-.BR recvfrom (2),
-.BR connect (2),
-.BR read (2))
+\%(\c
+.MR sendto 2 ,
+.MR poll 2 ,
+.MR recvfrom 2 ,
+.MR connect 2 ,
+.MR read 2 )
can occur.
Moreover:
.TP
@@ -58,7 +59,7 @@ The number of returned bytes is not 4.
The waiting time as defined in timeout has expired.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -147,6 +148,6 @@ main(void)
.\" SRC END
.SH SEE ALSO
.\" .BR netdate (1),
-.BR ntpdate (1),
+.MR ntpdate 1 ,
.\" .BR rdate (1),
-.BR inetd (8)
+.MR inetd 8
diff --git a/man3/rtnetlink.3 b/man3/rtnetlink.3
index 6be783eaf..6104ca401 100644
--- a/man3/rtnetlink.3
+++ b/man3/rtnetlink.3
@@ -33,9 +33,9 @@ Standard C library
.fi
.SH DESCRIPTION
All
-.BR rtnetlink (7)
+.MR rtnetlink 7
messages consist of a
-.BR netlink (7)
+.MR netlink 7
message header and appended attributes.
The attributes should be manipulated only using the macros provided here.
.P
@@ -117,6 +117,6 @@ send(rtnetlink_sk, &req, req.nh.nlmsg_len, 0);
.EE
.in
.SH SEE ALSO
-.BR netlink (3),
-.BR netlink (7),
-.BR rtnetlink (7)
+.MR netlink 3 ,
+.MR netlink 7 ,
+.MR rtnetlink 7
diff --git a/man3/scalb.3 b/man3/scalb.3
index b3cc8c2c9..660c879e8 100644
--- a/man3/scalb.3
+++ b/man3/scalb.3
@@ -23,7 +23,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR scalb ():
@@ -121,7 +121,7 @@ and the functions return zero, with a sign the same as
.IR x .
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -154,7 +154,7 @@ An underflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -177,10 +177,10 @@ None.
Obsolescent in POSIX.1-2001;
Removed in POSIX.1-2008,
recommending the use of
-.BR scalbln (3),
-.BR scalblnf (3),
+.MR scalbln 3 ,
+.MR scalblnf 3 ,
or
-.BR scalblnl (3)
+.MR scalblnl 3
instead.
.\" Looking at header files: scalbf() is present on the
.\" BSDs, Tru64, HP-UX 11, Irix 6.5; scalbl() is on HP-UX 11 and Tru64.
@@ -192,5 +192,5 @@ these functions did not set
.I errno
for domain and range errors.
.SH SEE ALSO
-.BR ldexp (3),
-.BR scalbln (3)
+.MR ldexp 3 ,
+.MR scalbln 3
diff --git a/man3/scalbln.3 b/man3/scalbln.3
index bedf5dbf8..d0f382b7f 100644
--- a/man3/scalbln.3
+++ b/man3/scalbln.3
@@ -27,7 +27,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR scalbln (),
@@ -102,7 +102,7 @@ and the functions return zero, with a sign the same as
.IR x .
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -125,7 +125,7 @@ An underflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -149,11 +149,11 @@ glibc 2.1.
C99, POSIX.1-2001.
.SH HISTORY
These functions differ from the obsolete functions described in
-.BR scalb (3)
+.MR scalb 3
in the type of their second argument.
The functions described on this page have a second argument
of an integral type, while those in
-.BR scalb (3)
+.MR scalb 3
have a second argument of type
.IR double .
.SH NOTES
@@ -162,7 +162,7 @@ If
equals 2 (which is usual), then
.BR scalbn ()
is equivalent to
-.BR ldexp (3).
+.MR ldexp 3 .
.SH BUGS
Before glibc 2.20,
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6803
@@ -170,5 +170,5 @@ these functions did not set
.I errno
for range errors.
.SH SEE ALSO
-.BR ldexp (3),
-.BR scalb (3)
+.MR ldexp 3 ,
+.MR scalb 3
diff --git a/man3/scandir.3 b/man3/scandir.3
index 8ec405e3a..a0187d199 100644
--- a/man3/scandir.3
+++ b/man3/scandir.3
@@ -53,7 +53,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR scandir (),
@@ -79,13 +79,13 @@ function scans the directory \fIdirp\fP, calling
\fIfilter\fP() on each directory entry.
Entries for which
\fIfilter\fP() returns nonzero are stored in strings allocated via
-.BR malloc (3),
+.MR malloc 3 ,
sorted using
-.BR qsort (3)
+.MR qsort 3
with the comparison
function \fIcompar\fP(), and collected in array \fInamelist\fP
which is allocated via
-.BR malloc (3).
+.MR malloc 3 .
If \fIfilter\fP is NULL, all entries are selected.
.P
The
@@ -95,9 +95,9 @@ and
functions can be used as the comparison function
.IR compar ().
The former sorts directory entries using
-.BR strcoll (3),
+.MR strcoll 3 ,
the latter using
-.BR strverscmp (3)
+.MR strverscmp 3
on the strings \fI(*a)\->d_name\fP and \fI(*b)\->d_name\fP.
.SS scandirat()
The
@@ -135,7 +135,7 @@ is absolute, then
is ignored.
.P
See
-.BR openat (2)
+.MR openat 2
for an explanation of the need for
.BR scandirat ().
.SH RETURN VALUE
@@ -182,7 +182,7 @@ is a relative pathname and
is a file descriptor referring to a file other than a directory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -242,9 +242,9 @@ glibc 2.15.
Since glibc 2.1,
.BR alphasort ()
calls
-.BR strcoll (3);
+.MR strcoll 3 ;
earlier it used
-.BR strcmp (3).
+.MR strcmp 3 .
.P
Before glibc 2.10, the two arguments of
.BR alphasort ()
@@ -298,13 +298,13 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR closedir (3),
-.BR fnmatch (3),
-.BR opendir (3),
-.BR readdir (3),
-.BR rewinddir (3),
-.BR seekdir (3),
-.BR strcmp (3),
-.BR strcoll (3),
-.BR strverscmp (3),
-.BR telldir (3)
+.MR closedir 3 ,
+.MR fnmatch 3 ,
+.MR opendir 3 ,
+.MR readdir 3 ,
+.MR rewinddir 3 ,
+.MR seekdir 3 ,
+.MR strcmp 3 ,
+.MR strcoll 3 ,
+.MR strverscmp 3 ,
+.MR telldir 3
diff --git a/man3/scanf.3 b/man3/scanf.3
index be335a597..3d0e02975 100644
--- a/man3/scanf.3
+++ b/man3/scanf.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR vscanf (),
@@ -37,18 +37,18 @@ Feature Test Macro Requirements for glibc (see
The
.BR scanf ()
family of functions scans formatted input like
-.BR sscanf (3),
+.MR sscanf 3 ,
but read from a
.IR FILE .
It is very difficult to use these functions correctly,
and it is preferable to read entire lines with
-.BR fgets (3)
+.MR fgets 3
or
-.BR getline (3)
+.MR getline 3
and parse them later with
-.BR sscanf (3)
+.MR sscanf 3
or more specialized functions such as
-.BR strtol (3).
+.MR strtol 3 .
.P
The
.BR scanf ()
@@ -62,15 +62,15 @@ reads input from the stream pointer
The
.BR vfscanf ()
function is analogous to
-.BR vfprintf (3)
+.MR vfprintf 3
and reads input from the stream pointer
.I stream
using a variable argument list of pointers (see
-.BR stdarg (3).
+.MR stdarg 3 .
The
.BR vscanf ()
function is analogous to
-.BR vprintf (3)
+.MR vprintf 3
and reads from the standard input.
.SH RETURN VALUE
On success, these functions return the number of input items
@@ -85,7 +85,7 @@ successful conversion or a matching failure occurs.
.B EOF
is also returned if a read error occurs,
in which case the error indicator for the stream (see
-.BR ferror (3))
+.MR ferror 3 )
is set, and
.I errno
is set to indicate the error.
@@ -106,7 +106,7 @@ Input byte sequence does not form a valid character.
.TP
.B EINTR
The read operation was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
Not enough arguments; or
@@ -117,7 +117,7 @@ is NULL.
Out of memory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -154,6 +154,6 @@ if the input is "123\en\ a",
will consume the digits, the newline, and the space, but not the letter a.
This makes it difficult to recover from invalid input.
.SH SEE ALSO
-.BR fgets (3),
-.BR getline (3),
-.BR sscanf (3)
+.MR fgets 3 ,
+.MR getline 3 ,
+.MR sscanf 3
diff --git a/man3/sched_getcpu.3 b/man3/sched_getcpu.3
index f45d80054..c95f75af8 100644
--- a/man3/sched_getcpu.3
+++ b/man3/sched_getcpu.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sched_getcpu ():
@@ -45,10 +45,10 @@ is set to indicate the error.
.TP
.B ENOSYS
This kernel does not implement
-.BR getcpu (2).
+.MR getcpu 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -74,7 +74,7 @@ cpu = sched_getcpu();
.in
.P
is equivalent to the following
-.BR getcpu (2)
+.MR getcpu 2
call:
.P
.in +4n
@@ -85,5 +85,5 @@ cpu = (s == \-1) ? s : c;
.EE
.in
.SH SEE ALSO
-.BR getcpu (2),
-.BR sched (7)
+.MR getcpu 2 ,
+.MR sched 7
diff --git a/man3/seekdir.3 b/man3/seekdir.3
index ceb5850b2..4f740bcf5 100644
--- a/man3/seekdir.3
+++ b/man3/seekdir.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR seekdir ():
@@ -39,19 +39,19 @@ The
.BR seekdir ()
function sets the location in the directory stream
from which the next
-.BR readdir (2)
+.MR readdir 2
call will start.
The
.I loc
argument should be a value returned by a previous call to
-.BR telldir (3).
+.MR telldir 3 .
.SH RETURN VALUE
The
.BR seekdir ()
function returns no value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,14 +76,14 @@ POSIX.1-2001 specifies
.IR long ,
and this is the type used since glibc 2.1.2.
See
-.BR telldir (3)
+.MR telldir 3
for information on why you should be careful in making any
assumptions about the value in this argument.
.SH SEE ALSO
-.BR lseek (2),
-.BR closedir (3),
-.BR opendir (3),
-.BR readdir (3),
-.BR rewinddir (3),
-.BR scandir (3),
-.BR telldir (3)
+.MR lseek 2 ,
+.MR closedir 3 ,
+.MR opendir 3 ,
+.MR readdir 3 ,
+.MR rewinddir 3 ,
+.MR scandir 3 ,
+.MR telldir 3
diff --git a/man3/sem_close.3 b/man3/sem_close.3
index da7c45d03..38fec2d4c 100644
--- a/man3/sem_close.3
+++ b/man3/sem_close.3
@@ -34,7 +34,7 @@ set to indicate the error.
is not a valid semaphore.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -53,11 +53,11 @@ POSIX.1-2001.
.SH NOTES
All open named semaphores are automatically closed on process
termination, or upon
-.BR execve (2).
+.MR execve 2 .
.SH SEE ALSO
-.BR sem_getvalue (3),
-.BR sem_open (3),
-.BR sem_post (3),
-.BR sem_unlink (3),
-.BR sem_wait (3),
-.BR sem_overview (7)
+.MR sem_getvalue 3 ,
+.MR sem_open 3 ,
+.MR sem_post 3 ,
+.MR sem_unlink 3 ,
+.MR sem_wait 3 ,
+.MR sem_overview 7
diff --git a/man3/sem_destroy.3 b/man3/sem_destroy.3
index 0a8d0d2e7..eb20554fa 100644
--- a/man3/sem_destroy.3
+++ b/man3/sem_destroy.3
@@ -21,18 +21,18 @@ destroys the unnamed semaphore at the address pointed to by
.IR sem .
.P
Only a semaphore that has been initialized by
-.BR sem_init (3)
+.MR sem_init 3
should be destroyed using
.BR sem_destroy ().
.P
Destroying a semaphore that other processes or threads are
currently blocked on (in
-.BR sem_wait (3))
+.MR sem_wait 3 )
produces undefined behavior.
.P
Using a semaphore that has been destroyed produces undefined results,
until the semaphore has been reinitialized using
-.BR sem_init (3).
+.MR sem_init 3 .
.SH RETURN VALUE
.BR sem_destroy ()
returns 0 on success;
@@ -46,7 +46,7 @@ is set to indicate the error.
is not a valid semaphore.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -69,7 +69,7 @@ before the memory in which it is located is deallocated.
Failure to do this can result in resource leaks on some implementations.
.\" But not on NPTL, where sem_destroy () is a no-op..
.SH SEE ALSO
-.BR sem_init (3),
-.BR sem_post (3),
-.BR sem_wait (3),
-.BR sem_overview (7)
+.MR sem_init 3 ,
+.MR sem_post 3 ,
+.MR sem_wait 3 ,
+.MR sem_overview 7
diff --git a/man3/sem_getvalue.3 b/man3/sem_getvalue.3
index 5ee09648f..e2ae3a24a 100644
--- a/man3/sem_getvalue.3
+++ b/man3/sem_getvalue.3
@@ -24,13 +24,13 @@ into the integer pointed to by
.P
If one or more processes or threads are blocked
waiting to lock the semaphore with
-.BR sem_wait (3),
+.MR sem_wait 3 ,
POSIX.1 permits two possibilities for the value returned in
.IR sval :
either 0 is returned;
or a negative number whose absolute value is the count
of the number of processes and threads currently blocked in
-.BR sem_wait (3).
+.MR sem_wait 3 .
Linux adopts the former behavior.
.SH RETURN VALUE
.BR sem_getvalue ()
@@ -48,7 +48,7 @@ is not a valid semaphore.
is valid.)
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -69,6 +69,6 @@ The value of the semaphore may already have changed by the time
.BR sem_getvalue ()
returns.
.SH SEE ALSO
-.BR sem_post (3),
-.BR sem_wait (3),
-.BR sem_overview (7)
+.MR sem_post 3 ,
+.MR sem_wait 3 ,
+.MR sem_overview 7
diff --git a/man3/sem_init.3 b/man3/sem_init.3
index 7b46e8e7f..28d6aabb5 100644
--- a/man3/sem_init.3
+++ b/man3/sem_init.3
@@ -40,17 +40,17 @@ If
.I pshared
is nonzero, then the semaphore is shared between processes,
and should be located in a region of shared memory (see
-.BR shm_open (3),
-.BR mmap (2),
+.MR shm_open 3 ,
+.MR mmap 2 ,
and
-.BR shmget (2)).
+.MR shmget 2 ).
(Since a child created by
-.BR fork (2)
+.MR fork 2
inherits its parent's memory mappings, it can also access the semaphore.)
Any process that can access the shared memory region
can operate on the semaphore using
-.BR sem_post (3),
-.BR sem_wait (3),
+.MR sem_post 3 ,
+.MR sem_wait 3 ,
and so on.
.P
Initializing a semaphore that has already been initialized
@@ -72,10 +72,10 @@ exceeds
.I pshared
is nonzero,
but the system does not support process-shared semaphores (see
-.BR sem_overview (7)).
+.MR sem_overview 7 ).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -98,11 +98,11 @@ be returned by a successful call to
POSIX.1-2008 rectifies this, specifying the zero return on success.
.SH EXAMPLES
See
-.BR shm_open (3)
+.MR shm_open 3
and
-.BR sem_wait (3).
+.MR sem_wait 3 .
.SH SEE ALSO
-.BR sem_destroy (3),
-.BR sem_post (3),
-.BR sem_wait (3),
-.BR sem_overview (7)
+.MR sem_destroy 3 ,
+.MR sem_post 3 ,
+.MR sem_wait 3 ,
+.MR sem_overview 7
diff --git a/man3/sem_open.3 b/man3/sem_open.3
index 814997b72..7d360f283 100644
--- a/man3/sem_open.3
+++ b/man3/sem_open.3
@@ -27,7 +27,7 @@ The semaphore is identified by
For details of the construction of
.IR name ,
see
-.BR sem_overview (7).
+.MR sem_overview 7 .
.P
The
.I oflag
@@ -64,7 +64,7 @@ The
.I mode
argument specifies the permissions to be placed on the new semaphore,
as for
-.BR open (2).
+.MR open 2 .
(Symbolic definitions for the permissions bits can be obtained by including
.IR <sys/stat.h> .)
The permissions settings are masked against the process umask.
@@ -150,7 +150,7 @@ wasn't well formed.
Insufficient memory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -167,9 +167,9 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR sem_close (3),
-.BR sem_getvalue (3),
-.BR sem_post (3),
-.BR sem_unlink (3),
-.BR sem_wait (3),
-.BR sem_overview (7)
+.MR sem_close 3 ,
+.MR sem_getvalue 3 ,
+.MR sem_post 3 ,
+.MR sem_unlink 3 ,
+.MR sem_wait 3 ,
+.MR sem_overview 7
diff --git a/man3/sem_post.3 b/man3/sem_post.3
index 1f9222e0d..59643059e 100644
--- a/man3/sem_post.3
+++ b/man3/sem_post.3
@@ -21,7 +21,7 @@ increments (unlocks) the semaphore pointed to by
.IR sem .
If the semaphore's value consequently becomes greater than zero,
then another process or thread blocked in a
-.BR sem_wait (3)
+.MR sem_wait 3
call will be woken up and proceed to lock the semaphore.
.SH RETURN VALUE
.BR sem_post ()
@@ -41,7 +41,7 @@ is not a valid semaphore.
The maximum allowable value for a semaphore would be exceeded.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -63,11 +63,11 @@ is async-signal-safe:
it may be safely called within a signal handler.
.SH EXAMPLES
See
-.BR sem_wait (3)
+.MR sem_wait 3
and
-.BR shm_open (3).
+.MR shm_open 3 .
.SH SEE ALSO
-.BR sem_getvalue (3),
-.BR sem_wait (3),
-.BR sem_overview (7),
-.BR signal\-safety (7)
+.MR sem_getvalue 3 ,
+.MR sem_wait 3 ,
+.MR sem_overview 7 ,
+.MR signal\-safety 7
diff --git a/man3/sem_unlink.3 b/man3/sem_unlink.3
index 1f442e108..4d46da1e0 100644
--- a/man3/sem_unlink.3
+++ b/man3/sem_unlink.3
@@ -42,7 +42,7 @@ There is no semaphore with the given
.IR name .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -59,8 +59,8 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR sem_getvalue (3),
-.BR sem_open (3),
-.BR sem_post (3),
-.BR sem_wait (3),
-.BR sem_overview (7)
+.MR sem_getvalue 3 ,
+.MR sem_open 3 ,
+.MR sem_post 3 ,
+.MR sem_wait 3 ,
+.MR sem_overview 7
diff --git a/man3/sem_wait.3 b/man3/sem_wait.3
index 8d31e2f2a..ff3106e8a 100644
--- a/man3/sem_wait.3
+++ b/man3/sem_wait.3
@@ -21,7 +21,7 @@ POSIX threads library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sem_timedwait ():
@@ -59,7 +59,7 @@ should block if the decrement cannot be immediately performed.
The
.I abs_timeout
argument points to a
-.BR timespec (3)
+.MR timespec 3
structure that specifies an absolute timeout
in seconds and nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
.P
@@ -94,7 +94,7 @@ semaphore currently has the value zero).
.TP
.B EINTR
The call was interrupted by a signal handler; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
.I sem
@@ -113,7 +113,7 @@ The call timed out before the semaphore could be locked.
.\" was detected", but this does not occur on Linux(?).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -140,7 +140,7 @@ set an alarm timer to generate a
.B SIGALRM
signal.
This handler performs a
-.BR sem_post (3)
+.MR sem_post 3
to increment the semaphore that is being waited on in
.I main()
using
@@ -243,9 +243,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR sem_getvalue (3),
-.BR sem_post (3),
-.BR timespec (3),
-.BR sem_overview (7),
-.BR time (7)
+.MR clock_gettime 2 ,
+.MR sem_getvalue 3 ,
+.MR sem_post 3 ,
+.MR timespec 3 ,
+.MR sem_overview 7 ,
+.MR time 7
diff --git a/man3/setaliasent.3 b/man3/setaliasent.3
index 24d162751..5b8ef7d80 100644
--- a/man3/setaliasent.3
+++ b/man3/setaliasent.3
@@ -104,7 +104,7 @@ This can be changed in the
file.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -174,10 +174,10 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR getgrent (3),
-.BR getpwent (3),
-.BR getspent (3),
-.BR aliases (5)
+.MR getgrent 3 ,
+.MR getpwent 3 ,
+.MR getspent 3 ,
+.MR aliases 5
.\"
.\" /etc/sendmail/aliases
.\" Yellow Pages
diff --git a/man3/setbuf.3 b/man3/setbuf.3
index d363fb056..7951ffdcc 100644
--- a/man3/setbuf.3
+++ b/man3/setbuf.3
@@ -39,7 +39,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR setbuffer (),
@@ -59,10 +59,10 @@ buffered, many characters are saved up and written as a block; when it is
line buffered, characters are saved up until a newline is output or input is
read from any stream attached to a terminal device (typically \fIstdin\fP).
The function
-.BR fflush (3)
+.MR fflush 3
may be used to force the block out early.
(See
-.BR fclose (3).)
+.MR fclose 3 .)
.P
Normally all files are block buffered.
If a stream refers to a terminal (as
@@ -141,7 +141,7 @@ on failure.
The other functions do not return a value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -217,11 +217,11 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR stdbuf (1),
-.BR fclose (3),
-.BR fflush (3),
-.BR fopen (3),
-.BR fread (3),
-.BR malloc (3),
-.BR printf (3),
-.BR puts (3)
+.MR stdbuf 1 ,
+.MR fclose 3 ,
+.MR fflush 3 ,
+.MR fopen 3 ,
+.MR fread 3 ,
+.MR malloc 3 ,
+.MR printf 3 ,
+.MR puts 3
diff --git a/man3/setenv.3 b/man3/setenv.3
index 59df11cc9..a85a6bbe8 100644
--- a/man3/setenv.3
+++ b/man3/setenv.3
@@ -31,7 +31,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR setenv (),
@@ -72,7 +72,7 @@ This function makes copies of the strings pointed to by
and
.I value
(by contrast with
-.BR putenv (3)).
+.MR putenv 3 ).
.P
The
.BR unsetenv ()
@@ -103,7 +103,7 @@ or contains an \[aq]=\[aq] character.
Insufficient memory to add a new variable to the environment.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -144,7 +144,7 @@ should fail with the error
however, versions of glibc before glibc 2.3.4 allowed an \[aq]=\[aq] sign in
.IR name .
.SH SEE ALSO
-.BR clearenv (3),
-.BR getenv (3),
-.BR putenv (3),
-.BR environ (7)
+.MR clearenv 3 ,
+.MR getenv 3 ,
+.MR putenv 3 ,
+.MR environ 7
diff --git a/man3/setjmp.3 b/man3/setjmp.3
index 2319feb47..a18383e1a 100644
--- a/man3/setjmp.3
+++ b/man3/setjmp.3
@@ -22,7 +22,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR setjmp ():
@@ -120,7 +120,7 @@ or
functions do not return.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -309,7 +309,7 @@ from signal handlers and goes on to point out that
if these functions are called from a signal handler that interrupted
a call to a non-async-signal-safe function (or some equivalent,
such as the steps equivalent to
-.BR exit (3)
+.MR exit 3
that occur upon a return from the initial call to
.IR main ()),
the behavior is undefined if the program subsequently makes a call to
@@ -328,5 +328,5 @@ no non-async-signal-safe functions are called after
returning from the initial call to
.IR main ().
.SH SEE ALSO
-.BR signal (7),
-.BR signal\-safety (7)
+.MR signal 7 ,
+.MR signal\-safety 7
diff --git a/man3/setlocale.3 b/man3/setlocale.3
index c31b54b29..2488d6b3e 100644
--- a/man3/setlocale.3
+++ b/man3/setlocale.3
@@ -78,7 +78,7 @@ T}
The categories marked with an asterisk in the above table
are GNU extensions.
For further information on these locale categories, see
-.BR locale (7).
+.MR locale 7 .
.P
The argument
.I locale
@@ -131,7 +131,7 @@ is a character set or encoding identifier like
or
.BR "UTF\-8" .
For a list of all supported locales, try "locale \-a" (see
-.BR locale (1)).
+.MR locale 1 ).
.P
If
.I locale
@@ -151,22 +151,22 @@ setlocale(LC_ALL, "");
after program initialization, and then:
.IP \[bu] 3
using the values returned from a
-.BR localeconv (3)
+.MR localeconv 3
call for locale-dependent information;
.IP \[bu]
using the multibyte and wide character functions for text processing if
.BR "MB_CUR_MAX > 1" ;
.IP \[bu]
using
-.BR strcoll (3)
+.MR strcoll 3
and
-.BR strxfrm (3)
+.MR strxfrm 3
to compare strings; and
.IP \[bu]
using
-.BR wcscoll (3)
+.MR wcscoll 3
and
-.BR wcsxfrm (3)
+.MR wcsxfrm 3
to compare wide-character strings.
.SH RETURN VALUE
A successful call to
@@ -179,7 +179,7 @@ locale.
The return value is NULL if the request cannot be honored.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -236,13 +236,13 @@ POSIX.1-2001.
Others:
GNU.
.SH SEE ALSO
-.BR locale (1),
-.BR localedef (1),
-.BR isalpha (3),
-.BR localeconv (3),
-.BR nl_langinfo (3),
-.BR rpmatch (3),
-.BR strcoll (3),
-.BR strftime (3),
-.BR charsets (7),
-.BR locale (7)
+.MR locale 1 ,
+.MR localedef 1 ,
+.MR isalpha 3 ,
+.MR localeconv 3 ,
+.MR nl_langinfo 3 ,
+.MR rpmatch 3 ,
+.MR strcoll 3 ,
+.MR strftime 3 ,
+.MR charsets 7 ,
+.MR locale 7
diff --git a/man3/setlogmask.3 b/man3/setlogmask.3
index 12347fd36..8c191aa1f 100644
--- a/man3/setlogmask.3
+++ b/man3/setlogmask.3
@@ -17,7 +17,7 @@ Standard C library
.fi
.SH DESCRIPTION
A process has a log priority mask that determines which calls to
-.BR syslog (3)
+.MR syslog 3
may be logged.
All other calls will be ignored.
Logging is enabled for the priorities that have the corresponding
@@ -62,7 +62,7 @@ None.
.\" The glibc logmask handling was broken before glibc 2.1.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,6 +84,6 @@ POSIX.1-2001.
will be included in the next release of the POSIX specification (Issue 8).
.\" FIXME . https://www.austingroupbugs.net/view.php?id=1033
.SH SEE ALSO
-.BR closelog (3),
-.BR openlog (3),
-.BR syslog (3)
+.MR closelog 3 ,
+.MR openlog 3 ,
+.MR syslog 3
diff --git a/man3/setnetgrent.3 b/man3/setnetgrent.3
index 86eee0cb9..b7bfc1bb3 100644
--- a/man3/setnetgrent.3
+++ b/man3/setnetgrent.3
@@ -32,7 +32,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR \%setnetgrent (),
@@ -96,7 +96,7 @@ These functions return 1 on success and 0 for failure.
.I /etc/nsswitch.conf
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -165,6 +165,6 @@ are available on most UNIX systems.
is not widely available on other systems.
.\" getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs.
.SH SEE ALSO
-.BR sethostent (3),
-.BR setprotoent (3),
-.BR setservent (3)
+.MR sethostent 3 ,
+.MR setprotoent 3 ,
+.MR setservent 3
diff --git a/man3/shm_open.3 b/man3/shm_open.3
index 03e96dc11..4694dc6f0 100644
--- a/man3/shm_open.3
+++ b/man3/shm_open.3
@@ -23,7 +23,7 @@ Real-time library
creates and opens a new, or opens an existing, POSIX shared memory object.
A POSIX shared memory object is in effect a handle which can
be used by unrelated processes to
-.BR mmap (2)
+.MR mmap 2
the same region of shared memory.
The
.BR shm_unlink ()
@@ -34,7 +34,7 @@ removing an object previously created by
The operation of
.BR shm_open ()
is analogous to that of
-.BR open (2).
+.MR open 2 .
.I name
specifies the shared memory object to be created or opened.
For portable use,
@@ -62,7 +62,7 @@ and any of the other flags listed here:
.B O_RDONLY
Open the object for read access.
A shared memory object opened in this way can be
-.BR mmap (2)ed
+.MR mmap 2 ed
only for read
.RB ( PROT_READ )
access.
@@ -81,18 +81,18 @@ permission bits are set according to the low-order 9 bits of
.IR mode ,
except that those bits set in the process file mode
creation mask (see
-.BR umask (2))
+.MR umask 2 )
are cleared for the new object.
A set of macro constants which can be used to define
.I mode
is listed in
-.BR open (2).
+.MR open 2 .
(Symbolic definitions of these constants can be obtained by including
.IR <sys/stat.h> .)
.IP
A new shared memory object initially has zero length\[em]the size of the
object can be set using
-.BR ftruncate (2).
+.MR ftruncate 2 .
The newly allocated bytes of a shared memory
object are automatically initialized to 0.
.TP
@@ -119,23 +119,23 @@ not previously opened within the process.
The
.B FD_CLOEXEC
flag (see
-.BR fcntl (2))
+.MR fcntl 2 )
is set for the file descriptor.
.P
The file descriptor is normally used in subsequent calls
to
-.BR ftruncate (2)
+.MR ftruncate 2
(for a newly created object) and
-.BR mmap (2).
+.MR mmap 2 .
After a call to
-.BR mmap (2)
+.MR mmap 2
the file descriptor may be closed without affecting the memory mapping.
.P
The operation
of
.BR shm_unlink ()
is analogous to
-.BR unlink (2):
+.MR unlink 2 :
it removes a shared memory object name, and, once all processes
have unmapped the object, deallocates and
destroys the contents of the associated memory region.
@@ -222,7 +222,7 @@ a
that does not exist.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -246,7 +246,7 @@ shared memory object\[em]this may not be so on other UNIX systems.
.P
The POSIX shared memory object implementation on Linux makes use
of a dedicated
-.BR tmpfs (5)
+.MR tmpfs 5
filesystem that is normally mounted under
.IR /dev/shm .
.SH STANDARDS
@@ -495,14 +495,14 @@ main(int argc, char *argv[])
.\" SRC END
.in
.SH SEE ALSO
-.BR close (2),
-.BR fchmod (2),
-.BR fchown (2),
-.BR fcntl (2),
-.BR fstat (2),
-.BR ftruncate (2),
-.BR memfd_create (2),
-.BR mmap (2),
-.BR open (2),
-.BR umask (2),
-.BR shm_overview (7)
+.MR close 2 ,
+.MR fchmod 2 ,
+.MR fchown 2 ,
+.MR fcntl 2 ,
+.MR fstat 2 ,
+.MR ftruncate 2 ,
+.MR memfd_create 2 ,
+.MR mmap 2 ,
+.MR open 2 ,
+.MR umask 2 ,
+.MR shm_overview 7
diff --git a/man3/siginterrupt.3 b/man3/siginterrupt.3
index ddb9aa3c6..531f6f3c1 100644
--- a/man3/siginterrupt.3
+++ b/man3/siginterrupt.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR siginterrupt ():
@@ -68,7 +68,7 @@ set to indicate the error.
The specified signal number is invalid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -90,9 +90,9 @@ POSIX.1-2008.
4.3BSD, POSIX.1-2001.
Obsolete in POSIX.1-2008,
recommending the use of
-.BR sigaction (2)
+.MR sigaction 2
with the
.B SA_RESTART
flag instead.
.SH SEE ALSO
-.BR signal (2)
+.MR signal 2
diff --git a/man3/signbit.3 b/man3/signbit.3
index 0a54b70b7..8df0ac245 100644
--- a/man3/signbit.3
+++ b/man3/signbit.3
@@ -22,7 +22,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR signbit ():
@@ -56,7 +56,7 @@ is negative; otherwise it returns zero.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,4 +76,4 @@ POSIX.1-2001, C99.
This function is defined in IEC 559 (and the appendix with
recommended functions in IEEE 754/IEEE 854).
.SH SEE ALSO
-.BR copysign (3)
+.MR copysign 3
diff --git a/man3/significand.3 b/man3/significand.3
index e991a822a..bc7c35351 100644
--- a/man3/significand.3
+++ b/man3/significand.3
@@ -23,7 +23,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR significand (),
@@ -49,7 +49,7 @@ This function exists mainly for use in certain standardized tests
for IEEE 754 conformance.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -73,5 +73,5 @@ BSD.
.BR significand ()
BSD.
.SH SEE ALSO
-.BR ilogb (3),
-.BR scalb (3)
+.MR ilogb 3 ,
+.MR scalb 3
diff --git a/man3/sigpause.3 b/man3/sigpause.3
index 7c1d78d3f..3d842df4a 100644
--- a/man3/sigpause.3
+++ b/man3/sigpause.3
@@ -20,7 +20,7 @@ Standard C library
.SH DESCRIPTION
Don't use this function.
Use
-.BR sigsuspend (2)
+.MR sigsuspend 2
instead.
.P
The function
@@ -39,7 +39,7 @@ set to
.BR EINTR .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -89,7 +89,7 @@ Since glibc 2.19, only the System V version is exposed by
applications that formerly used the BSD
.BR sigpause ()
should be amended to use
-.BR sigsuspend (2).
+.MR sigsuspend 2 .
.\"
.\" For the BSD version, one usually uses a zero
.\" .I sigmask
@@ -110,16 +110,16 @@ from the process's signal mask.
.\" __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG
The unfortunate situation with two incompatible functions with the
same name was solved by the
-.BR \%sigsuspend (2)
+.MR sigsuspend 2
function, that takes a
.I "sigset_t\ *"
argument (instead of an
.IR int ).
.SH SEE ALSO
-.BR kill (2),
-.BR sigaction (2),
-.BR sigprocmask (2),
-.BR sigsuspend (2),
-.BR sigblock (3),
-.BR sigvec (3),
-.BR feature_test_macros (7)
+.MR kill 2 ,
+.MR sigaction 2 ,
+.MR sigprocmask 2 ,
+.MR sigsuspend 2 ,
+.MR sigblock 3 ,
+.MR sigvec 3 ,
+.MR feature_test_macros 7
diff --git a/man3/sigqueue.3 b/man3/sigqueue.3
index 3d8c78736..eb112f0ee 100644
--- a/man3/sigqueue.3
+++ b/man3/sigqueue.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigqueue ():
@@ -35,9 +35,9 @@ sends the signal specified in
to the process whose PID is given in
.IR pid .
The permissions required to send a signal are the same as for
-.BR kill (2).
+.MR kill 2 .
As with
-.BR kill (2),
+.MR kill 2 ,
the null signal (0) can be used to check if a process with a given
PID exists.
.P
@@ -58,7 +58,7 @@ union sigval {
If the receiving process has installed a handler for this signal using the
.B SA_SIGINFO
flag to
-.BR sigaction (2),
+.MR sigaction 2 ,
then it can obtain this data via the
.I si_value
field of the
@@ -81,7 +81,7 @@ is set to indicate the error.
.B EAGAIN
The limit of signals which may be queued has been reached.
(See
-.BR signal (7)
+.MR signal 7
for further information.)
.TP
.B EINVAL
@@ -92,14 +92,14 @@ was invalid.
The process does not have permission to send the signal
to the receiving process.
For the required permissions, see
-.BR kill (2).
+.MR kill 2 .
.TP
.B ESRCH
No process has a PID matching
.IR pid .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -116,13 +116,13 @@ T} Thread safety MT-Safe
On Linux,
.BR sigqueue ()
is implemented using the
-.BR rt_sigqueueinfo (2)
+.MR rt_sigqueueinfo 2
system call.
The system call differs in its third argument, which is the
.I siginfo_t
structure that will be supplied to the receiving process's
signal handler or returned by the receiving process's
-.BR sigtimedwait (2)
+.MR sigtimedwait 2
call.
Inside the glibc
.BR sigqueue ()
@@ -149,14 +149,14 @@ If this function results in the sending of a signal to the process
that invoked it, and that signal was not blocked by the calling thread,
and no other threads were willing to handle this signal (either by
having it unblocked, or by waiting for it using
-.BR sigwait (3)),
+.MR sigwait 3 ),
then at least some signal must be delivered to this thread before this
function returns.
.SH SEE ALSO
-.BR kill (2),
-.BR rt_sigqueueinfo (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR pthread_sigqueue (3),
-.BR sigwait (3),
-.BR signal (7)
+.MR kill 2 ,
+.MR rt_sigqueueinfo 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR pthread_sigqueue 3 ,
+.MR sigwait 3 ,
+.MR signal 7
diff --git a/man3/sigset.3 b/man3/sigset.3
index 8613710c0..2f6e0100f 100644
--- a/man3/sigset.3
+++ b/man3/sigset.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigset (),
@@ -39,8 +39,9 @@ Feature Test Macro Requirements for glibc (see
These functions are provided in glibc as a compatibility interface
for programs that make use of the historical System V signal API.
This API is obsolete: new applications should use the POSIX signal API
-.RB ( sigaction (2),
-.BR sigprocmask (2),
+\%(\c
+.MR sigaction 2 ,
+.MR sigprocmask 2 ,
etc.)
.P
The
@@ -135,24 +136,24 @@ to indicate the error.
For
.BR sigset ()
see the ERRORS under
-.BR sigaction (2)
+.MR sigaction 2
and
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
.P
For
.BR sighold ()
and
.BR sigrelse ()
see the ERRORS under
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
.P
For
.BR sigignore (),
see the errors under
-.BR sigaction (2).
+.MR sigaction 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -179,17 +180,17 @@ glibc 2.1.
SVr4, POSIX.1-2001.
POSIX.1-2008 marks these functions
as obsolete, recommending the use of
-.BR sigaction (2),
-.BR sigprocmask (2),
-.BR pthread_sigmask (3),
+.MR sigaction 2 ,
+.MR sigprocmask 2 ,
+.MR pthread_sigmask 3 ,
and
-.BR sigsuspend (2)
+.MR sigsuspend 2
instead.
.SH NOTES
The
.BR sigset ()
function provides reliable signal handling semantics (as when calling
-.BR sigaction (2)
+.MR sigaction 2
with
.I sa_mask
equal to 0).
@@ -197,7 +198,7 @@ equal to 0).
On System V, the
.BR signal ()
function provides unreliable semantics (as when calling
-.BR sigaction (2)
+.MR sigaction 2
with
.I sa_mask
equal to
@@ -209,15 +210,15 @@ POSIX.1-2001 leaves these aspects of
.BR signal ()
unspecified.
See
-.BR signal (2)
+.MR signal 2
for further details.
.P
In order to wait for a signal,
BSD and System V both provided a function named
-.BR sigpause (3),
+.MR sigpause 3 ,
but this function has a different argument on the two systems.
See
-.BR sigpause (3)
+.MR sigpause 3
for details.
.SH BUGS
Before glibc 2.2,
@@ -254,12 +255,12 @@ Instead, the previous disposition of the signal is returned.
These problems have been fixed since glibc 2.5.
.\" See http://sourceware.org/bugzilla/show_bug.cgi?id=1951
.SH SEE ALSO
-.BR kill (2),
-.BR pause (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR sigprocmask (2),
-.BR raise (3),
-.BR sigpause (3),
-.BR sigvec (3),
-.BR signal (7)
+.MR kill 2 ,
+.MR pause 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR sigprocmask 2 ,
+.MR raise 3 ,
+.MR sigpause 3 ,
+.MR sigvec 3 ,
+.MR signal 7
diff --git a/man3/sigsetops.3 b/man3/sigsetops.3
index cbdfa3299..c79c6cdc9 100644
--- a/man3/sigsetops.3
+++ b/man3/sigsetops.3
@@ -31,7 +31,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigemptyset (),
@@ -113,7 +113,7 @@ to indicate the error.
is not a valid signal.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -181,10 +181,10 @@ When creating a filled signal set, the glibc
function does not include the two real-time signals used internally
by the NPTL threading implementation.
See
-.BR nptl (7)
+.MR nptl 7
for details.
.SH SEE ALSO
-.BR sigaction (2),
-.BR sigpending (2),
-.BR sigprocmask (2),
-.BR sigsuspend (2)
+.MR sigaction 2 ,
+.MR sigpending 2 ,
+.MR sigprocmask 2 ,
+.MR sigsuspend 2
diff --git a/man3/sigvec.3 b/man3/sigvec.3
index 3aa18980e..a26433a0c 100644
--- a/man3/sigvec.3
+++ b/man3/sigvec.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
All functions shown above:
@@ -39,8 +39,9 @@ All functions shown above:
These functions are provided in glibc as a compatibility interface
for programs that make use of the historical BSD signal API.
This API is obsolete: new applications should use the POSIX signal API
-.RB ( sigaction (2),
-.BR sigprocmask (2),
+\%(\c
+.MR sigaction 2 ,
+.MR sigprocmask 2 ,
etc.).
.P
The
@@ -48,7 +49,7 @@ The
function sets and/or gets the disposition of the signal
.I sig
(like the POSIX
-.BR sigaction (2)).
+.MR sigaction 2 ).
If
.I vec
is not NULL, it points to a
@@ -133,14 +134,14 @@ If this flag is not specified, then the handler remains established
until explicitly removed by a later call to
.BR sigvec ()
or until the process performs an
-.BR execve (2).
+.MR execve 2 .
.TP
.B SV_ONSTACK
Handle the signal on the alternate signal stack
(historically established under BSD using the obsolete
.BR sigstack ()
function; the POSIX replacement is
-.BR sigaltstack (2)).
+.MR sigaltstack 2 ).
.P
The
.BR sigmask ()
@@ -206,12 +207,12 @@ macro returns the signal mask for
.IR signum .
.SH ERRORS
See the ERRORS under
-.BR sigaction (2)
+.MR sigaction 2
and
-.BR sigprocmask (2).
+.MR sigprocmask 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -260,23 +261,23 @@ POSIX.1 leaves these aspects of
.BR signal ()
unspecified.
See
-.BR signal (2)
+.MR signal 2
for further details.
.P
In order to wait for a signal,
BSD and System V both provided a function named
-.BR sigpause (3),
+.MR sigpause 3 ,
but this function has a different argument on the two systems.
See
-.BR sigpause (3)
+.MR sigpause 3
for details.
.SH SEE ALSO
-.BR kill (2),
-.BR pause (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR sigprocmask (2),
-.BR raise (3),
-.BR sigpause (3),
-.BR sigset (3),
-.BR signal (7)
+.MR kill 2 ,
+.MR pause 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR sigprocmask 2 ,
+.MR raise 3 ,
+.MR sigpause 3 ,
+.MR sigset 3 ,
+.MR signal 7
diff --git a/man3/sigwait.3 b/man3/sigwait.3
index 226a97e6f..0902b76e3 100644
--- a/man3/sigwait.3
+++ b/man3/sigwait.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigwait ():
@@ -44,7 +44,7 @@ and returns the signal number in
The operation of
.BR sigwait ()
is the same as
-.BR sigwaitinfo (2),
+.MR sigwaitinfo 2 ,
except that:
.IP \[bu] 3
.BR sigwait ()
@@ -66,7 +66,7 @@ On error, it returns a positive error number (listed in ERRORS).
contains an invalid signal number.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -81,14 +81,14 @@ T} Thread safety MT-Safe
.SH VERSIONS
.BR sigwait ()
is implemented using
-.BR sigtimedwait (2).
+.MR sigtimedwait 2 .
.P
The glibc implementation of
.BR sigwait ()
silently ignores attempts to wait for the two real-time signals that
are used internally by the NPTL threading implementation.
See
-.BR nptl (7)
+.MR nptl 7
for details.
.SH STANDARDS
POSIX.1-2008.
@@ -96,12 +96,12 @@ POSIX.1-2008.
POSIX.1-2001.
.SH EXAMPLES
See
-.BR pthread_sigmask (3).
+.MR pthread_sigmask 3 .
.SH SEE ALSO
-.BR sigaction (2),
-.BR signalfd (2),
-.BR sigpending (2),
-.BR sigsuspend (2),
-.BR sigwaitinfo (2),
-.BR sigsetops (3),
-.BR signal (7)
+.MR sigaction 2 ,
+.MR signalfd 2 ,
+.MR sigpending 2 ,
+.MR sigsuspend 2 ,
+.MR sigwaitinfo 2 ,
+.MR sigsetops 3 ,
+.MR signal 7
diff --git a/man3/sin.3 b/man3/sin.3
index ba96f51a0..06e9c7a2d 100644
--- a/man3/sin.3
+++ b/man3/sin.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sinf (),
@@ -65,7 +65,7 @@ and a NaN is returned.
.\" glibc 2.8 doesn't do this
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -81,7 +81,7 @@ An invalid floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -112,11 +112,11 @@ to
.B EDOM
when a domain error occurred.
.SH SEE ALSO
-.BR acos (3),
-.BR asin (3),
-.BR atan (3),
-.BR atan2 (3),
-.BR cos (3),
-.BR csin (3),
-.BR sincos (3),
-.BR tan (3)
+.MR acos 3 ,
+.MR asin 3 ,
+.MR atan 3 ,
+.MR atan2 3 ,
+.MR cos 3 ,
+.MR csin 3 ,
+.MR sincos 3 ,
+.MR tan 3
diff --git a/man3/sincos.3 b/man3/sincos.3
index 94bd1d93b..a86c7b37a 100644
--- a/man3/sincos.3
+++ b/man3/sincos.3
@@ -28,9 +28,9 @@ These functions compute both at the same time, and store the results in
and
.IR *cos .
Using this function can be more efficient than two separate calls to
-.BR sin (3)
+.MR sin 3
and
-.BR cos (3).
+.MR cos 3 .
.P
If
.I x
@@ -53,7 +53,7 @@ These functions return
.IR void .
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -69,7 +69,7 @@ An invalid floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -91,7 +91,7 @@ glibc 2.1.
To see the performance advantage of
.BR sincos (),
it may be necessary to disable
-.BR gcc (1)
+.MR gcc 1
built-in optimizations, using flags such as:
.P
.in +4n
@@ -107,6 +107,6 @@ to
.B EDOM
when a domain error occurred.
.SH SEE ALSO
-.BR cos (3),
-.BR sin (3),
-.BR tan (3)
+.MR cos 3 ,
+.MR sin 3 ,
+.MR tan 3
diff --git a/man3/sinh.3 b/man3/sinh.3
index d9837b3eb..2df72e5bd 100644
--- a/man3/sinh.3
+++ b/man3/sinh.3
@@ -31,7 +31,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sinhf (),
@@ -82,7 +82,7 @@ respectively, with the same sign as
.\" glibc 2.8 does not do this.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -97,7 +97,7 @@ An overflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -121,9 +121,9 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR acosh (3),
-.BR asinh (3),
-.BR atanh (3),
-.BR cosh (3),
-.BR csinh (3),
-.BR tanh (3)
+.MR acosh 3 ,
+.MR asinh 3 ,
+.MR atanh 3 ,
+.MR cosh 3 ,
+.MR csinh 3 ,
+.MR tanh 3
diff --git a/man3/sleep.3 b/man3/sleep.3
index 0cf235d90..f60961854 100644
--- a/man3/sleep.3
+++ b/man3/sleep.3
@@ -28,7 +28,7 @@ or the number of seconds left to sleep,
if the call was interrupted by a signal handler.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -44,20 +44,20 @@ T} Thread safety MT-Unsafe sig:SIGCHLD/linux
On Linux,
.BR sleep ()
is implemented via
-.BR nanosleep (2).
+.MR nanosleep 2 .
See the
-.BR nanosleep (2)
+.MR nanosleep 2
man page for a discussion of the clock used.
.P
On some systems,
.BR sleep ()
may be implemented using
-.BR alarm (2)
+.MR alarm 2
and
.B SIGALRM
(POSIX.1 permits this);
mixing calls to
-.BR alarm (2)
+.MR alarm 2
and
.BR sleep ()
is a bad idea.
@@ -67,13 +67,13 @@ POSIX.1-2008.
POSIX.1-2001.
.SH CAVEATS
Using
-.BR longjmp (3)
+.MR longjmp 3
from a signal handler or modifying the handling of
.B SIGALRM
while sleeping will cause undefined results.
.SH SEE ALSO
-.BR sleep (1),
-.BR alarm (2),
-.BR nanosleep (2),
-.BR signal (2),
-.BR signal (7)
+.MR sleep 1 ,
+.MR alarm 2 ,
+.MR nanosleep 2 ,
+.MR signal 2 ,
+.MR signal 7
diff --git a/man3/slist.3 b/man3/slist.3
index fdb045aee..13ca15bb9 100644
--- a/man3/slist.3
+++ b/man3/slist.3
@@ -315,5 +315,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR insque (3),
-.BR queue (7)
+.MR insque 3 ,
+.MR queue 7
diff --git a/man3/sockatmark.3 b/man3/sockatmark.3
index 6cd2eb6d6..7a636163b 100644
--- a/man3/sockatmark.3
+++ b/man3/sockatmark.3
@@ -18,7 +18,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sockatmark ():
@@ -55,7 +55,7 @@ is not a file descriptor to which
can be applied.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -78,7 +78,7 @@ If
returns 1, then the out-of-band data can be read using the
.B MSG_OOB
flag of
-.BR recv (2).
+.MR recv 2 .
.P
Out-of-band data is supported only on some stream socket protocols.
.P
@@ -90,7 +90,7 @@ signal.
.BR sockatmark ()
is implemented using the
.B SIOCATMARK
-.BR ioctl (2)
+.MR ioctl 2
operation.
.SH BUGS
Prior to glibc 2.4,
@@ -132,7 +132,7 @@ and then read the byte of data at the mark:
}
.EE
.SH SEE ALSO
-.BR fcntl (2),
-.BR recv (2),
-.BR send (2),
-.BR tcp (7)
+.MR fcntl 2 ,
+.MR recv 2 ,
+.MR send 2 ,
+.MR tcp 7
diff --git a/man3/sqrt.3 b/man3/sqrt.3
index 7a4787810..c6367720b 100644
--- a/man3/sqrt.3
+++ b/man3/sqrt.3
@@ -29,7 +29,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sqrtf (),
@@ -65,7 +65,7 @@ a domain error occurs,
and a NaN is returned.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -80,7 +80,7 @@ An invalid floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -104,6 +104,6 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR cbrt (3),
-.BR csqrt (3),
-.BR hypot (3)
+.MR cbrt 3 ,
+.MR csqrt 3 ,
+.MR hypot 3
diff --git a/man3/sscanf.3 b/man3/sscanf.3
index d488cd861..5b6390c4c 100644
--- a/man3/sscanf.3
+++ b/man3/sscanf.3
@@ -43,7 +43,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR vsscanf ():
@@ -87,7 +87,7 @@ read their input from the string pointed to by
The
.BR vsscanf ()
function is analogous to
-.BR vsprintf (3).
+.MR vsprintf 3 .
.P
The
.I format
@@ -107,7 +107,7 @@ A directive is one of the following:
.TP
\[bu]
A sequence of white-space characters (space, tab, newline, etc.; see
-.BR isspace (3)).
+.MR isspace 3 ).
This directive matches any amount of white space,
including none, in the input.
.TP
@@ -152,7 +152,7 @@ separators as defined by the
.B LC_NUMERIC
category of the current locale.
(See
-.BR setlocale (3).)
+.MR setlocale 3 .)
The quote character may precede or follow the \[aq]*\[aq]
assignment-suppression character.
.TP
@@ -172,7 +172,7 @@ argument, which should be a pointer to a
.I "char\ *"
variable (this variable does not need to be initialized before the call).
The caller should subsequently
-.BR free (3)
+.MR free 3
this buffer when it is no longer required.
.TP
\[bu]
@@ -483,7 +483,7 @@ circumflex, in) set or when the field width runs out.
Matches a pointer value (as printed by
.B %p
in
-.BR printf (3));
+.MR printf 3 );
the next pointer must be a pointer to a pointer to
.IR void .
.TP
@@ -530,7 +530,7 @@ is NULL.
Out of memory.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -648,7 +648,7 @@ current implementations are not safe from that bug,
so it is not recommended to use them.
Instead,
programs should use functions such as
-.BR strtol (3)
+.MR strtol 3
to parse numeric input.
Alternatively,
mitigate it by specifying a maximum field width.
@@ -695,7 +695,7 @@ as a length modifier (thus
or
\fB%m[\fP\fIrange\fP\fB]\fP).
The caller must
-.BR free (3)
+.MR free 3
the returned string, as in the following example:
.P
.in +4n
@@ -717,14 +717,14 @@ if (n == 1) {
.in
.P
As shown in the above example, it is necessary to call
-.BR free (3)
+.MR free 3
only if the
.BR sscanf ()
call successfully read a string.
.SH SEE ALSO
-.BR getc (3),
-.BR printf (3),
-.BR setlocale (3),
-.BR strtod (3),
-.BR strtol (3),
-.BR strtoul (3)
+.MR getc 3 ,
+.MR printf 3 ,
+.MR setlocale 3 ,
+.MR strtod 3 ,
+.MR strtol 3 ,
+.MR strtoul 3
diff --git a/man3/stailq.3 b/man3/stailq.3
index eca802cbd..2378457b1 100644
--- a/man3/stailq.3
+++ b/man3/stailq.3
@@ -373,5 +373,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR insque (3),
-.BR queue (7)
+.MR insque 3 ,
+.MR queue 7
diff --git a/man3/static_assert.3 b/man3/static_assert.3
index 04b24a95a..d62ff3422 100644
--- a/man3/static_assert.3
+++ b/man3/static_assert.3
@@ -19,7 +19,7 @@ Standard C library
.fi
.SH DESCRIPTION
This macro is similar to
-.BR \%assert (3),
+.MR assert 3 ,
but it works at compile time,
generating a compilation error (with an optional message)
when the input is false (i.e., compares equal to zero).
@@ -116,4 +116,4 @@ main(void)
.\" SRC END
.in
.SH SEE ALSO
-.BR assert (3)
+.MR assert 3
diff --git a/man3/statvfs.3 b/man3/statvfs.3
index c694aeb1f..323b40e64 100644
--- a/man3/statvfs.3
+++ b/man3/statvfs.3
@@ -71,25 +71,25 @@ It contains zero or more of the following flags:
.TP
.B ST_MANDLOCK
Mandatory locking is permitted on the filesystem (see
-.BR fcntl (2)).
+.MR fcntl 2 ).
.TP
.B ST_NOATIME
Do not update access times; see
-.BR mount (2).
+.MR mount 2 .
.TP
.B ST_NODEV
Disallow access to device special files on this filesystem.
.TP
.B ST_NODIRATIME
Do not update directory access times; see
-.BR mount (2).
+.MR mount 2 .
.TP
.B ST_NOEXEC
Execution of programs is disallowed on this filesystem.
.TP
.B ST_NOSUID
The set-user-ID and set-group-ID bits are ignored by
-.BR exec (3)
+.MR exec 3
for executable files on this filesystem
.TP
.B ST_RDONLY
@@ -97,13 +97,13 @@ This filesystem is mounted read-only.
.TP
.B ST_RELATIME
Update atime relative to mtime/ctime; see
-.BR mount (2).
+.MR mount 2 .
.TP
.B ST_SYNCHRONOUS
Writes are synched to the filesystem immediately (see the description of
.B O_SYNC
in
-.BR open (2)).
+.MR open 2 ).
.P
It is unspecified whether all members of the returned struct
have meaningful values on all filesystems.
@@ -123,7 +123,7 @@ is set to indicate the error.
Search permission is denied for a component of the path prefix of
.IR path .
(See also
-.BR path_resolution (7).)
+.MR path_resolution 7 .)
.TP
.B EBADF
.RB ( fstatvfs ())
@@ -138,7 +138,7 @@ points to an invalid address.
.TP
.B EINTR
This call was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EIO
An I/O error occurred while reading from the filesystem.
@@ -175,7 +175,7 @@ is not a directory.
Some values were too large to be represented in the returned struct.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -200,9 +200,9 @@ To obtain definitions of the remaining flags, one must define
.BR _GNU_SOURCE .
.SH NOTES
The Linux kernel has system calls
-.BR statfs (2)
+.MR statfs 2
and
-.BR fstatfs (2)
+.MR fstatfs 2
to support this library call.
.P
The glibc implementations of
@@ -245,7 +245,7 @@ populated the bits of the
field by scanning the mount options shown in
.IR /proc/mounts .
However, starting with Linux 2.6.36, the underlying
-.BR statfs (2)
+.MR statfs 2
system call provides the necessary information via the
.I f_flags
field, and since glibc 2.13, the
@@ -253,4 +253,4 @@ field, and since glibc 2.13, the
function will use information from that field rather than scanning
.IR /proc/mounts .
.SH SEE ALSO
-.BR statfs (2)
+.MR statfs 2
diff --git a/man3/stdarg.3 b/man3/stdarg.3
index 4168487d0..dab8a5baf 100644
--- a/man3/stdarg.3
+++ b/man3/stdarg.3
@@ -203,7 +203,7 @@ have
instead, since that was the name used in the draft proposal.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -250,7 +250,7 @@ code, but it also creates difficulties for variadic functions that wish to
pass all of their arguments on to a function that takes a
.I va_list
argument, such as
-.BR vfprintf (3).
+.MR vfprintf 3 .
.SH EXAMPLES
The function
.I foo
@@ -292,6 +292,6 @@ foo(char *fmt, ...) /* \[aq]...\[aq] is C syntax for a variadic function */
}
.EE
.SH SEE ALSO
-.BR vprintf (3),
-.BR vscanf (3),
-.BR vsyslog (3)
+.MR vprintf 3 ,
+.MR vscanf 3 ,
+.MR vsyslog 3
diff --git a/man3/stdin.3 b/man3/stdin.3
index da8a52fa6..b43358989 100644
--- a/man3/stdin.3
+++ b/man3/stdin.3
@@ -30,11 +30,11 @@ for it when it starts up, one for input, one for output, and one for
printing diagnostic or error messages.
These are typically attached to
the user's terminal (see
-.BR tty (4))
+.MR tty 4 )
but might instead refer to files or other devices, depending on what
the parent process chose to set up.
(See also the "Redirection" section of
-.BR sh (1).)
+.MR sh 1 .)
.P
The input stream is referred to as "standard input"; the output stream is
referred to as "standard output"; and the error stream is referred to
@@ -47,22 +47,22 @@ and
.IR stderr .
.P
Each of these symbols is a
-.BR stdio (3)
+.MR stdio 3
macro of type pointer to
.IR FILE ,
and can be used with functions like
-.BR fprintf (3)
+.MR fprintf 3
or
-.BR fread (3).
+.MR fread 3 .
.P
Since
.IR FILE s
are a buffering wrapper around UNIX file descriptors, the
same underlying files may also be accessed using the raw UNIX file
interface, that is, the functions like
-.BR read (2)
+.MR read 2
and
-.BR lseek (2).
+.MR lseek 2 .
.P
On program startup, the integer file descriptors
associated with the streams
@@ -79,7 +79,7 @@ and
are defined with these values in
.IR <unistd.h> .
(Applying
-.BR freopen (3)
+.MR freopen 3
to one of these streams can change the file descriptor number
associated with the stream.)
.P
@@ -92,7 +92,7 @@ in detail how this interaction is supposed to work.)
A general rule is that file descriptors are handled in the kernel,
while stdio is just a library.
This means for example, that after an
-.BR exec (3),
+.MR exec 3 ,
the child inherits all open file descriptors, but all old streams
have become inaccessible.
.P
@@ -104,14 +104,14 @@ and
are specified to be macros, assigning to them is nonportable.
The standard streams can be made to refer to different files
with help of the library function
-.BR freopen (3),
+.MR freopen 3 ,
specially introduced to make it possible to reassign
.IR stdin ,
.IR stdout ,
and
.IR stderr .
The standard streams are closed by a call to
-.BR exit (3)
+.MR exit 3
and by normal program termination.
.SH STANDARDS
C11, POSIX.1-2008.
@@ -129,17 +129,17 @@ The stream
is line-buffered when it points to a terminal.
Partial lines will not
appear until
-.BR fflush (3)
+.MR fflush 3
or
-.BR exit (3)
+.MR exit 3
is called, or a newline is printed.
This can produce unexpected
results, especially with debugging output.
The buffering mode of the standard streams (or any other stream)
can be changed using the
-.BR setbuf (3)
+.MR setbuf 3
or
-.BR setvbuf (3)
+.MR setvbuf 3
call.
Note that in case
.I stdin
@@ -147,14 +147,14 @@ is associated with a terminal, there may also be input buffering
in the terminal driver, entirely unrelated to stdio buffering.
(Indeed, normally terminal input is line buffered in the kernel.)
This kernel input handling can be modified using calls like
-.BR tcsetattr (3);
+.MR tcsetattr 3 ;
see also
-.BR stty (1),
+.MR stty 1 ,
and
-.BR termios (3).
+.MR termios 3 .
.SH SEE ALSO
-.BR csh (1),
-.BR sh (1),
-.BR open (2),
-.BR fopen (3),
-.BR stdio (3)
+.MR csh 1 ,
+.MR sh 1 ,
+.MR open 2 ,
+.MR fopen 3 ,
+.MR stdio 3
diff --git a/man3/stdio.3 b/man3/stdio.3
index a76b77546..dea031af0 100644
--- a/man3/stdio.3
+++ b/man3/stdio.3
@@ -48,10 +48,10 @@ start or the end of the file.
The position indicator is maintained by
subsequent reads, writes, and positioning requests.
All input occurs as if the characters were read by successive calls to the
-.BR fgetc (3)
+.MR fgetc 3
function; all output takes place as if all characters were written by
successive calls to the
-.BR fputc (3)
+.MR fputc 3
function.
.P
A file is disassociated from a stream by
@@ -69,12 +69,12 @@ execution, and its contents reclaimed or modified (if it can be
repositioned at the start).
If the main function returns to its original
caller, or the
-.BR exit (3)
+.MR exit 3
function is called, all open files are closed (hence all output streams are
flushed) before program termination.
Other methods of program termination,
such as
-.BR abort (3)
+.MR abort 3
do not bother about closing files properly.
.P
At program startup, three text streams are predefined and need not be
@@ -100,7 +100,7 @@ an input stream that refers to a terminal device is read.
In cases where a
large amount of computation is done after printing part of a line on an
output terminal, it is necessary to
-.BR fflush (3)
+.MR fflush 3
the standard output before going off and computing so that the output will
appear.
.P
@@ -109,7 +109,7 @@ The
library is a part of the library
.B libc
and routines are automatically loaded as needed by
-.BR cc (1).
+.MR cc 1 .
The
SYNOPSIS
sections of the following manual pages indicate which include files are to
@@ -345,9 +345,9 @@ C11, POSIX.1-2008.
.SH HISTORY
C89, POSIX.1-2001.
.SH SEE ALSO
-.BR close (2),
-.BR open (2),
-.BR read (2),
-.BR write (2),
-.BR stdout (3),
-.BR unlocked_stdio (3)
+.MR close 2 ,
+.MR open 2 ,
+.MR read 2 ,
+.MR write 2 ,
+.MR stdout 3 ,
+.MR unlocked_stdio 3
diff --git a/man3/stdio_ext.3 b/man3/stdio_ext.3
index 815135dd1..7cb613f34 100644
--- a/man3/stdio_ext.3
+++ b/man3/stdio_ext.3
@@ -87,7 +87,7 @@ This is the default.
.TP
.B FSETLOCKING_BYCALLER
The caller will take care of the locking (possibly using
-.BR flockfile (3)
+.MR flockfile 3
in case there is more than one thread), and the stdio routines
will not do locking until the state is reset to
.BR FSETLOCKING_INTERNAL .
@@ -107,7 +107,7 @@ The
function discards the contents of the stream's buffer.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -133,5 +133,5 @@ T{
T} Thread safety MT-Safe
.TE
.SH SEE ALSO
-.BR flockfile (3),
-.BR fpurge (3)
+.MR flockfile 3 ,
+.MR fpurge 3
diff --git a/man3/stpncpy.3 b/man3/stpncpy.3
index 1b7f5c700..e7511ecfb 100644
--- a/man3/stpncpy.3
+++ b/man3/stpncpy.3
@@ -26,7 +26,7 @@ const char *restrict " src ,
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR stpncpy ():
@@ -81,7 +81,7 @@ returns a pointer to
one after the last character in the destination character sequence.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -113,7 +113,7 @@ POSIX.1-2008.
The name of these functions is confusing.
These functions produce a null-padded character sequence,
not a string (see
-.BR string_copying (7)).
+.MR string_copying 7 ).
For example:
.P
.in +4n
@@ -174,5 +174,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR wcpncpy (3),
-.BR string_copying (7)
+.MR wcpncpy 3 ,
+.MR string_copying 7
diff --git a/man3/strcasecmp.3 b/man3/strcasecmp.3
index d2fe959f0..b52c75f3c 100644
--- a/man3/strcasecmp.3
+++ b/man3/strcasecmp.3
@@ -60,7 +60,7 @@ less than, to match, or be greater than
respectively.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -103,10 +103,10 @@ to lowercase and then a byte comparison performed.
Otherwise, the results are unspecified.
.RE
.SH SEE ALSO
-.BR memcmp (3),
-.BR strcmp (3),
-.BR strcoll (3),
-.BR string (3),
-.BR strncmp (3),
-.BR wcscasecmp (3),
-.BR wcsncasecmp (3)
+.MR memcmp 3 ,
+.MR strcmp 3 ,
+.MR strcoll 3 ,
+.MR string 3 ,
+.MR strncmp 3 ,
+.MR wcscasecmp 3 ,
+.MR wcsncasecmp 3
diff --git a/man3/strchr.3 b/man3/strchr.3
index a0b925e96..9a387bbb7 100644
--- a/man3/strchr.3
+++ b/man3/strchr.3
@@ -84,7 +84,7 @@ or a pointer to the null byte at the end of
if the character is not found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -117,13 +117,13 @@ POSIX.1-2001, C89, SVr4, 4.3BSD.
.BR strchrnul ()
glibc 2.1.1.
.SH SEE ALSO
-.BR memchr (3),
-.BR string (3),
-.BR strlen (3),
-.BR strpbrk (3),
-.BR strsep (3),
-.BR strspn (3),
-.BR strstr (3),
-.BR strtok (3),
-.BR wcschr (3),
-.BR wcsrchr (3)
+.MR memchr 3 ,
+.MR string 3 ,
+.MR strlen 3 ,
+.MR strpbrk 3 ,
+.MR strsep 3 ,
+.MR strspn 3 ,
+.MR strstr 3 ,
+.MR strtok 3 ,
+.MR wcschr 3 ,
+.MR wcsrchr 3
diff --git a/man3/strcmp.3 b/man3/strcmp.3
index 3e910d97b..cf6d25ea0 100644
--- a/man3/strcmp.3
+++ b/man3/strcmp.3
@@ -32,7 +32,7 @@ function compares the two strings
and
.IR s2 .
The locale is not taken into account (for a locale-aware comparison, see
-.BR strcoll (3)).
+.MR strcoll 3 ).
The comparison is done using unsigned characters.
.P
.BR strcmp ()
@@ -78,7 +78,7 @@ match, or be greater than
.IR s2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -138,7 +138,7 @@ $ .\fB/string_comp $\[aq]\e201\[aq] A\fP # 0201 \- 0101 = 0100 (or 64 decimal)
.in
.P
The last example uses
-.BR bash (1)-specific
+.MR bash 1 -specific
syntax to produce a string containing an 8-bit ASCII code;
the result demonstrates that the string comparison uses unsigned
characters.
@@ -197,12 +197,12 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR memcmp (3),
-.BR strcasecmp (3),
-.BR strcoll (3),
-.BR string (3),
-.BR strncasecmp (3),
-.BR strverscmp (3),
-.BR wcscmp (3),
-.BR wcsncmp (3),
-.BR ascii (7)
+.MR memcmp 3 ,
+.MR strcasecmp 3 ,
+.MR strcoll 3 ,
+.MR string 3 ,
+.MR strncasecmp 3 ,
+.MR strverscmp 3 ,
+.MR wcscmp 3 ,
+.MR wcsncmp 3 ,
+.MR ascii 7
diff --git a/man3/strcoll.3 b/man3/strcoll.3
index 9706a6e7b..d7d3b94b7 100644
--- a/man3/strcoll.3
+++ b/man3/strcoll.3
@@ -38,7 +38,7 @@ strings interpreted as appropriate for the program's current locale
for category
.BR LC_COLLATE .
(See
-.BR setlocale (3).)
+.MR setlocale 3 .)
.SH RETURN VALUE
The
.BR strcoll ()
@@ -52,7 +52,7 @@ when both are interpreted
as appropriate for the current locale.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,11 +76,11 @@ or
locales
.BR strcoll ()
is equivalent to
-.BR strcmp (3).
+.MR strcmp 3 .
.SH SEE ALSO
-.BR memcmp (3),
-.BR setlocale (3),
-.BR strcasecmp (3),
-.BR strcmp (3),
-.BR string (3),
-.BR strxfrm (3)
+.MR memcmp 3 ,
+.MR setlocale 3 ,
+.MR strcasecmp 3 ,
+.MR strcmp 3 ,
+.MR string 3 ,
+.MR strxfrm 3
diff --git a/man3/strcpy.3 b/man3/strcpy.3
index 1cfde931b..e5444088e 100644
--- a/man3/strcpy.3
+++ b/man3/strcpy.3
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR stpcpy ():
@@ -98,7 +98,7 @@ These functions return
.IR dst .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -142,7 +142,7 @@ the behavior is undefined.
See
.B _FORTIFY_SOURCE
in
-.BR feature_test_macros (7).
+.MR feature_test_macros 7 .
.P
.BR strcat ()
can be very inefficient.
@@ -198,7 +198,7 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR strdup (3),
-.BR string (3),
-.BR wcscpy (3),
-.BR string_copying (7)
+.MR strdup 3 ,
+.MR string 3 ,
+.MR wcscpy 3 ,
+.MR string_copying 7
diff --git a/man3/strdup.3 b/man3/strdup.3
index 3e338b4f9..5fa6dbc3a 100644
--- a/man3/strdup.3
+++ b/man3/strdup.3
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strdup ():
@@ -60,9 +60,9 @@ is a duplicate of the string
.IR s .
Memory for the new string is
obtained with
-.BR malloc (3),
+.MR malloc 3 ,
and can be freed with
-.BR free (3).
+.MR free 3 .
.P
The
.BR strndup ()
@@ -81,7 +81,7 @@ bytes are copied, and a terminating null byte (\[aq]\e0\[aq]) is added.
and
.BR strndupa ()
are similar, but use
-.BR alloca (3)
+.MR alloca 3
to allocate the buffer.
.SH RETURN VALUE
On success, the
@@ -97,7 +97,7 @@ set to indicate the error.
Insufficient memory available to allocate duplicate string.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -136,10 +136,10 @@ POSIX.1-2008.
.BR strndupa ()
GNU.
.SH SEE ALSO
-.BR alloca (3),
-.BR calloc (3),
-.BR free (3),
-.BR malloc (3),
-.BR realloc (3),
-.BR string (3),
-.BR wcsdup (3)
+.MR alloca 3 ,
+.MR calloc 3 ,
+.MR free 3 ,
+.MR malloc 3 ,
+.MR realloc 3 ,
+.MR string 3 ,
+.MR wcsdup 3
diff --git a/man3/strerror.3 b/man3/strerror.3
index 8dc65dc67..631bd12d0 100644
--- a/man3/strerror.3
+++ b/man3/strerror.3
@@ -43,7 +43,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strerrorname_np (),
@@ -79,7 +79,7 @@ or
.BR strerror_l (),
or if the thread that obtained the string exits.
No other library function, including
-.BR perror (3),
+.MR perror 3 ,
will modify this string.
.P
Like
@@ -223,7 +223,7 @@ is not a valid error number.
Insufficient storage was supplied to contain the error description string.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -315,10 +315,10 @@ and
.BR strerrordesc_np ()
are thread-safe and async-signal-safe.
.SH SEE ALSO
-.BR err (3),
-.BR errno (3),
-.BR error (3),
-.BR perror (3),
-.BR strsignal (3),
-.BR locale (7),
-.BR signal-safety (7)
+.MR err 3 ,
+.MR errno 3 ,
+.MR error 3 ,
+.MR perror 3 ,
+.MR strsignal 3 ,
+.MR locale 7 ,
+.MR signal-safety 7
diff --git a/man3/strfmon.3 b/man3/strfmon.3
index a1e4d2153..bcb62e7fb 100644
--- a/man3/strfmon.3
+++ b/man3/strfmon.3
@@ -45,7 +45,7 @@ is undefined if
is the special locale object
.B LC_GLOBAL_LOCALE
(see
-.BR duplocale (3))
+.MR duplocale 3 )
or is not a valid locale object handle.
.P
Ordinary characters in
@@ -144,7 +144,7 @@ to
returns \-1, and the contents of the array is undefined.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -203,7 +203,7 @@ locales yield
.EE
.in
.SH SEE ALSO
-.BR duplocale (3),
-.BR setlocale (3),
-.BR sprintf (3),
-.BR locale (7)
+.MR duplocale 3 ,
+.MR setlocale 3 ,
+.MR sprintf 3 ,
+.MR locale 7
diff --git a/man3/strfromd.3 b/man3/strfromd.3
index dbcb8e78a..6d9e3df43 100644
--- a/man3/strfromd.3
+++ b/man3/strfromd.3
@@ -31,7 +31,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strfromd (),
@@ -100,7 +100,7 @@ Therefore, unlike
.BR snprintf (),
the format string does not have a length modifier character.
See
-.BR snprintf (3)
+.MR snprintf 3
for a detailed description of these conversion specifiers.
.P
The implementation conforms to the C99 standard on conversion of NaN and
@@ -150,7 +150,7 @@ Thus, a return value of
or greater means that the output was truncated.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7)
+.MR attributes 7
and the
.B POSIX Safety Concepts
section in GNU C Library manual.
@@ -226,6 +226,6 @@ strfromd(s, ssize, "%.E", 12.345e19);
.EE
.in
.SH SEE ALSO
-.BR atof (3),
-.BR snprintf (3),
-.BR strtod (3)
+.MR atof 3 ,
+.MR snprintf 3 ,
+.MR strtod 3
diff --git a/man3/strfry.3 b/man3/strfry.3
index e04d2be31..d74ea811e 100644
--- a/man3/strfry.3
+++ b/man3/strfry.3
@@ -36,7 +36,7 @@ functions returns a pointer to the randomized
string.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -51,5 +51,5 @@ T} Thread safety MT-Safe
.SH STANDARDS
GNU.
.SH SEE ALSO
-.BR memfrob (3),
-.BR string (3)
+.MR memfrob 3 ,
+.MR string 3
diff --git a/man3/strftime.3 b/man3/strftime.3
index 365c59db1..5f0d89c47 100644
--- a/man3/strftime.3
+++ b/man3/strftime.3
@@ -51,7 +51,7 @@ The broken-down time structure
is defined in
.IR <time.h> .
See also
-.BR ctime (3).
+.MR ctime 3 .
.\" FIXME . POSIX says: Local timezone information is used as though
.\" strftime() called tzset(). But this doesn't appear to be the case
.P
@@ -80,7 +80,7 @@ The abbreviated name of the day of the week according to the current locale.
(Calculated from
.IR tm_wday .)
(The specific names used in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.BR ABDAY_ { 1 \[en] 7 }
as an argument.)
@@ -90,7 +90,7 @@ The full name of the day of the week according to the current locale.
(Calculated from
.IR tm_wday .)
(The specific names used in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.BR DAY_ { 1 \[en] 7 }
as an argument.)
@@ -100,7 +100,7 @@ The abbreviated month name according to the current locale.
(Calculated from
.IR tm_mon .)
(The specific names used in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.BR ABMON_ { 1 \[en] 12 }
as an argument.)
@@ -110,7 +110,7 @@ The full month name according to the current locale.
(Calculated from
.IR tm_mon .)
(The specific names used in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.BR MON_ { 1 \[en] 12 }
as an argument.)
@@ -118,7 +118,7 @@ as an argument.)
.B %c
The preferred date and time representation for the current locale.
(The specific format used in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.B D_T_FMT
as an argument for the
@@ -256,7 +256,7 @@ Noon is treated as "PM" and midnight as "AM".
.IR tm_hour .)
(The specific string representations used for "AM" and "PM"
in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.BR AM_STR " and " PM_STR ,
respectively.)
@@ -274,7 +274,7 @@ string for the current locale.
The time in a.m. or p.m. notation.
(SU)
(The specific format used in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.B T_FMT_AMPM
as an argument.)
@@ -362,7 +362,7 @@ and
.B %x
The preferred date representation for the current locale without the time.
(The specific format used in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.B D_FMT
as an argument for the
@@ -378,7 +378,7 @@ conversion specification.)
.B %X
The preferred time representation for the current locale without the date.
(The specific format used in the current locale can be obtained by calling
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
with
.B T_FMT
as an argument for the
@@ -425,7 +425,7 @@ The timezone name or abbreviation.
.\" Nov 05 -- Not in Linux/glibc, but is in some BSDs (according to
.\" their man pages)
The date and time in
-.BR date (1)
+.MR date 1
format. (TZ)
(Not supported in glibc2.)
.TP
@@ -473,7 +473,7 @@ The rules governing date representation with the
modifier can be obtained by supplying
.B ERA
as an argument to a
-.BR nl_langinfo (3).
+.MR nl_langinfo 3 .
One example of such alternative forms is the Japanese era calendar scheme in the
.B ja_JP
glibc locale.
@@ -524,7 +524,7 @@ and
are used.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -563,7 +563,7 @@ and those given in glibc (marked GNU), except that
is not supported in glibc2.
On the other hand glibc2 has several more extensions.
POSIX.1 only refers to ANSI C; POSIX.2 describes under
-.BR date (1)
+.MR date 1
several extensions that could apply to
.BR strftime ()
as well.
@@ -668,7 +668,7 @@ settings for
.BR strftime ().
.P
Some buggy versions of
-.BR gcc (1)
+.MR gcc 1
complain about the use of
.BR %c :
.IR "warning: \`%c\[aq] yields only last 2 digits of year in some locales" .
@@ -677,7 +677,7 @@ Of course programmers are encouraged to use
as it gives the preferred date and time representation.
One meets all kinds of strange obfuscations
to circumvent this
-.BR gcc (1)
+.MR gcc 1
problem.
A relatively clean one is to add an
intermediate function
@@ -694,7 +694,7 @@ my_strftime(char *s, size_t max, const char *fmt,
.in
.P
Nowadays,
-.BR gcc (1)
+.MR gcc 1
provides the
.I \-Wno\-format\-y2k
option to prevent the warning,
@@ -768,10 +768,10 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR date (1),
-.BR time (2),
-.BR ctime (3),
-.BR nl_langinfo (3),
-.BR setlocale (3),
-.BR sprintf (3),
-.BR strptime (3)
+.MR date 1 ,
+.MR time 2 ,
+.MR ctime 3 ,
+.MR nl_langinfo 3 ,
+.MR setlocale 3 ,
+.MR sprintf 3 ,
+.MR strptime 3
diff --git a/man3/string.3 b/man3/string.3
index 08b050b17..e121aeac4 100644
--- a/man3/string.3
+++ b/man3/string.3
@@ -38,11 +38,11 @@ ignoring case.
.TP
.BI "char *index(const char *" s ", int " c );
Identical to
-.BR strchr (3).
+.MR strchr 3 .
.TP
.BI "char *rindex(const char *" s ", int " c );
Identical to
-.BR strrchr (3).
+.MR strrchr 3 .
.TP
.B #include <string.h>
.TP
@@ -99,7 +99,7 @@ which does not contain any of bytes in the string
Return a duplicate of the string
.I s
in memory allocated using
-.BR malloc (3).
+.MR malloc 3 .
.TP
.BI "char *strfry(char *" string );
Randomly swap the characters in
@@ -192,26 +192,26 @@ The string functions perform operations on null-terminated
strings.
See the individual man pages for descriptions of each function.
.SH SEE ALSO
-.BR bstring (3),
-.BR stpcpy (3),
-.BR strcasecmp (3),
-.BR strcat (3),
-.BR strchr (3),
-.BR strcmp (3),
-.BR strcoll (3),
-.BR strcpy (3),
-.BR strcspn (3),
-.BR strdup (3),
-.BR strfry (3),
-.BR strlen (3),
-.BR strncasecmp (3),
-.BR strncat (3),
-.BR strncmp (3),
-.BR strncpy (3),
-.BR strpbrk (3),
-.BR strrchr (3),
-.BR strsep (3),
-.BR strspn (3),
-.BR strstr (3),
-.BR strtok (3),
-.BR strxfrm (3)
+.MR bstring 3 ,
+.MR stpcpy 3 ,
+.MR strcasecmp 3 ,
+.MR strcat 3 ,
+.MR strchr 3 ,
+.MR strcmp 3 ,
+.MR strcoll 3 ,
+.MR strcpy 3 ,
+.MR strcspn 3 ,
+.MR strdup 3 ,
+.MR strfry 3 ,
+.MR strlen 3 ,
+.MR strncasecmp 3 ,
+.MR strncat 3 ,
+.MR strncmp 3 ,
+.MR strncpy 3 ,
+.MR strpbrk 3 ,
+.MR strrchr 3 ,
+.MR strsep 3 ,
+.MR strspn 3 ,
+.MR strstr 3 ,
+.MR strtok 3 ,
+.MR strxfrm 3
diff --git a/man3/strlen.3 b/man3/strlen.3
index 6d759bd78..56bf8855e 100644
--- a/man3/strlen.3
+++ b/man3/strlen.3
@@ -33,7 +33,7 @@ function returns the number of bytes in the string pointed to by
.IR s .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -52,10 +52,10 @@ POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH NOTES
In cases where the input buffer may not contain
a terminating null byte,
-.BR strnlen (3)
+.MR strnlen 3
should be used instead.
.SH SEE ALSO
-.BR string (3),
-.BR strnlen (3),
-.BR wcslen (3),
-.BR wcsnlen (3)
+.MR string 3 ,
+.MR strnlen 3 ,
+.MR wcslen 3 ,
+.MR wcsnlen 3
diff --git a/man3/strncat.3 b/man3/strncat.3
index a1e736e93..59405a98e 100644
--- a/man3/strncat.3
+++ b/man3/strncat.3
@@ -52,7 +52,7 @@ returns
.IR dst .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -71,7 +71,7 @@ POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH CAVEATS
The name of this function is confusing;
it has no relation to
-.BR strncpy (3).
+.MR strncpy 3 .
.P
If the destination buffer does not already contain a string,
or is not large enough,
@@ -79,7 +79,7 @@ the behavior is undefined.
See
.B _FORTIFY_SOURCE
in
-.BR feature_test_macros (7).
+.MR feature_test_macros 7 .
.SH BUGS
This function can be very inefficient.
Read about
@@ -128,5 +128,5 @@ main(void)
.\" SRC END
.in
.SH SEE ALSO
-.BR string (3),
-.BR string_copying (7)
+.MR string 3 ,
+.MR string_copying 7
diff --git a/man3/strnlen.3 b/man3/strnlen.3
index 098d44ba6..adb767805 100644
--- a/man3/strnlen.3
+++ b/man3/strnlen.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strnlen ():
@@ -63,7 +63,7 @@ characters pointed to by
.IR s .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -80,4 +80,4 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2008.
.SH SEE ALSO
-.BR strlen (3)
+.MR strlen 3
diff --git a/man3/strpbrk.3 b/man3/strpbrk.3
index 7c03d319d..e17a81ebe 100644
--- a/man3/strpbrk.3
+++ b/man3/strpbrk.3
@@ -39,7 +39,7 @@ or NULL
if no such byte is found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,11 +56,11 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR memchr (3),
-.BR strchr (3),
-.BR string (3),
-.BR strsep (3),
-.BR strspn (3),
-.BR strstr (3),
-.BR strtok (3),
-.BR wcspbrk (3)
+.MR memchr 3 ,
+.MR strchr 3 ,
+.MR string 3 ,
+.MR strsep 3 ,
+.MR strspn 3 ,
+.MR strstr 3 ,
+.MR strtok 3 ,
+.MR wcspbrk 3
diff --git a/man3/strptime.3 b/man3/strptime.3
index 22375368c..718e3aa14 100644
--- a/man3/strptime.3
+++ b/man3/strptime.3
@@ -27,7 +27,7 @@ Standard C library
The
.BR strptime ()
function is the converse of
-.BR strftime (3);
+.MR strftime 3 ;
it converts the character string pointed to by
.I s
to values which are stored in the
@@ -40,14 +40,14 @@ using the format specified by
The broken-down time structure
.I tm
is described in
-.BR tm (3type).
+.MR tm 3type .
.P
The
.I format
argument
is a character string that consists of field descriptors and text characters,
reminiscent of
-.BR scanf (3).
+.MR scanf 3 .
Each field descriptor consists of a
.B %
character followed by another character that specifies the replacement
@@ -263,7 +263,7 @@ of the format string and therefore an error occurred, the function
returns NULL.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -320,7 +320,7 @@ It is taken to be a year in
For reasons of symmetry, glibc tries to support for
.BR strptime ()
the same format characters as for
-.BR strftime (3).
+.MR strftime 3 .
(In most cases, the corresponding fields are parsed, but no field in
.I tm
is changed.)
@@ -356,7 +356,7 @@ An RFC-822/ISO 8601 standard timezone specification.
The timezone name.
.P
Similarly, because of GNU extensions to
-.BR strftime (3),
+.MR strftime 3 ,
.B %k
is accepted as a synonym for
.BR %H ,
@@ -381,7 +381,7 @@ two field descriptors.
The following example demonstrates the use of
.BR strptime ()
and
-.BR strftime (3).
+.MR strftime 3 .
.P
.\" SRC BEGIN (strptime.c)
.EX
@@ -406,8 +406,8 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR time (2),
-.BR getdate (3),
-.BR scanf (3),
-.BR setlocale (3),
-.BR strftime (3)
+.MR time 2 ,
+.MR getdate 3 ,
+.MR scanf 3 ,
+.MR setlocale 3 ,
+.MR strftime 3
diff --git a/man3/strsep.3 b/man3/strsep.3
index baef0facd..180f8a53f 100644
--- a/man3/strsep.3
+++ b/man3/strsep.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strsep ():
@@ -67,7 +67,7 @@ that is, it returns the original value of
.IR *stringp .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -87,10 +87,10 @@ None.
The
.BR strsep ()
function was introduced as a replacement for
-.BR strtok (3),
+.MR strtok 3 ,
since the latter cannot handle empty fields.
However,
-.BR strtok (3)
+.MR strtok 3
conforms to C89/C99 and hence is more portable.
.SH BUGS
Be cautious when using this function.
@@ -103,7 +103,7 @@ This function cannot be used on constant strings.
The identity of the delimiting character is lost.
.SH EXAMPLES
The program below is a port of the one found in
-.BR strtok (3),
+.MR strtok 3 ,
which, however, doesn't discard multiple delimiters or empty tokens:
.P
.in +4n
@@ -153,10 +153,10 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR memchr (3),
-.BR strchr (3),
-.BR string (3),
-.BR strpbrk (3),
-.BR strspn (3),
-.BR strstr (3),
-.BR strtok (3)
+.MR memchr 3 ,
+.MR strchr 3 ,
+.MR string 3 ,
+.MR strpbrk 3 ,
+.MR strspn 3 ,
+.MR strstr 3 ,
+.MR strtok 3
diff --git a/man3/strsignal.3 b/man3/strsignal.3
index 3fa49d88a..e6ff130ce 100644
--- a/man3/strsignal.3
+++ b/man3/strsignal.3
@@ -29,7 +29,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR sigabbrev_np (),
@@ -111,7 +111,7 @@ the lifetime of the program.
These functions return NULL for an invalid signal number.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -165,5 +165,5 @@ and
.BR sigabbrev_np ()
are thread-safe and async-signal-safe.
.SH SEE ALSO
-.BR psignal (3),
-.BR strerror (3)
+.MR psignal 3 ,
+.MR strerror 3
diff --git a/man3/strspn.3 b/man3/strspn.3
index 94d9a7fab..b6b26db0a 100644
--- a/man3/strspn.3
+++ b/man3/strspn.3
@@ -56,7 +56,7 @@ which are not in the string
.IR reject .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -74,12 +74,12 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR memchr (3),
-.BR strchr (3),
-.BR string (3),
-.BR strpbrk (3),
-.BR strsep (3),
-.BR strstr (3),
-.BR strtok (3),
-.BR wcscspn (3),
-.BR wcsspn (3)
+.MR memchr 3 ,
+.MR strchr 3 ,
+.MR string 3 ,
+.MR strpbrk 3 ,
+.MR strsep 3 ,
+.MR strstr 3 ,
+.MR strtok 3 ,
+.MR wcscspn 3 ,
+.MR wcsspn 3
diff --git a/man3/strstr.3 b/man3/strstr.3
index d6a066631..4ad79b0a4 100644
--- a/man3/strstr.3
+++ b/man3/strstr.3
@@ -54,7 +54,7 @@ the return value is always
itself.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -86,13 +86,13 @@ POSIX.1-2001, C89.
.BR strcasestr ()
GNU.
.SH SEE ALSO
-.BR memchr (3),
-.BR memmem (3),
-.BR strcasecmp (3),
-.BR strchr (3),
-.BR string (3),
-.BR strpbrk (3),
-.BR strsep (3),
-.BR strspn (3),
-.BR strtok (3),
-.BR wcsstr (3)
+.MR memchr 3 ,
+.MR memmem 3 ,
+.MR strcasecmp 3 ,
+.MR strchr 3 ,
+.MR string 3 ,
+.MR strpbrk 3 ,
+.MR strsep 3 ,
+.MR strspn 3 ,
+.MR strtok 3 ,
+.MR wcsstr 3
diff --git a/man3/strtod.3 b/man3/strtod.3
index fdcf5574b..98c0f54ca 100644
--- a/man3/strtod.3
+++ b/man3/strtod.3
@@ -33,7 +33,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strtof (),
@@ -58,7 +58,7 @@ representation, respectively.
.P
The expected form of the (initial portion of the) string is
optional leading white space as recognized by
-.BR isspace (3),
+.MR isspace 3 ,
an optional plus (\[aq]+\[aq]) or minus sign (\[aq]\-\[aq]) and then either
(i) a decimal number, or (ii) a hexadecimal number,
or (iii) an infinity, or (iv) a NAN (not-a-number).
@@ -139,7 +139,7 @@ is stored in
Overflow or underflow occurred.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -190,16 +190,16 @@ and then determine if an error occurred by checking whether
has a nonzero value after the call.
.SH EXAMPLES
See the example on the
-.BR strtol (3)
+.MR strtol 3
manual page;
the use of the functions described in this manual page is similar.
.SH SEE ALSO
-.BR atof (3),
-.BR atoi (3),
-.BR atol (3),
-.BR nan (3),
-.BR nanf (3),
-.BR nanl (3),
-.BR strfromd (3),
-.BR strtol (3),
-.BR strtoul (3)
+.MR atof 3 ,
+.MR atoi 3 ,
+.MR atol 3 ,
+.MR nan 3 ,
+.MR nanf 3 ,
+.MR nanl 3 ,
+.MR strfromd 3 ,
+.MR strtol 3 ,
+.MR strtoul 3
diff --git a/man3/strtoimax.3 b/man3/strtoimax.3
index a0499ec2a..f65646bd7 100644
--- a/man3/strtoimax.3
+++ b/man3/strtoimax.3
@@ -20,9 +20,9 @@ Standard C library
.fi
.SH DESCRIPTION
These functions are just like
-.BR strtol (3)
+.MR strtol 3
and
-.BR strtoul (3),
+.MR strtoul 3 ,
except that they return a value of type
.I intmax_t
and
@@ -43,7 +43,7 @@ is set to
.BR ERANGE .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -61,8 +61,8 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR imaxabs (3),
-.BR imaxdiv (3),
-.BR strtol (3),
-.BR strtoul (3),
-.BR wcstoimax (3)
+.MR imaxabs 3 ,
+.MR imaxdiv 3 ,
+.MR strtol 3 ,
+.MR strtoul 3 ,
+.MR wcstoimax 3
diff --git a/man3/strtok.3 b/man3/strtok.3
index 34a90198c..0ba54219c 100644
--- a/man3/strtok.3
+++ b/man3/strtok.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strtok_r ():
@@ -153,7 +153,7 @@ functions return a pointer to
the next token, or NULL if there are no more tokens.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -276,13 +276,13 @@ main(int argc, char *argv[])
Another example program using
.BR strtok ()
can be found in
-.BR getaddrinfo_a (3).
+.MR getaddrinfo_a 3 .
.SH SEE ALSO
-.BR memchr (3),
-.BR strchr (3),
-.BR string (3),
-.BR strpbrk (3),
-.BR strsep (3),
-.BR strspn (3),
-.BR strstr (3),
-.BR wcstok (3)
+.MR memchr 3 ,
+.MR strchr 3 ,
+.MR string 3 ,
+.MR strpbrk 3 ,
+.MR strsep 3 ,
+.MR strspn 3 ,
+.MR strstr 3 ,
+.MR wcstok 3
diff --git a/man3/strtol.3 b/man3/strtol.3
index c05eac0ec..254ca5f7b 100644
--- a/man3/strtol.3
+++ b/man3/strtol.3
@@ -28,7 +28,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strtoll ():
@@ -48,7 +48,7 @@ which must be between 2 and 36 inclusive, or be the special value 0.
.P
The string may begin with an arbitrary amount of white space (as
determined by
-.BR isspace (3))
+.MR isspace 3 )
followed by a single optional \[aq]+\[aq] or \[aq]\-\[aq] sign.
If
.I base
@@ -148,7 +148,7 @@ in case
no conversion was performed (no digits seen, and 0 returned).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -233,7 +233,7 @@ should parse a number.
The second (optional) argument specifies the base to be used for
the conversion.
(This argument is converted to numeric form using
-.BR atoi (3),
+.MR atoi 3 ,
a function that performs no error checking and
has a simpler interface than
.BR strtol ().)
@@ -313,9 +313,9 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR atof (3),
-.BR atoi (3),
-.BR atol (3),
-.BR strtod (3),
-.BR strtoimax (3),
-.BR strtoul (3)
+.MR atof 3 ,
+.MR atoi 3 ,
+.MR atol 3 ,
+.MR strtod 3 ,
+.MR strtoimax 3 ,
+.MR strtoul 3
diff --git a/man3/strtoul.3 b/man3/strtoul.3
index 09b1a7cac..650fbf9b6 100644
--- a/man3/strtoul.3
+++ b/man3/strtoul.3
@@ -29,7 +29,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR strtoull ():
@@ -53,7 +53,7 @@ the special value 0.
.P
The string may begin with an arbitrary amount of white space (as
determined by
-.BR isspace (3))
+.MR isspace 3 )
followed by a single optional \[aq]+\[aq] or \[aq]\-\[aq]
sign.
If
@@ -148,7 +148,7 @@ in case
no conversion was performed (no digits seen, and 0 returned).
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -211,14 +211,14 @@ silently converted to the equivalent
value.
.SH EXAMPLES
See the example on the
-.BR strtol (3)
+.MR strtol 3
manual page;
the use of the functions described in this manual page is similar.
.SH SEE ALSO
-.BR a64l (3),
-.BR atof (3),
-.BR atoi (3),
-.BR atol (3),
-.BR strtod (3),
-.BR strtol (3),
-.BR strtoumax (3)
+.MR a64l 3 ,
+.MR atof 3 ,
+.MR atoi 3 ,
+.MR atol 3 ,
+.MR strtod 3 ,
+.MR strtol 3 ,
+.MR strtoumax 3
diff --git a/man3/strverscmp.3 b/man3/strverscmp.3
index b4cf52414..1739eeb64 100644
--- a/man3/strverscmp.3
+++ b/man3/strverscmp.3
@@ -21,23 +21,23 @@ Standard C library
Often one has files
.IR jan1 ", " jan2 ", ..., " jan9 ", " jan10 ", ..."
and it feels wrong when
-.BR ls (1)
+.MR ls 1
orders them
.IR jan1 ", " jan10 ", ..., " jan2 ", ..., " jan9 .
.\" classical solution: "rename jan jan0 jan?"
In order to rectify this, GNU introduced the
.I \-v
option to
-.BR ls (1),
+.MR ls 1 ,
which is implemented using
-.BR versionsort (3),
+.MR versionsort 3 ,
which again uses
.BR strverscmp ().
.P
Thus, the task of
.BR strverscmp ()
is to compare two strings and find the "right" order, while
-.BR strcmp (3)
+.MR strcmp 3
finds only the lexicographic order.
This function does not use
the locale category
@@ -54,7 +54,7 @@ Find the largest consecutive digit strings containing (or starting at,
or ending at) this position.
If one or both of these is empty,
then return what
-.BR strcmp (3)
+.MR strcmp 3
would have returned (numerical ordering of byte values).
Otherwise, compare both digit strings numerically, where digit strings with
one or more leading zeros are interpreted as if they have a decimal point
@@ -73,7 +73,7 @@ or later than
.IR s2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -140,7 +140,7 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR rename (1),
-.BR strcasecmp (3),
-.BR strcmp (3),
-.BR strcoll (3)
+.MR rename 1 ,
+.MR strcasecmp 3 ,
+.MR strcmp 3 ,
+.MR strcoll 3
diff --git a/man3/strxfrm.3 b/man3/strxfrm.3
index ccc994b42..4e50530e8 100644
--- a/man3/strxfrm.3
+++ b/man3/strxfrm.3
@@ -29,12 +29,12 @@ function transforms the
.I src
string into a
form such that the result of
-.BR strcmp (3)
+.MR strcmp 3
on two strings that have
been transformed with
.BR strxfrm ()
is the same as the result of
-.BR strcoll (3)
+.MR strcoll 3
on the two strings before their transformation.
The first
.I n
@@ -44,7 +44,7 @@ The transformation is based on the program's current
locale for category
.BR LC_COLLATE .
(See
-.BR setlocale (3)).
+.MR setlocale 3 ).
.SH RETURN VALUE
The
.BR strxfrm ()
@@ -61,7 +61,7 @@ contents of
are indeterminate.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -78,9 +78,9 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR memcmp (3),
-.BR setlocale (3),
-.BR strcasecmp (3),
-.BR strcmp (3),
-.BR strcoll (3),
-.BR string (3)
+.MR memcmp 3 ,
+.MR setlocale 3 ,
+.MR strcasecmp 3 ,
+.MR strcmp 3 ,
+.MR strcoll 3 ,
+.MR string 3
diff --git a/man3/swab.3 b/man3/swab.3
index 71023d79a..c7fd0ffa3 100644
--- a/man3/swab.3
+++ b/man3/swab.3
@@ -56,7 +56,7 @@ The
function returns no value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -73,4 +73,4 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
-.BR bstring (3)
+.MR bstring 3
diff --git a/man3/sysconf.3 b/man3/sysconf.3
index 1010caa8c..6569f3727 100644
--- a/man3/sysconf.3
+++ b/man3/sysconf.3
@@ -32,11 +32,11 @@ At run time, one can ask for numerical values using the present function
.BR sysconf ().
One can ask for numerical values that may depend
on the filesystem in which a file resides using
-.BR fpathconf (3)
+.MR fpathconf 3
and
-.BR pathconf (3).
+.MR pathconf 3 .
One can ask for string values using
-.BR confstr (3).
+.MR confstr 3 .
.P
The values obtained from these functions are system configuration constants.
They do not change during the lifetime of a process.
@@ -64,7 +64,7 @@ The
argument will be
.BR _SC_FOO .
For a list of options, see
-.BR posixoptions (7).
+.MR posixoptions 7 .
.P
For variables or limits, typically, there is a constant
.BR _FOO ,
@@ -112,7 +112,7 @@ First, the POSIX.1 compatible values.
.TP
.BR ARG_MAX " - " _SC_ARG_MAX
The maximum length of the arguments to the
-.BR exec (3)
+.MR exec 3
family of functions.
Must not be less than
.B _POSIX_ARG_MAX
@@ -127,7 +127,7 @@ Must not be less than
.BR HOST_NAME_MAX " - " _SC_HOST_NAME_MAX
Maximum length of a hostname, not including the terminating null byte,
as returned by
-.BR gethostname (2).
+.MR gethostname 2 .
Must not be less than
.B _POSIX_HOST_NAME_MAX
(255).
@@ -171,9 +171,9 @@ are specified in POSIX.)
.TP
.BR RE_DUP_MAX " - " _SC_RE_DUP_MAX
The number of repeated occurrences of a BRE permitted by
-.BR regexec (3)
+.MR regexec 3
and
-.BR regcomp (3).
+.MR regcomp 3 .
Must not be less than
.B _POSIX2_RE_DUP_MAX
(255).
@@ -222,22 +222,22 @@ Next, the POSIX.2 values, giving limits for utilities.
indicates the maximum
.I obase
value accepted by the
-.BR bc (1)
+.MR bc 1
utility.
.TP
.BR BC_DIM_MAX " - " _SC_BC_DIM_MAX
indicates the maximum value of elements permitted in an array by
-.BR bc (1).
+.MR bc 1 .
.TP
.BR BC_SCALE_MAX " - " _SC_BC_SCALE_MAX
indicates the maximum
.I scale
value allowed by
-.BR bc (1).
+.MR bc 1 .
.TP
.BR BC_STRING_MAX " - " _SC_BC_STRING_MAX
indicates the maximum length of a string accepted by
-.BR bc (1).
+.MR bc 1 .
.TP
.BR COLL_WEIGHTS_MAX " - " _SC_COLL_WEIGHTS_MAX
indicates the maximum numbers of weights that can be assigned to an
@@ -248,7 +248,7 @@ keyword in the locale definition file.
.BR EXPR_NEST_MAX " - " _SC_EXPR_NEST_MAX
is the maximum number of expressions which can be nested within
parentheses by
-.BR expr (1).
+.MR expr 1 .
.TP
.BR LINE_MAX " - " _SC_LINE_MAX
The maximum length of a utility's input line, either from
@@ -279,7 +279,7 @@ indicates whether the POSIX.2 FORTRAN run-time utilities are supported.
.TP
.BR _POSIX2_LOCALEDEF " - " _SC_2_LOCALEDEF
indicates whether the POSIX.2 creation of locales via
-.BR localedef (1)
+.MR localedef 1
is supported.
.TP
.BR POSIX2_SW_DEV " - " _SC_2_SW_DEV
@@ -301,12 +301,12 @@ The number of currently available pages of physical memory.
.BR "" " - " _SC_NPROCESSORS_CONF
The number of processors configured.
See also
-.BR get_nprocs_conf (3).
+.MR get_nprocs_conf 3 .
.TP
.BR "" " - " _SC_NPROCESSORS_ONLN
The number of processors currently online (available).
See also
-.BR get_nprocs_conf (3).
+.MR get_nprocs_conf 3 .
.SH RETURN VALUE
The return value of
.BR sysconf ()
@@ -354,7 +354,7 @@ when the application was compiled.
is invalid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -374,17 +374,17 @@ POSIX.1-2001.
It is difficult to use
.B ARG_MAX
because it is not specified how much of the argument space for
-.BR exec (3)
+.MR exec 3
is consumed by the user's environment variables.
.P
Some returned values may be huge; they are not suitable for allocating
memory.
.SH SEE ALSO
-.BR bc (1),
-.BR expr (1),
-.BR getconf (1),
-.BR locale (1),
-.BR confstr (3),
-.BR fpathconf (3),
-.BR pathconf (3),
-.BR posixoptions (7)
+.MR bc 1 ,
+.MR expr 1 ,
+.MR getconf 1 ,
+.MR locale 1 ,
+.MR confstr 3 ,
+.MR fpathconf 3 ,
+.MR pathconf 3 ,
+.MR posixoptions 7
diff --git a/man3/syslog.3 b/man3/syslog.3
index 5d83c35f8..ddf92db2e 100644
--- a/man3/syslog.3
+++ b/man3/syslog.3
@@ -34,7 +34,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR vsyslog ():
@@ -87,7 +87,7 @@ will default to NULL.
.SS syslog() and vsyslog()
.BR syslog ()
generates a log message, which will be distributed by
-.BR syslogd (8).
+.MR syslogd 8 .
.P
The
.I priority
@@ -111,7 +111,7 @@ is employed.
The remaining arguments are a
.IR format ,
as in
-.BR printf (3),
+.MR printf 3 ,
and any arguments required by the
.IR format ,
except that the two-character sequence
@@ -127,7 +127,7 @@ performs the same task as
.BR syslog ()
with the difference that it takes a set of arguments which have
been obtained using the
-.BR stdarg (3)
+.MR stdarg 3
variable argument list macros.
.\"
.SS closelog()
@@ -152,7 +152,7 @@ the system logger.
Open the connection immediately (normally, the connection is opened when
the first message is logged).
This may be useful, for example, if a subsequent
-.BR chroot (2)
+.MR chroot 2
would make the pathname used internally by the logging facility unreachable.
.TP
.B LOG_NOWAIT
@@ -219,7 +219,7 @@ USENET news subsystem
.TP
.B LOG_SYSLOG
messages generated internally by
-.BR syslogd (8)
+.MR syslogd 8
.TP
.BR LOG_USER " (default)"
generic user-level messages
@@ -256,11 +256,11 @@ informational message
debug-level message
.P
The function
-.BR setlogmask (3)
+.MR setlogmask 3
can be used to restrict logging to specified levels only.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -352,8 +352,8 @@ syslog(priority, "%s", string);
.EE
.in
.SH SEE ALSO
-.BR journalctl (1),
-.BR logger (1),
-.BR setlogmask (3),
-.BR syslog.conf (5),
-.BR syslogd (8)
+.MR journalctl 1 ,
+.MR logger 1 ,
+.MR setlogmask 3 ,
+.MR syslog.conf 5 ,
+.MR syslogd 8
diff --git a/man3/system.3 b/man3/system.3
index fb5d0af6b..04e712edb 100644
--- a/man3/system.3
+++ b/man3/system.3
@@ -25,11 +25,11 @@ Standard C library
The
.BR system ()
library function behaves as if it used
-.BR fork (2)
+.MR fork 2
to create a child process that executed the shell command specified in
.I command
using
-.BR execl (3)
+.MR execl 3
as follows:
.P
.in +4n
@@ -76,7 +76,7 @@ is set to indicate the error.
.IP \[bu]
If a shell could not be executed in the child process,
then the return value is as though the child shell terminated by calling
-.BR _exit (2)
+.MR _exit 2
with the status 127.
.IP \[bu]
If all system calls succeed,
@@ -89,7 +89,7 @@ the last command it executes.)
In the last two cases,
the return value is a "wait status" that can be examined using
the macros described in
-.BR waitpid (2).
+.MR waitpid 2 .
(i.e.,
.BR WIFEXITED (),
.BR WEXITSTATUS (),
@@ -100,10 +100,10 @@ does not affect the wait status of any other children.
.SH ERRORS
.BR system ()
can fail with any of the same errors as
-.BR fork (2).
+.MR fork 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -123,10 +123,10 @@ POSIX.1-2001, C89.
.BR system ()
provides simplicity and convenience:
it handles all of the details of calling
-.BR fork (2),
-.BR execl (3),
+.MR fork 2 ,
+.MR execl 3 ,
and
-.BR waitpid (2),
+.MR waitpid 2 ,
as well as the necessary manipulations of signals;
in addition,
the shell performs the usual substitutions and I/O redirections for
@@ -144,7 +144,7 @@ feature test macro is defined
.I any
header files),
then the macros described in
-.BR waitpid (2)
+.MR waitpid 2
.RB ( WEXITSTATUS (),
etc.) are made available when including
.IR <stdlib.h> .
@@ -173,7 +173,7 @@ while (something) {
.in
.P
According to POSIX.1, it is unspecified whether handlers registered using
-.BR pthread_atfork (3)
+.MR pthread_atfork 3
are called during the execution of
.BR system ().
In the glibc implementation, such handlers are not called.
@@ -189,7 +189,7 @@ Since glibc 2.1.3, this check is performed because, even though
POSIX.1-2001 requires a conforming implementation to provide
a shell, that shell may not be available or executable if
the calling program has previously called
-.BR chroot (2)
+.MR chroot 2
(which is not specified by POSIX.1-2001).
.P
It is possible for the shell command to terminate with a status of 127,
@@ -210,11 +210,11 @@ For example,
could be manipulated so that an arbitrary program
is executed with privilege.
Use the
-.BR exec (3)
+.MR exec 3
family of functions instead, but not
-.BR execlp (3)
+.MR execlp 3
or
-.BR execvp (3)
+.MR execvp 3
(which also use the
.B PATH
environment variable to search for an executable).
@@ -225,7 +225,7 @@ set-group-ID privileges on systems on which
.I /bin/sh
is bash version 2: as a security measure, bash 2 drops privileges on startup.
(Debian uses a different shell,
-.BR dash (1),
+.MR dash 1 ,
which does not do this when invoked as
.BR sh .)
.P
@@ -243,13 +243,13 @@ from a privileged program.
.\" [glibc bug](https://sourceware.org/bugzilla/show_bug.cgi?id=27143)
.\" [POSIX bug](https://www.austingroupbugs.net/view.php?id=1440)
If the command name starts with a hyphen,
-.BR sh (1)
+.MR sh 1
interprets the command name as an option,
and the behavior is undefined.
(See the
.B \-c
option to
-.BR sh (1).)
+.MR sh 1 .)
To work around this problem,
prepend the command with a space as in the following call:
.P
@@ -259,11 +259,11 @@ prepend the command with a space as in the following call:
.EE
.in
.SH SEE ALSO
-.BR sh (1),
-.BR execve (2),
-.BR fork (2),
-.BR sigaction (2),
-.BR sigprocmask (2),
-.BR wait (2),
-.BR exec (3),
-.BR signal (7)
+.MR sh 1 ,
+.MR execve 2 ,
+.MR fork 2 ,
+.MR sigaction 2 ,
+.MR sigprocmask 2 ,
+.MR wait 2 ,
+.MR exec 3 ,
+.MR signal 7
diff --git a/man3/sysv_signal.3 b/man3/sysv_signal.3
index d942ad751..77f2bc07b 100644
--- a/man3/sysv_signal.3
+++ b/man3/sysv_signal.3
@@ -22,7 +22,7 @@ Standard C library
The
.BR sysv_signal ()
function takes the same arguments, and performs the same task, as
-.BR signal (2).
+.MR signal 2 .
.P
However
.BR sysv_signal ()
@@ -41,10 +41,10 @@ function returns the previous value of the signal handler, or
on error.
.SH ERRORS
As for
-.BR signal (2).
+.MR signal 2 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -60,18 +60,18 @@ T} Thread safety MT-Safe
Use of
.BR sysv_signal ()
should be avoided; use
-.BR sigaction (2)
+.MR sigaction 2
instead.
.P
On older Linux systems,
.BR sysv_signal ()
and
-.BR signal (2)
+.MR signal 2
were equivalent.
But on newer systems,
-.BR signal (2)
+.MR signal 2
provides reliable signal semantics; see
-.BR signal (2)
+.MR signal 2
for details.
.P
The use of
@@ -84,7 +84,7 @@ feature test macro is defined.
.SH STANDARDS
None.
.SH SEE ALSO
-.BR sigaction (2),
-.BR signal (2),
-.BR bsd_signal (3),
-.BR signal (7)
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR bsd_signal 3 ,
+.MR signal 7
diff --git a/man3/tailq.3 b/man3/tailq.3
index ced7b5408..cb5631f52 100644
--- a/man3/tailq.3
+++ b/man3/tailq.3
@@ -393,5 +393,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR insque (3),
-.BR queue (7)
+.MR insque 3 ,
+.MR queue 7
diff --git a/man3/tan.3 b/man3/tan.3
index f91a32208..be2c81bbc 100644
--- a/man3/tan.3
+++ b/man3/tan.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR tanf (),
@@ -80,7 +80,7 @@ respectively, with the mathematically correct sign.
.\" glibc 2.8 doesn't do this
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -106,7 +106,7 @@ An overflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -137,10 +137,10 @@ to
.B EDOM
when a domain error occurred.
.SH SEE ALSO
-.BR acos (3),
-.BR asin (3),
-.BR atan (3),
-.BR atan2 (3),
-.BR cos (3),
-.BR ctan (3),
-.BR sin (3)
+.MR acos 3 ,
+.MR asin 3 ,
+.MR atan 3 ,
+.MR atan2 3 ,
+.MR cos 3 ,
+.MR ctan 3 ,
+.MR sin 3
diff --git a/man3/tanh.3 b/man3/tanh.3
index 8fa78e3b4..7dd5a13d2 100644
--- a/man3/tanh.3
+++ b/man3/tanh.3
@@ -30,7 +30,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR tanhf (),
@@ -73,7 +73,7 @@ is positive infinity (negative infinity),
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -97,9 +97,9 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH SEE ALSO
-.BR acosh (3),
-.BR asinh (3),
-.BR atanh (3),
-.BR cosh (3),
-.BR ctanh (3),
-.BR sinh (3)
+.MR acosh 3 ,
+.MR asinh 3 ,
+.MR atanh 3 ,
+.MR cosh 3 ,
+.MR ctanh 3 ,
+.MR sinh 3
diff --git a/man3/tcgetpgrp.3 b/man3/tcgetpgrp.3
index e19a7760d..6a9e92917 100644
--- a/man3/tcgetpgrp.3
+++ b/man3/tcgetpgrp.3
@@ -93,7 +93,7 @@ has a supported value, but is not the process group ID of a
process in the same session as the calling process.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -120,6 +120,6 @@ POSIX.1-2001.
The ioctls appeared in 4.2BSD.
The functions are POSIX inventions.
.SH SEE ALSO
-.BR setpgid (2),
-.BR setsid (2),
-.BR credentials (7)
+.MR setpgid 2 ,
+.MR setsid 2 ,
+.MR credentials 7
diff --git a/man3/tcgetsid.3 b/man3/tcgetsid.3
index bc134d2e4..c5f7263cb 100644
--- a/man3/tcgetsid.3
+++ b/man3/tcgetsid.3
@@ -46,7 +46,7 @@ it has one but it is not described by
.IR fd .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -66,8 +66,8 @@ POSIX.1-2001.
.P
This function is implemented via the
.B TIOCGSID
-.BR ioctl (2),
+.MR ioctl 2 ,
present
since Linux 2.1.71.
.SH SEE ALSO
-.BR getsid (2)
+.MR getsid 2
diff --git a/man3/telldir.3 b/man3/telldir.3
index 55cd90317..093e0579d 100644
--- a/man3/telldir.3
+++ b/man3/telldir.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR telldir ():
@@ -51,7 +51,7 @@ is set to indicate the error.
Invalid directory stream descriptor \fIdirp\fP.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -84,7 +84,7 @@ to represent directories.
On such filesystems, the value returned by
.BR telldir ()
(and used internally by
-.BR readdir (3))
+.MR readdir 3 )
is a "cookie" that is used by the implementation
to derive a position within a directory.
.\" https://lwn.net/Articles/544298/
@@ -92,9 +92,9 @@ Application programs should treat this strictly as an opaque value, making
.I no
assumptions about its contents.
.SH SEE ALSO
-.BR closedir (3),
-.BR opendir (3),
-.BR readdir (3),
-.BR rewinddir (3),
-.BR scandir (3),
-.BR seekdir (3)
+.MR closedir 3 ,
+.MR opendir 3 ,
+.MR readdir 3 ,
+.MR rewinddir 3 ,
+.MR scandir 3 ,
+.MR seekdir 3
diff --git a/man3/tempnam.3 b/man3/tempnam.3
index f9821896b..93defc8a9 100644
--- a/man3/tempnam.3
+++ b/man3/tempnam.3
@@ -18,7 +18,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR tempnam ():
@@ -31,9 +31,9 @@ Feature Test Macro Requirements for glibc (see
.SH DESCRIPTION
.I "Never use this function."
Use
-.BR mkstemp (3)
+.MR mkstemp 3
or
-.BR tmpfile (3)
+.MR tmpfile 3
instead.
.P
The
@@ -77,9 +77,9 @@ Finally an implementation-defined directory may be used.
The string returned by
.BR tempnam ()
is allocated using
-.BR malloc (3)
+.MR malloc 3
and hence should be freed by
-.BR free (3).
+.MR free 3 .
.SH RETURN VALUE
On success, the
.BR tempnam ()
@@ -93,7 +93,7 @@ set to indicate the error.
Allocation of storage failed.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -118,17 +118,17 @@ it is nevertheless possible that between the time that
.BR tempnam ()
returns a pathname, and the time that the program opens it,
another program might create that pathname using
-.BR open (2),
+.MR open 2 ,
or create it as a symbolic link.
This can lead to security holes.
To avoid such possibilities, use the
-.BR open (2)
+.MR open 2
.B O_EXCL
flag to open the pathname.
Or better yet, use
-.BR mkstemp (3)
+.MR mkstemp 3
or
-.BR tmpfile (3).
+.MR tmpfile 3 .
.P
SUSv2 does not mention the use of
.BR TMPDIR ;
@@ -141,7 +141,7 @@ On SVr4, the directory used under \fBd)\fP is
Because it dynamically allocates memory used to return the pathname,
.BR tempnam ()
is reentrant, and thus thread safe, unlike
-.BR tmpnam (3).
+.MR tmpnam 3 .
.P
The
.BR tempnam ()
@@ -169,7 +169,7 @@ upon failure to find a unique name.
The precise meaning of "appropriate" is undefined;
it is unspecified how accessibility of a directory is determined.
.SH SEE ALSO
-.BR mkstemp (3),
-.BR mktemp (3),
-.BR tmpfile (3),
-.BR tmpnam (3)
+.MR mkstemp 3 ,
+.MR mktemp 3 ,
+.MR tmpfile 3 ,
+.MR tmpnam 3
diff --git a/man3/termios.3 b/man3/termios.3
index 78731d21e..bcd9ef9b1 100644
--- a/man3/termios.3
+++ b/man3/termios.3
@@ -53,7 +53,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR cfsetspeed (),
@@ -86,7 +86,7 @@ The values that may be assigned to these fields are described below.
In the case of the first four bit-mask fields,
the definitions of some of the associated flags that may be set are
exposed only if a specific feature test macro (see
-.BR feature_test_macros (7))
+.MR feature_test_macros 7 )
is defined, as noted in brackets ("[]").
.P
In the descriptions below, "not in POSIX" means that the
@@ -340,7 +340,7 @@ or
and
.BR TCSET *
ioctls; see
-.BR ioctl_tty (2))
+.MR ioctl_tty 2 )
.TP
.B CMSPAR
(not in POSIX)
@@ -502,7 +502,7 @@ End-of-file character (EOF).
More precisely: this character causes the pending tty buffer to be sent
to the waiting user program without waiting for end-of-line.
If it is the first character of the line, the
-.BR read (2)
+.MR read 2
in the user program returns 0, which signifies end-of-file.
Recognized when
.B ICANON
@@ -708,20 +708,20 @@ An input line is available when one of the line delimiters
is typed (NL, EOL, EOL2; or EOF at the start of line).
Except in the case of EOF, the line delimiter is included
in the buffer returned by
-.BR read (2).
+.MR read 2 .
.IP \[bu]
Line editing is enabled (ERASE, KILL;
and if the
.B IEXTEN
flag is set: WERASE, REPRINT, LNEXT).
A
-.BR read (2)
+.MR read 2
returns at most one line of input; if the
-.BR read (2)
+.MR read 2
requested fewer bytes than are available in the current line of input,
then only as many bytes as requested are read,
and the remaining characters will be available for a future
-.BR read (2).
+.MR read 2 .
.IP \[bu]
The maximum line length is 4096 chars
(including the terminating newline character);
@@ -747,43 +747,43 @@ The settings of MIN
and TIME
.RI ( c_cc[VTIME] )
determine the circumstances in which a
-.BR read (2)
+.MR read 2
completes; there are four distinct cases:
.TP
MIN == 0, TIME == 0 (polling read)
If data is available,
-.BR read (2)
+.MR read 2
returns immediately, with the lesser of the number of bytes
available, or the number of bytes requested.
If no data is available,
-.BR read (2)
+.MR read 2
returns 0.
.TP
MIN > 0, TIME == 0 (blocking read)
-.BR read (2)
+.MR read 2
blocks until MIN bytes are available,
and returns up to the number of bytes requested.
.TP
MIN == 0, TIME > 0 (read with timeout)
TIME specifies the limit for a timer in tenths of a second.
The timer is started when
-.BR read (2)
+.MR read 2
is called.
-.BR read (2)
+.MR read 2
returns either when at least one byte of data is available,
or when the timer expires.
If the timer expires without any input becoming available,
-.BR read (2)
+.MR read 2
returns 0.
If data is already available at the time of the call to
-.BR read (2),
+.MR read 2 ,
the call behaves as though the data was received immediately after the call.
.TP
MIN > 0, TIME > 0 (read with interbyte timeout)
TIME specifies the limit for a timer in tenths of a second.
Once an initial byte of input becomes available,
the timer is restarted after each further byte is received.
-.BR read (2)
+.MR read 2
returns when any of the following conditions is met:
.RS
.IP \[bu] 3
@@ -792,19 +792,19 @@ MIN bytes have been received.
The interbyte timer expires.
.IP \[bu]
The number of bytes requested by
-.BR read (2)
+.MR read 2
has been received.
(POSIX does not specify this termination condition,
and on some other implementations
.\" e.g., Solaris
-.BR read (2)
+.MR read 2
does not return in this case.)
.RE
.IP
Because the timer is started only after the initial byte
becomes available, at least one byte will be read.
If data is already available at the time of the call to
-.BR read (2),
+.MR read 2 ,
the call behaves as though the data was received immediately after the call.
.P
POSIX
@@ -815,12 +815,12 @@ file status flag takes precedence over the MIN and TIME settings.
If
.B O_NONBLOCK
is set, a
-.BR read (2)
+.MR read 2
in noncanonical mode may return immediately,
regardless of the setting of MIN or TIME.
Furthermore, if no data is available,
POSIX permits a
-.BR read (2)
+.MR read 2
in noncanonical mode to return either 0, or \-1 with
.I errno
set to
@@ -913,7 +913,7 @@ is successfully called.
.P
Setting the speed to \fBB0\fP instructs the modem to "hang up".
The actual bit rate corresponding to \fBB38400\fP may be altered with
-.BR setserial (8).
+.MR setserial 8 .
.P
The input and output baud rates are stored in the \fItermios\fP
structure.
@@ -1031,7 +1031,7 @@ Setting the baud rate to a value other than those defined by
constants is possible via the
.B TCSETS2
ioctl; see
-.BR ioctl_tty (2).
+.MR ioctl_tty 2 .
.P
.BR cfgetispeed ()
returns the input baud rate stored in the
@@ -1088,7 +1088,7 @@ it may be necessary to follow this call with a further call to
to check that all changes have been performed successfully.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -1221,15 +1221,15 @@ line discipline code of the terminal driver as a result
.B TABDLY
mask).
.SH SEE ALSO
-.BR reset (1),
-.BR setterm (1),
-.BR stty (1),
-.BR tput (1),
-.BR tset (1),
-.BR tty (1),
-.BR ioctl_console (2),
-.BR ioctl_tty (2),
-.BR cc_t (3type),
-.BR speed_t (3type),
-.BR tcflag_t (3type),
-.BR setserial (8)
+.MR reset 1 ,
+.MR setterm 1 ,
+.MR stty 1 ,
+.MR tput 1 ,
+.MR tset 1 ,
+.MR tty 1 ,
+.MR ioctl_console 2 ,
+.MR ioctl_tty 2 ,
+.MR cc_t 3type ,
+.MR speed_t 3type ,
+.MR tcflag_t 3type ,
+.MR setserial 8
diff --git a/man3/tgamma.3 b/man3/tgamma.3
index e55e95c35..3fa0f3342 100644
--- a/man3/tgamma.3
+++ b/man3/tgamma.3
@@ -26,7 +26,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR tgamma (),
@@ -110,7 +110,7 @@ or
respectively, with the same sign as the 0.
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -158,7 +158,7 @@ is set to
.\" exception for various cases.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -180,9 +180,9 @@ C99, POSIX.1-2001.
.SH NOTES
This function had to be called "true gamma function"
since there is already a function
-.BR gamma (3)
+.MR gamma 3
that returns something else (see
-.BR gamma (3)
+.MR gamma 3
for details).
.SH BUGS
Before glibc 2.18, the glibc implementation of these functions did not set
@@ -212,5 +212,5 @@ and an
.B FE_INVALID
exception raised), rather than a pole error.
.SH SEE ALSO
-.BR gamma (3),
-.BR lgamma (3)
+.MR gamma 3 ,
+.MR lgamma 3
diff --git a/man3/timegm.3 b/man3/timegm.3
index 49f5a73ff..f2da1c4d3 100644
--- a/man3/timegm.3
+++ b/man3/timegm.3
@@ -19,7 +19,7 @@ Standard C library
.fi
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR timelocal (),
@@ -36,9 +36,9 @@ The functions
and
.BR timegm ()
are the inverses of
-.BR localtime (3)
+.MR localtime 3
and
-.BR gmtime (3).
+.MR gmtime 3 .
Both functions take a broken-down time and convert it to calendar time
(seconds since the Epoch, 1970-01-01 00:00:00 +0000, UTC).
The difference between the two functions is that
@@ -62,7 +62,7 @@ to indicate the error.
The result cannot be represented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -83,10 +83,10 @@ GNU, BSD.
The
.BR timelocal ()
function is equivalent to the POSIX standard function
-.BR mktime (3).
+.MR mktime 3 .
There is no reason to ever use it.
.SH SEE ALSO
-.BR gmtime (3),
-.BR localtime (3),
-.BR mktime (3),
-.BR tzset (3)
+.MR gmtime 3 ,
+.MR localtime 3 ,
+.MR mktime 3 ,
+.MR tzset 3
diff --git a/man3/timeradd.3 b/man3/timeradd.3
index 2a34dbacd..a80a816c7 100644
--- a/man3/timeradd.3
+++ b/man3/timeradd.3
@@ -27,7 +27,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
All functions shown above:
@@ -139,5 +139,5 @@ None.
.SH HISTORY
BSD.
.SH SEE ALSO
-.BR gettimeofday (2),
-.BR time (7)
+.MR gettimeofday 2 ,
+.MR time 7
diff --git a/man3/tmpfile.3 b/man3/tmpfile.3
index 1bfcdabf3..b1fc97fed 100644
--- a/man3/tmpfile.3
+++ b/man3/tmpfile.3
@@ -47,7 +47,7 @@ Unable to generate a unique filename.
.TP
.B EINTR
The call was interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EMFILE
The per-process limit on the number of open file descriptors has been reached.
@@ -62,7 +62,7 @@ There was no room in the directory to add the new filename.
Read-only filesystem.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -96,8 +96,8 @@ an error message may be written to
if the stream
cannot be opened.
.SH SEE ALSO
-.BR exit (3),
-.BR mkstemp (3),
-.BR mktemp (3),
-.BR tempnam (3),
-.BR tmpnam (3)
+.MR exit 3 ,
+.MR mkstemp 3 ,
+.MR mktemp 3 ,
+.MR tempnam 3 ,
+.MR tmpnam 3
diff --git a/man3/tmpnam.3 b/man3/tmpnam.3
index 77ca78d90..4a9f89792 100644
--- a/man3/tmpnam.3
+++ b/man3/tmpnam.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR tmpnam_r ()
@@ -34,9 +34,9 @@ Feature Test Macro Requirements for glibc (see
.SH DESCRIPTION
.B Note:
avoid using these functions; use
-.BR mkstemp (3)
+.MR mkstemp 3
or
-.BR tmpfile (3)
+.MR tmpfile 3
instead.
.P
The
@@ -87,7 +87,7 @@ filename, or NULL if a unique name cannot be generated.
No errors are defined.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -135,17 +135,17 @@ Although these functions generate names that are difficult to guess,
it is nevertheless possible that between the time that
the pathname is returned and the time that the program opens it,
another program might create that pathname using
-.BR open (2),
+.MR open 2 ,
or create it as a symbolic link.
This can lead to security holes.
To avoid such possibilities, use the
-.BR open (2)
+.MR open 2
.B O_EXCL
flag to open the pathname.
Or better yet, use
-.BR mkstemp (3)
+.MR mkstemp 3
or
-.BR tmpfile (3).
+.MR tmpfile 3 .
.P
Portable applications that use threads cannot call
.BR tmpnam ()
@@ -157,12 +157,12 @@ is defined.
.SH BUGS
Never use these functions.
Use
-.BR mkstemp (3)
+.MR mkstemp 3
or
-.BR tmpfile (3)
+.MR tmpfile 3
instead.
.SH SEE ALSO
-.BR mkstemp (3),
-.BR mktemp (3),
-.BR tempnam (3),
-.BR tmpfile (3)
+.MR mkstemp 3 ,
+.MR mktemp 3 ,
+.MR tempnam 3 ,
+.MR tmpfile 3
diff --git a/man3/toascii.3 b/man3/toascii.3
index 83075a888..cf64ccd52 100644
--- a/man3/toascii.3
+++ b/man3/toascii.3
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR toascii ():
@@ -41,7 +41,7 @@ high-order bits.
The value returned is that of the converted character.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -63,6 +63,6 @@ noting that it cannot be used portably in a localized application.
Many people will be unhappy if you use this function.
This function will convert accented letters into random characters.
.SH SEE ALSO
-.BR isascii (3),
-.BR tolower (3),
-.BR toupper (3)
+.MR isascii 3 ,
+.MR tolower 3 ,
+.MR toupper 3
diff --git a/man3/toupper.3 b/man3/toupper.3
index a7367f6fa..15b35cc0c 100644
--- a/man3/toupper.3
+++ b/man3/toupper.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR toupper_l (),
@@ -85,7 +85,7 @@ is undefined if
is the special locale object
.B LC_GLOBAL_LOCALE
(see
-.BR duplocale (3))
+.MR duplocale 3 )
or is not a valid locale object handle.
.SH RETURN VALUE
The value returned is that of the converted letter, or
@@ -93,7 +93,7 @@ The value returned is that of the converted letter, or
if the conversion was not possible.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -176,10 +176,10 @@ corresponding uppercase equivalent;
.\" in Unicode 5.0; see https://en.wikipedia.org/wiki/Capital_%E1%BA%9E
the German sharp s is one example.
.SH SEE ALSO
-.BR isalpha (3),
-.BR newlocale (3),
-.BR setlocale (3),
-.BR towlower (3),
-.BR towupper (3),
-.BR uselocale (3),
-.BR locale (7)
+.MR isalpha 3 ,
+.MR newlocale 3 ,
+.MR setlocale 3 ,
+.MR towlower 3 ,
+.MR towupper 3 ,
+.MR uselocale 3 ,
+.MR locale 7
diff --git a/man3/towctrans.3 b/man3/towctrans.3
index cca9f7de7..6642588bd 100644
--- a/man3/towctrans.3
+++ b/man3/towctrans.3
@@ -39,7 +39,7 @@ is returned.
.I desc
must be a transliteration descriptor returned by
the
-.BR wctrans (3)
+.MR wctrans 3
function.
.SH RETURN VALUE
The
@@ -53,7 +53,7 @@ is
.BR WEOF .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -77,6 +77,6 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR towlower (3),
-.BR towupper (3),
-.BR wctrans (3)
+.MR towlower 3 ,
+.MR towupper 3 ,
+.MR wctrans 3
diff --git a/man3/towlower.3 b/man3/towlower.3
index c40046a38..745cf55fa 100644
--- a/man3/towlower.3
+++ b/man3/towlower.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR towlower_l ():
@@ -40,7 +40,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR towlower ()
function is the wide-character equivalent of the
-.BR tolower (3)
+.MR tolower 3
function.
If
.I wc
@@ -65,7 +65,7 @@ is undefined if
is the special locale object
.B LC_GLOBAL_LOCALE
(see
-.BR duplocale (3))
+.MR duplocale 3 )
or is not a valid locale object handle.
.P
The argument
@@ -84,7 +84,7 @@ otherwise it returns
.IR wc .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -125,7 +125,7 @@ category of the locale.
These functions are not very appropriate for dealing with Unicode characters,
because Unicode knows about three cases: upper, lower, and title case.
.SH SEE ALSO
-.BR iswlower (3),
-.BR towctrans (3),
-.BR towupper (3),
-.BR locale (7)
+.MR iswlower 3 ,
+.MR towctrans 3 ,
+.MR towupper 3 ,
+.MR locale 7
diff --git a/man3/towupper.3 b/man3/towupper.3
index 4393f6964..26d5157bc 100644
--- a/man3/towupper.3
+++ b/man3/towupper.3
@@ -25,7 +25,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR towupper_l ():
@@ -39,7 +39,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR towupper ()
function is the wide-character equivalent of the
-.BR toupper (3)
+.MR toupper 3
function.
If
.I wc
@@ -64,7 +64,7 @@ is undefined if
is the special locale object
.B LC_GLOBAL_LOCALE
(see
-.BR duplocale (3))
+.MR duplocale 3 )
or is not a valid locale object handle.
.P
The argument
@@ -83,7 +83,7 @@ otherwise it returns
.IR wc .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -124,7 +124,7 @@ category of the locale.
These functions are not very appropriate for dealing with Unicode characters,
because Unicode knows about three cases: upper, lower, and title case.
.SH SEE ALSO
-.BR iswupper (3),
-.BR towctrans (3),
-.BR towlower (3),
-.BR locale (7)
+.MR iswupper 3 ,
+.MR towctrans 3 ,
+.MR towlower 3 ,
+.MR locale 7
diff --git a/man3/trunc.3 b/man3/trunc.3
index bb8758fb1..1e05099c5 100644
--- a/man3/trunc.3
+++ b/man3/trunc.3
@@ -20,7 +20,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR trunc (),
@@ -46,7 +46,7 @@ itself is returned.
No errors occur.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -75,9 +75,9 @@ To avoid an overflow, which will produce undefined results,
an application should perform a range check on the returned value
before assigning it to an integer type.
.SH SEE ALSO
-.BR ceil (3),
-.BR floor (3),
-.BR lrint (3),
-.BR nearbyint (3),
-.BR rint (3),
-.BR round (3)
+.MR ceil 3 ,
+.MR floor 3 ,
+.MR lrint 3 ,
+.MR nearbyint 3 ,
+.MR rint 3 ,
+.MR round 3
diff --git a/man3/tsearch.3 b/man3/tsearch.3
index 68e4e04f8..d64a2fdc4 100644
--- a/man3/tsearch.3
+++ b/man3/tsearch.3
@@ -194,7 +194,7 @@ return NULL if
was NULL on entry.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -350,7 +350,7 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR bsearch (3),
-.BR hsearch (3),
-.BR lsearch (3),
-.BR qsort (3)
+.MR bsearch 3 ,
+.MR hsearch 3 ,
+.MR lsearch 3 ,
+.MR qsort 3
diff --git a/man3/ttyname.3 b/man3/ttyname.3
index 83f27a9dc..cd83e61e0 100644
--- a/man3/ttyname.3
+++ b/man3/ttyname.3
@@ -64,7 +64,7 @@ does not refer to a terminal device.
was too small to allow storing the pathname.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -87,7 +87,7 @@ POSIX.1-2008.
POSIX.1-2001, 4.2BSD.
.SH NOTES
A process that keeps a file descriptor that refers to a
-.BR pts (4)
+.MR pts 4
device open when switching to another mount namespace that uses a different
.I /dev/ptmx
instance may still accidentally find that a device path of the same name
@@ -104,8 +104,8 @@ functions to return NULL and set
to
.BR ENODEV .
.SH SEE ALSO
-.BR tty (1),
-.BR fstat (2),
-.BR ctermid (3),
-.BR isatty (3),
-.BR pts (4)
+.MR tty 1 ,
+.MR fstat 2 ,
+.MR ctermid 3 ,
+.MR isatty 3 ,
+.MR pts 4
diff --git a/man3/ttyslot.3 b/man3/ttyslot.3
index 358ae5584..e39c0574c 100644
--- a/man3/ttyslot.3
+++ b/man3/ttyslot.3
@@ -21,7 +21,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ttyslot ():
@@ -44,14 +44,14 @@ Well, let's first look at some history.
There used to be a file
.I /etc/ttys
in UNIX\ V6, that was read by the
-.BR init (1)
+.MR init 1
program to find out what to do with each terminal line.
Each line consisted of three characters.
The first character was either \[aq]0\[aq] or \[aq]1\[aq],
where \[aq]0\[aq] meant "ignore".
The second character denoted the terminal: \[aq]8\[aq] stood for "/dev/tty8".
The third character was an argument to
-.BR getty (8)
+.MR getty 8
indicating the sequence of line speeds to try (\[aq]\-\[aq] was: start trying
110 baud).
Thus a typical line was "18\-".
@@ -60,7 +60,7 @@ signaling init, changing back again, and signaling init again.
.P
In UNIX\ V7 the format was changed: here the second character
was the argument to
-.BR getty (8)
+.MR getty 8
indicating the sequence of line speeds to try (\[aq]0\[aq] was: cycle through
300-1200-150-110 baud; \[aq]4\[aq] was for the on-line console DECwriter)
while the rest of the line contained the name of the tty.
@@ -75,10 +75,10 @@ On the other hand, there is the file
.I /etc/utmp
listing the people currently logged in.
It is maintained by
-.BR login (1).
+.MR login 1 .
It has a fixed size, and the appropriate index in the file was
determined by
-.BR login (1)
+.MR login 1
using the
.BR ttyslot ()
call to find the number of the line in
@@ -107,7 +107,7 @@ it returns 0 on UNIX\ V6 and V7 and BSD-like systems,
but \-1 on System V-like systems.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -164,6 +164,6 @@ Minix also has
.\" .BR ttyslot ()
.\" appeared in UNIX V7.
.SH SEE ALSO
-.BR getttyent (3),
-.BR ttyname (3),
-.BR utmp (5)
+.MR getttyent 3 ,
+.MR ttyname 3 ,
+.MR utmp 5
diff --git a/man3/tzset.3 b/man3/tzset.3
index 8479b17b0..f2a497167 100644
--- a/man3/tzset.3
+++ b/man3/tzset.3
@@ -30,7 +30,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR tzset ():
@@ -67,7 +67,7 @@ If the
.B TZ
variable does not appear in the environment, the system timezone is used.
The system timezone is configured by copying, or linking, a file in the
-.BR tzfile (5)
+.MR tzfile 5
format to
.IR /etc/localtime .
A timezone database of these files may be located in the system
@@ -167,7 +167,7 @@ from a file:
If the file specification \fIfilespec\fP is omitted, or its value cannot
be interpreted, then Coordinated Universal Time (UTC) is used.
If \fIfilespec\fP is given, it specifies another
-.BR tzfile (5)-format
+.MR tzfile 5 -format
file to read the timezone information from.
If \fIfilespec\fP does not begin with a \[aq]/\[aq], the file specification is
relative to the system timezone directory.
@@ -202,7 +202,7 @@ The system timezone database directory.
When a TZ string includes a dst timezone without anything following it,
then this file is used for the start/end rules.
It is in the
-.BR tzfile (5)
+.MR tzfile 5
format.
By default, the zoneinfo Makefile hard links it to the
.IR America/New_York " tzfile."
@@ -211,7 +211,7 @@ Above are the current standard file locations, but they are
configurable when glibc is compiled.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -236,9 +236,9 @@ West of UTC).
If the second argument was 0, the standard name was used,
otherwise the daylight saving time version.
.SH SEE ALSO
-.BR date (1),
-.BR gettimeofday (2),
-.BR time (2),
-.BR ctime (3),
-.BR getenv (3),
-.BR tzfile (5)
+.MR date 1 ,
+.MR gettimeofday 2 ,
+.MR time 2 ,
+.MR ctime 3 ,
+.MR getenv 3 ,
+.MR tzfile 5
diff --git a/man3/ualarm.3 b/man3/ualarm.3
index 4e63c0ce5..5f02d0dfb 100644
--- a/man3/ualarm.3
+++ b/man3/ualarm.3
@@ -18,7 +18,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR ualarm ():
@@ -61,14 +61,14 @@ any alarm that was previously set, or 0 if no alarm was pending.
.TP
.B EINTR
Interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
\fIusecs\fP or \fIinterval\fP is not smaller than 1000000.
(On systems where that is considered an error.)
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -111,30 +111,31 @@ explicitly.
.P
The interaction of this function with
other timer functions such as
-.BR alarm (2),
-.BR sleep (3),
-.BR nanosleep (2),
-.BR setitimer (2),
-.BR timer_create (2),
-.BR timer_delete (2),
-.BR timer_getoverrun (2),
-.BR timer_gettime (2),
-.BR timer_settime (2),
-.BR usleep (3)
+.MR alarm 2 ,
+.MR sleep 3 ,
+.MR nanosleep 2 ,
+.MR setitimer 2 ,
+.MR timer_create 2 ,
+.MR timer_delete 2 ,
+.MR timer_getoverrun 2 ,
+.MR timer_gettime 2 ,
+.MR timer_settime 2 ,
+.MR usleep 3
is unspecified.
.P
This function is obsolete.
Use
-.BR setitimer (2)
+.MR setitimer 2
or POSIX interval timers
-.RB ( timer_create (2),
+\%(\c
+.MR timer_create 2 ,
etc.)
instead.
.SH SEE ALSO
-.BR alarm (2),
-.BR getitimer (2),
-.BR nanosleep (2),
-.BR select (2),
-.BR setitimer (2),
-.BR usleep (3),
-.BR time (7)
+.MR alarm 2 ,
+.MR getitimer 2 ,
+.MR nanosleep 2 ,
+.MR select 2 ,
+.MR setitimer 2 ,
+.MR usleep 3 ,
+.MR time 7
diff --git a/man3/ulimit.3 b/man3/ulimit.3
index e4ed71205..36c997e42 100644
--- a/man3/ulimit.3
+++ b/man3/ulimit.3
@@ -20,15 +20,15 @@ Standard C library
.SH DESCRIPTION
Warning: this routine is obsolete.
Use
-.BR getrlimit (2),
-.BR setrlimit (2),
+.MR getrlimit 2 ,
+.MR setrlimit 2 ,
and
-.BR sysconf (3)
+.MR sysconf 3
instead.
For the shell command
.BR ulimit ,
see
-.BR bash (1).
+.MR bash 1 .
.P
The
.BR ulimit ()
@@ -63,7 +63,7 @@ is set to indicate the error.
An unprivileged process tried to increase a limit.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -81,7 +81,7 @@ POSIX.1-2008.
SVr4, POSIX.1-2001.
POSIX.1-2008 marks it as obsolete.
.SH SEE ALSO
-.BR bash (1),
-.BR getrlimit (2),
-.BR setrlimit (2),
-.BR sysconf (3)
+.MR bash 1 ,
+.MR getrlimit 2 ,
+.MR setrlimit 2 ,
+.MR sysconf 3
diff --git a/man3/undocumented.3 b/man3/undocumented.3
index bb025e848..2c534b7d6 100644
--- a/man3/undocumented.3
+++ b/man3/undocumented.3
@@ -24,141 +24,141 @@ similar to that of the other Linux section 3 man pages), and send it to
.B mtk.manpages@gmail.com
for inclusion in the next man page release.
.SS The list
-.BR authdes_create (3),
-.BR authdes_getucred (3),
-.BR authdes_pk_create (3),
+.MR authdes_create 3 ,
+.MR authdes_getucred 3 ,
+.MR authdes_pk_create 3 ,
.\" .BR chflags (3),
-.BR clntunix_create (3),
-.BR creat64 (3),
-.BR dn_skipname (3),
+.MR clntunix_create 3 ,
+.MR creat64 3 ,
+.MR dn_skipname 3 ,
.\" .BR fattach (3),
.\" .BR fchflags (3),
.\" .BR fclean (3),
-.BR fcrypt (3),
+.MR fcrypt 3 ,
.\" .BR fdetach (3),
-.BR fp_nquery (3),
-.BR fp_query (3),
-.BR fp_resstat (3),
-.BR freading (3),
-.BR freopen64 (3),
-.BR fseeko64 (3),
-.BR ftello64 (3),
-.BR ftw64 (3),
-.BR fwscanf (3),
-.BR get_avphys_pages (3),
-.BR getdirentries64 (3),
-.BR getmsg (3),
-.BR getnetname (3),
-.BR get_phys_pages (3),
-.BR getpublickey (3),
-.BR getsecretkey (3),
-.BR h_errlist (3),
-.BR host2netname (3),
-.BR hostalias (3),
-.BR inet_nsap_addr (3),
-.BR inet_nsap_ntoa (3),
-.BR init_des (3),
-.BR libc_nls_init (3),
-.BR mstats (3),
-.BR netname2host (3),
-.BR netname2user (3),
-.BR nlist (3),
-.BR obstack_free (3),
+.MR fp_nquery 3 ,
+.MR fp_query 3 ,
+.MR fp_resstat 3 ,
+.MR freading 3 ,
+.MR freopen64 3 ,
+.MR fseeko64 3 ,
+.MR ftello64 3 ,
+.MR ftw64 3 ,
+.MR fwscanf 3 ,
+.MR get_avphys_pages 3 ,
+.MR getdirentries64 3 ,
+.MR getmsg 3 ,
+.MR getnetname 3 ,
+.MR get_phys_pages 3 ,
+.MR getpublickey 3 ,
+.MR getsecretkey 3 ,
+.MR h_errlist 3 ,
+.MR host2netname 3 ,
+.MR hostalias 3 ,
+.MR inet_nsap_addr 3 ,
+.MR inet_nsap_ntoa 3 ,
+.MR init_des 3 ,
+.MR libc_nls_init 3 ,
+.MR mstats 3 ,
+.MR netname2host 3 ,
+.MR netname2user 3 ,
+.MR nlist 3 ,
+.MR obstack_free 3 ,
.\" .BR obstack stuff (3),
-.BR parse_printf_format (3),
-.BR p_cdname (3),
-.BR p_cdnname (3),
-.BR p_class (3),
-.BR p_fqname (3),
-.BR p_option (3),
-.BR p_query (3),
-.BR printf_size (3),
-.BR printf_size_info (3),
-.BR p_rr (3),
-.BR p_time (3),
-.BR p_type (3),
-.BR putlong (3),
-.BR putshort (3),
-.BR re_compile_fastmap (3),
-.BR re_compile_pattern (3),
-.BR register_printf_function (3),
-.BR re_match (3),
-.BR re_match_2 (3),
-.BR re_rx_search (3),
-.BR re_search (3),
-.BR re_search_2 (3),
-.BR re_set_registers (3),
-.BR re_set_syntax (3),
-.BR res_send_setqhook (3),
-.BR res_send_setrhook (3),
-.BR ruserpass (3),
-.BR setfileno (3),
-.BR sethostfile (3),
-.BR svc_exit (3),
-.BR svcudp_enablecache (3),
-.BR tell (3),
-.BR thrd_create (3),
-.BR thrd_current (3),
-.BR thrd_equal (3),
-.BR thrd_sleep (3),
-.BR thrd_yield (3),
-.BR tr_break (3),
-.BR tzsetwall (3),
-.BR ufc_dofinalperm (3),
-.BR ufc_doit (3),
-.BR user2netname (3),
-.BR wcschrnul (3),
-.BR wcsftime (3),
-.BR wscanf (3),
-.BR xdr_authdes_cred (3),
-.BR xdr_authdes_verf (3),
-.BR xdr_cryptkeyarg (3),
-.BR xdr_cryptkeyres (3),
-.BR xdr_datum (3),
-.BR xdr_des_block (3),
-.BR xdr_domainname (3),
-.BR xdr_getcredres (3),
-.BR xdr_keybuf (3),
-.BR xdr_keystatus (3),
-.BR xdr_mapname (3),
-.BR xdr_netnamestr (3),
-.BR xdr_netobj (3),
-.BR xdr_passwd (3),
-.BR xdr_peername (3),
-.BR xdr_rmtcall_args (3),
-.BR xdr_rmtcallres (3),
-.BR xdr_unixcred (3),
-.BR xdr_yp_buf (3),
-.BR xdr_yp_inaddr (3),
-.BR xdr_ypbind_binding (3),
-.BR xdr_ypbind_resp (3),
-.BR xdr_ypbind_resptype (3),
-.BR xdr_ypbind_setdom (3),
-.BR xdr_ypdelete_args (3),
-.BR xdr_ypmaplist (3),
-.BR xdr_ypmaplist_str (3),
-.BR xdr_yppasswd (3),
-.BR xdr_ypreq_key (3),
-.BR xdr_ypreq_nokey (3),
-.BR xdr_ypresp_all (3),
-.BR xdr_ypresp_all_seq (3),
-.BR xdr_ypresp_key_val (3),
-.BR xdr_ypresp_maplist (3),
-.BR xdr_ypresp_master (3),
-.BR xdr_ypresp_order (3),
-.BR xdr_ypresp_val (3),
-.BR xdr_ypstat (3),
-.BR xdr_ypupdate_args (3),
-.BR yp_all (3),
-.BR yp_bind (3),
-.BR yperr_string (3),
-.BR yp_first (3),
-.BR yp_get_default_domain (3),
-.BR yp_maplist (3),
-.BR yp_master (3),
-.BR yp_match (3),
-.BR yp_next (3),
-.BR yp_order (3),
-.BR ypprot_err (3),
-.BR yp_unbind (3),
-.BR yp_update (3)
+.MR parse_printf_format 3 ,
+.MR p_cdname 3 ,
+.MR p_cdnname 3 ,
+.MR p_class 3 ,
+.MR p_fqname 3 ,
+.MR p_option 3 ,
+.MR p_query 3 ,
+.MR printf_size 3 ,
+.MR printf_size_info 3 ,
+.MR p_rr 3 ,
+.MR p_time 3 ,
+.MR p_type 3 ,
+.MR putlong 3 ,
+.MR putshort 3 ,
+.MR re_compile_fastmap 3 ,
+.MR re_compile_pattern 3 ,
+.MR register_printf_function 3 ,
+.MR re_match 3 ,
+.MR re_match_2 3 ,
+.MR re_rx_search 3 ,
+.MR re_search 3 ,
+.MR re_search_2 3 ,
+.MR re_set_registers 3 ,
+.MR re_set_syntax 3 ,
+.MR res_send_setqhook 3 ,
+.MR res_send_setrhook 3 ,
+.MR ruserpass 3 ,
+.MR setfileno 3 ,
+.MR sethostfile 3 ,
+.MR svc_exit 3 ,
+.MR svcudp_enablecache 3 ,
+.MR tell 3 ,
+.MR thrd_create 3 ,
+.MR thrd_current 3 ,
+.MR thrd_equal 3 ,
+.MR thrd_sleep 3 ,
+.MR thrd_yield 3 ,
+.MR tr_break 3 ,
+.MR tzsetwall 3 ,
+.MR ufc_dofinalperm 3 ,
+.MR ufc_doit 3 ,
+.MR user2netname 3 ,
+.MR wcschrnul 3 ,
+.MR wcsftime 3 ,
+.MR wscanf 3 ,
+.MR xdr_authdes_cred 3 ,
+.MR xdr_authdes_verf 3 ,
+.MR xdr_cryptkeyarg 3 ,
+.MR xdr_cryptkeyres 3 ,
+.MR xdr_datum 3 ,
+.MR xdr_des_block 3 ,
+.MR xdr_domainname 3 ,
+.MR xdr_getcredres 3 ,
+.MR xdr_keybuf 3 ,
+.MR xdr_keystatus 3 ,
+.MR xdr_mapname 3 ,
+.MR xdr_netnamestr 3 ,
+.MR xdr_netobj 3 ,
+.MR xdr_passwd 3 ,
+.MR xdr_peername 3 ,
+.MR xdr_rmtcall_args 3 ,
+.MR xdr_rmtcallres 3 ,
+.MR xdr_unixcred 3 ,
+.MR xdr_yp_buf 3 ,
+.MR xdr_yp_inaddr 3 ,
+.MR xdr_ypbind_binding 3 ,
+.MR xdr_ypbind_resp 3 ,
+.MR xdr_ypbind_resptype 3 ,
+.MR xdr_ypbind_setdom 3 ,
+.MR xdr_ypdelete_args 3 ,
+.MR xdr_ypmaplist 3 ,
+.MR xdr_ypmaplist_str 3 ,
+.MR xdr_yppasswd 3 ,
+.MR xdr_ypreq_key 3 ,
+.MR xdr_ypreq_nokey 3 ,
+.MR xdr_ypresp_all 3 ,
+.MR xdr_ypresp_all_seq 3 ,
+.MR xdr_ypresp_key_val 3 ,
+.MR xdr_ypresp_maplist 3 ,
+.MR xdr_ypresp_master 3 ,
+.MR xdr_ypresp_order 3 ,
+.MR xdr_ypresp_val 3 ,
+.MR xdr_ypstat 3 ,
+.MR xdr_ypupdate_args 3 ,
+.MR yp_all 3 ,
+.MR yp_bind 3 ,
+.MR yperr_string 3 ,
+.MR yp_first 3 ,
+.MR yp_get_default_domain 3 ,
+.MR yp_maplist 3 ,
+.MR yp_master 3 ,
+.MR yp_match 3 ,
+.MR yp_next 3 ,
+.MR yp_order 3 ,
+.MR ypprot_err 3 ,
+.MR yp_unbind 3 ,
+.MR yp_update 3
diff --git a/man3/ungetwc.3 b/man3/ungetwc.3
index 896152e3f..e43d97f24 100644
--- a/man3/ungetwc.3
+++ b/man3/ungetwc.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR ungetwc ()
function is the wide-character equivalent of the
-.BR ungetc (3)
+.MR ungetc 3
function.
It pushes back a wide character onto
.I stream
@@ -75,7 +75,7 @@ upon
failure.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -99,4 +99,4 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR fgetwc (3)
+.MR fgetwc 3
diff --git a/man3/unlocked_stdio.3 b/man3/unlocked_stdio.3
index 1e16877e1..b0a95aed4 100644
--- a/man3/unlocked_stdio.3
+++ b/man3/unlocked_stdio.3
@@ -57,7 +57,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR \%getc_unlocked (),
@@ -102,10 +102,10 @@ without the "_unlocked" suffix, except that they do not use locking
(they do not set locks themselves, and do not test for the presence
of locks set by others) and hence are thread-unsafe.
See
-.BR flockfile (3).
+.MR flockfile 3 .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -198,5 +198,5 @@ POSIX.1-2001.
.\" putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
.\" ungetc_unlocked, ungetwc_unlocked.
.SH SEE ALSO
-.BR flockfile (3),
-.BR stdio (3)
+.MR flockfile 3 ,
+.MR stdio 3
diff --git a/man3/unlockpt.3 b/man3/unlockpt.3
index cb8f18015..f5e7856ad 100644
--- a/man3/unlockpt.3
+++ b/man3/unlockpt.3
@@ -19,7 +19,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR unlockpt ():
@@ -59,7 +59,7 @@ The
argument is not associated with a master pseudoterminal.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -77,8 +77,8 @@ POSIX.1-2008.
glibc 2.1.
POSIX.1-2001.
.SH SEE ALSO
-.BR grantpt (3),
-.BR posix_openpt (3),
-.BR ptsname (3),
-.BR pts (4),
-.BR pty (7)
+.MR grantpt 3 ,
+.MR posix_openpt 3 ,
+.MR ptsname 3 ,
+.MR pts 4 ,
+.MR pty 7
diff --git a/man3/updwtmp.3 b/man3/updwtmp.3
index b8e26be2c..a08f92039 100644
--- a/man3/updwtmp.3
+++ b/man3/updwtmp.3
@@ -41,7 +41,7 @@ to append the structure to the wtmp file.
database of past user logins
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -56,7 +56,7 @@ T} Thread safety MT-Unsafe sig:ALRM timer
.TE
.SH VERSIONS
For consistency with the other "utmpx" functions (see
-.BR getutxent (3)),
+.MR getutxent 3 ),
glibc provides (since glibc 2.1):
.P
.in +4n
@@ -77,5 +77,5 @@ None.
.SH HISTORY
Solaris, NetBSD.
.SH SEE ALSO
-.BR getutxent (3),
-.BR wtmp (5)
+.MR getutxent 3 ,
+.MR wtmp 5
diff --git a/man3/uselocale.3 b/man3/uselocale.3
index 3e3df603c..17e7813fc 100644
--- a/man3/uselocale.3
+++ b/man3/uselocale.3
@@ -17,7 +17,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR uselocale ():
@@ -47,7 +47,7 @@ The calling thread's current locale is set to the specified locale.
.TP
The special locale object handle \fBLC_GLOBAL_LOCALE\fP
The calling thread's current locale is set to the global locale determined by
-.BR setlocale (3).
+.MR setlocale 3 .
.TP
.I "(locale_t) 0"
The calling thread's current locale is left unchanged
@@ -77,26 +77,26 @@ glibc 2.3.
POSIX.1-2008.
.SH NOTES
Unlike
-.BR setlocale (3),
+.MR setlocale 3 ,
.BR uselocale ()
does not allow selective replacement of individual locale categories.
To employ a locale that differs in only a few categories from the current
locale, use calls to
-.BR duplocale (3)
+.MR duplocale 3
and
-.BR newlocale (3)
+.MR newlocale 3
to obtain a locale object equivalent to the current locale and
modify the desired categories in that object.
.SH EXAMPLES
See
-.BR newlocale (3)
+.MR newlocale 3
and
-.BR duplocale (3).
+.MR duplocale 3 .
.SH SEE ALSO
-.BR locale (1),
-.BR duplocale (3),
-.BR freelocale (3),
-.BR newlocale (3),
-.BR setlocale (3),
-.BR locale (5),
-.BR locale (7)
+.MR locale 1 ,
+.MR duplocale 3 ,
+.MR freelocale 3 ,
+.MR newlocale 3 ,
+.MR setlocale 3 ,
+.MR locale 5 ,
+.MR locale 7
diff --git a/man3/usleep.3 b/man3/usleep.3
index c0715c207..a11688c9a 100644
--- a/man3/usleep.3
+++ b/man3/usleep.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR usleep ():
@@ -58,14 +58,14 @@ set to indicate the error.
.TP
.B EINTR
Interrupted by a signal; see
-.BR signal (7).
+.MR signal 7 .
.TP
.B EINVAL
\fIusec\fP is greater than or equal to 1000000.
(On systems where that is considered an error.)
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -82,7 +82,7 @@ None.
.SH HISTORY
4.3BSD, POSIX.1-2001.
POSIX.1-2001 declares it obsolete, suggesting
-.BR nanosleep (2)
+.MR nanosleep 2
instead.
Removed in POSIX.1-2008.
.P
@@ -100,24 +100,24 @@ error return is documented by SUSv2 and POSIX.1-2001.
The interaction of this function with the
.B SIGALRM
signal, and with other timer functions such as
-.BR alarm (2),
-.BR sleep (3),
-.BR nanosleep (2),
-.BR setitimer (2),
-.BR timer_create (2),
-.BR timer_delete (2),
-.BR timer_getoverrun (2),
-.BR timer_gettime (2),
-.BR timer_settime (2),
-.BR ualarm (3)
+.MR alarm 2 ,
+.MR sleep 3 ,
+.MR nanosleep 2 ,
+.MR setitimer 2 ,
+.MR timer_create 2 ,
+.MR timer_delete 2 ,
+.MR timer_getoverrun 2 ,
+.MR timer_gettime 2 ,
+.MR timer_settime 2 ,
+.MR ualarm 3
is unspecified.
.SH SEE ALSO
-.BR alarm (2),
-.BR getitimer (2),
-.BR nanosleep (2),
-.BR select (2),
-.BR setitimer (2),
-.BR sleep (3),
-.BR ualarm (3),
-.BR useconds_t (3type),
-.BR time (7)
+.MR alarm 2 ,
+.MR getitimer 2 ,
+.MR nanosleep 2 ,
+.MR select 2 ,
+.MR setitimer 2 ,
+.MR sleep 3 ,
+.MR ualarm 3 ,
+.MR useconds_t 3type ,
+.MR time 7
diff --git a/man3/wcpcpy.3 b/man3/wcpcpy.3
index aa20c097a..268aaeaf7 100644
--- a/man3/wcpcpy.3
+++ b/man3/wcpcpy.3
@@ -24,7 +24,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wcpcpy ():
@@ -38,7 +38,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR wcpcpy ()
function is the wide-character equivalent of the
-.BR stpcpy (3)
+.MR stpcpy 3
function.
It copies the wide-character string pointed to by
.IR src ,
@@ -60,7 +60,7 @@ returns a pointer to the end of the wide-character string
that is, a pointer to the terminating null wide character.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -75,5 +75,5 @@ T} Thread safety MT-Safe
.SH STANDARDS
POSIX.1-2008.
.SH SEE ALSO
-.BR strcpy (3),
-.BR wcscpy (3)
+.MR strcpy 3 ,
+.MR wcscpy 3
diff --git a/man3/wcpncpy.3 b/man3/wcpncpy.3
index 9b7ae8ca1..38e0b1559 100644
--- a/man3/wcpncpy.3
+++ b/man3/wcpncpy.3
@@ -26,7 +26,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wcpncpy ():
@@ -41,7 +41,7 @@ The
.BR wcpncpy ()
function is the wide-character equivalent
of the
-.BR stpncpy (3)
+.MR stpncpy 3
function.
It copies at most
.I n
@@ -87,7 +87,7 @@ returns a pointer to the last wide character written, that is,
.IR dest + n \-1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -102,5 +102,5 @@ T} Thread safety MT-Safe
.SH STANDARDS
POSIX.1-2008.
.SH SEE ALSO
-.BR stpncpy (3),
-.BR wcsncpy (3)
+.MR stpncpy 3 ,
+.MR wcsncpy 3
diff --git a/man3/wcrtomb.3 b/man3/wcrtomb.3
index d7673312f..1a568d9a9 100644
--- a/man3/wcrtomb.3
+++ b/man3/wcrtomb.3
@@ -112,7 +112,7 @@ set to
.BR EILSEQ .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -140,5 +140,5 @@ Passing NULL as
.I ps
is not multithread safe.
.SH SEE ALSO
-.BR mbsinit (3),
-.BR wcsrtombs (3)
+.MR mbsinit 3 ,
+.MR wcsrtombs 3
diff --git a/man3/wcscasecmp.3 b/man3/wcscasecmp.3
index 88d88b2a3..47be00b5c 100644
--- a/man3/wcscasecmp.3
+++ b/man3/wcscasecmp.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wcscasecmp ():
@@ -37,7 +37,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR wcscasecmp ()
function is the wide-character equivalent of the
-.BR strcasecmp (3)
+.MR strcasecmp 3
function.
It compares the wide-character string pointed to
by
@@ -46,8 +46,9 @@ and the wide-character string pointed to by
.IR s2 ,
ignoring
case differences
-.RB ( towupper (3),
-.BR towlower (3)).
+\%(\c
+.MR towupper 3 ,
+.MR towlower 3 ).
.SH RETURN VALUE
The
.BR wcscasecmp ()
@@ -71,7 +72,7 @@ than
ignoring case.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -95,5 +96,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR strcasecmp (3),
-.BR wcscmp (3)
+.MR strcasecmp 3 ,
+.MR wcscmp 3
diff --git a/man3/wcscat.3 b/man3/wcscat.3
index 1cdf97f9f..ad6f362a1 100644
--- a/man3/wcscat.3
+++ b/man3/wcscat.3
@@ -27,7 +27,7 @@ The
.BR wcscat ()
function is the wide-character equivalent
of the
-.BR strcat (3)
+.MR strcat 3
function.
It copies the wide-character string pointed to by
.IR src ,
@@ -47,7 +47,7 @@ returns
.IR dest .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -64,7 +64,7 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strcat (3),
-.BR wcpcpy (3),
-.BR wcscpy (3),
-.BR wcsncat (3)
+.MR strcat 3 ,
+.MR wcpcpy 3 ,
+.MR wcscpy 3 ,
+.MR wcsncat 3
diff --git a/man3/wcschr.3 b/man3/wcschr.3
index d12199b0e..877805fee 100644
--- a/man3/wcschr.3
+++ b/man3/wcschr.3
@@ -26,7 +26,7 @@ The
.BR wcschr ()
function is the wide-character equivalent
of the
-.BR strchr (3)
+.MR strchr 3
function.
It searches the first occurrence of
.I wc
@@ -45,7 +45,7 @@ or NULL if
does not occur in the string.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -62,8 +62,8 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strchr (3),
-.BR wcspbrk (3),
-.BR wcsrchr (3),
-.BR wcsstr (3),
-.BR wmemchr (3)
+.MR strchr 3 ,
+.MR wcspbrk 3 ,
+.MR wcsrchr 3 ,
+.MR wcsstr 3 ,
+.MR wmemchr 3
diff --git a/man3/wcscmp.3 b/man3/wcscmp.3
index 529edfaeb..57ac4ccad 100644
--- a/man3/wcscmp.3
+++ b/man3/wcscmp.3
@@ -26,7 +26,7 @@ The
.BR wcscmp ()
function is the wide-character equivalent
of the
-.BR strcmp (3)
+.MR strcmp 3
function.
It compares the wide-character string pointed to by
.I s1
@@ -57,7 +57,7 @@ is less than
.IR s2[i] .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -74,6 +74,6 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strcmp (3),
-.BR wcscasecmp (3),
-.BR wmemcmp (3)
+.MR strcmp 3 ,
+.MR wcscasecmp 3 ,
+.MR wmemcmp 3
diff --git a/man3/wcscpy.3 b/man3/wcscpy.3
index 83573fb1b..05c3bf746 100644
--- a/man3/wcscpy.3
+++ b/man3/wcscpy.3
@@ -27,7 +27,7 @@ The
.BR wcscpy ()
function is the wide-character equivalent
of the
-.BR strcpy (3)
+.MR strcpy 3
function.
It copies the wide-character string pointed to by
.IR src ,
@@ -48,7 +48,7 @@ returns
.IR dest .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -65,8 +65,8 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strcpy (3),
-.BR wcpcpy (3),
-.BR wcscat (3),
-.BR wcsdup (3),
-.BR wmemcpy (3)
+.MR strcpy 3 ,
+.MR wcpcpy 3 ,
+.MR wcscat 3 ,
+.MR wcsdup 3 ,
+.MR wmemcpy 3
diff --git a/man3/wcscspn.3 b/man3/wcscspn.3
index a54578278..821f16406 100644
--- a/man3/wcscspn.3
+++ b/man3/wcscspn.3
@@ -26,7 +26,7 @@ The
.BR wcscspn ()
function is the wide-character equivalent
of the
-.BR strcspn (3)
+.MR strcspn 3
function.
It determines the length of the longest initial segment of
.I wcs
@@ -59,7 +59,7 @@ or
if there is none.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,6 +76,6 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strcspn (3),
-.BR wcspbrk (3),
-.BR wcsspn (3)
+.MR strcspn 3 ,
+.MR wcspbrk 3 ,
+.MR wcsspn 3
diff --git a/man3/wcsdup.3 b/man3/wcsdup.3
index 28fb0516f..7304f647d 100644
--- a/man3/wcsdup.3
+++ b/man3/wcsdup.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wcsdup ():
@@ -38,7 +38,7 @@ The
.BR wcsdup ()
function is the wide-character equivalent
of the
-.BR strdup (3)
+.MR strdup 3
function.
It allocates and returns a new wide-character string whose initial
contents is a duplicate of the wide-character string pointed to by
@@ -46,9 +46,9 @@ contents is a duplicate of the wide-character string pointed to by
.P
Memory for the new wide-character string is
obtained with
-.BR malloc (3),
+.MR malloc 3 ,
and should be freed with
-.BR free (3).
+.MR free 3 .
.SH RETURN VALUE
On success,
.BR wcsdup ()
@@ -62,7 +62,7 @@ set to indicate the error.
Insufficient memory available to allocate duplicate string.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -79,5 +79,5 @@ POSIX.1-2008.
.SH HISTORY
libc5, glibc 2.0.
.SH SEE ALSO
-.BR strdup (3),
-.BR wcscpy (3)
+.MR strdup 3 ,
+.MR wcscpy 3
diff --git a/man3/wcslen.3 b/man3/wcslen.3
index ee30e6b42..a46f250bb 100644
--- a/man3/wcslen.3
+++ b/man3/wcslen.3
@@ -26,7 +26,7 @@ The
.BR wcslen ()
function is the wide-character equivalent
of the
-.BR strlen (3)
+.MR strlen 3
function.
It determines the length of the wide-character string pointed to
by
@@ -40,7 +40,7 @@ number of wide characters in
.IR s .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -59,7 +59,7 @@ POSIX.1-2001, C99.
.SH NOTES
In cases where the input buffer may not contain
a terminating null wide character,
-.BR wcsnlen (3)
+.MR wcsnlen 3
should be used instead.
.SH SEE ALSO
-.BR strlen (3)
+.MR strlen 3
diff --git a/man3/wcsncasecmp.3 b/man3/wcsncasecmp.3
index dba58b747..25b2ef8ea 100644
--- a/man3/wcsncasecmp.3
+++ b/man3/wcsncasecmp.3
@@ -24,7 +24,7 @@ ize_t " n );
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wcsncasecmp ():
@@ -38,7 +38,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR wcsncasecmp ()
function is the wide-character equivalent of the
-.BR strncasecmp (3)
+.MR strncasecmp 3
function.
It compares the wide-character string pointed to
by
@@ -49,8 +49,9 @@ pointed to by
but at most
.I n
wide characters from each string, ignoring case differences
-.RB ( towupper (3),
-.BR towlower (3)).
+\%(\c
+.MR towupper 3 ,
+.MR towlower 3 ).
.SH RETURN VALUE
The
.BR wcsncasecmp ()
@@ -77,7 +78,7 @@ is smaller than truncated
ignoring case.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -101,5 +102,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR strncasecmp (3),
-.BR wcsncmp (3)
+.MR strncasecmp 3 ,
+.MR wcsncmp 3
diff --git a/man3/wcsncat.3 b/man3/wcsncat.3
index 9b4fe52e6..0791634d1 100644
--- a/man3/wcsncat.3
+++ b/man3/wcsncat.3
@@ -27,7 +27,7 @@ Standard C library
The
.BR wcsncat ()
function is the wide-character equivalent of the
-.BR strncat (3)
+.MR strncat 3
function.
It copies at most
.I n
@@ -51,7 +51,7 @@ returns
.IR dest .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -68,5 +68,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strncat (3),
-.BR wcscat (3)
+.MR strncat 3 ,
+.MR wcscat 3
diff --git a/man3/wcsncmp.3 b/man3/wcsncmp.3
index 4792e8285..9c0812068 100644
--- a/man3/wcsncmp.3
+++ b/man3/wcsncmp.3
@@ -26,7 +26,7 @@ size_t " n );
The
.BR wcsncmp ()
function is the wide-character equivalent of the
-.BR strncmp (3)
+.MR strncmp 3
function.
It compares the wide-character string pointed to by
.I s1
@@ -72,7 +72,7 @@ is less than
.IR s2[i] .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -89,5 +89,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strncmp (3),
-.BR wcsncasecmp (3)
+.MR strncmp 3 ,
+.MR wcsncasecmp 3
diff --git a/man3/wcsncpy.3 b/man3/wcsncpy.3
index a42f17270..c1a11d4ea 100644
--- a/man3/wcsncpy.3
+++ b/man3/wcsncpy.3
@@ -27,7 +27,7 @@ Standard C library
The
.BR wcsncpy ()
function is the wide-character equivalent of the
-.BR strncpy (3)
+.MR strncpy 3
function.
It copies at most
.I n
@@ -69,7 +69,7 @@ returns
.IR dest .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -86,4 +86,4 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strncpy (3)
+.MR strncpy 3
diff --git a/man3/wcsnlen.3 b/man3/wcsnlen.3
index cd7dd6642..2bf8e1035 100644
--- a/man3/wcsnlen.3
+++ b/man3/wcsnlen.3
@@ -23,7 +23,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wcsnlen ():
@@ -38,7 +38,7 @@ The
.BR wcsnlen ()
function is the wide-character equivalent
of the
-.BR strnlen (3)
+.MR strnlen 3
function.
It returns the number of wide-characters in the string pointed to by
.IR s ,
@@ -70,7 +70,7 @@ wide characters pointed to by
.IR s .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -87,5 +87,5 @@ POSIX.1-2008.
.SH HISTORY
glibc 2.1.
.SH SEE ALSO
-.BR strnlen (3),
-.BR wcslen (3)
+.MR strnlen 3 ,
+.MR wcslen 3
diff --git a/man3/wcsnrtombs.3 b/man3/wcsnrtombs.3
index 229cf59a3..705ab4209 100644
--- a/man3/wcsnrtombs.3
+++ b/man3/wcsnrtombs.3
@@ -26,7 +26,7 @@ mbstate_t *restrict " ps );
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wcsnrtombs ():
@@ -40,7 +40,7 @@ Feature Test Macro Requirements for glibc (see
The
.BR wcsnrtombs ()
function is like the
-.BR wcsrtombs (3)
+.MR wcsrtombs 3
function,
except that the number of wide characters to be converted,
starting at
@@ -154,7 +154,7 @@ set to
.BR EILSEQ .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -184,6 +184,6 @@ Passing NULL as
.I ps
is not multithread safe.
.SH SEE ALSO
-.BR iconv (3),
-.BR mbsinit (3),
-.BR wcsrtombs (3)
+.MR iconv 3 ,
+.MR mbsinit 3 ,
+.MR wcsrtombs 3
diff --git a/man3/wcspbrk.3 b/man3/wcspbrk.3
index 4da04896e..6fc686135 100644
--- a/man3/wcspbrk.3
+++ b/man3/wcspbrk.3
@@ -26,7 +26,7 @@ The
.BR wcspbrk ()
function is the wide-character equivalent
of the
-.BR strpbrk (3)
+.MR strpbrk 3
function.
It searches for the first occurrence in the wide-character
string pointed to by
@@ -47,7 +47,7 @@ If
contains none of these characters, NULL is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -64,6 +64,6 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strpbrk (3),
-.BR wcschr (3),
-.BR wcscspn (3)
+.MR strpbrk 3 ,
+.MR wcschr 3 ,
+.MR wcscspn 3
diff --git a/man3/wcsrchr.3 b/man3/wcsrchr.3
index eb3779f8c..42f202ea7 100644
--- a/man3/wcsrchr.3
+++ b/man3/wcsrchr.3
@@ -26,7 +26,7 @@ The
.BR wcsrchr ()
function is the wide-character equivalent
of the
-.BR strrchr (3)
+.MR strrchr 3
function.
It searches the last occurrence of
.I wc
@@ -45,7 +45,7 @@ or NULL if
does not occur in the string.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -62,5 +62,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strrchr (3),
-.BR wcschr (3)
+.MR strrchr 3 ,
+.MR wcschr 3
diff --git a/man3/wcsrtombs.3 b/man3/wcsrtombs.3
index 28067cbed..dcd523964 100644
--- a/man3/wcsrtombs.3
+++ b/man3/wcsrtombs.3
@@ -125,7 +125,7 @@ set to
.BR EILSEQ .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -157,8 +157,8 @@ Passing NULL as
.I ps
is not multithread safe.
.SH SEE ALSO
-.BR iconv (3),
-.BR mbsinit (3),
-.BR wcrtomb (3),
-.BR wcsnrtombs (3),
-.BR wcstombs (3)
+.MR iconv 3 ,
+.MR mbsinit 3 ,
+.MR wcrtomb 3 ,
+.MR wcsnrtombs 3 ,
+.MR wcstombs 3
diff --git a/man3/wcsspn.3 b/man3/wcsspn.3
index 8929e216e..fac65584b 100644
--- a/man3/wcsspn.3
+++ b/man3/wcsspn.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR wcsspn ()
function is the wide-character equivalent of the
-.BR strspn (3)
+.MR strspn 3
function.
It determines the length of the longest initial segment of
.I wcs
@@ -57,7 +57,7 @@ or
if there is none.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -74,5 +74,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strspn (3),
-.BR wcscspn (3)
+.MR strspn 3 ,
+.MR wcscspn 3
diff --git a/man3/wcsstr.3 b/man3/wcsstr.3
index d9bde3669..fb5b26579 100644
--- a/man3/wcsstr.3
+++ b/man3/wcsstr.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR wcsstr ()
function is the wide-character equivalent of the
-.BR strstr (3)
+.MR strstr 3
function.
It searches for the first occurrence of the wide-character string
.I needle
@@ -54,7 +54,7 @@ the return value is always
itself.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -71,5 +71,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR strstr (3),
-.BR wcschr (3)
+.MR strstr 3 ,
+.MR wcschr 3
diff --git a/man3/wcstoimax.3 b/man3/wcstoimax.3
index 40a677108..105633ed7 100644
--- a/man3/wcstoimax.3
+++ b/man3/wcstoimax.3
@@ -21,9 +21,9 @@ Standard C library
.fi
.SH DESCRIPTION
These functions are just like
-.BR wcstol (3)
+.MR wcstol 3
and
-.BR wcstoul (3),
+.MR wcstoul 3 ,
except that they return a value of type
.I intmax_t
and
@@ -31,7 +31,7 @@ and
respectively.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -49,10 +49,10 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR imaxabs (3),
-.BR imaxdiv (3),
-.BR strtoimax (3),
-.BR strtoumax (3),
+.MR imaxabs 3 ,
+.MR imaxdiv 3 ,
+.MR strtoimax 3 ,
+.MR strtoumax 3 ,
.\" FIXME . the pages referred to by the following xrefs are not yet written
-.BR wcstol (3),
-.BR wcstoul (3)
+.MR wcstol 3 ,
+.MR wcstoul 3
diff --git a/man3/wcstok.3 b/man3/wcstok.3
index 2e5f82460..92e50a8ea 100644
--- a/man3/wcstok.3
+++ b/man3/wcstok.3
@@ -27,7 +27,7 @@ Standard C library
The
.BR wcstok ()
function is the wide-character equivalent of the
-.BR strtok (3)
+.MR strtok 3
function,
with an added argument to make it multithread-safe.
It can be used
@@ -78,7 +78,7 @@ function returns a pointer to the next token,
or NULL if no further token was found.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -113,5 +113,5 @@ for (token = wcstok(wcs, L" \et\en", &state);
}
.EE
.SH SEE ALSO
-.BR strtok (3),
-.BR wcschr (3)
+.MR strtok 3 ,
+.MR wcschr 3
diff --git a/man3/wcstombs.3 b/man3/wcstombs.3
index 403dacb3e..606ebe0d0 100644
--- a/man3/wcstombs.3
+++ b/man3/wcstombs.3
@@ -90,7 +90,7 @@ converted,
is returned.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -104,7 +104,7 @@ T} Thread safety MT-Safe
.TE
.SH VERSIONS
The function
-.BR wcsrtombs (3)
+.MR wcsrtombs 3
provides a better interface to the same functionality.
.SH STANDARDS
C11, POSIX.1-2008.
@@ -118,8 +118,8 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR mblen (3),
-.BR mbstowcs (3),
-.BR mbtowc (3),
-.BR wcsrtombs (3),
-.BR wctomb (3)
+.MR mblen 3 ,
+.MR mbstowcs 3 ,
+.MR mbtowc 3 ,
+.MR wcsrtombs 3 ,
+.MR wctomb 3
diff --git a/man3/wcswidth.3 b/man3/wcswidth.3
index 444410d2f..28b42476b 100644
--- a/man3/wcswidth.3
+++ b/man3/wcswidth.3
@@ -45,7 +45,7 @@ truncated to at most length
.IR n .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -69,5 +69,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR iswprint (3),
-.BR wcwidth (3)
+.MR iswprint 3 ,
+.MR wcwidth 3
diff --git a/man3/wctob.3 b/man3/wctob.3
index 5c3d1d008..166be7d38 100644
--- a/man3/wctob.3
+++ b/man3/wctob.3
@@ -48,7 +48,7 @@ if it exists, or
otherwise.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -76,11 +76,11 @@ This function should never be used.
Internationalized programs must never
distinguish single-byte and multibyte characters.
Use either
-.BR wctomb (3)
+.MR wctomb 3
or the thread-safe
-.BR wcrtomb (3)
+.MR wcrtomb 3
instead.
.SH SEE ALSO
-.BR btowc (3),
-.BR wcrtomb (3),
-.BR wctomb (3)
+.MR btowc 3 ,
+.MR wcrtomb 3 ,
+.MR wctomb 3
diff --git a/man3/wctomb.3 b/man3/wctomb.3
index e500bc989..4ad76e49d 100644
--- a/man3/wctomb.3
+++ b/man3/wctomb.3
@@ -82,7 +82,7 @@ function returns nonzero if the
encoding has nontrivial shift state, or zero if the encoding is stateless.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -96,7 +96,7 @@ T} Thread safety MT-Unsafe race
.TE
.SH VERSIONS
The function
-.BR wcrtomb (3)
+.MR wcrtomb 3
provides
a better interface to the same functionality.
.SH STANDARDS
@@ -111,9 +111,9 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR MB_CUR_MAX (3),
-.BR mblen (3),
-.BR mbstowcs (3),
-.BR mbtowc (3),
-.BR wcrtomb (3),
-.BR wcstombs (3)
+.MR MB_CUR_MAX 3 ,
+.MR mblen 3 ,
+.MR mbstowcs 3 ,
+.MR mbtowc 3 ,
+.MR wcrtomb 3 ,
+.MR wcstombs 3
diff --git a/man3/wctrans.3 b/man3/wctrans.3
index e82fca0d6..bd657e88c 100644
--- a/man3/wctrans.3
+++ b/man3/wctrans.3
@@ -34,7 +34,7 @@ denotes an invalid mapping.
Nonzero
.I wctrans_t
values can be passed to the
-.BR towctrans (3)
+.MR towctrans 3
function to actually perform
the wide-character mapping.
.P
@@ -61,7 +61,7 @@ Otherwise, it returns
.IR "(wctrans_t)\ 0" .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -85,4 +85,4 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR towctrans (3)
+.MR towctrans 3
diff --git a/man3/wctype.3 b/man3/wctype.3
index 5e21005c6..5e1d63924 100644
--- a/man3/wctype.3
+++ b/man3/wctype.3
@@ -34,7 +34,7 @@ Nonzero
.I wctype_t
values
can be passed to the
-.BR iswctype (3)
+.MR iswctype 3
function
to actually test whether a given
wide character has the property.
@@ -73,7 +73,7 @@ Otherwise, it returns
.IR "(wctype_t) 0" .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -97,4 +97,4 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR iswctype (3)
+.MR iswctype 3
diff --git a/man3/wcwidth.3 b/man3/wcwidth.3
index 65e9ced73..7b2ce2ab9 100644
--- a/man3/wcwidth.3
+++ b/man3/wcwidth.3
@@ -43,7 +43,7 @@ column positions for
.IR c .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -73,5 +73,5 @@ depends on the
category of the
current locale.
.SH SEE ALSO
-.BR iswprint (3),
-.BR wcswidth (3)
+.MR iswprint 3 ,
+.MR wcswidth 3
diff --git a/man3/wmemchr.3 b/man3/wmemchr.3
index 638d2f785..b069e28d5 100644
--- a/man3/wmemchr.3
+++ b/man3/wmemchr.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR wmemchr ()
function is the wide-character equivalent of the
-.BR memchr (3)
+.MR memchr 3
function.
It searches the
.I n
@@ -49,7 +49,7 @@ does
not occur among these.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -66,5 +66,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR memchr (3),
-.BR wcschr (3)
+.MR memchr 3 ,
+.MR wcschr 3
diff --git a/man3/wmemcmp.3 b/man3/wmemcmp.3
index 549057c7a..e8530ac1a 100644
--- a/man3/wmemcmp.3
+++ b/man3/wmemcmp.3
@@ -25,7 +25,7 @@ size_t " n );
The
.BR wmemcmp ()
function is the wide-character equivalent of the
-.BR memcmp (3)
+.MR memcmp 3
function.
It compares the
.I n
@@ -69,7 +69,7 @@ is less than
.IR s2[i] .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -86,5 +86,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR memcmp (3),
-.BR wcscmp (3)
+.MR memcmp 3 ,
+.MR wcscmp 3
diff --git a/man3/wmemcpy.3 b/man3/wmemcpy.3
index d44332230..ab878fb1a 100644
--- a/man3/wmemcpy.3
+++ b/man3/wmemcpy.3
@@ -27,7 +27,7 @@ Standard C library
The
.BR wmemcpy ()
function is the wide-character equivalent of the
-.BR memcpy (3)
+.MR memcpy 3
function.
It copies
.I n
@@ -37,7 +37,7 @@ to the array starting at
.IR dest .
.P
The arrays may not overlap; use
-.BR wmemmove (3)
+.MR wmemmove 3
to copy between overlapping
arrays.
.P
@@ -52,7 +52,7 @@ returns
.IR dest .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -69,7 +69,7 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR memcpy (3),
-.BR wcscpy (3),
-.BR wmemmove (3),
-.BR wmempcpy (3)
+.MR memcpy 3 ,
+.MR wcscpy 3 ,
+.MR wmemmove 3 ,
+.MR wmempcpy 3
diff --git a/man3/wmemmove.3 b/man3/wmemmove.3
index b460e4206..e1579220b 100644
--- a/man3/wmemmove.3
+++ b/man3/wmemmove.3
@@ -26,7 +26,7 @@ size_t " n );
The
.BR wmemmove ()
function is the wide-character equivalent of the
-.BR memmove (3)
+.MR memmove 3
function.
It copies
.I n
@@ -49,7 +49,7 @@ returns
.IR dest .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -66,5 +66,5 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR memmove (3),
-.BR wmemcpy (3)
+.MR memmove 3 ,
+.MR wmemcpy 3
diff --git a/man3/wmemset.3 b/man3/wmemset.3
index a4323bc7a..70573c182 100644
--- a/man3/wmemset.3
+++ b/man3/wmemset.3
@@ -25,7 +25,7 @@ Standard C library
The
.BR wmemset ()
function is the wide-character equivalent of the
-.BR memset (3)
+.MR memset 3
function.
It fills the array of
.I n
@@ -41,7 +41,7 @@ returns
.IR wcs .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -58,4 +58,4 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C99.
.SH SEE ALSO
-.BR memset (3)
+.MR memset 3
diff --git a/man3/wordexp.3 b/man3/wordexp.3
index 94a2a393b..cd8c59c1a 100644
--- a/man3/wordexp.3
+++ b/man3/wordexp.3
@@ -20,7 +20,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR wordexp (),
@@ -72,7 +72,7 @@ its argument, but it frees the array
and the strings that points to.
.SS The string argument
Since the expansion is the same as the expansion by the shell (see
-.BR sh (1))
+.MR sh 1 )
of the parameters to a command, the string
.I s
must not contain characters that would be illegal in shell command
@@ -173,7 +173,7 @@ Shell syntax error, such as unbalanced parentheses or
unmatched quotes.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lb lb lbx
@@ -201,10 +201,10 @@ In the above table,
in
.I race:utent
signifies that if any of the functions
-.BR setutent (3),
-.BR getutent (3),
+.MR setutent 3 ,
+.MR getutent 3 ,
or
-.BR endutent (3)
+.MR endutent 3
are used in parallel in different threads of a program,
then data races could occur.
.BR wordexp ()
@@ -241,5 +241,5 @@ main(void)
.EE
.\" SRC END
.SH SEE ALSO
-.BR fnmatch (3),
-.BR glob (3)
+.MR fnmatch 3 ,
+.MR glob 3
diff --git a/man3/wprintf.3 b/man3/wprintf.3
index d8ebe47fa..04e4794e9 100644
--- a/man3/wprintf.3
+++ b/man3/wprintf.3
@@ -36,7 +36,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
All functions shown above:
@@ -55,7 +55,7 @@ The
.BR wprintf ()
family of functions is
the wide-character equivalent of the
-.BR printf (3)
+.MR printf 3
family of functions.
It performs formatted output of wide
characters.
@@ -69,7 +69,7 @@ perform wide-character output to
.IR stdout .
.I stdout
must not be byte oriented; see
-.BR fwide (3)
+.MR fwide 3
for more information.
.P
The
@@ -81,7 +81,7 @@ perform wide-character output to
.IR stream .
.I stream
must not be byte oriented; see
-.BR fwide (3)
+.MR fwide 3
for more information.
.P
The
@@ -100,12 +100,12 @@ characters at
.P
These functions are like
the
-.BR printf (3),
-.BR vprintf (3),
-.BR fprintf (3),
-.BR vfprintf (3),
-.BR sprintf (3),
-.BR vsprintf (3)
+.MR printf 3 ,
+.MR vprintf 3 ,
+.MR fprintf 3 ,
+.MR vfprintf 3 ,
+.MR sprintf 3 ,
+.MR vsprintf 3
functions except for the
following differences:
.TP
@@ -124,13 +124,13 @@ and
take a
.I maxlen
argument,
-.BR sprintf (3)
+.MR sprintf 3
and
-.BR vsprintf (3)
+.MR vsprintf 3
do not.
.RB ( snprintf (3)
and
-.BR vsnprintf (3)
+.MR vsnprintf 3
take a
.I maxlen
argument, but these functions do not return \-1 upon
@@ -148,7 +148,7 @@ If no
modifier is present, the
.I int
argument is converted to a wide character by a call to the
-.BR btowc (3)
+.MR btowc 3
function, and the resulting wide character is written.
If an
.B l
@@ -166,7 +166,7 @@ argument is expected to be a pointer to an array of character type
in the initial shift state.
Characters from the array are converted to
wide characters (each by a call to the
-.BR mbrtowc (3)
+.MR mbrtowc 3
function with a conversion state starting in the initial state before
the first byte).
The resulting wide characters are written up to
@@ -205,7 +205,7 @@ and
They return \-1 when an error occurs.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -259,15 +259,15 @@ internationalized programs, the
string should consist of ASCII
wide characters only, or should be constructed at run time in an
internationalized way (e.g., using
-.BR gettext (3)
+.MR gettext 3
or
-.BR iconv (3),
+.MR iconv 3 ,
followed by
-.BR mbstowcs (3)).
+.MR mbstowcs 3 ).
.SH SEE ALSO
-.BR fprintf (3),
-.BR fputwc (3),
-.BR fwide (3),
-.BR printf (3),
-.BR snprintf (3)
+.MR fprintf 3 ,
+.MR fputwc 3 ,
+.MR fwide 3 ,
+.MR printf 3 ,
+.MR snprintf 3
.\" .BR wscanf (3)
diff --git a/man3/xcrypt.3 b/man3/xcrypt.3
index 7c9786dd3..6318291f9 100644
--- a/man3/xcrypt.3
+++ b/man3/xcrypt.3
@@ -73,7 +73,7 @@ and
return 1 on success and 0 on error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -92,4 +92,4 @@ These functions are available since glibc 2.1.
.SH BUGS
The prototypes are missing from the abovementioned include file.
.SH SEE ALSO
-.BR cbc_crypt (3)
+.MR cbc_crypt 3
diff --git a/man3/xdr.3 b/man3/xdr.3
index c0ac7d352..1297adb19 100644
--- a/man3/xdr.3
+++ b/man3/xdr.3
@@ -284,9 +284,9 @@ Similarly, when a stream's input buffer is empty,
is called.
The behavior of these two routines is similar to
the system calls
-.BR read (2)
+.MR read 2
and
-.BR write (2),
+.MR write 2 ,
except that
.I handle
is passed to the former routines as the first argument.
@@ -408,11 +408,11 @@ or
.BR XDR_FREE ).
.IP
Warning: the destroy routine associated with such XDR streams calls
-.BR fflush (3)
+.MR fflush 3
on the
.I file
stream, but never
-.BR fclose (3).
+.MR fclose 3 .
.P
.nf
.BI "bool_t xdr_string(XDR *" xdrs ", char **" sp ", unsigned int " maxsize );
@@ -550,7 +550,7 @@ one of the most frequently used primitives, requires three.
Returns one if it succeeds, zero otherwise.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -595,7 +595,7 @@ T{
T} Thread safety MT-Safe
.TE
.SH SEE ALSO
-.BR rpc (3)
+.MR rpc 3
.P
The following manuals:
.RS
diff --git a/man3/y0.3 b/man3/y0.3
index 783471291..8b517e311 100644
--- a/man3/y0.3
+++ b/man3/y0.3
@@ -40,7 +40,7 @@ Math library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.BR y0 (),
@@ -147,7 +147,7 @@ respectively.
(POSIX.1-2001 also allows a 0.0 return for this case.)
.SH ERRORS
See
-.BR math_error (7)
+.MR math_error 7
for information on how to determine whether an error has occurred
when calling these functions.
.P
@@ -182,7 +182,7 @@ No
exception is returned by
.\" This is intended behavior
.\" See https://www.sourceware.org/bugzilla/show_bug.cgi?id=6806
-.BR fetestexcept (3)
+.MR fetestexcept 3
for this case.
.TP
Range error: result overflow
@@ -196,7 +196,7 @@ An overflow floating-point exception
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
-.BR attributes (7).
+.MR attributes 7 .
.TS
allbox;
lbx lb lb
@@ -273,4 +273,4 @@ these functions do not raise an invalid floating-point exception
.RB ( FE_INVALID )
when a domain error occurs.
.SH SEE ALSO
-.BR j0 (3)
+.MR j0 3
diff --git a/man3const/EOF.3const b/man3const/EOF.3const
index f41d1d15a..384fbc651 100644
--- a/man3const/EOF.3const
+++ b/man3const/EOF.3const
@@ -38,5 +38,5 @@ closing the writing stream or file descriptor
that refers to such file
is the way to signal the end of that file.
.SH SEE ALSO
-.BR feof (3),
-.BR fgetc (3)
+.MR feof 3 ,
+.MR fgetc 3
diff --git a/man3const/EXIT_SUCCESS.3const b/man3const/EXIT_SUCCESS.3const
index 260915eb8..b6d972622 100644
--- a/man3const/EXIT_SUCCESS.3const
+++ b/man3const/EXIT_SUCCESS.3const
@@ -22,7 +22,7 @@ and
.B EXIT_FAILURE
represent a successful and unsuccessful exit status respectively,
and can be used as arguments to the
-.BR exit (3)
+.MR exit 3
function.
.SH CONFORMING TO
C99 and later;
@@ -57,5 +57,5 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR exit (3),
-.BR sysexits.h (3head)
+.MR exit 3 ,
+.MR sysexits.h 3head
diff --git a/man3const/NULL.3const b/man3const/NULL.3const
index e395628a9..19e7e957b 100644
--- a/man3const/NULL.3const
+++ b/man3const/NULL.3const
@@ -55,20 +55,20 @@ Instead, always use
shouldn't be confused with
.BR NUL ,
which is an
-.BR ascii (7)
+.MR ascii 7
character,
represented in C as
.BR \[aq]\e0\[aq] .
.SH BUGS
When it is necessary to set a pointer variable to a null pointer,
it is not enough to use
-.BR memset (3)
+.MR memset 3
to zero the pointer
(this is usually done when zeroing a struct that contains pointers),
since ISO C and POSIX don't guarantee that a bit pattern of all 0s
represent a null pointer.
See the EXAMPLES section in
-.BR getaddrinfo (3)
+.MR getaddrinfo 3
for an example program that does this correctly.
.SH SEE ALSO
-.BR void (3type)
+.MR void 3type
diff --git a/man3head/printf.h.3head b/man3head/printf.h.3head
index a5c7d1c05..89e8b610d 100644
--- a/man3head/printf.h.3head
+++ b/man3head/printf.h.3head
@@ -82,11 +82,11 @@ Standard C library
.EE
.SH DESCRIPTION
These functions serve to extend and/or modify the behavior of the
-.BR printf (3)
+.MR printf 3
family of functions.
.SS register_printf_specifier()
This function registers a custom conversion specifier for the
-.BR printf (3)
+.MR printf 3
family of functions.
.TP
.I spec
@@ -94,7 +94,7 @@ The character which will be used as a conversion specifier in the format string.
.TP
.I func
Callback function that will be executed by the
-.BR printf (3)
+.MR printf 3
family of functions
to format the input arguments into the output
.IR stream .
@@ -113,13 +113,13 @@ This holds the same contents as in
.TP
.I args
Array of pointers to the arguments to the
-.BR printf (3)\c
+.MR printf 3 \c
-like function.
.RE
.TP
.I arginfo
Callback function that will be executed by the
-.BR printf (3)
+.MR printf 3
family of functions
to know how many arguments should be parsed for the custom specifier
and also their types.
@@ -139,7 +139,7 @@ This array should be set to
define the type of each of the arguments that will be parsed.
Each element in the array represents one of the arguments to be parsed,
in the same order that they are passed to the
-.BR printf (3)\c
+.MR printf 3 \c
-like function.
Each element should be set to a base type
.RB ( PA_ *)
@@ -224,7 +224,7 @@ The specifier was not a valid character.
.SH STANDARDS
GNU.
.SH HISTORY
-.BR \%register_printf_function (3)
+.MR register_printf_function 3
is an older function similar to
.BR \%register_printf_specifier (),
and is now deprecated.
@@ -232,7 +232,7 @@ That function can't handle user-defined types.
.P
.BR \%register_printf_specifier ()
superseeds
-.BR \%register_printf_function (3).
+.MR register_printf_function 3 .
.SH EXAMPLES
The following example program registers the 'b' and 'B' specifiers
to print integers in binary format,
@@ -577,6 +577,6 @@ pad_spaces(FILE *stream, size_t pad_len)
.EE
.\" SRC END
.SH SEE ALSO
-.BR asprintf (3),
-.BR printf (3),
-.BR wprintf (3)
+.MR asprintf 3 ,
+.MR printf 3 ,
+.MR wprintf 3
diff --git a/man3head/sysexits.h.3head b/man3head/sysexits.h.3head
index 01229d601..f7e848095 100644
--- a/man3head/sysexits.h.3head
+++ b/man3head/sysexits.h.3head
@@ -139,9 +139,9 @@ This is intended to be used for such things as
"cannot create pipe",
or the like.
It includes things like
-.BR getuid (2)
+.MR getuid 2
returning a user that does not exist in the
-.BR passwd (5)
+.MR passwd 5
file.
.TP
.B EX_OSFILE
@@ -191,10 +191,10 @@ The
.I <sysexits.h>
file appeared in 4.0BSD for use by the deliverymail utility,
later renamed to
-.BR sendmail (8).
+.MR sendmail 8 .
.SH CAVEATS
The choice of an appropriate exit value is often ambiguous.
.SH SEE ALSO
-.BR err (3),
-.BR error (3),
-.BR exit (3)
+.MR err 3 ,
+.MR error 3 ,
+.MR exit 3
diff --git a/man3type/FILE.3type b/man3type/FILE.3type
index 5c2dfd1a3..8f2cbd462 100644
--- a/man3type/FILE.3type
+++ b/man3type/FILE.3type
@@ -26,11 +26,11 @@ C89, POSIX.1-2001.
The following header also provides this type:
.IR <wchar.h> .
.SH SEE ALSO
-.BR fclose (3),
-.BR flockfile (3),
-.BR fopen (3),
-.BR fprintf (3),
-.BR fread (3),
-.BR fscanf (3),
-.BR stdin (3),
-.BR stdio (3)
+.MR fclose 3 ,
+.MR flockfile 3 ,
+.MR fopen 3 ,
+.MR fprintf 3 ,
+.MR fread 3 ,
+.MR fscanf 3 ,
+.MR stdin 3 ,
+.MR stdio 3
diff --git a/man3type/aiocb.3type b/man3type/aiocb.3type
index 9e7190e68..44940855a 100644
--- a/man3type/aiocb.3type
+++ b/man3type/aiocb.3type
@@ -26,17 +26,17 @@ Standard C library
.EE
.SH DESCRIPTION
For further information about this structure, see
-.BR aio (7).
+.MR aio 7 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_read (3),
-.BR aio_return (3),
-.BR aio_suspend (3),
-.BR aio_write (3),
-.BR lio_listio (3)
+.MR aio_cancel 3 ,
+.MR aio_error 3 ,
+.MR aio_fsync 3 ,
+.MR aio_read 3 ,
+.MR aio_return 3 ,
+.MR aio_suspend 3 ,
+.MR aio_write 3 ,
+.MR lio_listio 3
diff --git a/man3type/blkcnt_t.3type b/man3type/blkcnt_t.3type
index 32c20cc0e..b04e9d1a1 100644
--- a/man3type/blkcnt_t.3type
+++ b/man3type/blkcnt_t.3type
@@ -27,4 +27,4 @@ POSIX.1-2001.
The following header also provides this type:
.IR <sys/stat.h> .
.SH SEE ALSO
-.BR stat (3type)
+.MR stat 3type
diff --git a/man3type/blksize_t.3type b/man3type/blksize_t.3type
index 7384a38e1..98e0c31a9 100644
--- a/man3type/blksize_t.3type
+++ b/man3type/blksize_t.3type
@@ -27,4 +27,4 @@ POSIX.1-2001.
The following header also provides this type:
.IR <sys/stat.h> .
.SH SEE ALSO
-.BR stat (3type)
+.MR stat 3type
diff --git a/man3type/cc_t.3type b/man3type/cc_t.3type
index 811233193..f17b71921 100644
--- a/man3type/cc_t.3type
+++ b/man3type/cc_t.3type
@@ -32,4 +32,4 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR termios (3)
+.MR termios 3
diff --git a/man3type/clock_t.3type b/man3type/clock_t.3type
index b6248a93d..f07acfc35 100644
--- a/man3type/clock_t.3type
+++ b/man3type/clock_t.3type
@@ -33,5 +33,5 @@ The following headers also provide this type:
and
.IR <sys/times.h> .
.SH SEE ALSO
-.BR times (2),
-.BR clock (3)
+.MR times 2 ,
+.MR clock 3
diff --git a/man3type/clockid_t.3type b/man3type/clockid_t.3type
index 38d760f80..f12230d37 100644
--- a/man3type/clockid_t.3type
+++ b/man3type/clockid_t.3type
@@ -21,8 +21,8 @@ POSIX.1-2001.
The following header also provides this type:
.IR <time.h> .
.SH SEE ALSO
-.BR clock_adjtime (2),
-.BR clock_getres (2),
-.BR clock_nanosleep (2),
-.BR timer_create (2),
-.BR clock_getcpuclockid (3)
+.MR clock_adjtime 2 ,
+.MR clock_getres 2 ,
+.MR clock_nanosleep 2 ,
+.MR timer_create 2 ,
+.MR clock_getcpuclockid 3
diff --git a/man3type/dev_t.3type b/man3type/dev_t.3type
index dd68f2603..13df4fd84 100644
--- a/man3type/dev_t.3type
+++ b/man3type/dev_t.3type
@@ -20,7 +20,7 @@ Standard C library
Used for device IDs.
It is an integer type.
For further details of this type, see
-.BR makedev (3).
+.MR makedev 3 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -29,5 +29,5 @@ POSIX.1-2001.
The following header also provides this type:
.IR <sys/stat.h> .
.SH SEE ALSO
-.BR mknod (2),
-.BR stat (3type)
+.MR mknod 2 ,
+.MR stat 3type
diff --git a/man3type/div_t.3type b/man3type/div_t.3type
index 857dae17e..3eb2a175f 100644
--- a/man3type/div_t.3type
+++ b/man3type/div_t.3type
@@ -45,14 +45,14 @@ function.
.P
.I imaxdiv_t
is the type of the value returned by the
-.BR imaxdiv (3)
+.MR imaxdiv 3
function.
.SH STANDARDS
C11, POSIX.1-2008.
.SH HISTORY
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR div (3),
-.BR imaxdiv (3),
-.BR ldiv (3),
-.BR lldiv (3)
+.MR div 3 ,
+.MR imaxdiv 3 ,
+.MR ldiv 3 ,
+.MR lldiv 3
diff --git a/man3type/epoll_event.3type b/man3type/epoll_event.3type
index 1e70af79c..6915d3ffd 100644
--- a/man3type/epoll_event.3type
+++ b/man3type/epoll_event.3type
@@ -51,5 +51,5 @@ struct epoll_event {
.SH STANDARDS
Linux.
.SH SEE ALSO
-.BR epoll_wait (2),
-.BR epoll_ctl (2)
+.MR epoll_wait 2 ,
+.MR epoll_ctl 2
diff --git a/man3type/fenv_t.3type b/man3type/fenv_t.3type
index 6b5886665..65b0445f8 100644
--- a/man3type/fenv_t.3type
+++ b/man3type/fenv_t.3type
@@ -26,10 +26,10 @@ including control modes and status flags.
represents the floating-point status flags collectively.
.P
For further details see
-.BR fenv (3).
+.MR fenv 3 .
.SH STANDARDS
C11, POSIX.1-2008.
.SH HISTORY
C99, POSIX.1-2001.
.SH SEE ALSO
-.BR fenv (3)
+.MR fenv 3
diff --git a/man3type/id_t.3type b/man3type/id_t.3type
index 3a9450e9e..1ffb11e74 100644
--- a/man3type/id_t.3type
+++ b/man3type/id_t.3type
@@ -85,26 +85,26 @@ The following header also provides
.IR id_t :
.IR <sys/resource.h> .
.SH SEE ALSO
-.BR chown (2),
-.BR fork (2),
-.BR getegid (2),
-.BR geteuid (2),
-.BR getgid (2),
-.BR getgroups (2),
-.BR getpgid (2),
-.BR getpid (2),
-.BR getppid (2),
-.BR getpriority (2),
-.BR getpwnam (3),
-.BR getresgid (2),
-.BR getresuid (2),
-.BR getsid (2),
-.BR gettid (2),
-.BR getuid (2),
-.BR kill (2),
-.BR pidfd_open (2),
-.BR sched_setscheduler (2),
-.BR waitid (2),
-.BR getgrnam (3),
-.BR sigqueue (3),
-.BR credentials (7)
+.MR chown 2 ,
+.MR fork 2 ,
+.MR getegid 2 ,
+.MR geteuid 2 ,
+.MR getgid 2 ,
+.MR getgroups 2 ,
+.MR getpgid 2 ,
+.MR getpid 2 ,
+.MR getppid 2 ,
+.MR getpriority 2 ,
+.MR getpwnam 3 ,
+.MR getresgid 2 ,
+.MR getresuid 2 ,
+.MR getsid 2 ,
+.MR gettid 2 ,
+.MR getuid 2 ,
+.MR kill 2 ,
+.MR pidfd_open 2 ,
+.MR sched_setscheduler 2 ,
+.MR waitid 2 ,
+.MR getgrnam 3 ,
+.MR sigqueue 3 ,
+.MR credentials 7
diff --git a/man3type/intN_t.3type b/man3type/intN_t.3type
index eefcb33cc..6d92e6a63 100644
--- a/man3type/intN_t.3type
+++ b/man3type/intN_t.3type
@@ -118,7 +118,7 @@ expand their argument to an integer constant of type
The length modifiers for the
.RI [ u ] int N _t
types for the
-.BR printf (3)
+.MR printf 3
family of functions
are expanded by macros of the forms
.BR PRId \fIN\fP,
@@ -138,7 +138,7 @@ values.
The length modifiers for the
.RI [ u ] int N _t
types for the
-.BR scanf (3)
+.MR scanf 3
family of functions
are expanded by macros of the forms
.BR SCNd \fIN\fP,
@@ -172,6 +172,6 @@ also provides
and
.IR uint32_t .
.SH SEE ALSO
-.BR intmax_t (3type),
-.BR intptr_t (3type),
-.BR printf (3)
+.MR intmax_t 3type ,
+.MR intptr_t 3type ,
+.MR printf 3
diff --git a/man3type/intmax_t.3type b/man3type/intmax_t.3type
index dba108114..637000f4b 100644
--- a/man3type/intmax_t.3type
+++ b/man3type/intmax_t.3type
@@ -66,9 +66,9 @@ expand their argument to an integer constant of type
The length modifier for
.RI [ u ] intmax_t
for the
-.BR printf (3)
+.MR printf 3
and the
-.BR scanf (3)
+.MR scanf 3
families of functions is
.BR j ;
resulting commonly in
@@ -91,7 +91,7 @@ The following header also provides these types:
These types may not be as large as extended integer types, such as
.I __int128
.SH SEE ALSO
-.BR int64_t (3type),
-.BR intptr_t (3type),
-.BR printf (3),
-.BR strtoimax (3)
+.MR int64_t 3type ,
+.MR intptr_t 3type ,
+.MR printf 3 ,
+.MR strtoimax 3
diff --git a/man3type/intptr_t.3type b/man3type/intptr_t.3type
index ac7b18214..a320afb8a 100644
--- a/man3type/intptr_t.3type
+++ b/man3type/intptr_t.3type
@@ -61,7 +61,7 @@ The length modifiers for the
.RI [ u ] intptr_t
types
for the
-.BR printf (3)
+.MR printf 3
family of functions
are expanded by the macros
.BR PRIdPTR ,
@@ -81,7 +81,7 @@ The length modifiers for the
.IR [ u ] intptr_t
types
for the
-.BR scanf (3)
+.MR scanf 3
family of functions
are expanded by the macros
.BR SCNdPTR ,
@@ -103,5 +103,5 @@ C99, POSIX.1-2001.
The following header also provides these types:
.IR <inttypes.h> .
.SH SEE ALSO
-.BR intmax_t (3type),
-.BR void (3)
+.MR intmax_t 3type ,
+.MR void 3
diff --git a/man3type/iovec.3type b/man3type/iovec.3type
index 14d2c40f4..ee066bdcd 100644
--- a/man3type/iovec.3type
+++ b/man3type/iovec.3type
@@ -45,5 +45,5 @@ POSIX.1-2001.
The following header also provides this type:
.IR <sys/socket.h> .
.SH SEE ALSO
-.BR process_madvise (2),
-.BR readv (2)
+.MR process_madvise 2 ,
+.MR readv 2
diff --git a/man3type/itimerspec.3type b/man3type/itimerspec.3type
index d6413d218..57837d30f 100644
--- a/man3type/itimerspec.3type
+++ b/man3type/itimerspec.3type
@@ -27,6 +27,6 @@ POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR timerfd_create (2),
-.BR timer_settime (2),
-.BR timespec (3type)
+.MR timerfd_create 2 ,
+.MR timer_settime 2 ,
+.MR timespec 3type
diff --git a/man3type/lconv.3type b/man3type/lconv.3type
index 5757cd068..c4d18e78e 100644
--- a/man3type/lconv.3type
+++ b/man3type/lconv.3type
@@ -50,7 +50,7 @@ C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
-.BR setlocale (3),
-.BR localeconv (3),
-.BR charsets (7),
-.BR locale (7)
+.MR setlocale 3 ,
+.MR localeconv 3 ,
+.MR charsets 7 ,
+.MR locale 7
diff --git a/man3type/mode_t.3type b/man3type/mode_t.3type
index c332eeb75..dd5196557 100644
--- a/man3type/mode_t.3type
+++ b/man3type/mode_t.3type
@@ -33,8 +33,8 @@ The following headers also provide this type:
and
.IR <sys/stat.h> .
.SH SEE ALSO
-.BR chmod (2),
-.BR mkdir (2),
-.BR open (2),
-.BR umask (2),
-.BR stat (3type)
+.MR chmod 2 ,
+.MR mkdir 2 ,
+.MR open 2 ,
+.MR umask 2 ,
+.MR stat 3type
diff --git a/man3type/off_t.3type b/man3type/off_t.3type
index 4b3838917..b719a9413 100644
--- a/man3type/off_t.3type
+++ b/man3type/off_t.3type
@@ -76,17 +76,17 @@ The following headers also provide
and
.IR <unistd.h> .
.SH SEE ALSO
-.BR copy_file_range (2),
-.BR llseek (2),
-.BR lseek (2),
-.BR mmap (2),
-.BR posix_fadvise (2),
-.BR pread (2),
-.BR readahead (2),
-.BR sync_file_range (2),
-.BR truncate (2),
-.BR fseeko (3),
-.BR lockf (3),
-.BR lseek64 (3),
-.BR posix_fallocate (3),
-.BR feature_test_macros (7)
+.MR copy_file_range 2 ,
+.MR llseek 2 ,
+.MR lseek 2 ,
+.MR mmap 2 ,
+.MR posix_fadvise 2 ,
+.MR pread 2 ,
+.MR readahead 2 ,
+.MR sync_file_range 2 ,
+.MR truncate 2 ,
+.MR fseeko 3 ,
+.MR lockf 3 ,
+.MR lseek64 3 ,
+.MR posix_fallocate 3 ,
+.MR feature_test_macros 7
diff --git a/man3type/ptrdiff_t.3type b/man3type/ptrdiff_t.3type
index 5a881dd9b..826fd2fd4 100644
--- a/man3type/ptrdiff_t.3type
+++ b/man3type/ptrdiff_t.3type
@@ -27,9 +27,9 @@ capable of storing values in the range
The length modifier for
.I ptrdiff_t
for the
-.BR printf (3)
+.MR printf 3
and the
-.BR scanf (3)
+.MR scanf 3
families of functions is
.BR t ,
resulting commonly in
@@ -44,4 +44,4 @@ C11, POSIX.1-2008.
.SH HISTORY
C89, POSIX.1-2001.
.SH SEE ALSO
-.BR size_t (3type)
+.MR size_t 3type
diff --git a/man3type/sigevent.3type b/man3type/sigevent.3type
index 01ca76620..9f6da108e 100644
--- a/man3type/sigevent.3type
+++ b/man3type/sigevent.3type
@@ -63,7 +63,7 @@ Notify the process by sending the signal specified in
.IR sigev_signo .
.IP
If the signal is caught with a signal handler that was registered using the
-.BR sigaction (2)
+.MR sigaction 2
.B SA_SIGINFO
flag, then the following fields are set in the
.I siginfo_t
@@ -88,7 +88,7 @@ Depending on the API, other fields may also be set in the
structure.
.IP
The same information is also available if the signal is accepted using
-.BR sigwaitinfo (2).
+.MR sigwaitinfo 2 .
.TP
.B SIGEV_THREAD
Notify the process by invoking
@@ -105,12 +105,12 @@ If
is not NULL, it should point to a
.I pthread_attr_t
structure that defines attributes for the new thread (see
-.BR pthread_attr_init (3)).
+.MR pthread_attr_init 3 ).
.TP
.BR SIGEV_THREAD_ID " (Linux-specific)"
.\" | SIGEV_SIGNAL vs not?
Currently used only by POSIX timers; see
-.BR timer_create (2).
+.MR timer_create 2 .
.SS sigval
Data passed with a signal.
.SH STANDARDS
@@ -132,11 +132,11 @@ The following headers also provide
and
.IR <time.h> .
.SH SEE ALSO
-.BR timer_create (2),
-.BR getaddrinfo_a (3),
-.BR lio_listio (3),
-.BR mq_notify (3),
-.BR pthread_sigqueue (3),
-.BR sigqueue (3),
-.BR aiocb (3type),
-.BR siginfo_t (3type)
+.MR timer_create 2 ,
+.MR getaddrinfo_a 3 ,
+.MR lio_listio 3 ,
+.MR mq_notify 3 ,
+.MR pthread_sigqueue 3 ,
+.MR sigqueue 3 ,
+.MR aiocb 3type ,
+.MR siginfo_t 3type
diff --git a/man3type/size_t.3type b/man3type/size_t.3type
index 92efc8139..0326099e4 100644
--- a/man3type/size_t.3type
+++ b/man3type/size_t.3type
@@ -44,9 +44,9 @@ capable of storing values at least in the range
The length modifier for
.I size_t
for the
-.BR printf (3)
+.MR printf 3
and the
-.BR scanf (3)
+.MR scanf 3
families of functions is
.BR z ,
resulting commonly in
@@ -61,9 +61,9 @@ values.
glibc and most other implementations provide a length modifier for
.I ssize_t
for the
-.BR printf (3)
+.MR printf 3
and the
-.BR scanf (3)
+.MR scanf 3
families of functions,
which is
.BR z ;
@@ -166,16 +166,16 @@ The following headers also provide
and
.IR <unistd.h> .
.SH SEE ALSO
-.BR read (2),
-.BR readlink (2),
-.BR readv (2),
-.BR recv (2),
-.BR send (2),
-.BR write (2),
-.BR fread (3),
-.BR fwrite (3),
-.BR memcmp (3),
-.BR memcpy (3),
-.BR memset (3),
-.BR offsetof (3),
-.BR ptrdiff_t (3type)
+.MR read 2 ,
+.MR readlink 2 ,
+.MR readv 2 ,
+.MR recv 2 ,
+.MR send 2 ,
+.MR write 2 ,
+.MR fread 3 ,
+.MR fwrite 3 ,
+.MR memcmp 3 ,
+.MR memcpy 3 ,
+.MR memset 3 ,
+.MR offsetof 3 ,
+.MR ptrdiff_t 3type
diff --git a/man3type/sockaddr.3type b/man3type/sockaddr.3type
index 10659ca45..b5cadc3f1 100644
--- a/man3type/sockaddr.3type
+++ b/man3type/sockaddr.3type
@@ -116,7 +116,7 @@ POSIX.1-2001.
.I socklen_t
was invented by POSIX.
See also
-.BR accept (2).
+.MR accept 2 .
.P
These structures were invented before modern ISO C strict-aliasing rules.
If aliasing rules are applied strictly,
@@ -136,19 +136,19 @@ is also defined in
and
.IR <sys/un.h> .
.SH SEE ALSO
-.BR accept (2),
-.BR bind (2),
-.BR connect (2),
-.BR getpeername (2),
-.BR getsockname (2),
-.BR getsockopt (2),
-.BR sendto (2),
-.BR setsockopt (2),
-.BR socket (2),
-.BR socketpair (2),
-.BR getaddrinfo (3),
-.BR gethostbyaddr (3),
-.BR getnameinfo (3),
-.BR htonl (3),
-.BR ipv6 (7),
-.BR socket (7)
+.MR accept 2 ,
+.MR bind 2 ,
+.MR connect 2 ,
+.MR getpeername 2 ,
+.MR getsockname 2 ,
+.MR getsockopt 2 ,
+.MR sendto 2 ,
+.MR setsockopt 2 ,
+.MR socket 2 ,
+.MR socketpair 2 ,
+.MR getaddrinfo 3 ,
+.MR gethostbyaddr 3 ,
+.MR getnameinfo 3 ,
+.MR htonl 3 ,
+.MR ipv6 7 ,
+.MR socket 7
diff --git a/man3type/stat.3type b/man3type/stat.3type
index 0eddda880..720d604d7 100644
--- a/man3type/stat.3type
+++ b/man3type/stat.3type
@@ -42,7 +42,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.IR st_atim ,
@@ -62,9 +62,9 @@ The fields are as follows:
.I st_dev
This field describes the device on which this file resides.
(The
-.BR major (3)
+.MR major 3
and
-.BR minor (3)
+.MR minor 3
macros may be useful to decompose the device ID in this field.)
.TP
.I st_ino
@@ -73,7 +73,7 @@ This field contains the file's inode number.
.I st_mode
This field contains the file type and mode.
See
-.BR inode (7)
+.MR inode 7
for further information.
.TP
.I st_nlink
@@ -115,7 +115,7 @@ This is the file's last status change timestamp
(time of last change to the inode).
.P
For further information on the above fields, see
-.BR inode (7).
+.MR inode 7 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -158,5 +158,5 @@ then the nanosecond values are exposed with names of the form
The following header also provides this type:
.IR <ftw.h> .
.SH SEE ALSO
-.BR stat (2),
-.BR inode (7)
+.MR stat 2 ,
+.MR inode 7
diff --git a/man3type/time_t.3type b/man3type/time_t.3type
index 0dba4afb0..5382ac678 100644
--- a/man3type/time_t.3type
+++ b/man3type/time_t.3type
@@ -82,7 +82,7 @@ the width of
can be controlled with the feature test macro
.BR _TIME_BITS .
See
-.BR feature_test_macros (7).
+.MR feature_test_macros 7 .
.P
The following headers also provide
.IR time_t :
@@ -103,9 +103,9 @@ The following headers also provide
and
.IR <sys/time.h> .
.SH SEE ALSO
-.BR stime (2),
-.BR time (2),
-.BR ctime (3),
-.BR difftime (3),
-.BR usleep (3),
-.BR timeval (3type)
+.MR stime 2 ,
+.MR time 2 ,
+.MR ctime 3 ,
+.MR difftime 3 ,
+.MR usleep 3 ,
+.MR timeval 3type
diff --git a/man3type/timer_t.3type b/man3type/timer_t.3type
index c0b2afa8b..4ac70d218 100644
--- a/man3type/timer_t.3type
+++ b/man3type/timer_t.3type
@@ -18,7 +18,7 @@ Standard C library
.fi
.SH DESCRIPTION
Used for timer ID returned by
-.BR timer_create (2).
+.MR timer_create 2 .
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
@@ -28,7 +28,7 @@ The following header also provides
.IR timer_t :
.IR <time.h> .
.SH SEE ALSO
-.BR timer_create (2),
-.BR timer_delete (2),
-.BR timer_getoverrun (2),
-.BR timer_settime (2)
+.MR timer_create 2 ,
+.MR timer_delete 2 ,
+.MR timer_getoverrun 2 ,
+.MR timer_settime 2
diff --git a/man3type/timespec.3type b/man3type/timespec.3type
index 7f5c97cd6..05bfda32c 100644
--- a/man3type/timespec.3type
+++ b/man3type/timespec.3type
@@ -51,10 +51,10 @@ The following headers also provide this type:
and
.IR <sys/stat.h> .
.SH SEE ALSO
-.BR clock_gettime (2),
-.BR clock_nanosleep (2),
-.BR nanosleep (2),
-.BR timerfd_gettime (2),
-.BR timer_gettime (2),
-.BR time_t (3type),
-.BR timeval (3type)
+.MR clock_gettime 2 ,
+.MR clock_nanosleep 2 ,
+.MR nanosleep 2 ,
+.MR timerfd_gettime 2 ,
+.MR timer_gettime 2 ,
+.MR time_t 3type ,
+.MR timeval 3type
diff --git a/man3type/timeval.3type b/man3type/timeval.3type
index 7223c7b09..797d1191c 100644
--- a/man3type/timeval.3type
+++ b/man3type/timeval.3type
@@ -32,12 +32,12 @@ The following headers also provide this type:
and
.IR <utmpx.h> .
.SH SEE ALSO
-.BR gettimeofday (2),
-.BR select (2),
-.BR utimes (2),
-.BR adjtime (3),
-.BR futimes (3),
-.BR timeradd (3),
-.BR suseconds_t (3type),
-.BR time_t (3type),
-.BR timespec (3type)
+.MR gettimeofday 2 ,
+.MR select 2 ,
+.MR utimes 2 ,
+.MR adjtime 3 ,
+.MR futimes 3 ,
+.MR timeradd 3 ,
+.MR suseconds_t 3type ,
+.MR time_t 3type ,
+.MR timespec 3type
diff --git a/man3type/tm.3type b/man3type/tm.3type
index 5d5b28658..6a29bc817 100644
--- a/man3type/tm.3type
+++ b/man3type/tm.3type
@@ -34,7 +34,7 @@ Standard C library
.P
.RS -4
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.RE
.P
.IR tm_gmtoff ,
@@ -59,11 +59,11 @@ and negative if the information is not available.
is the difference, in seconds,
of the timezone represented by this broken-down time and UTC
(this is the additive inverse of
-.BR timezone (3)).
+.MR timezone 3 ).
.P
.I tm_zone
is the equivalent of
-.BR tzname (3)
+.MR tzname 3
for the timezone represented by this broken-down time.
.SH VERSIONS
In C90,
@@ -76,10 +76,10 @@ so it was limited to
.B 60
in C99.
.P
-.BR timezone (3),
+.MR timezone 3 ,
as a variable, is an XSI extension: some systems provide the V7-compatible
.\" FreeBSD
-.BR timezone (3)
+.MR timezone 3
function.
The
.I tm_gmtoff
@@ -87,7 +87,7 @@ field provides an alternative (with the opposite sign) for those systems.
.P
.I tm_zone
points to static storage and may be overridden on subsequent calls to
-.BR localtime (3)
+.MR localtime 3
and similar functions (however, this never happens under glibc).
.SH STANDARDS
C11, POSIX.1-2008.
@@ -106,7 +106,7 @@ is a
can represent a leap second with the value
.BR 60 .
.SH SEE ALSO
-.BR ctime (3),
-.BR strftime (3),
-.BR strptime (3),
-.BR time (7)
+.MR ctime 3 ,
+.MR strftime 3 ,
+.MR strptime 3 ,
+.MR time 7
diff --git a/man3type/va_list.3type b/man3type/va_list.3type
index 800f80b43..5a2809edf 100644
--- a/man3type/va_list.3type
+++ b/man3type/va_list.3type
@@ -21,11 +21,11 @@ Used by functions with a varying number of arguments of varying types.
The function must declare an object of type
.I va_list
which is used by the macros
-.BR va_start (3),
-.BR va_arg (3),
-.BR va_copy (3),
+.MR va_start 3 ,
+.MR va_arg 3 ,
+.MR va_copy 3 ,
and
-.BR va_end (3)
+.MR va_end 3
to traverse the list of arguments.
.SH STANDARDS
C11, POSIX.1-2008.
@@ -38,7 +38,7 @@ The following headers also provide
and
.IR <wchar.h> .
.SH SEE ALSO
-.BR va_start (3),
-.BR va_arg (3),
-.BR va_copy (3),
-.BR va_end (3)
+.MR va_start 3 ,
+.MR va_arg 3 ,
+.MR va_copy 3 ,
+.MR va_end 3
diff --git a/man3type/void.3type b/man3type/void.3type
index 91d458ff7..c4cf73149 100644
--- a/man3type/void.3type
+++ b/man3type/void.3type
@@ -54,9 +54,9 @@ and on function types, and returns 1.
The conversion specifier for
.I void *
for the
-.BR printf (3)
+.MR printf 3
and the
-.BR scanf (3)
+.MR scanf 3
families of functions is
.BR p .
.SH VERSIONS
@@ -69,8 +69,8 @@ C11, POSIX.1-2008.
.SH HISTORY
C89, POSIX.1-2001.
.SH SEE ALSO
-.BR malloc (3),
-.BR memcmp (3),
-.BR memcpy (3),
-.BR memset (3),
-.BR intptr_t (3type)
+.MR malloc 3 ,
+.MR memcmp 3 ,
+.MR memcpy 3 ,
+.MR memset 3 ,
+.MR intptr_t 3type
diff --git a/man4/cciss.4 b/man4/cciss.4
index a3fadb5d1..ec8bb1468 100644
--- a/man4/cciss.4
+++ b/man4/cciss.4
@@ -18,7 +18,7 @@ modprobe cciss [ cciss_allow_hpsa=1 ]
.BR Note :
This obsolete driver was removed in Linux 4.14,
as it is superseded by the
-.BR hpsa (4)
+.MR hpsa 4
driver in newer kernels.
.P
.B cciss
@@ -28,7 +28,7 @@ is a block driver for older HP Smart Array RAID controllers.
This option prevents the
.B cciss
driver from attempting to drive any controllers that the
-.BR hpsa (4)
+.MR hpsa 4
driver is capable of controlling, which is to say, the
.B cciss
driver is restricted by this option to the following controllers:
@@ -87,9 +87,9 @@ driver supports the following Smart Array boards:
To configure HP Smart Array controllers,
use the HP Array Configuration Utility
(either
-.BR hpacuxe (8)
+.MR hpacuxe 8
or
-.BR hpacucli (8))
+.MR hpacucli 8 )
or the Offline ROM-based Configuration Utility (ORCA)
run from the Smart Array's option ROM at boot time.
.SH FILES
@@ -232,7 +232,7 @@ appropriate device nodes are automatically created (e.g.,
.IR /dev/st0 ,
.IR /dev/st1 ,
etc.; see
-.BR st (4)
+.MR st 4
for more details.)
You must enable "SCSI tape drive support for Smart Array 5xxx" and
"SCSI support" in your kernel configuration to be able to use SCSI
@@ -367,10 +367,10 @@ Typically you must rewind the tape (by issuing
.I "mt \-f /dev/st0 rewind"
for example) before I/O can proceed again to a tape drive that was reset.
.SH SEE ALSO
-.BR hpsa (4),
-.BR cciss_vol_status (8),
-.BR hpacucli (8),
-.BR hpacuxe (8)
+.MR hpsa 4 ,
+.MR cciss_vol_status 8 ,
+.MR hpacucli 8 ,
+.MR hpacuxe 8
.P
.UR http://cciss.sf.net
.UE ,
diff --git a/man4/console_codes.4 b/man4/console_codes.4
index 8a7c1d3a4..cb7782184 100644
--- a/man4/console_codes.4
+++ b/man4/console_codes.4
@@ -53,14 +53,14 @@ See the \fBLinux Console Controls\fP section below for discussion.
It is generally not good practice to hard-wire terminal controls into
programs.
Linux supports a
-.BR terminfo (5)
+.MR terminfo 5
database of terminal capabilities.
Rather than emitting console escape sequences by hand, you will almost
always want to use a terminfo-aware screen library or utility such as
-.BR ncurses (3),
-.BR tput (1),
+.MR ncurses 3 ,
+.MR tput 1 ,
or
-.BR reset (1).
+.MR reset 1 .
.SS Linux console controls
This section describes all the control characters and escape sequences
that invoke special functions (i.e., anything other than writing a
@@ -449,7 +449,7 @@ ESC [ ? 3 h
DECCOLM (default off = 80 columns): 80/132 col mode switch.
The driver sources note that this alone does not suffice; some user-mode
utility such as
-.BR resizecons (8)
+.MR resizecons 8
has to change the hardware registers on the console video card.
.TP
ESC [ ? 5 h
@@ -552,21 +552,21 @@ screen is all garbled.
The oft-advised "echo \[ha]V\[ha]O" will make only G0 current,
but there is no guarantee that G0 points at table a).
In some distributions there is a program
-.BR reset (1)
+.MR reset 1
that just does "echo \[ha][c".
If your terminfo entry for the console is correct
(and has an entry rs1=\eEc), then "tput reset" will also work.
.P
The user-defined mapping table can be set using
-.BR mapscrn (8).
+.MR mapscrn 8 .
The result of the mapping is that if a symbol c is printed, the symbol
s = map[c] is sent to the video memory.
The bitmap that corresponds to
s is found in the character ROM, and can be changed using
-.BR setfont (8).
+.MR setfont 8 .
.SS Mouse tracking
The mouse tracking facility is intended to return
-.BR xterm (1)-compatible
+.MR xterm 1 -compatible
mouse status reports.
Because the console driver has no way to know
the device or type of the mouse, these reports are returned in the
@@ -574,7 +574,7 @@ console input stream only when the virtual terminal driver receives
a mouse update ioctl.
These ioctls must be generated by a mouse-aware
user-mode application such as the
-.BR gpm (8)
+.MR gpm 8
daemon.
.P
The mouse tracking escape sequences generated by
@@ -612,7 +612,7 @@ Many different terminal types are described, like the Linux console,
as being "VT100-compatible".
Here we discuss differences between the
Linux console and the two most important others, the DEC VT102 and
-.BR xterm (1).
+.MR xterm 1 .
.\"
.P
.B Control-character handling
@@ -635,7 +635,7 @@ all codes except XOFF and XON.
VT100-like DC1/DC3 processing may be enabled by the terminal driver.
.P
The
-.BR xterm (1)
+.MR xterm 1
program (in VT100 mode) recognizes the control characters
BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC.
.\"
@@ -662,7 +662,7 @@ ESC + ... Designate G3 character set
.TE
.P
The program
-.BR xterm (1)
+.MR xterm 1
(in VT100 mode) recognizes ESC c, ESC # 8, ESC >, ESC =,
ESC D, ESC E, ESC H, ESC M, ESC N, ESC O, ESC P ... ESC \e,
ESC Z (it answers ESC [ ? 1 ; 2 c, "I am a VT100 with
@@ -806,5 +806,5 @@ An older version of this document implied that Linux recognizes the
ECMA-48 control sequence for invisible text.
It is ignored.
.SH SEE ALSO
-.BR ioctl_console (2),
-.BR charsets (7)
+.MR ioctl_console 2 ,
+.MR charsets 7
diff --git a/man4/cpuid.4 b/man4/cpuid.4
index 0b38fabe3..ae2172df7 100644
--- a/man4/cpuid.4
+++ b/man4/cpuid.4
@@ -10,9 +10,9 @@ cpuid \- x86 CPUID access device
CPUID provides an interface for querying information about the x86 CPU.
.P
This device is accessed by
-.BR lseek (2)
+.MR lseek 2
or
-.BR pread (2)
+.MR pread 2
to the appropriate CPUID level and reading in chunks of 16 bytes.
A larger read size means multiple reads of consecutive levels.
.P
@@ -73,7 +73,7 @@ Early i486 CPUs do not support the CPUID instruction;
.\" arch/x86/kernel/cpuid.c cpuid_open()
opening this device for those CPUs fails with EIO.
.SH SEE ALSO
-.BR cpuid (1)
+.MR cpuid 1
.P
Intel Corporation, Intel 64 and IA-32 Architectures
Software Developer's Manual Volume 2A:
diff --git a/man4/dsp56k.4 b/man4/dsp56k.4
index 62b53700d..7e103d111 100644
--- a/man4/dsp56k.4
+++ b/man4/dsp56k.4
@@ -33,24 +33,24 @@ to send and receive data using the bidirectional handshaked host
port.
.P
To send a data stream to the signal processor, use
-.BR write (2)
+.MR write 2
to the
device, and
-.BR read (2)
+.MR read 2
to receive processed data.
The data can be sent or
received in 8, 16, 24, or 32-bit quantities on the host side, but will
always be seen as 24-bit quantities in the DSP56001.
.P
The following
-.BR ioctl (2)
+.MR ioctl 2
calls are used to control the
\fIdsp56k\fP device:
.TP
.B DSP56K_UPLOAD
resets the DSP56001 and uploads a program.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument must be a pointer to a \fIstruct dsp56k_upload\fP with members
\fIbin\fP pointing to a DSP56001 binary program, and \fIlen\fP set to
the length of the program, counted in 24-bit words.
@@ -81,7 +81,7 @@ Bits 0 and 1 can be written by the host, and bits 2 and
3 can be written by the DSP56001.
.IP
To access the host flags, the third
-.BR ioctl (2)
+.MR ioctl 2
argument must be a pointer
to a \fIstruct dsp56k_host_flags\fP.
If bit 0 or 1 is set in the
diff --git a/man4/fd.4 b/man4/fd.4
index bf02d02fb..eb1a9910b 100644
--- a/man4/fd.4
+++ b/man4/fd.4
@@ -125,7 +125,7 @@ _
.SH DESCRIPTION
\fBfd\fP special files access the floppy disk drives in raw mode.
The following
-.BR ioctl (2)
+.MR ioctl 2
calls are supported by \fBfd\fP devices:
.TP
.B FDCLRPRM
@@ -201,7 +201,7 @@ sends a raw command to the floppy controller.
.P
For more precise information, consult also the \fI<linux/fd.h>\fP and
\fI<linux/fdreg.h>\fP include files, as well as the
-.BR floppycontrol (1)
+.MR floppycontrol 1
manual page.
.SH FILES
.I /dev/fd*
@@ -223,10 +223,10 @@ This used to be common with older 8-inch floppies.
.\" Alain Knaff (Alain.Knaff@imag.fr), David Niemi
.\" (niemidc@clark.net), Bill Broadhurst (bbroad@netcom.com).
.SH SEE ALSO
-.BR chown (1),
-.BR floppycontrol (1),
-.BR getfdprm (1),
-.BR mknod (1),
-.BR superformat (1),
-.BR mount (8),
-.BR setfdprm (8)
+.MR chown 1 ,
+.MR floppycontrol 1 ,
+.MR getfdprm 1 ,
+.MR mknod 1 ,
+.MR superformat 1 ,
+.MR mount 8 ,
+.MR setfdprm 8
diff --git a/man4/full.4 b/man4/full.4
index 92c440bc6..7885cec75 100644
--- a/man4/full.4
+++ b/man4/full.4
@@ -41,6 +41,6 @@ will always succeed.
.SH FILES
.I /dev/full
.SH SEE ALSO
-.BR mknod (1),
-.BR null (4),
-.BR zero (4)
+.MR mknod 1 ,
+.MR null 4 ,
+.MR zero 4
diff --git a/man4/fuse.4 b/man4/fuse.4
index 1e2dd7ae5..a453e6e77 100644
--- a/man4/fuse.4
+++ b/man4/fuse.4
@@ -25,9 +25,9 @@ that abstracts away the low-level interface.
At its core, FUSE is a simple client-server protocol, in which the Linux
kernel is the client and the daemon is the server.
After obtaining a file descriptor for this device, the daemon may
-.BR read (2)
+.MR read 2
requests from that file descriptor and is expected to
-.BR write (2)
+.MR write 2
back its replies.
It is important to note that a file descriptor is
associated with a unique FUSE filesystem.
@@ -64,7 +64,7 @@ The header is followed by a variable-length data portion
The daemon should then process the request and if applicable send
a reply (almost all operations require a reply; if they do not,
this is documented below), by performing a
-.BR write (2)
+.MR write 2
to the file descriptor.
All replies must start with the following header:
.P
@@ -170,7 +170,7 @@ struct fuse_getattr_in {
.IP
The requested operation is to compute the attributes to be returned
by
-.BR stat (2)
+.MR stat 2
and similar operations for the given filesystem object.
The object for which the attributes should be computed is indicated
either by
@@ -180,7 +180,7 @@ or, if the
flag is set, by the file handle
.IR fh .
The latter case of operation is analogous to
-.BR fstat (2).
+.MR fstat 2 .
.IP
For performance reasons, these attributes may be cached in the kernel for
a specified duration of time.
@@ -414,7 +414,7 @@ been completely processed.
.TP
.B FUSE_STATFS
This operation implements
-.BR statfs (2)
+.MR statfs 2
for this filesystem.
There is no input data associated with this request.
The expected reply data has the following structure:
@@ -441,19 +441,19 @@ struct fuse_statfs_out {
.in
.IP
For the interpretation of these fields, see
-.BR statfs (2).
+.MR statfs 2 .
.SH ERRORS
.TP
.B E2BIG
Returned from
-.BR read (2)
+.MR read 2
operations when the kernel's request is too large for the provided buffer
and the request was
.BR FUSE_SETXATTR .
.TP
.B EINVAL
Returned from
-.BR write (2)
+.MR write 2
if validation of the reply failed.
Not all mistakes in replies will be caught by this validation.
However, basic mistakes, such as short replies or an incorrect
@@ -462,7 +462,7 @@ value, are detected.
.TP
.B EIO
Returned from
-.BR read (2)
+.MR read 2
operations when the kernel's request is too large for the provided buffer.
.IP
.IR Note :
@@ -481,9 +481,9 @@ giving replies to the kernel that are shorter than what the kernel expected.
.TP
.B ENODEV
Returned from
-.BR read (2)
+.MR read 2
and
-.BR write (2)
+.MR write 2
if the FUSE filesystem was unmounted.
.TP
.B EPERM
@@ -531,5 +531,5 @@ The following messages are not yet documented in this manual page:
.EE
.in
.SH SEE ALSO
-.BR fusermount (1),
-.BR mount.fuse (8)
+.MR fusermount 1 ,
+.MR mount.fuse 8
diff --git a/man4/hd.4 b/man4/hd.4
index c45a8141f..156958a73 100644
--- a/man4/hd.4
+++ b/man4/hd.4
@@ -76,7 +76,7 @@ chown root:disk /dev/hd*
.SH FILES
.I /dev/hd*
.SH SEE ALSO
-.BR chown (1),
-.BR mknod (1),
-.BR sd (4),
-.BR mount (8)
+.MR chown 1 ,
+.MR mknod 1 ,
+.MR sd 4 ,
+.MR mount 8
diff --git a/man4/hpsa.4 b/man4/hpsa.4
index 6c24c9cb0..a2d2467f2 100644
--- a/man4/hpsa.4
+++ b/man4/hpsa.4
@@ -26,13 +26,13 @@ operating systems from media that predates the
RAID controller, though it may also be used to enable
.B hpsa
to drive older controllers that would normally be handled by the
-.BR cciss (4)
+.MR cciss 4
driver.
These older boards have not been tested and are
not supported with
.BR hpsa ,
and
-.BR cciss (4)
+.MR cciss 4
should still be used for these.
.SS Supported hardware
The
@@ -79,20 +79,23 @@ Since Linux 4.14, the following Smart Array boards are also supported:
.SS Configuration details
To configure HP Smart Array controllers,
use the HP Array Configuration Utility (either
-.BR hpacuxe (8)
+.MR hpacuxe 8
or
-.BR hpacucli (8))
+.MR hpacucli 8 )
or the Offline ROM-based Configuration Utility (ORCA)
run from the Smart Array's option ROM at boot time.
.SH FILES
.SS Device nodes
Logical drives are accessed via the SCSI disk driver
-.RB ( sd (4)),
+\%(\c
+.MR sd 4 ),
tape drives via the SCSI tape driver
-.RB ( st (4)),
+\%(\c
+.MR st 4 ),
and
the RAID controller via the SCSI generic driver
-.RB ( sg (4)),
+\%(\c
+.MR sg 4 ),
with device nodes named
.IR /dev/sd* ,
.IR /dev/st* ,
@@ -174,10 +177,10 @@ For example:
.\"
.SS Supported ioctl() operations
For compatibility with applications written for the
-.BR cciss (4)
+.MR cciss 4
driver, many, but
not all of the ioctls supported by the
-.BR cciss (4)
+.MR cciss 4
driver are also supported by the
.B hpsa
driver.
@@ -221,12 +224,12 @@ at
.UE
for some examples.
.SH SEE ALSO
-.BR cciss (4),
-.BR sd (4),
-.BR st (4),
-.BR cciss_vol_status (8),
-.BR hpacucli (8),
-.BR hpacuxe (8)
+.MR cciss 4 ,
+.MR sd 4 ,
+.MR st 4 ,
+.MR cciss_vol_status 8 ,
+.MR hpacucli 8 ,
+.MR hpacuxe 8
.P
.UR http://cciss.sf.net
.UE ,
diff --git a/man4/initrd.4 b/man4/initrd.4
index 6c63d6b13..70df0be43 100644
--- a/man4/initrd.4
+++ b/man4/initrd.4
@@ -213,7 +213,7 @@ device having a suitable root filesystem.
By default,
the kernel's settings
(e.g., set in the kernel file with
-.BR rdev (8)
+.MR rdev 8
or compiled into the kernel file),
or the boot loader option setting
is used for the normal root filesystems.
@@ -298,9 +298,9 @@ See the Linux kernel source file
.I Documentation/initrd.txt
before Linux 4.10)
as well as
-.BR pivot_root (2)
+.MR pivot_root 2
and
-.BR pivot_root (8)
+.MR pivot_root 8
for information on the modern method of changing the root filesystem.
.\" FIXME . Should this manual page describe the pivot_root mechanism?
.\"
@@ -464,11 +464,11 @@ The behavior may change in future versions of the Linux kernel.
.\" .BR initrd
.\" was added to the baseline Linux kernel in development version 1.3.73.
.SH SEE ALSO
-.BR chown (1),
-.BR mknod (1),
-.BR ram (4),
-.BR freeramdisk (8),
-.BR rdev (8)
+.MR chown 1 ,
+.MR mknod 1 ,
+.MR ram 4 ,
+.MR freeramdisk 8 ,
+.MR rdev 8
.P
.I Documentation/admin\-guide/initrd.rst
.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
diff --git a/man4/intro.4 b/man4/intro.4
index 1a3aadabb..716d53002 100644
--- a/man4/intro.4
+++ b/man4/intro.4
@@ -17,6 +17,6 @@ Look at the header of the manual page source for the author(s) and copyright
conditions.
Note that these can be different from page to page!
.SH SEE ALSO
-.BR mknod (1),
-.BR mknod (2),
-.BR standards (7)
+.MR mknod 1 ,
+.MR mknod 2 ,
+.MR standards 7
diff --git a/man4/lirc.4 b/man4/lirc.4
index ae1caafcf..398b5fcbf 100644
--- a/man4/lirc.4
+++ b/man4/lirc.4
@@ -33,7 +33,7 @@ This type of hardware can also be used in
.B LIRC_MODE_SCANCODE
mode, in which case the kernel IR decoders will decode the IR.
These decoders can be written in extended BPF (see
-.BR bpf (2))
+.MR bpf 2 )
and attached to the
.B lirc
device.
@@ -46,7 +46,7 @@ features.
.\"
.SS Reading input with the LIRC_MODE_MODE2 mode
In the \fBLIRC_MODE_MODE2 mode\fR, the data returned by
-.BR read (2)
+.MR read 2
provides 32-bit values representing a space or a pulse duration.
The time of the duration (microseconds) is encoded in the lower 24 bits.
Pulse (also known as flash)
@@ -82,7 +82,7 @@ and as a result data is missing
.SS Reading input with the LIRC_MODE_SCANCODE mode
In the \fBLIRC_MODE_SCANCODE\fR
mode, the data returned by
-.BR read (2)
+.MR read 2
reflects decoded button presses, in the struct \fIlirc_scancode\fR.
The scancode is stored in the \fIscancode\fR field, and the IR protocol
is stored in \fIrc_proto\fR.
@@ -90,17 +90,17 @@ This field has one the values of the \fIenum rc_proto\fR.
.\"
.SS Writing output with the LIRC_MODE_PULSE mode
The data written to the character device using
-.BR write (2)
+.MR write 2
is a pulse/space sequence of integer values.
Pulses and spaces are only marked implicitly by their position.
The data must start and end with a pulse, thus it must always include
an odd number of samples.
The
-.BR write (2)
+.MR write 2
function blocks until the data has been transmitted by the
hardware.
If more data is provided than the hardware can send, the
-.BR write (2)
+.MR write 2
call fails with the error
.BR EINVAL .
.SS Writing output with the LIRC_MODE_SCANCODE mode
@@ -121,7 +121,7 @@ int ioctl(int fd, int cmd, int *val);
.fi
.P
The following
-.BR ioctl (2)
+.MR ioctl 2
operations are provided by the
.B lirc
character device to probe or change specific
@@ -221,7 +221,7 @@ are reserved for future use.
Some devices have internal timers that can be used to detect when
there has been no IR activity for a long time.
This can help
-.BR lircd (8)
+.MR lircd 8
in detecting that an IR signal is finished and can speed up the
decoding process.
These operations
diff --git a/man4/loop.4 b/man4/loop.4
index 253784a34..72ec56c77 100644
--- a/man4/loop.4
+++ b/man4/loop.4
@@ -17,7 +17,7 @@ but to the blocks of
a regular file in a filesystem or to another block device.
This can be useful for example to provide a block device for a filesystem
image stored in a file, so that it can be mounted with the
-.BR mount (8)
+.MR mount 8
command.
You could do
.P
@@ -32,20 +32,20 @@ $ \fBsudo mount /dev/loop4 /myloopdev\fP
.in
.P
See
-.BR losetup (8)
+.MR losetup 8
for another example.
.P
A transfer function can be specified for each loop device for
encryption and decryption purposes.
.P
The following
-.BR ioctl (2)
+.MR ioctl 2
operations are provided by the loop block device:
.TP
.B LOOP_SET_FD
Associate the loop device with the open file whose file descriptor is
passed as the (third)
-.BR ioctl (2)
+.MR ioctl 2
argument.
.TP
.B LOOP_CLR_FD
@@ -53,7 +53,7 @@ Disassociate the loop device from any file descriptor.
.TP
.B LOOP_SET_STATUS
Set the status of the loop device using the (third)
-.BR ioctl (2)
+.MR ioctl 2
argument.
This argument is a pointer to a
.I loop_info
@@ -130,14 +130,14 @@ and
.B LOOP_GET_STATUS
Get the status of the loop device.
The (third)
-.BR ioctl (2)
+.MR ioctl 2
argument must be a pointer to a
.IR "struct loop_info" .
.TP
.BR LOOP_CHANGE_FD " (since Linux 2.6.5)"
Switch the backing store of the loop device to the new file identified
file descriptor specified in the (third)
-.BR ioctl (2)
+.MR ioctl 2
argument, which is an integer.
This operation is possible only if the loop device is read-only and
the new backing store is the same size and type as the old backing store.
@@ -154,7 +154,7 @@ This operation takes no argument.
Set DIRECT I/O mode on the loop device, so that
it can be used to open backing file.
The (third)
-.BR ioctl (2)
+.MR ioctl 2
argument is an unsigned long value.
A nonzero represents direct I/O mode.
.TP
@@ -162,7 +162,7 @@ A nonzero represents direct I/O mode.
.\" commit 89e4fdecb51cf5535867026274bc97de9480ade5
Set the block size of the loop device.
The (third)
-.BR ioctl (2)
+.MR ioctl 2
argument is an unsigned long value.
This value must be a power of two in the range
[512,pagesize];
@@ -174,7 +174,7 @@ error results.
.\" commit 3448914e8cc550ba792d4ccc74471d1ca4293aae
Setup and configure all loop device parameters in a single step using
the (third)
-.BR ioctl (2)
+.MR ioctl 2
argument.
This argument is a pointer to a
.I loop_config
@@ -216,7 +216,7 @@ in
.RE
.P
Since Linux 2.6, there are two new
-.BR ioctl (2)
+.MR ioctl 2
operations:
.TP
.B LOOP_SET_STATUS64
@@ -259,7 +259,7 @@ and to add and remove loop devices from the system.
To perform these operations, one first opens
.I /dev/loop\-control
and then employs one of the following
-.BR ioctl (2)
+.MR ioctl 2
operations:
.TP
.B LOOP_CTL_GET_FREE
@@ -270,7 +270,7 @@ This operation takes no argument.
.B LOOP_CTL_ADD
Add the new loop device whose device number is specified
as a long integer in the third
-.BR ioctl (2)
+.MR ioctl 2
argument.
On success, the device index is returned as the result of the call.
If the device is already allocated, the call fails with the error
@@ -279,7 +279,7 @@ If the device is already allocated, the call fails with the error
.B LOOP_CTL_REMOVE
Remove the loop device whose device number is specified
as a long integer in the third
-.BR ioctl (2)
+.MR ioctl 2
argument.
On success, the device number is returned as the result of the call.
If the device is in use, the call fails with the error
@@ -357,5 +357,5 @@ main(int argc, char *argv[])
}
.EE
.SH SEE ALSO
-.BR losetup (8),
-.BR mount (8)
+.MR losetup 8 ,
+.MR mount 8
diff --git a/man4/lp.4 b/man4/lp.4
index d472b7cbd..da4ccdbb1 100644
--- a/man4/lp.4
+++ b/man4/lp.4
@@ -28,7 +28,7 @@ For typical dot matrix printers, polling will usually be enough.
The default is polling.
.SH DESCRIPTION
The following
-.BR ioctl (2)
+.MR ioctl 2
calls are supported:
.TP
.BR "int ioctl(int " fd ", LPTIME, int " arg )
@@ -61,7 +61,7 @@ The default is 0.
If
.I arg
is 0,
-.BR open (2)
+.MR open 2
will be aborted on error, otherwise error will be ignored.
The default is to ignore it.
.TP
@@ -87,7 +87,7 @@ This is used for both the polling and the interrupt driver.
.TP
.BR "int ioctl(int " fd ", LPSETIRQ, int " arg )
This
-.BR ioctl (2)
+.MR ioctl 2
requires superuser privileges.
It takes an
.I int
@@ -130,8 +130,8 @@ No argument is used.
.\" Alan Cox modularized it.
.\" LPCAREFUL, LPABORT, LPGETSTATUS were added by Chris Metcalf.
.SH SEE ALSO
-.BR chmod (1),
-.BR chown (1),
-.BR mknod (1),
-.BR lpcntl (8),
-.BR tunelp (8)
+.MR chmod 1 ,
+.MR chown 1 ,
+.MR mknod 1 ,
+.MR lpcntl 8 ,
+.MR tunelp 8
diff --git a/man4/mem.4 b/man4/mem.4
index 5bc14bbb6..d89cd63fb 100644
--- a/man4/mem.4
+++ b/man4/mem.4
@@ -76,6 +76,6 @@ chown root:kmem /dev/port
.br
.I /dev/port
.SH SEE ALSO
-.BR chown (1),
-.BR mknod (1),
-.BR ioperm (2)
+.MR chown 1 ,
+.MR mknod 1 ,
+.MR ioperm 2
diff --git a/man4/mouse.4 b/man4/mouse.4
index 1a08c15d8..d56498580 100644
--- a/man4/mouse.4
+++ b/man4/mouse.4
@@ -8,7 +8,7 @@
mouse \- serial mouse interface
.SH CONFIGURATION
Serial mice are connected to a serial RS232/V24 dialout line, see
-.BR ttyS (4)
+.MR ttyS 4
for a description.
.SH DESCRIPTION
.SS Introduction
@@ -167,5 +167,5 @@ byte d7 d6 d5 d4 d3 d2 d1 d0
.I /dev/mouse
A commonly used symbolic link pointing to a mouse device.
.SH SEE ALSO
-.BR ttyS (4),
-.BR gpm (8)
+.MR ttyS 4 ,
+.MR gpm 8
diff --git a/man4/null.4 b/man4/null.4
index b31c96ec5..32e85a45f 100644
--- a/man4/null.4
+++ b/man4/null.4
@@ -17,7 +17,7 @@ special files is discarded.
Reads from
.I /dev/null
always return end of file (i.e.,
-.BR read (2)
+.MR read 2
returns 0), whereas reads from
.I /dev/zero
always return bytes containing zero (\[aq]\e0\[aq] characters).
@@ -47,6 +47,6 @@ are interruptible by signals.
(This change was made to help with bad latencies for large reads from
.IR /dev/zero .)
.SH SEE ALSO
-.BR chown (1),
-.BR mknod (1),
-.BR full (4)
+.MR chown 1 ,
+.MR mknod 1 ,
+.MR full 4
diff --git a/man4/pts.4 b/man4/pts.4
index 3afff788e..2edf7365d 100644
--- a/man4/pts.4
+++ b/man4/pts.4
@@ -28,13 +28,13 @@ Each file descriptor obtained by opening
is an independent pseudoterminal master with its own associated slave,
whose path can
be found by passing the file descriptor to
-.BR ptsname (3).
+.MR ptsname 3 .
.P
Before opening the pseudoterminal slave, you must pass the master's file
descriptor to
-.BR grantpt (3)
+.MR grantpt 3
and
-.BR unlockpt (3).
+.MR unlockpt 3 .
.P
Once both the pseudoterminal master and slave are open, the slave provides
processes with an interface that is identical to that of a real terminal.
@@ -44,20 +44,20 @@ Data written to the master is presented to the slave as input.
.P
In practice, pseudoterminals are used for implementing terminal emulators
such as
-.BR xterm (1),
+.MR xterm 1 ,
in which data read from the pseudoterminal master is interpreted by the
application in the same way
a real terminal would interpret the data, and for implementing remote-login
programs such as
-.BR sshd (8),
+.MR sshd 8 ,
in which data read from the pseudoterminal master is sent across the network
to a client program that is connected to a terminal or terminal emulator.
.P
Pseudoterminals can also be used to send input to programs that normally
refuse to read input from pipes (such as
-.BR su (1),
+.MR su 1 ,
and
-.BR passwd (1)).
+.MR passwd 1 ).
.SH FILES
.IR /dev/ptmx ,
.I /dev/pts/*
@@ -68,8 +68,8 @@ is done using the
filesystem, which should be mounted on
.IR /dev/pts .
.SH SEE ALSO
-.BR getpt (3),
-.BR grantpt (3),
-.BR ptsname (3),
-.BR unlockpt (3),
-.BR pty (7)
+.MR getpt 3 ,
+.MR grantpt 3 ,
+.MR ptsname 3 ,
+.MR unlockpt 3 ,
+.MR pty 7
diff --git a/man4/ram.4 b/man4/ram.4
index 0f9bddc92..7b89a0ea8 100644
--- a/man4/ram.4
+++ b/man4/ram.4
@@ -23,6 +23,6 @@ chown root:disk /dev/ram
.SH FILES
.I /dev/ram
.SH SEE ALSO
-.BR chown (1),
-.BR mknod (1),
-.BR mount (8)
+.MR chown 1 ,
+.MR mknod 1 ,
+.MR mount 8
diff --git a/man4/random.4 b/man4/random.4
index 1d463254d..5da08c753 100644
--- a/man4/random.4
+++ b/man4/random.4
@@ -36,10 +36,10 @@ number of bits of noise in the entropy pool.
From this entropy pool, random numbers are created.
.P
Linux 3.17 and later provides the simpler and safer
-.BR getrandom (2)
+.MR getrandom 2
interface which requires no special files;
see the
-.BR getrandom (2)
+.MR getrandom 2
manual page for details.
.P
When read, the
@@ -55,7 +55,7 @@ may return data prior to the entropy pool being initialized.
.\" This is a real problem; see
.\" commit 9b4d008787f864f17d008c9c15bbe8a0f7e2fc24
If this is of concern in your application, use
-.BR getrandom (2)
+.MR getrandom 2
or \fI/dev/random\fP instead.
.P
The \fI/dev/random\fP device is a legacy interface which dates back to
@@ -74,17 +74,17 @@ flag is ignored as
.I /dev/random
will no longer block except during early boot process.
In earlier versions, if
-.BR open (2)
+.MR open 2
is called for
.I /dev/random
with the
.B O_NONBLOCK
flag, a subsequent
-.BR read (2)
+.MR read 2
will not block if the requested number of bytes is not available.
Instead, the available bytes are returned.
If no byte is available,
-.BR read (2)
+.MR read 2
will return \-1 and
.I errno
will be set to
@@ -95,7 +95,7 @@ The
flag has no effect when opening
.IR /dev/urandom .
When calling
-.BR read (2)
+.MR read 2
for the device
.IR /dev/urandom ,
reads of up to 256 bytes will return as many bytes as are requested
@@ -108,12 +108,12 @@ if interrupted by a signal handler.
Since Linux 3.16,
.\" commit 79a8468747c5f95ed3d5ce8376a3e82e0c5857fc
a
-.BR read (2)
+.MR read 2
from
.I /dev/urandom
will return at most 32\ MB.
A
-.BR read (2)
+.MR read 2
from
.I /dev/random
will return at most 512 bytes
@@ -134,7 +134,7 @@ interface is considered a legacy interface, and
is preferred and sufficient in all use cases, with the exception of
applications which require randomness during early boot time; for
these applications,
-.BR getrandom (2)
+.MR getrandom 2
must be used instead,
because it will block until the entropy pool is initialized.
.P
@@ -256,9 +256,9 @@ The default is 64.
This file
contains the number of bits of entropy below which we wake up
processes that do a
-.BR select (2)
+.MR select 2
or
-.BR poll (2)
+.MR poll 2
for write access to
.IR /dev/random .
These values can be changed by writing to the files.
@@ -271,7 +271,7 @@ generated once.
.\"
.SS ioctl(2) interface
The following
-.BR ioctl (2)
+.MR ioctl 2
requests are defined on file descriptors connected to either \fI/dev/random\fP
or \fI/dev/urandom\fP.
All requests performed will interact with the input
@@ -333,7 +333,7 @@ wall clock) to the pools.
.SH NOTES
For an overview and comparison of the various interfaces that
can be used to obtain randomness, see
-.BR random (7).
+.MR random 7 .
.SH BUGS
During early boot time, reads from
.I /dev/urandom
@@ -342,8 +342,8 @@ may return data prior to the entropy pool being initialized.
.\" The kernel's random number generator was written by
.\" Theodore Ts'o (tytso@athena.mit.edu).
.SH SEE ALSO
-.BR mknod (1),
-.BR getrandom (2),
-.BR random (7)
+.MR mknod 1 ,
+.MR getrandom 2 ,
+.MR random 7
.P
RFC\ 1750, "Randomness Recommendations for Security"
diff --git a/man4/rtc.4 b/man4/rtc.4
index 9619ff23c..e11844322 100644
--- a/man4/rtc.4
+++ b/man4/rtc.4
@@ -38,9 +38,9 @@ They usually won't offer the same functionality as the RTC from a PC/AT.
.SS RTC vs system clock
RTCs should not be confused with the system clock, which is
a software clock maintained by the kernel and used to implement
-.BR gettimeofday (2)
+.MR gettimeofday 2
and
-.BR time (2),
+.MR time 2 ,
as well as setting timestamps on files, and so on.
The system clock reports seconds and microseconds since a start point,
defined to be the POSIX Epoch: 1970-01-01 00:00:00 +0000 (UTC).
@@ -59,9 +59,9 @@ Systems without an RTC need to set the system clock using another clock,
maybe across the network or by entering that data manually.
.SS RTC functionality
RTCs can be read and written with
-.BR hwclock (8),
+.MR hwclock 8 ,
or directly with the
-.BR ioctl (2)
+.MR ioctl 2
requests listed below.
.P
Besides tracking the date and time, many RTCs can also generate
@@ -91,9 +91,9 @@ The
etc.)
device can be opened only once (until it is closed) and it is read-only.
On
-.BR read (2)
+.MR read 2
and
-.BR select (2)
+.MR select 2
the calling process is blocked until the next interrupt from that RTC
is received.
Following the interrupt, the process can read a long integer, of which
@@ -101,10 +101,10 @@ the least significant byte contains a bit mask encoding
the types of interrupt that occurred,
while the remaining 3 bytes contain the number of interrupts since the
last
-.BR read (2).
+.MR read 2 .
.SS ioctl(2) interface
The following
-.BR ioctl (2)
+.MR ioctl 2
requests are defined on file descriptors connected to RTC devices:
.TP
.B RTC_RD_TIME
@@ -129,16 +129,16 @@ struct rtc_time {
The fields in this structure have the same meaning and ranges as for the
.I tm
structure described in
-.BR gmtime (3).
+.MR gmtime 3 .
A pointer to this structure should be passed as the third
-.BR ioctl (2)
+.MR ioctl 2
argument.
.TP
.B RTC_SET_TIME
Sets this RTC's time to the time specified by the
.I rtc_time
structure pointed to by the third
-.BR ioctl (2)
+.MR ioctl 2
argument.
To set the
RTC's time the process must be privileged (i.e., have the
@@ -153,7 +153,7 @@ The alarm interrupt must be separately enabled or disabled using the
.BR RTC_AIE_ON ", " RTC_AIE_OFF
requests.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is a pointer to an
.I rtc_time
structure.
@@ -173,7 +173,7 @@ The periodic interrupt must be separately enabled or disabled using the
.BR RTC_PIE_ON ", " RTC_PIE_OFF
requests.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is an
.I "unsigned long\ *"
or an
@@ -193,7 +193,7 @@ capability) can set frequencies above the value specified in
.B RTC_AIE_OFF
Enable or disable the alarm interrupt, for RTCs that support alarms.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is ignored.
.TP
.B RTC_UIE_ON
@@ -202,7 +202,7 @@ argument is ignored.
Enable or disable the interrupt on every clock update,
for RTCs that support this once-per-second interrupt.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is ignored.
.TP
.B RTC_PIE_ON
@@ -211,7 +211,7 @@ argument is ignored.
Enable or disable the periodic interrupt,
for RTCs that support these periodic interrupts.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is ignored.
Only a privileged process (i.e., one having the
.B CAP_SYS_RESOURCE
@@ -234,7 +234,7 @@ With some RTCs,
these operations can be used to read or to set the RTC's Epoch,
respectively.
The third
-.BR ioctl (2)
+.MR ioctl 2
argument is an
.I "unsigned long\ *"
or an
@@ -288,7 +288,7 @@ and
.I tm_year
fields are also valid.
A pointer to this structure should be passed as the third
-.BR ioctl (2)
+.MR ioctl 2
argument.
.SH FILES
.TP
@@ -306,7 +306,7 @@ status of the (first) RTC.
.SH NOTES
When the kernel's system time is synchronized with an external
reference using
-.BR adjtimex (2)
+.MR adjtimex 2
it will update a designated RTC periodically every 11 minutes.
To do so, the kernel has to briefly turn off periodic interrupts;
this might affect programs using that RTC.
@@ -333,15 +333,15 @@ nonvolatile memory;
and other hardware
capabilities that are not currently exposed by this API.
.SH SEE ALSO
-.BR date (1),
-.BR adjtimex (2),
-.BR gettimeofday (2),
-.BR settimeofday (2),
-.BR stime (2),
-.BR time (2),
-.BR gmtime (3),
-.BR time (7),
-.BR hwclock (8)
+.MR date 1 ,
+.MR adjtimex 2 ,
+.MR gettimeofday 2 ,
+.MR settimeofday 2 ,
+.MR stime 2 ,
+.MR time 2 ,
+.MR gmtime 3 ,
+.MR time 7 ,
+.MR hwclock 8
.P
.I Documentation/rtc.txt
in the Linux kernel source tree
diff --git a/man4/sd.4 b/man4/sd.4
index 5a3221146..0815feb4d 100644
--- a/man4/sd.4
+++ b/man4/sd.4
@@ -68,7 +68,7 @@ struct hd_geometry {
.in
.IP
A pointer to this structure is passed as the
-.BR ioctl (2)
+.MR ioctl 2
parameter.
.IP
The information returned in the parameter is the disk geometry of the drive
@@ -79,17 +79,17 @@ the physical geometry of the drive.
It is used when constructing the
drive's partition table, however, and is needed for convenient operation
of
-.BR fdisk (1),
-.BR efdisk (1),
+.MR fdisk 1 ,
+.MR efdisk 1 ,
and
-.BR lilo (1).
+.MR lilo 1 .
If the geometry information is not available, zero will be returned for all
of the parameters.
.TP
.B BLKGETSIZE
Returns the device size in sectors.
The
-.BR ioctl (2)
+.MR ioctl 2
parameter should be a pointer to a
.IR long .
.TP
@@ -98,12 +98,12 @@ Forces a reread of the SCSI disk partition tables.
No parameter is needed.
.IP
The SCSI
-.BR ioctl (2)
+.MR ioctl 2
operations are also supported.
If the
-.BR ioctl (2)
+.MR ioctl 2
parameter is required, and it is NULL, then
-.BR ioctl (2)
+.MR ioctl 2
fails with the error
.BR EINVAL .
.SH FILES
diff --git a/man4/sk98lin.4 b/man4/sk98lin.4
index 3bbbd69f0..a0bbc5449 100644
--- a/man4/sk98lin.4
+++ b/man4/sk98lin.4
@@ -86,7 +86,7 @@ If loading is finished, any desired IP address can be
assigned to the respective
.I eth[x]
interface using the
-.BR ifconfig (8)
+.MR ifconfig 8
command.
This causes the adapter to connect to the Ethernet and to display a status
message on the console saying "ethx: network connection up using port y"
@@ -102,7 +102,7 @@ for an interface is to be set to a high value.
The default MTU size is 1500 and can be changed up to 9000 (bytes).
Setting the MTU size can be done when assigning the IP address
to the interface or later by using the
-.BR ifconfig (8)
+.MR ifconfig 8
command with the mtu parameter.
If for instance eth0 needs an IP
address and a large frame MTU size,
@@ -137,7 +137,7 @@ enabled regarding jumbo frames.
If an adapter is not set to receive large frames, it will simply drop them.
.P
Switching back to the standard Ethernet frame size can be done by using the
-.BR ifconfig (8)
+.MR ifconfig 8
command again:
.P
.in +4n
@@ -575,6 +575,6 @@ Report any bugs to linux@syskonnect.de
.\" .br
.\" Mirko Lindner \[em] mlindner@syskonnect.de
.SH SEE ALSO
-.BR ifconfig (8),
-.BR insmod (8),
-.BR modprobe (8)
+.MR ifconfig 8 ,
+.MR insmod 8 ,
+.MR modprobe 8
diff --git a/man4/smartpqi.4 b/man4/smartpqi.4
index 0da664131..edd453aea 100644
--- a/man4/smartpqi.4
+++ b/man4/smartpqi.4
@@ -24,11 +24,11 @@ smartpqi \- Microchip Smart Storage SCSI driver
is a SCSI driver for Microchip Smart Storage controllers.
.SS Supported \f[BI]ioctl\fP\/() operations
For compatibility with applications written for the
-.BR cciss (4)
+.MR cciss 4
and
-.BR hpsa (4)
+.MR hpsa 4
drivers, many, but not all of the
-.BR ioctl (2)
+.MR ioctl 2
operations supported by the
.B hpsa
driver are also supported by the
@@ -486,11 +486,11 @@ was replaced by two sysfs entries:
.IP
.I /sys/class/scsi_host/host*/firmware_version
.SH SEE ALSO
-.BR cciss (4),
-.BR hpsa (4),
-.BR sd (4),
-.BR st (4),
-.BR sg (4)
+.MR cciss 4 ,
+.MR hpsa 4 ,
+.MR sd 4 ,
+.MR st 4 ,
+.MR sg 4
.P
.I Documentation/ABI/testing/sysfs\-bus\-pci\-devices\-cciss
in the Linux kernel source tree.
diff --git a/man4/st.4 b/man4/st.4
index 3dd16d744..44e90bee2 100644
--- a/man4/st.4
+++ b/man4/st.4
@@ -107,7 +107,7 @@ For example, if the drive firmware selects fixed-block mode,
the tape device uses fixed-block mode.
The options can
be changed with explicit
-.BR ioctl (2)
+.MR ioctl 2
calls and remain in effect when the device is closed and reopened.
Setting the options affects both the auto-rewind and the nonrewind
device.
@@ -129,19 +129,19 @@ have nothing to do with disk partitions.
A partitioned tape can be
seen as several logical tapes within one medium.)
Partition support has to be enabled with an
-.BR ioctl (2).
+.MR ioctl 2 .
The tape
location is preserved within each partition across partition changes.
The partition used for subsequent tape operations is
selected with an
-.BR ioctl (2).
+.MR ioctl 2 .
The partition switch is executed together with
the next tape operation in order to avoid unnecessary tape
movement.
The maximum number of partitions on a tape is defined by a
compile-time constant (originally four).
The driver contains an
-.BR ioctl (2)
+.MR ioctl 2
that can format a tape with either one or two partitions.
.P
Device
@@ -208,7 +208,7 @@ read calls.
The third read returns an error.
.SS Ioctls
The driver supports three
-.BR ioctl (2)
+.MR ioctl 2
requests.
Requests not recognized by the
.B st
@@ -747,7 +747,7 @@ writing on the current medium type.
.TP
\fBGMT_ONLINE\fP(\fIx\fP)
The last
-.BR open (2)
+.MR open 2
found the drive with a tape in place and ready for operation.
.TP
\fBGMT_D_6250\fP(\fIx\fP)
@@ -826,7 +826,7 @@ struct mtpos {
.B EACCES
An attempt was made to write or erase a write-protected tape.
(This error is not detected during
-.BR open (2).)
+.MR open 2 .)
.TP
.B EBUSY
The device is already in use or the driver was unable to allocate a
@@ -838,7 +838,7 @@ process.
.TP
.B EINVAL
An
-.BR ioctl (2)
+.MR ioctl 2
had an invalid argument, or a requested block size was invalid.
.TP
.B EIO
@@ -846,7 +846,7 @@ The requested operation could not be completed.
.TP
.B ENOMEM
The byte count in
-.BR read (2)
+.MR read 2
is smaller than the next physical block on the tape.
(Before Linux 2.2.18 and Linux 2.4.0 the extra bytes have been
.\" Precisely: Linux 2.6.0-test6
@@ -858,7 +858,7 @@ end-of-medium.
.TP
.B ENOSYS
Unknown
-.BR ioctl (2).
+.MR ioctl 2 .
.TP
.B ENXIO
During opening, the tape device does not exist.
@@ -908,7 +908,7 @@ this is that a fairly large tape block size has to be used to get
acceptable data transfer rates on the SCSI bus.
.IP \[bu]
Many programs (e.g.,
-.BR tar (1))
+.MR tar 1 )
allow the user to specify the blocking
factor on the command line.
Note that this determines the physical block
@@ -928,9 +928,9 @@ if verbose SCSI messages are enabled in kernel configuration.
.IP \[bu]
The driver's internal buffering allows good throughput in fixed-block
mode also with small
-.BR read (2)
+.MR read 2
and
-.BR write (2)
+.MR write 2
byte counts.
With direct transfers
this is not possible and may cause a surprise when moving to the 2.6
@@ -939,7 +939,7 @@ The solution is to tell the software to use larger transfers (often
telling it to use larger blocks).
If this is not possible, direct transfers can be disabled.
.SH SEE ALSO
-.BR mt (1)
+.MR mt 1
.P
The file
.I drivers/scsi/README.st
diff --git a/man4/tty.4 b/man4/tty.4
index 7a0d214b6..bf809c1e5 100644
--- a/man4/tty.4
+++ b/man4/tty.4
@@ -17,11 +17,11 @@ minor number 0, usually with mode 0666 and ownership root:tty.
It is a synonym for the controlling terminal of a process, if any.
.P
In addition to the
-.BR ioctl (2)
+.MR ioctl 2
requests supported by the device that
.B tty
refers to, the
-.BR ioctl (2)
+.MR ioctl 2
request
.B TIOCNOTTY
is supported.
@@ -37,7 +37,7 @@ signals are sent to the foreground process group
and all processes in the current session lose their controlling tty.
.P
This
-.BR ioctl (2)
+.MR ioctl 2
call works only on file descriptors connected
to
.IR /dev/tty .
@@ -54,14 +54,14 @@ to detach itself.
.SH FILES
.I /dev/tty
.SH SEE ALSO
-.BR chown (1),
-.BR mknod (1),
-.BR ioctl (2),
-.BR ioctl_console (2),
-.BR ioctl_tty (2),
-.BR termios (3),
-.BR ttyS (4),
-.BR vcs (4),
-.BR pty (7),
-.BR agetty (8),
-.BR mingetty (8)
+.MR chown 1 ,
+.MR mknod 1 ,
+.MR ioctl 2 ,
+.MR ioctl_console 2 ,
+.MR ioctl_tty 2 ,
+.MR termios 3 ,
+.MR ttyS 4 ,
+.MR vcs 4 ,
+.MR pty 7 ,
+.MR agetty 8 ,
+.MR mingetty 8
diff --git a/man4/ttyS.4 b/man4/ttyS.4
index dcab5ca4a..9ad0c9b64 100644
--- a/man4/ttyS.4
+++ b/man4/ttyS.4
@@ -25,9 +25,9 @@ chown root:tty /dev/ttyS[0\-3]
.SH FILES
.I /dev/ttyS[0\-3]
.SH SEE ALSO
-.BR chown (1),
-.BR mknod (1),
-.BR tty (4),
-.BR agetty (8),
-.BR mingetty (8),
-.BR setserial (8)
+.MR chown 1 ,
+.MR mknod 1 ,
+.MR tty 4 ,
+.MR agetty 8 ,
+.MR mingetty 8 ,
+.MR setserial 8
diff --git a/man4/vcs.4 b/man4/vcs.4
index fe159f093..68f6814ca 100644
--- a/man4/vcs.4
+++ b/man4/vcs.4
@@ -39,7 +39,7 @@ dimensions and cursor position:
.P
When a 512-character font is loaded,
the 9th bit position can be fetched by applying the
-.BR ioctl (2)
+.MR ioctl 2
.B VT_GETHIFONTMASK
operation
(available since Linux 2.6.18)
@@ -48,13 +48,13 @@ on
the value is returned in the
.I "unsigned short"
pointed to by the third
-.BR ioctl (2)
+.MR ioctl 2
argument.
.P
These devices replace the screendump
-.BR ioctl (2)
+.MR ioctl 2
operations of
-.BR ioctl_console (2),
+.MR ioctl_console 2 ,
so the system
administrator can control access using filesystem permissions.
.P
@@ -71,7 +71,7 @@ chown root:tty /dev/vcs*
.in
.P
No
-.BR ioctl (2)
+.MR ioctl 2
requests are supported.
.SH FILES
.I /dev/vcs[0\-63]
@@ -166,7 +166,7 @@ main(void)
}
.EE
.SH SEE ALSO
-.BR ioctl_console (2),
-.BR tty (4),
-.BR ttyS (4),
-.BR gpm (8)
+.MR ioctl_console 2 ,
+.MR tty 4 ,
+.MR ttyS 4 ,
+.MR gpm 8
diff --git a/man4/veth.4 b/man4/veth.4
index 690a2087e..905adbef5 100644
--- a/man4/veth.4
+++ b/man4/veth.4
@@ -63,7 +63,7 @@ pair, move one side to the other namespace:
.EE
.in
.P
-.BR ethtool (8)
+.MR ethtool 8
can be used to find the peer of a
.B veth
network interface, using commands something like:
@@ -79,8 +79,8 @@ NIC statistics:
.EE
.in
.SH "SEE ALSO"
-.BR clone (2),
-.BR network_namespaces (7),
-.BR ip (8),
-.BR ip\-link (8),
-.BR ip\-netns (8)
+.MR clone 2 ,
+.MR network_namespaces 7 ,
+.MR ip 8 ,
+.MR ip\-link 8 ,
+.MR ip\-netns 8
diff --git a/man4/wavelan.4 b/man4/wavelan.4
index ad2532cbc..be854dfb5 100644
--- a/man4/wavelan.4
+++ b/man4/wavelan.4
@@ -36,7 +36,7 @@ in the kernel log file with the MAC address, NWID, and frequency used
by the card.
.SS Parameters
This section applies to the module form (parameters passed on the
-.BR insmod (8)
+.MR insmod 8
command line).
If the driver is included in the kernel, use the
.I ether=IRQ,IO,NAME
@@ -56,10 +56,10 @@ saved in permanent storage for future use).
.B name
Set the list of names to be used for each wavelan card device (name
used by
-.BR ifconfig (8)).
+.MR ifconfig 8 ).
.SS Wireless extensions
Use
-.BR iwconfig (8)
+.MR iwconfig 8
to manipulate wireless extensions.
.SS NWID (or domain)
Set the network ID
@@ -84,7 +84,7 @@ Frequency availability depends on the regulations...
.SS Statistics spy
Set a list of MAC addresses in the driver (up to 8) and get the last
quality of link for each of those (see
-.BR iwspy (8)).
+.MR iwspy 8 ).
.SS /proc/net/wireless
.I status
is the status reported by the modem.
@@ -102,7 +102,7 @@ and
counters are not implemented.
.SS Private ioctl
You may use
-.BR iwpriv (8)
+.MR iwpriv 8
to manipulate private ioctls.
.SS Quality and level threshold
Enables you to define the quality and level threshold used by the
@@ -134,9 +134,9 @@ them by changing flags in the driver header and recompile.
.\" SEE ALSO part
.\"
.SH SEE ALSO
-.BR wavelan_cs (4),
-.BR ifconfig (8),
-.BR insmod (8),
-.BR iwconfig (8),
-.BR iwpriv (8),
-.BR iwspy (8)
+.MR wavelan_cs 4 ,
+.MR ifconfig 8 ,
+.MR insmod 8 ,
+.MR iwconfig 8 ,
+.MR iwpriv 8 ,
+.MR iwspy 8
diff --git a/man5/acct.5 b/man5/acct.5
index e9fa47b0d..a7f761cbc 100644
--- a/man5/acct.5
+++ b/man5/acct.5
@@ -13,7 +13,7 @@ acct \- process accounting file
If the kernel is built with the process accounting option enabled
.RB ( CONFIG_BSD_PROCESS_ACCT ),
then calling
-.BR acct (2)
+.MR acct 2
starts process accounting, for example:
.P
.in +4n
@@ -151,11 +151,11 @@ on termination of the last thread in the process.
The
.I /proc/sys/kernel/acct
file, described in
-.BR proc (5),
+.MR proc 5 ,
defines settings that control the behavior of process accounting
when disk space runs low.
.SH SEE ALSO
-.BR lastcomm (1),
-.BR acct (2),
-.BR accton (8),
-.BR sa (8)
+.MR lastcomm 1 ,
+.MR acct 2 ,
+.MR accton 8 ,
+.MR sa 8
diff --git a/man5/charmap.5 b/man5/charmap.5
index 40a9ad673..b61c5d103 100644
--- a/man5/charmap.5
+++ b/man5/charmap.5
@@ -8,7 +8,7 @@ charmap \- character set description file
.SH DESCRIPTION
A character set description (charmap) defines all available characters
and their encodings in a character set.
-.BR localedef (1)
+.MR localedef 1
can use charmaps to create locale variants for different character sets.
.SS Syntax
The charmap file starts with a header that may consist of the
@@ -98,8 +98,8 @@ charmap:
<U20AC> /xe2/x82/xac EURO SIGN
.fi
.SH SEE ALSO
-.BR iconv (1),
-.BR locale (1),
-.BR localedef (1),
-.BR locale (5),
-.BR charsets (7)
+.MR iconv 1 ,
+.MR locale 1 ,
+.MR localedef 1 ,
+.MR locale 5 ,
+.MR charsets 7
diff --git a/man5/core.5 b/man5/core.5
index 2fb7979da..742cc72dc 100644
--- a/man5/core.5
+++ b/man5/core.5
@@ -12,16 +12,16 @@ and produce a
a file containing an image of the process's memory at
the time of termination.
This image can be used in a debugger (e.g.,
-.BR gdb (1))
+.MR gdb 1 )
to inspect the state of the program at the time that it terminated.
A list of the signals which cause a process to dump core can be found in
-.BR signal (7).
+.MR signal 7 .
.P
A process can set its soft
.B RLIMIT_CORE
resource limit to place an upper limit on the size of the core dump file
that will be produced if it receives a "core dump" signal; see
-.BR getrlimit (2)
+.MR getrlimit 2
for details.
.P
There are various circumstances in which a core dump file is
@@ -60,13 +60,13 @@ The
(core file size) or
.B RLIMIT_FSIZE
(file size) resource limits for the process are set to zero; see
-.BR getrlimit (2)
+.MR getrlimit 2
and the documentation of the shell's
.I ulimit
command
.RI ( limit
in
-.BR csh (1)).
+.MR csh 1 ).
However,
.B RLIMIT_CORE
will be ignored if the system is configured to pipe core dumps to a program.
@@ -82,16 +82,16 @@ The process is executing a set-user-ID (set-group-ID) program
that is owned by a user (group) other than the real user (group)
ID of the process,
or the process is executing a program that has file capabilities (see
-.BR capabilities (7)).
+.MR capabilities 7 ).
(However, see the description of the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_DUMPABLE
operation, and the description of the
.I /proc/sys/fs/suid_dumpable
.\" FIXME . Perhaps relocate discussion of /proc/sys/fs/suid_dumpable
.\" and PR_SET_DUMPABLE to this page?
file in
-.BR proc (5).)
+.MR proc 5 .)
.IP \[bu]
.I /proc/sys/kernel/core_pattern
is empty and
@@ -106,7 +106,7 @@ contains the value 1,
core dump files will have names of the form
.IR .pid ,
and such files are hidden unless one uses the
-.BR ls (1)
+.MR ls 1
.I \-a
option.
.IP \[bu]
@@ -118,16 +118,16 @@ option.
.P
In addition,
a core dump may exclude part of the address space of the process if the
-.BR madvise (2)
+.MR madvise 2
.B MADV_DONTDUMP
flag was employed.
.P
On systems that employ
-.BR systemd (1)
+.MR systemd 1
as the
.I init
framework, core dumps may instead be placed in a location determined by
-.BR systemd (1).
+.MR systemd 1 .
See below for further details.
.\"
.SS Naming of core dump files
@@ -152,7 +152,7 @@ Core file size soft resource limit of crashing process (since Linux 2.6.24).
%d
.\" Added in git commit 12a2b4b2241e318b4f6df31228e4272d2c2968a1
Dump mode\[em]same as value returned by
-.BR prctl (2)
+.MR prctl 2
.B PR_GET_DUMPABLE
(since Linux 3.7).
.TP
@@ -167,7 +167,7 @@ see the discussion of
and
.IR /proc/ pid /task/ tid /comm
in
-.BR proc (5).
+.MR proc 5 .
.TP
%E
Pathname of executable,
@@ -234,11 +234,11 @@ is nonzero, then .PID will be appended to the core filename.
Paths are interpreted according to the settings that are active for the
crashing process.
That means the crashing process's mount namespace (see
-.BR mount_namespaces (7)),
+.MR mount_namespaces 7 ),
its current working directory (found via
-.BR getcwd (2)),
+.MR getcwd 2 ),
and its root directory (see
-.BR chroot (2)).
+.MR chroot 2 ).
.P
Since Linux 2.4, Linux has also provided
a more primitive method of controlling
@@ -380,7 +380,7 @@ core dump file in the event that a core dump is performed for the
process with the corresponding process ID.
.P
The value in the file is a bit mask of memory mapping types (see
-.BR mmap (2)).
+.MR mmap 2 ).
If a bit is set in the mask, then memory mappings of the
corresponding type are dumped; otherwise they are not dumped.
The bits in this file have the following meanings:
@@ -433,20 +433,21 @@ The value of this file is displayed in hexadecimal.
.P
Memory-mapped I/O pages such as frame buffer are never dumped, and
virtual DSO
-.RB ( vdso (7))
+\%(\c
+.MR vdso 7 )
pages are always dumped, regardless of the
.I coredump_filter
value.
.P
A child process created via
-.BR fork (2)
+.MR fork 2
inherits its parent's
.I coredump_filter
value;
the
.I coredump_filter
value is preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
It can be useful to set
.I coredump_filter
@@ -465,17 +466,17 @@ configuration option.
.\"
.SS Core dumps and systemd
On systems using the
-.BR systemd (1)
+.MR systemd 1
.I init
framework, core dumps may be placed in a location determined by
-.BR systemd (1).
+.MR systemd 1 .
To do this,
-.BR systemd (1)
+.MR systemd 1
employs the
.I core_pattern
feature that allows piping core dumps to a program.
One can verify this by checking whether core dumps are being piped to the
-.BR systemd\-coredump (8)
+.MR systemd\-coredump 8
program:
.P
.in +4n
@@ -486,15 +487,15 @@ $ \fBcat /proc/sys/kernel/core_pattern\fP
.in
.P
In this case, core dumps will be placed in the location configured for
-.BR systemd\-coredump (8),
+.MR systemd\-coredump 8 ,
typically as
-.BR lz4 (1)
+.MR lz4 1
compressed files in the directory
.IR /var/lib/systemd/coredump/ .
One can list the core dumps that have been recorded by
-.BR systemd\-coredump (8)
+.MR systemd\-coredump 8
using
-.BR coredumpctl (1):
+.MR coredumpctl 1 :
.P
.EX
$ \fBcoredumpctl list | tail \-5\fP
@@ -510,9 +511,9 @@ of the dump, the PID, UID, and GID of the dumping process,
the signal number that caused the core dump,
and the pathname of the executable that was being run by the dumped process.
Various options to
-.BR coredumpctl (1)
+.MR coredumpctl 1
allow a specified coredump file to be pulled from the
-.BR systemd (1)
+.MR systemd 1
location into a specified file.
For example, to extract the core dump for PID 2955 shown above to a file named
.I core
@@ -525,14 +526,14 @@ $ \fBcoredumpctl dump 2955 \-o core\fP
.in
.P
For more extensive details, see the
-.BR coredumpctl (1)
+.MR coredumpctl 1
manual page.
.P
To (persistently) disable the
-.BR systemd (1)
+.MR systemd 1
mechanism that archives core dumps, restoring to something more like
traditional Linux behavior, one can set an override for the
-.BR systemd (1)
+.MR systemd 1
mechanism, using something like:
.P
.in +4n
@@ -557,7 +558,7 @@ as well as the number of the signal which triggered the core dump):
.\"
.SH NOTES
The
-.BR gdb (1)
+.MR gdb 1
.I gcore
command can be used to obtain a core dump of a running process.
.P
@@ -567,7 +568,7 @@ if a multithreaded process (or, more precisely, a process that
shares its memory with another process by being created with the
.B CLONE_VM
flag of
-.BR clone (2))
+.MR clone 2 )
dumps core, then the process ID is always appended to the core filename,
unless the process ID was already included elsewhere in the
filename via a
@@ -670,15 +671,15 @@ main(int argc, char *argv[])
}
.EE
.SH SEE ALSO
-.BR bash (1),
-.BR coredumpctl (1),
-.BR gdb (1),
-.BR getrlimit (2),
-.BR mmap (2),
-.BR prctl (2),
-.BR sigaction (2),
-.BR elf (5),
-.BR proc (5),
-.BR pthreads (7),
-.BR signal (7),
-.BR systemd\-coredump (8)
+.MR bash 1 ,
+.MR coredumpctl 1 ,
+.MR gdb 1 ,
+.MR getrlimit 2 ,
+.MR mmap 2 ,
+.MR prctl 2 ,
+.MR sigaction 2 ,
+.MR elf 5 ,
+.MR proc 5 ,
+.MR pthreads 7 ,
+.MR signal 7 ,
+.MR systemd\-coredump 8
diff --git a/man5/dir_colors.5 b/man5/dir_colors.5
index 1f4dfa194..4ce413537 100644
--- a/man5/dir_colors.5
+++ b/man5/dir_colors.5
@@ -8,7 +8,7 @@
dir_colors \- configuration file for dircolors(1)
.SH DESCRIPTION
The program
-.BR ls (1)
+.MR ls 1
uses the environment variable
.B LS_COLORS
to determine the colors in which the filenames are to be displayed.
@@ -23,7 +23,7 @@ found in a system default shell initialization file, like
or
.IR /etc/csh.cshrc .
(See also
-.BR dircolors (1).)
+.MR dircolors 1 .)
Usually, the file used here is
.I /etc/DIR_COLORS
and can be overridden by a
@@ -66,7 +66,7 @@ terminal types.
.TP
.B COLOR yes|all|no|none|tty
(Slackware only; ignored by GNU
-.BR dircolors (1).)
+.MR dircolors 1 .)
Specifies that colorization should always be enabled (\fIyes\fR or
\fIall\fR), never enabled (\fIno\fR or \fInone\fR), or enabled only if
the output is a terminal (\fItty\fR).
@@ -74,7 +74,7 @@ The default is \fIno\fR.
.TP
.B EIGHTBIT yes|no
(Slackware only; ignored by GNU
-.BR dircolors (1).)
+.MR dircolors 1 .)
Specifies that eight-bit ISO 8859 characters should be enabled by
default.
For compatibility reasons, this can also be specified as 1 for
@@ -83,7 +83,7 @@ The default is \fIno\fR.
.TP
.B OPTIONS \fIoptions\fR
(Slackware only; ignored by GNU
-.BR dircolors (1).)
+.MR dircolors 1 .)
Adds command-line options to the default
.B ls
command line.
@@ -400,7 +400,7 @@ The default
.B ENDCODE
is undefined.
.SH SEE ALSO
-.BR dircolors (1),
-.BR ls (1),
-.BR stty (1),
-.BR xterm (1)
+.MR dircolors 1 ,
+.MR ls 1 ,
+.MR stty 1 ,
+.MR xterm 1
diff --git a/man5/elf.5 b/man5/elf.5
index d58720e93..7b09d18a7 100644
--- a/man5/elf.5
+++ b/man5/elf.5
@@ -1610,9 +1610,9 @@ but references in the local module always resolve to the local symbol.
.P
There are macros for extracting the visibility type:
.P
-.BR ELF32_ST_VISIBILITY (other)
+.MR ELF32_ST_VISIBILITY other
or
-.BR ELF64_ST_VISIBILITY (other)
+.MR ELF64_ST_VISIBILITY other
.RE
.TP
.I st_shndx
@@ -2127,7 +2127,7 @@ The byte gives the bit number to test if enabled, (1U << bit) & bit mask.
.TP
.B NT_GNU_BUILD_ID
Unique build ID as generated by the GNU
-.BR ld (1)
+.MR ld 1
.B \-\-build\-id
option.
The desc consists of any nonzero number of bytes.
@@ -2179,22 +2179,22 @@ look under SEE ALSO.
.\" .Nm elf
.\" man page.
.SH SEE ALSO
-.BR as (1),
-.BR elfedit (1),
-.BR gdb (1),
-.BR ld (1),
-.BR nm (1),
-.BR objcopy (1),
-.BR objdump (1),
-.BR patchelf (1),
-.BR readelf (1),
-.BR size (1),
-.BR strings (1),
-.BR strip (1),
-.BR execve (2),
-.BR dl_iterate_phdr (3),
-.BR core (5),
-.BR ld.so (8)
+.MR as 1 ,
+.MR elfedit 1 ,
+.MR gdb 1 ,
+.MR ld 1 ,
+.MR nm 1 ,
+.MR objcopy 1 ,
+.MR objdump 1 ,
+.MR patchelf 1 ,
+.MR readelf 1 ,
+.MR size 1 ,
+.MR strings 1 ,
+.MR strip 1 ,
+.MR execve 2 ,
+.MR dl_iterate_phdr 3 ,
+.MR core 5 ,
+.MR ld.so 8
.P
Hewlett-Packard,
.IR "Elf-64 Object File Format" .
diff --git a/man5/erofs.5 b/man5/erofs.5
index 3611baffa..f61a2c74a 100644
--- a/man5/erofs.5
+++ b/man5/erofs.5
@@ -37,7 +37,7 @@ Defaults to yes.
.TQ
.B noacl
Controls whether POSIX
-.BR acl (5)s
+.MR acl 5 s
are exposed.
Defaults to yes.
.TP
@@ -66,7 +66,7 @@ Add extra device holding some of the data.
Must be given as many times and in the same order as
.B \-\-blobdev
was to
-.BR mkfs.erofs (1).
+.MR mkfs.erofs 1 .
.\" Nominally there's a device_table feature and it somehow scans(?) for them,
.\" cf. super.c:erofs_scan_devices(), but I haven't gotten it to work
.TP
@@ -81,7 +81,7 @@ images are versioned through the use of feature flags;
these are listed in the
.B \-E
section of
-.BR mkfs.erofs (1),
+.MR mkfs.erofs 1 ,
.SH CONFIGURATION
Linux must be configured with the
.B CONFIG_EROFS_FS
@@ -89,9 +89,9 @@ option to mount EROFS filesystems.
There are sub-configuration items that restrict the availability
of some of the parameters above.
.SH SEE ALSO
-.BR mkfs.erofs (1),
-.BR fsck.erofs (1),
-.BR dump.erofs (1)
+.MR mkfs.erofs 1 ,
+.MR fsck.erofs 1 ,
+.MR dump.erofs 1
.P
.I Documentation/filesystems/erofs.txt
in the Linux source.
diff --git a/man5/filesystems.5 b/man5/filesystems.5
index d8adc3db9..d6b57fa44 100644
--- a/man5/filesystems.5
+++ b/man5/filesystems.5
@@ -19,10 +19,10 @@ you can find in the file
.I /proc/filesystems
which filesystems your kernel currently supports;
see
-.BR proc (5)
+.MR proc 5
for more details.
There is also a legacy
-.BR sysfs (2)
+.MR sysfs 2
system call (whose availability is controlled by the
.\" commit: 6af9f7bf3c399e0ab1eee048e13572c6d4e15fe9
.B CONFIG_SYSFS_SYSCALL
@@ -38,9 +38,9 @@ kernel module or recompile the kernel.
In order to use a filesystem, you have to
.I mount
it; see
-.BR mount (2)
+.MR mount 2
and
-.BR mount (8).
+.MR mount 8 .
.P
The following list provides a
short description of the available or historically available
@@ -52,7 +52,7 @@ description of all options and limitations.
is the Enhanced Read-Only File System, stable since Linux 5.4.
.\" commit 47e4937a4a7ca4184fd282791dfee76c6799966a moves it out of staging
See
-.BR erofs (5).
+.MR erofs 5 .
.TP
.B ext
is an elaborate extension of the
@@ -70,7 +70,7 @@ The second extended filesystem was designed as an extension of the
extended filesystem
.RB ( ext ).
See
-.BR ext2 (5).
+.MR ext2 5 .
.TP
.B ext3
is a journaling version of the
@@ -82,7 +82,7 @@ switch back and forth between
and
.BR ext3 .
See
-.BR ext3 (5).
+.MR ext3 5 .
.TP
.B ext4
is a set of upgrades to
@@ -91,7 +91,7 @@ including substantial performance and
reliability enhancements,
plus large increases in volume, file, and directory size limits.
See
-.BR ext4 (5).
+.MR ext4 5 .
.TP
.B hpfs
is the High Performance Filesystem, used in OS/2.
@@ -162,7 +162,7 @@ structures rather than reading and interpreting
.IR /dev/kmem .
In particular, its files do not take disk space.
See
-.BR proc (5).
+.MR proc 5 .
.TP
.B Reiserfs
is a journaling filesystem, designed by Hans Reiser,
@@ -191,7 +191,7 @@ is a filesystem whose contents reside in virtual memory.
Since the files on such filesystems typically reside in RAM,
file access is extremely fast.
See
-.BR tmpfs (5).
+.MR tmpfs 5 .
.TP
.B vfat
is an extended FAT filesystem used by Microsoft Windows95 and Windows NT.
@@ -212,16 +212,16 @@ The
filesystem is no longer actively developed or maintained.
It was removed from the kernel in Linux 2.1.21.
.SH SEE ALSO
-.BR fuse (4),
-.BR btrfs (5),
-.BR ext2 (5),
-.BR ext3 (5),
-.BR ext4 (5),
-.BR nfs (5),
-.BR proc (5),
-.BR sysfs (5),
-.BR tmpfs (5),
-.BR xfs (5),
-.BR fsck (8),
-.BR mkfs (8),
-.BR mount (8)
+.MR fuse 4 ,
+.MR btrfs 5 ,
+.MR ext2 5 ,
+.MR ext3 5 ,
+.MR ext4 5 ,
+.MR nfs 5 ,
+.MR proc 5 ,
+.MR sysfs 5 ,
+.MR tmpfs 5 ,
+.MR xfs 5 ,
+.MR fsck 8 ,
+.MR mkfs 8 ,
+.MR mount 8
diff --git a/man5/ftpusers.5 b/man5/ftpusers.5
index cca6ec73c..eb2e94b47 100644
--- a/man5/ftpusers.5
+++ b/man5/ftpusers.5
@@ -37,6 +37,6 @@ Lines starting with a # are ignored.
.SH FILES
.I /etc/ftpusers
.SH SEE ALSO
-.BR passwd (5),
-.BR proftpd (8),
-.BR wuftpd (8)
+.MR passwd 5 ,
+.MR proftpd 8 ,
+.MR wuftpd 8
diff --git a/man5/gai.conf.5 b/man5/gai.conf.5
index f7dfd07a8..07dd70222 100644
--- a/man5/gai.conf.5
+++ b/man5/gai.conf.5
@@ -8,7 +8,7 @@
gai.conf \- getaddrinfo(3) configuration file
.SH DESCRIPTION
A call to
-.BR getaddrinfo (3)
+.MR getaddrinfo 3
might return multiple answers.
According to RFC\ 3484 these answers must be sorted so that
the answer with the highest success rate is first in the list.
@@ -85,5 +85,5 @@ precedence ::ffff:0:0/96 10
.\" Ulrich Drepper <drepper@redhat.com>
.\"
.SH SEE ALSO
-.BR getaddrinfo (3),
+.MR getaddrinfo 3 ,
RFC\ 3484
diff --git a/man5/group.5 b/man5/group.5
index 2df94017a..69cd7d546 100644
--- a/man5/group.5
+++ b/man5/group.5
@@ -37,19 +37,19 @@ a list of the usernames that are members of this group, separated by commas.
.I /etc/group
.SH BUGS
As the 4.2BSD
-.BR initgroups (3)
+.MR initgroups 3
man page says: no one seems to keep
.I /etc/group
up-to-date.
.SH SEE ALSO
-.BR chgrp (1),
-.BR gpasswd (1),
-.BR groups (1),
-.BR login (1),
-.BR newgrp (1),
-.BR sg (1),
-.BR getgrent (3),
-.BR getgrnam (3),
-.BR gshadow (5),
-.BR passwd (5),
-.BR vigr (8)
+.MR chgrp 1 ,
+.MR gpasswd 1 ,
+.MR groups 1 ,
+.MR login 1 ,
+.MR newgrp 1 ,
+.MR sg 1 ,
+.MR getgrent 3 ,
+.MR getgrnam 3 ,
+.MR gshadow 5 ,
+.MR passwd 5 ,
+.MR vigr 8
diff --git a/man5/host.conf.5 b/man5/host.conf.5
index 1f88665bc..3e68de244 100644
--- a/man5/host.conf.5
+++ b/man5/host.conf.5
@@ -28,7 +28,7 @@ local hosts and domains.
(Related note:
.I trim
will not affect hostnames gathered via NIS or the
-.BR hosts (5)
+.MR hosts 5
file.
Care should be taken to
ensure that the first hostname for each entry in the hosts file is
@@ -58,7 +58,7 @@ If set to
the resolver library
will attempt to reorder host addresses so that local addresses
(i.e., on the same subnet) are listed first when a
-.BR gethostbyname (3)
+.MR gethostbyname 3
is performed.
Reordering is done for all lookup methods.
The default value is
@@ -119,7 +119,7 @@ can take arguments like
Line comments can appear anywhere and not only at the beginning of a line.
.SS Historical
The
-.BR nsswitch.conf (5)
+.MR nsswitch.conf 5
file is the modern way of controlling the order of host lookups.
.P
In glibc 2.4 and earlier, the following keyword is recognized:
@@ -196,9 +196,9 @@ command is parsed.
Valid values are
.IR off ", " nowarn ", and " warn .
.SH SEE ALSO
-.BR gethostbyname (3),
-.BR hosts (5),
-.BR nsswitch.conf (5),
-.BR resolv.conf (5),
-.BR hostname (7),
-.BR named (8)
+.MR gethostbyname 3 ,
+.MR hosts 5 ,
+.MR nsswitch.conf 5 ,
+.MR resolv.conf 5 ,
+.MR hostname 7 ,
+.MR named 8
diff --git a/man5/hosts.5 b/man5/hosts.5
index 515a1a269..be055dfef 100644
--- a/man5/hosts.5
+++ b/man5/hosts.5
@@ -108,13 +108,13 @@ ff02::1 ip6\-allnodes
ff02::2 ip6\-allrouters
.EE
.SH SEE ALSO
-.BR hostname (1),
-.BR resolver (3),
-.BR host.conf (5),
-.BR resolv.conf (5),
-.BR resolver (5),
-.BR hostname (7),
-.BR named (8)
+.MR hostname 1 ,
+.MR resolver 3 ,
+.MR host.conf 5 ,
+.MR resolv.conf 5 ,
+.MR resolver 5 ,
+.MR hostname 7 ,
+.MR named 8
.P
Internet RFC\ 952
.\" .SH AUTHOR
diff --git a/man5/hosts.equiv.5 b/man5/hosts.equiv.5
index 35bbded4e..50151d146 100644
--- a/man5/hosts.equiv.5
+++ b/man5/hosts.equiv.5
@@ -207,6 +207,6 @@ except
Note: the deny statements must always precede the allow statements because
the file is processed sequentially until the first matching rule is found.
.SH SEE ALSO
-.BR rhosts (5),
-.BR rlogind (8),
-.BR rshd (8)
+.MR rhosts 5 ,
+.MR rlogind 8 ,
+.MR rshd 8
diff --git a/man5/intro.5 b/man5/intro.5
index 2babd6280..35e2ce144 100644
--- a/man5/intro.5
+++ b/man5/intro.5
@@ -20,4 +20,4 @@ Look at the header of the manual page source for the author(s) and copyright
conditions.
Note that these can be different from page to page!
.SH SEE ALSO
-.BR standards (7)
+.MR standards 7
diff --git a/man5/issue.5 b/man5/issue.5
index 13d2b83b3..5b53c9eb2 100644
--- a/man5/issue.5
+++ b/man5/issue.5
@@ -19,6 +19,6 @@ program employed on the system.
.SH FILES
.I /etc/issue
.SH SEE ALSO
-.BR motd (5),
-.BR agetty (8),
-.BR mingetty (8)
+.MR motd 5 ,
+.MR agetty 8 ,
+.MR mingetty 8
diff --git a/man5/locale.5 b/man5/locale.5
index fa2491eee..d08dd7afe 100644
--- a/man5/locale.5
+++ b/man5/locale.5
@@ -14,13 +14,13 @@ locale \- describes a locale definition file
The
.B locale
definition file contains all the information that the
-.BR localedef (1)
+.MR localedef 1
command needs to convert it into the binary locale database.
.P
The definition files consist of sections which each describe a
locale category in detail.
See
-.BR locale (7)
+.MR locale 7
for additional details for these categories.
.SS Syntax
The locale definition file starts with a header that may consist
@@ -87,7 +87,7 @@ the GNU C library supports the following nonstandard categories:
.B LC_TELEPHONE
.P
See
-.BR locale (7)
+.MR locale 7
for a more detailed description of each category.
.SS LC_ADDRESS
The definition starts with the string
@@ -1073,17 +1073,17 @@ followed by a list of month names.
.I d_t_fmt
followed by the appropriate date and time format
(for syntax, see
-.BR strftime (3)).
+.MR strftime 3 ).
.TP
.I d_fmt
followed by the appropriate date format
(for syntax, see
-.BR strftime (3)).
+.MR strftime 3 ).
.TP
.I t_fmt
followed by the appropriate time format
(for syntax, see
-.BR strftime (3)).
+.MR strftime 3 ).
.TP
.I am_pm
followed by the appropriate representation of the
@@ -1096,7 +1096,7 @@ This should be left empty for locales not using AM/PM convention.
.I t_fmt_ampm
followed by the appropriate time format
(for syntax, see
-.BR strftime (3))
+.MR strftime 3 )
when using 12h clock format.
This should be left empty for locales not using AM/PM convention.
.TP
@@ -1129,7 +1129,7 @@ The number of the year closest to
in the era, corresponding to the
.I %Ey
descriptor (see
-.BR strptime (3)).
+.MR strptime 3 ).
.TP
.I start_date
The start of the era in the form of
@@ -1152,13 +1152,13 @@ means the ending date is the end of time.
The name of the era corresponding to the
.I %EC
descriptor (see
-.BR strptime (3)).
+.MR strptime 3 ).
.TP
.I era_format
The format of the year in the era corresponding to the
.I %EY
descriptor (see
-.BR strptime (3)).
+.MR strptime 3 ).
.RE
.TP
.I era_d_fmt
@@ -1166,21 +1166,21 @@ followed by the format of the date in alternative era notation,
corresponding to the
.I %Ex
descriptor (see
-.BR strptime (3)).
+.MR strptime 3 ).
.TP
.I era_t_fmt
followed by the format of the time in alternative era notation,
corresponding to the
.I %EX
descriptor (see
-.BR strptime (3)).
+.MR strptime 3 ).
.TP
.I era_d_t_fmt
followed by the format of the date and time in alternative era notation,
corresponding to the
.I %Ec
descriptor (see
-.BR strptime (3)).
+.MR strptime 3 ).
.TP
.I alt_digits
followed by the alternative digits used for date and time in the locale.
@@ -1234,9 +1234,9 @@ Right-left from top.
.TP
.I date_fmt
followed by the appropriate date representation for
-.BR date (1)
+.MR date 1
(for syntax, see
-.BR strftime (3)).
+.MR strftime 3 ).
.P
The
.B LC_TIME
@@ -1300,17 +1300,17 @@ Monday for the locale.
.\" .SH AUTHOR
.\" Jochen Hein (Hein@Student.TU-Clausthal.de)
.SH SEE ALSO
-.BR iconv (1),
-.BR locale (1),
-.BR localedef (1),
-.BR localeconv (3),
-.BR newlocale (3),
-.BR setlocale (3),
-.BR strftime (3),
-.BR strptime (3),
-.BR uselocale (3),
-.BR charmap (5),
-.BR charsets (7),
-.BR locale (7),
-.BR unicode (7),
-.BR utf\-8 (7)
+.MR iconv 1 ,
+.MR locale 1 ,
+.MR localedef 1 ,
+.MR localeconv 3 ,
+.MR newlocale 3 ,
+.MR setlocale 3 ,
+.MR strftime 3 ,
+.MR strptime 3 ,
+.MR uselocale 3 ,
+.MR charmap 5 ,
+.MR charsets 7 ,
+.MR locale 7 ,
+.MR unicode 7 ,
+.MR utf\-8 7
diff --git a/man5/motd.5 b/man5/motd.5
index 0263aca8c..0911d7055 100644
--- a/man5/motd.5
+++ b/man5/motd.5
@@ -12,7 +12,7 @@ motd \- message of the day
The contents of
.I /etc/motd
are displayed by
-.BR login (1)
+.MR login 1
after a successful login but just before it executes the login shell.
.P
The abbreviation "motd" stands for "message of the day", and this file
@@ -21,5 +21,5 @@ space than mail to all users).
.SH FILES
.I /etc/motd
.SH SEE ALSO
-.BR login (1),
-.BR issue (5)
+.MR login 1 ,
+.MR issue 5
diff --git a/man5/networks.5 b/man5/networks.5
index c9c4a44ad..0b48c1b14 100644
--- a/man5/networks.5
+++ b/man5/networks.5
@@ -34,7 +34,7 @@ white-space characters or the comment character.
.TP
.I number
The official number for this network in numbers-and-dots notation (see
-.BR inet (3)).
+.MR inet 3 ).
The trailing ".0" (for the host component of the network address)
may be omitted.
.TP
@@ -42,9 +42,9 @@ may be omitted.
Optional aliases for the network.
.P
This file is read by the
-.BR route (8)
+.MR route 8
and
-.BR netstat (8)
+.MR netstat 8
utilities.
Only Class A, B, or C networks are supported, partitioned networks
(i.e., network/26 or network/28) are not supported by this file.
@@ -53,8 +53,8 @@ Only Class A, B, or C networks are supported, partitioned networks
.I /etc/networks
The networks definition file.
.SH SEE ALSO
-.BR getnetbyaddr (3),
-.BR getnetbyname (3),
-.BR getnetent (3),
-.BR netstat (8),
-.BR route (8)
+.MR getnetbyaddr 3 ,
+.MR getnetbyname 3 ,
+.MR getnetent 3 ,
+.MR netstat 8 ,
+.MR route 8
diff --git a/man5/nologin.5 b/man5/nologin.5
index d740bf83d..5fe74aa84 100644
--- a/man5/nologin.5
+++ b/man5/nologin.5
@@ -10,7 +10,7 @@
nologin \- prevent unprivileged users from logging into the system
.SH DESCRIPTION
If the file \fI/etc/nologin\fP exists and is readable,
-.BR login (1)
+.MR login 1
will allow access only to root.
Other users will
be shown the contents of this file and their logins will be refused.
@@ -18,5 +18,5 @@ This provides a simple way of temporarily disabling all unprivileged logins.
.SH FILES
.I /etc/nologin
.SH SEE ALSO
-.BR login (1),
-.BR shutdown (8)
+.MR login 1 ,
+.MR shutdown 8
diff --git a/man5/nscd.conf.5 b/man5/nscd.conf.5
index f5c8a3940..e9dc28208 100644
--- a/man5/nscd.conf.5
+++ b/man5/nscd.conf.5
@@ -11,7 +11,7 @@ nscd.conf \- name service cache daemon configuration file
The file
.I /etc/nscd.conf
is read from
-.BR nscd (8)
+.MR nscd 8
at startup.
Each line specifies either an attribute and a value, or an
attribute, service, and a value.
@@ -244,12 +244,12 @@ and
.SH NOTES
The default values stated in this manual page originate
from the source code of
-.BR nscd (8)
+.MR nscd 8
and are used if not overridden in the configuration file.
The default values used in the configuration file of
your distribution might differ.
.SS Reloading
-.BR nscd (8)
+.MR nscd 8
has a feature called reloading,
whose behavior can be surprising.
.P
@@ -327,7 +327,7 @@ as it will result in a cache that never expires entries
and puts never-ending additional load on the backing name service.
.P
Some distributions have an init script for
-.BR nscd (8)
+.MR nscd 8
with a
.I reload
command which uses
@@ -336,7 +336,7 @@ to purge the cache.
That use of the word "reload" is entirely different
from the "reloading" described here.
.SH SEE ALSO
-.BR nscd (8)
+.MR nscd 8
.\" .SH AUTHOR
.\" .B nscd
.\" was written by Thorsten Kukuk and Ulrich Drepper.
diff --git a/man5/nss.5 b/man5/nss.5
index 2ea1b4803..30833df37 100644
--- a/man5/nss.5
+++ b/man5/nss.5
@@ -40,7 +40,7 @@ The variables currently recognized are:
.TP
\fBNETID_AUTHORITATIVE =\fR \fITRUE\fR|\fIFALSE\fR
If set to TRUE, the NIS backend for the
-.BR initgroups (3)
+.MR initgroups 3
function will accept the information
from the
.I netid.byname
@@ -55,9 +55,9 @@ The system administrator has to make sure it is correctly generated.
.TP
\fBSERVICES_AUTHORITATIVE =\fR \fITRUE\fR|\fIFALSE\fR
If set to TRUE, the NIS backend for the
-.BR getservbyname (3)
+.MR getservbyname 3
and
-.BR getservbyname_r (3)
+.MR getservbyname_r 3
functions will assume that the
.I services.byservicename
NIS map exists and is authoritative, particularly
@@ -67,19 +67,19 @@ The system administrator has to make sure it is correctly generated.
.TP
\fBSETENT_BATCH_READ =\fR \fITRUE\fR|\fIFALSE\fR
If set to TRUE, the NIS backend for the
-.BR setpwent (3)
+.MR setpwent 3
and
-.BR setgrent (3)
+.MR setgrent 3
functions will read the entire database at once and then
hand out the requests one by one from memory with every corresponding
-.BR getpwent (3)
+.MR getpwent 3
or
-.BR getgrent (3)
+.MR getgrent 3
call respectively.
Otherwise, each
-.BR getpwent (3)
+.MR getpwent 3
or
-.BR getgrent (3)
+.MR getgrent 3
call might result in a network communication with the server to get
the next entry.
.SH FILES
diff --git a/man5/nsswitch.conf.5 b/man5/nsswitch.conf.5
index e6c26661a..207d81b4c 100644
--- a/man5/nsswitch.conf.5
+++ b/man5/nsswitch.conf.5
@@ -25,7 +25,7 @@ The following databases are understood by the GNU C Library:
.TP 12
.B aliases
Mail aliases, used by
-.BR getaliasent (3)
+.MR getaliasent 3
and related functions.
.TP
.B ethers
@@ -33,17 +33,17 @@ Ethernet numbers.
.TP
.B group
Groups of users, used by
-.BR getgrent (3)
+.MR getgrent 3
and related functions.
.TP
.B hosts
Host names and numbers, used by
-.BR gethostbyname (3)
+.MR gethostbyname 3
and related functions.
.TP
.B initgroups
Supplementary group access list, used by
-.BR getgrouplist (3)
+.MR getgrouplist 3
function.
.TP
.B netgroup
@@ -52,17 +52,17 @@ C libraries before glibc 2.1 supported netgroups only over NIS.
.TP
.B networks
Network names and numbers, used by
-.BR getnetent (3)
+.MR getnetent 3
and related functions.
.TP
.B passwd
User passwords, used by
-.BR getpwent (3)
+.MR getpwent 3
and related functions.
.TP
.B protocols
Network protocols, used by
-.BR getprotoent (3)
+.MR getprotoent 3
and related functions.
.TP
.B publickey
@@ -70,24 +70,24 @@ Public and secret keys for Secure_RPC used by NFS and NIS+.
.TP
.B rpc
Remote procedure call names and numbers, used by
-.BR getrpcbyname (3)
+.MR getrpcbyname 3
and related functions.
.TP
.B services
Network services, used by
-.BR getservent (3)
+.MR getservent 3
and related functions.
.TP
.B shadow
Shadow user passwords, used by
-.BR getspnam (3)
+.MR getspnam 3
and related functions.
.P
The GNU C Library ignores databases with unknown names.
Some applications use this to implement special handling for their own
databases.
For example,
-.BR sudo (8)
+.MR sudo 8
consults the
.B sudoers
database.
@@ -96,9 +96,9 @@ can be configured using the
.B subid
database.
Refer to
-.BR subuid (5)
+.MR subuid 5
and
-.BR subgid (5)
+.MR subgid 5
for more details.
.P
Here is an example
@@ -251,7 +251,7 @@ are an exact match), the member list of the second entry will be added
to the group object to be returned.
Available since glibc 2.24.
Note that merging will not be done for
-.BR getgrent (3)
+.MR getgrent 3
nor will duplicate members be pruned when they occur in both entries
being merged.
.RE
@@ -423,5 +423,5 @@ which was based on the mechanism used by
Sun Microsystems in the Solaris 2 C library,
introduced a cleaner solution to the problem.
.SH SEE ALSO
-.BR getent (1),
-.BR nss (5)
+.MR getent 1 ,
+.MR nss 5
diff --git a/man5/passwd.5 b/man5/passwd.5
index 24164cb73..b4c9cb697 100644
--- a/man5/passwd.5
+++ b/man5/passwd.5
@@ -16,7 +16,7 @@ The
.I /etc/passwd
file is a text file that describes user login accounts for the system.
It should have read permission allowed for all users (many utilities, like
-.BR ls (1)
+.MR ls 1
use it to map user IDs to usernames), but write access only for the
superuser.
.P
@@ -43,7 +43,7 @@ or configurable (for example using the
or
.RB \[dq] nonull \[dq]
arguments to
-.BR pam_unix (8)).
+.MR pam_unix 8 ).
.P
If the encrypted password in
.I /etc/passwd
@@ -58,7 +58,7 @@ password.
.P
If you create a new login, first put an asterisk (*) in the password field,
then use
-.BR passwd (1)
+.MR passwd 1
to set it.
.P
Each line of the file describes a single user,
@@ -80,7 +80,7 @@ It should not contain capital letters.
This is either the encrypted user password,
an asterisk (*), or the letter \[aq]x\[aq].
(See
-.BR pwconv (8)
+.MR pwconv 8
for an explanation of \[aq]x\[aq].)
.TP
.I UID
@@ -91,14 +91,14 @@ login account (superuser) has the user ID 0.
.I GID
This is the numeric primary group ID for this user.
(Additional groups for the user are defined in the system group file; see
-.BR group (5)).
+.MR group 5 ).
.TP
.I GECOS
This field (sometimes called the "comment field")
is optional and used only for informational purposes.
Usually, it contains the full username.
Some programs (for example,
-.BR finger (1))
+.MR finger 1 )
display information from this field.
.IP
GECOS stands for "General Electric Comprehensive Operating System",
@@ -122,7 +122,7 @@ This is the program to run at login (if empty, use
.IR /bin/sh ).
If set to a nonexistent executable, the user will be unable to login
through
-.BR login (1).
+.MR login 1 .
The value in this field is used to set the
.B SHELL
environment variable.
@@ -135,26 +135,26 @@ or no group will exist.
.P
If the encrypted password is set to an asterisk (*), the user will be unable
to login using
-.BR login (1),
+.MR login 1 ,
but may still login using
-.BR rlogin (1),
+.MR rlogin 1 ,
run existing processes and initiate new ones through
-.BR rsh (1),
-.BR cron (8),
-.BR at (1),
+.MR rsh 1 ,
+.MR cron 8 ,
+.MR at 1 ,
or mail filters, etc.
Trying to lock an account by simply changing the
shell field yields the same result and additionally allows the use of
-.BR su (1).
+.MR su 1 .
.SH SEE ALSO
-.BR chfn (1),
-.BR chsh (1),
-.BR login (1),
-.BR passwd (1),
-.BR su (1),
-.BR crypt (3),
-.BR getpwent (3),
-.BR getpwnam (3),
-.BR group (5),
-.BR shadow (5),
-.BR vipw (8)
+.MR chfn 1 ,
+.MR chsh 1 ,
+.MR login 1 ,
+.MR passwd 1 ,
+.MR su 1 ,
+.MR crypt 3 ,
+.MR getpwent 3 ,
+.MR getpwnam 3 ,
+.MR group 5 ,
+.MR shadow 5 ,
+.MR vipw 8
diff --git a/man5/proc.5 b/man5/proc.5
index bdc47456b..0349e85f1 100644
--- a/man5/proc.5
+++ b/man5/proc.5
@@ -81,7 +81,7 @@ This doesn't hide the fact that a process with a specific PID value exists
(it can be learned by other means, for example, by "kill \-0 $PID"),
but it hides a process's UID and GID,
which could otherwise be learned by employing
-.BR stat (2)
+.MR stat 2
on a
.IR /proc/ pid
directory.
@@ -103,7 +103,7 @@ was mounted with
.IR hidepid=0 ).
This group should be used instead of approaches such as putting
nonroot users into the
-.BR sudoers (5)
+.MR sudoers 5
file.
.\"
.SS Overview
@@ -131,9 +131,9 @@ The
subdirectories are visible when iterating through
.I /proc
with
-.BR getdents (2)
+.MR getdents 2
(and thus are visible when one uses
-.BR ls (1)
+.MR ls 1
to view the contents of
.IR /proc ).
.TP
@@ -151,11 +151,11 @@ subdirectories are
visible when iterating through
.I /proc
with
-.BR getdents (2)
+.MR getdents 2
(and thus are
.I not
visible when one uses
-.BR ls (1)
+.MR ls 1
to view the contents of
.IR /proc ).
.TP
@@ -220,35 +220,35 @@ if you use a command of the following form to display them:
.\" The material on /proc/sys/fs and /proc/sys/kernel is closely based on
.\" kernel source documentation files written by Rik van Riel.
.SH SEE ALSO
-.BR cat (1),
-.BR dmesg (1),
-.BR find (1),
-.BR free (1),
-.BR htop (1),
-.BR init (1),
-.BR ps (1),
-.BR pstree (1),
-.BR tr (1),
-.BR uptime (1),
-.BR chroot (2),
-.BR mmap (2),
-.BR readlink (2),
-.BR syslog (2),
-.BR slabinfo (5),
-.BR sysfs (5),
-.BR hier (7),
-.BR namespaces (7),
-.BR time (7),
-.BR arp (8),
-.BR hdparm (8),
-.BR ifconfig (8),
-.BR lsmod (8),
-.BR lspci (8),
-.BR mount (8),
-.BR netstat (8),
-.BR procinfo (8),
-.BR route (8),
-.BR sysctl (8)
+.MR cat 1 ,
+.MR dmesg 1 ,
+.MR find 1 ,
+.MR free 1 ,
+.MR htop 1 ,
+.MR init 1 ,
+.MR ps 1 ,
+.MR pstree 1 ,
+.MR tr 1 ,
+.MR uptime 1 ,
+.MR chroot 2 ,
+.MR mmap 2 ,
+.MR readlink 2 ,
+.MR syslog 2 ,
+.MR slabinfo 5 ,
+.MR sysfs 5 ,
+.MR hier 7 ,
+.MR namespaces 7 ,
+.MR time 7 ,
+.MR arp 8 ,
+.MR hdparm 8 ,
+.MR ifconfig 8 ,
+.MR lsmod 8 ,
+.MR lspci 8 ,
+.MR mount 8 ,
+.MR netstat 8 ,
+.MR procinfo 8 ,
+.MR route 8 ,
+.MR sysctl 8
.P
The Linux kernel source files:
.IR Documentation/filesystems/proc.rst ,
diff --git a/man5/proc_apm.5 b/man5/proc_apm.5
index 0f37a6ceb..d2f6fc78e 100644
--- a/man5/proc_apm.5
+++ b/man5/proc_apm.5
@@ -14,4 +14,4 @@ Advanced power management version and battery information when
.B CONFIG_APM
is defined at kernel compilation time.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_buddyinfo.5 b/man5/proc_buddyinfo.5
index 3bdae717e..ba3d6b215 100644
--- a/man5/proc_buddyinfo.5
+++ b/man5/proc_buddyinfo.5
@@ -55,4 +55,4 @@ will fail.
Further information about the zones can be found in
.IR /proc/zoneinfo .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_bus.5 b/man5/proc_bus.5
index 4797d8eb2..38fd0a30d 100644
--- a/man5/proc_bus.5
+++ b/man5/proc_bus.5
@@ -28,8 +28,8 @@ Some of these files are not ASCII.
.I /proc/bus/pci/devices
Information about PCI devices.
They may be accessed through
-.BR lspci (8)
+.MR lspci 8
and
-.BR setpci (8).
+.MR setpci 8 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_cgroups.5 b/man5/proc_cgroups.5
index ae418e695..b2b0e2223 100644
--- a/man5/proc_cgroups.5
+++ b/man5/proc_cgroups.5
@@ -11,6 +11,6 @@
.TP
.IR /proc/cgroups " (since Linux 2.6.24)"
See
-.BR cgroups (7).
+.MR cgroups 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_cmdline.5 b/man5/proc_cmdline.5
index 66f0f8627..d009e797d 100644
--- a/man5/proc_cmdline.5
+++ b/man5/proc_cmdline.5
@@ -12,11 +12,11 @@
.I /proc/cmdline
Arguments passed to the Linux kernel at boot time.
Often done via a boot manager such as
-.BR lilo (8)
+.MR lilo 8
or
-.BR grub (8).
+.MR grub 8 .
Any arguments embedded in the kernel image or initramfs via
.B CONFIG_BOOT_CONFIG
will also be displayed.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_config.gz.5 b/man5/proc_config.gz.5
index 2b4654652..2cc0f8a40 100644
--- a/man5/proc_config.gz.5
+++ b/man5/proc_config.gz.5
@@ -19,9 +19,9 @@ file that resulted when configuring the kernel (using
.IR "make config" ,
or similar).
The file contents are compressed; view or search them using
-.BR zcat (1)
+.MR zcat 1
and
-.BR zgrep (1).
+.MR zgrep 1 .
As long as no changes have been made to the following file,
the contents of
.I /proc/config.gz
@@ -37,4 +37,4 @@ cat /lib/modules/$(uname \-r)/build/.config
is provided only if the kernel is configured with
.BR CONFIG_IKCONFIG_PROC .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_cpuinfo.5 b/man5/proc_cpuinfo.5
index f79e971d1..ee8678b3f 100644
--- a/man5/proc_cpuinfo.5
+++ b/man5/proc_cpuinfo.5
@@ -18,7 +18,7 @@ during kernel initialization.
SMP machines have information for
each CPU.
The
-.BR lscpu (1)
+.MR lscpu 1
command gathers its information from this file.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_crypto.5 b/man5/proc_crypto.5
index bca620301..57a461231 100644
--- a/man5/proc_crypto.5
+++ b/man5/proc_crypto.5
@@ -23,4 +23,4 @@ the documentation can be built using a command such as
.I make htmldocs
in the root directory of the kernel source tree).
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_devices.5 b/man5/proc_devices.5
index de346f510..d9426a396 100644
--- a/man5/proc_devices.5
+++ b/man5/proc_devices.5
@@ -13,4 +13,4 @@
Text listing of major numbers and device groups.
This can be used by MAKEDEV scripts for consistency with the kernel.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_diskstats.5 b/man5/proc_diskstats.5
index 15d5c6374..33eb2c68b 100644
--- a/man5/proc_diskstats.5
+++ b/man5/proc_diskstats.5
@@ -18,4 +18,4 @@ See the Linux kernel source file
before Linux 5.3)
for further information.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_dma.5 b/man5/proc_dma.5
index 7f8dda47c..047ae96cd 100644
--- a/man5/proc_dma.5
+++ b/man5/proc_dma.5
@@ -13,4 +13,4 @@
This is a list of the registered \fIISA\fP DMA (direct memory access)
channels in use.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_driver.5 b/man5/proc_driver.5
index 014fce113..7dec7e4f1 100644
--- a/man5/proc_driver.5
+++ b/man5/proc_driver.5
@@ -12,4 +12,4 @@
.I /proc/driver/
Empty subdirectory.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_execdomains.5 b/man5/proc_execdomains.5
index aab78ed66..a6d31119a 100644
--- a/man5/proc_execdomains.5
+++ b/man5/proc_execdomains.5
@@ -13,4 +13,4 @@
Used to list ABI personalities before Linux 4.1;
now contains a constant string for userspace compatibility.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_fb.5 b/man5/proc_fb.5
index b17a9c309..654400044 100644
--- a/man5/proc_fb.5
+++ b/man5/proc_fb.5
@@ -14,4 +14,4 @@ Frame buffer information when
.B CONFIG_FB
is defined during kernel compilation.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_filesystems.5 b/man5/proc_filesystems.5
index 57fd9b966..208ae32a0 100644
--- a/man5/proc_filesystems.5
+++ b/man5/proc_filesystems.5
@@ -18,16 +18,16 @@ A text listing of the filesystems which are supported by the kernel,
namely filesystems which were compiled into the kernel or whose kernel
modules are currently loaded.
(See also
-.BR filesystems (5).)
+.MR filesystems 5 .)
If a filesystem is marked with "nodev",
this means that it does not require a block device to be mounted
(e.g., virtual filesystem, network filesystem).
.IP
Incidentally, this file may be used by
-.BR mount (8)
+.MR mount 8
when no filesystem is specified and it didn't manage to determine the
filesystem type.
Then filesystems contained in this file are tried
(excepted those that are marked with "nodev").
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_fs.5 b/man5/proc_fs.5
index d24e3e3c2..3c5b4b935 100644
--- a/man5/proc_fs.5
+++ b/man5/proc_fs.5
@@ -15,4 +15,4 @@
Contains subdirectories that in turn contain files
with information about (certain) mounted filesystems.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_ide.5 b/man5/proc_ide.5
index f87a6e8a4..f1c549447 100644
--- a/man5/proc_ide.5
+++ b/man5/proc_ide.5
@@ -31,7 +31,7 @@ smart_values IDE disk management values (in hex)
.in
.IP
The
-.BR hdparm (8)
+.MR hdparm 8
utility provides access to this information in a friendly format.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_interrupts.5 b/man5/proc_interrupts.5
index c8bda0a70..8d21e0d06 100644
--- a/man5/proc_interrupts.5
+++ b/man5/proc_interrupts.5
@@ -19,4 +19,4 @@ and for SMP systems, TLB (TLB flush interrupt), RES (rescheduling
interrupt), CAL (remote function call interrupt), and possibly others.
Very easy to read formatting, done in ASCII.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_iomem.5 b/man5/proc_iomem.5
index b6fbb4b1d..548bed499 100644
--- a/man5/proc_iomem.5
+++ b/man5/proc_iomem.5
@@ -12,4 +12,4 @@
.I /proc/iomem
I/O memory map in Linux 2.4.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_ioports.5 b/man5/proc_ioports.5
index f6cc16b08..27daab9dc 100644
--- a/man5/proc_ioports.5
+++ b/man5/proc_ioports.5
@@ -13,4 +13,4 @@
This is a list of currently registered Input-Output port regions that
are in use.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_kallsyms.5 b/man5/proc_kallsyms.5
index bc7ffd592..e1bf54309 100644
--- a/man5/proc_kallsyms.5
+++ b/man5/proc_kallsyms.5
@@ -22,4 +22,4 @@ was named
See
.IR /proc/kallsyms .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_kcore.5 b/man5/proc_kcore.5
index 8848c6458..934a332d9 100644
--- a/man5/proc_kcore.5
+++ b/man5/proc_kcore.5
@@ -21,4 +21,4 @@ examine the current state of any kernel data structures.
The total length of the file is the size of physical memory (RAM) plus
4\ KiB.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_keys.5 b/man5/proc_keys.5
index b1f74b4b2..e041e3995 100644
--- a/man5/proc_keys.5
+++ b/man5/proc_keys.5
@@ -11,10 +11,10 @@
.TP
.IR /proc/keys " (since Linux 2.6.10)"
See
-.BR keyrings (7).
+.MR keyrings 7 .
.TP
.IR /proc/key\-users " (since Linux 2.6.10)"
See
-.BR keyrings (7).
+.MR keyrings 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_kmsg.5 b/man5/proc_kmsg.5
index 2793907d7..496f3ed09 100644
--- a/man5/proc_kmsg.5
+++ b/man5/proc_kmsg.5
@@ -11,18 +11,18 @@
.TP
.I /proc/kmsg
This file can be used instead of the
-.BR syslog (2)
+.MR syslog 2
system call to read kernel messages.
A process must have superuser
privileges to read this file, and only one process should read this
file.
This file should not be read if a syslog process is running
which uses the
-.BR syslog (2)
+.MR syslog 2
system call facility to log kernel messages.
.IP
Information in this file is retrieved with the
-.BR dmesg (1)
+.MR dmesg 1
program.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_kpagecgroup.5 b/man5/proc_kpagecgroup.5
index 1cfbf49aa..64f8a8fee 100644
--- a/man5/proc_kpagecgroup.5
+++ b/man5/proc_kpagecgroup.5
@@ -22,4 +22,4 @@ file is present only if the
.B CONFIG_MEMCG
kernel configuration option is enabled.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_kpagecount.5 b/man5/proc_kpagecount.5
index 27a774599..540abd480 100644
--- a/man5/proc_kpagecount.5
+++ b/man5/proc_kpagecount.5
@@ -21,4 +21,4 @@ file is present only if the
.B CONFIG_PROC_PAGE_MONITOR
kernel configuration option is enabled.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_kpageflags.5 b/man5/proc_kpageflags.5
index bb43fb79e..a44dab6a8 100644
--- a/man5/proc_kpageflags.5
+++ b/man5/proc_kpageflags.5
@@ -72,4 +72,4 @@ file is present only if the
.B CONFIG_PROC_PAGE_MONITOR
kernel configuration option is enabled.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_loadavg.5 b/man5/proc_loadavg.5
index eff023b27..f3f90f003 100644
--- a/man5/proc_loadavg.5
+++ b/man5/proc_loadavg.5
@@ -14,7 +14,7 @@ The first three fields in this file are load average figures
giving the number of jobs in the run queue (state R)
or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes.
They are the same as the load average numbers given by
-.BR uptime (1)
+.MR uptime 1
and other programs.
The fourth field consists of two numbers separated by a slash (/).
The first of these is the number of currently runnable kernel
@@ -24,4 +24,4 @@ that currently exist on the system.
The fifth field is the PID of the process that was most
recently created on the system.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_locks.5 b/man5/proc_locks.5
index 63ea8c766..e28e9a38b 100644
--- a/man5/proc_locks.5
+++ b/man5/proc_locks.5
@@ -12,12 +12,12 @@
.I /proc/locks
This file shows current file locks
(\c
-.BR flock (2)
+.MR flock 2
and
-.BR fcntl (2))
+.MR fcntl 2 )
and leases
(\c
-.BR fcntl (2)).
+.MR fcntl 2 ).
.IP
An example of the content shown in this file is the following:
.IP
@@ -45,15 +45,15 @@ Values that may appear here include:
.TP
.B FLOCK
This is a BSD file lock created using
-.BR flock (2).
+.MR flock 2 .
.TP
.B OFDLCK
This is an open file description (OFD) lock created using
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.B POSIX
This is a POSIX byte-range lock created using
-.BR fcntl (2).
+.MR fcntl 2 .
.RE
.IP [3]
Among the strings that can appear here are the following:
@@ -108,7 +108,7 @@ the list of locks shown in
.I /proc/locks
is filtered to show just the locks for the processes in the PID
namespace (see
-.BR pid_namespaces (7))
+.MR pid_namespaces 7 )
for which the
.I /proc
filesystem was mounted.
@@ -116,7 +116,7 @@ filesystem was mounted.
there is no filtering of the records shown in this file.)
.IP
The
-.BR lslocks (8)
+.MR lslocks 8
command provides a bit more information about each lock.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_malloc.5 b/man5/proc_malloc.5
index 36c13bf86..9135898d5 100644
--- a/man5/proc_malloc.5
+++ b/man5/proc_malloc.5
@@ -15,4 +15,4 @@ This file is present only if
.B CONFIG_DEBUG_MALLOC
was defined during compilation.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_meminfo.5 b/man5/proc_meminfo.5
index 4119a1e5c..009cc09de 100644
--- a/man5/proc_meminfo.5
+++ b/man5/proc_meminfo.5
@@ -12,7 +12,7 @@
.I /proc/meminfo
This file reports statistics about memory usage on the system.
It is used by
-.BR free (1)
+.MR free 1
to report the amount of free and used memory (both physical and swap)
on the system as well as the shared memory and buffers used by the
kernel.
@@ -136,12 +136,12 @@ Non-file backed pages mapped into user-space page tables.
.TP
.IR Mapped " %lu"
Files which have been mapped into memory (with
-.BR mmap (2)),
+.MR mmap 2 ),
such as libraries.
.TP
.IR Shmem " %lu (since Linux 2.6.32)"
Amount of memory consumed in
-.BR tmpfs (5)
+.MR tmpfs 5
filesystems.
.TP
.IR KReclaimable " %lu (since Linux 4.20)"
@@ -154,7 +154,7 @@ Includes
.IR Slab " %lu"
In-kernel data structures cache.
(See
-.BR slabinfo (5).)
+.MR slabinfo 5 .)
.TP
.IR SReclaimable " %lu (since Linux 2.6.19)"
Part of
@@ -202,7 +202,7 @@ The committed memory is a sum of all of the memory which
has been allocated by processes, even if it has not been
"used" by them as of yet.
A process which allocates 1 GB of memory (using
-.BR malloc (3)
+.MR malloc 3
or similar), but touches only 300 MB of that memory will show up
as using only 300 MB of memory even if it has the address space
allocated for the entire 1 GB.
@@ -242,7 +242,7 @@ See
.TP
.IR LazyFree " %lu (since Linux 4.12)"
Shows the amount of memory marked by
-.BR madvise (2)
+.MR madvise 2
.BR MADV_FREE .
.TP
.IR AnonHugePages " %lu (since Linux 2.6.38)"
@@ -252,7 +252,7 @@ Non-file backed huge pages mapped into user-space page tables.
.IR ShmemHugePages " %lu (since Linux 4.8)"
(\fBCONFIG_TRANSPARENT_HUGEPAGE\fP is required.)
Memory used by shared memory (shmem) and
-.BR tmpfs (5)
+.MR tmpfs 5
allocated with huge pages.
.TP
.IR ShmemPmdMapped " %lu (since Linux 4.8)"
@@ -324,4 +324,4 @@ and
enabled.)
.RE
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_modules.5 b/man5/proc_modules.5
index 76491b6d4..ca91b40ac 100644
--- a/man5/proc_modules.5
+++ b/man5/proc_modules.5
@@ -12,6 +12,6 @@
.I /proc/modules
A text list of the modules that have been loaded by the system.
See also
-.BR lsmod (8).
+.MR lsmod 8 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_mtrr.5 b/man5/proc_mtrr.5
index d4f5e9ab2..8c70d4727 100644
--- a/man5/proc_mtrr.5
+++ b/man5/proc_mtrr.5
@@ -21,4 +21,4 @@ before Linux 5.2, or
before Linux 2.6.28)
for details.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_partitions.5 b/man5/proc_partitions.5
index d4f544049..bd3465ecf 100644
--- a/man5/proc_partitions.5
+++ b/man5/proc_partitions.5
@@ -13,4 +13,4 @@
Contains the major and minor numbers of each partition as well as the number
of 1024-byte blocks and the partition name.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pci.5 b/man5/proc_pci.5
index b4a8be5e2..e62e0a495 100644
--- a/man5/proc_pci.5
+++ b/man5/proc_pci.5
@@ -25,4 +25,4 @@ Next, it was deprecated in Linux 2.6 (still available with
.B CONFIG_PCI_LEGACY_PROC
set), and finally removed altogether since Linux 2.6.17.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid.5 b/man5/proc_pid.5
index 16c1a3c15..f21a73904 100644
--- a/man5/proc_pid.5
+++ b/man5/proc_pid.5
@@ -42,14 +42,14 @@ The process's "dumpable" attribute may change for the following reasons:
.RS
.IP \[bu] 3
The attribute was explicitly set via the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_DUMPABLE
operation.
.IP \[bu]
The attribute was reset to the value in the file
.I /proc/sys/fs/suid_dumpable
(described below), for the reasons described in
-.BR prctl (2).
+.MR prctl 2 .
.RE
.IP
Resetting the "dumpable" attribute to 1 reverts the ownership of the
@@ -57,7 +57,7 @@ Resetting the "dumpable" attribute to 1 reverts the ownership of the
files to the process's effective UID and GID.
Note, however, that if the effective UID or GID is subsequently modified,
then the "dumpable" attribute may be reset, as described in
-.BR prctl (2).
+.MR prctl 2 .
Therefore, it may be desirable to reset the "dumpable" attribute
.I after
making any desired changes to the process's effective UID or GID.
@@ -70,4 +70,4 @@ and is identical to the
.I /proc
directory named by the process ID of the same process.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_attr.5 b/man5/proc_pid_attr.5
index f005a3b5e..c228e4657 100644
--- a/man5/proc_pid_attr.5
+++ b/man5/proc_pid_attr.5
@@ -38,7 +38,7 @@ In SELinux, this file is used to get the security context of a process.
Prior to Linux 2.6.11, this file could not be used to set the security
context (a write was always denied), since SELinux limited process security
transitions to
-.BR execve (2)
+.MR execve 2
(see the description of
.IR /proc/ pid /attr/exec ,
below).
@@ -65,18 +65,18 @@ writes to this node.
.IR /proc/ pid /attr/exec " (since Linux 2.6.0)"
This file represents the attributes to assign to the
process upon a subsequent
-.BR execve (2).
+.MR execve 2 .
.IP
In SELinux,
this is needed to support role/domain transitions, and
-.BR execve (2)
+.MR execve 2
is the preferred point to make such transitions because it offers better
control over the initialization of the process in the new security label
and the inheritance of state.
In SELinux, this attribute is reset on
-.BR execve (2)
+.MR execve 2
so that the new program reverts to the default behavior for any
-.BR execve (2)
+.MR execve 2
calls that it may make.
In SELinux, a process can set
only its own
@@ -86,11 +86,11 @@ attribute.
.IR /proc/ pid /attr/fscreate " (since Linux 2.6.0)"
This file represents the attributes to assign to files
created by subsequent calls to
-.BR open (2),
-.BR mkdir (2),
-.BR symlink (2),
+.MR open 2 ,
+.MR mkdir 2 ,
+.MR symlink 2 ,
and
-.BR mknod (2)
+.MR mknod 2
.IP
SELinux employs this file to support creation of a file
(using the aforementioned system calls)
@@ -98,7 +98,7 @@ in a secure state,
so that there is no risk of inappropriate access being obtained
between the time of creation and the time that attributes are set.
In SELinux, this attribute is reset on
-.BR execve (2),
+.MR execve 2 ,
so that the new program reverts to the default behavior for
any file creation calls it may make, but the attribute will persist
across multiple file creation calls within a program unless it is
@@ -111,7 +111,8 @@ attribute.
.\" commit 4eb582cf1fbd7b9e5f466e3718a59c957e75254e
If a process writes a security context into this file,
all subsequently created keys
-.RB ( add_key (2))
+\%(\c
+.MR add_key 2 )
will be labeled with this context.
For further information, see the kernel source file
.I Documentation/security/keys/core.rst
@@ -125,7 +126,7 @@ before Linux 3.0).
.TP
.IR /proc/ pid /attr/prev " (since Linux 2.6.0)"
This file contains the security context of the process before the last
-.BR execve (2);
+.MR execve 2 ;
that is, the previous value of
.IR /proc/ pid /attr/current .
.TP
@@ -134,4 +135,4 @@ that is, the previous value of
If a process writes a security context into this file,
all subsequently created sockets will be labeled with this context.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_autogroup.5 b/man5/proc_pid_autogroup.5
index 9df64d1b5..5ba2f8d15 100644
--- a/man5/proc_pid_autogroup.5
+++ b/man5/proc_pid_autogroup.5
@@ -12,6 +12,6 @@ proc_pid_autogroup \- group tasks for the scheduler
.IR /proc/ pid /autogroup " (since Linux 2.6.38)"
.\" commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a
See
-.BR sched (7).
+.MR sched 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_auxv.5 b/man5/proc_pid_auxv.5
index 2202346ea..8726c4c40 100644
--- a/man5/proc_pid_auxv.5
+++ b/man5/proc_pid_auxv.5
@@ -17,11 +17,11 @@ The format is one \fIunsigned long\fP ID
plus one \fIunsigned long\fP value for each entry.
The last entry contains two zeros.
See also
-.BR getauxval (3).
+.MR getauxval 3 .
.IP
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_cgroup.5 b/man5/proc_pid_cgroup.5
index 22d8deb89..fd89d5dc8 100644
--- a/man5/proc_pid_cgroup.5
+++ b/man5/proc_pid_cgroup.5
@@ -11,6 +11,6 @@
.TP
.IR /proc/ pid /cgroup " (since Linux 2.6.24)"
See
-.BR cgroups (7).
+.MR cgroups 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_clear_refs.5 b/man5/proc_pid_clear_refs.5
index 45b37fdfe..56da7258b 100644
--- a/man5/proc_pid_clear_refs.5
+++ b/man5/proc_pid_clear_refs.5
@@ -84,4 +84,4 @@ file is present only if the
.B CONFIG_PROC_PAGE_MONITOR
kernel configuration option is enabled.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_cmdline.5 b/man5/proc_pid_cmdline.5
index 047cacd62..99e482a18 100644
--- a/man5/proc_pid_cmdline.5
+++ b/man5/proc_pid_cmdline.5
@@ -31,7 +31,7 @@ break assumptions about the contents or format of the
file.
.IP
If, after an
-.BR execve (2),
+.MR execve 2 ,
the process modifies its
.I argv
strings, those changes will show up here.
@@ -40,10 +40,10 @@ This is not the same thing as modifying the
array.
.IP
Furthermore, a process may change the memory location that this file refers via
-.BR prctl (2)
+.MR prctl 2
operations such as
.BR PR_SET_MM_ARG_START .
.IP
Think of this file as the command line that the process wants you to see.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_comm.5 b/man5/proc_pid_comm.5
index 80c544fa3..b0ff6e6bd 100644
--- a/man5/proc_pid_comm.5
+++ b/man5/proc_pid_comm.5
@@ -24,7 +24,7 @@ value, or that of any of other thread in the same thread group (see
the discussion of
.B CLONE_THREAD
in
-.BR clone (2)),
+.MR clone 2 ),
by writing to the file
.IR /proc/self/task/ tid /comm .
Strings longer than
@@ -32,18 +32,18 @@ Strings longer than
(16) characters (including the terminating null byte) are silently truncated.
.IP
This file provides a superset of the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_NAME
and
.B PR_GET_NAME
operations, and is employed by
-.BR pthread_setname_np (3)
+.MR pthread_setname_np 3
when used to rename threads other than the caller.
The value in this file is used for the
.I %e
specifier in
.IR /proc/sys/kernel/core_pattern ;
see
-.BR core (5).
+.MR core 5 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_coredump_filter.5 b/man5/proc_pid_coredump_filter.5
index 512e64dbf..0228368cc 100644
--- a/man5/proc_pid_coredump_filter.5
+++ b/man5/proc_pid_coredump_filter.5
@@ -11,6 +11,6 @@
.TP
.IR /proc/ pid /coredump_filter " (since Linux 2.6.23)"
See
-.BR core (5).
+.MR core 5 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_cpuset.5 b/man5/proc_pid_cpuset.5
index c3a138d5a..bb385ff33 100644
--- a/man5/proc_pid_cpuset.5
+++ b/man5/proc_pid_cpuset.5
@@ -12,6 +12,6 @@
.IR /proc/ pid /cpuset " (since Linux 2.6.12)"
.\" and/proc/[pid]/task/[tid]/cpuset
See
-.BR cpuset (7).
+.MR cpuset 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_cwd.5 b/man5/proc_pid_cwd.5
index 3accb9237..4fe142348 100644
--- a/man5/proc_pid_cwd.5
+++ b/man5/proc_pid_cwd.5
@@ -24,13 +24,14 @@ for instance, you can do this:
In a multithreaded process, the contents of this symbolic link
are not available if the main thread has already terminated
(typically by calling
-.BR pthread_exit (3)).
+.MR pthread_exit 3 ).
.IP
Permission to dereference or read
-.RB ( readlink (2))
+\%(\c
+.MR readlink 2 )
this symbolic link is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_environ.5 b/man5/proc_pid_environ.5
index 0ff8d4829..99b8382ef 100644
--- a/man5/proc_pid_environ.5
+++ b/man5/proc_pid_environ.5
@@ -12,7 +12,7 @@
.IR /proc/ pid /environ
This file contains the initial environment that was set
when the currently executing program was started via
-.BR execve (2).
+.MR execve 2 .
The entries are separated by null bytes (\[aq]\e0\[aq]),
and there may be a null byte at the end.
Thus, to print out the environment of process 1, you would do:
@@ -24,25 +24,25 @@ Thus, to print out the environment of process 1, you would do:
.in
.IP
If, after an
-.BR execve (2),
+.MR execve 2 ,
the process modifies its environment
(e.g., by calling functions such as
-.BR putenv (3)
+.MR putenv 3
or modifying the
-.BR environ (7)
+.MR environ 7
variable directly),
this file will
.I not
reflect those changes.
.IP
Furthermore, a process may change the memory location that this file refers via
-.BR prctl (2)
+.MR prctl 2
operations such as
.BR PR_SET_MM_ENV_START .
.IP
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_exe.5 b/man5/proc_pid_exe.5
index e308677f1..b98c0fec8 100644
--- a/man5/proc_pid_exe.5
+++ b/man5/proc_pid_exe.5
@@ -25,21 +25,22 @@ string \[aq]\ (deleted)\[aq] appended to the original pathname.
In a multithreaded process, the contents of this symbolic link
are not available if the main thread has already terminated
(typically by calling
-.BR pthread_exit (3)).
+.MR pthread_exit 3 ).
.IP
Permission to dereference or read
-.RB ( readlink (2))
+\%(\c
+.MR readlink 2 )
this symbolic link is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.IP
Under Linux 2.0 and earlier,
.IR /proc/ pid /exe
is a pointer to the binary which was executed,
and appears as a symbolic link.
A
-.BR readlink (2)
+.MR readlink 2
call on this file under Linux 2.0 returns a string in the format:
.IP
.in +4n
@@ -51,9 +52,9 @@ call on this file under Linux 2.0 returns a string in the format:
For example, [0301]:1502 would be inode 1502 on device major 03 (IDE,
MFM, etc. drives) minor 01 (first partition on the first drive).
.IP
-.BR find (1)
+.MR find 1
with the
.I \-inum
option can be used to locate the file.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_fd.5 b/man5/proc_pid_fd.5
index 2e3341ad8..67f98768b 100644
--- a/man5/proc_pid_fd.5
+++ b/man5/proc_pid_fd.5
@@ -19,7 +19,7 @@ For file descriptors for pipes and sockets,
the entries will be symbolic links whose content is the
file type with the inode.
A
-.BR readlink (2)
+.MR readlink 2
call on this file returns a string in the format:
.IP
.in +4n
@@ -37,15 +37,15 @@ in one of the files under
.IP
For file descriptors that have no corresponding inode
(e.g., file descriptors produced by
-.BR bpf (2),
-.BR epoll_create (2),
-.BR eventfd (2),
-.BR inotify_init (2),
-.BR perf_event_open (2),
-.BR signalfd (2),
-.BR timerfd_create (2),
+.MR bpf 2 ,
+.MR epoll_create 2 ,
+.MR eventfd 2 ,
+.MR inotify_init 2 ,
+.MR perf_event_open 2 ,
+.MR signalfd 2 ,
+.MR timerfd_create 2 ,
and
-.BR userfaultfd (2)),
+.MR userfaultfd 2 ),
the entry will be a symbolic link with contents of the form
.IP
.in +4n
@@ -66,7 +66,7 @@ whose content is the string
In a multithreaded process, the contents of this directory
are not available if the main thread has already terminated
(typically by calling
-.BR pthread_exit (3)).
+.MR pthread_exit 3 ).
.IP
Programs that take a filename as a command-line argument,
but don't take input from standard input if no argument is supplied,
@@ -125,11 +125,12 @@ Thus the example command above could be written as:
.in
.IP
Permission to dereference or read
-.RB ( readlink (2))
+\%(\c
+.MR readlink 2 )
the symbolic links in this directory is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.IP
Note that for file descriptors referring to inodes
(pipes and sockets, see above),
@@ -158,4 +159,4 @@ does not have permission
to create a new file descriptor to read from that inode,
even though it can still read from its existing file descriptor 0.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_fdinfo.5 b/man5/proc_pid_fdinfo.5
index 1e23bbe02..6d0df32bb 100644
--- a/man5/proc_pid_fdinfo.5
+++ b/man5/proc_pid_fdinfo.5
@@ -38,7 +38,7 @@ This is a decimal number showing the file offset.
.I flags
This is an octal number that displays the
file access mode and file status flags (see
-.BR open (2)).
+.MR open 2 ).
If the close-on-exec file descriptor flag is set, then
.I flags
will also include the value
@@ -61,7 +61,7 @@ See the description of
.RE
.IP
For eventfd file descriptors (see
-.BR eventfd (2)),
+.MR eventfd 2 ),
we see (since Linux 3.8)
.\" commit cbac5542d48127b546a23d816380a7926eee1c25
the following fields:
@@ -79,7 +79,7 @@ eventfd\-count: 40
is the current value of the eventfd counter, in hexadecimal.
.IP
For epoll file descriptors (see
-.BR epoll (7)),
+.MR epoll 7 ),
we see (since Linux 3.8)
.\" commit 138d22b58696c506799f8de759804083ff9effae
the following fields:
@@ -98,7 +98,7 @@ Each of the lines beginning
.I tfd
describes one of the file descriptors being monitored via
the epoll file descriptor (see
-.BR epoll_ctl (2)
+.MR epoll_ctl 2
for some details).
The
.I tfd
@@ -112,7 +112,7 @@ The
field is the data value associated with this file descriptor.
.IP
For signalfd file descriptors (see
-.BR signalfd (2)),
+.MR signalfd 2 ),
we see (since Linux 3.8)
.\" commit 138d22b58696c506799f8de759804083ff9effae
the following fields:
@@ -134,10 +134,10 @@ signalfd file descriptor.
and
.BR SIGQUIT ;
see
-.BR signal (7).)
+.MR signal 7 .)
.IP
For inotify file descriptors (see
-.BR inotify (7)),
+.MR inotify 7 ),
we see (since Linux 3.8)
the following fields:
.IP
@@ -177,7 +177,7 @@ and
.IR f_handle .
.IP
For fanotify file descriptors (see
-.BR fanotify (7)),
+.MR fanotify 7 ),
we see (since Linux 3.8)
the following fields:
.IP
@@ -193,21 +193,21 @@ fanotify ino:19264f sdev:800001 mflags:0 mask:1 ignored_mask:0 fhandle\-bytes:8
.IP
The fourth line displays information defined when the fanotify group
was created via
-.BR fanotify_init (2):
+.MR fanotify_init 2 :
.RS
.TP
.I flags
The
.I flags
argument given to
-.BR fanotify_init (2)
+.MR fanotify_init 2
(expressed in hexadecimal).
.TP
.I event\-flags
The
.I event_f_flags
argument given to
-.BR fanotify_init (2)
+.MR fanotify_init 2
(expressed in hexadecimal).
.RE
.IP
@@ -230,10 +230,10 @@ The mask of events that are ignored for this mark
.RE
.IP
For details on these fields, see
-.BR fanotify_mark (2).
+.MR fanotify_mark 2 .
.IP
For timerfd file descriptors (see
-.BR timerfd (2)),
+.MR timerfd 2 ),
we see (since Linux 3.17)
.\" commit af9c4957cf212ad9cf0bee34c95cb11de5426e85
the following fields:
@@ -264,12 +264,12 @@ that is used to mark the progress of the timer (in this example, 0 is
.I ticks
This is the number of timer expirations that have occurred,
(i.e., the value that
-.BR read (2)
+.MR read 2
on it would return).
.TP
.I settime flags
This field lists the flags with which the timerfd was last armed (see
-.BR timerfd_settime (2)),
+.MR timerfd_settime 2 ),
in octal
(in this example, both
.B TFD_TIMER_ABSTIME
@@ -293,8 +293,8 @@ in seconds and nanoseconds.
and
.I it_interval
fields contain the values that
-.BR timerfd_gettime (2)
+.MR timerfd_gettime 2
on this file descriptor would return.)
.RE
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_io.5 b/man5/proc_pid_io.5
index 124252319..a62b6e492 100644
--- a/man5/proc_pid_io.5
+++ b/man5/proc_pid_io.5
@@ -32,7 +32,7 @@ The fields are as follows:
.IR rchar ": characters read"
The number of bytes which this task has caused to be read from storage.
This is simply the sum of bytes which this process passed to
-.BR read (2)
+.MR read 2
and similar system calls.
It includes things such as terminal I/O and
is unaffected by whether or not actual
@@ -48,16 +48,16 @@ Similar caveats apply here as with
.IR syscr ": read syscalls"
Attempt to count the number of read I/O operations\[em]that is,
system calls such as
-.BR read (2)
+.MR read 2
and
-.BR pread (2).
+.MR pread 2 .
.TP
.IR syscw ": write syscalls"
Attempt to count the number of write I/O operations\[em]that is,
system calls such as
-.BR write (2)
+.MR write 2
and
-.BR pwrite (2).
+.MR pwrite 2 .
.TP
.IR read_bytes ": bytes read"
Attempt to count the number of bytes which this process really did cause to
@@ -93,6 +93,6 @@ process A could see an intermediate result.
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_limits.5 b/man5/proc_pid_limits.5
index 9e34495a8..c545d682b 100644
--- a/man5/proc_pid_limits.5
+++ b/man5/proc_pid_limits.5
@@ -12,7 +12,7 @@
.IR /proc/ pid /limits " (since Linux 2.6.24)"
This file displays the soft limit, hard limit, and units of measurement
for each of the process's resource limits (see
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
Up to and including Linux 2.6.35,
this file is protected to allow reading only by the real UID of the process.
Since Linux 2.6.36,
@@ -22,4 +22,4 @@ this file is readable by all users on the system.
.\" Added in Linux 2.6.11; updating requires CAP_AUDIT_CONTROL
.\" CONFIG_AUDITSYSCALL
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_map_files.5 b/man5/proc_pid_map_files.5
index da726dcfc..af550276e 100644
--- a/man5/proc_pid_map_files.5
+++ b/man5/proc_pid_map_files.5
@@ -13,7 +13,7 @@
.\" commit 640708a2cff7f81e246243b0073c66e6ece7e53e
This subdirectory contains entries corresponding to memory-mapped
files (see
-.BR mmap (2)).
+.MR mmap 2 ).
Entries are named by memory region start and end
address pair (expressed as hexadecimal numbers),
and are symbolic links to the mapped files themselves.
@@ -51,7 +51,7 @@ lrw\-\-\-\-\-\-\-. 1 root root 64 Apr 16 21:33
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.IP
Until Linux 4.3,
.\" commit bdb4d100afe9818aebd1d98ced575c5ef143456c
@@ -69,4 +69,4 @@ or
.B CAP_CHECKPOINT_RESTORE
in the initial (i.e. root) user namespace.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_maps.5 b/man5/proc_pid_maps.5
index 36efa5702..440d0a810 100644
--- a/man5/proc_pid_maps.5
+++ b/man5/proc_pid_maps.5
@@ -13,13 +13,13 @@
A file containing the currently mapped memory regions and their access
permissions.
See
-.BR mmap (2)
+.MR mmap 2
for some further information about memory mappings.
.IP
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.IP
The format of the file is:
.IP
@@ -107,7 +107,7 @@ for a process with large numbers of threads is expensive.
.I [vdso]
The virtual dynamically linked shared object.
See
-.BR vdso (7).
+.MR vdso 7 .
.TP
.I [heap]
The process's heap.
@@ -116,14 +116,14 @@ The process's heap.
.\" Commit 9a10064f5625d5572c3626c1516e0bebc6c9fe9b
A named private anonymous mapping.
Set with
-.BR prctl (2)
+.MR prctl 2
.BR PR_SET_VMA_ANON_NAME .
.TP
.IR [anon_shmem: name ] " (since Linux 6.2)"
.\" Commit d09e8ca6cb93bb4b97517a18fbbf7eccb0e9ff43
A named shared anonymous mapping.
Set with
-.BR prctl (2)
+.MR prctl 2
.BR PR_SET_VMA_ANON_NAME .
.in
.RE
@@ -132,11 +132,11 @@ If the
.I pathname
field is blank,
this is an anonymous mapping as obtained via
-.BR mmap (2).
+.MR mmap 2 .
There is no easy way to coordinate this back to a process's source,
short of running it through
-.BR gdb (1),
-.BR strace (1),
+.MR gdb 1 ,
+.MR strace 1 ,
or similar.
.IP
.I pathname
@@ -153,4 +153,4 @@ Note that this is ambiguous too.
.IP
Under Linux 2.0, there is no field giving pathname.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_mem.5 b/man5/proc_pid_mem.5
index 42025332c..b77c3846d 100644
--- a/man5/proc_pid_mem.5
+++ b/man5/proc_pid_mem.5
@@ -11,14 +11,14 @@
.TP
.IR /proc/ pid /mem
This file can be used to access the pages of a process's memory through
-.BR open (2),
-.BR read (2),
+.MR open 2 ,
+.MR read 2 ,
and
-.BR lseek (2).
+.MR lseek 2 .
.IP
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_ATTACH_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_mountinfo.5 b/man5/proc_pid_mountinfo.5
index 678063617..6f925810a 100644
--- a/man5/proc_pid_mountinfo.5
+++ b/man5/proc_pid_mountinfo.5
@@ -14,7 +14,7 @@
.\" commit 2d4d4864ac08caff5c204a752bd004eed4f08760
This file contains information about mounts
in the process's mount namespace (see
-.BR mount_namespaces (7)).
+.MR mount_namespaces 7 ).
It supplies various information
(e.g., propagation state, root of mount for bind mounts,
identifier for each mount and its parent) that is missing from the (older)
@@ -35,7 +35,7 @@ The numbers in parentheses are labels for the descriptions below:
.TP 5
(1)
mount ID: a unique ID for the mount (may be reused after
-.BR umount (2)).
+.MR umount 2 ).
.TP
(2)
parent ID: the ID of the parent mount
@@ -52,7 +52,7 @@ the longest path subprefix of P that is a mount point
is not itself hidden by a stacked mount.)
.IP
If the parent mount lies outside the process's root directory (see
-.BR chroot (2)),
+.MR chroot 2 ),
the ID shown here won't have a corresponding record in
.I mountinfo
whose mount ID (field 1) matches this parent mount ID
@@ -72,7 +72,7 @@ and an entry for that mount will not appear in
major:minor: the value of
.I st_dev
for files on this filesystem (see
-.BR stat (2)).
+.MR stat 2 ).
.TP
(4)
root: the pathname of the directory in the filesystem
@@ -84,7 +84,7 @@ to the process's root directory.
.TP
(6)
mount options: per-mount options (see
-.BR mount (2)).
+.MR mount 2 ).
.TP
(7)
optional fields: zero or more fields of the form "tag[:value]"; see below.
@@ -100,7 +100,7 @@ mount source: filesystem-specific information or "none".
.TP
(11)
super options: per-superblock options (see
-.BR mount (2)).
+.MR mount 2 ).
.RE
.IP
Currently, the possible optional fields are
@@ -110,7 +110,7 @@ Currently, the possible optional fields are
and
.IR unbindable .
See
-.BR mount_namespaces (7)
+.MR mount_namespaces 7
for a description of these fields.
Parsers should ignore all unrecognized optional fields.
.IP
@@ -121,4 +121,4 @@ For more information on mount propagation see
before Linux 5.8)
in the Linux kernel source tree.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_mounts.5 b/man5/proc_pid_mounts.5
index 907eb698e..4273f546b 100644
--- a/man5/proc_pid_mounts.5
+++ b/man5/proc_pid_mounts.5
@@ -12,38 +12,38 @@
.IR /proc/ pid /mounts " (since Linux 2.4.19)"
This file lists all the filesystems currently mounted in the
process's mount namespace (see
-.BR mount_namespaces (7)).
+.MR mount_namespaces 7 ).
The format of this file is documented in
-.BR fstab (5).
+.MR fstab 5 .
.IP
Since Linux 2.6.15, this file is pollable:
after opening the file for reading, a change in this file
(i.e., a filesystem mount or unmount) causes
-.BR select (2)
+.MR select 2
to mark the file descriptor as having an exceptional condition, and
-.BR poll (2)
+.MR poll 2
and
-.BR epoll_wait (2)
+.MR epoll_wait 2
mark the file as having a priority event
.RB ( POLLPRI ).
(Before Linux 2.6.30,
a change in this file was indicated by the file descriptor
being marked as readable for
-.BR select (2),
+.MR select 2 ,
and being marked as having an error condition for
-.BR poll (2)
+.MR poll 2
and
-.BR epoll_wait (2).)
+.MR epoll_wait 2 .)
.TP
.I /proc/mounts
Before Linux 2.4.19, this file was a list
of all the filesystems currently mounted on the system.
With the introduction of per-process mount namespaces in Linux 2.4.19 (see
-.BR mount_namespaces (7)),
+.MR mount_namespaces 7 ),
this file became a link to
.IR /proc/self/mounts ,
which lists the mounts of the process's own mount namespace.
The format of this file is documented in
-.BR fstab (5).
+.MR fstab 5 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_mountstats.5 b/man5/proc_pid_mountstats.5
index 6d2aa5985..876b3d056 100644
--- a/man5/proc_pid_mountstats.5
+++ b/man5/proc_pid_mountstats.5
@@ -12,7 +12,7 @@
.IR /proc/ pid /mountstats " (since Linux 2.6.17)"
This file exports information (statistics, configuration information)
about the mounts in the process's mount namespace (see
-.BR mount_namespaces (7)).
+.MR mount_namespaces 7 ).
Lines in this file have the form:
.IP
.in +4n
@@ -43,4 +43,4 @@ information via this field.
.IP
This file is readable only by the owner of the process.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_net.5 b/man5/proc_pid_net.5
index 29de0b682..44470bc92 100644
--- a/man5/proc_pid_net.5
+++ b/man5/proc_pid_net.5
@@ -19,14 +19,14 @@ This directory contains various files and subdirectories containing
information about the networking layer.
The files contain ASCII structures and are,
therefore, readable with
-.BR cat (1).
+.MR cat 1 .
However, the standard
-.BR netstat (8)
+.MR netstat 8
suite provides much cleaner access to these files.
.IP
With the advent of network namespaces,
various information relating to the network stack is virtualized (see
-.BR network_namespaces (7)).
+.MR network_namespaces 7 ).
Thus, since Linux 2.6.25,
.\" commit e9720acd728a46cb40daa52c99a979f7c4ff195c
.I /proc/net
@@ -66,7 +66,7 @@ the number of received and sent packets, the number of errors and
collisions
and other basic statistics.
These are used by the
-.BR ifconfig (8)
+.MR ifconfig 8
program to report device status.
The format is:
.IP
@@ -107,7 +107,7 @@ Defined in
This file uses the same format as the
.I arp
file and contains the current reverse mapping database used to provide
-.BR rarp (8)
+.MR rarp 8
reverse address lookup services.
If RARP is not configured into the
kernel,
@@ -251,10 +251,10 @@ This matches what is specified in the
or
.B \-\-queue\-balance
options to the
-.BR iptables (8)
+.MR iptables 8
NFQUEUE target.
See
-.BR iptables\-extensions (8)
+.MR iptables\-extensions 8
for more information.
.TP
(2)
@@ -295,4 +295,4 @@ This shows the ID of the most recent packet queued.
.IP
The last number exists only for compatibility reasons and is always 1.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_ns.5 b/man5/proc_pid_ns.5
index fba490d79..3e531becf 100644
--- a/man5/proc_pid_ns.5
+++ b/man5/proc_pid_ns.5
@@ -13,8 +13,8 @@
.\" See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
This is a subdirectory containing one entry for each namespace that
supports being manipulated by
-.BR setns (2).
+.MR setns 2 .
For more information, see
-.BR namespaces (7).
+.MR namespaces 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_numa_maps.5 b/man5/proc_pid_numa_maps.5
index 36a9b6999..da0834c3b 100644
--- a/man5/proc_pid_numa_maps.5
+++ b/man5/proc_pid_numa_maps.5
@@ -11,6 +11,6 @@
.TP
.IR /proc/ pid /numa_maps " (since Linux 2.6.14)"
See
-.BR numa (7).
+.MR numa 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_oom_score.5 b/man5/proc_pid_oom_score.5
index 6849e8dce..51a6a42af 100644
--- a/man5/proc_pid_oom_score.5
+++ b/man5/proc_pid_oom_score.5
@@ -34,7 +34,7 @@ the following factors were also used in the calculation of oom_score:
.RS
.IP \[bu] 3
whether the process creates a lot of children using
-.BR fork (2)
+.MR fork 2
(+);
.IP \[bu]
whether the process has been running a long time,
@@ -54,5 +54,5 @@ or
.I oom_adj
setting for the process.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_pid_oom_score_adj (5)
+.MR proc 5 ,
+.MR proc_pid_oom_score_adj 5
diff --git a/man5/proc_pid_oom_score_adj.5 b/man5/proc_pid_oom_score_adj.5
index 968bc5da1..5689ce6d0 100644
--- a/man5/proc_pid_oom_score_adj.5
+++ b/man5/proc_pid_oom_score_adj.5
@@ -32,7 +32,7 @@ If it is due to the memory assigned to the allocating task's cpuset
being exhausted,
the allowed memory represents the set of mems assigned to that
cpuset (see
-.BR cpuset (7)).
+.MR cpuset 7 ).
If it is due to a mempolicy's node(s) being exhausted,
the allowed memory represents the set of mempolicy nodes.
If it is due to a memory limit (or swap limit) being reached,
@@ -79,7 +79,7 @@ or
will change the other with its scaled value.
.IP
The
-.BR choom (1)
+.MR choom 1
program provides a command-line interface for adjusting the
.I oom_score_adj
value of a running process or a newly executed command.
@@ -113,5 +113,5 @@ Since Linux 2.6.36, use of this file is deprecated in favor of
.IR /proc/ pid /oom_score_adj ,
and finally removed in Linux 3.7.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_pid_oom_score (5)
+.MR proc 5 ,
+.MR proc_pid_oom_score 5
diff --git a/man5/proc_pid_pagemap.5 b/man5/proc_pid_pagemap.5
index d68c56d6a..07f80bd13 100644
--- a/man5/proc_pid_pagemap.5
+++ b/man5/proc_pid_pagemap.5
@@ -31,7 +31,7 @@ Zero
.TP
57 (since Linux 5.14)
If set, the page is write-protected through
-.BR userfaultfd (2).
+.MR userfaultfd 2 .
.TP
56 (since Linux 4.2)
.\" commit 77bb499bb60f4b79cca7d139c8041662860fcf87
@@ -72,6 +72,6 @@ kernel configuration option is enabled.
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_personality.5 b/man5/proc_pid_personality.5
index 49b8f5fdf..638180f23 100644
--- a/man5/proc_pid_personality.5
+++ b/man5/proc_pid_personality.5
@@ -12,12 +12,12 @@
.IR /proc/ pid /personality " (since Linux 2.6.28)"
.\" commit 478307230810d7e2a753ed220db9066dfdf88718
This read-only file exposes the process's execution domain, as set by
-.BR personality (2).
+.MR personality 2 .
The value is displayed in hexadecimal notation.
.IP
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_ATTACH_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_projid_map.5 b/man5/proc_pid_projid_map.5
index 84ede67b5..6b832e885 100644
--- a/man5/proc_pid_projid_map.5
+++ b/man5/proc_pid_projid_map.5
@@ -12,6 +12,6 @@
.IR /proc/ pid /projid_map " (since Linux 3.7)"
.\" commit f76d207a66c3a53defea67e7d36c3eb1b7d6d61d
See
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_root.5 b/man5/proc_pid_root.5
index 7a2850ca4..1273dec74 100644
--- a/man5/proc_pid_root.5
+++ b/man5/proc_pid_root.5
@@ -12,7 +12,7 @@
.IR /proc/ pid /root/
UNIX and Linux support the idea of a per-process root of the
filesystem, set by the
-.BR chroot (2)
+.MR chroot 2
system call.
This file is a symbolic link that points to the process's
root directory, and behaves in the same way as
@@ -63,13 +63,14 @@ In a multithreaded process, the contents of the
.IR /proc/ pid /root
symbolic link are not available if the main thread has already terminated
(typically by calling
-.BR pthread_exit (3)).
+.MR pthread_exit 3 ).
.IP
Permission to dereference or read
-.RB ( readlink (2))
+\%(\c
+.MR readlink 2 )
this symbolic link is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_seccomp.5 b/man5/proc_pid_seccomp.5
index 2002c45ed..474a41646 100644
--- a/man5/proc_pid_seccomp.5
+++ b/man5/proc_pid_seccomp.5
@@ -14,7 +14,7 @@ This file can be used to read and change the process's
secure computing (seccomp) mode setting.
It contains the value 0 if the process is not in seccomp mode,
and 1 if the process is in strict seccomp mode (see
-.BR seccomp (2)).
+.MR seccomp 2 ).
Writing 1 to this file places the process irreversibly in strict seccomp mode.
(Further attempts to write to the file fail with the
.B EPERM
@@ -22,15 +22,15 @@ error.)
.IP
In Linux 2.6.23,
this file went away, to be replaced by the
-.BR prctl (2)
+.MR prctl 2
.B PR_GET_SECCOMP
and
.B PR_SET_SECCOMP
operations (and later by
-.BR seccomp (2)
+.MR seccomp 2
and the
.I Seccomp
field in
.IR /proc/ pid /status ).
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_setgroups.5 b/man5/proc_pid_setgroups.5
index 8d3be35c2..655bc2333 100644
--- a/man5/proc_pid_setgroups.5
+++ b/man5/proc_pid_setgroups.5
@@ -11,6 +11,6 @@
.TP
.IR /proc/ pid /setgroups " (since Linux 3.19)"
See
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_smaps.5 b/man5/proc_pid_smaps.5
index b029fcf1b..1932807fe 100644
--- a/man5/proc_pid_smaps.5
+++ b/man5/proc_pid_smaps.5
@@ -13,7 +13,7 @@
.IR /proc/ pid /smaps " (since Linux 2.6.14)"
This file shows memory consumption for each of the process's mappings.
(The
-.BR pmap (1)
+.MR pmap 1
command displays similar information,
in a form that may be easier for parsing.)
For each mapping there is a series of lines such as the following:
@@ -72,7 +72,7 @@ or not.
.IP
The "ProtectionKey" line (available since Linux 4.9, on x86 only)
contains the memory protection key (see
-.BR pkeys (7))
+.MR pkeys 7 )
associated with the virtual memory area.
This entry is present only if the kernel was built with the
.B CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
@@ -126,4 +126,4 @@ file is present only if the
.B CONFIG_PROC_PAGE_MONITOR
kernel configuration option is enabled.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_stack.5 b/man5/proc_pid_stack.5
index 7651e997e..1191760df 100644
--- a/man5/proc_pid_stack.5
+++ b/man5/proc_pid_stack.5
@@ -20,6 +20,6 @@ configuration option.
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_ATTACH_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_stat.5 b/man5/proc_pid_stat.5
index b2ee991d8..216403173 100644
--- a/man5/proc_pid_stat.5
+++ b/man5/proc_pid_stat.5
@@ -12,18 +12,18 @@
.IR /proc/ pid /stat
Status information about the process.
This is used by
-.BR ps (1).
+.MR ps 1 .
It is defined in the kernel source file
.IR fs/proc/array.c "."
.IP
The fields, in order, with their proper
-.BR scanf (3)
+.MR scanf 3
format specifiers, are listed below.
Whether or not certain of these fields display valid information is governed by
a ptrace access mode
.BR PTRACE_MODE_READ_FSCREDS " | " PTRACE_MODE_NOAUDIT
check (refer to
-.BR ptrace (2)).
+.MR ptrace 2 ).
If the check denies access, then the field value is displayed as 0.
The affected fields are indicated with the marking [PT].
.RS
@@ -163,7 +163,7 @@ waited-for children have been scheduled in user mode,
measured in clock ticks (divide by
.IR sysconf(_SC_CLK_TCK) ).
(See also
-.BR times (2).)
+.MR times 2 .)
This includes guest time, \fIcguest_time\fP
(time spent running a virtual CPU, see below).
.TP
@@ -178,13 +178,14 @@ measured in clock ticks (divide by
For processes running a real-time scheduling policy
.RI ( policy
below; see
-.BR sched_setscheduler (2)),
+.MR sched_setscheduler 2 ),
this is the negated scheduling priority, minus one;
that is, a number in the range \-2 to \-100,
corresponding to real-time priorities 1 to 99.
For processes running under a non-real-time scheduling policy,
this is the raw nice value
-.RB ( setpriority (2))
+\%(\c
+.MR setpriority 2 )
as represented in the kernel.
The kernel stores nice values as numbers
in the range 0 (high) to 39 (low),
@@ -196,7 +197,7 @@ the scheduler weighting given to this process.
.TP
(19) \fInice\fP \ %ld
The nice value (see
-.BR setpriority (2)),
+.MR setpriority 2 ),
a value in the range 19 (low priority) to \-20 (high priority).
.\" Back in Linux 1.2 days things were different.
.\" .TP
@@ -247,7 +248,7 @@ Current soft limit in bytes on the rss of the process;
see the description of
.B RLIMIT_RSS
in
-.BR getrlimit (2).
+.MR getrlimit 2 .
.TP
(26) \fIstartcode\fP \ %lu \ [PT]
The address above which program text can run.
@@ -313,11 +314,11 @@ CPU number last executed on.
Real-time scheduling priority, a number in the range 1 to 99 for
processes scheduled under a real-time policy,
or 0, for non-real-time processes (see
-.BR sched_setscheduler (2)).
+.MR sched_setscheduler 2 ).
.TP
(41) \fIpolicy\fP \ %u \ (since Linux 2.5.19)
Scheduling policy (see
-.BR sched_setscheduler (2)).
+.MR sched_setscheduler 2 ).
Decode using the SCHED_* constants in
.IR linux/sched.h .
.IP
@@ -348,7 +349,7 @@ uninitialized (BSS) data are placed.
(47) \fIstart_brk\fP \ %lu \ (since Linux 3.3) \ [PT]
.\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff
Address above which program heap can be expanded with
-.BR brk (2).
+.MR brk 2 .
.TP
(48) \fIarg_start\fP \ %lu \ (since Linux 3.5) \ [PT]
.\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
@@ -373,8 +374,8 @@ Address below which program environment is placed.
(52) \fIexit_code\fP \ %d \ (since Linux 3.5) \ [PT]
.\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
The thread's exit status in the form reported by
-.BR waitpid (2).
+.MR waitpid 2 .
.RE
.SH SEE ALSO
-.BR proc (5),
-.BR proc_pid_status (5)
+.MR proc 5 ,
+.MR proc_pid_status 5
diff --git a/man5/proc_pid_statm.5 b/man5/proc_pid_statm.5
index 1d0045a53..ad396d293 100644
--- a/man5/proc_pid_statm.5
+++ b/man5/proc_pid_statm.5
@@ -42,5 +42,5 @@ or
.IR /proc/ pid /smaps_rollup
instead, which are much slower but provide accurate, detailed information.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_pid_status (5)
+.MR proc 5 ,
+.MR proc_pid_status 5
diff --git a/man5/proc_pid_status.5 b/man5/proc_pid_status.5
index 65a75546e..1e9ab7fa4 100644
--- a/man5/proc_pid_status.5
+++ b/man5/proc_pid_status.5
@@ -90,7 +90,7 @@ Strings longer than
.TP
.I Umask
Process umask, expressed in octal with a leading zero; see
-.BR umask (2).
+.MR umask 2 .
(Since Linux 4.7.)
.TP
.I State
@@ -113,7 +113,7 @@ NUMA group ID (0 if none; since Linux 3.13).
.TP
.I Pid
Thread ID (see
-.BR gettid (2)).
+.MR gettid 2 ).
.TP
.I PPid
PID of parent process.
@@ -176,7 +176,7 @@ Virtual memory size.
.TP
.I VmLck
Locked memory size (see
-.BR mlock (2)).
+.MR mlock 2 ).
.TP
.I VmPin
Pinned memory size
@@ -221,7 +221,7 @@ above.
.I RssShmem
Size of resident shared memory (includes System V shared memory,
mappings from
-.BR tmpfs (5),
+.MR tmpfs 5 ,
and shared anonymous mappings).
.\" commit bf9683d6990589390b5178dafe8fd06808869293
(since Linux 4.5).
@@ -280,16 +280,16 @@ resource limit on the number of queued signals for this process
(see the description of
.B RLIMIT_SIGPENDING
in
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.TP
.I SigPnd
.TQ
.I ShdPnd
Mask (expressed in hexadecimal)
of signals pending for thread and for process as a whole (see
-.BR pthreads (7)
+.MR pthreads 7
and
-.BR signal (7)).
+.MR signal 7 ).
.TP
.I SigBlk
.TQ
@@ -298,7 +298,7 @@ and
.I SigCgt
Masks (expressed in hexadecimal)
indicating signals being blocked, ignored, and caught (see
-.BR signal (7)).
+.MR signal 7 ).
.TP
.I CapInh
.TQ
@@ -308,17 +308,17 @@ indicating signals being blocked, ignored, and caught (see
Masks (expressed in hexadecimal)
of capabilities enabled in inheritable, permitted, and effective sets
(see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.TP
.I CapBnd
Capability bounding set, expressed in hexadecimal
(since Linux 2.6.26, see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.TP
.I CapAmb
Ambient capability set, expressed in hexadecimal
(since Linux 4.3, see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.TP
.I NoNewPrivs
.\" commit af884cd4a5ae62fcf5e321fecf0ec1014730353d
@@ -326,13 +326,13 @@ Value of the
.I no_new_privs
bit
(since Linux 4.10, see
-.BR prctl (2)).
+.MR prctl 2 ).
.TP
.I Seccomp
.\" commit 2f4b3bf6b2318cfaa177ec5a802f4d8d6afbd816
Seccomp mode of the process
(since Linux 3.8, see
-.BR seccomp (2)).
+.MR seccomp 2 ).
0 means
.BR SECCOMP_MODE_DISABLED ;
1 means
@@ -347,33 +347,33 @@ kernel configuration option enabled.
.\" commit c818c03b661cd769e035e41673d5543ba2ebda64
Number of seccomp filters attached to the process
(since Linux 5.9, see
-.BR seccomp (2)).
+.MR seccomp 2 ).
.TP
.I Speculation_Store_Bypass
.\" commit fae1fa0fc6cca8beee3ab8ed71d54f9a78fa3f64
Speculation flaw mitigation state
(since Linux 4.17, see
-.BR prctl (2)).
+.MR prctl 2 ).
.TP
.I Cpus_allowed
Hexadecimal mask of CPUs on which this process may run
(since Linux 2.6.24, see
-.BR cpuset (7)).
+.MR cpuset 7 ).
.TP
.I Cpus_allowed_list
Same as previous, but in "list format"
(since Linux 2.6.26, see
-.BR cpuset (7)).
+.MR cpuset 7 ).
.TP
.I Mems_allowed
Mask of memory nodes allowed to this process
(since Linux 2.6.24, see
-.BR cpuset (7)).
+.MR cpuset 7 ).
.TP
.I Mems_allowed_list
Same as previous, but in "list format"
(since Linux 2.6.26, see
-.BR cpuset (7)).
+.MR cpuset 7 ).
.TP
.I voluntary_ctxt_switches
.TQ
@@ -381,4 +381,4 @@ Same as previous, but in "list format"
Number of voluntary and involuntary context switches (since Linux 2.6.23).
.RE
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_syscall.5 b/man5/proc_pid_syscall.5
index 1b2aa682b..a32bdf5da 100644
--- a/man5/proc_pid_syscall.5
+++ b/man5/proc_pid_syscall.5
@@ -28,6 +28,6 @@ This file is present only if the kernel was configured with
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_ATTACH_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_task.5 b/man5/proc_pid_task.5
index 808191775..f5aedd199 100644
--- a/man5/proc_pid_task.5
+++ b/man5/proc_pid_task.5
@@ -16,7 +16,7 @@ for each thread in the process.
The name of each subdirectory is the numerical thread ID
.RI ( tid )
of the thread (see
-.BR gettid (2)).
+.MR gettid 2 ).
.IP
Within each of these subdirectories, there is a set of
files with the same names and contents as under the
@@ -51,7 +51,7 @@ In a multithreaded process, the contents of the
.IR /proc/ pid /task
directory are not available if the main thread has already terminated
(typically by calling
-.BR pthread_exit (3)).
+.MR pthread_exit 3 ).
.TP
.IR /proc/ tid /
There is a numerical subdirectory for each running thread
@@ -72,11 +72,11 @@ subdirectories are
visible when iterating through
.I /proc
with
-.BR getdents (2)
+.MR getdents 2
(and thus are
.I not
visible when one uses
-.BR ls (1)
+.MR ls 1
to view the contents of
.IR /proc ).
However, the pathnames of these directories are visible to
@@ -94,4 +94,4 @@ directory named by the process thread ID
.RI ( tid )
of the same thread.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_timers.5 b/man5/proc_pid_timers.5
index 53f6339dc..f9b87bca1 100644
--- a/man5/proc_pid_timers.5
+++ b/man5/proc_pid_timers.5
@@ -35,13 +35,13 @@ The lines shown for each timer have the following meanings:
.I ID
The ID for this timer.
This is not the same as the timer ID returned by
-.BR timer_create (2);
+.MR timer_create 2 ;
rather, it is the same kernel-internal ID that is available via the
.I si_timerid
field of the
.I siginfo_t
structure (see
-.BR sigaction (2)).
+.MR sigaction 2 ).
.TP
.I signal
This is the signal number that this timer uses to deliver notifications
@@ -79,4 +79,4 @@ in this field.
This file is available only when the kernel was configured with
.BR CONFIG_CHECKPOINT_RESTORE .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_timerslack_ns.5 b/man5/proc_pid_timerslack_ns.5
index 73673faca..32c26c86e 100644
--- a/man5/proc_pid_timerslack_ns.5
+++ b/man5/proc_pid_timerslack_ns.5
@@ -21,13 +21,13 @@ Writing 0 to this file resets the "current" timer slack to the
For further details, see the discussion of
.B PR_SET_TIMERSLACK
in
-.BR prctl (2).
+.MR prctl 2 .
.IP
Initially,
permission to access this file was governed by a ptrace access mode
.B PTRACE_MODE_ATTACH_FSCREDS
check (see
-.BR ptrace (2)).
+.MR ptrace 2 ).
However, this was subsequently deemed too strict a requirement
(and had the side effect that requiring a process to have the
.B CAP_SYS_PTRACE
@@ -38,4 +38,4 @@ only the (weaker)
.B CAP_SYS_NICE
capability is required to access this file.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_uid_map.5 b/man5/proc_pid_uid_map.5
index e514eda33..cc24d6e20 100644
--- a/man5/proc_pid_uid_map.5
+++ b/man5/proc_pid_uid_map.5
@@ -11,10 +11,10 @@
.TP
.IR /proc/ pid /gid_map " (since Linux 3.5)"
See
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.TP
.IR /proc/ pid /uid_map " (since Linux 3.5)"
See
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_pid_wchan.5 b/man5/proc_pid_wchan.5
index e425e4da4..2eed13efb 100644
--- a/man5/proc_pid_wchan.5
+++ b/man5/proc_pid_wchan.5
@@ -16,6 +16,6 @@ in the kernel where the process is sleeping.
Permission to access this file is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_profile.5 b/man5/proc_profile.5
index 994a4d888..45e21fbbd 100644
--- a/man5/proc_profile.5
+++ b/man5/proc_profile.5
@@ -14,11 +14,11 @@ This file is present only if the kernel was booted with the
.I profile=1
command-line option.
It exposes kernel profiling information in a binary format for use by
-.BR readprofile (1).
+.MR readprofile 1 .
Writing (e.g., an empty string) to this file resets the profiling counters;
on some architectures,
writing a binary integer "profiling multiplier" of size
.I sizeof(int)
sets the profiling interrupt frequency.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_scsi.5 b/man5/proc_scsi.5
index 7eb2ae3d5..175794085 100644
--- a/man5/proc_scsi.5
+++ b/man5/proc_scsi.5
@@ -18,7 +18,7 @@ driver directories,
which contain a file for each SCSI host in this system, all of
which give the status of some part of the SCSI IO subsystem.
These files contain ASCII structures and are, therefore, readable with
-.BR cat (1).
+.MR cat 1 .
.IP
You can also write to some of the files to reconfigure the subsystem or
switch certain features on or off.
@@ -63,4 +63,4 @@ eata_dma driver.
With the \fIlockup\fP and \fIunlock\fP commands,
root can control bus lockups simulated by the scsi_debug driver.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_slabinfo.5 b/man5/proc_slabinfo.5
index a633840e0..7d1b2e774 100644
--- a/man5/proc_slabinfo.5
+++ b/man5/proc_slabinfo.5
@@ -12,7 +12,7 @@
.I /proc/slabinfo
Information about kernel caches.
See
-.BR slabinfo (5)
+.MR slabinfo 5
for details.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_stat.5 b/man5/proc_stat.5
index cc5dfd575..26d05a741 100644
--- a/man5/proc_stat.5
+++ b/man5/proc_stat.5
@@ -137,4 +137,4 @@ each subsequent column is the total for particular softirq.
(Linux 2.6.31 onward.)
.RE
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_swaps.5 b/man5/proc_swaps.5
index 9b01f801d..ea7c132d0 100644
--- a/man5/proc_swaps.5
+++ b/man5/proc_swaps.5
@@ -12,6 +12,6 @@
.I /proc/swaps
Swap areas in use.
See also
-.BR swapon (8).
+.MR swapon 8 .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_sys.5 b/man5/proc_sys.5
index 4a2965842..15b8ac16b 100644
--- a/man5/proc_sys.5
+++ b/man5/proc_sys.5
@@ -15,7 +15,7 @@ This directory (present since Linux 1.3.57) contains a number of files
and subdirectories corresponding to kernel variables.
These variables can be read and in some cases modified using
the \fI/proc\fP filesystem, and the (deprecated)
-.BR sysctl (2)
+.MR sysctl 2
system call.
.IP
String values may be terminated by either \[aq]\e0\[aq] or \[aq]\en\[aq].
@@ -28,4 +28,4 @@ by any of the following whitespace characters:
Using other separators leads to the error
.BR EINVAL .
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_sys_abi.5 b/man5/proc_sys_abi.5
index 748ce50f3..d14aa2958 100644
--- a/man5/proc_sys_abi.5
+++ b/man5/proc_sys_abi.5
@@ -20,5 +20,5 @@ See the Linux kernel source file
before Linux 5.3)
for more information.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sys_debug.5 b/man5/proc_sys_debug.5
index cf5632d70..d73126b1c 100644
--- a/man5/proc_sys_debug.5
+++ b/man5/proc_sys_debug.5
@@ -13,5 +13,5 @@
.I /proc/sys/debug/
This directory may be empty.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sys_dev.5 b/man5/proc_sys_dev.5
index c1de19307..8995a44d3 100644
--- a/man5/proc_sys_dev.5
+++ b/man5/proc_sys_dev.5
@@ -16,5 +16,5 @@ This directory contains device-specific information (e.g.,
On
some systems, it may be empty.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sys_fs.5 b/man5/proc_sys_fs.5
index e745a64fd..b5149480f 100644
--- a/man5/proc_sys_fs.5
+++ b/man5/proc_sys_fs.5
@@ -17,14 +17,14 @@ related to filesystems.
.IR /proc/sys/fs/aio\-max\-nr " and " /proc/sys/fs/aio\-nr " (since Linux 2.6.4)"
.I aio\-nr
is the running total of the number of events specified by
-.BR io_setup (2)
+.MR io_setup 2
calls for all currently active AIO contexts.
If
.I aio\-nr
reaches
.IR aio\-max\-nr ,
then
-.BR io_setup (2)
+.MR io_setup 2
will fail with the error
.BR EAGAIN .
Raising
@@ -74,7 +74,7 @@ dcache isn't pruned yet.
This file can be used to disable or enable the
.I dnotify
interface described in
-.BR fcntl (2)
+.MR fcntl 2
on a system-wide basis.
A value of 0 in this file disables the interface,
and a value of 1 enables it.
@@ -97,7 +97,7 @@ which can be used to limit the amount of kernel memory consumed by the
.I epoll
interface.
For further details, see
-.BR epoll (7).
+.MR epoll 7 .
.TP
.I /proc/sys/fs/file\-max
This file defines
@@ -105,7 +105,7 @@ a system-wide limit on the number of open files for all processes.
System calls that fail when encountering this limit fail with the error
.BR ENFILE .
(See also
-.BR setrlimit (2),
+.MR setrlimit 2 ,
which can be used by a process to set the per-process limit,
.BR RLIMIT_NOFILE ,
on the number of files it may open.)
@@ -131,7 +131,7 @@ limit.
This (read-only) file contains three numbers:
the number of allocated file handles
(i.e., the number of open file descriptions; see
-.BR open (2));
+.MR open 2 );
the number of free file handles;
and the maximum number of file handles (i.e., the same value as
.IR /proc/sys/fs/file\-max ).
@@ -195,12 +195,13 @@ that can be used to limit the amount of kernel memory consumed by the
.I inotify
interface.
For further details, see
-.BR inotify (7).
+.MR inotify 7 .
.TP
.I /proc/sys/fs/lease\-break\-time
This file specifies the grace period that the kernel grants to a process
holding a file lease
-.RB ( fcntl (2))
+\%(\c
+.MR fcntl 2 )
after it has sent a signal to that process notifying it
that another process is waiting to open the file.
If the lease holder does not remove or downgrade the lease within
@@ -208,7 +209,8 @@ this grace period, the kernel forcibly breaks the lease.
.TP
.I /proc/sys/fs/leases\-enable
This file can be used to enable or disable file leases
-.RB ( fcntl (2))
+\%(\c
+.MR fcntl 2 )
on a system-wide basis.
If this file contains the value 0, leases are disabled.
A nonzero value enables leases.
@@ -224,7 +226,7 @@ This directory contains files
.IR msg_max ", " msgsize_max ", and " queues_max ,
controlling the resources used by POSIX message queues.
See
-.BR mq_overview (7)
+.MR mq_overview 7
for details.
.TP
.IR /proc/sys/fs/nr_open " (since Linux 2.6.25)"
@@ -232,7 +234,7 @@ for details.
This file imposes a ceiling on the value to which the
.B RLIMIT_NOFILE
resource limit can be raised (see
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
This ceiling is enforced for both unprivileged and privileged process.
The default value in this file is 1048576.
(Before Linux 2.6.25, the ceiling for
@@ -251,15 +253,15 @@ to the overflow value before being written to disk.
.TP
.IR /proc/sys/fs/pipe\-max\-size " (since Linux 2.6.35)"
See
-.BR pipe (7).
+.MR pipe 7 .
.TP
.IR /proc/sys/fs/pipe\-user\-pages\-hard " (since Linux 4.5)"
See
-.BR pipe (7).
+.MR pipe 7 .
.TP
.IR /proc/sys/fs/pipe\-user\-pages\-soft " (since Linux 4.5)"
See
-.BR pipe (7).
+.MR pipe 7 .
.TP
.IR /proc/sys/fs/protected_fifos " (since Linux 4.19)"
The value in this file is/can be set to one of the following:
@@ -271,7 +273,7 @@ Writing to FIFOs is unrestricted.
1
Don't allow
.B O_CREAT
-.BR open (2)
+.MR open 2
on FIFOs that the caller doesn't own in world-writable sticky directories,
unless the FIFO is owned by the owner of the directory.
.TP
@@ -301,7 +303,7 @@ and the file UID has a mapping in the namespace.
The filesystem UID of the process creating the link matches
the owner (UID) of the target file
(as described in
-.BR credentials (7),
+.MR credentials 7 ,
a process's filesystem UID is normally the same as its effective UID).
.IP \[bu]
All of the following conditions are true:
@@ -344,7 +346,7 @@ Writing to regular files is unrestricted.
1
Don't allow
.B O_CREAT
-.BR open (2)
+.MR open 2
on regular files that the caller doesn't own in
world-writable sticky directories,
unless the regular file is owned by the owner of the directory.
@@ -372,7 +374,7 @@ in the following circumstances:
the filesystem UID of the process following the link matches
the owner (UID) of the symbolic link
(as described in
-.BR credentials (7),
+.MR credentials 7 ,
a process's filesystem UID is normally the same as its effective UID);
.IP \[bu]
the link is not in a sticky world-writable directory; or
@@ -394,7 +396,7 @@ based on time-of-check, time-of-use races when accessing symbolic links.
.\" The following is based on text from Documentation/sysctl/kernel.txt
The value in this file is assigned to a process's "dumpable" flag
in the circumstances described in
-.BR prctl (2).
+.MR prctl 2 .
In effect,
the value in this file determines whether core dump files are
produced for set-user-ID or otherwise protected/tainted binaries.
@@ -410,8 +412,8 @@ Three different integer values can be specified:
This provides the traditional (pre-Linux 2.6.13) behavior.
A core dump will not be produced for a process which has
changed credentials (by calling
-.BR seteuid (2),
-.BR setgid (2),
+.MR seteuid 2 ,
+.MR setgid 2 ,
or similar, or by executing a set-user-ID or set-group-ID program)
or whose binary does not have read permission enabled.
.TP
@@ -419,7 +421,7 @@ or whose binary does not have read permission enabled.
.\" In kernel source: SUID_DUMP_USER
All processes dump core when possible.
(Reasons why a process might nevertheless not dump core are described in
-.BR core (5).)
+.MR core 5 .)
The core dump is owned by the filesystem user ID of the dumping process
and no security is applied.
This is intended for system debugging situations only:
@@ -441,7 +443,7 @@ Additionally, since Linux 3.6,
.I /proc/sys/kernel/core_pattern
must either be an absolute pathname
or a pipe command, as detailed in
-.BR core (5).
+.MR core 5 .
Warnings will be written to the kernel log if
.I core_pattern
does not follow these rules, and no core dump will be produced.
@@ -450,7 +452,7 @@ does not follow these rules, and no core dump will be produced.
.IP
For details of the effect of a process's "dumpable" setting
on ptrace access mode checking, see
-.BR ptrace (2).
+.MR ptrace 2 .
.TP
.I /proc/sys/fs/super\-max
This file
@@ -467,5 +469,5 @@ allows you to.
This file
contains the number of filesystems currently mounted.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sys_kernel.5 b/man5/proc_sys_kernel.5
index 3cf664cb4..a366000ff 100644
--- a/man5/proc_sys_kernel.5
+++ b/man5/proc_sys_kernel.5
@@ -65,7 +65,7 @@ and reads from this file always return the value "0".
.TP
.IR /proc/sys/kernel/cap_last_cap " (since Linux 3.2)"
See
-.BR capabilities (7).
+.MR capabilities 7 .
.TP
.IR /proc/sys/kernel/cap\-bound " (from Linux 2.2 to Linux 2.6.24)"
This file holds the value of the kernel
@@ -73,30 +73,30 @@ This file holds the value of the kernel
(expressed as a signed decimal number).
This set is ANDed against the capabilities permitted to a process
during
-.BR execve (2).
+.MR execve 2 .
Starting with Linux 2.6.25,
the system-wide capability bounding set disappeared,
and was replaced by a per-thread bounding set; see
-.BR capabilities (7).
+.MR capabilities 7 .
.TP
.I /proc/sys/kernel/core_pattern
See
-.BR core (5).
+.MR core 5 .
.TP
.I /proc/sys/kernel/core_pipe_limit
See
-.BR core (5).
+.MR core 5 .
.TP
.I /proc/sys/kernel/core_uses_pid
See
-.BR core (5).
+.MR core 5 .
.TP
.I /proc/sys/kernel/ctrl\-alt\-del
This file
controls the handling of Ctrl-Alt-Del from the keyboard.
When the value in this file is 0, Ctrl-Alt-Del is trapped and
sent to the
-.BR init (1)
+.MR init 1
program to handle a graceful restart.
When the value is greater than zero, Linux's reaction to a Vulcan
Nerve Pinch (tm) will be an immediate reboot, without even
@@ -111,7 +111,7 @@ The value in this file determines who can see kernel syslog contents.
A value of 0 in this file imposes no restrictions.
If the value is 1, only privileged users can read the kernel syslog.
(See
-.BR syslog (2)
+.MR syslog 2
for more details.)
Since Linux 3.4,
.\" commit 620f6e8e855d6d447688a5f67a4e176944a084e8
@@ -122,9 +122,9 @@ capability may change the value in this file.
.IR /proc/sys/kernel/domainname " and " /proc/sys/kernel/hostname
can be used to set the NIS/YP domainname and the
hostname of your box in exactly the same way as the commands
-.BR domainname (1)
+.MR domainname 1
and
-.BR hostname (1),
+.MR hostname 1 ,
that is:
.IP
.in +4n
@@ -151,7 +151,7 @@ These two
domain names are in general different.
For a detailed discussion
see the
-.BR hostname (1)
+.MR hostname 1
man page.
.TP
.I /proc/sys/kernel/hotplug
@@ -174,7 +174,7 @@ each time the system hits the idle loop.
This directory contains various files that define parameters and limits
for the key-management facility.
These files are described in
-.BR keyrings (7).
+.MR keyrings 7 .
.TP
.IR /proc/sys/kernel/kptr_restrict " (since Linux 2.6.38)"
.\" 455cd5ab305c90ffc422dd2e0fb634730942b257
@@ -259,7 +259,7 @@ number of a process's group memberships.
.TP
.IR /proc/sys/kernel/ns_last_pid " (since Linux 3.3)"
See
-.BR pid_namespaces (7).
+.MR pid_namespaces 7 .
.TP
.IR /proc/sys/kernel/ostype " and " /proc/sys/kernel/osrelease
These files
@@ -320,12 +320,12 @@ otherwise the "doze" mode will be used.
.TP
.I /proc/sys/kernel/printk
See
-.BR syslog (2).
+.MR syslog 2 .
.TP
.IR /proc/sys/kernel/pty " (since Linux 2.6.4)"
This directory contains two files relating to the number of UNIX 98
pseudoterminals (see
-.BR pts (4))
+.MR pts 4 )
on the system.
.TP
.I /proc/sys/kernel/pty/max
@@ -343,7 +343,7 @@ This directory
contains various parameters controlling the operation of the file
.IR /dev/random .
See
-.BR random (4)
+.MR random 4
for further information.
.TP
.IR /proc/sys/kernel/random/uuid " (since Linux 2.4)"
@@ -366,7 +366,7 @@ parameter.
.TP
.B 1
Make the addresses of
-.BR mmap (2)
+.MR mmap 2
allocations, the stack, and the VDSO page randomized.
Among other things, this means that shared libraries will be
loaded at randomized addresses.
@@ -399,7 +399,7 @@ rebooting?
.TP
.I /proc/sys/kernel/rtsig\-max
(Up to and including Linux 2.6.7; see
-.BR setrlimit (2))
+.MR setrlimit 2 )
This file can be used to tune the maximum number
of POSIX real-time (queued) signals that can be outstanding
in the system.
@@ -411,11 +411,11 @@ This file shows the number of POSIX real-time signals currently queued.
.IR /proc/ pid /sched_autogroup_enabled " (since Linux 2.6.38)"
.\" commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a
See
-.BR sched (7).
+.MR sched 7 .
.TP
.IR /proc/sys/kernel/sched_child_runs_first " (since Linux 2.6.23)"
If this file contains the value zero, then, after a
-.BR fork (2),
+.MR fork 2 ,
the parent is first scheduled on the CPU.
If the file contains a nonzero value,
then the child is scheduled first on the CPU.
@@ -424,22 +424,22 @@ the parent and the child might both immediately be scheduled on a CPU.)
.TP
.IR /proc/sys/kernel/sched_rr_timeslice_ms " (since Linux 3.9)"
See
-.BR sched_rr_get_interval (2).
+.MR sched_rr_get_interval 2 .
.TP
.IR /proc/sys/kernel/sched_rt_period_us " (since Linux 2.6.25)"
See
-.BR sched (7).
+.MR sched 7 .
.TP
.IR /proc/sys/kernel/sched_rt_runtime_us " (since Linux 2.6.25)"
See
-.BR sched (7).
+.MR sched 7 .
.TP
.IR /proc/sys/kernel/seccomp/ " (since Linux 4.14)"
.\" commit 8e5f1ad116df6b0de65eac458d5e7c318d1c05af
This directory provides additional seccomp information and
configuration.
See
-.BR seccomp (2)
+.MR seccomp 2
for further details.
.TP
.IR /proc/sys/kernel/sem " (since Linux 2.4)"
@@ -455,7 +455,7 @@ A system-wide limit on the number of semaphores in all semaphore sets.
.TP
SEMOPM
The maximum number of operations that may be specified in a
-.BR semop (2)
+.MR semop 2
call.
.TP
SEMMNI
@@ -483,7 +483,7 @@ in other words, it is no longer possible to create shared memory segments
that exist independently of any attached process.
.IP
The effect is as though a
-.BR shmctl (2)
+.MR shmctl 2
.B IPC_RMID
is performed on all existing segments as well as all segments
created in the future (until this file is reset to 0).
@@ -492,14 +492,14 @@ immediately destroyed when this file is set to 1.
Setting this option will also destroy segments that were created,
but never attached,
upon termination of the process that created the segment with
-.BR shmget (2).
+.MR shmget 2 .
.IP
Setting this file to 1 provides a way of ensuring that
all System V shared memory segments are counted against the
resource usage and resource limits (see the description of
.B RLIMIT_AS
in
-.BR getrlimit (2))
+.MR getrlimit 2 )
of at least one process.
.IP
Because setting this file to 1 produces behavior that is nonstandard
@@ -543,7 +543,7 @@ The file has three possible values:
\-1
This provides legacy handling, with no printk warnings.
Each
-.BR write (2)
+.MR write 2
must fully contain the value to be written,
and multiple writes on the same file descriptor
will overwrite the entire value, regardless of the file position.
@@ -566,7 +566,7 @@ Writes to numeric
.I /proc/sys
entries must always be at file offset 0 and the value must be
fully contained in the buffer provided to
-.BR write (2).
+.MR write 2 .
.\" FIXME .
.\" With /proc/sys/kernel/sysctl_writes_strict==1, writes at an
.\" offset other than 0 do not generate an error. Instead, the
@@ -679,7 +679,7 @@ is reduced accordingly.
.TP
.IR /proc/sys/kernel/yama/ptrace_scope " (since Linux 3.5)"
See
-.BR ptrace (2).
+.MR ptrace 2 .
.TP
.IR /proc/sys/kernel/zero\-paged " (PowerPC only)"
This file
@@ -687,5 +687,5 @@ contains a flag.
When enabled (nonzero), Linux-PPC will pre-zero pages in
the idle loop, possibly speeding up get_free_pages.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sys_net.5 b/man5/proc_sys_net.5
index bd29738ba..ed8ad98a5 100644
--- a/man5/proc_sys_net.5
+++ b/man5/proc_sys_net.5
@@ -13,22 +13,22 @@
.I /proc/sys/net/
This directory contains networking stuff.
Explanations for some of the files under this directory can be found in
-.BR tcp (7)
+.MR tcp 7
and
-.BR ip (7).
+.MR ip 7 .
.TP
.I /proc/sys/net/core/bpf_jit_enable
See
-.BR bpf (2).
+.MR bpf 2 .
.TP
.I /proc/sys/net/core/somaxconn
This file defines a ceiling value for the
.I backlog
argument of
-.BR listen (2);
+.MR listen 2 ;
see the
-.BR listen (2)
+.MR listen 2
manual page for details.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_net (5)
+.MR proc 5 ,
+.MR proc_net 5
diff --git a/man5/proc_sys_proc.5 b/man5/proc_sys_proc.5
index 21eaf2750..e3b08965e 100644
--- a/man5/proc_sys_proc.5
+++ b/man5/proc_sys_proc.5
@@ -13,5 +13,5 @@
.I /proc/sys/proc/
This directory may be empty.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sys_sunrpc.5 b/man5/proc_sys_sunrpc.5
index 7b47e9317..4378f4270 100644
--- a/man5/proc_sys_sunrpc.5
+++ b/man5/proc_sys_sunrpc.5
@@ -15,5 +15,5 @@ This directory supports Sun remote procedure call for network filesystem
(NFS).
On some systems, it is not present.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sys_user.5 b/man5/proc_sys_user.5
index 1566e7630..d3678156a 100644
--- a/man5/proc_sys_user.5
+++ b/man5/proc_sys_user.5
@@ -12,7 +12,7 @@
.TP
.IR /proc/sys/user/ " (since Linux 4.9)"
See
-.BR namespaces (7).
+.MR namespaces 7 .
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sys_vm.5 b/man5/proc_sys_vm.5
index 17a7dd2ec..d4c19f460 100644
--- a/man5/proc_sys_vm.5
+++ b/man5/proc_sys_vm.5
@@ -31,10 +31,10 @@ Systems running in "overcommit never" mode (i.e., 2 in
.IR /proc/sys/vm/overcommit_memory )
should increase the value in this file to account
for the full virtual memory size of the programs used to recover (e.g.,
-.BR login (1)
-.BR ssh (1),
+.MR login 1
+.MR ssh 1 ,
and
-.BR top (1))
+.MR top 1 )
Otherwise, the superuser may not be able to log in to recover the system.
For example, on x86-64 a suitable value is 131072 (128MiB reserved).
.IP
@@ -85,7 +85,7 @@ echo 3 > /proc/sys/vm/drop_caches
Because writing to this file is a nondestructive operation and dirty objects
are not freeable, the
user should run
-.BR sync (1)
+.MR sync 1
first.
.TP
.IR /proc/sys/vm/sysctl_hugetlb_shm_group " (since Linux 2.6.7)"
@@ -96,10 +96,10 @@ matches this group ID,
then it can make huge-page allocations without holding the
.B CAP_IPC_LOCK
capability; see
-.BR memfd_create (2),
-.BR mmap (2),
+.MR memfd_create 2 ,
+.MR mmap 2 ,
and
-.BR shmget (2).
+.MR shmget 2 .
.TP
.IR /proc/sys/vm/legacy_va_layout " (since Linux 2.6.9)"
.\" The following is from Documentation/filesystems/proc.txt
@@ -140,7 +140,7 @@ signal with
set to
.BR BUS_MCEERR_AO .
Processes can handle this if they want to; see
-.BR sigaction (2)
+.MR sigaction 2
for more details.
.IP
This feature is active only on architectures/platforms with advanced machine
@@ -149,7 +149,7 @@ check handling and depends on the hardware capabilities.
Applications can override the
.I memory_failure_early_kill
setting individually with the
-.BR prctl (2)
+.MR prctl 2
.B PR_MCE_KILL
operation.
.IP
@@ -263,7 +263,7 @@ Values are:
.RE
.IP
In mode 0, calls of
-.BR mmap (2)
+.MR mmap 2
with
.B MAP_NORESERVE
are not checked, and the default check is very weak,
@@ -355,7 +355,8 @@ using memory policies
.RB ( mbind (2)
.BR MPOL_BIND )
or cpusets
-.RB ( cpuset (7))
+\%(\c
+.MR cpuset 7 )
and those nodes reach memory exhaustion status,
one process may be killed by the OOM-killer.
No panic occurs in this case:
@@ -407,14 +408,14 @@ an application requests memory.
.\" cefdca0a86be517bc390fc4541e3674b8e7803b0
This (writable) file exposes a flag that controls whether
unprivileged processes are allowed to employ
-.BR userfaultfd (2).
+.MR userfaultfd 2 .
If this file has the value 1, then unprivileged processes may use
-.BR userfaultfd (2).
+.MR userfaultfd 2 .
If this file has the value 0, then only processes that have the
.B CAP_SYS_PTRACE
capability may employ
-.BR userfaultfd (2).
+.MR userfaultfd 2 .
The default value in this file is 1.
.SH SEE ALSO
-.BR proc (5),
-.BR proc_sys (5)
+.MR proc 5 ,
+.MR proc_sys 5
diff --git a/man5/proc_sysrq-trigger.5 b/man5/proc_sysrq-trigger.5
index 576569262..20b2e03fe 100644
--- a/man5/proc_sysrq-trigger.5
+++ b/man5/proc_sysrq-trigger.5
@@ -22,4 +22,4 @@ For further details see the Linux kernel source file
.I Documentation/sysrq.txt
before Linux 4.10).
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_sysvipc.5 b/man5/proc_sysvipc.5
index f9789af02..3cefbec11 100644
--- a/man5/proc_sysvipc.5
+++ b/man5/proc_sysvipc.5
@@ -16,10 +16,10 @@ These files list the System V Interprocess Communication (IPC) objects
(respectively: message queues, semaphores, and shared memory)
that currently exist on the system,
providing similar information to that available via
-.BR ipcs (1).
+.MR ipcs 1 .
These files have headers and are formatted (one IPC object per line)
for easy understanding.
-.BR sysvipc (7)
+.MR sysvipc 7
provides further background on the information shown by these files.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_tid_children.5 b/man5/proc_tid_children.5
index 5c5466e02..47357e8e6 100644
--- a/man5/proc_tid_children.5
+++ b/man5/proc_tid_children.5
@@ -34,4 +34,4 @@ it is governed by the
.B CONFIG_PROC_CHILDREN
option.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_timer_list.5 b/man5/proc_timer_list.5
index da437d4d1..5af46b09c 100644
--- a/man5/proc_timer_list.5
+++ b/man5/proc_timer_list.5
@@ -15,4 +15,4 @@ This read-only file exposes a list of all currently pending
(high-resolution) timers,
all clock-event sources, and their parameters in a human-readable form.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_timer_stats.5 b/man5/proc_timer_stats.5
index 0c9f45978..ebd9bfdae 100644
--- a/man5/proc_timer_stats.5
+++ b/man5/proc_timer_stats.5
@@ -114,4 +114,4 @@ as it exposes information across namespaces.
Furthermore, it is possible to obtain
the same information via in-kernel tracing facilities such as ftrace.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_tty.5 b/man5/proc_tty.5
index e5b48cd78..d4e93ceec 100644
--- a/man5/proc_tty.5
+++ b/man5/proc_tty.5
@@ -13,4 +13,4 @@
Subdirectory containing the pseudo-files and subdirectories for
tty drivers and line disciplines.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_uptime.5 b/man5/proc_uptime.5
index aa08d08a2..3aee9ef56 100644
--- a/man5/proc_uptime.5
+++ b/man5/proc_uptime.5
@@ -14,4 +14,4 @@ This file contains two numbers (values in seconds): the uptime of the
system (including time spent in suspend) and the amount of time spent
in the idle process.
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_version.5 b/man5/proc_version.5
index 60e591984..3d351c0c2 100644
--- a/man5/proc_version.5
+++ b/man5/proc_version.5
@@ -24,4 +24,4 @@ Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
.EE
.in
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_vmstat.5 b/man5/proc_vmstat.5
index 083cc1565..367a68ad3 100644
--- a/man5/proc_vmstat.5
+++ b/man5/proc_vmstat.5
@@ -94,7 +94,7 @@ Amount of memory allocated to kernel stacks.
.IR nr_shmem " (since Linux 2.6.32)"
.\" commit 4b02108ac1b3354a22b0d83c684797692efdc395
Pages used by shmem and
-.BR tmpfs (5).
+.MR tmpfs 5 .
.TP
.IR nr_dirtied " (since Linux 2.6.37)"
.\" commit ea941f0e2a8c02ae876cd73deb4e1557248f258c
@@ -699,4 +699,4 @@ See the kernel source file
.\" .BR CONFIG_DEBUG_VM_VMACACHE .
.RE
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/proc_zoneinfo.5 b/man5/proc_zoneinfo.5
index 0c9ab3817..5eea1b6e4 100644
--- a/man5/proc_zoneinfo.5
+++ b/man5/proc_zoneinfo.5
@@ -14,4 +14,4 @@ This file displays information about memory zones.
This is useful for analyzing virtual memory behavior.
.\" FIXME more should be said about /proc/zoneinfo
.SH SEE ALSO
-.BR proc (5)
+.MR proc 5
diff --git a/man5/protocols.5 b/man5/protocols.5
index 01418f538..d5cba2c39 100644
--- a/man5/protocols.5
+++ b/man5/protocols.5
@@ -60,7 +60,7 @@ naming service like Yellow Pages/NIS or BIND/Hesiod.
.I /etc/protocols
The protocols definition file.
.SH SEE ALSO
-.BR getprotoent (3)
+.MR getprotoent 3
.P
.UR http://www.iana.org\:/assignments\:/protocol\-numbers
.UE
diff --git a/man5/repertoiremap.5 b/man5/repertoiremap.5
index 71c8a26a9..7f5164a3e 100644
--- a/man5/repertoiremap.5
+++ b/man5/repertoiremap.5
@@ -6,7 +6,7 @@ repertoiremap \- map symbolic character names to Unicode code points
.SH DESCRIPTION
A repertoire map defines mappings between symbolic character names
(mnemonics) and Unicode code points when compiling a locale with
-.BR localedef (1).
+.MR localedef 1 .
Using a repertoire map is optional, it is needed only when symbolic
names are used instead of now preferred Unicode code points.
.SS Syntax
@@ -52,7 +52,7 @@ A mnemonic for the Euro sign can be defined as follows:
<Eu> <U20AC> EURO SIGN
.fi
.SH SEE ALSO
-.BR locale (1),
-.BR localedef (1),
-.BR charmap (5),
-.BR locale (5)
+.MR locale 1 ,
+.MR localedef 1 ,
+.MR charmap 5 ,
+.MR locale 5
diff --git a/man5/resolv.conf.5 b/man5/resolv.conf.5
index 7efce605b..300231a50 100644
--- a/man5/resolv.conf.5
+++ b/man5/resolv.conf.5
@@ -68,7 +68,7 @@ until a maximum number of retries are made.)
\fBsearch\fP Search list for host-name lookup.
By default, the search list contains one entry, the local domain name.
It is determined from the local hostname returned by
-.BR gethostname (2);
+.MR gethostname 2 ;
the local domain name is taken to be everything after the first
\[aq].\[aq].
Finally, if the hostname does not contain a \[aq].\[aq], the
@@ -119,7 +119,7 @@ directive that handles one search list entry only.
.TP
\fBsortlist\fP
This option allows addresses returned by
-.BR gethostbyname (3)
+.MR gethostbyname 3
to be sorted.
A sortlist is specified by IP-address-netmask pairs.
The netmask is
@@ -150,15 +150,15 @@ Sets
in
.I _res.options
(effective only if glibc was built with debug support; see
-.BR resolver (3)).
+.MR resolver 3 ).
.TP
.BI ndots: n
.\" Since glibc 2.2
Sets a threshold for the number of dots which
must appear in a name given to
-.BR res_query (3)
+.MR res_query 3
(see
-.BR resolver (3))
+.MR resolver 3 )
before an \fIinitial absolute query\fP will be made.
The default for
\fIn\fP is 1, meaning that if there are any dots in a name, the name
@@ -208,11 +208,11 @@ in
.IR _res.options ,
which suppresses AAAA queries made by the stub resolver,
including AAAA lookups triggered by NSS-based interfaces such as
-.BR getaddrinfo (3).
+.MR getaddrinfo 3 .
Only DNS lookups are affected: IPv6 data in
-.BR hosts (5)
+.MR hosts 5
is still used,
-.BR getaddrinfo (3)
+.MR getaddrinfo 3
with
.B AI_PASSIVE
will still produce IPv6 addresses,
@@ -240,15 +240,15 @@ Sets
in
.IR _res.options .
This has the effect of trying an AAAA query before an A query inside the
-.BR gethostbyname (3)
+.MR gethostbyname 3
function, and of mapping IPv4 responses in IPv6 "tunneled form"
if no AAAA records are found but an A record set exists.
Since glibc 2.25,
.\" b76e065991ec01299225d9da90a627ebe6c1ac97
this option is deprecated; applications should use
-.BR getaddrinfo (3),
+.MR getaddrinfo 3 ,
rather than
-.BR gethostbyname (3).
+.MR gethostbyname 3 .
.TP
.BR ip6\-bytestring " (since glibc 2.3.4 to glibc 2.24)"
Sets
@@ -395,12 +395,12 @@ in the first column are treated as comments.
.IR /etc/resolv.conf ,
.I <resolv.h>
.SH SEE ALSO
-.BR gethostbyname (3),
-.BR resolver (3),
-.BR host.conf (5),
-.BR hosts (5),
-.BR nsswitch.conf (5),
-.BR hostname (7),
-.BR named (8)
+.MR gethostbyname 3 ,
+.MR resolver 3 ,
+.MR host.conf 5 ,
+.MR hosts 5 ,
+.MR nsswitch.conf 5 ,
+.MR hostname 7 ,
+.MR named 8
.P
Name Server Operations Guide for BIND
diff --git a/man5/rpc.5 b/man5/rpc.5
index f49924c6f..fa9b30bc2 100644
--- a/man5/rpc.5
+++ b/man5/rpc.5
@@ -80,4 +80,4 @@ nsemntd 100039
.I /etc/rpc
RPC program number data base
.SH SEE ALSO
-.BR getrpcent (3)
+.MR getrpcent 3
diff --git a/man5/securetty.5 b/man5/securetty.5
index ec397df9b..847b06380 100644
--- a/man5/securetty.5
+++ b/man5/securetty.5
@@ -17,19 +17,19 @@ which are considered secure for the transmission of certain authentication
tokens.
.P
It is used by (some versions of)
-.BR login (1)
+.MR login 1
to restrict the terminals
on which root is allowed to login.
See
-.BR login.defs (5)
+.MR login.defs 5
if you use the shadow suite.
.P
On PAM enabled systems, it is used for the same purpose by
-.BR pam_securetty (8)
+.MR pam_securetty 8
to restrict the terminals on which empty passwords are accepted.
.SH FILES
.I /etc/securetty
.SH SEE ALSO
-.BR login (1),
-.BR login.defs (5),
-.BR pam_securetty (8)
+.MR login 1 ,
+.MR login.defs 5 ,
+.MR pam_securetty 8
diff --git a/man5/services.5 b/man5/services.5
index f46f417a6..1644ab2aa 100644
--- a/man5/services.5
+++ b/man5/services.5
@@ -22,12 +22,12 @@ numbers and protocol types.
Every networking program should look into
this file to get the port number (and protocol) for its service.
The C library routines
-.BR getservent (3),
-.BR getservbyname (3),
-.BR getservbyport (3),
-.BR setservent (3),
+.MR getservent 3 ,
+.MR getservbyname 3 ,
+.MR getservbyport 3 ,
+.MR setservent 3 ,
and
-.BR endservent (3)
+.MR endservent 3
support querying this file from programs.
.P
Port numbers are assigned by the IANA (Internet Assigned Numbers
@@ -38,10 +38,10 @@ have two entries, even for TCP-only services.
.P
Port numbers below 1024 (so-called "low numbered" ports) can be
bound to only by root (see
-.BR bind (2),
-.BR tcp (7),
+.MR bind 2 ,
+.MR tcp 7 ,
and
-.BR udp (7)).
+.MR udp 7 ).
This is so clients connecting to low numbered ports can trust
that the service running on the port is the standard implementation,
and not a rogue service run by a user of the machine.
@@ -53,13 +53,13 @@ The presence of an entry for a service in the
file does not necessarily mean that the service is currently running
on the machine.
See
-.BR inetd.conf (5)
+.MR inetd.conf 5
for the configuration of Internet services offered.
Note that not all
networking services are started by
-.BR inetd (8),
+.MR inetd 8 ,
and so won't appear in
-.BR inetd.conf (5).
+.MR inetd.conf 5 .
In particular, news (NNTP) and mail (SMTP) servers are often
initialized from the system boot scripts.
.P
@@ -91,7 +91,7 @@ is the port number (in decimal) to use for this service.
is the type of protocol to be used.
This field should match an entry
in the
-.BR protocols (5)
+.MR protocols 5
file.
Typical values include
.B tcp
@@ -124,10 +124,10 @@ sensible choice.
Lines not matching this format should not be present in the
file.
(Currently, they are silently skipped by
-.BR getservent (3),
-.BR getservbyname (3),
+.MR getservent 3 ,
+.MR getservbyname 3 ,
and
-.BR getservbyport (3).
+.MR getservbyport 3 .
However, this behavior should not be relied on.)
.P
.\" The following is not true as at glibc 2.8 (a line with a comma is
@@ -186,14 +186,14 @@ Definition of
.\" .BR getservbyport (3).
.\" However, this will also cause the next line to be mis-parsed.
.SH SEE ALSO
-.BR listen (2),
-.BR endservent (3),
-.BR getservbyname (3),
-.BR getservbyport (3),
-.BR getservent (3),
-.BR setservent (3),
-.BR inetd.conf (5),
-.BR protocols (5),
-.BR inetd (8)
+.MR listen 2 ,
+.MR endservent 3 ,
+.MR getservbyname 3 ,
+.MR getservbyport 3 ,
+.MR getservent 3 ,
+.MR setservent 3 ,
+.MR inetd.conf 5 ,
+.MR protocols 5 ,
+.MR inetd 8
.P
Assigned Numbers RFC, most recently RFC\ 1700, (AKA STD0002).
diff --git a/man5/shells.5 b/man5/shells.5
index 2a5d63d7e..aa6572ca2 100644
--- a/man5/shells.5
+++ b/man5/shells.5
@@ -13,7 +13,7 @@ shells \- pathnames of valid login shells
.I /etc/shells
is a text file which contains the full pathnames of valid login shells.
This file is consulted by
-.BR chsh (1)
+.MR chsh 1
and available to be queried by other programs.
.P
Be aware that there are programs which consult this file to
@@ -35,6 +35,6 @@ may contain the following paths:
.EE
.in
.SH SEE ALSO
-.BR chsh (1),
-.BR getusershell (3),
-.BR pam_shells (8)
+.MR chsh 1 ,
+.MR getusershell 3 ,
+.MR pam_shells 8
diff --git a/man5/slabinfo.5 b/man5/slabinfo.5
index c3121fa28..4799cc12e 100644
--- a/man5/slabinfo.5
+++ b/man5/slabinfo.5
@@ -212,7 +212,7 @@ The total amount of memory allocated to the SLAB/SLUB cache is shown in the
field of
.IR /proc/meminfo .
.SH SEE ALSO
-.BR slabtop (1)
+.MR slabtop 1
.P
The kernel source file
.I Documentation/vm/slub.txt
diff --git a/man5/sysfs.5 b/man5/sysfs.5
index b118bb650..09f26817c 100644
--- a/man5/sysfs.5
+++ b/man5/sysfs.5
@@ -105,7 +105,7 @@ The symbolic links inside
thus provide an easy way to look up the
.B sysfs
interface using the device IDs returned by a call to
-.BR stat (2)
+.MR stat 2
(or similar).
.IP
The following shell session shows an example from
@@ -145,9 +145,9 @@ to explicitly create the subdirectory.
.TP
.I /sys/fs/cgroup
This directory conventionally is used as a mount point for a
-.BR tmpfs (5)
+.MR tmpfs 5
filesystem containing mount points for
-.BR cgroups (7)
+.MR cgroups 7
filesystems.
.TP
.I /sys/fs/smackfs
@@ -164,7 +164,7 @@ information about the running kernel.
.TP
.I /sys/kernel/cgroup/
For information about the files in this directory, see
-.BR cgroups (7).
+.MR cgroups 7 .
.TP
.I /sys/kernel/debug/tracing
Mount point for the
@@ -259,8 +259,8 @@ Linux 2.6.0.
This manual page is incomplete, possibly inaccurate, and is the kind
of thing that needs to be updated very often.
.SH SEE ALSO
-.BR proc (5),
-.BR udev (7)
+.MR proc 5 ,
+.MR udev 7
.P
P.\& Mochel. (2005).
.IR "The sysfs filesystem" .
diff --git a/man5/termcap.5 b/man5/termcap.5
index 3f49c43ac..b4a35f6ac 100644
--- a/man5/termcap.5
+++ b/man5/termcap.5
@@ -17,7 +17,7 @@ The termcap database is an obsolete facility for describing the
capabilities of character-cell terminals and printers.
It is retained only for compatibility with old programs;
new programs should use the
-.BR terminfo (5)
+.MR terminfo 5
database and associated libraries.
.P
.I /etc/termcap
@@ -28,7 +28,7 @@ the particular escape codes needed to control the visual attributes of
the terminal actually in use.
(Other aspects of the terminal are
handled by
-.BR stty (1).)
+.MR stty 1 .)
The termcap database is indexed on the
.B TERM
environment variable.
@@ -461,6 +461,6 @@ The values in parentheses are suggested defaults which are used by the
.I curses
library, if the capabilities are missing.
.SH SEE ALSO
-.BR ncurses (3),
-.BR termcap (3),
-.BR terminfo (5)
+.MR ncurses 3 ,
+.MR termcap 3 ,
+.MR terminfo 5
diff --git a/man5/tmpfs.5 b/man5/tmpfs.5
index 69404e135..b24696c01 100644
--- a/man5/tmpfs.5
+++ b/man5/tmpfs.5
@@ -144,16 +144,16 @@ Attempt to allocate huge pages every time a new page is needed.
Only allocate huge page if it will be fully within
.IR i_size .
Also respect
-.BR fadvise (2)
+.MR fadvise 2
and
-.BR madvise (2)
+.MR madvise 2
hints
.TP
.B advise
Only allocate huge pages if requested with
-.BR fadvise (2)
+.MR fadvise 2
or
-.BR madvise (2).
+.MR madvise 2 .
.TP
.B deny
For use in emergencies, to force the huge option off from all mounts.
@@ -175,7 +175,7 @@ value is one of the following:
.TP
.B default
Use the process allocation policy (see
-.BR set_mempolicy (2)).
+.MR set_mempolicy 2 ).
.TP
.BR prefer ":\fInode\fP"
Preferably allocate memory from the given
@@ -222,14 +222,15 @@ option.
The
.B tmpfs
filesystem supports extended attributes (see
-.BR xattr (7)),
+.MR xattr 7 ),
but
.I user
extended attributes are not permitted.
.P
An internal shared memory filesystem is used for
System V shared memory
-.RB ( shmget (2))
+\%(\c
+.MR shmget 2 )
and shared anonymous mappings
.RB ( mmap (2)
with the
@@ -247,9 +248,11 @@ A
filesystem mounted at
.I /dev/shm
is used for the implementation of POSIX shared memory
-.RB ( shm_overview (7))
+\%(\c
+.MR shm_overview 7 )
and POSIX semaphores
-.RB ( sem_overview (7)).
+\%(\c
+.MR sem_overview 7 ).
.P
The amount of memory consumed by all
.B tmpfs
@@ -260,20 +263,20 @@ field of
and in the
.I shared
field displayed by
-.BR free (1).
+.MR free 1 .
.P
The
.B tmpfs
facility was formerly called
.BR shmfs .
.SH SEE ALSO
-.BR df (1),
-.BR du (1),
-.BR memfd_create (2),
-.BR mmap (2),
-.BR set_mempolicy (2),
-.BR shm_open (3),
-.BR mount (8)
+.MR df 1 ,
+.MR du 1 ,
+.MR memfd_create 2 ,
+.MR mmap 2 ,
+.MR set_mempolicy 2 ,
+.MR shm_open 3 ,
+.MR mount 8
.P
The kernel source files
.I Documentation/filesystems/tmpfs.txt
diff --git a/man5/ttytype.5 b/man5/ttytype.5
index fd257de97..a71cfc6c0 100644
--- a/man5/ttytype.5
+++ b/man5/ttytype.5
@@ -14,9 +14,9 @@ ttytype \- terminal device to default terminal type mapping
The
.I /etc/ttytype
file associates
-.BR termcap (5)
+.MR termcap 5
and
-.BR terminfo (5)
+.MR terminfo 5
terminal type names
with tty lines.
Each line consists of a terminal type, followed by
@@ -25,7 +25,7 @@ whitespace, followed by a tty name (a device name without the
prefix).
.P
This association is used by the program
-.BR tset (1)
+.MR tset 1
to set the environment variable
.B TERM
to the default terminal name for
@@ -50,7 +50,7 @@ vt320 ttys0
.EE
.in
.SH SEE ALSO
-.BR termcap (5),
-.BR terminfo (5),
-.BR agetty (8),
-.BR mingetty (8)
+.MR termcap 5 ,
+.MR terminfo 5 ,
+.MR agetty 8 ,
+.MR mingetty 8
diff --git a/man5/utmp.5 b/man5/utmp.5
index 62febabef..a0450caa8 100644
--- a/man5/utmp.5
+++ b/man5/utmp.5
@@ -116,49 +116,49 @@ struct utmp {
This structure gives the name of the special file associated with the
user's terminal, the user's login name, and the time of login in the form
of
-.BR time (2).
+.MR time 2 .
String fields are terminated by a null byte (\[aq]\e0\[aq])
if they are shorter than the size
of the field.
.P
The first entries ever created result from
-.BR init (1)
+.MR init 1
processing
-.BR inittab (5).
+.MR inittab 5 .
Before an entry is processed, though,
-.BR init (1)
+.MR init 1
cleans up utmp by setting \fIut_type\fP to \fBDEAD_PROCESS\fP, clearing
\fIut_user\fP, \fIut_host\fP, and \fIut_time\fP with null bytes for each
record which \fIut_type\fP is not \fBDEAD_PROCESS\fP or \fBRUN_LVL\fP
and where no process with PID \fIut_pid\fP exists.
If no empty record
with the needed \fIut_id\fP can be found,
-.BR init (1)
+.MR init 1
creates a new one.
It sets \fIut_id\fP from the inittab, \fIut_pid\fP and \fIut_time\fP to the
current values, and \fIut_type\fP to \fBINIT_PROCESS\fP.
.P
-.BR mingetty (8)
+.MR mingetty 8
(or
-.BR agetty (8))
+.MR agetty 8 )
locates the entry by the PID, changes \fIut_type\fP to
\fBLOGIN_PROCESS\fP, changes \fIut_time\fP, sets \fIut_line\fP, and waits
for connection to be established.
-.BR login (1),
+.MR login 1 ,
after a user has been
authenticated, changes \fIut_type\fP to \fBUSER_PROCESS\fP, changes
\fIut_time\fP, and sets \fIut_host\fP and \fIut_addr\fP.
Depending on
-.BR mingetty (8)
+.MR mingetty 8
(or
-.BR agetty (8))
+.MR agetty 8 )
and
-.BR login (1),
+.MR login 1 ,
records may be located by
\fIut_line\fP instead of the preferable \fIut_pid\fP.
.P
When
-.BR init (1)
+.MR init 1
finds that a process has exited, it locates its utmp entry by
.IR ut_pid ,
sets
@@ -172,7 +172,7 @@ and
.I ut_time
with null bytes.
.P
-.BR xterm (1)
+.MR xterm 1
and other terminal emulators directly create a
\fBUSER_PROCESS\fP record and generate the \fIut_id\fP by using the
string that suffix part of the terminal name (the characters
@@ -185,12 +185,12 @@ will mark it as \fBDEAD_PROCESS\fP on exiting and it is advised that
they null \fIut_line\fP, \fIut_time\fP, \fIut_user\fP, and \fIut_host\fP
as well.
.P
-.BR telnetd (8)
+.MR telnetd 8
sets up a \fBLOGIN_PROCESS\fP entry and leaves the rest to
-.BR login (1)
+.MR login 1
as usual.
After the telnet session ends,
-.BR telnetd (8)
+.MR telnetd 8
cleans up utmp in the described way.
.P
The \fIwtmp\fP file records all logins and logouts.
@@ -201,17 +201,17 @@ Furthermore, the terminal name \fB\[ti]\fP
with username \fBshutdown\fP or \fBreboot\fP indicates a system
shutdown or reboot and the pair of terminal names \fB|\fP/\fB}\fP
logs the old/new system time when
-.BR date (1)
+.MR date 1
changes it.
\fIwtmp\fP is maintained by
-.BR login (1),
-.BR init (1),
+.MR login 1 ,
+.MR init 1 ,
and some versions of
-.BR getty (8)
+.MR getty 8
(e.g.,
-.BR mingetty (8)
+.MR mingetty 8
or
-.BR agetty (8)).
+.MR agetty 8 ).
None of these programs creates the file, so if it is
removed, record-keeping is turned off.
.SH FILES
@@ -277,7 +277,7 @@ Unlike various other
systems, where utmp logging can be disabled by removing the file, utmp
must always exist on Linux.
If you want to disable
-.BR who (1),
+.MR who 1 ,
then do not make utmp world readable.
.P
The file format is machine-dependent, so it is recommended that it be
@@ -330,19 +330,19 @@ ut.ut_tv.tv_usec = tv.tv_usec;
.\" .SH BUGS
.\" This man page is based on the libc5 one, things may work differently now.
.SH SEE ALSO
-.BR ac (1),
-.BR date (1),
-.BR init (1),
-.BR last (1),
-.BR login (1),
-.BR logname (1),
-.BR lslogins (1),
-.BR users (1),
-.BR utmpdump (1),
-.BR who (1),
-.BR getutent (3),
-.BR getutmp (3),
-.BR login (3),
-.BR logout (3),
-.BR logwtmp (3),
-.BR updwtmp (3)
+.MR ac 1 ,
+.MR date 1 ,
+.MR init 1 ,
+.MR last 1 ,
+.MR login 1 ,
+.MR logname 1 ,
+.MR lslogins 1 ,
+.MR users 1 ,
+.MR utmpdump 1 ,
+.MR who 1 ,
+.MR getutent 3 ,
+.MR getutmp 3 ,
+.MR login 3 ,
+.MR logout 3 ,
+.MR logwtmp 3 ,
+.MR updwtmp 3
diff --git a/man7/address_families.7 b/man7/address_families.7
index f43a5c42c..85c166b43 100644
--- a/man7/address_families.7
+++ b/man7/address_families.7
@@ -17,7 +17,7 @@ address_families \- socket address families (domains)
The
.I domain
argument of the
-.BR socket (2)
+.MR socket 2
specifies a communication domain; this selects the protocol
family which will be used for communication.
These families are defined in
@@ -29,17 +29,17 @@ The formats currently understood by the Linux kernel include:
.B AF_LOCAL
Local communication.
For further information, see
-.BR unix (7).
+.MR unix 7 .
.TP
.B AF_INET
IPv4 Internet protocols.
For further information, see
-.BR ip (7).
+.MR ip 7 .
.TP
.B AF_AX25
Amateur radio AX.25 protocol.
For further information, see
-.BR ax25 (4).
+.MR ax25 4 .
.\" Part of ax25-tools
.TP
.B AF_IPX
@@ -48,12 +48,12 @@ IPX \- Novell protocols.
.B AF_APPLETALK
AppleTalk
For further information, see
-.BR ddp (7).
+.MR ddp 7 .
.TP
.B AF_NETROM
AX.25 packet layer protocol.
For further information, see
-.BR netrom (4),
+.MR netrom 4 ,
.\" Part of ax25-tools package
.UR https://www.tldp.org/HOWTO/AX25-HOWTO/x61.html
.I The Packet Radio Protocols and Linux
@@ -68,7 +68,7 @@ chapters of the
.B AF_BRIDGE
Can't be used for creating sockets;
mostly used for bridge links in
-.BR rtnetlink (7)
+.MR rtnetlink 7
protocol commands.
.TP
.B AF_ATMPVC
@@ -81,12 +81,12 @@ For further information, see the
.B AF_X25
ITU-T X.25 / ISO-8208 protocol.
For further information, see
-.BR x25 (7).
+.MR x25 7 .
.TP
.B AF_INET6
IPv6 Internet protocols.
For further information, see
-.BR ipv6 (7).
+.MR ipv6 7 .
.TP
.B AF_ROSE
RATS (Radio Amateur Telecommunications Society).
@@ -111,7 +111,7 @@ for firewall upcalls.
Key management protocol, originally developed for usage with IPsec
(since Linux 2.1.38).
This has no relation to
-.BR keyctl (2)
+.MR keyctl 2
and the in-kernel key storage facility.
See
.UR https://tools.ietf.org/html/rfc2367
@@ -123,12 +123,12 @@ for details.
.B AF_NETLINK
Kernel user interface device.
For further information, see
-.BR netlink (7).
+.MR netlink 7 .
.TP
.B AF_PACKET
Low-level packet interface.
For further information, see
-.BR packet (7).
+.MR packet 7 .
.\" .TP
.\" .B AF_ASH
.\" Asynchronous Serial Host protocol (?)
@@ -176,8 +176,8 @@ or
For further information, see
.\" rds-tools: https://github.com/oracle/rds-tools/blob/master/rds.7
.\" rds-tools: https://github.com/oracle/rds-tools/blob/master/rds-rdma.7
-.BR rds (7),
-.BR rds\-rdma (7),
+.MR rds 7 ,
+.MR rds\-rdma 7 ,
and
.I Documentation/networking/rds.txt
in the Linux kernel source tree.
@@ -188,7 +188,7 @@ Socket interface over IrDA
(moved to staging in Linux 4.14, removed in Linux 4.17).
.\" irda-utils: https://sourceforge.net/p/irda/code/HEAD/tree/tags/IRDAUTILS_0_9_18/irda-utils/man/irda.7.gz?format=raw
For further information, see
-.BR irda (7).
+.MR irda 7 .
.TP
.B AF_PPPOX
Generic PPP transport layer, for setting up L2 tunnels
@@ -234,7 +234,7 @@ InfiniBand native addressing (since Linux 3.11).
.\" commits: 0189197f441602acdca3f97750d392a895b778fd
Multiprotocol Label Switching (since Linux 4.1);
mostly used for configuring MPLS routing via
-.BR netlink (7),
+.MR netlink 7 ,
as it doesn't expose ability to create sockets to user space.
.TP
.B AF_CAN
@@ -347,7 +347,7 @@ has no relation to
and
.BR AF_SMC .
For further information, see
-.BR vsock (7).
+.MR vsock 7 .
.TP
.B AF_KCM
.\" commit: 03c8efc1ffeb6b82a22c1af8dd908af349563314
@@ -388,5 +388,5 @@ See
.I Documentation/networking/af_xdp.rst
in the Linux kernel source tree for details.
.SH SEE ALSO
-.BR socket (2),
-.BR socket (7)
+.MR socket 2 ,
+.MR socket 7
diff --git a/man7/aio.7 b/man7/aio.7
index 513fbbb73..234ccabb7 100644
--- a/man7/aio.7
+++ b/man7/aio.7
@@ -16,38 +16,38 @@ or no notification at all.
.P
The POSIX AIO interface consists of the following functions:
.TP
-.BR aio_read (3)
+.MR aio_read 3
Enqueue a read request.
This is the asynchronous analog of
-.BR read (2).
+.MR read 2 .
.TP
-.BR aio_write (3)
+.MR aio_write 3
Enqueue a write request.
This is the asynchronous analog of
-.BR write (2).
+.MR write 2 .
.TP
-.BR aio_fsync (3)
+.MR aio_fsync 3
Enqueue a sync request for the I/O operations on a file descriptor.
This is the asynchronous analog of
-.BR fsync (2)
+.MR fsync 2
and
-.BR fdatasync (2).
+.MR fdatasync 2 .
.TP
-.BR aio_error (3)
+.MR aio_error 3
Obtain the error status of an enqueued I/O request.
.TP
-.BR aio_return (3)
+.MR aio_return 3
Obtain the return status of a completed I/O request.
.TP
-.BR aio_suspend (3)
+.MR aio_suspend 3
Suspend the caller until one or more of a specified set of
I/O requests completes.
.TP
-.BR aio_cancel (3)
+.MR aio_cancel 3
Attempt to cancel outstanding I/O requests on a specified
file descriptor.
.TP
-.BR lio_listio (3)
+.MR lio_listio 3
Enqueue multiple I/O requests using a single function call.
.P
The
@@ -101,7 +101,7 @@ This is the size of the buffer pointed to by
This field specifies a value that is subtracted
from the calling thread's real-time priority in order to
determine the priority for execution of this I/O request (see
-.BR pthread_setschedparam (3)).
+.MR pthread_setschedparam 3 ).
The specified value must be between 0 and the value returned by
.IR sysconf(_SC_AIO_PRIO_DELTA_MAX) .
This field is ignored for file synchronization operations.
@@ -117,17 +117,17 @@ are
and
.BR SIGEV_THREAD .
See
-.BR sigevent (3type)
+.MR sigevent 3type
for further details.
.TP
.I aio_lio_opcode
The type of operation to be performed; used only for
-.BR lio_listio (3).
+.MR lio_listio 3 .
.P
In addition to the standard functions listed above,
the GNU C library provides the following extension to the POSIX AIO API:
.TP
-.BR aio_init (3)
+.MR aio_init 3
Set parameters for tuning the behavior of the glibc POSIX AIO implementation.
.SH ERRORS
.TP
@@ -146,7 +146,7 @@ POSIX.1-2001.
glibc 2.1.
.SH NOTES
It is a good idea to zero out the control block buffer before use (see
-.BR memset (3)).
+.MR memset 3 ).
The control block buffer and the buffer pointed to by
.I aio_buf
must not be changed while the I/O operation is in progress.
@@ -162,11 +162,11 @@ threads to perform I/O operations is expensive and scales poorly.
Work has been in progress for some time on a kernel
state-machine-based implementation of asynchronous I/O
(see
-.BR io_submit (2),
-.BR io_setup (2),
-.BR io_cancel (2),
-.BR io_destroy (2),
-.BR io_getevents (2)),
+.MR io_submit 2 ,
+.MR io_setup 2 ,
+.MR io_cancel 2 ,
+.MR io_destroy 2 ,
+.MR io_getevents 2 ),
but this implementation hasn't yet matured to the point where
the POSIX AIO implementation can be completely
reimplemented using the kernel system calls.
@@ -176,22 +176,22 @@ reimplemented using the kernel system calls.
.SH EXAMPLES
The program below opens each of the files named in its command-line
arguments and queues a request on the resulting file descriptor using
-.BR aio_read (3).
+.MR aio_read 3 .
The program then loops,
periodically monitoring each of the I/O operations
that is still in progress using
-.BR aio_error (3).
+.MR aio_error 3 .
Each of the I/O requests is set up to provide notification by delivery
of a signal.
After all I/O requests have completed,
the program retrieves their status using
-.BR aio_return (3).
+.MR aio_return 3 .
.P
The
.B SIGQUIT
signal (generated by typing control-\e) causes the program to request
cancelation of each of the outstanding requests using
-.BR aio_cancel (3).
+.MR aio_cancel 3 .
.P
Here is an example of what we might see when running this program.
In this example, the program queues two requests to standard input,
@@ -426,18 +426,18 @@ main(int argc, char *argv[])
.SH SEE ALSO
.ad l
.nh
-.BR io_cancel (2),
-.BR io_destroy (2),
-.BR io_getevents (2),
-.BR io_setup (2),
-.BR io_submit (2),
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_init (3),
-.BR aio_read (3),
-.BR aio_return (3),
-.BR aio_write (3),
-.BR lio_listio (3)
+.MR io_cancel 2 ,
+.MR io_destroy 2 ,
+.MR io_getevents 2 ,
+.MR io_setup 2 ,
+.MR io_submit 2 ,
+.MR aio_cancel 3 ,
+.MR aio_error 3 ,
+.MR aio_init 3 ,
+.MR aio_read 3 ,
+.MR aio_return 3 ,
+.MR aio_write 3 ,
+.MR lio_listio 3
.P
"Asynchronous I/O Support in Linux 2.5",
Bhattacharya, Pratt, Pulavarty, and Morgan,
diff --git a/man7/armscii-8.7 b/man7/armscii-8.7
index 0f86c2914..072aed47c 100644
--- a/man7/armscii-8.7
+++ b/man7/armscii-8.7
@@ -13,7 +13,7 @@ The Armenian Standard Code for Information Interchange,
.SS ArmSCII-8 characters
The following table displays the characters in ArmSCII-8 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -115,6 +115,6 @@ _
376 254 FE Õš ARMENIAN APOSTROPHE
.TE
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/arp.7 b/man7/arp.7
index 773005b61..df61ef439 100644
--- a/man7/arp.7
+++ b/man7/arp.7
@@ -19,14 +19,14 @@ configure it;
instead it provides a service for other protocols in the kernel.
.P
A user process can receive ARP packets by using
-.BR packet (7)
+.MR packet 7
sockets.
There is also a mechanism for managing the ARP cache
in user-space by using
-.BR netlink (7)
+.MR netlink 7
sockets.
The ARP table can also be controlled via
-.BR ioctl (2)
+.MR ioctl 2
on any
.B AF_INET
socket.
@@ -53,7 +53,7 @@ Other protocols can signal forward progress
using the
.B MSG_CONFIRM
flag to
-.BR sendmsg (2).
+.MR sendmsg 2 .
When there is no forward progress, ARP tries to reprobe.
It first tries to ask a local arp daemon
.B app_solicit
@@ -285,7 +285,7 @@ interfaces did not exist before Linux 2.2.
.SH BUGS
Some timer settings are specified in jiffies, which is architecture-
and kernel version-dependent; see
-.BR time (7).
+.MR time 7 .
.P
There is no way to signal positive feedback from user space.
This means connection-oriented protocols implemented in user space
@@ -296,9 +296,9 @@ The same problem applies for some kernel protocols (e.g., NFS over UDP).
This man page mashes together functionality that is IPv4-specific
with functionality that is shared between IPv4 and IPv6.
.SH SEE ALSO
-.BR capabilities (7),
-.BR ip (7),
-.BR arpd (8)
+.MR capabilities 7 ,
+.MR ip 7 ,
+.MR arpd 8
.P
RFC\ 826 for a description of ARP.
RFC\ 2461 for a description of IPv6 neighbor discovery and the base
diff --git a/man7/ascii.7 b/man7/ascii.7
index 0e1b3c039..5ed4148ef 100644
--- a/man7/ascii.7
+++ b/man7/ascii.7
@@ -150,20 +150,20 @@ Standards Institute (USASI) in 1968.
.\" U.S. member body of ISO; private and nonprofit.
.\"
.SH SEE ALSO
-.BR charsets (7),
-.BR iso_8859\-1 (7),
-.BR iso_8859\-2 (7),
-.BR iso_8859\-3 (7),
-.BR iso_8859\-4 (7),
-.BR iso_8859\-5 (7),
-.BR iso_8859\-6 (7),
-.BR iso_8859\-7 (7),
-.BR iso_8859\-8 (7),
-.BR iso_8859\-9 (7),
-.BR iso_8859\-10 (7),
-.BR iso_8859\-11 (7),
-.BR iso_8859\-13 (7),
-.BR iso_8859\-14 (7),
-.BR iso_8859\-15 (7),
-.BR iso_8859\-16 (7),
-.BR utf\-8 (7)
+.MR charsets 7 ,
+.MR iso_8859\-1 7 ,
+.MR iso_8859\-2 7 ,
+.MR iso_8859\-3 7 ,
+.MR iso_8859\-4 7 ,
+.MR iso_8859\-5 7 ,
+.MR iso_8859\-6 7 ,
+.MR iso_8859\-7 7 ,
+.MR iso_8859\-8 7 ,
+.MR iso_8859\-9 7 ,
+.MR iso_8859\-10 7 ,
+.MR iso_8859\-11 7 ,
+.MR iso_8859\-13 7 ,
+.MR iso_8859\-14 7 ,
+.MR iso_8859\-15 7 ,
+.MR iso_8859\-16 7 ,
+.MR utf\-8 7
diff --git a/man7/attributes.7 b/man7/attributes.7
index 3b2f59b3a..e2403e844 100644
--- a/man7/attributes.7
+++ b/man7/attributes.7
@@ -565,9 +565,9 @@ Functions marked with
.I term
as an MT-Safety issue may change the
terminal settings in the recommended way, namely: call
-.BR tcgetattr (3),
+.MR tcgetattr 3 ,
modify some flags, and then call
-.BR tcsetattr (3),
+.MR tcsetattr 3 ,
this creates a window in which changes made by other threads are lost.
Thus, functions marked with
.I term
@@ -655,7 +655,7 @@ Functions marked with
.I env
as an MT-Safety issue access the
environment with
-.BR getenv (3)
+.MR getenv 3
or similar, without any guards to ensure
safety in the presence of concurrent modifications.
.IP
@@ -678,10 +678,12 @@ hold the "host ID" of the machine.
These data structures cannot generally be modified atomically.
Since it is expected that the "host ID" will not normally change,
the function that reads from it
-.RB ( gethostid (3))
+\%(\c
+.MR gethostid 3 )
is regarded as safe,
whereas the function that modifies it
-.RB ( sethostid (3))
+\%(\c
+.MR sethostid 3 )
is marked with
.IR const:hostid ,
indicating it may require special care if it is to be called.
@@ -782,12 +784,12 @@ other threads or within asynchronous signal or cancelation handlers.
This is not enough of a reason to mark so-marked functions as MT-Unsafe,
.\" or AS-Unsafe,
but when this behavior is optional (e.g.,
-.BR nftw (3)
+.MR nftw 3
with
.BR FTW_CHDIR ),
avoiding the option may be a good alternative to
using full pathnames or file descriptor-relative (e.g.,
-.BR openat (2))
+.MR openat 2 )
system calls.
.\" .TP
.\" .I !posix
@@ -861,5 +863,5 @@ adorned with such conditions,
and none of the named conditions hold,
then the function can be regarded as safe.
.SH SEE ALSO
-.BR pthreads (7),
-.BR signal\-safety (7)
+.MR pthreads 7 ,
+.MR signal\-safety 7
diff --git a/man7/boot.7 b/man7/boot.7
index b66f6596e..ef2356f72 100644
--- a/man7/boot.7
+++ b/man7/boot.7
@@ -83,9 +83,9 @@ OS loader may be located within a larger portion of persistent
storage, such as a disk partition.
.P
In Linux, the OS loader is often
-.BR grub (8)
+.MR grub 8
(an alternative is
-.BR lilo (8)).
+.MR lilo 8 ).
.SS Kernel
When the kernel is loaded, it initializes various components of
the computer and operating system; each portion of software
@@ -100,7 +100,7 @@ Some of the parameters that may be passed to the kernel
relate to these activities (for example, the default root filesystem
can be overridden); for further information
on Linux kernel parameters, read
-.BR bootparam (7).
+.MR bootparam 7 .
.P
Only then does the kernel create the initial userland
process, which is given the number 1 as its
@@ -117,9 +117,9 @@ Note:
The following description applies to an OS based on UNIX System V Release 4.
However, a number of widely used systems have adopted a related but
fundamentally different approach known as
-.BR systemd (1),
+.MR systemd 1 ,
for which the bootup process is detailed in its associated
-.BR bootup (7).
+.MR bootup 7 .
.P
When
.I /sbin/init
@@ -139,9 +139,9 @@ and run level
entails running most network services).
.P
The administrator may change the current run level via
-.BR init (1),
+.MR init 1 ,
and query the current run level via
-.BR runlevel (8).
+.MR runlevel 8 .
.P
However, since it is not convenient to manage individual services
by editing this file,
@@ -176,7 +176,7 @@ there are links (usually symbolic) to the scripts in the \fI/etc/init.d\fR
directory.
.P
A primary script (usually \fI/etc/rc\fR) is called from
-.BR inittab (5);
+.MR inittab 5 ;
this primary script calls each service's script via a link in the
relevant sequencing directory.
Each link whose name begins with \[aq]S\[aq] is called with
@@ -190,7 +190,7 @@ Also, for clarity, the name of a link usually
ends with the name of the service to which it refers.
For example,
the link \fI/etc/rc2.d/S80sendmail\fR starts the
-.BR sendmail (8)
+.MR sendmail 8
service on
run level 2.
This happens after \fI/etc/rc2.d/S12syslog\fR is run
@@ -199,7 +199,7 @@ but before \fI/etc/rc2.d/S90xfs\fR is run.
To manage these links is to manage the boot order and run levels;
under many systems, there are tools to help with this task
(e.g.,
-.BR chkconfig (8)).
+.MR chkconfig 8 ).
.SS Boot configuration
A program that provides a service is often called a "\fBdaemon\fR".
Usually, a daemon may receive various command-line options
@@ -221,10 +221,10 @@ the variable values.
.IR /etc/rc[S0\-6].d/ ,
.I /etc/sysconfig/
.SH SEE ALSO
-.BR init (1),
-.BR systemd (1),
-.BR inittab (5),
-.BR bootparam (7),
-.BR bootup (7),
-.BR runlevel (8),
-.BR shutdown (8)
+.MR init 1 ,
+.MR systemd 1 ,
+.MR inittab 5 ,
+.MR bootparam 7 ,
+.MR bootup 7 ,
+.MR runlevel 8 ,
+.MR shutdown 8
diff --git a/man7/bootparam.7 b/man7/bootparam.7
index 98a5d65fd..c4377d243 100644
--- a/man7/bootparam.7
+++ b/man7/bootparam.7
@@ -67,7 +67,7 @@ argument.
Any remaining arguments that were not picked up by the kernel and were
not interpreted as environment variables are then passed onto PID 1,
which is usually the
-.BR init (1)
+.MR init 1
program.
The most common argument that
is passed to the
@@ -76,7 +76,7 @@ process is the word 'single' which instructs it
to boot the computer in single user mode, and not launch all the usual
daemons.
Check the manual page for the version of
-.BR init (1)
+.MR init 1
installed on
your system to see what arguments it accepts.
.SS General non-device-specific boot arguments
@@ -141,7 +141,7 @@ to mount the root filesystem.
.B 'rootflags=...'
This parameter sets the mount option string for the root filesystem
(see also
-.BR fstab (5)).
+.MR fstab 5 ).
.TP
.B 'rootfstype=...'
The 'rootfstype' option tells the kernel to mount the root filesystem as
@@ -159,7 +159,7 @@ No processes can
write to files on the filesystem in question until it is 'remounted'
as read/write capable, for example, by 'mount \-w \-n \-o remount /'.
(See also
-.BR mount (8).)
+.MR mount 8 .)
.IP
The 'rw' option tells the kernel to mount the root filesystem read/write.
This is the default.
@@ -242,13 +242,13 @@ of CPUs activated in SMP mode to N.
.TP
.B "'debug'"
Kernel messages are handed off to a daemon (e.g.,
-.BR klogd (8)
+.MR klogd 8
or similar) so that they may be logged to disk.
Messages with a priority above
.I console_loglevel
are also printed on the console.
(For a discussion of log levels, see
-.BR syslog (2).)
+.MR syslog 2 .)
By default,
.I console_loglevel
is set to log messages at levels higher than
@@ -259,12 +259,12 @@ print messages logged at level
The console loglevel can also be set on a booted system via the
.I /proc/sys/kernel/printk
file (described in
-.BR syslog (2)),
+.MR syslog 2 ),
the
-.BR syslog (2)
+.MR syslog 2
.B SYSLOG_ACTION_CONSOLE_LEVEL
operation, or
-.BR dmesg (8).
+.MR dmesg 8 .
.TP
.B "'profile=N'"
It is possible to enable a kernel profiling function,
@@ -657,8 +657,8 @@ lp=0.
.\" .SH AUTHORS
.\" Linus Torvalds (and many others)
.SH SEE ALSO
-.BR klogd (8),
-.BR mount (8)
+.MR klogd 8 ,
+.MR mount 8
.P
For up-to-date information, see the kernel source file
.IR Documentation/admin\-guide/kernel\-parameters.txt .
diff --git a/man7/capabilities.7 b/man7/capabilities.7
index ab9379978..8e8bfa154 100644
--- a/man7/capabilities.7
+++ b/man7/capabilities.7
@@ -72,9 +72,9 @@ Employ features that can block system suspend
.TP
.BR CAP_BPF " (since Linux 5.8)"
Employ privileged BPF operations; see
-.BR bpf (2)
+.MR bpf 2
and
-.BR bpf\-helpers (7).
+.MR bpf\-helpers 7 .
.IP
This capability was added in Linux 5.8 to separate out
BPF functionality from the overloaded
@@ -89,12 +89,12 @@ capability.
Update
.I /proc/sys/kernel/ns_last_pid
(see
-.BR pid_namespaces (7));
+.MR pid_namespaces 7 );
.IP \[bu]
employ the
.I set_tid
feature of
-.BR clone3 (2);
+.MR clone3 2 ;
.\" FIXME There is also some use case relating to
.\" prctl_set_mm_exe_file(); in the 5.9 sources, see
.\" prctl_set_mm_map().
@@ -112,7 +112,7 @@ capability.
.TP
.B CAP_CHOWN
Make arbitrary changes to file UIDs and GIDs (see
-.BR chown (2)).
+.MR chown 2 ).
.TP
.B CAP_DAC_OVERRIDE
Bypass file read, write, and execute permission checks.
@@ -126,10 +126,10 @@ Bypass file read permission checks and
directory read and execute permission checks;
.IP \[bu]
invoke
-.BR open_by_handle_at (2);
+.MR open_by_handle_at 2 ;
.IP \[bu]
use the
-.BR linkat (2)
+.MR linkat 2
.B AT_EMPTY_PATH
flag to create a link to a file referred to by a file descriptor.
.RE
@@ -142,15 +142,15 @@ flag to create a link to a file referred to by a file descriptor.
Bypass permission checks on operations that normally
require the filesystem UID of the process to match the UID of
the file (e.g.,
-.BR chmod (2),
-.BR utime (2)),
+.MR chmod 2 ,
+.MR utime 2 ),
excluding those operations covered by
.B CAP_DAC_OVERRIDE
and
.BR CAP_DAC_READ_SEARCH ;
.IP \[bu]
set inode flags (see
-.BR ioctl_iflags (2))
+.MR ioctl_iflags 2 )
on arbitrary files;
.IP \[bu]
set Access Control Lists (ACLs) on arbitrary files;
@@ -164,9 +164,9 @@ extended attributes on sticky directory owned by any user;
specify
.B O_NOATIME
for arbitrary files in
-.BR open (2)
+.MR open 2
and
-.BR fcntl (2).
+.MR fcntl 2 .
.RE
.PD
.TP
@@ -189,15 +189,17 @@ the filesystem or any of the supplementary GIDs of the calling process.
.RS
.IP \[bu] 3
Lock memory
-.RB ( mlock (2),
-.BR mlockall (2),
-.BR mmap (2),
-.BR shmctl (2));
+\%(\c
+.MR mlock 2 ,
+.MR mlockall 2 ,
+.MR mmap 2 ,
+.MR shmctl 2 );
.IP \[bu]
Allocate memory using huge pages
-.RB ( memfd_create (2),
-.BR mmap (2),
-.BR shmctl (2)).
+\%(\c
+.MR memfd_create 2 ,
+.MR mmap 2 ,
+.MR shmctl 2 ).
.RE
.PD
.TP
@@ -206,9 +208,9 @@ Bypass permission checks for operations on System V IPC objects.
.TP
.B CAP_KILL
Bypass permission checks for sending signals (see
-.BR kill (2)).
+.MR kill 2 ).
This includes use of the
-.BR ioctl (2)
+.MR ioctl 2
.B KDSIGACCEPT
operation.
.\" FIXME . CAP_KILL also has an effect for threads + setting child
@@ -219,7 +221,7 @@ operation.
.TP
.BR CAP_LEASE " (since Linux 2.4)"
Establish leases on arbitrary files (see
-.BR fcntl (2)).
+.MR fcntl 2 ).
.TP
.B CAP_LINUX_IMMUTABLE
Set the
@@ -227,7 +229,7 @@ Set the
and
.B FS_IMMUTABLE_FL
inode flags (see
-.BR ioctl_iflags (2)).
+.MR ioctl_iflags 2 ).
.TP
.BR CAP_MAC_ADMIN " (since Linux 2.6.25)"
Allow MAC configuration or state changes.
@@ -239,7 +241,7 @@ Implemented for the Smack LSM.
.TP
.BR CAP_MKNOD " (since Linux 2.4)"
Create special files using
-.BR mknod (2).
+.MR mknod 2 .
.TP
.B CAP_NET_ADMIN
Perform various network-related operations:
@@ -263,7 +265,7 @@ set promiscuous mode;
enabling multicasting;
.IP \[bu]
use
-.BR setsockopt (2)
+.MR setsockopt 2
to set the following socket options:
.BR SO_DEBUG ,
.BR SO_MARK ,
@@ -301,7 +303,7 @@ Employ various performance-monitoring mechanisms, including:
.IP \[bu] 3
.PD 0
call
-.BR perf_event_open (2);
+.MR perf_event_open 2 ;
.IP \[bu]
employ various BPF operations that have performance implications.
.RE
@@ -323,7 +325,7 @@ Make arbitrary manipulations of process GIDs and supplementary GID list;
forge GID when passing socket credentials via UNIX domain sockets;
.IP \[bu]
write a group ID mapping in a user namespace (see
-.BR user_namespaces (7)).
+.MR user_namespaces 7 ).
.PD
.RE
.TP
@@ -333,7 +335,7 @@ Set arbitrary capabilities on a file.
.\" commit db2e718a47984b9d71ed890eb2ea36ecf150de18
Since Linux 5.12, this capability is
also needed to map user ID 0 in a new user namespace; see
-.BR user_namespaces (7)
+.MR user_namespaces 7
for details.
.TP
.B CAP_SETPCAP
@@ -341,7 +343,7 @@ If file capabilities are supported (i.e., since Linux 2.6.24):
add any capability from the calling thread's bounding set
to its inheritable set;
drop capabilities from the bounding set (via
-.BR prctl (2)
+.MR prctl 2
.BR PR_CAPBSET_DROP );
make changes to the
.I securebits
@@ -362,15 +364,16 @@ has entirely different semantics for such kernels.)
.PD 0
.IP \[bu] 3
Make arbitrary manipulations of process UIDs
-.RB ( setuid (2),
-.BR setreuid (2),
-.BR setresuid (2),
-.BR setfsuid (2));
+\%(\c
+.MR setuid 2 ,
+.MR setreuid 2 ,
+.MR setresuid 2 ,
+.MR setfsuid 2 );
.IP \[bu]
forge UID when passing socket credentials via UNIX domain sockets;
.IP \[bu]
write a user ID mapping in a user namespace (see
-.BR user_namespaces (7)).
+.MR user_namespaces 7 ).
.PD
.RE
.\" FIXME CAP_SETUID also an effect in exec(); document this.
@@ -385,25 +388,25 @@ below.
.RS
.IP \[bu] 3
Perform a range of system administration operations including:
-.BR quotactl (2),
-.BR mount (2),
-.BR umount (2),
-.BR pivot_root (2),
-.BR swapon (2),
-.BR swapoff (2),
-.BR sethostname (2),
+.MR quotactl 2 ,
+.MR mount 2 ,
+.MR umount 2 ,
+.MR pivot_root 2 ,
+.MR swapon 2 ,
+.MR swapoff 2 ,
+.MR sethostname 2 ,
and
-.BR setdomainname (2);
+.MR setdomainname 2 ;
.IP \[bu]
perform privileged
-.BR syslog (2)
+.MR syslog 2
operations (since Linux 2.6.37,
.B CAP_SYSLOG
should be used to permit such operations);
.IP \[bu]
perform
.B VM86_REQUEST_IRQ
-.BR vm86 (2)
+.MR vm86 2
command;
.IP \[bu]
access the same checkpoint/restore functionality that is governed by
@@ -436,13 +439,13 @@ perform operations on
and
.I security
extended attributes (see
-.BR xattr (7));
+.MR xattr 7 );
.IP \[bu]
use
-.BR lookup_dcookie (2);
+.MR lookup_dcookie 2 ;
.IP \[bu]
use
-.BR ioprio_set (2)
+.MR ioprio_set 2
to assign
.B IOPRIO_CLASS_RT
and (before Linux 2.6.25)
@@ -455,17 +458,17 @@ exceed
.IR /proc/sys/fs/file\-max ,
the system-wide limit on the number of open files,
in system calls that open files (e.g.,
-.BR accept (2),
-.BR execve (2),
-.BR open (2),
-.BR pipe (2));
+.MR accept 2 ,
+.MR execve 2 ,
+.MR open 2 ,
+.MR pipe 2 );
.IP \[bu]
employ
.B CLONE_*
flags that create new namespaces with
-.BR clone (2)
+.MR clone 2
and
-.BR unshare (2)
+.MR unshare 2
(but, since Linux 3.8,
creating user namespaces does not require any capability);
.IP \[bu]
@@ -474,7 +477,7 @@ access privileged
event information;
.IP \[bu]
call
-.BR setns (2)
+.MR setns 2
(requires
.B CAP_SYS_ADMIN
in the
@@ -482,51 +485,51 @@ in the
namespace);
.IP \[bu]
call
-.BR fanotify_init (2);
+.MR fanotify_init 2 ;
.IP \[bu]
perform privileged
.B KEYCTL_CHOWN
and
.B KEYCTL_SETPERM
-.BR keyctl (2)
+.MR keyctl 2
operations;
.IP \[bu]
perform
-.BR madvise (2)
+.MR madvise 2
.B MADV_HWPOISON
operation;
.IP \[bu]
employ the
.B TIOCSTI
-.BR ioctl (2)
+.MR ioctl 2
to insert characters into the input queue of a terminal other than
the caller's controlling terminal;
.IP \[bu]
employ the obsolete
-.BR nfsservctl (2)
+.MR nfsservctl 2
system call;
.IP \[bu]
employ the obsolete
-.BR bdflush (2)
+.MR bdflush 2
system call;
.IP \[bu]
perform various privileged block-device
-.BR ioctl (2)
+.MR ioctl 2
operations;
.IP \[bu]
perform various privileged filesystem
-.BR ioctl (2)
+.MR ioctl 2
operations;
.IP \[bu]
perform privileged
-.BR ioctl (2)
+.MR ioctl 2
operations on the
.I /dev/random
device (see
-.BR random (4));
+.MR random 4 );
.IP \[bu]
install a
-.BR seccomp (2)
+.MR seccomp 2
filter without first having to set the
.I no_new_privs
thread attribute;
@@ -534,12 +537,12 @@ thread attribute;
modify allow/deny rules for device control groups;
.IP \[bu]
employ the
-.BR ptrace (2)
+.MR ptrace 2
.B PTRACE_SECCOMP_GET_FILTER
operation to dump tracee's seccomp filters;
.IP \[bu]
employ the
-.BR ptrace (2)
+.MR ptrace 2
.B PTRACE_SETOPTIONS
operation to suspend the tracee's seccomp protections (i.e., the
.B PTRACE_O_SUSPEND_SECCOMP
@@ -550,25 +553,25 @@ perform administrative operations on many device drivers;
modify autogroup nice values by writing to
.IR /proc/ pid /autogroup
(see
-.BR sched (7)).
+.MR sched 7 ).
.RE
.PD
.TP
.B CAP_SYS_BOOT
Use
-.BR reboot (2)
+.MR reboot 2
and
-.BR kexec_load (2).
+.MR kexec_load 2 .
.TP
.B CAP_SYS_CHROOT
.RS
.PD 0
.IP \[bu] 3
Use
-.BR chroot (2);
+.MR chroot 2 ;
.IP \[bu]
change mount namespaces using
-.BR setns (2).
+.MR setns 2 .
.PD
.RE
.TP
@@ -578,9 +581,9 @@ change mount namespaces using
.IP \[bu] 3
Load and unload kernel modules
(see
-.BR init_module (2)
+.MR init_module 2
and
-.BR delete_module (2));
+.MR delete_module 2 );
.IP \[bu]
before Linux 2.6.25:
drop capabilities from the system-wide capability bounding set.
@@ -592,24 +595,28 @@ drop capabilities from the system-wide capability bounding set.
.RS
.IP \[bu] 3
Lower the process nice value
-.RB ( nice (2),
-.BR setpriority (2))
+\%(\c
+.MR nice 2 ,
+.MR setpriority 2 )
and change the nice value for arbitrary processes;
.IP \[bu]
set real-time scheduling policies for calling process,
and set scheduling policies and priorities for arbitrary processes
-.RB ( sched_setscheduler (2),
-.BR sched_setparam (2),
-.BR sched_setattr (2));
+\%(\c
+.MR sched_setscheduler 2 ,
+.MR sched_setparam 2 ,
+.MR sched_setattr 2 );
.IP \[bu]
set CPU affinity for arbitrary processes
-.RB ( sched_setaffinity (2));
+\%(\c
+.MR sched_setaffinity 2 );
.IP \[bu]
set I/O scheduling class and priority for arbitrary processes
-.RB ( ioprio_set (2));
+\%(\c
+.MR ioprio_set 2 );
.IP \[bu]
apply
-.BR migrate_pages (2)
+.MR migrate_pages 2
to arbitrary processes and allow processes
to be migrated to arbitrary nodes;
.\" FIXME CAP_SYS_NICE also has the following effect for
@@ -620,40 +627,40 @@ to be migrated to arbitrary nodes;
.\" Document this.
.IP \[bu]
apply
-.BR move_pages (2)
+.MR move_pages 2
to arbitrary processes;
.IP \[bu]
use the
.B MPOL_MF_MOVE_ALL
flag with
-.BR mbind (2)
+.MR mbind 2
and
-.BR move_pages (2).
+.MR move_pages 2 .
.RE
.PD
.TP
.B CAP_SYS_PACCT
Use
-.BR acct (2).
+.MR acct 2 .
.TP
.B CAP_SYS_PTRACE
.PD 0
.RS
.IP \[bu] 3
Trace arbitrary processes using
-.BR ptrace (2);
+.MR ptrace 2 ;
.IP \[bu]
apply
-.BR get_robust_list (2)
+.MR get_robust_list 2
to arbitrary processes;
.IP \[bu]
transfer data to or from the memory of arbitrary processes using
-.BR process_vm_readv (2)
+.MR process_vm_readv 2
and
-.BR process_vm_writev (2);
+.MR process_vm_writev 2 ;
.IP \[bu]
inspect processes using
-.BR kcmp (2).
+.MR kcmp 2 .
.RE
.PD
.TP
@@ -664,18 +671,18 @@ inspect processes using
Perform I/O port operations
.RB ( iopl (2)
and
-.BR ioperm (2));
+.MR ioperm 2 );
.IP \[bu]
access
.IR /proc/kcore ;
.IP \[bu]
employ the
.B FIBMAP
-.BR ioctl (2)
+.MR ioctl 2
operation;
.IP \[bu]
open devices for accessing x86 model-specific registers (MSRs, see
-.BR msr (4));
+.MR msr 4 );
.IP \[bu]
update
.IR /proc/sys/vm/mmap_min_addr ;
@@ -694,9 +701,9 @@ and
perform various SCSI device commands;
.IP \[bu]
perform certain operations on
-.BR hpsa (4)
+.MR hpsa 4
and
-.BR cciss (4)
+.MR cciss 4
devices;
.IP \[bu]
perform a range of device-specific operations on other devices.
@@ -710,13 +717,13 @@ perform a range of device-specific operations on other devices.
Use reserved space on ext2 filesystems;
.IP \[bu]
make
-.BR ioctl (2)
+.MR ioctl 2
calls controlling ext3 journaling;
.IP \[bu]
override disk quota limits;
.IP \[bu]
increase resource limits (see
-.BR setrlimit (2));
+.MR setrlimit 2 );
.IP \[bu]
override
.B RLIMIT_NPROC
@@ -733,22 +740,22 @@ raise
limit for a System V message queue above the limit in
.I /proc/sys/kernel/msgmnb
(see
-.BR msgop (2)
+.MR msgop 2
and
-.BR msgctl (2));
+.MR msgctl 2 );
.IP \[bu]
allow the
.B RLIMIT_NOFILE
resource limit on the number of "in-flight" file descriptors
to be bypassed when passing file descriptors to another process
via a UNIX domain socket (see
-.BR unix (7));
+.MR unix 7 );
.IP \[bu]
override the
.I /proc/sys/fs/pipe\-size\-max
limit when setting the capacity of a pipe using the
.B F_SETPIPE_SZ
-.BR fcntl (2)
+.MR fcntl 2
command;
.IP \[bu]
use
@@ -762,10 +769,10 @@ override
and
.I /proc/sys/fs/mqueue/msgsize_max
limits when creating POSIX message queues (see
-.BR mq_overview (7));
+.MR mq_overview 7 );
.IP \[bu]
employ the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_MM
operation;
.IP \[bu]
@@ -778,16 +785,17 @@ to a value lower than the value last set by a process with
.TP
.B CAP_SYS_TIME
Set system clock
-.RB ( settimeofday (2),
-.BR stime (2),
-.BR adjtimex (2));
+\%(\c
+.MR settimeofday 2 ,
+.MR stime 2 ,
+.MR adjtimex 2 );
set real-time (hardware) clock.
.TP
.B CAP_SYS_TTY_CONFIG
Use
-.BR vhangup (2);
+.MR vhangup 2 ;
employ various privileged
-.BR ioctl (2)
+.MR ioctl 2
operations on virtual terminals.
.TP
.BR CAP_SYSLOG " (since Linux 2.6.37)"
@@ -795,10 +803,10 @@ operations on virtual terminals.
.PD 0
.IP \[bu] 3
Perform privileged
-.BR syslog (2)
+.MR syslog 2
operations.
See
-.BR syslog (2)
+.MR syslog 2
for information on which operations require privilege.
.IP \[bu]
View kernel addresses exposed via
@@ -809,7 +817,7 @@ has the value 1.
(See the discussion of the
.I kptr_restrict
in
-.BR proc (5).)
+.MR proc 5 .)
.PD
.RE
.TP
@@ -902,19 +910,19 @@ capability in its effective set.
.IP
If a thread drops a capability from its permitted set,
it can never reacquire that capability (unless it
-.BR execve (2)s
+.MR execve 2 s
either a set-user-ID-root program, or
a program whose associated file capabilities grant that capability).
.TP
.I Inheritable
This is a set of capabilities preserved across an
-.BR execve (2).
+.MR execve 2 .
Inheritable capabilities remain inheritable when executing any program,
and inheritable capabilities are added to the permitted set when executing
a program that has the corresponding bits set in the file inheritable set.
.IP
Because inheritable capabilities are not generally preserved across
-.BR execve (2)
+.MR execve 2
when running as a non-root user, applications that wish to run helper
programs with elevated capabilities should consider using
ambient capabilities, described below.
@@ -926,7 +934,7 @@ perform permission checks for the thread.
.IR Bounding " (per-thread since Linux 2.6.25)"
The capability bounding set is a mechanism that can be used
to limit the capabilities that are gained during
-.BR execve (2).
+.MR execve 2 .
.IP
Since Linux 2.6.25, this is a per-thread capability set.
In older kernels, the capability bounding set was a system wide attribute
@@ -939,13 +947,13 @@ below.
.IR Ambient " (since Linux 4.3)"
.\" commit 58319057b7847667f0c9585b9de0e8932b0fdb08
This is a set of capabilities that are preserved across an
-.BR execve (2)
+.MR execve 2
of a program that is not privileged.
The ambient capability set obeys the invariant that no capability
can ever be ambient if it is not both permitted and inheritable.
.IP
The ambient capability set can be directly modified using
-.BR prctl (2).
+.MR prctl 2 .
Ambient capabilities are automatically lowered if either of
the corresponding permitted or inheritable capabilities is lowered.
.IP
@@ -954,25 +962,25 @@ set-user-ID or set-group-ID bits or executing a program that has
any file capabilities set will clear the ambient set.
Ambient capabilities are added to the permitted set and
assigned to the effective set when
-.BR execve (2)
+.MR execve 2
is called.
If ambient capabilities cause a process's permitted and effective
capabilities to increase during an
-.BR execve (2),
+.MR execve 2 ,
this does not trigger the secure-execution mode described in
-.BR ld.so (8).
+.MR ld.so 8 .
.P
A child created via
-.BR fork (2)
+.MR fork 2
inherits copies of its parent's capability sets.
For details on how
-.BR execve (2)
+.MR execve 2
affects capabilities, see
.I Transformation of capabilities during execve()
below.
.P
Using
-.BR capset (2),
+.MR capset 2 ,
a thread may manipulate its own capability sets; see
.I Programmatically adjusting capability sets
below.
@@ -988,11 +996,11 @@ that may be set in a capability set.
.SS File capabilities
Since Linux 2.6.24, the kernel supports
associating capability sets with an executable file using
-.BR setcap (8).
+.MR setcap 8 .
The file capability sets are stored in an extended attribute (see
-.BR setxattr (2)
+.MR setxattr 2
and
-.BR xattr (7))
+.MR xattr 7 )
named
.IR "security.capability" .
Writing to this extended attribute requires the
@@ -1001,7 +1009,7 @@ capability.
The file capability sets,
in conjunction with the capability sets of the thread,
determine the capabilities of a thread after an
-.BR execve (2).
+.MR execve 2 .
.P
The three file capability sets are:
.TP
@@ -1013,30 +1021,31 @@ regardless of the thread's inheritable capabilities.
This set is ANDed with the thread's inheritable set to determine which
inheritable capabilities are enabled in the permitted set of
the thread after the
-.BR execve (2).
+.MR execve 2 .
.TP
.IR Effective :
This is not a set, but rather just a single bit.
If this bit is set, then during an
-.BR execve (2)
+.MR execve 2
all of the new permitted capabilities for the thread are
also raised in the effective set.
If this bit is not set, then after an
-.BR execve (2),
+.MR execve 2 ,
none of the new permitted capabilities is in the new effective set.
.IP
Enabling the file effective capability bit implies
that any file permitted or inheritable capability that causes a
thread to acquire the corresponding permitted capability during an
-.BR execve (2)
+.MR execve 2
(see
.I Transformation of capabilities during execve()
below) will also acquire that
capability in its effective set.
Therefore, when assigning capabilities to a file
-.RB ( setcap (8),
-.BR cap_set_file (3),
-.BR cap_set_fd (3)),
+\%(\c
+.MR setcap 8 ,
+.MR cap_set_file 3 ,
+.MR cap_set_fd 3 ),
if we specify the effective flag as being enabled for any capability,
then the effective flag must also be specified as enabled
for all other capabilities for which the corresponding permitted or
@@ -1137,7 +1146,8 @@ Note that the creation of a version 3
.I security.capability
extended attribute is automatic.
That is to say, when a user-space application writes
-.RB ( setxattr (2))
+\%(\c
+.MR setxattr 2 )
a
.I security.capability
attribute in the version 2 format,
@@ -1146,7 +1156,8 @@ if the attribute is created in the circumstances described above.
Correspondingly, when a version 3
.I security.capability
attribute is retrieved
-.RB ( getxattr (2))
+\%(\c
+.MR getxattr 2 )
by a process that resides inside a user namespace that was created by the
root user ID (or a descendant of that user namespace),
the returned attribute is (automatically)
@@ -1155,9 +1166,9 @@ simplified to appear as a version 2 attribute
not include the root user ID).
These automatic translations mean that no changes are required to
user-space tools (e.g.,
-.BR setcap (1)
+.MR setcap 1
and
-.BR getcap (1))
+.MR getcap 1 )
in order for those tools to be used to create and retrieve version 3
.I security.capability
attributes.
@@ -1173,7 +1184,7 @@ created or modified.
.\"
.SS Transformation of capabilities during execve()
During an
-.BR execve (2),
+.MR execve 2 ,
the kernel calculates the new capabilities of
the process using the following algorithm:
.P
@@ -1197,11 +1208,11 @@ where:
.TP
P()
denotes the value of a thread capability set before the
-.BR execve (2)
+.MR execve 2
.TP
P'()
denotes the value of a thread capability set after the
-.BR execve (2)
+.MR execve 2
.TP
F()
denotes a file capability set
@@ -1212,14 +1223,14 @@ transformation rules:
.IP \[bu] 3
The ambient capability set is present only since Linux 4.3.
When determining the transformation of the ambient set during
-.BR execve (2),
+.MR execve 2 ,
a privileged file is one that has capabilities or
has the set-user-ID or set-group-ID bit set.
.IP \[bu]
Prior to Linux 2.6.25,
the bounding set was a system-wide attribute shared by all threads.
That system-wide value was employed to calculate the new permitted set during
-.BR execve (2)
+.MR execve 2
in the same manner as shown above for
.IR P(bounding) .
.P
@@ -1227,7 +1238,7 @@ in the same manner as shown above for
during the capability transitions described above,
file capabilities may be ignored (treated as empty) for the same reasons
that the set-user-ID and set-group-ID bits are ignored; see
-.BR execve (2).
+.MR execve 2 .
File capabilities are similarly ignored if the kernel was booted with the
.I no_file_caps
option.
@@ -1235,12 +1246,12 @@ option.
.IR Note :
according to the rules above,
if a process with nonzero user IDs performs an
-.BR execve (2)
+.MR execve 2
then any capabilities that are present in
its permitted and effective sets will be cleared.
For the treatment of capabilities when a process with a
user ID of zero performs an
-.BR execve (2),
+.MR execve 2 ,
see
.I Capabilities and execution of programs by root
below.
@@ -1248,7 +1259,7 @@ below.
.SS Safety checking for capability-dumb binaries
A capability-dumb binary is an application that has been
marked to have file capabilities, but has not been converted to use the
-.BR libcap (3)
+.MR libcap 3
API to manipulate its capabilities.
(In other words, this is a traditional set-user-ID-root program
that has been switched to use file capabilities,
@@ -1270,7 +1281,7 @@ occur is that the capability bounding set masked out some
of the capabilities in the file permitted set.)
If the process did not obtain the full set of
file permitted capabilities, then
-.BR execve (2)
+.MR execve 2
fails with the error
.BR EPERM .
This prevents possible security risks that could arise when
@@ -1278,7 +1289,7 @@ a capability-dumb application is executed with less privilege than it needs.
Note that, by definition,
the application could not itself recognize this problem,
since it does not employ the
-.BR libcap (3)
+.MR libcap 3
API.
.\"
.SS Capabilities and execution of programs by root
@@ -1310,13 +1321,13 @@ then the file effective bit is notionally defined to be one (enabled).
These notional values for the file's capability sets are then used
as described above to calculate the transformation of the process's
capabilities during
-.BR execve (2).
+.MR execve 2 .
.P
Thus, when a process with nonzero UIDs
-.BR execve (2)s
+.MR execve 2 s
a set-user-ID-root program that does not have capabilities attached,
or when a process whose real and effective UIDs are zero
-.BR execve (2)s
+.MR execve 2 s
a program, the calculation of the process's new
permitted capabilities simplifies to:
.P
@@ -1368,11 +1379,11 @@ but confers no capabilities to that process.
.SS Capability bounding set
The capability bounding set is a security mechanism that can be used
to limit the capabilities that can be gained during an
-.BR execve (2).
+.MR execve 2 .
The bounding set is used in the following ways:
.IP \[bu] 3
During an
-.BR execve (2),
+.MR execve 2 ,
the capability bounding set is ANDed with the file permitted
capability set, and the result of this operation is assigned to the
thread's permitted capability set.
@@ -1382,13 +1393,13 @@ capabilities that may be granted by an executable file.
(Since Linux 2.6.25)
The capability bounding set acts as a limiting superset for
the capabilities that a thread can add to its inheritable set using
-.BR capset (2).
+.MR capset 2 .
This means that if a capability is not in the bounding set,
then a thread can't add this capability to its
inheritable set, even if it was in its permitted capabilities,
and thereby cannot have this capability preserved in its
permitted set when it
-.BR execve (2)s
+.MR execve 2 s
a file that has the capability in its inheritable set.
.P
Note that the bounding set masks the file permitted capabilities,
@@ -1409,12 +1420,12 @@ is a per-thread attribute.
(The system-wide capability bounding set described below no longer exists.)
.P
The bounding set is inherited at
-.BR fork (2)
+.MR fork 2
from the thread's parent, and is preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
A thread may remove capabilities from its capability bounding set using the
-.BR prctl (2)
+.MR prctl 2
.B PR_CAPBSET_DROP
operation, provided it has the
.B CAP_SETPCAP
@@ -1422,7 +1433,7 @@ capability.
Once a capability has been dropped from the bounding set,
it cannot be restored to that set.
A thread can determine if a capability is in its bounding set using the
-.BR prctl (2)
+.MR prctl 2
.B PR_CAPBSET_READ
operation.
.P
@@ -1488,8 +1499,8 @@ To preserve the traditional semantics for transitions between
the kernel makes the following changes to a thread's capability
sets on changes to the thread's real, effective, saved set,
and filesystem user IDs (using
-.BR setuid (2),
-.BR setresuid (2),
+.MR setuid 2 ,
+.MR setresuid 2 ,
or similar):
.IP \[bu] 3
If one or more of the real, effective, or saved set user IDs
@@ -1505,7 +1516,7 @@ If the effective user ID is changed from nonzero to 0,
then the permitted set is copied to the effective set.
.IP \[bu]
If the filesystem user ID is changed from 0 to nonzero (see
-.BR setfsuid (2)),
+.MR setfsuid 2 ),
then the following capabilities are cleared from the effective set:
.BR CAP_CHOWN ,
.BR CAP_DAC_OVERRIDE ,
@@ -1531,14 +1542,14 @@ securebits flag described below.
.SS Programmatically adjusting capability sets
A thread can retrieve and change its permitted, effective, and inheritable
capability sets using the
-.BR capget (2)
+.MR capget 2
and
-.BR capset (2)
+.MR capset 2
system calls.
However, the use of
-.BR cap_get_proc (3)
+.MR cap_get_proc 3
and
-.BR cap_set_proc (3),
+.MR cap_set_proc 3 ,
both provided in the
.I libcap
package,
@@ -1579,7 +1590,7 @@ when it switches all of its UIDs to nonzero values.
If this flag is not set,
then such a UID switch causes the thread to lose all permitted capabilities.
This flag is always cleared on an
-.BR execve (2).
+.MR execve 2 .
.IP
Note that even with the
.B SECBIT_KEEP_CAPS
@@ -1598,7 +1609,7 @@ flag is set.
(The latter flag provides a superset of the effect of the former flag.)
.IP
This flag provides the same functionality as the older
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_KEEPCAPS
operation.
.TP
@@ -1615,14 +1626,14 @@ above.
If this bit is set, then the kernel does not grant capabilities
when a set-user-ID-root program is executed, or when a process with
an effective or real UID of 0 calls
-.BR execve (2).
+.MR execve 2 .
(See
.I Capabilities and execution of programs by root
above.)
.TP
.B SECBIT_NO_CAP_AMBIENT_RAISE
Setting this flag disallows raising ambient capabilities via the
-.BR prctl (2)
+.MR prctl 2
.B PR_CAP_AMBIENT_RAISE
operation.
.P
@@ -1640,7 +1651,7 @@ and
The
.I securebits
flags can be modified and retrieved using the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_SECUREBITS
and
.B PR_GET_SECUREBITS
@@ -1658,7 +1669,7 @@ The
.I securebits
flags are inherited by child processes.
During an
-.BR execve (2),
+.MR execve 2 ,
all of the flags are preserved, except
.B SECBIT_KEEP_CAPS
which is always cleared.
@@ -1691,7 +1702,7 @@ when executed by any process inside that namespace
or any descendant user namespace.
.P
The rules about the transformation of the process's capabilities during the
-.BR execve (2)
+.MR execve 2
are exactly as described in
.I Transformation of capabilities during execve()
and
@@ -1755,7 +1766,7 @@ or when executed by a process that resides in a descendant of such a namespace.
.SS Interaction with user namespaces
For further information on the interaction of
capabilities and user namespaces, see
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.SH STANDARDS
No standards govern capabilities, but the Linux capability implementation
is based on the withdrawn
@@ -1764,7 +1775,7 @@ POSIX.1e draft standard
.UE .
.SH NOTES
When attempting to
-.BR strace (1)
+.MR strace 1
binaries that have capabilities (or set-user-ID-root binaries),
you may find the
.I \-u <username>
@@ -1804,13 +1815,13 @@ The
package provides a suite of routines for setting and
getting capabilities that is more comfortable and less likely
to change than the interface provided by
-.BR capset (2)
+.MR capset 2
and
-.BR capget (2).
+.MR capget 2 .
This package also provides the
-.BR setcap (8)
+.MR setcap 8
and
-.BR getcap (8)
+.MR getcap 8
programs.
It can be found at
.br
@@ -1843,30 +1854,30 @@ capability removed from its per-process bounding
set, and that bounding set is inherited by all other processes
created on the system.
.SH SEE ALSO
-.BR capsh (1),
-.BR setpriv (1),
-.BR prctl (2),
-.BR setfsuid (2),
-.BR cap_clear (3),
-.BR cap_copy_ext (3),
-.BR cap_from_text (3),
-.BR cap_get_file (3),
-.BR cap_get_proc (3),
-.BR cap_init (3),
-.BR capgetp (3),
-.BR capsetp (3),
-.BR libcap (3),
-.BR proc (5),
-.BR credentials (7),
-.BR pthreads (7),
-.BR user_namespaces (7),
+.MR capsh 1 ,
+.MR setpriv 1 ,
+.MR prctl 2 ,
+.MR setfsuid 2 ,
+.MR cap_clear 3 ,
+.MR cap_copy_ext 3 ,
+.MR cap_from_text 3 ,
+.MR cap_get_file 3 ,
+.MR cap_get_proc 3 ,
+.MR cap_init 3 ,
+.MR capgetp 3 ,
+.MR capsetp 3 ,
+.MR libcap 3 ,
+.MR proc 5 ,
+.MR credentials 7 ,
+.MR pthreads 7 ,
+.MR user_namespaces 7 ,
.BR captest (8), \" from libcap-ng
.BR filecap (8), \" from libcap-ng
-.BR getcap (8),
-.BR getpcaps (8),
+.MR getcap 8 ,
+.MR getpcaps 8 ,
.BR netcap (8), \" from libcap-ng
.BR pscap (8), \" from libcap-ng
-.BR setcap (8)
+.MR setcap 8
.P
.I include/linux/capability.h
in the Linux kernel source tree
diff --git a/man7/cgroup_namespaces.7 b/man7/cgroup_namespaces.7
index 10f16c666..c3671a873 100644
--- a/man7/cgroup_namespaces.7
+++ b/man7/cgroup_namespaces.7
@@ -8,10 +8,10 @@
cgroup_namespaces \- overview of Linux cgroup namespaces
.SH DESCRIPTION
For an overview of namespaces, see
-.BR namespaces (7).
+.MR namespaces 7 .
.P
Cgroup namespaces virtualize the view of a process's cgroups (see
-.BR cgroups (7))
+.MR cgroups 7 )
as seen via
.IR /proc/ pid /cgroup
and
@@ -23,9 +23,9 @@ locations displayed in the corresponding records in the
.IR /proc/ pid /cgroup
file.
When a process creates a new cgroup namespace using
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWCGROUP
flag, its current
@@ -79,7 +79,7 @@ hierarchy and put the shell into that cgroup:
.in
.P
Next, we use
-.BR unshare (1)
+.MR unshare 1
to create a process running a new shell in new cgroup and mount namespaces:
.P
.in +4n
@@ -89,7 +89,7 @@ to create a process running a new shell in new cgroup and mount namespaces:
.in
.P
From the new shell started by
-.BR unshare (1),
+.MR unshare 1 ,
we then inspect the
.IR /proc/ pid /cgroup
files of, respectively, the new shell,
@@ -203,9 +203,9 @@ that is namespaced under the cgroup
(i.e.,
.I X
was placed in a new cgroup namespace via
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWCGROUP
flag).
@@ -237,12 +237,12 @@ this prevents process
.I X
from escaping the limits imposed by ancestor cgroups.
.SH SEE ALSO
-.BR unshare (1),
-.BR clone (2),
-.BR setns (2),
-.BR unshare (2),
-.BR proc (5),
-.BR cgroups (7),
-.BR credentials (7),
-.BR namespaces (7),
-.BR user_namespaces (7)
+.MR unshare 1 ,
+.MR clone 2 ,
+.MR setns 2 ,
+.MR unshare 2 ,
+.MR proc 5 ,
+.MR cgroups 7 ,
+.MR credentials 7 ,
+.MR namespaces 7 ,
+.MR user_namespaces 7
diff --git a/man7/cgroups.7 b/man7/cgroups.7
index c4b0c6b4a..0b45973d8 100644
--- a/man7/cgroups.7
+++ b/man7/cgroups.7
@@ -146,7 +146,7 @@ configuration option that must be set in order to employ that controller.
In order to use a v1 controller,
it must be mounted against a cgroup filesystem.
The usual place for such mounts is under a
-.BR tmpfs (5)
+.MR tmpfs 5
filesystem mounted at
.IR /sys/fs/cgroup .
Thus, one might mount the
@@ -210,12 +210,12 @@ providing a view of the same hierarchy.
Note that on many systems, the v1 controllers are automatically mounted under
.IR /sys/fs/cgroup ;
in particular,
-.BR systemd (1)
+.MR systemd 1
automatically creates such mounts.
.\"
.SS Unmounting v1 controllers
A mounted cgroup filesystem can be unmounted using the
-.BR umount (8)
+.MR umount 8
command, as in the following example:
.P
.in +4n
@@ -228,7 +228,7 @@ umount /sys/fs/cgroup/pids
a cgroup filesystem is unmounted only if it is not busy,
that is, it has no child cgroups.
If this is not the case, then the only effect of the
-.BR umount (8)
+.MR umount 8
is to make the mount invisible.
Thus, to ensure that the mount is really removed,
one must first remove all child cgroups,
@@ -330,7 +330,7 @@ This places a classid, specified for the cgroup, on network packets
created by a cgroup.
These classids can then be used in firewall rules,
as well as used to shape traffic using
-.BR tc (8).
+.MR tc 8 .
This applies only to packets
leaving the cgroup, not to traffic arriving at the cgroup.
.IP
@@ -455,9 +455,9 @@ Nor is it guaranteed to be free of duplicates.
In cgroups v1, an individual thread can be moved to
another cgroup by writing its thread ID
(i.e., the kernel thread ID returned by
-.BR clone (2)
+.MR clone 2
and
-.BR gettid (2))
+.MR gettid 2 )
to the
.I tasks
file in a cgroup directory.
@@ -540,7 +540,7 @@ The only purpose of such hierarchies is to track processes.
An example of this is the
.I name=systemd
cgroup hierarchy that is used by
-.BR systemd (1)
+.MR systemd 1
to track services and user sessions.
.P
Since Linux 5.0, the
@@ -623,7 +623,7 @@ the same controller against both a v1 hierarchy and the unified v2 hierarchy.
This means that it may be necessary first to unmount a v1 controller
(as described above) before that controller is available in v2.
Since
-.BR systemd (1)
+.MR systemd 1
makes heavy use of some v1 controllers by default,
it can in some cases be simpler to boot the system with
selected v1 controllers disabled.
@@ -636,11 +636,11 @@ or the word
.I all
to disable all v1 controllers.
(This situation is correctly handled by
-.BR systemd (1),
+.MR systemd 1 ,
which falls back to operating without the specified controllers.)
.P
Note that on many modern systems,
-.BR systemd (1)
+.MR systemd 1
automatically mounts the
.I cgroup2
filesystem at
@@ -733,7 +733,7 @@ and
.I net_prio
controllers from cgroups version 1.
Instead, support has been added to
-.BR iptables (8)
+.MR iptables 8
to allow eBPF filters that hook on cgroup v2 pathnames to make decisions
about network traffic on a per-cgroup basis.
.P
@@ -885,11 +885,11 @@ The
file can be monitored, in order to receive notification when the value of
one of its keys changes.
Such monitoring can be done using
-.BR inotify (7),
+.MR inotify 7 ,
which notifies changes as
.B IN_MODIFY
events, or
-.BR poll (2),
+.MR poll 2 ,
which notifies changes by returning the
.B POLLPRI
and
@@ -1176,7 +1176,7 @@ in other mount namespaces, the option is silently ignored.
.P
.IR Note :
On some systems,
-.BR systemd (1)
+.MR systemd 1
automatically mounts the cgroup v2 filesystem.
In order to experiment with the
.I nsdelegate
@@ -1192,7 +1192,7 @@ cgroup_no_v1=all systemd.legacy_systemd_cgroup_controller
These options cause the kernel to boot with the cgroups v1 controllers
disabled (meaning that the controllers are available in the v2 hierarchy),
and tells
-.BR systemd (1)
+.MR systemd 1
not to mount and use the cgroup v2 hierarchy,
so that the v2 hierarchy can be manually mounted
with the desired options after boot-up.
@@ -1487,7 +1487,7 @@ in the process members of the corresponding cgroup
and makes the process a member of the threaded subtree.
The threads of the process can then be spread across
the threaded subtree by writing their thread IDs (see
-.BR gettid (2))
+.MR gettid 2 )
to the
.I cgroup.threads
files in different cgroups inside the subtree.
@@ -1700,13 +1700,13 @@ controller does not support control of realtime threads
described
.BR SCHED_DEADLINE ;
see
-.BR sched (7)).
+.MR sched 7 ).
Therefore, the
.I cpu
controller can be enabled in the root cgroup only
if all realtime threads are in the root cgroup.
(If there are realtime threads in nonroot cgroups, then a
-.BR write (2)
+.MR write 2
of the string
.I """+cpu"""
to the
@@ -1715,7 +1715,7 @@ file fails with the error
.BR EINVAL .)
.P
On some systems,
-.BR systemd (1)
+.MR systemd 1
places certain realtime threads in nonroot cgroups in the v2 hierarchy.
On such systems,
these threads must first be moved to the root cgroup before the
@@ -1724,7 +1724,7 @@ controller can be enabled.
.\"
.SH ERRORS
The following errors can occur for
-.BR mount (2):
+.MR mount 2 :
.TP
.B EBUSY
An attempt to mount a cgroup version 1 filesystem specified neither the
@@ -1733,13 +1733,13 @@ option (to mount a named hierarchy) nor a controller name (or
.IR all ).
.SH NOTES
A child process created via
-.BR fork (2)
+.MR fork 2
inherits its parent's cgroup memberships.
A process's cgroup memberships are preserved across
-.BR execve (2).
+.MR execve 2 .
.P
The
-.BR clone3 (2)
+.MR clone3 2
.B CLONE_INTO_CGROUP
flag can be used to create a child process that begins its life in
a different version 2 cgroup from the parent process.
@@ -1896,19 +1896,19 @@ The kernel supports the
mount option.
.RE
.SH SEE ALSO
-.BR prlimit (1),
-.BR systemd (1),
-.BR systemd\-cgls (1),
-.BR systemd\-cgtop (1),
-.BR clone (2),
-.BR ioprio_set (2),
-.BR perf_event_open (2),
-.BR setrlimit (2),
-.BR cgroup_namespaces (7),
-.BR cpuset (7),
-.BR namespaces (7),
-.BR sched (7),
-.BR user_namespaces (7)
+.MR prlimit 1 ,
+.MR systemd 1 ,
+.MR systemd\-cgls 1 ,
+.MR systemd\-cgtop 1 ,
+.MR clone 2 ,
+.MR ioprio_set 2 ,
+.MR perf_event_open 2 ,
+.MR setrlimit 2 ,
+.MR cgroup_namespaces 7 ,
+.MR cpuset 7 ,
+.MR namespaces 7 ,
+.MR sched 7 ,
+.MR user_namespaces 7
.P
The kernel source file
.IR Documentation/admin\-guide/cgroup\-v2.rst .
diff --git a/man7/charsets.7 b/man7/charsets.7
index 241ba526a..139c5b23b 100644
--- a/man7/charsets.7
+++ b/man7/charsets.7
@@ -53,7 +53,7 @@ The ISO 8859-1 characters are also the first 256 characters of Unicode.
.P
Console support for the other 8859 character sets is available under
Linux through user-mode utilities (such as
-.BR setfont (8))
+.MR setfont 8 )
that modify keyboard bindings and the EGA graphics
table and employ the "user mapping" font table in the console
driver.
@@ -199,7 +199,7 @@ The ISO 2022 and 4873 standards describe a font-control model
based on VT100 practice.
This model is (partially) supported
by the Linux kernel and by
-.BR xterm (1).
+.MR xterm 1 .
Several ISO 2022-based character encodings have been defined,
especially for Japanese.
.P
@@ -328,8 +328,8 @@ set with 512 different symbols.
This is not enough for Japanese, Chinese, and
Korean, but it is enough for most other purposes.
.SH SEE ALSO
-.BR iconv (1),
-.BR ascii (7),
-.BR iso_8859\-1 (7),
-.BR unicode (7),
-.BR utf\-8 (7)
+.MR iconv 1 ,
+.MR ascii 7 ,
+.MR iso_8859\-1 7 ,
+.MR unicode 7 ,
+.MR utf\-8 7
diff --git a/man7/complex.7 b/man7/complex.7
index fa8cb2631..0b967eb1c 100644
--- a/man7/complex.7
+++ b/man7/complex.7
@@ -55,29 +55,29 @@ main(void)
}
.EE
.SH SEE ALSO
-.BR cabs (3),
-.BR cacos (3),
-.BR cacosh (3),
-.BR carg (3),
-.BR casin (3),
-.BR casinh (3),
-.BR catan (3),
-.BR catanh (3),
-.BR ccos (3),
-.BR ccosh (3),
-.BR cerf (3),
-.BR cexp (3),
-.BR cexp2 (3),
-.BR cimag (3),
-.BR clog (3),
-.BR clog10 (3),
-.BR clog2 (3),
-.BR conj (3),
-.BR cpow (3),
-.BR cproj (3),
-.BR creal (3),
-.BR csin (3),
-.BR csinh (3),
-.BR csqrt (3),
-.BR ctan (3),
-.BR ctanh (3)
+.MR cabs 3 ,
+.MR cacos 3 ,
+.MR cacosh 3 ,
+.MR carg 3 ,
+.MR casin 3 ,
+.MR casinh 3 ,
+.MR catan 3 ,
+.MR catanh 3 ,
+.MR ccos 3 ,
+.MR ccosh 3 ,
+.MR cerf 3 ,
+.MR cexp 3 ,
+.MR cexp2 3 ,
+.MR cimag 3 ,
+.MR clog 3 ,
+.MR clog10 3 ,
+.MR clog2 3 ,
+.MR conj 3 ,
+.MR cpow 3 ,
+.MR cproj 3 ,
+.MR creal 3 ,
+.MR csin 3 ,
+.MR csinh 3 ,
+.MR csqrt 3 ,
+.MR ctan 3 ,
+.MR ctanh 3
diff --git a/man7/cp1251.7 b/man7/cp1251.7
index 4535674a9..cc579c4e9 100644
--- a/man7/cp1251.7
+++ b/man7/cp1251.7
@@ -15,7 +15,7 @@ characters used in Cyrillic scripts.
.SS CP\ 1251 characters
The following table displays the characters in CP\ 1251 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -157,10 +157,10 @@ T}
.SH NOTES
CP\ 1251 is also known as Windows Cyrillic.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR cp1252 (7),
-.BR iso_8859\-5 (7),
-.BR koi8\-r (7),
-.BR koi8\-u (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR cp1252 7 ,
+.MR iso_8859\-5 7 ,
+.MR koi8\-r 7 ,
+.MR koi8\-u 7 ,
+.MR utf\-8 7
diff --git a/man7/cp1252.7 b/man7/cp1252.7
index cb1b2df5b..12149f594 100644
--- a/man7/cp1252.7
+++ b/man7/cp1252.7
@@ -15,7 +15,7 @@ characters used in many West European languages.
.SS CP\ 1252 characters
The following table displays the characters in CP\ 1252 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -148,9 +148,9 @@ _
.SH NOTES
CP\ 1252 is also known as Windows-1252.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR cp1251 (7),
-.BR iso_8859\-1 (7),
-.BR iso_8859\-15 (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR cp1251 7 ,
+.MR iso_8859\-1 7 ,
+.MR iso_8859\-15 7 ,
+.MR utf\-8 7
diff --git a/man7/cpuset.7 b/man7/cpuset.7
index 7ae130ebb..701f4d798 100644
--- a/man7/cpuset.7
+++ b/man7/cpuset.7
@@ -58,7 +58,7 @@ A process is confined to run only on the CPUs in
the cpuset it belongs to, and to allocate memory only
on the memory nodes in that cpuset.
When a process
-.BR fork (2)s,
+.MR fork 2 s,
the child process is placed in the same cpuset as its parent.
With sufficient privilege, a process may be moved from one
cpuset to another and the allowed CPUs and memory nodes
@@ -73,11 +73,11 @@ under the control of the system administrator,
and processes may be placed in these other cpusets.
.P
Cpusets are integrated with the
-.BR sched_setaffinity (2)
+.MR sched_setaffinity 2
scheduling affinity mechanism and the
-.BR mbind (2)
+.MR mbind 2
and
-.BR set_mempolicy (2)
+.MR set_mempolicy 2
memory-placement mechanisms in the kernel.
Neither of these mechanisms let a process make use
of a CPU or memory node that is not allowed by that process's cpuset.
@@ -106,9 +106,9 @@ represents a cpuset and contains a fixed set of pseudo-files
describing the state of that cpuset.
.P
New cpusets are created using the
-.BR mkdir (2)
+.MR mkdir 2
system call or the
-.BR mkdir (1)
+.MR mkdir 1
command.
The properties of a cpuset, such as its flags, allowed
CPUs and memory nodes, and attached processes, are queried and modified
@@ -117,31 +117,31 @@ as listed below.
.P
The pseudo-files in each cpuset directory are automatically created when
the cpuset is created, as a result of the
-.BR mkdir (2)
+.MR mkdir 2
invocation.
It is not possible to directly add or remove these pseudo-files.
.P
A cpuset directory that contains no child cpuset directories,
and has no attached processes, can be removed using
-.BR rmdir (2)
+.MR rmdir 2
or
-.BR rmdir (1).
+.MR rmdir 1 .
It is not necessary, or possible,
to remove the pseudo-files inside the directory before removing it.
.P
The pseudo-files in each cpuset directory are
small text files that may be read and
written using traditional shell utilities such as
-.BR cat (1),
+.MR cat 1 ,
and
-.BR echo (1),
+.MR echo 1 ,
or from a program by using file I/O library functions or system calls,
such as
-.BR open (2),
-.BR read (2),
-.BR write (2),
+.MR open 2 ,
+.MR read 2 ,
+.MR write 2 ,
and
-.BR close (2).
+.MR close 2 .
.P
The pseudo-files in a cpuset directory represent internal kernel
state and do not have any persistent image on disk.
@@ -586,7 +586,7 @@ put those pages on the node where the process is running.
.P
The setting of these flags does not affect the data segment
(see
-.BR brk (2))
+.MR brk 2 )
or stack segment pages of a process.
.P
By default, both kinds of memory spreading are off and the kernel
@@ -605,9 +605,9 @@ slab caches to ignore the process's NUMA memory policy and be spread
instead.
However, the effect of these changes in memory placement
caused by cpuset-specified memory spreading is hidden from the
-.BR mbind (2)
+.MR mbind 2
or
-.BR set_mempolicy (2)
+.MR set_mempolicy 2
calls.
These two NUMA memory policy calls always appear to behave as if
no cpuset-specified memory spreading is in effect, even if it is.
@@ -678,7 +678,7 @@ If one CPU is underutilized,
the kernel will look for processes on other more
overloaded CPUs and move those processes to the underutilized CPU,
within the constraints of such placement mechanisms as cpusets and
-.BR sched_setaffinity (2).
+.MR sched_setaffinity 2 .
.P
The algorithmic cost of load balancing and its impact on key shared
kernel data structures such as the process list increases more than
@@ -721,7 +721,7 @@ it requests load balancing across
all the CPUs in that cpuset's allowed CPUs,
ensuring that load balancing can move a process (not otherwise pinned,
as by
-.BR sched_setaffinity (2))
+.MR sched_setaffinity 2 )
from any CPU in that cpuset to any other.
.P
When the per-cpuset flag
@@ -767,7 +767,7 @@ balancing works to ensure that as many CPUs as possible are usefully
employed running tasks.
The kernel also performs periodic load
balancing off the software clock described in
-.BR time (7).
+.MR time 7 .
The setting of
.I sched_relax_domain_level
applies only to immediate load balancing.
@@ -778,7 +778,7 @@ setting, periodic load balancing is attempted over all CPUs
.IR sched_load_balance .)
In any case, of course, tasks will be scheduled to run only on
CPUs allowed by their cpuset, as modified by
-.BR sched_setaffinity (2)
+.MR sched_setaffinity 2
system calls.
.P
On small systems, such as those with just a few CPUs, immediate load
@@ -955,7 +955,7 @@ other process in a cpuset.
One process may not attach another to
a cpuset unless it would have permission to send that process
a signal (see
-.BR kill (2)).
+.MR kill 2 ).
.P
A process may create a child cpuset if it can access and write the
parent cpuset directory.
@@ -982,7 +982,7 @@ if either the process's current working directory is its cpuset
(it first did a
.B cd
or
-.BR chdir (2)
+.MR chdir 2
to its cpuset directory beneath
.IR /dev/cpuset ,
which is a bit unusual)
@@ -1020,7 +1020,7 @@ command at the shell prompt to change the values of cpuset files,
beware that the built-in
.B echo
command in some shells does not display an error message if the
-.BR write (2)
+.MR write 2
system call fails.
.\" Gack! csh(1)'s echo does this
For example, if the command:
@@ -1039,7 +1039,7 @@ It is better to use the
.B /bin/echo
external command to change cpuset file settings, as this
command will display
-.BR write (2)
+.MR write 2
errors, as in the example:
.P
.in +4n
@@ -1082,7 +1082,7 @@ an interrupt lack any relevant process context, and are not confined
by cpusets.
.SS Renaming cpusets
You can use the
-.BR rename (2)
+.MR rename 2
system call to rename cpusets.
Only simple renaming is supported; that is, changing the name of a cpuset
directory is permitted, but moving a directory into
@@ -1100,27 +1100,27 @@ a failed cpuset call are as listed below.
.TP
.B E2BIG
Attempted a
-.BR write (2)
+.MR write 2
on a special cpuset file
with a length larger than some kernel-determined upper
limit on the length of such writes.
.TP
.B EACCES
Attempted to
-.BR write (2)
+.MR write 2
the process ID (PID) of a process to a cpuset
.I tasks
file when one lacks permission to move that process.
.TP
.B EACCES
Attempted to add, using
-.BR write (2),
+.MR write 2 ,
a CPU or memory node to a cpuset, when that CPU or memory node was
not already in its parent.
.TP
.B EACCES
Attempted to set, using
-.BR write (2),
+.MR write 2 ,
.I cpuset.cpu_exclusive
or
.I cpuset.mem_exclusive
@@ -1128,7 +1128,7 @@ on a cpuset whose parent lacks the same setting.
.TP
.B EACCES
Attempted to
-.BR write (2)
+.MR write 2
a
.I cpuset.memory_pressure
file.
@@ -1138,12 +1138,12 @@ Attempted to create a file in a cpuset directory.
.TP
.B EBUSY
Attempted to remove, using
-.BR rmdir (2),
+.MR rmdir 2 ,
a cpuset with attached processes.
.TP
.B EBUSY
Attempted to remove, using
-.BR rmdir (2),
+.MR rmdir 2 ,
a cpuset with child cpusets.
.TP
.B EBUSY
@@ -1153,25 +1153,25 @@ that is also in a child of that cpuset.
.TP
.B EEXIST
Attempted to create, using
-.BR mkdir (2),
+.MR mkdir 2 ,
a cpuset that already exists.
.TP
.B EEXIST
Attempted to
-.BR rename (2)
+.MR rename 2
a cpuset to a name that already exists.
.TP
.B EFAULT
Attempted to
-.BR read (2)
+.MR read 2
or
-.BR write (2)
+.MR write 2
a cpuset file using
a buffer that is outside the writing processes accessible address space.
.TP
.B EINVAL
Attempted to change a cpuset, using
-.BR write (2),
+.MR write 2 ,
in a way that would violate a
.I cpu_exclusive
or
@@ -1180,7 +1180,7 @@ attribute of that cpuset or any of its siblings.
.TP
.B EINVAL
Attempted to
-.BR write (2)
+.MR write 2
an empty
.I cpuset.cpus
or
@@ -1189,7 +1189,7 @@ list to a cpuset which has attached processes or child cpusets.
.TP
.B EINVAL
Attempted to
-.BR write (2)
+.MR write 2
a
.I cpuset.cpus
or
@@ -1199,7 +1199,7 @@ the first number.
.TP
.B EINVAL
Attempted to
-.BR write (2)
+.MR write 2
a
.I cpuset.cpus
or
@@ -1208,28 +1208,28 @@ list which included an invalid character in the string.
.TP
.B EINVAL
Attempted to
-.BR write (2)
+.MR write 2
a list to a
.I cpuset.cpus
file that did not include any online CPUs.
.TP
.B EINVAL
Attempted to
-.BR write (2)
+.MR write 2
a list to a
.I cpuset.mems
file that did not include any online memory nodes.
.TP
.B EINVAL
Attempted to
-.BR write (2)
+.MR write 2
a list to a
.I cpuset.mems
file that included a node that held no memory.
.TP
.B EIO
Attempted to
-.BR write (2)
+.MR write 2
a string to a cpuset
.I tasks
file that
@@ -1237,43 +1237,43 @@ does not begin with an ASCII decimal integer.
.TP
.B EIO
Attempted to
-.BR rename (2)
+.MR rename 2
a cpuset into a different directory.
.TP
.B ENAMETOOLONG
Attempted to
-.BR read (2)
+.MR read 2
a
.IR /proc/ pid /cpuset
file for a cpuset path that is longer than the kernel page size.
.TP
.B ENAMETOOLONG
Attempted to create, using
-.BR mkdir (2),
+.MR mkdir 2 ,
a cpuset whose base directory name is longer than 255 characters.
.TP
.B ENAMETOOLONG
Attempted to create, using
-.BR mkdir (2),
+.MR mkdir 2 ,
a cpuset whose full pathname,
including the mount point (typically "/dev/cpuset/") prefix,
is longer than 4095 characters.
.TP
.B ENODEV
The cpuset was removed by another process at the same time as a
-.BR write (2)
+.MR write 2
was attempted on one of the pseudo-files in the cpuset directory.
.TP
.B ENOENT
Attempted to create, using
-.BR mkdir (2),
+.MR mkdir 2 ,
a cpuset in a parent cpuset that doesn't exist.
.TP
.B ENOENT
Attempted to
-.BR access (2)
+.MR access 2
or
-.BR open (2)
+.MR open 2
a nonexistent file in a cpuset directory.
.TP
.B ENOMEM
@@ -1283,7 +1283,7 @@ system is extremely short of memory.
.TP
.B ENOSPC
Attempted to
-.BR write (2)
+.MR write 2
the process ID (PID)
of a process to a cpuset
.I tasks
@@ -1295,7 +1295,7 @@ setting.
.TP
.B ENOSPC
Attempted to
-.BR write (2)
+.MR write 2
an empty
.I cpuset.cpus
or
@@ -1305,7 +1305,7 @@ has tasks attached.
.TP
.B ENOTDIR
Attempted to
-.BR rename (2)
+.MR rename 2
a nonexistent cpuset.
.TP
.B EPERM
@@ -1321,7 +1321,7 @@ to set in its bit masks.
.TP
.B ESRCH
Attempted to
-.BR write (2)
+.MR write 2
the process ID (PID) of a nonexistent process to a cpuset
.I tasks
file.
@@ -1336,7 +1336,7 @@ parameter is actually a thread ID,
and each thread in a threaded group can be attached to a different
cpuset.
The value returned from a call to
-.BR gettid (2)
+.MR gettid 2
can be passed in the argument
.IR pid .
.\" ================== BUGS ==================
@@ -1344,13 +1344,13 @@ can be passed in the argument
.I cpuset.memory_pressure
cpuset files can be opened
for writing, creation, or truncation, but then the
-.BR write (2)
+.MR write 2
fails with
.I errno
set to
.BR EACCES ,
and the creation and truncation options on
-.BR open (2)
+.MR open 2
have no effect.
.\" ================== EXAMPLES ==================
.SH EXAMPLES
@@ -1367,7 +1367,7 @@ mkdir /dev/cpuset (if not already done)
mount \-t cpuset none /dev/cpuset (if not already done)
.IP (3)
Create the new cpuset using
-.BR mkdir (1).
+.MR mkdir 1 .
.IP (4)
Assign CPUs and memory nodes to the new cpuset.
.IP (5)
@@ -1457,7 +1457,7 @@ Notice that the last step of the above sequence did not do:
The
.I while
loop, rather than the seemingly easier use of the
-.BR cp (1)
+.MR cp 1
command, was necessary because
only one process PID at a time may be written to the
.I tasks
@@ -1469,7 +1469,7 @@ loop can be accomplished more efficiently, in fewer keystrokes and in
syntax that works on any shell, but alas more obscurely, by using the
.B \-u
(unbuffered) option of
-.BR sed (1):
+.MR sed 1 :
.P
.in +4n
.EX
@@ -1478,21 +1478,21 @@ syntax that works on any shell, but alas more obscurely, by using the
.in
.\" ================== SEE ALSO ==================
.SH SEE ALSO
-.BR taskset (1),
-.BR get_mempolicy (2),
-.BR getcpu (2),
-.BR mbind (2),
-.BR sched_getaffinity (2),
-.BR sched_setaffinity (2),
-.BR sched_setscheduler (2),
-.BR set_mempolicy (2),
-.BR CPU_SET (3),
-.BR proc (5),
-.BR cgroups (7),
-.BR numa (7),
-.BR sched (7),
-.BR migratepages (8),
-.BR numactl (8)
+.MR taskset 1 ,
+.MR get_mempolicy 2 ,
+.MR getcpu 2 ,
+.MR mbind 2 ,
+.MR sched_getaffinity 2 ,
+.MR sched_setaffinity 2 ,
+.MR sched_setscheduler 2 ,
+.MR set_mempolicy 2 ,
+.MR CPU_SET 3 ,
+.MR proc 5 ,
+.MR cgroups 7 ,
+.MR numa 7 ,
+.MR sched 7 ,
+.MR migratepages 8 ,
+.MR numactl 8
.P
.I Documentation/admin\-guide/cgroup\-v1/cpusets.rst
in the Linux kernel source tree
diff --git a/man7/credentials.7 b/man7/credentials.7
index 02427a9e5..46d7441d9 100644
--- a/man7/credentials.7
+++ b/man7/credentials.7
@@ -11,9 +11,9 @@ credentials \- process identifiers
.SS Process ID (PID)
Each process has a unique nonnegative integer identifier
that is assigned when the process is created using
-.BR fork (2).
+.MR fork 2 .
A process can obtain its PID using
-.BR getpid (2).
+.MR getpid 2 .
A PID is represented using the type
.I pid_t
(defined in
@@ -21,9 +21,9 @@ A PID is represented using the type
.P
PIDs are used in a range of system calls to identify the process
affected by the call, for example:
-.BR kill (2),
-.BR ptrace (2),
-.BR setpriority (2),
+.MR kill 2 ,
+.MR ptrace 2 ,
+.MR setpriority 2 ,
.\" .BR sched_rr_get_interval (2),
.\" .BR sched_getaffinity (2),
.\" .BR sched_setaffinity (2),
@@ -31,42 +31,42 @@ affected by the call, for example:
.\" .BR sched_setparam (2),
.\" .BR sched_setscheduler (2),
.\" .BR sched_getscheduler (2),
-.BR setpgid (2),
+.MR setpgid 2 ,
.\" .BR getsid (2),
-.BR setsid (2),
-.BR sigqueue (3),
+.MR setsid 2 ,
+.MR sigqueue 3 ,
and
-.BR waitpid (2).
+.MR waitpid 2 .
.\" .BR waitid (2),
.\" .BR wait4 (2),
.P
A process's PID is preserved across an
-.BR execve (2).
+.MR execve 2 .
.SS Parent process ID (PPID)
A process's parent process ID identifies the process that created
this process using
-.BR fork (2).
+.MR fork 2 .
A process can obtain its PPID using
-.BR getppid (2).
+.MR getppid 2 .
A PPID is represented using the type
.IR pid_t .
.P
A process's PPID is preserved across an
-.BR execve (2).
+.MR execve 2 .
.SS Process group ID and session ID
Each process has a session ID and a process group ID,
both represented using the type
.IR pid_t .
A process can obtain its session ID using
-.BR getsid (2),
+.MR getsid 2 ,
and its process group ID using
-.BR getpgrp (2).
+.MR getpgrp 2 .
.P
A child created by
-.BR fork (2)
+.MR fork 2
inherits its parent's session ID and process group ID.
A process's session ID and process group ID are preserved across an
-.BR execve (2).
+.MR execve 2 .
.P
Sessions and process groups are abstractions devised to support shell
job control.
@@ -77,7 +77,7 @@ to execute single command or pipeline (e.g., the two processes
created to execute the command "ls\ |\ wc" are placed in the
same process group).
A process's group membership can be set using
-.BR setpgid (2).
+.MR setpgid 2 .
The process whose process ID is the same as its process group ID is the
\fIprocess group leader\fP for that group.
.P
@@ -87,10 +87,10 @@ All of the members of a process group also have the same session ID
same session, so that sessions and process groups form a strict
two-level hierarchy of processes.)
A new session is created when a process calls
-.BR setsid (2),
+.MR setsid 2 ,
which creates a new session whose session ID is the same
as the PID of the process that called
-.BR setsid (2).
+.MR setsid 2 .
The creator of the session is called the \fIsession leader\fP.
.P
All of the processes in a session share a
@@ -99,7 +99,7 @@ The controlling terminal is established when the session leader
first opens a terminal (unless the
.B O_NOCTTY
flag is specified when calling
-.BR open (2)).
+.MR open 2 ).
A terminal may be the controlling terminal of at most one session.
.P
At most one of the jobs in a session may be the
@@ -114,7 +114,7 @@ signal, which suspends the job.
If the
.B TOSTOP
flag has been set for the terminal (see
-.BR termios (3)),
+.MR termios 3 ),
then only the foreground job may write to the terminal;
writes from background jobs cause a
.B SIGTTOU
@@ -127,15 +127,15 @@ are pressed, the signal is sent to the processes in the foreground job.
Various system calls and library functions
may operate on all members of a process group,
including
-.BR kill (2),
-.BR killpg (3),
-.BR getpriority (2),
-.BR setpriority (2),
-.BR ioprio_get (2),
-.BR ioprio_set (2),
-.BR waitid (2),
+.MR kill 2 ,
+.MR killpg 3 ,
+.MR getpriority 2 ,
+.MR setpriority 2 ,
+.MR ioprio_get 2 ,
+.MR ioprio_set 2 ,
+.MR waitid 2 ,
and
-.BR waitpid (2).
+.MR waitpid 2 .
See also the discussion of the
.BR F_GETOWN ,
.BR F_GETOWN_EX ,
@@ -143,7 +143,7 @@ See also the discussion of the
and
.B F_SETOWN_EX
operations in
-.BR fcntl (2).
+.MR fcntl 2 .
.SS User and group identifiers
Each process has various associated user and group IDs.
These IDs are integers, respectively represented using the types
@@ -158,8 +158,9 @@ On Linux, each process has the following user and group identifiers:
Real user ID and real group ID.
These IDs determine who owns the process.
A process can obtain its real user (group) ID using
-.BR getuid (2)
-.RB ( getgid (2)).
+.MR getuid 2
+\%(\c
+.MR getgid 2 ).
.IP \[bu]
Effective user ID and effective group ID.
These IDs are used by the kernel to determine the permissions
@@ -170,35 +171,37 @@ permissions when accessing files.
However, Linux uses the filesystem IDs described below
for this task.
A process can obtain its effective user (group) ID using
-.BR geteuid (2)
-.RB ( getegid (2)).
+.MR geteuid 2
+\%(\c
+.MR getegid 2 ).
.IP \[bu]
Saved set-user-ID and saved set-group-ID.
These IDs are used in set-user-ID and set-group-ID programs to save
a copy of the corresponding effective IDs that were set when
the program was executed (see
-.BR execve (2)).
+.MR execve 2 ).
A set-user-ID program can assume and drop privileges by
switching its effective user ID back and forth between the values
in its real user ID and saved set-user-ID.
This switching is done via calls to
-.BR seteuid (2),
-.BR setreuid (2),
+.MR seteuid 2 ,
+.MR setreuid 2 ,
or
-.BR setresuid (2).
+.MR setresuid 2 .
A set-group-ID program performs the analogous tasks using
-.BR setegid (2),
-.BR setregid (2),
+.MR setegid 2 ,
+.MR setregid 2 ,
or
-.BR setresgid (2).
+.MR setresgid 2 .
A process can obtain its saved set-user-ID (set-group-ID) using
-.BR getresuid (2)
-.RB ( getresgid (2)).
+.MR getresuid 2
+\%(\c
+.MR getresgid 2 ).
.IP \[bu]
Filesystem user ID and filesystem group ID (Linux-specific).
These IDs, in conjunction with the supplementary group IDs described
below, are used to determine permissions for accessing files; see
-.BR path_resolution (7)
+.MR path_resolution 7
for details.
Whenever a process's effective user (group) ID is changed,
the kernel also automatically changes the filesystem user (group) ID
@@ -208,9 +211,9 @@ as the corresponding effective ID, and the semantics for file-permission
checks are thus the same on Linux as on other UNIX systems.
The filesystem IDs can be made to differ from the effective IDs
by calling
-.BR setfsuid (2)
+.MR setfsuid 2
and
-.BR setfsgid (2).
+.MR setfsgid 2 .
.IP \[bu]
Supplementary group IDs.
This is a set of additional group IDs that are used for permission
@@ -227,69 +230,69 @@ of which a process may be a member.
.\" /proc/sys/kernel/ngroups_max.
.\" As at 2.6.22-rc2, this file is still read-only.
A process can obtain its set of supplementary group IDs using
-.BR getgroups (2).
+.MR getgroups 2 .
.P
A child process created by
-.BR fork (2)
+.MR fork 2
inherits copies of its parent's user and groups IDs.
During an
-.BR execve (2),
+.MR execve 2 ,
a process's real user and group ID and supplementary
group IDs are preserved;
the effective and saved set IDs may be changed, as described in
-.BR execve (2).
+.MR execve 2 .
.P
Aside from the purposes noted above,
a process's user IDs are also employed in a number of other contexts:
.IP \[bu] 3
when determining the permissions for sending signals (see
-.BR kill (2));
+.MR kill 2 );
.IP \[bu]
when determining the permissions for setting
process-scheduling parameters (nice value, real time
scheduling policy and priority, CPU affinity, I/O priority) using
-.BR setpriority (2),
-.BR sched_setaffinity (2),
-.BR sched_setscheduler (2),
-.BR sched_setparam (2),
-.BR sched_setattr (2),
+.MR setpriority 2 ,
+.MR sched_setaffinity 2 ,
+.MR sched_setscheduler 2 ,
+.MR sched_setparam 2 ,
+.MR sched_setattr 2 ,
and
-.BR ioprio_set (2);
+.MR ioprio_set 2 ;
.IP \[bu]
when checking resource limits (see
-.BR getrlimit (2));
+.MR getrlimit 2 );
.IP \[bu]
when checking the limit on the number of inotify instances
that the process may create (see
-.BR inotify (7)).
+.MR inotify 7 ).
.\"
.SS Modifying process user and group IDs
Subject to rules described in the relevant manual pages,
a process can use the following APIs to modify its user and group IDs:
.TP
-.BR setuid (2)\~(\c
-.BR setgid (2))
+.MR setuid 2 \~(\c
+.MR setgid 2 )
Modify the process's real (and possibly effective and saved-set)
user (group) IDs.
.TP
-.BR seteuid (2)\~(\c
-.BR setegid (2))
+.MR seteuid 2 \~(\c
+.MR setegid 2 )
Modify the process's effective user (group) ID.
.TP
-.BR setfsuid (2)\~(\c
-.BR setfsgid (2))
+.MR setfsuid 2 \~(\c
+.MR setfsgid 2 )
Modify the process's filesystem user (group) ID.
.TP
-.BR setreuid (2)\~(\c
-.BR setregid (2))
+.MR setreuid 2 \~(\c
+.MR setregid 2 )
Modify the process's real and effective (and possibly saved-set)
user (group) IDs.
.TP
-.BR setresuid (2)\~(\c
-.BR setresgid (2))
+.MR setresuid 2 \~(\c
+.MR setresgid 2 )
Modify the process's real, effective, and saved-set user (group) IDs.
.TP
-.BR setgroups (2)
+.MR setgroups 2
Modify the process's supplementary group list.
.P
Any changes to a process's effective user (group) ID
@@ -297,11 +300,11 @@ are automatically carried over to the process's
filesystem user (group) ID.
Changes to a process's effective user or group ID can also affect the
process "dumpable" attribute, as described in
-.BR prctl (2).
+.MR prctl 2 .
.P
Changes to process user and group IDs can affect the capabilities
of the process, as described in
-.BR capabilities (7).
+.MR capabilities 7 .
.SH STANDARDS
Process IDs, parent process IDs, process group IDs, and session IDs
are specified in POSIX.1.
@@ -314,7 +317,7 @@ Various fields in the
.IR /proc/ pid /status
file show the process credentials described above.
See
-.BR proc (5)
+.MR proc 5
for further information.
.P
The POSIX threads specification requires that
@@ -324,61 +327,61 @@ credentials for each thread.
The NPTL threading implementation does some work to ensure
that any change to user or group credentials
(e.g., calls to
-.BR setuid (2),
-.BR setresuid (2))
+.MR setuid 2 ,
+.MR setresuid 2 )
is carried through to all of the POSIX threads in a process.
See
-.BR nptl (7)
+.MR nptl 7
for further details.
.SH SEE ALSO
-.BR bash (1),
-.BR csh (1),
-.BR groups (1),
-.BR id (1),
-.BR newgrp (1),
-.BR ps (1),
-.BR runuser (1),
-.BR setpriv (1),
-.BR sg (1),
-.BR su (1),
-.BR access (2),
-.BR execve (2),
-.BR faccessat (2),
-.BR fork (2),
-.BR getgroups (2),
-.BR getpgrp (2),
-.BR getpid (2),
-.BR getppid (2),
-.BR getsid (2),
-.BR kill (2),
-.BR setegid (2),
-.BR seteuid (2),
-.BR setfsgid (2),
-.BR setfsuid (2),
-.BR setgid (2),
-.BR setgroups (2),
-.BR setpgid (2),
-.BR setresgid (2),
-.BR setresuid (2),
-.BR setsid (2),
-.BR setuid (2),
-.BR waitpid (2),
-.BR euidaccess (3),
-.BR initgroups (3),
-.BR killpg (3),
-.BR tcgetpgrp (3),
-.BR tcgetsid (3),
-.BR tcsetpgrp (3),
-.BR group (5),
-.BR passwd (5),
-.BR shadow (5),
-.BR capabilities (7),
-.BR namespaces (7),
-.BR path_resolution (7),
-.BR pid_namespaces (7),
-.BR pthreads (7),
-.BR signal (7),
-.BR system_data_types (7),
-.BR unix (7),
-.BR user_namespaces (7),
-.BR sudo (8)
+.MR bash 1 ,
+.MR csh 1 ,
+.MR groups 1 ,
+.MR id 1 ,
+.MR newgrp 1 ,
+.MR ps 1 ,
+.MR runuser 1 ,
+.MR setpriv 1 ,
+.MR sg 1 ,
+.MR su 1 ,
+.MR access 2 ,
+.MR execve 2 ,
+.MR faccessat 2 ,
+.MR fork 2 ,
+.MR getgroups 2 ,
+.MR getpgrp 2 ,
+.MR getpid 2 ,
+.MR getppid 2 ,
+.MR getsid 2 ,
+.MR kill 2 ,
+.MR setegid 2 ,
+.MR seteuid 2 ,
+.MR setfsgid 2 ,
+.MR setfsuid 2 ,
+.MR setgid 2 ,
+.MR setgroups 2 ,
+.MR setpgid 2 ,
+.MR setresgid 2 ,
+.MR setresuid 2 ,
+.MR setsid 2 ,
+.MR setuid 2 ,
+.MR waitpid 2 ,
+.MR euidaccess 3 ,
+.MR initgroups 3 ,
+.MR killpg 3 ,
+.MR tcgetpgrp 3 ,
+.MR tcgetsid 3 ,
+.MR tcsetpgrp 3 ,
+.MR group 5 ,
+.MR passwd 5 ,
+.MR shadow 5 ,
+.MR capabilities 7 ,
+.MR namespaces 7 ,
+.MR path_resolution 7 ,
+.MR pid_namespaces 7 ,
+.MR pthreads 7 ,
+.MR signal 7 ,
+.MR system_data_types 7 ,
+.MR unix 7 ,
+.MR user_namespaces 7 ,
+.MR sudo 8
diff --git a/man7/ddp.7 b/man7/ddp.7
index e52cd442b..c84450fb5 100644
--- a/man7/ddp.7
+++ b/man7/ddp.7
@@ -30,10 +30,10 @@ use the DDP layer directly.
The communication between AppleTalk and the user program works using a
BSD-compatible socket interface.
For more information on sockets, see
-.BR socket (7).
+.MR socket 7 .
.P
An AppleTalk socket is created by calling the
-.BR socket (2)
+.MR socket 2
function with a
.B AF_APPLETALK
socket family argument.
@@ -86,7 +86,7 @@ The port numbers below 129 are known as
Only processes with the effective user ID 0 or the
.B CAP_NET_BIND_SERVICE
capability may
-.BR bind (2)
+.MR bind 2
to these sockets.
.I sat_addr
is the host address.
@@ -138,7 +138,7 @@ The default values match the specification and should never need to be
changed.
.SS Ioctls
All ioctls described in
-.BR socket (7)
+.MR socket 7
apply to DDP.
.\" FIXME . Add a section about multicasting
.SH ERRORS
@@ -165,7 +165,7 @@ A connection operation on a nonblocking socket is already in progress.
.TP
.B ECONNABORTED
A connection was closed during an
-.BR accept (2).
+.MR accept 2 .
.TP
.B EHOSTUNREACH
No routing table entry matches the destination address.
@@ -174,7 +174,7 @@ No routing table entry matches the destination address.
Invalid argument passed.
.TP
.B EISCONN
-.BR connect (2)
+.MR connect 2
was called on an already connected socket.
.TP
.B EMSGSIZE
@@ -239,7 +239,7 @@ There are too many inconsistent error values.
The ioctls used to configure routing tables, devices,
AARP tables, and other devices are not yet described.
.SH SEE ALSO
-.BR recvmsg (2),
-.BR sendmsg (2),
-.BR capabilities (7),
-.BR socket (7)
+.MR recvmsg 2 ,
+.MR sendmsg 2 ,
+.MR capabilities 7 ,
+.MR socket 7
diff --git a/man7/environ.7 b/man7/environ.7
index f98359a3f..de81c2a2c 100644
--- a/man7/environ.7
+++ b/man7/environ.7
@@ -25,10 +25,10 @@ The variable
points to an array of pointers to strings called the "environment".
The last pointer in this array has the value NULL.
This array of strings is made available to the process by the
-.BR execve (2)
+.MR execve 2
call when a new program is started.
When a child process is created via
-.BR fork (2),
+.MR fork 2 ,
it inherits a
.I copy
of its parent's environment.
@@ -45,19 +45,19 @@ since this is assumed to terminate the string.
Environment variables may be placed in the shell's environment by the
.I export
command in
-.BR sh (1),
+.MR sh 1 ,
or by the
.I setenv
command if you use
-.BR csh (1).
+.MR csh 1 .
.P
The initial environment of the shell is populated in various ways,
such as definitions from
.I /etc/environment
that are processed by
-.BR pam_env (8)
+.MR pam_env 8
for all users at login time (on systems that employ
-.BR pam (8)).
+.MR pam 8 ).
In addition, various shell initialization scripts, such as the system-wide
.I /etc/profile
script and per-user initializations script may include commands
@@ -80,13 +80,13 @@ Multiple variable definitions, separated by white space, may precede
.P
Arguments may also be placed in the
environment at the point of an
-.BR exec (3).
+.MR exec 3 .
A C program can manipulate its environment using the functions
-.BR getenv (3),
-.BR putenv (3),
-.BR setenv (3),
+.MR getenv 3 ,
+.MR putenv 3 ,
+.MR setenv 3 ,
and
-.BR unsetenv (3).
+.MR unsetenv 3 .
.P
What follows is a list of environment variables typically seen on a
system.
@@ -120,14 +120,14 @@ or more specific environment variables such as
and
.B LC_TIME
(see
-.BR locale (7)
+.MR locale 7
for further details of the
.B LC_*
environment variables).
.TP
.B PATH
The sequence of directory prefixes that
-.BR sh (1)
+.MR sh 1
and many other
programs employ when searching for an executable file that is specified
as a simple filename (i.a., a pathname that contains no slashes).
@@ -154,7 +154,7 @@ used by some shells to find the target
of a change directory command,
.B MANPATH
used by
-.BR man (1)
+.MR man 1
to find manual pages, and so on.
.TP
.B PWD
@@ -181,9 +181,9 @@ If
.B PAGER
is null or is not set,
then applications that launch a pager will default to a program such as
-.BR less (1)
+.MR less 1
or
-.BR more (1).
+.MR more 1 .
.TP
.BR EDITOR / VISUAL
The user's preferred utility to edit text files.
@@ -203,16 +203,16 @@ The variables
.BR LANG ", " LANGUAGE ", " NLSPATH ", " LOCPATH ,
.BR LC_ALL ", " LC_MESSAGES ,
and so on influence locale handling; see
-.BR catopen (3),
-.BR gettext (3),
+.MR catopen 3 ,
+.MR gettext 3 ,
and
-.BR locale (7).
+.MR locale 7 .
.IP \[bu]
.B TMPDIR
influences the path prefix of names created by
-.BR tempnam (3)
+.MR tempnam 3
and other routines, and the temporary directory used by
-.BR sort (1)
+.MR sort 1
and other programs.
.IP \[bu]
.BR LD_LIBRARY_PATH ", " LD_PRELOAD ,
@@ -220,14 +220,14 @@ and other
.B LD_*
variables influence the behavior of the dynamic loader/linker.
See also
-.BR ld.so (8).
+.MR ld.so 8 .
.IP \[bu]
.B POSIXLY_CORRECT
makes certain programs and library routines follow
the prescriptions of POSIX.
.IP \[bu]
The behavior of
-.BR malloc (3)
+.MR malloc 3
is influenced by
.B MALLOC_*
variables.
@@ -236,18 +236,18 @@ The variable
.B HOSTALIASES
gives the name of a file containing aliases
to be used with
-.BR gethostbyname (3).
+.MR gethostbyname 3 .
.IP \[bu]
.BR TZ " and " TZDIR
give timezone information used by
-.BR tzset (3)
+.MR tzset 3
and through that by functions like
-.BR ctime (3),
-.BR localtime (3),
-.BR mktime (3),
-.BR strftime (3).
+.MR ctime 3 ,
+.MR localtime 3 ,
+.MR mktime 3 ,
+.MR strftime 3 .
See also
-.BR tzselect (8).
+.MR tzselect 8 .
.IP \[bu]
.B TERMCAP
gives information on how to address a given terminal
@@ -259,7 +259,7 @@ tell applications about the window size, possibly overriding the actual size.
.BR PRINTER " or " LPDEST
may specify the desired printer to use.
See
-.BR lpr (1).
+.MR lpr 1 .
.SH NOTES
Historically and by standard,
.I environ
@@ -271,10 +271,10 @@ is declared in the header file
if the
.B _GNU_SOURCE
feature test macro is defined (see
-.BR feature_test_macros (7)).
+.MR feature_test_macros 7 ).
.P
The
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_MM_ENV_START
and
.B PR_SET_MM_ENV_END
@@ -288,17 +288,17 @@ and
.B USER
variables are set when the user is changed via a
session management interface, typically by a program such as
-.BR login (1)
+.MR login 1
from a user database (such as
-.BR passwd (5)).
+.MR passwd 5 ).
(Switching to the root user using
-.BR su (1)
+.MR su 1
may result in a mixed environment where
.B LOGNAME
and
.B USER
are retained from old user; see the
-.BR su (1)
+.MR su 1
manual page.)
.SH BUGS
Clearly there is a security risk here.
@@ -334,21 +334,21 @@ and
Such usage is considered mistaken, and to be avoided in new
programs.
.SH SEE ALSO
-.BR bash (1),
-.BR csh (1),
-.BR env (1),
-.BR login (1),
-.BR printenv (1),
-.BR sh (1),
-.BR su (1),
-.BR tcsh (1),
-.BR execve (2),
-.BR clearenv (3),
-.BR exec (3),
-.BR getenv (3),
-.BR putenv (3),
-.BR setenv (3),
-.BR unsetenv (3),
-.BR locale (7),
-.BR ld.so (8),
-.BR pam_env (8)
+.MR bash 1 ,
+.MR csh 1 ,
+.MR env 1 ,
+.MR login 1 ,
+.MR printenv 1 ,
+.MR sh 1 ,
+.MR su 1 ,
+.MR tcsh 1 ,
+.MR execve 2 ,
+.MR clearenv 3 ,
+.MR exec 3 ,
+.MR getenv 3 ,
+.MR putenv 3 ,
+.MR setenv 3 ,
+.MR unsetenv 3 ,
+.MR locale 7 ,
+.MR ld.so 8 ,
+.MR pam_env 8
diff --git a/man7/epoll.7 b/man7/epoll.7
index e7892922e..be9b3b404 100644
--- a/man7/epoll.7
+++ b/man7/epoll.7
@@ -15,7 +15,7 @@ epoll \- I/O event notification facility
The
.B epoll
API performs a similar task to
-.BR poll (2):
+.MR poll 2 :
monitoring multiple file descriptors to see if I/O is possible on any of them.
The
.B epoll
@@ -51,22 +51,22 @@ create and manage an
.B epoll
instance:
.IP \[bu] 3
-.BR epoll_create (2)
+.MR epoll_create 2
creates a new
.B epoll
instance and returns a file descriptor referring to that instance.
(The more recent
-.BR epoll_create1 (2)
+.MR epoll_create1 2
extends the functionality of
-.BR epoll_create (2).)
+.MR epoll_create 2 .)
.IP \[bu]
Interest in particular file descriptors is then registered via
-.BR epoll_ctl (2),
+.MR epoll_ctl 2 ,
which adds items to the interest list of the
.B epoll
instance.
.IP \[bu]
-.BR epoll_wait (2)
+.MR epoll_wait 2
waits for I/O events,
blocking the calling thread if no events are currently available.
(This system call can be thought of as fetching items from
@@ -93,7 +93,7 @@ instance.
A pipe writer writes 2\ kB of data on the write side of the pipe.
.IP (3)
A call to
-.BR epoll_wait (2)
+.MR epoll_wait 2
is done that will return
.I rfd
as a ready file descriptor.
@@ -102,7 +102,7 @@ The pipe reader reads 1\ kB of data from
.IR rfd .
.IP (5)
A call to
-.BR epoll_wait (2)
+.MR epoll_wait 2
is done.
.P
If the
@@ -113,7 +113,7 @@ interface using the
.B EPOLLET
(edge-triggered)
flag, the call to
-.BR epoll_wait (2)
+.MR epoll_wait 2
done in step
.B 5
will probably hang despite the available data still present in the file
@@ -135,7 +135,7 @@ and the event is consumed in
Since the read operation done in
.B 4
does not consume the whole buffer data, the call to
-.BR epoll_wait (2)
+.MR epoll_wait 2
done in step
.B 5
might block indefinitely.
@@ -153,9 +153,9 @@ interface is as follows:
with nonblocking file descriptors; and
.IP (2)
by waiting for an event only after
-.BR read (2)
+.MR read 2
or
-.BR write (2)
+.MR write 2
return
.BR EAGAIN .
.P
@@ -165,7 +165,7 @@ By contrast, when used as a level-triggered interface
is not specified),
.B epoll
is simply a faster
-.BR poll (2),
+.MR poll 2 ,
and can be used wherever the latter is used since it shares the
same semantics.
.P
@@ -177,12 +177,12 @@ the caller has the option to specify the
flag, to tell
.B epoll
to disable the associated file descriptor after the receipt of an event with
-.BR epoll_wait (2).
+.MR epoll_wait 2 .
When the
.B EPOLLONESHOT
flag is specified,
it is the caller's responsibility to rearm the file descriptor using
-.BR epoll_ctl (2)
+.MR epoll_ctl 2
with
.BR EPOLL_CTL_MOD .
.P
@@ -190,15 +190,15 @@ If multiple threads
(or processes, if child processes have inherited the
.B epoll
file descriptor across
-.BR fork (2))
+.MR fork 2 )
are blocked in
-.BR epoll_wait (2)
+.MR epoll_wait 2
waiting on the same epoll file descriptor and a file descriptor
in the interest list that is marked for edge-triggered
.RB ( EPOLLET )
notification becomes ready,
just one of the threads (or processes) is awoken from
-.BR epoll_wait (2).
+.MR epoll_wait 2 .
This provides a useful optimization for avoiding "thundering herd" wake-ups
in some scenarios.
.\"
@@ -211,7 +211,7 @@ and an event happens which wakes the device from sleep, the device
driver will keep the device awake only until that event is queued.
To keep the device awake until the event has been processed,
it is necessary to use the
-.BR epoll_ctl (2)
+.MR epoll_ctl 2
.B EPOLLWAKEUP
flag.
.P
@@ -223,15 +223,15 @@ field for a
.IR "struct epoll_event" ,
the system will be kept awake from the moment the event is queued,
through the
-.BR epoll_wait (2)
+.MR epoll_wait 2
call which returns the event until the subsequent
-.BR epoll_wait (2)
+.MR epoll_wait 2
call.
If the event should keep the system awake beyond that time,
then a separate
.I wake_lock
should be taken before the second
-.BR epoll_wait (2)
+.MR epoll_wait 2
call.
.SS /proc interfaces
The following interfaces can be used to limit the amount of
@@ -260,29 +260,29 @@ While the usage of
.B epoll
when employed as a level-triggered interface does have the same
semantics as
-.BR poll (2),
+.MR poll 2 ,
the edge-triggered usage requires more clarification to avoid stalls
in the application event loop.
In this example, listener is a
nonblocking socket on which
-.BR listen (2)
+.MR listen 2
has been called.
The function
.I do_use_fd()
uses the new ready file descriptor until
.B EAGAIN
is returned by either
-.BR read (2)
+.MR read 2
or
-.BR write (2).
+.MR write 2 .
An event-driven state machine application should, after having received
.BR EAGAIN ,
record its current state so that at the next call to
.I do_use_fd()
it will continue to
-.BR read (2)
+.MR read 2
or
-.BR write (2)
+.MR write 2
from where it stopped before.
.P
.in +4n
@@ -351,7 +351,7 @@ continuously switching between
and
.B EPOLLOUT
calling
-.BR epoll_ctl (2)
+.MR epoll_ctl 2
with
.BR EPOLL_CTL_MOD .
.SS Questions and answers
@@ -371,9 +371,10 @@ instance twice?
You will probably get
.BR EEXIST .
However, it is possible to add a duplicate
-.RB ( dup (2),
-.BR dup2 (2),
-.BR fcntl (2)
+\%(\c
+.MR dup 2 ,
+.MR dup2 2 ,
+.MR fcntl 2
.BR F_DUPFD )
file descriptor to the same
.B epoll
@@ -423,7 +424,7 @@ What happens if one attempts to put an
file descriptor into its own file descriptor set?
.IP
The
-.BR epoll_ctl (2)
+.MR epoll_ctl 2
call fails
.RB ( EINVAL ).
However, you can add an
@@ -445,14 +446,14 @@ interest lists?
.IP
Yes, but be aware of the following point.
A file descriptor is a reference to an open file description (see
-.BR open (2)).
+.MR open 2 ).
Whenever a file descriptor is duplicated via
-.BR dup (2),
-.BR dup2 (2),
-.BR fcntl (2)
+.MR dup 2 ,
+.MR dup2 2 ,
+.MR fcntl 2
.BR F_DUPFD ,
or
-.BR fork (2),
+.MR fork 2 ,
a new file descriptor referring to the same open file description is
created.
An open file description continues to exist until all
@@ -467,19 +468,19 @@ events may be reported for that file descriptor if other file
descriptors referring to the same underlying file description remain open.
To prevent this happening,
the file descriptor must be explicitly removed from the interest list (using
-.BR epoll_ctl (2)
+.MR epoll_ctl 2
.BR EPOLL_CTL_DEL )
before it is duplicated.
Alternatively,
the application must ensure that all file descriptors are closed
(which may be difficult if file descriptors were duplicated
behind the scenes by library functions that used
-.BR dup (2)
+.MR dup 2
or
-.BR fork (2)).
+.MR fork 2 ).
.IP \[bu]
If more than one event occurs between
-.BR epoll_wait (2)
+.MR epoll_wait 2
calls, are they combined or reported separately?
.IP
They will be combined.
@@ -500,7 +501,7 @@ when using the
flag (edge-triggered behavior)?
.IP
Receiving an event from
-.BR epoll_wait (2)
+.MR epoll_wait 2
should suggest to you that such
file descriptor is ready for the requested I/O operation.
You must consider it ready until the next (nonblocking)
@@ -519,14 +520,14 @@ condition that the read/write I/O space is exhausted can also be detected by
checking the amount of data read from / written to the target file
descriptor.
For example, if you call
-.BR read (2)
+.MR read 2
by asking to read a certain amount of data and
-.BR read (2)
+.MR read 2
returns a lower number of bytes, you
can be sure of having exhausted the read I/O space for the file
descriptor.
The same is true when writing using
-.BR write (2).
+.MR write 2 .
(Avoid this latter technique if you cannot guarantee that
the monitored file descriptor always refers to a stream-oriented file.)
.SS Possible pitfalls and ways to avoid them
@@ -550,15 +551,15 @@ receive for file descriptors that are already ready.
.B If using an event cache...
.IP
If you use an event cache or store all the file descriptors returned from
-.BR epoll_wait (2),
+.MR epoll_wait 2 ,
then make sure to provide a way to mark
its closure dynamically (i.e., caused by
a previous event's processing).
Suppose you receive 100 events from
-.BR epoll_wait (2),
+.MR epoll_wait 2 ,
and in event #47 a condition causes event #13 to be closed.
If you remove the structure and
-.BR close (2)
+.MR close 2
the file descriptor for event #13, then your
event cache might still say there are events waiting for that
file descriptor causing confusion.
@@ -566,7 +567,7 @@ file descriptor causing confusion.
One solution for this is to call, during the processing of event 47,
.BR epoll_ctl ( EPOLL_CTL_DEL )
to delete file descriptor 13 and
-.BR close (2),
+.MR close 2 ,
then mark its associated
data structure as removed and link it to a cleanup list.
If you find another
@@ -593,18 +594,18 @@ the epoll file descriptor in the process's
.IR /proc/ pid /fdinfo
directory.
See
-.BR proc (5)
+.MR proc 5
for further details.
.P
The
-.BR kcmp (2)
+.MR kcmp 2
.B KCMP_EPOLL_TFD
operation can be used to test whether a file descriptor
is present in an epoll instance.
.SH SEE ALSO
-.BR epoll_create (2),
-.BR epoll_create1 (2),
-.BR epoll_ctl (2),
-.BR epoll_wait (2),
-.BR poll (2),
-.BR select (2)
+.MR epoll_create 2 ,
+.MR epoll_create1 2 ,
+.MR epoll_ctl 2 ,
+.MR epoll_wait 2 ,
+.MR poll 2 ,
+.MR select 2
diff --git a/man7/fanotify.7 b/man7/fanotify.7
index 07e445546..02df55e9a 100644
--- a/man7/fanotify.7
+++ b/man7/fanotify.7
@@ -13,26 +13,26 @@ In the original fanotify API, only a limited set of events was supported.
In particular, there was no support for create, delete, and move events.
The support for those events was added in Linux 5.1.
(See
-.BR inotify (7)
+.MR inotify 7
for details of an API that did notify those events pre Linux 5.1.)
.P
Additional capabilities compared to the
-.BR inotify (7)
+.MR inotify 7
API include the ability to monitor all of the objects
in a mounted filesystem,
the ability to make access permission decisions, and the
possibility to read or modify files before access by other applications.
.P
The following system calls are used with this API:
-.BR fanotify_init (2),
-.BR fanotify_mark (2),
-.BR read (2),
-.BR write (2),
+.MR fanotify_init 2 ,
+.MR fanotify_mark 2 ,
+.MR read 2 ,
+.MR write 2 ,
and
-.BR close (2).
+.MR close 2 .
.SS fanotify_init(), fanotify_mark(), and notification groups
The
-.BR fanotify_init (2)
+.MR fanotify_init 2
system call creates and initializes an fanotify notification group
and returns a file descriptor referring to it.
.P
@@ -52,7 +52,7 @@ directory to be marked for receiving events, while at the same time
ignoring events for specific objects under a mount or directory.
.P
The
-.BR fanotify_mark (2)
+.MR fanotify_mark 2
system call adds a file, directory, filesystem, or mount to a
notification group and specifies which events
shall be reported (or ignored), or removes or modifies such an entry.
@@ -80,11 +80,11 @@ filesystems or mounts are unmounted, the corresponding entries are deleted.
As events occur on the filesystem objects monitored by a notification group,
the fanotify system generates events that are collected in a queue.
These events can then be read (using
-.BR read (2)
+.MR read 2
or similar)
from the fanotify file descriptor
returned by
-.BR fanotify_init (2).
+.MR fanotify_init 2 .
.P
Two types of events are generated:
.I notification
@@ -107,19 +107,19 @@ writing to the fanotify file descriptor or the fanotify file descriptor
is closed.
.SS Reading fanotify events
Calling
-.BR read (2)
+.MR read 2
for the file descriptor returned by
-.BR fanotify_init (2)
+.MR fanotify_init 2
blocks (if the flag
.B FAN_NONBLOCK
is not specified in the call to
-.BR fanotify_init (2))
+.MR fanotify_init 2 )
until either a file event occurs or the call is interrupted by a signal
(see
-.BR signal (7)).
+.MR signal 7 ).
.P
After a successful
-.BR read (2),
+.MR read 2 ,
the read buffer contains one or more of the following structures:
.P
.in +4n
@@ -144,7 +144,7 @@ structure.
The
.I flags
passed to
-.BR fanotify_init (2)
+.MR fanotify_init 2
have influence over the type of information records that
may be returned for an event.
For example,
@@ -268,10 +268,10 @@ struct fanotify_event_info_header {
For performance reasons, it is recommended to use a large
buffer size (for example, 4096 bytes),
so that multiple events can be retrieved by a single
-.BR read (2).
+.MR read 2 .
.P
The return value of
-.BR read (2)
+.MR read 2
is the number of bytes placed in the buffer,
or \-1 in case of an error (but see BUGS).
.P
@@ -324,7 +324,7 @@ of the monitored file or directory.
The reading application is responsible for closing this file descriptor.
.IP
When calling
-.BR fanotify_init (2),
+.MR fanotify_init 2 ,
the caller may specify (via the
.I event_f_flags
argument) various file status flags that are to be set
@@ -340,13 +340,13 @@ directory using this file descriptor, no additional events will be created.
If flag
.B FAN_REPORT_TID
was set in
-.BR fanotify_init (2),
+.MR fanotify_init 2 ,
this is the TID of the thread that caused the event.
Otherwise, this the PID of the process that caused the event.
.P
A program listening to fanotify events can compare this PID
to the PID returned by
-.BR getpid (2),
+.MR getpid 2 ,
to determine whether the event is caused by the listener itself,
or is due to a file access by another process.
.P
@@ -373,7 +373,7 @@ A file or a directory was opened.
.B FAN_OPEN_EXEC
A file was opened with the intent to be executed.
See NOTES in
-.BR fanotify_mark (2)
+.MR fanotify_mark 2
for additional details.
.TP
.B FAN_ATTRIB
@@ -423,13 +423,13 @@ The event queue exceeded the limit on number of events.
This limit can be overridden by specifying the
.B FAN_UNLIMITED_QUEUE
flag when calling
-.BR fanotify_init (2).
+.MR fanotify_init 2 .
.TP
.B FAN_ACCESS_PERM
An application wants to read a file or directory, for example using
-.BR read (2)
+.MR read 2
or
-.BR readdir (2).
+.MR readdir 2 .
The reader must write a response (as described below)
that determines whether the permission to
access the filesystem object shall be granted.
@@ -444,7 +444,7 @@ An application wants to open a file for execution.
The reader must write a response that determines whether the permission to
open the filesystem object for execution shall be granted.
See NOTES in
-.BR fanotify_mark (2)
+.MR fanotify_mark 2
for additional details.
.P
To check for any close event, the following bit mask may be used:
@@ -481,7 +481,7 @@ The events described in the
have occurred on a directory object.
Reporting events on directories requires setting this flag in the mark mask.
See
-.BR fanotify_mark (2)
+.MR fanotify_mark 2
for additional details.
The
.B FAN_ONDIR
@@ -507,7 +507,7 @@ or
.BR FAN_EVENT_INFO_TYPE_PIDFD .
The value set for this field
is dependent on the flags that have been supplied to
-.BR fanotify_init (2).
+.MR fanotify_init 2 .
Refer to the field details of each information record object type below
to understand the different cases in which the
.I info_type
@@ -574,17 +574,17 @@ It is a structure of type
and contains the same value as
.I f_fsid
when calling
-.BR statfs (2).
+.MR statfs 2 .
.TP
.I handle
This field contains a variable-length structure of type
.IR "struct file_handle" .
It is an opaque handle that corresponds to a specified object on a
filesystem as returned by
-.BR name_to_handle_at (2).
+.MR name_to_handle_at 2 .
It can be used to uniquely identify a file on a filesystem and can be
passed as an argument to
-.BR open_by_handle_at (2).
+.MR open_by_handle_at 2 .
If the value of
.I info_type
field is
@@ -645,7 +645,7 @@ This is a process file descriptor that refers to
the process responsible for generating the event.
The returned process file descriptor is no different from
one which could be obtained manually if
-.BR pidfd_open (2)
+.MR pidfd_open 2
were to be called on
.IR fanotify_event_metadata.pid .
In the instance that an error is encountered during pidfd creation,
@@ -667,7 +667,7 @@ All other possible pidfd creation failures are represented by
Once the event listener has dealt with an event
and the pidfd is no longer required,
the pidfd should be closed via
-.BR close (2).
+.MR close 2 .
.P
The fields of the
.I fanotify_event_info_error
@@ -690,7 +690,7 @@ since the last error was read.
.P
The following macros are provided to iterate over a buffer containing
fanotify event metadata returned by a
-.BR read (2)
+.MR read 2
from an fanotify file descriptor:
.TP
.B FAN_EVENT_OK(meta, len)
@@ -731,13 +731,13 @@ This is the minimum size (and currently the only size) of any event metadata.
.SS Monitoring an fanotify file descriptor for events
When an fanotify event occurs, the fanotify file descriptor indicates as
readable when passed to
-.BR epoll (7),
-.BR poll (2),
+.MR epoll 7 ,
+.MR poll 2 ,
or
-.BR select (2).
+.MR select 2 .
.SS Dealing with permission events
For permission events, the application must
-.BR write (2)
+.MR write 2
a structure of the following form to the
fanotify file descriptor:
.P
@@ -812,7 +812,7 @@ When all file descriptors referring to the fanotify notification group are
closed, the fanotify group is released and its resources
are freed for reuse by the kernel.
Upon
-.BR close (2),
+.MR close 2 ,
outstanding permission events will be set to allowed.
.SS /proc interfaces
The file
@@ -822,7 +822,7 @@ contains information about fanotify marks for file descriptor
of process
.IR pid .
See
-.BR proc (5)
+.MR proc 5
for details.
.P
Since Linux 5.13,
@@ -832,7 +832,7 @@ kernel resources consumed by fanotify:
.TP
.I /proc/sys/fs/fanotify/max_queued_events
The value in this file is used when an application calls
-.BR fanotify_init (2)
+.MR fanotify_init 2
to set an upper limit on the number of events that can be
queued to the corresponding fanotify group.
Events in excess of this limit are dropped, but an
@@ -857,7 +857,7 @@ Prior to Linux kernel 5.13,
the hardcoded limit was 8192 marks per group (not per user).
.SH ERRORS
In addition to the usual errors for
-.BR read (2),
+.MR read 2 ,
the following errors can occur when reading from the
fanotify file descriptor:
.TP
@@ -869,18 +869,18 @@ The per-process limit on the number of open files has been reached.
See the description of
.B RLIMIT_NOFILE
in
-.BR getrlimit (2).
+.MR getrlimit 2 .
.TP
.B ENFILE
The system-wide limit on the total number of open files has been reached.
See
.I /proc/sys/fs/file\-max
in
-.BR proc (5).
+.MR proc 5 .
.TP
.B ETXTBSY
This error is returned by
-.BR read (2)
+.MR read 2
if
.B O_RDWR
or
@@ -888,11 +888,11 @@ or
was specified in the
.I event_f_flags
argument when calling
-.BR fanotify_init (2)
+.MR fanotify_init 2
and an event occurred for a monitored file that is currently being executed.
.P
In addition to the usual errors for
-.BR write (2),
+.MR write 2 ,
the following errors can occur when writing to the fanotify file descriptor:
.TP
.B EINVAL
@@ -928,10 +928,10 @@ it does not catch remote events that occur on network filesystems.
.P
The fanotify API does not report file accesses and modifications that
may occur because of
-.BR mmap (2),
-.BR msync (2),
+.MR mmap 2 ,
+.MR msync 2 ,
and
-.BR munmap (2).
+.MR munmap 2 .
.P
Events for directories are created only if the directory itself is opened,
read, and closed.
@@ -957,12 +957,12 @@ The event queue can overflow.
In this case, events are lost.
.SH BUGS
Before Linux 3.19,
-.BR fallocate (2)
+.MR fallocate 2
did not generate fanotify events.
Since Linux 3.19,
.\" commit 820c12d5d6c0890bc93dd63893924a13041fdc35
calls to
-.BR fallocate (2)
+.MR fallocate 2
generate
.B FAN_MODIFY
events.
@@ -974,7 +974,7 @@ On Linux, a filesystem object may be accessible through multiple paths,
for example, a part of a filesystem may be remounted using the
.I \-\-bind
option of
-.BR mount (8).
+.MR mount 8 .
A listener that marked a mount will be notified only of events that were
triggered for a filesystem object using the same mount.
Any other event will pass unnoticed.
@@ -989,7 +989,7 @@ This poses a security risk, when the
capability is set for programs executed by unprivileged users.
.IP \[bu]
If a call to
-.BR read (2)
+.MR read 2
processes multiple events from the fanotify queue and an error occurs,
the return value will be the total length of the events successfully
copied to the user-space buffer before the error occurred.
@@ -1451,6 +1451,6 @@ main(int argc, char *argv[])
.EE
.SH SEE ALSO
.ad l
-.BR fanotify_init (2),
-.BR fanotify_mark (2),
-.BR inotify (7)
+.MR fanotify_init 2 ,
+.MR fanotify_mark 2 ,
+.MR inotify 7
diff --git a/man7/feature_test_macros.7 b/man7/feature_test_macros.7
index e705445a1..fa5bbbcde 100644
--- a/man7/feature_test_macros.7
+++ b/man7/feature_test_macros.7
@@ -54,7 +54,7 @@ See NOTES.
When a function requires that a feature test macro is defined,
the manual page SYNOPSIS typically includes a note of the following form
(this example from the
-.BR acct (2)
+.MR acct 2
manual page):
.P
.RS
@@ -65,7 +65,7 @@ manual page):
.RS -4
.EX
Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
+.MR feature_test_macros 7 ):
.EE
.RE
.P
@@ -76,7 +76,7 @@ _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
The
.B ||
means that in order to obtain the declaration of
-.BR acct (2)
+.MR acct 2
from
.IR <unistd.h> ,
.I either
@@ -108,7 +108,7 @@ SYNOPSIS.
.P
In a few cases, manual pages use a shorthand for expressing the
feature test macro requirements (this example from
-.BR readahead (2)):
+.MR readahead 2 ):
.P
.RS +4
.EX
@@ -199,7 +199,7 @@ glibc understands the following feature test macros:
.B __STRICT_ANSI__
ISO Standard C.
This macro is implicitly defined by
-.BR gcc (1)
+.MR gcc 1
when invoked with, for example, the
.I \-std=c99
or
@@ -380,13 +380,13 @@ should be employed.
.TP
.B _LARGEFILE_SOURCE
This macro was historically used to expose certain functions (specifically
-.BR fseeko (3)
+.MR fseeko 3
and
-.BR ftello (3))
+.MR ftello 3 )
that address limitations of earlier APIs
.RB ( fseek (3)
and
-.BR ftell (3))
+.MR ftell 3 )
that use
.I long
for file offsets.
@@ -408,7 +408,7 @@ their 64-bit counterparts.
This is useful for performing I/O on large files (> 2 Gigabytes)
on 32-bit systems.
It is also useful when calling functions like
-.BR copy_file_range (2)
+.MR copy_file_range 2
that were added more recently and that come only in 64-bit flavors.
(Defining this macro permits correctly written programs to use
large files with only a recompilation being required.)
@@ -419,7 +419,7 @@ and on those systems this macro has no effect.
.B _TIME_BITS
Defining this macro with the value 64
changes the width of
-.BR time_t (3type)
+.MR time_t 3type
to 64-bit which allows handling of timestamps beyond
2038.
It is closely related to
@@ -473,7 +473,7 @@ and
Defining this macro with any value causes header files to expose
System V-derived definitions.
(SVID == System V Interface Definition; see
-.BR standards (7).)
+.MR standards 7 .)
.IP
Since glibc 2.20, this macro is deprecated in the same fashion as
.BR _BSD_SOURCE .
@@ -505,7 +505,7 @@ cc \-D_BSD_SOURCE \-D_SVID_SOURCE \-D_POSIX_C_SOURCE=200809
Defining this macro with any value causes header files to expose
declarations of a range of functions with the suffix "at";
see
-.BR openat (2).
+.MR openat 2 .
Since glibc 2.10, this macro is also implicitly defined if
.B _POSIX_C_SOURCE
is defined with a value greater than or equal to 200809L.
@@ -597,22 +597,22 @@ provided for compatibility with some other implementations.
Defining this macro causes some lightweight checks to be performed
to detect some buffer overflow errors when employing
various string and memory manipulation functions (for example,
-.BR memcpy (3),
-.BR memset (3),
-.BR stpcpy (3),
-.BR strcpy (3),
-.BR strncpy (3),
-.BR strcat (3),
-.BR strncat (3),
-.BR sprintf (3),
-.BR snprintf (3),
-.BR vsprintf (3),
-.BR vsnprintf (3),
-.BR gets (3),
+.MR memcpy 3 ,
+.MR memset 3 ,
+.MR stpcpy 3 ,
+.MR strcpy 3 ,
+.MR strncpy 3 ,
+.MR strcat 3 ,
+.MR strncat 3 ,
+.MR sprintf 3 ,
+.MR snprintf 3 ,
+.MR vsprintf 3 ,
+.MR vsnprintf 3 ,
+.MR gets 3 ,
and wide character variants thereof).
For some functions, argument consistency is checked;
for example, a check is made that
-.BR open (2)
+.MR open 2
has been supplied with a
.I mode
argument when the specified flags include
@@ -655,7 +655,7 @@ set to 3, additional checking is added to intercept
some function calls used with an argument of variable size
where the compiler can deduce an upper bound for its value.
For example, a program where
-.BR malloc (3)'s
+.MR malloc 3 's
size argument is variable
can now be fortified.
.IP
@@ -926,9 +926,9 @@ main(int argc, char *argv[])
}
.EE
.SH SEE ALSO
-.BR libc (7),
-.BR standards (7),
-.BR system_data_types (7)
+.MR libc 7 ,
+.MR standards 7 ,
+.MR system_data_types 7
.P
The section "Feature Test Macros" under
.IR "info libc" .
diff --git a/man7/fifo.7 b/man7/fifo.7
index 92ac5fd89..13bc295a4 100644
--- a/man7/fifo.7
+++ b/man7/fifo.7
@@ -47,7 +47,7 @@ that uses both ends of the connection in order to communicate
with itself should be very careful to avoid deadlocks.
.SH NOTES
For details of the semantics of I/O on FIFOs, see
-.BR pipe (7).
+.MR pipe 7 .
.P
When a process tries to write to a FIFO that is not opened
for read on the other side, the process is sent a
@@ -55,16 +55,16 @@ for read on the other side, the process is sent a
signal.
.P
FIFO special files can be created by
-.BR mkfifo (3),
+.MR mkfifo 3 ,
and are indicated by
.I ls\~\-l
with the file type \[aq]p\[aq].
.SH SEE ALSO
-.BR mkfifo (1),
-.BR open (2),
-.BR pipe (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR socketpair (2),
-.BR mkfifo (3),
-.BR pipe (7)
+.MR mkfifo 1 ,
+.MR open 2 ,
+.MR pipe 2 ,
+.MR sigaction 2 ,
+.MR signal 2 ,
+.MR socketpair 2 ,
+.MR mkfifo 3 ,
+.MR pipe 7
diff --git a/man7/futex.7 b/man7/futex.7
index 7a8fcd5a7..d8883a130 100644
--- a/man7/futex.7
+++ b/man7/futex.7
@@ -24,7 +24,7 @@ mutexes, condition variables, read-write locks, barriers, and semaphores.
Most programmers will in fact not be using futexes directly but will
instead rely on system libraries built on them,
such as the Native POSIX Thread Library (NPTL) (see
-.BR pthreads (7)).
+.MR pthreads 7 ).
.P
A futex is identified by a piece of memory which can be
shared between processes or threads.
@@ -42,13 +42,13 @@ In its bare form, a futex is an aligned integer which is
touched only by atomic assembler instructions.
This integer is four bytes long on all platforms.
Processes can share this integer using
-.BR mmap (2),
+.MR mmap 2 ,
via shared memory segments, or because they share memory space,
in which case the application is commonly called multithreaded.
.SS Semantics
Any futex operation starts in user space,
but it may be necessary to communicate with the kernel using the
-.BR futex (2)
+.MR futex 2
system call.
.P
To "up" a futex, execute the proper assembler instructions that
@@ -75,13 +75,13 @@ This is done using the
operation.
.P
The
-.BR futex (2)
+.MR futex 2
system call can optionally be passed a timeout specifying how long
the kernel should
wait for the futex to be upped.
In this case, semantics are more complex and the programmer is referred
to
-.BR futex (2)
+.MR futex 2
for
more details.
The same holds for asynchronous futex waiting.
@@ -97,7 +97,7 @@ the sources of the futex user-space library referenced
below.
.P
This man page illustrates the most common use of the
-.BR futex (2)
+.MR futex 2
primitives; it is by no means the only one.
.\" .SH AUTHORS
.\" .P
@@ -107,12 +107,12 @@ primitives; it is by no means the only one.
.\" Rusty Russell (IBM Linux Technology Center).
.\" This page written by bert hubert.
.SH SEE ALSO
-.BR clone (2),
-.BR futex (2),
-.BR get_robust_list (2),
-.BR set_robust_list (2),
-.BR set_tid_address (2),
-.BR pthreads (7)
+.MR clone 2 ,
+.MR futex 2 ,
+.MR get_robust_list 2 ,
+.MR set_robust_list 2 ,
+.MR set_tid_address 2 ,
+.MR pthreads 7
.P
.I Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux
(proceedings of the Ottawa Linux Symposium 2002),
diff --git a/man7/glob.7 b/man7/glob.7
index 6217b2c3e..9ab005bf8 100644
--- a/man7/glob.7
+++ b/man7/glob.7
@@ -14,7 +14,7 @@ that would expand wildcard patterns.
Soon afterward this became a shell built-in.
.P
These days there is also a library routine
-.BR glob (3)
+.MR glob 3
that will perform this function for a user program.
.P
The rules are as follows (POSIX.2, 3.13).
@@ -198,8 +198,8 @@ For example, "\fI[[=a=]]\fP" might be equivalent
to "\fI[a\('a\(`a\(:a\(^a]\fP", that is,
to "\fI[a[.a-acute.][.a-grave.][.a-umlaut.][.a-circumflex.]]\fP".
.SH SEE ALSO
-.BR sh (1),
-.BR fnmatch (3),
-.BR glob (3),
-.BR locale (7),
-.BR regex (7)
+.MR sh 1 ,
+.MR fnmatch 3 ,
+.MR glob 3 ,
+.MR locale 7 ,
+.MR regex 7
diff --git a/man7/hier.7 b/man7/hier.7
index cdccc1ffa..7dcd0dece 100644
--- a/man7/hier.7
+++ b/man7/hier.7
@@ -39,7 +39,7 @@ or
.I /dev
Special or device files, which refer to physical devices.
See
-.BR mknod (1).
+.MR mknod 1 .
.TP
.I /etc
Contains configuration files which are local to the machine.
@@ -136,7 +136,7 @@ This is a mount point for the
filesystem, which provides information about running processes and
the kernel.
This pseudo-filesystem is described in more detail in
-.BR proc (5).
+.MR proc 5 .
.TP
.I /root
This directory is usually the home directory for the root user (optional).
@@ -305,14 +305,14 @@ a symbolic link to
.TP
.I /usr/lib/gcc\-lib
contains executables and include files for the GNU C compiler,
-.BR gcc (1).
+.MR gcc 1 .
.TP
.I /usr/lib/groff
Files for the GNU groff document formatting system.
.TP
.I /usr/lib/uucp
Files for
-.BR uucp (1).
+.MR uucp 1 .
.TP
.I /usr/local
This is where programs which are local to the site typically go.
@@ -591,11 +591,11 @@ Spooled (or queued) files for various programs.
.TP
.I /var/spool/at
Spooled jobs for
-.BR at (1).
+.MR at 1 .
.TP
.I /var/spool/cron
Spooled jobs for
-.BR cron (8).
+.MR cron 8 .
.TP
.I /var/spool/lpd
Spooled files for printing (optional).
@@ -615,17 +615,17 @@ Spool directory for news (optional).
.TP
.I /var/spool/rwho
Spooled files for
-.BR rwhod (8)
+.MR rwhod 8
(optional).
.TP
.I /var/spool/smail
Spooled files for the
-.BR smail (1)
+.MR smail 1
mail delivery program.
.TP
.I /var/spool/uucp
Spooled files for
-.BR uucp (1)
+.MR uucp 1
(optional).
.TP
.I /var/tmp
@@ -645,10 +645,10 @@ published March 19, 2015
This list is not exhaustive;
different distributions and systems may be configured differently.
.SH SEE ALSO
-.BR find (1),
-.BR ln (1),
-.BR proc (5),
-.BR file\-hierarchy (7),
-.BR mount (8)
+.MR find 1 ,
+.MR ln 1 ,
+.MR proc 5 ,
+.MR file\-hierarchy 7 ,
+.MR mount 8
.P
The Filesystem Hierarchy Standard
diff --git a/man7/hostname.7 b/man7/hostname.7
index 7b1cf4733..691ec099a 100644
--- a/man7/hostname.7
+++ b/man7/hostname.7
@@ -19,7 +19,7 @@ subdomain of the "com" domain would be represented as "monet.example.com".
Each element of the hostname must be from 1 to 63 characters long and the
entire hostname, including the dots, can be at most 253 characters long.
Valid characters for hostnames are
-.BR ASCII (7)
+.MR ASCII 7
letters from
.I a
to
@@ -34,15 +34,15 @@ A hostname may not start with a hyphen.
Hostnames are often used with network client and server programs,
which must generally translate the name to an address for use.
(This task is generally performed by either
-.BR getaddrinfo (3)
+.MR getaddrinfo 3
or the obsolete
-.BR gethostbyname (3).)
+.MR gethostbyname 3 .)
.P
Hostnames are resolved by the NSS framework in glibc according
to the
.B hosts
configuration in
-.BR nsswitch.conf (5).
+.MR nsswitch.conf 5 .
The DNS-based name resolver
(in the
.B dns
@@ -76,14 +76,14 @@ lithium.cchem.com will not be tried, as there is only one component
remaining from the local domain.
The search path can be changed from the default
by a system-wide configuration file (see
-.BR resolver (5)).
+.MR resolver 5 ).
.SH SEE ALSO
-.BR getaddrinfo (3),
-.BR gethostbyname (3),
-.BR nsswitch.conf (5),
-.BR resolver (5),
-.BR mailaddr (7),
-.BR named (8)
+.MR getaddrinfo 3 ,
+.MR gethostbyname 3 ,
+.MR nsswitch.conf 5 ,
+.MR resolver 5 ,
+.MR mailaddr 7 ,
+.MR named 8
.P
.UR http://www.ietf.org\:/rfc\:/rfc1123.txt
IETF RFC\ 1123
diff --git a/man7/icmp.7 b/man7/icmp.7
index da6959660..883705b88 100644
--- a/man7/icmp.7
+++ b/man7/icmp.7
@@ -21,7 +21,7 @@ A user protocol may receive ICMP packets for all local sockets by opening
a raw socket with the protocol
.BR IPPROTO_ICMP .
See
-.BR raw (7)
+.MR raw 7
for more information.
The types of ICMP packets passed to the socket can be filtered using the
.B ICMP_FILTER
@@ -187,10 +187,10 @@ is in milliseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
.P
Linux ICMP internally uses a raw socket to send ICMPs.
This raw socket may appear in
-.BR netstat (8)
+.MR netstat 8
output with a zero inode.
.SH SEE ALSO
-.BR ip (7),
-.BR rdisc (8)
+.MR ip 7 ,
+.MR rdisc 8
.P
RFC\ 792 for a description of the ICMP protocol.
diff --git a/man7/inode.7 b/man7/inode.7
index 45bf71467..444c17362 100644
--- a/man7/inode.7
+++ b/man7/inode.7
@@ -9,11 +9,11 @@ inode \- file inode information
.SH DESCRIPTION
Each file has an inode containing metadata about the file.
An application can retrieve this metadata using
-.BR stat (2)
+.MR stat 2
(or related calls), which returns a
.I stat
structure, or
-.BR statx (2),
+.MR statx 2 ,
which returns a
.I statx
structure.
@@ -21,9 +21,9 @@ structure.
The following is a list of the information typically found in,
or associated with, the file inode,
with the names of the corresponding structure fields returned by
-.BR stat (2)
+.MR stat 2
and
-.BR statx (2):
+.MR statx 2 :
.TP
Device where inode resides
\fIstat.st_dev\fP; \fIstatx.stx_dev_minor\fP and \fIstatx.stx_dev_major\fP
@@ -53,7 +53,7 @@ Link count
.IP
This field contains the number of hard links to the file.
Additional links to an existing file are created using
-.BR link (2).
+.MR link 2 .
.TP
User ID
\fIstat.st_uid\fP; \fIstatx.stx_uid\fP
@@ -62,7 +62,7 @@ This field records the user ID of the owner of the file.
For newly created files,
the file user ID is the effective user ID of the creating process.
The user ID of a file can be changed using
-.BR chown (2).
+.MR chown 2 .
.TP
Group ID
\fIstat.st_gid\fP; \fIstatx.stx_gid\fP
@@ -74,7 +74,7 @@ the effective group ID of the creating process,
depending on whether or not the set-group-ID bit
is set on the parent directory (see below).
The group ID of a file can be changed using
-.BR chown (2).
+.MR chown 2 .
.TP
Device represented by this inode
\fIstat.st_rdev\fP; \fIstatx.stx_rdev_minor\fP and \fIstatx.stx_rdev_major\fP
@@ -122,15 +122,15 @@ Last access timestamp (atime)
.IP
This is the file's last access timestamp.
It is changed by file accesses, for example, by
-.BR execve (2),
-.BR mknod (2),
-.BR pipe (2),
-.BR utime (2),
+.MR execve 2 ,
+.MR mknod 2 ,
+.MR pipe 2 ,
+.MR utime 2 ,
and
-.BR read (2)
+.MR read 2
(of more than zero bytes).
Other interfaces, such as
-.BR mmap (2),
+.MR mmap 2 ,
may or may not update the atime timestamp
.IP
Some filesystem types allow mounting in such a way that file
@@ -141,14 +141,14 @@ and/or directory accesses do not cause an update of the atime timestamp.
and
.I relatime
in
-.BR mount (8),
+.MR mount 8 ,
and related information in
-.BR mount (2).)
+.MR mount 2 .)
In addition, the atime timestamp
is not updated if a file is opened with the
.B O_NOATIME
flag; see
-.BR open (2).
+.MR open 2 .
.TP
File creation (birth) timestamp (btime)
(not returned in the \fIstat\fP structure); \fIstatx.stx_btime\fP
@@ -165,11 +165,11 @@ Last modification timestamp (mtime)
.IP
This is the file's last modification timestamp.
It is changed by file modifications, for example, by
-.BR mknod (2),
-.BR truncate (2),
-.BR utime (2),
+.MR mknod 2 ,
+.MR truncate 2 ,
+.MR utime 2 ,
and
-.BR write (2)
+.MR write 2
(of more than zero bytes).
Moreover, the mtime timestamp
of a directory is changed by the creation or deletion of files
@@ -188,7 +188,7 @@ It is changed by writing or by setting inode information
The timestamp fields report time measured with a zero point at the
.IR Epoch ,
1970-01-01 00:00:00 +0000, UTC (see
-.BR time (7)).
+.MR time 7 ).
.P
Nanosecond timestamps are supported on XFS, JFS, Btrfs, and
ext4 (since Linux 2.6.23).
@@ -201,9 +201,9 @@ and
.I statx
structures are defined as structures that include a nanosecond component.
See
-.BR stat (2)
+.MR stat 2
and
-.BR statx (2)
+.MR statx 2
for details.
On filesystems that do not support subsecond timestamps,
the nanosecond fields in the
@@ -216,7 +216,7 @@ structures are returned with the value 0.
The
.I stat.st_mode
field (for
-.BR statx (2),
+.MR statx 2 ,
the
.I statx.stx_mode
field) contains the file type and mode.
@@ -265,25 +265,25 @@ macros are defined by POSIX to allow the test of the file type in
to be written more concisely:
.RS 4
.TP 1.2i
-.BR S_ISREG (m)
+.MR S_ISREG m
is it a regular file?
.TP
-.BR S_ISDIR (m)
+.MR S_ISDIR m
directory?
.TP
-.BR S_ISCHR (m)
+.MR S_ISCHR m
character device?
.TP
-.BR S_ISBLK (m)
+.MR S_ISBLK m
block device?
.TP
-.BR S_ISFIFO (m)
+.MR S_ISFIFO m
FIFO (named pipe)?
.TP
-.BR S_ISLNK (m)
+.MR S_ISLNK m
symbolic link? (Not in POSIX.1-1996.)
.TP
-.BR S_ISSOCK (m)
+.MR S_ISSOCK m
socket? (Not in POSIX.1-1996.)
.RE
.P
@@ -408,7 +408,7 @@ and directories created there will also get the
bit set.
For an executable file, the set-group-ID bit causes the effective group ID
of a process that executes the file to change as described in
-.BR execve (2).
+.MR execve 2 .
For a file that does not have the group execution bit
.RB ( S_IXGRP )
set,
@@ -474,7 +474,7 @@ For such files, one should simply try to read as many bytes as possible
(and append \[aq]\e0\[aq] to the returned buffer
if it is to be interpreted as a string).
.SH SEE ALSO
-.BR stat (1),
-.BR stat (2),
-.BR statx (2),
-.BR symlink (7)
+.MR stat 1 ,
+.MR stat 2 ,
+.MR statx 2 ,
+.MR symlink 7
diff --git a/man7/inotify.7 b/man7/inotify.7
index bd3972f80..59bdb03b5 100644
--- a/man7/inotify.7
+++ b/man7/inotify.7
@@ -17,42 +17,42 @@ for the directory itself, and for files inside the directory.
.P
The following system calls are used with this API:
.IP \[bu] 3
-.BR inotify_init (2)
+.MR inotify_init 2
creates an inotify instance and returns a file descriptor
referring to the inotify instance.
The more recent
-.BR inotify_init1 (2)
+.MR inotify_init1 2
is like
-.BR inotify_init (2),
+.MR inotify_init 2 ,
but has a
.I flags
argument that provides access to some extra functionality.
.IP \[bu]
-.BR inotify_add_watch (2)
+.MR inotify_add_watch 2
manipulates the "watch list" associated with an inotify instance.
Each item ("watch") in the watch list specifies the pathname of
a file or directory,
along with some set of events that the kernel should monitor for the
file referred to by that pathname.
-.BR inotify_add_watch (2)
+.MR inotify_add_watch 2
either creates a new watch item, or modifies an existing watch.
Each watch has a unique "watch descriptor", an integer
returned by
-.BR inotify_add_watch (2)
+.MR inotify_add_watch 2
when the watch is created.
.IP \[bu]
When events occur for monitored files and directories,
those events are made available to the application as structured data that
can be read from the inotify file descriptor using
-.BR read (2)
+.MR read 2
(see below).
.IP \[bu]
-.BR inotify_rm_watch (2)
+.MR inotify_rm_watch 2
removes an item from an inotify watch list.
.IP \[bu]
When all file descriptors referring to an inotify
instance have been closed (using
-.BR close (2)),
+.MR close 2 ),
the underlying object and its resources are
freed for reuse by the kernel;
all associated watches are automatically freed.
@@ -67,20 +67,20 @@ It is probably wise to do some consistency checking,
and rebuild the cache when inconsistencies are detected.
.SS Reading events from an inotify file descriptor
To determine what events have occurred, an application
-.BR read (2)s
+.MR read 2 s
from the inotify file descriptor.
If no events have so far occurred, then,
assuming a blocking file descriptor,
-.BR read (2)
+.MR read 2
will block until at least one event occurs
(unless interrupted by a signal,
in which case the call fails with the error
.BR EINTR ;
see
-.BR signal (7)).
+.MR signal 7 ).
.P
Each successful
-.BR read (2)
+.MR read 2
returns a buffer containing one or more of the following structures:
.P
.in +4n
@@ -103,7 +103,7 @@ struct inotify_event {
.I wd
identifies the watch for which this event occurs.
It is one of the watch descriptors returned by a previous call to
-.BR inotify_add_watch (2).
+.MR inotify_add_watch 2 .
.P
.I mask
contains bits that describe the event that occurred (see below).
@@ -140,12 +140,12 @@ structure is thus
.IR "sizeof(struct inotify_event)+len" .
.P
The behavior when the buffer given to
-.BR read (2)
+.MR read 2
is too small to return information about the next event depends
on the kernel version: before Linux 2.6.21,
-.BR read (2)
+.MR read 2
returns 0; since Linux 2.6.21,
-.BR read (2)
+.MR read 2
fails with the error
.BR EINVAL .
Specifying a buffer of size
@@ -159,49 +159,50 @@ sizeof(struct inotify_event) + NAME_MAX + 1
will be sufficient to read at least one event.
.SS inotify events
The
-.BR inotify_add_watch (2)
+.MR inotify_add_watch 2
.I mask
argument and the
.I mask
field of the
.I inotify_event
structure returned when
-.BR read (2)ing
+.MR read 2 ing
an inotify file descriptor are both bit masks identifying
inotify events.
The following bits can be specified in
.I mask
when calling
-.BR inotify_add_watch (2)
+.MR inotify_add_watch 2
and may be returned in the
.I mask
field returned by
-.BR read (2):
+.MR read 2 :
.RS 4
.TP
.BR IN_ACCESS " (+)"
File was accessed (e.g.,
-.BR read (2),
-.BR execve (2)).
+.MR read 2 ,
+.MR execve 2 ).
.TP
.BR IN_ATTRIB " (*)"
Metadata changed\[em]for example, permissions (e.g.,
-.BR chmod (2)),
+.MR chmod 2 ),
timestamps (e.g.,
-.BR utimensat (2)),
+.MR utimensat 2 ),
extended attributes
-.RB ( setxattr (2)),
+\%(\c
+.MR setxattr 2 ),
link count (since Linux 2.6.25; e.g.,
.\" FIXME .
.\" Events do not occur for link count changes on a file inside a monitored
.\" directory. This differs from other metadata changes for files inside
.\" a monitored directory.
for the target of
-.BR link (2)
+.MR link 2
and for
-.BR unlink (2)),
+.MR unlink 2 ),
and user/group ID (e.g.,
-.BR chown (2)).
+.MR chown 2 ).
.TP
.BR IN_CLOSE_WRITE " (+)"
File opened for writing was closed.
@@ -211,12 +212,12 @@ File or directory not opened for writing was closed.
.TP
.BR IN_CREATE " (+)"
File/directory created in watched directory (e.g.,
-.BR open (2)
+.MR open 2
.BR O_CREAT ,
-.BR mkdir (2),
-.BR link (2),
-.BR symlink (2),
-.BR bind (2)
+.MR mkdir 2 ,
+.MR link 2 ,
+.MR symlink 2 ,
+.MR bind 2
on a UNIX domain socket).
.TP
.BR IN_DELETE " (+)"
@@ -226,7 +227,7 @@ File/directory deleted from watched directory.
Watched file/directory was itself deleted.
(This event also occurs if an object is moved to another filesystem,
since
-.BR mv (1)
+.MR mv 1
in effect copies the file to the other filesystem and
then deletes it from the original filesystem.)
In addition, an
@@ -235,8 +236,8 @@ event will subsequently be generated for the watch descriptor.
.TP
.BR IN_MODIFY " (+)"
File was modified (e.g.,
-.BR write (2),
-.BR truncate (2)).
+.MR write 2 ,
+.MR truncate 2 ).
.TP
.B IN_MOVE_SELF
Watched file/directory was itself moved.
@@ -284,7 +285,7 @@ macro is defined as a bit mask of all of the above events.
This macro can be used as the
.I mask
argument when calling
-.BR inotify_add_watch (2).
+.MR inotify_add_watch 2 .
.P
Two additional convenience macros are defined:
.RS 4
@@ -301,7 +302,7 @@ Equates to
The following further bits can be specified in
.I mask
when calling
-.BR inotify_add_watch (2):
+.MR inotify_add_watch 2 :
.RS 4
.TP
.BR IN_DONT_FOLLOW " (since Linux 2.6.15)"
@@ -369,19 +370,20 @@ Using this flag provides an application with a way of ensuring
that new watches do not modify existing ones.
This is useful because multiple paths may refer to the same inode,
and multiple calls to
-.BR inotify_add_watch (2)
+.MR inotify_add_watch 2
without this flag may clobber existing watch masks.
.RE
.P
The following bits may be set in the
.I mask
field returned by
-.BR read (2):
+.MR read 2 :
.RS 4
.TP
.B IN_IGNORED
Watch was removed explicitly
-.RB ( inotify_rm_watch (2))
+\%(\c
+.MR inotify_rm_watch 2 )
or automatically (file was deleted, or filesystem was unmounted).
See also BUGS.
.TP
@@ -561,7 +563,7 @@ kernel memory consumed by inotify:
.TP
.I /proc/sys/fs/inotify/max_queued_events
The value in this file is used when an application calls
-.BR inotify_init (2)
+.MR inotify_init 2
to set an upper limit on the number of events that can be
queued to the corresponding inotify instance.
Events in excess of this limit are dropped, but an
@@ -587,10 +589,10 @@ and
were added in glibc 2.5.)
.SH NOTES
Inotify file descriptors can be monitored using
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
and
-.BR epoll (7).
+.MR epoll 7 .
When an event is available, the file descriptor indicates as readable.
.P
Since Linux 2.6.25,
@@ -604,11 +606,11 @@ flag),
and
.B F_SETSIG
in
-.BR fcntl (2).
+.MR fcntl 2 .
The
.I siginfo_t
structure (described in
-.BR sigaction (2))
+.MR sigaction 2 )
that is passed to the signal handler has the following fields set:
.I si_fd
is set to the inotify file descriptor number;
@@ -647,11 +649,11 @@ the inotify file descriptor in the process's
.IR /proc/ pid /fdinfo
directory.
See
-.BR proc (5)
+.MR proc 5
for further details.
The
.B FIONREAD
-.BR ioctl (2)
+.MR ioctl 2
returns the number of bytes available to read from an
inotify file descriptor.
.SS Limitations and caveats
@@ -677,10 +679,10 @@ are not monitorable with inotify.
.P
The inotify API does not report file accesses and modifications that
may occur because of
-.BR mmap (2),
-.BR msync (2),
+.MR mmap 2 ,
+.MR msync 2 ,
and
-.BR munmap (2).
+.MR munmap 2 .
.P
The inotify API identifies affected files by filename.
However, by the time an application processes an inotify event,
@@ -730,7 +732,7 @@ As noted above, the
and
.B IN_MOVED_TO
event pair that is generated by
-.BR rename (2)
+.MR rename 2
can be matched up via their shared cookie value.
However, the task of matching has some challenges.
.P
@@ -756,7 +758,7 @@ Matching up the
and
.B IN_MOVED_TO
event pair generated by
-.BR rename (2)
+.MR rename 2
is thus inherently racy.
(Don't forget that if an object is renamed outside of a monitored directory,
there may not even be an
@@ -780,11 +782,11 @@ Applications should also allow for the possibility that the
.B IN_MOVED_FROM
event was the last event that could fit in the buffer
returned by the current call to
-.BR read (2),
+.MR read 2 ,
and the accompanying
.B IN_MOVED_TO
event might be fetched only on the next
-.BR read (2),
+.MR read 2 ,
which should be done with a (small) timeout to allow for the fact that
insertion of the
.BR IN_MOVED_FROM + IN_MOVED_TO
@@ -794,12 +796,12 @@ and also the possibility that there may not be any
event.
.SH BUGS
Before Linux 3.19,
-.BR fallocate (2)
+.MR fallocate 2
did not create any inotify events.
Since Linux 3.19,
.\" commit 820c12d5d6c0890bc93dd63893924a13041fdc35
calls to
-.BR fallocate (2)
+.MR fallocate 2
generate
.B IN_MODIFY
events.
@@ -832,12 +834,12 @@ instead checked if the most recent event could be coalesced with the
unread event.
.P
When a watch descriptor is removed by calling
-.BR inotify_rm_watch (2)
+.MR inotify_rm_watch 2
(or because a watch file is deleted or the filesystem
that contains it is unmounted),
any pending unread events for that watch descriptor remain available to read.
As watch descriptors are subsequently allocated with
-.BR inotify_add_watch (2),
+.MR inotify_add_watch 2 ,
the kernel cycles through the range of possible watch descriptors (1 to
.BR INT_MAX )
incrementally.
@@ -1086,15 +1088,15 @@ main(int argc, char* argv[])
}
.EE
.SH SEE ALSO
-.BR inotifywait (1),
-.BR inotifywatch (1),
-.BR inotify_add_watch (2),
-.BR inotify_init (2),
-.BR inotify_init1 (2),
-.BR inotify_rm_watch (2),
-.BR read (2),
-.BR stat (2),
-.BR fanotify (7)
+.MR inotifywait 1 ,
+.MR inotifywatch 1 ,
+.MR inotify_add_watch 2 ,
+.MR inotify_init 2 ,
+.MR inotify_init1 2 ,
+.MR inotify_rm_watch 2 ,
+.MR read 2 ,
+.MR stat 2 ,
+.MR fanotify 7
.P
.I Documentation/filesystems/inotify.txt
in the Linux kernel source tree
diff --git a/man7/intro.7 b/man7/intro.7
index 0ed9f73ce..0c03ae400 100644
--- a/man7/intro.7
+++ b/man7/intro.7
@@ -20,4 +20,4 @@ Look at the header of the manual page source for the author(s) and copyright
conditions.
Note that these can be different from page to page!
.SH SEE ALSO
-.BR standards (7)
+.MR standards 7
diff --git a/man7/ip.7 b/man7/ip.7
index 2b4b06324..108076ebf 100644
--- a/man7/ip.7
+++ b/man7/ip.7
@@ -59,10 +59,10 @@ It also contains an IP router including a packet filter.
.P
The programming interface is BSD-sockets compatible.
For more information on sockets, see
-.BR socket (7).
+.MR socket 7 .
.P
An IP socket is created using
-.BR socket (2):
+.MR socket 2 :
.P
.in +4n
.EX
@@ -77,7 +77,7 @@ to open a stream socket,
to open a datagram socket, and
.B SOCK_RAW
to open a
-.BR raw (7)
+.MR raw 7
socket to access the IP protocol directly.
.P
.I protocol
@@ -89,23 +89,23 @@ include:
0 and
.B IPPROTO_TCP
for
-.BR tcp (7)
+.MR tcp 7
stream sockets;
.IP \[bu]
0 and
.B IPPROTO_UDP
for
-.BR udp (7)
+.MR udp 7
datagram sockets;
.IP \[bu]
.B IPPROTO_SCTP
for
-.BR sctp (7)
+.MR sctp 7
stream sockets; and
.IP \[bu]
.B IPPROTO_UDPLITE
for
-.BR udplite (7)
+.MR udplite 7
datagram sockets.
.P
For
@@ -115,7 +115,7 @@ RFC\ 1700 assigned numbers.
.P
When a process wants to receive new incoming packets or connections, it
should bind a socket to a local interface address using
-.BR bind (2).
+.MR bind 2 .
In this case, only one IP socket may be bound to any given local
(address, port) pair.
When
@@ -124,12 +124,12 @@ is specified in the bind call, the socket will be bound to
.I all
local interfaces.
When
-.BR listen (2)
+.MR listen 2
is called on an unbound socket, the socket is automatically bound
to a random free port with the local address set to
.BR INADDR_ANY .
When
-.BR connect (2)
+.MR connect 2
is called on an unbound socket, the socket is automatically bound
to a random free port or to a usable shared port with the local address
set to
@@ -145,9 +145,9 @@ An IP socket address is defined as a combination of an IP interface
address and a 16-bit port number.
The basic IP protocol does not supply port numbers, they
are implemented by higher level protocols like
-.BR udp (7)
+.MR udp 7
and
-.BR tcp (7).
+.MR tcp 7 .
On raw sockets
.I sin_port
is set to the IP protocol.
@@ -183,13 +183,13 @@ Only a privileged process
(on Linux: a process that has the
.B CAP_NET_BIND_SERVICE
capability in the user namespace governing its network namespace) may
-.BR bind (2)
+.MR bind 2
to these sockets.
Note that the raw IPv4 protocol as such has no concept of a
port, they are implemented only by higher protocols like
-.BR tcp (7)
+.MR tcp 7
and
-.BR udp (7).
+.MR udp 7 .
.P
.I sin_addr
is the IP host address.
@@ -205,13 +205,13 @@ values
(e.g.,
.BR INADDR_LOOPBACK )
using
-.BR htonl (3)
+.MR htonl 3
or set using the
-.BR inet_aton (3),
-.BR inet_addr (3),
-.BR inet_makeaddr (3)
+.MR inet_aton 3 ,
+.MR inet_addr 3 ,
+.MR inet_makeaddr 3
library functions or directly with the name resolver (see
-.BR gethostbyname (3)).
+.MR gethostbyname 3 ).
.P
IPv4 addresses are divided into unicast, broadcast,
and multicast addresses.
@@ -228,7 +228,7 @@ to use only unicast addresses.
Note that the address and the port are always stored in
network byte order.
In particular, this means that you need to call
-.BR htons (3)
+.MR htons 3
on the number that is assigned to a port.
All address/port manipulation
functions in the standard library work in network byte order.
@@ -243,7 +243,7 @@ means any address for socket binding;
.TP
.BR INADDR_BROADCAST " (255.255.255.255)"
has the same effect on
-.BR bind (2)
+.MR bind 2
as
.B INADDR_ANY
for historical reasons.
@@ -307,18 +307,18 @@ akin to the standardized local loopback address
Addresses in this range (224/4) are dedicated to multicast use.
.SS Socket options
IP supports some protocol-specific socket options that can be set with
-.BR setsockopt (2)
+.MR setsockopt 2
and read with
-.BR getsockopt (2).
+.MR getsockopt 2 .
The socket option level for IP is
.BR IPPROTO_IP .
.\" or SOL_IP on Linux
A boolean integer flag is zero when it is false, otherwise true.
.P
When an invalid socket option is specified,
-.BR getsockopt (2)
+.MR getsockopt 2
and
-.BR setsockopt (2)
+.MR setsockopt 2
fail with the error
.BR ENOPROTOOPT .
.TP
@@ -346,7 +346,7 @@ wants to join or leave.
It must be a valid multicast address
.\" (i.e., within the 224.0.0.0-239.255.255.255 range)
(or
-.BR setsockopt (2)
+.MR setsockopt 2
fails with the error
.BR EINVAL ).
.I imr_address
@@ -376,7 +376,7 @@ on the size passed in
.IP
.B IP_ADD_MEMBERSHIP
is valid only for
-.BR setsockopt (2).
+.MR setsockopt 2 .
.\"
.TP
.BR IP_ADD_SOURCE_MEMBERSHIP " (since Linux 2.4.22 / Linux 2.5.68)"
@@ -424,10 +424,10 @@ receiving data from more than one source.
.BR IP_BIND_ADDRESS_NO_PORT " (since Linux 4.2)"
.\" commit 90c337da1524863838658078ec34241f45d8394d
Inform the kernel to not reserve an ephemeral port when using
-.BR bind (2)
+.MR bind 2
with a port number of 0.
The port will later be automatically chosen at
-.BR connect (2)
+.MR connect 2
time,
in a way that allows sharing a source port as long as the 4-tuple is unique.
.TP
@@ -485,7 +485,7 @@ the user supplies an IP header in front of the user data.
Valid only for
.B SOCK_RAW
sockets; see
-.BR raw (7)
+.MR raw 7
for more information.
When this flag is enabled, the values set by
.BR IP_OPTIONS ,
@@ -549,7 +549,7 @@ and
.BR MCAST_EXCLUDE ,
which can be used to specify the filtering mode.
Additionally, the
-.BR IP_MSFILTER_SIZE (n)
+.MR IP_MSFILTER_SIZE n
macro exists to determine how much memory is needed to store
.I ip_msfilter
structure with
@@ -566,7 +566,7 @@ Returns an integer.
.IP
.B IP_MTU
is valid only for
-.BR getsockopt (2)
+.MR getsockopt 2
and can be employed only when the socket has been connected.
.TP
.BR IP_MTU_DISCOVER " (since Linux 2.2)"
@@ -611,7 +611,7 @@ IP_PMTUDISC_PROBE:Set DF but ignore Path MTU.
When PMTU discovery is enabled, the kernel automatically keeps track of
the path MTU per destination host.
When it is connected to a specific peer with
-.BR connect (2),
+.MR connect 2 ,
the currently known path MTU can be retrieved conveniently using the
.B IP_MTU
socket option (e.g., after an
@@ -635,9 +635,9 @@ is possible to start with a big datagram size
.IP
To get an initial estimate of the
path MTU, connect a datagram socket to the destination address using
-.BR connect (2)
+.MR connect 2
and retrieve the MTU by calling
-.BR getsockopt (2)
+.MR getsockopt 2
with the
.B IP_MTU
option.
@@ -650,7 +650,7 @@ sockets by setting a value of
.B IP_PMTUDISC_PROBE
(available since Linux 2.6.22).
This is also particularly useful for diagnostic tools such as
-.BR tracepath (8)
+.MR tracepath 8
that wish to deliberately send probe packets larger than
the observed Path MTU.
.TP
@@ -668,7 +668,7 @@ option) on this particular socket.
.BR IP_MULTICAST_IF " (since Linux 1.2)"
Set the local device for a multicast socket.
The argument for
-.BR setsockopt (2)
+.MR setsockopt 2
is an
.I ip_mreqn
or
@@ -685,7 +685,7 @@ structure.
on the size passed in
.IR optlen .)
For
-.BR getsockopt (2),
+.MR getsockopt 2 ,
the argument is an
.I in_addr
structure.
@@ -717,7 +717,7 @@ Set or get the IP options to be sent with every packet from this socket.
The arguments are a pointer to a memory buffer containing the options
and the option length.
The
-.BR setsockopt (2)
+.MR setsockopt 2
call sets the IP options associated with a socket.
The maximum option size for IPv4 is 40 bytes.
See RFC\ 791 for the allowed options.
@@ -735,7 +735,7 @@ interface.
Other options like timestamps are still handled.
For datagram sockets, IP options can be set only by the local user.
Calling
-.BR getsockopt (2)
+.MR getsockopt 2
with
.B IP_OPTIONS
puts the current IP options used for sending into the supplied buffer.
@@ -747,16 +747,16 @@ hosts, this option enables receiving of the security context of the peer
socket in an ancillary message of type
.B SCM_SECURITY
retrieved using
-.BR recvmsg (2).
+.MR recvmsg 2 .
This option is supported only for UDP sockets; for TCP or SCTP sockets,
see the description of the
.B SO_PEERSEC
option below.
.IP
The value given as an argument to
-.BR setsockopt (2)
+.MR setsockopt 2
and returned as the result of
-.BR getsockopt (2)
+.MR getsockopt 2
is an integer boolean flag.
.IP
The security context returned in the
@@ -792,9 +792,9 @@ The argument is a flag that tells the socket whether the
message should be passed or not.
The message itself can be sent/retrieved
only as a control message with a packet using
-.BR recvmsg (2)
+.MR recvmsg 2
or
-.BR sendmsg (2).
+.MR sendmsg 2 .
.IP
.in +4n
.EX
@@ -816,7 +816,7 @@ is the destination address in the packet header.
If
.B IP_PKTINFO
is passed to
-.BR sendmsg (2)
+.MR sendmsg 2
and
.\" This field is grossly misnamed
.I ipi_spec_dst
@@ -836,7 +836,7 @@ When enabled on a datagram socket, all
generated errors will be queued in a per-socket error queue.
When the user receives an error from a socket operation,
the errors can be received by calling
-.BR recvmsg (2)
+.MR recvmsg 2
with the
.B MSG_ERRQUEUE
flag set.
@@ -984,7 +984,7 @@ sockets.
This boolean option enables the
.B IP_ORIGDSTADDR
ancillary message in
-.BR recvmsg (2),
+.MR recvmsg 2 ,
in which the kernel returns the original destination address
of the datagram being received.
The ancillary message contains a
@@ -1105,12 +1105,12 @@ the peer socket unless overridden by the policy or by a process with
the required permissions.
.IP
The argument to
-.BR getsockopt (2)
+.MR getsockopt 2
is a pointer to a buffer of the specified length in bytes
into which the security context string will be copied.
If the buffer length is less than the length of the security
context string, then
-.BR getsockopt (2)
+.MR getsockopt 2
returns \-1, sets
.I errno
to
@@ -1228,15 +1228,15 @@ An ephemeral port is allocated to a socket in the following circumstances:
.RS
.IP \[bu] 3
the port number in a socket address is specified as 0 when calling
-.BR bind (2);
+.MR bind 2 ;
.IP \[bu]
-.BR listen (2)
+.MR listen 2
is called on a stream socket that was not previously bound;
.IP \[bu]
-.BR connect (2)
+.MR connect 2
was called on a socket that was not previously bound;
.IP \[bu]
-.BR sendto (2)
+.MR sendto 2
is called on a datagram socket that was not previously bound.
.RE
.IP
@@ -1272,7 +1272,7 @@ to the network.
.IR ip_nonlocal_bind " (Boolean; default: disabled; since Linux 2.4)"
.\" Precisely: patch-2.4.0-test10
If set, allows processes to
-.BR bind (2)
+.MR bind 2
to nonlocal IP addresses,
which can be quite useful, but may break some applications.
.\"
@@ -1298,18 +1298,18 @@ Contains an integer with the number of bytes.
.TP
.I neigh/*
See
-.BR arp (7).
+.MR arp 7 .
.\" FIXME Document the conf/*/* interfaces
.\"
.\" FIXME Document the route/* interfaces
.SS Ioctls
All ioctls described in
-.BR socket (7)
+.MR socket 7
apply to
.BR ip .
.P
Ioctls to configure generic device parameters are described in
-.BR netdevice (7).
+.MR netdevice 7 .
.\" FIXME Add a discussion of multicasting
.SH ERRORS
.\" FIXME document all errors.
@@ -1347,7 +1347,7 @@ A connection operation on a nonblocking socket is already in progress.
.TP
.B ECONNABORTED
A connection was closed during an
-.BR accept (2).
+.MR accept 2 .
.TP
.B EHOSTUNREACH
No valid routing table entry matches the destination address.
@@ -1361,7 +1361,7 @@ For send operations this can be caused by sending to a
route.
.TP
.B EISCONN
-.BR connect (2)
+.MR connect 2
was called on an already connected socket.
.TP
.B EMSGSIZE
@@ -1399,11 +1399,11 @@ The connection was unexpectedly closed or shut down by the other end.
The socket is not configured or an unknown socket type was requested.
.P
Other errors may be generated by the overlaying protocols; see
-.BR tcp (7),
-.BR raw (7),
-.BR udp (7),
+.MR tcp 7 ,
+.MR raw 7 ,
+.MR udp 7 ,
and
-.BR socket (7).
+.MR socket 7 .
.SH NOTES
.BR IP_FREEBIND ,
.BR IP_MSFILTER ,
@@ -1463,13 +1463,13 @@ level.
.B INADDR_BROADCAST
(255.255.255.255) are byte-order-neutral.
This means
-.BR htonl (3)
+.MR htonl 3
has no effect on them.
.SS Compatibility
For compatibility with Linux 2.0, the obsolete
.BI "socket(AF_INET, SOCK_PACKET, " protocol )
syntax is still supported to open a
-.BR packet (7)
+.MR packet 7
socket.
This is deprecated and should be replaced by
.BI "socket(AF_PACKET, SOCK_RAW, " protocol )
@@ -1483,10 +1483,11 @@ There are too many inconsistent error values.
.P
The error used to diagnose exhaustion of the ephemeral port range differs
across the various system calls
-.RB ( connect (2),
-.BR bind (2),
-.BR listen (2),
-.BR sendto (2))
+\%(\c
+.MR connect 2 ,
+.MR bind 2 ,
+.MR listen 2 ,
+.MR sendto 2 )
that can assign ephemeral ports.
.P
The ioctls to configure IP-specific interface options and ARP tables are
@@ -1501,24 +1502,24 @@ Receiving the original destination address with
in
.I msg_name
by
-.BR recvmsg (2)
+.MR recvmsg 2
does not work in some Linux 2.2 kernels.
.\" .SH AUTHORS
.\" This man page was written by Andi Kleen.
.SH SEE ALSO
-.BR recvmsg (2),
-.BR sendmsg (2),
-.BR byteorder (3),
-.BR capabilities (7),
-.BR icmp (7),
-.BR ipv6 (7),
-.BR netdevice (7),
-.BR netlink (7),
-.BR raw (7),
-.BR socket (7),
-.BR tcp (7),
-.BR udp (7),
-.BR ip (8)
+.MR recvmsg 2 ,
+.MR sendmsg 2 ,
+.MR byteorder 3 ,
+.MR capabilities 7 ,
+.MR icmp 7 ,
+.MR ipv6 7 ,
+.MR netdevice 7 ,
+.MR netlink 7 ,
+.MR raw 7 ,
+.MR socket 7 ,
+.MR tcp 7 ,
+.MR udp 7 ,
+.MR ip 8
.P
The kernel source file
.IR Documentation/networking/ip\-sysctl.txt .
diff --git a/man7/ipc_namespaces.7 b/man7/ipc_namespaces.7
index 77d8c5ebb..b926b02e4 100644
--- a/man7/ipc_namespaces.7
+++ b/man7/ipc_namespaces.7
@@ -9,12 +9,12 @@ ipc_namespaces \- overview of Linux IPC namespaces
.SH DESCRIPTION
IPC namespaces isolate certain IPC resources,
namely, System V IPC objects (see
-.BR sysvipc (7))
+.MR sysvipc 7 )
and (since Linux 2.6.30)
.\" commit 7eafd7c74c3f2e67c27621b987b28397110d643f
.\" https://lwn.net/Articles/312232/
POSIX message queues (see
-.BR mq_overview (7)).
+.MR mq_overview 7 ).
The common characteristic of these IPC mechanisms is that IPC
objects are identified by mechanisms other than filesystem
pathnames.
@@ -56,11 +56,11 @@ Use of IPC namespaces requires a kernel that is configured with the
.B CONFIG_IPC_NS
option.
.SH SEE ALSO
-.BR nsenter (1),
-.BR unshare (1),
-.BR clone (2),
-.BR setns (2),
-.BR unshare (2),
-.BR mq_overview (7),
-.BR namespaces (7),
-.BR sysvipc (7)
+.MR nsenter 1 ,
+.MR unshare 1 ,
+.MR clone 2 ,
+.MR setns 2 ,
+.MR unshare 2 ,
+.MR mq_overview 7 ,
+.MR namespaces 7 ,
+.MR sysvipc 7
diff --git a/man7/ipv6.7 b/man7/ipv6.7
index d9241cc93..43cd91c44 100644
--- a/man7/ipv6.7
+++ b/man7/ipv6.7
@@ -96,11 +96,11 @@ This man page contains a description of the IPv6 basic API as
implemented by the Linux kernel and glibc 2.1.
The interface
is based on the BSD sockets interface; see
-.BR socket (7).
+.MR socket 7 .
.P
The IPv6 API aims to be mostly compatible with the
IPv4 API (see
-.BR ip (7)).
+.MR ip 7 ).
Only differences are described in this man page.
.P
To bind an
@@ -157,7 +157,7 @@ is always set to
is the protocol port (see
.I sin_port
in
-.BR ip (7));
+.MR ip 7 );
.I sin6_flowinfo
is the IPv6 flow identifier;
.I sin6_addr
@@ -168,7 +168,7 @@ It is new in Linux 2.4.
Linux supports it only for link-local addresses, in that case
.I sin6_scope_id
contains the interface index (see
-.BR netdevice (7))
+.MR netdevice 7 )
.P
IPv6 supports several address types: unicast to address a single
host, multicast to address a group of hosts,
@@ -185,9 +185,9 @@ for IPv4-mapped-on-IPv6.
The port space of IPv6 is shared with IPv4.
.SS Socket options
IPv6 supports some protocol-specific socket options that can be set with
-.BR setsockopt (2)
+.MR setsockopt 2
and read with
-.BR getsockopt (2).
+.MR getsockopt 2 .
The socket option level for IPv6 is
.BR IPPROTO_IPV6 .
A boolean integer flag is zero when it is false, otherwise true.
@@ -228,7 +228,7 @@ Control path-MTU discovery on the socket.
See
.B IP_MTU_DISCOVER
in
-.BR ip (7)
+.MR ip 7
for details.
.TP
.B IPV6_MULTICAST_HOPS
@@ -246,7 +246,7 @@ and
.B SOCK_RAW
socket.
The argument is a pointer to an interface index (see
-.BR netdevice (7))
+.MR netdevice 7 )
in an integer.
.TP
.B IPV6_MULTICAST_LOOP
@@ -286,7 +286,7 @@ delivers an integer containing the hop count of the packet.
The control messages have the same type as the socket option.
All these header options can also be set for outgoing packets
by putting the appropriate control message into the control buffer of
-.BR sendmsg (2).
+.MR sendmsg 2 .
Allowed only for
.B SOCK_DGRAM
or
@@ -299,7 +299,7 @@ Control receiving of asynchronous error options.
See
.B IP_RECVERR
in
-.BR ip (7)
+.MR ip 7
for details.
Argument is a pointer to boolean.
.TP
@@ -345,7 +345,7 @@ The default value for that file is 0 (false).
.TP
.B ENODEV
The user tried to
-.BR bind (2)
+.MR bind 2
to a link-local IPv6 address, but the
.I sin6_scope_id
in the supplied
@@ -395,7 +395,7 @@ and other
socket options are nonportable variants of
.BR IPPROTO_* .
See also
-.BR ip (7).
+.MR ip 7 .
.SH BUGS
The IPv6 extended API as in RFC\ 2292 is currently only partly
implemented;
@@ -408,8 +408,8 @@ Flow label management is not complete and not documented here.
.P
This man page is not complete.
.SH SEE ALSO
-.BR cmsg (3),
-.BR ip (7)
+.MR cmsg 3 ,
+.MR ip 7
.P
RFC\ 2553: IPv6 BASIC API;
Linux tries to be compliant to this.
diff --git a/man7/iso_8859-1.7 b/man7/iso_8859-1.7
index 4bc40b595..f3e7547a8 100644
--- a/man7/iso_8859-1.7
+++ b/man7/iso_8859-1.7
@@ -37,7 +37,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-1 characters
The following table displays the characters in ISO 8859-1 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -143,8 +143,8 @@ _
.SH NOTES
ISO 8859-1 is also known as Latin-1.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR cp1252 (7),
-.BR iso_8859\-15 (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR cp1252 7 ,
+.MR iso_8859\-15 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-10.7 b/man7/iso_8859-10.7
index 121733ee1..36629acd0 100644
--- a/man7/iso_8859-10.7
+++ b/man7/iso_8859-10.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-10 characters
The following table displays the characters in ISO 8859-10 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -141,6 +141,6 @@ _
.SH NOTES
ISO 8859-10 is also known as Latin-6.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-11.7 b/man7/iso_8859-11.7
index 04ea19066..0ba926947 100644
--- a/man7/iso_8859-11.7
+++ b/man7/iso_8859-11.7
@@ -37,7 +37,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-11 characters
The following table displays the characters in ISO 8859-11 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -138,6 +138,6 @@ commonly known as TIS-620, except for the character in position A0:
ISO 8859-11 defines this as NO-BREAK SPACE,
while TIS-620 leaves it undefined.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-13.7 b/man7/iso_8859-13.7
index 8d567db09..fe99b01e9 100644
--- a/man7/iso_8859-13.7
+++ b/man7/iso_8859-13.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-13 characters
The following table displays the characters in ISO 8859-13 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -141,6 +141,6 @@ _
.SH NOTES
ISO 8859-13 is also known as Latin-7.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-14.7 b/man7/iso_8859-14.7
index e10d1a4bf..35c6bbd94 100644
--- a/man7/iso_8859-14.7
+++ b/man7/iso_8859-14.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-14 characters
The following table displays the characters in ISO 8859-14 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -141,6 +141,6 @@ _
.SH NOTES
ISO 8859-14 is also known as Latin-8.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-15.7 b/man7/iso_8859-15.7
index 56e9b4ff6..00970bc61 100644
--- a/man7/iso_8859-15.7
+++ b/man7/iso_8859-15.7
@@ -36,7 +36,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-15 characters
The following table displays the characters in ISO 8859-15 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -142,8 +142,8 @@ _
.SH NOTES
ISO 8859-15 is also known as Latin-9 (or sometimes as Latin-0).
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR cp1252 (7),
-.BR iso_8859\-1 (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR cp1252 7 ,
+.MR iso_8859\-1 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-16.7 b/man7/iso_8859-16.7
index 3c82f9553..e7cf2e17f 100644
--- a/man7/iso_8859-16.7
+++ b/man7/iso_8859-16.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-16 characters
The following table displays the characters in ISO 8859-16 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -141,7 +141,7 @@ _
.SH NOTES
ISO 8859-16 is also known as Latin-10.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR iso_8859\-3 (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR iso_8859\-3 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-2.7 b/man7/iso_8859-2.7
index 64a9792c6..5d3a86e74 100644
--- a/man7/iso_8859-2.7
+++ b/man7/iso_8859-2.7
@@ -38,7 +38,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-2 characters
The following table displays the characters in ISO 8859-2 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -144,8 +144,8 @@ _
.SH NOTES
ISO 8859-2 is also known as Latin-2.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR iso_8859\-1 (7),
-.BR iso_8859\-16 (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR iso_8859\-1 7 ,
+.MR iso_8859\-16 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-3.7 b/man7/iso_8859-3.7
index 3fbd18eff..1a93a10c1 100644
--- a/man7/iso_8859-3.7
+++ b/man7/iso_8859-3.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-3 characters
The following table displays the characters in ISO 8859-3 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -134,6 +134,6 @@ _
.SH NOTES
ISO 8859-3 is also known as Latin-3.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-4.7 b/man7/iso_8859-4.7
index 0221508b6..5b1115082 100644
--- a/man7/iso_8859-4.7
+++ b/man7/iso_8859-4.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-4 characters
The following table displays the characters in ISO 8859-4 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -141,6 +141,6 @@ _
.SH NOTES
ISO 8859-4 is also known as Latin-4.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-5.7 b/man7/iso_8859-5.7
index 0baeb19f0..7bddee752 100644
--- a/man7/iso_8859-5.7
+++ b/man7/iso_8859-5.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-5 characters
The following table displays the characters in ISO 8859-5 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -143,9 +143,9 @@ T}
377 255 FF ÑŸ CYRILLIC SMALL LETTER DZHE
.TE
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR cp1251 (7),
-.BR koi8\-r (7),
-.BR koi8\-u (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR cp1251 7 ,
+.MR koi8\-r 7 ,
+.MR koi8\-u 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-6.7 b/man7/iso_8859-6.7
index e68da55e3..016b1ce53 100644
--- a/man7/iso_8859-6.7
+++ b/man7/iso_8859-6.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-6 characters
The following table displays the characters in ISO 8859-6 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -97,6 +97,6 @@ _
ISO 8859-6 lacks the glyphs required for many related languages,
such as Urdu and Persian (Farsi).
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-7.7 b/man7/iso_8859-7.7
index 9dff4e14d..7c36c6a17 100644
--- a/man7/iso_8859-7.7
+++ b/man7/iso_8859-7.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-7 characters
The following table displays the characters in ISO 8859-7 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -145,6 +145,6 @@ T}
.SH NOTES
ISO 8859-7 was formerly known as ELOT-928 or ECMA-118:1986.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-8.7 b/man7/iso_8859-8.7
index bcc42721a..ee01184ef 100644
--- a/man7/iso_8859-8.7
+++ b/man7/iso_8859-8.7
@@ -37,7 +37,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-8 characters
The following table displays the characters in ISO 8859-8 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -109,6 +109,6 @@ ISO 8859-8 was also known as ISO-IR-138.
ISO 8859-8 includes neither short vowels nor diacritical marks,
and Yiddish is not provided for.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/iso_8859-9.7 b/man7/iso_8859-9.7
index 36837c3ad..1e944833e 100644
--- a/man7/iso_8859-9.7
+++ b/man7/iso_8859-9.7
@@ -35,7 +35,7 @@ ISO 8859-16 Romanian (Latin-10)
.SS ISO 8859-9 characters
The following table displays the characters in ISO 8859-9 that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -141,6 +141,6 @@ _
.SH NOTES
ISO 8859-9 is also known as Latin-5.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/keyrings.7 b/man7/keyrings.7
index 7d9c4a0cf..8d477aa2a 100644
--- a/man7/keyrings.7
+++ b/man7/keyrings.7
@@ -15,18 +15,18 @@ authentication keys, encryption keys, and other data in the kernel.
.P
System call interfaces are provided so that user-space programs can manage
those objects and also use the facility for their own purposes; see
-.BR add_key (2),
-.BR request_key (2),
+.MR add_key 2 ,
+.MR request_key 2 ,
and
-.BR keyctl (2).
+.MR keyctl 2 .
.P
A library and some user-space utilities are provided to allow access to the
facility.
See
-.BR keyctl (1),
-.BR keyctl (3),
+.MR keyctl 1 ,
+.MR keyctl 3 ,
and
-.BR keyutils (7)
+.MR keyutils 7
for more information.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SS Keys
@@ -58,7 +58,7 @@ but it is possible for the kernel to upcall to user space to finish the
instantiation of a key if that key wasn't already known to the kernel
when it was requested.
For further details, see
-.BR request_key (2).
+.MR request_key 2 .
.IP
A key's payload can be read and updated if the key type supports it and if
suitable permission is granted to the caller.
@@ -130,7 +130,7 @@ to which the key is of interest
This key type is essentially the same as
.IR """user""" ,
but it does not provide reading (i.e., the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_READ
operation),
meaning that the key payload is never visible from user space.
@@ -206,11 +206,11 @@ This tree may be searched for a key matching
a particular type and description.
.P
See
-.BR keyctl_clear (3),
-.BR keyctl_link (3),
-.BR keyctl_search (3),
+.MR keyctl_clear 3 ,
+.MR keyctl_link 3 ,
+.MR keyctl_search 3 ,
and
-.BR keyctl_unlink (3)
+.MR keyctl_unlink 3
for more information.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SS Anchoring keys
@@ -234,21 +234,21 @@ which is usually as long as the process exists.
.IP
There are three keyrings with different inheritance/sharing rules:
the
-.BR session\-keyring (7)
+.MR session\-keyring 7
(inherited and shared by all child processes),
the
-.BR process\-keyring (7)
+.MR process\-keyring 7
(shared by all threads in a process) and
the
-.BR thread\-keyring (7)
+.MR thread\-keyring 7
(specific to a particular thread).
.IP
As an alternative to using the actual keyring IDs,
in calls to
-.BR add_key (2),
-.BR keyctl (2),
+.MR add_key 2 ,
+.MR keyctl 2 ,
and
-.BR request_key (2),
+.MR request_key 2 ,
the special keyring values
.BR KEY_SPEC_SESSION_KEYRING ,
.BR KEY_SPEC_PROCESS_KEYRING ,
@@ -258,17 +258,17 @@ can be used to refer to the caller's own instances of these keyrings.
.TP
User keyrings
Each UID known to the kernel has a record that contains two keyrings: the
-.BR user\-keyring (7)
+.MR user\-keyring 7
and the
-.BR user\-session\-keyring (7).
+.MR user\-session\-keyring 7 .
These exist for as long as the UID record in the kernel exists.
.IP
As an alternative to using the actual keyring IDs,
in calls to
-.BR add_key (2),
-.BR keyctl (2),
+.MR add_key 2 ,
+.MR keyctl 2 ,
and
-.BR request_key (2),
+.MR request_key 2 ,
the special keyring values
.B KEY_SPEC_USER_KEYRING
and
@@ -276,18 +276,18 @@ and
can be used to refer to the caller's own instances of these keyrings.
.IP
A link to the user keyring is placed in a new session keyring by
-.BR pam_keyinit (8)
+.MR pam_keyinit 8
when a new login session is initiated.
.TP
Persistent keyrings
There is a
-.BR persistent\-keyring (7)
+.MR persistent\-keyring 7
available to each UID known to the system.
It may persist beyond the life of the UID record previously mentioned,
but has an expiration time set such that it is automatically cleaned up
after a set time.
The persistent keyring permits, for example,
-.BR cron (8)
+.MR cron 8
scripts to use credentials that are left in the persistent keyring after
the user logs out.
.IP
@@ -320,10 +320,10 @@ Any key or keyring that does not grant
permission to the caller is ignored in all the following rules.
.IP (2)
A thread possesses its
-.BR session\-keyring (7),
-.BR process\-keyring (7),
+.MR session\-keyring 7 ,
+.MR process\-keyring 7 ,
and
-.BR thread\-keyring (7)
+.MR thread\-keyring 7
directly because those keyrings are referred to by its credentials.
.IP (3)
If a keyring is possessed, then any key it links to is also possessed.
@@ -332,7 +332,7 @@ If any key a keyring links to is itself a keyring, then rule (3) applies
recursively.
.IP (5)
If a process is upcalled from the kernel to instantiate a key (see
-.BR request_key (2)),
+.MR request_key 2 ),
then it also possesses the requester's keyrings as in
rule (1) as if it were the requester.
.P
@@ -346,9 +346,9 @@ to the key owner and group allows the prevention of access to keys
on the basis of UID and GID matches.
.P
When it creates the session keyring,
-.BR pam_keyinit (8)
+.MR pam_keyinit 8
adds a link to the
-.BR user\-keyring (7),
+.MR user\-keyring 7 ,
thus making the user keyring and anything it contains possessed by default.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SS Access rights
@@ -427,22 +427,22 @@ prevent access to a key if its policy so dictates.
A key may be given a
security label or other attribute by the LSM;
this label is retrievable via
-.BR keyctl_get_security (3).
+.MR keyctl_get_security 3 .
.P
See
-.BR keyctl_chown (3),
-.BR keyctl_describe (3),
-.BR keyctl_get_security (3),
-.BR keyctl_setperm (3),
+.MR keyctl_chown 3 ,
+.MR keyctl_describe 3 ,
+.MR keyctl_get_security 3 ,
+.MR keyctl_setperm 3 ,
and
-.BR selinux (8)
+.MR selinux 8
for more information.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SS Searching for keys
One of the key features of the Linux key-management facility
is the ability to find a key that a process is retaining.
The
-.BR request_key (2)
+.MR request_key 2
system call is the primary point of
access for user-space applications to find a key.
(Internally, the kernel has something similar available
@@ -451,19 +451,19 @@ for use by internal components that make use of keys.)
The search algorithm works as follows:
.IP (1) 5
The process keyrings are searched in the following order: the
-.BR thread\-keyring (7)
+.MR thread\-keyring 7
if it exists, the
-.BR process\-keyring (7)
+.MR process\-keyring 7
if it exists, and then either the
-.BR session\-keyring (7)
+.MR session\-keyring 7
if it exists or the
-.BR user\-session\-keyring (7)
+.MR user\-session\-keyring 7
if that exists.
.IP (2)
If the caller was a process that was invoked by the
-.BR request_key (2)
+.MR request_key 2
upcall mechanism, then the keyrings of the original caller of
-.BR request_key (2)
+.MR request_key 2
will be searched as well.
.IP (3)
The search of a keyring tree is in breadth-first order:
@@ -485,14 +485,14 @@ It is also possible to search a specific keyring, in which case only steps
(3) to (6) apply.
.P
See
-.BR request_key (2)
+.MR request_key 2
and
-.BR keyctl_search (3)
+.MR keyctl_search 3
for more information.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SS On-demand key creation
If a key cannot be found,
-.BR request_key (2)
+.MR request_key 2
will, if given a
.I callout_info
argument, create a new key and then upcall to user space to
@@ -501,7 +501,7 @@ This allows keys to be created on an as-needed basis.
.P
Typically,
this will involve the kernel creating a new process that executes the
-.BR request\-key (8)
+.MR request\-key 8
program, which will then execute the appropriate handler based on its
configuration.
.P
@@ -511,14 +511,14 @@ This is also used to permit searches performed by the
handler program to also search the requester's keyrings.
.P
See
-.BR request_key (2),
-.BR keyctl_assume_authority (3),
-.BR keyctl_instantiate (3),
-.BR keyctl_negate (3),
-.BR keyctl_reject (3),
-.BR request\-key (8),
+.MR request_key 2 ,
+.MR keyctl_assume_authority 3 ,
+.MR keyctl_instantiate 3 ,
+.MR keyctl_negate 3 ,
+.MR keyctl_reject 3 ,
+.MR request\-key 8 ,
and
-.BR request\-key.conf (5)
+.MR request\-key.conf 5
for more information.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SS /proc files
@@ -598,7 +598,7 @@ U
.\" KEY_FLAG_USER_CONSTRUCT
The key is under construction via a callback to user space;
see
-.BR request\-key (2).
+.MR request\-key 2 .
.TP
N
.\" KEY_FLAG_NEGATIVE
@@ -699,7 +699,7 @@ The payload size in bytes, followed either by the string
.IR [file] ,
if the key payload exceeds the threshold that means that the
payload is stored in a (swappable)
-.BR tmpfs (5)
+.MR tmpfs 5
filesystem,
or otherwise the string
.IR [buff] ,
@@ -710,7 +710,7 @@ For the
.I """.request_key_auth"""
key type
(authorization key; see
-.BR request_key (2)),
+.MR request_key 2 ),
the description field has the form shown in the following example:
.IP
.in +4n
@@ -789,9 +789,9 @@ The default value in this file is 300 (i.e., 5 minutes).
This file defines an interval, in seconds,
to which the persistent keyring's expiration timer is reset
each time the keyring is accessed (via
-.BR keyctl_get_persistent (3)
+.MR keyctl_get_persistent 3
or the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_GET_PERSISTENT
operation.)
.IP
@@ -872,26 +872,26 @@ tokens which can be made to be automatically cleaned up a set time after
the user last uses them,
but until then permits them to hang around after the user
has logged out so that
-.BR cron (8)
+.MR cron 8
scripts can use them.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR add_key (2),
-.BR keyctl (2),
-.BR request_key (2),
-.BR keyctl (3),
-.BR keyutils (7),
-.BR persistent\-keyring (7),
-.BR process\-keyring (7),
-.BR session\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-keyring (7),
-.BR user\-session\-keyring (7),
-.BR pam_keyinit (8),
-.BR request\-key (8)
+.MR keyctl 1 ,
+.MR add_key 2 ,
+.MR keyctl 2 ,
+.MR request_key 2 ,
+.MR keyctl 3 ,
+.MR keyutils 7 ,
+.MR persistent\-keyring 7 ,
+.MR process\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-keyring 7 ,
+.MR user\-session\-keyring 7 ,
+.MR pam_keyinit 8 ,
+.MR request\-key 8
.P
The kernel source files
.I Documentation/crypto/asymmetric\-keys.txt
diff --git a/man7/koi8-r.7 b/man7/koi8-r.7
index 3e1826a90..ea5ea2039 100644
--- a/man7/koi8-r.7
+++ b/man7/koi8-r.7
@@ -14,7 +14,7 @@ characters used in Russian.
.SS KOI8-R characters
The following table displays the characters in KOI8-R that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -161,9 +161,9 @@ T}
The differences with KOI8-U are in the hex positions
A4, A6, A7, AD, B4, B6, B7, and BD.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR cp1251 (7),
-.BR iso_8859\-5 (7),
-.BR koi8\-u (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR cp1251 7 ,
+.MR iso_8859\-5 7 ,
+.MR koi8\-u 7 ,
+.MR utf\-8 7
diff --git a/man7/koi8-u.7 b/man7/koi8-u.7
index 28cd1a4f1..6c6a8e315 100644
--- a/man7/koi8-u.7
+++ b/man7/koi8-u.7
@@ -16,7 +16,7 @@ characters used in Ukrainian and Byelorussian.
.SS KOI8-U characters
The following table displays the characters in KOI8-U that
are printable and unlisted in the
-.BR ascii (7)
+.MR ascii 7
manual page.
.TS
l l l c lp-1.
@@ -167,9 +167,9 @@ T}
The differences from KOI8-R are in the hex positions
A4, A6, A7, AD, B4, B6, B7, and BD.
.SH SEE ALSO
-.BR ascii (7),
-.BR charsets (7),
-.BR cp1251 (7),
-.BR iso_8859\-5 (7),
-.BR koi8\-r (7),
-.BR utf\-8 (7)
+.MR ascii 7 ,
+.MR charsets 7 ,
+.MR cp1251 7 ,
+.MR iso_8859\-5 7 ,
+.MR koi8\-r 7 ,
+.MR utf\-8 7
diff --git a/man7/landlock.7 b/man7/landlock.7
index 4a98f6549..a29911ad7 100644
--- a/man7/landlock.7
+++ b/man7/landlock.7
@@ -25,13 +25,13 @@ tied to a file hierarchy.
Such policy can be configured and enforced by processes for themselves
using three system calls:
.IP \[bu] 3
-.BR landlock_create_ruleset (2)
+.MR landlock_create_ruleset 2
creates a new ruleset;
.IP \[bu]
-.BR landlock_add_rule (2)
+.MR landlock_add_rule 2
adds a new rule to a ruleset;
.IP \[bu]
-.BR landlock_restrict_self (2)
+.MR landlock_restrict_self 2
enforces a ruleset on the calling thread.
.P
To be able to use these system calls,
@@ -42,7 +42,7 @@ it must be enabled at boot time.
A Landlock rule describes an action on an object.
An object is currently a file hierarchy,
and the related filesystem actions are defined with access rights (see
-.BR landlock_add_rule (2)).
+.MR landlock_add_rule 2 ).
A set of rules is aggregated in a ruleset,
which can then restrict the thread enforcing it,
and its future children.
@@ -53,9 +53,9 @@ set of actions on files and directories.
Files or directories opened before the sandboxing
are not subject to these restrictions.
See
-.BR landlock_add_rule (2)
+.MR landlock_add_rule 2
and
-.BR landlock_create_ruleset (2)
+.MR landlock_create_ruleset 2
for more context.
.P
A file can only receive these access rights:
@@ -73,26 +73,26 @@ right.
In many cases,
these system calls truncate existing files when overwriting them
(e.g.,
-.BR creat (2)).
+.MR creat 2 ).
.TP
.B LANDLOCK_ACCESS_FS_READ_FILE
Open a file with read access.
.TP
.B LANDLOCK_ACCESS_FS_TRUNCATE
Truncate a file with
-.BR truncate (2),
-.BR ftruncate (2),
-.BR creat (2),
+.MR truncate 2 ,
+.MR ftruncate 2 ,
+.MR creat 2 ,
or
-.BR open (2)
+.MR open 2
with
.BR O_TRUNC .
Whether an opened file can be truncated with
-.BR ftruncate (2)
+.MR ftruncate 2
is determined during
-.BR open (2),
+.MR open 2 ,
in the same way as read and write permissions are checked during
-.BR open (2)
+.MR open 2
using
.B LANDLOCK_ACCESS_FS_READ_FILE
and
@@ -206,7 +206,7 @@ as well as all the other system access controls
Landlock enables restricting access to file hierarchies,
which means that these access rights can be propagated with bind mounts
(cf.
-.BR mount_namespaces (7))
+.MR mount_namespaces 7 )
but not with OverlayFS.
.P
A bind mount mirrors a source file hierarchy to a destination.
@@ -234,16 +234,16 @@ allow access to, regardless of the underlying filesystem.
.\"
.SS Inheritance
Every new thread resulting from a
-.BR clone (2)
+.MR clone 2
inherits Landlock domain restrictions from its parent.
This is similar to the
-.BR seccomp (2)
+.MR seccomp 2
inheritance or any other LSM dealing with tasks'
-.BR credentials (7).
+.MR credentials 7 .
For instance, one process's thread may apply Landlock rules to itself,
but they will not be automatically applied to other sibling threads
(unlike POSIX thread credential changes, cf.
-.BR nptl (7)).
+.MR nptl 7 ).
.P
When a thread sandboxes itself,
we have the guarantee that the related security policy
@@ -258,7 +258,7 @@ A sandboxed process has less privileges than a non-sandboxed process and
must then be subject to additional restrictions
when manipulating another process.
To be allowed to use
-.BR ptrace (2)
+.MR ptrace 2
and related syscalls on a target process,
a sandboxed process should have a subset of the target process rules,
which means the tracee must be in a sub-domain of the tracer.
@@ -273,7 +273,7 @@ non-intuitive ways.
It is recommended to always specify both of these together.
.P
A particularly surprising example is
-.BR creat (2).
+.MR creat 2 .
The name suggests that this system call requires
the rights to create and write files.
However, it also requires the truncate right
@@ -283,9 +283,9 @@ It should also be noted that truncating files does not require the
.B LANDLOCK_ACCESS_FS_WRITE_FILE
right.
Apart from the
-.BR truncate (2)
+.MR truncate 2
system call, this can also be done through
-.BR open (2)
+.MR open 2
with the flags
.IR "O_RDONLY\ |\ O_TRUNC" .
.P
@@ -293,14 +293,14 @@ When opening a file, the availability of the
.B LANDLOCK_ACCESS_FS_TRUNCATE
right is associated with the newly created file descriptor
and will be used for subsequent truncation attempts using
-.BR ftruncate (2).
+.MR ftruncate 2 .
The behavior is similar to opening a file for reading or writing,
where permissions are checked during
-.BR open (2),
+.MR open 2 ,
but not during the subsequent
-.BR read (2)
+.MR read 2
and
-.BR write (2)
+.MR write 2
calls.
.P
As a consequence,
@@ -349,7 +349,7 @@ To query the running kernel's Landlock ABI version,
programs may pass the
.B LANDLOCK_CREATE_RULESET_VERSION
flag to
-.BR landlock_create_ruleset (2).
+.MR landlock_create_ruleset 2 .
.P
When building fallback mechanisms for compatibility with older kernels,
users are advised to consider the special semantics of the
@@ -380,16 +380,16 @@ in kernel logs.
.SH CAVEATS
It is currently not possible to restrict some file-related actions
accessible through these system call families:
-.BR chdir (2),
-.BR stat (2),
-.BR flock (2),
-.BR chmod (2),
-.BR chown (2),
-.BR setxattr (2),
-.BR utime (2),
-.BR ioctl (2),
-.BR fcntl (2),
-.BR access (2).
+.MR chdir 2 ,
+.MR stat 2 ,
+.MR flock 2 ,
+.MR chmod 2 ,
+.MR chown 2 ,
+.MR setxattr 2 ,
+.MR utime 2 ,
+.MR ioctl 2 ,
+.MR fcntl 2 ,
+.MR access 2 .
Future Landlock evolutions will enable to restrict them.
.SH EXAMPLES
We first need to create the ruleset that will contain our rules.
@@ -478,7 +478,7 @@ Now that the ruleset attributes are determined,
we create the Landlock ruleset
and acquire a file descriptor as a handle to it,
using
-.BR landlock_create_ruleset (2):
+.MR landlock_create_ruleset 2 :
.P
.in +4n
.EX
@@ -565,7 +565,7 @@ close(ruleset_fd);
.in
.P
If the
-.BR landlock_restrict_self (2)
+.MR landlock_restrict_self 2
system call succeeds, the current thread is now restricted and
this policy will be enforced on all its subsequently created children as well.
Once a thread is landlocked, there is no way to remove its security policy;
@@ -577,9 +577,9 @@ Full working code can be found in
.UR https://git.kernel.org/\:pub/\:scm/\:linux/\:kernel/\:git/\:stable/\:linux.git/\:tree/\:samples/\:landlock/\:sandboxer.c
.UE
.SH SEE ALSO
-.BR landlock_create_ruleset (2),
-.BR landlock_add_rule (2),
-.BR landlock_restrict_self (2)
+.MR landlock_create_ruleset 2 ,
+.MR landlock_add_rule 2 ,
+.MR landlock_restrict_self 2
.P
.UR https://landlock.io/
.UE
diff --git a/man7/libc.7 b/man7/libc.7
index 5769d34c7..5dbe675de 100644
--- a/man7/libc.7
+++ b/man7/libc.7
@@ -106,10 +106,10 @@ Details of these libraries are covered by the
project,
where they are known.
.SH SEE ALSO
-.BR syscalls (2),
-.BR getauxval (3),
-.BR proc (5),
-.BR feature_test_macros (7),
-.BR man\-pages (7),
-.BR standards (7),
-.BR vdso (7)
+.MR syscalls 2 ,
+.MR getauxval 3 ,
+.MR proc 5 ,
+.MR feature_test_macros 7 ,
+.MR man\-pages 7 ,
+.MR standards 7 ,
+.MR vdso 7
diff --git a/man7/locale.7 b/man7/locale.7
index cfd79b259..f3dd9d28a 100644
--- a/man7/locale.7
+++ b/man7/locale.7
@@ -29,16 +29,16 @@ declares data types, functions, and macros which are useful in this
task.
.P
The functions it declares are
-.BR setlocale (3)
+.MR setlocale 3
to set the current locale, and
-.BR localeconv (3)
+.MR localeconv 3
to get information about number formatting.
.P
There are different categories for locale information a program might
need; they are declared as macros.
Using them as the first argument
to the
-.BR setlocale (3)
+.MR setlocale 3
function, it is possible to set one of these to the desired locale:
.TP
.BR LC_ADDRESS " (GNU extension, since glibc 2.2)"
@@ -46,7 +46,7 @@ function, it is possible to set one of these to the desired locale:
Change settings that describe the formats (e.g., postal addresses)
used to describe locations and geography-related items.
Applications that need this information can use
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
to retrieve nonstandard elements, such as
.B _NL_ADDRESS_COUNTRY_NAME
(country name, in the language of the locale)
@@ -64,9 +64,9 @@ sorting and regular expressions,
including character equivalence classes and
multicharacter collating elements.
This locale category changes the behavior of the functions
-.BR strcoll (3)
+.MR strcoll 3
and
-.BR strxfrm (3),
+.MR strxfrm 3 ,
which are used to compare strings in the local alphabet.
For example,
the German sharp s is sorted as "ss".
@@ -77,24 +77,24 @@ This category determines the interpretation of byte sequences as characters
(e.g., alphabetic or digit), and the behavior of character classes.
On glibc systems, this category also determines
the character transliteration rules for
-.BR iconv (1)
+.MR iconv 1
and
-.BR iconv (3).
+.MR iconv 3 .
It changes the behavior of the character handling and
classification functions, such as
-.BR isupper (3)
+.MR isupper 3
and
-.BR toupper (3),
+.MR toupper 3 ,
and the multibyte character functions such as
-.BR mblen (3)
+.MR mblen 3
or
-.BR wctomb (3).
+.MR wctomb 3 .
.TP
.BR LC_IDENTIFICATION " (GNU extension, since glibc 2.2)"
.\" See ISO/IEC Technical Report 14652
Change settings that relate to the metadata for the locale.
Applications that need this information can use
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
to retrieve nonstandard elements, such as
.B _NL_IDENTIFICATION_TITLE
(title of this locale document)
@@ -110,21 +110,21 @@ and "USA".
This category determines the formatting used for
monetary-related numeric values.
This changes the information returned by
-.BR localeconv (3),
+.MR localeconv 3 ,
which describes the way numbers are usually printed, with details such
as decimal point versus decimal comma.
This information is internally
used by the function
-.BR strfmon (3).
+.MR strfmon 3 .
.TP
.B LC_MESSAGES
This category affects the language in which messages are displayed
and what an affirmative or negative answer looks like.
The GNU C library contains the
-.BR gettext (3),
-.BR ngettext (3),
+.MR gettext 3 ,
+.MR ngettext 3 ,
and
-.BR rpmatch (3)
+.MR rpmatch 3
functions to ease the use of this information.
The GNU gettext family of
functions also obey the environment variable
@@ -133,13 +133,13 @@ functions also obey the environment variable
if the category is set to a valid locale other than
.BR """C""" .
This category also affects the behavior of
-.BR catopen (3).
+.MR catopen 3 .
.TP
.BR LC_MEASUREMENT " (GNU extension, since glibc 2.2)"
Change the settings relating to the measurement system in the locale
(i.e., metric versus US customary units).
Applications can use
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
to retrieve the nonstandard
.B _NL_MEASUREMENT_MEASUREMENT
element, which returns a pointer to a character
@@ -149,7 +149,7 @@ that has the value 1 (metric) or 2 (US customary units).
.\" See ISO/IEC Technical Report 14652
Change settings that describe the formats used to address persons.
Applications that need this information can use
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
to retrieve nonstandard elements, such as
.B _NL_NAME_NAME_MR
(general salutation for men)
@@ -168,12 +168,12 @@ the thousands separator and the radix character
(a period in most English-speaking countries,
but a comma in many other regions).
It affects functions such as
-.BR printf (3),
-.BR scanf (3),
+.MR printf 3 ,
+.MR scanf 3 ,
and
-.BR strtod (3).
+.MR strtod 3 .
This information can also be read with the
-.BR localeconv (3)
+.MR localeconv 3
function.
.TP
.BR LC_PAPER " (GNU extension, since glibc 2.2)"
@@ -181,7 +181,7 @@ function.
Change the settings relating to the dimensions of the standard paper size
(e.g., US letter versus A4).
Applications that need the dimensions can obtain them by using
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
to retrieve the nonstandard
.B _NL_PAPER_WIDTH
and
@@ -194,7 +194,7 @@ values specifying the dimensions in millimeters.
.\" See ISO/IEC Technical Report 14652
Change settings that describe the formats to be used with telephone services.
Applications that need this information can use
-.BR nl_langinfo (3)
+.MR nl_langinfo 3
to retrieve nonstandard elements, such as
.B _NL_TELEPHONE_INT_PREFIX
(international prefix used to call numbers in this locale),
@@ -207,15 +207,15 @@ This category governs the formatting used for date and time values.
For example, most of Europe uses a 24-hour clock versus the
12-hour clock used in the United States.
The setting of this category affects the behavior of functions such as
-.BR strftime (3)
+.MR strftime 3
and
-.BR strptime (3).
+.MR strptime 3 .
.TP
.B LC_ALL
All of the above.
.P
If the second argument to
-.BR setlocale (3)
+.MR setlocale 3
is an empty string,
.IR \[dq]\[dq] ,
for the default locale, it is determined using the following steps:
@@ -238,7 +238,7 @@ is used.
Values about local numeric formatting is made available in a
.I struct lconv
returned by the
-.BR localeconv (3)
+.MR localeconv 3
function, which has the following declaration:
.P
.in +4n
@@ -302,22 +302,23 @@ and with applications that must deal with multiple locales.
.P
The extensions take the form of new functions for creating and
manipulating locale objects
-.RB ( newlocale (3),
-.BR freelocale (3),
-.BR duplocale (3),
+\%(\c
+.MR newlocale 3 ,
+.MR freelocale 3 ,
+.MR duplocale 3 ,
and
-.BR uselocale (3))
+.MR uselocale 3 )
and various new library functions with the suffix "_l" (e.g.,
-.BR toupper_l (3))
+.MR toupper_l 3 )
that extend the traditional locale-dependent APIs (e.g.,
-.BR toupper (3))
+.MR toupper 3 )
to allow the specification of a locale object that should apply when
executing the function.
.SH ENVIRONMENT
The following environment variable is used by
-.BR newlocale (3)
+.MR newlocale 3
and
-.BR setlocale (3),
+.MR setlocale 3 ,
and thus affects all unprivileged localized programs:
.TP
.B LOCPATH
@@ -328,7 +329,7 @@ only the individual compiled locale data files from
.B LOCPATH
and the system default locale data path are used;
any available locale archives are not used (see
-.BR localedef (1)).
+.MR localedef 1 ).
The individual compiled locale data files are searched for under
subdirectories which depend on the currently used locale.
For example, when
@@ -354,26 +355,26 @@ POSIX.1-2001.
.\"
.\" The GNU gettext functions are specified in LI18NUX2000.
.SH SEE ALSO
-.BR iconv (1),
-.BR locale (1),
-.BR localedef (1),
-.BR catopen (3),
-.BR gettext (3),
-.BR iconv (3),
-.BR localeconv (3),
-.BR mbstowcs (3),
-.BR newlocale (3),
-.BR ngettext (3),
-.BR nl_langinfo (3),
-.BR rpmatch (3),
-.BR setlocale (3),
-.BR strcoll (3),
-.BR strfmon (3),
-.BR strftime (3),
-.BR strxfrm (3),
-.BR uselocale (3),
-.BR wcstombs (3),
-.BR locale (5),
-.BR charsets (7),
-.BR unicode (7),
-.BR utf\-8 (7)
+.MR iconv 1 ,
+.MR locale 1 ,
+.MR localedef 1 ,
+.MR catopen 3 ,
+.MR gettext 3 ,
+.MR iconv 3 ,
+.MR localeconv 3 ,
+.MR mbstowcs 3 ,
+.MR newlocale 3 ,
+.MR ngettext 3 ,
+.MR nl_langinfo 3 ,
+.MR rpmatch 3 ,
+.MR setlocale 3 ,
+.MR strcoll 3 ,
+.MR strfmon 3 ,
+.MR strftime 3 ,
+.MR strxfrm 3 ,
+.MR uselocale 3 ,
+.MR wcstombs 3 ,
+.MR locale 5 ,
+.MR charsets 7 ,
+.MR unicode 7 ,
+.MR utf\-8 7
diff --git a/man7/mailaddr.7 b/man7/mailaddr.7
index 95373db92..c8df0c9e8 100644
--- a/man7/mailaddr.7
+++ b/man7/mailaddr.7
@@ -124,10 +124,10 @@ The "postmaster" address is not case sensitive.
.br
.I \[ti]/.forward
.SH SEE ALSO
-.BR mail (1),
-.BR aliases (5),
-.BR forward (5),
-.BR sendmail (8)
+.MR mail 1 ,
+.MR aliases 5 ,
+.MR forward 5 ,
+.MR sendmail 8
.P
.UR http://www.ietf.org\:/rfc\:/rfc5322.txt
IETF RFC\ 5322
diff --git a/man7/man-pages.7 b/man7/man-pages.7
index c7251d134..e27f281ab 100644
--- a/man7/man-pages.7
+++ b/man7/man-pages.7
@@ -60,7 +60,7 @@ other things.
.TP
.B 8 System management commands
Commands like
-.BR mount (8),
+.MR mount 8 ,
many of which only root can execute.
.\" .TP
.\" .B 9 Kernel routines
@@ -74,7 +74,7 @@ many of which only root can execute.
New manual pages should be marked up using the
.B groff an.tmac
package described in
-.BR man (7).
+.MR man 7 .
This choice is mainly for consistency: the vast majority of
existing Linux manual pages are marked up using these macros.
.SS Conventions for source file layout
@@ -180,7 +180,7 @@ the above sections.
The name of this manual page.
.IP
See
-.BR man (7)
+.MR man 7
for important details of the line(s) that should follow the
\fB.SH NAME\fP command.
All words in this line (including the word immediately
@@ -213,7 +213,7 @@ directives, followed by the function declaration.
Where a feature test macro must be defined in order to obtain
the declaration of a function (or a variable) from a header file,
then the SYNOPSIS should indicate this, as described in
-.BR feature_test_macros (7).
+.MR feature_test_macros 7 .
.\" FIXME . Say something here about compiler options
.TP
.B CONFIGURATION
@@ -338,7 +338,7 @@ as the base.
.B ATTRIBUTES
A summary of various attributes of the function(s) documented on this page.
See
-.BR attributes (7)
+.MR attributes 7
for further details.
.TP
.B VERSIONS
@@ -351,7 +351,7 @@ or command described by the manual page.
.IP
The preferred terms to use for the various standards are listed as
headings in
-.BR standards (7).
+.MR standards 7 .
.IP
This section should note the current standards to which the API conforms to.
.IP
@@ -383,7 +383,7 @@ and library functions that have been added to glibc since glibc 2.1
(i.e., changes since glibc 2.0).
.IP
The
-.BR syscalls (2)
+.MR syscalls 2
manual page also provides information about kernel versions
in which various system calls first appeared.
.P
@@ -490,7 +490,7 @@ may be added in the following cases:
.IP \[bu] 3
to separate long lists of function prototypes into related groups
(see for example
-.BR list (3));
+.MR list 3 );
.IP \[bu]
in other cases that may improve readability.
.P
@@ -602,7 +602,7 @@ Any reference to the subject of the current manual page
should be written with the name in bold followed by
a pair of parentheses in Roman (normal) font.
For example, in the
-.BR fcntl (2)
+.MR fcntl 2
man page, references to the subject of the page would be written as:
.BR fcntl ().
The preferred way to write this in the source file is:
@@ -659,7 +659,7 @@ to be consistent with arrays.
.B 1
When it represents fields of a file,
to be consistent with tools like
-.BR cut (1).
+.MR cut 1 .
.PD
.RE
.TP
@@ -751,7 +751,7 @@ should be written with the name in bold,
followed by the section number,
formatted in Roman (normal) font, without any
separating spaces (e.g.,
-.BR intro (2)).
+.MR intro 2 ).
The preferred way to write this in the source file is:
.P
.EX
@@ -759,7 +759,7 @@ The preferred way to write this in the source file is:
.EE
.P
(Including the section number in cross references lets tools like
-.BR man2html (1)
+.MR man2html 1
create properly hyperlinked pages.)
.P
Control characters should be written in bold face,
@@ -974,7 +974,7 @@ For hyperlinks, use the
.IR .UR / .UE
macro pair
(see
-.BR groff_man (7)).
+.MR groff_man 7 ).
This produces proper hyperlinks that can be used in a web browser,
when rendering a page with, say:
.P
@@ -1065,7 +1065,7 @@ and the former is probably what you want.
.SS Generating optimal glyphs
Where a real minus character is required (e.g., for numbers such as \-1,
for man page cross references such as
-.BR utf\-8 (7),
+.MR utf\-8 7 ,
or when writing options that have a leading dash, such as in
.IR "ls\ \-l"),
use the following form in the man page source:
@@ -1207,21 +1207,21 @@ Boldface the user input text,
to distinguish it from output produced by the system.
.P
For some examples of what example programs should look like, see
-.BR wait (2)
+.MR wait 2
and
-.BR pipe (2).
+.MR pipe 2 .
.SH EXAMPLES
For canonical examples of how man pages in the
.I man-pages
package should look, see
-.BR pipe (2)
+.MR pipe 2
and
-.BR fcntl (2).
+.MR fcntl 2 .
.SH SEE ALSO
-.BR man (1),
-.BR man2html (1),
-.BR attributes (7),
-.BR groff (7),
-.BR groff_man (7),
-.BR man (7),
-.BR mdoc (7)
+.MR man 1 ,
+.MR man2html 1 ,
+.MR attributes 7 ,
+.MR groff 7 ,
+.MR groff_man 7 ,
+.MR man 7 ,
+.MR mdoc 7
diff --git a/man7/math_error.7 b/man7/math_error.7
index 46e90a06f..b7d65c8e9 100644
--- a/man7/math_error.7
+++ b/man7/math_error.7
@@ -24,12 +24,12 @@ There are two error-reporting mechanisms:
the older one sets
.IR errno ;
the newer one uses the floating-point exception mechanism (the use of
-.BR feclearexcept (3)
+.MR feclearexcept 3
and
-.BR fetestexcept (3),
+.MR fetestexcept 3 ,
as outlined below)
described in
-.BR fenv (3).
+.MR fenv 3 .
.P
A portable program that needs to check for an error from a mathematical
function should set
@@ -47,7 +47,7 @@ before calling a mathematical function.
Upon return from the mathematical function, if
.I errno
is nonzero, or the following call (see
-.BR fenv (3))
+.MR fenv 3 )
returns nonzero
.P
.in +4n
@@ -76,7 +76,7 @@ A
occurs when a mathematical function is supplied with an argument whose
value falls outside the domain for which the function
is defined (e.g., giving a negative argument to
-.BR log (3)).
+.MR log 3 ).
When a domain error occurs,
math functions commonly return a NaN
(though some functions return a different value in this case);
@@ -173,7 +173,7 @@ This identifier is supposed to indicate which of the two
error-notification mechanisms
.RI ( errno ,
exceptions retrievable via
-.BR fetestexcept (3))
+.MR fetestexcept 3 )
is in use.
The standards require that at least one be in use,
but permit both to be available.
@@ -190,13 +190,13 @@ See the individual manual pages for details.
To avoid the complexities of using
.I errno
and
-.BR fetestexcept (3)
+.MR fetestexcept 3
for error checking,
it is often advised that one should instead check for bad argument
values before each call.
.\" http://www.securecoding.cert.org/confluence/display/seccode/FLP32-C.+Prevent+or+detect+domain+and+range+errors+in+math+functions
For example, the following code ensures that
-.BR log (3)'s
+.MR log 3 's
argument is not a NaN and is not zero (a pole error) or
less than zero (a domain error):
.P
@@ -219,7 +219,7 @@ which in general are not required to return errors by C99
and POSIX.1.
.P
The
-.BR gcc (1)
+.MR gcc 1
.I "\-fno\-math\-errno"
option causes the executable to employ implementations of some
mathematical functions that are faster than the standard
@@ -227,20 +227,20 @@ implementations, but do not set
.I errno
on error.
(The
-.BR gcc (1)
+.MR gcc 1
.I "\-ffast\-math"
option also enables
.IR "\-fno\-math\-errno" .)
An error can still be tested for using
-.BR fetestexcept (3).
+.MR fetestexcept 3 .
.SH SEE ALSO
-.BR gcc (1),
-.BR errno (3),
-.BR fenv (3),
-.BR fpclassify (3),
-.BR INFINITY (3),
-.BR isgreater (3),
-.BR matherr (3),
-.BR nan (3)
+.MR gcc 1 ,
+.MR errno 3 ,
+.MR fenv 3 ,
+.MR fpclassify 3 ,
+.MR INFINITY 3 ,
+.MR isgreater 3 ,
+.MR matherr 3 ,
+.MR nan 3
.P
.I "info libc"
diff --git a/man7/mount_namespaces.7 b/man7/mount_namespaces.7
index 1f0a1b41f..1acb8763b 100644
--- a/man7/mount_namespaces.7
+++ b/man7/mount_namespaces.7
@@ -9,7 +9,7 @@
mount_namespaces \- overview of Linux mount namespaces
.SH DESCRIPTION
For an overview of namespaces, see
-.BR namespaces (7).
+.MR namespaces 7 .
.P
Mount namespaces provide isolation of the list of mounts seen
by the processes in each namespace instance.
@@ -22,7 +22,7 @@ The views provided by the
and
.IR /proc/ pid /mountstats
files (all described in
-.BR proc (5))
+.MR proc 5 )
correspond to the mount namespace in which the process with the PID
.I pid
resides.
@@ -30,9 +30,9 @@ resides.
will see the same view in these files.)
.P
A new mount namespace is created using either
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWNS
flag.
@@ -40,19 +40,19 @@ When a new mount namespace is created,
its mount list is initialized as follows:
.IP \[bu] 3
If the namespace is created using
-.BR clone (2),
+.MR clone 2 ,
the mount list of the child's namespace is a copy
of the mount list in the parent process's mount namespace.
.IP \[bu]
If the namespace is created using
-.BR unshare (2),
+.MR unshare 2 ,
the mount list of the new namespace is a copy of
the mount list in the caller's previous mount namespace.
.P
Subsequent modifications to the mount list
.RB ( mount (2)
and
-.BR umount (2))
+.MR umount 2 )
in either mount namespace will not (by default) affect the
mount list seen in the other namespace
(but see the following discussion of shared subtrees).
@@ -67,9 +67,9 @@ a mount operation was required in each namespace.
For this use case, and others,
the shared subtree feature was introduced in Linux 2.6.15.
This feature allows for automatic, controlled propagation of
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
.I events
between namespaces
(or, more precisely, between the mounts that are members of a
@@ -77,54 +77,54 @@ between namespaces
that are propagating events to one another).
.P
Each mount is marked (via
-.BR mount (2))
+.MR mount 2 )
as having one of the following
.IR "propagation types" :
.TP
.B MS_SHARED
This mount shares events with members of a peer group.
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
events immediately under this mount will propagate
to the other mounts that are members of the peer group.
.I Propagation
here means that the same
-.BR mount (2)
+.MR mount 2
or
-.BR umount (2)
+.MR umount 2
will automatically occur
under all of the other mounts in the peer group.
Conversely,
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
events that take place under
peer mounts will propagate to this mount.
.TP
.B MS_PRIVATE
This mount is private; it does not have a peer group.
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
events do not propagate into or out of this mount.
.TP
.B MS_SLAVE
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
events propagate into this mount from
a (master) shared peer group.
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
events under this mount do not propagate to any peer.
.IP
Note that a mount can be the slave of another peer group
while at the same time sharing
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
events
with a peer group of which it is a member.
(More precisely, one peer group can be the slave of another peer group.)
@@ -159,9 +159,9 @@ while others are private
(or slaved or unbindable).
.P
Note that a mount's propagation type determines whether
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
of mounts
.I immediately under
the mount are propagated.
@@ -198,7 +198,7 @@ The propagation type of the mounts in a mount namespace
can be discovered via the "optional fields" exposed in
.IR /proc/ pid /mountinfo .
(See
-.BR proc (5)
+.MR proc 5
for details of this file.)
The following tags can appear in the optional fields
for a record in that file:
@@ -301,7 +301,7 @@ but have unique mount IDs.
(The
.I \-\-propagation\~unchanged
option prevents
-.BR unshare (1)
+.MR unshare 1
from marking all mounts as private when creating a new mount namespace,
.\" Since util-linux 2.27
which it does by default.)
@@ -351,18 +351,18 @@ sh1# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq
.\"
.SS MS_SLAVE example
Making a mount a slave allows it to receive propagated
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
events from a master shared peer group,
while preventing it from propagating events to that master.
This is useful if we want to (say) receive a mount event when
an optical disk is mounted in the master shared peer group
(in another mount namespace),
but want to prevent
-.BR mount (2)
+.MR mount 2
and
-.BR umount (2)
+.MR umount 2
events under the slave mount
from having side effects in other namespaces.
.P
@@ -830,7 +830,7 @@ between the mounts
and
.IR /mnt/tmp/etc .
Then the
-.BR chroot (1)
+.MR chroot 1
command is used to make the
.I /tmp/etc
mount point unreachable from the root directory,
@@ -845,9 +845,9 @@ and then bind mount
at
.I /mnt/proc
so that after the later
-.BR chroot (1)
+.MR chroot 1
the
-.BR proc (5)
+.MR proc 5
filesystem remains visible at the correct location
in the chroot-ed environment.
.P
@@ -941,7 +941,7 @@ which in turn is the master of the slave
.IR /mnt/tmp/etc .
.P
We then
-.BR chroot (1)
+.MR chroot 1
to the
.I /mnt
directory, which renders the mount with ID 267 unreachable
@@ -974,7 +974,7 @@ tag is displayed, indicating that the closest dominant peer group
is the peer group with the ID 102 (corresponding to the
.I /mnt
mount point before the
-.BR chroot (1)
+.MR chroot 1
was performed).
.\"
.SH STANDARDS
@@ -999,7 +999,7 @@ for new mount is in many cases
.B MS_SHARED
is typically more useful.
For this reason,
-.BR systemd (1)
+.MR systemd 1
automatically remounts all mounts as
.B MS_SHARED
on system startup.
@@ -1007,18 +1007,18 @@ Thus, on most modern systems, the default propagation type is in practice
.BR MS_SHARED .
.P
Since, when one uses
-.BR unshare (1)
+.MR unshare 1
to create a mount namespace,
the goal is commonly to provide full isolation of the mounts
in the new namespace,
-.BR unshare (1)
+.MR unshare 1
(since
.I util\-linux
2.27) in turn reverses the step performed by
-.BR systemd (1),
+.MR systemd 1 ,
by making all mounts private in the new namespace.
That is,
-.BR unshare (1)
+.MR unshare 1
performs the equivalent of the following in the new mount namespace:
.P
.in +4n
@@ -1030,15 +1030,15 @@ mount \-\-make\-rprivate /
To prevent this, one can use the
.I \-\-propagation\~unchanged
option to
-.BR unshare (1).
+.MR unshare 1 .
.P
An application that creates a new mount namespace directly using
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
may desire to prevent propagation of mount events to other mount namespaces
(as is done by
-.BR unshare (1)).
+.MR unshare 1 ).
This can be done by changing the propagation type of
mounts in the new namespace to either
.B MS_SLAVE
@@ -1083,7 +1083,7 @@ Mounts that come as a single unit from a more privileged mount namespace are
locked together and may not be separated in a less privileged mount
namespace.
(The
-.BR unshare (2)
+.MR unshare 2
.B CLONE_NEWNS
operation brings across all of the mounts from the original
mount namespace as a single unit,
@@ -1107,7 +1107,7 @@ have created a bind mount that
obscures the contents of the shadow password file,
.IR /etc/shadow .
For security reasons, it should not be possible to
-.BR umount (2)
+.MR umount 2
that mount in a less privileged mount namespace,
since that would reveal the contents of
.IR /etc/shadow .
@@ -1119,7 +1119,7 @@ from the previous mount namespace.
However, those mounts will be locked because the new mount namespace
is less privileged.
Consequently, an attempt to
-.BR umount (2)
+.MR umount 2
the mount fails as show
in the following step:
.IP
@@ -1135,11 +1135,11 @@ umount2("/etc/shadow", 0) = \-1 EINVAL (Invalid argument)
.in
.IP
The error message from
-.BR mount (8)
+.MR mount 8
is a little confusing, but the
-.BR strace (1)
+.MR strace 1
output reveals that the underlying
-.BR umount2 (2)
+.MR umount2 2
system call failed with the error
.BR EINVAL ,
which is the error that the kernel returns to indicate that
@@ -1160,7 +1160,7 @@ aaaaa
.in
.IP
The final
-.BR umount (8)
+.MR umount 8
command above, which is performed in the initial mount namespace,
makes the original
.I /etc/shadow
@@ -1168,13 +1168,13 @@ file once more visible in that namespace.
.IP [4]
Following on from point [3],
note that it is possible to
-.BR umount (2)
+.MR umount 2
an entire subtree of mounts that
propagated as a unit into a less privileged mount namespace,
as illustrated in the following example.
.IP
First, we create new user and mount namespaces using
-.BR unshare (1).
+.MR unshare 1 .
In the new mount namespace,
the propagation type of all mounts is set to private.
We then create a shared bind mount at
@@ -1224,7 +1224,7 @@ This means that submount events will propagate from the master
in "ns1", but propagation will not occur in the opposite direction.
.IP
From a separate terminal window, we then use
-.BR nsenter (1)
+.MR nsenter 1
to enter the mount and user namespaces corresponding to "ns1".
In that terminal window, we then recursively bind mount
.I /mnt/x
@@ -1264,12 +1264,12 @@ ns2# \fBgrep /mnt /proc/self/mountinfo | sed \[aq]s/ \- .*//\[aq]\fP
.in
.IP
While it is not possible to
-.BR umount (2)
+.MR umount 2
a part of the propagated subtree
.RI ( /mnt/ppp/y )
in "ns2",
it is possible to
-.BR umount (2)
+.MR umount 2
the entire subtree,
as shown by the following commands:
.IP
@@ -1286,7 +1286,7 @@ ns2# \fBgrep /mnt /proc/self/mountinfo\fP
.in
.IP [5]
The
-.BR mount (2)
+.MR mount 2
flags
.BR MS_RDONLY ,
.BR MS_NOSUID ,
@@ -1326,7 +1326,8 @@ mount: /mnt/dir: permission denied.
.\" (As of 3.18-rc1 (in Al Viro's 2014-08-30 vfs.git#for-next tree))
A file or directory that is a mount point in one namespace that is not
a mount point in another namespace, may be renamed, unlinked, or removed
-.RB ( rmdir (2))
+\%(\c
+.MR rmdir 2 )
in the mount namespace in which it is not a mount point
(subject to the usual permission checks).
Consequently, the mount point is removed in the mount namespace
@@ -1348,24 +1349,24 @@ and permitted denial-of-service attacks against more privileged users
by bind mounting on top of them).
.SH EXAMPLES
See
-.BR pivot_root (2).
+.MR pivot_root 2 .
.SH SEE ALSO
-.BR unshare (1),
-.BR clone (2),
-.BR mount (2),
-.BR mount_setattr (2),
-.BR pivot_root (2),
-.BR setns (2),
-.BR umount (2),
-.BR unshare (2),
-.BR proc (5),
-.BR namespaces (7),
-.BR user_namespaces (7),
-.BR findmnt (8),
-.BR mount (8),
-.BR pam_namespace (8),
-.BR pivot_root (8),
-.BR umount (8)
+.MR unshare 1 ,
+.MR clone 2 ,
+.MR mount 2 ,
+.MR mount_setattr 2 ,
+.MR pivot_root 2 ,
+.MR setns 2 ,
+.MR umount 2 ,
+.MR unshare 2 ,
+.MR proc 5 ,
+.MR namespaces 7 ,
+.MR user_namespaces 7 ,
+.MR findmnt 8 ,
+.MR mount 8 ,
+.MR pam_namespace 8 ,
+.MR pivot_root 8 ,
+.MR umount 8
.P
.I Documentation/filesystems/sharedsubtree.rst
in the kernel source tree.
diff --git a/man7/mq_overview.7 b/man7/mq_overview.7
index 51ad14d3a..02121f95b 100644
--- a/man7/mq_overview.7
+++ b/man7/mq_overview.7
@@ -10,13 +10,14 @@ mq_overview \- overview of POSIX message queues
POSIX message queues allow processes to exchange data in
the form of messages.
This API is distinct from that provided by System V message queues
-.RB ( msgget (2),
-.BR msgsnd (2),
-.BR msgrcv (2),
+\%(\c
+.MR msgget 2 ,
+.MR msgsnd 2 ,
+.MR msgrcv 2 ,
etc.), but provides similar functionality.
.P
Message queues are created and opened using
-.BR mq_open (3);
+.MR mq_open 3 ;
this function returns a
.I message queue descriptor
.RI ( mqd_t ),
@@ -28,30 +29,30 @@ that is, a null-terminated string of up to
(i.e., 255) characters consisting of an initial slash,
followed by one or more characters, none of which are slashes.
Two processes can operate on the same queue by passing the same name to
-.BR mq_open (3).
+.MR mq_open 3 .
.P
Messages are transferred to and from a queue using
-.BR mq_send (3)
+.MR mq_send 3
and
-.BR mq_receive (3).
+.MR mq_receive 3 .
When a process has finished using the queue, it closes it using
-.BR mq_close (3),
+.MR mq_close 3 ,
and when the queue is no longer required, it can be deleted using
-.BR mq_unlink (3).
+.MR mq_unlink 3 .
Queue attributes can be retrieved and (in some cases) modified using
-.BR mq_getattr (3)
+.MR mq_getattr 3
and
-.BR mq_setattr (3).
+.MR mq_setattr 3 .
A process can request asynchronous notification
of the arrival of a message on a previously empty queue using
-.BR mq_notify (3).
+.MR mq_notify 3 .
.P
A message queue descriptor is a reference to an
.I "open message queue description"
(see
-.BR open (2)).
+.MR open 2 ).
After a
-.BR fork (2),
+.MR fork 2 ,
a child inherits copies of its parent's message queue descriptors,
and these descriptors refer to the same open message queue descriptions
as the corresponding message queue descriptors in the parent.
@@ -108,7 +109,7 @@ This option is enabled by default.
.SS Persistence
POSIX message queues have kernel persistence:
if not removed by
-.BR mq_unlink (3),
+.MR mq_unlink 3 ,
a message queue will exist until the system is shut down.
.SS Linking
Programs using the POSIX message queue API must be compiled with
@@ -124,7 +125,7 @@ the default attributes for new message queues:
This file defines the value used for a new queue's
.I mq_maxmsg
setting when the queue is created with a call to
-.BR mq_open (3)
+.MR mq_open 3
where
.I attr
is specified as NULL.
@@ -150,7 +151,7 @@ maximum number of messages in a queue.
This value acts as a ceiling on the
.I attr\->mq_maxmsg
argument given to
-.BR mq_open (3).
+.MR mq_open 3 .
The default value for
.I msg_max
is 10.
@@ -185,7 +186,7 @@ Since Linux 3.5:
This file defines the value used for a new queue's
.I mq_msgsize
setting when the queue is created with a call to
-.BR mq_open (3)
+.MR mq_open 3
where
.I attr
is specified as NULL.
@@ -214,7 +215,7 @@ maximum message size.
This value acts as a ceiling on the
.I attr\->mq_msgsize
argument given to
-.BR mq_open (3).
+.MR mq_open 3 .
The default value for
.I msgsize_max
is 8192 bytes.
@@ -258,7 +259,7 @@ The
resource limit, which places a limit on the amount of space
that can be consumed by all of the message queues
belonging to a process's real user ID, is described in
-.BR getrlimit (2).
+.MR getrlimit 2 .
.SS Mounting the message queue filesystem
On Linux, message queues are created in a virtual filesystem.
(Other implementations may also provide such a feature,
@@ -278,9 +279,9 @@ The sticky bit is automatically enabled on the mount directory.
After the filesystem has been mounted, the message queues on the system
can be viewed and manipulated using the commands usually used for files
(e.g.,
-.BR ls (1)
+.MR ls 1
and
-.BR rm (1)).
+.MR rm 1 ).
.P
The contents of each file in the directory consist of a single line
containing information about the queue:
@@ -299,7 +300,7 @@ Number of bytes of data in all messages in the queue (but see BUGS).
.TP
.B NOTIFY_PID
If this is nonzero, then the process with this PID has used
-.BR mq_notify (3)
+.MR mq_notify 3
to register for asynchronous message notification,
and the remaining fields describe how notification occurs.
.TP
@@ -320,25 +321,26 @@ Signal number to be used for
On Linux, a message queue descriptor is actually a file descriptor.
(POSIX does not require such an implementation.)
This means that a message queue descriptor can be monitored using
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7).
+.MR epoll 7 .
This is not portable.
.P
The close-on-exec flag (see
-.BR open (2))
+.MR open 2 )
is automatically set on the file descriptor returned by
-.BR mq_open (2).
+.MR mq_open 2 .
.SS IPC namespaces
For a discussion of the interaction of POSIX message queue objects and
IPC namespaces, see
-.BR ipc_namespaces (7).
+.MR ipc_namespaces 7 .
.SH NOTES
System V message queues
-.RB ( msgget (2),
-.BR msgsnd (2),
-.BR msgrcv (2),
+\%(\c
+.MR msgget 2 ,
+.MR msgsnd 2 ,
+.MR msgrcv 2 ,
etc.) are an older API for exchanging messages between processes.
POSIX message queues provide a better designed interface than
System V message queues;
@@ -372,18 +374,18 @@ so that the count once more included just the bytes of user data
in messages in the queue.
.SH EXAMPLES
An example of the use of various message queue functions is shown in
-.BR mq_notify (3).
+.MR mq_notify 3 .
.SH SEE ALSO
-.BR getrlimit (2),
-.BR mq_getsetattr (2),
-.BR poll (2),
-.BR select (2),
-.BR mq_close (3),
-.BR mq_getattr (3),
-.BR mq_notify (3),
-.BR mq_open (3),
-.BR mq_receive (3),
-.BR mq_send (3),
-.BR mq_unlink (3),
-.BR epoll (7),
-.BR namespaces (7)
+.MR getrlimit 2 ,
+.MR mq_getsetattr 2 ,
+.MR poll 2 ,
+.MR select 2 ,
+.MR mq_close 3 ,
+.MR mq_getattr 3 ,
+.MR mq_notify 3 ,
+.MR mq_open 3 ,
+.MR mq_receive 3 ,
+.MR mq_send 3 ,
+.MR mq_unlink 3 ,
+.MR epoll 7 ,
+.MR namespaces 7
diff --git a/man7/namespaces.7 b/man7/namespaces.7
index bdcdde3c8..54989a9a9 100644
--- a/man7/namespaces.7
+++ b/man7/namespaces.7
@@ -67,9 +67,9 @@ As well as various
files described below,
the namespaces API includes the following system calls:
.TP
-.BR clone (2)
+.MR clone 2
The
-.BR clone (2)
+.MR clone 2
system call creates a new process.
If the
.I flags
@@ -80,18 +80,18 @@ and the child process is made a member of those namespaces.
(This system call also implements a number of features
unrelated to namespaces.)
.TP
-.BR setns (2)
+.MR setns 2
The
-.BR setns (2)
+.MR setns 2
system call allows the calling process to join an existing namespace.
The namespace to join is specified via a file descriptor that refers to
one of the
.IR /proc/ pid /ns
files described below.
.TP
-.BR unshare (2)
+.MR unshare 2
The
-.BR unshare (2)
+.MR unshare 2
system call moves the calling process to a new namespace.
If the
.I flags
@@ -102,17 +102,17 @@ and the calling process is made a member of those namespaces.
(This system call also implements a number of features
unrelated to namespaces.)
.TP
-.BR ioctl (2)
+.MR ioctl 2
Various
-.BR ioctl (2)
+.MR ioctl 2
operations can be used to discover information about namespaces.
These operations are described in
-.BR ioctl_ns (2).
+.MR ioctl_ns 2 .
.P
Creation of new namespaces using
-.BR clone (2)
+.MR clone 2
and
-.BR unshare (2)
+.MR unshare 2
in most cases requires the
.B CAP_SYS_ADMIN
capability, since, in the new namespace,
@@ -130,7 +130,7 @@ Each process has a
.\" See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
subdirectory containing one entry for each namespace that
supports being manipulated by
-.BR setns (2):
+.MR setns 2 :
.P
.in +4n
.EX
@@ -150,7 +150,7 @@ lrwxrwxrwx. uts \-> uts:[4026531838]
.in
.P
Bind mounting (see
-.BR mount (2))
+.MR mount 2 )
one of the files in this directory
to somewhere else in the filesystem keeps
the corresponding namespace of the process specified by
@@ -166,7 +166,7 @@ As long as this file descriptor remains open,
the namespace will remain alive,
even if all processes in the namespace terminate.
The file descriptor can be passed to
-.BR setns (2).
+.MR setns 2 .
.P
In Linux 3.7 and earlier, these files were visible as hard links.
Since Linux 3.8,
@@ -185,7 +185,7 @@ symbolic links will be the same; an application can check this using the
and
.I stat.st_ino
fields returned by
-.BR stat (2).
+.MR stat 2 .
The content of this symbolic link is a string containing
the namespace type and inode number as in the following example:
.P
@@ -222,17 +222,17 @@ This handle is permanent for the lifetime of the process
This file is a handle for the PID namespace of
child processes created by this process.
This can change as a consequence of calls to
-.BR unshare (2)
+.MR unshare 2
and
-.BR setns (2)
+.MR setns 2
(see
-.BR pid_namespaces (7)),
+.MR pid_namespaces 7 ),
so the file may differ from
.IR /proc/ pid /ns/pid .
The symbolic link gains a value only after the first child process
is created in the namespace.
(Beforehand,
-.BR readlink (2)
+.MR readlink 2
of the symbolic link will return an empty buffer.)
.TP
.IR /proc/ pid /ns/time " (since Linux 5.6)"
@@ -242,11 +242,11 @@ This file is a handle for the time namespace of the process.
This file is a handle for the time namespace of
child processes created by this process.
This can change as a consequence of calls to
-.BR unshare (2)
+.MR unshare 2
and
-.BR setns (2)
+.MR setns 2
(see
-.BR time_namespaces (7)),
+.MR time_namespaces 7 ),
so the file may differ from
.IR /proc/ pid /ns/time .
.TP
@@ -258,11 +258,12 @@ This file is a handle for the user namespace of the process.
This file is a handle for the UTS namespace of the process.
.P
Permission to dereference or read
-.RB ( readlink (2))
+\%(\c
+.MR readlink 2 )
these symbolic links is governed by a ptrace access mode
.B PTRACE_MODE_READ_FSCREDS
check; see
-.BR ptrace (2).
+.MR ptrace 2 .
.\"
.\" ==================== The /proc/sys/user directory ====================
.\"
@@ -323,9 +324,9 @@ These limits apply in addition to any other per-namespace
limits (such as those for PID and user namespaces) that may be enforced.
.IP \[bu]
Upon encountering these limits,
-.BR clone (2)
+.MR clone 2
and
-.BR unshare (2)
+.MR unshare 2
fail with the error
.BR ENOSPC .
.IP \[bu]
@@ -384,34 +385,34 @@ symbolic link.
It is an IPC namespace, and a corresponding mount of an
.I mqueue
filesystem (see
-.BR mq_overview (7))
+.MR mq_overview 7 )
refers to this namespace.
.IP \[bu]
It is a PID namespace, and a corresponding mount of a
-.BR proc (5)
+.MR proc 5
filesystem refers to this namespace.
.SH EXAMPLES
See
-.BR clone (2)
+.MR clone 2
and
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.SH SEE ALSO
-.BR nsenter (1),
-.BR readlink (1),
-.BR unshare (1),
-.BR clone (2),
-.BR ioctl_ns (2),
-.BR setns (2),
-.BR unshare (2),
-.BR proc (5),
-.BR capabilities (7),
-.BR cgroup_namespaces (7),
-.BR cgroups (7),
-.BR credentials (7),
-.BR ipc_namespaces (7),
-.BR network_namespaces (7),
-.BR pid_namespaces (7),
-.BR user_namespaces (7),
-.BR uts_namespaces (7),
-.BR lsns (8),
-.BR switch_root (8)
+.MR nsenter 1 ,
+.MR readlink 1 ,
+.MR unshare 1 ,
+.MR clone 2 ,
+.MR ioctl_ns 2 ,
+.MR setns 2 ,
+.MR unshare 2 ,
+.MR proc 5 ,
+.MR capabilities 7 ,
+.MR cgroup_namespaces 7 ,
+.MR cgroups 7 ,
+.MR credentials 7 ,
+.MR ipc_namespaces 7 ,
+.MR network_namespaces 7 ,
+.MR pid_namespaces 7 ,
+.MR user_namespaces 7 ,
+.MR uts_namespaces 7 ,
+.MR lsns 8 ,
+.MR switch_root 8
diff --git a/man7/netdevice.7 b/man7/netdevice.7
index 4722fc257..6c4e0c0cd 100644
--- a/man7/netdevice.7
+++ b/man7/netdevice.7
@@ -292,7 +292,7 @@ multicast filters using
.IR ifr_hwaddr .
These are privileged operations.
See also
-.BR packet (7)
+.MR packet 7
for an alternative.
.TP
.B SIOCGIFTXQLEN
@@ -396,7 +396,7 @@ Most protocols support their own ioctls to configure protocol-specific
interface options.
See the protocol man pages for a description.
For configuring IP addresses, see
-.BR ip (7).
+.MR ip 7 .
.P
In addition, some devices support private ioctls.
These are not described here.
@@ -406,7 +406,7 @@ and the other ioctls that accept or return only
.B AF_INET
socket addresses
are IP-specific and perhaps should rather be documented in
-.BR ip (7).
+.MR ip 7 .
.P
The names of interfaces with no addresses or that don't have the
.B IFF_RUNNING
@@ -417,17 +417,17 @@ flag set can be found via
IPv6 addresses can be read from
.I /proc/net/if_inet6
or via
-.BR rtnetlink (7).
+.MR rtnetlink 7 .
Adding a new IPv6 address and deleting an existing IPv6 address
can be done via
.B SIOCSIFADDR
and
.B SIOCDIFADDR
or via
-.BR rtnetlink (7).
+.MR rtnetlink 7 .
Retrieving or changing destination IPv6 addresses of a point-to-point
interface is possible only via
-.BR rtnetlink (7).
+.MR rtnetlink 7 .
.SH BUGS
glibc 2.1 is missing the
.I ifr_newname
@@ -443,7 +443,7 @@ Add the following to your program as a workaround:
.EE
.in
.SH SEE ALSO
-.BR proc (5),
-.BR capabilities (7),
-.BR ip (7),
-.BR rtnetlink (7)
+.MR proc 5 ,
+.MR capabilities 7 ,
+.MR ip 7 ,
+.MR rtnetlink 7
diff --git a/man7/netlink.7 b/man7/netlink.7
index 4198bf157..70fd9c309 100644
--- a/man7/netlink.7
+++ b/man7/netlink.7
@@ -46,7 +46,7 @@ Receives routing and link updates and may be used to modify the routing
tables (both IPv4 and IPv6), IP addresses, link parameters,
neighbor setups, queueing disciplines, traffic classes, and
packet classifiers (see
-.BR rtnetlink (7)).
+.MR rtnetlink 7 ).
.TP
.BR NETLINK_W1 " (Linux 2.6.13 to Linux 2.16.17)"
Messages from 1-wire subsystem.
@@ -70,7 +70,7 @@ was removed in Linux 3.5.
.\" commit 7f1fb60c4fc9fb29fbb406ac8c4cfb4e59e168d6
Query information about sockets of various protocol families from the kernel
(see
-.BR sock_diag (7)).
+.MR sock_diag 7 ).
.TP
.BR NETLINK_INET_DIAG " (since Linux 2.6.14)"
An obsolete synonym for
@@ -152,7 +152,7 @@ The byte stream should be accessed only with the standard
.B NLMSG_*
macros.
See
-.BR netlink (3)
+.MR netlink 3
for further information.
.P
In multipart messages (multiple
@@ -215,7 +215,7 @@ struct nlmsgerr {
.P
A netlink family usually specifies more message types, see the
appropriate manual pages for that, for example,
-.BR rtnetlink (7)
+.MR rtnetlink 7
for
.BR NETLINK_ROUTE .
.TS
@@ -334,7 +334,7 @@ no longer have the same view of kernel state.
It is up to the application to detect when this happens (via the
.B ENOBUFS
error returned by
-.BR recvmsg (2))
+.MR recvmsg 2 )
and resynchronize.
.SS Address formats
The
@@ -377,7 +377,7 @@ to a netlink socket.
If the application sets
.I nl_pid
before calling
-.BR bind (2),
+.MR bind 2 ,
then it is up to the application to make sure that
.I nl_pid
is unique.
@@ -391,7 +391,7 @@ to every netlink socket that the process subsequently creates.
is a bit mask with every bit representing a netlink group number.
Each netlink family has a set of 32 multicast groups.
When
-.BR bind (2)
+.MR bind 2
is called on the socket, the
.I nl_groups
field in the
@@ -402,9 +402,9 @@ will be received.
A socket may multicast messages to any of the multicast groups by setting
.I nl_groups
to a bit mask of the groups it wishes to send to when it calls
-.BR sendmsg (2)
+.MR sendmsg 2
or does a
-.BR connect (2).
+.MR connect 2 .
Only processes with an effective UID of 0 or the
.B CAP_NET_ADMIN
capability may send or listen to a netlink multicast group.
@@ -425,9 +425,9 @@ groups allow other users to receive messages.
No groups allow other users to send messages.
.SS Socket options
To set or get a netlink socket option, call
-.BR getsockopt (2)
+.MR getsockopt 2
to read or
-.BR setsockopt (2)
+.MR setsockopt 2
to write the option with the option level argument set to
.BR SOL_NETLINK .
Unless otherwise noted,
@@ -594,11 +594,11 @@ for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);
.EE
.in
.SH SEE ALSO
-.BR cmsg (3),
-.BR netlink (3),
-.BR capabilities (7),
-.BR rtnetlink (7),
-.BR sock_diag (7)
+.MR cmsg 3 ,
+.MR netlink 3 ,
+.MR capabilities 7 ,
+.MR rtnetlink 7 ,
+.MR sock_diag 7
.P
.UR ftp://ftp.inr.ac.ru\:/ip\-routing\:/iproute2*
information about libnetlink
diff --git a/man7/network_namespaces.7 b/man7/network_namespaces.7
index 92ebc32ae..147c287cc 100644
--- a/man7/network_namespaces.7
+++ b/man7/network_namespaces.7
@@ -20,7 +20,7 @@ directory, various files under
port numbers (sockets), and so on.
In addition,
network namespaces isolate the UNIX domain abstract socket namespace (see
-.BR unix (7)).
+.MR unix 7 ).
.P
A physical network device can live in exactly one
network namespace.
@@ -31,13 +31,14 @@ initial network namespace
(not to the namespace of the parent of the process).
.P
A virtual network
-.RB ( veth (4))
+\%(\c
+.MR veth 4 )
device pair provides a pipe-like abstraction
that can be used to create tunnels between network namespaces,
and can be used to create a bridge to a physical network device
in another namespace.
When a namespace is freed, the
-.BR veth (4)
+.MR veth 4
devices that it contains are destroyed.
.P
Use of network namespaces requires a kernel that is configured with the
@@ -45,18 +46,18 @@ Use of network namespaces requires a kernel that is configured with the
option.
.\" FIXME .SH EXAMPLES
.SH SEE ALSO
-.BR nsenter (1),
-.BR unshare (1),
-.BR clone (2),
-.BR veth (4),
-.BR proc (5),
-.BR sysfs (5),
-.BR namespaces (7),
-.BR user_namespaces (7),
-.BR brctl (8),
-.BR ip (8),
-.BR ip\-address (8),
-.BR ip\-link (8),
-.BR ip\-netns (8),
-.BR iptables (8),
-.BR ovs\-vsctl (8)
+.MR nsenter 1 ,
+.MR unshare 1 ,
+.MR clone 2 ,
+.MR veth 4 ,
+.MR proc 5 ,
+.MR sysfs 5 ,
+.MR namespaces 7 ,
+.MR user_namespaces 7 ,
+.MR brctl 8 ,
+.MR ip 8 ,
+.MR ip\-address 8 ,
+.MR ip\-link 8 ,
+.MR ip\-netns 8 ,
+.MR iptables 8 ,
+.MR ovs\-vsctl 8
diff --git a/man7/nptl.7 b/man7/nptl.7
index 1bff274d3..052f21b9a 100644
--- a/man7/nptl.7
+++ b/man7/nptl.7
@@ -16,7 +16,7 @@ NPTL makes internal use of the first two real-time signals
(signal numbers 32 and 33).
One of these signals is used to support thread cancelation and POSIX timers
(see
-.BR timer_create (2));
+.MR timer_create 2 );
the other is used as part of a mechanism that ensures all threads in
a process always have the same UIDs and GIDs, as required by POSIX.
These signals cannot be used in applications.
@@ -31,29 +31,29 @@ as follows:
is defined with the value 34 (rather than 32).
.IP \[bu]
The
-.BR sigwaitinfo (2),
-.BR sigtimedwait (2),
+.MR sigwaitinfo 2 ,
+.MR sigtimedwait 2 ,
and
-.BR sigwait (3)
+.MR sigwait 3
interfaces silently ignore requests to wait for these two signals
if they are specified in the signal set argument of these calls.
.IP \[bu]
The
-.BR sigprocmask (2)
+.MR sigprocmask 2
and
-.BR pthread_sigmask (3)
+.MR pthread_sigmask 3
interfaces silently ignore attempts to block these two signals.
.IP \[bu]
The
-.BR sigaction (2),
-.BR pthread_kill (3),
+.MR sigaction 2 ,
+.MR pthread_kill 3 ,
and
-.BR pthread_sigqueue (3)
+.MR pthread_sigqueue 3
interfaces fail with the error
.B EINVAL
(indicating an invalid signal number) if these signals are specified.
.IP \[bu]
-.BR sigfillset (3)
+.MR sigfillset 3
does not include these two signals when it creates a full signal set.
.\"
.SS NPTL and process credential changes
@@ -69,7 +69,7 @@ arrange for all other threads in the process to also change their credentials.
.P
The implementation of each of these system calls involves the use of
a real-time signal that is sent (using
-.BR tgkill (2))
+.MR tgkill 2 )
to each of the other threads that must change its credentials.
Before sending these signals, the thread that is changing credentials
saves the new credential(s) and records the system call being employed
@@ -78,22 +78,22 @@ A signal handler in the receiving thread(s) fetches this information and
then uses the same system call to change its credentials.
.P
Wrapper functions employing this technique are provided for
-.BR setgid (2),
-.BR setuid (2),
-.BR setegid (2),
-.BR seteuid (2),
-.BR setregid (2),
-.BR setreuid (2),
-.BR setresgid (2),
-.BR setresuid (2),
+.MR setgid 2 ,
+.MR setuid 2 ,
+.MR setegid 2 ,
+.MR seteuid 2 ,
+.MR setregid 2 ,
+.MR setreuid 2 ,
+.MR setresgid 2 ,
+.MR setresuid 2 ,
and
-.BR setgroups (2).
+.MR setgroups 2 .
.\" FIXME .
.\" Maybe say something about vfork() not being serialized wrt set*id() APIs?
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=14749
.SH STANDARDS
For details of the conformance of NPTL to the POSIX standard, see
-.BR pthreads (7).
+.MR pthreads 7 .
.SH NOTES
POSIX says
.\" See POSIX.1-2008 specification of pthread_mutexattr_init()
@@ -106,7 +106,7 @@ is incompatible with the mutex definition for i386,
.\" See sysdeps/x86/bits/pthreadtypes.h
meaning that 32-bit and 64-bit binaries can't share mutexes on x86-64 systems.
.SH SEE ALSO
-.BR credentials (7),
-.BR pthreads (7),
-.BR signal (7),
-.BR standards (7)
+.MR credentials 7 ,
+.MR pthreads 7 ,
+.MR signal 7 ,
+.MR standards 7
diff --git a/man7/numa.7 b/man7/numa.7
index ac3e38112..b39eec14e 100644
--- a/man7/numa.7
+++ b/man7/numa.7
@@ -22,12 +22,12 @@ the node local to another CPU
or the memory on a bus shared by all CPUs.
.SS NUMA system calls
The Linux kernel implements the following NUMA-related system calls:
-.BR get_mempolicy (2),
-.BR mbind (2),
-.BR migrate_pages (2),
-.BR move_pages (2),
+.MR get_mempolicy 2 ,
+.MR mbind 2 ,
+.MR migrate_pages 2 ,
+.MR move_pages 2 ,
and
-.BR set_mempolicy (2).
+.MR set_mempolicy 2 .
However, applications should normally use the interface provided by
.IR libnuma ;
see "Library Support" below.
@@ -146,7 +146,7 @@ package.
.P
However, applications should not use these system calls directly.
Instead, the higher level interface provided by the
-.BR numa (3)
+.MR numa 3
functions in the
.I numactl
package is recommended.
@@ -161,10 +161,10 @@ in the separate
.I numactl\-devel
package.
.SH SEE ALSO
-.BR get_mempolicy (2),
-.BR mbind (2),
-.BR move_pages (2),
-.BR set_mempolicy (2),
-.BR numa (3),
-.BR cpuset (7),
-.BR numactl (8)
+.MR get_mempolicy 2 ,
+.MR mbind 2 ,
+.MR move_pages 2 ,
+.MR set_mempolicy 2 ,
+.MR numa 3 ,
+.MR cpuset 7 ,
+.MR numactl 8
diff --git a/man7/packet.7 b/man7/packet.7
index 513945eff..4e7c6f422 100644
--- a/man7/packet.7
+++ b/man7/packet.7
@@ -46,7 +46,7 @@ If
.I protocol
is set to zero,
no packets are received.
-.BR bind (2)
+.MR bind 2
can optionally be called with a nonzero
.I sll_protocol
to start receiving packets for the protocols specified.
@@ -86,7 +86,7 @@ destination address before they are queued.
By default, all packets of the specified protocol type
are passed to a packet socket.
To get packets only from a specific interface use
-.BR bind (2)
+.MR bind 2
specifying an address in a
.I struct sockaddr_ll
to bind the packet socket to an interface.
@@ -99,16 +99,16 @@ and
.IR sll_ifindex .
.P
The
-.BR connect (2)
+.MR connect 2
operation is not supported on packet sockets.
.P
When the
.B MSG_TRUNC
flag is passed to
-.BR recvmsg (2),
-.BR recv (2),
+.MR recvmsg 2 ,
+.MR recv 2 ,
or
-.BR recvfrom (2),
+.MR recvfrom 2 ,
the real length of the packet on the wire is always returned,
even when it is longer than the buffer.
.SS Address types
@@ -142,7 +142,7 @@ It defaults to the socket's protocol.
.I sll_ifindex
is the interface index of the interface
(see
-.BR netdevice (7));
+.MR netdevice 7 );
0 matches any interface (only permitted for binding).
.I sll_hatype
is an ARP type as defined in the
@@ -186,7 +186,7 @@ and
are set on received packets for your information.
.SS Socket options
Packet socket options are configured by calling
-.BR setsockopt (2)
+.MR setsockopt 2
with level
.BR SOL_PACKET .
.TP
@@ -245,10 +245,10 @@ can be used for the same purpose.
.\" commit 8dc4194474159660d7f37c495e3fc3f10d0db8cc
If this binary option is enabled, the packet socket passes a metadata
structure along with each packet in the
-.BR recvmsg (2)
+.MR recvmsg 2
control field.
The structure can be read with
-.BR cmsg (3).
+.MR cmsg 3 .
It is defined as
.IP
.in +4n
@@ -274,7 +274,7 @@ group.
In this mode, each matching packet is enqueued onto only one
socket in the group.
A socket joins a fanout group by calling
-.BR setsockopt (2)
+.MR setsockopt 2
with level
.B SOL_PACKET
and option
@@ -350,7 +350,7 @@ The format error must be fixed, the associated
reset to
.BR TP_STATUS_SEND_REQUEST ,
and the transmission process restarted via
-.BR send (2).
+.MR send 2 .
However, if
.B PACKET_LOSS
is set, any malformed packet will be skipped, its
@@ -452,7 +452,7 @@ and schedules them for transmission by changing
to
.BR TP_STATUS_SEND_REQUEST .
When packets are ready to be transmitted, the application calls
-.BR send (2)
+.MR send 2
or a variant thereof.
The
.I buf
@@ -460,9 +460,9 @@ and
.I len
fields of this call are ignored.
If an address is passed using
-.BR sendto (2)
+.MR sendto 2
or
-.BR sendmsg (2),
+.MR sendmsg 2 ,
then that overrides the socket default.
On successful transmission, the socket resets
.I tp_status
@@ -504,9 +504,9 @@ variable.
.\" FIXME Document SIOCGSTAMPNS
.P
In addition, all standard ioctls defined in
-.BR netdevice (7)
+.MR netdevice 7
and
-.BR socket (7)
+.MR socket 7
are valid on packet sockets.
.SS Error handling
Packet sockets do no error handling other than errors occurred
@@ -557,7 +557,7 @@ Earlier Linux versions supported only
For portable programs it is suggested to use
.B AF_PACKET
via
-.BR pcap (3);
+.MR pcap 3 ;
although this covers only a subset of the
.B AF_PACKET
features.
@@ -628,7 +628,7 @@ The IEEE 802.2/803.3 LLC handling could be considered as a bug.
.SS MSG_TRUNC issues
The
.B MSG_TRUNC
-.BR recvmsg (2)
+.MR recvmsg 2
extension is an ugly hack and should be replaced by a control message.
There is currently no way to get the original destination address of
packets via
@@ -660,7 +660,7 @@ Possible user solutions are to disable
.B Predictable Network Interface Names
or to rename the interface to a name of at most 13 bytes,
for example using the
-.BR ip (8)
+.MR ip 8
tool.
.SS Documentation issues
Socket filters are not documented.
@@ -669,13 +669,13 @@ Socket filters are not documented.
.\" AF_PACKET in Linux 2.2 was implemented
.\" by Alexey Kuznetsov, based on code by Alan Cox and others.
.SH SEE ALSO
-.BR socket (2),
-.BR pcap (3),
-.BR capabilities (7),
-.BR ip (7),
-.BR raw (7),
-.BR socket (7),
-.BR ip (8),
+.MR socket 2 ,
+.MR pcap 3 ,
+.MR capabilities 7 ,
+.MR ip 7 ,
+.MR raw 7 ,
+.MR socket 7 ,
+.MR ip 8 ,
.P
RFC\ 894 for the standard IP Ethernet encapsulation.
RFC\ 1700 for the IEEE 802.3 IP encapsulation.
diff --git a/man7/path_resolution.7 b/man7/path_resolution.7
index 07c5a8d74..79ce4b545 100644
--- a/man7/path_resolution.7
+++ b/man7/path_resolution.7
@@ -14,16 +14,16 @@ 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.
A process may get a different root directory by use of the
-.BR chroot (2)
+.MR chroot 2
system call, or may temporarily use a different root directory by using
-.BR openat2 (2)
+.MR openat2 2
with the
.B RESOLVE_IN_ROOT
flag set.
.P
A process may get an entirely private mount namespace in case
it\[em]or one of its ancestors\[em]was started by an invocation of the
-.BR clone (2)
+.MR clone 2
system call that had the
.B CLONE_NEWNS
flag set.
@@ -32,7 +32,7 @@ This handles the \[aq]/\[aq] part of the pathname.
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
+.MR openat 2 -style
system calls, the
.I dfd
argument (or the current working directory if
@@ -42,7 +42,7 @@ is passed as the
argument).
The current working directory is inherited from the parent, and can
be changed by use of the
-.BR chdir (2)
+.MR chdir 2
system call.
.P
Pathnames starting with a \[aq]/\[aq] character are called absolute pathnames.
@@ -116,7 +116,7 @@ so that the only limit that remains is the maximum of 40
resolutions for the entire pathname.
.P
The resolution of symbolic links during this stage can be blocked by using
-.BR openat2 (2),
+.MR openat2 2 ,
with the
.B RESOLVE_NO_SYMLINKS
flag set.
@@ -154,7 +154,7 @@ the parent directory of "path",
outside of the filesystem hierarchy on "dev".
.P
Traversal of mount points can be blocked by using
-.BR openat2 (2),
+.MR openat2 2 ,
with the
.B RESOLVE_NO_XDEV
flag set (though note that this also restricts bind mount traversal).
@@ -170,10 +170,10 @@ 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
the symbolic link or the result of path resolution on its contents.
For example, the system call
-.BR lstat (2)
+.MR lstat 2
will operate on the symbolic link,
while
-.BR stat (2)
+.MR stat 2
operates on the file pointed to by the symbolic link.
.SS Length limit
There is a maximum length for pathnames.
@@ -191,16 +191,16 @@ Linux returns
in this case.
.SS Permissions
The permission bits of a file consist of three groups of three bits; see
-.BR chmod (1)
+.MR chmod 1
and
-.BR stat (2).
+.MR stat 2 .
The first group of three is used when the effective user ID of
the calling process equals the owner ID of the file.
The second group
of three is used when the group ID of the file either equals the
effective group ID of the calling process, or is one of the
supplementary group IDs of the calling process (as set by
-.BR setgroups (2)).
+.MR setgroups 2 ).
When neither holds, the third group is used.
.P
Of the three bits used, the first bit determines read permission,
@@ -210,7 +210,7 @@ in case of ordinary files, or search permission in case of directories.
Linux uses the fsuid instead of the effective user ID in permission checks.
Ordinarily the fsuid will equal the effective user ID, but the fsuid can be
changed by the system call
-.BR setfsuid (2).
+.MR setfsuid 2 .
.P
(Here "fsuid" stands for something like "filesystem user ID".
The concept was required for the implementation of a user space
@@ -218,12 +218,12 @@ NFS server at a time when processes could send a signal to a process
with the same effective user ID.
It is obsolete now.
Nobody should use
-.BR setfsuid (2).)
+.MR setfsuid 2 .)
.P
Similarly, Linux uses the fsgid ("filesystem group ID")
instead of the effective group ID.
See
-.BR setfsgid (2).
+.MR setfsgid 2 .
.\" FIXME . say something about filesystem mounted read-only ?
.SS Bypassing permission checks: superuser and capabilities
On a traditional UNIX system, the superuser
@@ -238,7 +238,7 @@ when accessing files.
.\" of the file's execute permission bits. -- MTK (Oct 05)
.P
On Linux, superuser privileges are divided into capabilities (see
-.BR capabilities (7)).
+.MR capabilities 7 ).
Two capabilities are relevant for file permissions checks:
.B CAP_DAC_OVERRIDE
and
@@ -258,7 +258,7 @@ on directories, and read permission on ordinary files.
.\" FIXME . say something about immutable files
.\" FIXME . say something about ACLs
.SH SEE ALSO
-.BR readlink (2),
-.BR capabilities (7),
-.BR credentials (7),
-.BR symlink (7)
+.MR readlink 2 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR symlink 7
diff --git a/man7/persistent-keyring.7 b/man7/persistent-keyring.7
index 90b5a168d..6cdd448ae 100644
--- a/man7/persistent-keyring.7
+++ b/man7/persistent-keyring.7
@@ -23,15 +23,15 @@ Instead, it must first be linked to one of a process's keyrings,
before that keyring can access the persistent keyring
by virtue of its possessor permits.
This linking is done with the
-.BR keyctl_get_persistent (3)
+.MR keyctl_get_persistent 3
function.
.P
If a persistent keyring does not exist when it is accessed by the
-.BR keyctl_get_persistent (3)
+.MR keyctl_get_persistent 3
operation, it will be automatically created.
.P
Each time the
-.BR keyctl_get_persistent (3)
+.MR keyctl_get_persistent 3
operation is performed,
the persistent keyring's expiration timer is reset to the value in:
.P
@@ -45,33 +45,33 @@ Should the timeout be reached,
the persistent keyring will be removed and
everything it pins can then be garbage collected.
The keyring will then be re-created on a subsequent call to
-.BR keyctl_get_persistent (3).
+.MR keyctl_get_persistent 3 .
.P
The persistent keyring is not directly searched by
-.BR request_key (2);
+.MR request_key 2 ;
it is searched only if it is linked into one of the keyrings
that is searched by
-.BR request_key (2).
+.MR request_key 2 .
.P
The persistent keyring is independent of
-.BR clone (2),
-.BR fork (2),
-.BR vfork (2),
-.BR execve (2),
+.MR clone 2 ,
+.MR fork 2 ,
+.MR vfork 2 ,
+.MR execve 2 ,
and
-.BR _exit (2).
+.MR _exit 2 .
It persists until its expiration timer triggers,
at which point it is garbage collected.
This allows the persistent keyring to carry keys beyond the life of
the kernel's record of the corresponding UID
(the destruction of which results in the destruction of the
-.BR user\-keyring (7)
+.MR user\-keyring 7
and the
-.BR user\-session\-keyring (7)).
+.MR user\-session\-keyring 7 ).
The persistent keyring can thus be used to
hold authentication tokens for processes that run without user interaction,
such as programs started by
-.BR cron (8).
+.MR cron 8 .
.P
The persistent keyring is used to store UID-specific objects that
themselves have limited lifetimes (e.g., kerberos tokens).
@@ -84,10 +84,10 @@ the corresponding objects are automatically discarded.
The
.I keyutils
library provides the
-.BR keyctl_get_persistent (3)
+.MR keyctl_get_persistent 3
function for manipulating persistent keyrings.
(This function is an interface to the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_GET_PERSISTENT
operation.)
This operation allows the calling thread to get the persistent keyring
@@ -105,7 +105,7 @@ keyring can be seen when reading the contents of the
.I /proc/keys
file for the UID 0 in the namespace.)
The
-.BR keyctl_get_persistent (3)
+.MR keyctl_get_persistent 3
operation looks for a key with a name of the form
.IR _persistent. UID
in that keyring,
@@ -113,12 +113,12 @@ creates the key if it does not exist, and links it into the keyring.
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR keyctl (3),
-.BR keyctl_get_persistent (3),
-.BR keyrings (7),
-.BR process\-keyring (7),
-.BR session\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-keyring (7),
-.BR user\-session\-keyring (7)
+.MR keyctl 1 ,
+.MR keyctl 3 ,
+.MR keyctl_get_persistent 3 ,
+.MR keyrings 7 ,
+.MR process\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-keyring 7 ,
+.MR user\-session\-keyring 7
diff --git a/man7/pid_namespaces.7 b/man7/pid_namespaces.7
index c886a034d..e299db884 100644
--- a/man7/pid_namespaces.7
+++ b/man7/pid_namespaces.7
@@ -9,7 +9,7 @@
pid_namespaces \- overview of Linux PID namespaces
.SH DESCRIPTION
For an overview of namespaces, see
-.BR namespaces (7).
+.MR namespaces 7 .
.P
PID namespaces isolate the process ID number space,
meaning that processes in different PID namespaces can have the same PID.
@@ -20,10 +20,10 @@ while the processes inside the container maintain the same PIDs.
.P
PIDs in a new PID namespace start at 1,
somewhat like a standalone system, and calls to
-.BR fork (2),
-.BR vfork (2),
+.MR fork 2 ,
+.MR vfork 2 ,
or
-.BR clone (2)
+.MR clone 2
will produce processes with PIDs that are unique within the namespace.
.P
Use of PID namespaces requires a kernel that is configured with the
@@ -35,15 +35,15 @@ option.
.SS The namespace "init" process
The first process created in a new namespace
(i.e., the process created using
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_NEWPID
flag, or the first child created by a process after a call to
-.BR unshare (2)
+.MR unshare 2
using the
.B CLONE_NEWPID
flag) has the PID 1, and is the "init" process for the namespace (see
-.BR init (1)).
+.MR init 1 ).
This process becomes the parent of any child processes that are orphaned
because a process that resides in this PID namespace terminated
(see below for further details).
@@ -55,7 +55,7 @@ signal.
This behavior reflects the fact that the "init" process
is essential for the correct operation of a PID namespace.
In this case, a subsequent
-.BR fork (2)
+.MR fork 2
into this PID namespace fail with the error
.BR ENOMEM ;
it is not possible to create a new process in a PID namespace whose "init"
@@ -64,14 +64,14 @@ Such scenarios can occur when, for example,
a process uses an open file descriptor for a
.IR /proc/ pid /ns/pid
file corresponding to a process that was in a namespace to
-.BR setns (2)
+.MR setns 2
into that namespace after the "init" process has terminated.
Another possible scenario can occur after a call to
-.BR unshare (2):
+.MR unshare 2 :
if the first child subsequently created by a
-.BR fork (2)
+.MR fork 2
terminates, then subsequent calls to
-.BR fork (2)
+.MR fork 2
fail with
.BR ENOMEM .
.P
@@ -83,14 +83,14 @@ accidentally killing the "init" process.
.P
Likewise, a process in an ancestor namespace
can\[em]subject to the usual permission checks described in
-.BR kill (2)\[em]send
+.MR kill 2 \[em]send
signals to the "init" process of a child PID namespace only
if the "init" process has established a handler for that signal.
(Within the handler, the
.I siginfo_t
.I si_pid
field described in
-.BR sigaction (2)
+.MR sigaction 2
will be zero.)
.B SIGKILL
or
@@ -102,10 +102,10 @@ and so will result in the usual actions associated with those signals
(respectively, terminating and stopping the process).
.P
Starting with Linux 3.4, the
-.BR reboot (2)
+.MR reboot 2
system call causes a signal to be sent to the namespace "init" process.
See
-.BR reboot (2)
+.MR reboot 2
for more details.
.\"
.\" ============================================================
@@ -116,9 +116,9 @@ each PID namespace has a parent,
except for the initial ("root") PID namespace.
The parent of a PID namespace is the PID namespace of the process that
created the namespace using
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2).
+.MR unshare 2 .
PID namespaces thus form a tree,
with all namespaces ultimately tracing their ancestry to the root namespace.
Since Linux 3.7,
@@ -135,9 +135,9 @@ system calls that specify a process ID.
Conversely, the processes in a child PID namespace can't see
processes in the parent and further removed ancestor namespaces.
More succinctly: a process can see (e.g., send signals with
-.BR kill (2),
+.MR kill 2 ,
set nice values with
-.BR setpriority (2),
+.MR setpriority 2 ,
etc.) only processes contained in its own PID namespace
and in descendants of that namespace.
.P
@@ -149,7 +149,7 @@ System calls that operate on process IDs always
operate using the process ID that is visible in the
PID namespace of the caller.
A call to
-.BR getpid (2)
+.MR getpid 2
always returns the PID associated with the namespace in which
the process was created.
.P
@@ -157,20 +157,20 @@ Some processes in a PID namespace may have parents
that are outside of the namespace.
For example, the parent of the initial process in the namespace
(i.e., the
-.BR init (1)
+.MR init 1
process with PID 1) is necessarily in another namespace.
Likewise, the direct children of a process that uses
-.BR setns (2)
+.MR setns 2
to cause its children to join a PID namespace are in a different
PID namespace from the caller of
-.BR setns (2).
+.MR setns 2 .
Calls to
-.BR getppid (2)
+.MR getppid 2
for such processes return 0.
.P
While processes may freely descend into child PID namespaces
(e.g., using
-.BR setns (2)
+.MR setns 2
with a PID namespace file descriptor),
they may not move in the other direction.
That is to say, processes may not enter any ancestor namespaces
@@ -179,19 +179,19 @@ Changing PID namespaces is a one-way operation.
.P
The
.B NS_GET_PARENT
-.BR ioctl (2)
+.MR ioctl 2
operation can be used to discover the parental relationship
between PID namespaces; see
-.BR ioctl_ns (2).
+.MR ioctl_ns 2 .
.\"
.\" ============================================================
.\"
.SS setns(2) and unshare(2) semantics
Calls to
-.BR setns (2)
+.MR setns 2
that specify a PID namespace file descriptor
and calls to
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWPID
flag cause children subsequently created
@@ -199,7 +199,7 @@ by the caller to be placed in a different PID namespace from the caller.
(Since Linux 4.12, that PID namespace is shown via the
.IR /proc/ pid /ns/pid_for_children
file, as described in
-.BR namespaces (7).)
+.MR namespaces 7 .)
These calls do not, however,
change the PID namespace of the calling process,
because doing so would change the caller's idea of its own PID
@@ -216,7 +216,7 @@ the parent of a process is either in the same namespace
or resides in the immediate parent PID namespace.
.P
A process may call
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWPID
flag only once.
@@ -230,13 +230,13 @@ symbolic link will be empty until the first child is created in the namespace.
When a child process becomes orphaned, it is reparented to the "init"
process in the PID namespace of its parent
(unless one of the nearer ancestors of the parent employed the
-.BR prctl (2)
+.MR prctl 2
.B PR_SET_CHILD_SUBREAPER
command to mark itself as the reaper of orphaned descendant processes).
Note that because of the
-.BR setns (2)
+.MR setns 2
and
-.BR unshare (2)
+.MR unshare 2
semantics described above, this may be the "init" process in the PID
namespace that is the
.I parent
@@ -256,7 +256,7 @@ Threads are required to be in the same PID namespace such that
the threads in a process can send signals to each other.
Similarly, it must be possible to see all of the threads
of a process in the
-.BR proc (5)
+.MR proc 5
filesystem.
Additionally, if two threads were in different PID
namespaces, the process ID of the process sending a signal
@@ -264,7 +264,7 @@ could not be meaningfully encoded when a signal is sent
(see the description of the
.I siginfo_t
type in
-.BR sigaction (2)).
+.MR sigaction 2 ).
Since this is computed when a signal is enqueued,
a signal queue shared by processes in multiple PID namespaces
would defeat that.
@@ -303,16 +303,16 @@ it is useful for the child to change its root directory
and mount a new procfs instance at
.I /proc
so that tools such as
-.BR ps (1)
+.MR ps 1
work correctly.
If a new mount namespace is simultaneously created by including
.B CLONE_NEWNS
in the
.I flags
argument of
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2),
+.MR unshare 2 ,
then it isn't necessary to change the root directory:
a new procfs instance can be mounted directly over
.IR /proc .
@@ -328,7 +328,7 @@ $ mount \-t proc proc /proc
.in
.P
Calling
-.BR readlink (2)
+.MR readlink 2
on the path
.I /proc/self
yields the process ID of the caller in the PID namespace of the procfs mount
@@ -366,23 +366,23 @@ When a process ID is passed over a UNIX domain socket to a
process in a different PID namespace (see the description of
.B SCM_CREDENTIALS
in
-.BR unix (7)),
+.MR unix 7 ),
it is translated into the corresponding PID value in
the receiving process's PID namespace.
.SH STANDARDS
Linux.
.SH EXAMPLES
See
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.SH SEE ALSO
-.BR clone (2),
-.BR reboot (2),
-.BR setns (2),
-.BR unshare (2),
-.BR proc (5),
-.BR capabilities (7),
-.BR credentials (7),
-.BR mount_namespaces (7),
-.BR namespaces (7),
-.BR user_namespaces (7),
-.BR switch_root (8)
+.MR clone 2 ,
+.MR reboot 2 ,
+.MR setns 2 ,
+.MR unshare 2 ,
+.MR proc 5 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR mount_namespaces 7 ,
+.MR namespaces 7 ,
+.MR user_namespaces 7 ,
+.MR switch_root 8
diff --git a/man7/pipe.7 b/man7/pipe.7
index d1fad9974..4076ae27e 100644
--- a/man7/pipe.7
+++ b/man7/pipe.7
@@ -16,20 +16,20 @@ Data written to the write end of a pipe can be read
from the read end of the pipe.
.P
A pipe is created using
-.BR pipe (2),
+.MR pipe 2 ,
which creates a new pipe and returns two file descriptors,
one referring to the read end of the pipe,
the other referring to the write end.
Pipes can be used to create a communication channel between related
processes; see
-.BR pipe (2)
+.MR pipe 2
for an example.
.P
A FIFO (short for First In First Out) has a name within the filesystem
(created using
-.BR mkfifo (3)),
+.MR mkfifo 3 ),
and is opened using
-.BR open (2).
+.MR open 2 .
Any process may open a FIFO, assuming the file permissions allow it.
The read end is opened using the
.B O_RDONLY
@@ -37,7 +37,7 @@ flag; the write end is opened using the
.B O_WRONLY
flag.
See
-.BR fifo (7)
+.MR fifo 7
for further details.
.IR Note :
although FIFOs have a pathname in the filesystem,
@@ -50,20 +50,20 @@ Once these tasks have been accomplished,
I/O on pipes and FIFOs has exactly the same semantics.
.P
If a process attempts to read from an empty pipe, then
-.BR read (2)
+.MR read 2
will block until data is available.
If a process attempts to write to a full pipe (see below), then
-.BR write (2)
+.MR write 2
blocks until sufficient data has been read from the pipe
to allow the write to complete.
.P
Nonblocking I/O is possible by using the
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETFL
operation to enable the
.B O_NONBLOCK
open file status flag or by opening a
-.BR fifo (7)
+.MR fifo 7
with
.BR O_NONBLOCK .
If any process has the pipe open for writing, reads fail with
@@ -76,38 +76,38 @@ there is no concept of message boundaries.
.P
If all file descriptors referring to the write end of a pipe
have been closed, then an attempt to
-.BR read (2)
+.MR read 2
from the pipe will see end-of-file
.RB ( read (2)
will return 0).
If all file descriptors referring to the read end of a pipe
have been closed, then a
-.BR write (2)
+.MR write 2
will cause a
.B SIGPIPE
signal to be generated for the calling process.
If the calling process is ignoring this signal, then
-.BR write (2)
+.MR write 2
fails with the error
.BR EPIPE .
An application that uses
-.BR pipe (2)
+.MR pipe 2
and
-.BR fork (2)
+.MR fork 2
should use suitable
-.BR close (2)
+.MR close 2
calls to close unnecessary duplicate file descriptors;
this ensures that end-of-file and
.BR SIGPIPE / EPIPE
are delivered when appropriate.
.P
It is not possible to apply
-.BR lseek (2)
+.MR lseek 2
to a pipe.
.SS Pipe capacity
A pipe has a limited capacity.
If the pipe is full, then a
-.BR write (2)
+.MR write 2
will block or fail, depending on whether the
.B O_NONBLOCK
flag is set (see below).
@@ -123,17 +123,17 @@ Since Linux 2.6.11, the pipe capacity is 16 pages
(i.e., 65,536 bytes in a system with a page size of 4096 bytes).
Since Linux 2.6.35, the default pipe capacity is 16 pages,
but the capacity can be queried and set using the
-.BR fcntl (2)
+.MR fcntl 2
.B F_GETPIPE_SZ
and
.B F_SETPIPE_SZ
operations.
See
-.BR fcntl (2)
+.MR fcntl 2
for more information.
.P
The following
-.BR ioctl (2)
+.MR ioctl 2
operation, which can be applied to a file descriptor
that refers to either end of a pipe,
places a count of the number of unread bytes in the pipe in the
@@ -184,7 +184,7 @@ display the contents of this file after assigning a value to it.
The default value for this file is 1048576 (1\ MiB).
The minimum value that can be assigned to this file is the system page size.
Attempts to set a limit less than the page size cause
-.BR write (2)
+.MR write 2
to fail with the error
.BR EINVAL .
.IP
@@ -259,7 +259,7 @@ the number of bytes to be written:
All
.I n
bytes are written atomically;
-.BR write (2)
+.MR write 2
may block if there is not room for
.I n
bytes to be written immediately
@@ -268,11 +268,11 @@ bytes to be written immediately
If there is room to write
.I n
bytes to the pipe, then
-.BR write (2)
+.MR write 2
succeeds immediately, writing all
.I n
bytes; otherwise
-.BR write (2)
+.MR write 2
fails, with
.I errno
set to
@@ -280,19 +280,19 @@ set to
.TP
\fBO_NONBLOCK\fP disabled, \fIn\fP > \fBPIPE_BUF\fP
The write is nonatomic: the data given to
-.BR write (2)
+.MR write 2
may be interleaved with
-.BR write (2)s
+.MR write 2 s
by other process;
the
-.BR write (2)
+.MR write 2
blocks until
.I n
bytes have been written.
.TP
\fBO_NONBLOCK\fP enabled, \fIn\fP > \fBPIPE_BUF\fP
If the pipe is full, then
-.BR write (2)
+.MR write 2
fails, with
.I errno
set to
@@ -301,7 +301,7 @@ Otherwise, from 1 to
.I n
bytes may be written (i.e., a "partial write" may occur;
the caller should check the return value from
-.BR write (2)
+.MR write 2
to see how many bytes were actually written),
and these bytes may be interleaved with writes by other processes.
.SS Open file status flags
@@ -317,7 +317,7 @@ flag for the read end of a pipe causes a signal
.RB ( SIGIO
by default) to be generated when new input becomes available on the pipe.
The target for delivery of signals must be set using the
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETOWN
command.
On Linux,
@@ -335,7 +335,7 @@ Before Linux 4.9, some bugs affected the handling of the
and
.I pipe\-user\-pages\-hard
limits when using the
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETPIPE_SZ
operation to change a pipe's capacity:
.\" These bugs where remedied by a series of patches, in particular,
@@ -387,21 +387,21 @@ and the operation fails if the limit would be exceeded.
Before Linux 4.9, bugs similar to points (a) and (c) could also occur
when the kernel allocated memory for a new pipe buffer;
that is, when calling
-.BR pipe (2)
+.MR pipe 2
and when opening a previously unopened FIFO.
.SH SEE ALSO
-.BR mkfifo (1),
-.BR dup (2),
-.BR fcntl (2),
-.BR open (2),
-.BR pipe (2),
-.BR poll (2),
-.BR select (2),
-.BR socketpair (2),
-.BR splice (2),
-.BR stat (2),
-.BR tee (2),
-.BR vmsplice (2),
-.BR mkfifo (3),
-.BR epoll (7),
-.BR fifo (7)
+.MR mkfifo 1 ,
+.MR dup 2 ,
+.MR fcntl 2 ,
+.MR open 2 ,
+.MR pipe 2 ,
+.MR poll 2 ,
+.MR select 2 ,
+.MR socketpair 2 ,
+.MR splice 2 ,
+.MR stat 2 ,
+.MR tee 2 ,
+.MR vmsplice 2 ,
+.MR mkfifo 3 ,
+.MR epoll 7 ,
+.MR fifo 7
diff --git a/man7/pkeys.7 b/man7/pkeys.7
index 4fb814c99..1ef0c557d 100644
--- a/man7/pkeys.7
+++ b/man7/pkeys.7
@@ -27,9 +27,9 @@ Protection keys work in conjunction with the existing
and
.B PROT_EXEC
permissions passed to system calls such as
-.BR mprotect (2)
+.MR mprotect 2
and
-.BR mmap (2),
+.MR mmap 2 ,
but always act to further restrict these traditional permission
mechanisms.
.P
@@ -38,7 +38,7 @@ restrictions, it receives a
.B SIGSEGV
signal.
See
-.BR sigaction (2)
+.MR sigaction 2
for details of the information available with that signal.
.P
To use the pkeys feature, the processor must support it, and the kernel
@@ -49,7 +49,7 @@ However, pkey 0 is used as the default key, so a maximum of 15
are available for actual application use.
The default key is assigned to any memory region for which a
pkey has not been explicitly assigned via
-.BR pkey_mprotect (2).
+.MR pkey_mprotect 2 .
.P
Protection keys have the potential to add a layer of security and
reliability to applications.
@@ -62,13 +62,13 @@ the PKRU register or can execute arbitrary instructions.
Applications should be very careful to ensure that they do not "leak"
protection keys.
For instance, before calling
-.BR pkey_free (2),
+.MR pkey_free 2 ,
the application should be sure that no memory has that pkey assigned.
If the application left the freed pkey assigned, a future user of
that pkey might inadvertently change the permissions of an unrelated
data structure, which could impact security or stability.
The kernel currently allows in-use pkeys to have
-.BR pkey_free (2)
+.MR pkey_free 2
called on them because it would have processor or memory performance
implications to perform the additional checks needed to disallow it.
Implementation of the necessary checks is left up to applications.
@@ -76,7 +76,7 @@ Applications may implement these checks by searching the
.IR /proc/ pid /smaps
file for memory regions with the pkey assigned.
Further details can be found in
-.BR proc (5).
+.MR proc 5 .
.P
Any application wanting to use protection keys needs to be able
to function without them.
@@ -87,7 +87,7 @@ because the keys have all been allocated, perhaps by a library
the application is using.
It is recommended that applications wanting to use protection
keys should simply call
-.BR pkey_alloc (2)
+.MR pkey_alloc 2
and test whether the call succeeds,
instead of attempting to detect support for the
feature in any other way.
@@ -109,11 +109,11 @@ Applications using threads and protection keys should be especially
careful.
Threads inherit the protection key rights of the parent at the time
of the
-.BR clone (2),
+.MR clone 2 ,
system call.
Applications should either ensure that their own permissions are
appropriate for child threads at the time when
-.BR clone (2)
+.MR clone 2
is called, or ensure that each child thread can perform its
own initialization of protection key rights.
.\"
@@ -134,10 +134,10 @@ The signal behavior is the same as that of floating-point registers.
.\"
.SS Protection Keys system calls
The Linux kernel implements the following pkey-related system calls:
-.BR pkey_mprotect (2),
-.BR pkey_alloc (2),
+.MR pkey_mprotect 2 ,
+.MR pkey_alloc 2 ,
and
-.BR pkey_free (2).
+.MR pkey_free 2 .
.P
The Linux pkey system calls are available only if the kernel was
configured and built with the
@@ -231,7 +231,7 @@ main(void)
}
.EE
.SH SEE ALSO
-.BR pkey_alloc (2),
-.BR pkey_free (2),
-.BR pkey_mprotect (2),
-.BR sigaction (2)
+.MR pkey_alloc 2 ,
+.MR pkey_free 2 ,
+.MR pkey_mprotect 2 ,
+.MR sigaction 2
diff --git a/man7/posixoptions.7 b/man7/posixoptions.7
index 8ca4df0ea..bce3c0d23 100644
--- a/man7/posixoptions.7
+++ b/man7/posixoptions.7
@@ -10,18 +10,18 @@ The POSIX standard (the information below is from POSIX.1-2001)
describes a set of behaviors and interfaces for a compliant system.
However, many interfaces are optional and there are feature test macros
to test the availability of interfaces at compile time, and functions
-.BR sysconf (3),
-.BR fpathconf (3),
-.BR pathconf (3),
-.BR confstr (3)
+.MR sysconf 3 ,
+.MR fpathconf 3 ,
+.MR pathconf 3 ,
+.MR confstr 3
to do this at run time.
From shell scripts one can use
-.BR getconf (1).
+.MR getconf 1 .
For more detail, see
-.BR sysconf (3).
+.MR sysconf 3 .
.P
We give the name of the POSIX abbreviation, the option, the name of the
-.BR sysconf (3)
+.MR sysconf 3
parameter used to inquire about the option, and possibly
a very short description.
Much more precise detail can be found in the POSIX standard itself,
@@ -1010,5 +1010,5 @@ This option may imply the following options from the XSI option groups:
.RB "Legacy (" _XOPEN_LEGACY )
.PD
.SH SEE ALSO
-.BR sysconf (3),
-.BR standards (7)
+.MR sysconf 3 ,
+.MR standards 7
diff --git a/man7/process-keyring.7 b/man7/process-keyring.7
index 215c72124..c00703f35 100644
--- a/man7/process-keyring.7
+++ b/man7/process-keyring.7
@@ -18,22 +18,22 @@ is defined that can be used in lieu of the actual serial number of
the calling process's process keyring.
.P
From the
-.BR keyctl (1)
+.MR keyctl 1
utility, '\fB@p\fP' can be used instead of a numeric key ID in
much the same way, but since
-.BR keyctl (1)
+.MR keyctl 1
is a program run after forking, this is of no utility.
.P
A thread created using the
-.BR clone (2)
+.MR clone 2
.B CLONE_THREAD
flag has the same process keyring as the caller of
-.BR clone (2).
+.MR clone 2 .
When a new process is created using
.BR fork ()
it initially has no process keyring.
A process's process keyring is cleared on
-.BR execve (2).
+.MR execve 2 .
The process keyring is destroyed when the last
thread that refers to it terminates.
.P
@@ -45,11 +45,11 @@ results.
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR keyctl (3),
-.BR keyrings (7),
-.BR persistent\-keyring (7),
-.BR session\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-keyring (7),
-.BR user\-session\-keyring (7)
+.MR keyctl 1 ,
+.MR keyctl 3 ,
+.MR keyrings 7 ,
+.MR persistent\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-keyring 7 ,
+.MR user\-session\-keyring 7
diff --git a/man7/pthreads.7 b/man7/pthreads.7
index 81d0db0e1..98743742e 100644
--- a/man7/pthreads.7
+++ b/man7/pthreads.7
@@ -29,34 +29,43 @@ user and group IDs
open file descriptors
.IP \[bu]
record locks (see
-.BR fcntl (2))
+.MR fcntl 2 )
.IP \[bu]
signal dispositions
.IP \[bu]
file mode creation mask
-.RB ( umask (2))
+\%(\c
+.MR umask 2 )
.IP \[bu]
current directory
-.RB ( chdir (2))
+\%(\c
+.MR chdir 2 )
and
root directory
-.RB ( chroot (2))
+\%(\c
+.MR chroot 2 )
.IP \[bu]
interval timers
-.RB ( setitimer (2))
+\%(\c
+.MR setitimer 2 )
and POSIX timers
-.RB ( timer_create (2))
+\%(\c
+.MR timer_create 2 )
.IP \[bu]
nice value
-.RB ( setpriority (2))
+\%(\c
+.MR setpriority 2 )
.IP \[bu]
resource limits
-.RB ( setrlimit (2))
+\%(\c
+.MR setrlimit 2 )
.IP \[bu]
measurements of the consumption of CPU time
-.RB ( times (2))
+\%(\c
+.MR times 2 )
and resources
-.RB ( getrusage (2))
+\%(\c
+.MR getrusage 2 )
.P
As well as the stack, POSIX.1 specifies that various other
attributes are distinct for each thread, including:
@@ -66,25 +75,29 @@ thread ID (the
data type)
.IP \[bu]
signal mask
-.RB ( pthread_sigmask (3))
+\%(\c
+.MR pthread_sigmask 3 )
.IP \[bu]
the
.I errno
variable
.IP \[bu]
alternate signal stack
-.RB ( sigaltstack (2))
+\%(\c
+.MR sigaltstack 2 )
.IP \[bu]
real-time scheduling policy and priority
-.RB ( sched (7))
+\%(\c
+.MR sched 7 )
.P
The following Linux-specific features are also per-thread:
.IP \[bu] 3
capabilities (see
-.BR capabilities (7))
+.MR capabilities 7 )
.IP \[bu]
CPU affinity
-.RB ( sched_setaffinity (2))
+\%(\c
+.MR sched_setaffinity 2 )
.SS Pthreads function return values
Most pthreads functions return 0 on success, and an error number on failure.
The error numbers that can be returned have the same meaning as
@@ -101,9 +114,9 @@ Each of the threads in a process has a unique thread identifier
(stored in the type
.IR pthread_t ).
This identifier is returned to the caller of
-.BR pthread_create (3),
+.MR pthread_create 3 ,
and a thread can obtain its own thread identifier using
-.BR pthread_self (3).
+.MR pthread_self 3 .
.P
Thread IDs are guaranteed to be unique only within a process.
(In all pthreads functions that accept a thread ID as an argument,
@@ -223,7 +236,7 @@ wctomb()
.SS Async-cancel-safe functions
An async-cancel-safe function is one that can be safely called
in an application where asynchronous cancelability is enabled (see
-.BR pthread_setcancelstate (3)).
+.MR pthread_setcancelstate 3 ).
.P
Only the following functions are required to be async-cancel-safe by
POSIX.1-2001 and POSIX.1-2008:
@@ -673,18 +686,18 @@ and requires features that are present in the Linux 2.6 kernel.
Both of these are so-called 1:1 implementations, meaning that each
thread maps to a kernel scheduling entity.
Both threading implementations employ the Linux
-.BR clone (2)
+.MR clone 2
system call.
In NPTL, thread synchronization primitives (mutexes,
thread joining, and so on) are implemented using the Linux
-.BR futex (2)
+.MR futex 2
system call.
.SS LinuxThreads
The notable features of this implementation are the following:
.IP \[bu] 3
In addition to the main (initial) thread,
and the threads that the program creates using
-.BR pthread_create (3),
+.MR pthread_create 3 ,
the implementation creates a "manager" thread.
This thread handles thread creation and termination.
(Problems can result if this thread is inadvertently killed.)
@@ -692,7 +705,7 @@ This thread handles thread creation and termination.
Signals are used internally by the implementation.
On Linux 2.2 and later, the first three real-time signals are used
(see also
-.BR signal (7)).
+.MR signal 7 ).
On older Linux kernels,
.B SIGUSR1
and
@@ -706,61 +719,61 @@ Threads do not share process IDs.
more information than usual, but which do not share a common process ID.)
LinuxThreads threads (including the manager thread)
are visible as separate processes using
-.BR ps (1).
+.MR ps 1 .
.P
The LinuxThreads implementation deviates from the POSIX.1
specification in a number of ways, including the following:
.IP \[bu] 3
Calls to
-.BR getpid (2)
+.MR getpid 2
return a different value in each thread.
.IP \[bu]
Calls to
-.BR getppid (2)
+.MR getppid 2
in threads other than the main thread return the process ID of the
manager thread; instead
-.BR getppid (2)
+.MR getppid 2
in these threads should return the same value as
-.BR getppid (2)
+.MR getppid 2
in the main thread.
.IP \[bu]
When one thread creates a new child process using
-.BR fork (2),
+.MR fork 2 ,
any thread should be able to
-.BR wait (2)
+.MR wait 2
on the child.
However, the implementation allows only the thread that
created the child to
-.BR wait (2)
+.MR wait 2
on it.
.IP \[bu]
When a thread calls
-.BR execve (2),
+.MR execve 2 ,
all other threads are terminated (as required by POSIX.1).
However, the resulting process has the same PID as the thread that called
-.BR execve (2):
+.MR execve 2 :
it should have the same PID as the main thread.
.IP \[bu]
Threads do not share user and group IDs.
This can cause complications with set-user-ID programs and
can cause failures in Pthreads functions if an application
changes its credentials using
-.BR seteuid (2)
+.MR seteuid 2
or similar.
.IP \[bu]
Threads do not share a common session ID and process group ID.
.IP \[bu]
Threads do not share record locks created using
-.BR fcntl (2).
+.MR fcntl 2 .
.IP \[bu]
The information returned by
-.BR times (2)
+.MR times 2
and
-.BR getrusage (2)
+.MR getrusage 2
is per-thread rather than process-wide.
.IP \[bu]
Threads do not share semaphore undo values (see
-.BR semop (2)).
+.MR semop 2 ).
.IP \[bu]
Threads do not share interval timers.
.IP \[bu]
@@ -770,7 +783,7 @@ POSIX.1 distinguishes the notions of signals that are directed
to the process as a whole and signals that are directed to individual
threads.
According to POSIX.1, a process-directed signal (sent using
-.BR kill (2),
+.MR kill 2 ,
for example) should be handled by a single,
arbitrarily selected thread within the process.
LinuxThreads does not support the notion of process-directed signals:
@@ -793,7 +806,7 @@ NPTL does not employ a manager thread.
NPTL makes internal use of the first two real-time signals;
these signals cannot be used in applications.
See
-.BR nptl (7)
+.MR nptl 7
for further details.
.P
NPTL still has at least one nonconformance with POSIX.1:
@@ -808,9 +821,9 @@ Threads do not share a common nice value.
Some NPTL nonconformances occur only with older kernels:
.IP \[bu] 3
The information returned by
-.BR times (2)
+.MR times 2
and
-.BR getrusage (2)
+.MR getrusage 2
is per-thread rather than process-wide (fixed in Linux 2.6.9).
.IP \[bu]
Threads do not share resource limits (fixed in Linux 2.6.10).
@@ -818,12 +831,12 @@ Threads do not share resource limits (fixed in Linux 2.6.10).
Threads do not share interval timers (fixed in Linux 2.6.12).
.IP \[bu]
Only the main thread is permitted to start a new session using
-.BR setsid (2)
+.MR setsid 2
(fixed in Linux 2.6.16).
.IP \[bu]
Only the main thread is permitted to make the process into a
process group leader using
-.BR setpgid (2)
+.MR setpgid 2
(fixed in Linux 2.6.16).
.IP \[bu]
Threads have distinct alternate signal stack settings.
@@ -837,7 +850,7 @@ Note the following further points about the NPTL implementation:
If the stack size soft resource limit (see the description of
.B RLIMIT_STACK
in
-.BR setrlimit (2))
+.MR setrlimit 2 )
is set to a value other than
.IR unlimited ,
then this value defines the default stack size for new threads.
@@ -849,7 +862,7 @@ shell built-in command
in the C shell).
.SS Determining the threading implementation
Since glibc 2.3.2, the
-.BR getconf (1)
+.MR getconf 1
command can be used to determine
the system's threading implementation, for example:
.P
@@ -896,42 +909,42 @@ bash$ $( LD_ASSUME_KERNEL=2.2.5 ldd /bin/ls | grep libc.so | \e
.SH SEE ALSO
.ad l
.nh
-.BR clone (2),
-.BR fork (2),
-.BR futex (2),
-.BR gettid (2),
-.BR proc (5),
-.BR attributes (7),
-.BR futex (7),
-.BR nptl (7),
-.BR sigevent (3type),
-.BR signal (7)
+.MR clone 2 ,
+.MR fork 2 ,
+.MR futex 2 ,
+.MR gettid 2 ,
+.MR proc 5 ,
+.MR attributes 7 ,
+.MR futex 7 ,
+.MR nptl 7 ,
+.MR sigevent 3type ,
+.MR signal 7
.P
Various Pthreads manual pages, for example:
-.BR pthread_atfork (3),
-.BR pthread_attr_init (3),
-.BR pthread_cancel (3),
-.BR pthread_cleanup_push (3),
-.BR pthread_cond_signal (3),
-.BR pthread_cond_wait (3),
-.BR pthread_create (3),
-.BR pthread_detach (3),
-.BR pthread_equal (3),
-.BR pthread_exit (3),
-.BR pthread_key_create (3),
-.BR pthread_kill (3),
-.BR pthread_mutex_lock (3),
-.BR pthread_mutex_unlock (3),
-.BR pthread_mutexattr_destroy (3),
-.BR pthread_mutexattr_init (3),
-.BR pthread_once (3),
-.BR pthread_spin_init (3),
-.BR pthread_spin_lock (3),
-.BR pthread_rwlockattr_setkind_np (3),
-.BR pthread_setcancelstate (3),
-.BR pthread_setcanceltype (3),
-.BR pthread_setspecific (3),
-.BR pthread_sigmask (3),
-.BR pthread_sigqueue (3),
+.MR pthread_atfork 3 ,
+.MR pthread_attr_init 3 ,
+.MR pthread_cancel 3 ,
+.MR pthread_cleanup_push 3 ,
+.MR pthread_cond_signal 3 ,
+.MR pthread_cond_wait 3 ,
+.MR pthread_create 3 ,
+.MR pthread_detach 3 ,
+.MR pthread_equal 3 ,
+.MR pthread_exit 3 ,
+.MR pthread_key_create 3 ,
+.MR pthread_kill 3 ,
+.MR pthread_mutex_lock 3 ,
+.MR pthread_mutex_unlock 3 ,
+.MR pthread_mutexattr_destroy 3 ,
+.MR pthread_mutexattr_init 3 ,
+.MR pthread_once 3 ,
+.MR pthread_spin_init 3 ,
+.MR pthread_spin_lock 3 ,
+.MR pthread_rwlockattr_setkind_np 3 ,
+.MR pthread_setcancelstate 3 ,
+.MR pthread_setcanceltype 3 ,
+.MR pthread_setspecific 3 ,
+.MR pthread_sigmask 3 ,
+.MR pthread_sigqueue 3 ,
and
-.BR pthread_testcancel (3)
+.MR pthread_testcancel 3
diff --git a/man7/pty.7 b/man7/pty.7
index 7f47ce550..f29495257 100644
--- a/man7/pty.7
+++ b/man7/pty.7
@@ -56,21 +56,21 @@ that option is disabled by default in the mainline kernel.)
UNIX 98 pseudoterminals should be used in new applications.
.SS UNIX 98 pseudoterminals
An unused UNIX 98 pseudoterminal master is opened by calling
-.BR posix_openpt (3).
+.MR posix_openpt 3 .
(This function opens the master clone device,
.IR /dev/ptmx ;
see
-.BR pts (4).)
+.MR pts 4 .)
After performing any program-specific initializations,
changing the ownership and permissions of the slave device using
-.BR grantpt (3),
+.MR grantpt 3 ,
and unlocking the slave using
-.BR unlockpt (3)),
+.MR unlockpt 3 ),
the corresponding slave device can be opened by passing
the name returned by
-.BR ptsname (3)
+.MR ptsname 3
in a call to
-.BR open (2).
+.MR open 2 .
.P
The Linux kernel imposes a limit on the number of available
UNIX 98 pseudoterminals.
@@ -85,7 +85,7 @@ and a corresponding file,
.IR /proc/sys/kernel/pty/nr ,
indicates how many pseudoterminals are currently in use.
For further details on these two files, see
-.BR proc (5).
+.MR proc 5 .
.SS BSD pseudoterminals
BSD-style pseudoterminals are provided as precreated pairs, with
names of the form
@@ -103,7 +103,7 @@ and
.I /dev/ttyp1
constitute a BSD pseudoterminal pair.
A process finds an unused pseudoterminal pair by trying to
-.BR open (2)
+.MR open 2
each pseudoterminal master until an open succeeds.
The corresponding pseudoterminal slave (substitute "tty"
for "pty" in the name of the master) can then be opened.
@@ -123,26 +123,26 @@ BSD slave devices
.SH NOTES
Pseudoterminals are used by applications such as network login services
(\c
-.BR ssh (1),
-.BR rlogin (1),
-.BR telnet (1)),
+.MR ssh 1 ,
+.MR rlogin 1 ,
+.MR telnet 1 ),
terminal emulators such as
-.BR xterm (1),
-.BR script (1),
-.BR screen (1),
-.BR tmux (1),
-.BR unbuffer (1),
+.MR xterm 1 ,
+.MR script 1 ,
+.MR screen 1 ,
+.MR tmux 1 ,
+.MR unbuffer 1 ,
and
-.BR expect (1).
+.MR expect 1 .
.P
A description of the
.B TIOCPKT
-.BR ioctl (2),
+.MR ioctl 2 ,
which controls packet mode operation, can be found in
-.BR ioctl_tty (2).
+.MR ioctl_tty 2 .
.P
The BSD
-.BR ioctl (2)
+.MR ioctl 2
operations
.BR TIOCSTOP ,
.BR TIOCSTART ,
@@ -151,11 +151,11 @@ and
.B TIOCREMOTE
have not been implemented under Linux.
.SH SEE ALSO
-.BR ioctl_tty (2),
-.BR select (2),
-.BR setsid (2),
-.BR forkpty (3),
-.BR openpty (3),
-.BR termios (3),
-.BR pts (4),
-.BR tty (4)
+.MR ioctl_tty 2 ,
+.MR select 2 ,
+.MR setsid 2 ,
+.MR forkpty 3 ,
+.MR openpty 3 ,
+.MR termios 3 ,
+.MR pts 4 ,
+.MR tty 4
diff --git a/man7/queue.7 b/man7/queue.7
index 2b58cb43a..b04646993 100644
--- a/man7/queue.7
+++ b/man7/queue.7
@@ -129,10 +129,10 @@ glibc provides both STAILQ and SIMPLEQ,
which are identical except for a missing SIMPLEQ equivalent to
.BR STAILQ_CONCAT ().
.SH SEE ALSO
-.BR circleq (3),
-.BR insque (3),
-.BR list (3),
-.BR slist (3),
-.BR stailq (3),
-.BR tailq (3)
+.MR circleq 3 ,
+.MR insque 3 ,
+.MR list 3 ,
+.MR slist 3 ,
+.MR stailq 3 ,
+.MR tailq 3
.\" .BR tree (3)
diff --git a/man7/random.7 b/man7/random.7
index 5062b1900..76a2debe0 100644
--- a/man7/random.7
+++ b/man7/random.7
@@ -25,12 +25,12 @@ The
and
.I /dev/random
devices, both described in
-.BR random (4).
+.MR random 4 .
These devices have been present on Linux since early times,
and are also available on many other systems.
.IP \[bu]
The Linux-specific
-.BR getrandom (2)
+.MR getrandom 2
system call, available since Linux 3.17.
This system call provides access either to the same source as
.I /dev/urandom
@@ -50,9 +50,9 @@ source is selected by specifying the
.B GRND_RANDOM
flag to the system call.
(The
-.BR getentropy (3)
+.MR getentropy 3
function provides a slightly more portable interface on top of
-.BR getrandom (2).)
+.MR getrandom 2 .)
.\"
.SS Initialization of the entropy pool
The kernel collects bits of entropy from the environment.
@@ -63,14 +63,14 @@ Unless you are doing long-term key generation (and most likely not even
then), you probably shouldn't be reading from the
.I /dev/random
device or employing
-.BR getrandom (2)
+.MR getrandom 2
with the
.B GRND_RANDOM
flag.
Instead, either read from the
.I /dev/urandom
device or employ
-.BR getrandom (2)
+.MR getrandom 2
without the
.B GRND_RANDOM
flag.
@@ -105,7 +105,7 @@ The following table summarizes the behavior of the various
interfaces that can be used to obtain randomness.
.B GRND_NONBLOCK
is a flag that can be used to control the blocking behavior of
-.BR getrandom (2).
+.MR getrandom 2 .
The final column of the table considers the case that can occur
in early boot time when the entropy pool is not yet initialized.
.ad l
@@ -205,9 +205,9 @@ than one minute), that should be taken as a sign that its cryptography is
skillfully implemented.
.\"
.SH SEE ALSO
-.BR getrandom (2),
-.BR getauxval (3),
-.BR getentropy (3),
-.BR random (4),
-.BR urandom (4),
-.BR signal (7)
+.MR getrandom 2 ,
+.MR getauxval 3 ,
+.MR getentropy 3 ,
+.MR random 4 ,
+.MR urandom 4 ,
+.MR signal 7
diff --git a/man7/raw.7 b/man7/raw.7
index 12ccd8fdf..deb8fd8df 100644
--- a/man7/raw.7
+++ b/man7/raw.7
@@ -38,7 +38,7 @@ see the IANA list of assigned protocol numbers at
.UR http://www.iana.org/assignments/protocol\-numbers/
.UE
and
-.BR getprotobyname (3).
+.MR getprotobyname 3 .
.P
A protocol of
.B IPPROTO_RAW
@@ -75,9 +75,9 @@ are ignored.
If
.B IP_HDRINCL
isn't set, then IP header options can be set on raw sockets with
-.BR setsockopt (2);
+.MR setsockopt 2 ;
see
-.BR ip (7)
+.MR ip 7
for more information.
.P
Starting with Linux 2.2, all IP header fields and options can be set using
@@ -90,13 +90,14 @@ been bound to its protocol before it is passed to other protocol handlers
(e.g., kernel protocol modules).
.SS Address format
For sending and receiving datagrams
-.RB ( sendto (2),
-.BR recvfrom (2),
+\%(\c
+.MR sendto 2 ,
+.MR recvfrom 2 ,
and similar),
raw sockets use the standard
.I sockaddr_in
address structure defined in
-.BR ip (7).
+.MR ip 7 .
The
.I sin_port
field could be used to specify the IP protocol number,
@@ -108,9 +109,9 @@ For incoming packets,
is set to zero.
.SS Socket options
Raw socket options can be set with
-.BR setsockopt (2)
+.MR setsockopt 2
and read with
-.BR getsockopt (2)
+.MR getsockopt 2
by passing the
.B IPPROTO_RAW
.\" Or SOL_RAW on Linux
@@ -125,7 +126,7 @@ should be filtered out.
The default is to filter no ICMP messages.
.P
In addition, all
-.BR ip (7)
+.MR ip 7
.B IPPROTO_IP
socket options valid for datagram sockets are supported.
.SS Error handling
@@ -196,7 +197,7 @@ Path MTU discovery can be also turned off using the
socket option or the
.I /proc/sys/net/ipv4/ip_no_pmtu_disc
file, see
-.BR ip (7)
+.MR ip 7
for details.
When turned off, raw sockets will fragment outgoing packets
that exceed the interface MTU.
@@ -204,19 +205,19 @@ However, disabling it is not recommended
for performance and reliability reasons.
.P
A raw socket can be bound to a specific local address using the
-.BR bind (2)
+.MR bind 2
call.
If it isn't bound, all packets with the specified IP protocol are received.
In addition, a raw socket can be bound to a specific network device using
.BR SO_BINDTODEVICE ;
see
-.BR socket (7).
+.MR socket 7 .
.P
An
.B IPPROTO_RAW
socket is send only.
If you really want to receive all IP packets, use a
-.BR packet (7)
+.MR packet 7
socket with the
.B ETH_P_IP
protocol.
@@ -227,7 +228,7 @@ If you want to receive all ICMP packets for a datagram socket,
it is often better to use
.B IP_RECVERR
on that particular socket; see
-.BR ip (7).
+.MR ip 7 .
.P
Raw sockets may tap all IP protocols in Linux, even
protocols like ICMP or TCP which have a protocol module in the kernel.
@@ -262,16 +263,16 @@ Setting the IP protocol for sending in
got lost in Linux 2.2.
The protocol that the socket was bound to or that
was specified in the initial
-.BR socket (2)
+.MR socket 2
call is always used.
.\" .SH AUTHORS
.\" This man page was written by Andi Kleen.
.SH SEE ALSO
-.BR recvmsg (2),
-.BR sendmsg (2),
-.BR capabilities (7),
-.BR ip (7),
-.BR socket (7)
+.MR recvmsg 2 ,
+.MR sendmsg 2 ,
+.MR capabilities 7 ,
+.MR ip 7 ,
+.MR socket 7
.P
.B RFC\ 1191
for path MTU discovery.
diff --git a/man7/regex.7 b/man7/regex.7
index a579dbe62..32377b29a 100644
--- a/man7/regex.7
+++ b/man7/regex.7
@@ -42,10 +42,10 @@ regex \- POSIX.2 regular expressions
Regular expressions ("RE"s),
as defined in POSIX.2, come in two forms:
modern REs (roughly those of
-.BR egrep (1);
+.MR egrep 1 ;
POSIX.2 calls these "extended" REs)
and obsolete REs (roughly those of
-.BR ed (1);
+.MR ed 1 ;
POSIX.2 "basic" REs).
Obsolete REs mostly exist for backward compatibility in some old programs;
they will be discussed at the end.
@@ -172,7 +172,7 @@ cntrl print xdigit
.RE
.P
These stand for the character classes defined in
-.BR wctype (3).
+.MR wctype 3 .
A locale may provide others.
A character class may not be used as an endpoint of a range.
.\" As per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295666
@@ -287,7 +287,7 @@ is current consensus among implementors as to the right interpretation.
.\" in the formatted output.
This page was taken from Henry Spencer's regex package.
.SH SEE ALSO
-.BR grep (1),
-.BR regex (3)
+.MR grep 1 ,
+.MR regex 3
.P
POSIX.2, section 2.8 (Regular Expression Notation).
diff --git a/man7/rtld-audit.7 b/man7/rtld-audit.7
index 0aab7ca18..adf28cc8c 100644
--- a/man7/rtld-audit.7
+++ b/man7/rtld-audit.7
@@ -101,7 +101,7 @@ Typically, this name comes from an ELF
entry, or is the
.I filename
argument given to
-.BR dlopen (3).
+.MR dlopen 3 .
.TP
.B LA_SER_LIBPATH
.I name
@@ -119,7 +119,7 @@ list.
.B LA_SER_CONFIG
.I name
was found via the
-.BR ldconfig (8)
+.MR ldconfig 8
cache
.RI ( /etc/ld.so.cache ).
.TP
@@ -181,7 +181,7 @@ Link map is part of the initial namespace.
.TP
.B LM_ID_NEWLM
Link map is part of a new namespace requested via
-.BR dlmopen (3).
+.MR dlmopen 3 .
.P
.I cookie
is a pointer to an identifier for this object.
@@ -237,7 +237,7 @@ have been loaded, before control is passed to the application
Note that
.IR main ()
may still later dynamically load objects using
-.BR dlopen (3).
+.MR dlopen 3 .
.SS la_symbind*()
\&
.nf
@@ -304,7 +304,7 @@ The dynamic linker may supply the following bit values in this argument:
.TP 22
.B LA_SYMB_DLSYM
The binding resulted from a call to
-.BR dlsym (3).
+.MR dlsym 3 .
.TP
.B LA_SYMB_ALTVALUE
A previous
@@ -600,7 +600,7 @@ la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,
}
.EE
.SH SEE ALSO
-.BR ldd (1),
-.BR dlopen (3),
-.BR ld.so (8),
-.BR ldconfig (8)
+.MR ldd 1 ,
+.MR dlopen 3 ,
+.MR ld.so 8 ,
+.MR ldconfig 8
diff --git a/man7/rtnetlink.7 b/man7/rtnetlink.7
index 86ed459bb..3426e4854 100644
--- a/man7/rtnetlink.7
+++ b/man7/rtnetlink.7
@@ -30,7 +30,7 @@ through
.B NETLINK_ROUTE
sockets.
It is based on netlink messages; see
-.BR netlink (7)
+.MR netlink 7
for more information.
.\" FIXME . ? all these macros could be moved to rtnetlink(3)
.SS Routing attributes
@@ -48,7 +48,7 @@ struct rtattr {
.P
These attributes should be manipulated using only the RTA_* macros
or libnetlink, see
-.BR rtnetlink (3).
+.MR rtnetlink 3 .
.SS Messages
Rtnetlink consists of these message types
(in addition to standard netlink messages):
@@ -78,7 +78,7 @@ struct ifinfomsg {
.\" FIXME Document ifinfomsg.ifi_type
.I ifi_flags
contains the device flags, see
-.BR netdevice (7);
+.MR netdevice 7 ;
.I ifi_index
is the unique interface index
(since Linux 3.7, it is possible to feed a nonzero value with the
@@ -584,7 +584,7 @@ is a new feature of Linux 2.2.
.SH BUGS
This manual page is incomplete.
.SH SEE ALSO
-.BR cmsg (3),
-.BR rtnetlink (3),
-.BR ip (7),
-.BR netlink (7)
+.MR cmsg 3 ,
+.MR rtnetlink 3 ,
+.MR ip 7 ,
+.MR netlink 7
diff --git a/man7/sched.7 b/man7/sched.7
index 5640325a9..f4a7f9eb7 100644
--- a/man7/sched.7
+++ b/man7/sched.7
@@ -23,65 +23,65 @@ Linux provides the following system calls for controlling
the CPU scheduling behavior, policy, and priority of processes
(or, more precisely, threads).
.TP
-.BR nice (2)
+.MR nice 2
Set a new nice value for the calling thread,
and return the new nice value.
.TP
-.BR getpriority (2)
+.MR getpriority 2
Return the nice value of a thread, a process group,
or the set of threads owned by a specified user.
.TP
-.BR setpriority (2)
+.MR setpriority 2
Set the nice value of a thread, a process group,
or the set of threads owned by a specified user.
.TP
-.BR sched_setscheduler (2)
+.MR sched_setscheduler 2
Set the scheduling policy and parameters of a specified thread.
.TP
-.BR sched_getscheduler (2)
+.MR sched_getscheduler 2
Return the scheduling policy of a specified thread.
.TP
-.BR sched_setparam (2)
+.MR sched_setparam 2
Set the scheduling parameters of a specified thread.
.TP
-.BR sched_getparam (2)
+.MR sched_getparam 2
Fetch the scheduling parameters of a specified thread.
.TP
-.BR sched_get_priority_max (2)
+.MR sched_get_priority_max 2
Return the maximum priority available in a specified scheduling policy.
.TP
-.BR sched_get_priority_min (2)
+.MR sched_get_priority_min 2
Return the minimum priority available in a specified scheduling policy.
.TP
-.BR sched_rr_get_interval (2)
+.MR sched_rr_get_interval 2
Fetch the quantum used for threads that are scheduled under
the "round-robin" scheduling policy.
.TP
-.BR sched_yield (2)
+.MR sched_yield 2
Cause the caller to relinquish the CPU,
so that some other thread be executed.
.TP
-.BR sched_setaffinity (2)
+.MR sched_setaffinity 2
(Linux-specific)
Set the CPU affinity of a specified thread.
.TP
-.BR sched_getaffinity (2)
+.MR sched_getaffinity 2
(Linux-specific)
Get the CPU affinity of a specified thread.
.TP
-.BR sched_setattr (2)
+.MR sched_setattr 2
Set the scheduling policy and parameters of a specified thread.
This (Linux-specific) system call provides a superset of the functionality of
-.BR sched_setscheduler (2)
+.MR sched_setscheduler 2
and
-.BR sched_setparam (2).
+.MR sched_setparam 2 .
.TP
-.BR sched_getattr (2)
+.MR sched_getattr 2
Fetch the scheduling policy and parameters of a specified thread.
This (Linux-specific) system call provides a superset of the functionality of
-.BR sched_getscheduler (2)
+.MR sched_getscheduler 2
and
-.BR sched_getparam (2).
+.MR sched_getparam 2 .
.\"
.SS Scheduling policies
The scheduler is the kernel component that decides which runnable thread
@@ -106,9 +106,9 @@ Note well: POSIX.1 requires an implementation to support only a
minimum 32 distinct priority levels for the real-time policies,
and some systems supply just this minimum.
Portable programs should use
-.BR sched_get_priority_min (2)
+.MR sched_get_priority_min 2
and
-.BR sched_get_priority_max (2)
+.MR sched_get_priority_max 2
to find the range of priorities supported for a particular policy.
.P
Conceptually, the scheduler maintains a list of runnable
@@ -147,12 +147,12 @@ When a blocked \fBSCHED_FIFO\fP thread becomes runnable, it
will be inserted at the end of the list for its priority.
.IP \[bu]
If a call to
-.BR sched_setscheduler (2),
-.BR sched_setparam (2),
-.BR sched_setattr (2),
-.BR pthread_setschedparam (3),
+.MR sched_setscheduler 2 ,
+.MR sched_setparam 2 ,
+.MR sched_setattr 2 ,
+.MR pthread_setschedparam 3 ,
or
-.BR pthread_setschedprio (3)
+.MR pthread_setschedprio 3
changes the priority of the running or runnable
.B SCHED_FIFO
thread identified by
@@ -175,14 +175,14 @@ it is placed at the front of the list for its new priority.
.IP
According to POSIX.1-2008,
changes to a thread's priority (or policy) using any mechanism other than
-.BR pthread_setschedprio (3)
+.MR pthread_setschedprio 3
should result in the thread being placed at the end of
the list for its priority.
.\" In Linux 2.2.x and Linux 2.4.x, the thread is placed at the front of the queue
.\" In Linux 2.0.x, the Right Thing happened: the thread went to the back -- MTK
.IP \[bu]
A thread calling
-.BR sched_yield (2)
+.MR sched_yield 2
will be put at the end of the list.
.P
No other events will move a thread
@@ -192,7 +192,7 @@ runnable threads with equal static priority.
A \fBSCHED_FIFO\fP
thread runs until either it is blocked by an I/O request, it is
preempted by a higher priority thread, or it calls
-.BR sched_yield (2).
+.MR sched_yield 2 .
.SS SCHED_RR: Round-robin scheduling
\fBSCHED_RR\fP is a simple enhancement of \fBSCHED_FIFO\fP.
Everything
@@ -208,7 +208,7 @@ execution as a running thread will complete the unexpired portion of
its round-robin time quantum.
The length of the time quantum can be
retrieved using
-.BR sched_rr_get_interval (2).
+.MR sched_rr_get_interval 2 .
.\" On Linux 2.4, the length of the RR interval is influenced
.\" by the process nice value -- MTK
.\"
@@ -220,9 +220,9 @@ GEDF (Global Earliest Deadline First)
in conjunction with CBS (Constant Bandwidth Server).
To set and fetch this policy and associated attributes,
one must use the Linux-specific
-.BR sched_setattr (2)
+.MR sched_setattr 2
and
-.BR sched_getattr (2)
+.MR sched_getattr 2
system calls.
.P
A sporadic task is one that has a sequence of jobs, where each
@@ -261,7 +261,7 @@ arrival/wakeup absolute deadline
When setting a
.B SCHED_DEADLINE
policy for a thread using
-.BR sched_setattr (2),
+.MR sched_setattr 2 ,
one can specify three parameters:
.IR Runtime ,
.IR Deadline ,
@@ -296,7 +296,7 @@ and
fields of the
.I sched_attr
structure; see
-.BR sched_setattr (2).
+.MR sched_setattr 2 .
These fields express values in nanoseconds.
.\" FIXME It looks as though specifying sched_period as 0 means
.\" "make sched_period the same as sched_deadline".
@@ -320,7 +320,7 @@ all of the parameter values must be at least 1024
(i.e., just over one microsecond,
which is the resolution of the implementation), and less than 2\[ha]63.
If any of these checks fails,
-.BR sched_setattr (2)
+.MR sched_setattr 2
fails with the error
.BR EINVAL .
.P
@@ -336,7 +336,7 @@ The kernel thus performs an admittance test when setting or changing
policy and attributes.
This admission test calculates whether the change is feasible;
if it is not,
-.BR sched_setattr (2)
+.MR sched_setattr 2
fails with the error
.BR EBUSY .
.P
@@ -358,7 +358,7 @@ thread is runnable,
it will preempt any thread scheduled under one of the other policies.
.P
A call to
-.BR fork (2)
+.MR fork 2
by a thread scheduled under the
.B SCHED_DEADLINE
policy fails with the error
@@ -368,7 +368,7 @@ unless the thread has its reset-on-fork flag set (see below).
A
.B SCHED_DEADLINE
thread that calls
-.BR sched_yield (2)
+.MR sched_yield 2
will yield the current job and wait for a new period to begin.
.\"
.\" FIXME Calling sched_getparam() on a SCHED_DEADLINE thread
@@ -407,10 +407,10 @@ and
.B SCHED_BATCH
(see below) processes.
The nice value can be modified using
-.BR nice (2),
-.BR setpriority (2),
+.MR nice 2 ,
+.MR setpriority 2 ,
or
-.BR sched_setattr (2).
+.MR sched_setattr 2 .
.P
According to POSIX.1, the nice value is a per-process attribute;
that is, the threads in a process should share a nice value.
@@ -446,7 +446,7 @@ On Linux, the
.B RLIMIT_NICE
resource limit can be used to define a limit to which
an unprivileged process's nice value can be raised; see
-.BR setrlimit (2)
+.MR setrlimit 2
for details.
.P
For further details on the nice value, see the subsections on
@@ -489,7 +489,7 @@ policies).
.SS Resetting scheduling policy for child processes
Each thread has a reset-on-fork scheduling flag.
When this flag is set, children created by
-.BR fork (2)
+.MR fork 2
do not inherit privileged scheduling policies.
The reset-on-fork flag can be set by either:
.IP \[bu] 3
@@ -498,7 +498,7 @@ ORing the
flag into the
.I policy
argument when calling
-.BR sched_setscheduler (2)
+.MR sched_setscheduler 2
(since Linux 2.6.32);
or
.IP \[bu]
@@ -507,19 +507,19 @@ specifying the
flag in
.I attr.sched_flags
when calling
-.BR sched_setattr (2).
+.MR sched_setattr 2 .
.P
Note that the constants used with these two APIs have different names.
The state of the reset-on-fork flag can analogously be retrieved using
-.BR sched_getscheduler (2)
+.MR sched_getscheduler 2
and
-.BR sched_getattr (2).
+.MR sched_getattr 2 .
.P
The reset-on-fork feature is intended for media-playback applications,
and can be used to prevent applications evading the
.B RLIMIT_RTTIME
resource limit (see
-.BR getrlimit (2))
+.MR getrlimit 2 )
by creating multiple child processes.
.P
More precisely, if the reset-on-fork flag is set,
@@ -541,7 +541,7 @@ it can be reset only if the thread has the
.B CAP_SYS_NICE
capability.
This flag is disabled in child processes created by
-.BR fork (2).
+.MR fork 2 .
.\"
.SS Privileges and resource limits
Before Linux 2.6.12, only privileged
@@ -607,7 +607,7 @@ or the
policy so long as its nice value falls within the range permitted by its
.B RLIMIT_NICE
resource limit (see
-.BR getrlimit (2)).
+.MR getrlimit 2 ).
.P
Privileged
.RB ( CAP_SYS_NICE )
@@ -616,7 +616,7 @@ threads ignore the
limit; as with older kernels,
they can make arbitrary changes to scheduling policy and priority.
See
-.BR getrlimit (2)
+.MR getrlimit 2
for further information on
.BR RLIMIT_RTPRIO .
.SS Limiting the CPU usage of real-time and deadline processes
@@ -640,7 +640,7 @@ One of these is to use the
resource limit to set a ceiling on the CPU time that
a real-time process may consume.
See
-.BR getrlimit (2)
+.MR getrlimit 2
for details.
.P
Since Linux 2.6.25, Linux also provides two
@@ -681,15 +681,15 @@ interrupt handler.
.\" .BR request_irq (9).
.SS Miscellaneous
Child processes inherit the scheduling policy and parameters across a
-.BR fork (2).
+.MR fork 2 .
The scheduling policy and parameters are preserved across
-.BR execve (2).
+.MR execve 2 .
.P
Memory locking is usually needed for real-time processes to avoid
paging delays; this can be done with
-.BR mlock (2)
+.MR mlock 2
or
-.BR mlockall (2).
+.MR mlockall 2 .
.\"
.SS The autogroup feature
.\" commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a
@@ -698,7 +698,7 @@ the kernel provides a feature known as autogrouping to improve interactive
desktop performance in the face of multiprocess, CPU-intensive
workloads such as building the Linux kernel with large numbers of
parallel build processes (i.e., the
-.BR make (1)
+.MR make 1
.B \-j
flag).
.P
@@ -713,10 +713,10 @@ The default value in this file is 1, unless the kernel was booted with the
parameter.
.P
A new autogroup is created when a new session is created via
-.BR setsid (2);
+.MR setsid 2 ;
this happens, for example, when a new terminal window is started.
A new process created by
-.BR fork (2)
+.MR fork 2
inherits its parent's autogroup membership.
Thus, all of the processes in a session are members of the same autogroup.
An autogroup is automatically destroyed when the last process
@@ -731,7 +731,7 @@ can be described via the following example.
.P
Suppose that there are two autogroups competing for the same CPU
(i.e., presume either a single CPU system or the use of
-.BR taskset (1)
+.MR taskset 1
to confine all the processes to the same CPU on an SMP system).
The first group contains ten CPU-bound processes from
a kernel build started with
@@ -776,7 +776,7 @@ This is done by writing a number in the "nice" range to the file
to set the autogroup's nice value.
The allowed range is from +19 (low priority) to \-20 (high priority).
(Writing values outside of this range causes
-.BR write (2)
+.MR write 2
to fail with the error
.BR EINVAL .)
.\" FIXME .
@@ -802,7 +802,7 @@ and the process's nice value
(compared to other processes in the same autogroup.
.P
The use of the
-.BR cgroups (7)
+.MR cgroups 7
CPU controller to place processes in cgroups other than the
root CPU cgroup overrides the effect of autogrouping.
.P
@@ -840,7 +840,7 @@ corresponding parent cgroup.
If autogrouping is enabled,
then all of the threads that are (implicitly) placed in an autogroup
(i.e., the same session, as created by
-.BR setsid (2))
+.MR setsid 2 )
form a task group.
Each new autogroup is thus a separate task group.
The root task group is the parent of all such autogroups.
@@ -864,9 +864,9 @@ This has some surprising consequences in terms of the traditional semantics
of the nice value on UNIX systems.
In particular, if autogrouping
is enabled (which is the default in various distributions), then employing
-.BR setpriority (2)
+.MR setpriority 2
or
-.BR nice (1)
+.MR nice 1
on a process has an effect only for scheduling relative
to other processes executed in the same session
(typically: the same terminal window).
@@ -934,7 +934,7 @@ The FIFO and RR scheduling policies are then used to run a thread
with true real-time priority and a minimum worst-case scheduling latency.
.SH NOTES
The
-.BR cgroups (7)
+.MR cgroups 7
CPU controller can be used to limit the CPU consumption of
groups of processes.
.P
@@ -950,35 +950,35 @@ was not possible up to Linux 2.6.17.
.SH SEE ALSO
.ad l
.nh
-.BR chcpu (1),
-.BR chrt (1),
-.BR lscpu (1),
-.BR ps (1),
-.BR taskset (1),
-.BR top (1),
-.BR getpriority (2),
-.BR mlock (2),
-.BR mlockall (2),
-.BR munlock (2),
-.BR munlockall (2),
-.BR nice (2),
-.BR sched_get_priority_max (2),
-.BR sched_get_priority_min (2),
-.BR sched_getaffinity (2),
-.BR sched_getparam (2),
-.BR sched_getscheduler (2),
-.BR sched_rr_get_interval (2),
-.BR sched_setaffinity (2),
-.BR sched_setparam (2),
-.BR sched_setscheduler (2),
-.BR sched_yield (2),
-.BR setpriority (2),
-.BR pthread_getaffinity_np (3),
-.BR pthread_getschedparam (3),
-.BR pthread_setaffinity_np (3),
-.BR sched_getcpu (3),
-.BR capabilities (7),
-.BR cpuset (7)
+.MR chcpu 1 ,
+.MR chrt 1 ,
+.MR lscpu 1 ,
+.MR ps 1 ,
+.MR taskset 1 ,
+.MR top 1 ,
+.MR getpriority 2 ,
+.MR mlock 2 ,
+.MR mlockall 2 ,
+.MR munlock 2 ,
+.MR munlockall 2 ,
+.MR nice 2 ,
+.MR sched_get_priority_max 2 ,
+.MR sched_get_priority_min 2 ,
+.MR sched_getaffinity 2 ,
+.MR sched_getparam 2 ,
+.MR sched_getscheduler 2 ,
+.MR sched_rr_get_interval 2 ,
+.MR sched_setaffinity 2 ,
+.MR sched_setparam 2 ,
+.MR sched_setscheduler 2 ,
+.MR sched_yield 2 ,
+.MR setpriority 2 ,
+.MR pthread_getaffinity_np 3 ,
+.MR pthread_getschedparam 3 ,
+.MR pthread_setaffinity_np 3 ,
+.MR sched_getcpu 3 ,
+.MR capabilities 7 ,
+.MR cpuset 7
.ad
.P
.I Programming for the real world \- POSIX.4
diff --git a/man7/sem_overview.7 b/man7/sem_overview.7
index fb9ff1535..9e7afe7eb 100644
--- a/man7/sem_overview.7
+++ b/man7/sem_overview.7
@@ -11,11 +11,13 @@ POSIX semaphores allow processes and threads to synchronize their actions.
A semaphore is an integer whose value is never allowed to fall below zero.
Two operations can be performed on semaphores:
increment the semaphore value by one
-.RB ( sem_post (3));
+\%(\c
+.MR sem_post 3 );
and decrement the semaphore value by one
-.RB ( sem_wait (3)).
+\%(\c
+.MR sem_wait 3 ).
If the value of a semaphore is currently zero, then a
-.BR sem_wait (3)
+.MR sem_wait 3
operation will block until the value becomes greater than zero.
.P
POSIX semaphores come in two forms: named semaphores and
@@ -39,22 +41,22 @@ followed by one or more characters, none of which are slashes.
.\" object in a subdirectory.
Two processes can operate on the same named semaphore by passing
the same name to
-.BR sem_open (3).
+.MR sem_open 3 .
.IP
The
-.BR sem_open (3)
+.MR sem_open 3
function creates a new named semaphore or opens an existing
named semaphore.
After the semaphore has been opened, it can be operated on using
-.BR sem_post (3)
+.MR sem_post 3
and
-.BR sem_wait (3).
+.MR sem_wait 3 .
When a process has finished using the semaphore, it can use
-.BR sem_close (3)
+.MR sem_close 3
to close the semaphore.
When all processes have finished using the semaphore,
it can be removed from the system using
-.BR sem_unlink (3).
+.MR sem_unlink 3 .
.TP
.B Unnamed semaphores (memory-based semaphores)
An unnamed semaphore does not have a name.
@@ -67,20 +69,20 @@ A thread-shared semaphore is placed in an area of memory shared
between the threads of a process, for example, a global variable.
A process-shared semaphore must be placed in a shared memory region
(e.g., a System V shared memory segment created using
-.BR shmget (2),
+.MR shmget 2 ,
or a POSIX shared memory object built created using
-.BR shm_open (3)).
+.MR shm_open 3 ).
.IP
Before being used, an unnamed semaphore must be initialized using
-.BR sem_init (3).
+.MR sem_init 3 .
It can then be operated on using
-.BR sem_post (3)
+.MR sem_post 3
and
-.BR sem_wait (3).
+.MR sem_wait 3 .
When the semaphore is no longer required,
and before the memory in which it is located is deallocated,
the semaphore should be destroyed using
-.BR sem_destroy (3).
+.MR sem_destroy 3 .
.P
The remainder of this section describes some specific details
of the Linux implementation of POSIX semaphores.
@@ -93,7 +95,7 @@ a complete implementation of POSIX semaphores is provided.
.SS Persistence
POSIX named semaphores have kernel persistence:
if not removed by
-.BR sem_unlink (3),
+.MR sem_unlink 3 ,
a semaphore will exist until the system is shut down.
.SS Linking
Programs using the POSIX semaphores API must be compiled with
@@ -116,8 +118,9 @@ Since Linux 2.6.19, ACLs can be placed on files under this directory,
to control object permissions on a per-user and per-group basis.
.SH NOTES
System V semaphores
-.RB ( semget (2),
-.BR semop (2),
+\%(\c
+.MR semget 2 ,
+.MR semop 2 ,
etc.) are an older semaphore API.
POSIX semaphores provide a simpler, and better designed interface than
System V semaphores;
@@ -125,15 +128,15 @@ on the other hand POSIX semaphores are less widely available
(especially on older systems) than System V semaphores.
.SH EXAMPLES
An example of the use of various POSIX semaphore functions is shown in
-.BR sem_wait (3).
+.MR sem_wait 3 .
.SH SEE ALSO
-.BR sem_close (3),
-.BR sem_destroy (3),
-.BR sem_getvalue (3),
-.BR sem_init (3),
-.BR sem_open (3),
-.BR sem_post (3),
-.BR sem_unlink (3),
-.BR sem_wait (3),
-.BR pthreads (7),
-.BR shm_overview (7)
+.MR sem_close 3 ,
+.MR sem_destroy 3 ,
+.MR sem_getvalue 3 ,
+.MR sem_init 3 ,
+.MR sem_open 3 ,
+.MR sem_post 3 ,
+.MR sem_unlink 3 ,
+.MR sem_wait 3 ,
+.MR pthreads 7 ,
+.MR shm_overview 7
diff --git a/man7/session-keyring.7 b/man7/session-keyring.7
index d54007ee1..706321761 100644
--- a/man7/session-keyring.7
+++ b/man7/session-keyring.7
@@ -9,11 +9,11 @@ session-keyring \- session shared process keyring
.SH DESCRIPTION
The session keyring is a keyring used to anchor keys on behalf of a process.
It is typically created by
-.BR pam_keyinit (8)
+.MR pam_keyinit 8
when a user logs in and a link will be added that refers to the
-.BR user\-keyring (7).
+.MR user\-keyring 7 .
Optionally,
-.BR PAM (7)
+.MR PAM 7
may revoke the session keyring on logout.
(In typical configurations, PAM does do this revocation.)
The session keyring has the name (description)
@@ -25,29 +25,29 @@ is defined that can be used in lieu of the actual serial number of
the calling process's session keyring.
.P
From the
-.BR keyctl (1)
+.MR keyctl 1
utility, '\fB@s\fP' can be used instead of a numeric key ID in
much the same way.
.P
A process's session keyring is inherited across
-.BR clone (2),
-.BR fork (2),
+.MR clone 2 ,
+.MR fork 2 ,
and
-.BR vfork (2).
+.MR vfork 2 .
The session keyring
is preserved across
-.BR execve (2),
+.MR execve 2 ,
even when the executable is set-user-ID or set-group-ID or has capabilities.
The session keyring is destroyed when the last process that
refers to it exits.
.P
If a process doesn't have a session keyring when it is accessed, then,
under certain circumstances, the
-.BR user\-session\-keyring (7)
+.MR user\-session\-keyring 7
will be attached as the session keyring
and under others a new session keyring will be created.
(See
-.BR user\-session\-keyring (7)
+.MR user\-session\-keyring 7
for further details.)
.SS Special operations
The
@@ -55,7 +55,7 @@ The
library provides the following special operations for manipulating
session keyrings:
.TP
-.BR keyctl_join_session_keyring (3)
+.MR keyctl_join_session_keyring 3
This operation allows the caller to change the session keyring
that it subscribes to.
The caller can join an existing keyring with a specified name (description),
@@ -63,22 +63,22 @@ create a new keyring with a given name,
or ask the kernel to create a new "anonymous"
session keyring with the name "_ses".
(This function is an interface to the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_JOIN_SESSION_KEYRING
operation.)
.TP
-.BR keyctl_session_to_parent (3)
+.MR keyctl_session_to_parent 3
This operation allows the caller to make the parent process's
session keyring to the same as its own.
For this to succeed, the parent process must have
identical security attributes and must be single threaded.
(This function is an interface to the
-.BR keyctl (2)
+.MR keyctl 2
.B KEYCTL_SESSION_TO_PARENT
operation.)
.P
These operations are also exposed through the
-.BR keyctl (1)
+.MR keyctl 1
utility as:
.P
.in +4n
@@ -99,15 +99,15 @@ keyctl new_session
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR keyctl (3),
-.BR keyctl_join_session_keyring (3),
-.BR keyctl_session_to_parent (3),
-.BR keyrings (7),
-.BR PAM (7),
-.BR persistent\-keyring (7),
-.BR process\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-keyring (7),
-.BR user\-session\-keyring (7),
-.BR pam_keyinit (8)
+.MR keyctl 1 ,
+.MR keyctl 3 ,
+.MR keyctl_join_session_keyring 3 ,
+.MR keyctl_session_to_parent 3 ,
+.MR keyrings 7 ,
+.MR PAM 7 ,
+.MR persistent\-keyring 7 ,
+.MR process\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-keyring 7 ,
+.MR user\-session\-keyring 7 ,
+.MR pam_keyinit 8
diff --git a/man7/shm_overview.7 b/man7/shm_overview.7
index 85fbce2a0..a746592ca 100644
--- a/man7/shm_overview.7
+++ b/man7/shm_overview.7
@@ -12,34 +12,34 @@ by sharing a region of memory.
.P
The interfaces employed in the API are:
.TP 15
-.BR shm_open (3)
+.MR shm_open 3
Create and open a new object, or open an existing object.
This is analogous to
-.BR open (2).
+.MR open 2 .
The call returns a file descriptor for use by the other
interfaces listed below.
.TP
-.BR ftruncate (2)
+.MR ftruncate 2
Set the size of the shared memory object.
(A newly created shared memory object has a length of zero.)
.TP
-.BR mmap (2)
+.MR mmap 2
Map the shared memory object into the virtual address space
of the calling process.
.TP
-.BR munmap (2)
+.MR munmap 2
Unmap the shared memory object from the virtual address space
of the calling process.
.TP
-.BR shm_unlink (3)
+.MR shm_unlink 3
Remove a shared memory object name.
.TP
-.BR close (2)
+.MR close 2
Close the file descriptor allocated by
-.BR shm_open (3)
+.MR shm_open 3
when it is no longer needed.
.TP
-.BR fstat (2)
+.MR fstat 2
Obtain a
.I stat
structure that describes the shared memory object.
@@ -53,10 +53,10 @@ owner
and group
.RI ( st_gid ).
.TP
-.BR fchown (2)
+.MR fchown 2
To change the ownership of a shared memory object.
.TP
-.BR fchmod (2)
+.MR fchmod 2
To change the permissions of a shared memory object.
.SS Versions
POSIX shared memory is supported since Linux 2.4 and glibc 2.2.
@@ -64,7 +64,7 @@ POSIX shared memory is supported since Linux 2.4 and glibc 2.2.
POSIX shared memory objects have kernel persistence:
a shared memory object will exist until the system is shut down,
or until all processes have unmapped the object and it has been deleted with
-.BR shm_unlink (3)
+.MR shm_unlink 3
.SS Linking
Programs using the POSIX shared memory API must be compiled with
.I cc \-lrt
@@ -72,7 +72,8 @@ to link against the real-time library,
.IR librt .
.SS Accessing shared memory objects via the filesystem
On Linux, shared memory objects are created in a
-.RB ( tmpfs (5))
+\%(\c
+.MR tmpfs 5 )
virtual filesystem, normally mounted under
.IR /dev/shm .
Since Linux 2.6.19, Linux supports the use of access control lists (ACLs)
@@ -82,23 +83,24 @@ Typically, processes must synchronize their access to a shared
memory object, using, for example, POSIX semaphores.
.P
System V shared memory
-.RB ( shmget (2),
-.BR shmop (2),
+\%(\c
+.MR shmget 2 ,
+.MR shmop 2 ,
etc.) is an older shared memory API.
POSIX shared memory provides a simpler, and better designed interface;
on the other hand POSIX shared memory is somewhat less widely available
(especially on older systems) than System V shared memory.
.SH SEE ALSO
-.BR fchmod (2),
-.BR fchown (2),
-.BR fstat (2),
-.BR ftruncate (2),
-.BR memfd_create (2),
-.BR mmap (2),
-.BR mprotect (2),
-.BR munmap (2),
-.BR shmget (2),
-.BR shmop (2),
-.BR shm_open (3),
-.BR shm_unlink (3),
-.BR sem_overview (7)
+.MR fchmod 2 ,
+.MR fchown 2 ,
+.MR fstat 2 ,
+.MR ftruncate 2 ,
+.MR memfd_create 2 ,
+.MR mmap 2 ,
+.MR mprotect 2 ,
+.MR munmap 2 ,
+.MR shmget 2 ,
+.MR shmop 2 ,
+.MR shm_open 3 ,
+.MR shm_unlink 3 ,
+.MR sem_overview 7
diff --git a/man7/signal-safety.7 b/man7/signal-safety.7
index cde19a575..926d841bf 100644
--- a/man7/signal-safety.7
+++ b/man7/signal-safety.7
@@ -30,13 +30,13 @@ that record the amount of data and the current position in the buffer.
Suppose that the main program is in the middle of a call to a
.I stdio
function such as
-.BR printf (3)
+.MR printf 3
where the buffer and associated variables have been partially updated.
If, at that moment,
the program is interrupted by a signal handler that also calls
-.BR printf (3),
+.MR printf 3 ,
then the second call to
-.BR printf (3)
+.MR printf 3
will operate on inconsistent data, with unpredictable results.
.P
To avoid problems with unsafe functions, there are two possible choices:
@@ -276,30 +276,30 @@ T}
Notes:
.IP \[bu] 3
POSIX.1-2001 and POSIX.1-2001 TC2 required the functions
-.BR fpathconf (3),
-.BR pathconf (3),
+.MR fpathconf 3 ,
+.MR pathconf 3 ,
and
-.BR sysconf (3)
+.MR sysconf 3
to be async-signal-safe, but this requirement was removed in POSIX.1-2008.
.IP \[bu]
If a signal handler interrupts the execution of an unsafe function,
and the handler terminates via a call to
-.BR longjmp (3)
+.MR longjmp 3
or
-.BR siglongjmp (3)
+.MR siglongjmp 3
and the program subsequently calls an unsafe function,
then the behavior of the program is undefined.
.IP \[bu]
POSIX.1-2001 TC1 clarified
that if an application calls
-.BR fork (2)
+.MR fork 2
from a signal handler and any of the fork handlers registered by
-.BR pthread_atfork (3)
+.MR pthread_atfork 3
calls a function that is not async-signal-safe, the behavior is undefined.
A future revision of the standard
.\" http://www.opengroup.org/austin/aardvark/latest/xshbug3.txt
is likely to remove
-.BR fork (2)
+.MR fork 2
from the list of async-signal-safe functions.
.\"
.IP \[bu]
@@ -320,22 +320,22 @@ The following known deviations from the standard occur in
the GNU C library:
.IP \[bu] 3
Before glibc 2.24,
-.BR execl (3)
+.MR execl 3
and
-.BR execle (3)
+.MR execle 3
employed
-.BR realloc (3)
+.MR realloc 3
internally and were consequently not async-signal-safe.
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=19534
This was fixed in glibc 2.24.
.IP \[bu]
.\" FIXME . https://sourceware.org/bugzilla/show_bug.cgi?id=13172
The glibc implementation of
-.BR aio_suspend (3)
+.MR aio_suspend 3
is not async-signal-safe because it uses
-.BR pthread_mutex_lock (3)
+.MR pthread_mutex_lock 3
internally.
.SH SEE ALSO
-.BR sigaction (2),
-.BR signal (7),
-.BR standards (7)
+.MR sigaction 2 ,
+.MR signal 7 ,
+.MR standards 7
diff --git a/man7/signal.7 b/man7/signal.7
index 4ba5306c8..0d9c34cb5 100644
--- a/man7/signal.7
+++ b/man7/signal.7
@@ -46,7 +46,7 @@ Default action is to ignore the signal.
.TP
Core
Default action is to terminate the process and dump core (see
-.BR core (5)).
+.MR core 5 ).
.TP
Stop
Default action is to stop the process.
@@ -55,12 +55,12 @@ Cont
Default action is to continue the process if it is currently stopped.
.P
A process can change the disposition of a signal using
-.BR sigaction (2)
+.MR sigaction 2
or
-.BR signal (2).
+.MR signal 2 .
(The latter is less portable when establishing a signal handler;
see
-.BR signal (2)
+.MR signal 2
for details.)
Using these system calls, a process can elect one of the
following behaviors to occur on delivery of the signal:
@@ -74,7 +74,7 @@ By default, a signal handler is invoked on the
normal process stack.
It is possible to arrange that the signal handler
uses an alternate stack; see
-.BR sigaltstack (2)
+.MR sigaltstack 2
for a discussion of how to do this and when it might be useful.
.P
The signal disposition is a per-process attribute:
@@ -82,50 +82,50 @@ in a multithreaded application, the disposition of a
particular signal is the same for all threads.
.P
A child created via
-.BR fork (2)
+.MR fork 2
inherits a copy of its parent's signal dispositions.
During an
-.BR execve (2),
+.MR execve 2 ,
the dispositions of handled signals are reset to the default;
the dispositions of ignored signals are left unchanged.
.SS Sending a signal
The following system calls and library functions allow
the caller to send a signal:
.TP
-.BR raise (3)
+.MR raise 3
Sends a signal to the calling thread.
.TP
-.BR kill (2)
+.MR kill 2
Sends a signal to a specified process,
to all members of a specified process group,
or to all processes on the system.
.TP
-.BR pidfd_send_signal (2)
+.MR pidfd_send_signal 2
Sends a signal to a process identified by a PID file descriptor.
.TP
-.BR killpg (3)
+.MR killpg 3
Sends a signal to all of the members of a specified process group.
.TP
-.BR pthread_kill (3)
+.MR pthread_kill 3
Sends a signal to a specified POSIX thread in the same process as
the caller.
.TP
-.BR tgkill (2)
+.MR tgkill 2
Sends a signal to a specified thread within a specific process.
(This is the system call used to implement
-.BR pthread_kill (3).)
+.MR pthread_kill 3 .)
.TP
-.BR sigqueue (3)
+.MR sigqueue 3
Sends a real-time signal with accompanying data to a specified process.
.SS Waiting for a signal to be caught
The following system calls suspend execution of the calling
thread until a signal is caught
(or an unhandled signal terminates the process):
.TP
-.BR pause (2)
+.MR pause 2
Suspends execution until any signal is caught.
.TP
-.BR sigsuspend (2)
+.MR sigsuspend 2
Temporarily changes the signal mask (see below) and suspends
execution until one of the unmasked signals is caught.
.\"
@@ -137,25 +137,25 @@ at which point the kernel returns information about the
signal to the caller.
There are two general ways to do this:
.IP \[bu] 3
-.BR sigwaitinfo (2),
-.BR sigtimedwait (2),
+.MR sigwaitinfo 2 ,
+.MR sigtimedwait 2 ,
and
-.BR sigwait (3)
+.MR sigwait 3
suspend execution until one of the signals in a specified
set is delivered.
Each of these calls returns information about the delivered signal.
.IP \[bu]
-.BR signalfd (2)
+.MR signalfd 2
returns a file descriptor that can be used to read information
about signals that are delivered to the caller.
Each
-.BR read (2)
+.MR read 2
from this file descriptor blocks until one of the signals
in the set specified in the
-.BR signalfd (2)
+.MR signalfd 2
call is delivered to the caller.
The buffer returned by
-.BR read (2)
+.MR read 2
contains a structure describing the signal.
.SS Signal mask and pending signals
A signal may be
@@ -169,16 +169,16 @@ Each thread in a process has an independent
.IR "signal mask" ,
which indicates the set of signals that the thread is currently blocking.
A thread can manipulate its signal mask using
-.BR pthread_sigmask (3).
+.MR pthread_sigmask 3 .
In a traditional single-threaded application,
-.BR sigprocmask (2)
+.MR sigprocmask 2
can be used to manipulate the signal mask.
.P
A child created via
-.BR fork (2)
+.MR fork 2
inherits a copy of its parent's signal mask;
the signal mask is preserved across
-.BR execve (2).
+.MR execve 2 .
.P
A signal may be process-directed or thread-directed.
A process-directed signal is one that is targeted at (and thus pending for)
@@ -186,9 +186,9 @@ the process as a whole.
A signal may be process-directed
because it was generated by the kernel for reasons
other than a hardware exception, or because it was sent using
-.BR kill (2)
+.MR kill 2
or
-.BR sigqueue (3).
+.MR sigqueue 3 .
A thread-directed signal is one that is targeted at a specific thread.
A signal may be thread-directed because it was generated as a consequence
of executing a specific machine-language instruction
@@ -199,9 +199,9 @@ for an invalid memory access, or
for a math error), or because it was
targeted at a specific thread using
interfaces such as
-.BR tgkill (2)
+.MR tgkill 2
or
-.BR pthread_kill (3).
+.MR pthread_kill 3 .
.P
A process-directed signal may be delivered to any one of the
threads that does not currently have the signal blocked.
@@ -228,16 +228,16 @@ kernel chooses an arbitrary thread to which to deliver the signal.
.P
A thread can obtain the set of signals that it currently has pending
using
-.BR sigpending (2).
+.MR sigpending 2 .
This set will consist of the union of the set of pending
process-directed signals and the set of signals pending for
the calling thread.
.P
A child created via
-.BR fork (2)
+.MR fork 2
initially has an empty pending signal set;
the pending signal set is preserved across an
-.BR execve (2).
+.MR execve 2 .
.\"
.SS Execution of signal handlers
Whenever there is a transition from kernel-mode to user-mode execution
@@ -253,11 +253,11 @@ the signal handler:
The signal is removed from the set of pending signals.
.IP (1.2)
If the signal handler was installed by a call to
-.BR sigaction (2)
+.MR sigaction 2
that specified the
.B SA_ONSTACK
flag and the thread has defined an alternate signal stack (using
-.BR sigaltstack (2)),
+.MR sigaltstack 2 ),
then that stack is installed.
.IP (1.3)
Various pieces of signal-related context are saved
@@ -278,7 +278,7 @@ the thread's alternate signal stack settings.
.RE
.IP
(If the signal handler was installed using the
-.BR sigaction (2)
+.MR sigaction 2
.B SA_SIGINFO
flag, then the above information is accessible via the
.I ucontext_t
@@ -287,7 +287,7 @@ object that is pointed to by the third argument of the signal handler.)
Any signals specified in
.I act\->sa_mask
when registering the handler with
-.BR sigprocmask (2)
+.MR sigprocmask 2
are added to the thread's signal mask.
The signal being delivered is also
added to the signal mask, unless
@@ -301,7 +301,7 @@ The kernel sets the program counter for the thread to point to the first
instruction of the signal handler function,
and configures the return address for that function to point to a piece
of user-space code known as the signal trampoline (described in
-.BR sigreturn (2)).
+.MR sigreturn 2 ).
.IP (3)
The kernel passes control back to user-space, where execution
commences at the start of the signal handler function.
@@ -309,35 +309,35 @@ commences at the start of the signal handler function.
When the signal handler returns, control passes to the signal trampoline code.
.IP (5)
The signal trampoline calls
-.BR sigreturn (2),
+.MR sigreturn 2 ,
a system call that uses the information in the stack frame created in step 1
to restore the thread to its state before the signal handler was
called.
The thread's signal mask and alternate signal stack settings
are restored as part of this procedure.
Upon completion of the call to
-.BR sigreturn (2),
+.MR sigreturn 2 ,
the kernel transfers control back to user space,
and the thread recommences execution at the point where it was
interrupted by the signal handler.
.P
Note that if the signal handler does not return
(e.g., control is transferred out of the handler using
-.BR siglongjmp (3),
+.MR siglongjmp 3 ,
or the handler executes a new program with
-.BR execve (2)),
+.MR execve 2 ),
then the final step is not performed.
In particular, in such scenarios it is the programmer's responsibility
to restore the state of the signal mask (using
-.BR sigprocmask (2)),
+.MR sigprocmask 2 ),
if it is desired to unblock the signals that were blocked on entry
to the signal handler.
(Note that
-.BR siglongjmp (3)
+.MR siglongjmp 3
may or may not restore the signal mask, depending on the
.I savesigs
value that was specified in the corresponding call to
-.BR sigsetjmp (3).)
+.MR sigsetjmp 3 .)
.P
From the kernel's point of view,
execution of the signal handler code is exactly the same as the execution
@@ -449,7 +449,7 @@ then only one instance of the signal is marked as pending
In the case where a standard signal is already pending, the
.I siginfo_t
structure (see
-.BR sigaction (2))
+.MR sigaction 2 )
associated with that signal is not overwritten
on arrival of subsequent instances of the same signal.
Thus, the process will receive the information
@@ -544,7 +544,7 @@ signals, numbered 32 to 64.
However, the glibc POSIX threads implementation internally uses
two (for NPTL) or three (for LinuxThreads) real-time signals
(see
-.BR pthreads (7)),
+.MR pthreads 7 ),
and adjusts the value of
.B SIGRTMIN
suitably (to 34 or 35).
@@ -575,13 +575,13 @@ By contrast, if multiple instances of a standard signal are delivered
while that signal is currently blocked, then only one instance is queued.
.IP \[bu]
If the signal is sent using
-.BR sigqueue (3),
+.MR sigqueue 3 ,
an accompanying value (either an integer or a pointer) can be sent
with the signal.
If the receiving process establishes a handler for this signal using the
.B SA_SIGINFO
flag to
-.BR sigaction (2),
+.MR sigaction 2 ,
then it can obtain this data via the
.I si_value
field of the
@@ -628,7 +628,7 @@ interfaces were replaced by the
.B RLIMIT_SIGPENDING
resource limit, which specifies a per-user limit for queued
signals; see
-.BR setrlimit (2)
+.MR setrlimit 2
for further details.
.P
The addition of real-time signals required the widening
@@ -663,7 +663,7 @@ Which of these two behaviors occurs depends on the interface and
whether or not the signal handler was established using the
.B SA_RESTART
flag (see
-.BR sigaction (2)).
+.MR sigaction 2 ).
The details vary across UNIX systems;
below, the details for Linux.
.P
@@ -676,12 +676,12 @@ flag was used; otherwise the call fails with the error
.\" The following system calls use ERESTARTSYS,
.\" so that they are restartable
.IP \[bu] 3
-.BR read (2),
-.BR readv (2),
-.BR write (2),
-.BR writev (2),
+.MR read 2 ,
+.MR readv 2 ,
+.MR write 2 ,
+.MR writev 2 ,
and
-.BR ioctl (2)
+.MR ioctl 2
calls on "slow" devices.
A "slow" device is one where the I/O call may block for an
indefinite time, for example, a terminal, pipe, or socket.
@@ -692,80 +692,80 @@ then the call will return a success status
Note that a (local) disk is not a slow device according to this definition;
I/O operations on disk devices are not interrupted by signals.
.IP \[bu]
-.BR open (2),
+.MR open 2 ,
if it can block (e.g., when opening a FIFO; see
-.BR fifo (7)).
+.MR fifo 7 ).
.IP \[bu]
-.BR wait (2),
-.BR wait3 (2),
-.BR wait4 (2),
-.BR waitid (2),
+.MR wait 2 ,
+.MR wait3 2 ,
+.MR wait4 2 ,
+.MR waitid 2 ,
and
-.BR waitpid (2).
+.MR waitpid 2 .
.IP \[bu]
Socket interfaces:
.\" If a timeout (setsockopt()) is in effect on the socket, then these
.\" system calls switch to using EINTR. Consequently, they and are not
.\" automatically restarted, and they show the stop/cont behavior
.\" described below. (Verified from Linux 2.6.26 source, and by experiment; mtk)
-.BR accept (2),
-.BR connect (2),
-.BR recv (2),
-.BR recvfrom (2),
-.BR recvmmsg (2),
-.BR recvmsg (2),
-.BR send (2),
-.BR sendto (2),
+.MR accept 2 ,
+.MR connect 2 ,
+.MR recv 2 ,
+.MR recvfrom 2 ,
+.MR recvmmsg 2 ,
+.MR recvmsg 2 ,
+.MR send 2 ,
+.MR sendto 2 ,
and
-.BR sendmsg (2),
+.MR sendmsg 2 ,
.\" FIXME What about sendmmsg()?
unless a timeout has been set on the socket (see below).
.IP \[bu]
File locking interfaces:
-.BR flock (2)
+.MR flock 2
and
the
.B F_SETLKW
and
.B F_OFD_SETLKW
operations of
-.BR fcntl (2)
+.MR fcntl 2
.IP \[bu]
POSIX message queue interfaces:
-.BR mq_receive (3),
-.BR mq_timedreceive (3),
-.BR mq_send (3),
+.MR mq_receive 3 ,
+.MR mq_timedreceive 3 ,
+.MR mq_send 3 ,
and
-.BR mq_timedsend (3).
+.MR mq_timedsend 3 .
.IP \[bu]
-.BR futex (2)
+.MR futex 2
.B FUTEX_WAIT
(since Linux 2.6.22;
.\" commit 72c1bbf308c75a136803d2d76d0e18258be14c7a
beforehand, always failed with
.BR EINTR ).
.IP \[bu]
-.BR getrandom (2).
+.MR getrandom 2 .
.IP \[bu]
-.BR pthread_mutex_lock (3),
-.BR pthread_cond_wait (3),
+.MR pthread_mutex_lock 3 ,
+.MR pthread_cond_wait 3 ,
and related APIs.
.IP \[bu]
-.BR futex (2)
+.MR futex 2
.BR FUTEX_WAIT_BITSET .
.IP \[bu]
POSIX semaphore interfaces:
-.BR sem_wait (3)
+.MR sem_wait 3
and
-.BR sem_timedwait (3)
+.MR sem_timedwait 3
(since Linux 2.6.22;
.\" as a consequence of the 2.6.22 changes in the futex() implementation
beforehand, always failed with
.BR EINTR ).
.IP \[bu]
-.BR read (2)
+.MR read 2
from an
-.BR inotify (7)
+.MR inotify 7
file descriptor
(since Linux 3.8;
.\" commit 1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06
@@ -785,72 +785,72 @@ when interrupted by a signal handler:
"Input" socket interfaces, when a timeout
.RB ( SO_RCVTIMEO )
has been set on the socket using
-.BR setsockopt (2):
-.BR accept (2),
-.BR recv (2),
-.BR recvfrom (2),
-.BR recvmmsg (2)
+.MR setsockopt 2 :
+.MR accept 2 ,
+.MR recv 2 ,
+.MR recvfrom 2 ,
+.MR recvmmsg 2
(also with a non-NULL
.I timeout
argument),
and
-.BR recvmsg (2).
+.MR recvmsg 2 .
.IP \[bu]
"Output" socket interfaces, when a timeout
.RB ( SO_RCVTIMEO )
has been set on the socket using
-.BR setsockopt (2):
-.BR connect (2),
-.BR send (2),
-.BR sendto (2),
+.MR setsockopt 2 :
+.MR connect 2 ,
+.MR send 2 ,
+.MR sendto 2 ,
and
-.BR sendmsg (2).
+.MR sendmsg 2 .
.\" FIXME What about sendmmsg()?
.IP \[bu]
Interfaces used to wait for signals:
-.BR pause (2),
-.BR sigsuspend (2),
-.BR sigtimedwait (2),
+.MR pause 2 ,
+.MR sigsuspend 2 ,
+.MR sigtimedwait 2 ,
and
-.BR sigwaitinfo (2).
+.MR sigwaitinfo 2 .
.IP \[bu]
File descriptor multiplexing interfaces:
-.BR epoll_wait (2),
-.BR epoll_pwait (2),
-.BR poll (2),
-.BR ppoll (2),
-.BR select (2),
+.MR epoll_wait 2 ,
+.MR epoll_pwait 2 ,
+.MR poll 2 ,
+.MR ppoll 2 ,
+.MR select 2 ,
and
-.BR pselect (2).
+.MR pselect 2 .
.IP \[bu]
System V IPC interfaces:
.\" On some other systems, SA_RESTART does restart these system calls
-.BR msgrcv (2),
-.BR msgsnd (2),
-.BR semop (2),
+.MR msgrcv 2 ,
+.MR msgsnd 2 ,
+.MR semop 2 ,
and
-.BR semtimedop (2).
+.MR semtimedop 2 .
.IP \[bu]
Sleep interfaces:
-.BR clock_nanosleep (2),
-.BR nanosleep (2),
+.MR clock_nanosleep 2 ,
+.MR nanosleep 2 ,
and
-.BR usleep (3).
+.MR usleep 3 .
.IP \[bu]
-.BR io_getevents (2).
+.MR io_getevents 2 .
.P
The
-.BR sleep (3)
+.MR sleep 3
function is also never restarted if interrupted by a handler,
but gives a success return: the number of seconds remaining to sleep.
.P
In certain circumstances, the
-.BR seccomp (2)
+.MR seccomp 2
user-space notification feature can lead to restarting of system calls
that would otherwise never be restarted by
.BR SA_RESTART ;
for details, see
-.BR seccomp_unotify (2).
+.MR seccomp_unotify 2 .
.\"
.SS Interruption of system calls and library functions by stop signals
On Linux, even in the absence of signal handlers,
@@ -867,64 +867,64 @@ The Linux interfaces that display this behavior are:
"Input" socket interfaces, when a timeout
.RB ( SO_RCVTIMEO )
has been set on the socket using
-.BR setsockopt (2):
-.BR accept (2),
-.BR recv (2),
-.BR recvfrom (2),
-.BR recvmmsg (2)
+.MR setsockopt 2 :
+.MR accept 2 ,
+.MR recv 2 ,
+.MR recvfrom 2 ,
+.MR recvmmsg 2
(also with a non-NULL
.I timeout
argument),
and
-.BR recvmsg (2).
+.MR recvmsg 2 .
.IP \[bu]
"Output" socket interfaces, when a timeout
.RB ( SO_RCVTIMEO )
has been set on the socket using
-.BR setsockopt (2):
-.BR connect (2),
-.BR send (2),
-.BR sendto (2),
+.MR setsockopt 2 :
+.MR connect 2 ,
+.MR send 2 ,
+.MR sendto 2 ,
and
.\" FIXME What about sendmmsg()?
-.BR sendmsg (2),
+.MR sendmsg 2 ,
if a send timeout
.RB ( SO_SNDTIMEO )
has been set.
.IP \[bu]
-.BR epoll_wait (2),
-.BR epoll_pwait (2).
+.MR epoll_wait 2 ,
+.MR epoll_pwait 2 .
.IP \[bu]
-.BR semop (2),
-.BR semtimedop (2).
+.MR semop 2 ,
+.MR semtimedop 2 .
.IP \[bu]
-.BR sigtimedwait (2),
-.BR sigwaitinfo (2).
+.MR sigtimedwait 2 ,
+.MR sigwaitinfo 2 .
.IP \[bu]
Linux 3.7 and earlier:
-.BR read (2)
+.MR read 2
from an
-.BR inotify (7)
+.MR inotify 7
file descriptor
.\" commit 1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06
.IP \[bu]
Linux 2.6.21 and earlier:
-.BR futex (2)
+.MR futex 2
.BR FUTEX_WAIT ,
-.BR sem_timedwait (3),
-.BR sem_wait (3).
+.MR sem_timedwait 3 ,
+.MR sem_wait 3 .
.IP \[bu]
Linux 2.6.8 and earlier:
-.BR msgrcv (2),
-.BR msgsnd (2).
+.MR msgrcv 2 ,
+.MR msgsnd 2 .
.IP \[bu]
Linux 2.4 and earlier:
-.BR nanosleep (2).
+.MR nanosleep 2 .
.SH STANDARDS
POSIX.1, except as noted.
.SH NOTES
For a discussion of async-signal-safe functions, see
-.BR signal\-safety (7).
+.MR signal\-safety 7 .
.P
The
.IR /proc/ pid /task/ tid /status
@@ -946,7 +946,7 @@ The corresponding fields in
.IR /proc/ pid /status
show the information for the main thread.
See
-.BR proc (5)
+.MR proc 5
for further details.
.SH BUGS
There are six signals that can be delivered
@@ -979,41 +979,41 @@ even though
would make more sense,
because of how the CPU reports the forbidden operation to the kernel.
.SH SEE ALSO
-.BR kill (1),
-.BR clone (2),
-.BR getrlimit (2),
-.BR kill (2),
-.BR pidfd_send_signal (2),
-.BR restart_syscall (2),
-.BR rt_sigqueueinfo (2),
-.BR setitimer (2),
-.BR setrlimit (2),
-.BR sgetmask (2),
-.BR sigaction (2),
-.BR sigaltstack (2),
-.BR signal (2),
-.BR signalfd (2),
-.BR sigpending (2),
-.BR sigprocmask (2),
-.BR sigreturn (2),
-.BR sigsuspend (2),
-.BR sigwaitinfo (2),
-.BR abort (3),
-.BR bsd_signal (3),
-.BR killpg (3),
-.BR longjmp (3),
-.BR pthread_sigqueue (3),
-.BR raise (3),
-.BR sigqueue (3),
-.BR sigset (3),
-.BR sigsetops (3),
-.BR sigvec (3),
-.BR sigwait (3),
-.BR strsignal (3),
-.BR swapcontext (3),
-.BR sysv_signal (3),
-.BR core (5),
-.BR proc (5),
-.BR nptl (7),
-.BR pthreads (7),
-.BR sigevent (3type)
+.MR kill 1 ,
+.MR clone 2 ,
+.MR getrlimit 2 ,
+.MR kill 2 ,
+.MR pidfd_send_signal 2 ,
+.MR restart_syscall 2 ,
+.MR rt_sigqueueinfo 2 ,
+.MR setitimer 2 ,
+.MR setrlimit 2 ,
+.MR sgetmask 2 ,
+.MR sigaction 2 ,
+.MR sigaltstack 2 ,
+.MR signal 2 ,
+.MR signalfd 2 ,
+.MR sigpending 2 ,
+.MR sigprocmask 2 ,
+.MR sigreturn 2 ,
+.MR sigsuspend 2 ,
+.MR sigwaitinfo 2 ,
+.MR abort 3 ,
+.MR bsd_signal 3 ,
+.MR killpg 3 ,
+.MR longjmp 3 ,
+.MR pthread_sigqueue 3 ,
+.MR raise 3 ,
+.MR sigqueue 3 ,
+.MR sigset 3 ,
+.MR sigsetops 3 ,
+.MR sigvec 3 ,
+.MR sigwait 3 ,
+.MR strsignal 3 ,
+.MR swapcontext 3 ,
+.MR sysv_signal 3 ,
+.MR core 5 ,
+.MR proc 5 ,
+.MR nptl 7 ,
+.MR pthreads 7 ,
+.MR sigevent 3type
diff --git a/man7/sock_diag.7 b/man7/sock_diag.7
index 962c3edf3..2bf01920d 100644
--- a/man7/sock_diag.7
+++ b/man7/sock_diag.7
@@ -31,9 +31,9 @@ listening, and so on.)
.P
Note that sock_diag reports only those sockets that have a name;
that is, either sockets bound explicitly with
-.BR bind (2)
+.MR bind 2
or sockets that were automatically bound to an address (e.g., by
-.BR connect (2)).
+.MR connect 2 ).
This is the same set of sockets that is available via
.IR /proc/net/unix ,
.IR /proc/net/tcp ,
@@ -44,7 +44,7 @@ and so on.
The request starts with a
.I "struct nlmsghdr"
header described in
-.BR netlink (7)
+.MR netlink 7
with
.I nlmsg_type
field set to
@@ -96,14 +96,14 @@ header and is followed by an array of objects specific to the address family.
The array is to be accessed with the standard
.B NLMSG_*
macros from the
-.BR netlink (3)
+.MR netlink 3
API.
.P
Each object is the NLA (netlink attributes) list that is to be accessed
with the
.B RTA_*
macros from
-.BR rtnetlink (3)
+.MR rtnetlink 3
API.
.\"
.SS UNIX domain sockets
@@ -205,9 +205,9 @@ The attribute reported in answer to this request is
.BR UNIX_DIAG_ICONS .
The payload associated with this attribute is an array of __u32 values
which are inode numbers of sockets that has passed the
-.BR connect (2)
+.MR connect 2
call, but hasn't been processed with
-.BR accept (2)
+.MR accept 2
yet.
This attribute is reported for listening sockets only.
.TP
@@ -242,7 +242,7 @@ the amount of data in incoming queue.
.I udiag_wqueue
For listening sockets:
the backlog length which equals to the value passed as the second argument to
-.BR listen (2).
+.MR listen 2 .
.IP
For established sockets:
the amount of memory available for sending.
@@ -259,7 +259,7 @@ The following attributes are reported back without any specific request:
.B UNIX_DIAG_SHUTDOWN
The payload associated with this attribute is __u8 value which represents
bits of
-.BR shutdown (2)
+.MR shutdown 2
state.
.RE
.TP
@@ -819,7 +819,7 @@ main(void)
}
.EE
.SH SEE ALSO
-.BR netlink (3),
-.BR rtnetlink (3),
-.BR netlink (7),
-.BR tcp (7)
+.MR netlink 3 ,
+.MR rtnetlink 3 ,
+.MR netlink 7 ,
+.MR tcp 7
diff --git a/man7/socket.7 b/man7/socket.7
index 3ff8fe51b..479dc5c1c 100644
--- a/man7/socket.7
+++ b/man7/socket.7
@@ -73,89 +73,89 @@ such as
or
.BR SOCK_DGRAM .
See
-.BR socket (2)
+.MR socket 2
for more information on families and types.
.SS Socket-layer functions
These functions are used by the user process to send or receive packets
and to do other socket operations.
For more information, see their respective manual pages.
.P
-.BR socket (2)
+.MR socket 2
creates a socket,
-.BR connect (2)
+.MR connect 2
connects a socket to a remote socket address,
the
-.BR bind (2)
+.MR bind 2
function binds a socket to a local socket address,
-.BR listen (2)
+.MR listen 2
tells the socket that new connections shall be accepted, and
-.BR accept (2)
+.MR accept 2
is used to get a new socket with a new incoming connection.
-.BR socketpair (2)
+.MR socketpair 2
returns two connected anonymous sockets (implemented only for a few
local families like
.BR AF_UNIX )
.P
-.BR send (2),
-.BR sendto (2),
+.MR send 2 ,
+.MR sendto 2 ,
and
-.BR sendmsg (2)
+.MR sendmsg 2
send data over a socket, and
-.BR recv (2),
-.BR recvfrom (2),
-.BR recvmsg (2)
+.MR recv 2 ,
+.MR recvfrom 2 ,
+.MR recvmsg 2
receive data from a socket.
-.BR poll (2)
+.MR poll 2
and
-.BR select (2)
+.MR select 2
wait for arriving data or a readiness to send data.
In addition, the standard I/O operations like
-.BR write (2),
-.BR writev (2),
-.BR sendfile (2),
-.BR read (2),
+.MR write 2 ,
+.MR writev 2 ,
+.MR sendfile 2 ,
+.MR read 2 ,
and
-.BR readv (2)
+.MR readv 2
can be used to read and write data.
.P
-.BR getsockname (2)
+.MR getsockname 2
returns the local socket address and
-.BR getpeername (2)
+.MR getpeername 2
returns the remote socket address.
-.BR getsockopt (2)
+.MR getsockopt 2
and
-.BR setsockopt (2)
+.MR setsockopt 2
are used to set or get socket layer or protocol options.
-.BR ioctl (2)
+.MR ioctl 2
can be used to set or read some other options.
.P
-.BR close (2)
+.MR close 2
is used to close a socket.
-.BR shutdown (2)
+.MR shutdown 2
closes parts of a full-duplex socket connection.
.P
Seeking, or calling
-.BR pread (2)
+.MR pread 2
or
-.BR pwrite (2)
+.MR pwrite 2
with a nonzero position is not supported on sockets.
.P
It is possible to do nonblocking I/O on sockets by setting the
.B O_NONBLOCK
flag on a socket file descriptor using
-.BR fcntl (2).
+.MR fcntl 2 .
Then all operations that would block will (usually)
return with
.B EAGAIN
(operation should be retried later);
-.BR connect (2)
+.MR connect 2
will return
.B EINPROGRESS
error.
The user can then wait for various events via
-.BR poll (2)
+.MR poll 2
or
-.BR select (2).
+.MR select 2 .
.TS
tab(:) allbox;
c s s
@@ -187,7 +187,7 @@ POLLIN |
POLLOUT
T}:T{
An outgoing
-.BR connect (2)
+.MR connect 2
finished.
T}
Read/Write:POLLERR:T{
@@ -210,9 +210,9 @@ T}
.TE
.P
An alternative to
-.BR poll (2)
+.MR poll 2
and
-.BR select (2)
+.MR select 2
is to let the kernel inform the application about events
via a
.B SIGIO
@@ -220,11 +220,11 @@ signal.
For that the
.B O_ASYNC
flag must be set on a socket file descriptor via
-.BR fcntl (2)
+.MR fcntl 2
and a valid signal handler for
.B SIGIO
must be installed via
-.BR sigaction (2).
+.MR sigaction 2 .
See the
.I Signals
discussion below.
@@ -237,11 +237,11 @@ integer "family" field (typed as
that indicates the type of the address structure.
This allows
the various system calls (e.g.,
-.BR connect (2),
-.BR bind (2),
-.BR accept (2),
-.BR getsockname (2),
-.BR getpeername (2)),
+.MR connect 2 ,
+.MR bind 2 ,
+.MR accept 2 ,
+.MR getsockname 2 ,
+.MR getpeername 2 ),
which are generic to all socket domains,
to determine the domain of a particular socket address.
.P
@@ -278,9 +278,9 @@ in a generic way
(e.g., programs that must deal with both IPv4 and IPv6 socket addresses).
.SS Socket options
The socket options listed below can be set by using
-.BR setsockopt (2)
+.MR setsockopt 2
and read with
-.BR getsockopt (2)
+.MR getsockopt 2
with the socket level set to
.B SOL_SOCKET
for all sockets.
@@ -298,7 +298,7 @@ is a pointer to an
.B SO_ACCEPTCONN
Returns a value indicating whether or not this socket has been marked
to accept connections with
-.BR listen (2).
+.MR listen 2 .
The value 0 indicates that this is not a listening socket,
the value 1 indicates that this is a listening socket.
This socket option is read-only.
@@ -337,7 +337,7 @@ struct sock_fprog {
The argument for
.B SO_ATTACH_BPF
is a file descriptor returned by the
-.BR bpf (2)
+.MR bpf 2
system call and must refer to a program of type
.BR BPF_PROG_TYPE_SOCKET_FILTER .
.IP
@@ -374,13 +374,13 @@ mechanism.
.IP
Sockets are numbered in the order in which they are added to the group
(that is, the order of
-.BR bind (2)
+.MR bind 2
calls for UDP sockets or the order of
-.BR listen (2)
+.MR listen 2
calls for TCP sockets).
New sockets added to a reuseport group will inherit the BPF program.
When a socket is removed from a reuseport group (via
-.BR close (2)),
+.MR close 2 ),
the last socket in the group will be moved into the closed socket's
position.
.IP
@@ -414,12 +414,12 @@ Note that this works only for some socket types, particularly
.B AF_INET
sockets.
It is not supported for packet sockets (use normal
-.BR bind (2)
+.MR bind 2
there).
.IP
Before Linux 3.8,
this socket option could be set, but could not retrieved with
-.BR getsockopt (2).
+.MR getsockopt 2 .
Since Linux 3.8, it is readable.
The
.I optlen
@@ -470,7 +470,7 @@ The option value is ignored.
Retrieves the socket domain as an integer, returning a value such as
.BR AF_INET6 .
See
-.BR socket (2)
+.MR socket 2
for details.
This socket option is read-only.
.TP
@@ -484,7 +484,7 @@ Don't send via a gateway, send only to directly connected hosts.
The same effect can be achieved by setting the
.B MSG_DONTROUTE
flag on a socket
-.BR send (2)
+.MR send 2
operation.
Expects an integer boolean flag.
.TP
@@ -566,15 +566,15 @@ struct linger {
.in
.IP
When enabled, a
-.BR close (2)
+.MR close 2
or
-.BR shutdown (2)
+.MR shutdown 2
will not return until all queued messages for the socket have been
successfully sent or the linger timeout has been reached.
Otherwise,
the call returns immediately and the closing is done in the background.
When the socket is closed as part of
-.BR exit (2),
+.MR exit 2 ,
it always lingers in the background.
.TP
.B SO_LOCK_FILTER
@@ -637,21 +637,21 @@ Enable or disable the receiving of the
.B SCM_CREDENTIALS
control message.
For more information, see
-.BR unix (7).
+.MR unix 7 .
.TP
.B SO_PASSSEC
Enable or disable the receiving of the
.B SCM_SECURITY
control message.
For more information, see
-.BR unix (7).
+.MR unix 7 .
.TP
.BR SO_PEEK_OFF " (since Linux 3.4)"
.\" commit ef64a54f6e558155b4f149bb10666b9e914b6c54
This option, which is currently supported only for
-.BR unix (7)
+.MR unix 7
sockets, sets the value of the "peek offset" for the
-.BR recv (2)
+.MR recv 2
system call when used with
.B MSG_PEEK
flag.
@@ -659,7 +659,7 @@ flag.
When this option is set to a negative value
(it is set to \-1 for all new sockets),
traditional behavior is provided:
-.BR recv (2)
+.MR recv 2
with the
.B MSG_PEEK
flag will peek data from the front of the queue.
@@ -672,7 +672,7 @@ incremented by the number of bytes that were peeked from the queue,
so that a subsequent peek will return the next data in the queue.
.IP
If data is removed from the front of the queue via a call to
-.BR recv (2)
+.MR recv 2
(or similar) without the
.B MSG_PEEK
flag, the "peek offset" will be decreased by the number of bytes removed.
@@ -699,7 +699,7 @@ aabbccddeeff
.in
.IP
The following sequence of
-.BR recv (2)
+.MR recv 2
calls would have the effect noted in the comments:
.IP
.in +4n
@@ -717,14 +717,14 @@ recv(fd, buf, 2, MSG_PEEK); // Peeks "ee"; offset set to 8
.B SO_PEERCRED
Return the credentials of the peer process connected to this socket.
For further details, see
-.BR unix (7).
+.MR unix 7 .
.TP
.BR SO_PEERSEC " (since Linux 2.6.2)"
Return the security context of the peer socket connected to this socket.
For further details, see
-.BR unix (7)
+.MR unix 7
and
-.BR ip (7).
+.MR ip 7 .
.TP
.B SO_PRIORITY
Set the protocol-defined priority for all packets to be sent on
@@ -743,7 +743,7 @@ capability.
Retrieves the socket protocol as an integer, returning a value such as
.BR IPPROTO_SCTP .
See
-.BR socket (2)
+.MR socket 2
for details.
This socket option is read-only.
.TP
@@ -752,9 +752,9 @@ Sets or gets the maximum socket receive buffer in bytes.
The kernel doubles this value (to allow space for bookkeeping overhead)
when it is set using
.\" Most (all?) other implementations do not do this -- MTK, Dec 05
-.BR setsockopt (2),
+.MR setsockopt 2 ,
and this doubled value is returned by
-.BR getsockopt (2).
+.MR getsockopt 2 .
.\" The following thread on LMKL is quite informative:
.\" getsockopt/setsockopt with SO_RCVBUF and SO_SNDBUF "non-standard" behavior
.\" 17 July 2012
@@ -793,10 +793,10 @@ only since Linux 2.4.
.IP
Before Linux 2.6.28
.\" Tested on kernel 2.6.14 -- mtk, 30 Nov 05
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
and
-.BR epoll (7)
+.MR epoll 7
did not respect the
.B SO_RCVLOWAT
setting on Linux,
@@ -807,10 +807,10 @@ A subsequent read from the socket would then block until
bytes are available.
Since Linux 2.6.28,
.\" commit c7004482e8dcb7c3c72666395cfa98a216a4fb70
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
and
-.BR epoll (7)
+.MR epoll 7
indicate a socket as readable only if at least
.B SO_RCVLOWAT
bytes are available.
@@ -835,28 +835,28 @@ or
or
.B EINPROGRESS
(for
-.BR connect (2))
+.MR connect 2 )
just as if the socket was specified to be nonblocking.
If the timeout is set to zero (the default),
then the operation will never timeout.
Timeouts only have effect for system calls that perform socket I/O (e.g.,
-.BR accept (2),
-.BR connect (2),
-.BR read (2),
-.BR recvmsg (2),
-.BR send (2),
-.BR sendmsg (2));
+.MR accept 2 ,
+.MR connect 2 ,
+.MR read 2 ,
+.MR recvmsg 2 ,
+.MR send 2 ,
+.MR sendmsg 2 );
timeouts have no effect for
-.BR select (2),
-.BR poll (2),
-.BR epoll_wait (2),
+.MR select 2 ,
+.MR poll 2 ,
+.MR epoll_wait 2 ,
and so on.
.TP
.B SO_REUSEADDR
.\" commit c617f398edd4db2b8567a28e899a88f8f574798d
.\" https://lwn.net/Articles/542629/
Indicates that the rules used in validating addresses supplied in a
-.BR bind (2)
+.MR bind 2
call should allow reuse of local addresses.
For
.B AF_INET
@@ -877,7 +877,7 @@ or
sockets to be bound to an identical socket address.
This option must be set on each socket (including the first socket)
prior to calling
-.BR bind (2)
+.MR bind 2
on the socket.
To prevent port hijacking,
all of the processes binding to the same address must have the same
@@ -885,15 +885,15 @@ effective UID.
This option can be employed with both TCP and UDP sockets.
.IP
For TCP sockets, this option allows
-.BR accept (2)
+.MR accept 2
load distribution in a multi-threaded server to be improved by
using a distinct listener socket for each thread.
This provides improved load distribution as compared
to traditional techniques such using a single
-.BR accept (2)ing
+.MR accept 2 ing
thread that distributes connections,
or having multiple threads that compete to
-.BR accept (2)
+.MR accept 2
from the same socket.
.IP
For UDP sockets,
@@ -915,9 +915,9 @@ When this option is set on a socket,
an error condition on a socket causes notification not only via the
.I exceptfds
set of
-.BR select (2).
+.MR select 2 .
Similarly,
-.BR poll (2)
+.MR poll 2
also returns a
.B POLLPRI
whenever an
@@ -931,7 +931,7 @@ occurred only via the
and
.I writefds
sets of
-.BR select (2).
+.MR select 2 .
The option was added to allow monitoring for error conditions via the
.I exceptfds
argument without simultaneously having to receive notifications (via
@@ -950,9 +950,9 @@ The kernel doubles this value (to allow space for bookkeeping overhead)
when it is set using
.\" Most (all?) other implementations do not do this -- MTK, Dec 05
.\" See also the comment to SO_RCVBUF (17 Jul 2012 LKML mail)
-.BR setsockopt (2),
+.MR setsockopt 2 ,
and this doubled value is returned by
-.BR getsockopt (2).
+.MR getsockopt 2 .
The default value is set by the
.I /proc/sys/net/core/wmem_default
file and the maximum allowed value is set by the
@@ -986,7 +986,7 @@ field is a
indicating the
reception time of the last packet passed to the user in this call.
See
-.BR cmsg (3)
+.MR cmsg 3
for details on control messages.
.TP
.BR SO_TIMESTAMPNS " (since Linux 2.6.22)"
@@ -1009,7 +1009,7 @@ reception time of the last packet passed to the user in this call.
The clock used for the timestamp is
.BR CLOCK_REALTIME .
See
-.BR cmsg (3)
+.MR cmsg 3
for details on control messages.
.IP
A socket cannot mix
@@ -1035,9 +1035,9 @@ file.
The value in the
.I /proc/sys/net/core/busy_poll
file determines how long
-.BR select (2)
+.MR select 2
and
-.BR poll (2)
+.MR poll 2
will busy poll when they operate on sockets with
.B SO_BUSY_POLL
set and no events to report are found.
@@ -1063,27 +1063,27 @@ flag.
.P
When requested with the
.B FIOSETOWN
-.BR fcntl (2)
+.MR fcntl 2
or
.B SIOCSPGRP
-.BR ioctl (2),
+.MR ioctl 2 ,
.B SIGIO
is sent when an I/O event occurs.
It is possible to use
-.BR poll (2)
+.MR poll 2
or
-.BR select (2)
+.MR select 2
in the signal handler to find out which socket the event occurred on.
An alternative (in Linux 2.2) is to set a real-time signal using the
.B F_SETSIG
-.BR fcntl (2);
+.MR fcntl 2 ;
the handler of the real time signal will be called with
the file descriptor in the
.I si_fd
field of its
.IR siginfo_t .
See
-.BR fcntl (2)
+.MR fcntl 2
for more information.
.P
Under some circumstances (e.g., multiple processes accessing a
@@ -1129,7 +1129,7 @@ per socket.
.\" netdev_fastroute is not documented because it is experimental
.SS Ioctls
These operations can be accessed using
-.BR ioctl (2):
+.MR ioctl 2 :
.P
.in +4n
.EX
@@ -1143,7 +1143,7 @@ Return a
with the receive timestamp of the last packet passed to the user.
This is useful for accurate round trip time measurements.
See
-.BR setitimer (2)
+.MR setitimer 2
for a description of
.IR "struct timeval" .
.\"
@@ -1159,7 +1159,7 @@ and
.B SO_TIMESTAMPNS
were not set, or it fails if no such packet has been received,
(i.e.,
-.BR ioctl (2)
+.MR ioctl 2
returns \-1 with
.I errno
set to
@@ -1176,7 +1176,7 @@ The argument is a pointer to a
For further details, see the description of
.B F_SETOWN
in
-.BR fcntl (2).
+.MR fcntl 2 .
.TP
.B FIOASYNC
Change the
@@ -1190,7 +1190,7 @@ is raised when a new I/O event occurs.
.IP
Argument is an integer boolean flag.
(This operation is synonymous with the use of
-.BR fcntl (2)
+.MR fcntl 2
to set the
.B O_ASYNC
flag.)
@@ -1206,18 +1206,18 @@ or 0
when none is set.
.P
Valid
-.BR fcntl (2)
+.MR fcntl 2
operations:
.TP
.B FIOGETOWN
The same as the
.B SIOCGPGRP
-.BR ioctl (2).
+.MR ioctl 2 .
.TP
.B FIOSETOWN
The same as the
.B SIOCSPGRP
-.BR ioctl (2).
+.MR ioctl 2 .
.SH VERSIONS
.B SO_BINDTODEVICE
was introduced in Linux 2.0.30.
@@ -1242,7 +1242,7 @@ Linux will allow port reuse only with the
.B SO_REUSEADDR
option
when this option was set both in the previous program that performed a
-.BR bind (2)
+.MR bind 2
to the port and in the program that wants to reuse the port.
This differs from some implementations (e.g., FreeBSD)
where only the later program needs to set the
@@ -1253,20 +1253,20 @@ program is designed to always set this option.
.\" .SH AUTHORS
.\" This man page was written by Andi Kleen.
.SH SEE ALSO
-.BR wireshark (1),
-.BR bpf (2),
-.BR connect (2),
-.BR getsockopt (2),
-.BR setsockopt (2),
-.BR socket (2),
-.BR pcap (3),
-.BR address_families (7),
-.BR capabilities (7),
-.BR ddp (7),
-.BR ip (7),
-.BR ipv6 (7),
-.BR packet (7),
-.BR tcp (7),
-.BR udp (7),
-.BR unix (7),
-.BR tcpdump (8)
+.MR wireshark 1 ,
+.MR bpf 2 ,
+.MR connect 2 ,
+.MR getsockopt 2 ,
+.MR setsockopt 2 ,
+.MR socket 2 ,
+.MR pcap 3 ,
+.MR address_families 7 ,
+.MR capabilities 7 ,
+.MR ddp 7 ,
+.MR ip 7 ,
+.MR ipv6 7 ,
+.MR packet 7 ,
+.MR tcp 7 ,
+.MR udp 7 ,
+.MR unix 7 ,
+.MR tcpdump 8
diff --git a/man7/spufs.7 b/man7/spufs.7
index 8f347d16f..6ad4ef550 100644
--- a/man7/spufs.7
+++ b/man7/spufs.7
@@ -22,7 +22,7 @@ The filesystem provides a name space similar to POSIX shared
memory or message queues.
Users that have write permissions
on the filesystem can use
-.BR spu_create (2)
+.MR spu_create 2
to establish SPU contexts under the
.B spufs
root directory.
@@ -50,9 +50,9 @@ The default is 0775.
The files in
.B spufs
mostly follow the standard behavior for regular system calls like
-.BR read (2)
+.MR read 2
or
-.BR write (2),
+.MR write 2 ,
but often support only a subset of the operations
supported on regular filesystems.
This list details the supported
@@ -60,17 +60,17 @@ operations and the deviations from the standard behavior described
in the respective man pages.
.P
All files that support the
-.BR read (2)
+.MR read 2
operation also support
-.BR readv (2)
+.MR readv 2
and all files that support the
-.BR write (2)
+.MR write 2
operation also support
-.BR writev (2).
+.MR writev 2 .
All files support the
-.BR access (2)
+.MR access 2
and
-.BR stat (2)
+.MR stat 2
family of operations, but for the latter call,
the only fields of the returned
.I stat
@@ -82,11 +82,11 @@ and
.IR st_gid .
.P
All files support the
-.BR chmod (2)/\c
-.BR fchmod (2)
+.MR chmod 2 /\c
+.MR fchmod 2
and
-.BR chown (2)/\c
-.BR fchown (2)
+.MR chown 2 /\c
+.MR fchown 2
operations, but will not be able to grant permissions that contradict
the possible operations (e.g., read access on the
.I wbox
@@ -119,26 +119,26 @@ The possible operations on an open
file are:
.RS
.TP
-.BR read (2)
+.MR read 2
.TQ
-.BR pread (2)
+.MR pread 2
.TQ
-.BR write (2)
+.MR write 2
.TQ
-.BR pwrite (2)
+.MR pwrite 2
.TQ
-.BR lseek (2)
+.MR lseek 2
These operate as usual, with the exception that
-.BR lseek (2),
-.BR write (2),
+.MR lseek 2 ,
+.MR write 2 ,
and
-.BR pwrite (2)
+.MR pwrite 2
are not supported beyond the end of the file.
The file size
is the size of the local storage of the SPU,
which is normally 256 kilobytes.
.TP
-.BR mmap (2)
+.MR mmap 2
Mapping
.I mem
into the process address space provides access to the SPU local
@@ -169,18 +169,18 @@ flag.
The first SPU-to-CPU communication mailbox.
This file is read-only and can be read in units of 4 bytes.
The file can be used only in nonblocking mode \- even
-.BR poll (2)
+.MR poll 2
cannot be used to block on this file.
The only possible operation on an open
.I mbox
file is:
.RS
.TP
-.BR read (2)
+.MR read 2
If
.I count
is smaller than four,
-.BR read (2)
+.MR read 2
returns \-1 and sets
.I errno
to
@@ -199,7 +199,7 @@ the data buffer and the value four is returned.
The second SPU-to-CPU communication mailbox.
This file is similar to the first mailbox file, but can be read
in blocking I/O mode, thus calling
-.BR read (2)
+.MR read 2
on an open
.I ibox
file will block until the SPU has written data to its interrupt mailbox
@@ -207,7 +207,7 @@ channel (unless the file has been opened with
.BR O_NONBLOCK ,
see below).
Also,
-.BR poll (2)
+.MR poll 2
and similar system calls can be used to monitor for the presence
of mailbox data.
.IP
@@ -216,11 +216,11 @@ The possible operations on an open
file are:
.RS
.TP
-.BR read (2)
+.MR read 2
If
.I count
is smaller than four,
-.BR read (2)
+.MR read 2
returns \-1 and sets
.I errno
to
@@ -241,7 +241,7 @@ block until the SPU writes to its interrupt mailbox channel.
When data has been read successfully, four bytes are placed in
the data buffer and the value four is returned.
.TP
-.BR poll (2)
+.MR poll 2
Poll on the
.I ibox
file returns
@@ -253,20 +253,20 @@ whenever data is available for reading.
The CPU-to-SPU communication mailbox.
It is write-only and can be written in units of four bytes.
If the mailbox is full,
-.BR write (2)
+.MR write 2
will block, and
-.BR poll (2)
+.MR poll 2
can be used to block until the mailbox is available for writing again.
The possible operations on an open
.I wbox
file are:
.RS
.TP
-.BR write (2)
+.MR write 2
If
.I count
is smaller than four,
-.BR write (2)
+.MR write 2
returns \-1 and sets
.I errno
to
@@ -289,7 +289,7 @@ mailbox channel.
When data has been written successfully,
the system call returns four as its function result.
.TP
-.BR poll (2)
+.MR poll 2
A poll on the
.I wbox
file returns
@@ -315,11 +315,11 @@ The only possible operation on an open
file is:
.RS
.TP
-.BR read (2)
+.MR read 2
If
.I count
is smaller than four,
-.BR read (2)
+.MR read 2
returns \-1 and sets
.I errno
to
@@ -392,10 +392,10 @@ Local Store Limit Register
The possible operations on these files are:
.RS
.TP
-.BR read (2)
+.MR read 2
Reads the current register value.
If the register value is larger than the buffer passed to the
-.BR read (2)
+.MR read 2
system call, subsequent reads will continue reading from the same
buffer, until the end of the buffer is reached.
.IP
@@ -403,9 +403,9 @@ When a complete string has been read, all subsequent read operations
will return zero bytes and a new file descriptor needs to be opened
to read a new value.
.TP
-.BR write (2)
+.MR write 2
A
-.BR write (2)
+.MR write 2
operation on the file sets the register to the
value given in the string.
The string is parsed from the beginning
@@ -429,11 +429,11 @@ The operations on the
file are:
.RS
.TP
-.BR read (2)
+.MR read 2
If
.I count
is smaller than four,
-.BR read (2)
+.MR read 2
returns \-1 and sets
.I errno
to
@@ -443,11 +443,11 @@ this is the current value of the
.I fpcr
register.
.TP
-.BR write (2)
+.MR write 2
If
.I count
is smaller than four,
-.BR write (2)
+.MR write 2
returns \-1 and sets
.I errno
to
@@ -476,11 +476,11 @@ or
file are:
.RS
.TP
-.BR read (2)
+.MR read 2
If
.I count
is smaller than four,
-.BR read (2)
+.MR read 2
returns \-1 and sets
.I errno
to
@@ -489,11 +489,11 @@ Otherwise, a four-byte value is placed in the data buffer;
this is the current value of the specified signal notification
register.
.TP
-.BR write (2)
+.MR write 2
If
.I count
is smaller than four,
-.BR write (2)
+.MR write 2
returns \-1 and sets
.I errno
to
@@ -532,9 +532,9 @@ or
file are:
.RS
.TP
-.BR read (2)
+.MR read 2
When the count supplied to the
-.BR read (2)
+.MR read 2
call is shorter than the required length for the digit (plus a newline
character), subsequent reads from the same file descriptor will
complete the string.
@@ -542,9 +542,9 @@ When a complete string has been read, all subsequent read operations
will return zero bytes and a new file descriptor needs to be opened
to read the value again.
.TP
-.BR write (2)
+.MR write 2
A
-.BR write (2)
+.MR write 2
operation on the file sets the register to the
value given in the string.
The string is parsed from the beginning
@@ -655,13 +655,13 @@ registers, as an ASCII string.
The following operations are supported:
.RS
.TP
-.BR read (2)
+.MR read 2
Reads from the
.I cntl
file will return an ASCII string with the hex
value of the SPU Status register.
.TP
-.BR write (2)
+.MR write 2
Writes to the
.I cntl
file will set the context's SPU Run Control register.
@@ -675,7 +675,7 @@ writing to the file initiates a DMA from the MFC.
The following operations are supported:
.RS
.TP
-.BR write (2)
+.MR write 2
Writes to this file need to be in the format of a MFC DMA command,
defined as follows:
.IP
@@ -699,7 +699,7 @@ bytes in size.
The command will be sent to the SPU's MFC proxy queue, and the
tag stored in the kernel (see below).
.TP
-.BR read (2)
+.MR read 2
Reads the contents of the tag status register.
If the file is opened in blocking mode (i.e., without
.BR O_NONBLOCK ),
@@ -708,9 +708,9 @@ DMA tag (as performed by a previous write) is complete.
In nonblocking mode,
the MFC tag status register will be returned without waiting.
.TP
-.BR poll (2)
+.MR poll 2
Calling
-.BR poll (2)
+.MR poll 2
on the
.I mfc
file will block until a new DMA can be
@@ -724,12 +724,12 @@ has been completed.
.I /mss
Provides access to the MFC MultiSource Synchronization (MSS) facility.
By
-.BR mmap (2)-ing
+.MR mmap 2 -ing
this file, processes can access the MSS area of the SPU.
.IP
The following operations are supported:
.TP
-.BR mmap (2)
+.MR mmap 2
Mapping
.B mss
into the process address space gives access to the SPU MSS area
@@ -748,7 +748,7 @@ writing to individual register files in
The following operations are supported:
.RS
.TP
-.BR mmap (2)
+.MR mmap 2
Mapping
.B psmap
gives a process a direct map of the SPU problem state area.
@@ -772,22 +772,22 @@ This ID is later used by profiling tools to uniquely identify
the context.
.RS
.TP
-.BR write (2)
+.MR write 2
By writing an ASCII hex value into this file, applications can set the
object ID of the SPU context.
Any previous value of the object ID is overwritten.
.TP
-.BR read (2)
+.MR read 2
Reading this file gives an ASCII hex string representing the object ID
for this SPU context.
.RE
.SH EXAMPLES
To automatically
-.BR mount (8)
+.MR mount 8
the SPU filesystem when booting, at the location
.I /spu
chosen by the user, put this line into the
-.BR fstab (5)
+.MR fstab 5
configuration file:
.EX
none /spu spufs gid=spu 0 0
@@ -796,9 +796,9 @@ none /spu spufs gid=spu 0 0
.\" Arnd Bergmann <arndb@de.ibm.com>, Mark Nutter <mnutter@us.ibm.com>,
.\" Ulrich Weigand <Ulrich.Weigand@de.ibm.com>, Jeremy Kerr <jk@ozlabs.org>
.SH SEE ALSO
-.BR close (2),
-.BR spu_create (2),
-.BR spu_run (2),
-.BR capabilities (7)
+.MR close 2 ,
+.MR spu_create 2 ,
+.MR spu_run 2 ,
+.MR capabilities 7
.P
.I The Cell Broadband Engine Architecture (CBEA) specification
diff --git a/man7/standards.7 b/man7/standards.7
index 06a9f0cec..448e82ce1 100644
--- a/man7/standards.7
+++ b/man7/standards.7
@@ -296,12 +296,12 @@ manual pages under sections 0p (header files), 1p (commands),
and 3p (functions);
thus one can write "man 3p open".
.SH SEE ALSO
-.BR getconf (1),
-.BR confstr (3),
-.BR pathconf (3),
-.BR sysconf (3),
-.BR attributes (7),
-.BR feature_test_macros (7),
-.BR libc (7),
-.BR posixoptions (7),
-.BR system_data_types (7)
+.MR getconf 1 ,
+.MR confstr 3 ,
+.MR pathconf 3 ,
+.MR sysconf 3 ,
+.MR attributes 7 ,
+.MR feature_test_macros 7 ,
+.MR libc 7 ,
+.MR posixoptions 7 ,
+.MR system_data_types 7
diff --git a/man7/string_copying.7 b/man7/string_copying.7
index 281fff8be..d55eea636 100644
--- a/man7/string_copying.7
+++ b/man7/string_copying.7
@@ -201,7 +201,7 @@ compiler warnings,
static analyzers, and
.B \%_FORTIFY_SOURCE
(see
-.BR ftm (7)).
+.MR ftm 7 ).
Keeping the code simple
helps these overflow-detection features be more precise.
.P
@@ -219,14 +219,14 @@ Functions that truncate:
.IP \[bu]
.BR strtcpy ()
.IP \[bu]
-.BR strlcpy (3bsd)
+.MR strlcpy 3bsd
and
-.BR strlcat (3bsd)
+.MR strlcat 3bsd
are similar, but have important performance problems; see BUGS.
.IP \[bu]
-.BR stpncpy (3)
+.MR stpncpy 3
and
-.BR strncpy (3)
+.MR strncpy 3
also truncate, but they don't write strings,
but rather null-padded character sequences.
.\" ----- DESCRIPTION :: Null-padded character sequences --------------/
@@ -234,35 +234,35 @@ but rather null-padded character sequences.
For historic reasons,
some standard APIs and file formats,
such as
-.BR utmpx (5)
+.MR utmpx 5
and
-.BR tar (1),
+.MR tar 1 ,
use null-padded character sequences in fixed-size buffers.
To interface with them,
specialized functions need to be used.
.P
To copy bytes from strings into these buffers, use
-.BR strncpy (3)
+.MR strncpy 3
or
-.BR stpncpy (3).
+.MR stpncpy 3 .
.P
To read a null-padded character sequence,
use
.IR "strnlen(src,\ NITEMS(src))" ,
and then you can treat it as a known-length character sequence;
or use
-.BR strncat (3)
+.MR strncat 3
directly.
.\" ----- DESCRIPTION :: Known-length character sequences -----------------/
.SS Known-length character sequences
The simplest character sequence copying function is
-.BR mempcpy (3).
+.MR mempcpy 3 .
It requires always knowing the length of your character sequences,
for which structures can be used.
It makes the code much faster,
since you always know the length of your character sequences,
and can do the minimal copies and length measurements.
-.BR mempcpy (3)
+.MR mempcpy 3
copies character sequences,
so you need to explicitly set the terminating null character
if you need a string.
@@ -281,14 +281,14 @@ so programs that use character sequences
will have to take care of differentiating strings from character sequences.
.P
To copy a known-length character sequence, use
-.BR mempcpy (3).
+.MR mempcpy 3 .
.P
To copy a known-length character sequence into a string, use
.IR "\%stpcpy(mempcpy(dst,\ src,\ len),\ \[dq]\[dq])" .
.P
A string is also accepted as input,
because
-.BR mempcpy (3)
+.MR mempcpy 3
asks for the length,
and a string is composed of a character sequence of the same length
plus a terminating null character.
@@ -307,17 +307,17 @@ holds a string before the call.
List of functions:
.IP \[bu] 3
.PD 0
-.BR stpcpy (3)
+.MR stpcpy 3
.IP \[bu]
-.BR strcpy (3),
-.BR strcat (3)
+.MR strcpy 3 ,
+.MR strcat 3
.IP \[bu]
.BR stpecpy ()
.IP \[bu]
.BR strtcpy ()
.IP \[bu]
-.BR strlcpy (3bsd),
-.BR strlcat (3bsd)
+.MR strlcpy 3bsd ,
+.MR strlcat 3bsd
.PD
.P
Other functions require an input string,
@@ -327,9 +327,9 @@ and have a long history of misuse.
List of functions:
.IP \[bu] 3
.PD 0
-.BR stpncpy (3)
+.MR stpncpy 3
.IP \[bu]
-.BR strncpy (3)
+.MR strncpy 3
.PD
.P
Other functions operate on an input character sequence,
@@ -338,35 +338,35 @@ Functions that catenate
also require that
.I dst
holds a string before the call.
-.BR strncat (3)
+.MR strncat 3
has an even more misleading name than the functions above.
List of functions:
.IP \[bu] 3
-.BR strncat (3)
+.MR strncat 3
.P
Other functions operate on an input character sequence
to create an output character sequence.
List of functions:
.IP \[bu] 3
-.BR mempcpy (3)
+.MR mempcpy 3
.\" ----- DESCRIPTION :: Functions :: ---------------------------------/
.SS Functions
.\" ----- DESCRIPTION :: Functions :: stpcpy(3) -----------------------/
.TP
-.BR stpcpy (3)
+.MR stpcpy 3
Copy the input string into a destination string.
The programmer is responsible for allocating a buffer large enough.
It returns a pointer suitable for chaining.
.\" ----- DESCRIPTION :: Functions :: strcpy(3), strcat(3) ------------/
.TP
-.BR strcpy (3)
+.MR strcpy 3
.TQ
-.BR strcat (3)
+.MR strcat 3
Copy and catenate the input string into a destination string.
The programmer is responsible for allocating a buffer large enough.
The return value is useless.
.IP
-.BR stpcpy (3)
+.MR stpcpy 3
is a faster alternative to these functions.
.\" ----- DESCRIPTION :: Functions :: stpecpy() -----------------------/
.TP
@@ -396,9 +396,9 @@ This function is not provided by any library;
see EXAMPLES for a reference implementation.
.\" ----- DESCRIPTION :: Functions :: strlcpy(3bsd), strlcat(3bsd) ----/
.TP
-.BR strlcpy (3bsd)
+.MR strlcpy 3bsd
.TQ
-.BR strlcat (3bsd)
+.MR strlcat 3bsd
Copy and catenate the input string into a destination string.
If the destination buffer,
limited by its size,
@@ -415,7 +415,7 @@ and
are better alternatives to these functions.
.\" ----- DESCRIPTION :: Functions :: stpncpy(3) ----------------------/
.TP
-.BR stpncpy (3)
+.MR stpncpy 3
Copy the input string into
a destination null-padded character sequence in a fixed-size buffer.
If the destination buffer,
@@ -431,16 +431,16 @@ comparing the length of the input string
with the size of the destination buffer.
.\" ----- DESCRIPTION :: Functions :: strncpy(3) ----------------------/
.TP
-.BR strncpy (3)
+.MR strncpy 3
This function is identical to
-.BR stpncpy (3)
+.MR stpncpy 3
except for the useless return value.
.IP
-.BR stpncpy (3)
+.MR stpncpy 3
is a more useful alternative to this function.
.\" ----- DESCRIPTION :: Functions :: strncat(3) ----------------------/
.TP
-.BR strncat (3)
+.MR strncat 3
Catenate the input character sequence,
contained in a null-padded fixed-size buffer,
into a destination string.
@@ -448,14 +448,14 @@ The programmer is responsible for allocating a buffer large enough.
The return value is useless.
.IP
Do not confuse this function with
-.BR strncpy (3);
+.MR strncpy 3 ;
they are not related at all.
.IP
.I \%stpcpy(mempcpy(dst,\ src,\ strnlen(src,\ NITEMS(src))),\ \[dq]\[dq])
is a faster alternative to this function.
.\" ----- DESCRIPTION :: Functions :: mempcpy(3) ----------------------/
.TP
-.BR mempcpy (3)
+.MR mempcpy 3
Copy the input character sequence,
limited by its length,
into a destination character sequence.
@@ -464,7 +464,7 @@ It returns a pointer suitable for chaining.
.\" ----- RETURN VALUE :: ---------------------------------------------/
.SH RETURN VALUE
.TP
-.BR stpcpy (3)
+.MR stpcpy 3
A pointer to the terminating null character in the destination string.
.TP
.BR stpecpy ()
@@ -476,9 +476,9 @@ and
.I errno
is set to indicate the error.
.TP
-.BR mempcpy (3)
+.MR mempcpy 3
.TQ
-.BR stpncpy (3)
+.MR stpncpy 3
A pointer to one after the last character
in the destination character sequence.
.TP
@@ -491,19 +491,19 @@ and
.I errno
is set to indicate the error.
.TP
-.BR strlcpy (3bsd)
+.MR strlcpy 3bsd
.TQ
-.BR strlcat (3bsd)
+.MR strlcat 3bsd
The length of the total string that they tried to create
(as if truncation didn't occur).
.TP
-.BR strcpy (3)
+.MR strcpy 3
.TQ
-.BR strcat (3)
+.MR strcat 3
.TQ
-.BR strncpy (3)
+.MR strncpy 3
.TQ
-.BR strncat (3)
+.MR strncat 3
The
.I dst
pointer,
@@ -529,7 +529,7 @@ The string has been truncated.
.\" ----- NOTES :: strscpy(9) -----------------------------------------/
.SH NOTES
The Linux kernel has an internal function for copying strings,
-.BR strscpy (9),
+.MR strscpy 9 ,
which is identical to
.BR strtcpy (),
except that it returns
@@ -559,9 +559,9 @@ since
.I strlen(dst)
is usually a byproduct of the previous copy.
.P
-.BR strlcpy (3)
+.MR strlcpy 3
and
-.BR strlcat (3)
+.MR strlcat 3
need to read the entire
.I src
string,
@@ -577,7 +577,7 @@ they're still unnecessarily slow.
The following are examples of correct use of each of these functions.
.\" ----- EXAMPLES :: stpcpy(3) ---------------------------------------/
.TP
-.BR stpcpy (3)
+.MR stpcpy 3
.EX
p = buf;
p = stpcpy(p, "Hello ");
@@ -588,9 +588,9 @@ puts(buf);
.EE
.\" ----- EXAMPLES :: strcpy(3), strcat(3) ----------------------------/
.TP
-.BR strcpy (3)
+.MR strcpy 3
.TQ
-.BR strcat (3)
+.MR strcat 3
.EX
strcpy(buf, "Hello ");
strcat(buf, "world");
@@ -625,9 +625,9 @@ puts(buf);
.EE
.\" ----- EXAMPLES :: strlcpy(3bsd), strlcat(3bsd) --------------------/
.TP
-.BR strlcpy (3bsd)
+.MR strlcpy 3bsd
.TQ
-.BR strlcat (3bsd)
+.MR strlcat 3bsd
.EX
if (strlcpy(buf, "Hello ", NITEMS(buf)) >= NITEMS(buf))
goto toolong;
@@ -640,7 +640,7 @@ puts(buf);
.EE
.\" ----- EXAMPLES :: stpncpy(3) --------------------------------------/
.TP
-.BR stpncpy (3)
+.MR stpncpy 3
.EX
p = stpncpy(u->ut_user, "alx", NITEMS(u->ut_user));
if (NITEMS(u->ut_user) < strlen("alx"))
@@ -650,7 +650,7 @@ fwrite(u->ut_user, 1, len, stdout);
.EE
.\" ----- EXAMPLES :: strncpy(3) --------------------------------------/
.TP
-.BR strncpy (3)
+.MR strncpy 3
.EX
strncpy(u->ut_user, "alx", NITEMS(u->ut_user));
if (NITEMS(u->ut_user) < strlen("alx"))
@@ -681,7 +681,7 @@ puts(buf);
.EE
.\" ----- EXAMPLES :: strncat(3) --------------------------------------/
.TP
-.BR strncat (3)
+.MR strncat 3
.EX
char buf[NITEMS(u->ut_user) + 1];
strcpy(buf, "");
@@ -691,7 +691,7 @@ puts(buf);
.EE
.\" ----- EXAMPLES :: mempcpy(3) --------------------------------------/
.TP
-.BR mempcpy (3)
+.MR mempcpy 3
.EX
p = buf;
p = mempcpy(p, "Hello ", 6);
@@ -756,12 +756,12 @@ ssize_t
}
.\" ----- SEE ALSO :: -------------------------------------------------/
.SH SEE ALSO
-.BR bzero (3),
-.BR memcpy (3),
-.BR memccpy (3),
-.BR mempcpy (3),
-.BR stpcpy (3),
-.BR strlcpy (3bsd),
-.BR strncat (3),
-.BR stpncpy (3),
-.BR string (3)
+.MR bzero 3 ,
+.MR memcpy 3 ,
+.MR memccpy 3 ,
+.MR mempcpy 3 ,
+.MR stpcpy 3 ,
+.MR strlcpy 3bsd ,
+.MR strncat 3 ,
+.MR stpncpy 3 ,
+.MR string 3
diff --git a/man7/suffixes.7 b/man7/suffixes.7
index 657f82cde..1013d8e9f 100644
--- a/man7/suffixes.7
+++ b/man7/suffixes.7
@@ -23,7 +23,7 @@ which (typically) consists of a period, followed by one or more letters.
Many standard utilities, such as compilers, use this to recognize the type of
file they are dealing with.
The
-.BR make (1)
+.MR make 1
utility is driven by rules based on file suffix.
.P
Following is a list of suffixes which are likely to be found on a
@@ -261,5 +261,5 @@ General UNIX conventions.
.SH BUGS
This list is not exhaustive.
.SH SEE ALSO
-.BR file (1),
-.BR make (1)
+.MR file 1 ,
+.MR make 1
diff --git a/man7/symlink.7 b/man7/symlink.7
index 5aaaee598..518f9720a 100644
--- a/man7/symlink.7
+++ b/man7/symlink.7
@@ -26,7 +26,7 @@ the same
where an inode number is an index into the inode table,
which contains metadata about all files on a filesystem.
See
-.BR stat (2).)
+.MR stat 2 .)
Changes to a file are independent of the name used to reference the file.
Hard links may not refer to directories
(to prevent the possibility of loops within the filesystem tree,
@@ -37,7 +37,7 @@ and may not refer to files on different filesystems
A symbolic link is a special type of file whose contents are a string
that is the pathname of another file, the file to which the link refers.
(The contents of a symbolic link can be read using
-.BR readlink (2).)
+.MR readlink 2 .)
In other words, a symbolic link is a pointer to another name,
and not to an underlying object.
For this reason, symbolic links may refer to directories and may cross
@@ -65,7 +65,7 @@ so that the user interface can be as consistent as possible.
There is a special class of symbolic-link-like objects
known as "magic links", which
can be found in certain pseudofilesystems such as
-.BR proc (5)
+.MR proc 5
(examples include
.IR /proc/ pid /exe
and
@@ -78,28 +78,28 @@ access files which cannot be referenced with normal paths (such as unlinked
files still referenced by a running program ).
.P
Because they can bypass ordinary
-.BR mount_namespaces (7)-based
+.MR mount_namespaces 7 -based
restrictions,
magic links have been used as attack vectors in various exploits.
.\"
.SS Symbolic link ownership, permissions, and timestamps
The owner and group of an existing symbolic link can be changed
using
-.BR lchown (2).
+.MR lchown 2 .
The ownership of a symbolic link matters
when the link is being removed or renamed in a directory that
has the sticky bit set (see
-.BR inode (7)),
+.MR inode 7 ),
and when the
.I fs.protected_symlinks
sysctl is set (see
-.BR proc (5)).
+.MR proc 5 ).
.P
The last access and last modification timestamps
of a symbolic link can be changed using
-.BR utimensat (2)
+.MR utimensat 2
or
-.BR lutimes (3).
+.MR lutimes 3 .
.P
.\" Linux does not currently implement an lchmod(2).
On Linux, the permissions of an ordinary symbolic link are not used in any
@@ -128,16 +128,16 @@ Using the combination of the
and
.B O_NOFOLLOW
flags to
-.BR open (2)
+.MR open 2
yields a file descriptor that can be passed as the
.I dirfd
argument in system calls such as
-.BR fstatat (2),
-.BR fchownat (2),
-.BR fchmodat (2),
-.BR linkat (2),
+.MR fstatat 2 ,
+.MR fchownat 2 ,
+.MR fchmodat 2 ,
+.MR linkat 2 ,
and
-.BR readlinkat (2),
+.MR readlinkat 2 ,
in order to operate on the symbolic link itself
(rather than the file to which it refers).
.P
@@ -145,7 +145,7 @@ By default
(i.e., if the
.B AT_SYMLINK_FOLLOW
flag is not specified), if
-.BR name_to_handle_at (2)
+.MR name_to_handle_at 2
is applied to a symbolic link, it yields a handle for the symbolic link
(rather than the file to which it refers).
One can then obtain a file descriptor for the symbolic link
@@ -153,7 +153,7 @@ One can then obtain a file descriptor for the symbolic link
by specifying the
.B O_PATH
flag in a subsequent call to
-.BR open_by_handle_at (2).
+.MR open_by_handle_at 2 .
Again, that file descriptor can be used in the
aforementioned system calls to operate on the symbolic link itself.
.SS Handling of symbolic links by system calls and commands
@@ -209,7 +209,7 @@ Within the dirname component of a pathname,
symbolic links are always followed in nearly every system call.
(This is also true for commands.)
The one exception is
-.BR openat2 (2),
+.MR openat2 2 ,
which provides flags that can be used to explicitly
prevent following of symbolic links in the dirname component.
.IP (2)
@@ -229,47 +229,47 @@ Various system calls do not follow links in
the basename component of a pathname,
and operate on the symbolic link itself.
They are:
-.BR lchown (2),
-.BR lgetxattr (2),
-.BR llistxattr (2),
-.BR lremovexattr (2),
-.BR lsetxattr (2),
-.BR lstat (2),
-.BR readlink (2),
-.BR rename (2),
-.BR rmdir (2),
+.MR lchown 2 ,
+.MR lgetxattr 2 ,
+.MR llistxattr 2 ,
+.MR lremovexattr 2 ,
+.MR lsetxattr 2 ,
+.MR lstat 2 ,
+.MR readlink 2 ,
+.MR rename 2 ,
+.MR rmdir 2 ,
and
-.BR unlink (2).
+.MR unlink 2 .
.P
Certain other system calls optionally follow symbolic links
in the basename component of a pathname.
They are:
-.BR faccessat (2),
+.MR faccessat 2 ,
.\" Maybe one day: .BR fchownat (2)
-.BR fchownat (2),
-.BR fstatat (2),
-.BR linkat (2),
-.BR name_to_handle_at (2),
-.BR open (2),
-.BR openat (2),
-.BR open_by_handle_at (2),
+.MR fchownat 2 ,
+.MR fstatat 2 ,
+.MR linkat 2 ,
+.MR name_to_handle_at 2 ,
+.MR open 2 ,
+.MR openat 2 ,
+.MR open_by_handle_at 2 ,
and
-.BR utimensat (2);
+.MR utimensat 2 ;
see their manual pages for details.
Because
-.BR remove (3)
+.MR remove 3
is an alias for
-.BR unlink (2),
+.MR unlink 2 ,
that library function also does not follow symbolic links.
When
-.BR rmdir (2)
+.MR rmdir 2
is applied to a symbolic link, it fails with the error
.BR ENOTDIR .
.P
-.BR link (2)
+.MR link 2
warrants special discussion.
POSIX.1-2001 specifies that
-.BR link (2)
+.MR link 2
should dereference
.I oldpath
if it is a symbolic link.
@@ -323,9 +323,9 @@ itself.
There are some exceptions to this rule:
.IP \[bu] 3
The
-.BR mv (1)
+.MR mv 1
and
-.BR rm (1)
+.MR rm 1
commands do not follow symbolic links named as arguments,
but respectively attempt to rename and delete them.
(Note, if the symbolic link references a file via a relative path,
@@ -333,15 +333,15 @@ moving it to another directory may very well cause it to stop working,
since the path may no longer be correct.)
.IP \[bu]
The
-.BR ls (1)
+.MR ls 1
command is also an exception to this rule.
For compatibility with historic systems (when
-.BR ls (1)
+.MR ls 1
is not doing a tree walk\[em]that is,
.I \-R
option is not specified),
the
-.BR ls (1)
+.MR ls 1
command follows symbolic links named as arguments if the
.I \-H
or
@@ -354,7 +354,7 @@ or
.I \-l
options are not specified.
(The
-.BR ls (1)
+.MR ls 1
command is the only command where the
.I \-H
and
@@ -363,13 +363,13 @@ options affect its behavior even though it is not doing a walk of
a file tree.)
.IP \[bu]
The
-.BR file (1)
+.MR file 1
command is also an exception to this rule.
The
-.BR file (1)
+.MR file 1
command does not follow symbolic links named as argument by default.
The
-.BR file (1)
+.MR file 1
command does follow symbolic links named as argument if the
.I \-L
option is specified.
@@ -381,17 +381,17 @@ option is specified.
.\"commands follow symbolic links specified on the command line.
.SS Commands traversing a file tree
The following commands either optionally or always traverse file trees:
-.BR chgrp (1),
-.BR chmod (1),
-.BR chown (1),
-.BR cp (1),
-.BR du (1),
-.BR find (1),
-.BR ls (1),
-.BR pax (1),
-.BR rm (1),
+.MR chgrp 1 ,
+.MR chmod 1 ,
+.MR chown 1 ,
+.MR cp 1 ,
+.MR du 1 ,
+.MR find 1 ,
+.MR ls 1 ,
+.MR pax 1 ,
+.MR rm 1 ,
and
-.BR tar (1).
+.MR tar 1 .
.P
It is important to realize that the following rules apply equally to
symbolic links encountered during the file tree traversal and symbolic
@@ -410,7 +410,7 @@ as well as any symbolic links encountered in the tree traversal of
.IR directory ,
because symbolic links may be removed.
In no case will
-.BR rm (1)
+.MR rm 1
affect the file referred to by
.IR slink .
.P
@@ -506,17 +506,17 @@ This is intended to permit you to alias commands to behave one way
or the other, and then override that behavior on the command line.
.P
The
-.BR ls (1)
+.MR ls 1
and
-.BR rm (1)
+.MR rm 1
commands have exceptions to these rules:
.IP \[bu] 3
The
-.BR rm (1)
+.MR rm 1
command operates on the symbolic link, and not the file it references,
and therefore never follows a symbolic link.
The
-.BR rm (1)
+.MR rm 1
command does not support the
.IR \-H ,
.IR \-L ,
@@ -526,7 +526,7 @@ options.
.IP \[bu]
To maintain compatibility with historic systems,
the
-.BR ls (1)
+.MR ls 1
command acts a little differently.
If you do not specify the
.IR \-F ,
@@ -534,31 +534,31 @@ If you do not specify the
or
.I \-l
options,
-.BR ls (1)
+.MR ls 1
will follow symbolic links specified on the command line.
If the
.I \-L
flag is specified,
-.BR ls (1)
+.MR ls 1
follows all symbolic links,
regardless of their type,
whether specified on the command line or encountered in the tree walk.
.SH SEE ALSO
-.BR chgrp (1),
-.BR chmod (1),
-.BR find (1),
-.BR ln (1),
-.BR ls (1),
-.BR mv (1),
-.BR namei (1),
-.BR rm (1),
-.BR lchown (2),
-.BR link (2),
-.BR lstat (2),
-.BR readlink (2),
-.BR rename (2),
-.BR symlink (2),
-.BR unlink (2),
-.BR utimensat (2),
-.BR lutimes (3),
-.BR path_resolution (7)
+.MR chgrp 1 ,
+.MR chmod 1 ,
+.MR find 1 ,
+.MR ln 1 ,
+.MR ls 1 ,
+.MR mv 1 ,
+.MR namei 1 ,
+.MR rm 1 ,
+.MR lchown 2 ,
+.MR link 2 ,
+.MR lstat 2 ,
+.MR readlink 2 ,
+.MR rename 2 ,
+.MR symlink 2 ,
+.MR unlink 2 ,
+.MR utimensat 2 ,
+.MR lutimes 3 ,
+.MR path_resolution 7
diff --git a/man7/system_data_types.7 b/man7/system_data_types.7
index 59180cff2..f13c0a6d2 100644
--- a/man7/system_data_types.7
+++ b/man7/system_data_types.7
@@ -86,17 +86,17 @@ typedef struct {
Information associated with a signal.
For further details on this structure
(including additional, Linux-specific fields), see
-.BR sigaction (2).
+.MR sigaction 2 .
.P
.IR "Conforming to" :
POSIX.1-2001 and later.
.P
.IR "See also" :
-.BR pidfd_send_signal (2),
-.BR rt_sigqueueinfo (2),
-.BR sigaction (2),
-.BR sigwaitinfo (2),
-.BR psiginfo (3)
+.MR pidfd_send_signal 2 ,
+.MR rt_sigqueueinfo 2 ,
+.MR sigaction 2 ,
+.MR sigwaitinfo 2 ,
+.MR psiginfo 3
.RE
.\"------------------------------------- sigset_t ---------------------/
.TP
@@ -116,16 +116,16 @@ According to POSIX, this shall be an integer or structure type.
POSIX.1-2001 and later.
.P
.IR "See also" :
-.BR epoll_pwait (2),
-.BR ppoll (2),
-.BR pselect (2),
-.BR sigaction (2),
-.BR signalfd (2),
-.BR sigpending (2),
-.BR sigprocmask (2),
-.BR sigsuspend (2),
-.BR sigwaitinfo (2),
-.BR signal (7)
+.MR epoll_pwait 2 ,
+.MR ppoll 2 ,
+.MR pselect 2 ,
+.MR sigaction 2 ,
+.MR signalfd 2 ,
+.MR sigpending 2 ,
+.MR sigprocmask 2 ,
+.MR sigsuspend 2 ,
+.MR sigwaitinfo 2 ,
+.MR signal 7
.RE
.\"------------------------------------- sigval -----------------------/
.\"------------------------------------- size_t -----------------------/
@@ -152,9 +152,9 @@ at least, the members shown in their definition, in no particular order.
.P
Most of the integer types described in this page don't have
a corresponding length modifier for the
-.BR printf (3)
+.MR printf 3
and the
-.BR scanf (3)
+.MR scanf 3
families of functions.
To print a value of an integer type that doesn't have a length modifier,
it should be converted to
@@ -238,5 +238,5 @@ main (void)
}
.EE
.SH SEE ALSO
-.BR feature_test_macros (7),
-.BR standards (7)
+.MR feature_test_macros 7 ,
+.MR standards 7
diff --git a/man7/sysvipc.7 b/man7/sysvipc.7
index 460ff0f04..ed7e739d8 100644
--- a/man7/sysvipc.7
+++ b/man7/sysvipc.7
@@ -15,21 +15,21 @@ System V message queues allow data to be exchanged in units called messages.
Each message can have an associated priority.
POSIX message queues provide an alternative API for achieving the same result;
see
-.BR mq_overview (7).
+.MR mq_overview 7 .
.P
The System V message queue API consists of the following system calls:
.TP
-.BR msgget (2)
+.MR msgget 2
Create a new message queue or obtain the ID of an existing message queue.
This call returns an identifier that is used in the remaining APIs.
.TP
-.BR msgsnd (2)
+.MR msgsnd 2
Add a message to a queue.
.TP
-.BR msgrcv (2)
+.MR msgrcv 2
Remove a message from a queue.
.TP
-.BR msgctl (2)
+.MR msgctl 2
Perform various control operations on a queue, including deletion.
.\"
.SS Semaphore sets
@@ -38,62 +38,62 @@ System V semaphores are allocated in groups called sets;
each semaphore in a set is a counting semaphore.
POSIX semaphores provide an alternative API for achieving the same result;
see
-.BR sem_overview (7).
+.MR sem_overview 7 .
.P
The System V semaphore API consists of the following system calls:
.TP
-.BR semget (2)
+.MR semget 2
Create a new set or obtain the ID of an existing set.
This call returns an identifier that is used in the remaining APIs.
.TP
-.BR semop (2)
+.MR semop 2
Perform operations on the semaphores in a set.
.TP
-.BR semctl (2)
+.MR semctl 2
Perform various control operations on a set, including deletion.
.\"
.SS Shared memory segments
System V shared memory allows processes to share a region a memory
(a "segment").
POSIX shared memory is an alternative API for achieving the same result; see
-.BR shm_overview (7).
+.MR shm_overview 7 .
.P
The System V shared memory API consists of the following system calls:
.TP
-.BR shmget (2)
+.MR shmget 2
Create a new segment or obtain the ID of an existing segment.
This call returns an identifier that is used in the remaining APIs.
.TP
-.BR shmat (2)
+.MR shmat 2
Attach an existing shared memory object into the calling process's
address space.
.TP
-.BR shmdt (2)
+.MR shmdt 2
Detach a segment from the calling process's address space.
.TP
-.BR shmctl (2)
+.MR shmctl 2
Perform various control operations on a segment, including deletion.
.\"
.SS IPC namespaces
For a discussion of the interaction of System V IPC objects and
IPC namespaces, see
-.BR ipc_namespaces (7).
+.MR ipc_namespaces 7 .
.SH SEE ALSO
-.BR ipcmk (1),
-.BR ipcrm (1),
-.BR ipcs (1),
-.BR lsipc (1),
-.BR ipc (2),
-.BR msgctl (2),
-.BR msgget (2),
-.BR msgrcv (2),
-.BR msgsnd (2),
-.BR semctl (2),
-.BR semget (2),
-.BR semop (2),
-.BR shmat (2),
-.BR shmctl (2),
-.BR shmdt (2),
-.BR shmget (2),
-.BR ftok (3),
-.BR ipc_namespaces (7)
+.MR ipcmk 1 ,
+.MR ipcrm 1 ,
+.MR ipcs 1 ,
+.MR lsipc 1 ,
+.MR ipc 2 ,
+.MR msgctl 2 ,
+.MR msgget 2 ,
+.MR msgrcv 2 ,
+.MR msgsnd 2 ,
+.MR semctl 2 ,
+.MR semget 2 ,
+.MR semop 2 ,
+.MR shmat 2 ,
+.MR shmctl 2 ,
+.MR shmdt 2 ,
+.MR shmget 2 ,
+.MR ftok 3 ,
+.MR ipc_namespaces 7
diff --git a/man7/tcp.7 b/man7/tcp.7
index c7b393c10..b65dd1f51 100644
--- a/man7/tcp.7
+++ b/man7/tcp.7
@@ -105,7 +105,7 @@ RFC\ 793, RFC\ 1122 and RFC\ 2001 with the NewReno and SACK
extensions.
It provides a reliable, stream-oriented,
full-duplex connection between two sockets on top of
-.BR ip (7),
+.MR ip 7 ,
for both v4 and v6 versions.
TCP guarantees that the data arrives in order and
retransmits lost packets.
@@ -116,19 +116,19 @@ TCP does not preserve record boundaries.
A newly created TCP socket has no remote or local address and is not
fully specified.
To create an outgoing TCP connection use
-.BR connect (2)
+.MR connect 2
to establish a connection to another TCP socket.
To receive new incoming connections, first
-.BR bind (2)
+.MR bind 2
the socket to a local address and port and then call
-.BR listen (2)
+.MR listen 2
to put the socket into the listening state.
After that a new socket for each incoming connection can be accepted using
-.BR accept (2).
+.MR accept 2 .
A socket which has had
-.BR accept (2)
+.MR accept 2
or
-.BR connect (2)
+.MR connect 2
successfully called on it is fully specified and may transmit data.
Data cannot be transmitted on listening or not yet connected sockets.
.P
@@ -149,7 +149,7 @@ files, or on individual sockets by using the
and
.B SO_RCVBUF
socket options with the
-.BR setsockopt (2)
+.MR setsockopt 2
call.
.P
The maximum sizes for socket buffers declared via the
@@ -163,11 +163,11 @@ and
files.
Note that TCP actually allocates twice the size of
the buffer requested in the
-.BR setsockopt (2)
+.MR setsockopt 2
call, and so a succeeding
-.BR getsockopt (2)
+.MR getsockopt 2
call will not return the same size of buffer as requested in the
-.BR setsockopt (2)
+.MR setsockopt 2
call.
TCP uses the extra space for administrative purposes and internal
kernel structures, and the
@@ -175,12 +175,12 @@ kernel structures, and the
file values reflect the
larger sizes compared to the actual TCP windows.
On individual connections, the socket buffer size must be set prior to the
-.BR listen (2)
+.MR listen 2
or
-.BR connect (2)
+.MR connect 2
calls in order to have it take effect.
See
-.BR socket (7)
+.MR socket 7
for more information.
.P
TCP supports urgent data.
@@ -190,7 +190,7 @@ stream and that it should be processed as soon as possible.
To send urgent data specify the
.B MSG_OOB
option to
-.BR send (2).
+.MR send 2 .
When urgent data is received, the kernel sends a
.B SIGURG
signal to the process or process group that has been set as the
@@ -199,7 +199,7 @@ socket "owner" using the
or
.B FIOSETOWN
ioctls (or the POSIX.1-specified
-.BR fcntl (2)
+.MR fcntl 2
.B F_SETOWN
operation).
When the
@@ -211,12 +211,12 @@ ioctl described below),
otherwise it can be received only when the
.B MSG_OOB
flag is set for
-.BR recv (2)
+.MR recv 2
or
-.BR recvmsg (2).
+.MR recvmsg 2 .
.P
When out-of-band data is present,
-.BR select (2)
+.MR select 2
indicates the file descriptor as having an exceptional condition and
.I poll (2)
indicates a
@@ -226,15 +226,15 @@ event.
Linux 2.4 introduced a number of changes for improved
throughput and scaling, as well as enhanced functionality.
Some of these features include support for zero-copy
-.BR sendfile (2),
+.MR sendfile 2 ,
Explicit Congestion Notification, new
management of TIME_WAIT sockets, keep-alive socket options
and support for Duplicate SACK extensions.
.SS Address formats
TCP is built on top of IP (see
-.BR ip (7)).
+.MR ip 7 ).
The address formats defined by
-.BR ip (7)
+.MR ip 7
apply to TCP.
TCP supports point-to-point communication only;
broadcasting and multicasting are not
@@ -245,7 +245,7 @@ System-wide TCP parameter settings can be accessed by files in the directory
In addition, most IP
.I /proc
interfaces also apply to TCP; see
-.BR ip (7).
+.MR ip 7 .
Variables described as
.I Boolean
take an integer value, with a nonzero value ("true") meaning that
@@ -335,9 +335,9 @@ The default value for this list is "reno" plus the default setting of
.\" Text heavily based on Documentation/networking/ip-sysctl.txt
If this option is enabled, the kernel tries to coalesce small writes
(from consecutive
-.BR write (2)
+.MR write 2
and
-.BR sendmsg (2)
+.MR sendmsg 2
calls) as much as possible,
in order to decrease the total number of sent packets.
Coalescing is done if at least one prior packet for the flow
@@ -1052,9 +1052,9 @@ If disabled, assume that the remote TCP is not broken even if we do
not receive a window scaling option from it.
.SS Socket options
To set or get a TCP socket option, call
-.BR getsockopt (2)
+.MR getsockopt 2
to read or
-.BR setsockopt (2)
+.MR setsockopt 2
to write the option with the option level argument set to
.BR IPPROTO_TCP .
Unless otherwise noted,
@@ -1067,12 +1067,12 @@ most
.B IPPROTO_IP
socket options are valid on TCP sockets.
For more information see
-.BR ip (7).
+.MR ip 7 .
.P
Following is a list of TCP-specific socket options.
For details of some other socket options that are also applicable
for TCP sockets, see
-.BR socket (7).
+.MR socket 7 .
.TP
.BR TCP_CONGESTION " (since Linux 2.6.13)"
.\" commit 5f8ef48d240963093451bcf83df89f1a1364f51d
@@ -1095,7 +1095,7 @@ above).
If set, don't send out partial frames.
All queued partial frames are sent when the option is cleared again.
This is useful for prepending headers before calling
-.BR sendfile (2),
+.MR sendfile 2 ,
or for throughput optimization.
As currently implemented, there is a 200 millisecond ceiling on the time
for which output is corked by
@@ -1151,7 +1151,7 @@ This option can be used to override the system-wide setting in the file
.I /proc/sys/net/ipv4/tcp_fin_timeout
for this socket.
This is not to be confused with the
-.BR socket (7)
+.MR socket 7
level option
.BR SO_LINGER .
This option should not be used in code intended to be portable.
@@ -1245,7 +1245,7 @@ The option has no effect on when TCP retransmits a packet,
nor when a keepalive probe is sent.
.IP
This option, like many others, will be inherited by the socket returned by
-.BR accept (2),
+.MR accept 2 ,
if it was set on the listening socket.
.IP
Further details on the user timeout feature can be found in
@@ -1262,14 +1262,14 @@ portable.
This option enables Fast Open (RFC\~7413) on the listener socket.
The value specifies the maximum length of pending SYNs
(similar to the backlog argument in
-.BR listen (2)).
+.MR listen 2 ).
Once enabled,
the listener socket grants the TCP Fast Open cookie
on incoming SYN with TCP Fast Open option.
.IP
More importantly it accepts the data in SYN with a valid Fast Open cookie
and responds SYN-ACK acknowledging both the data and the SYN sequence.
-.BR accept (2)
+.MR accept 2
returns a socket that is available for read and write
when the handshake has not completed yet.
Thus the data exchange can commence before the handshake completes.
@@ -1278,7 +1278,7 @@ This option requires enabling the server-side support on sysctl
(see above).
For TCP Fast Open client-side support,
see
-.BR send (2)
+.MR send 2
.B MSG_FASTOPEN
or
.B TCP_FASTOPEN_CONNECT
@@ -1288,23 +1288,23 @@ below.
This option enables an alternative way to perform Fast Open
on the active side (client).
When this option is enabled,
-.BR connect (2)
+.MR connect 2
would behave differently depending on
if a Fast Open cookie is available for the destination.
.IP
If a cookie is not available (i.e. first contact to the destination),
-.BR connect (2)
+.MR connect 2
behaves as usual by sending a SYN immediately,
except the SYN would include an empty Fast Open cookie option
to solicit a cookie.
.IP
If a cookie is available,
-.BR connect (2)
+.MR connect 2
would return 0 immediately but the SYN transmission is deferred.
A subsequent
-.BR write (2)
+.MR write 2
or
-.BR sendmsg (2)
+.MR sendmsg 2
would trigger a SYN with data plus cookie in the Fast Open option.
In other words,
the actual connect operation is deferred until data is supplied.
@@ -1316,30 +1316,30 @@ different
.I errno
values.
With cookie present,
-.BR write (2)
+.MR write 2
or
-.BR sendmsg (2)
+.MR sendmsg 2
must be called right after
-.BR connect (2)
+.MR connect 2
in order to send out SYN+data to complete 3WHS and establish connection.
Calling
-.BR read (2)
+.MR read 2
right after
-.BR connect (2)
+.MR connect 2
without
-.BR write (2)
+.MR write 2
will cause the blocking socket to be blocked forever.
.IP
The application should either set
.B TCP_FASTOPEN_CONNECT
socket option before
-.BR write (2)
+.MR write 2
or
-.BR sendmsg (2),
+.MR sendmsg 2 ,
or call
-.BR write (2)
+.MR write 2
or
-.BR sendmsg (2)
+.MR sendmsg 2
with
.B MSG_FASTOPEN
flag directly,
@@ -1377,7 +1377,7 @@ It can be changed via
.IR /proc/sys/net/ipv4/tcp_stdurg .
.P
It is possible to peek at out-of-band data using the
-.BR recv (2)
+.MR recv 2
.B MSG_PEEK
flag.
.P
@@ -1386,9 +1386,9 @@ Since Linux 2.4, Linux supports the use of
in the
.I flags
argument of
-.BR recv (2)
+.MR recv 2
(and
-.BR recvmsg (2)).
+.MR recvmsg 2 ).
This flag causes the received bytes of data to be discarded,
rather than passed back in a caller-supplied buffer.
Since Linux 2.4.4,
@@ -1398,7 +1398,7 @@ also has this effect when used in conjunction with
to receive out-of-band data.
.SS Ioctls
The following
-.BR ioctl (2)
+.MR ioctl 2
calls return information in
.IR value .
The correct syntax is:
@@ -1452,7 +1452,7 @@ flag).
.IP
Note that a read never reads across the urgent mark.
If an application is informed of the presence of urgent data via
-.BR select (2)
+.MR select 2
(using the
.I exceptfds
argument) or through delivery of a
@@ -1511,11 +1511,11 @@ executed on a shut down socket.
The other end didn't acknowledge retransmitted data after some time.
.P
Any errors defined for
-.BR ip (7)
+.MR ip 7
or the generic socket layer may also be returned for TCP.
.SH VERSIONS
Support for Explicit Congestion Notification, zero-copy
-.BR sendfile (2),
+.MR sendfile 2 ,
reordering support and some SACK extensions
(DSACK) were introduced in Linux 2.4.
Support for forward acknowledgement (FACK), TIME_WAIT recycling,
@@ -1533,17 +1533,17 @@ IPv6 is not described.
.\" Alexey Kuznetsov's Documentation/networking/ip-sysctl.txt
.\" document.
.SH SEE ALSO
-.BR accept (2),
-.BR bind (2),
-.BR connect (2),
-.BR getsockopt (2),
-.BR listen (2),
-.BR recvmsg (2),
-.BR sendfile (2),
-.BR sendmsg (2),
-.BR socket (2),
-.BR ip (7),
-.BR socket (7)
+.MR accept 2 ,
+.MR bind 2 ,
+.MR connect 2 ,
+.MR getsockopt 2 ,
+.MR listen 2 ,
+.MR recvmsg 2 ,
+.MR sendfile 2 ,
+.MR sendmsg 2 ,
+.MR socket 2 ,
+.MR ip 7 ,
+.MR socket 7
.P
The kernel source file
.IR Documentation/networking/ip\-sysctl.txt .
diff --git a/man7/termio.7 b/man7/termio.7
index cc8401aec..2089adb64 100644
--- a/man7/termio.7
+++ b/man7/termio.7
@@ -13,7 +13,7 @@ is the name of the old System V terminal driver interface.
This interface defined a
.I termio
structure used to store terminal settings, and a range of
-.BR ioctl (2)
+.MR ioctl 2
operations to get and set terminal attributes.
.P
The
@@ -24,22 +24,22 @@ version of this interface, under the name
The POSIX.1 data structure differs slightly from the
System V version, and POSIX.1 defined a suite of functions
to replace the various
-.BR ioctl (2)
+.MR ioctl 2
operations that existed in System V.
(This was done because
-.BR ioctl (2)
+.MR ioctl 2
was unstandardized, and its variadic third argument
does not allow argument type checking.)
.P
If you're looking for a page called "termio", then you can probably
find most of the information that you seek in either
-.BR termios (3)
+.MR termios 3
or
-.BR ioctl_tty (2).
+.MR ioctl_tty 2 .
.SH SEE ALSO
-.BR reset (1),
-.BR setterm (1),
-.BR stty (1),
-.BR ioctl_tty (2),
-.BR termios (3),
-.BR tty (4)
+.MR reset 1 ,
+.MR setterm 1 ,
+.MR stty 1 ,
+.MR ioctl_tty 2 ,
+.MR termios 3 ,
+.MR tty 4
diff --git a/man7/thread-keyring.7 b/man7/thread-keyring.7
index 0a04f9312..b8fcd7ff5 100644
--- a/man7/thread-keyring.7
+++ b/man7/thread-keyring.7
@@ -18,18 +18,18 @@ is defined that can be used in lieu of the actual serial number of
the calling thread's thread keyring.
.P
From the
-.BR keyctl (1)
+.MR keyctl 1
utility, '\fB@t\fP' can be used instead of a numeric key ID in
much the same way, but as
-.BR keyctl (1)
+.MR keyctl 1
is a program run after forking, this is of no utility.
.P
Thread keyrings are not inherited across
-.BR clone (2)
+.MR clone 2
and
-.BR fork (2)
+.MR fork 2
and are cleared by
-.BR execve (2).
+.MR execve 2 .
A thread keyring is destroyed when the thread that refers to it terminates.
.P
Initially, a thread does not have a thread keyring.
@@ -40,11 +40,11 @@ otherwise the operation fails with the error
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR keyctl (3),
-.BR keyrings (7),
-.BR persistent\-keyring (7),
-.BR process\-keyring (7),
-.BR session\-keyring (7),
-.BR user\-keyring (7),
-.BR user\-session\-keyring (7)
+.MR keyctl 1 ,
+.MR keyctl 3 ,
+.MR keyrings 7 ,
+.MR persistent\-keyring 7 ,
+.MR process\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR user\-keyring 7 ,
+.MR user\-session\-keyring 7
diff --git a/man7/time.7 b/man7/time.7
index a2241ccef..447aeb951 100644
--- a/man7/time.7
+++ b/man7/time.7
@@ -28,30 +28,30 @@ User CPU time is the time spent executing code in user mode.
System CPU time is the time spent by the kernel executing
in system mode on behalf of the process (e.g., executing system calls).
The
-.BR time (1)
+.MR time 1
command can be used to determine the amount of CPU time consumed
during the execution of a program.
A program can determine the amount of CPU time it has consumed using
-.BR times (2),
-.BR getrusage (2),
+.MR times 2 ,
+.MR getrusage 2 ,
or
-.BR clock (3).
+.MR clock 3 .
.SS The hardware clock
Most computers have a (battery-powered) hardware clock which the kernel
reads at boot time in order to initialize the software clock.
For further details, see
-.BR rtc (4)
+.MR rtc 4
and
-.BR hwclock (8).
+.MR hwclock 8 .
.SS The software clock, HZ, and jiffies
The accuracy of various system calls that set timeouts,
(e.g.,
-.BR select (2),
-.BR sigtimedwait (2))
+.MR select 2 ,
+.MR sigtimedwait 2 )
.\" semtimedop(), mq_timedwait(), io_getevents(), poll() are the same
.\" futexes and thus sem_timedwait() seem to use high-res timers.
and measure CPU time (e.g.,
-.BR getrusage (2))
+.MR getrusage 2 )
is limited by the resolution of the
.IR "software clock" ,
a clock maintained by the kernel which measures time in
@@ -77,7 +77,7 @@ Since Linux 2.6.20, a further frequency is available:
(PAL, 25 Hz; NTSC, 30 Hz).
.P
The
-.BR times (2)
+.MR times 2
system call is a special case.
It reports times with a granularity defined by the kernel constant
.IR USER_HZ .
@@ -90,11 +90,11 @@ User-space applications can determine the value of this constant using
The kernel supports a range of clocks that measure various kinds of
elapsed and virtual (i.e., consumed CPU) time.
These clocks are described in
-.BR clock_gettime (2).
+.MR clock_gettime 2 .
A few of the clocks are settable using
-.BR clock_settime (2).
+.MR clock_settime 2 .
The values of certain clocks are virtualized by time namespaces; see
-.BR time_namespaces (7).
+.MR time_namespaces 7 .
.\"
.SS High-resolution timers
Before Linux 2.6.21, the accuracy of timer and sleep system calls
@@ -109,7 +109,7 @@ but instead can be as accurate as the hardware allows
(microsecond accuracy is typical of modern hardware).
You can determine whether high-resolution timers are supported by
checking the resolution returned by a call to
-.BR clock_getres (2)
+.MR clock_getres 2
or looking at the "resolution" entries in
.IR /proc/timer_list .
.P
@@ -123,16 +123,16 @@ UNIX systems represent time in seconds since the
A program can determine the
.I "calendar time"
via the
-.BR clock_gettime (2)
+.MR clock_gettime 2
.B CLOCK_REALTIME
clock,
which returns time (in seconds and nanoseconds) that have
elapsed since the Epoch;
-.BR time (2)
+.MR time 2
provides similar information, but only with accuracy to the
nearest second.
The system time can be changed using
-.BR clock_settime (2).
+.MR clock_settime 2 .
.\"
.SS Broken-down time
Certain library functions use a structure of
@@ -143,31 +143,31 @@ to represent
which stores time value separated out into distinct components
(year, month, day, hour, minute, second, etc.).
This structure is described in
-.BR tm (3type),
+.MR tm 3type ,
which also describes functions that convert between calendar time and
broken-down time.
Functions for converting between broken-down time and printable
string representations of the time are described in
-.BR ctime (3),
-.BR strftime (3),
+.MR ctime 3 ,
+.MR strftime 3 ,
and
-.BR strptime (3).
+.MR strptime 3 .
.SS Sleeping and setting timers
Various system calls and functions allow a program to sleep
(suspend execution) for a specified period of time; see
-.BR nanosleep (2),
-.BR clock_nanosleep (2),
+.MR nanosleep 2 ,
+.MR clock_nanosleep 2 ,
and
-.BR sleep (3).
+.MR sleep 3 .
.P
Various system calls allow a process to set a timer that expires
at some point in the future, and optionally at repeated intervals;
see
-.BR alarm (2),
-.BR getitimer (2),
-.BR timerfd_create (2),
+.MR alarm 2 ,
+.MR getitimer 2 ,
+.MR timerfd_create 2 ,
and
-.BR timer_create (2).
+.MR timer_create 2 .
.SS Timer slack
Since Linux 2.6.28, it is possible to control the "timer slack"
value for a thread.
@@ -179,40 +179,40 @@ thus possibly reducing the number of system wake-ups and saving power.
For more details, see the description of
.B PR_SET_TIMERSLACK
in
-.BR prctl (2).
+.MR prctl 2 .
.SH SEE ALSO
.ad l
.nh
-.BR date (1),
-.BR time (1),
-.BR timeout (1),
-.BR adjtimex (2),
-.BR alarm (2),
-.BR clock_gettime (2),
-.BR clock_nanosleep (2),
-.BR getitimer (2),
-.BR getrlimit (2),
-.BR getrusage (2),
-.BR gettimeofday (2),
-.BR nanosleep (2),
-.BR stat (2),
-.BR time (2),
-.BR timer_create (2),
-.BR timerfd_create (2),
-.BR times (2),
-.BR utime (2),
-.BR adjtime (3),
-.BR clock (3),
-.BR clock_getcpuclockid (3),
-.BR ctime (3),
-.BR ntp_adjtime (3),
-.BR ntp_gettime (3),
-.BR pthread_getcpuclockid (3),
-.BR sleep (3),
-.BR strftime (3),
-.BR strptime (3),
-.BR timeradd (3),
-.BR usleep (3),
-.BR rtc (4),
-.BR time_namespaces (7),
-.BR hwclock (8)
+.MR date 1 ,
+.MR time 1 ,
+.MR timeout 1 ,
+.MR adjtimex 2 ,
+.MR alarm 2 ,
+.MR clock_gettime 2 ,
+.MR clock_nanosleep 2 ,
+.MR getitimer 2 ,
+.MR getrlimit 2 ,
+.MR getrusage 2 ,
+.MR gettimeofday 2 ,
+.MR nanosleep 2 ,
+.MR stat 2 ,
+.MR time 2 ,
+.MR timer_create 2 ,
+.MR timerfd_create 2 ,
+.MR times 2 ,
+.MR utime 2 ,
+.MR adjtime 3 ,
+.MR clock 3 ,
+.MR clock_getcpuclockid 3 ,
+.MR ctime 3 ,
+.MR ntp_adjtime 3 ,
+.MR ntp_gettime 3 ,
+.MR pthread_getcpuclockid 3 ,
+.MR sleep 3 ,
+.MR strftime 3 ,
+.MR strptime 3 ,
+.MR timeradd 3 ,
+.MR usleep 3 ,
+.MR rtc 4 ,
+.MR time_namespaces 7 ,
+.MR hwclock 8
diff --git a/man7/time_namespaces.7 b/man7/time_namespaces.7
index 8a2817be5..5e92f0245 100644
--- a/man7/time_namespaces.7
+++ b/man7/time_namespaces.7
@@ -27,16 +27,16 @@ except that it also includes any time that the system is suspended.
Thus, the processes in a time namespace share per-namespace values
for these clocks.
This affects various APIs that measure against these clocks, including:
-.BR clock_gettime (2),
-.BR clock_nanosleep (2),
-.BR nanosleep (2),
-.BR timer_settime (2),
-.BR timerfd_settime (2),
+.MR clock_gettime 2 ,
+.MR clock_nanosleep 2 ,
+.MR nanosleep 2 ,
+.MR timer_settime 2 ,
+.MR timerfd_settime 2 ,
and
.IR /proc/uptime .
.P
Currently, the only way to create a time namespace is by calling
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWTIME
flag.
@@ -53,7 +53,7 @@ symbolic link shows the time namespace in which
the children of a process will be created.
(A process can use a file descriptor opened on
this symbolic link in a call to
-.BR setns (2)
+.MR setns 2
in order to move into the namespace.)
.\"
.SS \fI/proc/\fPpid\fI/timens_offsets\fP
@@ -113,7 +113,7 @@ records of the same form to the
file.
The file can be written to multiple times,
but after the first process has been created in or has entered the namespace,
-.BR write (2)s
+.MR write 2 s
on this file fail with the error
.BR EACCES .
In order to write to the
@@ -160,7 +160,7 @@ inside the namespace would exceed half of the value of the kernel constant
.RE
.P
In a new time namespace created by
-.BR unshare (2),
+.MR unshare 2 ,
the contents of the
.I timens_offsets
file are inherited from the time namespace of the creating process.
@@ -202,11 +202,11 @@ time:[4026531834]
.in
.P
Continuing in the initial time namespace, we display the system uptime using
-.BR uptime (1)
+.MR uptime 1
and use the
.I clock_times
example program shown in
-.BR clock_getres (2)
+.MR clock_getres 2
to display the values of various clocks:
.P
.in +4n
@@ -222,9 +222,9 @@ CLOCK_BOOTTIME : 76633.544 (21h 17m 13s)
.in
.P
We then use
-.BR unshare (1)
+.MR unshare 1
to create a time namespace and execute a
-.BR bash (1)
+.MR bash 1
shell.
From the new shell, we use the built-in
.B echo
@@ -246,7 +246,7 @@ ns2# \fBecho "boottime $((7*24*60*60)) 0" > /proc/$$/timens_offsets\fP
.in
.P
Above, we started the
-.BR bash (1)
+.MR bash 1
shell with the
.B \-\-norc
option so that no start-up scripts were executed.
@@ -256,12 +256,12 @@ shell before we have a chance to update the
file.
.P
We then use
-.BR cat (1)
+.MR cat 1
to display the contents of the
.I timens_offsets
file.
The execution of
-.BR cat (1)
+.MR cat 1
creates the first process in the new time namespace,
after which further attempts to update the
.I timens_offsets
@@ -278,7 +278,7 @@ bash: echo: write error: Permission denied
.in
.P
Continuing in the new namespace, we execute
-.BR uptime (1)
+.MR uptime 1
and the
.I clock_times
example program:
@@ -334,12 +334,12 @@ CLOCK_BOOTTIME : 76633.544 (21h 19m 23s)
.EE
.in
.SH SEE ALSO
-.BR nsenter (1),
-.BR unshare (1),
-.BR clock_settime (2),
+.MR nsenter 1 ,
+.MR unshare 1 ,
+.MR clock_settime 2 ,
.\" clone3() support for time namespaces is a work in progress
.\" .BR clone3 (2),
-.BR setns (2),
-.BR unshare (2),
-.BR namespaces (7),
-.BR time (7)
+.MR setns 2 ,
+.MR unshare 2 ,
+.MR namespaces 7 ,
+.MR time 7
diff --git a/man7/udp.7 b/man7/udp.7
index 5827102b4..906f0c8fc 100644
--- a/man7/udp.7
+++ b/man7/udp.7
@@ -25,26 +25,26 @@ UDP generates and checks checksums to catch transmission errors.
When a UDP socket is created,
its local and remote addresses are unspecified.
Datagrams can be sent immediately using
-.BR sendto (2)
+.MR sendto 2
or
-.BR sendmsg (2)
+.MR sendmsg 2
with a valid destination address as an argument.
When
-.BR connect (2)
+.MR connect 2
is called on the socket, the default destination address is set and
datagrams can now be sent using
-.BR send (2)
+.MR send 2
or
-.BR write (2)
+.MR write 2
without specifying a destination address.
It is still possible to send to other destinations by passing an
address to
-.BR sendto (2)
+.MR sendto 2
or
-.BR sendmsg (2).
+.MR sendmsg 2 .
In order to receive packets, the socket can be bound to a local
address first by using
-.BR bind (2).
+.MR bind 2 .
Otherwise, the socket layer will automatically assign
a free local port out of the range defined by
.I /proc/sys/net/ipv4/ip_local_port_range
@@ -60,13 +60,13 @@ flag is set.
is not supported.
.P
IP options may be sent or received using the socket options described in
-.BR ip (7).
+.MR ip 7 .
They are processed by the kernel only when the appropriate
.I /proc
parameter
is enabled (but still passed to the user even when it is turned off).
See
-.BR ip (7).
+.MR ip 7 .
.P
When the
.B MSG_DONTROUTE
@@ -84,7 +84,7 @@ Path MTU discovery can be also turned off using the
socket option or the
.I /proc/sys/net/ipv4/ip_no_pmtu_disc
file; see
-.BR ip (7)
+.MR ip 7
for details.
When turned off, UDP will fragment outgoing UDP packets
that exceed the interface MTU.
@@ -94,7 +94,7 @@ for performance and reliability reasons.
UDP uses the IPv4
.I sockaddr_in
address format described in
-.BR ip (7).
+.MR ip 7 .
.SS Error handling
All fatal errors will be passed to the user as an error return even
when the socket is not connected.
@@ -118,14 +118,14 @@ and
.BR EMSGSIZE ).
Locally generated errors are always passed.
Support for this socket option was removed in later kernels; see
-.BR socket (7)
+.MR socket 7
for further information.
.P
When the
.B IP_RECVERR
option is enabled, all errors are stored in the socket error queue,
and can be received by
-.BR recvmsg (2)
+.MR recvmsg 2
with the
.B MSG_ERRQUEUE
flag set.
@@ -148,7 +148,7 @@ this number, UDP starts to moderate memory usage.
This value was introduced to follow the format of
.I tcp_mem
(see
-.BR tcp (7)).
+.MR tcp 7 ).
.TP
.I max
Number of pages allowed for queueing by all UDP sockets.
@@ -172,9 +172,9 @@ even if total pages of UDP sockets exceed
pressure.
.SS Socket options
To set or get a UDP socket option, call
-.BR getsockopt (2)
+.MR getsockopt 2
to read or
-.BR setsockopt (2)
+.MR setsockopt 2
to write the option with the option level argument set to
.BR IPPROTO_UDP .
Unless otherwise noted,
@@ -185,7 +185,7 @@ is a pointer to an
Following is a list of UDP-specific socket options.
For details of some other socket options that are also applicable
for UDP sockets, see
-.BR socket (7).
+.MR socket 7 .
.TP
.BR UDP_CORK " (since Linux 2.5.44)"
If this option is enabled, then all data output on this socket
@@ -203,7 +203,7 @@ portable.
.BR UDP_SEGMENT " (since Linux 4.18)"
Enables UDP segmentation offload.
Segmentation offload reduces
-.BR send (2)
+.MR send 2
cost by transferring multiple datagrams worth of data
as a single large packet through the kernel transmit path,
even when that exceeds MTU.
@@ -223,9 +223,9 @@ the same MTU rules that apply to datagrams sent without this option.
Segmentation offload depends on checksum offload,
as datagram checksums are computed after segmentation.
The option may also be set for individual
-.BR sendmsg (2)
+.MR sendmsg 2
calls by passing it as a
-.BR cmsg (3).
+.MR cmsg 3 .
A value of zero disables the feature.
This option should not be used in code intended to be portable.
.TP
@@ -235,7 +235,7 @@ If enabled,
the socket may receive multiple datagrams worth of data
as a single large buffer,
together with a
-.BR cmsg (3)
+.MR cmsg 3
that holds the segment size.
This option is the inverse of segmentation offload.
It reduces receive cost by handling multiple datagrams worth of data
@@ -244,7 +244,7 @@ even when that exceeds MTU.
This option should not be used in code intended to be portable.
.SS Ioctls
These ioctls can be accessed using
-.BR ioctl (2).
+.MR ioctl 2 .
The correct syntax is:
.P
.RS
@@ -264,10 +264,10 @@ Using
it is impossible to distinguish the case where no datagram is pending
from the case where the next pending datagram contains zero bytes of data.
It is safer to use
-.BR select (2),
-.BR poll (2),
+.MR select 2 ,
+.MR poll 2 ,
or
-.BR epoll (7)
+.MR epoll 7
to distinguish these cases.
.\" See http://www.securiteam.com/unixfocus/5KP0I15IKO.html
.\" "GNUnet DoS (UDP Socket Unreachable)", 14 May 2006
@@ -277,15 +277,15 @@ Returns the number of data bytes in the local send queue.
Supported only with Linux 2.4 and above.
.P
In addition, all ioctls documented in
-.BR ip (7)
+.MR ip 7
and
-.BR socket (7)
+.MR socket 7
are supported.
.SH ERRORS
All errors documented for
-.BR socket (7)
+.MR socket 7
or
-.BR ip (7)
+.MR ip 7
may be returned by a send or receive on a UDP socket.
.TP
.B ECONNREFUSED
@@ -297,10 +297,10 @@ is a new feature in Linux 2.2.
.\" .SH CREDITS
.\" This man page was written by Andi Kleen.
.SH SEE ALSO
-.BR ip (7),
-.BR raw (7),
-.BR socket (7),
-.BR udplite (7)
+.MR ip 7 ,
+.MR raw 7 ,
+.MR socket 7 ,
+.MR udplite 7
.P
The kernel source file
.IR Documentation/networking/ip\-sysctl.txt .
diff --git a/man7/udplite.7 b/man7/udplite.7
index 4ad6047ea..20d4d2b89 100644
--- a/man7/udplite.7
+++ b/man7/udplite.7
@@ -27,36 +27,36 @@ may be able to make use of slightly damaged datagrams,
rather than having them discarded by lower-layer protocols.
.P
The variable-length checksum coverage is set via a
-.BR setsockopt (2)
+.MR setsockopt 2
option.
If this option is not set, the only difference from UDP is
in using a different IP protocol identifier (IANA number 136).
.P
The UDP-Lite implementation is a full extension of
-.BR udp (7)\[em]that
+.MR udp 7 \[em]that
is, it shares the same API and API behavior, and in addition
offers two socket options to control the checksum coverage.
.SS Address format
UDP-Litev4 uses the
.I sockaddr_in
address format described in
-.BR ip (7).
+.MR ip 7 .
UDP-Litev6 uses the
.I sockaddr_in6
address format described in
-.BR ipv6 (7).
+.MR ipv6 7 .
.SS Socket options
To set or get a UDP-Lite socket option, call
-.BR getsockopt (2)
+.MR getsockopt 2
to read or
-.BR setsockopt (2)
+.MR setsockopt 2
to write the option with the option level argument set to
.BR IPPROTO_UDPLITE .
In addition, all
.B IPPROTO_UDP
socket options are valid on a UDP-Lite socket.
See
-.BR udp (7)
+.MR udp 7
for more information.
.P
The following two options are specific to UDP-Lite.
@@ -74,7 +74,7 @@ With regard to IPv6 jumbograms (RFC\ 2675), the UDP-Litev6 checksum
coverage is limited to the first 2\[ha]16-1 octets, as per RFC\ 3828, 3.5.
Higher values are therefore silently truncated to 2\[ha]16-1.
If in doubt, the current coverage value can always be queried using
-.BR getsockopt (2).
+.MR getsockopt 2 .
.TP
.B UDPLITE_RECV_CSCOV
This is the receiver-side analogue and uses the same argument format
@@ -101,7 +101,7 @@ but may generate a warning message in the system log.
.\".BR socket (7).
.SH ERRORS
All errors documented for
-.BR udp (7)
+.MR udp 7
may be returned.
UDP-Lite does not add further errors.
.SH FILES
@@ -126,10 +126,10 @@ Where glibc support is missing, the following definitions are needed:
.EE
.in
.SH SEE ALSO
-.BR ip (7),
-.BR ipv6 (7),
-.BR socket (7),
-.BR udp (7)
+.MR ip 7 ,
+.MR ipv6 7 ,
+.MR socket 7 ,
+.MR udp 7
.P
RFC\ 3828 for the Lightweight User Datagram Protocol (UDP-Lite).
.P
diff --git a/man7/unicode.7 b/man7/unicode.7
index 359367a05..5cb936a36 100644
--- a/man7/unicode.7
+++ b/man7/unicode.7
@@ -161,14 +161,14 @@ The
.B nl_langinfo(CODESET)
function returns the name of the selected encoding.
Library functions such as
-.BR wctomb (3)
+.MR wctomb 3
and
-.BR mbsrtowcs (3)
+.MR mbsrtowcs 3
can be used to transform the internal
.I wchar_t
characters and strings into the system character encoding and back
and
-.BR wcwidth (3)
+.MR wcwidth 3
tells how many positions (0\[en]2) the cursor is advanced by the
output of a character.
.SS Private Use Areas (PUA)
@@ -240,7 +240,7 @@ Bruno Haible: Unicode HOWTO.
.\" .SH AUTHOR
.\" Markus Kuhn <mgk25@cl.cam.ac.uk>
.SH SEE ALSO
-.BR locale (1),
-.BR setlocale (3),
-.BR charsets (7),
-.BR utf\-8 (7)
+.MR locale 1 ,
+.MR setlocale 3 ,
+.MR charsets 7 ,
+.MR utf\-8 7
diff --git a/man7/unix.7 b/man7/unix.7
index 71cdfc758..0501f7b80 100644
--- a/man7/unix.7
+++ b/man7/unix.7
@@ -73,19 +73,19 @@ On Linux,
is 108 bytes in size; see also BUGS, below.
.P
Various systems calls (for example,
-.BR bind (2),
-.BR connect (2),
+.MR bind 2 ,
+.MR connect 2 ,
and
-.BR sendto (2))
+.MR sendto 2 )
take a
.I sockaddr_un
argument as input.
Some other system calls (for example,
-.BR getsockname (2),
-.BR getpeername (2),
-.BR recvfrom (2),
+.MR getsockname 2 ,
+.MR getpeername 2 ,
+.MR recvfrom 2 ,
and
-.BR accept (2))
+.MR accept 2 )
return an argument of this type.
.P
Three types of address are distinguished in the
@@ -95,7 +95,7 @@ structure:
pathname
a UNIX domain socket can be bound to a null-terminated
filesystem pathname using
-.BR bind (2).
+.MR bind 2 .
When the address of a pathname socket is returned
(by one of the system calls noted above),
its length is
@@ -123,10 +123,10 @@ For further details of pathname sockets, see below.
.TP
unnamed
A stream socket that has not been bound to a pathname using
-.BR bind (2)
+.MR bind 2
has no name.
Likewise, the two sockets created by
-.BR socketpair (2)
+.MR socketpair 2
are unnamed.
When the address of an unnamed socket is returned,
its length is
@@ -205,10 +205,11 @@ as short as 92 bytes.
.\" Solaris and Irix have 108
.P
Various system calls
-.RB ( accept (2),
-.BR recvfrom (2),
-.BR getsockname (2),
-.BR getpeername (2))
+\%(\c
+.MR accept 2 ,
+.MR recvfrom 2 ,
+.MR getsockname 2 ,
+.MR getpeername 2 )
return socket address structures.
When applied to UNIX domain sockets, the value-result
.I addrlen
@@ -242,23 +243,23 @@ When creating a new socket, the owner and group of the socket file
are set according to the usual rules.
The socket file has all permissions enabled,
other than those that are turned off by the process
-.BR umask (2).
+.MR umask 2 .
.P
The owner, group, and permissions of a pathname socket can be changed (using
-.BR chown (2)
+.MR chown 2
and
-.BR chmod (2)).
+.MR chmod 2 ).
.\" However, fchown() and fchmod() do not seem to have an effect
.\"
.SS Abstract sockets
Socket permissions have no meaning for abstract sockets:
the process
-.BR umask (2)
+.MR umask 2
has no effect when binding an abstract socket,
and changing the ownership and permissions of the object (via
-.BR fchown (2)
+.MR fchown 2
and
-.BR fchmod (2))
+.MR fchmod 2 )
has no effect on the accessibility of the socket.
.P
Abstract sockets automatically disappear when all open references
@@ -273,9 +274,9 @@ type even though they are
.B AF_UNIX
specific.
They can be set with
-.BR setsockopt (2)
+.MR setsockopt 2
and read with
-.BR getsockopt (2)
+.MR getsockopt 2
by specifying
.B SOL_SOCKET
as the socket family.
@@ -296,9 +297,9 @@ When this option is set and the socket is not yet connected,
a unique name in the abstract namespace will be generated automatically.
.IP
The value given as an argument to
-.BR setsockopt (2)
+.MR setsockopt 2
and returned as the result of
-.BR getsockopt (2)
+.MR getsockopt 2
is an integer boolean flag.
.TP
.B SO_PASSSEC
@@ -308,9 +309,9 @@ in an ancillary message of type
(see below).
.IP
The value given as an argument to
-.BR setsockopt (2)
+.MR setsockopt 2
and returned as the result of
-.BR getsockopt (2)
+.MR getsockopt 2
is an integer boolean flag.
.IP
The
@@ -324,20 +325,20 @@ in Linux 4.2.
.TP
.B SO_PEEK_OFF
See
-.BR socket (7).
+.MR socket 7 .
.TP
.B SO_PEERCRED
This read-only socket option returns the
credentials of the peer process connected to this socket.
The returned credentials are those that were in effect at the time
of the call to
-.BR connect (2),
-.BR listen (2),
+.MR connect 2 ,
+.MR listen 2 ,
or
-.BR socketpair (2).
+.MR socketpair 2 .
.IP
The argument to
-.BR getsockopt (2)
+.MR getsockopt 2
is a pointer to a
.I ucred
structure; define the
@@ -350,7 +351,7 @@ The use of this option is possible only for connected
stream sockets and for
.B AF_UNIX
stream and datagram socket pairs created using
-.BR socketpair (2).
+.MR socketpair 2 .
.TP
.B SO_PEERSEC
This read-only socket option returns the
@@ -360,12 +361,12 @@ the process that created the peer socket unless overridden
by the policy or by a process with the required permissions.
.IP
The argument to
-.BR getsockopt (2)
+.MR getsockopt 2
is a pointer to a buffer of the specified length in bytes
into which the security context string will be copied.
If the buffer length is less than the length of the security
context string, then
-.BR getsockopt (2)
+.MR getsockopt 2
returns \-1, sets
.I errno
to
@@ -394,11 +395,11 @@ address family is supported since Linux 2.6.2 for connected stream sockets,
and since Linux 4.18
.\" commit 0b811db2cb2aabc910e53d34ebb95a15997c33e7
also for stream and datagram socket pairs created using
-.BR socketpair (2).
+.MR socketpair 2 .
.\"
.SS Autobind feature
If a
-.BR bind (2)
+.MR bind 2
call specifies
.I addrlen
as
@@ -424,12 +425,12 @@ UNIX domain sockets do not support the transmission of
out-of-band data (the
.B MSG_OOB
flag for
-.BR send (2)
+.MR send 2
and
-.BR recv (2)).
+.MR recv 2 ).
.P
The
-.BR send (2)
+.MR send 2
.B MSG_MORE
flag is not supported by UNIX domain sockets.
.P
@@ -440,7 +441,7 @@ the use of
in the
.I flags
argument of
-.BR recv (2)
+.MR recv 2
was not supported by UNIX domain sockets.
.P
The
@@ -452,13 +453,13 @@ For datagram sockets, the
.B SO_SNDBUF
value imposes an upper limit on the size of outgoing datagrams.
This limit is calculated as the doubled (see
-.BR socket (7))
+.MR socket 7 )
option value less 32 bytes used for overhead.
.SS Ancillary messages
Ancillary data is sent and received using
-.BR sendmsg (2)
+.MR sendmsg 2
and
-.BR recvmsg (2).
+.MR recvmsg 2 .
For historical reasons, the ancillary message types listed below
are specified with a
.B SOL_SOCKET
@@ -475,7 +476,7 @@ and the
.I cmsg_type
field to the type.
For more information, see
-.BR cmsg (3).
+.MR cmsg 3 .
.TP
.B SCM_RIGHTS
Send or receive a set of open file descriptors from another process.
@@ -485,11 +486,12 @@ Commonly, this operation is referred to as "passing a file descriptor"
to another process.
However, more accurately,
what is being passed is a reference to an open file description (see
-.BR open (2)),
+.MR open 2 ),
and in the receiving process it is likely that a different
file descriptor number will be used.
Semantically, this operation is equivalent to duplicating
-.RB ( dup (2))
+\%(\c
+.MR dup 2 )
a file descriptor into the file descriptor table of another process.
.IP
If the buffer used to receive the ancillary data containing
@@ -502,7 +504,7 @@ If the number of file descriptors received in the ancillary data would
cause the process to exceed its
.B RLIMIT_NOFILE
resource limit (see
-.BR getrlimit (2)),
+.MR getrlimit 2 ),
the excess file descriptors are automatically closed
in the receiving process.
.IP
@@ -510,7 +512,7 @@ The kernel constant
.B SCM_MAX_FD
defines a limit on the number of file descriptors in the array.
Attempting to send an array larger than this limit causes
-.BR sendmsg (2)
+.MR sendmsg 2
to fail with the error
.BR EINVAL .
.B SCM_MAX_FD
@@ -576,7 +578,7 @@ To receive the security context, the
option must be enabled on the socket (see above).
.P
When sending ancillary data with
-.BR sendmsg (2),
+.MR sendmsg 2 ,
only one item of each of the above types may be included in the sent message.
.P
At least one byte of real data should be sent when sending ancillary data.
@@ -594,23 +596,23 @@ For example, suppose that the sender transmits as follows:
.RS
.PD 0
.IP (1) 5
-.BR sendmsg (2)
+.MR sendmsg 2
of four bytes, with no ancillary data.
.IP (2)
-.BR sendmsg (2)
+.MR sendmsg 2
of one byte, with ancillary data.
.IP (3)
-.BR sendmsg (2)
+.MR sendmsg 2
of four bytes, with no ancillary data.
.PD
.RE
.P
Suppose that the receiver now performs
-.BR recvmsg (2)
+.MR recvmsg 2
calls each with a buffer size of 20 bytes.
The first call will receive five bytes of data,
along with the ancillary data sent by the second
-.BR sendmsg (2)
+.MR sendmsg 2
call.
The next call will receive the remaining four bytes of data.
.P
@@ -624,7 +626,7 @@ If no buffer is provided for incoming ancillary data (i.e., the
field of the
.I msghdr
structure supplied to
-.BR recvmsg (2)
+.MR recvmsg 2
is NULL),
then the incoming ancillary data is discarded.
In both of these cases, the
@@ -632,11 +634,11 @@ In both of these cases, the
flag will be set in the
.I msg.msg_flags
value returned by
-.BR recvmsg (2).
+.MR recvmsg 2 .
.\"
.SS Ioctls
The following
-.BR ioctl (2)
+.MR ioctl 2
calls return information in
.IR value .
The correct syntax is:
@@ -680,7 +682,7 @@ sockets,
the returned value is the same as
for Internet domain datagram sockets;
see
-.BR udp (7).
+.MR udp 7 .
.SH ERRORS
.TP
.B EADDRINUSE
@@ -689,7 +691,7 @@ object already exists.
.TP
.B EBADF
This error can occur for
-.BR sendmsg (2)
+.MR sendmsg 2
when sending a file descriptor as ancillary data over
a UNIX domain socket (see the description of
.BR SCM_RIGHTS ,
@@ -698,7 +700,7 @@ is being sent is not valid (e.g., it is not an open file descriptor).
.TP
.B ECONNREFUSED
The remote address specified by
-.BR connect (2)
+.MR connect 2
was not a listening socket.
This error can also occur if the target pathname is not a socket.
.TP
@@ -718,7 +720,7 @@ field of passed addresses, or the socket was in an
invalid state for the applied operation.
.TP
.B EISCONN
-.BR connect (2)
+.MR connect 2
called on an already connected socket or a target address was
specified on a connected socket.
.TP
@@ -727,7 +729,7 @@ The system-wide limit on the total number of open files has been reached.
.TP
.B ENOENT
The pathname in the remote address specified to
-.BR connect (2)
+.MR connect 2
did not exist.
.TP
.B ENOMEM
@@ -752,9 +754,9 @@ is sent as well.
This can be avoided by passing the
.B MSG_NOSIGNAL
flag to
-.BR send (2)
+.MR send 2
or
-.BR sendmsg (2).
+.MR sendmsg 2 .
.TP
.B EPROTONOSUPPORT
Passed protocol is not
@@ -776,7 +778,7 @@ the caller specified a PID that does not match any existing process.
.TP
.B ETOOMANYREFS
This error can occur for
-.BR sendmsg (2)
+.MR sendmsg 2
when sending a file descriptor as ancillary data over
a UNIX domain socket (see the description of
.BR SCM_RIGHTS ,
@@ -787,9 +789,9 @@ resource limit and the caller does not have the
.B CAP_SYS_RESOURCE
capability.
An in-flight file descriptor is one that has been sent using
-.BR sendmsg (2)
+.MR sendmsg 2
but has not yet been accepted in the recipient process using
-.BR recvmsg (2).
+.MR recvmsg 2 .
.IP
This error is diagnosed since mainline Linux 4.5
(and in some earlier kernel versions where the fix has been backported).
@@ -797,7 +799,7 @@ This error is diagnosed since mainline Linux 4.5
In earlier kernel versions,
it was possible to place an unlimited number of file descriptors in flight,
by sending each file descriptor with
-.BR sendmsg (2)
+.MR sendmsg 2
and then closing the file descriptor so that it was not accounted against the
.B RLIMIT_NOFILE
resource limit.
@@ -815,7 +817,7 @@ but the implementation details differ.)
Binding to a socket with a filename creates a socket
in the filesystem that must be deleted by the caller when it is no
longer needed (using
-.BR unlink (2)).
+.MR unlink 2 ).
The usual UNIX close-behind semantics apply; the socket can be unlinked
at any time and will be finally removed from the filesystem when the last
reference to it is closed.
@@ -824,9 +826,9 @@ To pass file descriptors or credentials over a
.B SOCK_STREAM
socket, you must
send or receive at least one byte of nonancillary data in the same
-.BR sendmsg (2)
+.MR sendmsg 2
or
-.BR recvmsg (2)
+.MR recvmsg 2
call.
.P
UNIX domain stream sockets do not support the notion of out-of-band data.
@@ -846,7 +848,7 @@ the pathname beyond
.IR sizeof(sun_path) .
Consequently, when retrieving the socket address
(for example, via
-.BR accept (2)),
+.MR accept 2 ),
.\" The behavior on Solaris is quite similar.
if the input
.I addrlen
@@ -1191,16 +1193,16 @@ main(int argc, char *argv[])
For examples of the use of
.BR SCM_RIGHTS ,
see
-.BR cmsg (3)
+.MR cmsg 3
and
-.BR seccomp_unotify (2).
+.MR seccomp_unotify 2 .
.SH SEE ALSO
-.BR recvmsg (2),
-.BR sendmsg (2),
-.BR socket (2),
-.BR socketpair (2),
-.BR cmsg (3),
-.BR capabilities (7),
-.BR credentials (7),
-.BR socket (7),
-.BR udp (7)
+.MR recvmsg 2 ,
+.MR sendmsg 2 ,
+.MR socket 2 ,
+.MR socketpair 2 ,
+.MR cmsg 3 ,
+.MR capabilities 7 ,
+.MR credentials 7 ,
+.MR socket 7 ,
+.MR udp 7
diff --git a/man7/uri.7 b/man7/uri.7
index d76f3fc05..cd3f7092b 100644
--- a/man7/uri.7
+++ b/man7/uri.7
@@ -260,7 +260,7 @@ any octets except 09 hexadecimal (US-ASCII HT or tab), 0A hexadecimal
This is an email address, usually of the form
.IR name @ hostname .
See
-.BR mailaddr (7)
+.MR mailaddr 7
for more information on the correct format of an email address.
Note that any % character must be rewritten as %25.
An example is <mailto:dwheeler@dwheeler.com>.
@@ -320,9 +320,9 @@ KDE supports generated files through the URL <file:/cgi-bin>.
If the given file isn't found, browser writers may want to try to expand
the filename via filename globbing
(see
-.BR glob (7)
+.MR glob 7
and
-.BR glob (3)).
+.MR glob 3 ).
.P
The second format (e.g., <file:/etc/passwd>)
is a correct format for referring to
@@ -347,7 +347,7 @@ An example of this scheme is <file:///etc/passwd>.
This refers to local online manual (man) reference pages.
The command name can optionally be followed by a
parenthesis and section number; see
-.BR man (7)
+.MR man 7
for more information on the meaning of the section numbers.
This URI scheme is unique to UNIX-like systems (such as Linux)
and is not currently registered by the IETF.
@@ -390,7 +390,7 @@ This scheme searches the database of short (one-line) descriptions of
commands and returns a list of descriptions containing that string.
Only complete word matches are returned.
See
-.BR whatis (1).
+.MR whatis 1 .
This URI scheme is unique to UNIX-like systems (such as Linux)
and is not currently registered by the IETF.
.P
@@ -586,7 +586,7 @@ IETF RFC\~3986 (last paragraph of section 2.5)
recommend the following approach:
.IP (1) 5
translate the character sequences into UTF-8 (IETF RFC\~3629)\[em]see
-.BR utf\-8 (7)\[em]and
+.MR utf\-8 7 \[em]and
then
.IP (2)
use the URI escaping mechanism, that is,
@@ -751,10 +751,10 @@ tools) and invokes the right tool for any URI.
.\" .SH AUTHOR
.\" David A. Wheeler (dwheeler@dwheeler.com) wrote this man page.
.SH SEE ALSO
-.BR lynx (1),
-.BR man2html (1),
-.BR mailaddr (7),
-.BR utf\-8 (7)
+.MR lynx 1 ,
+.MR man2html 1 ,
+.MR mailaddr 7 ,
+.MR utf\-8 7
.P
.UR http://www.ietf.org\:/rfc\:/rfc2255.txt
IETF RFC\ 2255
diff --git a/man7/user-keyring.7 b/man7/user-keyring.7
index 77c4bb0a9..5d9c73aa6 100644
--- a/man7/user-keyring.7
+++ b/man7/user-keyring.7
@@ -20,22 +20,22 @@ The user keyring is associated with the record that the kernel maintains
for the UID.
It comes into existence upon the first attempt to access either the
user keyring, the
-.BR user\-session\-keyring (7),
+.MR user\-session\-keyring 7 ,
or the
-.BR session\-keyring (7).
+.MR session\-keyring 7 .
The keyring remains pinned in existence so long as there are processes
running with that real UID or files opened by those processes remain open.
(The keyring can also be pinned indefinitely by linking it
into another keyring.)
.P
Typically, the user keyring is created by
-.BR pam_keyinit (8)
+.MR pam_keyinit 8
when a user logs in.
.P
The user keyring is not searched by default by
-.BR request_key (2).
+.MR request_key 2 .
When
-.BR pam_keyinit (8)
+.MR pam_keyinit 8
creates a session keyring, it adds to it a link to the user
keyring so that the user keyring will be searched when the session keyring is.
.P
@@ -45,37 +45,37 @@ is defined that can be used in lieu of the actual serial number of
the calling process's user keyring.
.P
From the
-.BR keyctl (1)
+.MR keyctl 1
utility, '\fB@u\fP' can be used instead of a numeric key ID in
much the same way.
.P
User keyrings are independent of
-.BR clone (2),
-.BR fork (2),
-.BR vfork (2),
-.BR execve (2),
+.MR clone 2 ,
+.MR fork 2 ,
+.MR vfork 2 ,
+.MR execve 2 ,
and
-.BR _exit (2)
+.MR _exit 2
excepting that the keyring is destroyed when the UID record is destroyed when
the last process pinning it exits.
.P
If it is necessary for a key associated with a user to exist beyond the UID
record being garbage collected\[em]for example, for use by a
-.BR cron (8)
+.MR cron 8
script\[em]then the
-.BR persistent\-keyring (7)
+.MR persistent\-keyring 7
should be used instead.
.P
If a user keyring does not exist when it is accessed, it will be created.
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR keyctl (3),
-.BR keyrings (7),
-.BR persistent\-keyring (7),
-.BR process\-keyring (7),
-.BR session\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-session\-keyring (7),
-.BR pam_keyinit (8)
+.MR keyctl 1 ,
+.MR keyctl 3 ,
+.MR keyrings 7 ,
+.MR persistent\-keyring 7 ,
+.MR process\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-session\-keyring 7 ,
+.MR pam_keyinit 8
diff --git a/man7/user-session-keyring.7 b/man7/user-session-keyring.7
index d7b633299..1f73a996d 100644
--- a/man7/user-session-keyring.7
+++ b/man7/user-session-keyring.7
@@ -20,9 +20,9 @@ The user session keyring is associated with the record that
the kernel maintains for the UID.
It comes into existence upon the first attempt to access either the
user session keyring, the
-.BR user\-keyring (7),
+.MR user\-keyring 7 ,
or the
-.BR session\-keyring (7).
+.MR session\-keyring 7 .
.\" Davis Howells: the user and user-session keyrings are managed as a pair.
The keyring remains pinned in existence so long as there are processes
running with that real UID or files opened by those processes remain open.
@@ -31,14 +31,14 @@ into another keyring.)
.P
The user session keyring is created on demand when a thread requests it
or when a thread asks for its
-.BR session\-keyring (7)
+.MR session\-keyring 7
and that keyring doesn't exist.
In the latter case, a user session keyring will be created and,
if the session keyring wasn't to be created,
the user session keyring will be set as the process's actual session keyring.
.P
The user session keyring is searched by
-.BR request_key (2)
+.MR request_key 2
if the actual session keyring does not exist and is ignored otherwise.
.P
A special serial number value,
@@ -48,17 +48,17 @@ that can be used in lieu of the actual serial number of
the calling process's user session keyring.
.P
From the
-.BR keyctl (1)
+.MR keyctl 1
utility, '\fB@us\fP' can be used instead of a numeric key ID in
much the same way.
.P
User session keyrings are independent of
-.BR clone (2),
-.BR fork (2),
-.BR vfork (2),
-.BR execve (2),
+.MR clone 2 ,
+.MR fork 2 ,
+.MR vfork 2 ,
+.MR execve 2 ,
and
-.BR _exit (2)
+.MR _exit 2
excepting that the keyring is destroyed when the UID record is destroyed
when the last process pinning it exits.
.P
@@ -68,25 +68,25 @@ it will be created.
Rather than relying on the user session keyring,
it is strongly recommended\[em]especially if the process
is running as root\[em]that a
-.BR session\-keyring (7)
+.MR session\-keyring 7
be set explicitly, for example by
-.BR pam_keyinit (8).
+.MR pam_keyinit 8 .
.SH NOTES
The user session keyring was added to support situations where
a process doesn't have a session keyring,
perhaps because it was created via a pathway that didn't involve PAM
(e.g., perhaps it was a daemon started by
-.BR inetd (8)).
+.MR inetd 8 ).
In such a scenario, the user session keyring acts as a substitute for the
-.BR session\-keyring (7).
+.MR session\-keyring 7 .
.SH SEE ALSO
.ad l
.nh
-.BR keyctl (1),
-.BR keyctl (3),
-.BR keyrings (7),
-.BR persistent\-keyring (7),
-.BR process\-keyring (7),
-.BR session\-keyring (7),
-.BR thread\-keyring (7),
-.BR user\-keyring (7)
+.MR keyctl 1 ,
+.MR keyctl 3 ,
+.MR keyrings 7 ,
+.MR persistent\-keyring 7 ,
+.MR process\-keyring 7 ,
+.MR session\-keyring 7 ,
+.MR thread\-keyring 7 ,
+.MR user\-keyring 7
diff --git a/man7/user_namespaces.7 b/man7/user_namespaces.7
index 290771af2..190b51841 100644
--- a/man7/user_namespaces.7
+++ b/man7/user_namespaces.7
@@ -9,19 +9,19 @@
user_namespaces \- overview of Linux user namespaces
.SH DESCRIPTION
For an overview of namespaces, see
-.BR namespaces (7).
+.MR namespaces 7 .
.P
User namespaces isolate security-related identifiers and attributes,
in particular,
user IDs and group IDs (see
-.BR credentials (7)),
+.MR credentials 7 ),
the root directory,
keys (see
-.BR keyrings (7)),
+.MR keyrings 7 ),
.\" FIXME: This page says very little about the interaction
.\" of user namespaces and keys. Add something on this topic.
and capabilities (see
-.BR capabilities (7)).
+.MR capabilities 7 ).
A process's user and group IDs can be different
inside and outside a user namespace.
In particular,
@@ -40,9 +40,9 @@ namespace\[em]has a parent user namespace,
and can have zero or more child user namespaces.
The parent user namespace is the user namespace
of the process that creates the user namespace via a call to
-.BR unshare (2)
+.MR unshare 2
or
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_NEWUSER
flag.
@@ -52,45 +52,45 @@ The kernel imposes (since Linux 3.11) a limit of 32 nested levels of
user namespaces.
.\" FIXME Explain the rationale for this limit. (What is the rationale?)
Calls to
-.BR unshare (2)
+.MR unshare 2
or
-.BR clone (2)
+.MR clone 2
that would cause this limit to be exceeded fail with the error
.BR EUSERS .
.P
Each process is a member of exactly one user namespace.
A process created via
-.BR fork (2)
+.MR fork 2
or
-.BR clone (2)
+.MR clone 2
without the
.B CLONE_NEWUSER
flag is a member of the same user namespace as its parent.
A single-threaded process can join another user namespace with
-.BR setns (2)
+.MR setns 2
if it has the
.B CAP_SYS_ADMIN
in that namespace;
upon doing so, it gains a full set of capabilities in that namespace.
.P
A call to
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWUSER
flag makes the new child process (for
-.BR clone (2))
+.MR clone 2 )
or the caller (for
-.BR unshare (2))
+.MR unshare 2 )
a member of the new user namespace created by the call.
.P
The
.B NS_GET_PARENT
-.BR ioctl (2)
+.MR ioctl 2
operation can be used to discover the parental relationship
between user namespaces; see
-.BR ioctl_ns (2).
+.MR ioctl_ns 2 .
.P
A task that changes one of its effective IDs
will have its dumpability reset to the value in
@@ -101,44 +101,44 @@ to write to mapping files of child processes running in a new user namespace.
In such cases making the parent process dumpable, using
.B PR_SET_DUMPABLE
in a call to
-.BR prctl (2),
+.MR prctl 2 ,
before creating a child process in a new user namespace
may rectify this problem.
See
-.BR prctl (2)
+.MR prctl 2
and
-.BR proc (5)
+.MR proc 5
for details on how ownership is affected.
.\"
.\" ============================================================
.\"
.SS Capabilities
The child process created by
-.BR clone (2)
+.MR clone 2
with the
.B CLONE_NEWUSER
flag starts out with a complete set
of capabilities in the new user namespace.
Likewise, a process that creates a new user namespace using
-.BR unshare (2)
+.MR unshare 2
or joins an existing user namespace using
-.BR setns (2)
+.MR setns 2
gains a full set of capabilities in that namespace.
On the other hand,
that process has no capabilities in the parent (in the case of
-.BR clone (2))
+.MR clone 2 )
or previous (in the case of
-.BR unshare (2)
+.MR unshare 2
and
-.BR setns (2))
+.MR setns 2 )
user namespace,
even if the new namespace is created or joined by the root user
(i.e., a process with user ID 0 in the root namespace).
.P
Note that a call to
-.BR execve (2)
+.MR execve 2
will cause a process's capabilities to be recalculated in the usual way (see
-.BR capabilities (7)).
+.MR capabilities 7 ).
Consequently,
unless the process has a user ID of 0 within the namespace,
or the executable file has a nonempty inheritable capabilities mask,
@@ -146,30 +146,30 @@ the process will lose all capabilities.
See the discussion of user and group ID mappings, below.
.P
A call to
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
using the
.B CLONE_NEWUSER
flag
or a call to
-.BR setns (2)
+.MR setns 2
that moves the caller into another user namespace
sets the "securebits" flags
(see
-.BR capabilities (7))
+.MR capabilities 7 )
to their default values (all flags disabled) in the child (for
-.BR clone (2))
+.MR clone 2 )
or caller (for
-.BR unshare (2)
+.MR unshare 2
or
-.BR setns (2)).
+.MR setns 2 ).
Note that because the caller no longer has capabilities
in its original user namespace after a call to
-.BR setns (2),
+.MR setns 2 ,
it is not possible for a process to reset its "securebits" flags while
retaining its user namespace membership by using a pair of
-.BR setns (2)
+.MR setns 2
calls to move to another user namespace and then return to
its original user namespace.
.P
@@ -185,10 +185,10 @@ For example, it may execute a set-user-ID program or an
executable with associated file capabilities.
In addition,
a process may gain capabilities via the effect of
-.BR clone (2),
-.BR unshare (2),
+.MR clone 2 ,
+.MR unshare 2 ,
or
-.BR setns (2),
+.MR setns 2 ,
as already described.
.\" In the 3.8 sources, see security/commoncap.c::cap_capable():
.IP \[bu]
@@ -215,10 +215,10 @@ this means that the process has all capabilities in all
further removed descendant user namespaces as well.
The
.B NS_GET_OWNER_UID
-.BR ioctl (2)
+.MR ioctl 2
operation can be used to discover the user ID of the owner of the namespace;
see
-.BR ioctl_ns (2).
+.MR ioctl_ns 2 .
.\"
.\" ============================================================
.\"
@@ -262,7 +262,7 @@ and mount the following types of filesystems:
.I devpts
(since Linux 3.9)
.IP \[bu]
-.BR tmpfs (5)
+.MR tmpfs 5
(since Linux 3.9)
.IP \[bu]
.I ramfs
@@ -325,22 +325,24 @@ If
is specified along with other
.B CLONE_NEW*
flags in a single
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
call, the user namespace is guaranteed to be created first,
giving the child
-.RB ( clone (2))
+\%(\c
+.MR clone 2 )
or caller
-.RB ( unshare (2))
+\%(\c
+.MR unshare 2 )
privileges over the remaining namespaces created by the call.
Thus, it is possible for an unprivileged caller to specify this combination
of flags.
.P
When a new namespace (other than a user namespace) is created via
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2),
+.MR unshare 2 ,
the kernel records the user namespace of the creating process as the owner of
the new namespace.
(This association can't be changed.)
@@ -350,7 +352,8 @@ resources isolated by the namespace,
the permission checks are performed according to the process's capabilities
in the user namespace that the kernel associated with the new namespace.
For example, suppose that a process attempts to change the hostname
-.RB ( sethostname (2)),
+\%(\c
+.MR sethostname 2 ),
a resource governed by the UTS namespace.
In this case,
the kernel will determine which user namespace owns
@@ -361,10 +364,10 @@ in that user namespace.
.P
The
.B NS_GET_USERNS
-.BR ioctl (2)
+.MR ioctl 2
operation can be used to discover the user namespace
that owns a nonuser namespace; see
-.BR ioctl_ns (2).
+.MR ioctl_ns 2 .
.\"
.\" ============================================================
.\"
@@ -450,17 +453,17 @@ The length of the range of user IDs that is mapped between the two
user namespaces.
.P
System calls that return user IDs (group IDs)\[em]for example,
-.BR getuid (2),
-.BR getgid (2),
+.MR getuid 2 ,
+.MR getgid 2 ,
and the credential fields in the structure returned by
-.BR stat (2)\[em]return
+.MR stat 2 \[em]return
the user ID (group ID) mapped into the caller's user namespace.
.P
When a process accesses a file, its user and group IDs
are mapped into the initial user namespace for the purpose of permission
checking and assigning IDs when creating a file.
When a process retrieves file user and group IDs via
-.BR stat (2),
+.MR stat 2 ,
the IDs are mapped in the opposite direction,
to produce values relative to the process user and group ID mappings.
.P
@@ -488,7 +491,7 @@ This leaves 4294967295 (the 32-bit signed \-1 value) unmapped.
This is deliberate:
.I (uid_t)\~\-1
is used in several interfaces (e.g.,
-.BR setreuid (2))
+.MR setreuid 2 )
as a way to specify "no user ID".
Leaving
.I (uid_t)\~\-1
@@ -533,9 +536,9 @@ the limit is 340 lines.
In addition, the number of bytes written to
the file must be less than the system page size,
and the write must be performed at the start of the file (i.e.,
-.BR lseek (2)
+.MR lseek 2
and
-.BR pwrite (2)
+.MR pwrite 2
can't be used to write to nonzero offsets in the file).
.IP \[bu]
The range of user IDs (group IDs)
@@ -601,7 +604,7 @@ a UID 0 process that lacks the
capability,
which is needed to create a binary with namespaced file capabilities
(as described in
-.BR capabilities (7)),
+.MR capabilities 7 ),
could nevertheless create such a binary,
by the following steps:
.RS
@@ -652,7 +655,7 @@ that created the user namespace.
In the case of
.IR gid_map ,
use of the
-.BR setgroups (2)
+.MR setgroups 2
system call must first be denied by writing
.RI \[dq] deny \[dq]
to the
@@ -671,9 +674,9 @@ Writes that violate the above rules fail with the error
Similarly to user and group ID mappings,
it is possible to create project ID mappings for a user namespace.
(Project IDs are used for disk quotas; see
-.BR setquota (8)
+.MR setquota 8
and
-.BR quotactl (2).)
+.MR quotactl 2 .)
.P
Project ID mappings are defined by writing to the
.IR /proc/ pid /projid_map
@@ -686,7 +689,7 @@ The validity rules for writing to the
file are as for writing to the
.I uid_map
file; violation of these rules causes
-.BR write (2)
+.MR write 2
to fail with the error
.BR EINVAL .
.P
@@ -703,7 +706,7 @@ The mapped project IDs must in turn have a mapping
in the parent user namespace.
.P
Violation of these rules causes
-.BR write (2)
+.MR write 2
to fail with the error
.BR EPERM .
.\"
@@ -724,18 +727,18 @@ files have been written, only the mapped values may be used in
system calls that change user and group IDs.
.P
For user IDs, the relevant system calls include
-.BR setuid (2),
-.BR setfsuid (2),
-.BR setreuid (2),
+.MR setuid 2 ,
+.MR setfsuid 2 ,
+.MR setreuid 2 ,
and
-.BR setresuid (2).
+.MR setresuid 2 .
For group IDs, the relevant system calls include
-.BR setgid (2),
-.BR setfsgid (2),
-.BR setregid (2),
-.BR setresgid (2),
+.MR setgid 2 ,
+.MR setfsgid 2 ,
+.MR setregid 2 ,
+.MR setresgid 2 ,
and
-.BR setgroups (2).
+.MR setgroups 2 .
.P
Writing
.RI \[dq] deny \[dq]
@@ -748,7 +751,7 @@ file before writing to
.\" commit 66d2f338ee4c449396b6f99f5e75cd18eb6df272
.\" http://lwn.net/Articles/626665/
will permanently disable
-.BR setgroups (2)
+.MR setgroups 2
in a user namespace and allow writing to
.IR /proc/ pid /gid_map
without having the
@@ -771,16 +774,16 @@ file displays the string
if processes in the user namespace that contains the process
.I pid
are permitted to employ the
-.BR setgroups (2)
+.MR setgroups 2
system call; it displays
.RI \[dq] deny \[dq]
if
-.BR setgroups (2)
+.MR setgroups 2
is not permitted in that user namespace.
Note that regardless of the value in the
.IR /proc/ pid /setgroups
file (and regardless of the process's capabilities), calls to
-.BR setgroups (2)
+.MR setgroups 2
are also not permitted if
.IR /proc/ pid /gid_map
has not yet been set.
@@ -799,25 +802,25 @@ for this user namespace to the file
Writing the string
.RI \[dq] deny \[dq]
prevents any process in the user namespace from employing
-.BR setgroups (2).
+.MR setgroups 2 .
.P
The essence of the restrictions described in the preceding
paragraph is that it is permitted to write to
.IR /proc/ pid /setgroups
only so long as calling
-.BR setgroups (2)
+.MR setgroups 2
is disallowed because
.IR /proc/ pid /gid_map
has not been set.
This ensures that a process cannot transition from a state where
-.BR setgroups (2)
+.MR setgroups 2
is allowed to a state where
-.BR setgroups (2)
+.MR setgroups 2
is denied;
a process can transition only from
-.BR setgroups (2)
+.MR setgroups 2
being disallowed to
-.BR setgroups (2)
+.MR setgroups 2
being allowed.
.P
The default value of this file in the initial user namespace is
@@ -827,10 +830,10 @@ Once
.IR /proc/ pid /gid_map
has been written to
(which has the effect of enabling
-.BR setgroups (2)
+.MR setgroups 2
in the user namespace),
it is no longer possible to disallow
-.BR setgroups (2)
+.MR setgroups 2
by writing
.RI \[dq] deny \[dq]
to
@@ -847,7 +850,7 @@ If the
file has the value
.RI \[dq] deny \[dq],
then the
-.BR setgroups (2)
+.MR setgroups 2
system call can't subsequently be reenabled (by writing
.RI \[dq] allow \[dq]
to the file) in this user namespace.
@@ -864,13 +867,13 @@ because it addresses a security issue.
The issue concerned files with permissions such as "rwx\-\-\-rwx".
Such files give fewer permissions to "group" than they do to "other".
This means that dropping groups using
-.BR setgroups (2)
+.MR setgroups 2
might allow a process file access that it did not formerly have.
Before the existence of user namespaces this was not a concern,
since only a privileged process (one with the
.B CAP_SETGID
capability) could call
-.BR setgroups (2).
+.MR setgroups 2 .
However, with the introduction of user namespaces,
it became possible for an unprivileged process to create
a new namespace in which the user had all privileges.
@@ -881,7 +884,7 @@ The
.IR /proc/ pid /setgroups
file was added to address this security issue,
by denying any pathway for an unprivileged process to drop groups with
-.BR setgroups (2).
+.MR setgroups 2 .
.\"
.\" /proc/PID/setgroups
.\" [allow == setgroups() is allowed, "deny" == setgroups() is disallowed]
@@ -901,7 +904,7 @@ by denying any pathway for an unprivileged process to drop groups with
There are various places where an unmapped user ID (group ID)
may be exposed to user space.
For example, the first process in a new user namespace may call
-.BR getuid (2)
+.MR getuid 2
before a user ID mapping has been defined for the namespace.
In most such cases, an unmapped user ID is converted
.\" from_kuid_munged(), from_kgid_munged()
@@ -912,18 +915,19 @@ See the descriptions of
and
.I /proc/sys/kernel/overflowgid
in
-.BR proc (5).
+.MR proc 5 .
.P
The cases where unmapped IDs are mapped in this fashion include
system calls that return user IDs
-.RB ( getuid (2),
-.BR getgid (2),
+\%(\c
+.MR getuid 2 ,
+.MR getgid 2 ,
and similar),
credentials passed over a UNIX domain socket,
.\" also SO_PEERCRED
credentials returned by
-.BR stat (2),
-.BR waitid (2),
+.MR stat 2 ,
+.MR waitid 2 ,
and the System V IPC "ctl"
.B IPC_STAT
operations,
@@ -936,11 +940,11 @@ credentials returned via the
field in the
.I siginfo_t
received with a signal (see
-.BR sigaction (2)),
+.MR sigaction 2 ),
credentials written to the process accounting file (see
-.BR acct (5)),
+.MR acct 5 ),
and credentials returned with POSIX message queue notifications (see
-.BR mq_notify (3)).
+.MR mq_notify 3 ).
.P
There is one notable case where unmapped user and group IDs are
.I not
@@ -1017,7 +1021,7 @@ but the process's effective user (group) ID is left unchanged.
program that resides on a filesystem that was mounted with the
.B MS_NOSUID
flag, as described in
-.BR mount (2).)
+.MR mount 2 .)
.\"
.\" ============================================================
.\"
@@ -1026,7 +1030,7 @@ When a process's user and group IDs are passed over a UNIX domain socket
to a process in a different user namespace (see the description of
.B SCM_CREDENTIALS
in
-.BR unix (7)),
+.MR unix 7 ),
they are translated into the corresponding values as per the
receiving process's user and group ID mappings.
.\"
@@ -1452,18 +1456,18 @@ main(int argc, char *argv[])
.SH SEE ALSO
.BR newgidmap (1), \" From the shadow package
.BR newuidmap (1), \" From the shadow package
-.BR clone (2),
-.BR ptrace (2),
-.BR setns (2),
-.BR unshare (2),
-.BR proc (5),
+.MR clone 2 ,
+.MR ptrace 2 ,
+.MR setns 2 ,
+.MR unshare 2 ,
+.MR proc 5 ,
.BR subgid (5), \" From the shadow package
.BR subuid (5), \" From the shadow package
-.BR capabilities (7),
-.BR cgroup_namespaces (7),
-.BR credentials (7),
-.BR namespaces (7),
-.BR pid_namespaces (7)
+.MR capabilities 7 ,
+.MR cgroup_namespaces 7 ,
+.MR credentials 7 ,
+.MR namespaces 7 ,
+.MR pid_namespaces 7
.P
The kernel source file
.IR Documentation/admin\-guide/namespaces/resource\-control.rst .
diff --git a/man7/utf-8.7 b/man7/utf-8.7
index 2ea14b2e4..77e335db8 100644
--- a/man7/utf-8.7
+++ b/man7/utf-8.7
@@ -174,9 +174,9 @@ double-width characters as well as nonspacing combining characters,
outputting a single character does not necessarily advance the cursor
by one position as it did in ASCII.
Library functions such as
-.BR mbsrtowcs (3)
+.MR mbsrtowcs 3
and
-.BR wcswidth (3)
+.MR wcswidth 3
should be used today to count characters and cursor positions.
.P
The official ESC sequence to switch from an ISO 2022
@@ -204,8 +204,8 @@ ISO/IEC 10646-1:2000, Unicode 3.1, RFC\ 3629, Plan 9.
.\" .SH AUTHOR
.\" Markus Kuhn <mgk25@cl.cam.ac.uk>
.SH SEE ALSO
-.BR locale (1),
-.BR nl_langinfo (3),
-.BR setlocale (3),
-.BR charsets (7),
-.BR unicode (7)
+.MR locale 1 ,
+.MR nl_langinfo 3 ,
+.MR setlocale 3 ,
+.MR charsets 7 ,
+.MR unicode 7
diff --git a/man7/uts_namespaces.7 b/man7/uts_namespaces.7
index df4bdba3f..7b7bd5096 100644
--- a/man7/uts_namespaces.7
+++ b/man7/uts_namespaces.7
@@ -10,22 +10,22 @@ uts_namespaces \- overview of Linux UTS namespaces
UTS namespaces provide isolation of two system identifiers:
the hostname and the NIS domain name.
These identifiers are set using
-.BR sethostname (2)
+.MR sethostname 2
and
-.BR setdomainname (2),
+.MR setdomainname 2 ,
and can be retrieved using
-.BR uname (2),
-.BR gethostname (2),
+.MR uname 2 ,
+.MR gethostname 2 ,
and
-.BR getdomainname (2).
+.MR getdomainname 2 .
Changes made to these identifiers are visible to all other
processes in the same UTS namespace,
but are not visible to processes in other UTS namespaces.
.P
When a process creates a new UTS namespace using
-.BR clone (2)
+.MR clone 2
or
-.BR unshare (2)
+.MR unshare 2
with the
.B CLONE_NEWUTS
flag, the hostname and domain name of the new UTS namespace are copied
@@ -35,12 +35,12 @@ Use of UTS namespaces requires a kernel that is configured with the
.B CONFIG_UTS_NS
option.
.SH SEE ALSO
-.BR nsenter (1),
-.BR unshare (1),
-.BR clone (2),
-.BR getdomainname (2),
-.BR gethostname (2),
-.BR setns (2),
-.BR uname (2),
-.BR unshare (2),
-.BR namespaces (7)
+.MR nsenter 1 ,
+.MR unshare 1 ,
+.MR clone 2 ,
+.MR getdomainname 2 ,
+.MR gethostname 2 ,
+.MR setns 2 ,
+.MR uname 2 ,
+.MR unshare 2 ,
+.MR namespaces 7
diff --git a/man7/vdso.7 b/man7/vdso.7
index f440172d1..12992ceb7 100644
--- a/man7/vdso.7
+++ b/man7/vdso.7
@@ -65,7 +65,7 @@ the term "vsyscall" also refers to an obsolete way to ask the kernel
what time it is or what CPU the caller is on.
.P
One frequently used system call is
-.BR gettimeofday (2).
+.MR gettimeofday 2 .
This system call is called both directly by user-space applications
as well as indirectly by
the C library.
@@ -76,13 +76,13 @@ privilege mode (root or any unprivileged user) will get the same answer.
Thus the kernel arranges for the information required to answer
this question to be placed in memory the process can access.
Now a call to
-.BR gettimeofday (2)
+.MR gettimeofday 2
changes from a system call to a normal function
call and a few memory accesses.
.SS Finding the vDSO
The base address of the vDSO (if one exists) is passed by the kernel to
each program in the initial auxiliary vector (see
-.BR getauxval (3)),
+.MR getauxval 3 ),
via the
.B AT_SYSINFO_EHDR
tag.
@@ -91,7 +91,7 @@ You must not assume the vDSO is mapped at any particular location in the
user's memory map.
The base address will usually be randomized at run time every time a new
process image is created (at
-.BR execve (2)
+.MR execve 2
time).
This is done for security reasons,
to prevent "return-to-libc" attacks.
@@ -144,7 +144,7 @@ find arch/$ARCH/ \-name \[aq]*vdso*.so*\[aq] \-o \-name \[aq]*gate*.so*\[aq]
.SS vDSO names
The name of the vDSO varies across architectures.
It will often show up in things like glibc's
-.BR ldd (1)
+.MR ldd 1
output.
The exact name should not matter to any code, so do not hardcode it.
.if t \{\
@@ -174,12 +174,12 @@ x86/x32 linux\-vdso.so.1
\}
.SS strace(1), seccomp(2), and the vDSO
When tracing systems calls with
-.BR strace (1),
+.MR strace 1 ,
symbols (system calls) that are exported by the vDSO will
.I not
appear in the trace output.
Those system calls will likewise not be visible to
-.BR seccomp (2)
+.MR seccomp 2
filters.
.SH ARCHITECTURE-SPECIFIC NOTES
The subsections below provide architecture-specific notes
@@ -304,7 +304,7 @@ You can invoke these via the
vDSO helper.
The system calls listed here have the same semantics as if you called them
directly via
-.BR syscall (2),
+.MR syscall 2 ,
so refer to the relevant
documentation for each.
The table below lists the functions available via this mechanism.
@@ -595,9 +595,9 @@ Over time, people realized that this mechanism
was a great way to pass more functionality
to user space, so it was reconceived as a vDSO in the current format.
.SH SEE ALSO
-.BR syscalls (2),
-.BR getauxval (3),
-.BR proc (5)
+.MR syscalls 2 ,
+.MR getauxval 3 ,
+.MR proc 5
.P
The documents, examples, and source code in the Linux source code tree:
.P
diff --git a/man7/vsock.7 b/man7/vsock.7
index 0add12a5e..bdec279dc 100644
--- a/man7/vsock.7
+++ b/man7/vsock.7
@@ -41,24 +41,24 @@ socket(AF_VSOCK, socket_type, 0);
.in
.P
When a process wants to establish a connection, it calls
-.BR connect (2)
+.MR connect 2
with a given destination socket address.
The socket is automatically bound to a free port if unbound.
.P
A process can listen for incoming connections by first binding to a socket
address using
-.BR bind (2)
+.MR bind 2
and then calling
-.BR listen (2).
+.MR listen 2 .
.P
Data is transmitted using the
-.BR send (2)
+.MR send 2
or
-.BR write (2)
+.MR write 2
families of system calls and data is received using the
-.BR recv (2)
+.MR recv 2
or
-.BR read (2)
+.MR read 2
families of system calls.
.SS Address format
A socket address is defined as a combination of a 32-bit Context Identifier
@@ -96,7 +96,7 @@ The port numbers below 1024 are called
Only a process with the
.B CAP_NET_BIND_SERVICE
capability may
-.BR bind (2)
+.MR bind 2
to these port numbers.
.I svm_zero
must be zero-filled.
@@ -179,9 +179,9 @@ and other input validation errors.
.TP
.B ENOPROTOOPT
Invalid socket option in
-.BR setsockopt (2)
+.MR setsockopt 2
or
-.BR getsockopt (2).
+.MR getsockopt 2 .
.TP
.B ENOTCONN
Unable to perform operation on an unconnected socket.
@@ -192,11 +192,11 @@ This includes:
the
.B MSG_OOB
flag that is not implemented for the
-.BR send (2)
+.MR send 2
family of syscalls and
.B MSG_PEEK
for the
-.BR recv (2)
+.MR recv 2
family of syscalls.
.TP
.B EPROTONOSUPPORT
@@ -205,7 +205,7 @@ The protocol should always be 0.
.TP
.B ESOCKTNOSUPPORT
Unsupported socket type in
-.BR socket (2).
+.MR socket 2 .
Only
.B SOCK_STREAM
and
@@ -223,10 +223,10 @@ Local communication in the guest and on the host is available since Linux 5.6.
Previous versions supported only local communication within a guest
(not on the host), and with only some transports (VMCI and virtio).
.SH SEE ALSO
-.BR bind (2),
-.BR connect (2),
-.BR listen (2),
-.BR recv (2),
-.BR send (2),
-.BR socket (2),
-.BR capabilities (7)
+.MR bind 2 ,
+.MR connect 2 ,
+.MR listen 2 ,
+.MR recv 2 ,
+.MR send 2 ,
+.MR socket 2 ,
+.MR capabilities 7
diff --git a/man7/x25.7 b/man7/x25.7
index 3d1db991e..6e794942e 100644
--- a/man7/x25.7
+++ b/man7/x25.7
@@ -25,10 +25,10 @@ without an intermediate X.25 network (X.25 DTE-DTE mode) as described
in ISO-8208.
.P
Message boundaries are preserved \[em] a
-.BR read (2)
+.MR read 2
from a socket will
retrieve the same chunk of data as output with the corresponding
-.BR write (2)
+.MR write 2
to the peer socket.
When necessary, the kernel takes care
of segmenting and reassembling long messages by means of
@@ -67,9 +67,9 @@ characters forming the X.121 address.
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)
+.MR setsockopt 2
and read with
-.BR getsockopt (2)
+.MR getsockopt 2
with the
.I level
argument set to
@@ -112,8 +112,8 @@ X.25 N-Reset events are not propagated to the user process yet.
Thus,
if a reset occurred, data might be lost without notice.
.SH SEE ALSO
-.BR socket (2),
-.BR socket (7)
+.MR socket 2 ,
+.MR socket 7
.P
Jonathan Simon Naylor:
\[lq]The Re-Analysis and Re-Implementation of X.25.\[rq]
diff --git a/man7/xattr.7 b/man7/xattr.7
index 540179564..a46da1949 100644
--- a/man7/xattr.7
+++ b/man7/xattr.7
@@ -18,22 +18,24 @@ If it is defined, its value may be empty or non-empty.
.P
Extended attributes are extensions to the normal attributes which are
associated with all inodes in the system (i.e., the
-.BR stat (2)
+.MR stat 2
data).
They are often used to provide additional functionality
to a filesystem\[em]for example, additional security features such as
Access Control Lists (ACLs) may be implemented using extended attributes.
.P
Users with search access to a file or directory may use
-.BR listxattr (2)
+.MR listxattr 2
to retrieve a list of attribute names defined for that file or directory.
.P
Extended attributes are accessed as atomic objects.
Reading
-.RB ( getxattr (2))
+\%(\c
+.MR getxattr 2 )
retrieves the whole value of an attribute and stores it in a buffer.
Writing
-.RB ( setxattr (2))
+\%(\c
+.MR setxattr 2 )
replaces any previous value with the new value.
.P
Space consumed for extended attributes may be counted towards the disk quotas
@@ -67,7 +69,7 @@ Additional classes may be added in the future.
.SS Extended security attributes
The security attribute namespace is used by kernel security modules,
such as Security Enhanced Linux, and also to implement file capabilities (see
-.BR capabilities (7)).
+.MR capabilities 7 ).
Read and write access permissions to security attributes depend on the
policy implemented for each security attribute by the security module.
When no security module is loaded, all processes have read access to
@@ -114,7 +116,7 @@ user extended attributes are allowed only for regular files and directories,
and access to user extended attributes is restricted to the
owner and to users with appropriate capabilities for directories with the
sticky bit set (see the
-.BR chmod (1)
+.MR chmod 1
manual page for an explanation of the sticky bit).
.SS Filesystem differences
The kernel and the filesystem may place limits on the maximum number
@@ -124,7 +126,7 @@ and 64\ kB, respectively.
The list of attribute names that
can be returned is also limited to 64\ kB
(see BUGS in
-.BR listxattr (2)).
+.MR listxattr 2 ).
.P
Some filesystems, such as Reiserfs (and, historically, ext2 and ext3),
require the filesystem to be mounted with the
@@ -160,21 +162,21 @@ size, care should be taken to store attribute values in an
architecture-independent format.
.P
This page was formerly named
-.BR attr (5).
+.MR attr 5 .
.\" .SH AUTHORS
.\" Andreas Gruenbacher,
.\" .RI < a.gruenbacher@bestbits.at >
.\" and the SGI XFS development team,
.\" .RI < linux-xfs@oss.sgi.com >.
.SH SEE ALSO
-.BR attr (1),
-.BR getfattr (1),
-.BR setfattr (1),
-.BR getxattr (2),
-.BR ioctl_iflags (2),
-.BR listxattr (2),
-.BR removexattr (2),
-.BR setxattr (2),
-.BR acl (5),
-.BR capabilities (7),
-.BR selinux (8)
+.MR attr 1 ,
+.MR getfattr 1 ,
+.MR setfattr 1 ,
+.MR getxattr 2 ,
+.MR ioctl_iflags 2 ,
+.MR listxattr 2 ,
+.MR removexattr 2 ,
+.MR setxattr 2 ,
+.MR acl 5 ,
+.MR capabilities 7 ,
+.MR selinux 8
diff --git a/man8/iconvconfig.8 b/man8/iconvconfig.8
index 63c8b8d43..aa5c1f660 100644
--- a/man8/iconvconfig.8
+++ b/man8/iconvconfig.8
@@ -11,7 +11,7 @@ iconvconfig \- create iconv module configuration cache
.RI [ directory ]...
.SH DESCRIPTION
The
-.BR iconv (3)
+.MR iconv 3
function internally uses
.I gconv
modules to convert to and from a character set.
@@ -19,7 +19,7 @@ A configuration file is used to determine the needed modules
for a conversion.
Loading and parsing such a configuration file would slow down
programs that use
-.BR iconv (3),
+.MR iconv 3 ,
so a caching mechanism is employed.
.P
The
@@ -88,5 +88,5 @@ Depending on the architecture,
the above files may instead be located at directories with the path prefix
.IR /usr/lib64 .
.SH SEE ALSO
-.BR iconv (1),
-.BR iconv (3)
+.MR iconv 1 ,
+.MR iconv 3
diff --git a/man8/intro.8 b/man8/intro.8
index bd0345de1..bc58893b3 100644
--- a/man8/intro.8
+++ b/man8/intro.8
@@ -20,7 +20,7 @@ As with the commands described in Section 1, the commands described
in this section terminate with an exit status that indicates
whether the command succeeded or failed.
See
-.BR intro (1)
+.MR intro 1
for more information.
.SH NOTES
.SS Authors and copyright conditions
diff --git a/man8/ld.so.8 b/man8/ld.so.8
index eb6c2c8ff..a57bffe5a 100644
--- a/man8/ld.so.8
+++ b/man8/ld.so.8
@@ -30,7 +30,7 @@ Linux binaries require dynamic linking (linking at run time)
unless the
.B \-static
option was given to
-.BR ld (1)
+.MR ld 1
during compilation.
.P
The program
@@ -42,8 +42,9 @@ The program
handles binaries that are in the more modern ELF format.
Both programs have the same behavior, and use the same
support files and programs
-.RB ( ldd (1),
-.BR ldconfig (8),
+\%(\c
+.MR ldd 1 ,
+.MR ldconfig 8 ,
and
.IR /etc/ld.so.conf ).
.P
@@ -128,9 +129,9 @@ and
(see below), and
.IP \[bu]
in the filename arguments to the
-.BR dlopen (3)
+.MR dlopen 3
and
-.BR dlmopen (3)
+.MR dlmopen 3
functions.
.P
The substituted tokens are as follows:
@@ -178,7 +179,7 @@ string to the dynamic linker.
The value of this string is taken from the
.B AT_PLATFORM
value in the auxiliary vector (see
-.BR getauxval (3)).
+.MR getauxval 3 ).
.\" To get an idea of the places that $PLATFORM would match,
.\" look at the output of the following:
.\"
@@ -251,7 +252,7 @@ Print system diagnostic information in a machine-readable format,
such as some internal loader variables,
the auxiliary vector
(see
-.BR getauxval (3)),
+.MR getauxval 3 ),
and the environment variables.
On some architectures,
the command might print additional information
@@ -322,7 +323,7 @@ and
A binary is executed in secure-execution mode if the
.B AT_SECURE
entry in the auxiliary vector (see
-.BR getauxval (3))
+.MR getauxval 3 )
has a nonzero value.
This entry may have a nonzero value for various reasons, including:
.IP \[bu] 3
@@ -380,7 +381,7 @@ LinuxThreads POSIX threads implementation on systems that provided both
LinuxThreads and NPTL
(which latter was typically the default on such systems);
see
-.BR pthreads (7).
+.MR pthreads 7 .
.TP
.BR LD_BIND_NOW " (since glibc 2.1.1)"
If set to a nonempty string,
@@ -484,7 +485,7 @@ file (described below).
.B LD_TRACE_LOADED_OBJECTS
If set (to any value), causes the program to list its dynamic
dependencies, as if run by
-.BR ldd (1),
+.MR ldd 1 ,
instead of running normally.
.P
Then there are lots of more or less obscure variables,
@@ -508,7 +509,7 @@ loading a new shared object, resolving a symbol,
or calling a symbol from another shared object\[em]by
calling an appropriate function within the audit shared object.
For details, see
-.BR rtld\-audit (7).
+.MR rtld\-audit 7 .
The auditing interface is largely compatible with that provided on Solaris,
as described in its
.IR "Linker and Libraries Guide" ,
@@ -676,7 +677,7 @@ Set to 0 to disable pointer guarding.
Any other value enables pointer guarding, which is also the default.
Pointer guarding is a security mechanism whereby some pointers to code
stored in writable program memory (return addresses saved by
-.BR setjmp (3)
+.MR setjmp 3
or function pointers used by various glibc internals) are mangled
semi-randomly to make it more difficult for an attacker to hijack
the pointers for use in the event of a buffer overrun or
@@ -713,7 +714,7 @@ is always used.
.BR LD_SHOW_AUXV " (since glibc 2.1)"
If this environment variable is defined (with any value),
show the auxiliary array passed up from the kernel (see also
-.BR getauxval (3)).
+.MR getauxval 3 ).
.IP
Since glibc 2.3.4,
.B LD_SHOW_AUXV
@@ -724,7 +725,7 @@ If this environment variable is defined,
trace prelinking of the object whose name is assigned to
this environment variable.
(Use
-.BR ldd (1)
+.MR ldd 1
to get a list of the objects that might be traced.)
If the object name is not recognized,
.\" (This is what seems to happen, from experimenting)
@@ -767,7 +768,7 @@ when the target of a branch is more than 4\ GB away from the branch.
If this environment variable is set (to any value),
the dynamic linker
will first try to map executable pages using the
-.BR mmap (2)
+.MR mmap 2
.B MAP_32BIT
flag, and fall back to mapping without that flag if that attempt fails.
NB: MAP_32BIT will map to the low 2\ GB (not 4\ GB) of the address space.
@@ -790,7 +791,7 @@ ELF dynamic linker/loader
File containing a compiled list of directories in which to search for
shared objects and an ordered list of candidate shared objects.
See
-.BR ldconfig (8).
+.MR ldconfig 8 .
.TP
.I /etc/ld.so.preload
File containing a whitespace-separated list of ELF shared objects to
@@ -911,17 +912,17 @@ x86-64-v4, x86-64-v3, x86-64-v2
glibc 2.37 removed support for the legacy hardware capabilities.
.\"
.SH SEE ALSO
-.BR ld (1),
-.BR ldd (1),
-.BR pldd (1),
-.BR sprof (1),
-.BR dlopen (3),
-.BR getauxval (3),
-.BR elf (5),
-.BR capabilities (7),
-.BR rtld\-audit (7),
-.BR ldconfig (8),
-.BR sln (8)
+.MR ld 1 ,
+.MR ldd 1 ,
+.MR pldd 1 ,
+.MR sprof 1 ,
+.MR dlopen 3 ,
+.MR getauxval 3 ,
+.MR elf 5 ,
+.MR capabilities 7 ,
+.MR rtld\-audit 7 ,
+.MR ldconfig 8 ,
+.MR sln 8
.\" .SH AUTHORS
.\" ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
.\" Torvalds, Lars Wirzenius and Mitch D'Souza
diff --git a/man8/ldconfig.8 b/man8/ldconfig.8
index f9211caf8..1f642b297 100644
--- a/man8/ldconfig.8
+++ b/man8/ldconfig.8
@@ -200,5 +200,5 @@ specified in
as well as those found in the trusted directories.
.PD
.SH SEE ALSO
-.BR ldd (1),
-.BR ld.so (8)
+.MR ldd 1 ,
+.MR ld.so 8
diff --git a/man8/nscd.8 b/man8/nscd.8
index a172fdef8..6fcf93623 100644
--- a/man8/nscd.8
+++ b/man8/nscd.8
@@ -17,22 +17,22 @@ The default configuration file,
.IR /etc/nscd.conf ,
determines the behavior of the cache daemon.
See
-.BR nscd.conf (5).
+.MR nscd.conf 5 .
.P
.B nscd
provides caching for accesses of the
-.BR passwd (5),
-.BR group (5),
-.BR hosts (5)
-.BR services (5)
+.MR passwd 5 ,
+.MR group 5 ,
+.MR hosts 5
+.MR services 5
and
.I netgroup
databases through standard libc interfaces, such as
-.BR getpwnam (3),
-.BR getpwuid (3),
-.BR getgrnam (3),
-.BR getgrgid (3),
-.BR gethostbyname (3),
+.MR getpwnam 3 ,
+.MR getpwuid 3 ,
+.MR getgrnam 3 ,
+.MR getgrgid 3 ,
+.MR gethostbyname 3 ,
and others.
.P
There are two caches for each database:
@@ -41,7 +41,7 @@ for items not found.
Each cache has a separate TTL (time-to-live)
period for its data.
Note that the shadow file is specifically not cached.
-.BR getspnam (3)
+.MR getspnam 3
calls remain uncached as a result.
.SH OPTIONS
.TP
@@ -61,7 +61,7 @@ for the
.I hosts
database), and flush the cache when these are changed.
However, this will happen only after a short delay (unless the
-.BR inotify (7)
+.MR inotify 7
mechanism is available and glibc 2.9 or later is available),
and this auto-detection does not cover configuration files
required by nonstandard NSS modules, if any are specified in
@@ -77,8 +77,8 @@ $ \fBnscd \-i\fP \fI<database>\fP
.EE
.in
.SH SEE ALSO
-.BR nscd.conf (5),
-.BR nsswitch.conf (5)
+.MR nscd.conf 5 ,
+.MR nsswitch.conf 5
.\" .SH AUTHOR
.\" .B nscd
.\" was written by Thorsten Kukuk and Ulrich Drepper.
diff --git a/man8/sln.8 b/man8/sln.8
index b8880a830..3e458de8a 100644
--- a/man8/sln.8
+++ b/man8/sln.8
@@ -15,7 +15,7 @@ The
.B sln
program creates symbolic links.
Unlike the
-.BR ln (1)
+.MR ln 1
program, it is statically linked.
This means that if for some reason the dynamic linker is not working,
.B sln
@@ -39,6 +39,6 @@ The
.B sln
program supports no command-line options.
.SH SEE ALSO
-.BR ln (1),
-.BR ld.so (8),
-.BR ldconfig (8)
+.MR ln 1 ,
+.MR ld.so 8 ,
+.MR ldconfig 8