1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2013-09-28 04:06+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
20 #: build/C/man7/feature_test_macros.7:25
22 msgid "FEATURE_TEST_MACROS"
26 #: build/C/man7/feature_test_macros.7:25 build/C/man7/libc.7:26 build/C/man7/man.7:34 build/C/man7/units.7:26
32 #: build/C/man7/feature_test_macros.7:25 build/C/man1/intro.1:28 build/C/man2/intro.2:29 build/C/man3/intro.3:26 build/C/man4/intro.4:26 build/C/man5/intro.5:27 build/C/man6/intro.6:26 build/C/man7/intro.7:28 build/C/man8/intro.8:29 build/C/man7/libc.7:26 build/C/man7/mailaddr.7:27 build/C/man7/man-pages.7:30 build/C/man7/man.7:34 build/C/man7/mdoc.7:44 build/C/man7/operator.7:40 build/C/man5/proc.5:62 build/C/man7/standards.7:26 build/C/man7/suffixes.7:40 build/C/man3/undocumented.3:29 build/C/man2/unimplemented.2:26 build/C/man7/units.7:26
38 #: build/C/man7/feature_test_macros.7:25 build/C/man2/intro.2:29 build/C/man3/intro.3:26 build/C/man4/intro.4:26 build/C/man5/intro.5:27 build/C/man6/intro.6:26 build/C/man7/intro.7:28 build/C/man8/intro.8:29 build/C/man7/libc.7:26 build/C/man7/man-pages.7:30 build/C/man7/man.7:34 build/C/man7/operator.7:40 build/C/man7/posixoptions.7:24 build/C/man5/proc.5:62 build/C/man7/standards.7:26 build/C/man7/suffixes.7:40 build/C/man3/undocumented.3:29 build/C/man2/unimplemented.2:26 build/C/man7/units.7:26
40 msgid "Linux Programmer's Manual"
44 #: build/C/man7/feature_test_macros.7:26 build/C/man1/intro.1:29 build/C/man2/intro.2:30 build/C/man3/intro.3:27 build/C/man4/intro.4:27 build/C/man5/intro.5:28 build/C/man6/intro.6:27 build/C/man7/intro.7:29 build/C/man8/intro.8:30 build/C/man7/libc.7:27 build/C/man7/mailaddr.7:29 build/C/man7/man-pages.7:31 build/C/man7/man.7:35 build/C/man7/mdoc.7:45 build/C/man7/operator.7:41 build/C/man7/posixoptions.7:25 build/C/man5/proc.5:63 build/C/man7/standards.7:27 build/C/man7/suffixes.7:41 build/C/man3/undocumented.3:30 build/C/man2/unimplemented.2:27 build/C/man7/units.7:27 build/C/man7/mdoc.samples.7:46
50 #: build/C/man7/feature_test_macros.7:28
51 msgid "feature_test_macros - feature test macros"
55 #: build/C/man7/feature_test_macros.7:28 build/C/man7/man-pages.7:33 build/C/man7/man.7:37 build/C/man7/mdoc.7:50 build/C/man3/undocumented.3:32 build/C/man2/unimplemented.2:31 build/C/man7/mdoc.samples.7:52
61 #: build/C/man7/feature_test_macros.7:31
63 msgid "B<#include E<lt>features.hE<gt>>\n"
67 #: build/C/man7/feature_test_macros.7:32 build/C/man1/intro.1:31 build/C/man2/intro.2:32 build/C/man3/intro.3:29 build/C/man4/intro.4:29 build/C/man5/intro.5:30 build/C/man6/intro.6:29 build/C/man7/intro.7:31 build/C/man8/intro.8:32 build/C/man7/libc.7:29 build/C/man7/mailaddr.7:31 build/C/man7/man-pages.7:37 build/C/man7/man.7:49 build/C/man7/mdoc.7:54 build/C/man7/operator.7:43 build/C/man7/posixoptions.7:27 build/C/man5/proc.5:65 build/C/man7/standards.7:29 build/C/man7/suffixes.7:43 build/C/man3/undocumented.3:34 build/C/man2/unimplemented.2:33 build/C/man7/units.7:29 build/C/man7/mdoc.samples.7:54
73 #: build/C/man7/feature_test_macros.7:35
75 "Feature test macros allow the programmer to control the definitions that are "
76 "exposed by system header files when a program is compiled."
80 #: build/C/man7/feature_test_macros.7:43
82 "B<NOTE:> In order to be effective, a feature test macro I<must be defined "
83 "before including any header files>. This can be done either in the "
84 "compilation command (I<cc -DMACRO=value>) or by defining the macro within "
85 "the source code before including any headers."
89 #: build/C/man7/feature_test_macros.7:52
91 "Some feature test macros are useful for creating portable applications, by "
92 "preventing nonstandard definitions from being exposed. Other macros can be "
93 "used to expose nonstandard definitions that are not exposed by default. The "
94 "precise effects of each of the feature test macros described below can be "
95 "ascertained by inspecting the I<E<lt>features.hE<gt>> header file."
99 #: build/C/man7/feature_test_macros.7:52
101 msgid "Specification of feature test macro requirements in manual pages"
105 #: build/C/man7/feature_test_macros.7:58
107 "When a function requires that a feature test macro is defined, the manual "
108 "page SYNOPSIS typically includes a note of the following form (this example "
109 "from the B<acct>(2) manual page):"
113 #: build/C/man7/feature_test_macros.7:61
114 msgid "B<#include E<lt>unistd.hE<gt>>"
118 #: build/C/man7/feature_test_macros.7:63
119 msgid "B<int acct(const char *>I<filename>B<);>"
123 #: build/C/man7/feature_test_macros.7:68
126 "Feature Test Macro Requirements for glibc (see\n"
127 "B<feature_test_macros>(7)):\n"
131 #: build/C/man7/feature_test_macros.7:73
132 msgid "B<acct>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
136 #: build/C/man7/feature_test_macros.7:84
138 "The B<||> means that in order to obtain the declaration of B<acct>(2) from "
139 "I<E<lt>unistd.hE<gt>>, I<either> of the following macro definitions must be "
140 "made before including any header files:"
144 #: build/C/man7/feature_test_macros.7:89
147 "#define _BSD_SOURCE\n"
148 "#define _XOPEN_SOURCE /* or any value E<lt> 500 */\n"
152 #: build/C/man7/feature_test_macros.7:94
154 "Alternatively, equivalent definitions can be included in the compilation "
159 #: build/C/man7/feature_test_macros.7:99
163 "cc -D_XOPEN_SOURCE # Or any value E<lt> 500\n"
167 #: build/C/man7/feature_test_macros.7:107
169 "Note that, as described below, B<some feature test macros are defined by "
170 "default>, so that it may not always be necessary to explicitly specify the "
171 "feature test macro(s) shown in the SYNOPSIS."
175 #: build/C/man7/feature_test_macros.7:111
177 "In a few cases, manual pages use a shorthand for expressing the feature test "
178 "macro requirements (this example from B<readahead>(2)):"
182 #: build/C/man7/feature_test_macros.7:116
185 "B<#define _GNU_SOURCE>\n"
186 "B<#include E<lt>fcntl.hE<gt>>\n"
190 #: build/C/man7/feature_test_macros.7:118
193 "B<ssize_t readahead(int >I<fd>B<, off64_t *>I<offset>B<, size_t "
198 #: build/C/man7/feature_test_macros.7:124
200 "This format is employed in cases where only a single feature test macro can "
201 "be used to expose the function declaration, and that macro is not defined by "
206 #: build/C/man7/feature_test_macros.7:124
208 msgid "Feature test macros understood by glibc"
211 #. The details in glibc 2.0 are simpler, but combining a
212 #. a description of them with the details in later glibc versions
213 #. would make for a complicated description.
215 #: build/C/man7/feature_test_macros.7:132
217 "The following paragraphs explain how feature test macros are handled in "
218 "Linux glibc 2.I<x>, I<x> E<gt> 0."
222 #: build/C/man7/feature_test_macros.7:134
223 msgid "Linux glibc understands the following feature test macros:"
227 #: build/C/man7/feature_test_macros.7:134
229 msgid "B<__STRICT_ANSI__>"
233 #: build/C/man7/feature_test_macros.7:144
235 "ISO Standard C. This macro is implicitly defined by B<gcc>(1) when invoked "
236 "with, for example, the I<-std=c99> or I<-ansi> flag."
240 #: build/C/man7/feature_test_macros.7:144
242 msgid "B<_POSIX_C_SOURCE>"
246 #: build/C/man7/feature_test_macros.7:147 build/C/man7/feature_test_macros.7:178
247 msgid "Defining this macro causes header files to expose definitions as follows:"
251 #: build/C/man7/feature_test_macros.7:148 build/C/man7/feature_test_macros.7:151 build/C/man7/feature_test_macros.7:154 build/C/man7/feature_test_macros.7:158 build/C/man7/feature_test_macros.7:161 build/C/man7/feature_test_macros.7:165 build/C/man7/feature_test_macros.7:179 build/C/man7/feature_test_macros.7:182 build/C/man7/feature_test_macros.7:185 build/C/man7/feature_test_macros.7:189 build/C/man7/feature_test_macros.7:414 build/C/man7/feature_test_macros.7:419 build/C/man7/feature_test_macros.7:425 build/C/man7/feature_test_macros.7:430 build/C/man7/feature_test_macros.7:436 build/C/man7/feature_test_macros.7:441 build/C/man5/proc.5:2645 build/C/man5/proc.5:2647 build/C/man5/proc.5:2649 build/C/man5/proc.5:2652
257 #: build/C/man7/feature_test_macros.7:151
258 msgid "The value 1 exposes definitions conforming to POSIX.1-1990 and ISO C (1990)."
262 #: build/C/man7/feature_test_macros.7:154
263 msgid "The value 2 or greater additionally exposes definitions for POSIX.2-1992."
266 #. 199506L functionality is available only since glibc 2.1
268 #: build/C/man7/feature_test_macros.7:158
270 "The value 199309L or greater additionally exposes definitions for POSIX.1b "
271 "(real-time extensions)."
275 #: build/C/man7/feature_test_macros.7:161
277 "The value 199506L or greater additionally exposes definitions for POSIX.1c "
282 #: build/C/man7/feature_test_macros.7:165
284 "(Since glibc 2.3.3) The value 200112L or greater exposes definitions "
285 "corresponding to the POSIX.1-2001 base specification (excluding the XSI "
290 #: build/C/man7/feature_test_macros.7:169
292 "(Since glibc 2.10) The value 200809L or greater exposes definitions "
293 "corresponding to the POSIX.1-2008 base specification (excluding the XSI "
298 #: build/C/man7/feature_test_macros.7:170
300 msgid "B<_POSIX_SOURCE>"
304 #: build/C/man7/feature_test_macros.7:175
306 "Defining this obsolete macro with any value is equivalent to defining "
307 "B<_POSIX_C_SOURCE> with the value 1."
311 #: build/C/man7/feature_test_macros.7:175
313 msgid "B<_XOPEN_SOURCE>"
317 #: build/C/man7/feature_test_macros.7:182
319 "Defining with any value exposes definitions conforming to POSIX.1, POSIX.2, "
324 #: build/C/man7/feature_test_macros.7:185
326 "The value 500 or greater additionally exposes definitions for SUSv2 (UNIX "
331 #: build/C/man7/feature_test_macros.7:189
333 "(Since glibc 2.2) The value 600 or greater additionally exposes definitions "
334 "for SUSv3 (UNIX 03; i.e., the POSIX.1-2001 base specification plus the XSI "
335 "extension) and C99 definitions."
339 #: build/C/man7/feature_test_macros.7:193
341 "(Since glibc 2.10) The value 700 or greater additionally exposes definitions "
342 "for SUSv4 (i.e., the POSIX.1-2008 base specification plus the XSI "
347 #: build/C/man7/feature_test_macros.7:194
349 msgid "B<_XOPEN_SOURCE_EXTENDED>"
353 #: build/C/man7/feature_test_macros.7:203
355 "If this macro is defined, and B<_XOPEN_SOURCE> is defined, then expose "
356 "definitions corresponding to the XPG4v2 (SUSv1) UNIX extensions (UNIX 95). "
357 "This macro is also implicitly defined if B<_XOPEN_SOURCE> is defined with a "
358 "value of 500 or more."
362 #: build/C/man7/feature_test_macros.7:203
364 msgid "B<_ISOC95_SOURCE>"
368 #: build/C/man7/feature_test_macros.7:213
370 "Exposes ISO C (1990) Amendment 1 definitions (also known as C95). This "
371 "macro is recognized since glibc 2.12. The primary change in C95 was support "
372 "for international character sets. The C95 changes were included in the "
373 "subsequent C99 standard (in other words, B<_ISOC99_SOURCE> implies "
374 "B<_ISOC95_SOURCE>)."
378 #: build/C/man7/feature_test_macros.7:213
380 msgid "B<_ISOC99_SOURCE>"
384 #: build/C/man7/feature_test_macros.7:222
386 "Exposes C99 extensions to ISO C (1990). This macro is recognized since "
387 "glibc 2.1.3; earlier glibc 2.1.x versions recognized an equivalent macro "
388 "named B<_ISOC9X_SOURCE> (because the C99 standard had not then been "
389 "finalized). Although the use of the latter macro is obsolete, glibc "
390 "continues to recognize it for backward compatibility."
394 #: build/C/man7/feature_test_macros.7:222
396 msgid "B<_ISOC11_SOURCE>"
400 #: build/C/man7/feature_test_macros.7:226
402 "Exposes declarations consistent with the ISO C11 standard. This macro is "
403 "recognized since glibc 2.16."
407 #: build/C/man7/feature_test_macros.7:226
409 msgid "B<_LARGEFILE64_SOURCE>"
413 #: build/C/man7/feature_test_macros.7:247
415 "Expose definitions for the alternative API specified by the LFS (Large File "
416 "Summit) as a \"transitional extension\" to the Single UNIX Specification. "
417 "(See E<.UR http:\\:/\\:/opengroup.org\\:/platform\\:/lfs.html> E<.UE )> The "
418 "alternative API consists of a set of new objects (i.e., functions and types) "
419 "whose names are suffixed with \"64\" (e.g., I<off64_t> versus I<off_t>, "
420 "B<lseek64>() versus B<lseek>(), etc.). New programs should not employ this "
421 "interface; instead I<_FILE_OFFSET_BITS=64> should be employed."
425 #: build/C/man7/feature_test_macros.7:247
427 msgid "B<_FILE_OFFSET_BITS>"
431 #: build/C/man7/feature_test_macros.7:259
433 "Defining this macro with the value 64 automatically converts references to "
434 "32-bit functions and data types related to file I/O and filesystem "
435 "operations into references to their 64-bit counterparts. This is useful for "
436 "performing I/O on large files (E<gt> 2 Gigabytes) on 32-bit systems. "
437 "(Defining this macro permits correctly written programs to use large files "
438 "with only a recompilation being required.) 64-bit systems naturally permit "
439 "file sizes greater than 2 Gigabytes, and on those systems this macro has no "
444 #: build/C/man7/feature_test_macros.7:259
446 msgid "B<_BSD_SOURCE>"
450 #: build/C/man7/feature_test_macros.7:273
452 "Defining this macro with any value causes header files to expose BSD-derived "
453 "definitions. Defining this macro also causes BSD definitions to be "
454 "preferred in some situations where standards conflict, unless one or more of "
455 "B<_SVID_SOURCE>, B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, "
456 "B<_XOPEN_SOURCE_EXTENDED>, or B<_GNU_SOURCE> is defined, in which case BSD "
457 "definitions are disfavored."
461 #: build/C/man7/feature_test_macros.7:273
463 msgid "B<_SVID_SOURCE>"
467 #: build/C/man7/feature_test_macros.7:279
469 "Defining this macro with any value causes header files to expose System "
470 "V-derived definitions. (SVID == System V Interface Definition; see "
475 #: build/C/man7/feature_test_macros.7:279
477 msgid "B<_ATFILE_SOURCE> (since glibc 2.4)"
481 #: build/C/man7/feature_test_macros.7:288
483 "Defining this macro with any value causes header files to expose "
484 "declarations of a range of functions with the suffix \"at\"; see "
485 "B<openat>(2). Since glibc 2.10, this macro is also implicitly defined if "
486 "B<_POSIX_C_SOURCE> is defined with a value greater than or equal to 200809L."
490 #: build/C/man7/feature_test_macros.7:288
492 msgid "B<_GNU_SOURCE>"
496 #: build/C/man7/feature_test_macros.7:310
498 "Defining this macro (with any value) is equivalent to defining "
499 "B<_BSD_SOURCE>, B<_SVID_SOURCE>, B<_ATFILE_SOURCE>, B<_LARGEFILE64_SOURCE>, "
500 "B<_ISOC99_SOURCE>, B<_XOPEN_SOURCE_EXTENDED>, B<_POSIX_SOURCE>, "
501 "B<_POSIX_C_SOURCE> with the value 200809L (200112L in glibc versions before "
502 "2.10; 199506L in glibc versions before 2.5; 199309L in glibc versions before "
503 "2.1) and B<_XOPEN_SOURCE> with the value 700 (600 in glibc versions before "
504 "2.10; 500 in glibc versions before 2.2). In addition, various GNU-specific "
505 "extensions are also exposed. Where standards conflict, BSD definitions are "
510 #: build/C/man7/feature_test_macros.7:310
512 msgid "B<_REENTRANT>"
516 #: build/C/man7/feature_test_macros.7:316
518 "Defining this macro exposes definitions of certain reentrant functions. For "
519 "multithreaded programs, use I<cc\\ -pthread> instead."
523 #: build/C/man7/feature_test_macros.7:316
525 msgid "B<_THREAD_SAFE>"
529 #: build/C/man7/feature_test_macros.7:321
531 "Synonym for B<_REENTRANT>, provided for compatibility with some other "
536 #: build/C/man7/feature_test_macros.7:321
538 msgid "B<_FORTIFY_SOURCE> (since glibc 2.3.4)"
541 #. For more detail, see:
542 #. http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
543 #. [PATCH] Object size checking to prevent (some) buffer overflows
544 #. * From: Jakub Jelinek <jakub at redhat dot com>
545 #. * To: gcc-patches at gcc dot gnu dot org
546 #. * Date: Tue, 21 Sep 2004 04:16:40 -0400
548 #: build/C/man7/feature_test_macros.7:367
550 "Defining this macro causes some lightweight checks to be performed to detect "
551 "some buffer overflow errors when employing various string and memory "
552 "manipulation functions. Not all buffer overflows are detected, just some "
553 "common cases. In the current implementation, checks are added for calls to "
554 "B<memcpy>(3), B<mempcpy>(3), B<memmove>(3), B<memset>(3), B<stpcpy>(3), "
555 "B<strcpy>(3), B<strncpy>(3), B<strcat>(3), B<strncat>(3), B<sprintf>(3), "
556 "B<snprintf>(3), B<vsprintf>(3), B<vsnprintf>(3), and B<gets>(3). If "
557 "B<_FORTIFY_SOURCE> is set to 1, with compiler optimization level 1 (I<gcc\\ "
558 "-O1>) and above, checks that shouldn't change the behavior of conforming "
559 "programs are performed. With B<_FORTIFY_SOURCE> set to 2 some more checking "
560 "is added, but some conforming programs might fail. Some of the checks can "
561 "be performed at compile time, and result in compiler warnings; other checks "
562 "take place at run time, and result in a run-time error if the check fails. "
563 "Use of this macro requires compiler support, available with B<gcc>(1) since "
568 #: build/C/man7/feature_test_macros.7:367
570 msgid "Default definitions, implicit definitions, and combining definitions"
574 #: build/C/man7/feature_test_macros.7:379
576 "If no feature test macros are explicitly defined, then the following feature "
577 "test macros are defined by default: B<_BSD_SOURCE>, B<_SVID_SOURCE>, "
578 "B<_POSIX_SOURCE>, and B<_POSIX_C_SOURCE>=200809L (200112L in glibc versions "
579 "before 2.10; 199506L in glibc versions before 2.4; 199309L in glibc versions "
584 #: build/C/man7/feature_test_macros.7:395
586 "If any of B<__STRICT_ANSI__>, B<_ISOC99_SOURCE>, B<_POSIX_SOURCE>, "
587 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_XOPEN_SOURCE_EXTENDED>, "
588 "B<_BSD_SOURCE>, or B<_SVID_SOURCE> is explicitly defined, then "
589 "B<_BSD_SOURCE>, and B<_SVID_SOURCE> are not defined by default."
593 #: build/C/man7/feature_test_macros.7:406
595 "If B<_POSIX_SOURCE> and B<_POSIX_C_SOURCE> are not explicitly defined, and "
596 "either B<__STRICT_ANSI__> is not defined or B<_XOPEN_SOURCE> is defined with "
597 "a value of 500 or more, then"
601 #: build/C/man7/feature_test_macros.7:407 build/C/man7/feature_test_macros.7:410 build/C/man7/man-pages.7:359 build/C/man7/man-pages.7:361 build/C/man7/man-pages.7:363 build/C/man7/man-pages.7:559 build/C/man7/man-pages.7:562 build/C/man7/man-pages.7:569 build/C/man7/man-pages.7:573 build/C/man7/man-pages.7:577 build/C/man7/man-pages.7:581 build/C/man7/man-pages.7:587 build/C/man5/proc.5:832 build/C/man5/proc.5:836 build/C/man5/proc.5:839 build/C/man5/proc.5:841 build/C/man5/proc.5:844 build/C/man5/proc.5:1320 build/C/man5/proc.5:1323 build/C/man5/proc.5:1335 build/C/man5/proc.5:1338 build/C/man5/proc.5:1342 build/C/man5/proc.5:1345 build/C/man5/proc.5:1348 build/C/man5/proc.5:1351 build/C/man5/proc.5:1354 build/C/man5/proc.5:1357 build/C/man5/proc.5:1360 build/C/man5/proc.5:1363 build/C/man5/proc.5:1367 build/C/man5/proc.5:1370 build/C/man5/proc.5:1373 build/C/man5/proc.5:1376 build/C/man5/proc.5:1379 build/C/man5/proc.5:1382 build/C/man5/proc.5:1385 build/C/man5/proc.5:1396 build/C/man5/proc.5:1402 build/C/man5/proc.5:1406 build/C/man5/proc.5:1411 build/C/man5/proc.5:1416 build/C/man5/proc.5:1421 build/C/man5/proc.5:1426 build/C/man5/proc.5:1431 build/C/man5/proc.5:1436 build/C/man5/proc.5:2426 build/C/man5/proc.5:2430 build/C/man5/proc.5:2433 build/C/man5/proc.5:2438 build/C/man5/proc.5:2632 build/C/man5/proc.5:2636 build/C/man5/proc.5:2642 build/C/man5/proc.5:2681 build/C/man5/proc.5:2687 build/C/man5/proc.5:2689
607 #: build/C/man7/feature_test_macros.7:410
608 msgid "B<_POSIX_SOURCE> is defined with the value 1; and"
612 #: build/C/man7/feature_test_macros.7:413
613 msgid "B<_POSIX_C_SOURCE> is defined with one of the following values:"
617 #: build/C/man7/feature_test_macros.7:419
618 msgid "2, if B<XOPEN_SOURCE> is defined with a value less than 500;"
622 #: build/C/man7/feature_test_macros.7:425
624 "199506L, if B<XOPEN_SOURCE> is defined with a value greater than or equal to "
625 "500 and less than 600; or"
629 #: build/C/man7/feature_test_macros.7:430
631 "(since glibc 2.4) 200112L, if B<XOPEN_SOURCE> is defined with a value "
632 "greater than or equal to 600 and less than 700."
636 #: build/C/man7/feature_test_macros.7:436
638 "(Since glibc 2.10) 200809L, if B<XOPEN_SOURCE> is defined with a value "
639 "greater than or equal to 700."
643 #: build/C/man7/feature_test_macros.7:441
645 "Older versions of glibc do not know about the values 200112L and 200809L for "
646 "B<_POSIX_C_SOURCE>, and the setting of this macro will depend on the glibc "
651 #: build/C/man7/feature_test_macros.7:450
653 "If B<_XOPEN_SOURCE> is undefined, then the setting of B<_POSIX_C_SOURCE> "
654 "depends on the glibc version: 199506L, in glibc versions before 2.4; "
655 "200112L, in glibc 2.4 to 2.9; and 200809L, since glibc 2.10."
659 #: build/C/man7/feature_test_macros.7:454
660 msgid "Multiple macros can be defined; the results are additive."
664 #: build/C/man7/feature_test_macros.7:454 build/C/man2/intro.2:70 build/C/man3/intro.3:87 build/C/man7/suffixes.7:277
666 msgid "CONFORMING TO"
670 #: build/C/man7/feature_test_macros.7:462
672 "POSIX.1 specifies B<_POSIX_C_SOURCE>, B<_POSIX_SOURCE>, and "
673 "B<_XOPEN_SOURCE>. B<_XOPEN_SOURCE_EXTENDED> was specified by XPG4v2 (aka "
678 #: build/C/man7/feature_test_macros.7:466
680 "B<_FILE_OFFSET_BITS> is not specified by any standard, but is employed on "
681 "some other implementations."
685 #: build/C/man7/feature_test_macros.7:476
687 "B<_BSD_SOURCE>, B<_SVID_SOURCE>, B<_ATFILE_SOURCE>, B<_GNU_SOURCE>, "
688 "B<_FORTIFY_SOURCE>, B<_REENTRANT>, and B<_THREAD_SAFE> are specific to Linux "
693 #: build/C/man7/feature_test_macros.7:476 build/C/man1/intro.1:48 build/C/man2/intro.2:75 build/C/man3/intro.3:92 build/C/man4/intro.4:33 build/C/man5/intro.5:33 build/C/man6/intro.6:32 build/C/man7/intro.7:36 build/C/man8/intro.8:44 build/C/man7/man.7:479 build/C/man5/proc.5:3517 build/C/man2/unimplemented.2:40
699 #: build/C/man7/feature_test_macros.7:483
701 "I<E<lt>features.hE<gt>> is a Linux/glibc-specific header file. Other "
702 "systems have an analogous file, but typically with a different name. This "
703 "header file is automatically included by other header files as required: it "
704 "is not necessary to explicitly include it in order to employ feature test "
709 #: build/C/man7/feature_test_macros.7:495
711 "According to which of the above feature test macros are defined, "
712 "I<E<lt>features.hE<gt>> internally defines various other macros that are "
713 "checked by other glibc header files. These macros have names prefixed by "
714 "two underscores (e.g., B<__USE_MISC>). Programs should I<never> define "
715 "these macros directly: instead, the appropriate feature test macro(s) from "
716 "the list above should be employed."
720 #: build/C/man7/feature_test_macros.7:495 build/C/man7/man-pages.7:607
726 #: build/C/man7/feature_test_macros.7:501
728 "The program below can be used to explore how the various feature test macros "
729 "are set depending on the glibc version and what feature test macros are "
730 "explicitly set. The following shell session, on a system with glibc 2.10, "
731 "shows some examples of what we would see:"
735 #: build/C/man7/feature_test_macros.7:528
740 "_POSIX_SOURCE defined\n"
741 "_POSIX_C_SOURCE defined: 200809L\n"
742 "_BSD_SOURCE defined\n"
743 "_SVID_SOURCE defined\n"
744 "_ATFILE_SOURCE defined\n"
745 "$ B<cc -D_XOPEN_SOURCE=500 ftm.c>\n"
747 "_POSIX_SOURCE defined\n"
748 "_POSIX_C_SOURCE defined: 199506L\n"
749 "_XOPEN_SOURCE defined: 500\n"
750 "$ B<cc -D_GNU_SOURCE ftm.c>\n"
752 "_POSIX_SOURCE defined\n"
753 "_POSIX_C_SOURCE defined: 200809L\n"
754 "_ISOC99_SOURCE defined\n"
755 "_XOPEN_SOURCE defined: 700\n"
756 "_XOPEN_SOURCE_EXTENDED defined\n"
757 "_LARGEFILE64_SOURCE defined\n"
758 "_BSD_SOURCE defined\n"
759 "_SVID_SOURCE defined\n"
760 "_ATFILE_SOURCE defined\n"
761 "_GNU_SOURCE defined\n"
765 #: build/C/man7/feature_test_macros.7:530
767 msgid "Program source"
771 #: build/C/man7/feature_test_macros.7:534
773 msgid "/* ftm.c */\n"
777 #: build/C/man7/feature_test_macros.7:538
780 "#include E<lt>stdio.hE<gt>\n"
781 "#include E<lt>unistd.hE<gt>\n"
782 "#include E<lt>stdlib.hE<gt>\n"
786 #: build/C/man7/feature_test_macros.7:545
790 "main(int argc, char *argv[])\n"
792 "#ifdef _POSIX_SOURCE\n"
793 " printf(\"_POSIX_SOURCE defined\\en\");\n"
798 #: build/C/man7/feature_test_macros.7:549
801 "#ifdef _POSIX_C_SOURCE\n"
802 " printf(\"_POSIX_C_SOURCE defined: %ldL\\en\", (long) _POSIX_C_SOURCE);\n"
807 #: build/C/man7/feature_test_macros.7:553
810 "#ifdef _ISOC99_SOURCE\n"
811 " printf(\"_ISOC99_SOURCE defined\\en\");\n"
816 #: build/C/man7/feature_test_macros.7:557
819 "#ifdef _XOPEN_SOURCE\n"
820 " printf(\"_XOPEN_SOURCE defined: %d\\en\", _XOPEN_SOURCE);\n"
825 #: build/C/man7/feature_test_macros.7:561
828 "#ifdef _XOPEN_SOURCE_EXTENDED\n"
829 " printf(\"_XOPEN_SOURCE_EXTENDED defined\\en\");\n"
834 #: build/C/man7/feature_test_macros.7:565
837 "#ifdef _LARGEFILE64_SOURCE\n"
838 " printf(\"_LARGEFILE64_SOURCE defined\\en\");\n"
843 #: build/C/man7/feature_test_macros.7:569
846 "#ifdef _FILE_OFFSET_BITS\n"
847 " printf(\"_FILE_OFFSET_BITS defined: %d\\en\", _FILE_OFFSET_BITS);\n"
852 #: build/C/man7/feature_test_macros.7:573
855 "#ifdef _BSD_SOURCE\n"
856 " printf(\"_BSD_SOURCE defined\\en\");\n"
861 #: build/C/man7/feature_test_macros.7:577
864 "#ifdef _SVID_SOURCE\n"
865 " printf(\"_SVID_SOURCE defined\\en\");\n"
870 #: build/C/man7/feature_test_macros.7:581
873 "#ifdef _ATFILE_SOURCE\n"
874 " printf(\"_ATFILE_SOURCE defined\\en\");\n"
879 #: build/C/man7/feature_test_macros.7:585
882 "#ifdef _GNU_SOURCE\n"
883 " printf(\"_GNU_SOURCE defined\\en\");\n"
888 #: build/C/man7/feature_test_macros.7:589
891 "#ifdef _REENTRANT\n"
892 " printf(\"_REENTRANT defined\\en\");\n"
897 #: build/C/man7/feature_test_macros.7:593
900 "#ifdef _THREAD_SAFE\n"
901 " printf(\"_THREAD_SAFE defined\\en\");\n"
906 #: build/C/man7/feature_test_macros.7:597
909 "#ifdef _FORTIFY_SOURCE\n"
910 " printf(\"_FORTIFY_SOURCE defined\\en\");\n"
915 #: build/C/man7/feature_test_macros.7:600
918 " exit(EXIT_SUCCESS);\n"
923 #: build/C/man7/feature_test_macros.7:601 build/C/man1/intro.1:302 build/C/man2/intro.2:89 build/C/man3/intro.3:97 build/C/man4/intro.4:38 build/C/man5/intro.5:38 build/C/man7/intro.7:41 build/C/man7/libc.7:99 build/C/man7/mailaddr.7:117 build/C/man7/man-pages.7:614 build/C/man7/man.7:560 build/C/man7/mdoc.7:428 build/C/man7/posixoptions.7:854 build/C/man5/proc.5:3530 build/C/man7/standards.7:272 build/C/man7/suffixes.7:281 build/C/man2/unimplemented.2:64 build/C/man7/mdoc.samples.7:2952
929 #: build/C/man7/feature_test_macros.7:604
930 msgid "B<libc>(7), B<standards>(7)"
933 #. But beware: the info libc document is out of date (Jul 07, mtk)
935 #: build/C/man7/feature_test_macros.7:608
936 msgid "The section \"Feature Test Macros\" under I<info libc>."
940 #: build/C/man7/feature_test_macros.7:610
941 msgid "I</usr/include/features.h>"
945 #: build/C/man7/feature_test_macros.7:610 build/C/man1/intro.1:304 build/C/man2/intro.2:112 build/C/man3/intro.3:110 build/C/man4/intro.4:40 build/C/man5/intro.5:40 build/C/man6/intro.6:37 build/C/man7/intro.7:43 build/C/man8/intro.8:49 build/C/man7/libc.7:104 build/C/man7/mailaddr.7:127 build/C/man7/man-pages.7:621 build/C/man7/man.7:572 build/C/man7/mdoc.7:433 build/C/man7/operator.7:65 build/C/man7/posixoptions.7:857 build/C/man5/proc.5:3561 build/C/man7/standards.7:276 build/C/man7/suffixes.7:284 build/C/man3/undocumented.3:183 build/C/man2/unimplemented.2:66 build/C/man7/units.7:130 build/C/man7/mdoc.samples.7:2957
951 #: build/C/man7/feature_test_macros.7:617 build/C/man1/intro.1:311 build/C/man2/intro.2:119 build/C/man3/intro.3:117 build/C/man4/intro.4:47 build/C/man5/intro.5:47 build/C/man6/intro.6:44 build/C/man7/intro.7:50 build/C/man8/intro.8:56 build/C/man7/libc.7:111 build/C/man7/mailaddr.7:134 build/C/man7/man-pages.7:628 build/C/man7/man.7:579 build/C/man7/operator.7:72 build/C/man7/posixoptions.7:864 build/C/man5/proc.5:3568 build/C/man7/standards.7:283 build/C/man7/suffixes.7:291 build/C/man3/undocumented.3:190 build/C/man2/unimplemented.2:73 build/C/man7/units.7:137
953 "This page is part of release 3.54 of the Linux I<man-pages> project. A "
954 "description of the project, and information about reporting bugs, can be "
955 "found at \\%http://www.kernel.org/doc/man-pages/."
959 #: build/C/man1/intro.1:28 build/C/man2/intro.2:29 build/C/man3/intro.3:26 build/C/man4/intro.4:26 build/C/man5/intro.5:27 build/C/man6/intro.6:26 build/C/man7/intro.7:28 build/C/man8/intro.8:29
965 #: build/C/man1/intro.1:28
971 #: build/C/man1/intro.1:28 build/C/man7/mailaddr.7:27
973 msgid "Linux User's Manual"
977 #: build/C/man1/intro.1:31
978 msgid "intro - introduction to user commands"
982 #: build/C/man1/intro.1:35
984 "Section 1 of the manual describes user commands and tools, for example, file "
985 "manipulation tools, shells, compilers, web browsers, file and image viewers "
986 "and editors, and so on."
990 #: build/C/man1/intro.1:48
992 "All commands yield a status value on termination. This value can be tested "
993 "(e.g., in most shells the variable I<$?> contains the status of the last "
994 "executed command) to see whether the command completed successfully. A "
995 "zero exit status is conventionally used to indicate success, and a nonzero "
996 "status means that the command was unsuccessful. (Details of the exit status "
997 "can be found in B<wait>(2).) A nonzero exit status can be in the range 1 to "
998 "255, and some commands use different nonzero status values to indicate the "
999 "reason why the command failed."
1003 #: build/C/man1/intro.1:52
1005 "Linux is a flavor of UNIX, and as a first approximation all user commands "
1006 "under UNIX work precisely the same under Linux (and FreeBSD and lots of "
1007 "other UNIX-like systems)."
1011 #: build/C/man1/intro.1:62
1013 "Under Linux there are GUIs (graphical user interfaces), where you can point "
1014 "and click and drag, and hopefully get work done without first reading lots "
1015 "of documentation. The traditional UNIX environment is a CLI (command line "
1016 "interface), where you type commands to tell the computer what to do. That "
1017 "is faster and more powerful, but requires finding out what the commands "
1018 "are. Below a bare minimum, to get started."
1022 #: build/C/man1/intro.1:62
1028 #: build/C/man1/intro.1:76
1030 "In order to start working, you probably first have to login, that is, give "
1031 "your username and password. See also B<login>(1). The program I<login> now "
1032 "starts a I<shell> (command interpreter) for you. In case of a graphical "
1033 "login, you get a screen with menus or icons and a mouse click will start a "
1034 "shell in a window. See also B<xterm>(1)."
1038 #: build/C/man1/intro.1:76
1044 #: build/C/man1/intro.1:91
1046 "One types commands to the I<shell>, the command interpreter. It is not "
1047 "built-in, but is just a program and you can change your shell. Everybody "
1048 "has her own favorite one. The standard one is called I<sh>. See also "
1049 "B<ash>(1), B<bash>(1), B<csh>(1), B<zsh>(1), B<chsh>(1)."
1053 #: build/C/man1/intro.1:93
1054 msgid "A session might go like"
1058 #: build/C/man1/intro.1:108
1061 "B<knuth login: >I<aeb>\n"
1062 "B<Password: >I<********>\n"
1064 "Tue Aug 6 23:50:44 CEST 2002\n"
1067 "Su Mo Tu We Th Fr Sa\n"
1070 "11 12 13 14 15 16 17\n"
1071 "18 19 20 21 22 23 24\n"
1072 "25 26 27 28 29 30 31\n"
1076 #: build/C/man1/intro.1:135
1083 "drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin\n"
1084 "-rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel\n"
1086 "maja 0501-1136285\n"
1087 "peter 0136-7399214\n"
1088 "B<% >I<cp tel tel2>\n"
1091 "drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin\n"
1092 "-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel\n"
1093 "-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2\n"
1094 "B<% >I<mv tel tel1>\n"
1097 "drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin\n"
1098 "-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1\n"
1099 "-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2\n"
1100 "B<% >I<diff tel1 tel2>\n"
1102 "B<% >I<grep maja tel2>\n"
1103 "maja 0501-1136285\n"
1108 #: build/C/man1/intro.1:147
1110 "and here typing Control-D ended the session. The B<% > here was the command "
1111 "prompt\\(emit is the shell's way of indicating that it is ready for the next "
1112 "command. The prompt can be customized in lots of ways, and one might "
1113 "include stuff like username, machine name, current directory, time, and so "
1114 "on. An assignment PS1=\"What next, master? \" would change the prompt as "
1119 #: build/C/man1/intro.1:153
1121 "We see that there are commands I<date> (that gives date and time), and "
1122 "I<cal> (that gives a calendar)."
1126 #: build/C/man1/intro.1:169
1128 "The command I<ls> lists the contents of the current directory\\(emit tells "
1129 "you what files you have. With a I<-l> option it gives a long listing, that "
1130 "includes the owner and size and date of the file, and the permissions people "
1131 "have for reading and/or changing the file. For example, the file \"tel\" "
1132 "here is 37 bytes long, owned by aeb and the owner can read and write it, "
1133 "others can only read it. Owner and permissions can be changed by the "
1134 "commands I<chown> and I<chmod>."
1138 #: build/C/man1/intro.1:176
1140 "The command I<cat> will show the contents of a file. (The name is from "
1141 "\"concatenate and print\": all files given as parameters are concatenated "
1142 "and sent to \"standard output\", here the terminal screen.)"
1146 #: build/C/man1/intro.1:183
1148 "The command I<cp> (from \"copy\") will copy a file. On the other hand, the "
1149 "command I<mv> (from \"move\") only renames it."
1153 #: build/C/man1/intro.1:188
1155 "The command I<diff> lists the differences between two files. Here there was "
1156 "no output because there were no differences."
1160 #: build/C/man1/intro.1:194
1162 "The command I<rm> (from \"remove\") deletes the file, and be careful! it is "
1163 "gone. No wastepaper basket or anything. Deleted means lost."
1167 #: build/C/man1/intro.1:199
1169 "The command I<grep> (from \"g/re/p\") finds occurrences of a string in one "
1170 "or more files. Here it finds Maja's telephone number."
1174 #: build/C/man1/intro.1:199
1176 msgid "Pathnames and the current directory"
1180 #: build/C/man1/intro.1:211
1182 "Files live in a large tree, the file hierarchy. Each has a I<pathname> "
1183 "describing the path from the root of the tree (which is called /) to the "
1184 "file. For example, such a full pathname might be /home/aeb/tel. Always "
1185 "using full pathnames would be inconvenient, and the name of a file in the "
1186 "current directory may be abbreviated by giving only the last component. "
1187 "That is why \"/home/aeb/tel\" can be abbreviated to \"tel\" when the current "
1188 "directory is \"/home/aeb\"."
1192 #: build/C/man1/intro.1:215
1193 msgid "The command I<pwd> prints the current directory."
1197 #: build/C/man1/intro.1:220
1199 "The command I<cd> changes the current directory. Try \"cd /\" and \"pwd\" "
1200 "and \"cd\" and \"pwd\"."
1204 #: build/C/man1/intro.1:220
1210 #: build/C/man1/intro.1:224
1211 msgid "The command I<mkdir> makes a new directory."
1215 #: build/C/man1/intro.1:228
1217 "The command I<rmdir> removes a directory if it is empty, and complains "
1222 #: build/C/man1/intro.1:240
1224 "The command I<find> (with a rather baroque syntax) will find files with "
1225 "given name or other properties. For example, \"find . -name tel\" would "
1226 "find the file \"tel\" starting in the present directory (which is called "
1227 "\".\"). And \"find / -name tel\" would do the same, but starting at the "
1228 "root of the tree. Large searches on a multi-GB disk will be time-consuming, "
1229 "and it may be better to use B<locate>(1)."
1233 #: build/C/man1/intro.1:240
1235 msgid "Disks and filesystems"
1239 #: build/C/man1/intro.1:251
1241 "The command I<mount> will attach the filesystem found on some disk (or "
1242 "floppy, or CDROM or so) to the big filesystem hierarchy. And I<umount> "
1243 "detaches it again. The command I<df> will tell you how much of your disk is "
1248 #: build/C/man1/intro.1:251
1254 #: build/C/man1/intro.1:269
1256 "On a UNIX system many user and system processes run simultaneously. The one "
1257 "you are talking to runs in the I<foreground>, the others in the "
1258 "I<background>. The command I<ps> will show you which processes are active "
1259 "and what numbers these processes have. The command I<kill> allows you to "
1260 "get rid of them. Without option this is a friendly request: please go "
1261 "away. And \"kill -9\" followed by the number of the process is an immediate "
1262 "kill. Foreground processes can often be killed by typing Control-C."
1266 #: build/C/man1/intro.1:269
1268 msgid "Getting information"
1272 #: build/C/man1/intro.1:282
1274 "There are thousands of commands, each with many options. Traditionally "
1275 "commands are documented on I<man pages>, (like this one), so that the "
1276 "command \"man kill\" will document the use of the command \"kill\" (and "
1277 "\"man man\" document the command \"man\"). The program I<man> sends the "
1278 "text through some I<pager>, usually I<less>. Hit the space bar to get the "
1279 "next page, hit q to quit."
1283 #: build/C/man1/intro.1:290
1285 "In documentation it is customary to refer to man pages by giving the name "
1286 "and section number, as in B<man>(1). Man pages are terse, and allow you to "
1287 "find quickly some forgotten detail. For newcomers an introductory text with "
1288 "more examples and explanations is useful."
1292 #: build/C/man1/intro.1:294
1294 "A lot of GNU/FSF software is provided with info files. Type \"info info\" "
1295 "for an introduction on the use of the program \"info\"."
1299 #. Actual examples? Separate section for each of cat, cp, ...?
1300 #. gzip, bzip2, tar, rpm
1302 #: build/C/man1/intro.1:302
1304 "Special topics are often treated in HOWTOs. Look in "
1305 "I</usr/share/doc/howto/en> and use a browser if you find HTML files there."
1309 #: build/C/man1/intro.1:304 build/C/man4/intro.4:40 build/C/man5/intro.5:40 build/C/man7/intro.7:43
1310 msgid "B<standards>(7)"
1314 #: build/C/man2/intro.2:29 build/C/man3/intro.3:26
1320 #: build/C/man2/intro.2:32
1321 msgid "intro - introduction to system calls"
1325 #: build/C/man2/intro.2:42
1327 "Section 2 of the manual describes the Linux system calls. A system call is "
1328 "an entry point into the Linux kernel. Usually, system calls are not invoked "
1329 "directly: instead, most system calls have corresponding C library wrapper "
1330 "functions which perform the steps required (e.g., trapping to kernel mode) "
1331 "in order to invoke the system call. Thus, making a system call looks the "
1332 "same as invoking a normal library function."
1336 #: build/C/man2/intro.2:45
1337 msgid "For a list of the Linux system calls, see B<syscalls>(2)."
1341 #: build/C/man2/intro.2:45 build/C/man2/unimplemented.2:35
1343 msgid "RETURN VALUE"
1347 #: build/C/man2/intro.2:54
1349 "On error, most system calls return a negative error number (i.e., the "
1350 "negated value of one of the constants described in B<errno>(3)). The C "
1351 "library wrapper hides this detail from the caller: when a system call "
1352 "returns a negative value, the wrapper copies the absolute value into the "
1353 "I<errno> variable, and returns -1 as the return value of the wrapper."
1357 #: build/C/man2/intro.2:59
1359 "The value returned by a successful system call depends on the call. Many "
1360 "system calls return 0 on success, but some can return nonzero values from a "
1361 "successful call. The details are described in the individual manual pages."
1365 #: build/C/man2/intro.2:70
1367 "In some cases, the programmer must define a feature test macro in order to "
1368 "obtain the declaration of a system call from the header file specified in "
1369 "the man page SYNOPSIS section. (Where required, these feature test macros "
1370 "must be defined before including I<any> header files.) In such cases, the "
1371 "required macro is described in the man page. For further information on "
1372 "feature test macros, see B<feature_test_macros>(7)."
1376 #: build/C/man2/intro.2:75 build/C/man3/intro.3:92
1378 "Certain terms and abbreviations are used to indicate UNIX variants and "
1379 "standards to which calls in this section conform. See B<standards>(7)."
1383 #: build/C/man2/intro.2:76
1385 msgid "Calling directly"
1389 #: build/C/man2/intro.2:85
1391 "In most cases, it is unnecessary to invoke a system call directly, but there "
1392 "are times when the Standard C library does not implement a nice wrapper "
1393 "function for you. In this case, the programmer must manually invoke the "
1394 "system call using B<syscall>(2). Historically, this was also possible using "
1395 "one of the _syscall macros described in B<_syscall>(2)."
1399 #: build/C/man2/intro.2:85 build/C/man3/intro.3:93 build/C/man4/intro.4:34 build/C/man5/intro.5:34 build/C/man6/intro.6:33 build/C/man7/intro.7:37 build/C/man8/intro.8:45
1401 msgid "Authors and copyright conditions"
1405 #: build/C/man2/intro.2:89 build/C/man3/intro.3:97 build/C/man4/intro.4:38 build/C/man5/intro.5:38 build/C/man6/intro.6:37 build/C/man7/intro.7:41 build/C/man8/intro.8:49
1407 "Look at the header of the manual page source for the author(s) and copyright "
1408 "conditions. Note that these can be different from page to page!"
1412 #: build/C/man2/intro.2:112
1414 "B<_syscall>(2), B<syscall>(2), B<syscalls>(2), B<errno>(3), B<intro>(3), "
1415 "B<capabilities>(7), B<credentials>(7), B<feature_test_macros>(7), "
1416 "B<mq_overview>(7), B<path_resolution>(7), B<pipe>(7), B<pty>(7), "
1417 "B<sem_overview>(7), B<shm_overview>(7), B<signal>(7), B<socket>(7), "
1418 "B<standards>(7), B<svipc>(7), B<symlink>(7), B<time>(7)"
1422 #: build/C/man3/intro.3:29
1423 msgid "intro - introduction to library functions"
1427 #: build/C/man3/intro.3:33
1429 "Section 3 of the manual describes all library functions excluding the "
1430 "library functions (system call wrappers) described in section 2, which "
1431 "implement system calls."
1435 #: build/C/man3/intro.3:50
1437 "Many of the functions described in the section are part of the Standard C "
1438 "Library (I<libc>). Some functions are part of other libraries (e.g., the "
1439 "math library, I<libm>, or the real-time library, I<librt>) in which case "
1440 "the manual page will indicate the linker option needed to link against the "
1441 "required library (e.g., I<-lm> and I<-lrt>, respectively, for the "
1442 "aforementioned libraries)."
1447 #. are various function groups which can be identified by a letter which
1448 #. is appended to the chapter number:
1450 #. These functions, the functions from chapter 2 and from chapter 3S are
1451 #. contained in the C standard library libc, which will be used by
1455 #. These functions are parts of the
1457 #. library. They are contained in the standard C library libc.
1459 #. These functions are contained in the arithmetic library libm. They are
1462 #. FORTRAN compiler by default, but not by the
1464 #. C compiler, which needs the option \fI\-lm\fP.
1466 #. These functions are part of the FORTRAN library libF77. There are no
1467 #. special compiler flags needed to use these functions.
1469 #. Various special libraries. The manual pages documenting their functions
1470 #. specify the library names.
1472 #: build/C/man3/intro.3:87
1474 "In some cases, the programmer must define a feature test macro in order to "
1475 "obtain the declaration of a function from the header file specified in the "
1476 "man page SYNOPSIS section. (Where required, these feature test macros must "
1477 "be defined before including I<any> header files.) In such cases, the "
1478 "required macro is described in the man page. For further information on "
1479 "feature test macros, see B<feature_test_macros>(7)."
1483 #: build/C/man3/intro.3:110
1485 "B<intro>(2), B<errno>(3), B<capabilities>(7), B<credentials>(7), "
1486 "B<environ>(7), B<feature_test_macros>(7), B<libc>(7), B<math_error>(7), "
1487 "B<path_resolution>(7), B<pthreads>(7), B<signal>(7), B<standards>(7)"
1491 #: build/C/man4/intro.4:26 build/C/man5/intro.5:27 build/C/man6/intro.6:26 build/C/man7/intro.7:28 build/C/man8/intro.8:29
1497 #: build/C/man4/intro.4:29
1498 msgid "intro - introduction to special files"
1502 #: build/C/man4/intro.4:31
1503 msgid "Section 4 of the manual describes special files (devices)."
1507 #: build/C/man4/intro.4:31 build/C/man7/mailaddr.7:113 build/C/man7/man.7:475 build/C/man7/mdoc.7:411 build/C/man7/mdoc.samples.7:2874
1513 #: build/C/man4/intro.4:33
1514 msgid "/dev/* \\(em device files"
1518 #: build/C/man5/intro.5:30
1519 msgid "intro - introduction to file formats"
1523 #: build/C/man5/intro.5:33
1525 "Section 5 of the manual describes various file formats and protocols, and "
1526 "the corresponding C structures, if any."
1530 #: build/C/man6/intro.6:29
1531 msgid "intro - introduction to games"
1535 #: build/C/man6/intro.6:32
1537 "Section 6 of the manual describes all the games and funny little programs "
1538 "available on the system."
1542 #: build/C/man7/intro.7:31
1543 msgid "intro - introduction to overview, conventions, and miscellany section"
1547 #: build/C/man7/intro.7:36
1549 "Section 7 of the manual provides overviews on various topics, and describes "
1550 "conventions and protocols, character set standards, the standard filesystem "
1551 "layout, and miscellaneous other things."
1555 #: build/C/man8/intro.8:32
1556 msgid "intro - introduction to administration and privileged commands"
1560 #: build/C/man8/intro.8:37
1562 "Section 8 of the manual describes commands which either can be or are used "
1563 "only by the superuser, like system-administration commands, daemons, and "
1564 "hardware-related commands."
1568 #: build/C/man8/intro.8:44
1570 "As with the commands in described section 1, the commands described in this "
1571 "section terminate with an exit status that indicates whether the command "
1572 "succeeded or failed. See B<intro>(1) for more information."
1576 #: build/C/man7/libc.7:26
1582 #: build/C/man7/libc.7:29
1583 msgid "libc - overview of standard C libraries on Linux"
1587 #: build/C/man7/libc.7:36
1589 "The term \"libc\" is commonly used as a shorthand for the \"standard C "
1590 "library\", a library of standard functions that can be used by all C "
1591 "programs (and sometimes by programs in other languages). Because of some "
1592 "history (see below), use of the term \"libc\" to refer to the standard C "
1593 "library is somewhat ambiguous on Linux."
1597 #: build/C/man7/libc.7:36
1603 #: build/C/man7/libc.7:54
1605 "By far the most widely used C library on Linux is the GNU C Library E<.UR "
1606 "http://www.gnu.org\\:/software\\:/libc/> E<.UE ,> often referred to as "
1607 "I<glibc>. This is the C library that is nowadays used in all major Linux "
1608 "distributions. It is also the C library whose details are documented in the "
1609 "relevant pages of the I<man-pages> project (primarily in Section 3 of the "
1610 "manual). Documentation of glibc is also available in the glibc manual, "
1611 "available via the command I<info libc>. Release 1.0 of glibc was made in "
1612 "September 1992. (There were earlier 0.x releases.) The next major release "
1613 "of glibc was 2.0, at the beginning of 1997."
1617 #: build/C/man7/libc.7:61
1619 "The pathname I</lib/libc.so.6> (or something similar) is normally a symbolic "
1620 "link that points to the location of the glibc library, and executing this "
1621 "pathname will cause glibc to display various information about the version "
1622 "installed on your system."
1626 #: build/C/man7/libc.7:61
1632 #: build/C/man7/libc.7:84
1634 "In the early to mid 1990s, there was for a while I<Linux libc>, a fork of "
1635 "glibc 1.x created by Linux developers who felt that glibc development at the "
1636 "time was not sufficing for the needs of Linux. Often, this library was "
1637 "referred to (ambiguously) as just \"libc\". Linux libc released major "
1638 "versions 2, 3, 4, and 5 (as well as many minor versions of those releases). "
1639 "For a while, Linux libc was the standard C library in many Linux "
1640 "distributions. However, notwithstanding the original motivations of the "
1641 "Linux libc effort, by the time glibc 2.0 was released, it was clearly "
1642 "superior to Linux libc, and all major Linux distributions that had been "
1643 "using Linux libc soon switched back to glibc. (Since this switch occurred "
1644 "over a decade ago, I<man-pages> no longer takes care to document Linux libc "
1645 "details. Nevertheless, the history is visible in vestiges of information "
1646 "about Linux libc that remain in some manual pages, in particular, references "
1647 "to I<libc4> and I<libc5>.)"
1651 #: build/C/man7/libc.7:84
1653 msgid "Other C libraries"
1657 #: build/C/man7/libc.7:99
1659 "There are various other less widely used C libraries for Linux. These "
1660 "libraries are generally smaller than glibc, both in terms of features and "
1661 "memory footprint, and often intended for building small binaries, perhaps "
1662 "targeted at development for embedded Linux systems. Among such libraries "
1663 "are I<uClibc> (I<http://www.uclibc.org/>) and I<dietlibc> "
1664 "(I<http://www.fefe.de/dietlibc/>). Details of these libraries are generally "
1665 "not covered by the I<man-pages> project."
1669 #: build/C/man7/libc.7:104
1670 msgid "B<syscalls>(2), B<feature_test_macros>(7), B<man-pages>(7), B<standards>(7)"
1674 #: build/C/man7/mailaddr.7:27
1680 #: build/C/man7/mailaddr.7:27
1686 #: build/C/man7/mailaddr.7:31
1687 msgid "mailaddr - mail addressing description"
1691 #: build/C/man7/mailaddr.7:36
1693 "This manual page gives a brief introduction to SMTP mail addresses, as used "
1694 "on the Internet. These addresses are in the general format"
1698 #: build/C/man7/mailaddr.7:38
1699 msgid " user@domain"
1703 #: build/C/man7/mailaddr.7:41
1705 "where a domain is a hierarchical dot-separated list of subdomains. These "
1706 "examples are valid forms of the same address:"
1710 #: build/C/man7/mailaddr.7:43
1711 msgid " eric@monet.berkeley.edu"
1715 #: build/C/man7/mailaddr.7:45
1716 msgid " Eric Allman E<lt>eric@monet.berkeley.eduE<gt>"
1720 #: build/C/man7/mailaddr.7:47
1721 msgid " eric@monet.berkeley.edu (Eric Allman)"
1725 #: build/C/man7/mailaddr.7:51
1727 "The domain part (\"monet.berkeley.edu\") is a mail-accepting domain. It can "
1728 "be a host and in the past it usually was, but it doesn't have to be. The "
1729 "domain part is not case sensitive."
1733 #: build/C/man7/mailaddr.7:59
1735 "The local part (\"eric\") is often a username, but its meaning is defined by "
1736 "the local software. Sometimes it is case sensitive, although that is "
1737 "unusual. If you see a local-part that looks like garbage, it is usually "
1738 "because of a gateway between an internal e-mail system and the net, here are "
1743 #: build/C/man7/mailaddr.7:61
1744 msgid " \"surname/admd=telemail/c=us/o=hp/prmd=hp\"@some.where"
1748 #: build/C/man7/mailaddr.7:63
1749 msgid " USER%SOMETHING@some.where"
1753 #: build/C/man7/mailaddr.7:65
1754 msgid " machine!machine!name@some.where"
1758 #: build/C/man7/mailaddr.7:67
1759 msgid " I2461572@some.where"
1763 #: build/C/man7/mailaddr.7:71
1765 "(These are, respectively, an X.400 gateway, a gateway to an arbitrary "
1766 "internal mail system that lacks proper internet support, an UUCP gateway, "
1767 "and the last one is just boring username policy.)"
1771 #: build/C/man7/mailaddr.7:77
1773 "The real-name part (\"Eric Allman\") can either be placed before E<lt>E<gt>, "
1774 "or in () at the end. (Strictly speaking the two aren't the same, but the "
1775 "difference is beyond the scope of this page.) The name may have to be "
1776 "quoted using \"\", for example, if it contains \".\":"
1780 #: build/C/man7/mailaddr.7:79
1781 msgid " \"Eric P. Allman\" E<lt>eric@monet.berkeley.eduE<gt>"
1785 #: build/C/man7/mailaddr.7:79
1787 msgid "Abbreviation."
1791 #: build/C/man7/mailaddr.7:87
1793 "Many mail systems let users abbreviate the domain name. For instance, users "
1794 "at berkeley.edu may get away with \"eric@monet\" to send mail to Eric "
1795 "Allman. I<This behavior is deprecated.> Sometimes it works, but you should "
1800 #: build/C/man7/mailaddr.7:87
1802 msgid "Route-addrs."
1806 #: build/C/man7/mailaddr.7:94
1808 "In the past, sometimes one had to route a message through several hosts to "
1809 "get it to its final destination. Addresses which show these relays are "
1810 "termed \"route-addrs\". These use the syntax:"
1814 #: build/C/man7/mailaddr.7:96
1815 msgid " E<lt>@hosta,@hostb:user@hostcE<gt>"
1819 #: build/C/man7/mailaddr.7:101
1821 "This specifies that the message should be sent to hosta, from there to "
1822 "hostb, and finally to hostc. Many hosts disregard route-addrs and send "
1823 "directly to hostc."
1827 #: build/C/man7/mailaddr.7:107
1829 "Route-addrs are very unusual now. They occur sometimes in old mail "
1830 "archives. It is generally possible to ignore all but the \"user@hostc\" "
1831 "part of the address to determine the actual address."
1835 #: build/C/man7/mailaddr.7:107
1841 #: build/C/man7/mailaddr.7:113
1843 "Every site is required to have a user or user alias designated "
1844 "\"postmaster\" to which problems with the mail system may be addressed. The "
1845 "\"postmaster\" address is not case sensitive."
1849 #: build/C/man7/mailaddr.7:115
1850 msgid "I</etc/aliases>"
1854 #: build/C/man7/mailaddr.7:117
1855 msgid "I<~/.forward>"
1859 #: build/C/man7/mailaddr.7:125
1861 "B<binmail>(1), B<mail>(1), B<mconnect>(1), B<aliases>(5), B<forward>(5), "
1862 "B<sendmail>(8), B<vrfy>(8)"
1866 #: build/C/man7/mailaddr.7:127
1867 msgid "RFC\\ 2822 (Internet Message Format)"
1871 #: build/C/man7/man-pages.7:30
1877 #: build/C/man7/man-pages.7:30
1883 #: build/C/man7/man-pages.7:33
1884 msgid "man-pages - conventions for writing Linux man pages"
1888 #: build/C/man7/man-pages.7:37 build/C/man7/man.7:49
1889 msgid "B<man> [I<section>] I<title>"
1893 #: build/C/man7/man-pages.7:47
1895 "This page describes the conventions that should be employed when writing man "
1896 "pages for the Linux I<man-pages> project, which documents the user-space API "
1897 "provided by the Linux kernel and the GNU C library. The project thus "
1898 "provides most of the pages in Section 2, as well as many of the pages that "
1899 "appear in Sections 3, 4, 5, and 7 of the man pages on a Linux system. The "
1900 "conventions described on this page may also be useful for authors writing "
1901 "man pages for other projects."
1905 #: build/C/man7/man-pages.7:47
1907 msgid "Sections of the manual pages"
1911 #: build/C/man7/man-pages.7:50
1912 msgid "The manual Sections are traditionally defined as follows:"
1916 #: build/C/man7/man-pages.7:50
1918 msgid "B<1 Commands (Programs)>"
1922 #: build/C/man7/man-pages.7:54
1923 msgid "Those commands that can be executed by the user from within a shell."
1927 #: build/C/man7/man-pages.7:54
1929 msgid "B<2 System calls>"
1933 #: build/C/man7/man-pages.7:57
1934 msgid "Those functions which must be performed by the kernel."
1938 #: build/C/man7/man-pages.7:57
1940 msgid "B<3 Library calls>"
1944 #: build/C/man7/man-pages.7:62
1945 msgid "Most of the I<libc> functions."
1949 #: build/C/man7/man-pages.7:62
1951 msgid "B<4 Special files (devices)>"
1955 #: build/C/man7/man-pages.7:66
1956 msgid "Files found in I</dev>."
1960 #: build/C/man7/man-pages.7:66
1962 msgid "B<5 File formats and conventions>"
1966 #: build/C/man7/man-pages.7:71
1967 msgid "The format for I</etc/passwd> and other human-readable files."
1971 #: build/C/man7/man-pages.7:71
1977 #: build/C/man7/man-pages.7:73
1979 msgid "B<7 Overview, conventions, and miscellaneous>"
1983 #: build/C/man7/man-pages.7:77
1985 "Overviews of various topics, conventions and protocols, character set "
1986 "standards, and miscellaneous other things."
1990 #: build/C/man7/man-pages.7:77
1992 msgid "B<8 System management commands>"
1996 #. .B 9 Kernel routines
1997 #. This is an obsolete manual section.
1998 #. Once it was thought a good idea to document the Linux kernel here,
1999 #. but in fact very little has been documented, and the documentation
2000 #. that exists is outdated already.
2001 #. There are better sources of
2002 #. information for kernel developers.
2004 #: build/C/man7/man-pages.7:90
2005 msgid "Commands like B<mount>(8), many of which only root can execute."
2009 #: build/C/man7/man-pages.7:90
2011 msgid "Macro package"
2015 #: build/C/man7/man-pages.7:97
2017 "New manual pages should be marked up using the B<groff an.tmac> package "
2018 "described in B<man>(7). This choice is mainly for consistency: the vast "
2019 "majority of existing Linux manual pages are marked up using these macros."
2023 #: build/C/man7/man-pages.7:97
2025 msgid "Conventions for source file layout"
2029 #: build/C/man7/man-pages.7:102
2031 "Please limit source code line length to no more than about 75 characters "
2032 "wherever possible. This helps avoid line-wrapping in some mail clients when "
2033 "patches are submitted inline."
2037 #: build/C/man7/man-pages.7:106
2039 "New sentences should be started on new lines. This makes it easier to see "
2040 "the effect of patches, which often operate at the level of individual "
2045 #: build/C/man7/man-pages.7:106 build/C/man7/man.7:78
2051 #: build/C/man7/man-pages.7:110
2052 msgid "The first command in a man page should be a B<TH> command:"
2056 #: build/C/man7/man-pages.7:114 build/C/man7/man.7:85
2057 msgid "B<\\&.TH> I<title section date source manual>"
2061 #: build/C/man7/man-pages.7:117
2066 #: build/C/man7/man-pages.7:118
2072 #: build/C/man7/man-pages.7:122
2073 msgid "The title of the man page, written in all caps (e.g., I<MAN-PAGES>)."
2077 #: build/C/man7/man-pages.7:122
2083 #: build/C/man7/man-pages.7:126
2084 msgid "The section number in which the man page should be placed (e.g., I<7>)."
2088 #: build/C/man7/man-pages.7:126
2094 #: build/C/man7/man-pages.7:132
2096 "The date of the last revision\\(emremember to change this every time a "
2097 "change is made to the man page, since this is the most general way of doing "
2098 "version control. Dates should be written in the form YYYY-MM-DD."
2102 #: build/C/man7/man-pages.7:132
2108 #: build/C/man7/man-pages.7:135
2109 msgid "The source of the command, function, or system call."
2113 #: build/C/man7/man-pages.7:139
2115 "For those few I<man-pages> pages in Sections 1 and 8, probably you just want "
2120 #: build/C/man7/man-pages.7:147
2122 "For system calls, just write I<Linux>. (An earlier practice was to write "
2123 "the version number of the kernel from which the manual page was being "
2124 "written/checked. However, this was never done consistently, and so was "
2125 "probably worse than including no version number. Henceforth, avoid "
2126 "including a version number.)"
2130 #: build/C/man7/man-pages.7:152
2132 "For library calls that are part of glibc or one of the other common GNU "
2133 "libraries, just use I<GNU C Library>, I<GNU>, or an empty string."
2137 #: build/C/man7/man-pages.7:155
2138 msgid "For Section 4 pages, use I<Linux>."
2142 #: build/C/man7/man-pages.7:158
2143 msgid "In cases of doubt, just write I<Linux>, or I<GNU>."
2147 #: build/C/man7/man-pages.7:158
2153 #: build/C/man7/man-pages.7:163
2155 "The title of the manual (e.g., for Section 2 and 3 pages in the I<man-pages> "
2156 "package, use I<Linux Programmer's Manual>)."
2160 #: build/C/man7/man-pages.7:164
2162 msgid "Sections within a manual page"
2166 #: build/C/man7/man-pages.7:171
2168 "The list below shows conventional or suggested sections. Most manual pages "
2169 "should include at least the B<highlighted> sections. Arrange a new manual "
2170 "page so that sections are placed in the order shown in the list."
2173 #. May 07: Few current man pages have an ERROR HANDLING section,,,
2175 #. May 07: Almost no current man pages have a USAGE section,,,
2178 #. May 07: Almost no current man pages have a SECURITY section,,,
2180 #. AUTHORS sections are discouraged
2181 #. AUTHORS [Discouraged]
2183 #: build/C/man7/man-pages.7:200
2188 "CONFIGURATION [Normally only in Section 4]\n"
2190 "OPTIONS [Normally only in Sections 1, 8]\n"
2191 "EXIT STATUS [Normally only in Sections 1, 8]\n"
2192 "RETURN VALUE [Normally only in Sections 2, 3]\n"
2193 "ERRORS [Typically only in Sections 2, 3]\n"
2196 "ATTRIBUTES [Normally only in Sections 2, 3]\n"
2197 "VERSIONS [Normally only in Sections 2, 3]\n"
2206 #: build/C/man7/man-pages.7:211
2208 "I<Where a traditional heading would apply>, I<please use it>; this kind of "
2209 "consistency can make the information easier to understand. If you must, you "
2210 "can create your own headings if they make things easier to understand (this "
2211 "can be especially useful for pages in Sections 4 and 5). However, before "
2212 "doing this, consider whether you could use the traditional headings, with "
2213 "some subsections (I<.SS>) within those sections."
2217 #: build/C/man7/man-pages.7:214
2218 msgid "The following list elaborates on the contents of each of the above sections."
2222 #: build/C/man7/man-pages.7:214
2228 #: build/C/man7/man-pages.7:225
2230 "The name of this manual page. See B<man>(7) for important details of the "
2231 "line(s) that should follow the B<.SH NAME> command. All words in this line "
2232 "(including the word immediately following the \"\\e-\") should be in "
2233 "lowercase, except where English or technical terminological convention "
2234 "dictates otherwise."
2238 #: build/C/man7/man-pages.7:225
2244 #: build/C/man7/man-pages.7:237
2246 "briefly describes the command or function's interface. For commands, this "
2247 "shows the syntax of the command and its arguments (including options); "
2248 "boldface is used for as-is text and italics are used to indicate replaceable "
2249 "arguments. Brackets ([]) surround optional arguments, vertical bars (|) "
2250 "separate choices, and ellipses (\\&...) can be repeated. For functions, it "
2251 "shows any required data declarations or B<#include> directives, followed by "
2252 "the function declaration."
2255 #. FIXME . Say something here about compiler options
2257 #: build/C/man7/man-pages.7:243
2259 "Where a feature test macro must be defined in order to obtain the "
2260 "declaration of a function (or a variable) from a header file, then the "
2261 "SYNOPSIS should indicate this, as described in B<feature_test_macros>(7)."
2265 #: build/C/man7/man-pages.7:243
2267 msgid "B<CONFIGURATION>"
2271 #: build/C/man7/man-pages.7:247
2273 "Configuration details for a device. This section normally appears only in "
2278 #: build/C/man7/man-pages.7:247
2280 msgid "B<DESCRIPTION>"
2283 #. If there is some kind of input grammar or complex set of subcommands,
2284 #. consider describing them in a separate
2286 #. section (and just place an overview in the
2290 #: build/C/man7/man-pages.7:264
2292 "gives an explanation of what the program, function, or format does. Discuss "
2293 "how it interacts with files and standard input, and what it produces on "
2294 "standard output or standard error. Omit internals and implementation "
2295 "details unless they're critical for understanding the interface. Describe "
2296 "the usual case; for information on command-line options of a program use the "
2297 "B<OPTIONS> section."
2301 #: build/C/man7/man-pages.7:272
2303 "When describing new behavior or new flags for a system call or library "
2304 "function, be careful to note the kernel or C library version that introduced "
2305 "the change. The preferred method of noting this information for flags is as "
2306 "part of a B<.TP> list, in the following form (here, for a new system call "
2311 #: build/C/man7/man-pages.7:273
2313 msgid "B<XYZ_FLAG> (since Linux 3.7)"
2317 #: build/C/man7/man-pages.7:276
2318 msgid "Description of flag..."
2322 #: build/C/man7/man-pages.7:281
2324 "Including version information is especially useful to users who are "
2325 "constrained to using older kernel or C library versions (which is typical in "
2326 "embedded systems, for example)."
2330 #: build/C/man7/man-pages.7:281
2337 #. describes the grammar of any sublanguage this implements.
2339 #: build/C/man7/man-pages.7:289
2341 "describes the command-line options accepted by a program and how they change "
2342 "its behavior. This section should appear only for Section 1 and 8 manual "
2347 #: build/C/man7/man-pages.7:289
2349 msgid "B<EXIT STATUS>"
2353 #: build/C/man7/man-pages.7:294
2355 "lists the possible exit status values of a program and the conditions that "
2356 "cause these values to be returned. This section should appear only for "
2357 "Section 1 and 8 manual pages."
2361 #: build/C/man7/man-pages.7:294
2363 msgid "B<RETURN VALUE>"
2367 #: build/C/man7/man-pages.7:299
2369 "For Section 2 and 3 pages, this section gives a list of the values the "
2370 "library routine will return to the caller and the conditions that cause "
2371 "these values to be returned."
2375 #: build/C/man7/man-pages.7:299
2381 #: build/C/man7/man-pages.7:307
2383 "For Section 2 and 3 manual pages, this is a list of the values that may be "
2384 "placed in I<errno> in the event of an error, along with information about "
2385 "the cause of the errors. I<The error list should be in alphabetical order>."
2389 #: build/C/man7/man-pages.7:307
2391 msgid "B<ENVIRONMENT>"
2395 #: build/C/man7/man-pages.7:311
2397 "lists all environment variables that affect the program or function and how "
2402 #: build/C/man7/man-pages.7:311
2407 #. May 07: Almost no current man pages have a DIAGNOSTICS section;
2408 #. "RETURN VALUE" or "EXIT STATUS" is preferred.
2411 #. gives an overview of the most common error messages and how to
2413 #. You don't need to explain system error messages
2414 #. or fatal signals that can appear during execution of any program
2415 #. unless they're special in some way to the program.
2417 #. May 07: Almost no current man pages have a SECURITY section.
2420 #. discusses security issues and implications.
2421 #. Warn about configurations or environments that should be avoided,
2422 #. commands that may have security implications, and so on, especially
2423 #. if they aren't obvious.
2424 #. Discussing security in a separate section isn't necessary;
2425 #. if it's easier to understand, place security information in the
2426 #. other sections (such as the
2431 #. However, please include security information somewhere!
2433 #: build/C/man7/man-pages.7:348
2435 "lists the files the program or function uses, such as configuration files, "
2436 "startup files, and files the program directly operates on. Give the full "
2437 "pathname of these files, and use the installation process to modify the "
2438 "directory part to match user preferences. For many programs, the default "
2439 "installation location is in I</usr/local>, so your base manual page should "
2440 "use I</usr/local> as the base."
2444 #: build/C/man7/man-pages.7:348
2446 msgid "B<ATTRIBUTES>"
2450 #: build/C/man7/man-pages.7:353
2452 "A summary of various attributes of the function(s) documented on this page, "
2453 "broken into subsections. The following subsections are defined:"
2457 #: build/C/man7/man-pages.7:355
2459 msgid "B<Multithreading (see pthreads(7))>"
2463 #: build/C/man7/man-pages.7:358
2464 msgid "This subsection notes attributes relating to multithreaded applications:"
2468 #: build/C/man7/man-pages.7:361
2469 msgid "Whether the function is thread-safe."
2473 #: build/C/man7/man-pages.7:363
2474 msgid "Whether the function is a cancellation point."
2478 #: build/C/man7/man-pages.7:365
2479 msgid "Whether the function is async-cancel-safe."
2483 #: build/C/man7/man-pages.7:369
2484 msgid "Details of these attributes can be found in B<pthreads>(7)."
2488 #: build/C/man7/man-pages.7:370
2494 #: build/C/man7/man-pages.7:387
2496 "A brief summary of the Linux kernel or glibc versions where a system call or "
2497 "library function appeared, or changed significantly in its operation. As a "
2498 "general rule, every new interface should include a VERSIONS section in its "
2499 "manual page. Unfortunately, many existing manual pages don't include this "
2500 "information (since there was no policy to do so when they were written). "
2501 "Patches to remedy this are welcome, but, from the perspective of programmers "
2502 "writing new code, this information probably matters only in the case of "
2503 "kernel interfaces that have been added in Linux 2.4 or later (i.e., changes "
2504 "since kernel 2.2), and library functions that have been added to glibc since "
2505 "version 2.1 (i.e., changes since glibc 2.0)."
2509 #: build/C/man7/man-pages.7:392
2511 "The B<syscalls>(2) manual page also provides information about kernel "
2512 "versions in which various system calls first appeared."
2516 #: build/C/man7/man-pages.7:392
2518 msgid "B<CONFORMING TO>"
2522 #: build/C/man7/man-pages.7:406
2524 "describes any standards or conventions that relate to the function or "
2525 "command described by the manual page. For a page in Section 2 or 3, this "
2526 "section should note the POSIX.1 version(s) that the call conforms to, and "
2527 "also whether the call is specified in C99. (Don't worry too much about "
2528 "other standards like SUS, SUSv2, and XPG, or the SVr4 and 4.xBSD "
2529 "implementation standards, unless the call was specified in those standards, "
2530 "but isn't in the current version of POSIX.1.) (See B<standards>(7).)"
2534 #: build/C/man7/man-pages.7:410
2536 "If the call is not governed by any standards but commonly exists on other "
2537 "systems, note them. If the call is Linux-specific, note this."
2541 #: build/C/man7/man-pages.7:414
2543 "If this section consists of just a list of standards (which it commonly "
2544 "does), terminate the list with a period (\\(aq.\\(aq)."
2548 #: build/C/man7/man-pages.7:414
2554 #: build/C/man7/man-pages.7:419
2556 "provides miscellaneous notes. For Section 2 and 3 man pages you may find it "
2557 "useful to include subsections (B<SS>) named I<Linux Notes> and I<Glibc "
2562 #: build/C/man7/man-pages.7:419
2568 #: build/C/man7/man-pages.7:423
2570 "lists limitations, known defects or inconveniences, and other questionable "
2575 #: build/C/man7/man-pages.7:423
2581 #: build/C/man7/man-pages.7:429
2583 "provides one or more examples describing how this function, file or command "
2584 "is used. For details on writing example programs, see I<Example Programs> "
2589 #: build/C/man7/man-pages.7:429
2595 #: build/C/man7/man-pages.7:439
2597 "lists authors of the documentation or program. B<Use of an AUTHORS section "
2598 "is strongly discouraged>. Generally, it is better not to clutter every page "
2599 "with a list of (over time potentially numerous) authors; if you write or "
2600 "significantly amend a page, add a copyright notice as a comment in the "
2601 "source file. If you are the author of a device driver and want to include "
2602 "an address for reporting bugs, place this under the BUGS section."
2606 #: build/C/man7/man-pages.7:439
2612 #: build/C/man7/man-pages.7:446
2614 "provides a comma-separated list of related man pages, ordered by section "
2615 "number and then alphabetically by name, possibly followed by other related "
2616 "pages or documents. Do not terminate this with a period."
2620 #: build/C/man7/man-pages.7:457
2622 "Where the SEE ALSO list contains many long manual page names, to improve the "
2623 "visual result of the output, it may be useful to employ the I<.ad l> (don't "
2624 "right justify) and I<.nh> (don't hyphenate) directives. Hyphenation of "
2625 "individual page names can be prevented by preceding words with the string "
2630 #: build/C/man7/man-pages.7:457
2632 msgid "Font conventions"
2636 #: build/C/man7/man-pages.7:462
2638 "For functions, the arguments are always specified using italics, I<even in "
2639 "the SYNOPSIS section>, where the rest of the function is specified in bold:"
2643 #: build/C/man7/man-pages.7:464
2644 msgid "B< int myfunction(int >I<argc>B<, char **>I<argv>B<);>"
2648 #: build/C/man7/man-pages.7:466
2649 msgid "Variable names should, like argument names, be specified in italics."
2653 #: build/C/man7/man-pages.7:479
2655 "Filenames (whether pathnames, or references to files in the I</usr/include> "
2656 "directory) are always in italics (e.g., I<E<lt>stdio.hE<gt>>), except in "
2657 "the SYNOPSIS section, where included files are in bold (e.g., B<#include "
2658 "E<lt>stdio.hE<gt>>). When referring to a standard include file under "
2659 "I</usr/include>, specify the header file surrounded by angle brackets, in "
2660 "the usual C way (e.g., I<E<lt>stdio.hE<gt>>)."
2664 #: build/C/man7/man-pages.7:483
2666 "Special macros, which are usually in upper case, are in bold (e.g., "
2667 "B<MAXINT>). Exception: don't boldface NULL."
2671 #: build/C/man7/man-pages.7:488
2673 "When enumerating a list of error codes, the codes are in bold (this list "
2674 "usually uses the B<\\&.TP> macro)."
2678 #: build/C/man7/man-pages.7:491
2680 "Complete commands should, if long, be written as in an indented line on "
2681 "their own, for example"
2685 #: build/C/man7/man-pages.7:495
2687 msgid "man 7 man-pages\n"
2691 #: build/C/man7/man-pages.7:505
2693 "If the command is short, then it can be included inline in the text, in "
2694 "italic format, for example, I<man 7 man-pages>. In this case, it may be "
2695 "worth using nonbreaking spaces (\"\\e\\ \") at suitable places in the "
2696 "command. Command options should be written in italics, e.g., I<-l>."
2700 #: build/C/man7/man-pages.7:510
2702 "Expressions, if not written on a separate indented line, should be specified "
2703 "in italics. Again, the use of nonbreaking spaces may be appropriate if the "
2704 "expression is inlined with normal text."
2708 #: build/C/man7/man-pages.7:521
2710 "Any reference to the subject of the current manual page should be written "
2711 "with the name in bold. If the subject is a function (i.e., this is a "
2712 "Section 2 or 3 page), then the name should be followed by a pair of "
2713 "parentheses in Roman (normal) font. For example, in the B<fcntl>(2) man "
2714 "page, references to the subject of the page would be written as: "
2715 "B<fcntl>(). The preferred way to write this in the source file is:"
2719 #: build/C/man7/man-pages.7:524
2721 msgid " .BR fcntl ()\n"
2725 #: build/C/man7/man-pages.7:528
2727 "(Using this format, rather than the use of \"\\efB...\\efP()\" makes it "
2728 "easier to write tools that parse man page source files.)"
2732 #: build/C/man7/man-pages.7:537
2734 "Any reference to another man page should be written with the name in bold, "
2735 "I<always> followed by the section number, formatted in Roman (normal) font, "
2736 "without any separating spaces (e.g., B<intro>(2)). The preferred way to "
2737 "write this in the source file is:"
2741 #: build/C/man7/man-pages.7:540
2743 msgid " .BR intro (2)\n"
2747 #: build/C/man7/man-pages.7:545
2749 "(Including the section number in cross references lets tools like "
2750 "B<man2html>(1) create properly hyperlinked pages.)"
2754 #: build/C/man7/man-pages.7:545
2760 #: build/C/man7/man-pages.7:550
2762 "Starting with release 2.59, I<man-pages> follows American spelling "
2763 "conventions; please write all new pages and patches according to these "
2768 #: build/C/man7/man-pages.7:550
2770 msgid "Capitalization"
2774 #: build/C/man7/man-pages.7:555
2776 "In subsection (\"SS\") headings capitalize the first word in heading, but "
2777 "otherwise use lower case, except where English usage (e.g., proper nouns) or "
2778 "programming language requirements (e.g., identifier names) dictate "
2783 #: build/C/man7/man-pages.7:555
2785 msgid "Example programs and shell sessions"
2789 #: build/C/man7/man-pages.7:559
2791 "Manual pages can include example programs demonstrating how to use a system "
2792 "call or library function. However, note the following:"
2796 #: build/C/man7/man-pages.7:562
2797 msgid "Example programs should be written in C."
2801 #: build/C/man7/man-pages.7:569
2803 "An example program is necessary and useful only if it demonstrates something "
2804 "beyond what can easily be provided in a textual description of the "
2805 "interface. An example program that does nothing other than call an "
2806 "interface usually serves little purpose."
2810 #: build/C/man7/man-pages.7:573
2812 "Example programs should be fairly short (preferably less than 100 lines; "
2813 "ideally less than 50 lines)."
2817 #: build/C/man7/man-pages.7:577
2819 "Example programs should do error checking after system calls and library "
2824 #: build/C/man7/man-pages.7:581
2826 "Example programs should be complete, and compile without warnings when "
2827 "compiled with I<cc\\ -Wall>."
2831 #: build/C/man7/man-pages.7:587
2833 "Where possible and appropriate, example programs should allow "
2834 "experimentation, by varying their behavior based on inputs (ideally from "
2835 "command-line arguments, or alternatively, via input read by the program)."
2839 #: build/C/man7/man-pages.7:592
2841 "Example programs should be laid out according to Kernighan and Ritchie "
2842 "style, with 4-space indents. (Avoid the use of TAB characters in source "
2847 #: build/C/man7/man-pages.7:597
2849 "For some examples of what example programs should look like, see B<wait>(2) "
2854 #: build/C/man7/man-pages.7:601
2856 "If you include a shell session demonstrating the use of a program or other "
2857 "system feature, boldface the user input text, to distinguish it from output "
2858 "produced by the system."
2862 #: build/C/man7/man-pages.7:601
2864 msgid "Indentation of structure definitions, shell session logs, etc."
2868 #: build/C/man7/man-pages.7:607
2870 "When structure definitions, shell session logs, and so on are included in "
2871 "running text, indent them by 4 spaces (i.e., a block enclosed by I<.in\\ "
2876 #: build/C/man7/man-pages.7:614
2878 "For canonical examples of how man pages in the I<man-pages> package should "
2879 "look, see B<pipe>(2) and B<fcntl>(2)."
2883 #: build/C/man7/man-pages.7:621
2885 "B<man>(1), B<man2html>(1), B<groff>(7), B<groff_man>(7), B<man>(7), "
2890 #: build/C/man7/man.7:34
2896 #: build/C/man7/man.7:37
2897 msgid "man - macros to format man pages"
2901 #: build/C/man7/man.7:41
2902 msgid "B<groff -Tascii -man> I<file> \\&..."
2906 #: build/C/man7/man.7:45
2907 msgid "B<groff -Tps -man> I<file> \\&..."
2911 #: build/C/man7/man.7:62
2913 "This manual page explains the B<groff an.tmac> macro package (often called "
2914 "the B<man> macro package). This macro package should be used by developers "
2915 "when writing or porting man pages for Linux. It is fairly compatible with "
2916 "other versions of this macro package, so porting man pages should not be a "
2917 "major problem (exceptions include the NET-2 BSD release, which uses a "
2918 "totally different macro package called mdoc; see B<mdoc>(7))."
2922 #: build/C/man7/man.7:74
2924 "Note that NET-2 BSD mdoc man pages can be used with B<groff> simply by "
2925 "specifying the B<-mdoc> option instead of the B<-man> option. Using the "
2926 "B<-mandoc> option is, however, recommended, since this will automatically "
2927 "detect which macro package is in use."
2931 #: build/C/man7/man.7:78
2933 "For conventions that should be employed when writing man pages for the Linux "
2934 "I<man-pages> package, see B<man-pages>(7)."
2938 #: build/C/man7/man.7:81
2940 "The first command in a man page (after comment lines, that is, lines that "
2941 "start with B<.\\e\">) should be"
2945 #: build/C/man7/man.7:91
2947 "For details of the arguments that should be supplied to the B<TH> command, "
2948 "see B<man-pages>(7)."
2952 #: build/C/man7/man.7:97
2954 "Note that BSD mdoc-formatted pages begin with the B<Dd> command, not the "
2959 #: build/C/man7/man.7:97
2964 #. The following doesn't seem to be required (see Debian bug 411303),
2965 #. If the name contains spaces and appears
2966 #. on the same line as
2968 #. then place the heading in double quotes.
2970 #: build/C/man7/man.7:106
2971 msgid "Sections are started with B<\\&.SH> followed by the heading name."
2975 #: build/C/man7/man.7:109
2977 "The only mandatory heading is NAME, which should be the first section and be "
2978 "followed on the next line by a one-line description of the program:"
2982 #: build/C/man7/man.7:112
2987 #: build/C/man7/man.7:114
2988 msgid "item \\e- description"
2992 #: build/C/man7/man.7:128
2994 "It is extremely important that this format is followed, and that there is a "
2995 "backslash before the single dash which follows the item name. This syntax "
2996 "is used by the B<mandb>(8) program to create a database of short "
2997 "descriptions for the B<whatis>(1) and B<apropos>(1) commands. (See "
2998 "B<lexgrog>(1) for further details on the syntax of the NAME section.)"
3002 #: build/C/man7/man.7:131
3004 "For a list of other sections that might appear in a manual page, see "
3009 #: build/C/man7/man.7:131
3015 #: build/C/man7/man.7:133
3016 msgid "The commands to select the type face are:"
3020 #: build/C/man7/man.7:133
3026 #: build/C/man7/man.7:136
3031 #: build/C/man7/man.7:136
3037 #: build/C/man7/man.7:140
3039 "Bold alternating with italics (especially useful for function "
3044 #: build/C/man7/man.7:140
3050 #: build/C/man7/man.7:145
3052 "Bold alternating with Roman (especially useful for referring to other manual "
3057 #: build/C/man7/man.7:145
3063 #: build/C/man7/man.7:148
3068 #: build/C/man7/man.7:148
3074 #: build/C/man7/man.7:151
3075 msgid "Italics alternating with bold"
3079 #: build/C/man7/man.7:151
3085 #: build/C/man7/man.7:154
3086 msgid "Italics alternating with Roman"
3090 #: build/C/man7/man.7:154
3096 #: build/C/man7/man.7:157
3097 msgid "Roman alternating with bold"
3101 #: build/C/man7/man.7:157
3107 #: build/C/man7/man.7:160
3108 msgid "Roman alternating with italics"
3112 #: build/C/man7/man.7:160
3118 #: build/C/man7/man.7:163
3119 msgid "Small alternating with bold"
3123 #: build/C/man7/man.7:163
3129 #: build/C/man7/man.7:166
3130 msgid "Small (useful for acronyms)"
3134 #: build/C/man7/man.7:179
3136 "Traditionally, each command can have up to six arguments, but the GNU "
3137 "implementation removes this limitation (you might still want to limit "
3138 "yourself to 6 arguments for portability's sake). Arguments are delimited by "
3139 "spaces. Double quotes can be used to specify an argument which contains "
3140 "spaces. All of the arguments will be printed next to each other without "
3141 "intervening spaces, so that the B<\\&.BR> command can be used to specify a "
3142 "word in bold followed by a mark of punctuation in Roman. If no arguments "
3143 "are given, the command is applied to the following line of text."
3147 #: build/C/man7/man.7:179
3149 msgid "Other macros and strings"
3153 #: build/C/man7/man.7:199
3155 "Below are other relevant macros and predefined strings. Unless noted "
3156 "otherwise, all macros cause a break (end the current line of text). Many of "
3157 "these macros set or use the \"prevailing indent.\" The \"prevailing indent\" "
3158 "value is set by any macro with the parameter I<i> below; macros may omit "
3159 "I<i> in which case the current prevailing indent will be used. As a result, "
3160 "successive indented paragraphs can use the same indent without respecifying "
3161 "the indent value. A normal (nonindented) paragraph resets the prevailing "
3162 "indent value to its default value (0.5 inches). By default a given indent "
3163 "is measured in ens; try to use ens or ems as units for indents, since these "
3164 "will automatically adjust to font size changes. The other key macro "
3169 #: build/C/man7/man.7:199
3171 msgid "Normal paragraphs"
3175 #: build/C/man7/man.7:200
3181 #: build/C/man7/man.7:205 build/C/man7/man.7:210
3182 msgid "Same as B<\\&.PP> (begin a new paragraph)."
3186 #: build/C/man7/man.7:205
3192 #: build/C/man7/man.7:210
3198 #: build/C/man7/man.7:213
3199 msgid "Begin a new paragraph and reset prevailing indent."
3203 #: build/C/man7/man.7:213
3205 msgid "Relative margin indent"
3209 #: build/C/man7/man.7:214
3211 msgid "B<\\&.RS>I< i>"
3215 #: build/C/man7/man.7:225
3217 "Start relative margin indent: moves the left margin I<i> to the right (if "
3218 "I<i> is omitted, the prevailing indent value is used). A new prevailing "
3219 "indent is set to 0.5 inches. As a result, all following paragraph(s) will "
3220 "be indented until the corresponding B<\\&.RE>."
3224 #: build/C/man7/man.7:225
3230 #: build/C/man7/man.7:229
3232 "End relative margin indent and restores the previous value of the prevailing "
3237 #: build/C/man7/man.7:229
3239 msgid "Indented paragraph macros"
3243 #: build/C/man7/man.7:230
3245 msgid "B<\\&.HP>I< i>"
3249 #: build/C/man7/man.7:235
3251 "Begin paragraph with a hanging indent (the first line of the paragraph is at "
3252 "the left margin of normal paragraphs, and the rest of the paragraph's lines "
3257 #: build/C/man7/man.7:235
3259 msgid "B<\\&.IP>I< x i>"
3263 #: build/C/man7/man.7:256
3265 "Indented paragraph with optional hanging tag. If the tag I<x> is omitted, "
3266 "the entire following paragraph is indented by I<i>. If the tag I<x> is "
3267 "provided, it is hung at the left margin before the following indented "
3268 "paragraph (this is just like B<\\&.TP> except the tag is included with the "
3269 "command instead of being on the following line). If the tag is too long, "
3270 "the text after the tag will be moved down to the next line (text will not be "
3271 "lost or garbled). For bulleted lists, use this macro with \\e(bu (bullet) "
3272 "or \\e(em (em dash) as the tag, and for numbered lists, use the number or "
3273 "letter followed by a period as the tag; this simplifies translation to other "
3278 #: build/C/man7/man.7:256
3280 msgid "B<\\&.TP>I< i>"
3284 #: build/C/man7/man.7:263
3286 "Begin paragraph with hanging tag. The tag is given on the next line, but "
3287 "its results are like those of the B<\\&.IP> command."
3291 #: build/C/man7/man.7:263
3293 msgid "Hypertext link macros"
3297 #: build/C/man7/man.7:273
3299 "(Feature supported with B<groff> only.) In order to use hypertext link "
3300 "macros, it is necessary to load the B<www.tmac> macro package. Use the "
3301 "request B<.mso www.tmac> to do this."
3305 #: build/C/man7/man.7:273
3307 msgid "B<\\&.URL>I< url link trailer>"
3310 #. The following is a kludge to get a paragraph into the listing.
3312 #: build/C/man7/man.7:286
3314 "Inserts a hypertext link to the URI (URL) I<url>, with I<link> as the text "
3315 "of the link. The I<trailer> will be printed immediately afterward. When "
3316 "generating HTML this should translate into the HTML command B<E<lt>A "
3317 "HREF=\">I<url>B<\"E<gt>>I<link>B<E<lt>/AE<gt>>I<trailer>B<.>"
3320 #. The following is a kludge to get a paragraph into the listing.
3322 #: build/C/man7/man.7:293
3324 "This and other related macros are new, and many tools won't do anything with "
3325 "them, but since many tools (including troff) will simply ignore undefined "
3326 "macros (or at worst insert their text) these are safe to insert."
3329 #. The following is a kludge to get a paragraph into the listing.
3331 #: build/C/man7/man.7:302
3333 "It can be useful to define your own B<URL> macro in manual pages for the "
3334 "benefit of those viewing it with a roff viewer other than B<groff>. That "
3335 "way, the URL, link text, and trailer text (if any) are still visible."
3339 #: build/C/man7/man.7:305
3340 msgid "Here's an example:"
3344 #: build/C/man7/man.7:307
3349 #: build/C/man7/man.7:309
3350 msgid "\\e\\e$2 \\e(laURL: \\e\\e$1 \\e(ra\\e\\e$3"
3354 #: build/C/man7/man.7:311
3359 #: build/C/man7/man.7:313
3360 msgid "\\&.if \\en[.g] .mso www.tmac"
3364 #: build/C/man7/man.7:316
3365 msgid "\\&.TH I<...>"
3369 #: build/C/man7/man.7:318
3370 msgid "I<(later in the page)>"
3374 #: build/C/man7/man.7:320
3375 msgid "This software comes from the"
3379 #: build/C/man7/man.7:322
3380 msgid "\\&.URL \"http://www.gnu.org/\" \"GNU Project\" \" of the\""
3384 #: build/C/man7/man.7:324
3385 msgid "\\&.URL \"http://www.fsf.org/\" \"Free Software Foundation\" ."
3389 #: build/C/man7/man.7:334
3391 "In the above, if B<groff> is being used, the B<www.tmac> macro package's "
3392 "definition of the URL macro will supersede the locally defined one."
3396 #: build/C/man7/man.7:339
3398 "A number of other link macros are available. See B<groff_www>(7) for more "
3403 #: build/C/man7/man.7:339
3405 msgid "Miscellaneous macros"
3409 #: build/C/man7/man.7:340
3415 #: build/C/man7/man.7:344
3416 msgid "Reset tabs to default tab values (every 0.5 inches); does not cause a break."
3420 #: build/C/man7/man.7:344
3422 msgid "B<\\&.PD>I< d>"
3426 #: build/C/man7/man.7:349
3428 "Set inter-paragraph vertical distance to d (if omitted, d=0.4v); does not "
3433 #: build/C/man7/man.7:349
3435 msgid "B<\\&.SS>I< t>"
3439 #: build/C/man7/man.7:356
3441 "Subheading I<t> (like B<\\&.SH>, but used for a subsection inside a "
3446 #: build/C/man7/man.7:356
3448 msgid "Predefined strings"
3452 #: build/C/man7/man.7:360
3453 msgid "The B<man> package has the following predefined strings:"
3457 #: build/C/man7/man.7:360
3463 #: build/C/man7/man.7:362
3464 msgid "Registration Symbol: \\*R"
3468 #: build/C/man7/man.7:362
3474 #: build/C/man7/man.7:364
3475 msgid "Change to default font size"
3479 #: build/C/man7/man.7:364
3485 #: build/C/man7/man.7:366
3486 msgid "Trademark Symbol: \\*(Tm"
3490 #: build/C/man7/man.7:366
3496 #: build/C/man7/man.7:368
3497 msgid "Left angled double quote: ``"
3501 #: build/C/man7/man.7:368
3507 #: build/C/man7/man.7:370
3508 msgid "Right angled double quote: ''"
3512 #: build/C/man7/man.7:370
3518 #: build/C/man7/man.7:414
3520 "Although technically B<man> is a troff macro package, in reality a large "
3521 "number of other tools process man page files that don't implement all of "
3522 "troff's abilities. Thus, it's best to avoid some of troff's more exotic "
3523 "abilities where possible to permit these other tools to work correctly. "
3524 "Avoid using the various troff preprocessors (if you must, go ahead and use "
3525 "B<tbl>(1), but try to use the B<IP> and B<TP> commands instead for "
3526 "two-column tables). Avoid using computations; most other tools can't "
3527 "process them. Use simple commands that are easy to translate to other "
3528 "formats. The following troff macros are believed to be safe (though in many "
3529 "cases they will be ignored by translators): B<\\e\">, B<.>, B<ad>, B<bp>, "
3530 "B<br>, B<ce>, B<de>, B<ds>, B<el>, B<ie>, B<if>, B<fi>, B<ft>, B<hy>, B<ig>, "
3531 "B<in>, B<na>, B<ne>, B<nf>, B<nh>, B<ps>, B<so>, B<sp>, B<ti>, B<tr>."
3535 #: build/C/man7/man.7:437
3537 "You may also use many troff escape sequences (those sequences beginning with "
3538 "\\e). When you need to include the backslash character as normal text, use "
3539 "\\ee. Other sequences you may use, where x or xx are any characters and N "
3540 "is any digit, include: B<\\e'>, B<\\e`>, B<\\e->, B<\\e.>, B<\\e\">, "
3541 "B<\\e%>, B<\\e*x>, B<\\e*(xx>, B<\\e(xx>, B<\\e$N>, B<\\enx>, B<\\en(xx>, "
3542 "B<\\efx>, and B<\\ef(xx>. Avoid using the escape sequences for drawing "
3547 #: build/C/man7/man.7:468
3549 "Do not use the optional parameter for B<bp> (break page). Use only positive "
3550 "values for B<sp> (vertical space). Don't define a macro (B<de>) with the "
3551 "same name as a macro in this or the mdoc macro package with a different "
3552 "meaning; it's likely that such redefinitions will be ignored. Every "
3553 "positive indent (B<in>) should be paired with a matching negative indent "
3554 "(although you should be using the B<RS> and B<RE> macros instead). The "
3555 "condition test (B<if,ie>) should only have \\(aqt\\(aq or \\(aqn\\(aq as "
3556 "the condition. Only translations (B<tr>) that can be ignored should be "
3557 "used. Font changes (B<ft> and the B<\\ef> escape sequence) should only "
3558 "have the values 1, 2, 3, 4, R, I, B, P, or CW (the ft command may also have "
3563 #: build/C/man7/man.7:475
3565 "If you use capabilities beyond these, check the results carefully on several "
3566 "tools. Once you've confirmed that the additional capability is safe, let "
3567 "the maintainer of this document know about the safe command or sequence that "
3568 "should be added to this list."
3572 #: build/C/man7/man.7:477
3573 msgid "I</usr/share/groff/>[*/]I<tmac/an.tmac>"
3577 #: build/C/man7/man.7:479
3578 msgid "I</usr/man/whatis>"
3582 #: build/C/man7/man.7:493
3584 "By all means include full URLs (or URIs) in the text itself; some tools such "
3585 "as B<man2html>(1) can automatically turn them into hypertext links. You "
3586 "can also use the new B<URL> macro to identify links to related information. "
3587 "If you include URLs, use the full URL (e.g., E<.UR "
3588 "http://www.kernelnotes.org> E<.UE )> to ensure that tools can automatically "
3593 #: build/C/man7/man.7:502
3595 "Tools processing these files should open the file and examine the first "
3596 "nonwhitespace character. A period (.) or single quote (') at the beginning "
3597 "of a line indicates a troff-based file (such as man or mdoc). A left angle "
3598 "bracket (E<lt>) indicates an SGML/XML-based file (such as HTML or Docbook). "
3599 "Anything else suggests simple ASCII text (e.g., a \"catman\" result)."
3603 #: build/C/man7/man.7:513
3605 "Many man pages begin with B<\\'\\e\"> followed by a space and a list of "
3606 "characters, indicating how the page is to be preprocessed. For "
3607 "portability's sake to non-troff translators we recommend that you avoid "
3608 "using anything other than B<tbl>(1), and Linux can detect that "
3609 "automatically. However, you might want to include this information so your "
3610 "man page can be handled by other (less capable) systems. Here are the "
3611 "definitions of the preprocessors invoked by these characters:"
3615 #: build/C/man7/man.7:513
3621 #: build/C/man7/man.7:516
3626 #: build/C/man7/man.7:516
3632 #: build/C/man7/man.7:519
3637 #: build/C/man7/man.7:519
3643 #: build/C/man7/man.7:522
3648 #: build/C/man7/man.7:522
3654 #: build/C/man7/man.7:525
3659 #: build/C/man7/man.7:525
3665 #: build/C/man7/man.7:528
3670 #: build/C/man7/man.7:528
3676 #: build/C/man7/man.7:531
3681 #: build/C/man7/man.7:531 build/C/man7/suffixes.7:279 build/C/man7/mdoc.samples.7:2883
3687 #: build/C/man7/man.7:544
3689 "Most of the macros describe formatting (e.g., font type and spacing) instead "
3690 "of marking semantic content (e.g., this text is a reference to another "
3691 "page), compared to formats like mdoc and DocBook (even HTML has more "
3692 "semantic markings). This situation makes it harder to vary the B<man> "
3693 "format for different media, to make the formatting consistent for a given "
3694 "media, and to automatically insert cross-references. By sticking to the "
3695 "safe subset described above, it should be easier to automate transitioning "
3696 "to a different reference page format in the future."
3701 #. James Clark (jjc@jclark.com) wrote the implementation of the macro package.
3703 #. Rickard E. Faith (faith@cs.unc.edu) wrote the initial version of
3704 #. this manual page.
3706 #. Jens Schweikhardt (schweikh@noc.fdn.de) wrote the Linux Man-Page Mini-HOWTO
3707 #. (which influenced this manual page).
3709 #. David A. Wheeler (dwheeler@ida.org) heavily modified this
3710 #. manual page, such as adding detailed information on sections and macros.
3712 #: build/C/man7/man.7:560
3713 msgid "The Sun macro B<TX> is not implemented."
3717 #: build/C/man7/man.7:572
3719 "B<apropos>(1), B<groff>(1), B<lexgrog>(1), B<man>(1), B<man2html>(1), "
3720 "B<whatis>(1), B<groff_man>(7), B<groff_www>(7), B<man-pages>(7), B<mdoc>(7), "
3721 "B<mdoc.samples>(7)"
3725 #: build/C/man7/mdoc.7:42
3727 msgid "July 11, 1999"
3731 #: build/C/man7/mdoc.7:43
3737 #: build/C/man7/mdoc.7:47
3742 #: build/C/man7/mdoc.7:47
3744 msgid "quick reference guide for the"
3748 #: build/C/man7/mdoc.7:50
3749 msgid "E<.Nm \\-mdoc> macro package"
3753 #: build/C/man7/mdoc.7:54
3754 msgid "E<.Nm groff> E<.Fl m Ns Ar doc> E<.Ar files ...>"
3758 #: build/C/man7/mdoc.7:66
3760 "The E<.Nm \\-mdoc> package is a set of content-based and domain-based macros "
3761 "used to format the E<.Bx> man pages. The macro names and their meanings are "
3762 "listed below for quick reference; for a detailed explanation on using the "
3763 "package, see the tutorial sampler E<.Xr mdoc.samples 7>."
3767 #: build/C/man7/mdoc.7:71
3769 "Note that this is not the usual macro package for Linux documentation, "
3770 "although it is used for documentation of several widely used programs; see "
3775 #: build/C/man7/mdoc.7:80
3777 "The macros are described in two groups, the first includes the structural "
3778 "and physical page layout macros. The second contains the manual and general "
3779 "text domain macros which differentiate the E<.Nm \\-mdoc> package from other "
3780 "E<.Xr troff> formatting packages."
3784 #: build/C/man7/mdoc.7:80 build/C/man7/mdoc.samples.7:1811
3786 msgid "PAGE STRUCTURE DOMAIN"
3790 #: build/C/man7/mdoc.7:81
3792 msgid "Title Macros"
3796 #: build/C/man7/mdoc.7:84
3798 "To create a valid manual page, these three macros, in this order, are "
3803 #: build/C/man7/mdoc.7:85
3805 msgid "Li \"\\&.Dd \" Ar \"Month day, year\""
3809 #: build/C/man7/mdoc.7:87
3810 msgid "Document date."
3814 #: build/C/man7/mdoc.7:87
3816 msgid "Li \"\\&.Dt \" Ar \"DOCUMENT_TITLE [section] [volume]\""
3820 #: build/C/man7/mdoc.7:89
3821 msgid "Title, in upper case."
3825 #: build/C/man7/mdoc.7:89
3827 msgid "Li \"\\&.Os \" Ar \"OPERATING_SYSTEM [version/release]\""
3831 #: build/C/man7/mdoc.7:92
3832 msgid "Operating system E<.Pq Tn BSD>."
3836 #: build/C/man7/mdoc.7:93
3838 msgid "Page Layout Macros"
3842 #: build/C/man7/mdoc.7:95
3843 msgid "Section headers, paragraph breaks, lists and displays."
3847 #: build/C/man7/mdoc.7:96
3853 #: build/C/man7/mdoc.7:99
3854 msgid "Section Headers. Valid headers, in the order of presentation:"
3858 #: build/C/man7/mdoc.7:100
3864 #: build/C/man7/mdoc.7:108
3866 "Name section, should include the E<.Ql \\&.Nm> or E<.Ql \\&.Fn> and the "
3867 "E<.Ql \\&.Nd> macros."
3871 #: build/C/man7/mdoc.7:108
3877 #: build/C/man7/mdoc.7:110
3882 #: build/C/man7/mdoc.7:110
3884 msgid "Ar DESCRIPTION"
3888 #: build/C/man7/mdoc.7:113
3889 msgid "General description, should include options and parameters."
3893 #: build/C/man7/mdoc.7:113
3895 msgid "Ar RETURN VALUE"
3899 #: build/C/man7/mdoc.7:115
3900 msgid "Sections two and three function calls."
3904 #: build/C/man7/mdoc.7:115
3906 msgid "Ar ENVIRONMENT"
3910 #: build/C/man7/mdoc.7:117
3911 msgid "Describe environment variables."
3915 #: build/C/man7/mdoc.7:117
3921 #: build/C/man7/mdoc.7:119
3922 msgid "Files associated with the subject."
3926 #: build/C/man7/mdoc.7:119
3932 #: build/C/man7/mdoc.7:121
3933 msgid "Examples and suggestions."
3937 #: build/C/man7/mdoc.7:121
3939 msgid "Ar DIAGNOSTICS"
3943 #: build/C/man7/mdoc.7:123
3944 msgid "Normally used for section four device interface diagnostics."
3948 #: build/C/man7/mdoc.7:123
3954 #: build/C/man7/mdoc.7:126
3955 msgid "Sections two and three error and signal handling."
3959 #: build/C/man7/mdoc.7:126
3965 #: build/C/man7/mdoc.7:128
3966 msgid "Cross references and citations."
3970 #: build/C/man7/mdoc.7:128
3972 msgid "Ar CONFORMING TO"
3976 #: build/C/man7/mdoc.7:130
3977 msgid "Conformance to standards if applicable."
3981 #: build/C/man7/mdoc.7:130
3987 #: build/C/man7/mdoc.7:133
3988 msgid "If a standard is not applicable, the history of the subject should be given."
3992 #: build/C/man7/mdoc.7:133
3998 #: build/C/man7/mdoc.7:135
3999 msgid "Gotchas and caveats."
4003 #: build/C/man7/mdoc.7:135
4009 #: build/C/man7/mdoc.7:138
4010 msgid "Customized headers may be added at the authors discretion."
4014 #: build/C/man7/mdoc.7:139
4020 #: build/C/man7/mdoc.7:141
4021 msgid "Subsection Headers."
4025 #: build/C/man7/mdoc.7:141
4031 #: build/C/man7/mdoc.7:144
4032 msgid "Paragraph Break. Vertical space (one line)."
4036 #: build/C/man7/mdoc.7:144 build/C/man7/mdoc.samples.7:2200
4042 #: build/C/man7/mdoc.7:147
4043 msgid "(D-one) Display-one Indent and display one text line."
4047 #: build/C/man7/mdoc.7:147 build/C/man7/mdoc.samples.7:2208
4053 #: build/C/man7/mdoc.7:150
4054 msgid "(D-ell) Display-one literal. Indent and display one line of literal text."
4058 #: build/C/man7/mdoc.7:150 build/C/man7/mdoc.samples.7:2228
4064 #: build/C/man7/mdoc.7:153
4065 msgid "Begin-display block. Display options:"
4069 #: build/C/man7/mdoc.7:154 build/C/man7/mdoc.samples.7:2248
4075 #: build/C/man7/mdoc.7:156
4076 msgid "Unjustified (ragged edges)."
4080 #: build/C/man7/mdoc.7:156 build/C/man7/mdoc.samples.7:2251
4086 #: build/C/man7/mdoc.7:158
4091 #: build/C/man7/mdoc.7:158 build/C/man7/mdoc.samples.7:2255
4097 #: build/C/man7/mdoc.7:160
4098 msgid "Literal text or code."
4102 #: build/C/man7/mdoc.7:160
4104 msgid "Fl file Ar name"
4108 #: build/C/man7/mdoc.7:164
4109 msgid "Read in named E<.Ar file> and display."
4113 #: build/C/man7/mdoc.7:164 build/C/man7/mdoc.samples.7:2267
4115 msgid "Fl offset Ar string"
4119 #: build/C/man7/mdoc.7:169
4120 msgid "Offset display. Acceptable E<.Ar string> values:"
4124 #: build/C/man7/mdoc.7:170 build/C/man7/mdoc.samples.7:2275
4130 #: build/C/man7/mdoc.7:172
4131 msgid "Align block on left (default)."
4135 #: build/C/man7/mdoc.7:172 build/C/man7/mdoc.samples.7:2279
4141 #: build/C/man7/mdoc.7:174
4142 msgid "Approximate center margin."
4146 #: build/C/man7/mdoc.7:174 build/C/man7/mdoc.samples.7:2284
4152 #: build/C/man7/mdoc.7:176
4153 msgid "Six constant width spaces (a tab)."
4157 #: build/C/man7/mdoc.7:176 build/C/man7/mdoc.samples.7:2293
4159 msgid "Ar indent-two"
4163 #: build/C/man7/mdoc.7:178
4168 #: build/C/man7/mdoc.7:178 build/C/man7/mdoc.samples.7:2295
4174 #: build/C/man7/mdoc.7:181
4175 msgid "Left aligns block 2 inches from right."
4179 #: build/C/man7/mdoc.7:181
4181 msgid "Ar xx Ns Cm n"
4185 #: build/C/man7/mdoc.7:188
4187 "Where E<.Ar xx> is a number from E<.No \\&4 Ns Cm n> to E<.No \\&9\\&9 Ns Cm "
4192 #: build/C/man7/mdoc.7:188
4198 #: build/C/man7/mdoc.7:192
4199 msgid "Where E<.Ar Aa> is a callable macro name."
4203 #: build/C/man7/mdoc.7:192
4209 #: build/C/man7/mdoc.7:196
4210 msgid "The width of E<.Ar string> is used."
4214 #: build/C/man7/mdoc.7:198
4220 #: build/C/man7/mdoc.7:200
4221 msgid "End-display (matches \\&.Bd)."
4225 #: build/C/man7/mdoc.7:200
4231 #: build/C/man7/mdoc.7:204
4232 msgid "Begin-list. Create lists or columns. Options:"
4236 #: build/C/man7/mdoc.7:205
4238 msgid "Ar List-types"
4242 #: build/C/man7/mdoc.7:207
4244 msgid "Fl bullet Ta \"Bullet Item List\""
4248 #: build/C/man7/mdoc.7:208
4250 msgid "Fl item Ta \"Unlabeled List\""
4254 #: build/C/man7/mdoc.7:209
4256 msgid "Fl enum Ta \"Enumerated List\""
4260 #: build/C/man7/mdoc.7:210
4262 msgid "Fl tag Ta \"Tag Labeled List\""
4266 #: build/C/man7/mdoc.7:211
4268 msgid "Fl diag Ta \"Diagnostic List\""
4272 #: build/C/man7/mdoc.7:212
4274 msgid "Fl hang Ta \"Hanging Labeled List\""
4278 #: build/C/man7/mdoc.7:213
4280 msgid "Fl ohang Ta \"Overhanging Labeled List\""
4284 #: build/C/man7/mdoc.7:214
4286 msgid "Fl inset Ta \"Inset or Run-on Labeled List\""
4290 #: build/C/man7/mdoc.7:216
4292 msgid "List-parameters"
4296 #: build/C/man7/mdoc.7:218
4302 #: build/C/man7/mdoc.7:222
4303 msgid "(All lists.) See E<.Ql \\&.Bd> begin-display above."
4307 #: build/C/man7/mdoc.7:222
4313 #: build/C/man7/mdoc.7:229
4314 msgid "E<.Pf ( Fl tag> and E<.Fl hang> lists only.) See E<.Ql \\&.Bd>."
4318 #: build/C/man7/mdoc.7:229
4324 #: build/C/man7/mdoc.7:232
4325 msgid "(All lists.) Suppresses blank lines."
4329 #: build/C/man7/mdoc.7:234
4335 #: build/C/man7/mdoc.7:236
4340 #: build/C/man7/mdoc.7:236
4346 #: build/C/man7/mdoc.7:238
4351 #: build/C/man7/mdoc.7:239
4353 msgid "MANUAL AND GENERAL TEXT DOMAIN MACROS"
4357 #: build/C/man7/mdoc.7:243
4359 "The manual and general text domain macros are special in that most of them "
4360 "are parsed for callable macros for example:"
4364 #: build/C/man7/mdoc.7:244
4366 msgid "Li \"\\&.Op Fl s Ar file\""
4370 #: build/C/man7/mdoc.7:247
4371 msgid "Produces E<.Op Fl s Ar file>"
4375 #: build/C/man7/mdoc.7:265
4377 "In this example, the option enclosure macro E<.Ql \\&.Op> is parsed, and "
4378 "calls the callable content macro E<.Ql \\&Fl> which operates on the argument "
4379 "E<.Ql s> and then calls the callable content macro E<.Ql \\&Ar> which "
4380 "operates on the argument E<.Ql file>. Some macros may be callable, but are "
4381 "not parsed and vice versa. These macros are indicated in the E<.Em parsed> "
4382 "and E<.Em callable> columns below."
4386 #: build/C/man7/mdoc.7:267
4387 msgid "Unless stated, manual domain macros share a common syntax:"
4391 #: build/C/man7/mdoc.7:268
4393 msgid "\\&.Va argument [\\ .\\ ,\\ ;\\ :\\ (\\ )\\ [\\ ]\\ argument ...\\ ]"
4397 #: build/C/man7/mdoc.7:288
4399 "E<.Sy Note>: Opening and closing punctuation characters are recognized as "
4400 "such only if they are presented one at a time. The string E<.Ql \"),\"> is "
4401 "not recognized as punctuation and will be output with a leading white space "
4402 "and in what ever font the calling macro uses. The argument list E<.Ql \"] ) "
4403 ",\"> is recognized as three sequential closing punctuation characters and a "
4404 "leading white space is not output between the characters and the previous "
4405 "argument (if any). The special meaning of a punctuation character may be "
4406 "escaped with the string E<.Ql \\e&>. For example the following string,"
4410 #: build/C/man7/mdoc.7:289
4412 msgid "Li \"\\&.Ar file1\\ , file2\\ , file3\\ )\\ .\""
4416 #: build/C/man7/mdoc.7:292
4417 msgid "Produces E<.Ar file1 , file2 , file3>)."
4421 #: build/C/man7/mdoc.7:294
4423 msgid "Manual Domain Macros"
4427 #: build/C/man7/mdoc.7:296 build/C/man7/mdoc.7:321
4429 msgid "Em \"Name\tParsed\tCallable\tDescription\""
4433 #: build/C/man7/mdoc.7:297
4435 msgid "Li \\&Ad Ta Yes Ta Yes Ta \"Address. (This macro may be deprecated.)\""
4439 #: build/C/man7/mdoc.7:298
4441 msgid "Li \\&An Ta Yes Ta Yes Ta \"Author name.\""
4445 #: build/C/man7/mdoc.7:299
4447 msgid "Li \\&Ar Ta Yes Ta Yes Ta \"Command-line argument.\""
4451 #: build/C/man7/mdoc.7:300
4454 "Li \\&Cd Ta \\&No Ta \\&No Ta \"Configuration declaration (section four "
4459 #: build/C/man7/mdoc.7:301
4461 msgid "Li \\&Cm Ta Yes Ta Yes Ta \"Command-line argument modifier.\""
4465 #: build/C/man7/mdoc.7:302
4467 msgid "Li \\&Dv Ta Yes Ta Yes Ta \"Defined variable (source code).\""
4471 #: build/C/man7/mdoc.7:303
4473 msgid "Li \\&Er Ta Yes Ta Yes Ta \"Error number (source code).\""
4477 #: build/C/man7/mdoc.7:304
4479 msgid "Li \\&Ev Ta Yes Ta Yes Ta \"Environment variable.\""
4483 #: build/C/man7/mdoc.7:305
4485 msgid "Li \\&Fa Ta Yes Ta Yes Ta \"Function argument.\""
4489 #: build/C/man7/mdoc.7:306
4491 msgid "Li \\&Fd Ta Yes Ta Yes Ta \"Function declaration.\""
4495 #: build/C/man7/mdoc.7:307
4497 msgid "Li \\&Fn Ta Yes Ta Yes Ta \"Function call (also .Fo and .Fc).\""
4501 #: build/C/man7/mdoc.7:308
4503 msgid "Li \\&Ic Ta Yes Ta Yes Ta \"Interactive command.\""
4507 #: build/C/man7/mdoc.7:309
4509 msgid "Li \\&Li Ta Yes Ta Yes Ta \"Literal text.\""
4513 #: build/C/man7/mdoc.7:310
4515 msgid "Li \\&Nm Ta Yes Ta Yes Ta \"Command name.\""
4519 #: build/C/man7/mdoc.7:311
4521 msgid "Li \\&Op Ta Yes Ta Yes Ta \"Option (also .Oo and .Oc).\""
4525 #: build/C/man7/mdoc.7:312
4527 msgid "Li \\&Ot Ta Yes Ta Yes Ta \"Old style function type (Fortran only).\""
4531 #: build/C/man7/mdoc.7:313
4533 msgid "Li \\&Pa Ta Yes Ta Yes Ta \"Pathname or filename.\""
4537 #: build/C/man7/mdoc.7:314
4539 msgid "Li \\&St Ta Yes Ta Yes Ta \"Standards (\\-p1003.2, \\-p1003.1 or \\-ansiC)\""
4543 #: build/C/man7/mdoc.7:315
4545 msgid "Li \\&Va Ta Yes Ta Yes Ta \"Variable name.\""
4549 #: build/C/man7/mdoc.7:316
4551 msgid "Li \\&Vt Ta Yes Ta Yes Ta \"Variable type (Fortran only).\""
4555 #: build/C/man7/mdoc.7:317
4557 msgid "Li \\&Xr Ta Yes Ta Yes Ta \"Manual Page Cross Reference.\""
4561 #: build/C/man7/mdoc.7:319
4563 msgid "General Text Domain Macros"
4567 #: build/C/man7/mdoc.7:322
4569 msgid "Li \\&%A Ta Yes Ta \\&No Ta \"Reference author.\""
4573 #: build/C/man7/mdoc.7:323
4575 msgid "Li \\&%B Ta Yes Ta Yes Ta \"Reference book title.\""
4579 #: build/C/man7/mdoc.7:324
4581 msgid "Li \\&%\\&C Ta \\&No Ta \\&No Ta \"Reference place of publishing (city).\""
4585 #: build/C/man7/mdoc.7:325
4587 msgid "Li \\&%\\&D Ta \\&No Ta \\&No Ta \"Reference date.\""
4591 #: build/C/man7/mdoc.7:326
4593 msgid "Li \\&%J Ta Yes Ta Yes Ta \"Reference journal title.\""
4597 #: build/C/man7/mdoc.7:327
4599 msgid "Li \\&%N Ta \\&No Ta \\&No Ta \"Reference issue number.\""
4603 #: build/C/man7/mdoc.7:328
4605 msgid "Li \\&%\\&O Ta \\&No Ta \\&No Ta \"Reference optional information.\""
4609 #: build/C/man7/mdoc.7:329
4611 msgid "Li \\&%P Ta \\&No Ta \\&No Ta \"Reference page number(s).\""
4615 #: build/C/man7/mdoc.7:330
4617 msgid "Li \\&%R Ta \\&No Ta \\&No Ta \"Reference report Name.\""
4621 #: build/C/man7/mdoc.7:331
4623 msgid "Li \\&%T Ta Yes Ta Yes Ta \"Reference article title.\""
4627 #: build/C/man7/mdoc.7:332
4629 msgid "Li \\&%V Ta \\&No Ta \\&No Ta \"Reference volume.\""
4633 #: build/C/man7/mdoc.7:333
4635 msgid "Li \\&Ac Ta Yes Ta Yes Ta \"Angle close quote.\""
4639 #: build/C/man7/mdoc.7:334
4641 msgid "Li \\&Ao Ta Yes Ta Yes Ta \"Angle open quote.\""
4645 #: build/C/man7/mdoc.7:335
4647 msgid "Li \\&Ap Ta Yes Ta Yes Ta Apostrophe."
4651 #: build/C/man7/mdoc.7:336
4653 msgid "Li \\&Aq Ta Yes Ta Yes Ta \"Angle quote.\""
4657 #: build/C/man7/mdoc.7:337
4659 msgid "Li \\&At Ta \\&No Ta \\&No Ta Tn \"AT&T UNIX\""
4663 #: build/C/man7/mdoc.7:338
4665 msgid "Li \\&Bc Ta Yes Ta Yes Ta \"Bracket close quote.\""
4669 #: build/C/man7/mdoc.7:339
4671 msgid "Li \\&Bf Ta \\&No Ta \\&No Ta \"Begin font mode.\""
4675 #: build/C/man7/mdoc.7:340
4677 msgid "Li \\&Bo Ta Yes Ta Yes Ta \"Bracket open quote.\""
4681 #: build/C/man7/mdoc.7:341
4683 msgid "Li \\&Bq Ta Yes Ta Yes Ta \"Bracket quote.\""
4687 #: build/C/man7/mdoc.7:342
4689 msgid "Li \\&Bx Ta Yes Ta Yes Ta Bx ."
4693 #: build/C/man7/mdoc.7:343
4695 msgid "Li \\&Db Ta \\&No Ta \\&No Ta \"Debug (default is \\*qoff\\*q)\""
4699 #: build/C/man7/mdoc.7:344
4701 msgid "Li \\&Dc Ta Yes Ta Yes Ta \"Double close quote.\""
4705 #: build/C/man7/mdoc.7:345
4707 msgid "Li \\&Do Ta Yes Ta Yes Ta \"Double open quote.\""
4711 #: build/C/man7/mdoc.7:346
4713 msgid "Li \\&Dq Ta Yes Ta Yes Ta \"Double quote.\""
4717 #: build/C/man7/mdoc.7:347
4719 msgid "Li \\&Ec Ta Yes Ta Yes Ta \"Enclose string close quote.\""
4723 #: build/C/man7/mdoc.7:348
4725 msgid "Li \\&Ef Ta \\&No Ta \\&No Ta \"End font mode.\""
4729 #: build/C/man7/mdoc.7:349
4731 msgid "Li \\&Em Ta Yes Ta Yes Ta \"Emphasis (traditional English).\""
4735 #: build/C/man7/mdoc.7:350
4737 msgid "Li \\&Eo Ta Yes Ta Yes Ta \"Enclose string open quote.\""
4741 #: build/C/man7/mdoc.7:351
4743 msgid "Li \\&Fx Ta \\&No Ta \\&No Ta Tn \"FreeBSD operating system\""
4747 #: build/C/man7/mdoc.7:352
4749 msgid "Li \\&No Ta Yes Ta Yes Ta \"Normal text (no-op).\""
4753 #: build/C/man7/mdoc.7:353
4755 msgid "Li \\&Ns Ta Yes Ta Yes Ta \"No space.\""
4759 #: build/C/man7/mdoc.7:354
4761 msgid "Li \\&Pc Ta Yes Ta Yes Ta \"Parenthesis close quote.\""
4765 #: build/C/man7/mdoc.7:355
4767 msgid "Li \\&Pf Ta Yes Ta \\&No Ta \"Prefix string.\""
4771 #: build/C/man7/mdoc.7:356
4773 msgid "Li \\&Po Ta Yes Ta Yes Ta \"Parenthesis open quote.\""
4777 #: build/C/man7/mdoc.7:357
4779 msgid "Li \\&Pq Ta Yes Ta Yes Ta \"Parentheses quote.\""
4783 #: build/C/man7/mdoc.7:358
4785 msgid "Li \\&Qc Ta Yes Ta Yes Ta \"Straight Double close quote.\""
4789 #: build/C/man7/mdoc.7:359
4791 msgid "Li \\&Ql Ta Yes Ta Yes Ta \"Quoted literal.\""
4795 #: build/C/man7/mdoc.7:360
4797 msgid "Li \\&Qo Ta Yes Ta Yes Ta \"Straight Double open quote.\""
4801 #: build/C/man7/mdoc.7:361
4803 msgid "Li \\&Qq Ta Yes Ta Yes Ta \"Straight Double quote.\""
4807 #: build/C/man7/mdoc.7:362
4809 msgid "Li \\&Re Ta \\&No Ta \\&No Ta \"Reference end.\""
4813 #: build/C/man7/mdoc.7:363
4815 msgid "Li \\&Rs Ta \\&No Ta \\&No Ta \"Reference start.\""
4819 #: build/C/man7/mdoc.7:364
4822 "Li \\&Rv Ta \\&No Ta \\&No Ta \"Return values (sections two and three "
4827 #: build/C/man7/mdoc.7:365
4829 msgid "Li \\&Sc Ta Yes Ta Yes Ta \"Single close quote.\""
4833 #: build/C/man7/mdoc.7:366
4835 msgid "Li \\&So Ta Yes Ta Yes Ta \"Single open quote.\""
4839 #: build/C/man7/mdoc.7:367
4841 msgid "Li \\&Sq Ta Yes Ta Yes Ta \"Single quote.\""
4845 #: build/C/man7/mdoc.7:368
4847 msgid "Li \\&Sm Ta \\&No Ta \\&No Ta \"Space mode (default is \\*qon\\*q)\""
4851 #: build/C/man7/mdoc.7:369
4853 msgid "Li \\&Sx Ta Yes Ta Yes Ta \"Section Cross Reference.\""
4857 #: build/C/man7/mdoc.7:370
4859 msgid "Li \\&Sy Ta Yes Ta Yes Ta \"Symbolic (traditional English).\""
4863 #: build/C/man7/mdoc.7:371
4865 msgid "Li \\&Tn Ta Yes Ta Yes Ta \"Trade or type name (small Caps).\""
4869 #: build/C/man7/mdoc.7:372
4871 msgid "Li \\&Ux Ta Yes Ta Yes Ta Ux"
4875 #: build/C/man7/mdoc.7:373
4877 msgid "Li \\&Xc Ta Yes Ta Yes Ta \"Extend argument list close.\""
4881 #: build/C/man7/mdoc.7:374
4883 msgid "Li \\&Xo Ta Yes Ta Yes Ta \"Extend argument list open.\""
4887 #: build/C/man7/mdoc.7:388
4889 "Macro names ending in E<.Ql q> quote remaining items on the argument list. "
4890 "Macro names ending in E<.Ql o> begin a quote which may span more than one "
4891 "line of input and are close quoted with the matching macro name ending in "
4892 "E<.Ql c>. Enclosure macros may be nested and are limited to eight "
4897 #: build/C/man7/mdoc.7:400
4899 "Note: the extended argument list macros E<.Pf ( Ql \\&.Xo>, E<.Ql \\&.Xc>) "
4900 "and the function enclosure macros E<.Pf ( Ql \\&.Fo>, E<.Ql \\&.Fc>) are "
4901 "irregular. The extended list macros are used when the number of macro "
4902 "arguments would exceed the E<.Xr troff> limitation of nine arguments."
4905 #. The following does not apply on Linux:
4906 #. .Sh CONFIGURATION
4907 #. For site specific configuration of the macro package,
4909 #. .Pa /usr/src/share/tmac/README .
4911 #: build/C/man7/mdoc.7:411
4913 "The macros UR (starting a URI/URL hypertext reference), UE (ending one), and "
4914 "UN (identifying a target for a reference) are also available. See E<.Xr man "
4915 "7> for more information on these macros."
4919 #: build/C/man7/mdoc.7:413
4925 #: build/C/man7/mdoc.7:415
4926 msgid "Manual and general text domain macros."
4930 #: build/C/man7/mdoc.7:415
4932 msgid "Pa tmac/doc-common"
4936 #: build/C/man7/mdoc.7:417
4937 msgid "Common structural macros and definitions."
4941 #: build/C/man7/mdoc.7:417
4943 msgid "Pa tmac/doc-nroff"
4947 #: build/C/man7/mdoc.7:421
4948 msgid "Site dependent E<.Xr nroff> style file."
4952 #: build/C/man7/mdoc.7:421
4954 msgid "Pa tmac/doc-ditroff"
4958 #: build/C/man7/mdoc.7:425
4959 msgid "Site dependent E<.Xr troff> style file."
4963 #: build/C/man7/mdoc.7:425
4965 msgid "Pa tmac/doc-syms"
4969 #: build/C/man7/mdoc.7:427
4970 msgid "Special defines (such as the standards macro)."
4974 #: build/C/man7/mdoc.7:433
4975 msgid "E<.Xr groff_mdoc 7>, E<.Xr mdoc.samples 7>, E<.Xr man 7>, E<.Xr man-pages 7>"
4979 #: build/C/man7/mdoc.7:440 build/C/man7/mdoc.samples.7:2964
4981 "This page is part of release 3.54 of the Linux E<.Em man-pages> project. A "
4982 "description of the project, and information about reporting bugs, can be "
4983 "found at \\%http://www.kernel.org/doc/man\\-pages/."
4987 #: build/C/man7/operator.7:40
4993 #: build/C/man7/operator.7:40
4999 #: build/C/man7/operator.7:43
5000 msgid "operator - C operator precedence and order of evaluation"
5004 #: build/C/man7/operator.7:45
5005 msgid "This manual page lists C operators and their precedence in evaluation."
5009 #: build/C/man7/operator.7:63
5012 "B<Operator Associativity>\n"
5013 "() [] -E<gt> . left to right\n"
5014 "! ~ ++ -- + - (type) * & sizeof right to left\n"
5015 "* / % left to right\n"
5016 "+ - left to right\n"
5017 "E<lt>E<lt> E<gt>E<gt> left to right\n"
5018 "E<lt> E<lt>= E<gt> E<gt>= left to right\n"
5019 "== != left to right\n"
5023 "&& left to right\n"
5024 "|| left to right\n"
5025 "?: right to left\n"
5026 "= += -= *= /= %= E<lt>E<lt>= E<gt>E<gt>= &= ^= |= right to left\n"
5031 #: build/C/man7/posixoptions.7:24
5033 msgid "POSIXOPTIONS"
5037 #: build/C/man7/posixoptions.7:24
5043 #: build/C/man7/posixoptions.7:27
5044 msgid "posixoptions - optional parts of the POSIX standard"
5048 #: build/C/man7/posixoptions.7:41
5050 "The POSIX standard (the information below is from POSIX.1-2001) describes a "
5051 "set of behaviors and interfaces for a compliant system. However, many "
5052 "interfaces are optional and there are feature test macros to test the "
5053 "availability of interfaces at compile time, and functions B<sysconf>(3), "
5054 "B<fpathconf>(3), B<pathconf>(3), B<confstr>(3) to do this at run time. "
5055 "From shell scripts one can use B<getconf>(1). For more detail, see "
5060 #: build/C/man7/posixoptions.7:48
5062 "We give the name of the POSIX abbreviation, the option, the name of the "
5063 "B<sysconf>(3) parameter used to inquire about the option, and possibly a "
5064 "very short description. Much more precise detail can be found in the POSIX "
5065 "standard itself, versions of which can nowadays be accessed freely on the "
5070 #: build/C/man7/posixoptions.7:48
5072 msgid "ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO"
5076 #: build/C/man7/posixoptions.7:50
5077 msgid "The following advisory functions are present:"
5081 #: build/C/man7/posixoptions.7:58
5084 "I<posix_fadvise>(),\n"
5085 "I<posix_fallocate>(),\n"
5086 "I<posix_memalign>(),\n"
5087 "I<posix_madvise>().\n"
5091 #: build/C/man7/posixoptions.7:61
5093 msgid "AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO"
5097 #: build/C/man7/posixoptions.7:66
5099 "The header I<E<lt>aio.hE<gt>> is present. The following functions are "
5104 #: build/C/man7/posixoptions.7:78
5107 "I<aio_cancel>(),\n"
5111 "I<aio_return>(),\n"
5112 "I<aio_suspend>(),\n"
5114 "I<lio_listio>().\n"
5118 #: build/C/man7/posixoptions.7:81
5120 msgid "BAR - _POSIX_BARRIERS - _SC_BARRIERS"
5124 #: build/C/man7/posixoptions.7:88 build/C/man7/posixoptions.7:458
5126 "This option implies the B<_POSIX_THREADS> and "
5127 "B<_POSIX_THREAD_SAFE_FUNCTIONS> options. The following functions are "
5132 #: build/C/man7/posixoptions.7:97
5135 "I<pthread_barrier_destroy>(),\n"
5136 "I<pthread_barrier_init>(),\n"
5137 "I<pthread_barrier_wait>(),\n"
5138 "I<pthread_barrierattr_destroy>(),\n"
5139 "I<pthread_barrierattr_init>().\n"
5143 #. Batch environment.
5147 #: build/C/man7/posixoptions.7:104
5149 msgid "--- - POSIX_CHOWN_RESTRICTED"
5152 #. What about lchown() ?
5154 #: build/C/man7/posixoptions.7:112
5156 "If this option is in effect (as it always is under POSIX.1-2001) then only "
5157 "root may change the owner of a file, and nonroot can set the group of a file "
5158 "only to one of the groups it belongs to. This affects the functions "
5159 "I<chown>(), I<fchown>()."
5163 #: build/C/man7/posixoptions.7:112
5165 msgid "CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION"
5169 #: build/C/man7/posixoptions.7:117
5171 "This option implies the B<_POSIX_TIMERS> option. The following functions "
5176 #: build/C/man7/posixoptions.7:124
5179 "I<pthread_condattr_getclock>(),\n"
5180 "I<pthread_condattr_setclock>(),\n"
5181 "I<clock_nanosleep>().\n"
5185 #: build/C/man7/posixoptions.7:132
5187 "If B<CLOCK_REALTIME> is changed by the function I<clock_settime>(), then "
5188 "this affects all timers set for an absolute time."
5192 #: build/C/man7/posixoptions.7:132
5194 msgid "CPT - _POSIX_CPUTIME - _SC_CPUTIME"
5198 #. Fortran development
5202 #: build/C/man7/posixoptions.7:145
5204 "The clockID CLOCK_PROCESS_CPUTIME_ID is supported. The initial value of "
5205 "this clock is 0 for each process. This option implies the B<_POSIX_TIMERS> "
5206 "option. The function I<clock_getcpuclockid>() is present."
5210 #: build/C/man7/posixoptions.7:145
5212 msgid "--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING"
5216 #. IEC 60559 Floating-Point Option.
5218 #: build/C/man7/posixoptions.7:148 build/C/man7/posixoptions.7:238
5219 msgid "This option has been deleted. Not in final XPG6."
5223 #: build/C/man7/posixoptions.7:148
5225 msgid "FSC - _POSIX_FSYNC - _SC_FSYNC"
5229 #: build/C/man7/posixoptions.7:152
5230 msgid "The function I<fsync>() is present."
5234 #: build/C/man7/posixoptions.7:152
5236 msgid "IP6 - _POSIX_IPV6 - _SC_IPV6"
5240 #: build/C/man7/posixoptions.7:154
5241 msgid "Internet Protocol Version 6 is supported."
5245 #: build/C/man7/posixoptions.7:154
5247 msgid "--- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL"
5251 #: build/C/man7/posixoptions.7:158
5253 "If this option is in effect (as it always is under POSIX.1-2001) then the "
5254 "system implements POSIX-style job control, and the following functions are "
5259 #: build/C/man7/posixoptions.7:169
5266 "I<tcsendbreak>(),\n"
5272 #: build/C/man7/posixoptions.7:171
5274 msgid "MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES"
5278 #: build/C/man7/posixoptions.7:180
5280 "Shared memory is supported. The include file I<E<lt>sys/mman.hE<gt>> is "
5281 "present. The following functions are present: I<mmap>(), I<msync>(), "
5286 #: build/C/man7/posixoptions.7:180
5288 msgid "ML - _POSIX_MEMLOCK - _SC_MEMLOCK"
5292 #: build/C/man7/posixoptions.7:186
5294 "Shared memory can be locked into core. The functions I<mlockall>(), "
5295 "I<munlockall>() are present."
5299 #: build/C/man7/posixoptions.7:186
5301 msgid "MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE"
5305 #: build/C/man7/posixoptions.7:192
5307 "More precisely, ranges can be locked into core. The functions I<mlock>(), "
5308 "I<munlock>() are present."
5312 #: build/C/man7/posixoptions.7:192
5314 msgid "MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION"
5318 #: build/C/man7/posixoptions.7:196
5319 msgid "The function I<mprotect>() is present."
5323 #: build/C/man7/posixoptions.7:196
5325 msgid "MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING"
5329 #: build/C/man7/posixoptions.7:201
5331 "The include file I<E<lt>mqueue.hE<gt>> is present. The following functions "
5336 #: build/C/man7/posixoptions.7:213
5340 "I<mq_getattr>(),\n"
5343 "I<mq_receive>(),\n"
5345 "I<mq_setattr>(),\n"
5350 #: build/C/man7/posixoptions.7:216
5352 msgid "MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK"
5356 #: build/C/man7/posixoptions.7:223
5358 "B<CLOCK_MONOTONIC> is supported. This option implies the B<_POSIX_TIMERS> "
5359 "option. Affected functions are"
5363 #: build/C/man7/posixoptions.7:231
5366 "I<aio_suspend>(),\n"
5367 "I<clock_getres>(),\n"
5368 "I<clock_gettime>(),\n"
5369 "I<clock_settime>(),\n"
5370 "I<timer_create>().\n"
5374 #: build/C/man7/posixoptions.7:233
5376 msgid "--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS"
5380 #: build/C/man7/posixoptions.7:238
5382 msgid "--- - _POSIX_NO_TRUNC"
5386 #: build/C/man7/posixoptions.7:245
5388 "If this option is in effect (as it always is under POSIX.1-2001) then "
5389 "pathname components longer than B<NAME_MAX> are not truncated, but give an "
5390 "error. This property may be dependent on the path prefix of the component."
5394 #: build/C/man7/posixoptions.7:245
5396 msgid "PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO"
5400 #: build/C/man7/posixoptions.7:248
5402 "This option says that one can specify priorities for asynchronous I/O. This "
5403 "affects the functions"
5407 #: build/C/man7/posixoptions.7:254
5415 #: build/C/man7/posixoptions.7:256
5417 msgid "PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING"
5421 #: build/C/man7/posixoptions.7:261
5423 "The include file I<E<lt>sched.hE<gt>> is present. The following functions "
5428 #: build/C/man7/posixoptions.7:273
5431 "I<sched_get_priority_max>(),\n"
5432 "I<sched_get_priority_min>(),\n"
5433 "I<sched_getparam>(),\n"
5434 "I<sched_getscheduler>(),\n"
5435 "I<sched_rr_get_interval>(),\n"
5436 "I<sched_setparam>(),\n"
5437 "I<sched_setscheduler>(),\n"
5438 "I<sched_yield>().\n"
5442 #: build/C/man7/posixoptions.7:279
5444 "If also B<_POSIX_SPAWN> is in effect, then the following functions are "
5449 #: build/C/man7/posixoptions.7:287 build/C/man7/posixoptions.7:449
5452 "I<posix_spawnattr_getschedparam>(),\n"
5453 "I<posix_spawnattr_getschedpolicy>(),\n"
5454 "I<posix_spawnattr_setschedparam>(),\n"
5455 "I<posix_spawnattr_setschedpolicy>().\n"
5459 #: build/C/man7/posixoptions.7:289
5461 msgid "RS - _POSIX_RAW_SOCKETS"
5465 #: build/C/man7/posixoptions.7:294
5467 "Raw sockets are supported. Affected functions are I<getsockopt>(), "
5472 #: build/C/man7/posixoptions.7:294
5474 msgid "--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS"
5478 #: build/C/man7/posixoptions.7:302
5480 "This option implies the B<_POSIX_THREADS> option. Conversely, under "
5481 "POSIX.1-2001 the B<_POSIX_THREADS> option implies this option."
5485 #: build/C/man7/posixoptions.7:304
5487 msgid "The following functions are present:\n"
5491 #: build/C/man7/posixoptions.7:315
5494 "I<pthread_rwlock_destroy>(),\n"
5495 "I<pthread_rwlock_init>(),\n"
5496 "I<pthread_rwlock_rdlock>(),\n"
5497 "I<pthread_rwlock_tryrdlock>(),\n"
5498 "I<pthread_rwlock_trywrlock>(),\n"
5499 "I<pthread_rwlock_unlock>(),\n"
5500 "I<pthread_rwlock_wrlock>(),\n"
5501 "I<pthread_rwlockattr_destroy>(),\n"
5502 "I<pthread_rwlockattr_init>().\n"
5506 #: build/C/man7/posixoptions.7:317
5508 msgid "RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS"
5512 #: build/C/man7/posixoptions.7:320
5513 msgid "Realtime signals are supported. The following functions are present:"
5517 #: build/C/man7/posixoptions.7:327
5521 "I<sigtimedwait>(),\n"
5522 "I<sigwaitinfo>().\n"
5526 #: build/C/man7/posixoptions.7:330
5528 msgid "--- - _POSIX_REGEXP - _SC_REGEXP"
5532 #: build/C/man7/posixoptions.7:334
5534 "If this option is in effect (as it always is under POSIX.1-2001) then POSIX "
5535 "regular expressions are supported and the following functions are present:"
5539 #: build/C/man7/posixoptions.7:342
5549 #: build/C/man7/posixoptions.7:345
5551 msgid "--- - _POSIX_SAVED_IDS - _SC_SAVED_IDS"
5555 #: build/C/man7/posixoptions.7:349
5557 "If this option is in effect (as it always is under POSIX.1-2001) then a "
5558 "process has a saved set-user-ID and a saved set-group-ID. Affected "
5563 #: build/C/man7/posixoptions.7:359
5575 #. Software development
5577 #: build/C/man7/posixoptions.7:364
5579 msgid "SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES"
5583 #: build/C/man7/posixoptions.7:369
5585 "The include file I<E<lt>semaphore.hE<gt>> is present. The following "
5586 "functions are present:"
5590 #: build/C/man7/posixoptions.7:382
5594 "I<sem_destroy>(),\n"
5595 "I<sem_getvalue>(),\n"
5599 "I<sem_trywait>(),\n"
5600 "I<sem_unlink>(),\n"
5605 #: build/C/man7/posixoptions.7:385
5607 msgid "SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS"
5611 #: build/C/man7/posixoptions.7:387 build/C/man7/posixoptions.7:703 build/C/man7/posixoptions.7:719 build/C/man7/posixoptions.7:833
5612 msgid "The following functions are present:"
5616 #: build/C/man7/posixoptions.7:395
5622 "I<shm_unlink>().\n"
5626 #: build/C/man7/posixoptions.7:398
5628 msgid "--- - _POSIX_SHELL - _SC_SHELL"
5632 #: build/C/man7/posixoptions.7:403
5634 "If this option is in effect (as it always is under POSIX.1-2001), the "
5635 "function I<system>() is present."
5639 #: build/C/man7/posixoptions.7:403
5641 msgid "SPN - _POSIX_SPAWN - _SC_SPAWN"
5645 #: build/C/man7/posixoptions.7:413
5647 "This option describes support for process creation in a context where it is "
5648 "difficult or impossible to use I<fork>(), for example, because no MMU is "
5649 "present. If B<_POSIX_SPAWN> is in effect, then the include file "
5650 "I<E<lt>spawn.hE<gt>> and the following functions are present:"
5654 #: build/C/man7/posixoptions.7:434
5657 "I<posix_spawn>(),\n"
5658 "I<posix_spawn_file_actions_addclose>(),\n"
5659 "I<posix_spawn_file_actions_adddup2>(),\n"
5660 "I<posix_spawn_file_actions_addopen>(),\n"
5661 "I<posix_spawn_file_actions_destroy>(),\n"
5662 "I<posix_spawn_file_actions_init>(),\n"
5663 "I<posix_spawnattr_destroy>(),\n"
5664 "I<posix_spawnattr_getsigdefault>(),\n"
5665 "I<posix_spawnattr_getflags>(),\n"
5666 "I<posix_spawnattr_getpgroup>(),\n"
5667 "I<posix_spawnattr_getsigmask>(),\n"
5668 "I<posix_spawnattr_init>(),\n"
5669 "I<posix_spawnattr_setsigdefault>(),\n"
5670 "I<posix_spawnattr_setflags>(),\n"
5671 "I<posix_spawnattr_setpgroup>(),\n"
5672 "I<posix_spawnattr_setsigmask>(),\n"
5673 "I<posix_spawnp>().\n"
5677 #: build/C/man7/posixoptions.7:441
5679 "If also B<_POSIX_PRIORITY_SCHEDULING> is in effect, then the following "
5680 "functions are present:"
5684 #: build/C/man7/posixoptions.7:451
5686 msgid "SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS"
5690 #: build/C/man7/posixoptions.7:467
5693 "I<pthread_spin_destroy>(),\n"
5694 "I<pthread_spin_init>(),\n"
5695 "I<pthread_spin_lock>(),\n"
5696 "I<pthread_spin_trylock>(),\n"
5697 "I<pthread_spin_unlock>().\n"
5701 #: build/C/man7/posixoptions.7:470
5703 msgid "SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER"
5707 #: build/C/man7/posixoptions.7:478
5709 "The scheduling policy B<SCHED_SPORADIC> is supported. This option implies "
5710 "the B<_POSIX_PRIORITY_SCHEDULING> option. Affected functions are"
5714 #: build/C/man7/posixoptions.7:484
5717 "I<sched_setparam>(),\n"
5718 "I<sched_setscheduler>().\n"
5722 #: build/C/man7/posixoptions.7:487
5724 msgid "SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO"
5728 #: build/C/man7/posixoptions.7:493
5729 msgid "Affected functions are I<open>(), I<msync>(), I<fsync>(), I<fdatasync>()."
5733 #: build/C/man7/posixoptions.7:493
5735 msgid "TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR"
5739 #: build/C/man7/posixoptions.7:495 build/C/man7/posixoptions.7:508 build/C/man7/posixoptions.7:539 build/C/man7/posixoptions.7:550 build/C/man7/posixoptions.7:585 build/C/man7/posixoptions.7:602
5740 msgid "Affected functions are"
5744 #: build/C/man7/posixoptions.7:503
5747 "I<pthread_attr_getstack>(),\n"
5748 "I<pthread_attr_getstackaddr>(),\n"
5749 "I<pthread_attr_setstack>(),\n"
5750 "I<pthread_attr_setstackaddr>().\n"
5754 #: build/C/man7/posixoptions.7:506
5756 msgid "TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE"
5760 #: build/C/man7/posixoptions.7:516
5763 "I<pthread_attr_getstack>(),\n"
5764 "I<pthread_attr_getstacksize>(),\n"
5765 "I<pthread_attr_setstack>(),\n"
5766 "I<pthread_attr_setstacksize>().\n"
5770 #: build/C/man7/posixoptions.7:519
5772 msgid "TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME"
5776 #: build/C/man7/posixoptions.7:525
5778 "The clockID CLOCK_THREAD_CPUTIME_ID is supported. This option implies the "
5779 "B<_POSIX_TIMERS> option. Affected functions are"
5783 #: build/C/man7/posixoptions.7:534
5786 "I<pthread_getcpuclockid>(),\n"
5787 "I<clock_getres>(),\n"
5788 "I<clock_gettime>(),\n"
5789 "I<clock_settime>(),\n"
5790 "I<timer_create>().\n"
5794 #: build/C/man7/posixoptions.7:537
5796 msgid "TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT"
5800 #: build/C/man7/posixoptions.7:545
5803 "I<pthread_mutexattr_getprotocol>(),\n"
5804 "I<pthread_mutexattr_setprotocol>().\n"
5808 #: build/C/man7/posixoptions.7:548
5810 msgid "TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT"
5814 #: build/C/man7/posixoptions.7:560
5817 "I<pthread_mutex_getprioceiling>(),\n"
5818 "I<pthread_mutex_setprioceiling>(),\n"
5819 "I<pthread_mutexattr_getprioceiling>(),\n"
5820 "I<pthread_mutexattr_getprotocol>(),\n"
5821 "I<pthread_mutexattr_setprioceiling>(),\n"
5822 "I<pthread_mutexattr_setprotocol>().\n"
5826 #: build/C/man7/posixoptions.7:563
5828 msgid "TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING"
5832 #: build/C/man7/posixoptions.7:567
5834 "If this option is in effect, the different threads inside a process can run "
5835 "with different priorities and/or different schedulers. Affected functions "
5840 #: build/C/man7/posixoptions.7:580
5843 "I<pthread_attr_getinheritsched>(),\n"
5844 "I<pthread_attr_getschedpolicy>(),\n"
5845 "I<pthread_attr_getscope>(),\n"
5846 "I<pthread_attr_setinheritsched>(),\n"
5847 "I<pthread_attr_setschedpolicy>(),\n"
5848 "I<pthread_attr_setscope>(),\n"
5849 "I<pthread_getschedparam>(),\n"
5850 "I<pthread_setschedparam>(),\n"
5851 "I<pthread_setschedprio>().\n"
5855 #: build/C/man7/posixoptions.7:583
5857 msgid "TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED"
5861 #: build/C/man7/posixoptions.7:597
5864 "I<pthread_barrierattr_getpshared>(),\n"
5865 "I<pthread_barrierattr_setpshared>(),\n"
5866 "I<pthread_condattr_getpshared>(),\n"
5867 "I<pthread_condattr_setpshared>(),\n"
5868 "I<pthread_mutexattr_getpshared>(),\n"
5869 "I<pthread_mutexattr_setpshared>(),\n"
5870 "I<pthread_rwlockattr_getpshared>(),\n"
5871 "I<pthread_rwlockattr_setpshared>().\n"
5875 #: build/C/man7/posixoptions.7:600
5877 msgid "TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS"
5881 #: build/C/man7/posixoptions.7:625
5885 "I<getgrgid_r>(),\n"
5886 "I<getgrnam_r>(),\n"
5887 "I<getpwnam_r>(),\n"
5888 "I<getpwuid_r>(),\n"
5890 "I<ftrylockfile>(),\n"
5891 "I<funlockfile>(),\n"
5892 "I<getc_unlocked>(),\n"
5893 "I<getchar_unlocked>(),\n"
5894 "I<putc_unlocked>(),\n"
5895 "I<putchar_unlocked>(),\n"
5897 "I<strerror_r>(),\n"
5902 "I<localtime_r>().\n"
5906 #: build/C/man7/posixoptions.7:628
5908 msgid "TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER"
5912 #: build/C/man7/posixoptions.7:633
5914 "This option implies the B<_POSIX_THREAD_PRIORITY_SCHEDULING> option. "
5915 "Affected functions are"
5919 #: build/C/man7/posixoptions.7:640
5922 "I<sched_getparam>(),\n"
5923 "I<sched_setparam>(),\n"
5924 "I<sched_setscheduler>().\n"
5928 #: build/C/man7/posixoptions.7:643
5930 msgid "THR - _POSIX_THREADS - _SC_THREADS"
5934 #: build/C/man7/posixoptions.7:646
5936 "Basic support for POSIX threads is available. The following functions are "
5941 #: build/C/man7/posixoptions.7:698
5944 "I<pthread_atfork>(),\n"
5945 "I<pthread_attr_destroy>(),\n"
5946 "I<pthread_attr_getdetachstate>(),\n"
5947 "I<pthread_attr_getschedparam>(),\n"
5948 "I<pthread_attr_init>(),\n"
5949 "I<pthread_attr_setdetachstate>(),\n"
5950 "I<pthread_attr_setschedparam>(),\n"
5951 "I<pthread_cancel>(),\n"
5952 "I<pthread_cleanup_push>(),\n"
5953 "I<pthread_cleanup_pop>(),\n"
5954 "I<pthread_cond_broadcast>(),\n"
5955 "I<pthread_cond_destroy>(),\n"
5956 "I<pthread_cond_init>(),\n"
5957 "I<pthread_cond_signal>(),\n"
5958 "I<pthread_cond_timedwait>(),\n"
5959 "I<pthread_cond_wait>(),\n"
5960 "I<pthread_condattr_destroy>(),\n"
5961 "I<pthread_condattr_init>(),\n"
5962 "I<pthread_create>(),\n"
5963 "I<pthread_detach>(),\n"
5964 "I<pthread_equal>(),\n"
5965 "I<pthread_exit>(),\n"
5966 "I<pthread_getspecific>(),\n"
5967 "I<pthread_join>(),\n"
5968 "I<pthread_key_create>(),\n"
5969 "I<pthread_key_delete>(),\n"
5970 "I<pthread_mutex_destroy>(),\n"
5971 "I<pthread_mutex_init>(),\n"
5972 "I<pthread_mutex_lock>(),\n"
5973 "I<pthread_mutex_trylock>(),\n"
5974 "I<pthread_mutex_unlock>(),\n"
5975 "I<pthread_mutexattr_destroy>(),\n"
5976 "I<pthread_mutexattr_init>(),\n"
5977 "I<pthread_once>(),\n"
5978 "I<pthread_rwlock_destroy>(),\n"
5979 "I<pthread_rwlock_init>(),\n"
5980 "I<pthread_rwlock_rdlock>(),\n"
5981 "I<pthread_rwlock_tryrdlock>(),\n"
5982 "I<pthread_rwlock_trywrlock>(),\n"
5983 "I<pthread_rwlock_unlock>(),\n"
5984 "I<pthread_rwlock_wrlock>(),\n"
5985 "I<pthread_rwlockattr_destroy>(),\n"
5986 "I<pthread_rwlockattr_init>(),\n"
5987 "I<pthread_self>(),\n"
5988 "I<pthread_setcancelstate>(),\n"
5989 "I<pthread_setcanceltype>(),\n"
5990 "I<pthread_setspecific>(),\n"
5991 "I<pthread_testcancel>().\n"
5995 #: build/C/man7/posixoptions.7:701
5997 msgid "TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS"
6001 #: build/C/man7/posixoptions.7:714
6004 "I<mq_timedreceive>(),\n"
6005 "I<mq_timedsend>(),\n"
6006 "I<pthread_mutex_timedlock>(),\n"
6007 "I<pthread_rwlock_timedrdlock>(),\n"
6008 "I<pthread_rwlock_timedwrlock>(),\n"
6009 "I<sem_timedwait>(),\n"
6010 "I<posix_trace_timedgetnext_event>().\n"
6014 #: build/C/man7/posixoptions.7:717
6016 msgid "TMR - _POSIX_TIMERS - _SC_TIMERS"
6020 #: build/C/man7/posixoptions.7:732
6023 "I<clock_getres>(),\n"
6024 "I<clock_gettime>(),\n"
6025 "I<clock_settime>(),\n"
6027 "I<timer_create>(),\n"
6028 "I<timer_delete>(),\n"
6029 "I<timer_gettime>(),\n"
6030 "I<timer_getoverrun>(),\n"
6031 "I<timer_settime>().\n"
6035 #: build/C/man7/posixoptions.7:735
6037 msgid "TRC - _POSIX_TRACE - _SC_TRACE"
6041 #: build/C/man7/posixoptions.7:738
6042 msgid "POSIX tracing is available. The following functions are present:"
6046 #: build/C/man7/posixoptions.7:773
6049 "I<posix_trace_attr_destroy>(),\n"
6050 "I<posix_trace_attr_getclockres>(),\n"
6051 "I<posix_trace_attr_getcreatetime>(),\n"
6052 "I<posix_trace_attr_getgenversion>(),\n"
6053 "I<posix_trace_attr_getmaxdatasize>(),\n"
6054 "I<posix_trace_attr_getmaxsystemeventsize>(),\n"
6055 "I<posix_trace_attr_getmaxusereventsize>(),\n"
6056 "I<posix_trace_attr_getname>(),\n"
6057 "I<posix_trace_attr_getstreamfullpolicy>(),\n"
6058 "I<posix_trace_attr_getstreamsize>(),\n"
6059 "I<posix_trace_attr_init>(),\n"
6060 "I<posix_trace_attr_setmaxdatasize>(),\n"
6061 "I<posix_trace_attr_setname>(),\n"
6062 "I<posix_trace_attr_setstreamsize>(),\n"
6063 "I<posix_trace_attr_setstreamfullpolicy>(),\n"
6064 "I<posix_trace_clear>(),\n"
6065 "I<posix_trace_create>(),\n"
6066 "I<posix_trace_event>(),\n"
6067 "I<posix_trace_eventid_equal>(),\n"
6068 "I<posix_trace_eventid_get_name>(),\n"
6069 "I<posix_trace_eventid_open>(),\n"
6070 "I<posix_trace_eventtypelist_getnext_id>(),\n"
6071 "I<posix_trace_eventtypelist_rewind>(),\n"
6072 "I<posix_trace_flush>(),\n"
6073 "I<posix_trace_get_attr>(),\n"
6074 "I<posix_trace_get_status>(),\n"
6075 "I<posix_trace_getnext_event>(),\n"
6076 "I<posix_trace_shutdown>(),\n"
6077 "I<posix_trace_start>(),\n"
6078 "I<posix_trace_stop>(),\n"
6079 "I<posix_trace_trygetnext_event>().\n"
6083 #: build/C/man7/posixoptions.7:776
6085 msgid "TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER"
6089 #: build/C/man7/posixoptions.7:781 build/C/man7/posixoptions.7:816
6091 "This option implies the B<_POSIX_TRACE> option. The following functions are "
6096 #: build/C/man7/posixoptions.7:793
6099 "I<posix_trace_eventset_add>(),\n"
6100 "I<posix_trace_eventset_del>(),\n"
6101 "I<posix_trace_eventset_empty>(),\n"
6102 "I<posix_trace_eventset_fill>(),\n"
6103 "I<posix_trace_eventset_ismember>(),\n"
6104 "I<posix_trace_get_filter>(),\n"
6105 "I<posix_trace_set_filter>(),\n"
6106 "I<posix_trace_trid_eventid_open>().\n"
6110 #: build/C/man7/posixoptions.7:796
6112 msgid "TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT"
6116 #: build/C/man7/posixoptions.7:802
6118 "Tracing children of the traced process is supported. This option implies "
6119 "the B<_POSIX_TRACE> option. The following functions are present:"
6123 #: build/C/man7/posixoptions.7:808
6126 "I<posix_trace_attr_getinherited>(),\n"
6127 "I<posix_trace_attr_setinherited>().\n"
6131 #: build/C/man7/posixoptions.7:811
6133 msgid "TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG"
6137 #: build/C/man7/posixoptions.7:828
6140 "I<posix_trace_attr_getlogfullpolicy>(),\n"
6141 "I<posix_trace_attr_getlogsize>(),\n"
6142 "I<posix_trace_attr_setlogfullpolicy>(),\n"
6143 "I<posix_trace_attr_setlogsize>(),\n"
6144 "I<posix_trace_close>(),\n"
6145 "I<posix_trace_create_withlog>(),\n"
6146 "I<posix_trace_open>(),\n"
6147 "I<posix_trace_rewind>().\n"
6151 #: build/C/man7/posixoptions.7:831
6153 msgid "TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT"
6157 #: build/C/man7/posixoptions.7:840
6160 "I<posix_mem_offset>(),\n"
6161 "I<posix_typed_mem_get_info>(),\n"
6162 "I<posix_typed_mem_open>().\n"
6166 #: build/C/man7/posixoptions.7:843
6168 msgid "--- - _POSIX_VDISABLE"
6172 #: build/C/man7/posixoptions.7:847
6174 "Always present (probably 0). Value to set a changeable special control "
6175 "character to indicate that it is disabled."
6179 #: build/C/man7/posixoptions.7:847
6181 msgid "XOPEN EXTENSIONS"
6186 #: build/C/man7/posixoptions.7:854
6188 "B<_XOPEN_CRYPT>, B<_XOPEN_LEGACY>, B<_XOPEN_REALTIME>, "
6189 "B<_XOPEN_REALTIME_THREADS>, B<_XOPEN_UNIX>."
6193 #: build/C/man7/posixoptions.7:857
6194 msgid "B<sysconf>(3), B<standards>(7)"
6198 #: build/C/man5/proc.5:62
6204 #: build/C/man5/proc.5:62
6210 #: build/C/man5/proc.5:65
6211 msgid "proc - process information pseudo-filesystem"
6215 #: build/C/man5/proc.5:74
6217 "The I<proc> filesystem is a pseudo-filesystem which provides an interface to "
6218 "kernel data structures. It is commonly mounted at I</proc>. Most of it is "
6219 "read-only, but some files allow kernel variables to be changed."
6223 #: build/C/man5/proc.5:78
6225 "The following list describes many of the files and directories under the "
6226 "I</proc> hierarchy."
6230 #: build/C/man5/proc.5:79
6232 msgid "I</proc/[pid]>"
6235 #. FIXME Describe /proc/[pid]/attr and
6236 #. /proc/[pid]/task/[tid]/attr
6237 #. This is a directory
6241 #: build/C/man5/proc.5:91
6243 "There is a numerical subdirectory for each running process; the subdirectory "
6244 "is named by the process ID. Each such subdirectory contains the following "
6245 "pseudo-files and directories."
6249 #: build/C/man5/proc.5:91
6251 msgid "I</proc/[pid]/auxv> (since 2.6.0-test7)"
6255 #: build/C/man5/proc.5:98
6257 "This contains the contents of the ELF interpreter information passed to the "
6258 "process at exec time. The format is one I<unsigned long> ID plus one "
6259 "I<unsigned long> value for each entry. The last entry contains two zeros."
6263 #: build/C/man5/proc.5:98
6265 msgid "I</proc/[pid]/cgroup> (since Linux 2.6.24)"
6268 #. Info in Documentation/cgroups/cgroups.txt
6270 #: build/C/man5/proc.5:104
6272 "This file describes control groups to which the process/task belongs. For "
6273 "each cgroup hierarchy there is one entry containing colon-separated fields "
6278 #: build/C/man5/proc.5:108
6280 msgid "CW< 5:cpuacct,cpu,cpuset:/daemons>\n"
6284 #: build/C/man5/proc.5:112
6285 msgid "The colon-separated fields are, from left to right:"
6289 #: build/C/man5/proc.5:113
6295 #: build/C/man5/proc.5:115
6296 msgid "hierarchy ID number"
6300 #: build/C/man5/proc.5:115
6306 #: build/C/man5/proc.5:117
6307 msgid "set of subsystems bound to the hierarchy"
6311 #: build/C/man5/proc.5:117
6317 #: build/C/man5/proc.5:119
6318 msgid "control group in the hierarchy to which the process belongs"
6322 #. FIXME Describe /proc/[pid]/clear_refs
6324 #. "Clears page referenced bits shown in smaps output"
6326 #. CONFIG_PROC_PAGE_MONITOR
6328 #: build/C/man5/proc.5:130
6330 "This file is present only if the B<CONFIG_CGROUPS> kernel configuration "
6331 "option is enabled."
6335 #: build/C/man5/proc.5:130
6337 msgid "I</proc/[pid]/cmdline>"
6340 #. In 2.3.26, this also used to be true if the process was swapped out.
6342 #: build/C/man5/proc.5:140
6344 "This holds the complete command line for the process, unless the process is "
6345 "a zombie. In the latter case, there is nothing in this file: that is, a "
6346 "read on this file will return 0 characters. The command-line arguments "
6347 "appear in this file as a set of strings separated by null bytes "
6348 "(\\(aq\\e0\\(aq), with a further null byte after the last string."
6352 #: build/C/man5/proc.5:140
6354 msgid "I</proc/[pid]/coredump_filter> (since kernel 2.6.23)"
6358 #: build/C/man5/proc.5:144 build/C/man5/proc.5:2809 build/C/man5/proc.5:2813
6359 msgid "See B<core>(5)."
6363 #: build/C/man5/proc.5:144
6365 msgid "I</proc/[pid]/cpuset> (since kernel 2.6.12)"
6368 #. and/proc/[pid]/task/[tid]/cpuset
6370 #: build/C/man5/proc.5:149
6371 msgid "See B<cpuset>(7)."
6375 #: build/C/man5/proc.5:149
6377 msgid "I</proc/[pid]/cwd>"
6381 #: build/C/man5/proc.5:154
6383 "This is a symbolic link to the current working directory of the process. To "
6384 "find out the current working directory of process 20, for instance, you can "
6389 #: build/C/man5/proc.5:158
6391 msgid "$B< cd /proc/20/cwd; /bin/pwd>\n"
6395 #: build/C/man5/proc.5:169
6397 "Note that the I<pwd> command is often a shell built-in, and might not work "
6398 "properly. In B<bash>(1), you may use I<pwd\\ -P>."
6401 #. The following was still true as at kernel 2.6.13
6402 #. FIXME Describe /proc/[pid]/seccomp
6404 #. FIXME Describe /proc/[pid]/sessionid
6405 #. Added in 2.6.25; read-only; only readable by real UID
6406 #. CONFIG_AUDITSYSCALL
6407 #. FIXME Describe /proc/[pid]/sched
6409 #. CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS
6410 #. Displays various scheduling parameters
6411 #. This file can be written, to reset stats
6412 #. FIXME Describe /proc/[pid]/schedstats and
6413 #. /proc/[pid]/task/[tid]/schedstats
6415 #. CONFIG_SCHEDSTATS
6417 #: build/C/man5/proc.5:175 build/C/man5/proc.5:956
6419 "In a multithreaded process, the contents of this symbolic link are not "
6420 "available if the main thread has already terminated (typically by calling "
6421 "B<pthread_exit>(3))."
6425 #: build/C/man5/proc.5:175
6427 msgid "I</proc/[pid]/environ>"
6431 #: build/C/man5/proc.5:181
6433 "This file contains the environment for the process. The entries are "
6434 "separated by null bytes (\\(aq\\e0\\(aq), and there may be a null byte at "
6435 "the end. Thus, to print out the environment of process 1, you would do:"
6439 #: build/C/man5/proc.5:186
6441 msgid "$B< strings /proc/1/environ>\n"
6445 #: build/C/man5/proc.5:189
6447 msgid "I</proc/[pid]/exe>"
6450 #. The following was still true as at kernel 2.6.13
6452 #: build/C/man5/proc.5:204
6454 "Under Linux 2.2 and later, this file is a symbolic link containing the "
6455 "actual pathname of the executed command. This symbolic link can be "
6456 "dereferenced normally; attempting to open it will open the executable. You "
6457 "can even type I</proc/[pid]/exe> to run another copy of the same executable "
6458 "as is being run by process [pid]. In a multithreaded process, the contents "
6459 "of this symbolic link are not available if the main thread has already "
6460 "terminated (typically by calling B<pthread_exit>(3))."
6464 #: build/C/man5/proc.5:212
6466 "Under Linux 2.0 and earlier I</proc/[pid]/exe> is a pointer to the binary "
6467 "which was executed, and appears as a symbolic link. A B<readlink>(2) call "
6468 "on this file under Linux 2.0 returns a string in the format:"
6472 #: build/C/man5/proc.5:214
6474 msgid " [device]:inode\n"
6478 #: build/C/man5/proc.5:217
6480 "For example, [0301]:1502 would be inode 1502 on device major 03 (IDE, MFM, "
6481 "etc. drives) minor 01 (first partition on the first drive)."
6485 #: build/C/man5/proc.5:222
6486 msgid "B<find>(1) with the I<-inum> option can be used to locate the file."
6490 #: build/C/man5/proc.5:222
6492 msgid "I</proc/[pid]/fd/>"
6496 #: build/C/man5/proc.5:228
6498 "This is a subdirectory containing one entry for each file which the process "
6499 "has open, named by its file descriptor, and which is a symbolic link to the "
6500 "actual file. Thus, 0 is standard input, 1 standard output, 2 standard "
6505 #: build/C/man5/proc.5:235
6507 "For file descriptors for pipes and sockets, the entries will be symbolic "
6508 "links whose content is the file type with the inode. A B<readlink>(2) call "
6509 "on this file returns a string in the format:"
6513 #: build/C/man5/proc.5:237
6515 msgid " type:[inode]\n"
6519 #: build/C/man5/proc.5:244
6521 "For example, I<socket:[2248868]> will be a socket and its inode is 2248868. "
6522 "For sockets, that inode can be used to find more information in one of the "
6523 "files under I</proc/net/>."
6527 #: build/C/man5/proc.5:254
6529 "For file descriptors that have no corresponding inode (e.g., file "
6530 "descriptors produced by B<epoll_create>(2), B<eventfd>(2), "
6531 "B<inotify_init>(2), B<signalfd>(2), and B<timerfd>(2)), the entry will be a "
6532 "symbolic link with contents of the form"
6536 #: build/C/man5/proc.5:256
6538 msgid " anon_inode:E<lt>file-typeE<gt>\n"
6542 #: build/C/man5/proc.5:260
6543 msgid "In some cases, the I<file-type> is surrounded by square brackets."
6547 #: build/C/man5/proc.5:264
6549 "For example, an epoll file descriptor will have a symbolic link whose "
6550 "content is the string I<anon_inode:[eventpoll]>."
6553 #. The following was still true as at kernel 2.6.13
6555 #: build/C/man5/proc.5:270
6557 "In a multithreaded process, the contents of this directory are not available "
6558 "if the main thread has already terminated (typically by calling "
6559 "B<pthread_exit>(3))."
6563 #: build/C/man5/proc.5:283
6565 "Programs that will take a filename as a command-line argument, but will not "
6566 "take input from standard input if no argument is supplied, or that write to "
6567 "a file named as a command-line argument, but will not send their output to "
6568 "standard output if no argument is supplied, can nevertheless be made to use "
6569 "standard input or standard out using I</proc/[pid]/fd>. For example, "
6570 "assuming that I<-i> is the flag designating an input file and I<-o> is the "
6571 "flag designating an output file:"
6575 #: build/C/man5/proc.5:287
6577 msgid "$B< foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...>\n"
6580 #. The following is not true in my tests (MTK):
6581 #. Note that this will not work for
6582 #. programs that seek on their files, as the files in the fd directory
6583 #. are not seekable.
6585 #: build/C/man5/proc.5:295
6586 msgid "and you have a working filter."
6590 #: build/C/man5/proc.5:305
6592 "I</proc/self/fd/N> is approximately the same as I</dev/fd/N> in some UNIX "
6593 "and UNIX-like systems. Most Linux MAKEDEV scripts symbolically link "
6594 "I</dev/fd> to I</proc/self/fd>, in fact."
6598 #: build/C/man5/proc.5:319
6600 "Most systems provide symbolic links I</dev/stdin>, I</dev/stdout>, and "
6601 "I</dev/stderr>, which respectively link to the files I<0>, I<1>, and I<2> in "
6602 "I</proc/self/fd>. Thus the example command above could be written as:"
6606 #: build/C/man5/proc.5:323
6608 msgid "$B< foobar -i /dev/stdin -o /dev/stdout ...>\n"
6612 #: build/C/man5/proc.5:328
6614 msgid "I</proc/[pid]/fdinfo/> (since kernel 2.6.22)"
6618 #: build/C/man5/proc.5:334
6620 "This is a subdirectory containing one entry for each file which the process "
6621 "has open, named by its file descriptor. The contents of each file can be "
6622 "read to obtain information about the corresponding file descriptor, for "
6627 #: build/C/man5/proc.5:340
6630 "$B< cat /proc/12015/fdinfo/4>\n"
6636 #: build/C/man5/proc.5:351
6638 "The I<pos> field is a decimal number showing the current file offset. The "
6639 "I<flags> field is an octal number that displays the file access mode and "
6640 "file status flags (see B<open>(2))."
6644 #: build/C/man5/proc.5:353
6645 msgid "The files in this directory are readable only by the owner of the process."
6649 #: build/C/man5/proc.5:353
6651 msgid "I</proc/[pid]/io> (since kernel 2.6.20)"
6654 #. commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2
6656 #: build/C/man5/proc.5:357
6657 msgid "This file contains I/O statistics for the process, for example:"
6661 #: build/C/man5/proc.5:368
6664 "#B< cat /proc/3828/io>\n"
6665 "rchar: 323934931\n"
6666 "wchar: 323929600\n"
6670 "write_bytes: 323932160\n"
6671 "cancelled_write_bytes: 0\n"
6675 #: build/C/man5/proc.5:372 build/C/man5/proc.5:1319
6676 msgid "The fields are as follows:"
6680 #: build/C/man5/proc.5:373
6682 msgid "I<rchar>: characters read"
6686 #: build/C/man5/proc.5:383
6688 "The number of bytes which this task has caused to be read from storage. "
6689 "This is simply the sum of bytes which this process passed to B<read>(2) and "
6690 "similar system calls. It includes things such as terminal I/O and is "
6691 "unaffected by whether or not actual physical disk I/O was required (the read "
6692 "might have been satisfied from pagecache)."
6696 #: build/C/man5/proc.5:383
6698 msgid "I<wchar>: characters written"
6702 #: build/C/man5/proc.5:389
6704 "The number of bytes which this task has caused, or shall cause to be written "
6705 "to disk. Similar caveats apply here as with I<rchar>."
6709 #: build/C/man5/proc.5:389
6711 msgid "I<syscr>: read syscalls"
6715 #: build/C/man5/proc.5:396
6717 "Attempt to count the number of read I/O operations\\(emthat is, system calls "
6718 "such as B<read>(2) and B<pread>(2)."
6722 #: build/C/man5/proc.5:396
6724 msgid "I<syscw>: write syscalls"
6728 #: build/C/man5/proc.5:403
6730 "Attempt to count the number of write I/O operations\\(emthat is, system "
6731 "calls such as B<write>(2) and B<pwrite>(2)."
6735 #: build/C/man5/proc.5:403
6737 msgid "I<read_bytes>: bytes read"
6741 #: build/C/man5/proc.5:408
6743 "Attempt to count the number of bytes which this process really did cause to "
6744 "be fetched from the storage layer. This is accurate for block-backed "
6749 #: build/C/man5/proc.5:408
6751 msgid "I<write_bytes>: bytes written"
6755 #: build/C/man5/proc.5:412
6757 "Attempt to count the number of bytes which this process caused to be sent to "
6758 "the storage layer."
6762 #: build/C/man5/proc.5:412
6764 msgid "I<cancelled_write_bytes>:"
6768 #: build/C/man5/proc.5:426
6770 "The big inaccuracy here is truncate. If a process writes 1MB to a file and "
6771 "then deletes the file, it will in fact perform no writeout. But it will "
6772 "have been accounted as having caused 1MB of write. In other words: this "
6773 "field represents the number of bytes which this process caused to not "
6774 "happen, by truncating pagecache. A task can cause \"negative\" I/O too. If "
6775 "this task truncates some dirty pagecache, some I/O which another task has "
6776 "been accounted for (in its I<write_bytes>) will not be happening."
6780 #: build/C/man5/proc.5:434
6782 "I<Note>: In the current implementation, things are a bit racy on 32-bit "
6783 "systems: if process A reads process B's I</proc/[pid]/io> while process B is "
6784 "updating one of these 64-bit counters, process A could see an intermediate "
6789 #: build/C/man5/proc.5:435
6791 msgid "I</proc/[pid]/limits> (since kernel 2.6.24)"
6794 #. commit 3036e7b490bf7878c6dae952eec5fb87b1106589
6796 #: build/C/man5/proc.5:445
6798 "This file displays the soft limit, hard limit, and units of measurement for "
6799 "each of the process's resource limits (see B<getrlimit>(2)). Up to and "
6800 "including Linux 2.6.35, this file is protected to allow reading only by the "
6801 "real UID of the process. Since Linux 2.6.36, this file is readable by all "
6802 "users on the system."
6806 #: build/C/man5/proc.5:445
6808 msgid "I</proc/[pid]/map_files/> (since kernel 3.3)"
6811 #. commit 640708a2cff7f81e246243b0073c66e6ece7e53e
6813 #: build/C/man5/proc.5:455
6815 "This subdirectory contains entries corresponding to memory-mapped files (see "
6816 "B<mmap>(2)). Entries are named by memory region start and end address pair "
6817 "(expressed as hexadecimal numbers), and are symbolic links to the mapped "
6818 "files themselves. Here is an example, with the output wrapped and "
6819 "reformatted to fit on an 80-column display:"
6823 #: build/C/man5/proc.5:462
6826 "$B< ls -l /proc/self/map_files/>\n"
6827 "lr--------. 1 root root 64 Apr 16 21:31\n"
6828 " 3252e00000-3252e20000 -E<gt> /usr/lib64/ld-2.15.so\n"
6833 #: build/C/man5/proc.5:476
6835 "Although these entries are present for memory regions that were mapped with "
6836 "the B<MAP_FILE> flag, the way anonymous shared memory (regions created with "
6837 "the B<MAP_ANON | MAP_SHARED> flags) is implemented in Linux means that such "
6838 "regions also appear on this directory. Here is an example where the target "
6839 "file is the deleted I</dev/zero> one:"
6843 #: build/C/man5/proc.5:482
6846 "lrw-------. 1 root root 64 Apr 16 21:33\n"
6847 " 7fc075d2f000-7fc075e6f000 -E<gt> /dev/zero (deleted)\n"
6851 #: build/C/man5/proc.5:488
6853 "This directory appears only if the B<CONFIG_CHECKPOINT_RESTORE> kernel "
6854 "configuration option is enabled."
6858 #: build/C/man5/proc.5:488
6860 msgid "I</proc/[pid]/maps>"
6864 #: build/C/man5/proc.5:495
6866 "A file containing the currently mapped memory regions and their access "
6867 "permissions. See B<mmap>(2) for some further information about memory "
6872 #: build/C/man5/proc.5:497
6873 msgid "The format of the file is:"
6877 #: build/C/man5/proc.5:522
6880 "I<address perms offset dev inode pathname>\n"
6881 "00400000-00452000 r-xp 00000000 08:02 173521 /usr/bin/dbus-daemon\n"
6882 "00651000-00652000 r--p 00051000 08:02 173521 /usr/bin/dbus-daemon\n"
6883 "00652000-00655000 rw-p 00052000 08:02 173521 /usr/bin/dbus-daemon\n"
6884 "00e03000-00e24000 rw-p 00000000 00:00 0 [heap]\n"
6885 "00e24000-011f7000 rw-p 00000000 00:00 0 [heap]\n"
6887 "35b1800000-35b1820000 r-xp 00000000 08:02 135522 /usr/lib64/ld-2.15.so\n"
6888 "35b1a1f000-35b1a20000 r--p 0001f000 08:02 135522 /usr/lib64/ld-2.15.so\n"
6889 "35b1a20000-35b1a21000 rw-p 00020000 08:02 135522 /usr/lib64/ld-2.15.so\n"
6890 "35b1a21000-35b1a22000 rw-p 00000000 00:00 0\n"
6891 "35b1c00000-35b1dac000 r-xp 00000000 08:02 135870 /usr/lib64/libc-2.15.so\n"
6892 "35b1dac000-35b1fac000 ---p 001ac000 08:02 135870 /usr/lib64/libc-2.15.so\n"
6893 "35b1fac000-35b1fb0000 r--p 001ac000 08:02 135870 /usr/lib64/libc-2.15.so\n"
6894 "35b1fb0000-35b1fb2000 rw-p 001b0000 08:02 135870 /usr/lib64/libc-2.15.so\n"
6896 "f2c6ff8c000-7f2c7078c000 rw-p 00000000 00:00 0 [stack:986]\n"
6898 "7fffb2c0d000-7fffb2c2e000 rw-p 00000000 00:00 0 [stack]\n"
6899 "7fffb2d48000-7fffb2d49000 r-xp 00000000 00:00 0 [vdso]\n"
6903 #: build/C/man5/proc.5:531
6905 "The I<address> field is the address space in the process that the mapping "
6906 "occupies. The I<perms> field is a set of permissions:"
6910 #: build/C/man5/proc.5:539
6917 "p = private (copy on write)\n"
6921 #: build/C/man5/proc.5:552
6923 "The I<offset> field is the offset into the file/whatever; I<dev> is the "
6924 "device (major:minor); I<inode> is the inode on that device. 0 indicates "
6925 "that no inode is associated with the memory region, as would be the case "
6926 "with BSS (uninitialized data)."
6930 #: build/C/man5/proc.5:562
6932 "The I<pathname> field will usually be the file that is backing the mapping. "
6933 "For ELF files, you can easily coordinate with the I<offset> field by looking "
6934 "at the Offset field in the ELF program headers (I<readelf\\ -l>)."
6938 #: build/C/man5/proc.5:564
6939 msgid "There are additional helpful pseudo-paths:"
6943 #: build/C/man5/proc.5:565
6949 #: build/C/man5/proc.5:568
6950 msgid "The initial process's (also known as the main thread's) stack."
6954 #: build/C/man5/proc.5:568
6956 msgid "I<[stack:E<lt>tidE<gt>]> (since Linux 3.4)"
6959 #. commit b76437579d1344b612cf1851ae610c636cec7db0
6961 #: build/C/man5/proc.5:577
6963 "A thread's stack (where the I<E<lt>tidE<gt>> is a thread ID). It "
6964 "corresponds to the I</proc/[pid]/task/[tid]/> path."
6968 #: build/C/man5/proc.5:577
6974 #: build/C/man5/proc.5:580
6975 msgid "The virtual dynamically linked shared object."
6979 #: build/C/man5/proc.5:580
6985 #: build/C/man5/proc.5:583
6986 msgid "The process's heap."
6990 #: build/C/man5/proc.5:598
6992 "If the I<pathname> field is blank, this is an anonymous mapping as obtained "
6993 "via the B<mmap>(2) function. There is no easy way to coordinate this back "
6994 "to a process's source, short of running it through B<gdb>(1), B<strace>(1), "
6999 #: build/C/man5/proc.5:600
7000 msgid "Under Linux 2.0 there is no field giving pathname."
7004 #: build/C/man5/proc.5:600
7006 msgid "I</proc/[pid]/mem>"
7010 #: build/C/man5/proc.5:607
7012 "This file can be used to access the pages of a process's memory through "
7013 "B<open>(2), B<read>(2), and B<lseek>(2)."
7017 #: build/C/man5/proc.5:607
7019 msgid "I</proc/[pid]/mountinfo> (since Linux 2.6.26)"
7022 #. This info adapted from Documentation/filesystems/proc.txt
7024 #: build/C/man5/proc.5:612
7026 "This file contains information about mount points. It contains lines of the "
7031 #: build/C/man5/proc.5:617
7034 "CW<36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root "
7035 "rw,errors=continue\n"
7036 "(1)(2)(3) (4) (5) (6) (7) (8) (9) (10) (11)>\n"
7040 #: build/C/man5/proc.5:621
7041 msgid "The numbers in parentheses are labels for the descriptions below:"
7045 #: build/C/man5/proc.5:622 build/C/man5/proc.5:715
7051 #: build/C/man5/proc.5:626
7052 msgid "mount ID: unique identifier of the mount (may be reused after B<umount>(2))."
7056 #: build/C/man5/proc.5:626 build/C/man5/proc.5:719
7062 #: build/C/man5/proc.5:629
7063 msgid "parent ID: ID of parent mount (or of self for the top of the mount tree)."
7067 #: build/C/man5/proc.5:629 build/C/man5/proc.5:722
7073 #: build/C/man5/proc.5:635
7074 msgid "major:minor: value of I<st_dev> for files on filesystem (see B<stat>(2))."
7078 #: build/C/man5/proc.5:635 build/C/man5/proc.5:725
7084 #: build/C/man5/proc.5:638
7085 msgid "root: root of the mount within the filesystem."
7089 #: build/C/man5/proc.5:638
7095 #: build/C/man5/proc.5:641
7096 msgid "mount point: mount point relative to the process's root."
7100 #: build/C/man5/proc.5:641
7106 #: build/C/man5/proc.5:644
7107 msgid "mount options: per-mount options."
7111 #: build/C/man5/proc.5:644
7117 #: build/C/man5/proc.5:647
7118 msgid "optional fields: zero or more fields of the form \"tag[:value]\"."
7122 #: build/C/man5/proc.5:647
7128 #: build/C/man5/proc.5:650
7129 msgid "separator: marks the end of the optional fields."
7133 #: build/C/man5/proc.5:650
7139 #: build/C/man5/proc.5:653
7140 msgid "filesystem type: name of filesystem in the form \"type[.subtype]\"."
7144 #: build/C/man5/proc.5:653
7150 #: build/C/man5/proc.5:656
7151 msgid "mount source: filesystem-specific information or \"none\"."
7155 #: build/C/man5/proc.5:656
7161 #: build/C/man5/proc.5:659
7162 msgid "super options: per-super block options."
7166 #: build/C/man5/proc.5:663
7168 "Parsers should ignore all unrecognized optional fields. Currently the "
7169 "possible optional fields are:"
7173 #: build/C/man5/proc.5:664
7179 #: build/C/man5/proc.5:667
7180 msgid "mount is shared in peer group X"
7184 #: build/C/man5/proc.5:667
7190 #: build/C/man5/proc.5:670
7191 msgid "mount is slave to peer group X"
7195 #: build/C/man5/proc.5:670
7197 msgid "propagate_from:X"
7201 #: build/C/man5/proc.5:673
7202 msgid "mount is slave and receives propagation from peer group X (*)"
7206 #: build/C/man5/proc.5:673
7212 #: build/C/man5/proc.5:676
7213 msgid "mount is unbindable"
7217 #: build/C/man5/proc.5:683
7219 "(*) X is the closest dominant peer group under the process's root. If X is "
7220 "the immediate master of the mount, or if there is no dominant peer group "
7221 "under the same root, then only the \"master:X\" field is present and not the "
7222 "\"propagate_from:X\" field."
7226 #: build/C/man5/proc.5:687
7228 "For more information on mount propagation see: "
7229 "I<Documentation/filesystems/sharedsubtree.txt> in the Linux kernel source "
7234 #: build/C/man5/proc.5:687
7236 msgid "I</proc/[pid]/mounts> (since Linux 2.4.19)"
7240 #: build/C/man5/proc.5:702
7242 "This is a list of all the filesystems currently mounted in the process's "
7243 "mount namespace. The format of this file is documented in B<fstab>(5). "
7244 "Since kernel version 2.6.15, this file is pollable: after opening the file "
7245 "for reading, a change in this file (i.e., a filesystem mount or unmount) "
7246 "causes B<select>(2) to mark the file descriptor as readable, and B<poll>(2) "
7247 "and B<epoll_wait>(2) mark the file as having an error condition."
7251 #: build/C/man5/proc.5:702
7253 msgid "I</proc/[pid]/mountstats> (since Linux 2.6.17)"
7257 #: build/C/man5/proc.5:707
7259 "This file exports information (statistics, configuration information) about "
7260 "the mount points in the process's name space. Lines in this file have the "
7265 #: build/C/man5/proc.5:711
7268 "device /dev/sda7 mounted on /home with fstype ext3 [statistics]\n"
7269 "( 1 ) ( 2 ) (3 ) (4)\n"
7273 #: build/C/man5/proc.5:714
7274 msgid "The fields in each line are:"
7278 #: build/C/man5/proc.5:719
7280 "The name of the mounted device (or \"nodevice\" if there is no corresponding "
7285 #: build/C/man5/proc.5:722
7286 msgid "The mount point within the filesystem tree."
7290 #: build/C/man5/proc.5:725
7291 msgid "The filesystem type."
7295 #: build/C/man5/proc.5:730
7297 "Optional statistics and configuration information. Currently (as at Linux "
7298 "2.6.26), only NFS filesystems export information via this field."
7302 #: build/C/man5/proc.5:733
7303 msgid "This file is readable only by the owner of the process."
7307 #: build/C/man5/proc.5:733
7309 msgid "I</proc/[pid]/ns/> (since Linux 3.0)"
7312 #. See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
7314 #: build/C/man5/proc.5:741
7316 "This is a subdirectory containing one entry for each namespace that supports "
7317 "being manipulated by B<setns>(2). For information about namespaces, see "
7322 #: build/C/man5/proc.5:741
7324 msgid "I</proc/[pid]/ns/ipc> (since Linux 3.0)"
7328 #: build/C/man5/proc.5:749
7330 "Bind mounting this file (see B<mount>(2)) to somewhere else in the "
7331 "filesystem keeps the IPC namespace of the process specified by I<pid> alive "
7332 "even if all processes currently in the namespace terminate."
7336 #: build/C/man5/proc.5:758
7338 "Opening this file returns a file handle for the IPC namespace of the process "
7339 "specified by I<pid>. As long as this file descriptor remains open, the IPC "
7340 "namespace will remain alive, even if all processes in the namespace "
7341 "terminate. The file descriptor can be passed to B<setns>(2)."
7345 #: build/C/man5/proc.5:758
7347 msgid "I</proc/[pid]/ns/net> (since Linux 3.0)"
7351 #: build/C/man5/proc.5:766
7353 "Bind mounting this file (see B<mount>(2)) to somewhere else in the "
7354 "filesystem keeps the network namespace of the process specified by I<pid> "
7355 "alive even if all processes in the namespace terminate."
7359 #: build/C/man5/proc.5:775
7361 "Opening this file returns a file handle for the network namespace of the "
7362 "process specified by I<pid>. As long as this file descriptor remains open, "
7363 "the network namespace will remain alive, even if all processes in the "
7364 "namespace terminate. The file descriptor can be passed to B<setns>(2)."
7368 #: build/C/man5/proc.5:775
7370 msgid "I</proc/[pid]/ns/uts> (since Linux 3.0)"
7374 #: build/C/man5/proc.5:783
7376 "Bind mounting this file (see B<mount>(2)) to somewhere else in the "
7377 "filesystem keeps the UTS namespace of the process specified by I<pid> alive "
7378 "even if all processes currently in the namespace terminate."
7382 #: build/C/man5/proc.5:792
7384 "Opening this file returns a file handle for the UTS namespace of the process "
7385 "specified by I<pid>. As long as this file descriptor remains open, the UTS "
7386 "namespace will remain alive, even if all processes in the namespace "
7387 "terminate. The file descriptor can be passed to B<setns>(2)."
7391 #: build/C/man5/proc.5:792
7393 msgid "I</proc/[pid]/numa_maps> (since Linux 2.6.14)"
7397 #: build/C/man5/proc.5:796
7398 msgid "See B<numa>(7)."
7402 #: build/C/man5/proc.5:796
7404 msgid "I</proc/[pid]/oom_adj> (since Linux 2.6.11)"
7408 #: build/C/man5/proc.5:809
7410 "This file can be used to adjust the score used to select which process "
7411 "should be killed in an out-of-memory (OOM) situation. The kernel uses this "
7412 "value for a bit-shift operation of the process's I<oom_score> value: valid "
7413 "values are in the range -16 to +15, plus the special value -17, which "
7414 "disables OOM-killing altogether for this process. A positive score "
7415 "increases the likelihood of this process being killed by the OOM-killer; a "
7416 "negative score decreases the likelihood."
7420 #: build/C/man5/proc.5:817
7422 "The default value for this file is 0; a new process inherits its parent's "
7423 "I<oom_adj> setting. A process must be privileged (B<CAP_SYS_RESOURCE>) to "
7428 #: build/C/man5/proc.5:820
7430 "Since Linux 2.6.36, use of this file is deprecated in favor of "
7431 "I</proc/[pid]/oom_score_adj>."
7435 #: build/C/man5/proc.5:820
7437 msgid "I</proc/[pid]/oom_score> (since Linux 2.6.11)"
7440 #. See mm/oom_kill.c::badness() in the 2.6.25 sources
7441 #. See mm/oom_kill.c::badness() in the 2.6.25 sources
7443 #: build/C/man5/proc.5:831
7445 "This file displays the current score that the kernel gives to this process "
7446 "for the purpose of selecting a process for the OOM-killer. A higher score "
7447 "means that the process is more likely to be selected by the OOM-killer. The "
7448 "basis for this score is the amount of memory used by the process, with "
7449 "increases (+) or decreases (-) for factors including:"
7453 #: build/C/man5/proc.5:836
7454 msgid "whether the process creates a lot of children using B<fork>(2) (+);"
7458 #: build/C/man5/proc.5:839
7460 "whether the process has been running a long time, or has used a lot of CPU "
7465 #: build/C/man5/proc.5:841
7466 msgid "whether the process has a low nice value (i.e., E<gt> 0) (+);"
7469 #. More precisely, if it has CAP_SYS_ADMIN or CAP_SYS_RESOURCE
7471 #: build/C/man5/proc.5:844
7472 msgid "whether the process is privileged (-); and"
7475 #. More precisely, if it has CAP_SYS_RAWIO
7477 #: build/C/man5/proc.5:847
7478 msgid "whether the process is making direct hardware access (-)."
7482 #: build/C/man5/proc.5:856
7484 "The I<oom_score> also reflects the adjustment specified by the "
7485 "I<oom_score_adj> or I<oom_adj> setting for the process."
7489 #: build/C/man5/proc.5:856
7491 msgid "I</proc/[pid]/oom_score_adj> (since Linux 2.6.36)"
7494 #. Text taken from 3.7 Documentation/filesystems/proc.txt
7496 #: build/C/man5/proc.5:861
7498 "This file can be used to adjust the badness heuristic used to select which "
7499 "process gets killed in out-of-memory conditions."
7503 #: build/C/man5/proc.5:870
7505 "The badness heuristic assigns a value to each candidate task ranging from 0 "
7506 "(never kill) to 1000 (always kill) to determine which process is targeted. "
7507 "The units are roughly a proportion along that range of allowed memory the "
7508 "process may allocate from, based on an estimation of its current memory and "
7509 "swap use. For example, if a task is using all allowed memory, its badness "
7510 "score will be 1000. If it is using half of its allowed memory, its score "
7515 #: build/C/man5/proc.5:873
7517 "There is an additional factor included in the badness score: root processes "
7518 "are given 3% extra memory over other tasks."
7522 #: build/C/man5/proc.5:887
7524 "The amount of \"allowed\" memory depends on the context in which the "
7525 "OOM-killer was called. If it is due to the memory assigned to the "
7526 "allocating task's cpuset being exhausted, the allowed memory represents the "
7527 "set of mems assigned to that cpuset (see B<cpuset>(7)). If it is due to a "
7528 "mempolicy's node(s) being exhausted, the allowed memory represents the set "
7529 "of mempolicy nodes. If it is due to a memory limit (or swap limit) being "
7530 "reached, the allowed memory is that configured limit. Finally, if it is due "
7531 "to the entire system being out of memory, the allowed memory represents all "
7532 "allocatable resources."
7536 #: build/C/man5/proc.5:900
7538 "The value of I<oom_score_adj> is added to the badness score before it is "
7539 "used to determine which task to kill. Acceptable values range from -1000 "
7540 "(OOM_SCORE_ADJ_MIN) to +1000 (OOM_SCORE_ADJ_MAX). This allows user space to "
7541 "control the preference for OOM-killing, ranging from always preferring a "
7542 "certain task or completely disabling it from OOM-killing. The lowest "
7543 "possible value, -1000, is equivalent to disabling OOM-killing entirely for "
7544 "that task, since it will always report a badness score of 0."
7548 #: build/C/man5/proc.5:912
7550 "Consequently, it is very simple for user space to define the amount of "
7551 "memory to consider for each task. Setting a I<oom_score_adj> value of +500, "
7552 "for example, is roughly equivalent to allowing the remainder of tasks "
7553 "sharing the same system, cpuset, mempolicy, or memory controller resources "
7554 "to use at least 50% more memory. A value of -500, on the other hand, would "
7555 "be roughly equivalent to discounting 50% of the task's allowed memory from "
7556 "being considered as scoring against the task."
7560 #: build/C/man5/proc.5:919
7562 "For backward compatibility with previous kernels, I</proc/[pid]/oom_adj> can "
7563 "still be used to tune the badness score. Its value is scaled linearly with "
7567 #. FIXME Describe /proc/[pid]/pagemap
7569 #. CONFIG_PROC_PAGE_MONITOR
7571 #: build/C/man5/proc.5:928
7573 "Writing to I</proc/[pid]/oom_score_adj> or I</proc/[pid]/oom_adj> will "
7574 "change the other with its scaled value."
7578 #: build/C/man5/proc.5:928
7580 msgid "I</proc/[pid]/root>"
7584 #: build/C/man5/proc.5:936
7586 "UNIX and Linux support the idea of a per-process root of the filesystem, set "
7587 "by the B<chroot>(2) system call. This file is a symbolic link that points "
7588 "to the process's root directory, and behaves as exe, fd/*, etc. do."
7592 #: build/C/man5/proc.5:956
7594 msgid "I</proc/[pid]/smaps> (since Linux 2.6.14)"
7597 #. CONFIG_PROC_PAGE_MONITOR
7599 #: build/C/man5/proc.5:961
7601 "This file shows memory consumption for each of the process's mappings. For "
7602 "each of mappings there is a series of lines such as the following:"
7606 #: build/C/man5/proc.5:971
7609 "08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash\n"
7612 "Shared_Clean: 424 kB\n"
7613 "Shared_Dirty: 0 kB\n"
7614 "Private_Clean: 0 kB\n"
7615 "Private_Dirty: 0 kB\n"
7619 #: build/C/man5/proc.5:981
7621 "The first of these lines shows the same information as is displayed for the "
7622 "mapping in I</proc/[pid]/maps>. The remaining lines show the size of the "
7623 "mapping, the amount of the mapping that is currently resident in RAM, the "
7624 "number of clean and dirty shared pages in the mapping, and the number of "
7625 "clean and dirty private pages in the mapping."
7629 #: build/C/man5/proc.5:986
7631 "This file is present only if the B<CONFIG_MMU> kernel configuration option "
7636 #: build/C/man5/proc.5:986
7638 msgid "I</proc/[pid]/stat>"
7642 #: build/C/man5/proc.5:993
7644 "Status information about the process. This is used by B<ps>(1). It is "
7645 "defined in I</usr/src/linux/fs/proc/array.c>."
7649 #: build/C/man5/proc.5:997
7650 msgid "The fields, in order, with their proper B<scanf>(3) format specifiers, are:"
7654 #: build/C/man5/proc.5:998
7660 #: build/C/man5/proc.5:1001
7661 msgid "(1) The process ID."
7665 #: build/C/man5/proc.5:1001
7671 #: build/C/man5/proc.5:1005
7673 "(2) The filename of the executable, in parentheses. This is visible whether "
7674 "or not the executable is swapped out."
7678 #: build/C/man5/proc.5:1005
7684 #: build/C/man5/proc.5:1011
7686 "(3) One character from the string \"RSDZTW\" where R is running, S is "
7687 "sleeping in an interruptible wait, D is waiting in uninterruptible disk "
7688 "sleep, Z is zombie, T is traced or stopped (on a signal), and W is paging."
7692 #: build/C/man5/proc.5:1011
7698 #: build/C/man5/proc.5:1014
7699 msgid "(4) The PID of the parent."
7703 #: build/C/man5/proc.5:1014
7709 #: build/C/man5/proc.5:1017
7710 msgid "(5) The process group ID of the process."
7714 #: build/C/man5/proc.5:1017
7716 msgid "I<session> %d"
7720 #: build/C/man5/proc.5:1020
7721 msgid "(6) The session ID of the process."
7725 #: build/C/man5/proc.5:1020
7727 msgid "I<tty_nr> %d"
7731 #: build/C/man5/proc.5:1026
7733 "(7) The controlling terminal of the process. (The minor device number is "
7734 "contained in the combination of bits 31 to 20 and 7 to 0; the major device "
7735 "number is in bits 15 to 8.)"
7739 #: build/C/man5/proc.5:1026
7744 #. This field and following, up to and including wchan added 0.99.1
7746 #: build/C/man5/proc.5:1031
7748 "(8) The ID of the foreground process group of the controlling terminal of "
7753 #: build/C/man5/proc.5:1031
7755 msgid "I<flags> %u (%lu before Linux 2.6.22)"
7759 #: build/C/man5/proc.5:1038
7761 "(9) The kernel flags word of the process. For bit meanings, see the PF_* "
7762 "defines in the Linux kernel source file I<include/linux/sched.h>. Details "
7763 "depend on the kernel version."
7767 #: build/C/man5/proc.5:1038
7769 msgid "I<minflt> %lu"
7773 #: build/C/man5/proc.5:1042
7775 "(10) The number of minor faults the process has made which have not required "
7776 "loading a memory page from disk."
7780 #: build/C/man5/proc.5:1042
7782 msgid "I<cminflt> %lu"
7786 #: build/C/man5/proc.5:1046
7788 "(11) The number of minor faults that the process's waited-for children have "
7793 #: build/C/man5/proc.5:1046
7795 msgid "I<majflt> %lu"
7799 #: build/C/man5/proc.5:1050
7801 "(12) The number of major faults the process has made which have required "
7802 "loading a memory page from disk."
7806 #: build/C/man5/proc.5:1050
7808 msgid "I<cmajflt> %lu"
7812 #: build/C/man5/proc.5:1054
7814 "(13) The number of major faults that the process's waited-for children have "
7819 #: build/C/man5/proc.5:1054
7821 msgid "I<utime> %lu"
7825 #: build/C/man5/proc.5:1063
7827 "(14) Amount of time that this process has been scheduled in user mode, "
7828 "measured in clock ticks (divide by I<sysconf(_SC_CLK_TCK)>). This includes "
7829 "guest time, I<guest_time> (time spent running a virtual CPU, see below), so "
7830 "that applications that are not aware of the guest time field do not lose "
7831 "that time from their calculations."
7835 #: build/C/man5/proc.5:1063
7837 msgid "I<stime> %lu"
7841 #: build/C/man5/proc.5:1068
7843 "(15) Amount of time that this process has been scheduled in kernel mode, "
7844 "measured in clock ticks (divide by I<sysconf(_SC_CLK_TCK)>)."
7848 #: build/C/man5/proc.5:1068
7850 msgid "I<cutime> %ld"
7854 #: build/C/man5/proc.5:1078
7856 "(16) Amount of time that this process's waited-for children have been "
7857 "scheduled in user mode, measured in clock ticks (divide by "
7858 "I<sysconf(_SC_CLK_TCK)>). (See also B<times>(2).) This includes guest "
7859 "time, I<cguest_time> (time spent running a virtual CPU, see below)."
7863 #: build/C/man5/proc.5:1078
7865 msgid "I<cstime> %ld"
7869 #: build/C/man5/proc.5:1084
7871 "(17) Amount of time that this process's waited-for children have been "
7872 "scheduled in kernel mode, measured in clock ticks (divide by "
7873 "I<sysconf(_SC_CLK_TCK)>)."
7877 #: build/C/man5/proc.5:1084
7879 msgid "I<priority> %ld"
7883 #: build/C/man5/proc.5:1101
7885 "(18) (Explanation for Linux 2.6) For processes running a real-time "
7886 "scheduling policy (I<policy> below; see B<sched_setscheduler>(2)), this is "
7887 "the negated scheduling priority, minus one; that is, a number in the range "
7888 "-2 to -100, corresponding to real-time priorities 1 to 99. For processes "
7889 "running under a non-real-time scheduling policy, this is the raw nice value "
7890 "(B<setpriority>(2)) as represented in the kernel. The kernel stores nice "
7891 "values as numbers in the range 0 (high) to 39 (low), corresponding to the "
7892 "user-visible nice range of -20 to 19."
7895 #. And back in kernel 1.2 days things were different again.
7897 #: build/C/man5/proc.5:1105
7899 "Before Linux 2.6, this was a scaled value based on the scheduler weighting "
7900 "given to this process."
7904 #: build/C/man5/proc.5:1105
7909 #. Back in kernel 1.2 days things were different.
7911 #. \fIcounter\fP %ld
7912 #. The current maximum size in jiffies of the process's next timeslice,
7913 #. or what is currently left of its current timeslice, if it is the
7914 #. currently running process.
7917 #. The time in jiffies of the process's next timeout.
7918 #. timeout was removed sometime around 2.1/2.2
7920 #: build/C/man5/proc.5:1120
7922 "(19) The nice value (see B<setpriority>(2)), a value in the range 19 (low "
7923 "priority) to -20 (high priority)."
7927 #: build/C/man5/proc.5:1120
7929 msgid "I<num_threads> %ld"
7933 #: build/C/man5/proc.5:1125
7935 "(20) Number of threads in this process (since Linux 2.6). Before kernel "
7936 "2.6, this field was hard coded to 0 as a placeholder for an earlier removed "
7941 #: build/C/man5/proc.5:1125
7943 msgid "I<itrealvalue> %ld"
7947 #: build/C/man5/proc.5:1132
7949 "(21) The time in jiffies before the next B<SIGALRM> is sent to the process "
7950 "due to an interval timer. Since kernel 2.6.17, this field is no longer "
7951 "maintained, and is hard coded as 0."
7955 #: build/C/man5/proc.5:1132
7957 msgid "I<starttime> %llu (was %lu before Linux 2.6)"
7961 #: build/C/man5/proc.5:1138
7963 "(22) The time the process started after system boot. In kernels before "
7964 "Linux 2.6, this value was expressed in jiffies. Since Linux 2.6, the value "
7965 "is expressed in clock ticks (divide by I<sysconf(_SC_CLK_TCK)>)."
7969 #: build/C/man5/proc.5:1138
7971 msgid "I<vsize> %lu"
7975 #: build/C/man5/proc.5:1141
7976 msgid "(23) Virtual memory size in bytes."
7980 #: build/C/man5/proc.5:1141
7986 #: build/C/man5/proc.5:1148
7988 "(24) Resident Set Size: number of pages the process has in real memory. "
7989 "This is just the pages which count toward text, data, or stack space. This "
7990 "does not include pages which have not been demand-loaded in, or which are "
7995 #: build/C/man5/proc.5:1148
7997 msgid "I<rsslim> %lu"
8001 #: build/C/man5/proc.5:1155
8003 "(25) Current soft limit in bytes on the rss of the process; see the "
8004 "description of B<RLIMIT_RSS> in B<getrlimit>(2)."
8008 #: build/C/man5/proc.5:1155
8010 msgid "I<startcode> %lu"
8014 #: build/C/man5/proc.5:1158
8015 msgid "(26) The address above which program text can run."
8019 #: build/C/man5/proc.5:1158
8021 msgid "I<endcode> %lu"
8025 #: build/C/man5/proc.5:1161
8026 msgid "(27) The address below which program text can run."
8030 #: build/C/man5/proc.5:1161
8032 msgid "I<startstack> %lu"
8036 #: build/C/man5/proc.5:1164
8037 msgid "(28) The address of the start (i.e., bottom) of the stack."
8041 #: build/C/man5/proc.5:1164
8043 msgid "I<kstkesp> %lu"
8047 #: build/C/man5/proc.5:1168
8049 "(29) The current value of ESP (stack pointer), as found in the kernel stack "
8050 "page for the process."
8054 #: build/C/man5/proc.5:1168
8056 msgid "I<kstkeip> %lu"
8060 #: build/C/man5/proc.5:1171
8061 msgid "(30) The current EIP (instruction pointer)."
8065 #: build/C/man5/proc.5:1171
8067 msgid "I<signal> %lu"
8071 #: build/C/man5/proc.5:1177
8073 "(31) The bitmap of pending signals, displayed as a decimal number. "
8074 "Obsolete, because it does not provide information on real-time signals; use "
8075 "I</proc/[pid]/status> instead."
8079 #: build/C/man5/proc.5:1177
8081 msgid "I<blocked> %lu"
8085 #: build/C/man5/proc.5:1183
8087 "(32) The bitmap of blocked signals, displayed as a decimal number. "
8088 "Obsolete, because it does not provide information on real-time signals; use "
8089 "I</proc/[pid]/status> instead."
8093 #: build/C/man5/proc.5:1183
8095 msgid "I<sigignore> %lu"
8099 #: build/C/man5/proc.5:1189
8101 "(33) The bitmap of ignored signals, displayed as a decimal number. "
8102 "Obsolete, because it does not provide information on real-time signals; use "
8103 "I</proc/[pid]/status> instead."
8107 #: build/C/man5/proc.5:1189
8109 msgid "I<sigcatch> %lu"
8113 #: build/C/man5/proc.5:1195
8115 "(34) The bitmap of caught signals, displayed as a decimal number. Obsolete, "
8116 "because it does not provide information on real-time signals; use "
8117 "I</proc/[pid]/status> instead."
8121 #: build/C/man5/proc.5:1195
8123 msgid "I<wchan> %lu"
8127 #: build/C/man5/proc.5:1205
8129 "(35) This is the \"channel\" in which the process is waiting. It is the "
8130 "address of a system call, and can be looked up in a namelist if you need a "
8131 "textual name. (If you have an up-to-date I</etc/psdatabase>, then try I<ps "
8132 "-l> to see the WCHAN field in action.)"
8136 #: build/C/man5/proc.5:1205
8138 msgid "I<nswap> %lu"
8141 #. nswap was added in 2.0
8143 #: build/C/man5/proc.5:1210
8144 msgid "(36) Number of pages swapped (not maintained)."
8148 #: build/C/man5/proc.5:1210
8150 msgid "I<cnswap> %lu"
8153 #. cnswap was added in 2.0
8155 #: build/C/man5/proc.5:1215
8156 msgid "(37) Cumulative I<nswap> for child processes (not maintained)."
8160 #: build/C/man5/proc.5:1215
8162 msgid "I<exit_signal> %d (since Linux 2.1.22)"
8166 #: build/C/man5/proc.5:1218
8167 msgid "(38) Signal to be sent to parent when we die."
8171 #: build/C/man5/proc.5:1218
8173 msgid "I<processor> %d (since Linux 2.2.8)"
8177 #: build/C/man5/proc.5:1221
8178 msgid "(39) CPU number last executed on."
8182 #: build/C/man5/proc.5:1221
8184 msgid "I<rt_priority> %u (since Linux 2.5.19; was %lu before Linux 2.6.22)"
8188 #: build/C/man5/proc.5:1227
8190 "(40) Real-time scheduling priority, a number in the range 1 to 99 for "
8191 "processes scheduled under a real-time policy, or 0, for non-real-time "
8192 "processes (see B<sched_setscheduler>(2))."
8196 #: build/C/man5/proc.5:1227
8198 msgid "I<policy> %u (since Linux 2.5.19; was %lu before Linux 2.6.22)"
8202 #: build/C/man5/proc.5:1233
8204 "(41) Scheduling policy (see B<sched_setscheduler>(2)). Decode using the "
8205 "SCHED_* constants in I<linux/sched.h>."
8209 #: build/C/man5/proc.5:1233
8211 msgid "I<delayacct_blkio_ticks> %llu (since Linux 2.6.18)"
8215 #: build/C/man5/proc.5:1236
8216 msgid "(42) Aggregated block I/O delays, measured in clock ticks (centiseconds)."
8220 #: build/C/man5/proc.5:1236
8222 msgid "I<guest_time> %lu (since Linux 2.6.24)"
8226 #: build/C/man5/proc.5:1241
8228 "(43) Guest time of the process (time spent running a virtual CPU for a guest "
8229 "operating system), measured in clock ticks (divide by "
8230 "I<sysconf(_SC_CLK_TCK)>)."
8234 #: build/C/man5/proc.5:1241
8236 msgid "I<cguest_time> %ld (since Linux 2.6.24)"
8240 #: build/C/man5/proc.5:1245
8242 "(44) Guest time of the process's children, measured in clock ticks (divide "
8243 "by I<sysconf(_SC_CLK_TCK)>)."
8247 #: build/C/man5/proc.5:1246
8249 msgid "I</proc/[pid]/statm>"
8253 #: build/C/man5/proc.5:1250
8255 "Provides information about memory usage, measured in pages. The columns "
8259 #. (not including libs; broken, includes data segment)
8260 #. (including libs; broken, includes library text)
8262 #: build/C/man5/proc.5:1264
8265 "size (1) total program size\n"
8266 " (same as VmSize in I</proc/[pid]/status>)\n"
8267 "resident (2) resident set size\n"
8268 " (same as VmRSS in I</proc/[pid]/status>)\n"
8269 "share (3) shared pages (i.e., backed by a file)\n"
8270 "text (4) text (code)\n"
8271 "lib (5) library (unused in Linux 2.6)\n"
8272 "data (6) data + stack\n"
8273 "dt (7) dirty pages (unused in Linux 2.6)\n"
8277 #: build/C/man5/proc.5:1266
8279 msgid "I</proc/[pid]/status>"
8283 #: build/C/man5/proc.5:1274
8285 "Provides much of the information in I</proc/[pid]/stat> and "
8286 "I</proc/[pid]/statm> in a format that's easier for humans to parse. Here's "
8291 #: build/C/man5/proc.5:1315
8294 "$B< cat /proc/$$/status>\n"
8296 "State: S (sleeping)\n"
8301 "Uid: 1000 1000 1000 1000\n"
8302 "Gid: 100 100 100 100\n"
8304 "Groups: 16 33 100\n"
8317 "SigPnd: 0000000000000000\n"
8318 "ShdPnd: 0000000000000000\n"
8319 "SigBlk: 0000000000010000\n"
8320 "SigIgn: 0000000000384004\n"
8321 "SigCgt: 000000004b813efb\n"
8322 "CapInh: 0000000000000000\n"
8323 "CapPrm: 0000000000000000\n"
8324 "CapEff: 0000000000000000\n"
8325 "CapBnd: ffffffffffffffff\n"
8326 "Cpus_allowed: 00000001\n"
8327 "Cpus_allowed_list: 0\n"
8329 "Mems_allowed_list: 0\n"
8330 "voluntary_ctxt_switches: 150\n"
8331 "nonvoluntary_ctxt_switches: 545\n"
8335 #: build/C/man5/proc.5:1323
8336 msgid "I<Name>: Command run by this process."
8340 #: build/C/man5/proc.5:1335
8342 "I<State>: Current state of the process. One of \"R (running)\", \"S "
8343 "(sleeping)\", \"D (disk sleep)\", \"T (stopped)\", \"T (tracing stop)\", \"Z "
8344 "(zombie)\", or \"X (dead)\"."
8348 #: build/C/man5/proc.5:1338
8349 msgid "I<Tgid>: Thread group ID (i.e., Process ID)."
8353 #: build/C/man5/proc.5:1342
8354 msgid "I<Pid>: Thread ID (see B<gettid>(2))."
8358 #: build/C/man5/proc.5:1345
8359 msgid "I<PPid>: PID of parent process."
8363 #: build/C/man5/proc.5:1348
8364 msgid "I<TracerPid>: PID of process tracing this process (0 if not being traced)."
8368 #: build/C/man5/proc.5:1351
8369 msgid "I<Uid>, I<Gid>: Real, effective, saved set, and filesystem UIDs (GIDs)."
8373 #: build/C/man5/proc.5:1354
8374 msgid "I<FDSize>: Number of file descriptor slots currently allocated."
8378 #: build/C/man5/proc.5:1357
8379 msgid "I<Groups>: Supplementary group list."
8383 #: build/C/man5/proc.5:1360
8384 msgid "I<VmPeak>: Peak virtual memory size."
8388 #: build/C/man5/proc.5:1363
8389 msgid "I<VmSize>: Virtual memory size."
8393 #: build/C/man5/proc.5:1367
8394 msgid "I<VmLck>: Locked memory size (see B<mlock>(3))."
8398 #: build/C/man5/proc.5:1370
8399 msgid "I<VmHWM>: Peak resident set size (\"high water mark\")."
8403 #: build/C/man5/proc.5:1373
8404 msgid "I<VmRSS>: Resident set size."
8408 #: build/C/man5/proc.5:1376
8409 msgid "I<VmData>, I<VmStk>, I<VmExe>: Size of data, stack, and text segments."
8413 #: build/C/man5/proc.5:1379
8414 msgid "I<VmLib>: Shared library code size."
8418 #: build/C/man5/proc.5:1382
8419 msgid "I<VmPTE>: Page table entries size (since Linux 2.6.10)."
8423 #: build/C/man5/proc.5:1385
8424 msgid "I<Threads>: Number of threads in process containing this thread."
8428 #: build/C/man5/proc.5:1396
8430 "I<SigQ>: This field contains two slash-separated numbers that relate to "
8431 "queued signals for the real user ID of this process. The first of these is "
8432 "the number of currently queued signals for this real user ID, and the second "
8433 "is the resource limit on the number of queued signals for this process (see "
8434 "the description of B<RLIMIT_SIGPENDING> in B<getrlimit>(2))."
8438 #: build/C/man5/proc.5:1402
8440 "I<SigPnd>, I<ShdPnd>: Number of signals pending for thread and for process "
8441 "as a whole (see B<pthreads>(7) and B<signal>(7))."
8445 #: build/C/man5/proc.5:1406
8447 "I<SigBlk>, I<SigIgn>, I<SigCgt>: Masks indicating signals being blocked, "
8448 "ignored, and caught (see B<signal>(7))."
8452 #: build/C/man5/proc.5:1411
8454 "I<CapInh>, I<CapPrm>, I<CapEff>: Masks of capabilities enabled in "
8455 "inheritable, permitted, and effective sets (see B<capabilities>(7))."
8459 #: build/C/man5/proc.5:1416
8461 "I<CapBnd>: Capability Bounding set (since kernel 2.6.26, see "
8462 "B<capabilities>(7))."
8466 #: build/C/man5/proc.5:1421
8468 "I<Cpus_allowed>: Mask of CPUs on which this process may run (since Linux "
8469 "2.6.24, see B<cpuset>(7))."
8473 #: build/C/man5/proc.5:1426
8475 "I<Cpus_allowed_list>: Same as previous, but in \"list format\" (since Linux "
8476 "2.6.26, see B<cpuset>(7))."
8480 #: build/C/man5/proc.5:1431
8482 "I<Mems_allowed>: Mask of memory nodes allowed to this process (since Linux "
8483 "2.6.24, see B<cpuset>(7))."
8487 #: build/C/man5/proc.5:1436
8489 "I<Mems_allowed_list>: Same as previous, but in \"list format\" (since Linux "
8490 "2.6.26, see B<cpuset>(7))."
8494 #: build/C/man5/proc.5:1439
8496 "I<voluntary_context_switches>, I<nonvoluntary_context_switches>: Number of "
8497 "voluntary and involuntary context switches (since Linux 2.6.23)."
8501 #: build/C/man5/proc.5:1440
8503 msgid "I</proc/[pid]/task> (since Linux 2.6.0-test6)"
8507 #: build/C/man5/proc.5:1471
8509 "This is a directory that contains one subdirectory for each thread in the "
8510 "process. The name of each subdirectory is the numerical thread ID "
8511 "(I<[tid]>) of the thread (see B<gettid>(2)). Within each of these "
8512 "subdirectories, there is a set of files with the same names and contents as "
8513 "under the I</proc/[pid]> directories. For attributes that are shared by all "
8514 "threads, the contents for each of the files under the I<task/[tid]> "
8515 "subdirectories will be the same as in the corresponding file in the parent "
8516 "I</proc/[pid]> directory (e.g., in a multithreaded process, all of the "
8517 "I<task/[tid]/cwd> files will have the same value as the I</proc/[pid]/cwd> "
8518 "file in the parent directory, since all of the threads in a process share a "
8519 "working directory). For attributes that are distinct for each thread, the "
8520 "corresponding files under I<task/[tid]> may have different values (e.g., "
8521 "various fields in each of the I<task/[tid]/status> files may be different "
8525 #. The following was still true as at kernel 2.6.13
8527 #: build/C/man5/proc.5:1478
8529 "In a multithreaded process, the contents of the I</proc/[pid]/task> "
8530 "directory are not available if the main thread has already terminated "
8531 "(typically by calling B<pthread_exit>(3))."
8535 #: build/C/man5/proc.5:1478
8537 msgid "I</proc/apm>"
8541 #: build/C/man5/proc.5:1483
8543 "Advanced power management version and battery information when B<CONFIG_APM> "
8544 "is defined at kernel compilation time."
8548 #: build/C/man5/proc.5:1483
8550 msgid "I</proc/bus>"
8554 #: build/C/man5/proc.5:1486
8555 msgid "Contains subdirectories for installed busses."
8559 #: build/C/man5/proc.5:1486
8561 msgid "I</proc/bus/pccard>"
8565 #: build/C/man5/proc.5:1491
8567 "Subdirectory for PCMCIA devices when B<CONFIG_PCMCIA> is set at kernel "
8572 #: build/C/man5/proc.5:1491
8574 msgid "I</proc/bus/pccard/drivers>"
8578 #: build/C/man5/proc.5:1493
8580 msgid "I</proc/bus/pci>"
8584 #: build/C/man5/proc.5:1499
8586 "Contains various bus subdirectories and pseudo-files containing information "
8587 "about PCI busses, installed devices, and device drivers. Some of these "
8588 "files are not ASCII."
8592 #: build/C/man5/proc.5:1499
8594 msgid "I</proc/bus/pci/devices>"
8598 #: build/C/man5/proc.5:1506
8600 "Information about PCI devices. They may be accessed through B<lspci>(8) "
8605 #: build/C/man5/proc.5:1506
8607 msgid "I</proc/cmdline>"
8611 #: build/C/man5/proc.5:1513
8613 "Arguments passed to the Linux kernel at boot time. Often done via a boot "
8614 "manager such as B<lilo>(8) or B<grub>(8)."
8618 #: build/C/man5/proc.5:1513
8620 msgid "I</proc/config.gz> (since Linux 2.6)"
8624 #: build/C/man5/proc.5:1531
8626 "This file exposes the configuration options that were used to build the "
8627 "currently running kernel, in the same format as they would be shown in the "
8628 "I<.config> file that resulted when configuring the kernel (using I<make "
8629 "xconfig>, I<make config>, or similar). The file contents are compressed; "
8630 "view or search them using B<zcat>(1), B<zgrep>(1), etc. As long as no "
8631 "changes have been made to the following file, the contents of "
8632 "I</proc/config.gz> are the same as those provided by :"
8636 #: build/C/man5/proc.5:1535
8638 msgid "cat /lib/modules/$(uname -r)/build/.config\n"
8642 #: build/C/man5/proc.5:1541
8644 "I</proc/config.gz> is provided only if the kernel is configured with "
8645 "B<CONFIG_IKCONFIG_PROC>."
8649 #: build/C/man5/proc.5:1541
8651 msgid "I</proc/cpuinfo>"
8655 #: build/C/man5/proc.5:1553
8657 "This is a collection of CPU and system architecture dependent items, for "
8658 "each supported architecture a different list. Two common entries are "
8659 "I<processor> which gives CPU number and I<bogomips>; a system constant that "
8660 "is calculated during kernel initialization. SMP machines have information "
8661 "for each CPU. The B<lscpu>(1) command gathers its information from this "
8666 #: build/C/man5/proc.5:1553
8668 msgid "I</proc/devices>"
8672 #: build/C/man5/proc.5:1557
8674 "Text listing of major numbers and device groups. This can be used by "
8675 "MAKEDEV scripts for consistency with the kernel."
8679 #: build/C/man5/proc.5:1557
8681 msgid "I</proc/diskstats> (since Linux 2.5.69)"
8685 #: build/C/man5/proc.5:1563
8687 "This file contains disk I/O statistics for each disk device. See the Linux "
8688 "kernel source file I<Documentation/iostats.txt> for further information."
8692 #: build/C/man5/proc.5:1563
8694 msgid "I</proc/dma>"
8698 #: build/C/man5/proc.5:1567
8700 "This is a list of the registered I<ISA> DMA (direct memory access) channels "
8705 #: build/C/man5/proc.5:1567
8707 msgid "I</proc/driver>"
8711 #: build/C/man5/proc.5:1570 build/C/man5/proc.5:1598
8712 msgid "Empty subdirectory."
8716 #: build/C/man5/proc.5:1570
8718 msgid "I</proc/execdomains>"
8722 #: build/C/man5/proc.5:1573
8723 msgid "List of the execution domains (ABI personalities)."
8727 #: build/C/man5/proc.5:1573
8733 #: build/C/man5/proc.5:1578
8735 "Frame buffer information when B<CONFIG_FB> is defined during kernel "
8740 #: build/C/man5/proc.5:1578
8742 msgid "I</proc/filesystems>"
8746 #: build/C/man5/proc.5:1588
8748 "A text listing of the filesystems which are supported by the kernel, namely "
8749 "filesystems which were compiled into the kernel or whose kernel modules are "
8750 "currently loaded. (See also B<filesystems>(5).) If a filesystem is marked "
8751 "with \"nodev\", this means that it does not require a block device to be "
8752 "mounted (e.g., virtual filesystem, network filesystem)."
8756 #: build/C/man5/proc.5:1595
8758 "Incidentally, this file may be used by B<mount>(8) when no filesystem is "
8759 "specified and it didn't manage to determine the filesystem type. Then "
8760 "filesystems contained in this file are tried (excepted those that are marked "
8765 #: build/C/man5/proc.5:1595
8771 #: build/C/man5/proc.5:1598
8773 msgid "I</proc/ide>"
8777 #: build/C/man5/proc.5:1604
8779 "This directory exists on systems with the IDE bus. There are directories "
8780 "for each IDE channel and attached device. Files include:"
8784 #: build/C/man5/proc.5:1617
8787 "cache buffer size in KB\n"
8788 "capacity number of sectors\n"
8789 "driver driver version\n"
8790 "geometry physical and logical geometry\n"
8791 "identify in hexadecimal\n"
8792 "media media type\n"
8793 "model manufacturer's model number\n"
8794 "settings drive settings\n"
8795 "smart_thresholds in hexadecimal\n"
8796 "smart_values in hexadecimal\n"
8800 #: build/C/man5/proc.5:1623
8802 "The B<hdparm>(8) utility provides access to this information in a friendly "
8807 #: build/C/man5/proc.5:1623
8809 msgid "I</proc/interrupts>"
8813 #: build/C/man5/proc.5:1633
8815 "This is used to record the number of interrupts per CPU per IO device. "
8816 "Since Linux 2.6.24, for the i386 and x86_64 architectures, at least, this "
8817 "also includes interrupts internal to the system (that is, not associated "
8818 "with a device as such), such as NMI (nonmaskable interrupt), LOC (local "
8819 "timer interrupt), and for SMP systems, TLB (TLB flush interrupt), RES "
8820 "(rescheduling interrupt), CAL (remote function call interrupt), and possibly "
8821 "others. Very easy to read formatting, done in ASCII."
8825 #: build/C/man5/proc.5:1633
8827 msgid "I</proc/iomem>"
8831 #: build/C/man5/proc.5:1636
8832 msgid "I/O memory map in Linux 2.4."
8836 #: build/C/man5/proc.5:1636
8838 msgid "I</proc/ioports>"
8842 #: build/C/man5/proc.5:1640
8844 "This is a list of currently registered Input-Output port regions that are in "
8849 #: build/C/man5/proc.5:1640
8851 msgid "I</proc/kallsyms> (since Linux 2.5.71)"
8855 #: build/C/man5/proc.5:1648
8857 "This holds the kernel exported symbol definitions used by the B<modules>(X) "
8858 "tools to dynamically link and bind loadable modules. In Linux 2.5.47 and "
8859 "earlier, a similar file with slightly different syntax was named I<ksyms>."
8863 #: build/C/man5/proc.5:1648
8865 msgid "I</proc/kcore>"
8869 #: build/C/man5/proc.5:1657
8871 "This file represents the physical memory of the system and is stored in the "
8872 "ELF core file format. With this pseudo-file, and an unstripped kernel "
8873 "(I</usr/src/linux/vmlinux>) binary, GDB can be used to examine the current "
8874 "state of any kernel data structures."
8878 #: build/C/man5/proc.5:1660
8879 msgid "The total length of the file is the size of physical memory (RAM) plus 4KB."
8883 #: build/C/man5/proc.5:1660
8885 msgid "I</proc/kmsg>"
8889 #: build/C/man5/proc.5:1672
8891 "This file can be used instead of the B<syslog>(2) system call to read "
8892 "kernel messages. A process must have superuser privileges to read this "
8893 "file, and only one process should read this file. This file should not be "
8894 "read if a syslog process is running which uses the B<syslog>(2) system call "
8895 "facility to log kernel messages."
8899 #: build/C/man5/proc.5:1676
8900 msgid "Information in this file is retrieved with the B<dmesg>(1) program."
8904 #: build/C/man5/proc.5:1676
8906 msgid "I</proc/ksyms> (Linux 1.1.23-2.5.47)"
8910 #: build/C/man5/proc.5:1680
8911 msgid "See I</proc/kallsyms>."
8915 #: build/C/man5/proc.5:1680
8917 msgid "I</proc/loadavg>"
8921 #: build/C/man5/proc.5:1695
8923 "The first three fields in this file are load average figures giving the "
8924 "number of jobs in the run queue (state R) or waiting for disk I/O (state D) "
8925 "averaged over 1, 5, and 15 minutes. They are the same as the load average "
8926 "numbers given by B<uptime>(1) and other programs. The fourth field "
8927 "consists of two numbers separated by a slash (/). The first of these is the "
8928 "number of currently runnable kernel scheduling entities (processes, "
8929 "threads). The value after the slash is the number of kernel scheduling "
8930 "entities that currently exist on the system. The fifth field is the PID of "
8931 "the process that was most recently created on the system."
8935 #: build/C/man5/proc.5:1695
8937 msgid "I</proc/locks>"
8941 #: build/C/man5/proc.5:1701
8943 "This file shows current file locks (B<flock>(2) and B<fcntl>(2)) and leases "
8948 #: build/C/man5/proc.5:1701
8950 msgid "I</proc/malloc> (only up to and including Linux 2.2)"
8953 #. It looks like this only ever did something back in 1.0 days
8955 #: build/C/man5/proc.5:1707
8957 "This file is present only if B<CONFIG_DEBUG_MALLOC> was defined during "
8962 #: build/C/man5/proc.5:1707
8964 msgid "I</proc/meminfo>"
8968 #: build/C/man5/proc.5:1723
8970 "This file reports statistics about memory usage on the system. It is used "
8971 "by B<free>(1) to report the amount of free and used memory (both physical "
8972 "and swap) on the system as well as the shared memory and buffers used by "
8973 "the kernel. Each line of the file consists of a parameter name, followed by "
8974 "a colon, the value of the parameter, and an option unit of measurement "
8975 "(e.g., \"kB\"). The list below describes the parameter names and the format "
8976 "specifier required to read the field value. Except as noted below, all of "
8977 "the fields have been present since at least Linux 2.6.0. Some fileds are "
8978 "displayed only if the kernel was configured with various options; those "
8979 "dependencies are noted in the list."
8983 #: build/C/man5/proc.5:1724
8985 msgid "I<MemTotal> %lu"
8989 #: build/C/man5/proc.5:1728
8991 "Total usable RAM (i.e. physical RAM minus a few reserved bits and the kernel "
8996 #: build/C/man5/proc.5:1728
8998 msgid "I<MemFree> %lu"
9002 #: build/C/man5/proc.5:1732
9003 msgid "The sum of I<LowFree>+I<HighFree>."
9007 #: build/C/man5/proc.5:1732
9009 msgid "I<Buffers> %lu"
9013 #: build/C/man5/proc.5:1736
9015 "Relatively temporary storage for raw disk blocks that shouldn't get "
9016 "tremendously large (20MB or so)."
9020 #: build/C/man5/proc.5:1736
9022 msgid "I<Cached> %lu"
9026 #: build/C/man5/proc.5:1741
9028 "In-memory cache for files read from the disk (the page cache). Doesn't "
9029 "include I<SwapCached>."
9033 #: build/C/man5/proc.5:1741
9035 msgid "I<SwapCached> %lu"
9039 #: build/C/man5/proc.5:1749
9041 "Memory that once was swapped out, is swapped back in but still also is in "
9042 "the swap file. (If memory pressure is high, these pages don't need to be "
9043 "swapped out again because they are already in the swap file. This saves "
9048 #: build/C/man5/proc.5:1749
9050 msgid "I<Active> %lu"
9054 #: build/C/man5/proc.5:1753
9056 "Memory that has been used more recently and usually not reclaimed unless "
9057 "absolutely necessary."
9061 #: build/C/man5/proc.5:1753
9063 msgid "I<Inactive> %lu"
9067 #: build/C/man5/proc.5:1757
9069 "Memory which has been less recently used. It is more eligible to be "
9070 "reclaimed for other purposes."
9074 #: build/C/man5/proc.5:1757
9076 msgid "I<Active(anon)> %lu (since Linux 2.6.28)"
9080 #: build/C/man5/proc.5:1760 build/C/man5/proc.5:1763 build/C/man5/proc.5:1766 build/C/man5/proc.5:1769 build/C/man5/proc.5:1834
9081 msgid "[To be documented.]"
9085 #: build/C/man5/proc.5:1760
9087 msgid "I<Inactive(anon)> %lu (since Linux 2.6.28)"
9091 #: build/C/man5/proc.5:1763
9093 msgid "I<Active(file)> %lu (since Linux 2.6.28)"
9097 #: build/C/man5/proc.5:1766
9099 msgid "I<Inactive(file)> %lu (since Linux 2.6.28)"
9103 #: build/C/man5/proc.5:1769
9105 msgid "I<Unevictable> %lu (since Linux 2.6.28)"
9109 #: build/C/man5/proc.5:1774 build/C/man5/proc.5:1779
9111 "(From Linux 2.6.28 to 2.6.30, B<CONFIG_UNEVICTABLE_LRU> was required.) [To "
9116 #: build/C/man5/proc.5:1774
9118 msgid "I<Mlocked> %lu (since Linux 2.6.28)"
9122 #: build/C/man5/proc.5:1779
9124 msgid "I<HighTotal> %lu"
9128 #: build/C/man5/proc.5:1788
9130 "(Starting with Linux 2.6.19, B<CONFIG_HIGHMEM> is required.) Total amount "
9131 "of highmem. Highmem is all memory above ~860MB of physical memory. Highmem "
9132 "areas are for use by user-space programs, or for the page cache. The kernel "
9133 "must use tricks to access this memory, making it slower to access than "
9138 #: build/C/man5/proc.5:1788
9140 msgid "I<HighFree> %lu"
9144 #: build/C/man5/proc.5:1792
9146 "(Starting with Linux 2.6.19, B<CONFIG_HIGHMEM> is required.) Amount of free "
9151 #: build/C/man5/proc.5:1792
9153 msgid "I<LowTotal> %lu"
9157 #: build/C/man5/proc.5:1804
9159 "(Starting with Linux 2.6.19, B<CONFIG_HIGHMEM> is required.) Total amount "
9160 "of lowmem. Lowmem is memory which can be used for everything that highmem "
9161 "can be used for, but it is also available for the kernel's use for its own "
9162 "data structures. Among many other things, it is where everything from "
9163 "I<Slab> is allocated. Bad things happen when you're out of lowmem."
9167 #: build/C/man5/proc.5:1804
9169 msgid "I<LowFree> %lu"
9173 #: build/C/man5/proc.5:1808
9175 "(Starting with Linux 2.6.19, B<CONFIG_HIGHMEM> is required.) Amount of free "
9180 #: build/C/man5/proc.5:1808
9182 msgid "I<MmapCopy> %lu (since Linux 2.6.29)"
9186 #: build/C/man5/proc.5:1813
9187 msgid "(B<CONFIG_MMU> is required.) [To be documented.]"
9191 #: build/C/man5/proc.5:1813
9193 msgid "I<SwapTotal> %lu"
9197 #: build/C/man5/proc.5:1816
9198 msgid "Total amount of swap space available."
9202 #: build/C/man5/proc.5:1816
9204 msgid "I<SwapFree> %lu"
9208 #: build/C/man5/proc.5:1819
9209 msgid "Amount of swap space that is currently unused."
9213 #: build/C/man5/proc.5:1819
9215 msgid "I<Dirty> %lu"
9219 #: build/C/man5/proc.5:1822
9220 msgid "Memory which is waiting to get written back to the disk."
9224 #: build/C/man5/proc.5:1822
9226 msgid "I<Writeback> %lu"
9230 #: build/C/man5/proc.5:1825
9231 msgid "Memory which is actively being written back to the disk."
9235 #: build/C/man5/proc.5:1825
9237 msgid "I<AnonPages> %lu (since Linux 2.6.18)"
9241 #: build/C/man5/proc.5:1828
9242 msgid "Non-file backed pages mapped into user-space page tables."
9246 #: build/C/man5/proc.5:1828
9248 msgid "I<Mapped> %lu"
9252 #: build/C/man5/proc.5:1831
9253 msgid "Files which have been mmaped, such as libraries."
9257 #: build/C/man5/proc.5:1831
9259 msgid "I<Shmem> %lu (since Linux 2.6.32)"
9263 #: build/C/man5/proc.5:1834
9269 #: build/C/man5/proc.5:1837
9270 msgid "In-kernel data structures cache."
9274 #: build/C/man5/proc.5:1837
9276 msgid "I<SReclaimable> %lu (since Linux 2.6.19)"
9280 #: build/C/man5/proc.5:1842
9281 msgid "Part of I<Slab>, that might be reclaimed, such as caches."
9285 #: build/C/man5/proc.5:1842
9287 msgid "I<SUnreclaim> %lu (since Linux 2.6.19)"
9291 #: build/C/man5/proc.5:1847
9292 msgid "Part of I<Slab>, that cannot be reclaimed on memory pressure."
9296 #: build/C/man5/proc.5:1847
9298 msgid "I<KernelStack> %lu (since Linux 2.6.32)"
9302 #: build/C/man5/proc.5:1850
9303 msgid "Amount of memory allocated to kernel stacks."
9307 #: build/C/man5/proc.5:1850
9309 msgid "I<PageTables> %lu (since Linux 2.6.18)"
9313 #: build/C/man5/proc.5:1853
9314 msgid "Amount of memory dedicated to the lowest level of page tables."
9318 #: build/C/man5/proc.5:1853
9320 msgid "I<Quicklists> %lu (since Linux 2.6.27)"
9324 #: build/C/man5/proc.5:1857
9325 msgid "(B<CONFIG_QUICKLIST> is required.) [To be documented.]"
9329 #: build/C/man5/proc.5:1857
9331 msgid "I<NFS_Unstable> %lu (since Linux 2.6.18)"
9335 #: build/C/man5/proc.5:1860
9336 msgid "NFS pages sent to the server, but not yet committed to stable storage."
9340 #: build/C/man5/proc.5:1860
9342 msgid "I<Bounce> %lu (since Linux 2.6.18)"
9346 #: build/C/man5/proc.5:1863
9347 msgid "Memory used for block device \"bounce buffers\"."
9351 #: build/C/man5/proc.5:1863
9353 msgid "I<WritebackTmp> %lu (since Linux 2.6.26)"
9357 #: build/C/man5/proc.5:1866
9358 msgid "Memory used by FUSE for temporary writeback buffers."
9362 #: build/C/man5/proc.5:1866
9364 msgid "I<CommitLimit> %lu (since Linux 2.6.10)"
9368 #: build/C/man5/proc.5:1877
9370 "Based on the overcommit ratio ('vm.overcommit_ratio'), this is the total "
9371 "amount of memory currently available to be allocated on the system. This "
9372 "limit is adhered to only if strict overcommit accounting is enabled (mode 2 "
9373 "in I</proc/sys/vm/overcommit_ratio>). The I<CommitLimit> is calculated "
9374 "using the following formula:"
9378 #: build/C/man5/proc.5:1879
9380 msgid " CommitLimit = (overcommit_ratio * Physical RAM) + Swap\n"
9384 #: build/C/man5/proc.5:1889
9386 "For example, on a system with 1GB of physical RAM and 7GB of swap with a "
9387 "I<overcommit_ratio> of 30, this formula yields a I<CommitLimit> of 7.3GB. "
9388 "For more details, see the memory overcommit documentation in the kernel "
9389 "source file I<Documentation/vm/overcommit-accounting>."
9393 #: build/C/man5/proc.5:1889
9395 msgid "I<Committed_AS> %lu"
9399 #: build/C/man5/proc.5:1909
9401 "The amount of memory presently allocated on the system. The committed "
9402 "memory is a sum of all of the memory which has been allocated by processes, "
9403 "even if it has not been \"used\" by them as of yet. A process which "
9404 "allocates 1GB of memory (using B<malloc>(3) or similar), but touches only "
9405 "300MB of that memory will show up as using only 300MB of memory even if it "
9406 "has the address space allocated for the entire 1GB. This 1GB is memory "
9407 "which has been \"committed\" to by the VM and can be used at any time by the "
9408 "allocating application. With strict overcommit enabled on the system (mode "
9409 "2 I</proc/sys/vm/overcommit_memory>), allocations which would exceed the "
9410 "I<CommitLimit> (detailed above) will not be permitted. This is useful if "
9411 "one needs to guarantee that processes will not fail due to lack of memory "
9412 "once that memory has been successfully allocated."
9416 #: build/C/man5/proc.5:1909
9418 msgid "I<VmallocTotal> %lu"
9422 #: build/C/man5/proc.5:1912
9423 msgid "Total size of vmalloc memory area."
9427 #: build/C/man5/proc.5:1912
9429 msgid "I<VmallocUsed> %lu"
9433 #: build/C/man5/proc.5:1915
9434 msgid "Amount of vmalloc area which is used."
9438 #: build/C/man5/proc.5:1915
9440 msgid "I<VmallocChunk> %lu"
9444 #: build/C/man5/proc.5:1918
9445 msgid "Largest contiguous block of vmalloc area which is free."
9449 #: build/C/man5/proc.5:1918
9451 msgid "I<HardwareCorrupted> %lu (since Linux 2.6.32)"
9455 #: build/C/man5/proc.5:1922
9456 msgid "(B<CONFIG_MEMORY_FAILURE> is required.) [To be documented.]"
9460 #: build/C/man5/proc.5:1922
9462 msgid "I<AnonHugePages> %lu (since Linux 2.6.38)"
9466 #: build/C/man5/proc.5:1926
9468 "(B<CONFIG_TRANSPARENT_HUGEPAGE> is required.) Non-file backed huge pages "
9469 "mapped into user-space page tables."
9473 #: build/C/man5/proc.5:1926
9475 msgid "I<HugePages_Total> %lu"
9479 #: build/C/man5/proc.5:1930
9480 msgid "(B<CONFIG_HUGETLB_PAGE> is required.) The size of the pool of huge pages."
9484 #: build/C/man5/proc.5:1930
9486 msgid "I<HugePages_Free> %lu"
9490 #: build/C/man5/proc.5:1934
9492 "(B<CONFIG_HUGETLB_PAGE> is required.) The number of huge pages in the pool "
9493 "that are not yet allocated."
9497 #: build/C/man5/proc.5:1934
9499 msgid "I<HugePages_Rsvd> %lu (since Linux 2.6.17)"
9503 #: build/C/man5/proc.5:1943
9505 "(B<CONFIG_HUGETLB_PAGE> is required.) This is the number of huge pages for "
9506 "which a commitment to allocate from the pool has been made, but no "
9507 "allocation has yet been made. These reserved huge pages guarantee that an "
9508 "application will be able to allocate a huge page from the pool of huge pages "
9513 #: build/C/man5/proc.5:1943
9515 msgid "I<HugePages_Surp> %lu (since Linux 2.6.24)"
9519 #: build/C/man5/proc.5:1951
9521 "(B<CONFIG_HUGETLB_PAGE> is required.) This is the number of huge pages in "
9522 "the pool above the value in I</proc/sys/vm/nr_hugepages>. The maximum "
9523 "number of surplus huge pages is controlled by "
9524 "I</proc/sys/vm/nr_overcommit_hugepages>."
9528 #: build/C/man5/proc.5:1951
9530 msgid "I<Hugepagesize> %lu"
9534 #: build/C/man5/proc.5:1955
9535 msgid "(B<CONFIG_HUGETLB_PAGE> is required.) The size of huge pages."
9539 #: build/C/man5/proc.5:1956
9541 msgid "I</proc/modules>"
9545 #: build/C/man5/proc.5:1961
9547 "A text list of the modules that have been loaded by the system. See also "
9552 #: build/C/man5/proc.5:1961
9554 msgid "I</proc/mounts>"
9558 #: build/C/man5/proc.5:1971
9560 "Before kernel 2.4.19, this file was a list of all the filesystems currently "
9561 "mounted on the system. With the introduction of per-process mount "
9562 "namespaces in Linux 2.4.19, this file became a link to I</proc/self/mounts>, "
9563 "which lists the mount points of the process's own mount namespace. The "
9564 "format of this file is documented in B<fstab>(5)."
9568 #: build/C/man5/proc.5:1971
9570 msgid "I</proc/mtrr>"
9574 #: build/C/man5/proc.5:1977
9576 "Memory Type Range Registers. See the Linux kernel source file "
9577 "I<Documentation/mtrr.txt> for details."
9581 #: build/C/man5/proc.5:1977
9583 msgid "I</proc/net>"
9587 #: build/C/man5/proc.5:1987
9589 "various net pseudo-files, all of which give the status of some part of the "
9590 "networking layer. These files contain ASCII structures and are, therefore, "
9591 "readable with B<cat>(1). However, the standard B<netstat>(8) suite "
9592 "provides much cleaner access to these files."
9596 #: build/C/man5/proc.5:1987
9598 msgid "I</proc/net/arp>"
9602 #: build/C/man5/proc.5:1993
9604 "This holds an ASCII readable dump of the kernel ARP table used for address "
9605 "resolutions. It will show both dynamically learned and preprogrammed ARP "
9606 "entries. The format is:"
9610 #: build/C/man5/proc.5:2000
9613 "CW<IP address HW type Flags HW address Mask Device\n"
9614 "192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0\n"
9615 "192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0>\n"
9619 #: build/C/man5/proc.5:2012
9621 "Here \"IP address\" is the IPv4 address of the machine and the \"HW type\" "
9622 "is the hardware type of the address from RFC\\ 826. The flags are the "
9623 "internal flags of the ARP structure (as defined in "
9624 "I</usr/include/linux/if_arp.h>) and the \"HW address\" is the data link "
9625 "layer mapping for that IP address if it is known."
9629 #: build/C/man5/proc.5:2012
9631 msgid "I</proc/net/dev>"
9635 #: build/C/man5/proc.5:2023
9637 "The dev pseudo-file contains network device status information. This gives "
9638 "the number of received and sent packets, the number of errors and collisions "
9639 "and other basic statistics. These are used by the B<ifconfig>(8) program "
9640 "to report device status. The format is:"
9644 #: build/C/man5/proc.5:2033
9647 "CW<Inter-| Receive | "
9649 " face |bytes packets errs drop fifo frame compressed multicast|bytes "
9650 "packets errs drop fifo colls carrier compressed\n"
9651 " lo: 2776770 11307 0 0 0 0 0 0 2776770 "
9652 "11307 0 0 0 0 0 0\n"
9653 " eth0: 1215645 2751 0 0 0 0 0 0 1782404 "
9654 "4324 0 0 0 427 0 0\n"
9655 " ppp0: 1622270 5552 1 0 0 0 0 0 354130 "
9656 "5669 0 0 0 0 0 0\n"
9657 " tap0: 7714 81 0 0 0 0 0 0 7714 "
9662 #: build/C/man5/proc.5:2042
9664 msgid "I</proc/net/dev_mcast>"
9668 #: build/C/man5/proc.5:2046
9669 msgid "Defined in I</usr/src/linux/net/core/dev_mcast.c>:"
9673 #: build/C/man5/proc.5:2052
9676 "indx interface_name dmi_u dmi_g dmi_address\n"
9677 "2 eth0 1 0 01005e000001\n"
9678 "3 eth1 1 0 01005e000001\n"
9679 "4 eth2 1 0 01005e000001\n"
9683 #: build/C/man5/proc.5:2054
9685 msgid "I</proc/net/igmp>"
9689 #: build/C/man5/proc.5:2059
9691 "Internet Group Management Protocol. Defined in "
9692 "I</usr/src/linux/net/core/igmp.c>."
9696 #: build/C/man5/proc.5:2059
9698 msgid "I</proc/net/rarp>"
9702 #: build/C/man5/proc.5:2069
9704 "This file uses the same format as the I<arp> file and contains the current "
9705 "reverse mapping database used to provide B<rarp>(8) reverse address lookup "
9706 "services. If RARP is not configured into the kernel, this file will not be "
9711 #: build/C/man5/proc.5:2069
9713 msgid "I</proc/net/raw>"
9717 #. .I /proc/net/route
9718 #. No information, but looks similar to
9721 #: build/C/man5/proc.5:2089
9723 "Holds a dump of the RAW socket table. Much of the information is not of use "
9724 "apart from debugging. The \"sl\" value is the kernel hash slot for the "
9725 "socket, the \"local_address\" is the local address and protocol number "
9726 "pair. \\&\"St\" is the internal status of the socket. The \"tx_queue\" and "
9727 "\"rx_queue\" are the outgoing and incoming data queue in terms of kernel "
9728 "memory usage. The \"tr\", \"tm-E<gt>when\", and \"rexmits\" fields are not "
9729 "used by RAW. The \"uid\" field holds the effective UID of the creator of "
9734 #: build/C/man5/proc.5:2089
9736 msgid "I</proc/net/snmp>"
9740 #: build/C/man5/proc.5:2094
9742 "This file holds the ASCII data needed for the IP, ICMP, TCP, and UDP "
9743 "management information bases for an SNMP agent."
9747 #: build/C/man5/proc.5:2094
9749 msgid "I</proc/net/tcp>"
9753 #: build/C/man5/proc.5:2110
9755 "Holds a dump of the TCP socket table. Much of the information is not of use "
9756 "apart from debugging. The \"sl\" value is the kernel hash slot for the "
9757 "socket, the \"local_address\" is the local address and port number pair. "
9758 "The \"rem_address\" is the remote address and port number pair (if "
9759 "connected). \\&\"St\" is the internal status of the socket. The "
9760 "\"tx_queue\" and \"rx_queue\" are the outgoing and incoming data queue in "
9761 "terms of kernel memory usage. The \"tr\", \"tm-E<gt>when\", and \"rexmits\" "
9762 "fields hold internal information of the kernel socket state and are only "
9763 "useful for debugging. The \"uid\" field holds the effective UID of the "
9764 "creator of the socket."
9768 #: build/C/man5/proc.5:2110
9770 msgid "I</proc/net/udp>"
9774 #: build/C/man5/proc.5:2126
9776 "Holds a dump of the UDP socket table. Much of the information is not of use "
9777 "apart from debugging. The \"sl\" value is the kernel hash slot for the "
9778 "socket, the \"local_address\" is the local address and port number pair. "
9779 "The \"rem_address\" is the remote address and port number pair (if "
9780 "connected). \"St\" is the internal status of the socket. The \"tx_queue\" "
9781 "and \"rx_queue\" are the outgoing and incoming data queue in terms of kernel "
9782 "memory usage. The \"tr\", \"tm-E<gt>when\", and \"rexmits\" fields are not "
9783 "used by UDP. The \"uid\" field holds the effective UID of the creator of "
9784 "the socket. The format is:"
9788 #: build/C/man5/proc.5:2134
9791 "CW<sl local_address rem_address st tx_queue rx_queue tr rexmits "
9792 "tm-E<gt>when uid\n"
9793 " 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 "
9795 " 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 "
9797 " 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 "
9802 #: build/C/man5/proc.5:2137
9804 msgid "I</proc/net/unix>"
9808 #: build/C/man5/proc.5:2142
9810 "Lists the UNIX domain sockets present within the system and their status. "
9815 #: build/C/man5/proc.5:2148
9818 "CW<Num RefCount Protocol Flags Type St Path\n"
9819 " 0: 00000002 00000000 00000000 0001 03\n"
9820 " 1: 00000001 00000000 00010000 0001 01 /dev/printer>\n"
9824 #: build/C/man5/proc.5:2160
9826 "Here \"Num\" is the kernel table slot number, \"RefCount\" is the number of "
9827 "users of the socket, \"Protocol\" is currently always 0, \"Flags\" represent "
9828 "the internal kernel flags holding the status of the socket. Currently, type "
9829 "is always \"1\" (UNIX domain datagram sockets are not yet supported in the "
9830 "kernel). \\&\"St\" is the internal state of the socket and Path is the "
9831 "bound path (if any) of the socket."
9835 #: build/C/man5/proc.5:2160
9837 msgid "I</proc/partitions>"
9841 #: build/C/man5/proc.5:2164
9843 "Contains the major and minor numbers of each partition as well as the number "
9844 "of 1024-byte blocks and the partition name."
9848 #: build/C/man5/proc.5:2164
9850 msgid "I</proc/pci>"
9854 #: build/C/man5/proc.5:2168
9856 "This is a listing of all PCI devices found during kernel initialization and "
9857 "their configuration."
9860 #. FIXME /proc/sched_debug
9862 #. .IR /proc/sched_debug " (since Linux 2.6.23)"
9863 #. See also /proc/[pid]/sched
9865 #: build/C/man5/proc.5:2184
9867 "This file has been deprecated in favor of a new I</proc> interface for PCI "
9868 "(I</proc/bus/pci>). It became optional in Linux 2.2 (available with "
9869 "B<CONFIG_PCI_OLD_PROC> set at kernel compilation). It became once more "
9870 "nonoptionally enabled in Linux 2.4. Next, it was deprecated in Linux 2.6 "
9871 "(still available with B<CONFIG_PCI_LEGACY_PROC> set), and finally removed "
9872 "altogether since Linux 2.6.17."
9876 #: build/C/man5/proc.5:2184
9878 msgid "I</proc/profile> (since Linux 2.4)"
9882 #: build/C/man5/proc.5:2196
9884 "This file is present only if the kernel was booted with the I<profile=1> "
9885 "command-line option. It exposes kernel profiling information in a binary "
9886 "format for use by B<readprofile>(1). Writing (e.g., an empty string) to "
9887 "this file resets the profiling counters; on some architectures, writing a "
9888 "binary integer \"profiling multiplier\" of size I<sizeof(int)> sets the "
9889 "profiling interrupt frequency."
9893 #: build/C/man5/proc.5:2196
9895 msgid "I</proc/scsi>"
9899 #: build/C/man5/proc.5:2206
9901 "A directory with the I<scsi> mid-level pseudo-file and various SCSI "
9902 "low-level driver directories, which contain a file for each SCSI host in "
9903 "this system, all of which give the status of some part of the SCSI IO "
9904 "subsystem. These files contain ASCII structures and are, therefore, "
9905 "readable with B<cat>(1)."
9909 #: build/C/man5/proc.5:2209
9911 "You can also write to some of the files to reconfigure the subsystem or "
9912 "switch certain features on or off."
9916 #: build/C/man5/proc.5:2209
9918 msgid "I</proc/scsi/scsi>"
9922 #: build/C/man5/proc.5:2215
9924 "This is a listing of all SCSI devices known to the kernel. The listing is "
9925 "similar to the one seen during bootup. scsi currently supports only the "
9926 "I<add-single-device> command which allows root to add a hotplugged device to "
9927 "the list of known devices."
9931 #: build/C/man5/proc.5:2217
9936 #: build/C/man5/proc.5:2221
9938 msgid "echo \\(aqscsi add-single-device 1 0 5 0\\(aq E<gt> /proc/scsi/scsi\n"
9942 #: build/C/man5/proc.5:2229
9944 "will cause host scsi1 to scan on SCSI channel 0 for a device on ID 5 LUN 0. "
9945 "If there is already a device known on this address or the address is "
9946 "invalid, an error will be returned."
9950 #: build/C/man5/proc.5:2229
9952 msgid "I</proc/scsi/[drivername]>"
9956 #: build/C/man5/proc.5:2239
9958 "I<[drivername]> can currently be NCR53c7xx, aha152x, aha1542, aha1740, "
9959 "aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, "
9960 "scsi_debug, seagate, t128, u15-24f, ultrastore, or wd7000. These "
9961 "directories show up for all drivers that registered at least one SCSI HBA. "
9962 "Every directory contains one file per registered host. Every host-file is "
9963 "named after the number the host was assigned during initialization."
9967 #: build/C/man5/proc.5:2242
9969 "Reading these files will usually show driver and host configuration, "
9974 #: build/C/man5/proc.5:2249
9976 "Writing to these files allows different things on different hosts. For "
9977 "example, with the I<latency> and I<nolatency> commands, root can switch on "
9978 "and off command latency measurement code in the eata_dma driver. With the "
9979 "I<lockup> and I<unlock> commands, root can control bus lockups simulated by "
9980 "the scsi_debug driver."
9984 #: build/C/man5/proc.5:2249
9986 msgid "I</proc/self>"
9990 #: build/C/man5/proc.5:2257
9992 "This directory refers to the process accessing the I</proc> filesystem, and "
9993 "is identical to the I</proc> directory named by the process ID of the same "
9998 #: build/C/man5/proc.5:2257
10000 msgid "I</proc/slabinfo>"
10003 #. type: Plain text
10004 #: build/C/man5/proc.5:2266
10006 "Information about kernel caches. Since Linux 2.6.16 this file is present "
10007 "only if the B<CONFIG_SLAB> kernel configuration option is enabled. The "
10008 "columns in I</proc/slabinfo> are:"
10011 #. type: Plain text
10012 #: build/C/man5/proc.5:2276
10016 "num-active-objs\n"
10019 "num-active-slabs\n"
10021 "num-pages-per-slab\n"
10024 #. type: Plain text
10025 #: build/C/man5/proc.5:2282
10026 msgid "See B<slabinfo>(5) for details."
10030 #: build/C/man5/proc.5:2282
10032 msgid "I</proc/stat>"
10035 #. type: Plain text
10036 #: build/C/man5/proc.5:2288
10038 "kernel/system statistics. Varies with architecture. Common entries "
10043 #: build/C/man5/proc.5:2289
10045 msgid "I<cpu 3357 0 4313 1362393>"
10048 #. 1024 on Alpha and ia64
10049 #. type: Plain text
10050 #: build/C/man5/proc.5:2297
10052 "The amount of time, measured in units of USER_HZ (1/100ths of a second on "
10053 "most architectures, use I<sysconf(_SC_CLK_TCK)> to obtain the right value), "
10054 "that the system spent in various states:"
10058 #: build/C/man5/proc.5:2298
10063 #. type: Plain text
10064 #: build/C/man5/proc.5:2301
10065 msgid "(1) Time spent in user mode."
10069 #: build/C/man5/proc.5:2301
10074 #. type: Plain text
10075 #: build/C/man5/proc.5:2304
10076 msgid "(2) Time spent in user mode with low priority (nice)."
10080 #: build/C/man5/proc.5:2304
10085 #. type: Plain text
10086 #: build/C/man5/proc.5:2307
10087 msgid "(3) Time spent in system mode."
10091 #: build/C/man5/proc.5:2307
10096 #. FIXME Actually, the following info about the /proc/stat 'cpu' field
10097 #. does not seem to be quite right (at least in 2.6.12 or 3.6):
10098 #. the idle time in /proc/uptime does not quite match this value
10099 #. type: Plain text
10100 #: build/C/man5/proc.5:2317
10102 "(4) Time spent in the idle task. This value should be USER_HZ times the "
10103 "second entry in the I</proc/uptime> pseudo-file."
10107 #: build/C/man5/proc.5:2317
10109 msgid "I<iowait> (since Linux 2.5.41)"
10112 #. type: Plain text
10113 #: build/C/man5/proc.5:2320
10114 msgid "(5) Time waiting for I/O to complete."
10118 #: build/C/man5/proc.5:2320
10120 msgid "I<irq> (since Linux 2.6.0-test4)"
10123 #. type: Plain text
10124 #: build/C/man5/proc.5:2323
10125 msgid "(6) Time servicing interrupts."
10129 #: build/C/man5/proc.5:2323
10131 msgid "I<softirq> (since Linux 2.6.0-test4)"
10134 #. type: Plain text
10135 #: build/C/man5/proc.5:2326
10136 msgid "(7) Time servicing softirqs."
10140 #: build/C/man5/proc.5:2326
10142 msgid "I<steal> (since Linux 2.6.11)"
10145 #. type: Plain text
10146 #: build/C/man5/proc.5:2330
10148 "(8) Stolen time, which is the time spent in other operating systems when "
10149 "running in a virtualized environment"
10153 #: build/C/man5/proc.5:2330
10155 msgid "I<guest> (since Linux 2.6.24)"
10158 #. See Changelog entry for 5e84cfde51cf303d368fcb48f22059f37b3872de
10159 #. type: Plain text
10160 #: build/C/man5/proc.5:2335
10162 "(9) Time spent running a virtual CPU for guest operating systems under the "
10163 "control of the Linux kernel."
10167 #: build/C/man5/proc.5:2335
10169 msgid "I<guest_nice> (since Linux 2.6.33)"
10172 #. commit ce0e7b28fb75cb003cfc8d0238613aaf1c55e797
10173 #. type: Plain text
10174 #: build/C/man5/proc.5:2340
10176 "(10) Time spent running a niced guest (virtual CPU for guest operating "
10177 "systems under the control of the Linux kernel)."
10181 #: build/C/man5/proc.5:2341
10183 msgid "I<page 5741 1808>"
10186 #. type: Plain text
10187 #: build/C/man5/proc.5:2345
10189 "The number of pages the system paged in and the number that were paged out "
10194 #: build/C/man5/proc.5:2345
10196 msgid "I<swap 1 0>"
10199 #. type: Plain text
10200 #: build/C/man5/proc.5:2348
10201 msgid "The number of swap pages that have been brought in and out."
10204 #. FIXME The following is not the full picture for the 'intr' of
10205 #. /proc/stat on 2.6:
10207 #: build/C/man5/proc.5:2348
10209 msgid "I<intr 1462898>"
10212 #. type: Plain text
10213 #: build/C/man5/proc.5:2356
10215 "This line shows counts of interrupts serviced since boot time, for each of "
10216 "the possible system interrupts. The first column is the total of all "
10217 "interrupts serviced; each subsequent column is the total for a particular "
10222 #: build/C/man5/proc.5:2356
10224 msgid "I<disk_io: (2,0):(31,30,5764,1,2) (3,0):>..."
10227 #. type: Plain text
10228 #: build/C/man5/proc.5:2359
10230 "(major,disk_idx):(noinfo, read_io_ops, blks_read, write_io_ops, "
10234 #. type: Plain text
10235 #: build/C/man5/proc.5:2361
10236 msgid "(Linux 2.4 only)"
10240 #: build/C/man5/proc.5:2361
10242 msgid "I<ctxt 115315>"
10245 #. type: Plain text
10246 #: build/C/man5/proc.5:2364
10247 msgid "The number of context switches that the system underwent."
10251 #: build/C/man5/proc.5:2364
10253 msgid "I<btime 769041601>"
10256 #. type: Plain text
10257 #: build/C/man5/proc.5:2367
10258 msgid "boot time, in seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
10262 #: build/C/man5/proc.5:2367
10264 msgid "I<processes 86031>"
10267 #. type: Plain text
10268 #: build/C/man5/proc.5:2370
10269 msgid "Number of forks since boot."
10273 #: build/C/man5/proc.5:2370
10275 msgid "I<procs_running 6>"
10278 #. type: Plain text
10279 #: build/C/man5/proc.5:2374
10280 msgid "Number of processes in runnable state. (Linux 2.5.45 onward.)"
10284 #: build/C/man5/proc.5:2374
10286 msgid "I<procs_blocked 2>"
10289 #. type: Plain text
10290 #: build/C/man5/proc.5:2378
10292 "Number of processes blocked waiting for I/O to complete. (Linux 2.5.45 "
10297 #: build/C/man5/proc.5:2379
10299 msgid "I</proc/swaps>"
10302 #. type: Plain text
10303 #: build/C/man5/proc.5:2384
10304 msgid "Swap areas in use. See also B<swapon>(8)."
10308 #: build/C/man5/proc.5:2384
10310 msgid "I</proc/sys>"
10313 #. type: Plain text
10314 #: build/C/man5/proc.5:2392
10316 "This directory (present since 1.3.57) contains a number of files and "
10317 "subdirectories corresponding to kernel variables. These variables can be "
10318 "read and sometimes modified using the I</proc> filesystem, and the "
10319 "(deprecated) B<sysctl>(2) system call."
10323 #: build/C/man5/proc.5:2392
10325 msgid "I</proc/sys/abi> (since Linux 2.4.10)"
10328 #. On some systems, it is not present.
10329 #. type: Plain text
10330 #: build/C/man5/proc.5:2399
10332 "This directory may contain files with application binary information. See "
10333 "the Linux kernel source file I<Documentation/sysctl/abi.txt> for more "
10338 #: build/C/man5/proc.5:2399
10340 msgid "I</proc/sys/debug>"
10343 #. type: Plain text
10344 #: build/C/man5/proc.5:2402 build/C/man5/proc.5:3239
10345 msgid "This directory may be empty."
10349 #: build/C/man5/proc.5:2402
10351 msgid "I</proc/sys/dev>"
10354 #. type: Plain text
10355 #: build/C/man5/proc.5:2408
10357 "This directory contains device-specific information (e.g., "
10358 "I<dev/cdrom/info>). On some systems, it may be empty."
10362 #: build/C/man5/proc.5:2408
10364 msgid "I</proc/sys/fs>"
10367 #. type: Plain text
10368 #: build/C/man5/proc.5:2412
10370 "This directory contains the files and subdirectories for kernel variables "
10371 "related to filesystems."
10375 #: build/C/man5/proc.5:2412
10377 msgid "I</proc/sys/fs/binfmt_misc>"
10380 #. type: Plain text
10381 #: build/C/man5/proc.5:2417
10383 "Documentation for files in this directory can be found in the Linux kernel "
10384 "sources in I<Documentation/binfmt_misc.txt>."
10388 #: build/C/man5/proc.5:2417
10390 msgid "I</proc/sys/fs/dentry-state> (since Linux 2.2)"
10393 #. type: Plain text
10394 #: build/C/man5/proc.5:2425
10396 "This file contains information about the status of the directory cache "
10397 "(dcache). The file contains six numbers, I<nr_dentry>, I<nr_unused>, "
10398 "I<age_limit> (age in seconds), I<want_pages> (pages requested by system) and "
10399 "two dummy values."
10402 #. type: Plain text
10403 #: build/C/man5/proc.5:2430
10405 "I<nr_dentry> is the number of allocated dentries (dcache entries). This "
10406 "field is unused in Linux 2.2."
10409 #. type: Plain text
10410 #: build/C/man5/proc.5:2433
10411 msgid "I<nr_unused> is the number of unused dentries."
10414 #. looks like this is unused in kernels 2.2 to 2.6
10415 #. type: Plain text
10416 #: build/C/man5/proc.5:2438
10418 "I<age_limit> is the age in seconds after which dcache entries can be "
10419 "reclaimed when memory is short."
10422 #. looks like this is unused in kernels 2.2 to 2.6
10423 #. type: Plain text
10424 #: build/C/man5/proc.5:2443
10426 "I<want_pages> is nonzero when the kernel has called shrink_dcache_pages() "
10427 "and the dcache isn't pruned yet."
10431 #: build/C/man5/proc.5:2444
10433 msgid "I</proc/sys/fs/dir-notify-enable>"
10436 #. type: Plain text
10437 #: build/C/man5/proc.5:2453
10439 "This file can be used to disable or enable the I<dnotify> interface "
10440 "described in B<fcntl>(2) on a system-wide basis. A value of 0 in this file "
10441 "disables the interface, and a value of 1 enables it."
10445 #: build/C/man5/proc.5:2453
10447 msgid "I</proc/sys/fs/dquot-max>"
10450 #. type: Plain text
10451 #: build/C/man5/proc.5:2460
10453 "This file shows the maximum number of cached disk quota entries. On some "
10454 "(2.4) systems, it is not present. If the number of free cached disk quota "
10455 "entries is very low and you have some awesome number of simultaneous system "
10456 "users, you might want to raise the limit."
10460 #: build/C/man5/proc.5:2460
10462 msgid "I</proc/sys/fs/dquot-nr>"
10465 #. type: Plain text
10466 #: build/C/man5/proc.5:2464
10468 "This file shows the number of allocated disk quota entries and the number of "
10469 "free disk quota entries."
10473 #: build/C/man5/proc.5:2464
10475 msgid "I</proc/sys/fs/epoll> (since Linux 2.6.28)"
10478 #. type: Plain text
10479 #: build/C/man5/proc.5:2473
10481 "This directory contains the file I<max_user_watches>, which can be used to "
10482 "limit the amount of kernel memory consumed by the I<epoll> interface. For "
10483 "further details, see B<epoll>(7)."
10487 #: build/C/man5/proc.5:2473
10489 msgid "I</proc/sys/fs/file-max>"
10492 #. type: Plain text
10493 #: build/C/man5/proc.5:2486
10495 "This file defines a system-wide limit on the number of open files for all "
10496 "processes. (See also B<setrlimit>(2), which can be used by a process to set "
10497 "the per-process limit, B<RLIMIT_NOFILE>, on the number of files it may "
10498 "open.) If you get lots of error messages in the kernel log about running "
10499 "out of file handles (look for \"VFS: file-max limit E<lt>numberE<gt> "
10500 "reached\"), try increasing this value:"
10503 #. type: Plain text
10504 #: build/C/man5/proc.5:2492
10506 msgid "CW< echo 100000 E<gt> /proc/sys/fs/file-max>\n"
10509 #. type: Plain text
10510 #: build/C/man5/proc.5:2499
10512 "The kernel constant B<NR_OPEN> imposes an upper limit on the value that may "
10513 "be placed in I<file-max>."
10516 #. type: Plain text
10517 #: build/C/man5/proc.5:2505
10518 msgid "Privileged processes (B<CAP_SYS_ADMIN>) can override the I<file-max> limit."
10522 #: build/C/man5/proc.5:2505
10524 msgid "I</proc/sys/fs/file-nr>"
10527 #. type: Plain text
10528 #: build/C/man5/proc.5:2524
10530 "This (read-only) file contains three numbers: the number of allocated file "
10531 "handles (i.e., the number of files presently opened); the number of free "
10532 "file handles; and the maximum number of file handles (i.e., the same value "
10533 "as I</proc/sys/fs/file-max>). If the number of allocated file handles is "
10534 "close to the maximum, you should consider increasing the maximum. Before "
10535 "Linux 2.6, the kernel allocated file handles dynamically, but it didn't free "
10536 "them again. Instead the free file handles were kept in a list for "
10537 "reallocation; the \"free file handles\" value indicates the size of that "
10538 "list. A large number of free file handles indicates that there was a past "
10539 "peak in the usage of open file handles. Since Linux 2.6, the kernel does "
10540 "deallocate freed file handles, and the \"free file handles\" value is always "
10545 #: build/C/man5/proc.5:2524
10547 msgid "I</proc/sys/fs/inode-max> (only present until Linux 2.2)"
10550 #. type: Plain text
10551 #: build/C/man5/proc.5:2533
10553 "This file contains the maximum number of in-memory inodes. This value "
10554 "should be 3-4 times larger than the value in I<file-max>, since I<stdin>, "
10555 "I<stdout> and network sockets also need an inode to handle them. When you "
10556 "regularly run out of inodes, you need to increase this value."
10559 #. type: Plain text
10560 #: build/C/man5/proc.5:2537
10562 "Starting with Linux 2.4, there is no longer a static limit on the number of "
10563 "inodes, and this file is removed."
10567 #: build/C/man5/proc.5:2537
10569 msgid "I</proc/sys/fs/inode-nr>"
10572 #. type: Plain text
10573 #: build/C/man5/proc.5:2541
10574 msgid "This file contains the first two values from I<inode-state>."
10578 #: build/C/man5/proc.5:2541
10580 msgid "I</proc/sys/fs/inode-state>"
10583 #. type: Plain text
10584 #: build/C/man5/proc.5:2549
10586 "This file contains seven numbers: I<nr_inodes>, I<nr_free_inodes>, "
10587 "I<preshrink>, and four dummy values (always zero)."
10590 #. This can be slightly more than
10592 #. because Linux allocates them one page full at a time.
10593 #. type: Plain text
10594 #: build/C/man5/proc.5:2557
10596 "I<nr_inodes> is the number of inodes the system has allocated. "
10597 "I<nr_free_inodes> represents the number of free inodes."
10600 #. type: Plain text
10601 #: build/C/man5/proc.5:2565
10603 "I<preshrink> is nonzero when the I<nr_inodes> E<gt> I<inode-max> and the "
10604 "system needs to prune the inode list instead of allocating more; since Linux "
10605 "2.4, this field is a dummy value (always zero)."
10609 #: build/C/man5/proc.5:2565
10611 msgid "I</proc/sys/fs/inotify> (since Linux 2.6.13)"
10614 #. type: Plain text
10615 #: build/C/man5/proc.5:2574
10617 "This directory contains files I<max_queued_events>, I<max_user_instances>, "
10618 "and I<max_user_watches>, that can be used to limit the amount of kernel "
10619 "memory consumed by the I<inotify> interface. For further details, see "
10624 #: build/C/man5/proc.5:2574
10626 msgid "I</proc/sys/fs/lease-break-time>"
10629 #. type: Plain text
10630 #: build/C/man5/proc.5:2583
10632 "This file specifies the grace period that the kernel grants to a process "
10633 "holding a file lease (B<fcntl>(2)) after it has sent a signal to that "
10634 "process notifying it that another process is waiting to open the file. If "
10635 "the lease holder does not remove or downgrade the lease within this grace "
10636 "period, the kernel forcibly breaks the lease."
10640 #: build/C/man5/proc.5:2583
10642 msgid "I</proc/sys/fs/leases-enable>"
10645 #. type: Plain text
10646 #: build/C/man5/proc.5:2590
10648 "This file can be used to enable or disable file leases (B<fcntl>(2)) on a "
10649 "system-wide basis. If this file contains the value 0, leases are disabled. "
10650 "A nonzero value enables leases."
10654 #: build/C/man5/proc.5:2590
10656 msgid "I</proc/sys/fs/mqueue> (since Linux 2.6.6)"
10659 #. type: Plain text
10660 #: build/C/man5/proc.5:2598
10662 "This directory contains files I<msg_max>, I<msgsize_max>, and I<queues_max>, "
10663 "controlling the resources used by POSIX message queues. See "
10664 "B<mq_overview>(7) for details."
10668 #: build/C/man5/proc.5:2598
10670 msgid "I</proc/sys/fs/overflowgid> and I</proc/sys/fs/overflowuid>"
10673 #. type: Plain text
10674 #: build/C/man5/proc.5:2608
10676 "These files allow you to change the value of the fixed UID and GID. The "
10677 "default is 65534. Some filesystems support only 16-bit UIDs and GIDs, "
10678 "although in Linux UIDs and GIDs are 32 bits. When one of these filesystems "
10679 "is mounted with writes enabled, any UID or GID that would exceed 65535 is "
10680 "translated to the overflow value before being written to disk."
10684 #: build/C/man5/proc.5:2608
10686 msgid "I</proc/sys/fs/pipe-max-size> (since Linux 2.6.35)"
10689 #. type: Plain text
10690 #: build/C/man5/proc.5:2622
10692 "The value in this file defines an upper limit for raising the capacity of a "
10693 "pipe using the B<fcntl>(2) B<F_SETPIPE_SZ> operation. This limit applies "
10694 "only to unprivileged processes. The default value for this file is "
10695 "1,048,576. The value assigned to this file may be rounded upward, to "
10696 "reflect the value actually employed for a convenient implementation. To "
10697 "determine the rounded-up value, display the contents of this file after "
10698 "assigning a value to it. The minimum value that can be assigned to this "
10699 "file is the system page size."
10703 #: build/C/man5/proc.5:2622
10705 msgid "I</proc/sys/fs/protected_hardlinks> (since Linux 3.6)"
10708 #. commit 800179c9b8a1e796e441674776d11cd4c05d61d7
10709 #. type: Plain text
10710 #: build/C/man5/proc.5:2631
10712 "When the value in this file is 0, no restrictions are placed on the creation "
10713 "of hard links (i.e., this is the historical behaviour before Linux 3.6). "
10714 "When the value in this file is 1, a hard link can be created to a target "
10715 "file only if one of the following conditions is true:"
10718 #. type: Plain text
10719 #: build/C/man5/proc.5:2636
10720 msgid "The caller has the B<CAP_FOWNER> capability."
10723 #. type: Plain text
10724 #: build/C/man5/proc.5:2642
10726 "The filesystem UID of the process creating the link matches the owner (UID) "
10727 "of the target file (as described in B<credentials>(7), a process's "
10728 "filesystem UID is normally the same as its effective UID)."
10731 #. type: Plain text
10732 #: build/C/man5/proc.5:2644
10733 msgid "All of the following conditions are true:"
10736 #. type: Plain text
10737 #: build/C/man5/proc.5:2647
10738 msgid "the target is a regular file;"
10741 #. type: Plain text
10742 #: build/C/man5/proc.5:2649
10743 msgid "the target file does not have its set-user-ID permission bit enabled;"
10746 #. type: Plain text
10747 #: build/C/man5/proc.5:2652
10749 "the target file does not have both its set-group-ID and group-executable "
10750 "permission bits enabled; and"
10753 #. type: Plain text
10754 #: build/C/man5/proc.5:2656
10756 "the caller has permission to read and write the target file (either via the "
10757 "file's permissions mask or because it has suitable capabilities)."
10760 #. type: Plain text
10761 #: build/C/man5/proc.5:2672
10763 "The default value in this file is 0. Setting the value to 1 prevents a "
10764 "longstanding class of security issues caused by hard-link-based "
10765 "time-of-check, time-of-use races, most commonly seen in world-writable "
10766 "directories such as I</tmp>. The common method of exploiting this flaw is "
10767 "to cross privilege boundaries when following a given hard link (i.e., a root "
10768 "process follows a hard link created by another user). Additionally, on "
10769 "systems without separated partitions, this stops unauthorized users from "
10770 "\"pinning\" vulnerable set-user-ID and set-group-ID files against being "
10771 "upgraded by the administrator, or linking to special files."
10775 #: build/C/man5/proc.5:2672
10777 msgid "I</proc/sys/fs/protected_symlinks> (since Linux 3.6)"
10780 #. commit 800179c9b8a1e796e441674776d11cd4c05d61d7
10781 #. type: Plain text
10782 #: build/C/man5/proc.5:2680
10784 "When the value in this file is 0, no restrictions are placed on following "
10785 "symbolic links (i.e., this is the historical behaviour before Linux 3.6). "
10786 "When the value in this file is 1, symbolic links are followed only in the "
10787 "following circumstances:"
10790 #. type: Plain text
10791 #: build/C/man5/proc.5:2687
10793 "the filesystem UID of the process following the link matches the owner (UID) "
10794 "of the symbolic link (as described in B<credentials>(7), a process's "
10795 "filesystem UID is normally the same as its effective UID);"
10798 #. type: Plain text
10799 #: build/C/man5/proc.5:2689
10800 msgid "the link is not in a sticky world-writable directory; or"
10803 #. type: Plain text
10804 #: build/C/man5/proc.5:2691
10805 msgid "the symbolic link and and its parent directory have the same owner (UID)"
10808 #. type: Plain text
10809 #: build/C/man5/proc.5:2698
10811 "A system call that fails to follow a symbolic link because of the above "
10812 "restrictions returns the error B<EACCES> in I<errno>."
10815 #. type: Plain text
10816 #: build/C/man5/proc.5:2702
10818 "The default value in this file is 0. Setting the value to 1 avoids a "
10819 "longstanding class of security issues based on time-of-check, time-of-use "
10820 "races when accessing symbolic links."
10824 #: build/C/man5/proc.5:2702
10826 msgid "I</proc/sys/fs/suid_dumpable> (since Linux 2.6.13)"
10829 #. The following is based on text from Documentation/sysctl/kernel.txt
10830 #. type: Plain text
10831 #: build/C/man5/proc.5:2708
10833 "The value in this file determines whether core dump files are produced for "
10834 "set-user-ID or otherwise protected/tainted binaries. Three different "
10835 "integer values can be specified:"
10839 #: build/C/man5/proc.5:2709
10841 msgid "I<0\\ (default)>"
10844 #. type: Plain text
10845 #: build/C/man5/proc.5:2718
10847 "This provides the traditional (pre-Linux 2.6.13) behavior. A core dump will "
10848 "not be produced for a process which has changed credentials (by calling "
10849 "B<seteuid>(2), B<setgid>(2), or similar, or by executing a set-user-ID or "
10850 "set-group-ID program) or whose binary does not have read permission "
10855 #: build/C/man5/proc.5:2718
10857 msgid "I<1\\ (\"debug\")>"
10860 #. type: Plain text
10861 #: build/C/man5/proc.5:2725
10863 "All processes dump core when possible. The core dump is owned by the "
10864 "filesystem user ID of the dumping process and no security is applied. This "
10865 "is intended for system debugging situations only. Ptrace is unchecked."
10869 #: build/C/man5/proc.5:2725
10871 msgid "I<2\\ (\"suidsafe\")>"
10874 #. type: Plain text
10875 #: build/C/man5/proc.5:2734
10877 "Any binary which normally would not be dumped (see \"0\" above) is dumped "
10878 "readable by root only. This allows the user to remove the core dump file "
10879 "but not to read it. For security reasons core dumps in this mode will not "
10880 "overwrite one another or other files. This mode is appropriate when "
10881 "administrators are attempting to debug problems in a normal environment."
10884 #. 9520628e8ceb69fa9a4aee6b57f22675d9e1b709
10885 #. 54b501992dd2a839e94e76aa392c392b55080ce8
10886 #. type: Plain text
10887 #: build/C/man5/proc.5:2745
10889 "Additionally, since Linux 3.6, I</proc/sys/kernel/core_pattern> must either "
10890 "be an absolute pathname or a pipe command, as detailed in B<core>(5). "
10891 "Warnings will be written to the kernel log if I<core_pattern> does not "
10892 "follow these rules, and no core dump will be produced."
10896 #: build/C/man5/proc.5:2746
10898 msgid "I</proc/sys/fs/super-max>"
10901 #. type: Plain text
10902 #: build/C/man5/proc.5:2757
10904 "This file controls the maximum number of superblocks, and thus the maximum "
10905 "number of mounted filesystems the kernel can have. You need increase only "
10906 "I<super-max> if you need to mount more filesystems than the current value in "
10907 "I<super-max> allows you to."
10911 #: build/C/man5/proc.5:2757
10913 msgid "I</proc/sys/fs/super-nr>"
10916 #. type: Plain text
10917 #: build/C/man5/proc.5:2761
10918 msgid "This file contains the number of filesystems currently mounted."
10922 #: build/C/man5/proc.5:2761
10924 msgid "I</proc/sys/kernel>"
10927 #. type: Plain text
10928 #: build/C/man5/proc.5:2765
10930 "This directory contains files controlling a range of kernel parameters, as "
10935 #: build/C/man5/proc.5:2765
10937 msgid "I</proc/sys/kernel/acct>"
10940 #. type: Plain text
10941 #: build/C/man5/proc.5:2789
10943 "This file contains three numbers: I<highwater>, I<lowwater>, and "
10944 "I<frequency>. If BSD-style process accounting is enabled these values "
10945 "control its behavior. If free space on filesystem where the log lives goes "
10946 "below I<lowwater> percent accounting suspends. If free space gets above "
10947 "I<highwater> percent accounting resumes. I<frequency> determines how often "
10948 "the kernel checks the amount of free space (value is in seconds). Default "
10949 "values are 4, 2 and 30. That is, suspend accounting if 2% or less space is "
10950 "free; resume it if 4% or more space is free; consider information about "
10951 "amount of free space valid for 30 seconds."
10955 #: build/C/man5/proc.5:2789
10957 msgid "I</proc/sys/kernel/cap_last_cap> (since Linux 3.2)"
10960 #. type: Plain text
10961 #: build/C/man5/proc.5:2793
10962 msgid "See B<capabilities>(7)."
10966 #: build/C/man5/proc.5:2793
10968 msgid "I</proc/sys/kernel/cap-bound> (from Linux 2.2 to 2.6.24)"
10971 #. type: Plain text
10972 #: build/C/man5/proc.5:2805
10974 "This file holds the value of the kernel I<capability bounding set> "
10975 "(expressed as a signed decimal number). This set is ANDed against the "
10976 "capabilities permitted to a process during B<execve>(2). Starting with "
10977 "Linux 2.6.25, the system-wide capability bounding set disappeared, and was "
10978 "replaced by a per-thread bounding set; see B<capabilities>(7)."
10982 #: build/C/man5/proc.5:2805
10984 msgid "I</proc/sys/kernel/core_pattern>"
10988 #: build/C/man5/proc.5:2809
10990 msgid "I</proc/sys/kernel/core_uses_pid>"
10994 #: build/C/man5/proc.5:2813
10996 msgid "I</proc/sys/kernel/ctrl-alt-del>"
10999 #. type: Plain text
11000 #: build/C/man5/proc.5:2828
11002 "This file controls the handling of Ctrl-Alt-Del from the keyboard. When the "
11003 "value in this file is 0, Ctrl-Alt-Del is trapped and sent to the B<init>(8) "
11004 "program to handle a graceful restart. When the value is greater than zero, "
11005 "Linux's reaction to a Vulcan Nerve Pinch (tm) will be an immediate reboot, "
11006 "without even syncing its dirty buffers. Note: when a program (like dosemu) "
11007 "has the keyboard in \"raw\" mode, the ctrl-alt-del is intercepted by the "
11008 "program before it ever reaches the kernel tty layer, and it's up to the "
11009 "program to decide what to do with it."
11013 #: build/C/man5/proc.5:2828
11015 msgid "I</proc/sys/kernel/dmesg_restrict> (since Linux 2.6.37)"
11018 #. commit 620f6e8e855d6d447688a5f67a4e176944a084e8
11019 #. type: Plain text
11020 #: build/C/man5/proc.5:2841
11022 "The value in this file determines who can see kernel syslog contents. A "
11023 "value of 0 in this file imposes no restrictions. If the value is 1, only "
11024 "privileged users can read the kernel syslog. (See B<syslog>(2) for more "
11025 "details.) Since Linux 3.4, only users with the B<CAP_SYS_ADMIN> capability "
11026 "may change the value in this file."
11030 #: build/C/man5/proc.5:2841
11032 msgid "I</proc/sys/kernel/domainname> and I</proc/sys/kernel/hostname>"
11035 #. type: Plain text
11036 #: build/C/man5/proc.5:2849
11038 "can be used to set the NIS/YP domainname and the hostname of your box in "
11039 "exactly the same way as the commands B<domainname>(1) and B<hostname>(1), "
11043 #. type: Plain text
11044 #: build/C/man5/proc.5:2854
11047 "#B< echo \\(aqdarkstar\\(aq E<gt> /proc/sys/kernel/hostname>\n"
11048 "#B< echo \\(aqmydomain\\(aq E<gt> /proc/sys/kernel/domainname>\n"
11051 #. type: Plain text
11052 #: build/C/man5/proc.5:2858
11053 msgid "has the same effect as"
11056 #. type: Plain text
11057 #: build/C/man5/proc.5:2863
11060 "#B< hostname \\(aqdarkstar\\(aq>\n"
11061 "#B< domainname \\(aqmydomain\\(aq>\n"
11064 #. type: Plain text
11065 #: build/C/man5/proc.5:2876
11067 "Note, however, that the classic darkstar.frop.org has the hostname "
11068 "\"darkstar\" and DNS (Internet Domain Name Server) domainname \"frop.org\", "
11069 "not to be confused with the NIS (Network Information Service) or YP (Yellow "
11070 "Pages) domainname. These two domain names are in general different. For a "
11071 "detailed discussion see the B<hostname>(1) man page."
11075 #: build/C/man5/proc.5:2876
11077 msgid "I</proc/sys/kernel/hotplug>"
11080 #. type: Plain text
11081 #: build/C/man5/proc.5:2882
11083 "This file contains the path for the hotplug policy agent. The default value "
11084 "in this file is I</sbin/hotplug>."
11088 #: build/C/man5/proc.5:2882
11090 msgid "I</proc/sys/kernel/htab-reclaim>"
11093 #. type: Plain text
11094 #: build/C/man5/proc.5:2890
11096 "(PowerPC only) If this file is set to a nonzero value, the PowerPC htab (see "
11097 "kernel file I<Documentation/powerpc/ppc_htab.txt>) is pruned each time the "
11098 "system hits the idle loop."
11102 #: build/C/man5/proc.5:2890
11104 msgid "I</proc/sys/kernel/kptr_restrict> (since Linux 2.6.38)"
11107 #. 455cd5ab305c90ffc422dd2e0fb634730942b257
11108 #. commit 411f05f123cbd7f8aa1edcae86970755a6e2a9d9
11109 #. commit 620f6e8e855d6d447688a5f67a4e176944a084e8
11110 #. type: Plain text
11111 #: build/C/man5/proc.5:2915
11113 "The value in this file determines whether kernel addresses are exposed via "
11114 "I</proc> files and other interfaces. A value of 0 in this file imposes no "
11115 "restrictions. If the value is 1, kernel pointers printed using the I<%pK> "
11116 "format specifier will be replaced with zeros unless the user has the "
11117 "B<CAP_SYSLOG> capability. If the value is 2, kernel pointers printed using "
11118 "the I<%pK> format specifier will be replaced with zeros regardless of the "
11119 "user's capabilities. The initial default value for this file was 1, but the "
11120 "default was changed to 0 in Linux 2.6.39. Since Linux 3.4, only users with "
11121 "the B<CAP_SYS_ADMIN> capability can change the value in this file."
11125 #: build/C/man5/proc.5:2915
11127 msgid "I</proc/sys/kernel/l2cr>"
11130 #. type: Plain text
11131 #: build/C/man5/proc.5:2922
11133 "(PowerPC only) This file contains a flag that controls the L2 cache of G3 "
11134 "processor boards. If 0, the cache is disabled. Enabled if nonzero."
11138 #: build/C/man5/proc.5:2922
11140 msgid "I</proc/sys/kernel/modprobe>"
11143 #. type: Plain text
11144 #: build/C/man5/proc.5:2935
11146 "This file contains the path for the kernel module loader. The default value "
11147 "is I</sbin/modprobe>. The file is present only if the kernel is built with "
11148 "the B<CONFIG_MODULES> (B<CONFIG_KMOD> in Linux 2.6.26 and earlier) option "
11149 "enabled. It is described by the Linux kernel source file "
11150 "I<Documentation/kmod.txt> (present only in kernel 2.4 and earlier)."
11154 #: build/C/man5/proc.5:2935
11156 msgid "I</proc/sys/kernel/modules_disabled> (since Linux 2.6.31)"
11159 #. 3d43321b7015387cfebbe26436d0e9d299162ea1
11160 #. From Documentation/sysctl/kernel.txt
11161 #. type: Plain text
11162 #: build/C/man5/proc.5:2947
11164 "A toggle value indicating if modules are allowed to be loaded in an "
11165 "otherwise modular kernel. This toggle defaults to off (0), but can be set "
11166 "true (1). Once true, modules can be neither loaded nor unloaded, and the "
11167 "toggle cannot be set back to false. The file is present only if the kernel "
11168 "is built with the B<CONFIG_MODULES> option enabled."
11172 #: build/C/man5/proc.5:2947
11174 msgid "I</proc/sys/kernel/msgmax>"
11177 #. type: Plain text
11178 #: build/C/man5/proc.5:2952
11180 "This file defines a system-wide limit specifying the maximum number of bytes "
11181 "in a single message written on a System V message queue."
11185 #: build/C/man5/proc.5:2952
11187 msgid "I</proc/sys/kernel/msgmni> (since Linux 2.4)"
11190 #. type: Plain text
11191 #: build/C/man5/proc.5:2956
11193 "This file defines the system-wide limit on the number of message queue "
11198 #: build/C/man5/proc.5:2956
11200 msgid "I</proc/sys/kernel/msgmnb>"
11203 #. type: Plain text
11204 #: build/C/man5/proc.5:2965
11206 "This file defines a system-wide parameter used to initialize the "
11207 "I<msg_qbytes> setting for subsequently created message queues. The "
11208 "I<msg_qbytes> setting specifies the maximum number of bytes that may be "
11209 "written to the message queue."
11213 #: build/C/man5/proc.5:2965
11215 msgid "I</proc/sys/kernel/ostype> and I</proc/sys/kernel/osrelease>"
11218 #. type: Plain text
11219 #: build/C/man5/proc.5:2970
11220 msgid "These files give substrings of I</proc/version>."
11224 #: build/C/man5/proc.5:2970
11226 msgid "I</proc/sys/kernel/overflowgid> and I</proc/sys/kernel/overflowuid>"
11229 #. type: Plain text
11230 #: build/C/man5/proc.5:2976
11232 "These files duplicate the files I</proc/sys/fs/overflowgid> and "
11233 "I</proc/sys/fs/overflowuid>."
11237 #: build/C/man5/proc.5:2976
11239 msgid "I</proc/sys/kernel/panic>"
11242 #. type: Plain text
11243 #: build/C/man5/proc.5:2985
11245 "This file gives read/write access to the kernel variable I<panic_timeout>. "
11246 "If this is zero, the kernel will loop on a panic; if nonzero it indicates "
11247 "that the kernel should autoreboot after this number of seconds. When you "
11248 "use the software watchdog device driver, the recommended setting is 60."
11252 #: build/C/man5/proc.5:2985
11254 msgid "I</proc/sys/kernel/panic_on_oops> (since Linux 2.5.68)"
11257 #. type: Plain text
11258 #: build/C/man5/proc.5:2997
11260 "This file controls the kernel's behavior when an oops or BUG is "
11261 "encountered. If this file contains 0, then the system tries to continue "
11262 "operation. If it contains 1, then the system delays a few seconds (to give "
11263 "klogd time to record the oops output) and then panics. If the "
11264 "I</proc/sys/kernel/panic> file is also nonzero then the machine will be "
11269 #: build/C/man5/proc.5:2997
11271 msgid "I</proc/sys/kernel/pid_max> (since Linux 2.5.34)"
11274 #. Prior to 2.6.10, pid_max could also be raised above 32768 on 32-bit
11275 #. platforms, but this broke /proc/[pid]
11276 #. See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2
11277 #. type: Plain text
11278 #: build/C/man5/proc.5:3013
11280 "This file specifies the value at which PIDs wrap around (i.e., the value in "
11281 "this file is one greater than the maximum PID). The default value for this "
11282 "file, 32768, results in the same range of PIDs as on earlier kernels. On "
11283 "32-bit platforms, 32768 is the maximum value for I<pid_max>. On 64-bit "
11284 "systems, I<pid_max> can be set to any value up to 2^22 (B<PID_MAX_LIMIT>, "
11285 "approximately 4 million)."
11289 #: build/C/man5/proc.5:3013
11291 msgid "I</proc/sys/kernel/powersave-nap> (PowerPC only)"
11294 #. type: Plain text
11295 #: build/C/man5/proc.5:3019
11297 "This file contains a flag. If set, Linux-PPC will use the \"nap\" mode of "
11298 "powersaving, otherwise the \"doze\" mode will be used."
11302 #: build/C/man5/proc.5:3019
11304 msgid "I</proc/sys/kernel/printk>"
11307 #. type: Plain text
11308 #: build/C/man5/proc.5:3045
11310 "The four values in this file are I<console_loglevel>, "
11311 "I<default_message_loglevel>, I<minimum_console_level>, and "
11312 "I<default_console_loglevel>. These values influence I<printk()> behavior "
11313 "when printing or logging error messages. See B<syslog>(2) for more info on "
11314 "the different loglevels. Messages with a higher priority than "
11315 "I<console_loglevel> will be printed to the console. Messages without an "
11316 "explicit priority will be printed with priority I<default_message_level>. "
11317 "I<minimum_console_loglevel> is the minimum (highest) value to which "
11318 "I<console_loglevel> can be set. I<default_console_loglevel> is the default "
11319 "value for I<console_loglevel>."
11323 #: build/C/man5/proc.5:3045
11325 msgid "I</proc/sys/kernel/pty> (since Linux 2.6.4)"
11328 #. type: Plain text
11329 #: build/C/man5/proc.5:3051
11331 "This directory contains two files relating to the number of UNIX 98 "
11332 "pseudoterminals (see B<pts>(4)) on the system."
11336 #: build/C/man5/proc.5:3051
11338 msgid "I</proc/sys/kernel/pty/max>"
11341 #. type: Plain text
11342 #: build/C/man5/proc.5:3054
11343 msgid "This file defines the maximum number of pseudoterminals."
11347 #: build/C/man5/proc.5:3054
11349 msgid "I</proc/sys/kernel/pty/nr>"
11352 #. type: Plain text
11353 #: build/C/man5/proc.5:3058
11354 msgid "This read-only file indicates how many pseudoterminals are currently in use."
11358 #: build/C/man5/proc.5:3058
11360 msgid "I</proc/sys/kernel/random>"
11363 #. type: Plain text
11364 #: build/C/man5/proc.5:3066
11366 "This directory contains various parameters controlling the operation of the "
11367 "file I</dev/random>. See B<random>(4) for further information."
11371 #: build/C/man5/proc.5:3066
11373 msgid "I</proc/sys/kernel/real-root-dev>"
11376 #. type: Plain text
11377 #: build/C/man5/proc.5:3070
11379 "This file is documented in the Linux kernel source file "
11380 "I<Documentation/initrd.txt>."
11384 #: build/C/man5/proc.5:3070
11386 msgid "I</proc/sys/kernel/reboot-cmd> (Sparc only) "
11389 #. type: Plain text
11390 #: build/C/man5/proc.5:3076
11392 "This file seems to be a way to give an argument to the SPARC ROM/Flash boot "
11393 "loader. Maybe to tell it what to do after rebooting?"
11397 #: build/C/man5/proc.5:3076
11399 msgid "I</proc/sys/kernel/rtsig-max>"
11402 #. type: Plain text
11403 #: build/C/man5/proc.5:3083
11405 "(Only in kernels up to and including 2.6.7; see B<setrlimit>(2)) This file "
11406 "can be used to tune the maximum number of POSIX real-time (queued) signals "
11407 "that can be outstanding in the system."
11411 #: build/C/man5/proc.5:3083
11413 msgid "I</proc/sys/kernel/rtsig-nr>"
11416 #. type: Plain text
11417 #: build/C/man5/proc.5:3087
11419 "(Only in kernels up to and including 2.6.7.) This file shows the number "
11420 "POSIX real-time signals currently queued."
11424 #: build/C/man5/proc.5:3087
11426 msgid "I</proc/sys/kernel/sched_rr_timeslice_ms> (since Linux 3.9)"
11429 #. type: Plain text
11430 #: build/C/man5/proc.5:3091
11431 msgid "See B<sched_rr_get_interval>(2)."
11435 #: build/C/man5/proc.5:3091
11437 msgid "I</proc/sys/kernel/sem> (since Linux 2.4)"
11440 #. type: Plain text
11441 #: build/C/man5/proc.5:3095
11443 "This file contains 4 numbers defining limits for System V IPC semaphores. "
11444 "These fields are, in order:"
11448 #: build/C/man5/proc.5:3096
11453 #. type: Plain text
11454 #: build/C/man5/proc.5:3098
11455 msgid "The maximum semaphores per semaphore set."
11459 #: build/C/man5/proc.5:3098
11464 #. type: Plain text
11465 #: build/C/man5/proc.5:3100
11466 msgid "A system-wide limit on the number of semaphores in all semaphore sets."
11470 #: build/C/man5/proc.5:3100
11475 #. type: Plain text
11476 #: build/C/man5/proc.5:3104
11478 "The maximum number of operations that may be specified in a B<semop>(2) "
11483 #: build/C/man5/proc.5:3104
11488 #. type: Plain text
11489 #: build/C/man5/proc.5:3106
11490 msgid "A system-wide limit on the maximum number of semaphore identifiers."
11494 #: build/C/man5/proc.5:3107
11496 msgid "I</proc/sys/kernel/sg-big-buff>"
11499 #. type: Plain text
11500 #: build/C/man5/proc.5:3118
11502 "This file shows the size of the generic SCSI device (sg) buffer. You can't "
11503 "tune it just yet, but you could change it at compile time by editing "
11504 "I<include/scsi/sg.h> and changing the value of B<SG_BIG_BUFF>. However, "
11505 "there shouldn't be any reason to change this value."
11509 #: build/C/man5/proc.5:3118
11511 msgid "I</proc/sys/kernel/shm_rmid_forced> (since Linux 3.1)"
11514 #. commit b34a6b1da371ed8af1221459a18c67970f7e3d53
11515 #. See also Documentation/sysctl/kernel.txt
11516 #. type: Plain text
11517 #: build/C/man5/proc.5:3127
11519 "If this file is set to 1, all System V shared memory segments will be marked "
11520 "for destruction as soon as the number of attached processes falls to zero; "
11521 "in other words, it is no longer possible to create shared memory segments "
11522 "that exist independently of any attached process."
11525 #. type: Plain text
11526 #: build/C/man5/proc.5:3139
11528 "The effect is as though a B<shmctl>(2) B<IPC_RMID> is performed on all "
11529 "existing segments as well as all segments created in the future (until this "
11530 "file is reset to 0). Note that existing segments that are attached to no "
11531 "process will be immediately destroyed when this file is set to 1. Setting "
11532 "this option will also destroy segments that were created, but never "
11533 "attached, upon termination of the process that created the segment with "
11537 #. type: Plain text
11538 #: build/C/man5/proc.5:3147
11540 "Setting this file to 1 provides a way of ensuring that all System V shared "
11541 "memory segments are counted against the resource usage and resource limits "
11542 "(see the description of B<RLIMIT_AS> in B<getrlimit>(2)) of at least one "
11546 #. type: Plain text
11547 #: build/C/man5/proc.5:3154
11549 "Because setting this file to 1 produces behavior that is nonstandard and "
11550 "could also break existing applications, the default value in this file is "
11551 "0. Only set this file to 1 if you have a good understanding of the "
11552 "semantics of the applications using System V shared memory on your system."
11556 #: build/C/man5/proc.5:3154
11558 msgid "I</proc/sys/kernel/shmall>"
11561 #. type: Plain text
11562 #: build/C/man5/proc.5:3159
11564 "This file contains the system-wide limit on the total number of pages of "
11565 "System V shared memory."
11569 #: build/C/man5/proc.5:3159
11571 msgid "I</proc/sys/kernel/shmmax>"
11574 #. type: Plain text
11575 #: build/C/man5/proc.5:3169
11577 "This file can be used to query and set the run-time limit on the maximum "
11578 "(System V IPC) shared memory segment size that can be created. Shared "
11579 "memory segments up to 1GB are now supported in the kernel. This value "
11580 "defaults to B<SHMMAX>."
11584 #: build/C/man5/proc.5:3169
11586 msgid "I</proc/sys/kernel/shmmni> (since Linux 2.4)"
11589 #. type: Plain text
11590 #: build/C/man5/proc.5:3174
11592 "This file specifies the system-wide maximum number of System V shared memory "
11593 "segments that can be created."
11597 #: build/C/man5/proc.5:3174
11599 msgid "I</proc/sys/kernel/sysrq>"
11602 #. type: Plain text
11603 #: build/C/man5/proc.5:3183
11605 "This file controls the functions allowed to be invoked by the SysRq key. By "
11606 "default, the file contains 1 meaning that every possible SysRq request is "
11607 "allowed (in older kernel versions, SysRq was disabled by default, and you "
11608 "were required to specifically enable it at run-time, but this is not the "
11609 "case any more). Possible values in this file are:"
11612 #. type: Plain text
11613 #: build/C/man5/proc.5:3195
11616 " 0 - disable sysrq completely\n"
11617 " 1 - enable all functions of sysrq\n"
11618 " E<gt>1 - bit mask of allowed sysrq functions, as follows:\n"
11619 " 2 - enable control of console logging level\n"
11620 " 4 - enable control of keyboard (SAK, unraw)\n"
11621 " 8 - enable debugging dumps of processes etc.\n"
11622 " 16 - enable sync command\n"
11623 " 32 - enable remount read-only\n"
11624 " 64 - enable signalling of processes (term, kill, oom-kill)\n"
11625 " 128 - allow reboot/poweroff\n"
11626 " 256 - allow nicing of all real-time tasks\n"
11629 #. type: Plain text
11630 #: build/C/man5/proc.5:3201
11632 "This file is present only if the B<CONFIG_MAGIC_SYSRQ> kernel configuration "
11633 "option is enabled. For further details see the Linux kernel source file "
11634 "I<Documentation/sysrq.txt>."
11638 #: build/C/man5/proc.5:3201
11640 msgid "I</proc/sys/kernel/version>"
11643 #. type: Plain text
11644 #: build/C/man5/proc.5:3204
11645 msgid "This file contains a string like:"
11648 #. type: Plain text
11649 #: build/C/man5/proc.5:3206
11651 msgid " #5 Wed Feb 25 21:49:24 MET 1998\n"
11654 #. type: Plain text
11655 #: build/C/man5/proc.5:3210
11657 "The \"#5\" means that this is the fifth kernel built from this source base "
11658 "and the date behind it indicates the time the kernel was built."
11662 #: build/C/man5/proc.5:3210
11664 msgid "I</proc/sys/kernel/threads-max> (since Linux 2.3.11)"
11667 #. type: Plain text
11668 #: build/C/man5/proc.5:3214
11670 "This file specifies the system-wide limit on the number of threads (tasks) "
11671 "that can be created on the system."
11675 #: build/C/man5/proc.5:3214
11677 msgid "I</proc/sys/kernel/zero-paged> (PowerPC only) "
11680 #. type: Plain text
11681 #: build/C/man5/proc.5:3220
11683 "This file contains a flag. When enabled (nonzero), Linux-PPC will pre-zero "
11684 "pages in the idle loop, possibly speeding up get_free_pages."
11688 #: build/C/man5/proc.5:3220
11690 msgid "I</proc/sys/net>"
11693 #. type: Plain text
11694 #: build/C/man5/proc.5:3227
11696 "This directory contains networking stuff. Explanations for some of the "
11697 "files under this directory can be found in B<tcp>(7) and B<ip>(7)."
11701 #: build/C/man5/proc.5:3227
11703 msgid "I</proc/sys/net/core/somaxconn>"
11706 #. type: Plain text
11707 #: build/C/man5/proc.5:3236
11709 "This file defines a ceiling value for the I<backlog> argument of "
11710 "B<listen>(2); see the B<listen>(2) manual page for details."
11714 #: build/C/man5/proc.5:3236
11716 msgid "I</proc/sys/proc>"
11720 #: build/C/man5/proc.5:3239
11722 msgid "I</proc/sys/sunrpc>"
11725 #. type: Plain text
11726 #: build/C/man5/proc.5:3244
11728 "This directory supports Sun remote procedure call for network filesystem "
11729 "(NFS). On some systems, it is not present."
11733 #: build/C/man5/proc.5:3244
11735 msgid "I</proc/sys/vm>"
11738 #. type: Plain text
11739 #: build/C/man5/proc.5:3248
11741 "This directory contains files for memory management tuning, buffer and cache "
11746 #: build/C/man5/proc.5:3248
11748 msgid "I</proc/sys/vm/drop_caches> (since Linux 2.6.16)"
11751 #. type: Plain text
11752 #: build/C/man5/proc.5:3256
11754 "Writing to this file causes the kernel to drop clean caches, dentries, and "
11755 "inodes from memory, causing that memory to become free. This can be useful "
11756 "for memory management testing and performing reproducible filesystem "
11757 "benchmarks. Because writing to this file causes the benefits of caching to "
11758 "be lost, it can degrade overall system performance."
11761 #. type: Plain text
11762 #: build/C/man5/proc.5:3258
11763 msgid "To free pagecache, use:"
11766 #. type: Plain text
11767 #: build/C/man5/proc.5:3260
11769 msgid " echo 1 E<gt> /proc/sys/vm/drop_caches\n"
11772 #. type: Plain text
11773 #: build/C/man5/proc.5:3262
11774 msgid "To free dentries and inodes, use:"
11777 #. type: Plain text
11778 #: build/C/man5/proc.5:3264
11780 msgid " echo 2 E<gt> /proc/sys/vm/drop_caches\n"
11783 #. type: Plain text
11784 #: build/C/man5/proc.5:3266
11785 msgid "To free pagecache, dentries and inodes, use:"
11788 #. type: Plain text
11789 #: build/C/man5/proc.5:3268
11791 msgid " echo 3 E<gt> /proc/sys/vm/drop_caches\n"
11794 #. type: Plain text
11795 #: build/C/man5/proc.5:3274
11797 "Because writing to this file is a nondestructive operation and dirty objects "
11798 "are not freeable, the user should run B<sync>(8) first."
11802 #: build/C/man5/proc.5:3274
11804 msgid "I</proc/sys/vm/legacy_va_layout> (since Linux 2.6.9)"
11807 #. The following is from Documentation/filesystems/proc.txt
11808 #. type: Plain text
11809 #: build/C/man5/proc.5:3279
11811 "If nonzero, this disables the new 32-bit memory-mapping layout; the kernel "
11812 "will use the legacy (2.4) layout for all processes."
11816 #: build/C/man5/proc.5:3279
11818 msgid "I</proc/sys/vm/memory_failure_early_kill> (since Linux 2.6.32)"
11821 #. The following is based on the text in Documentation/sysctl/vm.txt
11822 #. type: Plain text
11823 #: build/C/man5/proc.5:3291
11825 "Control how to kill processes when an uncorrected memory error (typically a "
11826 "2-bit error in a memory module) that cannot be handled by the kernel is "
11827 "detected in the background by hardware. In some cases (like the page still "
11828 "having a valid copy on disk), the kernel will handle the failure "
11829 "transparently without affecting any applications. But if there is no other "
11830 "up-to-date copy of the data, it will kill processes to prevent any data "
11831 "corruptions from propagating."
11834 #. type: Plain text
11835 #: build/C/man5/proc.5:3293
11836 msgid "The file has one of the following values:"
11840 #: build/C/man5/proc.5:3294 build/C/man5/proc.5:3331
11845 #. type: Plain text
11846 #: build/C/man5/proc.5:3299
11848 "Kill all processes that have the corrupted-and-not-reloadable page mapped as "
11849 "soon as the corruption is detected. Note this is not supported for a few "
11850 "types of pages, like kernel internally allocated data or the swap cache, but "
11851 "works for the majority of user pages."
11855 #: build/C/man5/proc.5:3299 build/C/man5/proc.5:3333
11860 #. type: Plain text
11861 #: build/C/man5/proc.5:3302
11863 "Only unmap the corrupted page from all processes and kill only a process "
11864 "that tries to access it."
11867 #. type: Plain text
11868 #: build/C/man5/proc.5:3313
11870 "The kill is performed using a B<SIGBUS> signal with I<si_code> set to "
11871 "B<BUS_MCEERR_AO>. Processes can handle this if they want to; see "
11872 "B<sigaction>(2) for more details."
11875 #. type: Plain text
11876 #: build/C/man5/proc.5:3316
11878 "This feature is active only on architectures/platforms with advanced machine "
11879 "check handling and depends on the hardware capabilities."
11882 #. type: Plain text
11883 #: build/C/man5/proc.5:3323
11885 "Applications can override the I<memory_failure_early_kill> setting "
11886 "individually with the B<prctl>(2) B<PR_MCE_KILL> operation."
11889 #. type: Plain text
11890 #: build/C/man5/proc.5:3326 build/C/man5/proc.5:3339
11891 msgid "Only present if the kernel was configured with B<CONFIG_MEMORY_FAILURE>."
11895 #: build/C/man5/proc.5:3326
11897 msgid "I</proc/sys/vm/memory_failure_recovery> (since Linux 2.6.32)"
11900 #. The following is based on the text in Documentation/sysctl/vm.txt
11901 #. type: Plain text
11902 #: build/C/man5/proc.5:3330
11903 msgid "Enable memory failure recovery (when supported by the platform)"
11906 #. type: Plain text
11907 #: build/C/man5/proc.5:3333
11908 msgid "Attempt recovery."
11911 #. type: Plain text
11912 #: build/C/man5/proc.5:3335
11913 msgid "Always panic on a memory failure."
11917 #: build/C/man5/proc.5:3339
11919 msgid "I</proc/sys/vm/oom_dump_tasks> (since Linux 2.6.25)"
11922 #. The following is from Documentation/sysctl/vm.txt
11923 #. type: Plain text
11924 #: build/C/man5/proc.5:3354
11926 "Enables a system-wide task dump (excluding kernel threads) to be produced "
11927 "when the kernel performs an OOM-killing. The dump includes the following "
11928 "information for each task (thread, process): thread ID, real user ID, thread "
11929 "group ID (process ID), virtual memory size, resident set size, the CPU that "
11930 "the task is scheduled on, oom_adj score (see the description of "
11931 "I</proc/[pid]/oom_adj>), and command name. This is helpful to determine why "
11932 "the OOM-killer was invoked and to identify the rogue task that caused it."
11935 #. type: Plain text
11936 #: build/C/man5/proc.5:3360
11938 "If this contains the value zero, this information is suppressed. On very "
11939 "large systems with thousands of tasks, it may not be feasible to dump the "
11940 "memory state information for each one. Such systems should not be forced to "
11941 "incur a performance penalty in OOM situations when the information may not "
11945 #. type: Plain text
11946 #: build/C/man5/proc.5:3363
11948 "If this is set to nonzero, this information is shown whenever the OOM-killer "
11949 "actually kills a memory-hogging task."
11952 #. type: Plain text
11953 #: build/C/man5/proc.5:3365 build/C/man5/proc.5:3386
11954 msgid "The default value is 0."
11958 #: build/C/man5/proc.5:3365
11960 msgid "I</proc/sys/vm/oom_kill_allocating_task> (since Linux 2.6.24)"
11963 #. The following is from Documentation/sysctl/vm.txt
11964 #. type: Plain text
11965 #: build/C/man5/proc.5:3370
11967 "This enables or disables killing the OOM-triggering task in out-of-memory "
11971 #. type: Plain text
11972 #: build/C/man5/proc.5:3375
11974 "If this is set to zero, the OOM-killer will scan through the entire tasklist "
11975 "and select a task based on heuristics to kill. This normally selects a "
11976 "rogue memory-hogging task that frees up a large amount of memory when "
11980 #. type: Plain text
11981 #: build/C/man5/proc.5:3379
11983 "If this is set to nonzero, the OOM-killer simply kills the task that "
11984 "triggered the out-of-memory condition. This avoids a possibly expensive "
11988 #. type: Plain text
11989 #: build/C/man5/proc.5:3384
11991 "If I</proc/sys/vm/panic_on_oom> is nonzero, it takes precedence over "
11992 "whatever value is used in I</proc/sys/vm/oom_kill_allocating_task>."
11996 #: build/C/man5/proc.5:3386
11998 msgid "I</proc/sys/vm/overcommit_memory>"
12001 #. type: Plain text
12002 #: build/C/man5/proc.5:3390
12003 msgid "This file contains the kernel virtual memory accounting mode. Values are:"
12006 #. type: Plain text
12007 #: build/C/man5/proc.5:3393
12008 msgid "0: heuristic overcommit (this is the default)"
12011 #. type: Plain text
12012 #: build/C/man5/proc.5:3395
12013 msgid "1: always overcommit, never check"
12016 #. type: Plain text
12017 #: build/C/man5/proc.5:3397
12018 msgid "2: always check, never overcommit"
12021 #. type: Plain text
12022 #: build/C/man5/proc.5:3411
12024 "In mode 0, calls of B<mmap>(2) with B<MAP_NORESERVE> are not checked, and "
12025 "the default check is very weak, leading to the risk of getting a process "
12026 "\"OOM-killed\". Under Linux 2.4 any nonzero value implies mode 1. In mode "
12027 "2 (available since Linux 2.6), the total virtual address space on the system "
12028 "is limited to (SS + RAM*(r/100)), where SS is the size of the swap space, "
12029 "and RAM is the size of the physical memory, and r is the contents of the "
12030 "file I</proc/sys/vm/overcommit_ratio>."
12034 #: build/C/man5/proc.5:3411
12036 msgid "I</proc/sys/vm/overcommit_ratio>"
12039 #. type: Plain text
12040 #: build/C/man5/proc.5:3415
12041 msgid "See the description of I</proc/sys/vm/overcommit_memory>."
12045 #: build/C/man5/proc.5:3415
12047 msgid "I</proc/sys/vm/panic_on_oom> (since Linux 2.6.18)"
12050 #. The following is adapted from Documentation/sysctl/vm.txt
12051 #. type: Plain text
12052 #: build/C/man5/proc.5:3420
12053 msgid "This enables or disables a kernel panic in an out-of-memory situation."
12056 #. type: Plain text
12057 #: build/C/man5/proc.5:3425
12059 "If this file is set to the value 0, the kernel's OOM-killer will kill some "
12060 "rogue process. Usually, the OOM-killer is able to kill a rogue process and "
12061 "the system will survive."
12064 #. type: Plain text
12065 #: build/C/man5/proc.5:3440
12067 "If this file is set to the value 1, then the kernel normally panics when "
12068 "out-of-memory happens. However, if a process limits allocations to certain "
12069 "nodes using memory policies (B<mbind>(2) B<MPOL_BIND>) or cpusets "
12070 "(B<cpuset>(7)) and those nodes reach memory exhaustion status, one process "
12071 "may be killed by the OOM-killer. No panic occurs in this case: because "
12072 "other nodes' memory may be free, this means the system as a whole may not "
12073 "have reached an out-of-memory situation yet."
12076 #. type: Plain text
12077 #: build/C/man5/proc.5:3443
12079 "If this file is set to the value 2, the kernel always panics when an "
12080 "out-of-memory condition occurs."
12083 #. type: Plain text
12084 #: build/C/man5/proc.5:3447
12086 "The default value is 0. 1 and 2 are for failover of clustering. Select "
12087 "either according to your policy of failover."
12091 #: build/C/man5/proc.5:3447
12093 msgid "I</proc/sys/vm/swappiness>"
12096 #. The following is from Documentation/sysctl/vm.txt
12097 #. type: Plain text
12098 #: build/C/man5/proc.5:3455
12100 "The value in this file controls how aggressively the kernel will swap memory "
12101 "pages. Higher values increase aggressiveness, lower values decrease "
12102 "aggressiveness. The default value is 60."
12106 #: build/C/man5/proc.5:3455
12108 msgid "I</proc/sysrq-trigger> (since Linux 2.4.21)"
12111 #. type: Plain text
12112 #: build/C/man5/proc.5:3464
12114 "Writing a character to this file triggers the same SysRq function as typing "
12115 "ALT-SysRq-E<lt>characterE<gt> (see the description of "
12116 "I</proc/sys/kernel/sysrq>). This file is normally writable only by "
12117 "I<root>. For further details see the Linux kernel source file "
12118 "I<Documentation/sysrq.txt>."
12122 #: build/C/man5/proc.5:3464
12124 msgid "I</proc/sysvipc>"
12127 #. type: Plain text
12128 #: build/C/man5/proc.5:3477
12130 "Subdirectory containing the pseudo-files I<msg>, I<sem> and I<shm>. These "
12131 "files list the System V Interprocess Communication (IPC) objects "
12132 "(respectively: message queues, semaphores, and shared memory) that "
12133 "currently exist on the system, providing similar information to that "
12134 "available via B<ipcs>(1). These files have headers and are formatted (one "
12135 "IPC object per line) for easy understanding. B<svipc>(7) provides further "
12136 "background on the information shown by these files."
12140 #: build/C/man5/proc.5:3477
12142 msgid "I</proc/tty>"
12145 #. type: Plain text
12146 #: build/C/man5/proc.5:3481
12148 "Subdirectory containing the pseudo-files and subdirectories for tty drivers "
12149 "and line disciplines."
12153 #: build/C/man5/proc.5:3481
12155 msgid "I</proc/uptime>"
12158 #. type: Plain text
12159 #: build/C/man5/proc.5:3485
12161 "This file contains two numbers: the uptime of the system (seconds), and the "
12162 "amount of time spent in idle process (seconds)."
12166 #: build/C/man5/proc.5:3485
12168 msgid "I</proc/version>"
12171 #. type: Plain text
12172 #: build/C/man5/proc.5:3494
12174 "This string identifies the kernel version that is currently running. It "
12175 "includes the contents of I</proc/sys/kernel/ostype>, "
12176 "I</proc/sys/kernel/osrelease> and I</proc/sys/kernel/version>. For example:"
12179 #. type: Plain text
12180 #: build/C/man5/proc.5:3498
12182 msgid "CW<Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994>\n"
12186 #: build/C/man5/proc.5:3509
12188 msgid "I</proc/vmstat> (since Linux 2.6)"
12191 #. type: Plain text
12192 #: build/C/man5/proc.5:3512
12193 msgid "This file displays various virtual memory statistics."
12197 #: build/C/man5/proc.5:3512
12199 msgid "I</proc/zoneinfo> (since Linux 2.6.13)"
12202 #. FIXME more should be said about /proc/zoneinfo
12203 #. type: Plain text
12204 #: build/C/man5/proc.5:3517
12206 "This file display information about memory zones. This is useful for "
12207 "analyzing virtual memory behavior."
12210 #. type: Plain text
12211 #: build/C/man5/proc.5:3524
12213 "Many strings (i.e., the environment and command line) are in the internal "
12214 "format, with subfields terminated by null bytes (\\(aq\\e0\\(aq), so you may "
12215 "find that things are more readable if you use I<od -c> or I<tr \"\\e000\" "
12216 "\"\\en\"> to read them. Alternatively, I<echo \\`cat E<lt>fileE<gt>\\`> "
12220 #. .SH ACKNOWLEDGEMENTS
12221 #. The material on /proc/sys/fs and /proc/sys/kernel is closely based on
12222 #. kernel source documentation files written by Rik van Riel.
12223 #. type: Plain text
12224 #: build/C/man5/proc.5:3530
12226 "This manual page is incomplete, possibly inaccurate, and is the kind of "
12227 "thing that needs to be updated very often."
12230 #. type: Plain text
12231 #: build/C/man5/proc.5:3556
12233 "B<cat>(1), B<dmesg>(1), B<find>(1), B<free>(1), B<ps>(1), B<tr>(1), "
12234 "B<uptime>(1), B<chroot>(2), B<mmap>(2), B<readlink>(2), B<syslog>(2), "
12235 "B<slabinfo>(5), B<hier>(7), B<time>(7), B<arp>(8), B<hdparm>(8), "
12236 "B<ifconfig>(8), B<init>(8), B<lsmod>(8), B<lspci>(8), B<mount>(8), "
12237 "B<netstat>(8), B<procinfo>(8), B<route>(8), B<sysctl>(8)"
12240 #. type: Plain text
12241 #: build/C/man5/proc.5:3561
12243 "The Linux kernel source files: I<Documentation/filesystems/proc.txt> and "
12244 "I<Documentation/sysctl/vm.txt>."
12248 #: build/C/man7/standards.7:26
12254 #: build/C/man7/standards.7:26
12259 #. type: Plain text
12260 #: build/C/man7/standards.7:29
12261 msgid "standards - C and UNIX Standards"
12264 #. type: Plain text
12265 #: build/C/man7/standards.7:33
12267 "The CONFORMING TO section that appears in many manual pages identifies "
12268 "various standards to which the documented interface conforms. The following "
12269 "list briefly describes these standards."
12273 #: build/C/man7/standards.7:33
12278 #. type: Plain text
12279 #: build/C/man7/standards.7:36
12280 msgid "Version 7, the ancestral UNIX from Bell Labs."
12284 #: build/C/man7/standards.7:36
12289 #. type: Plain text
12290 #: build/C/man7/standards.7:45
12292 "This is an implementation standard defined by the 4.2 release of the "
12293 "I<Berkeley Software Distribution>, released by the University of California "
12294 "at Berkeley. This was the first Berkeley release that contained a TCP/IP "
12295 "stack and the sockets API. 4.2BSD was released in 1983."
12298 #. type: Plain text
12299 #: build/C/man7/standards.7:54
12301 "Earlier major BSD releases included I<3BSD> (1980), I<4BSD> (1980), and "
12302 "I<4.1BSD> (1981)."
12306 #: build/C/man7/standards.7:54
12311 #. type: Plain text
12312 #: build/C/man7/standards.7:57
12313 msgid "The successor to 4.2BSD, released in 1986."
12317 #: build/C/man7/standards.7:57
12322 #. type: Plain text
12323 #: build/C/man7/standards.7:61
12325 "The successor to 4.3BSD, released in 1993. This was the last major Berkeley "
12330 #: build/C/man7/standards.7:61
12332 msgid "B<System V>"
12335 #. type: Plain text
12336 #: build/C/man7/standards.7:68
12338 "This is an implementation standard defined by AT&T's milestone 1983 release "
12339 "of its commercial System V (five) release. The previous major AT&T release "
12340 "was I<System III>, released in 1981."
12344 #: build/C/man7/standards.7:68
12346 msgid "B<System V release 2 (SVr2)>"
12349 #. type: Plain text
12350 #: build/C/man7/standards.7:75
12352 "This was the next System V release, made in 1985. The SVr2 was formally "
12353 "described in the I<System V Interface Definition version 1> (I<SVID 1>) "
12354 "published in 1985."
12358 #: build/C/man7/standards.7:75
12360 msgid "B<System V release 3 (SVr3)>"
12363 #. type: Plain text
12364 #: build/C/man7/standards.7:81
12366 "This was the successor to SVr2, released in 1986. This release was formally "
12367 "described in the I<System V Interface Definition version 2> (I<SVID 2>)."
12371 #: build/C/man7/standards.7:81
12373 msgid "B<System V release 4 (SVr4)>"
12376 #. type: Plain text
12377 #: build/C/man7/standards.7:91
12379 "This was the successor to SVr3, released in 1989. This version of System V "
12380 "is described in the \"Programmer's Reference Manual: Operating System API "
12381 "(Intel processors)\" (Prentice-Hall 1992, ISBN 0-13-951294-2) This release "
12382 "was formally described in the I<System V Interface Definition version 3> "
12383 "(I<SVID 3>), and is considered the definitive System V release."
12387 #: build/C/man7/standards.7:91
12392 #. type: Plain text
12393 #: build/C/man7/standards.7:97
12395 "System V Interface Definition version 4, issued in 1995. Available online "
12396 "at E<.UR http://www.sco.com\\:/developers\\:/devspecs/> E<.UE .>"
12400 #: build/C/man7/standards.7:97
12405 #. type: Plain text
12406 #: build/C/man7/standards.7:111
12408 "This was the first C language standard, ratified by ANSI (American National "
12409 "Standards Institute) in 1989 (I<X3.159-1989>). Sometimes this is known as "
12410 "I<ANSI C>, but since C99 is also an ANSI standard, this term is ambiguous. "
12411 "This standard was also ratified by ISO (International Standards "
12412 "Organization) in 1990 (I<ISO/IEC 9899:1990>), and is thus occasionally "
12413 "referred to as I<ISO C90>."
12417 #: build/C/man7/standards.7:111
12422 #. type: Plain text
12423 #: build/C/man7/standards.7:118
12425 "This revision of the C language standard was ratified by ISO in 1999 "
12426 "(I<ISO/IEC 9899:1999>). Available online at E<.UR "
12427 "http://www.open-std.org\\:/jtc1\\:/sc22\\:/wg14\\:/www\\:/standards> E<.UE "
12432 #: build/C/man7/standards.7:118
12434 msgid "B<POSIX.1-1990>"
12437 #. type: Plain text
12438 #: build/C/man7/standards.7:124
12440 "\"Portable Operating System Interface for Computing Environments\". IEEE "
12441 "1003.1-1990 part 1, ratified by ISO in 1990 (I<ISO/IEC 9945-1:1990>). The "
12442 "term \"POSIX\" was coined by Richard Stallman."
12446 #: build/C/man7/standards.7:124
12451 #. type: Plain text
12452 #: build/C/man7/standards.7:129
12454 "IEEE Std 1003.2-1992, describing commands and utilities, ratified by ISO in "
12455 "1993 (I<ISO/IEC 9945-2:1993>)."
12459 #: build/C/man7/standards.7:129
12461 msgid "B<POSIX.1b> (formerly known as I<POSIX.4>)"
12464 #. type: Plain text
12465 #: build/C/man7/standards.7:135
12467 "IEEE Std 1003.1b-1993 describing real-time facilities for portable operating "
12468 "systems, ratified by ISO in 1996 (I<ISO/IEC 9945-1:1996>)."
12472 #: build/C/man7/standards.7:135
12474 msgid "B<POSIX.1c>"
12477 #. type: Plain text
12478 #: build/C/man7/standards.7:138
12479 msgid "IEEE Std 1003.1c-1995 describing the POSIX threads interfaces."
12483 #: build/C/man7/standards.7:138
12485 msgid "B<POSIX.1d>"
12488 #. type: Plain text
12489 #: build/C/man7/standards.7:141
12490 msgid "IEEE Std 1003.1c-1999 describing additional real-time extensions."
12494 #: build/C/man7/standards.7:141
12496 msgid "B<POSIX.1g>"
12499 #. type: Plain text
12500 #: build/C/man7/standards.7:144
12501 msgid "IEEE Std 1003.1g-2000 describing networking APIs (including sockets)."
12505 #: build/C/man7/standards.7:144
12507 msgid "B<POSIX.1j>"
12510 #. type: Plain text
12511 #: build/C/man7/standards.7:147
12512 msgid "IEEE Std 1003.1j-2000 describing advanced real-time extensions."
12516 #: build/C/man7/standards.7:147
12518 msgid "B<POSIX.1-1996>"
12521 #. type: Plain text
12522 #: build/C/man7/standards.7:150
12523 msgid "A 1996 revision of POSIX.1 which incorporated POSIX.1b and POSIX.1c."
12527 #: build/C/man7/standards.7:150
12532 #. type: Plain text
12533 #: build/C/man7/standards.7:157
12535 "Released in 1989, this was the first significant release of the I<X/Open "
12536 "Portability Guide>, produced by the X/Open Company, a multivendor "
12537 "consortium. This multivolume guide was based on the POSIX standards."
12541 #: build/C/man7/standards.7:157
12546 #. type: Plain text
12547 #: build/C/man7/standards.7:160
12548 msgid "A revision of the X/Open Portability Guide, released in 1992."
12552 #: build/C/man7/standards.7:160
12557 #. type: Plain text
12558 #: build/C/man7/standards.7:167
12560 "A 1994 revision of XPG4. This is also referred to as I<Spec 1170>, where "
12561 "1170 referred to the number of interfaces defined by this standard."
12565 #: build/C/man7/standards.7:167
12567 msgid "B<SUS (SUSv1)>"
12570 #. type: Plain text
12571 #: build/C/man7/standards.7:175
12573 "Single UNIX Specification. This was a repackaging of XPG4v2 and other "
12574 "X/Open standards (X/Open Curses Issue 4 version 2, X/Open Networking Service "
12575 "(XNS) Issue 4). Systems conforming to this standard can be branded I<UNIX "
12580 #: build/C/man7/standards.7:175
12585 #. type: Plain text
12586 #: build/C/man7/standards.7:186
12588 "Single UNIX Specification version 2. Sometimes also referred to as "
12589 "I<XPG5>. This standard appeared in 1997. Systems conforming to this "
12590 "standard can be branded I<UNIX 98>. See also E<.UR "
12591 "http://www.UNIX-systems.org\\:/version2/> E<.UE .)>"
12595 #: build/C/man7/standards.7:186
12597 msgid "B<POSIX.1-2001, SUSv3>"
12600 #. type: Plain text
12601 #: build/C/man7/standards.7:198
12603 "This was a 2001 revision and consolidation of the POSIX.1, POSIX.2, and SUS "
12604 "standards into a single document, conducted under the auspices of the Austin "
12605 "group E<.UR http://www.opengroup.org\\:/austin/> E<.UE .> The standard is "
12606 "available online at E<.UR http://www.unix-systems.org\\:/version3/> E<.UE ,> "
12607 "and the interfaces that it describes are also available in the Linux manual "
12608 "pages package under sections 1p and 3p (e.g., \"man 3p open\")."
12611 #. type: Plain text
12612 #: build/C/man7/standards.7:211
12614 "The standard defines two levels of conformance: I<POSIX conformance>, which "
12615 "is a baseline set of interfaces required of a conforming system; and I<XSI "
12616 "Conformance>, which additionally mandates a set of interfaces (the \"XSI "
12617 "extension\") which are only optional for POSIX conformance. XSI-conformant "
12618 "systems can be branded I<UNIX 03>. (XSI conformance constitutes the "
12619 "I<Single UNIX Specification version 3> (I<SUSv3>).)"
12622 #. type: Plain text
12623 #: build/C/man7/standards.7:213
12624 msgid "The POSIX.1-2001 document is broken into four parts:"
12627 #. type: Plain text
12628 #: build/C/man7/standards.7:216
12629 msgid "B<XBD>: Definitions, terms and concepts, header file specifications."
12632 #. type: Plain text
12633 #: build/C/man7/standards.7:220
12635 "B<XSH>: Specifications of functions (i.e., system calls and library "
12636 "functions in actual implementations)."
12639 #. type: Plain text
12640 #: build/C/man7/standards.7:224
12642 "B<XCU>: Specifications of commands and utilities (i.e., the area formerly "
12643 "described by POSIX.2)."
12646 #. type: Plain text
12647 #: build/C/man7/standards.7:227
12648 msgid "B<XRAT>: Informative text on the other parts of the standard."
12651 #. type: Plain text
12652 #: build/C/man7/standards.7:231
12654 "POSIX.1-2001 is aligned with C99, so that all of the library functions "
12655 "standardized in C99 are also standardized in POSIX.1-2001."
12658 #. type: Plain text
12659 #: build/C/man7/standards.7:238
12661 "Two Technical Corrigenda (minor fixes and improvements) of the original "
12662 "2001 standard have occurred: TC1 in 2003 (referred to as I<POSIX.1-2003>), "
12663 "and TC2 in 2004 (referred to as I<POSIX.1-2004>)."
12667 #: build/C/man7/standards.7:238
12669 msgid "B<POSIX.1-2008, SUSv4>"
12672 #. type: Plain text
12673 #: build/C/man7/standards.7:242
12674 msgid "Work on the next revision of POSIX.1/SUS was completed and ratified in 2008."
12677 #. type: Plain text
12678 #: build/C/man7/standards.7:251
12680 "The changes in this revision are not as large as those that occurred for "
12681 "POSIX.1-2001/SUSv3, but a number of new interfaces are added and various "
12682 "details of existing specifications are modified. Many of the interfaces "
12683 "that were optional in POSIX.1-2001 become mandatory in the 2008 revision of "
12684 "the standard. A few interfaces that are present in POSIX.1-2001 are marked "
12685 "as obsolete in POSIX.1-2008, or removed from the standard altogether."
12688 #. type: Plain text
12689 #: build/C/man7/standards.7:259
12691 "The revised standard is broken into the same four parts as POSIX.1-2001, and "
12692 "again there are two levels of conformance: the baseline I<POSIX "
12693 "Conformance>, and I<XSI Conformance>, which mandates an additional set of "
12694 "interfaces beyond those in the base specification."
12697 #. type: Plain text
12698 #: build/C/man7/standards.7:263
12700 "In general, where the CONFORMING TO section of a manual page lists "
12701 "POSIX.1-2001, it can be assumed that the interface also conforms to "
12702 "POSIX.1-2008, unless otherwise noted."
12705 #. type: Plain text
12706 #: build/C/man7/standards.7:268
12708 "Technical Corrigenda 1 (minor fixes and improvements) of this standard was "
12709 "released in 2013 (referred to as I<POSIX.1-2013>)."
12712 #. type: Plain text
12713 #: build/C/man7/standards.7:272
12715 "Further information can be found on the Austin group web site, E<.UR "
12716 "http://www.opengroup.org\\:/austin/> E<.UE .>"
12719 #. type: Plain text
12720 #: build/C/man7/standards.7:276
12721 msgid "B<feature_test_macros>(7), B<libc>(7), B<posixoptions>(7)"
12725 #: build/C/man7/suffixes.7:40
12731 #: build/C/man7/suffixes.7:40
12736 #. type: Plain text
12737 #: build/C/man7/suffixes.7:43
12738 msgid "suffixes - list of file suffixes"
12741 #. type: Plain text
12742 #: build/C/man7/suffixes.7:51
12744 "It is customary to indicate the contents of a file with the file suffix, "
12745 "which consists of a period, followed by one or more letters. Many standard "
12746 "utilities, such as compilers, use this to recognize the type of file they "
12747 "are dealing with. The B<make>(1) utility is driven by rules based on file "
12751 #. type: Plain text
12752 #: build/C/man7/suffixes.7:54
12754 "Following is a list of suffixes which are likely to be found on a Linux "
12759 #: build/C/man7/suffixes.7:59
12761 msgid "Suffix\tFile type\n"
12765 #: build/C/man7/suffixes.7:60
12767 msgid " ,v\tfiles for RCS (Revision Control System)\n"
12771 #: build/C/man7/suffixes.7:61
12773 msgid " -\tbackup file\n"
12777 #: build/C/man7/suffixes.7:62
12779 msgid " .C\tC++ source code, equivalent to I<.cc>\n"
12783 #: build/C/man7/suffixes.7:63
12785 msgid " .F\tFortran source with B<cpp>(1) directives\n"
12789 #: build/C/man7/suffixes.7:64
12791 msgid "\tor file compressed using freeze\n"
12795 #: build/C/man7/suffixes.7:65
12797 msgid " .S\tassembler source with B<cpp>(1) directives\n"
12801 #: build/C/man7/suffixes.7:66
12803 msgid " .Y\tfile compressed using yabba\n"
12807 #: build/C/man7/suffixes.7:67
12809 msgid " .Z\tfile compressed using B<compress>(1)\n"
12813 #: build/C/man7/suffixes.7:68
12815 msgid " .[0-9]+gf\tTeX generic font files\n"
12819 #: build/C/man7/suffixes.7:69
12821 msgid " .[0-9]+pk\tTeX packed font files\n"
12825 #: build/C/man7/suffixes.7:70
12827 msgid " .[1-9]\tmanual page for the corresponding section\n"
12831 #: build/C/man7/suffixes.7:71
12833 msgid " .[1-9][a-z]\tmanual page for section plus subsection\n"
12837 #: build/C/man7/suffixes.7:72
12839 msgid " .a\tstatic object code library\n"
12843 #: build/C/man7/suffixes.7:73
12845 msgid " .ad\tX application default resource file\n"
12849 #: build/C/man7/suffixes.7:74
12851 msgid " .ada\tAda source (may be body, spec, or combination)\n"
12855 #: build/C/man7/suffixes.7:75
12857 msgid " .adb\tAda body source\n"
12861 #: build/C/man7/suffixes.7:76
12863 msgid " .ads\tAda spec source\n"
12867 #: build/C/man7/suffixes.7:77
12869 msgid " .afm\tPostScript font metrics\n"
12873 #: build/C/man7/suffixes.7:78
12875 msgid " .al\tPerl autoload file\n"
12879 #: build/C/man7/suffixes.7:79
12881 msgid " .am\tB<automake>(1) input file\n"
12885 #: build/C/man7/suffixes.7:80
12887 msgid " .arc\tB<arc>(1) archive\n"
12891 #: build/C/man7/suffixes.7:81
12893 msgid " .arj\tB<arj>(1) archive\n"
12897 #: build/C/man7/suffixes.7:82
12899 msgid " .asc\tPGP ASCII-armored data\n"
12903 #: build/C/man7/suffixes.7:83
12905 msgid " .asm\t(GNU) assembler source file\n"
12909 #: build/C/man7/suffixes.7:84
12911 msgid " .au\tAudio sound file\n"
12915 #: build/C/man7/suffixes.7:85
12917 msgid " .aux\tLaTeX auxiliary file\n"
12921 #: build/C/man7/suffixes.7:86
12923 msgid " .avi\t(msvideo) movie\n"
12927 #: build/C/man7/suffixes.7:87
12929 msgid " .awk\tAWK language program\n"
12933 #: build/C/man7/suffixes.7:88
12935 msgid " .b\tLILO boot loader image\n"
12939 #: build/C/man7/suffixes.7:89
12941 msgid " .bak\tbackup file\n"
12945 #: build/C/man7/suffixes.7:90
12947 msgid " .bash\tB<bash>(1) shell script\n"
12951 #: build/C/man7/suffixes.7:91
12953 msgid " .bb\tbasic block list data produced by\n"
12957 #: build/C/man7/suffixes.7:92 build/C/man7/suffixes.7:94
12959 msgid "\tgcc -ftest-coverage\n"
12963 #: build/C/man7/suffixes.7:93
12965 msgid " .bbg\tbasic block graph data produced by\n"
12969 #: build/C/man7/suffixes.7:95
12971 msgid " .bbl\tBibTeX output\n"
12975 #: build/C/man7/suffixes.7:96
12977 msgid " .bdf\tX font file\n"
12981 #: build/C/man7/suffixes.7:97
12983 msgid " .bib\tTeX bibliographic database, BibTeX input\n"
12987 #: build/C/man7/suffixes.7:98
12989 msgid " .bm\tbitmap source\n"
12993 #: build/C/man7/suffixes.7:99
12995 msgid " .bmp\tbitmap\n"
12999 #: build/C/man7/suffixes.7:100
13001 msgid " .bz2\tfile compressed using B<bzip2>(1)\n"
13005 #: build/C/man7/suffixes.7:101
13007 msgid " .c\tC source\n"
13011 #: build/C/man7/suffixes.7:102
13013 msgid " .cat\tmessage catalog files\n"
13017 #: build/C/man7/suffixes.7:103
13019 msgid " .cc\tC++ source\n"
13023 #: build/C/man7/suffixes.7:104
13025 msgid " .cf\tconfiguration file\n"
13029 #: build/C/man7/suffixes.7:105
13031 msgid " .cfg\tconfiguration file\n"
13035 #: build/C/man7/suffixes.7:106
13037 msgid " .cgi\tWWW content generating script or program\n"
13041 #: build/C/man7/suffixes.7:107
13043 msgid " .cls\tLaTeX Class definition\n"
13047 #: build/C/man7/suffixes.7:108
13049 msgid " .class\tJava compiled byte-code\n"
13053 #: build/C/man7/suffixes.7:109
13055 msgid " .conf\tconfiguration file\n"
13059 #: build/C/man7/suffixes.7:110
13061 msgid " .config\tconfiguration file\n"
13065 #: build/C/man7/suffixes.7:111
13067 msgid " .cpp\tequivalent to I<.cc>\n"
13071 #: build/C/man7/suffixes.7:112
13073 msgid " .csh\tB<csh>(1) shell script\n"
13077 #: build/C/man7/suffixes.7:113
13079 msgid " .cxx\tequivalent to I<.cc>\n"
13083 #: build/C/man7/suffixes.7:114
13085 msgid " .dat\tdata file\n"
13089 #: build/C/man7/suffixes.7:115
13091 msgid " .deb\tDebian software package\n"
13095 #: build/C/man7/suffixes.7:116
13097 msgid " .def\tModula-2 source for definition modules\n"
13101 #: build/C/man7/suffixes.7:117
13103 msgid " .def\tother definition files\n"
13107 #: build/C/man7/suffixes.7:118
13109 msgid " .desc\tinitial part of mail message unpacked with\n"
13113 #: build/C/man7/suffixes.7:119
13115 msgid "\tB<munpack>(1)\n"
13119 #: build/C/man7/suffixes.7:120
13121 msgid " .diff\tfile differences (B<diff>(1) command output)\n"
13125 #: build/C/man7/suffixes.7:121
13127 msgid " .dir\tdbm data base directory file\n"
13131 #: build/C/man7/suffixes.7:122
13133 msgid " .doc\tdocumentation file\n"
13137 #: build/C/man7/suffixes.7:123
13139 msgid " .dsc\tDebian Source Control (source package)\n"
13143 #: build/C/man7/suffixes.7:124
13145 msgid " .dtx\tLaTeX package source file\n"
13149 #: build/C/man7/suffixes.7:125
13151 msgid " .dvi\tTeX's device independent output\n"
13155 #: build/C/man7/suffixes.7:126
13157 msgid " .el\tEmacs-Lisp source\n"
13161 #: build/C/man7/suffixes.7:127
13163 msgid " .elc\tcompiled Emacs-Lisp source\n"
13167 #: build/C/man7/suffixes.7:128
13169 msgid " .eps\tencapsulated PostScript\n"
13173 #: build/C/man7/suffixes.7:129
13175 msgid " .exp\tExpect source code\n"
13179 #: build/C/man7/suffixes.7:130
13181 msgid " .f\tFortran source\n"
13185 #: build/C/man7/suffixes.7:131
13187 msgid " .f77\tFortran 77 source\n"
13191 #: build/C/man7/suffixes.7:132
13193 msgid " .f90\tFortran 90 source\n"
13197 #: build/C/man7/suffixes.7:133
13199 msgid " .fas\tprecompiled Common-Lisp\n"
13203 #: build/C/man7/suffixes.7:134
13205 msgid " .fi\tFortran include files\n"
13209 #: build/C/man7/suffixes.7:135
13211 msgid " .fig\tFIG image file (used by B<xfig>(1))\n"
13215 #: build/C/man7/suffixes.7:136
13217 msgid " .fmt\tTeX format file\n"
13221 #: build/C/man7/suffixes.7:137
13223 msgid " .gif\tCompuserve Graphics Image File format\n"
13227 #: build/C/man7/suffixes.7:138
13229 msgid " .gmo\tGNU format message catalog\n"
13233 #: build/C/man7/suffixes.7:139
13235 msgid " .gsf\tGhostscript fonts\n"
13239 #: build/C/man7/suffixes.7:140
13241 msgid " .gz\tfile compressed using B<gzip>(1)\n"
13245 #: build/C/man7/suffixes.7:141
13247 msgid " .h\tC or C++ header files\n"
13251 #: build/C/man7/suffixes.7:142
13253 msgid " .help\thelp file\n"
13257 #: build/C/man7/suffixes.7:143
13259 msgid " .hf\tequivalent to I<.help>\n"
13263 #: build/C/man7/suffixes.7:144
13265 msgid " .hlp\tequivalent to I<.help>\n"
13269 #: build/C/man7/suffixes.7:145
13271 msgid " .htm\tpoor man's I<.html>\n"
13275 #: build/C/man7/suffixes.7:146
13277 msgid " .html\tHTML document used with the World Wide Web\n"
13281 #: build/C/man7/suffixes.7:147
13283 msgid " .hqx\t7-bit encoded Macintosh file\n"
13287 #: build/C/man7/suffixes.7:148
13289 msgid " .i\tC source after preprocessing\n"
13293 #: build/C/man7/suffixes.7:149
13295 msgid " .icon\tbitmap source\n"
13299 #: build/C/man7/suffixes.7:150
13301 msgid " .idx\treference or datum-index file for hypertext\n"
13305 #: build/C/man7/suffixes.7:151
13307 msgid "\tor database system\n"
13311 #: build/C/man7/suffixes.7:152
13313 msgid " .image\tbitmap source\n"
13317 #: build/C/man7/suffixes.7:153
13319 msgid " .in\tconfiguration template, especially for GNU Autoconf\n"
13323 #: build/C/man7/suffixes.7:154
13325 msgid " .info\tfiles for the Emacs info browser\n"
13329 #: build/C/man7/suffixes.7:155
13331 msgid " .info-[0-9]+\tsplit info files\n"
13335 #: build/C/man7/suffixes.7:156
13337 msgid " .ins\tLaTeX package install file for docstrip\n"
13341 #: build/C/man7/suffixes.7:157
13343 msgid " .itcl\titcl source code;\n"
13347 #: build/C/man7/suffixes.7:158
13349 msgid "\titcl ([incr Tcl]) is an OO extension of tcl\n"
13353 #: build/C/man7/suffixes.7:159
13355 msgid " .java\ta Java source file\n"
13359 #: build/C/man7/suffixes.7:160
13361 msgid " .jpeg\tJoint Photographic Experts Group format\n"
13365 #: build/C/man7/suffixes.7:161
13367 msgid " .jpg\tpoor man's I<.jpeg>\n"
13371 #: build/C/man7/suffixes.7:162
13373 msgid " .kmap\tB<lyx>(1) keymap\n"
13377 #: build/C/man7/suffixes.7:163
13379 msgid " .l\tequivalent to I<.lex> or I<.lisp>\n"
13383 #: build/C/man7/suffixes.7:164
13385 msgid " .lex\tB<lex>(1) or B<flex>(1) files\n"
13389 #: build/C/man7/suffixes.7:165
13391 msgid " .lha\tlharc archive\n"
13395 #: build/C/man7/suffixes.7:166
13397 msgid " .lib\tCommon-Lisp library\n"
13401 #: build/C/man7/suffixes.7:167
13403 msgid " .lisp\tLisp source\n"
13407 #: build/C/man7/suffixes.7:168
13409 msgid " .ln\tfiles for use with B<lint>(1)\n"
13413 #: build/C/man7/suffixes.7:169
13415 msgid " .log\tlog file, in particular produced by TeX\n"
13419 #: build/C/man7/suffixes.7:170
13421 msgid " .lsm\tLinux Software Map entry\n"
13425 #: build/C/man7/suffixes.7:171
13427 msgid " .lsp\tCommon-Lisp source\n"
13431 #: build/C/man7/suffixes.7:172
13433 msgid " .lzh\tlharc archive\n"
13437 #: build/C/man7/suffixes.7:173
13439 msgid " .m\tObjective-C source code\n"
13443 #: build/C/man7/suffixes.7:174
13445 msgid " .m4\tB<m4>(1) source\n"
13449 #: build/C/man7/suffixes.7:175
13451 msgid " .mac\tmacro files for various programs\n"
13455 #: build/C/man7/suffixes.7:176
13457 msgid " .man\tmanual page (usually source rather than formatted)\n"
13461 #: build/C/man7/suffixes.7:177
13463 msgid " .map\tmap files for various programs\n"
13467 #: build/C/man7/suffixes.7:178
13469 msgid " .me\tNroff source using the me macro package\n"
13473 #: build/C/man7/suffixes.7:179
13475 msgid " .mf\tMetafont (font generator for TeX) source\n"
13479 #: build/C/man7/suffixes.7:180
13481 msgid " .mgp\tMagicPoint file\n"
13485 #: build/C/man7/suffixes.7:181
13487 msgid " .mm\tsources for B<groff>(1) in mm - format\n"
13491 #: build/C/man7/suffixes.7:182
13493 msgid " .mo\tMessage catalog binary file\n"
13497 #: build/C/man7/suffixes.7:183
13499 msgid " .mod\tModula-2 source for implementation modules\n"
13503 #: build/C/man7/suffixes.7:184
13505 msgid " .mov\t(quicktime) movie\n"
13509 #: build/C/man7/suffixes.7:185
13511 msgid " .mp\tMetapost source\n"
13515 #: build/C/man7/suffixes.7:186
13517 msgid " .mp2\tMPEG Layer 2 (audio) file\n"
13521 #: build/C/man7/suffixes.7:187
13523 msgid " .mp3\tMPEG Layer 3 (audio) file\n"
13527 #: build/C/man7/suffixes.7:188
13529 msgid " .mpeg\tmovie file\n"
13533 #: build/C/man7/suffixes.7:189
13535 msgid " .o\tobject file\n"
13539 #: build/C/man7/suffixes.7:190
13541 msgid " .old\told or backup file\n"
13545 #: build/C/man7/suffixes.7:191
13547 msgid " .orig\tbackup (original) version of a file, from B<patch>(1)\n"
13551 #: build/C/man7/suffixes.7:192
13553 msgid " .out\toutput file, often executable program (a.out)\n"
13557 #: build/C/man7/suffixes.7:193
13559 msgid " .p\tPascal source\n"
13563 #: build/C/man7/suffixes.7:194
13565 msgid " .pag\tdbm data base data file\n"
13569 #: build/C/man7/suffixes.7:195
13571 msgid " .patch\tfile differences for B<patch>(1)\n"
13575 #: build/C/man7/suffixes.7:196
13577 msgid " .pbm\tportable bitmap format\n"
13581 #: build/C/man7/suffixes.7:197
13583 msgid " .pcf\tX11 font files\n"
13587 #: build/C/man7/suffixes.7:198
13589 msgid " .pdf\tAdobe Portable Data Format\n"
13593 #: build/C/man7/suffixes.7:199
13595 msgid "\t(use Acrobat/B<acroread> or B<xpdf>)\n"
13599 #: build/C/man7/suffixes.7:200
13601 msgid " .perl\tPerl source (see .ph, .pl and .pm)\n"
13605 #: build/C/man7/suffixes.7:201
13607 msgid " .pfa\tPostScript font definition files, ASCII format\n"
13611 #: build/C/man7/suffixes.7:202
13613 msgid " .pfb\tPostScript font definition files, binary format\n"
13617 #: build/C/man7/suffixes.7:203
13619 msgid " .pgm\tportable greymap format\n"
13623 #: build/C/man7/suffixes.7:204
13625 msgid " .pgp\tPGP binary data\n"
13629 #: build/C/man7/suffixes.7:205
13631 msgid " .ph\tPerl header file\n"
13635 #: build/C/man7/suffixes.7:206
13637 msgid " .php\tPHP program file\n"
13641 #: build/C/man7/suffixes.7:207
13643 msgid " .php3\tPHP3 program file\n"
13647 #: build/C/man7/suffixes.7:208
13649 msgid " .pid\tFile to store daemon PID (e.g., crond.pid)\n"
13653 #: build/C/man7/suffixes.7:209
13655 msgid " .pl\tTeX property list file or Perl library file\n"
13659 #: build/C/man7/suffixes.7:210
13661 msgid " .pm\tPerl module\n"
13665 #: build/C/man7/suffixes.7:211
13667 msgid " .png\tPortable Network Graphics file\n"
13671 #: build/C/man7/suffixes.7:212
13673 msgid " .po\tMessage catalog source\n"
13677 #: build/C/man7/suffixes.7:213
13679 msgid " .pod\tB<perldoc>(1) file\n"
13683 #: build/C/man7/suffixes.7:214
13685 msgid " .ppm\tportable pixmap format\n"
13689 #: build/C/man7/suffixes.7:215
13691 msgid " .pr\tbitmap source\n"
13695 #: build/C/man7/suffixes.7:216
13697 msgid " .ps\tPostScript file\n"
13701 #: build/C/man7/suffixes.7:217
13703 msgid " .py\tPython source\n"
13707 #: build/C/man7/suffixes.7:218
13709 msgid " .pyc\tcompiled python\n"
13713 #: build/C/man7/suffixes.7:219
13715 msgid " .qt\tquicktime movie\n"
13719 #: build/C/man7/suffixes.7:220
13721 msgid " .r\tRATFOR source (obsolete)\n"
13725 #: build/C/man7/suffixes.7:221
13727 msgid " .rej\tpatches that B<patch>(1) couldn't apply\n"
13731 #: build/C/man7/suffixes.7:222
13733 msgid " .rpm\tRPM software package\n"
13737 #: build/C/man7/suffixes.7:223
13739 msgid " .rtf\tRich Text Format file\n"
13743 #: build/C/man7/suffixes.7:224
13745 msgid " .rules\trules for something\n"
13749 #: build/C/man7/suffixes.7:225
13751 msgid " .s\tassembler source\n"
13755 #: build/C/man7/suffixes.7:226
13757 msgid " .sa\tstub libraries for a.out shared libraries\n"
13761 #: build/C/man7/suffixes.7:227
13763 msgid " .sc\tB<sc>(1) spreadsheet commands\n"
13767 #: build/C/man7/suffixes.7:228
13769 msgid " .scm\tScheme source code\n"
13773 #: build/C/man7/suffixes.7:229
13775 msgid " .sed\tsed source file\n"
13779 #: build/C/man7/suffixes.7:230
13781 msgid " .sgml\tSGML source file\n"
13785 #: build/C/man7/suffixes.7:231
13787 msgid " .sh\tB<sh>(1) scripts\n"
13791 #: build/C/man7/suffixes.7:232
13793 msgid " .shar\tarchive created by the B<shar>(1) utility\n"
13797 #: build/C/man7/suffixes.7:233
13799 msgid " .so\tShared library or dynamically loadable object\n"
13803 #: build/C/man7/suffixes.7:234
13805 msgid " .sql\tSQL source\n"
13809 #: build/C/man7/suffixes.7:235
13811 msgid " .sqml\tSQML schema or query program\n"
13815 #: build/C/man7/suffixes.7:236
13817 msgid " .sty\tLaTeX style files\n"
13821 #: build/C/man7/suffixes.7:237
13823 msgid " .sym\tModula-2 compiled definition modules\n"
13827 #: build/C/man7/suffixes.7:238
13829 msgid " .tar\tarchive created by the B<tar>(1) utility\n"
13833 #: build/C/man7/suffixes.7:239
13835 msgid " .tar.Z\ttar(1) archive compressed with B<compress>(1)\n"
13839 #: build/C/man7/suffixes.7:240
13841 msgid " .tar.bz2\ttar(1) archive compressed with B<bzip2>(1)\n"
13845 #: build/C/man7/suffixes.7:241
13847 msgid " .tar.gz\ttar(1) archive compressed with B<gzip>(1)\n"
13851 #: build/C/man7/suffixes.7:242
13853 msgid " .taz\ttar(1) archive compressed with B<compress>(1)\n"
13857 #: build/C/man7/suffixes.7:243
13859 msgid " .tcl\ttcl source code\n"
13863 #: build/C/man7/suffixes.7:244
13865 msgid " .tex\tTeX or LaTeX source\n"
13869 #: build/C/man7/suffixes.7:245
13871 msgid " .texi\tequivalent to I<.texinfo>\n"
13875 #: build/C/man7/suffixes.7:246
13877 msgid " .texinfo\tTexinfo documentation source\n"
13881 #: build/C/man7/suffixes.7:247
13883 msgid " .text\ttext file\n"
13887 #: build/C/man7/suffixes.7:248
13889 msgid " .tfm\tTeX font metric file\n"
13893 #: build/C/man7/suffixes.7:249
13895 msgid " .tgz\ttar archive compressed with B<gzip>(1)\n"
13899 #: build/C/man7/suffixes.7:250
13901 msgid " .tif\tpoor man's I<.tiff>\n"
13905 #: build/C/man7/suffixes.7:251
13907 msgid " .tiff\tTagged Image File Format\n"
13911 #: build/C/man7/suffixes.7:252
13913 msgid " .tk\ttcl/tk script\n"
13917 #: build/C/man7/suffixes.7:253
13919 msgid " .tmp\ttemporary file\n"
13923 #: build/C/man7/suffixes.7:254
13925 msgid " .tmpl\ttemplate files\n"
13929 #: build/C/man7/suffixes.7:255
13931 msgid " .txt\tequivalent to I<.text>\n"
13935 #: build/C/man7/suffixes.7:256
13937 msgid " .uu\tequivalent to I<.uue>\n"
13941 #: build/C/man7/suffixes.7:257
13943 msgid " .uue\tbinary file encoded with B<uuencode>(1)\n"
13947 #: build/C/man7/suffixes.7:258
13949 msgid " .vf\tTeX virtual font file\n"
13953 #: build/C/man7/suffixes.7:259
13955 msgid " .vpl\tTeX virtual property list file\n"
13959 #: build/C/man7/suffixes.7:260
13961 msgid " .w\tSilvio Levi's CWEB\n"
13965 #: build/C/man7/suffixes.7:261
13967 msgid " .wav\twave sound file\n"
13971 #: build/C/man7/suffixes.7:262
13973 msgid " .web\tDonald Knuth's WEB\n"
13977 #: build/C/man7/suffixes.7:263
13979 msgid " .wml\tSource file for Web Meta Language\n"
13983 #: build/C/man7/suffixes.7:264
13985 msgid " .xbm\tX11 bitmap source\n"
13989 #: build/C/man7/suffixes.7:265
13991 msgid " .xcf\tGIMP graphic\n"
13995 #: build/C/man7/suffixes.7:266
13997 msgid " .xml\teXtended Markup Language file\n"
14001 #: build/C/man7/suffixes.7:267
14003 msgid " .xpm\tX11 pixmap source\n"
14007 #: build/C/man7/suffixes.7:268
14009 msgid " .xs\tPerl xsub file produced by h2xs\n"
14013 #: build/C/man7/suffixes.7:269
14015 msgid " .xsl\tXSL stylesheet\n"
14019 #: build/C/man7/suffixes.7:270
14021 msgid " .y\tB<yacc>(1) or B<bison>(1) (parser generator) files\n"
14025 #: build/C/man7/suffixes.7:271
14027 msgid " .z\tFile compressed using B<pack>(1) (or an old B<gzip>(1))\n"
14031 #: build/C/man7/suffixes.7:272
14033 msgid " .zip\tB<zip>(1) archive\n"
14037 #: build/C/man7/suffixes.7:273
14039 msgid " .zoo\tB<zoo>(1) archive\n"
14043 #: build/C/man7/suffixes.7:274
14045 msgid " ~\tEmacs or B<patch>(1) backup file\n"
14049 #: build/C/man7/suffixes.7:275
14051 msgid " rc\tstartup (`run control') file, e.g., I<.newsrc>\n"
14054 #. type: Plain text
14055 #: build/C/man7/suffixes.7:279
14056 msgid "General UNIX conventions."
14059 #. type: Plain text
14060 #: build/C/man7/suffixes.7:281
14061 msgid "This list is not exhaustive."
14064 #. type: Plain text
14065 #: build/C/man7/suffixes.7:284
14066 msgid "B<file>(1), B<make>(1)"
14070 #: build/C/man3/undocumented.3:29
14072 msgid "UNDOCUMENTED"
14076 #: build/C/man3/undocumented.3:29
14081 #. type: Plain text
14082 #: build/C/man3/undocumented.3:32
14083 msgid "none - undocumented library functions"
14086 #. type: Plain text
14087 #: build/C/man3/undocumented.3:34
14088 msgid "Undocumented library functions"
14091 #. type: Plain text
14092 #: build/C/man3/undocumented.3:37
14094 "This man page mentions those library functions which are implemented in the "
14095 "standard libraries but not yet documented in man pages."
14099 #: build/C/man3/undocumented.3:37
14101 msgid "Solicitation"
14104 #. type: Plain text
14105 #: build/C/man3/undocumented.3:43
14107 "If you have information about these functions, please look in the source "
14108 "code, write a man page (using a style similar to that of the other Linux "
14109 "section 3 man pages), and send it to B<mtk.manpages@gmail.com> for inclusion "
14110 "in the next man page release."
14114 #: build/C/man3/undocumented.3:43
14119 #. .BR chflags (3),
14120 #. .BR fattach (3),
14121 #. .BR fchflags (3),
14123 #. .BR fdetach (3),
14124 #. .BR obstack stuff (3),
14125 #. type: Plain text
14126 #: build/C/man3/undocumented.3:183
14128 "B<authdes_create>(3), B<authdes_getucred>(3), B<authdes_pk_create>(3), "
14129 "B<clntunix_create>(3), B<creat64>(3), B<dn_skipname>(3), B<fcrypt>(3), "
14130 "B<fp_nquery>(3), B<fp_query>(3), B<fp_resstat>(3), B<freading>(3), "
14131 "B<freopen64>(3), B<fseeko64>(3), B<ftello64>(3), B<ftw64>(3), B<fwscanf>(3), "
14132 "B<get_avphys_pages>(3), B<getdirentries64>(3), B<getmsg>(3), "
14133 "B<getnetname>(3), B<get_nprocs>(3), B<get_nprocs_conf>(3), "
14134 "B<get_phys_pages>(3), B<getpublickey>(3), B<getsecretkey>(3), "
14135 "B<h_errlist>(3), B<host2netname>(3), B<hostalias>(3), B<inet_nsap_addr>(3), "
14136 "B<inet_nsap_ntoa>(3), B<init_des>(3), B<libc_nls_init>(3), B<lio_listio>(3), "
14137 "B<mstats>(3), B<netname2host>(3), B<netname2user>(3), B<nlist>(3), "
14138 "B<obstack_free>(3), B<parse_printf_format>(3), B<p_cdname>(3), "
14139 "B<p_cdnname>(3), B<p_class>(3), B<p_fqname>(3), B<p_option>(3), "
14140 "B<p_query>(3), B<printf_size>(3), B<printf_size_info>(3), B<p_rr>(3), "
14141 "B<p_time>(3), B<p_type>(3), B<putlong>(3), B<putshort>(3), "
14142 "B<re_compile_fastmap>(3), B<re_compile_pattern>(3), "
14143 "B<register_printf_function>(3), B<re_match>(3), B<re_match_2>(3), "
14144 "B<re_rx_search>(3), B<re_search>(3), B<re_search_2>(3), "
14145 "B<re_set_registers>(3), B<re_set_syntax>(3), B<res_send_setqhook>(3), "
14146 "B<res_send_setrhook>(3), B<ruserpass>(3), B<setfileno>(3), "
14147 "B<sethostfile>(3), B<svc_exit>(3), B<svcudp_enablecache>(3), B<tell>(3), "
14148 "B<tr_break>(3), B<tzsetwall>(3), B<ufc_dofinalperm>(3), B<ufc_doit>(3), "
14149 "B<user2netname>(3), B<vlimit>(3), B<vtimes>(3), B<wcschrnul>(3), "
14150 "B<wcsftime>(3), B<wscanf>(3), B<xdr_authdes_cred>(3), "
14151 "B<xdr_authdes_verf>(3), B<xdr_cryptkeyarg>(3), B<xdr_cryptkeyres>(3), "
14152 "B<xdr_datum>(3), B<xdr_des_block>(3), B<xdr_domainname>(3), "
14153 "B<xdr_getcredres>(3), B<xdr_keybuf>(3), B<xdr_keystatus>(3), "
14154 "B<xdr_mapname>(3), B<xdr_netnamestr>(3), B<xdr_netobj>(3), B<xdr_passwd>(3), "
14155 "B<xdr_peername>(3), B<xdr_rmtcall_args>(3), B<xdr_rmtcallres>(3), "
14156 "B<xdr_unixcred>(3), B<xdr_yp_buf>(3), B<xdr_yp_inaddr>(3), "
14157 "B<xdr_ypbind_binding>(3), B<xdr_ypbind_resp>(3), B<xdr_ypbind_resptype>(3), "
14158 "B<xdr_ypbind_setdom>(3), B<xdr_ypdelete_args>(3), B<xdr_ypmaplist>(3), "
14159 "B<xdr_ypmaplist_str>(3), B<xdr_yppasswd>(3), B<xdr_ypreq_key>(3), "
14160 "B<xdr_ypreq_nokey>(3), B<xdr_ypresp_all>(3), B<xdr_ypresp_all_seq>(3), "
14161 "B<xdr_ypresp_key_val>(3), B<xdr_ypresp_maplist>(3), B<xdr_ypresp_master>(3), "
14162 "B<xdr_ypresp_order>(3), B<xdr_ypresp_val>(3), B<xdr_ypstat>(3), "
14163 "B<xdr_ypupdate_args>(3), B<yp_all>(3), B<yp_bind>(3), B<yperr_string>(3), "
14164 "B<yp_first>(3), B<yp_get_default_domain>(3), B<yp_maplist>(3), "
14165 "B<yp_master>(3), B<yp_match>(3), B<yp_next>(3), B<yp_order>(3), "
14166 "B<ypprot_err>(3), B<yp_unbind>(3), B<yp_update>(3)"
14170 #: build/C/man2/unimplemented.2:26
14172 msgid "UNIMPLEMENTED"
14176 #: build/C/man2/unimplemented.2:26
14181 #. type: Plain text
14182 #: build/C/man2/unimplemented.2:31
14184 "afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, gtty, "
14185 "isastream, lock, madvise1, mpx, prof, profil, putmsg, putpmsg, security, "
14186 "stty, tuxcall, ulimit, vserver - unimplemented system calls"
14189 #. type: Plain text
14190 #: build/C/man2/unimplemented.2:33
14191 msgid "Unimplemented system calls."
14194 #. type: Plain text
14195 #: build/C/man2/unimplemented.2:35
14196 msgid "These system calls are not implemented in the Linux kernel."
14199 #. type: Plain text
14200 #: build/C/man2/unimplemented.2:40
14201 msgid "These system calls always return -1 and set I<errno> to B<ENOSYS>."
14204 #. type: Plain text
14205 #: build/C/man2/unimplemented.2:47
14207 "Note that B<ftime>(3), B<profil>(3) and B<ulimit>(3) are implemented as "
14208 "library functions."
14211 #. type: Plain text
14212 #: build/C/man2/unimplemented.2:56
14214 "Some system calls, like B<alloc_hugepages>(2), B<free_hugepages>(2), "
14215 "B<ioperm>(2), B<iopl>(2), and B<vm86>(2) exist only on certain "
14219 #. type: Plain text
14220 #: build/C/man2/unimplemented.2:64
14222 "Some system calls, like B<ipc>(2), B<create_module>(2), B<init_module>(2), "
14223 "and B<delete_module>(2) exist only when the Linux kernel was built with "
14224 "support for them."
14227 #. type: Plain text
14228 #: build/C/man2/unimplemented.2:66
14229 msgid "B<syscalls>(2)"
14233 #: build/C/man7/units.7:26
14238 #. type: Plain text
14239 #: build/C/man7/units.7:29
14240 msgid "units, kilo, kibi, mega, mebi, giga, gibi - decimal and binary prefixes"
14244 #: build/C/man7/units.7:30
14246 msgid "Decimal prefixes"
14249 #. type: Plain text
14250 #: build/C/man7/units.7:34
14252 "The SI system of units uses prefixes that indicate powers of ten. A "
14253 "kilometer is 1000 meter, and a megawatt is 1000000 watt. Below the standard "
14258 #: build/C/man7/units.7:37 build/C/man7/units.7:79
14260 msgid "Prefix\tName\tValue\n"
14264 #: build/C/man7/units.7:38
14266 msgid "y\tyocto\t10^-24 = 0.000000000000000000000001\n"
14270 #: build/C/man7/units.7:39
14272 msgid "z\tzepto\t10^-21 = 0.000000000000000000001\n"
14276 #: build/C/man7/units.7:40
14278 msgid "a\tatto\t10^-18 = 0.000000000000000001\n"
14282 #: build/C/man7/units.7:41
14284 msgid "f\tfemto\t10^-15 = 0.000000000000001\n"
14288 #: build/C/man7/units.7:42
14290 msgid "p\tpico\t10^-12 = 0.000000000001\n"
14294 #: build/C/man7/units.7:43
14296 msgid "n\tnano\t10^-9 = 0.000000001\n"
14300 #: build/C/man7/units.7:44
14302 msgid "\\(mc\tmicro\t10^-6 = 0.000001\n"
14306 #: build/C/man7/units.7:45
14308 msgid "m\tmilli\t10^-3 = 0.001\n"
14312 #: build/C/man7/units.7:46
14314 msgid "c\tcenti\t10^-2 = 0.01\n"
14318 #: build/C/man7/units.7:47
14320 msgid "d\tdeci\t10^-1 = 0.1\n"
14324 #: build/C/man7/units.7:48
14326 msgid "da\tdeka\t10^ 1 = 10\n"
14330 #: build/C/man7/units.7:49
14332 msgid "h\thecto\t10^ 2 = 100\n"
14336 #: build/C/man7/units.7:50
14338 msgid "k\tkilo\t10^ 3 = 1000\n"
14342 #: build/C/man7/units.7:51
14344 msgid "M\tmega\t10^ 6 = 1000000\n"
14348 #: build/C/man7/units.7:52
14350 msgid "G\tgiga\t10^ 9 = 1000000000\n"
14354 #: build/C/man7/units.7:53
14356 msgid "T\ttera\t10^12 = 1000000000000\n"
14360 #: build/C/man7/units.7:54
14362 msgid "P\tpeta\t10^15 = 1000000000000000\n"
14366 #: build/C/man7/units.7:55
14368 msgid "E\texa\t10^18 = 1000000000000000000\n"
14372 #: build/C/man7/units.7:56
14374 msgid "Z\tzetta\t10^21 = 1000000000000000000000\n"
14378 #: build/C/man7/units.7:57
14380 msgid "Y\tyotta\t10^24 = 1000000000000000000000000\n"
14383 #. type: Plain text
14384 #: build/C/man7/units.7:64
14386 "The symbol for micro is the Greek letter mu, often written u in an ASCII "
14387 "context where this Greek letter is not available. See also"
14390 #. type: Plain text
14391 #: build/C/man7/units.7:68
14392 msgid "E<.UR http://physics.nist.gov\\:/cuu\\:/Units\\:/prefixes.html> E<.UE>"
14396 #: build/C/man7/units.7:69
14398 msgid "Binary prefixes"
14401 #. type: Plain text
14402 #: build/C/man7/units.7:76
14404 "The binary prefixes resemble the decimal ones, but have an additional "
14405 "\\(aqi\\(aq (and \"Ki\" starts with a capital \\(aqK\\(aq). The names are "
14406 "formed by taking the first syllable of the names of the decimal prefix with "
14407 "roughly the same size, followed by \"bi\" for \"binary\"."
14411 #: build/C/man7/units.7:80
14413 msgid "Ki\tkibi\t2^10 = 1024\n"
14417 #: build/C/man7/units.7:81
14419 msgid "Mi\tmebi\t2^20 = 1048576\n"
14423 #: build/C/man7/units.7:82
14425 msgid "Gi\tgibi\t2^30 = 1073741824\n"
14429 #: build/C/man7/units.7:83
14431 msgid "Ti\ttebi\t2^40 = 1099511627776\n"
14435 #: build/C/man7/units.7:84
14437 msgid "Pi\tpebi\t2^50 = 1125899906842624\n"
14441 #: build/C/man7/units.7:85
14443 msgid "Ei\texbi\t2^60 = 1152921504606846976\n"
14446 #. type: Plain text
14447 #: build/C/man7/units.7:90
14451 #. type: Plain text
14452 #: build/C/man7/units.7:93
14453 msgid "E<.UR http://physics.nist.gov\\:/cuu\\:/Units\\:/binary.html> E<.UE>"
14457 #: build/C/man7/units.7:93
14462 #. type: Plain text
14463 #: build/C/man7/units.7:98
14465 "Before these binary prefixes were introduced, it was fairly common to use "
14466 "k=1000 and K=1024, just like b=bit, B=byte. Unfortunately, the M is capital "
14467 "already, and cannot be capitalized to indicate binary-ness."
14470 #. type: Plain text
14471 #: build/C/man7/units.7:109
14473 "At first that didn't matter too much, since memory modules and disks came in "
14474 "sizes that were powers of two, so everyone knew that in such contexts "
14475 "\"kilobyte\" and \"megabyte\" meant 1024 and 1048576 bytes, respectively. "
14476 "What originally was a sloppy use of the prefixes \"kilo\" and \"mega\" "
14477 "started to become regarded as the \"real true meaning\" when computers were "
14478 "involved. But then disk technology changed, and disk sizes became arbitrary "
14479 "numbers. After a period of uncertainty all disk manufacturers settled on "
14480 "the standard, namely k=1000, M=1000k, G=1000M."
14483 #. also common: 14.4k modem
14484 #. type: Plain text
14485 #: build/C/man7/units.7:116
14487 "The situation was messy: in the 14k4 modems, k=1000; in the 1.44MB "
14488 "diskettes, M=1024000; etc. In 1998 the IEC approved the standard that "
14489 "defines the binary prefixes given above, enabling people to be precise and "
14493 #. type: Plain text
14494 #: build/C/man7/units.7:118
14495 msgid "Thus, today, MB = 1000000B and MiB = 1048576B."
14498 #. type: Plain text
14499 #: build/C/man7/units.7:122
14501 "In the free software world programs are slowly being changed to conform. "
14502 "When the Linux kernel boots and says"
14505 #. type: Plain text
14506 #: build/C/man7/units.7:126
14508 msgid "hda: 120064896 sectors (61473 MB) w/2048KiB Cache\n"
14511 #. type: Plain text
14512 #: build/C/man7/units.7:130
14513 msgid "the MB are megabytes and the KiB are kibibytes."
14516 #. Copyright (c) 1990, 1993
14517 #. The Regents of the University of California. All rights reserved.
14519 #. %%%LICENSE_START(BSD_4_CLAUSE_UCB)
14520 #. Redistribution and use in source and binary forms, with or without
14521 #. modification, are permitted provided that the following conditions
14523 #. 1. Redistributions of source code must retain the above copyright
14524 #. notice, this list of conditions and the following disclaimer.
14525 #. 2. Redistributions in binary form must reproduce the above copyright
14526 #. notice, this list of conditions and the following disclaimer in the
14527 #. documentation and/or other materials provided with the distribution.
14528 #. 3. All advertising materials mentioning features or use of this software
14529 #. must display the following acknowledgement:
14530 #. This product includes software developed by the University of
14531 #. California, Berkeley and its contributors.
14532 #. 4. Neither the name of the University nor the names of its contributors
14533 #. may be used to endorse or promote products derived from this software
14534 #. without specific prior written permission.
14536 #. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
14537 #. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14538 #. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
14539 #. ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
14540 #. FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
14541 #. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
14542 #. OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
14543 #. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
14544 #. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
14545 #. OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
14549 #. @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93
14550 #. $Id: mdoc.samples.7,v 1.17 1998/12/03 03:38:45 jkoshy Exp $
14552 #. This tutorial sampler invokes every macro in the package several
14553 #. times and is guaranteed to give a worst case performance
14554 #. for an already extremely slow package.
14556 #. String \*(Pu was not defined, probably means punctuation
14558 #: build/C/man7/mdoc.samples.7:42
14560 msgid "[ .,:;()[]?! ]"
14564 #: build/C/man7/mdoc.samples.7:43
14566 msgid "December 30, 1993"
14570 #: build/C/man7/mdoc.samples.7:45
14572 msgid "MDOC.SAMPLES 7"
14575 #. type: Plain text
14576 #: build/C/man7/mdoc.samples.7:48
14577 msgid "E<.Nm mdoc.samples>"
14581 #: build/C/man7/mdoc.samples.7:48
14583 msgid "tutorial sampler for writing"
14586 #. type: Plain text
14587 #: build/C/man7/mdoc.samples.7:52
14588 msgid "E<.Bx> manuals with E<.Nm \\-mdoc>"
14591 #. type: Plain text
14592 #: build/C/man7/mdoc.samples.7:54
14593 msgid "E<.Nm man mdoc.samples>"
14596 #. type: Plain text
14597 #: build/C/man7/mdoc.samples.7:100
14599 "A tutorial sampler for writing E<.Bx> manual pages with the E<.Nm \\-mdoc> "
14600 "macro package, a E<.Em content Ns \\-based> and E<.Em domain Ns \\-based> "
14601 "formatting package for E<.Xr troff 1>. Its predecessor, the E<.Xr \\-man 7> "
14602 "package, addressed page layout leaving the manipulation of fonts and other "
14603 "typesetting details to the individual author. In E<.Nm \\-mdoc>, page "
14604 "layout macros make up the E<.Em \"page structure domain\"> which consists of "
14605 "macros for titles, section headers, displays and lists. Essentially items "
14606 "which affect the physical position of text on a formatted page. In addition "
14607 "to the page structure domain, there are two more domains, the manual domain "
14608 "and the general text domain. The general text domain is defined as macros "
14609 "which perform tasks such as quoting or emphasizing pieces of text. The "
14610 "manual domain is defined as macros that are a subset of the day to day "
14611 "informal language used to describe commands, routines and related E<.Bx> "
14612 "files. Macros in the manual domain handle command names, command-line "
14613 "arguments and options, function names, function parameters, pathnames, "
14614 "variables, cross references to other manual pages, and so on. These domain "
14615 "items have value for both the author and the future user of the manual "
14616 "page. It is hoped the consistency gained across the manual set will provide "
14617 "easier translation to future documentation tools."
14620 #. type: Plain text
14621 #: build/C/man7/mdoc.samples.7:107
14623 "Throughout the E<.Ux> manual pages, a manual entry is simply referred to as "
14624 "a man page, regardless of actual length and without sexist intention."
14628 #: build/C/man7/mdoc.samples.7:107
14630 msgid "GETTING STARTED"
14633 #. type: Plain text
14634 #: build/C/man7/mdoc.samples.7:113
14636 "Since a tutorial document is normally read when a person desires to use the "
14637 "material immediately, the assumption has been made that the user of this "
14638 "document may be impatient. The material presented in the remained of this "
14639 "document is outlined as follows:"
14642 #. type: Plain text
14643 #: build/C/man7/mdoc.samples.7:116
14644 msgid "E<.Tn \"TROFF IDIOSYNCRASIES\">"
14648 #: build/C/man7/mdoc.samples.7:117
14650 msgid "\"Macro Usage\" ."
14654 #: build/C/man7/mdoc.samples.7:118
14656 msgid "\"Passing Space Characters in an Argument\" ."
14660 #: build/C/man7/mdoc.samples.7:119
14662 msgid "\"Trailing Blank Space Characters (a warning)\" ."
14666 #: build/C/man7/mdoc.samples.7:120
14668 msgid "\"Escaping Special Characters\" ."
14671 #. type: Plain text
14672 #: build/C/man7/mdoc.samples.7:124
14673 msgid "E<.Tn \"THE ANATOMY OF A MAN PAGE\">"
14677 #: build/C/man7/mdoc.samples.7:125
14679 msgid "\"A manual page template\" ."
14682 #. type: Plain text
14683 #: build/C/man7/mdoc.samples.7:129
14684 msgid "E<.Tn \"TITLE MACROS\">."
14687 #. type: Plain text
14688 #: build/C/man7/mdoc.samples.7:131
14689 msgid "E<.Tn \"INTRODUCTION OF MANUAL AND GENERAL TEXT DOMAINS\">."
14693 #: build/C/man7/mdoc.samples.7:132
14695 msgid "\"What's in a name...\" ."
14699 #: build/C/man7/mdoc.samples.7:133
14701 msgid "\"General Syntax\" ."
14704 #. type: Plain text
14705 #: build/C/man7/mdoc.samples.7:137
14706 msgid "E<.Tn \"MANUAL DOMAIN\">"
14710 #: build/C/man7/mdoc.samples.7:138
14712 msgid "Addresses ."
14716 #: build/C/man7/mdoc.samples.7:139
14718 msgid "\"Author name\" ."
14722 #: build/C/man7/mdoc.samples.7:140
14724 msgid "Arguments ."
14728 #: build/C/man7/mdoc.samples.7:141
14730 msgid "\"Configuration Declarations (section four only)\" ."
14734 #: build/C/man7/mdoc.samples.7:142
14736 msgid "\"Command Modifier\" ."
14740 #: build/C/man7/mdoc.samples.7:143
14742 msgid "\"Defined Variables\" ."
14746 #: build/C/man7/mdoc.samples.7:144
14748 msgid "\"Errno's (Section two only)\" ."
14752 #: build/C/man7/mdoc.samples.7:145
14754 msgid "\"Environment Variables\" ."
14758 #: build/C/man7/mdoc.samples.7:146
14760 msgid "\"Function Argument\" ."
14764 #: build/C/man7/mdoc.samples.7:147
14766 msgid "\"Function Declaration\" ."
14770 #: build/C/man7/mdoc.samples.7:148
14776 #: build/C/man7/mdoc.samples.7:149
14778 msgid "\"Functions (library routines)\" ."
14782 #: build/C/man7/mdoc.samples.7:150
14784 msgid "\"Function Types\" ."
14787 #. .It "Header File (including source code)" .
14789 #: build/C/man7/mdoc.samples.7:152
14791 msgid "\"Interactive Commands\" ."
14795 #: build/C/man7/mdoc.samples.7:153
14801 #: build/C/man7/mdoc.samples.7:154
14807 #: build/C/man7/mdoc.samples.7:155
14809 msgid "Pathnames ."
14813 #: build/C/man7/mdoc.samples.7:156
14815 msgid "Variables ."
14819 #: build/C/man7/mdoc.samples.7:157
14821 msgid "\"Cross References\" ."
14824 #. type: Plain text
14825 #: build/C/man7/mdoc.samples.7:161
14826 msgid "E<.Tn \"GENERAL TEXT DOMAIN\">"
14830 #: build/C/man7/mdoc.samples.7:162
14832 msgid "\"AT&T Macro\" ."
14836 #: build/C/man7/mdoc.samples.7:163
14838 msgid "\"BSD Macro\" ."
14842 #: build/C/man7/mdoc.samples.7:164
14844 msgid "\"FreeBSD Macro\" ."
14848 #: build/C/man7/mdoc.samples.7:165
14850 msgid "\"UNIX Macro\" ."
14854 #: build/C/man7/mdoc.samples.7:166
14856 msgid "Enclosure/Quoting Macros"
14860 #: build/C/man7/mdoc.samples.7:168
14862 msgid "\"Angle Bracket Quote/Enclosure\" ."
14866 #: build/C/man7/mdoc.samples.7:169
14868 msgid "\"Bracket Quotes/Enclosure\" ."
14872 #: build/C/man7/mdoc.samples.7:170
14874 msgid "\"Double Quote macro/Enclosure\" ."
14878 #: build/C/man7/mdoc.samples.7:171
14880 msgid "\"Parenthesis Quote/Enclosure\" ."
14884 #: build/C/man7/mdoc.samples.7:172
14886 msgid "\"Single Quotes/Enclosure\" ."
14890 #: build/C/man7/mdoc.samples.7:173
14892 msgid "\"Prefix Macro\" ."
14896 #: build/C/man7/mdoc.samples.7:175
14898 msgid "\"No\\-Op or Normal Text Macro\" ."
14902 #: build/C/man7/mdoc.samples.7:176
14904 msgid "\"No Space Macro\" ."
14908 #: build/C/man7/mdoc.samples.7:177
14910 msgid "\"Section Cross References\" ."
14914 #: build/C/man7/mdoc.samples.7:178
14916 msgid "\"References and Citations\" ."
14920 #: build/C/man7/mdoc.samples.7:179
14922 msgid "Return Values (sections two and three only)"
14926 #: build/C/man7/mdoc.samples.7:180
14928 msgid "\"Trade Names (Acronyms and Type Names)\" ."
14932 #: build/C/man7/mdoc.samples.7:181
14934 msgid "\"Extended Arguments\" ."
14937 #. type: Plain text
14938 #: build/C/man7/mdoc.samples.7:185
14939 msgid "E<.Tn \"PAGE STRUCTURE DOMAIN\">"
14943 #: build/C/man7/mdoc.samples.7:186
14945 msgid "\"Section Headers\" ."
14949 #: build/C/man7/mdoc.samples.7:187
14951 msgid "\"Paragraphs and Line Spacing\" ."
14955 #: build/C/man7/mdoc.samples.7:188
14961 #: build/C/man7/mdoc.samples.7:189
14967 #: build/C/man7/mdoc.samples.7:190
14969 msgid "\"Font Modes (Emphasis, Literal, and Symbolic)\" ."
14973 #: build/C/man7/mdoc.samples.7:191
14975 msgid "\"Lists and Columns\" ."
14978 #. type: Plain text
14979 #: build/C/man7/mdoc.samples.7:195
14980 msgid "E<.Tn \"PREDEFINED STRINGS\">"
14983 #. type: Plain text
14984 #: build/C/man7/mdoc.samples.7:197
14985 msgid "E<.Tn \"DIAGNOSTICS\">"
14988 #. type: Plain text
14989 #: build/C/man7/mdoc.samples.7:199
14990 msgid "E<.Tn \"FORMATTING WITH GROFF, TROFF AND NROFF\">"
14993 #. type: Plain text
14994 #: build/C/man7/mdoc.samples.7:201
14995 msgid "E<.Tn \"BUGS\">"
14999 #: build/C/man7/mdoc.samples.7:203
15001 msgid "TROFF IDIOSYNCRASIES"
15004 #. type: Plain text
15005 #: build/C/man7/mdoc.samples.7:217
15007 "The E<.Nm \\-mdoc> package attempts to simplify the process of writing a man "
15008 "page. Theoretically, one should not have to learn the dirty details of "
15009 "E<.Xr troff 1> to use E<.Nm \\-mdoc>; however, there are a few limitations "
15010 "which are unavoidable and best gotten out of the way. And, too, be "
15011 "forewarned, this package is E<.Em not> fast."
15015 #: build/C/man7/mdoc.samples.7:217
15017 msgid "Macro Usage"
15020 #. type: Plain text
15021 #: build/C/man7/mdoc.samples.7:242
15023 "As in E<.Xr troff 1>, a macro is called by placing a E<.Ql \\&.> (dot "
15024 "character) at the beginning of a line followed by the two character name "
15025 "for the macro. Arguments may follow the macro separated by spaces. It is "
15026 "the dot character at the beginning of the line which causes E<.Xr troff 1> "
15027 "to interpret the next two characters as a macro name. To place a E<.Ql "
15028 "\\&.> (dot character) at the beginning of a line in some context other than "
15029 "a macro invocation, precede the E<.Ql \\&.> (dot) with the E<.Ql \\e&> "
15030 "escape sequence. The E<.Ql \\e&> translates literally to a zero width "
15031 "space, and is never displayed in the output."
15034 #. type: Plain text
15035 #: build/C/man7/mdoc.samples.7:257
15037 "In general, E<.Xr troff 1> macros accept up to nine arguments, any extra "
15038 "arguments are ignored. Most macros in E<.Nm \\-mdoc> accept nine arguments "
15039 "and, in limited cases, arguments may be continued or extended on the next "
15040 "line (See E<.Sx Extensions>). A few macros handle quoted arguments (see "
15041 "E<.Sx Passing Space Characters in an Argument> below)."
15044 #. type: Plain text
15045 #: build/C/man7/mdoc.samples.7:284
15047 "Most of the E<.Nm \\-mdoc> general text domain and manual domain macros are "
15048 "special in that their argument lists are E<.Em parsed> for callable macro "
15049 "names. This means an argument on the argument list which matches a general "
15050 "text or manual domain macro name and is determined to be callable will be "
15051 "executed or called when it is processed. In this case the argument, "
15052 "although the name of a macro, is not preceded by a E<.Ql \\&.> (dot). It is "
15053 "in this manner that many macros are nested; for example the option macro, "
15054 "E<.Ql \\&.Op>, may E<.Em call> the flag and argument macros, E<.Ql \\&Fl> "
15055 "and E<.Ql \\&Ar>, to specify an optional flag with an argument:"
15059 #: build/C/man7/mdoc.samples.7:285
15061 msgid "Op Fl s Ar bytes"
15064 #. type: Plain text
15065 #: build/C/man7/mdoc.samples.7:288
15066 msgid "is produced by E<.Li \\&.Op \\&Fl s \\&Ar bytes>"
15069 #. type: Plain text
15070 #: build/C/man7/mdoc.samples.7:295
15072 "To prevent a two character string from being interpreted as a macro name, "
15073 "precede the string with the escape sequence E<.Ql \\e&>:"
15077 #: build/C/man7/mdoc.samples.7:296
15079 msgid "Op \\&Fl s \\&Ar bytes"
15082 #. type: Plain text
15083 #: build/C/man7/mdoc.samples.7:299
15084 msgid "is produced by E<.Li \\&.Op \\e&Fl s \\e&Ar bytes>"
15087 #. type: Plain text
15088 #: build/C/man7/mdoc.samples.7:320
15090 "Here the strings E<.Ql \\&Fl> and E<.Ql \\&Ar> are not interpreted as "
15091 "macros. Macros whose argument lists are parsed for callable arguments are "
15092 "referred to as parsed and macros which may be called from an argument list "
15093 "are referred to as callable throughout this document and in the companion "
15094 "quick reference manual E<.Xr mdoc 7>. This is a technical E<.Em faux pas> "
15095 "as almost all of the macros in E<.Nm \\-mdoc> are parsed, but as it was "
15096 "cumbersome to constantly refer to macros as being callable and being able to "
15097 "call other macros, the term parsed has been used."
15101 #: build/C/man7/mdoc.samples.7:320
15103 msgid "Passing Space Characters in an Argument"
15106 #. type: Plain text
15107 #: build/C/man7/mdoc.samples.7:338
15109 "Sometimes it is desirable to give as one argument a string containing one or "
15110 "more blank space characters. This may be necessary to defeat the nine "
15111 "argument limit or to specify arguments to macros which expect particular "
15112 "arrangement of items in the argument list. For example, the function macro "
15113 "E<.Ql \\&.Fn> expects the first argument to be the name of a function and "
15114 "any remaining arguments to be function parameters. As E<.Tn \"ANSI C\"> "
15115 "stipulates the declaration of function parameters in the parenthesized "
15116 "parameter list, each parameter is guaranteed to be at minimum a two word "
15117 "string. For example, E<.Fa int foo>."
15120 #. type: Plain text
15121 #: build/C/man7/mdoc.samples.7:353
15123 "There are two possible ways to pass an argument which contains an embedded "
15124 "space. E<.Em Implementation note>: Unfortunately, the most convenient way "
15125 "of passing spaces in between quotes by reassigning individual arguments "
15126 "before parsing was fairly expensive speed wise and space wise to implement "
15127 "in all the macros for E<.Tn AT&T> E<.Xr troff>. It is not expensive for "
15128 "E<.Xr groff> but for the sake of portability, has been limited to the "
15129 "following macros which need it the most:"
15133 #: build/C/man7/mdoc.samples.7:355
15138 #. type: Plain text
15139 #: build/C/man7/mdoc.samples.7:358
15140 msgid "Configuration declaration (section 4 E<.Sx SYNOPSIS>)"
15144 #: build/C/man7/mdoc.samples.7:358
15149 #. type: Plain text
15150 #: build/C/man7/mdoc.samples.7:360
15151 msgid "Begin list (for the width specifier)."
15155 #: build/C/man7/mdoc.samples.7:360
15160 #. type: Plain text
15161 #: build/C/man7/mdoc.samples.7:362
15162 msgid "Emphasized text."
15166 #: build/C/man7/mdoc.samples.7:362
15171 #. type: Plain text
15172 #: build/C/man7/mdoc.samples.7:364
15173 msgid "Functions (sections two and four)."
15177 #: build/C/man7/mdoc.samples.7:364
15182 #. type: Plain text
15183 #: build/C/man7/mdoc.samples.7:366
15184 msgid "List items."
15188 #: build/C/man7/mdoc.samples.7:366
15193 #. type: Plain text
15194 #: build/C/man7/mdoc.samples.7:368
15195 msgid "Literal text."
15199 #: build/C/man7/mdoc.samples.7:368
15204 #. type: Plain text
15205 #: build/C/man7/mdoc.samples.7:370
15206 msgid "Symbolic text."
15210 #: build/C/man7/mdoc.samples.7:370
15215 #. type: Plain text
15216 #: build/C/man7/mdoc.samples.7:372
15217 msgid "Book titles."
15221 #: build/C/man7/mdoc.samples.7:372
15226 #. type: Plain text
15227 #: build/C/man7/mdoc.samples.7:374
15228 msgid "Journal names."
15232 #: build/C/man7/mdoc.samples.7:374
15237 #. type: Plain text
15238 #: build/C/man7/mdoc.samples.7:376
15239 msgid "Optional notes for a reference."
15243 #: build/C/man7/mdoc.samples.7:376
15248 #. type: Plain text
15249 #: build/C/man7/mdoc.samples.7:378
15250 msgid "Report title (in a reference)."
15254 #: build/C/man7/mdoc.samples.7:378
15259 #. type: Plain text
15260 #: build/C/man7/mdoc.samples.7:380
15261 msgid "Title of article in a book or journal."
15264 #. type: Plain text
15265 #: build/C/man7/mdoc.samples.7:397
15267 "One way of passing a string containing blank spaces is to use the hard or "
15268 "unpaddable space character E<.Ql \\e\\ >, that is, a blank space preceded by "
15269 "the escape character E<.Ql \\e>. This method may be used with any macro but "
15270 "has the side effect of interfering with the adjustment of text over the "
15271 "length of a line. E<.Xr Troff> sees the hard space as if it were any other "
15272 "printable character and cannot split the string into blank or newline "
15273 "separated pieces as one would expect. The method is useful for strings "
15274 "which are not expected to overlap a line boundary. For example:"
15278 #: build/C/man7/mdoc.samples.7:398
15280 msgid "Fn fetch char\\ *str"
15283 #. type: Plain text
15284 #: build/C/man7/mdoc.samples.7:401
15285 msgid "is created by E<.Ql \\&.Fn fetch char\\e *str>"
15289 #: build/C/man7/mdoc.samples.7:401
15291 msgid "Fn fetch \"char *str\""
15294 #. type: Plain text
15295 #: build/C/man7/mdoc.samples.7:404
15296 msgid "can also be created by E<.Ql \\&.Fn fetch \"\\*qchar *str\\*q\">"
15299 #. type: Plain text
15300 #: build/C/man7/mdoc.samples.7:413
15302 "If the E<.Ql \\e> or quotes were omitted, E<.Ql \\&.Fn> would see three "
15303 "arguments and the result would be:"
15307 #: build/C/man7/mdoc.samples.7:414
15309 msgid "Fn fetch char *str"
15312 #. type: Plain text
15313 #: build/C/man7/mdoc.samples.7:420
15315 "For an example of what happens when the parameter list overlaps a newline "
15316 "boundary, see the E<.Sx BUGS> section."
15320 #: build/C/man7/mdoc.samples.7:420
15322 msgid "Trailing Blank Space Characters"
15325 #. type: Plain text
15326 #: build/C/man7/mdoc.samples.7:433
15328 "E<.Xr Troff> can be confused by blank space characters at the end of a "
15329 "line. It is a wise preventive measure to globally remove all blank spaces "
15330 "from E<lt>blank-spaceE<gt>E<lt>end-of-lineE<gt> character sequences. Should "
15331 "the need arise to force a blank character at the end of a line, it may be "
15332 "forced with an unpaddable space and the E<.Ql \\e&> escape character. For "
15333 "example, E<.Ql string\\e\\ \\e&>."
15337 #: build/C/man7/mdoc.samples.7:433
15339 msgid "Escaping Special Characters"
15342 #. type: Plain text
15343 #: build/C/man7/mdoc.samples.7:445
15345 "Special characters like the newline character E<.Ql \\en>, are handled by "
15346 "replacing the E<.Ql \\e> with E<.Ql \\ee> (e.g., E<.Ql \\een>) to preserve "
15351 #: build/C/man7/mdoc.samples.7:445
15353 msgid "THE ANATOMY OF A MAN PAGE"
15356 #. type: Plain text
15357 #: build/C/man7/mdoc.samples.7:452
15359 "The body of a man page is easily constructed from a basic template found in "
15360 "the file E<.Pa /usr/share/misc/mdoc.template>. Several example man pages "
15361 "can also be found in E<.Pa /usr/share/examples/mdoc>."
15365 #: build/C/man7/mdoc.samples.7:453
15367 msgid "A manual page template"
15370 #. type: Plain text
15371 #: build/C/man7/mdoc.samples.7:484
15374 "\\&.\\e\" The following requests are required for all man pages.\n"
15375 "\\&.Dd Month day, year\n"
15376 "\\&.Os OPERATING_SYSTEM [version/release]\n"
15377 "\\&.Dt DOCUMENT_TITLE [section number] [volume]\n"
15380 "\\&.Nd one line description of name\n"
15381 "\\&.Sh SYNOPSIS\n"
15382 "\\&.Sh DESCRIPTION\n"
15383 "\\&.\\e\" The following requests should be uncommented and\n"
15384 "\\&.\\e\" used where appropriate. This next request is\n"
15385 "\\&.\\e\" for sections 2 and 3 function return values only.\n"
15386 "\\&.\\e\" .Sh RETURN VALUE\n"
15387 "\\&.\\e\" This next request is for sections 1, 6, 7 & 8 only\n"
15388 "\\&.\\e\" .Sh ENVIRONMENT\n"
15389 "\\&.\\e\" .Sh FILES\n"
15390 "\\&.\\e\" .Sh EXAMPLES\n"
15391 "\\&.\\e\" This next request is for sections 1, 6, 7 & 8 only\n"
15392 "\\&.\\e\" (command return values (to shell) and\n"
15393 "\\&.\\e\"\t fprintf/stderr type diagnostics)\n"
15394 "\\&.\\e\" .Sh DIAGNOSTICS\n"
15395 "\\&.\\e\" The next request is for sections 2 and 3 error\n"
15396 "\\&.\\e\" and signal handling only.\n"
15397 "\\&.\\e\" .Sh ERRORS\n"
15398 "\\&.\\e\" .Sh SEE ALSO\n"
15399 "\\&.\\e\" .Sh CONFORMING TO\n"
15400 "\\&.\\e\" .Sh HISTORY\n"
15401 "\\&.\\e\" .Sh AUTHORS\n"
15402 "\\&.\\e\" .Sh BUGS\n"
15405 #. type: Plain text
15406 #: build/C/man7/mdoc.samples.7:498
15408 "The first items in the template are the macros E<.Pq Li \\&.Dd , \\&.Os , "
15409 "\\&.Dt>; the document date, the operating system the man page or subject "
15410 "source is developed or modified for, and the man page title E<.Pq Em in "
15411 "upper case> along with the section of the manual the page belongs in. These "
15412 "macros identify the page, and are discussed below in E<.Sx TITLE MACROS>."
15415 #. type: Plain text
15416 #: build/C/man7/mdoc.samples.7:517
15418 "The remaining items in the template are section headers E<.Pq Li \\&.Sh>; of "
15419 "which E<.Sx NAME>, E<.Sx SYNOPSIS> and E<.Sx DESCRIPTION> are mandatory. "
15420 "The headers are discussed in E<.Sx PAGE STRUCTURE DOMAIN>, after "
15421 "presentation of E<.Sx MANUAL DOMAIN>. Several content macros are used to "
15422 "demonstrate page layout macros; reading about content macros before page "
15423 "layout macros is recommended."
15427 #: build/C/man7/mdoc.samples.7:517
15429 msgid "TITLE MACROS"
15432 #. type: Plain text
15433 #: build/C/man7/mdoc.samples.7:526
15435 "The title macros are the first portion of the page structure domain, but are "
15436 "presented first and separate for someone who wishes to start writing a man "
15437 "page yesterday. Three header macros designate the document title or manual "
15438 "page title, the operating system, and the date of authorship. These macros "
15439 "are one called once at the very beginning of the document and are used to "
15440 "construct the headers and footers only."
15444 #: build/C/man7/mdoc.samples.7:527
15446 msgid "Li \\&.Dt DOCUMENT_TITLE section# [volume]"
15450 #. USD UNIX User's Supplementary Documents
15452 #. PS1 UNIX Programmer's Supplementary Documents
15453 #. type: Plain text
15454 #: build/C/man7/mdoc.samples.7:541
15456 "The document title is the subject of the man page and must be in E<.Tn "
15457 "CAPITALS> due to troff limitations. The section number may be 1,\\ ...,\\ "
15458 "8, and if it is specified, the volume title may be omitted. A volume title "
15459 "may be arbitrary or one of the following:"
15463 #: build/C/man7/mdoc.samples.7:543
15465 msgid "Li \"AMD\tUNIX Ancestral Manual Documents\""
15469 #: build/C/man7/mdoc.samples.7:544
15471 msgid "Li \"SMM\tUNIX System Manager's Manual\""
15475 #: build/C/man7/mdoc.samples.7:545
15477 msgid "Li \"URM\tUNIX Reference Manual\""
15481 #: build/C/man7/mdoc.samples.7:546
15483 msgid "Li \"PRM\tUNIX Programmer's Manual\""
15487 #. MMI UNIX Manual Master Index
15489 #. CON UNIX Contributed Software Manual
15491 #. LOC UNIX Local Manual
15492 #. type: Plain text
15493 #: build/C/man7/mdoc.samples.7:562
15495 "The default volume labeling is E<.Li URM> for sections 1, 6, and 7; E<.Li "
15496 "SMM> for section 8; E<.Li PRM> for sections 2, 3, 4, and 5."
15500 #: build/C/man7/mdoc.samples.7:562
15502 msgid "Li \\&.Os operating_system release#"
15505 #. type: Plain text
15506 #: build/C/man7/mdoc.samples.7:575
15508 "The name of the operating system should be the common acronym, for example, "
15509 "E<.Tn BSD> or E<.Tn FreeBSD> or E<.Tn ATT>. The release should be the "
15510 "standard release nomenclature for the system specified, for example, 4.3, "
15511 "4.3+Tahoe, V.3, V.4. Unrecognized arguments are displayed as given in the "
15512 "page footer. For instance, a typical footer might be:"
15516 #: build/C/man7/mdoc.samples.7:576
15518 msgid "\\&.Os 4.3BSD"
15521 #. type: Plain text
15522 #: build/C/man7/mdoc.samples.7:579
15527 #: build/C/man7/mdoc.samples.7:579
15529 msgid "\\&.Os FreeBSD 2.2"
15532 #. type: Plain text
15533 #: build/C/man7/mdoc.samples.7:582
15534 msgid "or for a locally produced set"
15538 #: build/C/man7/mdoc.samples.7:583
15540 msgid "\\&.Os CS Department"
15543 #. type: Plain text
15544 #: build/C/man7/mdoc.samples.7:598
15546 "The Berkeley default, E<.Ql \\&.Os> without an argument, has been defined as "
15547 "E<.Tn BSD> in the site-specific file E<.Pa "
15548 "/usr/share/tmac/mdoc/doc-common>. It really should default to E<.Tn "
15549 "LOCAL>. Note, if the E<.Ql \\&.Os> macro is not present, the bottom left "
15550 "corner of the page will be ugly."
15554 #: build/C/man7/mdoc.samples.7:598
15556 msgid "Li \\&.Dd month day, year"
15559 #. type: Plain text
15560 #: build/C/man7/mdoc.samples.7:600
15561 msgid "The date should be written formally:"
15565 #: build/C/man7/mdoc.samples.7:602
15567 msgid "January 25, 1989"
15571 #: build/C/man7/mdoc.samples.7:604
15573 msgid "INTRODUCTION OF MANUAL AND GENERAL TEXT DOMAINS"
15577 #: build/C/man7/mdoc.samples.7:605
15579 msgid "What's in a name..."
15582 #. type: Plain text
15583 #: build/C/man7/mdoc.samples.7:622
15585 "The manual domain macro names are derived from the day to day informal "
15586 "language used to describe commands, subroutines and related files. Slightly "
15587 "different variations of this language are used to describe the three "
15588 "different aspects of writing a man page. First, there is the description of "
15589 "E<.Nm \\-mdoc> macro request usage. Second is the description of a E<.Ux> "
15590 "command E<.Em with> E<.Nm \\-mdoc> macros and third, the description of a "
15591 "command to a user in the verbal sense; that is, discussion of a command in "
15592 "the text of a man page."
15595 #. type: Plain text
15596 #: build/C/man7/mdoc.samples.7:627
15598 "In the first case, E<.Xr troff 1> macros are themselves a type of command; "
15599 "the general syntax for a troff command is:"
15602 #. type: Plain text
15603 #: build/C/man7/mdoc.samples.7:629
15605 msgid "\\&.Va argument1 argument2 ... argument9\n"
15608 #. type: Plain text
15609 #: build/C/man7/mdoc.samples.7:643
15611 "The E<.Ql \\&.Va> is a macro command or request, and anything following it "
15612 "is an argument to be processed. In the second case, the description of a "
15613 "E<.Ux> command using the content macros is a bit more involved; a typical "
15614 "E<.Sx SYNOPSIS> command line might be displayed as:"
15617 #. type: Plain text
15618 #: build/C/man7/mdoc.samples.7:647
15623 "E<.Ar infile outfile>\n"
15626 #. type: Plain text
15627 #: build/C/man7/mdoc.samples.7:667
15629 "Here, E<.Nm filter> is the command name and the bracketed string E<.Fl flag> "
15630 "is a E<.Em flag> argument designated as optional by the option brackets. In "
15631 "E<.Nm \\-mdoc> terms, E<.Ar infile> and E<.Ar outfile> are called E<.Em "
15632 "arguments>. The macros which formatted the above example:"
15635 #. type: Plain text
15636 #: build/C/man7/mdoc.samples.7:671
15640 "\\&.Op \\&Fl flag\n"
15641 "\\&.Ar infile outfile\n"
15644 #. type: Plain text
15645 #: build/C/man7/mdoc.samples.7:685
15647 "In the third case, discussion of commands and command syntax includes both "
15648 "examples above, but may add more detail. The arguments E<.Ar infile> and "
15649 "E<.Ar outfile> from the example above might be referred to as E<.Em "
15650 "operands> or E<.Em file arguments>. Some command-line argument lists are "
15655 #: build/C/man7/mdoc.samples.7:686
15660 #. type: Plain text
15661 #: build/C/man7/mdoc.samples.7:699
15663 "E<.Op Fl eiknqrstv> E<.Op Fl D Ar variable> E<.Op Fl d Ar flags> E<.Op Fl f "
15664 "Ar makefile> E<.Bk -words> E<.Op Fl I Ar directory> E<.Ek> E<.Op Fl j Ar "
15665 "max_jobs> E<.Op Ar variable=value> E<.Bk -words> E<.Op Ar target ...> E<.Ek>"
15668 #. type: Plain text
15669 #: build/C/man7/mdoc.samples.7:725
15671 "Here one might talk about the command E<.Nm make> and qualify the argument "
15672 "E<.Ar makefile>, as an argument to the flag, E<.Fl f>, or discuss the "
15673 "optional file operand E<.Ar target>. In the verbal context, such detail can "
15674 "prevent confusion, however the E<.Nm \\-mdoc> package does not have a macro "
15675 "for an argument E<.Em to> a flag. Instead the E<.Ql \\&Ar> argument macro "
15676 "is used for an operand or file argument like E<.Ar target> as well as an "
15677 "argument to a flag like E<.Ar variable>. The make command line was produced "
15681 #. type: Plain text
15682 #: build/C/man7/mdoc.samples.7:737
15686 "\\&.Op Fl eiknqrstv\n"
15687 "\\&.Op Fl D Ar variable\n"
15688 "\\&.Op Fl d Ar flags\n"
15689 "\\&.Op Fl f Ar makefile\n"
15690 "\\&.Op Fl I Ar directory\n"
15691 "\\&.Op Fl j Ar max_jobs\n"
15692 "\\&.Op Ar variable=value\n"
15694 "\\&.Op Ar target ...\n"
15698 #. type: Plain text
15699 #: build/C/man7/mdoc.samples.7:745
15700 msgid "The E<.Ql \\&.Bk> and E<.Ql \\&.Ek> macros are explained in E<.Sx Keeps>."
15704 #: build/C/man7/mdoc.samples.7:745
15706 msgid "General Syntax"
15709 #. type: Plain text
15710 #: build/C/man7/mdoc.samples.7:768
15712 "The manual domain and general text domain macros share a similar syntax with "
15713 "a few minor deviations: E<.Ql \\&.Ar>, E<.Ql \\&.Fl>, E<.Ql \\&.Nm>, and "
15714 "E<.Ql \\&.Pa> differ only when called without arguments; E<.Ql \\&.Fn> and "
15715 "E<.Ql \\&.Xr> impose an order on their argument lists and the E<.Ql \\&.Op> "
15716 "and E<.Ql \\&.Fn> macros have nesting limitations. All content macros are "
15717 "capable of recognizing and properly handling punctuation, provided each "
15718 "punctuation character is separated by a leading space. If a request is "
15723 #: build/C/man7/mdoc.samples.7:769
15725 msgid "\\&.Li sptr, ptr),"
15728 #. type: Plain text
15729 #: build/C/man7/mdoc.samples.7:772 build/C/man7/mdoc.samples.7:782
15730 msgid "The result is:"
15734 #: build/C/man7/mdoc.samples.7:773
15736 msgid "Li sptr, ptr),"
15739 #. type: Plain text
15740 #: build/C/man7/mdoc.samples.7:778
15742 "The punctuation is not recognized and all is output in the literal font. If "
15743 "the punctuation is separated by a leading white space:"
15747 #: build/C/man7/mdoc.samples.7:779
15749 msgid "\\&.Li \"sptr , ptr ) ,\""
15753 #: build/C/man7/mdoc.samples.7:783
15755 msgid "Li sptr , ptr ) ,"
15758 #. type: Plain text
15759 #: build/C/man7/mdoc.samples.7:787
15761 "The punctuation is now recognized and is output in the default font "
15762 "distinguishing it from the strings in literal font."
15765 #. type: Plain text
15766 #: build/C/man7/mdoc.samples.7:796
15768 "To remove the special meaning from a punctuation character escape it with "
15769 "E<.Ql \\e&>. E<.Xr Troff> is limited as a macro language, and has "
15770 "difficulty when presented with a string containing a member of the "
15771 "mathematical, logical or quotation set:"
15774 #. type: Plain text
15775 #: build/C/man7/mdoc.samples.7:798
15777 msgid "\\&{+,\\-,/,*,\\&%,E<lt>,E<gt>,E<lt>=,E<gt>=,=,==,&,`,',\"}\n"
15780 #. type: Plain text
15781 #: build/C/man7/mdoc.samples.7:810
15783 "The problem is that E<.Xr troff> may assume it is supposed to actually "
15784 "perform the operation or evaluation suggested by the characters. To prevent "
15785 "the accidental evaluation of these characters, escape them with E<.Ql "
15786 "\\e&>. Typical syntax is shown in the first content macro displayed below, "
15791 #: build/C/man7/mdoc.samples.7:810
15793 msgid "MANUAL DOMAIN"
15797 #: build/C/man7/mdoc.samples.7:811
15799 msgid "Address Macro"
15802 #. type: Plain text
15803 #: build/C/man7/mdoc.samples.7:814
15805 "The address macro identifies an address construct of the form "
15806 "addr1[,addr2[,addr3]]."
15810 #: build/C/man7/mdoc.samples.7:815
15812 msgid "Usage: .Ad address ... \\*(Pu"
15816 #: build/C/man7/mdoc.samples.7:817
15818 msgid "Li \\&.Ad addr1"
15821 #. type: Plain text
15822 #: build/C/man7/mdoc.samples.7:819
15823 msgid "E<.Ad addr1>"
15827 #: build/C/man7/mdoc.samples.7:819
15829 msgid "Li \\&.Ad addr1\\ ."
15832 #. type: Plain text
15833 #: build/C/man7/mdoc.samples.7:821
15834 msgid "E<.Ad addr1>."
15838 #: build/C/man7/mdoc.samples.7:821
15840 msgid "Li \\&.Ad addr1\\ , file2"
15843 #. type: Plain text
15844 #: build/C/man7/mdoc.samples.7:823
15845 msgid "E<.Ad addr1 , file2>"
15849 #: build/C/man7/mdoc.samples.7:823
15851 msgid "Li \\&.Ad f1\\ , f2\\ , f3\\ :"
15854 #. type: Plain text
15855 #: build/C/man7/mdoc.samples.7:825
15856 msgid "E<.Ad f1 , f2 , f3>:"
15860 #: build/C/man7/mdoc.samples.7:825
15862 msgid "Li \\&.Ad addr\\ )\\ )\\ ,"
15865 #. type: Plain text
15866 #: build/C/man7/mdoc.samples.7:827
15867 msgid "E<.Ad addr>)),"
15870 #. type: Plain text
15871 #: build/C/man7/mdoc.samples.7:834
15873 "It is an error to call E<.Ql \\&.Ad> without arguments. E<.Ql \\&.Ad> is "
15874 "callable by other macros and is parsed."
15878 #: build/C/man7/mdoc.samples.7:834
15880 msgid "Author Name"
15883 #. type: Plain text
15884 #: build/C/man7/mdoc.samples.7:841
15886 "The E<.Ql \\&.An> macro is used to specify the name of the author of the "
15887 "item being documented, or the name of the author of the actual manual page. "
15888 "Any remaining arguments after the name information are assumed to be "
15893 #: build/C/man7/mdoc.samples.7:842
15895 msgid "Usage: .An author_name \\*(Pu"
15899 #: build/C/man7/mdoc.samples.7:844
15901 msgid "Li \\&.An Joe\\ Author"
15904 #. type: Plain text
15905 #: build/C/man7/mdoc.samples.7:846
15906 msgid "E<.An Joe Author>"
15910 #: build/C/man7/mdoc.samples.7:846
15912 msgid "Li \\&.An Joe\\ Author\\ ,"
15915 #. type: Plain text
15916 #: build/C/man7/mdoc.samples.7:848
15917 msgid "E<.An Joe\\ Author>,"
15921 #: build/C/man7/mdoc.samples.7:848
15923 msgid "Li \\&.An Joe\\ Author\\ \\&Aq\\ nobody@FreeBSD.ORG"
15926 #. type: Plain text
15927 #: build/C/man7/mdoc.samples.7:850
15928 msgid "E<.An Joe Author Aq nobody@FreeBSD.ORG>"
15932 #: build/C/man7/mdoc.samples.7:850
15934 msgid "Li \\&.An Joe\\ Author\\ )\\ )\\ ,"
15937 #. type: Plain text
15938 #: build/C/man7/mdoc.samples.7:852
15939 msgid "E<.An Joe Author>)),"
15942 #. type: Plain text
15943 #: build/C/man7/mdoc.samples.7:861
15945 "The E<.Ql \\&.An> macro is parsed and is callable. It is an error to call "
15946 "E<.Ql \\&.An> without any arguments."
15950 #: build/C/man7/mdoc.samples.7:861
15952 msgid "Argument Macro"
15955 #. type: Plain text
15956 #: build/C/man7/mdoc.samples.7:866
15958 "The E<.Ql \\&.Ar> argument macro may be used whenever a command-line "
15959 "argument is referenced."
15963 #: build/C/man7/mdoc.samples.7:867
15965 msgid "Usage: .Ar argument ... \\*(Pu"
15969 #: build/C/man7/mdoc.samples.7:869
15974 #. type: Plain text
15975 #: build/C/man7/mdoc.samples.7:871
15980 #: build/C/man7/mdoc.samples.7:871
15982 msgid "Li \\&.Ar file1"
15985 #. type: Plain text
15986 #: build/C/man7/mdoc.samples.7:873
15987 msgid "E<.Ar file1>"
15991 #: build/C/man7/mdoc.samples.7:873
15993 msgid "Li \\&.Ar file1\\ ."
15996 #. type: Plain text
15997 #: build/C/man7/mdoc.samples.7:875
15998 msgid "E<.Ar file1>."
16002 #: build/C/man7/mdoc.samples.7:875
16004 msgid "Li \\&.Ar file1 file2"
16007 #. type: Plain text
16008 #: build/C/man7/mdoc.samples.7:877
16009 msgid "E<.Ar file1 file2>"
16013 #: build/C/man7/mdoc.samples.7:877
16015 msgid "Li \\&.Ar f1 f2 f3\\ :"
16018 #. type: Plain text
16019 #: build/C/man7/mdoc.samples.7:879
16020 msgid "E<.Ar f1 f2 f3>:"
16024 #: build/C/man7/mdoc.samples.7:879
16026 msgid "Li \\&.Ar file\\ )\\ )\\ ,"
16029 #. type: Plain text
16030 #: build/C/man7/mdoc.samples.7:881
16031 msgid "E<.Ar file>)),"
16034 #. type: Plain text
16035 #: build/C/man7/mdoc.samples.7:891
16037 "If E<.Ql \\&.Ar> is called without arguments E<.Ql \\&Ar> is assumed. The "
16038 "E<.Ql \\&.Ar> macro is parsed and is callable."
16042 #: build/C/man7/mdoc.samples.7:891
16044 msgid "Configuration Declaration (section four only)"
16047 #. type: Plain text
16048 #: build/C/man7/mdoc.samples.7:898
16050 "The E<.Ql \\&.Cd> macro is used to demonstrate a E<.Xr config 8> declaration "
16051 "for a device interface in a section four manual. This macro accepts quoted "
16052 "arguments (double quotes only)."
16056 #: build/C/man7/mdoc.samples.7:900
16058 msgid "Cd \"device le0 at scode?\""
16061 #. type: Plain text
16062 #: build/C/man7/mdoc.samples.7:903
16063 msgid "produced by: E<.Ql \".Cd device le0 at scode?\">."
16067 #: build/C/man7/mdoc.samples.7:904
16069 msgid "Command Modifier"
16072 #. type: Plain text
16073 #: build/C/man7/mdoc.samples.7:918
16075 "The command modifier is identical to the E<.Ql \\&.Fl> (flag) command with "
16076 "the exception the E<.Ql \\&.Cm> macro does not assert a dash in front of "
16077 "every argument. Traditionally flags are marked by the preceding dash, some "
16078 "commands or subsets of commands do not use them. Command modifiers may also "
16079 "be specified in conjunction with interactive commands such as editor "
16080 "commands. See E<.Sx Flags>."
16084 #: build/C/man7/mdoc.samples.7:918
16086 msgid "Defined Variables"
16089 #. type: Plain text
16090 #: build/C/man7/mdoc.samples.7:922
16092 "A variable which is defined in an include file is specified by the macro "
16097 #: build/C/man7/mdoc.samples.7:923
16099 msgid "Usage: .Dv defined_variable ... \\*(Pu"
16103 #: build/C/man7/mdoc.samples.7:925
16105 msgid "Li \".Dv MAXHOSTNAMELEN\""
16108 #. type: Plain text
16109 #: build/C/man7/mdoc.samples.7:927
16110 msgid "E<.Dv MAXHOSTNAMELEN>"
16114 #: build/C/man7/mdoc.samples.7:927
16116 msgid "Li \".Dv TIOCGPGRP )\""
16119 #. type: Plain text
16120 #: build/C/man7/mdoc.samples.7:929
16121 msgid "E<.Dv TIOCGPGRP>)"
16124 #. type: Plain text
16125 #: build/C/man7/mdoc.samples.7:936
16127 "It is an error to call E<.Ql \\&.Dv> without arguments. E<.Ql \\&.Dv> is "
16128 "parsed and is callable."
16132 #: build/C/man7/mdoc.samples.7:936
16134 msgid "Errno's (Section two only)"
16137 #. type: Plain text
16138 #: build/C/man7/mdoc.samples.7:948
16140 "The E<.Ql \\&.Er> errno macro specifies the error return value for section "
16141 "two library routines. The second example below shows E<.Ql \\&.Er> used "
16142 "with the E<.Ql \\&.Bq> general text domain macro, as it would be used in a "
16143 "section two manual page."
16147 #: build/C/man7/mdoc.samples.7:949
16149 msgid "Usage: .Er ERRNOTYPE ... \\*(Pu"
16153 #: build/C/man7/mdoc.samples.7:951
16155 msgid "Li \\&.Er ENOENT"
16158 #. type: Plain text
16159 #: build/C/man7/mdoc.samples.7:953
16160 msgid "E<.Er ENOENT>"
16164 #: build/C/man7/mdoc.samples.7:953
16166 msgid "Li \\&.Er ENOENT\\ )\\ ;"
16169 #. type: Plain text
16170 #: build/C/man7/mdoc.samples.7:955
16171 msgid "E<.Er ENOENT>);"
16175 #: build/C/man7/mdoc.samples.7:955
16177 msgid "Li \\&.Bq \\&Er ENOTDIR"
16180 #. type: Plain text
16181 #: build/C/man7/mdoc.samples.7:957
16182 msgid "E<.Bq Er ENOTDIR>"
16185 #. type: Plain text
16186 #: build/C/man7/mdoc.samples.7:965
16188 "It is an error to call E<.Ql \\&.Er> without arguments. The E<.Ql \\&.Er> "
16189 "macro is parsed and is callable."
16193 #: build/C/man7/mdoc.samples.7:965
16195 msgid "Environment Variables"
16198 #. type: Plain text
16199 #: build/C/man7/mdoc.samples.7:969
16200 msgid "The E<.Ql \\&.Ev> macro specifies an environment variable."
16204 #: build/C/man7/mdoc.samples.7:970
16206 msgid "Usage: .Ev argument ... \\*(Pu"
16210 #: build/C/man7/mdoc.samples.7:972
16212 msgid "Li \\&.Ev DISPLAY"
16215 #. type: Plain text
16216 #: build/C/man7/mdoc.samples.7:974
16217 msgid "E<.Ev DISPLAY>"
16221 #: build/C/man7/mdoc.samples.7:974
16223 msgid "Li \\&.Ev PATH\\ ."
16226 #. type: Plain text
16227 #: build/C/man7/mdoc.samples.7:976
16228 msgid "E<.Ev PATH>."
16232 #: build/C/man7/mdoc.samples.7:976
16234 msgid "Li \\&.Ev PRINTER\\ )\\ )\\ ,"
16237 #. type: Plain text
16238 #: build/C/man7/mdoc.samples.7:978
16239 msgid "E<.Ev PRINTER>)),"
16242 #. type: Plain text
16243 #: build/C/man7/mdoc.samples.7:986
16245 "It is an error to call E<.Ql \\&.Ev> without arguments. The E<.Ql \\&.Ev> "
16246 "macro is parsed and is callable."
16250 #: build/C/man7/mdoc.samples.7:986
16252 msgid "Function Argument"
16255 #. type: Plain text
16256 #: build/C/man7/mdoc.samples.7:1005
16258 "The E<.Ql \\&.Fa> macro is used to refer to function arguments (parameters) "
16259 "outside of the E<.Sx SYNOPSIS> section of the manual or inside the E<.Sx "
16260 "SYNOPSIS> section should a parameter list be too long for the E<.Ql \\&.Fn> "
16261 "macro and the enclosure macros E<.Ql \\&.Fo> and E<.Ql \\&.Fc> must be "
16262 "used. E<.Ql \\&.Fa> may also be used to refer to structure members."
16266 #: build/C/man7/mdoc.samples.7:1006
16268 msgid "Usage: .Fa function_argument ... \\*(Pu"
16272 #: build/C/man7/mdoc.samples.7:1008
16274 msgid "Li \\&.Fa d_namlen\\ )\\ )\\ ,"
16277 #. type: Plain text
16278 #: build/C/man7/mdoc.samples.7:1010
16279 msgid "E<.Fa d_namlen>)),"
16283 #: build/C/man7/mdoc.samples.7:1010
16285 msgid "Li \\&.Fa iov_len"
16288 #. type: Plain text
16289 #: build/C/man7/mdoc.samples.7:1012
16290 msgid "E<.Fa iov_len>"
16293 #. type: Plain text
16294 #: build/C/man7/mdoc.samples.7:1019
16296 "It is an error to call E<.Ql \\&.Fa> without arguments. E<.Ql \\&.Fa> is "
16297 "parsed and is callable."
16301 #: build/C/man7/mdoc.samples.7:1019
16303 msgid "Function Declaration"
16306 #. type: Plain text
16307 #: build/C/man7/mdoc.samples.7:1030
16309 "The E<.Ql \\&.Fd> macro is used in the E<.Sx SYNOPSIS> section with section "
16310 "two or three functions. The E<.Ql \\&.Fd> macro does not call other macros "
16311 "and is not callable by other macros."
16315 #: build/C/man7/mdoc.samples.7:1031
16317 msgid "Usage: .Fd include_file (or defined variable)"
16320 #. type: Plain text
16321 #: build/C/man7/mdoc.samples.7:1042
16323 "In the E<.Sx SYNOPSIS> section a E<.Ql \\&.Fd> request causes a line break "
16324 "if a function has already been presented and a break has not occurred. This "
16325 "leaves a nice vertical space in between the previous function call and the "
16326 "declaration for the next function."
16330 #: build/C/man7/mdoc.samples.7:1042
16335 #. type: Plain text
16336 #: build/C/man7/mdoc.samples.7:1055
16338 "The E<.Ql \\&.Fl> macro handles command-line flags. It prepends a dash, "
16339 "E<.Ql \\->, to the flag. For interactive command flags, which are not "
16340 "prepended with a dash, the E<.Ql \\&.Cm> (command modifier) macro is "
16341 "identical, but without the dash."
16345 #: build/C/man7/mdoc.samples.7:1056
16347 msgid "Usage: .Fl argument ... \\*(Pu"
16351 #: build/C/man7/mdoc.samples.7:1058
16356 #. type: Plain text
16357 #: build/C/man7/mdoc.samples.7:1060
16362 #: build/C/man7/mdoc.samples.7:1060
16364 msgid "Li \\&.Fl cfv"
16367 #. type: Plain text
16368 #: build/C/man7/mdoc.samples.7:1062
16373 #: build/C/man7/mdoc.samples.7:1062
16375 msgid "Li \\&.Fl cfv\\ ."
16378 #. type: Plain text
16379 #: build/C/man7/mdoc.samples.7:1064
16380 msgid "E<.Fl cfv>."
16384 #: build/C/man7/mdoc.samples.7:1064
16386 msgid "Li \\&.Fl s v t"
16389 #. type: Plain text
16390 #: build/C/man7/mdoc.samples.7:1066
16391 msgid "E<.Fl s v t>"
16395 #: build/C/man7/mdoc.samples.7:1066
16397 msgid "Li \\&.Fl -\\ ,"
16400 #. type: Plain text
16401 #: build/C/man7/mdoc.samples.7:1068
16406 #: build/C/man7/mdoc.samples.7:1068
16408 msgid "Li \\&.Fl xyz\\ )\\ ,"
16411 #. type: Plain text
16412 #: build/C/man7/mdoc.samples.7:1070
16413 msgid "E<.Fl xyz>),"
16416 #. type: Plain text
16417 #: build/C/man7/mdoc.samples.7:1082
16419 "The E<.Ql \\&.Fl> macro without any arguments results in a dash representing "
16420 "I<stdin>/I<stdout>. Note that giving E<.Ql \\&.Fl> a single dash, will "
16421 "result in two dashes. The E<.Ql \\&.Fl> macro is parsed and is callable."
16425 #: build/C/man7/mdoc.samples.7:1082
16427 msgid "Functions (library routines)"
16430 #. type: Plain text
16431 #: build/C/man7/mdoc.samples.7:1084
16432 msgid "The .Fn macro is modeled on ANSI C conventions."
16435 #. type: Plain text
16436 #: build/C/man7/mdoc.samples.7:1086
16438 msgid "Usage: .Fn [type] function [[type] parameters ... \\*(Pu]\n"
16442 #: build/C/man7/mdoc.samples.7:1088
16444 msgid "Li \"\\&.Fn getchar\""
16447 #. type: Plain text
16448 #: build/C/man7/mdoc.samples.7:1090
16449 msgid "E<.Fn getchar>"
16453 #: build/C/man7/mdoc.samples.7:1090
16455 msgid "Li \"\\&.Fn strlen ) ,\""
16458 #. type: Plain text
16459 #: build/C/man7/mdoc.samples.7:1092
16460 msgid "E<.Fn strlen>),"
16464 #: build/C/man7/mdoc.samples.7:1092
16466 msgid "Li \\&.Fn \"\\*qint align\\*q\" \"\\*qconst * char *sptrs\\*q\" ,"
16469 #. type: Plain text
16470 #: build/C/man7/mdoc.samples.7:1094
16471 msgid "E<.Fn \"int align\" \"const * char *sptrs\">,"
16474 #. type: Plain text
16475 #: build/C/man7/mdoc.samples.7:1107
16477 "It is an error to call E<.Ql \\&.Fn> without any arguments. The E<.Ql "
16478 "\\&.Fn> macro is parsed and is callable, note that any call to another macro "
16479 "signals the end of the E<.Ql \\&.Fn> call (it will close-parenthesis at that "
16483 #. type: Plain text
16484 #: build/C/man7/mdoc.samples.7:1121
16486 "For functions that have more than eight parameters (and this is rare), the "
16487 "macros E<.Ql \\&.Fo> (function open) and E<.Ql \\&.Fc> (function close) "
16488 "may be used with E<.Ql \\&.Fa> (function argument) to get around the "
16489 "limitation. For example:"
16492 #. type: Plain text
16493 #: build/C/man7/mdoc.samples.7:1133
16496 "\\&.Fo \"int res_mkquery\"\n"
16497 "\\&.Fa \"int op\"\n"
16498 "\\&.Fa \"char *dname\"\n"
16499 "\\&.Fa \"int class\"\n"
16500 "\\&.Fa \"int type\"\n"
16501 "\\&.Fa \"char *data\"\n"
16502 "\\&.Fa \"int datalen\"\n"
16503 "\\&.Fa \"struct rrec *newrr\"\n"
16504 "\\&.Fa \"char *buf\"\n"
16505 "\\&.Fa \"int buflen\"\n"
16509 #. type: Plain text
16510 #: build/C/man7/mdoc.samples.7:1136 build/C/man7/mdoc.samples.7:2480
16514 #. type: Plain text
16515 #: build/C/man7/mdoc.samples.7:1148
16518 "E<.Fo \"int res_mkquery\">\n"
16519 "E<.Fa \"int op\">\n"
16520 "E<.Fa \"char *dname\">\n"
16521 "E<.Fa \"int class\">\n"
16522 "E<.Fa \"int type\">\n"
16523 "E<.Fa \"char *data\">\n"
16524 "E<.Fa \"int datalen\">\n"
16525 "E<.Fa \"struct rrec *newrr\">\n"
16526 "E<.Fa \"char *buf\">\n"
16527 "E<.Fa \"int buflen\">\n"
16531 #. type: Plain text
16532 #: build/C/man7/mdoc.samples.7:1171
16534 "The E<.Ql \\&.Fo> and E<.Ql \\&.Fc> macros are parsed and are callable. In "
16535 "the E<.Sx SYNOPSIS> section, the function will always begin at the beginning "
16536 "of line. If there is more than one function presented in the E<.Sx "
16537 "SYNOPSIS> section and a function type has not been given, a line break will "
16538 "occur, leaving a nice vertical space between the current function name and "
16539 "the one prior. At the moment, E<.Ql \\&.Fn> does not check its word "
16540 "boundaries against troff line lengths and may split across a newline "
16541 "ungracefully. This will be fixed in the near future."
16545 #: build/C/man7/mdoc.samples.7:1171
16547 msgid "Function Type"
16550 #. type: Plain text
16551 #: build/C/man7/mdoc.samples.7:1182
16553 "This macro is intended for the E<.Sx SYNOPSIS> section. It may be used "
16554 "anywhere else in the man page without problems, but its main purpose is to "
16555 "present the function type in kernel normal form for the E<.Sx SYNOPSIS> of "
16556 "sections two and three (it causes a line break allowing the function name to "
16557 "appear on the next line)."
16561 #: build/C/man7/mdoc.samples.7:1183
16563 msgid "Usage: .Ft type ... \\*(Pu"
16567 #: build/C/man7/mdoc.samples.7:1185
16569 msgid "Li \\&.Ft struct stat"
16572 #. type: Plain text
16573 #: build/C/man7/mdoc.samples.7:1187
16574 msgid "E<.Ft struct stat>"
16577 #. type: Plain text
16578 #: build/C/man7/mdoc.samples.7:1192
16579 msgid "The E<.Ql \\&.Ft> request is not callable by other macros."
16583 #: build/C/man7/mdoc.samples.7:1192
16585 msgid "Interactive Commands"
16588 #. type: Plain text
16589 #: build/C/man7/mdoc.samples.7:1196
16590 msgid "The E<.Ql \\&.Ic> macro designates an interactive or internal command."
16594 #: build/C/man7/mdoc.samples.7:1197
16596 msgid "Usage: .Ic argument ... \\*(Pu"
16600 #: build/C/man7/mdoc.samples.7:1199
16602 msgid "Li \\&.Ic :wq"
16605 #. type: Plain text
16606 #: build/C/man7/mdoc.samples.7:1201
16611 #: build/C/man7/mdoc.samples.7:1201
16613 msgid "Li \\&.Ic do while {...}"
16616 #. type: Plain text
16617 #: build/C/man7/mdoc.samples.7:1203
16618 msgid "E<.Ic do while {...}>"
16622 #: build/C/man7/mdoc.samples.7:1203
16624 msgid "Li \\&.Ic setenv\\ , unsetenv"
16627 #. type: Plain text
16628 #: build/C/man7/mdoc.samples.7:1205
16629 msgid "E<.Ic setenv , unsetenv>"
16632 #. type: Plain text
16633 #: build/C/man7/mdoc.samples.7:1213
16635 "It is an error to call E<.Ql \\&.Ic> without arguments. The E<.Ql \\&.Ic> "
16636 "macro is parsed and is callable."
16640 #: build/C/man7/mdoc.samples.7:1213
16645 #. type: Plain text
16646 #: build/C/man7/mdoc.samples.7:1249
16648 "The E<.Ql \\&.Nm> macro is used for the document title or subject name. It "
16649 "has the peculiarity of remembering the first argument it was called with, "
16650 "which should always be the subject name of the page. When called without "
16651 "arguments, E<.Ql \\&.Nm> regurgitates this initial name for the sole purpose "
16652 "of making less work for the author. Note: a section two or three document "
16653 "function name is addressed with the E<.Ql \\&.Nm> in the E<.Sx NAME> "
16654 "section, and with E<.Ql \\&.Fn> in the E<.Sx SYNOPSIS> and remaining "
16655 "sections. For interactive commands, such as the E<.Ql while> command "
16656 "keyword in E<.Xr csh 1>, the E<.Ql \\&.Ic> macro should be used. While the "
16657 "E<.Ql \\&.Ic> is nearly identical to E<.Ql \\&.Nm>, it can not recall the "
16658 "first argument it was invoked with."
16662 #: build/C/man7/mdoc.samples.7:1250
16664 msgid "Usage: .Nm argument ... \\*(Pu"
16668 #: build/C/man7/mdoc.samples.7:1252
16670 msgid "Li \\&.Nm mdoc.sample"
16673 #. type: Plain text
16674 #: build/C/man7/mdoc.samples.7:1254
16675 msgid "E<.Nm mdoc.sample>"
16679 #: build/C/man7/mdoc.samples.7:1254
16681 msgid "Li \\&.Nm \\e-mdoc"
16684 #. type: Plain text
16685 #: build/C/man7/mdoc.samples.7:1256
16686 msgid "E<.Nm \\-mdoc>."
16690 #: build/C/man7/mdoc.samples.7:1256
16692 msgid "Li \\&.Nm foo\\ )\\ )\\ ,"
16695 #. type: Plain text
16696 #: build/C/man7/mdoc.samples.7:1258
16697 msgid "E<.Nm foo>)),"
16701 #: build/C/man7/mdoc.samples.7:1258
16706 #. type: Plain text
16707 #: build/C/man7/mdoc.samples.7:1260
16711 #. type: Plain text
16712 #: build/C/man7/mdoc.samples.7:1265
16713 msgid "The E<.Ql \\&.Nm> macro is parsed and is callable."
16717 #: build/C/man7/mdoc.samples.7:1265
16722 #. type: Plain text
16723 #: build/C/man7/mdoc.samples.7:1277
16725 "The E<.Ql \\&.Op> macro places option brackets around the any remaining "
16726 "arguments on the command line, and places any trailing punctuation outside "
16727 "the brackets. The macros E<.Ql \\&.Oc> and E<.Ql \\&.Oo> may be used across "
16728 "one or more lines."
16732 #: build/C/man7/mdoc.samples.7:1278
16734 msgid "Usage: .Op options ... \\*(Pu"
16738 #: build/C/man7/mdoc.samples.7:1280
16743 #. type: Plain text
16744 #: build/C/man7/mdoc.samples.7:1282
16749 #: build/C/man7/mdoc.samples.7:1282
16751 msgid "Li \".Op Fl k\""
16754 #. type: Plain text
16755 #: build/C/man7/mdoc.samples.7:1284
16756 msgid "E<.Op Fl k>"
16760 #: build/C/man7/mdoc.samples.7:1284
16762 msgid "Li \".Op Fl k ) .\""
16765 #. type: Plain text
16766 #: build/C/man7/mdoc.samples.7:1286
16767 msgid "E<.Op Fl k>)."
16771 #: build/C/man7/mdoc.samples.7:1286
16773 msgid "Li \".Op Fl k Ar kookfile\""
16776 #. type: Plain text
16777 #: build/C/man7/mdoc.samples.7:1288
16778 msgid "E<.Op Fl k Ar kookfile>"
16782 #: build/C/man7/mdoc.samples.7:1288
16784 msgid "Li \".Op Fl k Ar kookfile ,\""
16787 #. type: Plain text
16788 #: build/C/man7/mdoc.samples.7:1290
16789 msgid "E<.Op Fl k Ar kookfile>,"
16793 #: build/C/man7/mdoc.samples.7:1290
16795 msgid "Li \".Op Ar objfil Op Ar corfil\""
16798 #. type: Plain text
16799 #: build/C/man7/mdoc.samples.7:1292
16800 msgid "E<.Op Ar objfil Op Ar corfil>"
16804 #: build/C/man7/mdoc.samples.7:1292
16806 msgid "Li \".Op Fl c Ar objfil Op Ar corfil ,\""
16809 #. type: Plain text
16810 #: build/C/man7/mdoc.samples.7:1294
16811 msgid "E<.Op Fl c Ar objfil Op Ar corfil>,"
16815 #: build/C/man7/mdoc.samples.7:1294
16817 msgid "Li \\&.Op word1 word2"
16820 #. type: Plain text
16821 #: build/C/man7/mdoc.samples.7:1296
16822 msgid "E<.Op word1 word2>"
16825 #. type: Plain text
16826 #: build/C/man7/mdoc.samples.7:1303
16827 msgid "The E<.Ql \\&.Oc> and E<.Ql \\&.Oo> macros:"
16830 #. type: Plain text
16831 #: build/C/man7/mdoc.samples.7:1309
16835 "\\&.Op \\&Fl k \\&Ar kilobytes\n"
16836 "\\&.Op \\&Fl i \\&Ar interval\n"
16837 "\\&.Op \\&Fl c \\&Ar count\n"
16841 #. type: Plain text
16842 #: build/C/man7/mdoc.samples.7:1317
16844 "Produce: E<.Oo> E<.Op Fl k Ar kilobytes> E<.Op Fl i Ar interval> E<.Op Fl c "
16848 #. type: Plain text
16849 #: build/C/man7/mdoc.samples.7:1324
16851 "The macros E<.Ql \\&.Op>, E<.Ql \\&.Oc> and E<.Ql \\&.Oo> are parsed and are "
16856 #: build/C/man7/mdoc.samples.7:1324
16861 #. type: Plain text
16862 #: build/C/man7/mdoc.samples.7:1328
16863 msgid "The E<.Ql \\&.Pa> macro formats pathnames or filenames."
16867 #: build/C/man7/mdoc.samples.7:1329
16869 msgid "Usage: .Pa pathname \\*(Pu"
16873 #: build/C/man7/mdoc.samples.7:1331
16875 msgid "Li \\&.Pa /usr/share"
16878 #. type: Plain text
16879 #: build/C/man7/mdoc.samples.7:1333
16880 msgid "E<.Pa /usr/share>"
16884 #: build/C/man7/mdoc.samples.7:1333
16886 msgid "Li \\&.Pa /tmp/fooXXXXX\\ )\\ ."
16889 #. type: Plain text
16890 #: build/C/man7/mdoc.samples.7:1335
16891 msgid "E<.Pa /tmp/fooXXXXX>)."
16894 #. type: Plain text
16895 #: build/C/man7/mdoc.samples.7:1340
16896 msgid "The E<.Ql \\&.Pa> macro is parsed and is callable."
16900 #: build/C/man7/mdoc.samples.7:1340
16905 #. type: Plain text
16906 #: build/C/man7/mdoc.samples.7:1342
16907 msgid "Generic variable reference:"
16911 #: build/C/man7/mdoc.samples.7:1343
16913 msgid "Usage: .Va variable ... \\*(Pu"
16917 #: build/C/man7/mdoc.samples.7:1345
16919 msgid "Li \\&.Va count"
16922 #. type: Plain text
16923 #: build/C/man7/mdoc.samples.7:1347
16924 msgid "E<.Va count>"
16928 #: build/C/man7/mdoc.samples.7:1347
16930 msgid "Li \\&.Va settimer ,"
16933 #. type: Plain text
16934 #: build/C/man7/mdoc.samples.7:1349
16935 msgid "E<.Va settimer>,"
16939 #: build/C/man7/mdoc.samples.7:1349
16941 msgid "Li \\&.Va int\\ *prt\\ )\\ :"
16944 #. type: Plain text
16945 #: build/C/man7/mdoc.samples.7:1351
16946 msgid "E<.Va int\\ *prt>):"
16950 #: build/C/man7/mdoc.samples.7:1351
16952 msgid "Li \\&.Va char\\ s\\ ]\\ )\\ )\\ ,"
16955 #. type: Plain text
16956 #: build/C/man7/mdoc.samples.7:1353
16957 msgid "E<.Va char\\ s>])),"
16960 #. type: Plain text
16961 #: build/C/man7/mdoc.samples.7:1361
16963 "It is an error to call E<.Ql \\&.Va> without any arguments. The E<.Ql "
16964 "\\&.Va> macro is parsed and is callable."
16968 #: build/C/man7/mdoc.samples.7:1361
16970 msgid "Manual Page Cross References"
16973 #. type: Plain text
16974 #: build/C/man7/mdoc.samples.7:1369
16976 "The E<.Ql \\&.Xr> macro expects the first argument to be a manual page name, "
16977 "and the second argument, if it exists, to be either a section page number or "
16978 "punctuation. Any remaining arguments are assumed to be punctuation."
16982 #: build/C/man7/mdoc.samples.7:1370
16984 msgid "Usage: .Xr man_page [1,...,8] \\*(Pu"
16988 #: build/C/man7/mdoc.samples.7:1372
16990 msgid "Li \\&.Xr mdoc"
16993 #. type: Plain text
16994 #: build/C/man7/mdoc.samples.7:1374
16995 msgid "E<.Xr mdoc>"
16999 #: build/C/man7/mdoc.samples.7:1374
17001 msgid "Li \\&.Xr mdoc\\ ,"
17004 #. type: Plain text
17005 #: build/C/man7/mdoc.samples.7:1376
17006 msgid "E<.Xr mdoc>,"
17010 #: build/C/man7/mdoc.samples.7:1376
17012 msgid "Li \\&.Xr mdoc 7"
17015 #. type: Plain text
17016 #: build/C/man7/mdoc.samples.7:1378
17017 msgid "E<.Xr mdoc 7>"
17021 #: build/C/man7/mdoc.samples.7:1378
17023 msgid "Li \\&.Xr mdoc 7\\ )\\ )\\ ,"
17026 #. type: Plain text
17027 #: build/C/man7/mdoc.samples.7:1380
17028 msgid "E<.Xr mdoc 7>)),"
17031 #. type: Plain text
17032 #: build/C/man7/mdoc.samples.7:1389
17034 "The E<.Ql \\&.Xr> macro is parsed and is callable. It is an error to call "
17035 "E<.Ql \\&.Xr> without any arguments."
17039 #: build/C/man7/mdoc.samples.7:1389
17041 msgid "GENERAL TEXT DOMAIN"
17045 #: build/C/man7/mdoc.samples.7:1390
17050 #. type: Plain text
17051 #: build/C/man7/mdoc.samples.7:1393
17053 msgid "Usage: .At [v6 | v7 | 32v | V.1 | V.4] ... \\*(Pu\n"
17057 #: build/C/man7/mdoc.samples.7:1395
17062 #. type: Plain text
17063 #: build/C/man7/mdoc.samples.7:1397
17068 #: build/C/man7/mdoc.samples.7:1397
17070 msgid "Li \".At v6 .\""
17073 #. type: Plain text
17074 #: build/C/man7/mdoc.samples.7:1399
17078 #. type: Plain text
17079 #: build/C/man7/mdoc.samples.7:1409
17081 "The E<.Ql \\&.At> macro is E<.Em not> parsed and E<.Em not> callable It "
17082 "accepts at most two arguments."
17086 #: build/C/man7/mdoc.samples.7:1409
17092 #: build/C/man7/mdoc.samples.7:1410
17094 msgid "Usage: .Bx [Version/release] ... \\*(Pu"
17098 #: build/C/man7/mdoc.samples.7:1412
17103 #. type: Plain text
17104 #: build/C/man7/mdoc.samples.7:1414
17109 #: build/C/man7/mdoc.samples.7:1414
17111 msgid "Li \".Bx 4.3 .\""
17114 #. type: Plain text
17115 #: build/C/man7/mdoc.samples.7:1416
17116 msgid "E<.Bx 4.3>."
17119 #. type: Plain text
17120 #: build/C/man7/mdoc.samples.7:1421
17121 msgid "The E<.Ql \\&.Bx> macro is parsed and is callable."
17125 #: build/C/man7/mdoc.samples.7:1421
17127 msgid "FreeBSD Macro"
17130 #. type: Plain text
17131 #: build/C/man7/mdoc.samples.7:1424
17133 msgid "Usage: .Fx Version.release ... \\*(Pu\n"
17137 #: build/C/man7/mdoc.samples.7:1426
17139 msgid "Li \".Fx 2.2 .\""
17142 #. type: Plain text
17143 #: build/C/man7/mdoc.samples.7:1428
17144 msgid "E<.Fx 2.2>."
17147 #. type: Plain text
17148 #: build/C/man7/mdoc.samples.7:1438
17150 "The E<.Ql \\&.Fx> macro is E<.Em not> parsed and E<.Em not> callable It "
17151 "accepts at most two arguments."
17155 #: build/C/man7/mdoc.samples.7:1438
17161 #: build/C/man7/mdoc.samples.7:1439
17163 msgid "Usage: .Ux ... \\*(Pu"
17167 #: build/C/man7/mdoc.samples.7:1441
17172 #. type: Plain text
17173 #: build/C/man7/mdoc.samples.7:1443
17177 #. type: Plain text
17178 #: build/C/man7/mdoc.samples.7:1448
17179 msgid "The E<.Ql \\&.Ux> macro is parsed and is callable."
17183 #: build/C/man7/mdoc.samples.7:1448
17185 msgid "Enclosure and Quoting Macros"
17188 #. type: Plain text
17189 #: build/C/man7/mdoc.samples.7:1470
17191 "The concept of enclosure is similar to quoting. The object being to enclose "
17192 "one or more strings between a pair of characters like quotes or "
17193 "parentheses. The terms quoting and enclosure are used interchangeably "
17194 "throughout this document. Most of the one line enclosure macros end in "
17195 "small letter E<.Ql q> to give a hint of quoting, but there are a few "
17196 "irregularities. For each enclosure macro there is also a pair of open and "
17197 "close macros which end in small letters E<.Ql o> and E<.Ql c> respectively. "
17198 "These can be used across one or more lines of text and while they have "
17199 "nesting limitations, the one line quote macros can be used inside of them."
17202 #. type: Plain text
17203 #: build/C/man7/mdoc.samples.7:1483
17206 "E<.Em \" Quote\t Close\t Open\tFunction\tResult\">\n"
17207 "\\&.Aq\t.Ac\t.Ao\tAngle Bracket Enclosure\tE<lt>stringE<gt>\n"
17208 "\\&.Bq\t.Bc\t.Bo\tBracket Enclosure\t[string]\n"
17209 "\\&.Dq\t.Dc\t.Do\tDouble Quote\t``string''\n"
17210 "\t.Ec\t.Eo\tEnclose String (in XX)\tXXstringXX\n"
17211 "\\&.Pq\t.Pc\t.Po\tParenthesis Enclosure\t(string)\n"
17212 "\\&.Ql\t\t\tQuoted Literal\t`st' or string\n"
17213 "\\&.Qq\t.Qc\t.Qo\tStraight Double Quote\t\"string\"\n"
17214 "\\&.Sq\t.Sc\t.So\tSingle Quote\t`string'\n"
17217 #. type: Plain text
17218 #: build/C/man7/mdoc.samples.7:1494
17220 "Except for the irregular macros noted below, all of the quoting macros are "
17221 "parsed and callable. All handle punctuation properly, as long as it is "
17222 "presented one character at a time and separated by spaces. The quoting "
17223 "macros examine opening and closing punctuation to determine whether it comes "
17224 "before or after the enclosing string This makes some nesting possible."
17228 #: build/C/man7/mdoc.samples.7:1495
17230 msgid "Li \\&.Ec , \\&.Eo"
17233 #. type: Plain text
17234 #: build/C/man7/mdoc.samples.7:1498
17236 "These macros expect the first argument to be the opening and closing strings "
17241 #: build/C/man7/mdoc.samples.7:1498
17246 #. type: Plain text
17247 #: build/C/man7/mdoc.samples.7:1511
17249 "The quoted literal macro behaves differently for E<.Xr troff> than E<.Xr "
17250 "nroff>. If formatted with E<.Xr nroff>, a quoted literal is always quoted. "
17251 "If formatted with troff, an item is quoted only if the width of the item is "
17252 "less than three constant width characters. This is to make short strings "
17253 "more visible where the font change to literal (constant width) is less "
17258 #: build/C/man7/mdoc.samples.7:1511
17263 #. type: Plain text
17264 #: build/C/man7/mdoc.samples.7:1513
17265 msgid "The prefix macro is not callable, but it is parsed:"
17269 #: build/C/man7/mdoc.samples.7:1514
17271 msgid "Li \".Pf ( Fa name2\""
17274 #. type: Plain text
17275 #: build/C/man7/mdoc.samples.7:1517
17276 msgid "becomes E<.Pf ( Fa name2>."
17279 #. type: Plain text
17280 #: build/C/man7/mdoc.samples.7:1522
17281 msgid "The E<.Ql \\&.Ns> (no space) macro performs the analogous suffix function."
17284 #. type: Plain text
17285 #: build/C/man7/mdoc.samples.7:1526
17286 msgid "Examples of quoting:"
17290 #: build/C/man7/mdoc.samples.7:1527
17295 #. type: Plain text
17296 #: build/C/man7/mdoc.samples.7:1529
17301 #: build/C/man7/mdoc.samples.7:1529
17303 msgid "Li \\&.Aq \\&Ar ctype.h\\ )\\ ,"
17306 #. type: Plain text
17307 #: build/C/man7/mdoc.samples.7:1531
17308 msgid "E<.Aq Ar ctype.h>),"
17312 #: build/C/man7/mdoc.samples.7:1531
17317 #. type: Plain text
17318 #: build/C/man7/mdoc.samples.7:1533
17323 #: build/C/man7/mdoc.samples.7:1533
17325 msgid "Li \\&.Bq \\&Em Greek \\&, French \\&."
17328 #. type: Plain text
17329 #: build/C/man7/mdoc.samples.7:1535
17330 msgid "E<.Bq Em Greek , French>."
17334 #: build/C/man7/mdoc.samples.7:1535
17339 #. type: Plain text
17340 #: build/C/man7/mdoc.samples.7:1537
17345 #: build/C/man7/mdoc.samples.7:1537
17347 msgid "Li \".Dq string abc .\""
17350 #. type: Plain text
17351 #: build/C/man7/mdoc.samples.7:1539
17352 msgid "E<.Dq string abc>."
17356 #: build/C/man7/mdoc.samples.7:1539
17358 msgid "Li \".Dq \\'^[A-Z]\\'\""
17361 #. type: Plain text
17362 #: build/C/man7/mdoc.samples.7:1541
17363 msgid "E<.Dq \\'^[A-Z]\\'>"
17367 #: build/C/man7/mdoc.samples.7:1541
17369 msgid "Li \"\\&.Ql man mdoc\""
17372 #. type: Plain text
17373 #: build/C/man7/mdoc.samples.7:1543
17374 msgid "E<.Ql man mdoc>"
17378 #: build/C/man7/mdoc.samples.7:1543
17383 #. type: Plain text
17384 #: build/C/man7/mdoc.samples.7:1545
17389 #: build/C/man7/mdoc.samples.7:1545
17391 msgid "Li \"\\&.Qq string ) ,\""
17394 #. type: Plain text
17395 #: build/C/man7/mdoc.samples.7:1547
17396 msgid "E<.Qq string>),"
17400 #: build/C/man7/mdoc.samples.7:1547
17402 msgid "Li \"\\&.Qq string Ns ),\""
17405 #. type: Plain text
17406 #: build/C/man7/mdoc.samples.7:1549
17407 msgid "E<.Qq string Ns ),>"
17411 #: build/C/man7/mdoc.samples.7:1549
17416 #. type: Plain text
17417 #: build/C/man7/mdoc.samples.7:1551
17422 #: build/C/man7/mdoc.samples.7:1551
17424 msgid "Li \"\\&.Sq string\""
17427 #. type: Plain text
17428 #: build/C/man7/mdoc.samples.7:1553
17429 msgid "E<.Sq string>"
17432 #. type: Plain text
17433 #: build/C/man7/mdoc.samples.7:1570
17435 "For a good example of nested enclosure macros, see the E<.Ql \\&.Op> option "
17436 "macro. It was created from the same underlying enclosure macros as those "
17437 "presented in the list above. The E<.Ql \\&.Xo> and E<.Ql \\&.Xc> extended "
17438 "argument list macros were also built from the same underlying routines and "
17439 "are a good example of E<.Nm \\-mdoc> macro usage at its worst."
17443 #: build/C/man7/mdoc.samples.7:1570
17445 msgid "No\\-Op or Normal Text Macro"
17448 #. type: Plain text
17449 #: build/C/man7/mdoc.samples.7:1578
17451 "The macro E<.Ql \\&.No> is a hack for words in a macro command line which "
17452 "should E<.Em not> be formatted and follows the conventional syntax for "
17457 #: build/C/man7/mdoc.samples.7:1578
17459 msgid "No Space Macro"
17462 #. type: Plain text
17463 #: build/C/man7/mdoc.samples.7:1584
17465 "The E<.Ql \\&.Ns> macro eliminates unwanted spaces in between macro "
17466 "requests. It is useful for old style argument lists where there is no space "
17467 "between the flag and argument:"
17471 #: build/C/man7/mdoc.samples.7:1585
17473 msgid "Li \".Op Fl I Ns Ar directory\""
17476 #. type: Plain text
17477 #: build/C/man7/mdoc.samples.7:1588
17478 msgid "produces E<.Op Fl I Ns Ar directory>"
17481 #. type: Plain text
17482 #: build/C/man7/mdoc.samples.7:1599
17484 "Note: the E<.Ql \\&.Ns> macro always invokes the E<.Ql \\&.No> macro after "
17485 "eliminating the space unless another macro name follows it. The macro E<.Ql "
17486 "\\&.Ns> is parsed and is callable."
17490 #: build/C/man7/mdoc.samples.7:1599
17492 msgid "Section Cross References"
17495 #. type: Plain text
17496 #: build/C/man7/mdoc.samples.7:1605
17498 "The E<.Ql \\&.Sx> macro designates a reference to a section header within "
17499 "the same document. It is parsed and is callable."
17503 #: build/C/man7/mdoc.samples.7:1607
17505 msgid "Li \\&.Sx FILES"
17508 #. type: Plain text
17509 #: build/C/man7/mdoc.samples.7:1609
17510 msgid "E<.Sx FILES>"
17514 #: build/C/man7/mdoc.samples.7:1610
17516 msgid "References and Citations"
17519 #. type: Plain text
17520 #: build/C/man7/mdoc.samples.7:1614
17522 "The following macros make a modest attempt to handle references. At best, "
17523 "the macros make it convenient to manually drop in a subset of refer style "
17528 #: build/C/man7/mdoc.samples.7:1616
17533 #. type: Plain text
17534 #: build/C/man7/mdoc.samples.7:1621
17536 "Reference Start. Causes a line break and begins collection of reference "
17537 "information until the reference end macro is read."
17541 #: build/C/man7/mdoc.samples.7:1621
17546 #. type: Plain text
17547 #: build/C/man7/mdoc.samples.7:1624
17548 msgid "Reference End. The reference is printed."
17552 #: build/C/man7/mdoc.samples.7:1624
17557 #. type: Plain text
17558 #: build/C/man7/mdoc.samples.7:1626
17559 msgid "Reference author name, one name per invocation."
17563 #: build/C/man7/mdoc.samples.7:1626
17568 #. type: Plain text
17569 #: build/C/man7/mdoc.samples.7:1628
17570 msgid "Book title."
17574 #: build/C/man7/mdoc.samples.7:1628
17579 #. type: Plain text
17580 #: build/C/man7/mdoc.samples.7:1630
17581 msgid "City/place."
17585 #: build/C/man7/mdoc.samples.7:1630
17590 #. type: Plain text
17591 #: build/C/man7/mdoc.samples.7:1632
17596 #: build/C/man7/mdoc.samples.7:1632
17601 #. type: Plain text
17602 #: build/C/man7/mdoc.samples.7:1634
17603 msgid "Journal name."
17607 #: build/C/man7/mdoc.samples.7:1634
17612 #. type: Plain text
17613 #: build/C/man7/mdoc.samples.7:1636
17614 msgid "Issue number."
17618 #: build/C/man7/mdoc.samples.7:1636
17623 #. type: Plain text
17624 #: build/C/man7/mdoc.samples.7:1638
17625 msgid "Optional information."
17629 #: build/C/man7/mdoc.samples.7:1638
17634 #. type: Plain text
17635 #: build/C/man7/mdoc.samples.7:1640
17636 msgid "Page number."
17640 #: build/C/man7/mdoc.samples.7:1640
17645 #. type: Plain text
17646 #: build/C/man7/mdoc.samples.7:1642
17647 msgid "Report name."
17651 #: build/C/man7/mdoc.samples.7:1642
17656 #. type: Plain text
17657 #: build/C/man7/mdoc.samples.7:1644
17658 msgid "Title of article."
17662 #: build/C/man7/mdoc.samples.7:1644
17667 #. type: Plain text
17668 #: build/C/man7/mdoc.samples.7:1646
17672 #. type: Plain text
17673 #: build/C/man7/mdoc.samples.7:1657
17675 "The macros beginning with E<.Ql %> are not callable, and are parsed only for "
17676 "the trade name macro which returns to its caller. (And not very predictably "
17677 "at the moment either.) The purpose is to allow trade names to be pretty "
17678 "printed in E<.Xr troff Ns / Ns Xr ditroff> output."
17682 #: build/C/man7/mdoc.samples.7:1657
17684 msgid "Return Values"
17687 #. type: Plain text
17688 #: build/C/man7/mdoc.samples.7:1663
17690 "The E<.Ql \\&.Rv> macro generates text for use in the E<.Sx RETURN VALUE> "
17695 #: build/C/man7/mdoc.samples.7:1664
17697 msgid "Usage: .Rv [-std function]"
17700 #. type: Plain text
17701 #: build/C/man7/mdoc.samples.7:1668
17702 msgid "E<.Ql \\&.Rv -std atexit> will generate the following text:"
17705 #. fake section 3 to avoid error message from Rv
17707 #. type: ds section
17708 #: build/C/man7/mdoc.samples.7:1671
17713 #. and back to 7 again
17715 #. type: Plain text
17716 #: build/C/man7/mdoc.samples.7:1675
17717 msgid "E<.Rv -std atexit>"
17720 #. type: ds section
17721 #: build/C/man7/mdoc.samples.7:1675
17726 #. type: Plain text
17727 #: build/C/man7/mdoc.samples.7:1680
17728 msgid "The E<.Fl std> option is valid only for manual page sections 2 and 3."
17732 #: build/C/man7/mdoc.samples.7:1680
17734 msgid "Trade Names (or Acronyms and Type Names)"
17737 #. type: Plain text
17738 #: build/C/man7/mdoc.samples.7:1683
17740 "The trade name macro is generally a small caps macro for all upper case "
17741 "words longer than two characters."
17745 #: build/C/man7/mdoc.samples.7:1684
17747 msgid "Usage: .Tn symbol ... \\*(Pu"
17751 #: build/C/man7/mdoc.samples.7:1686
17753 msgid "Li \\&.Tn DEC"
17756 #. type: Plain text
17757 #: build/C/man7/mdoc.samples.7:1688
17762 #: build/C/man7/mdoc.samples.7:1688
17764 msgid "Li \\&.Tn ASCII"
17767 #. type: Plain text
17768 #: build/C/man7/mdoc.samples.7:1690
17769 msgid "E<.Tn ASCII>"
17772 #. type: Plain text
17773 #: build/C/man7/mdoc.samples.7:1696
17774 msgid "The E<.Ql \\&.Tn> macro is parsed and is callable by other macros."
17778 #: build/C/man7/mdoc.samples.7:1696
17780 msgid "Extended Arguments"
17783 #. type: Plain text
17784 #: build/C/man7/mdoc.samples.7:1708
17786 "The E<.Ql \\&.Xo> and E<.Ql \\&.Xc> macros allow one to extend an argument "
17787 "list on a macro boundary. Argument lists cannot be extended within a macro "
17788 "which expects all of its arguments on one line such as E<.Ql \\&.Op>."
17791 #. type: Plain text
17792 #: build/C/man7/mdoc.samples.7:1712
17794 "Here is an example of E<.Ql \\&.Xo> using the space mode macro to turn "
17798 #. type: Plain text
17799 #: build/C/man7/mdoc.samples.7:1718
17803 "\\&.It Xo Sy I Ar operation\n"
17804 "\\&.No \\een Ar count No \\een\n"
17809 #. type: Plain text
17810 #: build/C/man7/mdoc.samples.7:1721 build/C/man7/mdoc.samples.7:1742 build/C/man7/mdoc.samples.7:1766
17814 #. type: Plain text
17815 #: build/C/man7/mdoc.samples.7:1724 build/C/man7/mdoc.samples.7:1745
17817 msgid "E<.Sm off>\n"
17821 #: build/C/man7/mdoc.samples.7:1724
17823 msgid "Xo Sy I Ar operation"
17826 #. type: Plain text
17827 #: build/C/man7/mdoc.samples.7:1728
17830 "E<.No \\en Ar count No \\en>\n"
17835 #. type: Plain text
17836 #: build/C/man7/mdoc.samples.7:1732
17837 msgid "Another one:"
17840 #. type: Plain text
17841 #: build/C/man7/mdoc.samples.7:1739
17845 "\\&.It Cm S No \\&/ Ar old_pattern Xo\n"
17846 "\\&.No \\&/ Ar new_pattern\n"
17847 "\\&.No \\&/ Op Cm g\n"
17853 #: build/C/man7/mdoc.samples.7:1745
17855 msgid "Cm S No \\&/ Ar old_pattern Xo"
17858 #. type: Plain text
17859 #: build/C/man7/mdoc.samples.7:1750
17862 "E<.No \\&/ Ar new_pattern>\n"
17863 "E<.No \\&/ Op Cm g>\n"
17868 #. type: Plain text
17869 #: build/C/man7/mdoc.samples.7:1757
17871 "Another example of E<.Ql \\&.Xo> and using enclosure macros: Test the value "
17875 #. type: Plain text
17876 #: build/C/man7/mdoc.samples.7:1763
17881 "\\&.Oo \\e&! Oc Ns Ar variable\n"
17882 "\\&.Op Ar operator variable ...\n"
17887 #: build/C/man7/mdoc.samples.7:1768
17892 #. type: Plain text
17893 #: build/C/man7/mdoc.samples.7:1773
17897 "E<.Oo \\&! Oc Ns Ar variable>\n"
17898 "E<.Op Ar operator variable ...>\n"
17902 #. type: Plain text
17903 #: build/C/man7/mdoc.samples.7:1811
17905 "All of the above examples have used the E<.Ql \\&.Xo> macro on the argument "
17906 "list of the E<.Ql \\&.It> (list-item) macro. The extend macros are not "
17907 "used very often, and when they are it is usually to extend the list-item "
17908 "argument list. Unfortunately, this is also where the extend macros are the "
17909 "most finicky. In the first two examples, spacing was turned off; in the "
17910 "third, spacing was desired in part of the output but not all of it. To make "
17911 "these macros work in this situation make sure the E<.Ql \\&.Xo> and E<.Ql "
17912 "\\&.Xc> macros are placed as shown in the third example. If the E<.Ql "
17913 "\\&.Xo> macro is not alone on the E<.Ql \\&.It> argument list, spacing will "
17914 "be unpredictable. The E<.Ql \\&.Ns> (no space macro) must not occur as the "
17915 "first or last macro on a line in this situation. Out of 900 manual pages "
17916 "(about 1500 actual pages) currently released with E<.Bx> only fifteen use "
17917 "the E<.Ql \\&.Xo> macro."
17921 #: build/C/man7/mdoc.samples.7:1812
17923 msgid "Section Headers"
17926 #. type: Plain text
17927 #: build/C/man7/mdoc.samples.7:1825
17929 "The first three E<.Ql \\&.Sh> section header macros list below are required "
17930 "in every man page. The remaining section headers are recommended at the "
17931 "discretion of the author writing the manual page. The E<.Ql \\&.Sh> macro "
17932 "can take up to nine arguments. It is parsed and but is not callable."
17936 #: build/C/man7/mdoc.samples.7:1826
17938 msgid "\\&.Sh NAME"
17941 #. type: Plain text
17942 #: build/C/man7/mdoc.samples.7:1846
17944 "The E<.Ql \\&.Sh NAME> macro is mandatory. If not specified, the headers, "
17945 "footers and page layout defaults will not be set and things will be rather "
17946 "unpleasant. The E<.Sx NAME> section consists of at least three items. The "
17947 "first is the E<.Ql \\&.Nm> name macro naming the subject of the man page. "
17948 "The second is the Name Description macro, E<.Ql \\&.Nd>, which separates the "
17949 "subject name from the third item, which is the description. The description "
17950 "should be the most terse and lucid possible, as the space available is "
17955 #: build/C/man7/mdoc.samples.7:1846
17957 msgid "\\&.Sh SYNOPSIS"
17960 #. type: Plain text
17961 #: build/C/man7/mdoc.samples.7:1878
17963 "The E<.Sx SYNOPSIS> section describes the typical usage of the subject of a "
17964 "man page. The macros required are either E<.Ql \".Nm\">, E<.Ql \".Cd\">, "
17965 "E<.Ql \".Fn\">, (and possibly E<.Ql \".Fo\">, E<.Ql \".Fc\">, E<.Ql "
17966 "\".Fd\">, E<.Ql \".Ft\"> macros). The function name macro E<.Ql \".Fn\"> is "
17967 "required for manual page sections 2 and 3, the command and general name "
17968 "macro E<.Ql \\&.Nm> is required for sections 1, 5, 6, 7, 8. Section 4 "
17969 "manuals require a E<.Ql \".Nm\">, E<.Ql \".Fd\"> or a E<.Ql \".Cd\"> "
17970 "configuration device usage macro. Several other macros may be necessary to "
17971 "produce the synopsis line as shown below:"
17974 #. type: Plain text
17975 #: build/C/man7/mdoc.samples.7:1885
17979 "E<.Op Fl benstuv>\n"
17984 #. type: Plain text
17985 #: build/C/man7/mdoc.samples.7:1888
17986 msgid "The following macros were used:"
17990 #: build/C/man7/mdoc.samples.7:1889
17996 #: build/C/man7/mdoc.samples.7:1890
17998 msgid "\\&.Op \\&Fl benstuv"
18002 #: build/C/man7/mdoc.samples.7:1891
18004 msgid "\\&.Op \\&Fl"
18008 #: build/C/man7/mdoc.samples.7:1892
18013 #. type: Plain text
18014 #: build/C/man7/mdoc.samples.7:1903
18016 "E<.Sy Note>: The macros E<.Ql \\&.Op>, E<.Ql \\&.Fl>, and E<.Ql \\&.Ar> "
18017 "recognize the pipe bar character E<.Ql \\*(Ba>, so a command line such as:"
18021 #: build/C/man7/mdoc.samples.7:1904
18023 msgid ".Op Fl a | Fl b"
18026 #. type: Plain text
18027 #: build/C/man7/mdoc.samples.7:1913
18029 "will not go orbital. E<.Xr Troff> normally interprets a \\*(Ba as a special "
18030 "operator. See E<.Sx PREDEFINED STRINGS> for a usable \\*(Ba character in "
18031 "other situations."
18035 #: build/C/man7/mdoc.samples.7:1914
18037 msgid "\\&.Sh DESCRIPTION"
18040 #. type: Plain text
18041 #: build/C/man7/mdoc.samples.7:1931
18043 "In most cases the first text in the E<.Sx DESCRIPTION> section is a brief "
18044 "paragraph on the command, function or file, followed by a lexical list of "
18045 "options and respective explanations. To create such a list, the E<.Ql "
18046 "\\&.Bl> begin-list, E<.Ql \\&.It> list-item and E<.Ql \\&.El> end-list "
18047 "macros are used (see E<.Sx Lists and Columns> below)."
18050 #. type: Plain text
18051 #: build/C/man7/mdoc.samples.7:1940
18053 "The following E<.Ql \\&.Sh> section headers are part of the preferred manual "
18054 "page layout and must be used appropriately to maintain consistency. They "
18055 "are listed in the order in which they would be used."
18059 #: build/C/man7/mdoc.samples.7:1941
18061 msgid "\\&.Sh ENVIRONMENT"
18064 #. type: Plain text
18065 #: build/C/man7/mdoc.samples.7:1947
18067 "The E<.Sx ENVIRONMENT> section should reveal any related environment "
18068 "variables and clues to their behavior and/or usage."
18072 #: build/C/man7/mdoc.samples.7:1947
18074 msgid "\\&.Sh EXAMPLES"
18077 #. type: Plain text
18078 #: build/C/man7/mdoc.samples.7:1954
18080 "There are several ways to create examples. See the E<.Sx EXAMPLES> section "
18081 "below for details."
18085 #: build/C/man7/mdoc.samples.7:1954
18087 msgid "\\&.Sh FILES"
18090 #. type: Plain text
18091 #: build/C/man7/mdoc.samples.7:1961
18093 "Files which are used or created by the man page subject should be listed via "
18094 "the E<.Ql \\&.Pa> macro in the E<.Sx FILES> section."
18098 #: build/C/man7/mdoc.samples.7:1961
18100 msgid "\\&.Sh SEE ALSO"
18103 #. type: Plain text
18104 #: build/C/man7/mdoc.samples.7:1975
18106 "References to other material on the man page topic and cross references to "
18107 "other relevant man pages should be placed in the E<.Sx SEE ALSO> section. "
18108 "Cross references are specified using the E<.Ql \\&.Xr> macro. Cross "
18109 "references in the E<.Sx SEE ALSO> section should be sorted by section "
18110 "number, and then placed in alphabetical order and comma separated. For "
18114 #. type: Plain text
18115 #: build/C/man7/mdoc.samples.7:1980
18116 msgid "E<.Xr ls 1>, E<.Xr ps 1>, E<.Xr group 5>, E<.Xr passwd 5>."
18119 #. type: Plain text
18120 #: build/C/man7/mdoc.samples.7:1984
18121 msgid "At this time E<.Xr refer 1> style references are not accommodated."
18125 #: build/C/man7/mdoc.samples.7:1984
18127 msgid "\\&.Sh CONFORMING TO"
18130 #. type: Plain text
18131 #: build/C/man7/mdoc.samples.7:1996
18133 "If the command, library function or file adheres to a specific "
18134 "implementation such as E<.St -p1003.2> or E<.St -ansiC> this should be noted "
18135 "here. If the command does not adhere to any standard, its history should be "
18136 "noted in the E<.Sx HISTORY> section."
18140 #: build/C/man7/mdoc.samples.7:1996
18142 msgid "\\&.Sh HISTORY"
18145 #. type: Plain text
18146 #: build/C/man7/mdoc.samples.7:1999
18148 "Any command which does not adhere to any specific standards should be "
18149 "outlined historically in this section."
18153 #: build/C/man7/mdoc.samples.7:1999
18155 msgid "\\&.Sh AUTHORS"
18158 #. type: Plain text
18159 #: build/C/man7/mdoc.samples.7:2001
18160 msgid "Credits, if need be, should be placed here."
18164 #: build/C/man7/mdoc.samples.7:2001
18166 msgid "\\&.Sh DIAGNOSTICS"
18169 #. type: Plain text
18170 #: build/C/man7/mdoc.samples.7:2003
18171 msgid "Diagnostics from a command should be placed in this section."
18175 #: build/C/man7/mdoc.samples.7:2003
18177 msgid "\\&.Sh ERRORS"
18180 #. type: Plain text
18181 #: build/C/man7/mdoc.samples.7:2009
18183 "Specific error handling, especially from library functions (man page "
18184 "sections 2 and 3) should go here. The E<.Ql \\&.Er> macro is used to "
18185 "specify an errno."
18189 #: build/C/man7/mdoc.samples.7:2009
18191 msgid "\\&.Sh BUGS"
18194 #. type: Plain text
18195 #: build/C/man7/mdoc.samples.7:2011
18196 msgid "Blatant problems with the topic go here..."
18199 #. type: Plain text
18200 #: build/C/man7/mdoc.samples.7:2017
18202 "User specified E<.Ql \\&.Sh> sections may be added, for example, this "
18203 "section was set with:"
18206 #. type: Plain text
18207 #: build/C/man7/mdoc.samples.7:2019
18209 msgid "\\&.Sh PAGE STRUCTURE DOMAIN\n"
18213 #: build/C/man7/mdoc.samples.7:2020
18215 msgid "Paragraphs and Line Spacing."
18219 #: build/C/man7/mdoc.samples.7:2022
18224 #. type: Plain text
18225 #: build/C/man7/mdoc.samples.7:2038
18227 "The E<.Ql \\&.Pp> paragraph command may be used to specify a line space "
18228 "where necessary. The macro is not necessary after a E<.Ql \\&.Sh> or E<.Ql "
18229 "\\&.Ss> macro or before a E<.Ql \\&.Bl> macro. (The E<.Ql \\&.Bl> macro "
18230 "asserts a vertical distance unless the -compact flag is given)."
18233 #. This worked with version one, need to redo for version three
18236 #. .Cw (ax+bx+c) \ is\ produced\ by\ \&
18237 #. .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\&
18254 #. .Em is produced by
18270 #. This example shows the same equation in a different format.
18274 #. signs were forced with
18278 #. .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \&
18279 #. .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\&
18290 #. .Li \&.Cx \e\ +\e\ \e&
18301 #. .Em is produced by
18309 #. .Li \&.Cx \e\ +\e\ \e&
18320 #. The incantation below was
18326 #. .Cw \&[?/]m_b1_e1_f1[?/]\& is\ produced\ by
18328 #. .Li \&.Cx Op Sy ?/
18338 #. .Em is produced by
18340 #. .Li \&.Ar \e\ b1 e1 f1
18352 #: build/C/man7/mdoc.samples.7:2157
18357 #. type: Plain text
18358 #: build/C/man7/mdoc.samples.7:2186
18360 "The only keep that is implemented at this time is for words. The macros are "
18361 "E<.Ql \\&.Bk> (begin-keep) and E<.Ql \\&.Ek> (end-keep). The only option "
18362 "that E<.Ql \\&.Bk> accepts is E<.Fl words> and is useful for preventing line "
18363 "breaks in the middle of options. In the example for the make command-line "
18364 "arguments (see E<.Sx What's in a name>), the keep prevented E<.Xr nroff> "
18365 "from placing up the flag and the argument on separate lines. (Actually, the "
18366 "option macro used to prevent this from occurring, but was dropped when the "
18367 "decision (religious) was made to force right justified margins in E<.Xr "
18368 "troff> as options in general look atrocious when spread across a sparse "
18369 "line. More work needs to be done with the keep macros, a E<.Fl line> option "
18370 "needs to be added.)"
18374 #: build/C/man7/mdoc.samples.7:2186
18376 msgid "Examples and Displays"
18379 #. type: Plain text
18380 #: build/C/man7/mdoc.samples.7:2198
18382 "There are five types of displays, a quickie one line indented display E<.Ql "
18383 "\\&.D1>, a quickie one line literal display E<.Ql \\&.Dl>, and a block "
18384 "literal, block filled and block ragged which use the E<.Ql \\&.Bd> "
18385 "begin-display and E<.Ql \\&.Ed> end-display macros."
18388 #. type: Plain text
18389 #: build/C/man7/mdoc.samples.7:2203
18391 "(D-one) Display one line of indented text. This macro is parsed, but it is "
18396 #: build/C/man7/mdoc.samples.7:2204
18398 msgid "Fl ldghfstru"
18401 #. type: Plain text
18402 #: build/C/man7/mdoc.samples.7:2208
18403 msgid "The above was produced by: E<.Li \\&.Dl Fl ldghfstru>."
18406 #. type: Plain text
18407 #: build/C/man7/mdoc.samples.7:2223
18409 "(D-ell) Display one line of indented E<.Em literal> text. The E<.Ql "
18410 "\\&.Dl> example macro has been used throughout this file. It allows the "
18411 "indent (display) of one line of text. Its default font is set to constant "
18412 "width (literal) however it is parsed and will recognized other macros. It "
18413 "is not callable however."
18417 #: build/C/man7/mdoc.samples.7:2224
18419 msgid "% ls -ldg /usr/local/bin"
18422 #. type: Plain text
18423 #: build/C/man7/mdoc.samples.7:2228
18424 msgid "The above was produced by E<.Li \\&.Dl % ls -ldg /usr/local/bin>."
18427 #. type: Plain text
18428 #: build/C/man7/mdoc.samples.7:2239
18430 "Begin-display. The E<.Ql \\&.Bd> display must be ended with the E<.Ql "
18431 "\\&.Ed> macro. Displays may be nested within displays and lists. E<.Ql "
18432 "\\&.Bd> has the following syntax:"
18436 #: build/C/man7/mdoc.samples.7:2240
18438 msgid ".Bd display-type [-offset offset_value] [-compact]"
18441 #. type: Plain text
18442 #: build/C/man7/mdoc.samples.7:2245
18444 "The display-type must be one of the following four types and may have an "
18445 "offset specifier for indentation: E<.Ql \\&.Bd>."
18448 #. type: Plain text
18449 #: build/C/man7/mdoc.samples.7:2251
18451 "Display a block of text as typed, right (and left) margin edges are left "
18455 #. type: Plain text
18456 #: build/C/man7/mdoc.samples.7:2255
18458 "Display a filled (formatted) block. The block of text is formatted (the "
18459 "edges are filled \\- not left unjustified)."
18462 #. type: Plain text
18463 #: build/C/man7/mdoc.samples.7:2258
18465 "Display a literal block, useful for source code or simple tabbed or spaced "
18470 #: build/C/man7/mdoc.samples.7:2258
18472 msgid "Fl file Ar file_name"
18475 #. type: Plain text
18476 #: build/C/man7/mdoc.samples.7:2267
18478 "The filename following the E<.Fl file> flag is read and displayed. Literal "
18479 "mode is asserted and tabs are set at 8 constant width character intervals, "
18480 "however any E<.Xr troff/ Ns Nm \\-mdoc> commands in file will be processed."
18483 #. type: Plain text
18484 #: build/C/man7/mdoc.samples.7:2273
18486 "If E<.Fl offset> is specified with one of the following strings, the string "
18487 "is interpreted to indicate the level of indentation for the forthcoming "
18491 #. type: Plain text
18492 #: build/C/man7/mdoc.samples.7:2279
18494 "Align block on the current left margin, this is the default mode of E<.Ql "
18498 #. type: Plain text
18499 #: build/C/man7/mdoc.samples.7:2284
18501 "Supposedly center the block. At this time unfortunately, the block merely "
18502 "gets left aligned about an imaginary center margin."
18505 #. type: Plain text
18506 #: build/C/man7/mdoc.samples.7:2293
18508 "Indents by one default indent value or tab. The default indent value is "
18509 "also used for the E<.Ql \\&.D1> display so one is guaranteed the two types "
18510 "of displays will line up. This indent is normally set to 6n or about two "
18511 "thirds of an inch (six constant width characters)."
18514 #. type: Plain text
18515 #: build/C/man7/mdoc.samples.7:2295
18516 msgid "Indents two times the default indent value."
18519 #. type: Plain text
18520 #: build/C/man7/mdoc.samples.7:2303
18522 "This E<.Em left> aligns the block about two inches from the right side of "
18523 "the page. This macro needs work and perhaps may never do the right thing by "
18528 #: build/C/man7/mdoc.samples.7:2304
18533 #. type: Plain text
18534 #: build/C/man7/mdoc.samples.7:2306
18535 msgid "End-display."
18539 #: build/C/man7/mdoc.samples.7:2307
18544 #. type: Plain text
18545 #: build/C/man7/mdoc.samples.7:2309
18546 msgid "There are five macros for changing the appearance of the manual page text:"
18550 #: build/C/man7/mdoc.samples.7:2310
18555 #. type: Plain text
18556 #: build/C/man7/mdoc.samples.7:2315
18558 "Text may be stressed or emphasized with the E<.Ql \\&.Em> macro. The usual "
18559 "font for emphasis is italic."
18563 #: build/C/man7/mdoc.samples.7:2316
18565 msgid "Usage: .Em argument ... \\*(Pu"
18569 #: build/C/man7/mdoc.samples.7:2318
18571 msgid "Li \".Em does not\""
18574 #. type: Plain text
18575 #: build/C/man7/mdoc.samples.7:2320
18576 msgid "E<.Em does not>"
18580 #: build/C/man7/mdoc.samples.7:2320
18582 msgid "Li \".Em exceed 1024 .\""
18585 #. type: Plain text
18586 #: build/C/man7/mdoc.samples.7:2322
18587 msgid "E<.Em exceed 1024>."
18591 #: build/C/man7/mdoc.samples.7:2322
18593 msgid "Li \".Em vide infra ) ) ,\""
18596 #. type: Plain text
18597 #: build/C/man7/mdoc.samples.7:2324
18598 msgid "E<.Em vide infra>)),"
18601 #. type: Plain text
18602 #: build/C/man7/mdoc.samples.7:2332
18604 "The E<.Ql \\&.Em> macro is parsed and is callable. It is an error to call "
18605 "E<.Ql \\&.Em> without arguments."
18609 #: build/C/man7/mdoc.samples.7:2332
18614 #. type: Plain text
18615 #: build/C/man7/mdoc.samples.7:2338
18617 "The E<.Ql \\&.Li> literal macro may be used for special characters, variable "
18618 "constants, anything which should be displayed as it would be typed."
18622 #: build/C/man7/mdoc.samples.7:2339
18624 msgid "Usage: .Li argument ... \\*(Pu"
18628 #: build/C/man7/mdoc.samples.7:2341
18630 msgid "Li \\&.Li \\een"
18633 #. type: Plain text
18634 #: build/C/man7/mdoc.samples.7:2343
18635 msgid "E<.Li \\en>"
18639 #: build/C/man7/mdoc.samples.7:2343
18641 msgid "Li \\&.Li M1 M2 M3\\ ;"
18644 #. type: Plain text
18645 #: build/C/man7/mdoc.samples.7:2345
18646 msgid "E<.Li M1 M2 M3>;"
18650 #: build/C/man7/mdoc.samples.7:2345
18652 msgid "Li \\&.Li cntrl-D\\ )\\ ,"
18655 #. type: Plain text
18656 #: build/C/man7/mdoc.samples.7:2347
18657 msgid "E<.Li cntrl-D>),"
18661 #: build/C/man7/mdoc.samples.7:2347
18663 msgid "Li \\&.Li 1024\\ ..."
18666 #. type: Plain text
18667 #: build/C/man7/mdoc.samples.7:2349
18668 msgid "E<.Li 1024 ...>"
18671 #. type: Plain text
18672 #: build/C/man7/mdoc.samples.7:2354
18673 msgid "The E<.Ql \\&.Li> macro is parsed and is callable."
18677 #: build/C/man7/mdoc.samples.7:2354
18682 #. type: Plain text
18683 #: build/C/man7/mdoc.samples.7:2357
18685 "The symbolic emphasis macro is generally a boldface macro in either the "
18686 "symbolic sense or the traditional English usage."
18690 #: build/C/man7/mdoc.samples.7:2358
18692 msgid "Usage: .Sy symbol ... \\*(Pu"
18696 #: build/C/man7/mdoc.samples.7:2360
18698 msgid "Li \\&.Sy Important Notice"
18701 #. type: Plain text
18702 #: build/C/man7/mdoc.samples.7:2362
18703 msgid "E<.Sy Important Notice>"
18706 #. type: Plain text
18707 #: build/C/man7/mdoc.samples.7:2369
18709 "The E<.Ql \\&.Sy> macro is parsed and is callable. Arguments to E<.Ql "
18710 "\\&.Sy> may be quoted."
18714 #: build/C/man7/mdoc.samples.7:2370
18719 #. type: Plain text
18720 #: build/C/man7/mdoc.samples.7:2380
18722 "Begin font mode. The E<.Ql \\&.Bf> font mode must be ended with the E<.Ql "
18723 "\\&.Ef> macro. Font modes may be nested within other font modes. E<.Ql "
18724 "\\&.Bf> has the following syntax:"
18728 #: build/C/man7/mdoc.samples.7:2381
18730 msgid ".Bf font-mode"
18733 #. type: Plain text
18734 #: build/C/man7/mdoc.samples.7:2385
18735 msgid "The font-mode must be one of the following three types: E<.Ql \\&.Bf>."
18739 #: build/C/man7/mdoc.samples.7:2387
18741 msgid "Sy \\&Em | Fl emphasis"
18744 #. type: Plain text
18745 #: build/C/man7/mdoc.samples.7:2391
18746 msgid "Same as if the E<.Ql \\&.Em> macro was used for the entire block of text."
18750 #: build/C/man7/mdoc.samples.7:2391
18752 msgid "Sy \\&Li | Fl literal"
18755 #. type: Plain text
18756 #: build/C/man7/mdoc.samples.7:2395
18757 msgid "Same as if the E<.Ql \\&.Li> macro was used for the entire block of text."
18761 #: build/C/man7/mdoc.samples.7:2395
18763 msgid "Sy \\&Sy | Fl symbolic"
18766 #. type: Plain text
18767 #: build/C/man7/mdoc.samples.7:2399
18768 msgid "Same as if the E<.Ql \\&.Sy> macro was used for the entire block of text."
18772 #: build/C/man7/mdoc.samples.7:2400
18777 #. type: Plain text
18778 #: build/C/man7/mdoc.samples.7:2402
18779 msgid "End font mode."
18783 #: build/C/man7/mdoc.samples.7:2403
18785 msgid "Tagged Lists and Columns"
18788 #. type: Plain text
18789 #: build/C/man7/mdoc.samples.7:2417
18791 "There are several types of lists which may be initiated with the E<.Ql "
18792 "\".Bl\"> begin-list macro. Items within the list are specified with the "
18793 "E<.Ql \".It\"> item macro and each list must end with the E<.Ql \".El\"> "
18794 "macro. Lists may be nested within themselves and within displays. Columns "
18795 "may be used inside of lists, but lists are unproven inside of columns."
18798 #. type: Plain text
18799 #: build/C/man7/mdoc.samples.7:2432
18801 "In addition, several list attributes may be specified such as the width of a "
18802 "tag, the list offset, and compactness (blank lines between items allowed or "
18803 "disallowed). Most of this document has been formatted with a tag style list "
18804 "E<.Pq Fl tag>. For a change of pace, the list-type used to present the "
18805 "list-types is an over-hanging list E<.Pq Fl ohang>. This type of list is "
18806 "quite popular with E<.Tn TeX> users, but might look a bit funny after having "
18807 "read many pages of tagged lists. The following list types are accepted by "
18812 #: build/C/man7/mdoc.samples.7:2434
18818 #: build/C/man7/mdoc.samples.7:2435
18824 #: build/C/man7/mdoc.samples.7:2436
18829 #. type: Plain text
18830 #: build/C/man7/mdoc.samples.7:2446
18832 "These three are the simplest types of lists. Once the E<.Ql \".Bl\"> macro "
18833 "has been given, items in the list are merely indicated by a line consisting "
18834 "solely of the E<.Ql \".It\"> macro. For example, the source text for a "
18835 "simple enumerated list would look like:"
18838 #. type: Plain text
18839 #: build/C/man7/mdoc.samples.7:2455
18842 "\\&.Bl -enum -compact\n"
18844 "\\&Item one goes here.\n"
18846 "\\&And item two here.\n"
18848 "\\&Lastly item three goes here.\n"
18852 #. type: Plain text
18853 #: build/C/man7/mdoc.samples.7:2459
18854 msgid "The results:"
18857 #. type: Plain text
18858 #: build/C/man7/mdoc.samples.7:2463
18859 msgid "Item one goes here."
18862 #. type: Plain text
18863 #: build/C/man7/mdoc.samples.7:2465
18864 msgid "And item two here."
18867 #. type: Plain text
18868 #: build/C/man7/mdoc.samples.7:2467
18869 msgid "Lastly item three goes here."
18872 #. type: Plain text
18873 #: build/C/man7/mdoc.samples.7:2470
18874 msgid "A simple bullet list construction:"
18877 #. type: Plain text
18878 #: build/C/man7/mdoc.samples.7:2477
18881 "\\&.Bl -bullet -compact\n"
18883 "\\&Bullet one goes here.\n"
18885 "\\&Bullet two here.\n"
18889 #. type: Plain text
18890 #: build/C/man7/mdoc.samples.7:2483
18891 msgid "Bullet one goes here."
18894 #. type: Plain text
18895 #: build/C/man7/mdoc.samples.7:2485
18896 msgid "Bullet two here."
18900 #: build/C/man7/mdoc.samples.7:2488
18906 #: build/C/man7/mdoc.samples.7:2489
18912 #: build/C/man7/mdoc.samples.7:2490
18918 #: build/C/man7/mdoc.samples.7:2491
18924 #: build/C/man7/mdoc.samples.7:2492
18929 #. type: Plain text
18930 #: build/C/man7/mdoc.samples.7:2512
18932 "These list-types collect arguments specified with the E<.Ql \\&.It> macro "
18933 "and create a label which may be E<.Em inset> into the forthcoming text, "
18934 "E<.Em hanged> from the forthcoming text, E<.Em overhanged> from above and "
18935 "not indented or E<.Em tagged>. This list was constructed with the E<.Ql "
18936 "\\&Fl ohang> list-type. The E<.Ql \\&.It> macro is parsed only for the "
18937 "inset, hang and tag list-types and is not callable. Here is an example of "
18942 #: build/C/man7/mdoc.samples.7:2514
18947 #. type: Plain text
18948 #: build/C/man7/mdoc.samples.7:2517
18950 "The tagged list (also called a tagged paragraph) is the most common type of "
18951 "list used in the Berkeley manuals."
18955 #: build/C/man7/mdoc.samples.7:2517
18960 #. type: Plain text
18961 #: build/C/man7/mdoc.samples.7:2521
18963 "Diag lists create section four diagnostic lists and are similar to inset "
18964 "lists except callable macros are ignored."
18968 #: build/C/man7/mdoc.samples.7:2521
18973 #. type: Plain text
18974 #: build/C/man7/mdoc.samples.7:2523
18975 msgid "Hanged labels are a matter of taste."
18979 #: build/C/man7/mdoc.samples.7:2523
18984 #. type: Plain text
18985 #: build/C/man7/mdoc.samples.7:2525
18986 msgid "Overhanging labels are nice when space is constrained."
18990 #: build/C/man7/mdoc.samples.7:2525
18995 #. type: Plain text
18996 #: build/C/man7/mdoc.samples.7:2530
18998 "Inset labels are useful for controlling blocks of paragraphs and are "
18999 "valuable for converting E<.Nm \\-mdoc> manuals to other formats."
19002 #. type: Plain text
19003 #: build/C/man7/mdoc.samples.7:2533
19004 msgid "Here is the source text which produced the above example:"
19007 #. type: Plain text
19008 #: build/C/man7/mdoc.samples.7:2552
19011 "\\&.Bl -inset -offset indent\n"
19013 "\\&The tagged list (also called a tagged paragraph) is the\n"
19014 "\\&most common type of list used in the Berkeley manuals.\n"
19016 "\\&Diag lists create section four diagnostic lists\n"
19017 "\\&and are similar to inset lists except callable\n"
19018 "\\¯os are ignored.\n"
19020 "\\&Hanged labels are a matter of taste.\n"
19021 "\\&.It Em Ohang\n"
19022 "\\&Overhanging labels are nice when space is constrained.\n"
19023 "\\&.It Em Inset\n"
19024 "\\&Inset labels are useful for controlling blocks of\n"
19025 "\\¶graphs and are valuable for converting\n"
19027 "\\&manuals to other formats.\n"
19031 #. type: Plain text
19032 #: build/C/man7/mdoc.samples.7:2555
19033 msgid "Here is a hanged list with two items:"
19037 #: build/C/man7/mdoc.samples.7:2556
19042 #. type: Plain text
19043 #: build/C/man7/mdoc.samples.7:2559
19045 "labels appear similar to tagged lists when the label is smaller than the "
19050 #: build/C/man7/mdoc.samples.7:2559
19052 msgid "Em Longer hanged list labels"
19055 #. type: Plain text
19056 #: build/C/man7/mdoc.samples.7:2562
19057 msgid "blend in to the paragraph unlike tagged paragraph labels."
19060 #. type: Plain text
19061 #: build/C/man7/mdoc.samples.7:2565
19062 msgid "And the unformatted text which created it:"
19065 #. type: Plain text
19066 #: build/C/man7/mdoc.samples.7:2574
19069 "\\&.Bl -hang -offset indent\n"
19070 "\\&.It Em Hanged\n"
19071 "\\&labels appear similar to tagged lists when the\n"
19072 "\\&label is smaller than the label width.\n"
19073 "\\&.It Em Longer hanged list labels\n"
19074 "\\&blend in to the paragraph unlike\n"
19075 "\\&tagged paragraph labels.\n"
19079 #. type: Plain text
19080 #: build/C/man7/mdoc.samples.7:2578
19082 "The tagged list which follows uses an optional width specifier to control "
19083 "the width of the tag."
19087 #: build/C/man7/mdoc.samples.7:2580
19092 #. type: Plain text
19093 #: build/C/man7/mdoc.samples.7:2582
19094 msgid "sleep time of the process (seconds blocked)"
19098 #: build/C/man7/mdoc.samples.7:2582
19103 #. type: Plain text
19104 #: build/C/man7/mdoc.samples.7:2587
19106 "number of disk E<.Tn I/O Ns 's> resulting from references by the process to "
19107 "pages not loaded in core."
19111 #: build/C/man7/mdoc.samples.7:2587
19116 #. type: Plain text
19117 #: build/C/man7/mdoc.samples.7:2589
19118 msgid "numerical user-id of process owner"
19122 #: build/C/man7/mdoc.samples.7:2589
19127 #. type: Plain text
19128 #: build/C/man7/mdoc.samples.7:2592
19130 "numerical ID of parent of process process priority (nonpositive when in "
19131 "noninterruptible wait)"
19134 #. type: Plain text
19135 #: build/C/man7/mdoc.samples.7:2595
19136 msgid "The raw text:"
19139 #. type: Plain text
19140 #: build/C/man7/mdoc.samples.7:2610
19143 "\\&.Bl -tag -width \"PAGEIN\" -compact -offset indent\n"
19145 "\\&sleep time of the process (seconds blocked)\n"
19147 "\\&number of disk\n"
19148 "\\&.Tn I/O Ns 's\n"
19149 "\\&resulting from references\n"
19150 "\\&by the process to pages not loaded in core.\n"
19152 "\\&numerical user ID of process owner\n"
19154 "\\&numerical ID of parent of process process priority\n"
19155 "\\&(nonpositive when in noninterruptible wait)\n"
19159 #. type: Plain text
19160 #: build/C/man7/mdoc.samples.7:2613
19161 msgid "Acceptable width specifiers:"
19165 #: build/C/man7/mdoc.samples.7:2614
19167 msgid "Fl width Ar \\&Fl"
19170 #. type: Plain text
19171 #: build/C/man7/mdoc.samples.7:2623
19173 "sets the width to the default width for a flag. All callable macros have a "
19174 "default width value. The E<.Ql \\&.Fl>, value is presently set to ten "
19175 "constant width characters or about five sixth of an inch."
19179 #: build/C/man7/mdoc.samples.7:2623
19181 msgid "Fl width Ar 24n"
19184 #. type: Plain text
19185 #: build/C/man7/mdoc.samples.7:2629
19187 "sets the width to 24 constant width characters or about two inches. The "
19188 "E<.Ql n> is absolutely necessary for the scaling to work correctly."
19192 #: build/C/man7/mdoc.samples.7:2629
19194 msgid "Fl width Ar ENAMETOOLONG"
19197 #. type: Plain text
19198 #: build/C/man7/mdoc.samples.7:2632
19199 msgid "sets width to the constant width length of the string given."
19203 #: build/C/man7/mdoc.samples.7:2632
19205 msgid "Fl width Ar \"\\*qint mkfifo\\*q\""
19208 #. type: Plain text
19209 #: build/C/man7/mdoc.samples.7:2635
19210 msgid "again, the width is set to the constant width of the string given."
19213 #. type: Plain text
19214 #: build/C/man7/mdoc.samples.7:2649
19216 "If a width is not specified for the tag list type, the first time E<.Ql "
19217 "\\&.It> is invoked, an attempt is made to determine an appropriate width. "
19218 "If the first argument to E<.Ql \".It\"> is a callable macro, the default "
19219 "width for that macro will be used as if the macro name had been supplied as "
19220 "the width. However, if another item in the list is given with a different "
19221 "callable macro name, a new and nested list is assumed."
19225 #: build/C/man7/mdoc.samples.7:2649
19227 msgid "PREDEFINED STRINGS"
19230 #. type: Plain text
19231 #: build/C/man7/mdoc.samples.7:2661
19233 "The following strings are predefined as may be used by preceding with the "
19234 "troff string interpreting sequence E<.Ql \\&\\e*(xx> where E<.Em xx> is the "
19235 "name of the defined string or as E<.Ql \\&\\e*x> where E<.Em x> is the name "
19236 "of the string. The interpreting sequence may be used any where in the text."
19240 #: build/C/man7/mdoc.samples.7:2663
19242 msgid "Sy \"String\tNroff\tTroff\""
19246 #: build/C/man7/mdoc.samples.7:2664
19248 msgid "Li E<lt>= Ta \\&E<lt>\\&= Ta \\*(E<lt>="
19252 #: build/C/man7/mdoc.samples.7:2665
19254 msgid "Li E<gt>= Ta \\&E<gt>\\&= Ta \\*(E<gt>="
19258 #: build/C/man7/mdoc.samples.7:2666
19260 msgid "Li Rq Ta '' Ta \\*(Rq"
19264 #: build/C/man7/mdoc.samples.7:2667
19266 msgid "Li Lq Ta `` Ta \\*(Lq"
19270 #: build/C/man7/mdoc.samples.7:2668
19272 msgid "Li ua Ta ^ Ta \\*(ua"
19276 #: build/C/man7/mdoc.samples.7:2669
19278 msgid "Li aa Ta ' Ta \\*(aa"
19282 #: build/C/man7/mdoc.samples.7:2670
19284 msgid "Li ga Ta \\` Ta \\*(ga"
19287 #. .It Li "sL" Ta ` Ta \*(sL
19288 #. .It Li "sR" Ta ' Ta \*(sR
19290 #: build/C/man7/mdoc.samples.7:2673
19292 msgid "Li q Ta \\(dq Ta \\*q"
19296 #: build/C/man7/mdoc.samples.7:2674
19298 msgid "Li Pi Ta pi Ta \\*(Pi"
19302 #: build/C/man7/mdoc.samples.7:2675
19304 msgid "Li Ne Ta != Ta \\*(Ne"
19308 #: build/C/man7/mdoc.samples.7:2676
19310 msgid "Li Le Ta E<lt>= Ta \\*(Le"
19314 #: build/C/man7/mdoc.samples.7:2677
19316 msgid "Li Ge Ta E<gt>= Ta \\*(Ge"
19320 #: build/C/man7/mdoc.samples.7:2678
19322 msgid "Li Lt Ta E<lt> Ta \\*(Gt"
19326 #: build/C/man7/mdoc.samples.7:2679
19328 msgid "Li Gt Ta E<gt> Ta \\*(Lt"
19332 #: build/C/man7/mdoc.samples.7:2680
19334 msgid "Li Pm Ta +- Ta \\*(Pm"
19338 #: build/C/man7/mdoc.samples.7:2681
19340 msgid "Li If Ta infinity Ta \\*(If"
19344 #: build/C/man7/mdoc.samples.7:2682
19346 msgid "Li Na Ta I<NaN> Ta \\*(Na"
19350 #: build/C/man7/mdoc.samples.7:2683
19352 msgid "Li Ba Ta \\&| Ta \\*(Ba"
19355 #. type: Plain text
19356 #: build/C/man7/mdoc.samples.7:2692
19358 "E<.Sy Note>: The string named E<.Ql q> should be written as E<.Ql \\e*q> "
19359 "since it is only one char."
19363 #: build/C/man7/mdoc.samples.7:2692
19365 msgid "DIAGNOSTICS"
19368 #. type: Plain text
19369 #: build/C/man7/mdoc.samples.7:2725
19371 "The debugging facilities for E<.Nm \\-mdoc> are limited, but can help detect "
19372 "subtle errors such as the collision of an argument name with an internal "
19373 "register or macro name. (A what?) A register is an arithmetic storage "
19374 "class for E<.Xr troff> with a one or two character name. All registers "
19375 "internal to E<.Nm \\-mdoc> for E<.Xr troff> and E<.Xr ditroff> are two "
19376 "characters and of the form E<lt>upper_caseE<gt>E<lt>lower_caseE<gt> such as "
19377 "E<.Ql \\&Ar>, E<lt>lower_caseE<gt>E<lt>upper_caseE<gt> as E<.Ql \\&aR> or "
19378 "E<lt>upper or lower letterE<gt>E<lt>digitE<gt> as E<.Ql \\&C\\&1>. And "
19379 "adding to the muddle, E<.Xr troff> has its own internal registers all of "
19380 "which are either two lower case characters or a dot plus a letter or "
19381 "metacharacter character. In one of the introduction examples, it was shown "
19382 "how to prevent the interpretation of a macro name with the escape sequence "
19383 "E<.Ql \\e&>. This is sufficient for the internal register names also."
19386 #. Every callable macro name has a corresponding register
19387 #. of the same name (<upper_case><lower_case>).
19388 #. There are also specific registers which have
19389 #. been used for stacks and arrays and are listed in the
19391 #. .Bd -ragged -offset 4n
19392 #. [A-Z][a-z] registers corresponding to macro names (example ``Ar'')
19393 #. [a-z][A-Z] registers corresponding to macro names (example ``aR'')
19394 #. C[0-9] argument types (example C1)
19395 #. O[0-9] offset stack (displays)
19396 #. h[0-9] horizontal spacing stack (lists)
19397 #. o[0-9] offset (stack) (lists)
19398 #. t[0-9] tag stack (lists)
19399 #. v[0-9] vertical spacing stack (lists)
19400 #. w[0-9] width tag/label stack
19403 #. type: Plain text
19404 #: build/C/man7/mdoc.samples.7:2764
19406 "If a nonescaped register name is given in the argument list of a request "
19407 "unpredictable behavior will occur. In general, any time huge portions of "
19408 "text do not appear where expected in the output, or small strings such as "
19409 "list tags disappear, chances are there is a misunderstanding about an "
19410 "argument type in the argument list. Your mother never intended for you to "
19411 "remember this evil stuff - so here is a way to find out whether or not your "
19412 "arguments are valid: The E<.Ql \\&.Db> (debug) macro displays the "
19413 "interpretation of the argument list for most macros. Macros such as the "
19414 "E<.Ql \\&.Pp> (paragraph) macro do not contain debugging information. All "
19415 "of the callable macros do, and it is strongly advised whenever in doubt, "
19416 "turn on the E<.Ql \\&.Db> macro."
19420 #: build/C/man7/mdoc.samples.7:2765
19422 msgid "Usage: \\&.Db [on | off]"
19425 #. type: Plain text
19426 #: build/C/man7/mdoc.samples.7:2774
19428 "An example of a portion of text with the debug macro placed above and below "
19429 "an artificially created problem (a flag argument E<.Ql \\&aC> which should "
19430 "be E<.Ql \\e&aC> in order to work):"
19433 #. type: Plain text
19434 #: build/C/man7/mdoc.samples.7:2778
19438 "\\&.Op Fl aC Ar file )\n"
19442 #. type: Plain text
19443 #: build/C/man7/mdoc.samples.7:2781
19444 msgid "The resulting output:"
19447 #. type: Plain text
19448 #: build/C/man7/mdoc.samples.7:2796
19452 "DEBUG(argv) MACRO: `.Op' Line #: 2\n"
19453 "\tArgc: 1 Argv: `Fl' Length: 2\n"
19454 "\tSpace: `' Class: Executable\n"
19455 "\tArgc: 2 Argv: `aC' Length: 2\n"
19456 "\tSpace: `' Class: Executable\n"
19457 "\tArgc: 3 Argv: `Ar' Length: 2\n"
19458 "\tSpace: `' Class: Executable\n"
19459 "\tArgc: 4 Argv: `file' Length: 4\n"
19460 "\tSpace: ` ' Class: String\n"
19461 "\tArgc: 5 Argv: `)' Length: 1\n"
19462 "\tSpace: ` ' Class: Closing Punctuation or suffix\n"
19463 "\tMACRO REQUEST: .Op Fl aC Ar file )\n"
19467 #. type: Plain text
19468 #: build/C/man7/mdoc.samples.7:2823
19470 "The first line of information tells the name of the calling macro, here "
19471 "E<.Ql \\&.Op>, and the line number it appears on. If one or more files are "
19472 "involved (especially if text from another file is included) the line number "
19473 "may be bogus. If there is only one file, it should be accurate. The second "
19474 "line gives the argument count, the argument E<.Pq Ql \\&Fl> and its length. "
19475 "If the length of an argument is two characters, the argument is tested to "
19476 "see if it is executable (unfortunately, any register which contains a "
19477 "nonzero value appears executable). The third line gives the space allotted "
19478 "for a class, and the class type. The problem here is the argument aC should "
19479 "not be executable. The four types of classes are string, executable, "
19480 "closing punctuation and opening punctuation. The last line shows the entire "
19481 "argument list as it was read. In this next example, the offending E<.Ql "
19482 "\\&aC> is escaped:"
19485 #. type: Plain text
19486 #: build/C/man7/mdoc.samples.7:2827
19490 "\\&.Em An escaped \\e&aC\n"
19494 #. type: Plain text
19495 #: build/C/man7/mdoc.samples.7:2839
19499 "DEBUG(fargv) MACRO: `.Em' Line #: 2\n"
19500 "\tArgc: 1 Argv: `An' Length: 2\n"
19501 "\tSpace: ` ' Class: String\n"
19502 "\tArgc: 2 Argv: `escaped' Length: 7\n"
19503 "\tSpace: ` ' Class: String\n"
19504 "\tArgc: 3 Argv: `aC' Length: 2\n"
19505 "\tSpace: ` ' Class: String\n"
19506 "\tMACRO REQUEST: .Em An escaped &aC\n"
19510 #. type: Plain text
19511 #: build/C/man7/mdoc.samples.7:2849
19513 "The argument E<.Ql \\e&aC> shows up with the same length of 2 as the E<.Ql "
19514 "\\e&> sequence produces a zero width, but a register named E<.Ql \\e&aC> was "
19515 "not found and the type classified as string."
19518 #. type: Plain text
19519 #: build/C/man7/mdoc.samples.7:2851
19520 msgid "Other diagnostics consist of usage statements and are self explanatory."
19524 #: build/C/man7/mdoc.samples.7:2851
19526 msgid "GROFF, TROFF AND NROFF"
19529 #. type: Plain text
19530 #: build/C/man7/mdoc.samples.7:2856
19532 "The E<.Nm \\-mdoc> package does not need compatibility mode with E<.Xr "
19536 #. type: Plain text
19537 #: build/C/man7/mdoc.samples.7:2874
19539 "The package inhibits page breaks, and the headers and footers which normally "
19540 "occur at those breaks with E<.Xr nroff>, to make the manual more efficient "
19541 "for viewing on-line. At the moment, E<.Xr groff> with E<.Fl T Ns Ar ascii> "
19542 "does eject the imaginary remainder of the page at end of file. The "
19543 "inhibiting of the page breaks makes E<.Xr nroff Ns 'd> files unsuitable for "
19544 "hardcopy. There is a register named E<.Ql \\&cR> which can be set to zero "
19545 "in the site dependent style file E<.Pa /usr/src/share/tmac/doc-nroff> to "
19546 "restore the old style behavior."
19550 #: build/C/man7/mdoc.samples.7:2876
19552 msgid "Pa /usr/share/tmac/doc.tmac"
19555 #. type: Plain text
19556 #: build/C/man7/mdoc.samples.7:2878
19557 msgid "manual macro package"
19561 #: build/C/man7/mdoc.samples.7:2878
19563 msgid "Pa /usr/share/misc/mdoc.template"
19566 #. type: Plain text
19567 #: build/C/man7/mdoc.samples.7:2880
19568 msgid "template for writing a man page"
19572 #: build/C/man7/mdoc.samples.7:2880
19574 msgid "Pa /usr/share/examples/mdoc/*"
19577 #. type: Plain text
19578 #: build/C/man7/mdoc.samples.7:2882
19579 msgid "several example man pages"
19582 #. type: Plain text
19583 #: build/C/man7/mdoc.samples.7:2890
19585 "Undesirable hyphenation on the dash of a flag argument is not yet resolved, "
19586 "and causes occasional mishaps in the E<.Sx DESCRIPTION> section. (line "
19587 "break on the hyphen)."
19590 #. type: Plain text
19591 #: build/C/man7/mdoc.samples.7:2892
19592 msgid "Predefined strings are not declared in documentation."
19595 #. type: Plain text
19596 #: build/C/man7/mdoc.samples.7:2894
19597 msgid "Section 3f has not been added to the header routines."
19600 #. type: Plain text
19601 #: build/C/man7/mdoc.samples.7:2899
19602 msgid "E<.Ql \\&.Nm> font should be changed in E<.Sx NAME> section."
19605 #. type: Plain text
19606 #: build/C/man7/mdoc.samples.7:2906
19608 "E<.Ql \\&.Fn> needs to have a check to prevent splitting up if the line "
19609 "length is too short. Occasionally it separates the last parenthesis, and "
19610 "sometimes looks ridiculous if a line is in fill mode."
19613 #. type: Plain text
19614 #: build/C/man7/mdoc.samples.7:2911
19616 "The method used to prevent header and footer page breaks (other than the "
19617 "initial header and footer) when using nroff occasionally places an unsightly "
19618 "partially filled line (blank) at the would be bottom of the page."
19621 #. Note what happens if the parameter list overlaps a newline
19623 #. to make sure a line boundary is crossed:
19625 #. \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[]
19628 #. produces, nudge nudge,
19629 #. .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] ,
19630 #. .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] ,
19632 #. .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] .
19634 #. If double quotes are used, for example:
19636 #. \&.Fn \*qstruct dictionarytable *dictionarylookup\*q \*qchar *h\*q \*qstruct dictionarytable *tab[]\*q
19639 #. produces, nudge nudge,
19640 #. .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" ,
19642 #. .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" ,
19644 #. .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" .
19646 #. Not a pretty sight...
19647 #. In a paragraph, a long parameter containing unpaddable spaces as
19648 #. in the former example will cause
19650 #. to break the line and spread
19651 #. the remaining words out.
19652 #. The latter example will adjust nicely to
19653 #. justified margins, but may break in between an argument and its
19657 #. the right margin adjustment is normally ragged and the problem is
19659 #. type: Plain text
19660 #: build/C/man7/mdoc.samples.7:2952
19662 "The list and display macros to not do any keeps and certainly should be able "
19666 #. type: Plain text
19667 #: build/C/man7/mdoc.samples.7:2957
19668 msgid "E<.Xr man 1>, E<.Xr troff 1>, E<.Xr groff_mdoc 7>, E<.Xr mdoc 7>"