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: 2015-01-21 20:35+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
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:55 build/C/man7/standards.7:24 build/C/man7/suffixes.7:39 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:55 build/C/man7/standards.7:24 build/C/man7/suffixes.7:39 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:56 build/C/man7/standards.7:25 build/C/man7/suffixes.7:40 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:58 build/C/man7/standards.7:27 build/C/man7/suffixes.7:42 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:180
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:167 build/C/man7/feature_test_macros.7:181 build/C/man7/feature_test_macros.7:184 build/C/man7/feature_test_macros.7:187 build/C/man7/feature_test_macros.7:191 build/C/man7/feature_test_macros.7:210 build/C/man7/feature_test_macros.7:213 build/C/man7/feature_test_macros.7:543 build/C/man7/feature_test_macros.7:548 build/C/man7/feature_test_macros.7:554 build/C/man7/feature_test_macros.7:559 build/C/man7/feature_test_macros.7:565 build/C/man7/feature_test_macros.7:570 build/C/man5/proc.5:3345 build/C/man5/proc.5:3347 build/C/man5/proc.5:3349 build/C/man5/proc.5:3352
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:167
284 "(Since glibc 2.3.3) The value 200112L or greater additionally exposes "
285 "definitions corresponding to the POSIX.1-2001 base specification (excluding "
286 "the XSI extension) and also causes C95 (since glibc 2.12) and C99 (since "
287 "glibc 2.10) features to be exposed."
291 #: build/C/man7/feature_test_macros.7:171
293 "(Since glibc 2.10) The value 200809L or greater additionally exposes "
294 "definitions corresponding to the POSIX.1-2008 base specification (excluding "
295 "the XSI extension)."
299 #: build/C/man7/feature_test_macros.7:172
301 msgid "B<_POSIX_SOURCE>"
305 #: build/C/man7/feature_test_macros.7:177
307 "Defining this obsolete macro with any value is equivalent to defining "
308 "B<_POSIX_C_SOURCE> with the value 1."
312 #: build/C/man7/feature_test_macros.7:177
314 msgid "B<_XOPEN_SOURCE>"
318 #: build/C/man7/feature_test_macros.7:184
320 "Defining with any value exposes definitions conforming to POSIX.1, POSIX.2, "
325 #: build/C/man7/feature_test_macros.7:187
327 "The value 500 or greater additionally exposes definitions for SUSv2 (UNIX "
332 #: build/C/man7/feature_test_macros.7:191
334 "(Since glibc 2.2) The value 600 or greater additionally exposes definitions "
335 "for SUSv3 (UNIX 03; i.e., the POSIX.1-2001 base specification plus the XSI "
336 "extension) and C99 definitions."
340 #: build/C/man7/feature_test_macros.7:195
342 "(Since glibc 2.10) The value 700 or greater additionally exposes definitions "
343 "for SUSv4 (i.e., the POSIX.1-2008 base specification plus the XSI "
348 #: build/C/man7/feature_test_macros.7:209
350 "If B<__STRICT_ANSI__> is not defined, or B<_XOPEN_SOURCE> is defined with a "
351 "value greater than or equal to 500 I<and> neither B<_POSIX_SOURCE> not "
352 "B<_POSIX_C_SOURCE> is explicitly defined, then the following macros are "
353 "implicitly defined:"
357 #: build/C/man7/feature_test_macros.7:213
358 msgid "B<_POSIX_SOURCE> is defined with the value 1."
362 #: build/C/man7/feature_test_macros.7:217
363 msgid "B<_POSIX_C_SOURCE> is defined, according to the value of B<_XOPEN_SOURCE>:"
367 #: build/C/man7/feature_test_macros.7:218
369 msgid "B<_XOPEN_SOURCE> E<lt> 500"
373 #: build/C/man7/feature_test_macros.7:222
374 msgid "B<_POSIX_C_SOURCE> is defined with the value 2."
378 #: build/C/man7/feature_test_macros.7:222
380 msgid "500 E<lt>= B<_XOPEN_SOURCE> E<lt> 600"
384 #: build/C/man7/feature_test_macros.7:226
385 msgid "B<_POSIX_C_SOURCE> is defined with the value 199506L."
389 #: build/C/man7/feature_test_macros.7:226
391 msgid "600 E<lt>= B<_XOPEN_SOURCE> E<lt> 700"
395 #: build/C/man7/feature_test_macros.7:230
396 msgid "B<_POSIX_C_SOURCE> is defined with the value 200112L."
400 #: build/C/man7/feature_test_macros.7:230
402 msgid "700 E<lt>= B<_XOPEN_SOURCE> (since glibc 2.10)"
406 #: build/C/man7/feature_test_macros.7:234
407 msgid "B<_POSIX_C_SOURCE> is defined with the value 200809L."
411 #: build/C/man7/feature_test_macros.7:236
413 msgid "B<_XOPEN_SOURCE_EXTENDED>"
417 #: build/C/man7/feature_test_macros.7:245
419 "If this macro is defined, and B<_XOPEN_SOURCE> is defined, then expose "
420 "definitions corresponding to the XPG4v2 (SUSv1) UNIX extensions (UNIX 95). "
421 "This macro is also implicitly defined if B<_XOPEN_SOURCE> is defined with a "
422 "value of 500 or more."
426 #: build/C/man7/feature_test_macros.7:245
428 msgid "B<_ISOC99_SOURCE> (since glibc 2.1.3)"
432 #: build/C/man7/feature_test_macros.7:248
433 msgid "Exposes declarations consistent with the ISO C99 standard."
437 #: build/C/man7/feature_test_macros.7:254
439 "Earlier glibc 2.1.x versions recognized an equivalent macro named "
440 "B<_ISOC9X_SOURCE> (because the C99 standard had not then been finalized). "
441 "Although the use of this macro is obsolete, glibc continues to recognize it "
442 "for backward compatibility."
446 #: build/C/man7/feature_test_macros.7:259
448 "Defining B<_ISOC99_SOURCE> also exposes ISO C (1990) Amendment 1 (\"C95\") "
449 "definitions. (The primary change in C95 was support for international "
454 #: build/C/man7/feature_test_macros.7:259
456 msgid "B<_ISOC11_SOURCE> (since glibc 2.16)"
460 #: build/C/man7/feature_test_macros.7:264
462 "Exposes declarations consistent with the ISO C11 standard. Defining this "
463 "macro also enables C99 and C95 features (like B<_ISOC99_SOURCE>)."
467 #: build/C/man7/feature_test_macros.7:264
469 msgid "B<_LARGEFILE64_SOURCE>"
473 #: build/C/man7/feature_test_macros.7:285
475 "Expose definitions for the alternative API specified by the LFS (Large File "
476 "Summit) as a \"transitional extension\" to the Single UNIX Specification. "
477 "(See E<.UR http:\\:/\\:/opengroup.org\\:/platform\\:/lfs.html> E<.UE .)> The "
478 "alternative API consists of a set of new objects (i.e., functions and types) "
479 "whose names are suffixed with \"64\" (e.g., I<off64_t> versus I<off_t>, "
480 "B<lseek64>() versus B<lseek>(), etc.). New programs should not employ this "
481 "macro; instead I<_FILE_OFFSET_BITS=64> should be employed."
485 #: build/C/man7/feature_test_macros.7:285
487 msgid "B<_LARGEFILE_SOURCE>"
491 #: build/C/man7/feature_test_macros.7:307
493 "This macro was historically used to expose certain functions (specifically "
494 "B<fseeko>(3) and B<ftello>(3)) that address limitations of earlier APIs "
495 "(B<feek>(3) and B<ftell>(3)) that use I<long int> for file offsets. This "
496 "macro is implicitly defined if B<_XOPEN_SOURCE> is defined with a value "
497 "greater than or equal to 500. New programs should not employ this macro; "
498 "defining B<_XOPEN_SOURCE> as just described or defining B<_FILE_OFFSET_BITS> "
499 "with the value 64 is the preferred mechanism to achieve the same result."
503 #: build/C/man7/feature_test_macros.7:307
505 msgid "B<_FILE_OFFSET_BITS>"
509 #: build/C/man7/feature_test_macros.7:317
511 "Defining this macro with the value 64 automatically converts references to "
512 "32-bit functions and data types related to file I/O and filesystem "
513 "operations into references to their 64-bit counterparts. This is useful for "
514 "performing I/O on large files (E<gt> 2 Gigabytes) on 32-bit systems. "
515 "(Defining this macro permits correctly written programs to use large files "
516 "with only a recompilation being required.)"
520 #: build/C/man7/feature_test_macros.7:320
522 "64-bit systems naturally permit file sizes greater than 2 Gigabytes, and on "
523 "those systems this macro has no effect."
527 #: build/C/man7/feature_test_macros.7:320
529 msgid "B<_BSD_SOURCE> (deprecated since glibc 2.20)"
533 #: build/C/man7/feature_test_macros.7:324
535 "Defining this macro with any value causes header files to expose BSD-derived "
540 #: build/C/man7/feature_test_macros.7:339
542 "In glibc versions up to and including 2.18, defining this macro also causes "
543 "BSD definitions to be preferred in some situations where standards conflict, "
544 "unless one or more of B<_SVID_SOURCE>, B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, "
545 "B<_XOPEN_SOURCE>, B<_XOPEN_SOURCE_EXTENDED>, or B<_GNU_SOURCE> is defined, "
546 "in which case BSD definitions are disfavored. Since glibc 2.19, "
547 "B<_BSD_SOURCE> no longer causes BSD definitions to be preferred in case of "
551 #. commit c941736c92fa3a319221f65f6755659b2a5e0a20
552 #. commit 498afc54dfee41d33ba519f496e96480badace8e
553 #. commit acd7f096d79c181866d56d4aaf3b043e741f1e2c
554 #. commit ade40b10ff5fa59a318cf55b9d8414b758e8df78
556 #: build/C/man7/feature_test_macros.7:362
558 "Since glibc 2.20, this macro is deprecated. It now has the same effect as "
559 "defining B<_DEFAULT_SOURCE>, but generates a compile-time warning (unless "
560 "B<_DEFAULT_SOURCE> is also defined). Use B<_DEFAULT_SOURCE> instead. To "
561 "allow code that requires B<_BSD_SOURCE> in glibc 2.19 and earlier and "
562 "B<_DEFAULT_SOURCE> in glibc 2.20 and later to compile without warnings, "
563 "define I<both> B<_BSD_SOURCE> and B<_DEFAULT_SOURCE>."
567 #: build/C/man7/feature_test_macros.7:362
569 msgid "B<_SVID_SOURCE> (deprecated since glibc 2.20)"
573 #: build/C/man7/feature_test_macros.7:368
575 "Defining this macro with any value causes header files to expose System "
576 "V-derived definitions. (SVID == System V Interface Definition; see "
581 #: build/C/man7/feature_test_macros.7:371
583 "Since glibc 2.20, this macro is deprecated in the same fashion as "
588 #: build/C/man7/feature_test_macros.7:371
590 msgid "B<_DEFAULT_SOURCE> (since glibc 2.19)"
594 #: build/C/man7/feature_test_macros.7:383
596 "This macro can be defined to ensure that the \"default\" definitions are "
597 "provided even when the defaults would otherwise be disabled, as happens when "
598 "individual macros are explicitly defined, or the compiler is invoked in one "
599 "of its \"standard\" modes (e.g., I<cc\\ -std=c99>). Defining "
600 "B<_DEFAULT_SOURCE> without defining other individual macros or invoking the "
601 "compiler in one of its \"standard\" modes has no effect."
605 #: build/C/man7/feature_test_macros.7:388
607 "The \"default\" definitions comprise those required by POSIX.1-2008 as well "
608 "as various definitions derived from BSD and System V. On glibc 2.19 and "
609 "earlier, these defaults were approximately equivalent to explicitly defining "
614 #: build/C/man7/feature_test_macros.7:390
616 msgid " cc -D_BSD_SOURCE -D_SVID_SOURCE -D_POSIX_C_SOURCE=200809\n"
620 #: build/C/man7/feature_test_macros.7:391
622 msgid "B<_ATFILE_SOURCE> (since glibc 2.4)"
626 #: build/C/man7/feature_test_macros.7:400
628 "Defining this macro with any value causes header files to expose "
629 "declarations of a range of functions with the suffix \"at\"; see "
630 "B<openat>(2). Since glibc 2.10, this macro is also implicitly defined if "
631 "B<_POSIX_C_SOURCE> is defined with a value greater than or equal to 200809L."
635 #: build/C/man7/feature_test_macros.7:400
637 msgid "B<_GNU_SOURCE>"
641 #: build/C/man7/feature_test_macros.7:419
643 "Defining this macro (with any value) implicitly defines B<_ATFILE_SOURCE>, "
644 "B<_LARGEFILE64_SOURCE>, B<_ISOC99_SOURCE>, B<_XOPEN_SOURCE_EXTENDED>, "
645 "B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE> with the value 200809L (200112L in "
646 "glibc versions before 2.10; 199506L in glibc versions before 2.5; 199309L in "
647 "glibc versions before 2.1) and B<_XOPEN_SOURCE> with the value 700 (600 in "
648 "glibc versions before 2.10; 500 in glibc versions before 2.2). In addition, "
649 "various GNU-specific extensions are also exposed."
653 #: build/C/man7/feature_test_macros.7:430
655 "Since glibc 2.19, defining B<_GNU_SOURCE> also has the effect of implicitly "
656 "defining B<_DEFAULT_SOURCE>. In glibc versions before 2.20, defining "
657 "B<_GNU_SOURCE> also had the effect of implicitly defining B<_BSD_SOURCE> and "
662 #: build/C/man7/feature_test_macros.7:430
664 msgid "B<_REENTRANT>"
668 #: build/C/man7/feature_test_macros.7:436
670 "Defining this macro exposes definitions of certain reentrant functions. For "
671 "multithreaded programs, use I<cc\\ -pthread> instead."
675 #: build/C/man7/feature_test_macros.7:436
677 msgid "B<_THREAD_SAFE>"
681 #: build/C/man7/feature_test_macros.7:441
683 "Synonym for B<_REENTRANT>, provided for compatibility with some other "
688 #: build/C/man7/feature_test_macros.7:441
690 msgid "B<_FORTIFY_SOURCE> (since glibc 2.3.4)"
693 #. For more detail, see:
694 #. http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
695 #. [PATCH] Object size checking to prevent (some) buffer overflows
696 #. * From: Jakub Jelinek <jakub at redhat dot com>
697 #. * To: gcc-patches at gcc dot gnu dot org
698 #. * Date: Tue, 21 Sep 2004 04:16:40 -0400
700 #: build/C/man7/feature_test_macros.7:453
702 "Defining this macro causes some lightweight checks to be performed to detect "
703 "some buffer overflow errors when employing various string and memory "
704 "manipulation functions. Not all buffer overflows are detected, just some "
709 #: build/C/man7/feature_test_macros.7:471
711 "In the current implementation, checks are added for calls to B<memcpy>(3), "
712 "B<mempcpy>(3), B<memmove>(3), B<memset>(3), B<stpcpy>(3), B<strcpy>(3), "
713 "B<strncpy>(3), B<strcat>(3), B<strncat>(3), B<sprintf>(3), B<snprintf>(3), "
714 "B<vsprintf>(3), B<vsnprintf>(3), and B<gets>(3)."
718 #: build/C/man7/feature_test_macros.7:486
720 "If B<_FORTIFY_SOURCE> is set to 1, with compiler optimization level 1 "
721 "(I<gcc\\ -O1>) and above, checks that shouldn't change the behavior of "
722 "conforming programs are performed. With B<_FORTIFY_SOURCE> set to 2 some "
723 "more checking is added, but some conforming programs might fail. Some of "
724 "the checks can be performed at compile time, and result in compiler "
725 "warnings; other checks take place at run time, and result in a run-time "
726 "error if the check fails."
730 #: build/C/man7/feature_test_macros.7:490
732 "Use of this macro requires compiler support, available with B<gcc>(1) since "
737 #: build/C/man7/feature_test_macros.7:490
739 msgid "Default definitions, implicit definitions, and combining definitions"
743 #: build/C/man7/feature_test_macros.7:506
745 "If no feature test macros are explicitly defined, then the following feature "
746 "test macros are defined by default: B<_BSD_SOURCE> (in glibc 2.19 and "
747 "earlier), B<_SVID_SOURCE> (in glibc 2.19 and earlier), B<_DEFAULT_SOURCE> "
748 "(since glibc 2.19), B<_POSIX_SOURCE>, and B<_POSIX_C_SOURCE>=200809L "
749 "(200112L in glibc versions before 2.10; 199506L in glibc versions before "
750 "2.4; 199309L in glibc versions before 2.1)."
754 #: build/C/man7/feature_test_macros.7:525
756 "If any of B<__STRICT_ANSI__>, B<_ISOC99_SOURCE>, B<_POSIX_SOURCE>, "
757 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_XOPEN_SOURCE_EXTENDED>, "
758 "B<_BSD_SOURCE> (in glibc 2.19 and earlier), or B<_SVID_SOURCE> (in glibc "
759 "2.19 and earlier) is explicitly defined, then B<_BSD_SOURCE>, "
760 "B<_SVID_SOURCE>, and B<_DEFAULT_SOURCE> are not defined by default."
764 #: build/C/man7/feature_test_macros.7:536
766 "If B<_POSIX_SOURCE> and B<_POSIX_C_SOURCE> are not explicitly defined, and "
767 "either B<__STRICT_ANSI__> is not defined or B<_XOPEN_SOURCE> is defined with "
768 "a value of 500 or more, then"
772 #: build/C/man7/feature_test_macros.7:536 build/C/man7/feature_test_macros.7:539 build/C/man2/intro.2:44 build/C/man2/intro.2:47 build/C/man2/intro.2:50 build/C/man7/man-pages.7:371 build/C/man7/man-pages.7:373 build/C/man7/man-pages.7:375 build/C/man7/man-pages.7:599 build/C/man7/man-pages.7:849 build/C/man7/man-pages.7:851 build/C/man7/man-pages.7:857 build/C/man7/man-pages.7:860 build/C/man7/man-pages.7:863 build/C/man7/man-pages.7:866 build/C/man7/man-pages.7:871 build/C/man7/man-pages.7:875 build/C/man7/man-pages.7:886 build/C/man7/man-pages.7:899 build/C/man7/man-pages.7:901 build/C/man7/man-pages.7:903 build/C/man5/proc.5:909 build/C/man5/proc.5:913 build/C/man5/proc.5:916 build/C/man5/proc.5:918 build/C/man5/proc.5:921 build/C/man5/proc.5:1614 build/C/man5/proc.5:1617 build/C/man5/proc.5:1629 build/C/man5/proc.5:1632 build/C/man5/proc.5:1636 build/C/man5/proc.5:1639 build/C/man5/proc.5:1642 build/C/man5/proc.5:1645 build/C/man5/proc.5:1648 build/C/man5/proc.5:1651 build/C/man5/proc.5:1654 build/C/man5/proc.5:1657 build/C/man5/proc.5:1661 build/C/man5/proc.5:1664 build/C/man5/proc.5:1667 build/C/man5/proc.5:1670 build/C/man5/proc.5:1673 build/C/man5/proc.5:1676 build/C/man5/proc.5:1680 build/C/man5/proc.5:1683 build/C/man5/proc.5:1694 build/C/man5/proc.5:1700 build/C/man5/proc.5:1704 build/C/man5/proc.5:1709 build/C/man5/proc.5:1714 build/C/man5/proc.5:1729 build/C/man5/proc.5:1734 build/C/man5/proc.5:1739 build/C/man5/proc.5:1744 build/C/man5/proc.5:1749 build/C/man5/proc.5:1898 build/C/man5/proc.5:1901 build/C/man5/proc.5:1903 build/C/man5/proc.5:1906 build/C/man5/proc.5:1924 build/C/man5/proc.5:1930 build/C/man5/proc.5:1935 build/C/man5/proc.5:3119 build/C/man5/proc.5:3123 build/C/man5/proc.5:3126 build/C/man5/proc.5:3131 build/C/man5/proc.5:3332 build/C/man5/proc.5:3336 build/C/man5/proc.5:3342 build/C/man5/proc.5:3381 build/C/man5/proc.5:3387 build/C/man5/proc.5:3389 build/C/man5/proc.5:4148 build/C/man5/proc.5:4151 build/C/man5/proc.5:4154 build/C/man5/proc.5:4159 build/C/man5/proc.5:4334 build/C/man5/proc.5:4339 build/C/man5/proc.5:4341 build/C/man5/proc.5:4343 build/C/man5/proc.5:4345
778 #: build/C/man7/feature_test_macros.7:539
779 msgid "B<_POSIX_SOURCE> is defined with the value 1; and"
783 #: build/C/man7/feature_test_macros.7:542
784 msgid "B<_POSIX_C_SOURCE> is defined with one of the following values:"
788 #: build/C/man7/feature_test_macros.7:548
789 msgid "2, if B<_XOPEN_SOURCE> is defined with a value less than 500;"
793 #: build/C/man7/feature_test_macros.7:554
795 "199506L, if B<_XOPEN_SOURCE> is defined with a value greater than or equal "
796 "to 500 and less than 600; or"
800 #: build/C/man7/feature_test_macros.7:559
802 "(since glibc 2.4) 200112L, if B<_XOPEN_SOURCE> is defined with a value "
803 "greater than or equal to 600 and less than 700."
807 #: build/C/man7/feature_test_macros.7:565
809 "(Since glibc 2.10) 200809L, if B<_XOPEN_SOURCE> is defined with a value "
810 "greater than or equal to 700."
814 #: build/C/man7/feature_test_macros.7:570
816 "Older versions of glibc do not know about the values 200112L and 200809L for "
817 "B<_POSIX_C_SOURCE>, and the setting of this macro will depend on the glibc "
822 #: build/C/man7/feature_test_macros.7:579
824 "If B<_XOPEN_SOURCE> is undefined, then the setting of B<_POSIX_C_SOURCE> "
825 "depends on the glibc version: 199506L, in glibc versions before 2.4; "
826 "200112L, in glibc 2.4 to 2.9; and 200809L, since glibc 2.10."
830 #: build/C/man7/feature_test_macros.7:582
831 msgid "Multiple macros can be defined; the results are additive."
835 #: build/C/man7/feature_test_macros.7:582 build/C/man2/intro.2:93 build/C/man3/intro.3:87 build/C/man7/suffixes.7:276
837 msgid "CONFORMING TO"
841 #: build/C/man7/feature_test_macros.7:590
843 "POSIX.1 specifies B<_POSIX_C_SOURCE>, B<_POSIX_SOURCE>, and "
844 "B<_XOPEN_SOURCE>. B<_XOPEN_SOURCE_EXTENDED> was specified by XPG4v2 (aka "
849 #: build/C/man7/feature_test_macros.7:594
851 "B<_FILE_OFFSET_BITS> is not specified by any standard, but is employed on "
852 "some other implementations."
856 #: build/C/man7/feature_test_macros.7:605
858 "B<_BSD_SOURCE>, B<_SVID_SOURCE>, B<_DEFAULT_SOURCE>, B<_ATFILE_SOURCE>, "
859 "B<_GNU_SOURCE>, B<_FORTIFY_SOURCE>, B<_REENTRANT>, and B<_THREAD_SAFE> are "
860 "specific to Linux (glibc)."
864 #: build/C/man7/feature_test_macros.7:605 build/C/man1/intro.1:48 build/C/man2/intro.2:98 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:4386 build/C/man2/unimplemented.2:40
870 #: build/C/man7/feature_test_macros.7:612
872 "I<E<lt>features.hE<gt>> is a Linux/glibc-specific header file. Other "
873 "systems have an analogous file, but typically with a different name. This "
874 "header file is automatically included by other header files as required: it "
875 "is not necessary to explicitly include it in order to employ feature test "
880 #: build/C/man7/feature_test_macros.7:624
882 "According to which of the above feature test macros are defined, "
883 "I<E<lt>features.hE<gt>> internally defines various other macros that are "
884 "checked by other glibc header files. These macros have names prefixed by "
885 "two underscores (e.g., B<__USE_MISC>). Programs should I<never> define "
886 "these macros directly: instead, the appropriate feature test macro(s) from "
887 "the list above should be employed."
891 #: build/C/man7/feature_test_macros.7:624 build/C/man7/man-pages.7:911
897 #: build/C/man7/feature_test_macros.7:630
899 "The program below can be used to explore how the various feature test macros "
900 "are set depending on the glibc version and what feature test macros are "
901 "explicitly set. The following shell session, on a system with glibc 2.10, "
902 "shows some examples of what we would see:"
906 #: build/C/man7/feature_test_macros.7:657
911 "_POSIX_SOURCE defined\n"
912 "_POSIX_C_SOURCE defined: 200809L\n"
913 "_BSD_SOURCE defined\n"
914 "_SVID_SOURCE defined\n"
915 "_ATFILE_SOURCE defined\n"
916 "$ B<cc -D_XOPEN_SOURCE=500 ftm.c>\n"
918 "_POSIX_SOURCE defined\n"
919 "_POSIX_C_SOURCE defined: 199506L\n"
920 "_XOPEN_SOURCE defined: 500\n"
921 "$ B<cc -D_GNU_SOURCE ftm.c>\n"
923 "_POSIX_SOURCE defined\n"
924 "_POSIX_C_SOURCE defined: 200809L\n"
925 "_ISOC99_SOURCE defined\n"
926 "_XOPEN_SOURCE defined: 700\n"
927 "_XOPEN_SOURCE_EXTENDED defined\n"
928 "_LARGEFILE64_SOURCE defined\n"
929 "_BSD_SOURCE defined\n"
930 "_SVID_SOURCE defined\n"
931 "_ATFILE_SOURCE defined\n"
932 "_GNU_SOURCE defined\n"
936 #: build/C/man7/feature_test_macros.7:659
938 msgid "Program source"
942 #: build/C/man7/feature_test_macros.7:663
944 msgid "/* ftm.c */\n"
948 #: build/C/man7/feature_test_macros.7:667
951 "#include E<lt>stdio.hE<gt>\n"
952 "#include E<lt>unistd.hE<gt>\n"
953 "#include E<lt>stdlib.hE<gt>\n"
957 #: build/C/man7/feature_test_macros.7:674
961 "main(int argc, char *argv[])\n"
963 "#ifdef _POSIX_SOURCE\n"
964 " printf(\"_POSIX_SOURCE defined\\en\");\n"
969 #: build/C/man7/feature_test_macros.7:678
972 "#ifdef _POSIX_C_SOURCE\n"
973 " printf(\"_POSIX_C_SOURCE defined: %ldL\\en\", (long) _POSIX_C_SOURCE);\n"
978 #: build/C/man7/feature_test_macros.7:682
981 "#ifdef _ISOC99_SOURCE\n"
982 " printf(\"_ISOC99_SOURCE defined\\en\");\n"
987 #: build/C/man7/feature_test_macros.7:686
990 "#ifdef _ISOC11_SOURCE\n"
991 " printf(\"_ISOC11_SOURCE defined\\en\");\n"
996 #: build/C/man7/feature_test_macros.7:690
999 "#ifdef _XOPEN_SOURCE\n"
1000 " printf(\"_XOPEN_SOURCE defined: %d\\en\", _XOPEN_SOURCE);\n"
1005 #: build/C/man7/feature_test_macros.7:694
1008 "#ifdef _XOPEN_SOURCE_EXTENDED\n"
1009 " printf(\"_XOPEN_SOURCE_EXTENDED defined\\en\");\n"
1014 #: build/C/man7/feature_test_macros.7:698
1017 "#ifdef _LARGEFILE64_SOURCE\n"
1018 " printf(\"_LARGEFILE64_SOURCE defined\\en\");\n"
1023 #: build/C/man7/feature_test_macros.7:702
1026 "#ifdef _FILE_OFFSET_BITS\n"
1027 " printf(\"_FILE_OFFSET_BITS defined: %d\\en\", _FILE_OFFSET_BITS);\n"
1032 #: build/C/man7/feature_test_macros.7:706
1035 "#ifdef _BSD_SOURCE\n"
1036 " printf(\"_BSD_SOURCE defined\\en\");\n"
1041 #: build/C/man7/feature_test_macros.7:710
1044 "#ifdef _SVID_SOURCE\n"
1045 " printf(\"_SVID_SOURCE defined\\en\");\n"
1050 #: build/C/man7/feature_test_macros.7:714
1053 "#ifdef _DEFAULT_SOURCE\n"
1054 " printf(\"_DEFAULT_SOURCE defined\\en\");\n"
1059 #: build/C/man7/feature_test_macros.7:718
1062 "#ifdef _ATFILE_SOURCE\n"
1063 " printf(\"_ATFILE_SOURCE defined\\en\");\n"
1068 #: build/C/man7/feature_test_macros.7:722
1071 "#ifdef _GNU_SOURCE\n"
1072 " printf(\"_GNU_SOURCE defined\\en\");\n"
1077 #: build/C/man7/feature_test_macros.7:726
1080 "#ifdef _REENTRANT\n"
1081 " printf(\"_REENTRANT defined\\en\");\n"
1086 #: build/C/man7/feature_test_macros.7:730
1089 "#ifdef _THREAD_SAFE\n"
1090 " printf(\"_THREAD_SAFE defined\\en\");\n"
1095 #: build/C/man7/feature_test_macros.7:734
1098 "#ifdef _FORTIFY_SOURCE\n"
1099 " printf(\"_FORTIFY_SOURCE defined\\en\");\n"
1104 #: build/C/man7/feature_test_macros.7:737
1107 " exit(EXIT_SUCCESS);\n"
1112 #: build/C/man7/feature_test_macros.7:738 build/C/man1/intro.1:302 build/C/man2/intro.2:112 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:106 build/C/man7/mailaddr.7:117 build/C/man7/man-pages.7:918 build/C/man7/man.7:560 build/C/man7/mdoc.7:428 build/C/man7/posixoptions.7:854 build/C/man5/proc.5:4399 build/C/man7/standards.7:277 build/C/man7/suffixes.7:280 build/C/man2/unimplemented.2:64 build/C/man7/mdoc.samples.7:2952
1118 #: build/C/man7/feature_test_macros.7:741
1119 msgid "B<libc>(7), B<standards>(7)"
1122 #. But beware: the info libc document is out of date (Jul 07, mtk)
1124 #: build/C/man7/feature_test_macros.7:745
1125 msgid "The section \"Feature Test Macros\" under I<info libc>."
1129 #: build/C/man7/feature_test_macros.7:746
1130 msgid "I</usr/include/features.h>"
1134 #: 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
1140 #: build/C/man1/intro.1:28
1146 #: build/C/man1/intro.1:28 build/C/man7/mailaddr.7:27
1148 msgid "Linux User's Manual"
1152 #: build/C/man1/intro.1:31
1153 msgid "intro - introduction to user commands"
1157 #: build/C/man1/intro.1:35
1159 "Section 1 of the manual describes user commands and tools, for example, file "
1160 "manipulation tools, shells, compilers, web browsers, file and image viewers "
1161 "and editors, and so on."
1165 #: build/C/man1/intro.1:48
1167 "All commands yield a status value on termination. This value can be tested "
1168 "(e.g., in most shells the variable I<$?> contains the status of the last "
1169 "executed command) to see whether the command completed successfully. A "
1170 "zero exit status is conventionally used to indicate success, and a nonzero "
1171 "status means that the command was unsuccessful. (Details of the exit status "
1172 "can be found in B<wait>(2).) A nonzero exit status can be in the range 1 to "
1173 "255, and some commands use different nonzero status values to indicate the "
1174 "reason why the command failed."
1178 #: build/C/man1/intro.1:52
1180 "Linux is a flavor of UNIX, and as a first approximation all user commands "
1181 "under UNIX work precisely the same under Linux (and FreeBSD and lots of "
1182 "other UNIX-like systems)."
1186 #: build/C/man1/intro.1:62
1188 "Under Linux, there are GUIs (graphical user interfaces), where you can point "
1189 "and click and drag, and hopefully get work done without first reading lots "
1190 "of documentation. The traditional UNIX environment is a CLI (command line "
1191 "interface), where you type commands to tell the computer what to do. That "
1192 "is faster and more powerful, but requires finding out what the commands "
1193 "are. Below a bare minimum, to get started."
1197 #: build/C/man1/intro.1:62
1203 #: build/C/man1/intro.1:76
1205 "In order to start working, you probably first have to login, that is, give "
1206 "your username and password. See also B<login>(1). The program I<login> now "
1207 "starts a I<shell> (command interpreter) for you. In case of a graphical "
1208 "login, you get a screen with menus or icons and a mouse click will start a "
1209 "shell in a window. See also B<xterm>(1)."
1213 #: build/C/man1/intro.1:76
1219 #: build/C/man1/intro.1:91
1221 "One types commands to the I<shell>, the command interpreter. It is not "
1222 "built-in, but is just a program and you can change your shell. Everybody "
1223 "has her own favorite one. The standard one is called I<sh>. See also "
1224 "B<ash>(1), B<bash>(1), B<csh>(1), B<zsh>(1), B<chsh>(1)."
1228 #: build/C/man1/intro.1:93
1229 msgid "A session might go like"
1233 #: build/C/man1/intro.1:108
1236 "B<knuth login: >I<aeb>\n"
1237 "B<Password: >I<********>\n"
1239 "Tue Aug 6 23:50:44 CEST 2002\n"
1242 "Su Mo Tu We Th Fr Sa\n"
1245 "11 12 13 14 15 16 17\n"
1246 "18 19 20 21 22 23 24\n"
1247 "25 26 27 28 29 30 31\n"
1251 #: build/C/man1/intro.1:135
1258 "drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin\n"
1259 "-rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel\n"
1261 "maja 0501-1136285\n"
1262 "peter 0136-7399214\n"
1263 "B<% >I<cp tel tel2>\n"
1266 "drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin\n"
1267 "-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel\n"
1268 "-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2\n"
1269 "B<% >I<mv tel tel1>\n"
1272 "drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin\n"
1273 "-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1\n"
1274 "-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2\n"
1275 "B<% >I<diff tel1 tel2>\n"
1277 "B<% >I<grep maja tel2>\n"
1278 "maja 0501-1136285\n"
1283 #: build/C/man1/intro.1:147
1285 "and here typing Control-D ended the session. The B<% > here was the command "
1286 "prompt\\(emit is the shell's way of indicating that it is ready for the next "
1287 "command. The prompt can be customized in lots of ways, and one might "
1288 "include stuff like username, machine name, current directory, time, and so "
1289 "on. An assignment PS1=\"What next, master? \" would change the prompt as "
1294 #: build/C/man1/intro.1:153
1296 "We see that there are commands I<date> (that gives date and time), and "
1297 "I<cal> (that gives a calendar)."
1301 #: build/C/man1/intro.1:169
1303 "The command I<ls> lists the contents of the current directory\\(emit tells "
1304 "you what files you have. With a I<-l> option it gives a long listing, that "
1305 "includes the owner and size and date of the file, and the permissions people "
1306 "have for reading and/or changing the file. For example, the file \"tel\" "
1307 "here is 37 bytes long, owned by aeb and the owner can read and write it, "
1308 "others can only read it. Owner and permissions can be changed by the "
1309 "commands I<chown> and I<chmod>."
1313 #: build/C/man1/intro.1:176
1315 "The command I<cat> will show the contents of a file. (The name is from "
1316 "\"concatenate and print\": all files given as parameters are concatenated "
1317 "and sent to \"standard output\", here the terminal screen.)"
1321 #: build/C/man1/intro.1:183
1323 "The command I<cp> (from \"copy\") will copy a file. On the other hand, the "
1324 "command I<mv> (from \"move\") only renames it."
1328 #: build/C/man1/intro.1:188
1330 "The command I<diff> lists the differences between two files. Here there was "
1331 "no output because there were no differences."
1335 #: build/C/man1/intro.1:194
1337 "The command I<rm> (from \"remove\") deletes the file, and be careful! it is "
1338 "gone. No wastepaper basket or anything. Deleted means lost."
1342 #: build/C/man1/intro.1:199
1344 "The command I<grep> (from \"g/re/p\") finds occurrences of a string in one "
1345 "or more files. Here it finds Maja's telephone number."
1349 #: build/C/man1/intro.1:199
1351 msgid "Pathnames and the current directory"
1355 #: build/C/man1/intro.1:211
1357 "Files live in a large tree, the file hierarchy. Each has a I<pathname> "
1358 "describing the path from the root of the tree (which is called /) to the "
1359 "file. For example, such a full pathname might be /home/aeb/tel. Always "
1360 "using full pathnames would be inconvenient, and the name of a file in the "
1361 "current directory may be abbreviated by giving only the last component. "
1362 "That is why \"/home/aeb/tel\" can be abbreviated to \"tel\" when the current "
1363 "directory is \"/home/aeb\"."
1367 #: build/C/man1/intro.1:215
1368 msgid "The command I<pwd> prints the current directory."
1372 #: build/C/man1/intro.1:220
1374 "The command I<cd> changes the current directory. Try \"cd /\" and \"pwd\" "
1375 "and \"cd\" and \"pwd\"."
1379 #: build/C/man1/intro.1:220
1385 #: build/C/man1/intro.1:224
1386 msgid "The command I<mkdir> makes a new directory."
1390 #: build/C/man1/intro.1:228
1392 "The command I<rmdir> removes a directory if it is empty, and complains "
1397 #: build/C/man1/intro.1:240
1399 "The command I<find> (with a rather baroque syntax) will find files with "
1400 "given name or other properties. For example, \"find . -name tel\" would "
1401 "find the file \"tel\" starting in the present directory (which is called "
1402 "\".\"). And \"find / -name tel\" would do the same, but starting at the "
1403 "root of the tree. Large searches on a multi-GB disk will be time-consuming, "
1404 "and it may be better to use B<locate>(1)."
1408 #: build/C/man1/intro.1:240
1410 msgid "Disks and filesystems"
1414 #: build/C/man1/intro.1:251
1416 "The command I<mount> will attach the filesystem found on some disk (or "
1417 "floppy, or CDROM or so) to the big filesystem hierarchy. And I<umount> "
1418 "detaches it again. The command I<df> will tell you how much of your disk is "
1423 #: build/C/man1/intro.1:251
1429 #: build/C/man1/intro.1:269
1431 "On a UNIX system many user and system processes run simultaneously. The one "
1432 "you are talking to runs in the I<foreground>, the others in the "
1433 "I<background>. The command I<ps> will show you which processes are active "
1434 "and what numbers these processes have. The command I<kill> allows you to "
1435 "get rid of them. Without option this is a friendly request: please go "
1436 "away. And \"kill -9\" followed by the number of the process is an immediate "
1437 "kill. Foreground processes can often be killed by typing Control-C."
1441 #: build/C/man1/intro.1:269
1443 msgid "Getting information"
1447 #: build/C/man1/intro.1:282
1449 "There are thousands of commands, each with many options. Traditionally "
1450 "commands are documented on I<man pages>, (like this one), so that the "
1451 "command \"man kill\" will document the use of the command \"kill\" (and "
1452 "\"man man\" document the command \"man\"). The program I<man> sends the "
1453 "text through some I<pager>, usually I<less>. Hit the space bar to get the "
1454 "next page, hit q to quit."
1458 #: build/C/man1/intro.1:290
1460 "In documentation it is customary to refer to man pages by giving the name "
1461 "and section number, as in B<man>(1). Man pages are terse, and allow you to "
1462 "find quickly some forgotten detail. For newcomers an introductory text with "
1463 "more examples and explanations is useful."
1467 #: build/C/man1/intro.1:294
1469 "A lot of GNU/FSF software is provided with info files. Type \"info info\" "
1470 "for an introduction on the use of the program \"info\"."
1474 #. Actual examples? Separate section for each of cat, cp, ...?
1475 #. gzip, bzip2, tar, rpm
1477 #: build/C/man1/intro.1:302
1479 "Special topics are often treated in HOWTOs. Look in "
1480 "I</usr/share/doc/howto/en> and use a browser if you find HTML files there."
1484 #: build/C/man1/intro.1:303 build/C/man4/intro.4:39 build/C/man5/intro.5:39 build/C/man7/intro.7:42
1485 msgid "B<standards>(7)"
1489 #: build/C/man2/intro.2:29
1495 #: build/C/man2/intro.2:32
1496 msgid "intro - introduction to system calls"
1500 #: build/C/man2/intro.2:42
1502 "Section 2 of the manual describes the Linux system calls. A system call is "
1503 "an entry point into the Linux kernel. Usually, system calls are not invoked "
1504 "directly: instead, most system calls have corresponding C library wrapper "
1505 "functions which perform the steps required (e.g., trapping to kernel mode) "
1506 "in order to invoke the system call. Thus, making a system call looks the "
1507 "same as invoking a normal library function."
1511 #: build/C/man2/intro.2:44
1512 msgid "In many cases, the C library wrapper function does nothing more than:"
1516 #: build/C/man2/intro.2:47
1518 "copying arguments and the unique system call number to the registers where "
1519 "the kernel expects them;"
1523 #: build/C/man2/intro.2:50
1525 "trapping to kernel mode, at which point the kernel does the real work of the "
1530 #: build/C/man2/intro.2:55
1532 "setting I<errno> if the system call returns an error number when the kernel "
1533 "returns the CPU to user mode."
1537 #: build/C/man2/intro.2:65
1539 "However, in a few cases, a wrapper function may do rather more than this, "
1540 "for example, performing some preprocessing of the arguments of arguments "
1541 "before trapping to kernel mode, or postprocessing of values returned by the "
1542 "system call. Where this is the case, the manual pages in Section 2 "
1543 "generally try to note the details of both the (usually GNU) C library API "
1544 "interface and the raw system call. Most commonly, the main DESCRIPTION will "
1545 "focus on the C library interface, and differences for the system call are "
1546 "covered in the NOTES section."
1550 #: build/C/man2/intro.2:68
1551 msgid "For a list of the Linux system calls, see B<syscalls>(2)."
1555 #: build/C/man2/intro.2:68 build/C/man2/unimplemented.2:35
1557 msgid "RETURN VALUE"
1561 #: build/C/man2/intro.2:77
1563 "On error, most system calls return a negative error number (i.e., the "
1564 "negated value of one of the constants described in B<errno>(3)). The C "
1565 "library wrapper hides this detail from the caller: when a system call "
1566 "returns a negative value, the wrapper copies the absolute value into the "
1567 "I<errno> variable, and returns -1 as the return value of the wrapper."
1571 #: build/C/man2/intro.2:82
1573 "The value returned by a successful system call depends on the call. Many "
1574 "system calls return 0 on success, but some can return nonzero values from a "
1575 "successful call. The details are described in the individual manual pages."
1579 #: build/C/man2/intro.2:93
1581 "In some cases, the programmer must define a feature test macro in order to "
1582 "obtain the declaration of a system call from the header file specified in "
1583 "the man page SYNOPSIS section. (Where required, these feature test macros "
1584 "must be defined before including I<any> header files.) In such cases, the "
1585 "required macro is described in the man page. For further information on "
1586 "feature test macros, see B<feature_test_macros>(7)."
1590 #: build/C/man2/intro.2:98 build/C/man3/intro.3:92
1592 "Certain terms and abbreviations are used to indicate UNIX variants and "
1593 "standards to which calls in this section conform. See B<standards>(7)."
1597 #: build/C/man2/intro.2:99
1599 msgid "Calling directly"
1603 #: build/C/man2/intro.2:108
1605 "In most cases, it is unnecessary to invoke a system call directly, but there "
1606 "are times when the Standard C library does not implement a nice wrapper "
1607 "function for you. In this case, the programmer must manually invoke the "
1608 "system call using B<syscall>(2). Historically, this was also possible using "
1609 "one of the _syscall macros described in B<_syscall>(2)."
1613 #: build/C/man2/intro.2:108 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
1615 msgid "Authors and copyright conditions"
1619 #: build/C/man2/intro.2:112 build/C/man3/intro.3:97 build/C/man4/intro.4:38 build/C/man5/intro.5:38 build/C/man6/intro.6:36 build/C/man7/intro.7:41 build/C/man8/intro.8:48
1621 "Look at the header of the manual page source for the author(s) and copyright "
1622 "conditions. Note that these can be different from page to page!"
1626 #: build/C/man2/intro.2:134
1628 "B<_syscall>(2), B<syscall>(2), B<syscalls>(2), B<errno>(3), B<intro>(3), "
1629 "B<capabilities>(7), B<credentials>(7), B<feature_test_macros>(7), "
1630 "B<mq_overview>(7), B<path_resolution>(7), B<pipe>(7), B<pty>(7), "
1631 "B<sem_overview>(7), B<shm_overview>(7), B<signal>(7), B<socket>(7), "
1632 "B<standards>(7), B<svipc>(7), B<symlink>(7), B<time>(7)"
1636 #: build/C/man3/intro.3:26
1642 #: build/C/man3/intro.3:29
1643 msgid "intro - introduction to library functions"
1647 #: build/C/man3/intro.3:33
1649 "Section 3 of the manual describes all library functions excluding the "
1650 "library functions (system call wrappers) described in Section 2, which "
1651 "implement system calls."
1655 #: build/C/man3/intro.3:50
1657 "Many of the functions described in the section are part of the Standard C "
1658 "Library (I<libc>). Some functions are part of other libraries (e.g., the "
1659 "math library, I<libm>, or the real-time library, I<librt>) in which case "
1660 "the manual page will indicate the linker option needed to link against the "
1661 "required library (e.g., I<-lm> and I<-lrt>, respectively, for the "
1662 "aforementioned libraries)."
1667 #. are various function groups which can be identified by a letter which
1668 #. is appended to the chapter number:
1670 #. These functions, the functions from chapter 2 and from chapter 3S are
1671 #. contained in the C standard library libc, which will be used by
1675 #. These functions are parts of the
1677 #. library. They are contained in the standard C library libc.
1679 #. These functions are contained in the arithmetic library libm. They are
1682 #. FORTRAN compiler by default, but not by the
1684 #. C compiler, which needs the option \fI\-lm\fP.
1686 #. These functions are part of the FORTRAN library libF77. There are no
1687 #. special compiler flags needed to use these functions.
1689 #. Various special libraries. The manual pages documenting their functions
1690 #. specify the library names.
1692 #: build/C/man3/intro.3:87
1694 "In some cases, the programmer must define a feature test macro in order to "
1695 "obtain the declaration of a function from the header file specified in the "
1696 "man page SYNOPSIS section. (Where required, these feature test macros must "
1697 "be defined before including I<any> header files.) In such cases, the "
1698 "required macro is described in the man page. For further information on "
1699 "feature test macros, see B<feature_test_macros>(7)."
1703 #: build/C/man3/intro.3:109
1705 "B<intro>(2), B<errno>(3), B<capabilities>(7), B<credentials>(7), "
1706 "B<environ>(7), B<feature_test_macros>(7), B<libc>(7), B<math_error>(7), "
1707 "B<path_resolution>(7), B<pthreads>(7), B<signal>(7), B<standards>(7)"
1711 #: 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
1717 #: build/C/man4/intro.4:29
1718 msgid "intro - introduction to special files"
1722 #: build/C/man4/intro.4:31
1723 msgid "Section 4 of the manual describes special files (devices)."
1727 #: 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
1733 #: build/C/man4/intro.4:33
1734 msgid "/dev/* \\(em device files"
1738 #: build/C/man5/intro.5:30
1739 msgid "intro - introduction to file formats"
1743 #: build/C/man5/intro.5:33
1745 "Section 5 of the manual describes various file formats and protocols, and "
1746 "the corresponding C structures, if any."
1750 #: build/C/man6/intro.6:29
1751 msgid "intro - introduction to games"
1755 #: build/C/man6/intro.6:32
1757 "Section 6 of the manual describes all the games and funny little programs "
1758 "available on the system."
1762 #: build/C/man7/intro.7:31
1763 msgid "intro - introduction to overview, conventions, and miscellany section"
1767 #: build/C/man7/intro.7:36
1769 "Section 7 of the manual provides overviews on various topics, and describes "
1770 "conventions and protocols, character set standards, the standard filesystem "
1771 "layout, and miscellaneous other things."
1775 #: build/C/man8/intro.8:32
1776 msgid "intro - introduction to administration and privileged commands"
1780 #: build/C/man8/intro.8:37
1782 "Section 8 of the manual describes commands which either can be or are used "
1783 "only by the superuser, like system-administration commands, daemons, and "
1784 "hardware-related commands."
1788 #: build/C/man8/intro.8:44
1790 "As with the commands in described Section 1, the commands described in this "
1791 "section terminate with an exit status that indicates whether the command "
1792 "succeeded or failed. See B<intro>(1) for more information."
1796 #: build/C/man7/libc.7:26
1802 #: build/C/man7/libc.7:26
1808 #: build/C/man7/libc.7:29
1809 msgid "libc - overview of standard C libraries on Linux"
1813 #: build/C/man7/libc.7:36
1815 "The term \"libc\" is commonly used as a shorthand for the \"standard C "
1816 "library\", a library of standard functions that can be used by all C "
1817 "programs (and sometimes by programs in other languages). Because of some "
1818 "history (see below), use of the term \"libc\" to refer to the standard C "
1819 "library is somewhat ambiguous on Linux."
1823 #: build/C/man7/libc.7:36
1829 #: build/C/man7/libc.7:54
1831 "By far the most widely used C library on Linux is the GNU C Library E<.UR "
1832 "http://www.gnu.org\\:/software\\:/libc/> E<.UE ,> often referred to as "
1833 "I<glibc>. This is the C library that is nowadays used in all major Linux "
1834 "distributions. It is also the C library whose details are documented in the "
1835 "relevant pages of the I<man-pages> project (primarily in Section 3 of the "
1836 "manual). Documentation of glibc is also available in the glibc manual, "
1837 "available via the command I<info libc>. Release 1.0 of glibc was made in "
1838 "September 1992. (There were earlier 0.x releases.) The next major release "
1839 "of glibc was 2.0, at the beginning of 1997."
1843 #: build/C/man7/libc.7:61
1845 "The pathname I</lib/libc.so.6> (or something similar) is normally a symbolic "
1846 "link that points to the location of the glibc library, and executing this "
1847 "pathname will cause glibc to display various information about the version "
1848 "installed on your system."
1852 #: build/C/man7/libc.7:61
1858 #: build/C/man7/libc.7:71
1860 "In the early to mid 1990s, there was for a while I<Linux libc>, a fork of "
1861 "glibc 1.x created by Linux developers who felt that glibc development at the "
1862 "time was not sufficing for the needs of Linux. Often, this library was "
1863 "referred to (ambiguously) as just \"libc\". Linux libc released major "
1864 "versions 2, 3, 4, and 5 (as well as many minor versions of those releases). "
1865 "For a while, Linux libc was the standard C library in many Linux "
1870 #: build/C/man7/libc.7:86
1872 "However, notwithstanding the original motivations of the Linux libc effort, "
1873 "by the time glibc 2.0 was released (in 1997), it was clearly superior to "
1874 "Linux libc, and all major Linux distributions that had been using Linux libc "
1875 "soon switched back to glibc. Since this switch occurred long ago, "
1876 "I<man-pages> no longer takes care to document Linux libc details. "
1877 "Nevertheless, the history is visible in vestiges of information about Linux "
1878 "libc that remain in some manual pages, in particular, references to I<libc4> "
1883 #: build/C/man7/libc.7:86
1885 msgid "Other C libraries"
1889 #: build/C/man7/libc.7:106
1891 "There are various other less widely used C libraries for Linux. These "
1892 "libraries are generally smaller than glibc, both in terms of features and "
1893 "memory footprint, and often intended for building small binaries, perhaps "
1894 "targeted at development for embedded Linux systems. Among such libraries "
1895 "are E<.UR http://www.uclibc.org/> I<uClibc> E<.UE ,> E<.UR "
1896 "http://www.fefe.de/dietlibc/> I<dietlibc> E<.UE ,> and E<.UR "
1897 "http://www.musl-libc.org/> I<musl libc> E<.UE .> Details of these libraries "
1898 "are covered by the I<man-pages> project, where they are known."
1902 #: build/C/man7/libc.7:113
1904 "B<syscalls>(2), B<getauxval>(3), B<proc>(5), B<feature_test_macros>(7), "
1905 "B<man-pages>(7), B<standards>(7), B<vdso>(7)"
1909 #: build/C/man7/mailaddr.7:27
1915 #: build/C/man7/mailaddr.7:27
1921 #: build/C/man7/mailaddr.7:31
1922 msgid "mailaddr - mail addressing description"
1926 #: build/C/man7/mailaddr.7:36
1928 "This manual page gives a brief introduction to SMTP mail addresses, as used "
1929 "on the Internet. These addresses are in the general format"
1933 #: build/C/man7/mailaddr.7:38
1934 msgid " user@domain"
1938 #: build/C/man7/mailaddr.7:41
1940 "where a domain is a hierarchical dot-separated list of subdomains. These "
1941 "examples are valid forms of the same address:"
1945 #: build/C/man7/mailaddr.7:43
1946 msgid " eric@monet.berkeley.edu"
1950 #: build/C/man7/mailaddr.7:45
1951 msgid " Eric Allman E<lt>eric@monet.berkeley.eduE<gt>"
1955 #: build/C/man7/mailaddr.7:47
1957 msgid " eric@monet.berkeley.edu (Eric Allman)\n"
1961 #: build/C/man7/mailaddr.7:51
1963 "The domain part (\"monet.berkeley.edu\") is a mail-accepting domain. It can "
1964 "be a host and in the past it usually was, but it doesn't have to be. The "
1965 "domain part is not case sensitive."
1969 #: build/C/man7/mailaddr.7:59
1971 "The local part (\"eric\") is often a username, but its meaning is defined by "
1972 "the local software. Sometimes it is case sensitive, although that is "
1973 "unusual. If you see a local-part that looks like garbage, it is usually "
1974 "because of a gateway between an internal e-mail system and the net, here are "
1979 #: build/C/man7/mailaddr.7:61
1980 msgid " \"surname/admd=telemail/c=us/o=hp/prmd=hp\"@some.where"
1984 #: build/C/man7/mailaddr.7:63
1985 msgid " USER%SOMETHING@some.where"
1989 #: build/C/man7/mailaddr.7:65
1990 msgid " machine!machine!name@some.where"
1994 #: build/C/man7/mailaddr.7:67
1995 msgid " I2461572@some.where"
1999 #: build/C/man7/mailaddr.7:71
2001 "(These are, respectively, an X.400 gateway, a gateway to an arbitrary "
2002 "internal mail system that lacks proper internet support, an UUCP gateway, "
2003 "and the last one is just boring username policy.)"
2007 #: build/C/man7/mailaddr.7:77
2009 "The real-name part (\"Eric Allman\") can either be placed before E<lt>E<gt>, "
2010 "or in () at the end. (Strictly speaking the two aren't the same, but the "
2011 "difference is beyond the scope of this page.) The name may have to be "
2012 "quoted using \"\", for example, if it contains \".\":"
2016 #: build/C/man7/mailaddr.7:79
2017 msgid " \"Eric P. Allman\" E<lt>eric@monet.berkeley.eduE<gt>"
2021 #: build/C/man7/mailaddr.7:79
2023 msgid "Abbreviation."
2027 #: build/C/man7/mailaddr.7:87
2029 "Many mail systems let users abbreviate the domain name. For instance, users "
2030 "at berkeley.edu may get away with \"eric@monet\" to send mail to Eric "
2031 "Allman. I<This behavior is deprecated.> Sometimes it works, but you should "
2036 #: build/C/man7/mailaddr.7:87
2038 msgid "Route-addrs."
2042 #: build/C/man7/mailaddr.7:94
2044 "In the past, sometimes one had to route a message through several hosts to "
2045 "get it to its final destination. Addresses which show these relays are "
2046 "termed \"route-addrs\". These use the syntax:"
2050 #: build/C/man7/mailaddr.7:96
2051 msgid " E<lt>@hosta,@hostb:user@hostcE<gt>"
2055 #: build/C/man7/mailaddr.7:101
2057 "This specifies that the message should be sent to hosta, from there to "
2058 "hostb, and finally to hostc. Many hosts disregard route-addrs and send "
2059 "directly to hostc."
2063 #: build/C/man7/mailaddr.7:107
2065 "Route-addrs are very unusual now. They occur sometimes in old mail "
2066 "archives. It is generally possible to ignore all but the \"user@hostc\" "
2067 "part of the address to determine the actual address."
2071 #: build/C/man7/mailaddr.7:107
2077 #: build/C/man7/mailaddr.7:113
2079 "Every site is required to have a user or user alias designated "
2080 "\"postmaster\" to which problems with the mail system may be addressed. The "
2081 "\"postmaster\" address is not case sensitive."
2085 #: build/C/man7/mailaddr.7:115
2086 msgid "I</etc/aliases>"
2090 #: build/C/man7/mailaddr.7:117
2091 msgid "I<~/.forward>"
2095 #: build/C/man7/mailaddr.7:125
2097 "B<binmail>(1), B<mail>(1), B<mconnect>(1), B<aliases>(5), B<forward>(5), "
2098 "B<sendmail>(8), B<vrfy>(8)"
2102 #: build/C/man7/mailaddr.7:126
2103 msgid "RFC\\ 2822 (Internet Message Format)"
2107 #: build/C/man7/man-pages.7:30
2113 #: build/C/man7/man-pages.7:30 build/C/man5/proc.5:55
2119 #: build/C/man7/man-pages.7:33
2120 msgid "man-pages - conventions for writing Linux man pages"
2124 #: build/C/man7/man-pages.7:37 build/C/man7/man.7:49
2125 msgid "B<man> [I<section>] I<title>"
2129 #: build/C/man7/man-pages.7:47
2131 "This page describes the conventions that should be employed when writing man "
2132 "pages for the Linux I<man-pages> project, which documents the user-space API "
2133 "provided by the Linux kernel and the GNU C library. The project thus "
2134 "provides most of the pages in Section 2, as well as many of the pages that "
2135 "appear in Sections 3, 4, 5, and 7 of the man pages on a Linux system. The "
2136 "conventions described on this page may also be useful for authors writing "
2137 "man pages for other projects."
2141 #: build/C/man7/man-pages.7:47
2143 msgid "Sections of the manual pages"
2147 #: build/C/man7/man-pages.7:50
2148 msgid "The manual Sections are traditionally defined as follows:"
2152 #: build/C/man7/man-pages.7:50
2154 msgid "B<1 Commands (Programs)>"
2158 #: build/C/man7/man-pages.7:54
2159 msgid "Those commands that can be executed by the user from within a shell."
2163 #: build/C/man7/man-pages.7:54
2165 msgid "B<2 System calls>"
2169 #: build/C/man7/man-pages.7:57
2170 msgid "Those functions which must be performed by the kernel."
2174 #: build/C/man7/man-pages.7:57
2176 msgid "B<3 Library calls>"
2180 #: build/C/man7/man-pages.7:62
2181 msgid "Most of the I<libc> functions."
2185 #: build/C/man7/man-pages.7:62
2187 msgid "B<4 Special files (devices)>"
2191 #: build/C/man7/man-pages.7:66
2192 msgid "Files found in I</dev>."
2196 #: build/C/man7/man-pages.7:66
2198 msgid "B<5 File formats and conventions>"
2202 #: build/C/man7/man-pages.7:71
2203 msgid "The format for I</etc/passwd> and other human-readable files."
2207 #: build/C/man7/man-pages.7:71
2213 #: build/C/man7/man-pages.7:73
2215 msgid "B<7 Overview, conventions, and miscellaneous>"
2219 #: build/C/man7/man-pages.7:77
2221 "Overviews of various topics, conventions and protocols, character set "
2222 "standards, and miscellaneous other things."
2226 #: build/C/man7/man-pages.7:77
2228 msgid "B<8 System management commands>"
2232 #. .B 9 Kernel routines
2233 #. This is an obsolete manual section.
2234 #. Once it was thought a good idea to document the Linux kernel here,
2235 #. but in fact very little has been documented, and the documentation
2236 #. that exists is outdated already.
2237 #. There are better sources of
2238 #. information for kernel developers.
2240 #: build/C/man7/man-pages.7:90
2241 msgid "Commands like B<mount>(8), many of which only root can execute."
2245 #: build/C/man7/man-pages.7:90
2247 msgid "Macro package"
2251 #: build/C/man7/man-pages.7:97
2253 "New manual pages should be marked up using the B<groff an.tmac> package "
2254 "described in B<man>(7). This choice is mainly for consistency: the vast "
2255 "majority of existing Linux manual pages are marked up using these macros."
2259 #: build/C/man7/man-pages.7:97
2261 msgid "Conventions for source file layout"
2265 #: build/C/man7/man-pages.7:102
2267 "Please limit source code line length to no more than about 75 characters "
2268 "wherever possible. This helps avoid line-wrapping in some mail clients when "
2269 "patches are submitted inline."
2273 #: build/C/man7/man-pages.7:106
2275 "New sentences should be started on new lines. This makes it easier to see "
2276 "the effect of patches, which often operate at the level of individual "
2281 #: build/C/man7/man-pages.7:106 build/C/man7/man.7:78
2287 #: build/C/man7/man-pages.7:110
2288 msgid "The first command in a man page should be a B<TH> command:"
2292 #: build/C/man7/man-pages.7:114 build/C/man7/man.7:85
2293 msgid "B<\\&.TH> I<title section date source manual>"
2297 #: build/C/man7/man-pages.7:117 build/C/man5/proc.5:4147
2302 #: build/C/man7/man-pages.7:118
2308 #: build/C/man7/man-pages.7:122
2309 msgid "The title of the man page, written in all caps (e.g., I<MAN-PAGES>)."
2313 #: build/C/man7/man-pages.7:122
2319 #: build/C/man7/man-pages.7:126
2320 msgid "The section number in which the man page should be placed (e.g., I<7>)."
2324 #: build/C/man7/man-pages.7:126
2330 #: build/C/man7/man-pages.7:135
2332 "The date of the last nontrivial change that was made to the man page. "
2333 "(Within the I<man-pages> project, the necessary updates to these timetamps "
2334 "are handled automatically by scripts, so there is no need to manually update "
2335 "them as part of a patch.) Dates should be written in the form YYYY-MM-DD."
2339 #: build/C/man7/man-pages.7:135
2345 #: build/C/man7/man-pages.7:138
2346 msgid "The source of the command, function, or system call."
2350 #: build/C/man7/man-pages.7:142
2352 "For those few I<man-pages> pages in Sections 1 and 8, probably you just want "
2357 #: build/C/man7/man-pages.7:150
2359 "For system calls, just write I<Linux>. (An earlier practice was to write "
2360 "the version number of the kernel from which the manual page was being "
2361 "written/checked. However, this was never done consistently, and so was "
2362 "probably worse than including no version number. Henceforth, avoid "
2363 "including a version number.)"
2367 #: build/C/man7/man-pages.7:155
2369 "For library calls that are part of glibc or one of the other common GNU "
2370 "libraries, just use I<GNU C Library>, I<GNU>, or an empty string."
2374 #: build/C/man7/man-pages.7:158
2375 msgid "For Section 4 pages, use I<Linux>."
2379 #: build/C/man7/man-pages.7:161
2380 msgid "In cases of doubt, just write I<Linux>, or I<GNU>."
2384 #: build/C/man7/man-pages.7:161
2390 #: build/C/man7/man-pages.7:166
2392 "The title of the manual (e.g., for Section 2 and 3 pages in the I<man-pages> "
2393 "package, use I<Linux Programmer's Manual>)."
2397 #: build/C/man7/man-pages.7:167
2399 msgid "Sections within a manual page"
2403 #: build/C/man7/man-pages.7:174
2405 "The list below shows conventional or suggested sections. Most manual pages "
2406 "should include at least the B<highlighted> sections. Arrange a new manual "
2407 "page so that sections are placed in the order shown in the list."
2410 #. May 07: Few current man pages have an ERROR HANDLING section,,,
2412 #. May 07: Almost no current man pages have a USAGE section,,,
2415 #. May 07: Almost no current man pages have a SECURITY section,,,
2417 #. AUTHORS sections are discouraged
2418 #. AUTHORS [Discouraged]
2420 #: build/C/man7/man-pages.7:203
2425 "CONFIGURATION [Normally only in Section 4]\n"
2427 "OPTIONS [Normally only in Sections 1, 8]\n"
2428 "EXIT STATUS [Normally only in Sections 1, 8]\n"
2429 "RETURN VALUE [Normally only in Sections 2, 3]\n"
2430 "ERRORS [Typically only in Sections 2, 3]\n"
2433 "VERSIONS [Normally only in Sections 2, 3]\n"
2434 "ATTRIBUTES [Normally only in Sections 2, 3]\n"
2443 #: build/C/man7/man-pages.7:214
2445 "I<Where a traditional heading would apply>, I<please use it>; this kind of "
2446 "consistency can make the information easier to understand. If you must, you "
2447 "can create your own headings if they make things easier to understand (this "
2448 "can be especially useful for pages in Sections 4 and 5). However, before "
2449 "doing this, consider whether you could use the traditional headings, with "
2450 "some subsections (I<.SS>) within those sections."
2454 #: build/C/man7/man-pages.7:217
2455 msgid "The following list elaborates on the contents of each of the above sections."
2459 #: build/C/man7/man-pages.7:217
2465 #: build/C/man7/man-pages.7:220
2466 msgid "The name of this manual page."
2470 #: build/C/man7/man-pages.7:229
2472 "See B<man>(7) for important details of the line(s) that should follow the "
2473 "B<.SH NAME> command. All words in this line (including the word immediately "
2474 "following the \"\\e-\") should be in lowercase, except where English or "
2475 "technical terminological convention dictates otherwise."
2479 #: build/C/man7/man-pages.7:229
2485 #: build/C/man7/man-pages.7:232
2486 msgid "A brief summary of the command or function's interface."
2490 #: build/C/man7/man-pages.7:242
2492 "For commands, this shows the syntax of the command and its arguments "
2493 "(including options); boldface is used for as-is text and italics are used to "
2494 "indicate replaceable arguments. Brackets ([]) surround optional arguments, "
2495 "vertical bars (|) separate choices, and ellipses (\\&...) can be repeated. "
2496 "For functions, it shows any required data declarations or B<#include> "
2497 "directives, followed by the function declaration."
2500 #. FIXME . Say something here about compiler options
2502 #: build/C/man7/man-pages.7:248
2504 "Where a feature test macro must be defined in order to obtain the "
2505 "declaration of a function (or a variable) from a header file, then the "
2506 "SYNOPSIS should indicate this, as described in B<feature_test_macros>(7)."
2510 #: build/C/man7/man-pages.7:248
2512 msgid "B<CONFIGURATION>"
2516 #: build/C/man7/man-pages.7:251
2517 msgid "Configuration details for a device."
2521 #: build/C/man7/man-pages.7:253
2522 msgid "This section normally appears only in Section 4 pages."
2526 #: build/C/man7/man-pages.7:253
2528 msgid "B<DESCRIPTION>"
2532 #: build/C/man7/man-pages.7:256
2533 msgid "An explanation of what the program, function, or format does."
2536 #. If there is some kind of input grammar or complex set of subcommands,
2537 #. consider describing them in a separate
2539 #. section (and just place an overview in the
2543 #: build/C/man7/man-pages.7:271
2545 "Discuss how it interacts with files and standard input, and what it produces "
2546 "on standard output or standard error. Omit internals and implementation "
2547 "details unless they're critical for understanding the interface. Describe "
2548 "the usual case; for information on command-line options of a program use the "
2549 "B<OPTIONS> section."
2553 #: build/C/man7/man-pages.7:279
2555 "When describing new behavior or new flags for a system call or library "
2556 "function, be careful to note the kernel or C library version that introduced "
2557 "the change. The preferred method of noting this information for flags is as "
2558 "part of a B<.TP> list, in the following form (here, for a new system call "
2563 #: build/C/man7/man-pages.7:280
2565 msgid "B<XYZ_FLAG> (since Linux 3.7)"
2569 #: build/C/man7/man-pages.7:283
2570 msgid "Description of flag..."
2574 #: build/C/man7/man-pages.7:288
2576 "Including version information is especially useful to users who are "
2577 "constrained to using older kernel or C library versions (which is typical in "
2578 "embedded systems, for example)."
2582 #: build/C/man7/man-pages.7:288
2588 #: build/C/man7/man-pages.7:292
2590 "A description of the command-line options accepted by a program and how they "
2591 "change its behavior."
2595 #: build/C/man7/man-pages.7:297 build/C/man7/man-pages.7:303
2596 msgid "This section should appear only for Section 1 and 8 manual pages."
2600 #: build/C/man7/man-pages.7:297
2602 msgid "B<EXIT STATUS>"
2606 #: build/C/man7/man-pages.7:301
2608 "A list of the possible exit status values of a program and the conditions "
2609 "that cause these values to be returned."
2613 #: build/C/man7/man-pages.7:303
2615 msgid "B<RETURN VALUE>"
2619 #: build/C/man7/man-pages.7:308
2621 "For Section 2 and 3 pages, this section gives a list of the values the "
2622 "library routine will return to the caller and the conditions that cause "
2623 "these values to be returned."
2627 #: build/C/man7/man-pages.7:308
2633 #: build/C/man7/man-pages.7:315
2635 "For Section 2 and 3 manual pages, this is a list of the values that may be "
2636 "placed in I<errno> in the event of an error, along with information about "
2637 "the cause of the errors."
2641 #: build/C/man7/man-pages.7:317
2642 msgid "I<The error list should be in alphabetical order>."
2646 #: build/C/man7/man-pages.7:317
2648 msgid "B<ENVIRONMENT>"
2652 #: build/C/man7/man-pages.7:321
2654 "A list of all environment variables that affect the program or function and "
2655 "how they affect it."
2659 #: build/C/man7/man-pages.7:321
2665 #: build/C/man7/man-pages.7:326
2667 "A list of the files the program or function uses, such as configuration "
2668 "files, startup files, and files the program directly operates on."
2671 #. May 07: Almost no current man pages have a DIAGNOSTICS section;
2672 #. "RETURN VALUE" or "EXIT STATUS" is preferred.
2675 #. gives an overview of the most common error messages and how to
2677 #. You don't need to explain system error messages
2678 #. or fatal signals that can appear during execution of any program
2679 #. unless they're special in some way to the program.
2681 #. May 07: Almost no current man pages have a SECURITY section.
2684 #. discusses security issues and implications.
2685 #. Warn about configurations or environments that should be avoided,
2686 #. commands that may have security implications, and so on, especially
2687 #. if they aren't obvious.
2688 #. Discussing security in a separate section isn't necessary;
2689 #. if it's easier to understand, place security information in the
2690 #. other sections (such as the
2695 #. However, please include security information somewhere!
2697 #: build/C/man7/man-pages.7:359
2699 "Give the full pathname of these files, and use the installation process to "
2700 "modify the directory part to match user preferences. For many programs, the "
2701 "default installation location is in I</usr/local>, so your base manual page "
2702 "should use I</usr/local> as the base."
2706 #: build/C/man7/man-pages.7:359
2708 msgid "B<ATTRIBUTES>"
2712 #: build/C/man7/man-pages.7:363
2714 "A summary of various attributes of the function(s) documented on this page, "
2715 "broken into subsections."
2719 #: build/C/man7/man-pages.7:365
2720 msgid "The following subsections are defined:"
2724 #: build/C/man7/man-pages.7:367
2726 msgid "B<Multithreading (see pthreads(7))>"
2730 #: build/C/man7/man-pages.7:370
2731 msgid "This subsection notes attributes relating to multithreaded applications:"
2735 #: build/C/man7/man-pages.7:373
2736 msgid "Whether the function is thread-safe."
2740 #: build/C/man7/man-pages.7:375
2741 msgid "Whether the function is a cancellation point."
2745 #: build/C/man7/man-pages.7:377
2746 msgid "Whether the function is async-cancel-safe."
2750 #: build/C/man7/man-pages.7:381
2751 msgid "Details of these attributes can be found in B<pthreads>(7)."
2755 #: build/C/man7/man-pages.7:382
2761 #: build/C/man7/man-pages.7:387
2763 "A brief summary of the Linux kernel or glibc versions where a system call or "
2764 "library function appeared, or changed significantly in its operation."
2768 #: build/C/man7/man-pages.7:400
2770 "As a general rule, every new interface should include a VERSIONS section in "
2771 "its manual page. Unfortunately, many existing manual pages don't include "
2772 "this information (since there was no policy to do so when they were "
2773 "written). Patches to remedy this are welcome, but, from the perspective of "
2774 "programmers writing new code, this information probably matters only in the "
2775 "case of kernel interfaces that have been added in Linux 2.4 or later (i.e., "
2776 "changes since kernel 2.2), and library functions that have been added to "
2777 "glibc since version 2.1 (i.e., changes since glibc 2.0)."
2781 #: build/C/man7/man-pages.7:405
2783 "The B<syscalls>(2) manual page also provides information about kernel "
2784 "versions in which various system calls first appeared."
2788 #: build/C/man7/man-pages.7:405
2790 msgid "B<CONFORMING TO>"
2794 #: build/C/man7/man-pages.7:409
2796 "A description of any standards or conventions that relate to the function or "
2797 "command described by the manual page."
2801 #: build/C/man7/man-pages.7:413
2803 "The preferred terms to use for the various standards are listed as headings "
2804 "in B<standards>(7)."
2808 #: build/C/man7/man-pages.7:422
2810 "For a page in Section 2 or 3, this section should note the POSIX.1 "
2811 "version(s) that the call conforms to, and also whether the call is specified "
2812 "in C99. (Don't worry too much about other standards like SUS, SUSv2, and "
2813 "XPG, or the SVr4 and 4.xBSD implementation standards, unless the call was "
2814 "specified in those standards, but isn't in the current version of POSIX.1.)"
2818 #: build/C/man7/man-pages.7:426
2820 "If the call is not governed by any standards but commonly exists on other "
2821 "systems, note them. If the call is Linux-specific, note this."
2825 #: build/C/man7/man-pages.7:430
2827 "If this section consists of just a list of standards (which it commonly "
2828 "does), terminate the list with a period (\\(aq.\\(aq)."
2832 #: build/C/man7/man-pages.7:430
2838 #: build/C/man7/man-pages.7:433
2839 msgid "Miscellaneous notes."
2843 #: build/C/man7/man-pages.7:436
2845 "For Section 2 and 3 man pages you may find it useful to include subsections "
2846 "(B<SS>) named I<Linux Notes> and I<Glibc Notes>."
2850 #: build/C/man7/man-pages.7:442
2852 "In Section 2, use the heading I<C library/kernel ABI differences> to mark "
2853 "off notes that describe the differences (if any) between the C library "
2854 "wrapper function for a system call and the raw system call interface "
2855 "provided by the kernel."
2859 #: build/C/man7/man-pages.7:442
2865 #: build/C/man7/man-pages.7:446
2867 "A list of limitations, known defects or inconveniences, and other "
2868 "questionable activities."
2872 #: build/C/man7/man-pages.7:446
2878 #: build/C/man7/man-pages.7:450
2880 "One or more examples demonstrating how this function, file or command is "
2885 #: build/C/man7/man-pages.7:453
2886 msgid "For details on writing example programs, see I<Example Programs> below."
2890 #: build/C/man7/man-pages.7:453
2896 #: build/C/man7/man-pages.7:456
2897 msgid "A list of authors of the documentation or program."
2901 #: build/C/man7/man-pages.7:464
2903 "B<Use of an AUTHORS section is strongly discouraged>. Generally, it is "
2904 "better not to clutter every page with a list of (over time potentially "
2905 "numerous) authors; if you write or significantly amend a page, add a "
2906 "copyright notice as a comment in the source file. If you are the author of "
2907 "a device driver and want to include an address for reporting bugs, place "
2908 "this under the BUGS section."
2912 #: build/C/man7/man-pages.7:464
2918 #: build/C/man7/man-pages.7:468
2920 "A comma-separated list of related man pages, possibly followed by other "
2921 "related pages or documents."
2925 #: build/C/man7/man-pages.7:472
2927 "The list should be ordered by section number and then alphabetically by name "
2928 "Do not terminate this list with a period."
2932 #: build/C/man7/man-pages.7:483
2934 "Where the SEE ALSO list contains many long manual page names, to improve the "
2935 "visual result of the output, it may be useful to employ the I<.ad l> (don't "
2936 "right justify) and I<.nh> (don't hyphenate) directives. Hyphenation of "
2937 "individual page names can be prevented by preceding words with the string "
2942 #: build/C/man7/man-pages.7:488
2944 "Given the distributed, autonomous nature of FOSS projects and their "
2945 "documentation, it is sometimes necessary\\(emand in many cases "
2946 "desirable\\(emthat the SEE ALSO section includes references to manual pages "
2947 "provided by other projects."
2951 #: build/C/man7/man-pages.7:488
2957 #: build/C/man7/man-pages.7:495
2959 "The following subsections describe the preferred style for the I<man-pages> "
2960 "project. For details not covered below, the Chicago Manual of Style is "
2961 "usually a good source; try also grepping for preexisting usage in the "
2962 "project source tree."
2966 #: build/C/man7/man-pages.7:495
2968 msgid "Use of gender-neutral language"
2972 #: build/C/man7/man-pages.7:500
2974 "As far as possible, use gender-neutral language in the text of man pages. "
2975 "Use of \"they\" (\"them\", \"themself\", \"their\") as a gender-neutral "
2976 "singular pronoun is acceptable."
2980 #: build/C/man7/man-pages.7:500
2982 msgid "Font conventions"
2986 #: build/C/man7/man-pages.7:505
2988 "For functions, the arguments are always specified using italics, I<even in "
2989 "the SYNOPSIS section>, where the rest of the function is specified in bold:"
2993 #: build/C/man7/man-pages.7:507
2994 msgid "B< int myfunction(int >I<argc>B<, char **>I<argv>B<);>"
2998 #: build/C/man7/man-pages.7:509
2999 msgid "Variable names should, like argument names, be specified in italics."
3003 #: build/C/man7/man-pages.7:519
3005 "Filenames (whether pathnames, or references to header files) are always in "
3006 "italics (e.g., I<E<lt>stdio.hE<gt>>), except in the SYNOPSIS section, where "
3007 "included files are in bold (e.g., B<#include E<lt>stdio.hE<gt>>). When "
3008 "referring to a standard header file include, specify the header file "
3009 "surrounded by angle brackets, in the usual C way (e.g., "
3010 "I<E<lt>stdio.hE<gt>>)."
3014 #: build/C/man7/man-pages.7:523
3016 "Special macros, which are usually in uppercase, are in bold (e.g., "
3017 "B<MAXINT>). Exception: don't boldface NULL."
3021 #: build/C/man7/man-pages.7:528
3023 "When enumerating a list of error codes, the codes are in bold (this list "
3024 "usually uses the B<\\&.TP> macro)."
3028 #: build/C/man7/man-pages.7:532
3030 "Complete commands should, if long, be written as an indented line on their "
3031 "own, with a blank line before and after the command, for example"
3035 #: build/C/man7/man-pages.7:536
3037 msgid "man 7 man-pages\n"
3041 #: build/C/man7/man-pages.7:546
3043 "If the command is short, then it can be included inline in the text, in "
3044 "italic format, for example, I<man 7 man-pages>. In this case, it may be "
3045 "worth using nonbreaking spaces (\"\\e\\ \") at suitable places in the "
3046 "command. Command options should be written in italics (e.g., I<-l>)."
3050 #: build/C/man7/man-pages.7:551
3052 "Expressions, if not written on a separate indented line, should be specified "
3053 "in italics. Again, the use of nonbreaking spaces may be appropriate if the "
3054 "expression is inlined with normal text."
3058 #: build/C/man7/man-pages.7:562
3060 "Any reference to the subject of the current manual page should be written "
3061 "with the name in bold. If the subject is a function (i.e., this is a "
3062 "Section 2 or 3 page), then the name should be followed by a pair of "
3063 "parentheses in Roman (normal) font. For example, in the B<fcntl>(2) man "
3064 "page, references to the subject of the page would be written as: "
3065 "B<fcntl>(). The preferred way to write this in the source file is:"
3069 #: build/C/man7/man-pages.7:565
3071 msgid " .BR fcntl ()\n"
3075 #: build/C/man7/man-pages.7:569
3077 "(Using this format, rather than the use of \"\\efB...\\efP()\" makes it "
3078 "easier to write tools that parse man page source files.)"
3082 #: build/C/man7/man-pages.7:578
3084 "Any reference to another man page should be written with the name in bold, "
3085 "I<always> followed by the section number, formatted in Roman (normal) font, "
3086 "without any separating spaces (e.g., B<intro>(2)). The preferred way to "
3087 "write this in the source file is:"
3091 #: build/C/man7/man-pages.7:581
3093 msgid " .BR intro (2)\n"
3097 #: build/C/man7/man-pages.7:586
3099 "(Including the section number in cross references lets tools like "
3100 "B<man2html>(1) create properly hyperlinked pages.)"
3104 #: build/C/man7/man-pages.7:590
3106 "Control characters should be written in bold face, with no quotes; for "
3111 #: build/C/man7/man-pages.7:590
3117 #: build/C/man7/man-pages.7:596
3119 "Starting with release 2.59, I<man-pages> follows American spelling "
3120 "conventions (previously, there was a random mix of British and American "
3121 "spellings); please write all new pages and patches according to these "
3126 #: build/C/man7/man-pages.7:599
3128 "Aside from the well-known spelling differences, there are a few other "
3129 "subtleties to watch for:"
3133 #: build/C/man7/man-pages.7:603
3135 "American English tends to use the forms \"backward\", \"upward\", "
3136 "\"toward\", and so on rather than the British forms \"backwards\", "
3137 "\"upwards\", \"towards\", and so on."
3141 #: build/C/man7/man-pages.7:603
3143 msgid "BSD version numbers"
3147 #: build/C/man7/man-pages.7:611
3149 "The classical scheme for writing BSD version numbers is I<x.yBSD>, where "
3150 "I<x.y> is the version number (e.g., 4.2BSD). Avoid forms such as I<BSD "
3155 #: build/C/man7/man-pages.7:611
3157 msgid "Capitalization"
3161 #: build/C/man7/man-pages.7:617
3163 "In subsection (\"SS\") headings, capitalize the first word in the heading, "
3164 "but otherwise use lowercase, except where English usage (e.g., proper nouns) "
3165 "or programming language requirements (e.g., identifier names) dictate "
3166 "otherwise. For example:"
3170 #: build/C/man7/man-pages.7:619
3171 msgid ".SS Unicode under Linux"
3175 #: build/C/man7/man-pages.7:620
3177 msgid "Indentation of structure definitions, shell session logs, and so on"
3181 #: build/C/man7/man-pages.7:626
3183 "When structure definitions, shell session logs, and so on are included in "
3184 "running text, indent them by 4 spaces (i.e., a block enclosed by I<.in\\ "
3189 #: build/C/man7/man-pages.7:626
3191 msgid "Preferred terms"
3195 #: build/C/man7/man-pages.7:629
3197 "The following table lists some preferred terms to use in man pages, mainly "
3198 "to ensure consistency across pages."
3202 #: build/C/man7/man-pages.7:633
3204 msgid "Term\tAvoid using\tNotes\n"
3208 #: build/C/man7/man-pages.7:635
3210 msgid "bit mask\tbitmask\n"
3214 #: build/C/man7/man-pages.7:636
3216 msgid "built-in\tbuiltin\n"
3220 #: build/C/man7/man-pages.7:637
3222 msgid "Epoch\tepoch\tT{\n"
3226 #: build/C/man7/man-pages.7:638
3228 msgid "For the UNIX Epoch (00:00:00, 1 Jan 1970 UTC)\n"
3232 #: build/C/man7/man-pages.7:639 build/C/man7/man-pages.7:650 build/C/man7/man-pages.7:654 build/C/man7/man-pages.7:659 build/C/man7/man-pages.7:663 build/C/man7/man-pages.7:669 build/C/man7/man-pages.7:673 build/C/man7/man-pages.7:698 build/C/man7/man-pages.7:701 build/C/man7/man-pages.7:704
3238 #: build/C/man7/man-pages.7:640
3240 msgid "filename\tfile name\n"
3244 #: build/C/man7/man-pages.7:641
3246 msgid "filesystem\tfile system\n"
3250 #: build/C/man7/man-pages.7:642
3252 msgid "hostname\thost name\n"
3256 #: build/C/man7/man-pages.7:643
3258 msgid "inode\ti-node\n"
3262 #: build/C/man7/man-pages.7:644
3264 msgid "lowercase\tlower case, lower-case\n"
3268 #: build/C/man7/man-pages.7:645
3270 msgid "pathname\tpath name\n"
3274 #: build/C/man7/man-pages.7:646
3276 msgid "pseudoterminal\tpseudo-terminal\n"
3280 #: build/C/man7/man-pages.7:647
3282 msgid "privileged port\tT{\n"
3286 #: build/C/man7/man-pages.7:648
3288 msgid "reserved port,\n"
3292 #: build/C/man7/man-pages.7:649
3294 msgid "system port\n"
3298 #: build/C/man7/man-pages.7:651
3300 msgid "real-time\tT{\n"
3304 #: build/C/man7/man-pages.7:652
3310 #: build/C/man7/man-pages.7:653
3316 #: build/C/man7/man-pages.7:655
3318 msgid "run time\truntime\n"
3322 #: build/C/man7/man-pages.7:656
3324 msgid "saved set-group-ID\tT{\n"
3328 #: build/C/man7/man-pages.7:657
3330 msgid "saved group ID,\n"
3334 #: build/C/man7/man-pages.7:658
3336 msgid "saved set-GID\n"
3340 #: build/C/man7/man-pages.7:660
3342 msgid "saved set-user-ID\tT{\n"
3346 #: build/C/man7/man-pages.7:661
3348 msgid "saved user ID,\n"
3352 #: build/C/man7/man-pages.7:662
3354 msgid "saved set-UID\n"
3358 #: build/C/man7/man-pages.7:664
3360 msgid "set-group-ID\tset-GID, setgid\n"
3364 #: build/C/man7/man-pages.7:665
3366 msgid "set-user-ID\tset-UID, setuid\n"
3370 #: build/C/man7/man-pages.7:666
3372 msgid "superuser\tT{\n"
3376 #: build/C/man7/man-pages.7:667
3378 msgid "super user,\n"
3382 #: build/C/man7/man-pages.7:668
3384 msgid "super-user\n"
3388 #: build/C/man7/man-pages.7:670
3390 msgid "superblock\tT{\n"
3394 #: build/C/man7/man-pages.7:671
3396 msgid "super block,\n"
3400 #: build/C/man7/man-pages.7:672
3402 msgid "super-block\n"
3406 #: build/C/man7/man-pages.7:674
3408 msgid "timestamp\ttime stamp\n"
3412 #: build/C/man7/man-pages.7:675
3414 msgid "timezone\ttime zone\n"
3418 #: build/C/man7/man-pages.7:676
3420 msgid "uppercase\tupper case, upper-case\n"
3424 #: build/C/man7/man-pages.7:677
3426 msgid "usable\tuseable\n"
3430 #: build/C/man7/man-pages.7:678
3432 msgid "user space\tuserspace\n"
3436 #: build/C/man7/man-pages.7:679
3438 msgid "username\tuser name\n"
3442 #: build/C/man7/man-pages.7:680
3444 msgid "zeros\tzeroes\n"
3448 #: build/C/man7/man-pages.7:686
3449 msgid "See also the discussion I<Hyphenation of attributive compounds> below."
3453 #: build/C/man7/man-pages.7:686
3455 msgid "Terms to avoid"
3459 #: build/C/man7/man-pages.7:690
3461 "The following table lists some terms to avoid using in man pages, along with "
3462 "some suggested alternatives, mainly to ensure consistency across pages."
3466 #: build/C/man7/man-pages.7:694
3468 msgid "Avoid\tUse instead\tNotes\n"
3472 #: build/C/man7/man-pages.7:696
3474 msgid "32bit\t32-bit\tT{\n"
3478 #: build/C/man7/man-pages.7:697
3480 msgid "same for 8-bit, 16-bit, etc.\n"
3484 #: build/C/man7/man-pages.7:699
3486 msgid "current process\tcalling process\tT{\n"
3490 #: build/C/man7/man-pages.7:700
3492 msgid "A common mistake made by kernel programmers when writing man pages\n"
3496 #: build/C/man7/man-pages.7:702
3498 msgid "manpage\tT{\n"
3502 #: build/C/man7/man-pages.7:703
3504 msgid "man page, manual page\n"
3508 #: build/C/man7/man-pages.7:705
3510 msgid "minus infinity\tnegative infinity\n"
3514 #: build/C/man7/man-pages.7:706
3516 msgid "non-root\tunprivileged user\n"
3520 #: build/C/man7/man-pages.7:707
3522 msgid "non-superuser\tunprivileged user\n"
3526 #: build/C/man7/man-pages.7:708
3528 msgid "nonprivileged\tunprivileged\n"
3532 #: build/C/man7/man-pages.7:709
3534 msgid "OS\toperating system\n"
3538 #: build/C/man7/man-pages.7:710
3540 msgid "plus infinity\tpositive infinity\n"
3544 #: build/C/man7/man-pages.7:711
3546 msgid "pty\tpseudoterminal\n"
3550 #: build/C/man7/man-pages.7:712
3552 msgid "tty\tterminal\n"
3556 #: build/C/man7/man-pages.7:713
3558 msgid "Unices\tUNIX systems\n"
3562 #: build/C/man7/man-pages.7:714
3564 msgid "Unixes\tUNIX systems\n"
3568 #: build/C/man7/man-pages.7:716
3574 #: build/C/man7/man-pages.7:720
3576 "Use the correct spelling and case for trademarks. The following is a list "
3577 "of the correct spellings of various relevant trademarks that are sometimes "
3582 #: build/C/man7/man-pages.7:725
3592 #: build/C/man7/man-pages.7:725
3594 msgid "NULL, NUL, null pointer, and null character"
3598 #: build/C/man7/man-pages.7:737
3600 "A I<null pointer> is a pointer that points to nothing, and is normally "
3601 "indicated by the constant I<NULL>. On the other hand, I<NUL> is the I<null "
3602 "byte>, a byte with the value 0, represented in C via the character constant "
3603 "I<\\(aq\\e0\\(aq>."
3607 #: build/C/man7/man-pages.7:740
3609 "The preferred term for the pointer is \"null pointer\" or simply \"NULL\"; "
3610 "avoid writing \"NULL pointer\"."
3614 #: build/C/man7/man-pages.7:748
3616 "The preferred term for the byte is \"null byte\". Avoid writing \"NUL\", "
3617 "since it is too easily confused with \"NULL\". Avoid also the terms \"zero "
3618 "byte\" and \"null character\". The byte that terminates a C string should "
3619 "be described as \"the terminating null byte\"; strings may be described as "
3620 "\"null-terminated\", but avoid the use of \"NUL-terminated\"."
3624 #: build/C/man7/man-pages.7:748
3630 #: build/C/man7/man-pages.7:756
3632 "For hyperlinks, use the I<.UR>/I<.UE> macro pair (see B<groff_man>(7)). "
3633 "This produces proper hyperlinks that can be used in a web browser, when "
3634 "rendering a page with, say:"
3638 #: build/C/man7/man-pages.7:758
3640 msgid " BROWSER=firefox man -H pagename\n"
3644 #: build/C/man7/man-pages.7:758
3646 msgid "Use of e.g., i.e., etc., a.k.a., and similar"
3650 #: build/C/man7/man-pages.7:762
3652 "In general, the use of abbreviations such as \"e.g.\", \"i.e.\", \"etc.\", "
3653 "\"a.k.a.\" should be avoided, in favor of suitable full wordings (\"for "
3654 "example\", \"that is\", \"and so on\", \"also known as\")."
3658 #: build/C/man7/man-pages.7:766
3660 "The only place where such abbreviations may be acceptable is in I<short> "
3661 "parenthetical asides (e.g., like this one)."
3665 #: build/C/man7/man-pages.7:769
3667 "Always include periods in such abbreviations, as shown here. In addition, "
3668 "\"e.g.\" and \"i.e.\" should always be followed by a comma."
3672 #: build/C/man7/man-pages.7:769
3678 #: build/C/man7/man-pages.7:777
3680 "The way to write an em-dash\\(emthe glyph that appears at either end of this "
3681 "subphrase\\(emin *roff is with the macro \"\\e(em\". (On an ASCII terminal, "
3682 "an em-dash typically renders as two hyphens, but in other typographical "
3683 "contexts it renders as a long dash.) Em-dashes should be written I<without> "
3684 "surrounding spaces."
3688 #: build/C/man7/man-pages.7:777
3690 msgid "Hyphenation of attributive compounds"
3694 #: build/C/man7/man-pages.7:780
3696 "Compound terms should be hyphenated when used attributively (i.e., to "
3697 "qualify a following noun). Some examples:"
3701 #: build/C/man7/man-pages.7:787
3705 " command-line argument\n"
3706 " floating-point number\n"
3708 " user-space function\n"
3709 " wide-character string\n"
3713 #: build/C/man7/man-pages.7:787
3715 msgid "Hyphenation with multi, non, pre, re, sub, and so on"
3719 #: build/C/man7/man-pages.7:793
3721 "The general tendency in modern English is not to hyphenate after prefixes "
3722 "such as \"multi\", \"non\", \"pre\", \"re\", \"sub\", and so on. Manual "
3723 "pages should generally follow this rule when these prefixes are used in "
3724 "natural English constructions with simple suffixes. The following list "
3725 "gives some examples of the preferred forms:"
3729 #: build/C/man7/man-pages.7:814
3755 #: build/C/man7/man-pages.7:818
3757 "Hyphens should be retained when the prefixes are used in nonstandard English "
3758 "words, with trademarks, proper nouns, acronyms, or compound terms. Some "
3763 #: build/C/man7/man-pages.7:823
3773 #: build/C/man7/man-pages.7:826
3775 "Finally, note that \"re-create\" and \"recreate\" are two different verbs, "
3776 "and the former is probably what you want."
3780 #: build/C/man7/man-pages.7:826
3782 msgid "Real minus character"
3786 #: build/C/man7/man-pages.7:831
3788 "Where a real minus character is required (e.g., for numbers such as -1, or "
3789 "when writing options that have a leading dash, such as in I<ls\\ -l>), use "
3790 "the following form in the man page source:"
3794 #: build/C/man7/man-pages.7:833
3800 #: build/C/man7/man-pages.7:835
3801 msgid "This guideline applies also to code examples."
3805 #: build/C/man7/man-pages.7:835
3807 msgid "Character constants"
3811 #: build/C/man7/man-pages.7:838
3813 "To produce single quotes that render well in both ASCII and UTF-8, use the "
3814 "following form for character constants in the man page source:"
3818 #: build/C/man7/man-pages.7:840
3820 msgid " \\e(aqC\\e(aq\n"
3824 #: build/C/man7/man-pages.7:845
3826 "where I<C> is the quoted character. This guideline applies also to "
3827 "character constants used in code examples."
3831 #: build/C/man7/man-pages.7:845
3833 msgid "Example programs and shell sessions"
3837 #: build/C/man7/man-pages.7:849
3839 "Manual pages may include example programs demonstrating how to use a system "
3840 "call or library function. However, note the following:"
3844 #: build/C/man7/man-pages.7:851
3845 msgid "Example programs should be written in C."
3849 #: build/C/man7/man-pages.7:857
3851 "An example program is necessary and useful only if it demonstrates something "
3852 "beyond what can easily be provided in a textual description of the "
3853 "interface. An example program that does nothing other than call an "
3854 "interface usually serves little purpose."
3858 #: build/C/man7/man-pages.7:860
3860 "Example programs should be fairly short (preferably less than 100 lines; "
3861 "ideally less than 50 lines)."
3865 #: build/C/man7/man-pages.7:863
3867 "Example programs should do error checking after system calls and library "
3872 #: build/C/man7/man-pages.7:866
3874 "Example programs should be complete, and compile without warnings when "
3875 "compiled with I<cc\\ -Wall>."
3879 #: build/C/man7/man-pages.7:871
3881 "Where possible and appropriate, example programs should allow "
3882 "experimentation, by varying their behavior based on inputs (ideally from "
3883 "command-line arguments, or alternatively, via input read by the program)."
3887 #: build/C/man7/man-pages.7:875
3889 "Example programs should be laid out according to Kernighan and Ritchie "
3890 "style, with 4-space indents. (Avoid the use of TAB characters in source "
3895 #: build/C/man7/man-pages.7:877
3896 msgid "For consistency, all example programs should terminate using either of:"
3900 #: build/C/man7/man-pages.7:880
3903 " exit(EXIT_SUCCESS);\n"
3904 " exit(EXIT_FAILURE);\n"
3908 #: build/C/man7/man-pages.7:882
3909 msgid "Avoid using the following forms to terminate a program:"
3913 #: build/C/man7/man-pages.7:886
3922 #: build/C/man7/man-pages.7:892
3924 "If there is extensive explanatory text before the program source code, mark "
3925 "off the source code with a subsection heading I<Program source>, as in:"
3929 #: build/C/man7/man-pages.7:894
3930 msgid ".SS Program source"
3934 #: build/C/man7/man-pages.7:896
3935 msgid "Always do this if the explanatory text includes a shell session log."
3939 #: build/C/man7/man-pages.7:899
3941 "If you include a shell session log demonstrating the use of a program or "
3942 "other system feature:"
3946 #: build/C/man7/man-pages.7:901
3947 msgid "Place the session log above the source code listing"
3951 #: build/C/man7/man-pages.7:903
3952 msgid "Indent the session log by four spaces."
3956 #: build/C/man7/man-pages.7:906
3958 "Boldface the user input text, to distinguish it from output produced by the "
3963 #: build/C/man7/man-pages.7:911
3965 "For some examples of what example programs should look like, see B<wait>(2) "
3970 #: build/C/man7/man-pages.7:918
3972 "For canonical examples of how man pages in the I<man-pages> package should "
3973 "look, see B<pipe>(2) and B<fcntl>(2)."
3977 #: build/C/man7/man-pages.7:924
3979 "B<man>(1), B<man2html>(1), B<groff>(7), B<groff_man>(7), B<man>(7), "
3984 #: build/C/man7/man.7:34
3990 #: build/C/man7/man.7:34 build/C/man7/units.7:26
3996 #: build/C/man7/man.7:37
3997 msgid "man - macros to format man pages"
4001 #: build/C/man7/man.7:41
4002 msgid "B<groff -Tascii -man> I<file> \\&..."
4006 #: build/C/man7/man.7:45
4007 msgid "B<groff -Tps -man> I<file> \\&..."
4011 #: build/C/man7/man.7:62
4013 "This manual page explains the B<groff an.tmac> macro package (often called "
4014 "the B<man> macro package). This macro package should be used by developers "
4015 "when writing or porting man pages for Linux. It is fairly compatible with "
4016 "other versions of this macro package, so porting man pages should not be a "
4017 "major problem (exceptions include the NET-2 BSD release, which uses a "
4018 "totally different macro package called mdoc; see B<mdoc>(7))."
4022 #: build/C/man7/man.7:74
4024 "Note that NET-2 BSD mdoc man pages can be used with B<groff> simply by "
4025 "specifying the B<-mdoc> option instead of the B<-man> option. Using the "
4026 "B<-mandoc> option is, however, recommended, since this will automatically "
4027 "detect which macro package is in use."
4031 #: build/C/man7/man.7:78
4033 "For conventions that should be employed when writing man pages for the Linux "
4034 "I<man-pages> package, see B<man-pages>(7)."
4038 #: build/C/man7/man.7:81
4040 "The first command in a man page (after comment lines, that is, lines that "
4041 "start with B<.\\e\">) should be"
4045 #: build/C/man7/man.7:91
4047 "For details of the arguments that should be supplied to the B<TH> command, "
4048 "see B<man-pages>(7)."
4052 #: build/C/man7/man.7:97
4054 "Note that BSD mdoc-formatted pages begin with the B<Dd> command, not the "
4059 #: build/C/man7/man.7:97
4064 #. The following doesn't seem to be required (see Debian bug 411303),
4065 #. If the name contains spaces and appears
4066 #. on the same line as
4068 #. then place the heading in double quotes.
4070 #: build/C/man7/man.7:106
4071 msgid "Sections are started with B<\\&.SH> followed by the heading name."
4075 #: build/C/man7/man.7:109
4077 "The only mandatory heading is NAME, which should be the first section and be "
4078 "followed on the next line by a one-line description of the program:"
4082 #: build/C/man7/man.7:112
4087 #: build/C/man7/man.7:114
4088 msgid "item \\e- description"
4092 #: build/C/man7/man.7:128
4094 "It is extremely important that this format is followed, and that there is a "
4095 "backslash before the single dash which follows the item name. This syntax "
4096 "is used by the B<mandb>(8) program to create a database of short "
4097 "descriptions for the B<whatis>(1) and B<apropos>(1) commands. (See "
4098 "B<lexgrog>(1) for further details on the syntax of the NAME section.)"
4102 #: build/C/man7/man.7:131
4104 "For a list of other sections that might appear in a manual page, see "
4109 #: build/C/man7/man.7:131
4115 #: build/C/man7/man.7:133
4116 msgid "The commands to select the type face are:"
4120 #: build/C/man7/man.7:133
4126 #: build/C/man7/man.7:136
4131 #: build/C/man7/man.7:136
4137 #: build/C/man7/man.7:140
4139 "Bold alternating with italics (especially useful for function "
4144 #: build/C/man7/man.7:140
4150 #: build/C/man7/man.7:145
4152 "Bold alternating with Roman (especially useful for referring to other manual "
4157 #: build/C/man7/man.7:145
4163 #: build/C/man7/man.7:148
4168 #: build/C/man7/man.7:148
4174 #: build/C/man7/man.7:151
4175 msgid "Italics alternating with bold"
4179 #: build/C/man7/man.7:151
4185 #: build/C/man7/man.7:154
4186 msgid "Italics alternating with Roman"
4190 #: build/C/man7/man.7:154
4196 #: build/C/man7/man.7:157
4197 msgid "Roman alternating with bold"
4201 #: build/C/man7/man.7:157
4207 #: build/C/man7/man.7:160
4208 msgid "Roman alternating with italics"
4212 #: build/C/man7/man.7:160
4218 #: build/C/man7/man.7:163
4219 msgid "Small alternating with bold"
4223 #: build/C/man7/man.7:163
4229 #: build/C/man7/man.7:166
4230 msgid "Small (useful for acronyms)"
4234 #: build/C/man7/man.7:179
4236 "Traditionally, each command can have up to six arguments, but the GNU "
4237 "implementation removes this limitation (you might still want to limit "
4238 "yourself to 6 arguments for portability's sake). Arguments are delimited by "
4239 "spaces. Double quotes can be used to specify an argument which contains "
4240 "spaces. All of the arguments will be printed next to each other without "
4241 "intervening spaces, so that the B<\\&.BR> command can be used to specify a "
4242 "word in bold followed by a mark of punctuation in Roman. If no arguments "
4243 "are given, the command is applied to the following line of text."
4247 #: build/C/man7/man.7:179
4249 msgid "Other macros and strings"
4253 #: build/C/man7/man.7:199
4255 "Below are other relevant macros and predefined strings. Unless noted "
4256 "otherwise, all macros cause a break (end the current line of text). Many of "
4257 "these macros set or use the \"prevailing indent.\" The \"prevailing indent\" "
4258 "value is set by any macro with the parameter I<i> below; macros may omit "
4259 "I<i> in which case the current prevailing indent will be used. As a result, "
4260 "successive indented paragraphs can use the same indent without respecifying "
4261 "the indent value. A normal (nonindented) paragraph resets the prevailing "
4262 "indent value to its default value (0.5 inches). By default a given indent "
4263 "is measured in ens; try to use ens or ems as units for indents, since these "
4264 "will automatically adjust to font size changes. The other key macro "
4269 #: build/C/man7/man.7:199
4271 msgid "Normal paragraphs"
4275 #: build/C/man7/man.7:200
4281 #: build/C/man7/man.7:205 build/C/man7/man.7:210
4282 msgid "Same as B<\\&.PP> (begin a new paragraph)."
4286 #: build/C/man7/man.7:205
4292 #: build/C/man7/man.7:210
4298 #: build/C/man7/man.7:213
4299 msgid "Begin a new paragraph and reset prevailing indent."
4303 #: build/C/man7/man.7:213
4305 msgid "Relative margin indent"
4309 #: build/C/man7/man.7:214
4311 msgid "B<\\&.RS>I< i>"
4315 #: build/C/man7/man.7:225
4317 "Start relative margin indent: moves the left margin I<i> to the right (if "
4318 "I<i> is omitted, the prevailing indent value is used). A new prevailing "
4319 "indent is set to 0.5 inches. As a result, all following paragraph(s) will "
4320 "be indented until the corresponding B<\\&.RE>."
4324 #: build/C/man7/man.7:225
4330 #: build/C/man7/man.7:229
4332 "End relative margin indent and restores the previous value of the prevailing "
4337 #: build/C/man7/man.7:229
4339 msgid "Indented paragraph macros"
4343 #: build/C/man7/man.7:230
4345 msgid "B<\\&.HP>I< i>"
4349 #: build/C/man7/man.7:235
4351 "Begin paragraph with a hanging indent (the first line of the paragraph is at "
4352 "the left margin of normal paragraphs, and the rest of the paragraph's lines "
4357 #: build/C/man7/man.7:235
4359 msgid "B<\\&.IP>I< x i>"
4363 #: build/C/man7/man.7:256
4365 "Indented paragraph with optional hanging tag. If the tag I<x> is omitted, "
4366 "the entire following paragraph is indented by I<i>. If the tag I<x> is "
4367 "provided, it is hung at the left margin before the following indented "
4368 "paragraph (this is just like B<\\&.TP> except the tag is included with the "
4369 "command instead of being on the following line). If the tag is too long, "
4370 "the text after the tag will be moved down to the next line (text will not be "
4371 "lost or garbled). For bulleted lists, use this macro with \\e(bu (bullet) "
4372 "or \\e(em (em dash) as the tag, and for numbered lists, use the number or "
4373 "letter followed by a period as the tag; this simplifies translation to other "
4378 #: build/C/man7/man.7:256
4380 msgid "B<\\&.TP>I< i>"
4384 #: build/C/man7/man.7:263
4386 "Begin paragraph with hanging tag. The tag is given on the next line, but "
4387 "its results are like those of the B<\\&.IP> command."
4391 #: build/C/man7/man.7:263
4393 msgid "Hypertext link macros"
4397 #: build/C/man7/man.7:273
4399 "(Feature supported with B<groff> only.) In order to use hypertext link "
4400 "macros, it is necessary to load the B<www.tmac> macro package. Use the "
4401 "request B<.mso www.tmac> to do this."
4405 #: build/C/man7/man.7:273
4407 msgid "B<\\&.URL>I< url link trailer>"
4410 #. The following is a kludge to get a paragraph into the listing.
4412 #: build/C/man7/man.7:286
4414 "Inserts a hypertext link to the URI (URL) I<url>, with I<link> as the text "
4415 "of the link. The I<trailer> will be printed immediately afterward. When "
4416 "generating HTML this should translate into the HTML command B<E<lt>A "
4417 "HREF=\">I<url>B<\"E<gt>>I<link>B<E<lt>/AE<gt>>I<trailer>B<.>"
4420 #. The following is a kludge to get a paragraph into the listing.
4422 #: build/C/man7/man.7:293
4424 "This and other related macros are new, and many tools won't do anything with "
4425 "them, but since many tools (including troff) will simply ignore undefined "
4426 "macros (or at worst insert their text) these are safe to insert."
4429 #. The following is a kludge to get a paragraph into the listing.
4431 #: build/C/man7/man.7:302
4433 "It can be useful to define your own B<URL> macro in manual pages for the "
4434 "benefit of those viewing it with a roff viewer other than B<groff>. That "
4435 "way, the URL, link text, and trailer text (if any) are still visible."
4439 #: build/C/man7/man.7:305
4440 msgid "Here's an example:"
4444 #: build/C/man7/man.7:307
4449 #: build/C/man7/man.7:309
4450 msgid "\\e\\e$2 \\e(laURL: \\e\\e$1 \\e(ra\\e\\e$3"
4454 #: build/C/man7/man.7:311
4459 #: build/C/man7/man.7:313
4460 msgid "\\&.if \\en[.g] .mso www.tmac"
4464 #: build/C/man7/man.7:316
4465 msgid "\\&.TH I<...>"
4469 #: build/C/man7/man.7:318
4470 msgid "I<(later in the page)>"
4474 #: build/C/man7/man.7:320
4475 msgid "This software comes from the"
4479 #: build/C/man7/man.7:322
4480 msgid "\\&.URL \"http://www.gnu.org/\" \"GNU Project\" \" of the\""
4484 #: build/C/man7/man.7:324
4485 msgid "\\&.URL \"http://www.fsf.org/\" \"Free Software Foundation\" ."
4489 #: build/C/man7/man.7:334
4491 "In the above, if B<groff> is being used, the B<www.tmac> macro package's "
4492 "definition of the URL macro will supersede the locally defined one."
4496 #: build/C/man7/man.7:339
4498 "A number of other link macros are available. See B<groff_www>(7) for more "
4503 #: build/C/man7/man.7:339
4505 msgid "Miscellaneous macros"
4509 #: build/C/man7/man.7:340
4515 #: build/C/man7/man.7:344
4516 msgid "Reset tabs to default tab values (every 0.5 inches); does not cause a break."
4520 #: build/C/man7/man.7:344
4522 msgid "B<\\&.PD>I< d>"
4526 #: build/C/man7/man.7:349
4528 "Set inter-paragraph vertical distance to d (if omitted, d=0.4v); does not "
4533 #: build/C/man7/man.7:349
4535 msgid "B<\\&.SS>I< t>"
4539 #: build/C/man7/man.7:356
4541 "Subheading I<t> (like B<\\&.SH>, but used for a subsection inside a "
4546 #: build/C/man7/man.7:356
4548 msgid "Predefined strings"
4552 #: build/C/man7/man.7:360
4553 msgid "The B<man> package has the following predefined strings:"
4557 #: build/C/man7/man.7:360
4563 #: build/C/man7/man.7:362
4564 msgid "Registration Symbol: \\*R"
4568 #: build/C/man7/man.7:362
4574 #: build/C/man7/man.7:364
4575 msgid "Change to default font size"
4579 #: build/C/man7/man.7:364
4585 #: build/C/man7/man.7:366
4586 msgid "Trademark Symbol: \\*(Tm"
4590 #: build/C/man7/man.7:366
4596 #: build/C/man7/man.7:368
4597 msgid "Left angled double quote: ``"
4601 #: build/C/man7/man.7:368
4607 #: build/C/man7/man.7:370
4608 msgid "Right angled double quote: ''"
4612 #: build/C/man7/man.7:370
4618 #: build/C/man7/man.7:414
4620 "Although technically B<man> is a troff macro package, in reality a large "
4621 "number of other tools process man page files that don't implement all of "
4622 "troff's abilities. Thus, it's best to avoid some of troff's more exotic "
4623 "abilities where possible to permit these other tools to work correctly. "
4624 "Avoid using the various troff preprocessors (if you must, go ahead and use "
4625 "B<tbl>(1), but try to use the B<IP> and B<TP> commands instead for "
4626 "two-column tables). Avoid using computations; most other tools can't "
4627 "process them. Use simple commands that are easy to translate to other "
4628 "formats. The following troff macros are believed to be safe (though in many "
4629 "cases they will be ignored by translators): B<\\e\">, B<.>, B<ad>, B<bp>, "
4630 "B<br>, B<ce>, B<de>, B<ds>, B<el>, B<ie>, B<if>, B<fi>, B<ft>, B<hy>, B<ig>, "
4631 "B<in>, B<na>, B<ne>, B<nf>, B<nh>, B<ps>, B<so>, B<sp>, B<ti>, B<tr>."
4635 #: build/C/man7/man.7:437
4637 "You may also use many troff escape sequences (those sequences beginning with "
4638 "\\e). When you need to include the backslash character as normal text, use "
4639 "\\ee. Other sequences you may use, where x or xx are any characters and N "
4640 "is any digit, include: B<\\e'>, B<\\e`>, B<\\e->, B<\\e.>, B<\\e\">, "
4641 "B<\\e%>, B<\\e*x>, B<\\e*(xx>, B<\\e(xx>, B<\\e$N>, B<\\enx>, B<\\en(xx>, "
4642 "B<\\efx>, and B<\\ef(xx>. Avoid using the escape sequences for drawing "
4647 #: build/C/man7/man.7:468
4649 "Do not use the optional parameter for B<bp> (break page). Use only positive "
4650 "values for B<sp> (vertical space). Don't define a macro (B<de>) with the "
4651 "same name as a macro in this or the mdoc macro package with a different "
4652 "meaning; it's likely that such redefinitions will be ignored. Every "
4653 "positive indent (B<in>) should be paired with a matching negative indent "
4654 "(although you should be using the B<RS> and B<RE> macros instead). The "
4655 "condition test (B<if,ie>) should only have \\(aqt\\(aq or \\(aqn\\(aq as "
4656 "the condition. Only translations (B<tr>) that can be ignored should be "
4657 "used. Font changes (B<ft> and the B<\\ef> escape sequence) should only "
4658 "have the values 1, 2, 3, 4, R, I, B, P, or CW (the ft command may also have "
4663 #: build/C/man7/man.7:475
4665 "If you use capabilities beyond these, check the results carefully on several "
4666 "tools. Once you've confirmed that the additional capability is safe, let "
4667 "the maintainer of this document know about the safe command or sequence that "
4668 "should be added to this list."
4672 #: build/C/man7/man.7:477
4673 msgid "I</usr/share/groff/>[*/]I<tmac/an.tmac>"
4677 #: build/C/man7/man.7:479
4678 msgid "I</usr/man/whatis>"
4682 #: build/C/man7/man.7:493
4684 "By all means include full URLs (or URIs) in the text itself; some tools such "
4685 "as B<man2html>(1) can automatically turn them into hypertext links. You "
4686 "can also use the new B<URL> macro to identify links to related information. "
4687 "If you include URLs, use the full URL (e.g., E<.UR "
4688 "http://www.kernelnotes.org> E<.UE )> to ensure that tools can automatically "
4693 #: build/C/man7/man.7:502
4695 "Tools processing these files should open the file and examine the first "
4696 "nonwhitespace character. A period (.) or single quote (') at the beginning "
4697 "of a line indicates a troff-based file (such as man or mdoc). A left angle "
4698 "bracket (E<lt>) indicates an SGML/XML-based file (such as HTML or Docbook). "
4699 "Anything else suggests simple ASCII text (e.g., a \"catman\" result)."
4703 #: build/C/man7/man.7:513
4705 "Many man pages begin with B<\\'\\e\"> followed by a space and a list of "
4706 "characters, indicating how the page is to be preprocessed. For "
4707 "portability's sake to non-troff translators we recommend that you avoid "
4708 "using anything other than B<tbl>(1), and Linux can detect that "
4709 "automatically. However, you might want to include this information so your "
4710 "man page can be handled by other (less capable) systems. Here are the "
4711 "definitions of the preprocessors invoked by these characters:"
4715 #: build/C/man7/man.7:513
4721 #: build/C/man7/man.7:516
4726 #: build/C/man7/man.7:516
4732 #: build/C/man7/man.7:519
4737 #: build/C/man7/man.7:519
4743 #: build/C/man7/man.7:522
4748 #: build/C/man7/man.7:522
4754 #: build/C/man7/man.7:525
4759 #: build/C/man7/man.7:525
4765 #: build/C/man7/man.7:528
4770 #: build/C/man7/man.7:528
4776 #: build/C/man7/man.7:531
4781 #: build/C/man7/man.7:531 build/C/man7/suffixes.7:278 build/C/man7/mdoc.samples.7:2883
4787 #: build/C/man7/man.7:544
4789 "Most of the macros describe formatting (e.g., font type and spacing) instead "
4790 "of marking semantic content (e.g., this text is a reference to another "
4791 "page), compared to formats like mdoc and DocBook (even HTML has more "
4792 "semantic markings). This situation makes it harder to vary the B<man> "
4793 "format for different media, to make the formatting consistent for a given "
4794 "media, and to automatically insert cross-references. By sticking to the "
4795 "safe subset described above, it should be easier to automate transitioning "
4796 "to a different reference page format in the future."
4801 #. James Clark (jjc@jclark.com) wrote the implementation of the macro package.
4803 #. Rickard E. Faith (faith@cs.unc.edu) wrote the initial version of
4804 #. this manual page.
4806 #. Jens Schweikhardt (schweikh@noc.fdn.de) wrote the Linux Man-Page Mini-HOWTO
4807 #. (which influenced this manual page).
4809 #. David A. Wheeler (dwheeler@ida.org) heavily modified this
4810 #. manual page, such as adding detailed information on sections and macros.
4812 #: build/C/man7/man.7:560
4813 msgid "The Sun macro B<TX> is not implemented."
4817 #: build/C/man7/man.7:571
4819 "B<apropos>(1), B<groff>(1), B<lexgrog>(1), B<man>(1), B<man2html>(1), "
4820 "B<whatis>(1), B<groff_man>(7), B<groff_www>(7), B<man-pages>(7), B<mdoc>(7), "
4821 "B<mdoc.samples>(7)"
4825 #: build/C/man7/mdoc.7:42
4827 msgid "July 11, 1999"
4831 #: build/C/man7/mdoc.7:43
4837 #: build/C/man7/mdoc.7:47
4842 #: build/C/man7/mdoc.7:47
4844 msgid "quick reference guide for the"
4848 #: build/C/man7/mdoc.7:50
4849 msgid "E<.Nm \\-mdoc> macro package"
4853 #: build/C/man7/mdoc.7:54
4854 msgid "E<.Nm groff> E<.Fl m Ns Ar doc> E<.Ar files ...>"
4858 #: build/C/man7/mdoc.7:66
4860 "The E<.Nm \\-mdoc> package is a set of content-based and domain-based macros "
4861 "used to format the E<.Bx> man pages. The macro names and their meanings are "
4862 "listed below for quick reference; for a detailed explanation on using the "
4863 "package, see the tutorial sampler E<.Xr mdoc.samples 7>."
4867 #: build/C/man7/mdoc.7:71
4869 "Note that this is not the usual macro package for Linux documentation, "
4870 "although it is used for documentation of several widely used programs; see "
4875 #: build/C/man7/mdoc.7:80
4877 "The macros are described in two groups, the first includes the structural "
4878 "and physical page layout macros. The second contains the manual and general "
4879 "text domain macros which differentiate the E<.Nm \\-mdoc> package from other "
4880 "E<.Xr troff> formatting packages."
4884 #: build/C/man7/mdoc.7:80 build/C/man7/mdoc.samples.7:1811
4886 msgid "PAGE STRUCTURE DOMAIN"
4890 #: build/C/man7/mdoc.7:81
4892 msgid "Title Macros"
4896 #: build/C/man7/mdoc.7:84
4898 "To create a valid manual page, these three macros, in this order, are "
4903 #: build/C/man7/mdoc.7:85
4905 msgid "Li \"\\&.Dd \" Ar \"Month day, year\""
4909 #: build/C/man7/mdoc.7:87
4910 msgid "Document date."
4914 #: build/C/man7/mdoc.7:87
4916 msgid "Li \"\\&.Dt \" Ar \"DOCUMENT_TITLE [section] [volume]\""
4920 #: build/C/man7/mdoc.7:89
4921 msgid "Title, in uppercase."
4925 #: build/C/man7/mdoc.7:89
4927 msgid "Li \"\\&.Os \" Ar \"OPERATING_SYSTEM [version/release]\""
4931 #: build/C/man7/mdoc.7:92
4932 msgid "Operating system E<.Pq Tn BSD>."
4936 #: build/C/man7/mdoc.7:93
4938 msgid "Page Layout Macros"
4942 #: build/C/man7/mdoc.7:95
4943 msgid "Section headers, paragraph breaks, lists and displays."
4947 #: build/C/man7/mdoc.7:96
4953 #: build/C/man7/mdoc.7:99
4954 msgid "Section Headers. Valid headers, in the order of presentation:"
4958 #: build/C/man7/mdoc.7:100
4964 #: build/C/man7/mdoc.7:108
4966 "Name section, should include the E<.Ql \\&.Nm> or E<.Ql \\&.Fn> and the "
4967 "E<.Ql \\&.Nd> macros."
4971 #: build/C/man7/mdoc.7:108
4977 #: build/C/man7/mdoc.7:110
4982 #: build/C/man7/mdoc.7:110
4984 msgid "Ar DESCRIPTION"
4988 #: build/C/man7/mdoc.7:113
4989 msgid "General description, should include options and parameters."
4993 #: build/C/man7/mdoc.7:113
4995 msgid "Ar RETURN VALUE"
4999 #: build/C/man7/mdoc.7:115
5000 msgid "Sections two and three function calls."
5004 #: build/C/man7/mdoc.7:115
5006 msgid "Ar ENVIRONMENT"
5010 #: build/C/man7/mdoc.7:117
5011 msgid "Describe environment variables."
5015 #: build/C/man7/mdoc.7:117
5021 #: build/C/man7/mdoc.7:119
5022 msgid "Files associated with the subject."
5026 #: build/C/man7/mdoc.7:119
5032 #: build/C/man7/mdoc.7:121
5033 msgid "Examples and suggestions."
5037 #: build/C/man7/mdoc.7:121
5039 msgid "Ar DIAGNOSTICS"
5043 #: build/C/man7/mdoc.7:123
5044 msgid "Normally used for section four device interface diagnostics."
5048 #: build/C/man7/mdoc.7:123
5054 #: build/C/man7/mdoc.7:126
5055 msgid "Sections two and three error and signal handling."
5059 #: build/C/man7/mdoc.7:126
5065 #: build/C/man7/mdoc.7:128
5066 msgid "Cross references and citations."
5070 #: build/C/man7/mdoc.7:128
5072 msgid "Ar CONFORMING TO"
5076 #: build/C/man7/mdoc.7:130
5077 msgid "Conformance to standards if applicable."
5081 #: build/C/man7/mdoc.7:130
5087 #: build/C/man7/mdoc.7:133
5088 msgid "If a standard is not applicable, the history of the subject should be given."
5092 #: build/C/man7/mdoc.7:133
5098 #: build/C/man7/mdoc.7:135
5099 msgid "Gotchas and caveats."
5103 #: build/C/man7/mdoc.7:135
5109 #: build/C/man7/mdoc.7:138
5110 msgid "Customized headers may be added at the authors discretion."
5114 #: build/C/man7/mdoc.7:139
5120 #: build/C/man7/mdoc.7:141
5121 msgid "Subsection Headers."
5125 #: build/C/man7/mdoc.7:141
5131 #: build/C/man7/mdoc.7:144
5132 msgid "Paragraph Break. Vertical space (one line)."
5136 #: build/C/man7/mdoc.7:144 build/C/man7/mdoc.samples.7:2200
5142 #: build/C/man7/mdoc.7:147
5143 msgid "(D-one) Display-one Indent and display one text line."
5147 #: build/C/man7/mdoc.7:147 build/C/man7/mdoc.samples.7:2208
5153 #: build/C/man7/mdoc.7:150
5154 msgid "(D-ell) Display-one literal. Indent and display one line of literal text."
5158 #: build/C/man7/mdoc.7:150 build/C/man7/mdoc.samples.7:2228
5164 #: build/C/man7/mdoc.7:153
5165 msgid "Begin-display block. Display options:"
5169 #: build/C/man7/mdoc.7:154 build/C/man7/mdoc.samples.7:2248
5175 #: build/C/man7/mdoc.7:156
5176 msgid "Unjustified (ragged edges)."
5180 #: build/C/man7/mdoc.7:156 build/C/man7/mdoc.samples.7:2251
5186 #: build/C/man7/mdoc.7:158
5191 #: build/C/man7/mdoc.7:158 build/C/man7/mdoc.samples.7:2255
5197 #: build/C/man7/mdoc.7:160
5198 msgid "Literal text or code."
5202 #: build/C/man7/mdoc.7:160
5204 msgid "Fl file Ar name"
5208 #: build/C/man7/mdoc.7:164
5209 msgid "Read in named E<.Ar file> and display."
5213 #: build/C/man7/mdoc.7:164 build/C/man7/mdoc.samples.7:2267
5215 msgid "Fl offset Ar string"
5219 #: build/C/man7/mdoc.7:169
5220 msgid "Offset display. Acceptable E<.Ar string> values:"
5224 #: build/C/man7/mdoc.7:170 build/C/man7/mdoc.samples.7:2275
5230 #: build/C/man7/mdoc.7:172
5231 msgid "Align block on left (default)."
5235 #: build/C/man7/mdoc.7:172 build/C/man7/mdoc.samples.7:2279
5241 #: build/C/man7/mdoc.7:174
5242 msgid "Approximate center margin."
5246 #: build/C/man7/mdoc.7:174 build/C/man7/mdoc.samples.7:2284
5252 #: build/C/man7/mdoc.7:176
5253 msgid "Six constant width spaces (a tab)."
5257 #: build/C/man7/mdoc.7:176 build/C/man7/mdoc.samples.7:2293
5259 msgid "Ar indent-two"
5263 #: build/C/man7/mdoc.7:178
5268 #: build/C/man7/mdoc.7:178 build/C/man7/mdoc.samples.7:2295
5274 #: build/C/man7/mdoc.7:181
5275 msgid "Left aligns block 2 inches from right."
5279 #: build/C/man7/mdoc.7:181
5281 msgid "Ar xx Ns Cm n"
5285 #: build/C/man7/mdoc.7:188
5287 "Where E<.Ar xx> is a number from E<.No \\&4 Ns Cm n> to E<.No \\&9\\&9 Ns Cm "
5292 #: build/C/man7/mdoc.7:188
5298 #: build/C/man7/mdoc.7:192
5299 msgid "Where E<.Ar Aa> is a callable macro name."
5303 #: build/C/man7/mdoc.7:192
5309 #: build/C/man7/mdoc.7:196
5310 msgid "The width of E<.Ar string> is used."
5314 #: build/C/man7/mdoc.7:198
5320 #: build/C/man7/mdoc.7:200
5321 msgid "End-display (matches \\&.Bd)."
5325 #: build/C/man7/mdoc.7:200
5331 #: build/C/man7/mdoc.7:204
5332 msgid "Begin-list. Create lists or columns. Options:"
5336 #: build/C/man7/mdoc.7:205
5338 msgid "Ar List-types"
5342 #: build/C/man7/mdoc.7:207
5344 msgid "Fl bullet Ta \"Bullet Item List\""
5348 #: build/C/man7/mdoc.7:208
5350 msgid "Fl item Ta \"Unlabeled List\""
5354 #: build/C/man7/mdoc.7:209
5356 msgid "Fl enum Ta \"Enumerated List\""
5360 #: build/C/man7/mdoc.7:210
5362 msgid "Fl tag Ta \"Tag Labeled List\""
5366 #: build/C/man7/mdoc.7:211
5368 msgid "Fl diag Ta \"Diagnostic List\""
5372 #: build/C/man7/mdoc.7:212
5374 msgid "Fl hang Ta \"Hanging Labeled List\""
5378 #: build/C/man7/mdoc.7:213
5380 msgid "Fl ohang Ta \"Overhanging Labeled List\""
5384 #: build/C/man7/mdoc.7:214
5386 msgid "Fl inset Ta \"Inset or Run-on Labeled List\""
5390 #: build/C/man7/mdoc.7:216
5392 msgid "List-parameters"
5396 #: build/C/man7/mdoc.7:218
5402 #: build/C/man7/mdoc.7:222
5403 msgid "(All lists.) See E<.Ql \\&.Bd> begin-display above."
5407 #: build/C/man7/mdoc.7:222
5413 #: build/C/man7/mdoc.7:229
5414 msgid "E<.Pf ( Fl tag> and E<.Fl hang> lists only.) See E<.Ql \\&.Bd>."
5418 #: build/C/man7/mdoc.7:229
5424 #: build/C/man7/mdoc.7:232
5425 msgid "(All lists.) Suppresses blank lines."
5429 #: build/C/man7/mdoc.7:234
5435 #: build/C/man7/mdoc.7:236
5440 #: build/C/man7/mdoc.7:236
5446 #: build/C/man7/mdoc.7:238
5451 #: build/C/man7/mdoc.7:239
5453 msgid "MANUAL AND GENERAL TEXT DOMAIN MACROS"
5457 #: build/C/man7/mdoc.7:243
5459 "The manual and general text domain macros are special in that most of them "
5460 "are parsed for callable macros for example:"
5464 #: build/C/man7/mdoc.7:244
5466 msgid "Li \"\\&.Op Fl s Ar file\""
5470 #: build/C/man7/mdoc.7:247
5471 msgid "Produces E<.Op Fl s Ar file>"
5475 #: build/C/man7/mdoc.7:265
5477 "In this example, the option enclosure macro E<.Ql \\&.Op> is parsed, and "
5478 "calls the callable content macro E<.Ql \\&Fl> which operates on the argument "
5479 "E<.Ql s> and then calls the callable content macro E<.Ql \\&Ar> which "
5480 "operates on the argument E<.Ql file>. Some macros may be callable, but are "
5481 "not parsed and vice versa. These macros are indicated in the E<.Em parsed> "
5482 "and E<.Em callable> columns below."
5486 #: build/C/man7/mdoc.7:267
5487 msgid "Unless stated, manual domain macros share a common syntax:"
5491 #: build/C/man7/mdoc.7:268
5493 msgid "\\&.Va argument [\\ .\\ ,\\ ;\\ :\\ (\\ )\\ [\\ ]\\ argument ...\\ ]"
5497 #: build/C/man7/mdoc.7:288
5499 "E<.Sy Note>: Opening and closing punctuation characters are recognized as "
5500 "such only if they are presented one at a time. The string E<.Ql \"),\"> is "
5501 "not recognized as punctuation and will be output with a leading white space "
5502 "and in what ever font the calling macro uses. The argument list E<.Ql \"] ) "
5503 ",\"> is recognized as three sequential closing punctuation characters and a "
5504 "leading white space is not output between the characters and the previous "
5505 "argument (if any). The special meaning of a punctuation character may be "
5506 "escaped with the string E<.Ql \\e&>. For example the following string,"
5510 #: build/C/man7/mdoc.7:289
5512 msgid "Li \"\\&.Ar file1\\ , file2\\ , file3\\ )\\ .\""
5516 #: build/C/man7/mdoc.7:292
5517 msgid "Produces E<.Ar file1 , file2 , file3>)."
5521 #: build/C/man7/mdoc.7:294
5523 msgid "Manual Domain Macros"
5527 #: build/C/man7/mdoc.7:296 build/C/man7/mdoc.7:321
5529 msgid "Em \"Name\tParsed\tCallable\tDescription\""
5533 #: build/C/man7/mdoc.7:297
5535 msgid "Li \\&Ad Ta Yes Ta Yes Ta \"Address. (This macro may be deprecated.)\""
5539 #: build/C/man7/mdoc.7:298
5541 msgid "Li \\&An Ta Yes Ta Yes Ta \"Author name.\""
5545 #: build/C/man7/mdoc.7:299
5547 msgid "Li \\&Ar Ta Yes Ta Yes Ta \"Command-line argument.\""
5551 #: build/C/man7/mdoc.7:300
5554 "Li \\&Cd Ta \\&No Ta \\&No Ta \"Configuration declaration (section four "
5559 #: build/C/man7/mdoc.7:301
5561 msgid "Li \\&Cm Ta Yes Ta Yes Ta \"Command-line argument modifier.\""
5565 #: build/C/man7/mdoc.7:302
5567 msgid "Li \\&Dv Ta Yes Ta Yes Ta \"Defined variable (source code).\""
5571 #: build/C/man7/mdoc.7:303
5573 msgid "Li \\&Er Ta Yes Ta Yes Ta \"Error number (source code).\""
5577 #: build/C/man7/mdoc.7:304
5579 msgid "Li \\&Ev Ta Yes Ta Yes Ta \"Environment variable.\""
5583 #: build/C/man7/mdoc.7:305
5585 msgid "Li \\&Fa Ta Yes Ta Yes Ta \"Function argument.\""
5589 #: build/C/man7/mdoc.7:306
5591 msgid "Li \\&Fd Ta Yes Ta Yes Ta \"Function declaration.\""
5595 #: build/C/man7/mdoc.7:307
5597 msgid "Li \\&Fn Ta Yes Ta Yes Ta \"Function call (also .Fo and .Fc).\""
5601 #: build/C/man7/mdoc.7:308
5603 msgid "Li \\&Ic Ta Yes Ta Yes Ta \"Interactive command.\""
5607 #: build/C/man7/mdoc.7:309
5609 msgid "Li \\&Li Ta Yes Ta Yes Ta \"Literal text.\""
5613 #: build/C/man7/mdoc.7:310
5615 msgid "Li \\&Nm Ta Yes Ta Yes Ta \"Command name.\""
5619 #: build/C/man7/mdoc.7:311
5621 msgid "Li \\&Op Ta Yes Ta Yes Ta \"Option (also .Oo and .Oc).\""
5625 #: build/C/man7/mdoc.7:312
5627 msgid "Li \\&Ot Ta Yes Ta Yes Ta \"Old style function type (Fortran only).\""
5631 #: build/C/man7/mdoc.7:313
5633 msgid "Li \\&Pa Ta Yes Ta Yes Ta \"Pathname or filename.\""
5637 #: build/C/man7/mdoc.7:314
5639 msgid "Li \\&St Ta Yes Ta Yes Ta \"Standards (\\-p1003.2, \\-p1003.1 or \\-ansiC)\""
5643 #: build/C/man7/mdoc.7:315
5645 msgid "Li \\&Va Ta Yes Ta Yes Ta \"Variable name.\""
5649 #: build/C/man7/mdoc.7:316
5651 msgid "Li \\&Vt Ta Yes Ta Yes Ta \"Variable type (Fortran only).\""
5655 #: build/C/man7/mdoc.7:317
5657 msgid "Li \\&Xr Ta Yes Ta Yes Ta \"Manual Page Cross Reference.\""
5661 #: build/C/man7/mdoc.7:319
5663 msgid "General Text Domain Macros"
5667 #: build/C/man7/mdoc.7:322
5669 msgid "Li \\&%A Ta Yes Ta \\&No Ta \"Reference author.\""
5673 #: build/C/man7/mdoc.7:323
5675 msgid "Li \\&%B Ta Yes Ta Yes Ta \"Reference book title.\""
5679 #: build/C/man7/mdoc.7:324
5681 msgid "Li \\&%\\&C Ta \\&No Ta \\&No Ta \"Reference place of publishing (city).\""
5685 #: build/C/man7/mdoc.7:325
5687 msgid "Li \\&%\\&D Ta \\&No Ta \\&No Ta \"Reference date.\""
5691 #: build/C/man7/mdoc.7:326
5693 msgid "Li \\&%J Ta Yes Ta Yes Ta \"Reference journal title.\""
5697 #: build/C/man7/mdoc.7:327
5699 msgid "Li \\&%N Ta \\&No Ta \\&No Ta \"Reference issue number.\""
5703 #: build/C/man7/mdoc.7:328
5705 msgid "Li \\&%\\&O Ta \\&No Ta \\&No Ta \"Reference optional information.\""
5709 #: build/C/man7/mdoc.7:329
5711 msgid "Li \\&%P Ta \\&No Ta \\&No Ta \"Reference page number(s).\""
5715 #: build/C/man7/mdoc.7:330
5717 msgid "Li \\&%R Ta \\&No Ta \\&No Ta \"Reference report Name.\""
5721 #: build/C/man7/mdoc.7:331
5723 msgid "Li \\&%T Ta Yes Ta Yes Ta \"Reference article title.\""
5727 #: build/C/man7/mdoc.7:332
5729 msgid "Li \\&%V Ta \\&No Ta \\&No Ta \"Reference volume.\""
5733 #: build/C/man7/mdoc.7:333
5735 msgid "Li \\&Ac Ta Yes Ta Yes Ta \"Angle close quote.\""
5739 #: build/C/man7/mdoc.7:334
5741 msgid "Li \\&Ao Ta Yes Ta Yes Ta \"Angle open quote.\""
5745 #: build/C/man7/mdoc.7:335
5747 msgid "Li \\&Ap Ta Yes Ta Yes Ta Apostrophe."
5751 #: build/C/man7/mdoc.7:336
5753 msgid "Li \\&Aq Ta Yes Ta Yes Ta \"Angle quote.\""
5757 #: build/C/man7/mdoc.7:337
5759 msgid "Li \\&At Ta \\&No Ta \\&No Ta Tn \"AT&T UNIX\""
5763 #: build/C/man7/mdoc.7:338
5765 msgid "Li \\&Bc Ta Yes Ta Yes Ta \"Bracket close quote.\""
5769 #: build/C/man7/mdoc.7:339
5771 msgid "Li \\&Bf Ta \\&No Ta \\&No Ta \"Begin font mode.\""
5775 #: build/C/man7/mdoc.7:340
5777 msgid "Li \\&Bo Ta Yes Ta Yes Ta \"Bracket open quote.\""
5781 #: build/C/man7/mdoc.7:341
5783 msgid "Li \\&Bq Ta Yes Ta Yes Ta \"Bracket quote.\""
5787 #: build/C/man7/mdoc.7:342
5789 msgid "Li \\&Bx Ta Yes Ta Yes Ta Bx ."
5793 #: build/C/man7/mdoc.7:343
5795 msgid "Li \\&Db Ta \\&No Ta \\&No Ta \"Debug (default is \\*qoff\\*q)\""
5799 #: build/C/man7/mdoc.7:344
5801 msgid "Li \\&Dc Ta Yes Ta Yes Ta \"Double close quote.\""
5805 #: build/C/man7/mdoc.7:345
5807 msgid "Li \\&Do Ta Yes Ta Yes Ta \"Double open quote.\""
5811 #: build/C/man7/mdoc.7:346
5813 msgid "Li \\&Dq Ta Yes Ta Yes Ta \"Double quote.\""
5817 #: build/C/man7/mdoc.7:347
5819 msgid "Li \\&Ec Ta Yes Ta Yes Ta \"Enclose string close quote.\""
5823 #: build/C/man7/mdoc.7:348
5825 msgid "Li \\&Ef Ta \\&No Ta \\&No Ta \"End font mode.\""
5829 #: build/C/man7/mdoc.7:349
5831 msgid "Li \\&Em Ta Yes Ta Yes Ta \"Emphasis (traditional English).\""
5835 #: build/C/man7/mdoc.7:350
5837 msgid "Li \\&Eo Ta Yes Ta Yes Ta \"Enclose string open quote.\""
5841 #: build/C/man7/mdoc.7:351
5843 msgid "Li \\&Fx Ta \\&No Ta \\&No Ta Tn \"FreeBSD operating system\""
5847 #: build/C/man7/mdoc.7:352
5849 msgid "Li \\&No Ta Yes Ta Yes Ta \"Normal text (no-op).\""
5853 #: build/C/man7/mdoc.7:353
5855 msgid "Li \\&Ns Ta Yes Ta Yes Ta \"No space.\""
5859 #: build/C/man7/mdoc.7:354
5861 msgid "Li \\&Pc Ta Yes Ta Yes Ta \"Parenthesis close quote.\""
5865 #: build/C/man7/mdoc.7:355
5867 msgid "Li \\&Pf Ta Yes Ta \\&No Ta \"Prefix string.\""
5871 #: build/C/man7/mdoc.7:356
5873 msgid "Li \\&Po Ta Yes Ta Yes Ta \"Parenthesis open quote.\""
5877 #: build/C/man7/mdoc.7:357
5879 msgid "Li \\&Pq Ta Yes Ta Yes Ta \"Parentheses quote.\""
5883 #: build/C/man7/mdoc.7:358
5885 msgid "Li \\&Qc Ta Yes Ta Yes Ta \"Straight Double close quote.\""
5889 #: build/C/man7/mdoc.7:359
5891 msgid "Li \\&Ql Ta Yes Ta Yes Ta \"Quoted literal.\""
5895 #: build/C/man7/mdoc.7:360
5897 msgid "Li \\&Qo Ta Yes Ta Yes Ta \"Straight Double open quote.\""
5901 #: build/C/man7/mdoc.7:361
5903 msgid "Li \\&Qq Ta Yes Ta Yes Ta \"Straight Double quote.\""
5907 #: build/C/man7/mdoc.7:362
5909 msgid "Li \\&Re Ta \\&No Ta \\&No Ta \"Reference end.\""
5913 #: build/C/man7/mdoc.7:363
5915 msgid "Li \\&Rs Ta \\&No Ta \\&No Ta \"Reference start.\""
5919 #: build/C/man7/mdoc.7:364
5922 "Li \\&Rv Ta \\&No Ta \\&No Ta \"Return values (sections two and three "
5927 #: build/C/man7/mdoc.7:365
5929 msgid "Li \\&Sc Ta Yes Ta Yes Ta \"Single close quote.\""
5933 #: build/C/man7/mdoc.7:366
5935 msgid "Li \\&So Ta Yes Ta Yes Ta \"Single open quote.\""
5939 #: build/C/man7/mdoc.7:367
5941 msgid "Li \\&Sq Ta Yes Ta Yes Ta \"Single quote.\""
5945 #: build/C/man7/mdoc.7:368
5947 msgid "Li \\&Sm Ta \\&No Ta \\&No Ta \"Space mode (default is \\*qon\\*q)\""
5951 #: build/C/man7/mdoc.7:369
5953 msgid "Li \\&Sx Ta Yes Ta Yes Ta \"Section Cross Reference.\""
5957 #: build/C/man7/mdoc.7:370
5959 msgid "Li \\&Sy Ta Yes Ta Yes Ta \"Symbolic (traditional English).\""
5963 #: build/C/man7/mdoc.7:371
5965 msgid "Li \\&Tn Ta Yes Ta Yes Ta \"Trade or type name (small Caps).\""
5969 #: build/C/man7/mdoc.7:372
5971 msgid "Li \\&Ux Ta Yes Ta Yes Ta Ux"
5975 #: build/C/man7/mdoc.7:373
5977 msgid "Li \\&Xc Ta Yes Ta Yes Ta \"Extend argument list close.\""
5981 #: build/C/man7/mdoc.7:374
5983 msgid "Li \\&Xo Ta Yes Ta Yes Ta \"Extend argument list open.\""
5987 #: build/C/man7/mdoc.7:388
5989 "Macro names ending in E<.Ql q> quote remaining items on the argument list. "
5990 "Macro names ending in E<.Ql o> begin a quote which may span more than one "
5991 "line of input and are close quoted with the matching macro name ending in "
5992 "E<.Ql c>. Enclosure macros may be nested and are limited to eight "
5997 #: build/C/man7/mdoc.7:400
5999 "Note: the extended argument list macros E<.Pf ( Ql \\&.Xo>, E<.Ql \\&.Xc>) "
6000 "and the function enclosure macros E<.Pf ( Ql \\&.Fo>, E<.Ql \\&.Fc>) are "
6001 "irregular. The extended list macros are used when the number of macro "
6002 "arguments would exceed the E<.Xr troff> limitation of nine arguments."
6005 #. The following does not apply on Linux:
6006 #. .Sh CONFIGURATION
6007 #. For site specific configuration of the macro package,
6009 #. .Pa /usr/src/share/tmac/README .
6011 #: build/C/man7/mdoc.7:411
6013 "The macros UR (starting a URI/URL hypertext reference), UE (ending one), and "
6014 "UN (identifying a target for a reference) are also available. See E<.Xr man "
6015 "7> for more information on these macros."
6019 #: build/C/man7/mdoc.7:413
6025 #: build/C/man7/mdoc.7:415
6026 msgid "Manual and general text domain macros."
6030 #: build/C/man7/mdoc.7:415
6032 msgid "Pa tmac/doc-common"
6036 #: build/C/man7/mdoc.7:417
6037 msgid "Common structural macros and definitions."
6041 #: build/C/man7/mdoc.7:417
6043 msgid "Pa tmac/doc-nroff"
6047 #: build/C/man7/mdoc.7:421
6048 msgid "Site dependent E<.Xr nroff> style file."
6052 #: build/C/man7/mdoc.7:421
6054 msgid "Pa tmac/doc-ditroff"
6058 #: build/C/man7/mdoc.7:425
6059 msgid "Site dependent E<.Xr troff> style file."
6063 #: build/C/man7/mdoc.7:425
6065 msgid "Pa tmac/doc-syms"
6069 #: build/C/man7/mdoc.7:427
6070 msgid "Special defines (such as the standards macro)."
6074 #: build/C/man7/mdoc.7:432
6075 msgid "E<.Xr groff_mdoc 7>, E<.Xr mdoc.samples 7>, E<.Xr man 7>, E<.Xr man-pages 7>"
6079 #: build/C/man7/operator.7:40
6085 #: build/C/man7/operator.7:40
6091 #: build/C/man7/operator.7:43
6092 msgid "operator - C operator precedence and order of evaluation"
6096 #: build/C/man7/operator.7:45
6097 msgid "This manual page lists C operators and their precedence in evaluation."
6101 #: build/C/man7/operator.7:63
6104 "B<Operator Associativity>\n"
6105 "() [] -E<gt> . left to right\n"
6106 "! ~ ++ -- + - (type) * & sizeof right to left\n"
6107 "* / % left to right\n"
6108 "+ - left to right\n"
6109 "E<lt>E<lt> E<gt>E<gt> left to right\n"
6110 "E<lt> E<lt>= E<gt> E<gt>= left to right\n"
6111 "== != left to right\n"
6115 "&& left to right\n"
6116 "|| left to right\n"
6117 "?: right to left\n"
6118 "= += -= *= /= %= E<lt>E<lt>= E<gt>E<gt>= &= ^= |= right to left\n"
6123 #: build/C/man7/posixoptions.7:24
6125 msgid "POSIXOPTIONS"
6129 #: build/C/man7/posixoptions.7:24
6135 #: build/C/man7/posixoptions.7:27
6136 msgid "posixoptions - optional parts of the POSIX standard"
6140 #: build/C/man7/posixoptions.7:41
6142 "The POSIX standard (the information below is from POSIX.1-2001) describes a "
6143 "set of behaviors and interfaces for a compliant system. However, many "
6144 "interfaces are optional and there are feature test macros to test the "
6145 "availability of interfaces at compile time, and functions B<sysconf>(3), "
6146 "B<fpathconf>(3), B<pathconf>(3), B<confstr>(3) to do this at run time. "
6147 "From shell scripts one can use B<getconf>(1). For more detail, see "
6152 #: build/C/man7/posixoptions.7:48
6154 "We give the name of the POSIX abbreviation, the option, the name of the "
6155 "B<sysconf>(3) parameter used to inquire about the option, and possibly a "
6156 "very short description. Much more precise detail can be found in the POSIX "
6157 "standard itself, versions of which can nowadays be accessed freely on the "
6162 #: build/C/man7/posixoptions.7:48
6164 msgid "ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO"
6168 #: build/C/man7/posixoptions.7:50
6169 msgid "The following advisory functions are present:"
6173 #: build/C/man7/posixoptions.7:58
6176 "I<posix_fadvise>(),\n"
6177 "I<posix_fallocate>(),\n"
6178 "I<posix_memalign>(),\n"
6179 "I<posix_madvise>().\n"
6183 #: build/C/man7/posixoptions.7:61
6185 msgid "AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO"
6189 #: build/C/man7/posixoptions.7:66
6191 "The header I<E<lt>aio.hE<gt>> is present. The following functions are "
6196 #: build/C/man7/posixoptions.7:78
6199 "I<aio_cancel>(),\n"
6203 "I<aio_return>(),\n"
6204 "I<aio_suspend>(),\n"
6206 "I<lio_listio>().\n"
6210 #: build/C/man7/posixoptions.7:81
6212 msgid "BAR - _POSIX_BARRIERS - _SC_BARRIERS"
6216 #: build/C/man7/posixoptions.7:88 build/C/man7/posixoptions.7:458
6218 "This option implies the B<_POSIX_THREADS> and "
6219 "B<_POSIX_THREAD_SAFE_FUNCTIONS> options. The following functions are "
6224 #: build/C/man7/posixoptions.7:97
6227 "I<pthread_barrier_destroy>(),\n"
6228 "I<pthread_barrier_init>(),\n"
6229 "I<pthread_barrier_wait>(),\n"
6230 "I<pthread_barrierattr_destroy>(),\n"
6231 "I<pthread_barrierattr_init>().\n"
6235 #. Batch environment.
6239 #: build/C/man7/posixoptions.7:104
6241 msgid "--- - POSIX_CHOWN_RESTRICTED"
6244 #. What about lchown() ?
6246 #: build/C/man7/posixoptions.7:112
6248 "If this option is in effect (as it always is under POSIX.1-2001), then only "
6249 "root may change the owner of a file, and nonroot can set the group of a file "
6250 "only to one of the groups it belongs to. This affects the functions "
6251 "I<chown>(), I<fchown>()."
6255 #: build/C/man7/posixoptions.7:112
6257 msgid "CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION"
6261 #: build/C/man7/posixoptions.7:117
6263 "This option implies the B<_POSIX_TIMERS> option. The following functions "
6268 #: build/C/man7/posixoptions.7:124
6271 "I<pthread_condattr_getclock>(),\n"
6272 "I<pthread_condattr_setclock>(),\n"
6273 "I<clock_nanosleep>().\n"
6277 #: build/C/man7/posixoptions.7:132
6279 "If B<CLOCK_REALTIME> is changed by the function I<clock_settime>(), then "
6280 "this affects all timers set for an absolute time."
6284 #: build/C/man7/posixoptions.7:132
6286 msgid "CPT - _POSIX_CPUTIME - _SC_CPUTIME"
6290 #. Fortran development
6294 #: build/C/man7/posixoptions.7:145
6296 "The clockID CLOCK_PROCESS_CPUTIME_ID is supported. The initial value of "
6297 "this clock is 0 for each process. This option implies the B<_POSIX_TIMERS> "
6298 "option. The function I<clock_getcpuclockid>() is present."
6302 #: build/C/man7/posixoptions.7:145
6304 msgid "--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING"
6308 #. IEC 60559 Floating-Point Option.
6310 #: build/C/man7/posixoptions.7:148 build/C/man7/posixoptions.7:238
6311 msgid "This option has been deleted. Not in final XPG6."
6315 #: build/C/man7/posixoptions.7:148
6317 msgid "FSC - _POSIX_FSYNC - _SC_FSYNC"
6321 #: build/C/man7/posixoptions.7:152
6322 msgid "The function I<fsync>() is present."
6326 #: build/C/man7/posixoptions.7:152
6328 msgid "IP6 - _POSIX_IPV6 - _SC_IPV6"
6332 #: build/C/man7/posixoptions.7:154
6333 msgid "Internet Protocol Version 6 is supported."
6337 #: build/C/man7/posixoptions.7:154
6339 msgid "--- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL"
6343 #: build/C/man7/posixoptions.7:158
6345 "If this option is in effect (as it always is under POSIX.1-2001), then the "
6346 "system implements POSIX-style job control, and the following functions are "
6351 #: build/C/man7/posixoptions.7:169
6358 "I<tcsendbreak>(),\n"
6364 #: build/C/man7/posixoptions.7:171
6366 msgid "MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES"
6370 #: build/C/man7/posixoptions.7:180
6372 "Shared memory is supported. The include file I<E<lt>sys/mman.hE<gt>> is "
6373 "present. The following functions are present: I<mmap>(), I<msync>(), "
6378 #: build/C/man7/posixoptions.7:180
6380 msgid "ML - _POSIX_MEMLOCK - _SC_MEMLOCK"
6384 #: build/C/man7/posixoptions.7:186
6386 "Shared memory can be locked into core. The functions I<mlockall>(), "
6387 "I<munlockall>() are present."
6391 #: build/C/man7/posixoptions.7:186
6393 msgid "MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE"
6397 #: build/C/man7/posixoptions.7:192
6399 "More precisely, ranges can be locked into core. The functions I<mlock>(), "
6400 "I<munlock>() are present."
6404 #: build/C/man7/posixoptions.7:192
6406 msgid "MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION"
6410 #: build/C/man7/posixoptions.7:196
6411 msgid "The function I<mprotect>() is present."
6415 #: build/C/man7/posixoptions.7:196
6417 msgid "MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING"
6421 #: build/C/man7/posixoptions.7:201
6423 "The include file I<E<lt>mqueue.hE<gt>> is present. The following functions "
6428 #: build/C/man7/posixoptions.7:213
6432 "I<mq_getattr>(),\n"
6435 "I<mq_receive>(),\n"
6437 "I<mq_setattr>(),\n"
6442 #: build/C/man7/posixoptions.7:216
6444 msgid "MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK"
6448 #: build/C/man7/posixoptions.7:223
6450 "B<CLOCK_MONOTONIC> is supported. This option implies the B<_POSIX_TIMERS> "
6451 "option. Affected functions are"
6455 #: build/C/man7/posixoptions.7:231
6458 "I<aio_suspend>(),\n"
6459 "I<clock_getres>(),\n"
6460 "I<clock_gettime>(),\n"
6461 "I<clock_settime>(),\n"
6462 "I<timer_create>().\n"
6466 #: build/C/man7/posixoptions.7:233
6468 msgid "--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS"
6472 #: build/C/man7/posixoptions.7:238
6474 msgid "--- - _POSIX_NO_TRUNC"
6478 #: build/C/man7/posixoptions.7:245
6480 "If this option is in effect (as it always is under POSIX.1-2001) then "
6481 "pathname components longer than B<NAME_MAX> are not truncated, but give an "
6482 "error. This property may be dependent on the path prefix of the component."
6486 #: build/C/man7/posixoptions.7:245
6488 msgid "PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO"
6492 #: build/C/man7/posixoptions.7:248
6494 "This option says that one can specify priorities for asynchronous I/O. This "
6495 "affects the functions"
6499 #: build/C/man7/posixoptions.7:254
6507 #: build/C/man7/posixoptions.7:256
6509 msgid "PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING"
6513 #: build/C/man7/posixoptions.7:261
6515 "The include file I<E<lt>sched.hE<gt>> is present. The following functions "
6520 #: build/C/man7/posixoptions.7:273
6523 "I<sched_get_priority_max>(),\n"
6524 "I<sched_get_priority_min>(),\n"
6525 "I<sched_getparam>(),\n"
6526 "I<sched_getscheduler>(),\n"
6527 "I<sched_rr_get_interval>(),\n"
6528 "I<sched_setparam>(),\n"
6529 "I<sched_setscheduler>(),\n"
6530 "I<sched_yield>().\n"
6534 #: build/C/man7/posixoptions.7:279
6536 "If also B<_POSIX_SPAWN> is in effect, then the following functions are "
6541 #: build/C/man7/posixoptions.7:287 build/C/man7/posixoptions.7:449
6544 "I<posix_spawnattr_getschedparam>(),\n"
6545 "I<posix_spawnattr_getschedpolicy>(),\n"
6546 "I<posix_spawnattr_setschedparam>(),\n"
6547 "I<posix_spawnattr_setschedpolicy>().\n"
6551 #: build/C/man7/posixoptions.7:289
6553 msgid "RS - _POSIX_RAW_SOCKETS"
6557 #: build/C/man7/posixoptions.7:294
6559 "Raw sockets are supported. Affected functions are I<getsockopt>(), "
6564 #: build/C/man7/posixoptions.7:294
6566 msgid "--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS"
6570 #: build/C/man7/posixoptions.7:302
6572 "This option implies the B<_POSIX_THREADS> option. Conversely, under "
6573 "POSIX.1-2001 the B<_POSIX_THREADS> option implies this option."
6577 #: build/C/man7/posixoptions.7:304
6579 msgid "The following functions are present:\n"
6583 #: build/C/man7/posixoptions.7:315
6586 "I<pthread_rwlock_destroy>(),\n"
6587 "I<pthread_rwlock_init>(),\n"
6588 "I<pthread_rwlock_rdlock>(),\n"
6589 "I<pthread_rwlock_tryrdlock>(),\n"
6590 "I<pthread_rwlock_trywrlock>(),\n"
6591 "I<pthread_rwlock_unlock>(),\n"
6592 "I<pthread_rwlock_wrlock>(),\n"
6593 "I<pthread_rwlockattr_destroy>(),\n"
6594 "I<pthread_rwlockattr_init>().\n"
6598 #: build/C/man7/posixoptions.7:317
6600 msgid "RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS"
6604 #: build/C/man7/posixoptions.7:320
6605 msgid "Realtime signals are supported. The following functions are present:"
6609 #: build/C/man7/posixoptions.7:327
6613 "I<sigtimedwait>(),\n"
6614 "I<sigwaitinfo>().\n"
6618 #: build/C/man7/posixoptions.7:330
6620 msgid "--- - _POSIX_REGEXP - _SC_REGEXP"
6624 #: build/C/man7/posixoptions.7:334
6626 "If this option is in effect (as it always is under POSIX.1-2001) then POSIX "
6627 "regular expressions are supported and the following functions are present:"
6631 #: build/C/man7/posixoptions.7:342
6641 #: build/C/man7/posixoptions.7:345
6643 msgid "--- - _POSIX_SAVED_IDS - _SC_SAVED_IDS"
6647 #: build/C/man7/posixoptions.7:349
6649 "If this option is in effect (as it always is under POSIX.1-2001), then a "
6650 "process has a saved set-user-ID and a saved set-group-ID. Affected "
6655 #: build/C/man7/posixoptions.7:359
6667 #. Software development
6669 #: build/C/man7/posixoptions.7:364
6671 msgid "SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES"
6675 #: build/C/man7/posixoptions.7:369
6677 "The include file I<E<lt>semaphore.hE<gt>> is present. The following "
6678 "functions are present:"
6682 #: build/C/man7/posixoptions.7:382
6686 "I<sem_destroy>(),\n"
6687 "I<sem_getvalue>(),\n"
6691 "I<sem_trywait>(),\n"
6692 "I<sem_unlink>(),\n"
6697 #: build/C/man7/posixoptions.7:385
6699 msgid "SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS"
6703 #: build/C/man7/posixoptions.7:387 build/C/man7/posixoptions.7:703 build/C/man7/posixoptions.7:719 build/C/man7/posixoptions.7:833
6704 msgid "The following functions are present:"
6708 #: build/C/man7/posixoptions.7:395
6714 "I<shm_unlink>().\n"
6718 #: build/C/man7/posixoptions.7:398
6720 msgid "--- - _POSIX_SHELL - _SC_SHELL"
6724 #: build/C/man7/posixoptions.7:403
6726 "If this option is in effect (as it always is under POSIX.1-2001), the "
6727 "function I<system>() is present."
6731 #: build/C/man7/posixoptions.7:403
6733 msgid "SPN - _POSIX_SPAWN - _SC_SPAWN"
6737 #: build/C/man7/posixoptions.7:413
6739 "This option describes support for process creation in a context where it is "
6740 "difficult or impossible to use I<fork>(), for example, because no MMU is "
6741 "present. If B<_POSIX_SPAWN> is in effect, then the include file "
6742 "I<E<lt>spawn.hE<gt>> and the following functions are present:"
6746 #: build/C/man7/posixoptions.7:434
6749 "I<posix_spawn>(),\n"
6750 "I<posix_spawn_file_actions_addclose>(),\n"
6751 "I<posix_spawn_file_actions_adddup2>(),\n"
6752 "I<posix_spawn_file_actions_addopen>(),\n"
6753 "I<posix_spawn_file_actions_destroy>(),\n"
6754 "I<posix_spawn_file_actions_init>(),\n"
6755 "I<posix_spawnattr_destroy>(),\n"
6756 "I<posix_spawnattr_getsigdefault>(),\n"
6757 "I<posix_spawnattr_getflags>(),\n"
6758 "I<posix_spawnattr_getpgroup>(),\n"
6759 "I<posix_spawnattr_getsigmask>(),\n"
6760 "I<posix_spawnattr_init>(),\n"
6761 "I<posix_spawnattr_setsigdefault>(),\n"
6762 "I<posix_spawnattr_setflags>(),\n"
6763 "I<posix_spawnattr_setpgroup>(),\n"
6764 "I<posix_spawnattr_setsigmask>(),\n"
6765 "I<posix_spawnp>().\n"
6769 #: build/C/man7/posixoptions.7:441
6771 "If also B<_POSIX_PRIORITY_SCHEDULING> is in effect, then the following "
6772 "functions are present:"
6776 #: build/C/man7/posixoptions.7:451
6778 msgid "SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS"
6782 #: build/C/man7/posixoptions.7:467
6785 "I<pthread_spin_destroy>(),\n"
6786 "I<pthread_spin_init>(),\n"
6787 "I<pthread_spin_lock>(),\n"
6788 "I<pthread_spin_trylock>(),\n"
6789 "I<pthread_spin_unlock>().\n"
6793 #: build/C/man7/posixoptions.7:470
6795 msgid "SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER"
6799 #: build/C/man7/posixoptions.7:478
6801 "The scheduling policy B<SCHED_SPORADIC> is supported. This option implies "
6802 "the B<_POSIX_PRIORITY_SCHEDULING> option. Affected functions are"
6806 #: build/C/man7/posixoptions.7:484
6809 "I<sched_setparam>(),\n"
6810 "I<sched_setscheduler>().\n"
6814 #: build/C/man7/posixoptions.7:487
6816 msgid "SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO"
6820 #: build/C/man7/posixoptions.7:493
6821 msgid "Affected functions are I<open>(), I<msync>(), I<fsync>(), I<fdatasync>()."
6825 #: build/C/man7/posixoptions.7:493
6827 msgid "TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR"
6831 #: 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
6832 msgid "Affected functions are"
6836 #: build/C/man7/posixoptions.7:503
6839 "I<pthread_attr_getstack>(),\n"
6840 "I<pthread_attr_getstackaddr>(),\n"
6841 "I<pthread_attr_setstack>(),\n"
6842 "I<pthread_attr_setstackaddr>().\n"
6846 #: build/C/man7/posixoptions.7:506
6848 msgid "TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE"
6852 #: build/C/man7/posixoptions.7:516
6855 "I<pthread_attr_getstack>(),\n"
6856 "I<pthread_attr_getstacksize>(),\n"
6857 "I<pthread_attr_setstack>(),\n"
6858 "I<pthread_attr_setstacksize>().\n"
6862 #: build/C/man7/posixoptions.7:519
6864 msgid "TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME"
6868 #: build/C/man7/posixoptions.7:525
6870 "The clockID CLOCK_THREAD_CPUTIME_ID is supported. This option implies the "
6871 "B<_POSIX_TIMERS> option. Affected functions are"
6875 #: build/C/man7/posixoptions.7:534
6878 "I<pthread_getcpuclockid>(),\n"
6879 "I<clock_getres>(),\n"
6880 "I<clock_gettime>(),\n"
6881 "I<clock_settime>(),\n"
6882 "I<timer_create>().\n"
6886 #: build/C/man7/posixoptions.7:537
6888 msgid "TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT"
6892 #: build/C/man7/posixoptions.7:545
6895 "I<pthread_mutexattr_getprotocol>(),\n"
6896 "I<pthread_mutexattr_setprotocol>().\n"
6900 #: build/C/man7/posixoptions.7:548
6902 msgid "TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT"
6906 #: build/C/man7/posixoptions.7:560
6909 "I<pthread_mutex_getprioceiling>(),\n"
6910 "I<pthread_mutex_setprioceiling>(),\n"
6911 "I<pthread_mutexattr_getprioceiling>(),\n"
6912 "I<pthread_mutexattr_getprotocol>(),\n"
6913 "I<pthread_mutexattr_setprioceiling>(),\n"
6914 "I<pthread_mutexattr_setprotocol>().\n"
6918 #: build/C/man7/posixoptions.7:563
6920 msgid "TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING"
6924 #: build/C/man7/posixoptions.7:567
6926 "If this option is in effect, the different threads inside a process can run "
6927 "with different priorities and/or different schedulers. Affected functions "
6932 #: build/C/man7/posixoptions.7:580
6935 "I<pthread_attr_getinheritsched>(),\n"
6936 "I<pthread_attr_getschedpolicy>(),\n"
6937 "I<pthread_attr_getscope>(),\n"
6938 "I<pthread_attr_setinheritsched>(),\n"
6939 "I<pthread_attr_setschedpolicy>(),\n"
6940 "I<pthread_attr_setscope>(),\n"
6941 "I<pthread_getschedparam>(),\n"
6942 "I<pthread_setschedparam>(),\n"
6943 "I<pthread_setschedprio>().\n"
6947 #: build/C/man7/posixoptions.7:583
6949 msgid "TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED"
6953 #: build/C/man7/posixoptions.7:597
6956 "I<pthread_barrierattr_getpshared>(),\n"
6957 "I<pthread_barrierattr_setpshared>(),\n"
6958 "I<pthread_condattr_getpshared>(),\n"
6959 "I<pthread_condattr_setpshared>(),\n"
6960 "I<pthread_mutexattr_getpshared>(),\n"
6961 "I<pthread_mutexattr_setpshared>(),\n"
6962 "I<pthread_rwlockattr_getpshared>(),\n"
6963 "I<pthread_rwlockattr_setpshared>().\n"
6967 #: build/C/man7/posixoptions.7:600
6969 msgid "TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS"
6973 #: build/C/man7/posixoptions.7:625
6977 "I<getgrgid_r>(),\n"
6978 "I<getgrnam_r>(),\n"
6979 "I<getpwnam_r>(),\n"
6980 "I<getpwuid_r>(),\n"
6982 "I<ftrylockfile>(),\n"
6983 "I<funlockfile>(),\n"
6984 "I<getc_unlocked>(),\n"
6985 "I<getchar_unlocked>(),\n"
6986 "I<putc_unlocked>(),\n"
6987 "I<putchar_unlocked>(),\n"
6989 "I<strerror_r>(),\n"
6994 "I<localtime_r>().\n"
6998 #: build/C/man7/posixoptions.7:628
7000 msgid "TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER"
7004 #: build/C/man7/posixoptions.7:633
7006 "This option implies the B<_POSIX_THREAD_PRIORITY_SCHEDULING> option. "
7007 "Affected functions are"
7011 #: build/C/man7/posixoptions.7:640
7014 "I<sched_getparam>(),\n"
7015 "I<sched_setparam>(),\n"
7016 "I<sched_setscheduler>().\n"
7020 #: build/C/man7/posixoptions.7:643
7022 msgid "THR - _POSIX_THREADS - _SC_THREADS"
7026 #: build/C/man7/posixoptions.7:646
7028 "Basic support for POSIX threads is available. The following functions are "
7033 #: build/C/man7/posixoptions.7:698
7036 "I<pthread_atfork>(),\n"
7037 "I<pthread_attr_destroy>(),\n"
7038 "I<pthread_attr_getdetachstate>(),\n"
7039 "I<pthread_attr_getschedparam>(),\n"
7040 "I<pthread_attr_init>(),\n"
7041 "I<pthread_attr_setdetachstate>(),\n"
7042 "I<pthread_attr_setschedparam>(),\n"
7043 "I<pthread_cancel>(),\n"
7044 "I<pthread_cleanup_push>(),\n"
7045 "I<pthread_cleanup_pop>(),\n"
7046 "I<pthread_cond_broadcast>(),\n"
7047 "I<pthread_cond_destroy>(),\n"
7048 "I<pthread_cond_init>(),\n"
7049 "I<pthread_cond_signal>(),\n"
7050 "I<pthread_cond_timedwait>(),\n"
7051 "I<pthread_cond_wait>(),\n"
7052 "I<pthread_condattr_destroy>(),\n"
7053 "I<pthread_condattr_init>(),\n"
7054 "I<pthread_create>(),\n"
7055 "I<pthread_detach>(),\n"
7056 "I<pthread_equal>(),\n"
7057 "I<pthread_exit>(),\n"
7058 "I<pthread_getspecific>(),\n"
7059 "I<pthread_join>(),\n"
7060 "I<pthread_key_create>(),\n"
7061 "I<pthread_key_delete>(),\n"
7062 "I<pthread_mutex_destroy>(),\n"
7063 "I<pthread_mutex_init>(),\n"
7064 "I<pthread_mutex_lock>(),\n"
7065 "I<pthread_mutex_trylock>(),\n"
7066 "I<pthread_mutex_unlock>(),\n"
7067 "I<pthread_mutexattr_destroy>(),\n"
7068 "I<pthread_mutexattr_init>(),\n"
7069 "I<pthread_once>(),\n"
7070 "I<pthread_rwlock_destroy>(),\n"
7071 "I<pthread_rwlock_init>(),\n"
7072 "I<pthread_rwlock_rdlock>(),\n"
7073 "I<pthread_rwlock_tryrdlock>(),\n"
7074 "I<pthread_rwlock_trywrlock>(),\n"
7075 "I<pthread_rwlock_unlock>(),\n"
7076 "I<pthread_rwlock_wrlock>(),\n"
7077 "I<pthread_rwlockattr_destroy>(),\n"
7078 "I<pthread_rwlockattr_init>(),\n"
7079 "I<pthread_self>(),\n"
7080 "I<pthread_setcancelstate>(),\n"
7081 "I<pthread_setcanceltype>(),\n"
7082 "I<pthread_setspecific>(),\n"
7083 "I<pthread_testcancel>().\n"
7087 #: build/C/man7/posixoptions.7:701
7089 msgid "TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS"
7093 #: build/C/man7/posixoptions.7:714
7096 "I<mq_timedreceive>(),\n"
7097 "I<mq_timedsend>(),\n"
7098 "I<pthread_mutex_timedlock>(),\n"
7099 "I<pthread_rwlock_timedrdlock>(),\n"
7100 "I<pthread_rwlock_timedwrlock>(),\n"
7101 "I<sem_timedwait>(),\n"
7102 "I<posix_trace_timedgetnext_event>().\n"
7106 #: build/C/man7/posixoptions.7:717
7108 msgid "TMR - _POSIX_TIMERS - _SC_TIMERS"
7112 #: build/C/man7/posixoptions.7:732
7115 "I<clock_getres>(),\n"
7116 "I<clock_gettime>(),\n"
7117 "I<clock_settime>(),\n"
7119 "I<timer_create>(),\n"
7120 "I<timer_delete>(),\n"
7121 "I<timer_gettime>(),\n"
7122 "I<timer_getoverrun>(),\n"
7123 "I<timer_settime>().\n"
7127 #: build/C/man7/posixoptions.7:735
7129 msgid "TRC - _POSIX_TRACE - _SC_TRACE"
7133 #: build/C/man7/posixoptions.7:738
7134 msgid "POSIX tracing is available. The following functions are present:"
7138 #: build/C/man7/posixoptions.7:773
7141 "I<posix_trace_attr_destroy>(),\n"
7142 "I<posix_trace_attr_getclockres>(),\n"
7143 "I<posix_trace_attr_getcreatetime>(),\n"
7144 "I<posix_trace_attr_getgenversion>(),\n"
7145 "I<posix_trace_attr_getmaxdatasize>(),\n"
7146 "I<posix_trace_attr_getmaxsystemeventsize>(),\n"
7147 "I<posix_trace_attr_getmaxusereventsize>(),\n"
7148 "I<posix_trace_attr_getname>(),\n"
7149 "I<posix_trace_attr_getstreamfullpolicy>(),\n"
7150 "I<posix_trace_attr_getstreamsize>(),\n"
7151 "I<posix_trace_attr_init>(),\n"
7152 "I<posix_trace_attr_setmaxdatasize>(),\n"
7153 "I<posix_trace_attr_setname>(),\n"
7154 "I<posix_trace_attr_setstreamsize>(),\n"
7155 "I<posix_trace_attr_setstreamfullpolicy>(),\n"
7156 "I<posix_trace_clear>(),\n"
7157 "I<posix_trace_create>(),\n"
7158 "I<posix_trace_event>(),\n"
7159 "I<posix_trace_eventid_equal>(),\n"
7160 "I<posix_trace_eventid_get_name>(),\n"
7161 "I<posix_trace_eventid_open>(),\n"
7162 "I<posix_trace_eventtypelist_getnext_id>(),\n"
7163 "I<posix_trace_eventtypelist_rewind>(),\n"
7164 "I<posix_trace_flush>(),\n"
7165 "I<posix_trace_get_attr>(),\n"
7166 "I<posix_trace_get_status>(),\n"
7167 "I<posix_trace_getnext_event>(),\n"
7168 "I<posix_trace_shutdown>(),\n"
7169 "I<posix_trace_start>(),\n"
7170 "I<posix_trace_stop>(),\n"
7171 "I<posix_trace_trygetnext_event>().\n"
7175 #: build/C/man7/posixoptions.7:776
7177 msgid "TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER"
7181 #: build/C/man7/posixoptions.7:781 build/C/man7/posixoptions.7:816
7183 "This option implies the B<_POSIX_TRACE> option. The following functions are "
7188 #: build/C/man7/posixoptions.7:793
7191 "I<posix_trace_eventset_add>(),\n"
7192 "I<posix_trace_eventset_del>(),\n"
7193 "I<posix_trace_eventset_empty>(),\n"
7194 "I<posix_trace_eventset_fill>(),\n"
7195 "I<posix_trace_eventset_ismember>(),\n"
7196 "I<posix_trace_get_filter>(),\n"
7197 "I<posix_trace_set_filter>(),\n"
7198 "I<posix_trace_trid_eventid_open>().\n"
7202 #: build/C/man7/posixoptions.7:796
7204 msgid "TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT"
7208 #: build/C/man7/posixoptions.7:802
7210 "Tracing children of the traced process is supported. This option implies "
7211 "the B<_POSIX_TRACE> option. The following functions are present:"
7215 #: build/C/man7/posixoptions.7:808
7218 "I<posix_trace_attr_getinherited>(),\n"
7219 "I<posix_trace_attr_setinherited>().\n"
7223 #: build/C/man7/posixoptions.7:811
7225 msgid "TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG"
7229 #: build/C/man7/posixoptions.7:828
7232 "I<posix_trace_attr_getlogfullpolicy>(),\n"
7233 "I<posix_trace_attr_getlogsize>(),\n"
7234 "I<posix_trace_attr_setlogfullpolicy>(),\n"
7235 "I<posix_trace_attr_setlogsize>(),\n"
7236 "I<posix_trace_close>(),\n"
7237 "I<posix_trace_create_withlog>(),\n"
7238 "I<posix_trace_open>(),\n"
7239 "I<posix_trace_rewind>().\n"
7243 #: build/C/man7/posixoptions.7:831
7245 msgid "TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT"
7249 #: build/C/man7/posixoptions.7:840
7252 "I<posix_mem_offset>(),\n"
7253 "I<posix_typed_mem_get_info>(),\n"
7254 "I<posix_typed_mem_open>().\n"
7258 #: build/C/man7/posixoptions.7:843
7260 msgid "--- - _POSIX_VDISABLE"
7264 #: build/C/man7/posixoptions.7:847
7266 "Always present (probably 0). Value to set a changeable special control "
7267 "character to indicate that it is disabled."
7271 #: build/C/man7/posixoptions.7:847
7273 msgid "XOPEN EXTENSIONS"
7278 #: build/C/man7/posixoptions.7:854
7280 "B<_XOPEN_CRYPT>, B<_XOPEN_LEGACY>, B<_XOPEN_REALTIME>, "
7281 "B<_XOPEN_REALTIME_THREADS>, B<_XOPEN_UNIX>."
7285 #: build/C/man7/posixoptions.7:856
7286 msgid "B<sysconf>(3), B<standards>(7)"
7290 #: build/C/man5/proc.5:55
7296 #: build/C/man5/proc.5:58
7297 msgid "proc - process information pseudo-filesystem"
7301 #: build/C/man5/proc.5:67
7303 "The I<proc> filesystem is a pseudo-filesystem which provides an interface to "
7304 "kernel data structures. It is commonly mounted at I</proc>. Most of it is "
7305 "read-only, but some files allow kernel variables to be changed."
7309 #: build/C/man5/proc.5:71
7311 "The following list describes many of the files and directories under the "
7312 "I</proc> hierarchy."
7316 #: build/C/man5/proc.5:72
7318 msgid "I</proc/[pid]>"
7321 #. FIXME Describe /proc/[pid]/attr and
7322 #. /proc/[pid]/task/[tid]/attr
7323 #. This is a directory
7326 #. https://lwn.net/Articles/28222/
7327 #. http://www.nsa.gov/research/_files/selinux/papers/module/x362.shtml
7329 #. fscreate, current, prev, and exec present in Linux 2.6.0
7330 #. keycreate added in Linux 2.6.18
7331 #. commit 4eb582cf1fbd7b9e5f466e3718a59c957e75254e
7332 #. /Documentation/keys.txt
7333 #. sockcreate added in Linux 2.6.18
7334 #. commit 42c3e03ef6b298813557cdb997bd6db619cd65a2
7336 #. FIXME Describe /proc/[pid]/autogroup
7338 #. commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a
7339 #. CONFIG_SCHED_AUTOGROUP
7341 #: build/C/man5/proc.5:98
7343 "There is a numerical subdirectory for each running process; the subdirectory "
7344 "is named by the process ID. Each such subdirectory contains the following "
7345 "pseudo-files and directories."
7349 #: build/C/man5/proc.5:98
7351 msgid "I</proc/[pid]/auxv> (since 2.6.0-test7)"
7355 #: build/C/man5/proc.5:107
7357 "This contains the contents of the ELF interpreter information passed to the "
7358 "process at exec time. The format is one I<unsigned long> ID plus one "
7359 "I<unsigned long> value for each entry. The last entry contains two zeros. "
7360 "See also B<getauxval>(3)."
7364 #: build/C/man5/proc.5:107
7366 msgid "I</proc/[pid]/cgroup> (since Linux 2.6.24)"
7369 #. Info in Documentation/cgroups/cgroups.txt
7371 #: build/C/man5/proc.5:113
7373 "This file describes control groups to which the process/task belongs. For "
7374 "each cgroup hierarchy there is one entry containing colon-separated fields "
7379 #: build/C/man5/proc.5:117
7381 msgid "CW< 5:cpuacct,cpu,cpuset:/daemons>\n"
7385 #: build/C/man5/proc.5:121
7386 msgid "The colon-separated fields are, from left to right:"
7390 #: build/C/man5/proc.5:122
7396 #: build/C/man5/proc.5:124
7397 msgid "hierarchy ID number"
7401 #: build/C/man5/proc.5:124
7407 #: build/C/man5/proc.5:126
7408 msgid "set of subsystems bound to the hierarchy"
7412 #: build/C/man5/proc.5:126
7418 #: build/C/man5/proc.5:128
7419 msgid "control group in the hierarchy to which the process belongs"
7423 #: build/C/man5/proc.5:133
7425 "This file is present only if the B<CONFIG_CGROUPS> kernel configuration "
7426 "option is enabled."
7430 #: build/C/man5/proc.5:133
7432 msgid "I</proc/[pid]/clear_refs> (since Linux 2.6.22)"
7435 #. commit b813e931b4c8235bb42e301096ea97dbdee3e8fe (2.6.22)
7436 #. commit 398499d5f3613c47f2143b8c54a04efb5d7a6da9 (2.6.32)
7437 #. commit 040fa02077de01c7e08fa75be6125e4ca5636011 (3.11)
7439 #. "Clears page referenced bits shown in smaps output"
7440 #. write-only, writable only by the owner of the process
7442 #: build/C/man5/proc.5:143
7443 msgid "This is a write-only file, writable only by owner of the process."
7447 #: build/C/man5/proc.5:145
7448 msgid "The following values may be written to the file:"
7452 #: build/C/man5/proc.5:146
7454 msgid "1 (since Linux 2.6.22)"
7457 #. Internally: CLEAR_REFS_ALL
7459 #: build/C/man5/proc.5:153
7461 "Reset the PG_Referenced and ACCESSED/YOUNG bits for all the pages associated "
7462 "with the process. (Before kernel 2.6.32, writing any nonzero value to this "
7463 "file had this effect.)"
7467 #: build/C/man5/proc.5:153
7469 msgid "2 (since Linux 2.6.32)"
7472 #. Internally: CLEAR_REFS_ANON
7474 #: build/C/man5/proc.5:158
7476 "Reset the PG_Referenced and ACCESSED/YOUNG bits for all anonymous pages "
7477 "associated with the process."
7481 #: build/C/man5/proc.5:158
7483 msgid "3 (since Linux 2.6.32)"
7486 #. Internally: CLEAR_REFS_MAPPED
7488 #: build/C/man5/proc.5:163
7490 "Reset the PG_Referenced and ACCESSED/YOUNG bits for all file-mapped pages "
7491 "associated with the process."
7495 #: build/C/man5/proc.5:179
7497 "Clearing the PG_Referenced and ACCESSED/YOUNG bits provides a method to "
7498 "measure approximately how much memory a process is using. One first "
7499 "inspects the values in the \"Referenced\" fields for the VMAs shown in "
7500 "I</proc/[pid]/smaps> to get an idea of the memory footprint of the process. "
7501 "One then clears the PG_Referenced and ACCESSED/YOUNG bits and, after some "
7502 "measured time interval, once again inspects the values in the \"Referenced\" "
7503 "fields to get an idea of the change in memory footprint of the process "
7504 "during the measured interval. If one is interested only in inspecting the "
7505 "selected mapping types, then the value 2 or 3 can be used instead of 1."
7509 #: build/C/man5/proc.5:181
7510 msgid "A further value can be written to affect a different bit:"
7514 #: build/C/man5/proc.5:182
7516 msgid "4 (since Linux 3.11)"
7519 #. Internally: CLEAR_REFS_SOFT_DIRTY
7521 #: build/C/man5/proc.5:192
7523 "Clear the soft-dirty bit for all the pages associated with the process. "
7524 "This is used (in conjunction with I</proc/[pid]/pagemap>) by the "
7525 "check-point restore system to discover which pages of a process have been "
7526 "dirtied since the file I</proc/[pid]/clear_refs> was written to."
7530 #: build/C/man5/proc.5:197
7532 "Writing any value to I</proc/[pid]/clear_refs> other than those listed above "
7537 #: build/C/man5/proc.5:203
7539 "The I</proc/[pid]/clear_refs> file is present only if the "
7540 "B<CONFIG_PROC_PAGE_MONITOR> kernel configuration option is enabled."
7544 #: build/C/man5/proc.5:203
7546 msgid "I</proc/[pid]/cmdline>"
7549 #. In 2.3.26, this also used to be true if the process was swapped out.
7551 #: build/C/man5/proc.5:213
7553 "This read-only file holds the complete command line for the process, unless "
7554 "the process is a zombie. In the latter case, there is nothing in this file: "
7555 "that is, a read on this file will return 0 characters. The command-line "
7556 "arguments appear in this file as a set of strings separated by null bytes "
7557 "(\\(aq\\e0\\(aq), with a further null byte after the last string."
7561 #: build/C/man5/proc.5:213
7563 msgid "I</proc/[pid]/comm> (since Linux 2.6.33)"
7566 #. commit 4614a696bd1c3a9af3a08f0e5874830a85b889d4
7568 #: build/C/man5/proc.5:235
7570 "This file exposes the process's I<comm> value\\(emthat is, the command name "
7571 "associated with the process. Different threads in the same process may have "
7572 "different I<comm> values, accessible via I</proc/[pid]/task/[tid]/comm>. A "
7573 "thread may modify its I<comm> value, or that of any of other thread in the "
7574 "same thread group (see the discussion of B<CLONE_THREAD> in B<clone>(2)), by "
7575 "writing to the file I</proc/self/task/[tid]/comm>. Strings longer than "
7576 "B<TASK_COMM_LEN> (16) characters are silently truncated."
7580 #: build/C/man5/proc.5:244
7582 "This file provides a superset of the B<prctl>(2) B<PR_SET_NAME> and "
7583 "B<PR_GET_NAME> operations, and is employed by B<pthread_setname_np>(3) when "
7584 "used to rename threads other than the caller."
7588 #: build/C/man5/proc.5:244
7590 msgid "I</proc/[pid]/coredump_filter> (since Linux 2.6.23)"
7594 #: build/C/man5/proc.5:248 build/C/man5/proc.5:3509 build/C/man5/proc.5:3513
7595 msgid "See B<core>(5)."
7599 #: build/C/man5/proc.5:248
7601 msgid "I</proc/[pid]/cpuset> (since Linux 2.6.12)"
7604 #. and/proc/[pid]/task/[tid]/cpuset
7606 #: build/C/man5/proc.5:253
7607 msgid "See B<cpuset>(7)."
7611 #: build/C/man5/proc.5:253
7613 msgid "I</proc/[pid]/cwd>"
7617 #: build/C/man5/proc.5:258
7619 "This is a symbolic link to the current working directory of the process. To "
7620 "find out the current working directory of process 20, for instance, you can "
7625 #: build/C/man5/proc.5:262
7627 msgid "$B< cd /proc/20/cwd; /bin/pwd>\n"
7631 #: build/C/man5/proc.5:273
7633 "Note that the I<pwd> command is often a shell built-in, and might not work "
7634 "properly. In B<bash>(1), you may use I<pwd\\ -P>."
7637 #. The following was still true as at kernel 2.6.13
7638 #. FIXME Describe /proc/[pid]/projid_map
7639 #. Added in 3.7, commit f76d207a66c3a53defea67e7d36c3eb1b7d6d61d
7640 #. FIXME Describe /proc/[pid]/seccomp
7643 #. FIXME Describe /proc/[pid]/sessionid
7644 #. Added in 2.6.25; read-only; only readable by real UID
7645 #. commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc
7646 #. CONFIG_AUDITSYSCALL
7648 #. FIXME Describe /proc/[pid]/sched
7650 #. CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS
7651 #. Displays various scheduling parameters
7652 #. This file can be written, to reset stats
7653 #. The set of fields exposed by this file have changed
7654 #. significantly over time.
7655 #. commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac
7657 #. FIXME Describe /proc/[pid]/schedstats and
7658 #. /proc/[pid]/task/[tid]/schedstats
7660 #. CONFIG_SCHEDSTATS
7662 #: build/C/man5/proc.5:279 build/C/man5/proc.5:1099
7664 "In a multithreaded process, the contents of this symbolic link are not "
7665 "available if the main thread has already terminated (typically by calling "
7666 "B<pthread_exit>(3))."
7670 #: build/C/man5/proc.5:279
7672 msgid "I</proc/[pid]/environ>"
7676 #: build/C/man5/proc.5:285
7678 "This file contains the environment for the process. The entries are "
7679 "separated by null bytes (\\(aq\\e0\\(aq), and there may be a null byte at "
7680 "the end. Thus, to print out the environment of process 1, you would do:"
7684 #: build/C/man5/proc.5:290
7686 msgid "$B< strings /proc/1/environ>\n"
7690 #: build/C/man5/proc.5:293
7692 msgid "I</proc/[pid]/exe>"
7695 #. The following was still true as at kernel 2.6.13
7697 #: build/C/man5/proc.5:308
7699 "Under Linux 2.2 and later, this file is a symbolic link containing the "
7700 "actual pathname of the executed command. This symbolic link can be "
7701 "dereferenced normally; attempting to open it will open the executable. You "
7702 "can even type I</proc/[pid]/exe> to run another copy of the same executable "
7703 "as is being run by process [pid]. In a multithreaded process, the contents "
7704 "of this symbolic link are not available if the main thread has already "
7705 "terminated (typically by calling B<pthread_exit>(3))."
7709 #: build/C/man5/proc.5:316
7711 "Under Linux 2.0 and earlier, I</proc/[pid]/exe> is a pointer to the binary "
7712 "which was executed, and appears as a symbolic link. A B<readlink>(2) call "
7713 "on this file under Linux 2.0 returns a string in the format:"
7717 #: build/C/man5/proc.5:318
7719 msgid " [device]:inode\n"
7723 #: build/C/man5/proc.5:321
7725 "For example, [0301]:1502 would be inode 1502 on device major 03 (IDE, MFM, "
7726 "etc. drives) minor 01 (first partition on the first drive)."
7730 #: build/C/man5/proc.5:326
7731 msgid "B<find>(1) with the I<-inum> option can be used to locate the file."
7735 #: build/C/man5/proc.5:326
7737 msgid "I</proc/[pid]/fd/>"
7741 #: build/C/man5/proc.5:332
7743 "This is a subdirectory containing one entry for each file which the process "
7744 "has open, named by its file descriptor, and which is a symbolic link to the "
7745 "actual file. Thus, 0 is standard input, 1 standard output, 2 standard "
7750 #: build/C/man5/proc.5:339
7752 "For file descriptors for pipes and sockets, the entries will be symbolic "
7753 "links whose content is the file type with the inode. A B<readlink>(2) call "
7754 "on this file returns a string in the format:"
7758 #: build/C/man5/proc.5:341
7760 msgid " type:[inode]\n"
7764 #: build/C/man5/proc.5:348
7766 "For example, I<socket:[2248868]> will be a socket and its inode is 2248868. "
7767 "For sockets, that inode can be used to find more information in one of the "
7768 "files under I</proc/net/>."
7772 #: build/C/man5/proc.5:358
7774 "For file descriptors that have no corresponding inode (e.g., file "
7775 "descriptors produced by B<epoll_create>(2), B<eventfd>(2), "
7776 "B<inotify_init>(2), B<signalfd>(2), and B<timerfd>(2)), the entry will be a "
7777 "symbolic link with contents of the form"
7781 #: build/C/man5/proc.5:360
7783 msgid " anon_inode:E<lt>file-typeE<gt>\n"
7787 #: build/C/man5/proc.5:364
7788 msgid "In some cases, the I<file-type> is surrounded by square brackets."
7792 #: build/C/man5/proc.5:368
7794 "For example, an epoll file descriptor will have a symbolic link whose "
7795 "content is the string I<anon_inode:[eventpoll]>."
7798 #. The following was still true as at kernel 2.6.13
7800 #: build/C/man5/proc.5:374
7802 "In a multithreaded process, the contents of this directory are not available "
7803 "if the main thread has already terminated (typically by calling "
7804 "B<pthread_exit>(3))."
7808 #: build/C/man5/proc.5:387
7810 "Programs that will take a filename as a command-line argument, but will not "
7811 "take input from standard input if no argument is supplied, or that write to "
7812 "a file named as a command-line argument, but will not send their output to "
7813 "standard output if no argument is supplied, can nevertheless be made to use "
7814 "standard input or standard out using I</proc/[pid]/fd>. For example, "
7815 "assuming that I<-i> is the flag designating an input file and I<-o> is the "
7816 "flag designating an output file:"
7820 #: build/C/man5/proc.5:391
7822 msgid "$B< foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...>\n"
7825 #. The following is not true in my tests (MTK):
7826 #. Note that this will not work for
7827 #. programs that seek on their files, as the files in the fd directory
7828 #. are not seekable.
7830 #: build/C/man5/proc.5:399
7831 msgid "and you have a working filter."
7835 #: build/C/man5/proc.5:409
7837 "I</proc/self/fd/N> is approximately the same as I</dev/fd/N> in some UNIX "
7838 "and UNIX-like systems. Most Linux MAKEDEV scripts symbolically link "
7839 "I</dev/fd> to I</proc/self/fd>, in fact."
7843 #: build/C/man5/proc.5:423
7845 "Most systems provide symbolic links I</dev/stdin>, I</dev/stdout>, and "
7846 "I</dev/stderr>, which respectively link to the files I<0>, I<1>, and I<2> in "
7847 "I</proc/self/fd>. Thus the example command above could be written as:"
7851 #: build/C/man5/proc.5:427
7853 msgid "$B< foobar -i /dev/stdin -o /dev/stdout ...>\n"
7857 #: build/C/man5/proc.5:432
7859 msgid "I</proc/[pid]/fdinfo/> (since Linux 2.6.22)"
7863 #: build/C/man5/proc.5:438
7865 "This is a subdirectory containing one entry for each file which the process "
7866 "has open, named by its file descriptor. The contents of each file can be "
7867 "read to obtain information about the corresponding file descriptor, for "
7872 #: build/C/man5/proc.5:444
7875 "$B< cat /proc/12015/fdinfo/4>\n"
7881 #: build/C/man5/proc.5:455
7883 "The I<pos> field is a decimal number showing the current file offset. The "
7884 "I<flags> field is an octal number that displays the file access mode and "
7885 "file status flags (see B<open>(2))."
7889 #. Certain file types include additional info; see
7890 #. Documentation/filesystems/proc.txt
7892 #. Especially interesting is this:
7894 #. commit ab49bdecc3ebb46ab661f5f05d5c5ea9606406c6
7895 #. Author: Cyrill Gorcunov <gorcunov@openvz.org>
7896 #. Date: Mon Dec 17 16:05:06 2012 -0800
7898 #. Basically, the /proc/PID/fdinfo/ entry for an inotify FD
7899 #. includes the file handles for all watched FDs
7901 #: build/C/man5/proc.5:470
7902 msgid "The files in this directory are readable only by the owner of the process."
7906 #: build/C/man5/proc.5:470
7908 msgid "I</proc/[pid]/io> (since kernel 2.6.20)"
7911 #. commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2
7913 #: build/C/man5/proc.5:474
7914 msgid "This file contains I/O statistics for the process, for example:"
7918 #: build/C/man5/proc.5:485
7921 "#B< cat /proc/3828/io>\n"
7922 "rchar: 323934931\n"
7923 "wchar: 323929600\n"
7927 "write_bytes: 323932160\n"
7928 "cancelled_write_bytes: 0\n"
7932 #: build/C/man5/proc.5:489 build/C/man5/proc.5:1613
7933 msgid "The fields are as follows:"
7937 #: build/C/man5/proc.5:490
7939 msgid "I<rchar>: characters read"
7943 #: build/C/man5/proc.5:500
7945 "The number of bytes which this task has caused to be read from storage. "
7946 "This is simply the sum of bytes which this process passed to B<read>(2) and "
7947 "similar system calls. It includes things such as terminal I/O and is "
7948 "unaffected by whether or not actual physical disk I/O was required (the read "
7949 "might have been satisfied from pagecache)."
7953 #: build/C/man5/proc.5:500
7955 msgid "I<wchar>: characters written"
7959 #: build/C/man5/proc.5:506
7961 "The number of bytes which this task has caused, or shall cause to be written "
7962 "to disk. Similar caveats apply here as with I<rchar>."
7966 #: build/C/man5/proc.5:506
7968 msgid "I<syscr>: read syscalls"
7972 #: build/C/man5/proc.5:513
7974 "Attempt to count the number of read I/O operations\\(emthat is, system calls "
7975 "such as B<read>(2) and B<pread>(2)."
7979 #: build/C/man5/proc.5:513
7981 msgid "I<syscw>: write syscalls"
7985 #: build/C/man5/proc.5:520
7987 "Attempt to count the number of write I/O operations\\(emthat is, system "
7988 "calls such as B<write>(2) and B<pwrite>(2)."
7992 #: build/C/man5/proc.5:520
7994 msgid "I<read_bytes>: bytes read"
7998 #: build/C/man5/proc.5:525
8000 "Attempt to count the number of bytes which this process really did cause to "
8001 "be fetched from the storage layer. This is accurate for block-backed "
8006 #: build/C/man5/proc.5:525
8008 msgid "I<write_bytes>: bytes written"
8012 #: build/C/man5/proc.5:529
8014 "Attempt to count the number of bytes which this process caused to be sent to "
8015 "the storage layer."
8019 #: build/C/man5/proc.5:529
8021 msgid "I<cancelled_write_bytes>:"
8025 #: build/C/man5/proc.5:543
8027 "The big inaccuracy here is truncate. If a process writes 1MB to a file and "
8028 "then deletes the file, it will in fact perform no writeout. But it will "
8029 "have been accounted as having caused 1MB of write. In other words: this "
8030 "field represents the number of bytes which this process caused to not "
8031 "happen, by truncating pagecache. A task can cause \"negative\" I/O too. If "
8032 "this task truncates some dirty pagecache, some I/O which another task has "
8033 "been accounted for (in its I<write_bytes>) will not be happening."
8037 #: build/C/man5/proc.5:551
8039 "I<Note>: In the current implementation, things are a bit racy on 32-bit "
8040 "systems: if process A reads process B's I</proc/[pid]/io> while process B is "
8041 "updating one of these 64-bit counters, process A could see an intermediate "
8046 #: build/C/man5/proc.5:551
8048 msgid "I</proc/[pid]/gid_map> (since Linux 3.5)"
8052 #: build/C/man5/proc.5:555
8053 msgid "See the description of I</proc/[pid]/uid_map>."
8057 #: build/C/man5/proc.5:556
8059 msgid "I</proc/[pid]/limits> (since Linux 2.6.24)"
8062 #. commit 3036e7b490bf7878c6dae952eec5fb87b1106589
8064 #: build/C/man5/proc.5:566
8066 "This file displays the soft limit, hard limit, and units of measurement for "
8067 "each of the process's resource limits (see B<getrlimit>(2)). Up to and "
8068 "including Linux 2.6.35, this file is protected to allow reading only by the "
8069 "real UID of the process. Since Linux 2.6.36, this file is readable by all "
8070 "users on the system."
8074 #: build/C/man5/proc.5:566
8076 msgid "I</proc/[pid]/map_files/> (since kernel 3.3)"
8079 #. commit 640708a2cff7f81e246243b0073c66e6ece7e53e
8081 #: build/C/man5/proc.5:576
8083 "This subdirectory contains entries corresponding to memory-mapped files (see "
8084 "B<mmap>(2)). Entries are named by memory region start and end address pair "
8085 "(expressed as hexadecimal numbers), and are symbolic links to the mapped "
8086 "files themselves. Here is an example, with the output wrapped and "
8087 "reformatted to fit on an 80-column display:"
8091 #: build/C/man5/proc.5:583
8094 "$B< ls -l /proc/self/map_files/>\n"
8095 "lr--------. 1 root root 64 Apr 16 21:31\n"
8096 " 3252e00000-3252e20000 -E<gt> /usr/lib64/ld-2.15.so\n"
8101 #: build/C/man5/proc.5:597
8103 "Although these entries are present for memory regions that were mapped with "
8104 "the B<MAP_FILE> flag, the way anonymous shared memory (regions created with "
8105 "the B<MAP_ANON | MAP_SHARED> flags) is implemented in Linux means that such "
8106 "regions also appear on this directory. Here is an example where the target "
8107 "file is the deleted I</dev/zero> one:"
8111 #: build/C/man5/proc.5:603
8114 "lrw-------. 1 root root 64 Apr 16 21:33\n"
8115 " 7fc075d2f000-7fc075e6f000 -E<gt> /dev/zero (deleted)\n"
8119 #: build/C/man5/proc.5:609
8121 "This directory appears only if the B<CONFIG_CHECKPOINT_RESTORE> kernel "
8122 "configuration option is enabled."
8126 #: build/C/man5/proc.5:609
8128 msgid "I</proc/[pid]/maps>"
8132 #: build/C/man5/proc.5:616
8134 "A file containing the currently mapped memory regions and their access "
8135 "permissions. See B<mmap>(2) for some further information about memory "
8140 #: build/C/man5/proc.5:618
8141 msgid "The format of the file is:"
8145 #: build/C/man5/proc.5:643
8148 "I<address perms offset dev inode pathname>\n"
8149 "00400000-00452000 r-xp 00000000 08:02 173521 /usr/bin/dbus-daemon\n"
8150 "00651000-00652000 r--p 00051000 08:02 173521 /usr/bin/dbus-daemon\n"
8151 "00652000-00655000 rw-p 00052000 08:02 173521 /usr/bin/dbus-daemon\n"
8152 "00e03000-00e24000 rw-p 00000000 00:00 0 [heap]\n"
8153 "00e24000-011f7000 rw-p 00000000 00:00 0 [heap]\n"
8155 "35b1800000-35b1820000 r-xp 00000000 08:02 135522 /usr/lib64/ld-2.15.so\n"
8156 "35b1a1f000-35b1a20000 r--p 0001f000 08:02 135522 /usr/lib64/ld-2.15.so\n"
8157 "35b1a20000-35b1a21000 rw-p 00020000 08:02 135522 /usr/lib64/ld-2.15.so\n"
8158 "35b1a21000-35b1a22000 rw-p 00000000 00:00 0\n"
8159 "35b1c00000-35b1dac000 r-xp 00000000 08:02 135870 /usr/lib64/libc-2.15.so\n"
8160 "35b1dac000-35b1fac000 ---p 001ac000 08:02 135870 /usr/lib64/libc-2.15.so\n"
8161 "35b1fac000-35b1fb0000 r--p 001ac000 08:02 135870 /usr/lib64/libc-2.15.so\n"
8162 "35b1fb0000-35b1fb2000 rw-p 001b0000 08:02 135870 /usr/lib64/libc-2.15.so\n"
8164 "f2c6ff8c000-7f2c7078c000 rw-p 00000000 00:00 0 [stack:986]\n"
8166 "7fffb2c0d000-7fffb2c2e000 rw-p 00000000 00:00 0 [stack]\n"
8167 "7fffb2d48000-7fffb2d49000 r-xp 00000000 00:00 0 [vdso]\n"
8171 #: build/C/man5/proc.5:652
8173 "The I<address> field is the address space in the process that the mapping "
8174 "occupies. The I<perms> field is a set of permissions:"
8178 #: build/C/man5/proc.5:660
8185 "p = private (copy on write)\n"
8189 #: build/C/man5/proc.5:673
8191 "The I<offset> field is the offset into the file/whatever; I<dev> is the "
8192 "device (major:minor); I<inode> is the inode on that device. 0 indicates "
8193 "that no inode is associated with the memory region, as would be the case "
8194 "with BSS (uninitialized data)."
8198 #: build/C/man5/proc.5:683
8200 "The I<pathname> field will usually be the file that is backing the mapping. "
8201 "For ELF files, you can easily coordinate with the I<offset> field by looking "
8202 "at the Offset field in the ELF program headers (I<readelf\\ -l>)."
8206 #: build/C/man5/proc.5:685
8207 msgid "There are additional helpful pseudo-paths:"
8211 #: build/C/man5/proc.5:686
8217 #: build/C/man5/proc.5:689
8218 msgid "The initial process's (also known as the main thread's) stack."
8222 #: build/C/man5/proc.5:689
8224 msgid "I<[stack:E<lt>tidE<gt>]> (since Linux 3.4)"
8227 #. commit b76437579d1344b612cf1851ae610c636cec7db0
8229 #: build/C/man5/proc.5:698
8231 "A thread's stack (where the I<E<lt>tidE<gt>> is a thread ID). It "
8232 "corresponds to the I</proc/[pid]/task/[tid]/> path."
8236 #: build/C/man5/proc.5:698
8242 #: build/C/man5/proc.5:701
8243 msgid "The virtual dynamically linked shared object."
8247 #: build/C/man5/proc.5:701
8253 #: build/C/man5/proc.5:704
8254 msgid "The process's heap."
8258 #: build/C/man5/proc.5:718
8260 "If the I<pathname> field is blank, this is an anonymous mapping as obtained "
8261 "via the B<mmap>(2) function. There is no easy way to coordinate this back "
8262 "to a process's source, short of running it through B<gdb>(1), B<strace>(1), "
8267 #: build/C/man5/proc.5:720
8268 msgid "Under Linux 2.0, there is no field giving pathname."
8272 #: build/C/man5/proc.5:720
8274 msgid "I</proc/[pid]/mem>"
8278 #: build/C/man5/proc.5:727
8280 "This file can be used to access the pages of a process's memory through "
8281 "B<open>(2), B<read>(2), and B<lseek>(2)."
8285 #: build/C/man5/proc.5:727
8287 msgid "I</proc/[pid]/mountinfo> (since Linux 2.6.26)"
8290 #. This info adapted from Documentation/filesystems/proc.txt
8292 #: build/C/man5/proc.5:732
8294 "This file contains information about mount points. It contains lines of the "
8299 #: build/C/man5/proc.5:737
8302 "CW<36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root "
8303 "rw,errors=continue\n"
8304 "(1)(2)(3) (4) (5) (6) (7) (8) (9) (10) (11)>\n"
8308 #: build/C/man5/proc.5:741
8309 msgid "The numbers in parentheses are labels for the descriptions below:"
8313 #: build/C/man5/proc.5:742 build/C/man5/proc.5:838 build/C/man5/proc.5:1843 build/C/man5/proc.5:2806
8319 #: build/C/man5/proc.5:746
8320 msgid "mount ID: unique identifier of the mount (may be reused after B<umount>(2))."
8324 #: build/C/man5/proc.5:746 build/C/man5/proc.5:842 build/C/man5/proc.5:1847 build/C/man5/proc.5:2817
8330 #: build/C/man5/proc.5:749
8331 msgid "parent ID: ID of parent mount (or of self for the top of the mount tree)."
8335 #: build/C/man5/proc.5:749 build/C/man5/proc.5:845 build/C/man5/proc.5:1882 build/C/man5/proc.5:2820
8341 #: build/C/man5/proc.5:755
8342 msgid "major:minor: value of I<st_dev> for files on filesystem (see B<stat>(2))."
8346 #: build/C/man5/proc.5:755 build/C/man5/proc.5:848 build/C/man5/proc.5:2824
8352 #: build/C/man5/proc.5:758
8353 msgid "root: root of the mount within the filesystem."
8357 #: build/C/man5/proc.5:758 build/C/man5/proc.5:2828
8363 #: build/C/man5/proc.5:761
8364 msgid "mount point: mount point relative to the process's root."
8368 #: build/C/man5/proc.5:761 build/C/man5/proc.5:2832
8374 #: build/C/man5/proc.5:764
8375 msgid "mount options: per-mount options."
8379 #: build/C/man5/proc.5:764 build/C/man5/proc.5:2837
8385 #: build/C/man5/proc.5:767
8386 msgid "optional fields: zero or more fields of the form \"tag[:value]\"."
8390 #: build/C/man5/proc.5:767 build/C/man5/proc.5:2842
8396 #: build/C/man5/proc.5:770
8397 msgid "separator: marks the end of the optional fields."
8401 #: build/C/man5/proc.5:770
8407 #: build/C/man5/proc.5:773
8408 msgid "filesystem type: name of filesystem in the form \"type[.subtype]\"."
8412 #: build/C/man5/proc.5:773
8418 #: build/C/man5/proc.5:776
8419 msgid "mount source: filesystem-specific information or \"none\"."
8423 #: build/C/man5/proc.5:776
8429 #: build/C/man5/proc.5:779
8430 msgid "super options: per-superblock options."
8434 #: build/C/man5/proc.5:783
8436 "Parsers should ignore all unrecognized optional fields. Currently the "
8437 "possible optional fields are:"
8441 #: build/C/man5/proc.5:784
8447 #: build/C/man5/proc.5:787
8448 msgid "mount is shared in peer group X"
8452 #: build/C/man5/proc.5:787
8458 #: build/C/man5/proc.5:790
8459 msgid "mount is slave to peer group X"
8463 #: build/C/man5/proc.5:790
8465 msgid "propagate_from:X"
8469 #: build/C/man5/proc.5:793
8470 msgid "mount is slave and receives propagation from peer group X (*)"
8474 #: build/C/man5/proc.5:793
8480 #: build/C/man5/proc.5:796
8481 msgid "mount is unbindable"
8485 #: build/C/man5/proc.5:803
8487 "(*) X is the closest dominant peer group under the process's root. If X is "
8488 "the immediate master of the mount, or if there is no dominant peer group "
8489 "under the same root, then only the \"master:X\" field is present and not the "
8490 "\"propagate_from:X\" field."
8494 #: build/C/man5/proc.5:807
8496 "For more information on mount propagation see: "
8497 "I<Documentation/filesystems/sharedsubtree.txt> in the Linux kernel source "
8502 #: build/C/man5/proc.5:807
8504 msgid "I</proc/[pid]/mounts> (since Linux 2.4.19)"
8508 #: build/C/man5/proc.5:825
8510 "This is a list of all the filesystems currently mounted in the process's "
8511 "mount namespace. The format of this file is documented in B<fstab>(5). "
8512 "Since kernel version 2.6.15, this file is pollable: after opening the file "
8513 "for reading, a change in this file (i.e., a filesystem mount or unmount) "
8514 "causes B<select>(2) to mark the file descriptor as readable, and B<poll>(2) "
8515 "and B<epoll_wait>(2) mark the file as having an error condition. See "
8516 "B<namespaces>(7) for more information."
8520 #: build/C/man5/proc.5:825
8522 msgid "I</proc/[pid]/mountstats> (since Linux 2.6.17)"
8526 #: build/C/man5/proc.5:830
8528 "This file exports information (statistics, configuration information) about "
8529 "the mount points in the process's mount namespace. Lines in this file have "
8534 #: build/C/man5/proc.5:834
8537 "device /dev/sda7 mounted on /home with fstype ext3 [statistics]\n"
8538 "( 1 ) ( 2 ) (3 ) (4)\n"
8542 #: build/C/man5/proc.5:837 build/C/man5/proc.5:2805
8543 msgid "The fields in each line are:"
8547 #: build/C/man5/proc.5:842
8549 "The name of the mounted device (or \"nodevice\" if there is no corresponding "
8554 #: build/C/man5/proc.5:845
8555 msgid "The mount point within the filesystem tree."
8559 #: build/C/man5/proc.5:848
8560 msgid "The filesystem type."
8564 #: build/C/man5/proc.5:853
8566 "Optional statistics and configuration information. Currently (as at Linux "
8567 "2.6.26), only NFS filesystems export information via this field."
8571 #: build/C/man5/proc.5:856
8572 msgid "This file is readable only by the owner of the process."
8576 #: build/C/man5/proc.5:860
8577 msgid "See B<namespaces>(7) for more information."
8581 #: build/C/man5/proc.5:860
8583 msgid "I</proc/[pid]/ns/> (since Linux 3.0)"
8586 #. See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
8588 #: build/C/man5/proc.5:868
8590 "This is a subdirectory containing one entry for each namespace that supports "
8591 "being manipulated by B<setns>(2). For more information, see "
8596 #: build/C/man5/proc.5:869
8598 msgid "I</proc/[pid]/numa_maps> (since Linux 2.6.14)"
8602 #: build/C/man5/proc.5:873
8603 msgid "See B<numa>(7)."
8607 #: build/C/man5/proc.5:873
8609 msgid "I</proc/[pid]/oom_adj> (since Linux 2.6.11)"
8613 #: build/C/man5/proc.5:886
8615 "This file can be used to adjust the score used to select which process "
8616 "should be killed in an out-of-memory (OOM) situation. The kernel uses this "
8617 "value for a bit-shift operation of the process's I<oom_score> value: valid "
8618 "values are in the range -16 to +15, plus the special value -17, which "
8619 "disables OOM-killing altogether for this process. A positive score "
8620 "increases the likelihood of this process being killed by the OOM-killer; a "
8621 "negative score decreases the likelihood."
8625 #: build/C/man5/proc.5:894
8627 "The default value for this file is 0; a new process inherits its parent's "
8628 "I<oom_adj> setting. A process must be privileged (B<CAP_SYS_RESOURCE>) to "
8633 #: build/C/man5/proc.5:897
8635 "Since Linux 2.6.36, use of this file is deprecated in favor of "
8636 "I</proc/[pid]/oom_score_adj>."
8640 #: build/C/man5/proc.5:897
8642 msgid "I</proc/[pid]/oom_score> (since Linux 2.6.11)"
8645 #. See mm/oom_kill.c::badness() in the 2.6.25 sources
8646 #. See mm/oom_kill.c::badness() in the 2.6.25 sources
8648 #: build/C/man5/proc.5:908
8650 "This file displays the current score that the kernel gives to this process "
8651 "for the purpose of selecting a process for the OOM-killer. A higher score "
8652 "means that the process is more likely to be selected by the OOM-killer. The "
8653 "basis for this score is the amount of memory used by the process, with "
8654 "increases (+) or decreases (-) for factors including:"
8658 #: build/C/man5/proc.5:913
8659 msgid "whether the process creates a lot of children using B<fork>(2) (+);"
8663 #: build/C/man5/proc.5:916
8665 "whether the process has been running a long time, or has used a lot of CPU "
8670 #: build/C/man5/proc.5:918
8671 msgid "whether the process has a low nice value (i.e., E<gt> 0) (+);"
8674 #. More precisely, if it has CAP_SYS_ADMIN or CAP_SYS_RESOURCE
8676 #: build/C/man5/proc.5:921
8677 msgid "whether the process is privileged (-); and"
8680 #. More precisely, if it has CAP_SYS_RAWIO
8682 #: build/C/man5/proc.5:924
8683 msgid "whether the process is making direct hardware access (-)."
8687 #: build/C/man5/proc.5:933
8689 "The I<oom_score> also reflects the adjustment specified by the "
8690 "I<oom_score_adj> or I<oom_adj> setting for the process."
8694 #: build/C/man5/proc.5:933
8696 msgid "I</proc/[pid]/oom_score_adj> (since Linux 2.6.36)"
8699 #. Text taken from 3.7 Documentation/filesystems/proc.txt
8701 #: build/C/man5/proc.5:938
8703 "This file can be used to adjust the badness heuristic used to select which "
8704 "process gets killed in out-of-memory conditions."
8708 #: build/C/man5/proc.5:947
8710 "The badness heuristic assigns a value to each candidate task ranging from 0 "
8711 "(never kill) to 1000 (always kill) to determine which process is targeted. "
8712 "The units are roughly a proportion along that range of allowed memory the "
8713 "process may allocate from, based on an estimation of its current memory and "
8714 "swap use. For example, if a task is using all allowed memory, its badness "
8715 "score will be 1000. If it is using half of its allowed memory, its score "
8720 #: build/C/man5/proc.5:950
8722 "There is an additional factor included in the badness score: root processes "
8723 "are given 3% extra memory over other tasks."
8727 #: build/C/man5/proc.5:964
8729 "The amount of \"allowed\" memory depends on the context in which the "
8730 "OOM-killer was called. If it is due to the memory assigned to the "
8731 "allocating task's cpuset being exhausted, the allowed memory represents the "
8732 "set of mems assigned to that cpuset (see B<cpuset>(7)). If it is due to a "
8733 "mempolicy's node(s) being exhausted, the allowed memory represents the set "
8734 "of mempolicy nodes. If it is due to a memory limit (or swap limit) being "
8735 "reached, the allowed memory is that configured limit. Finally, if it is due "
8736 "to the entire system being out of memory, the allowed memory represents all "
8737 "allocatable resources."
8741 #: build/C/man5/proc.5:977
8743 "The value of I<oom_score_adj> is added to the badness score before it is "
8744 "used to determine which task to kill. Acceptable values range from -1000 "
8745 "(OOM_SCORE_ADJ_MIN) to +1000 (OOM_SCORE_ADJ_MAX). This allows user space to "
8746 "control the preference for OOM-killing, ranging from always preferring a "
8747 "certain task or completely disabling it from OOM killing. The lowest "
8748 "possible value, -1000, is equivalent to disabling OOM-killing entirely for "
8749 "that task, since it will always report a badness score of 0."
8753 #: build/C/man5/proc.5:989
8755 "Consequently, it is very simple for user space to define the amount of "
8756 "memory to consider for each task. Setting a I<oom_score_adj> value of +500, "
8757 "for example, is roughly equivalent to allowing the remainder of tasks "
8758 "sharing the same system, cpuset, mempolicy, or memory controller resources "
8759 "to use at least 50% more memory. A value of -500, on the other hand, would "
8760 "be roughly equivalent to discounting 50% of the task's allowed memory from "
8761 "being considered as scoring against the task."
8765 #: build/C/man5/proc.5:996
8767 "For backward compatibility with previous kernels, I</proc/[pid]/oom_adj> can "
8768 "still be used to tune the badness score. Its value is scaled linearly with "
8773 #: build/C/man5/proc.5:1002
8775 "Writing to I</proc/[pid]/oom_score_adj> or I</proc/[pid]/oom_adj> will "
8776 "change the other with its scaled value."
8780 #: build/C/man5/proc.5:1002
8782 msgid "I</proc/[pid]/pagemap> (since Linux 2.6.25)"
8786 #: build/C/man5/proc.5:1008
8788 "This file shows the mapping of each of the process's virtual pages into "
8789 "physical page frames or swap area. It contains one 64-bit value for each "
8790 "virtual page, with the bits set as follows:"
8794 #: build/C/man5/proc.5:1009
8800 #: build/C/man5/proc.5:1012
8801 msgid "If set, the page is present in RAM."
8805 #: build/C/man5/proc.5:1012
8811 #: build/C/man5/proc.5:1015
8812 msgid "If set, the page is in swap space"
8816 #: build/C/man5/proc.5:1015
8818 msgid "61 (since Linux 3.5)"
8822 #: build/C/man5/proc.5:1018
8823 msgid "The page is a file-mapped page or a shared anonymous page."
8827 #: build/C/man5/proc.5:1018
8829 msgid "60-56 (since Linux 3.11)"
8832 #. Not quite true; see commit 541c237c0923f567c9c4cabb8a81635baadc713f
8834 #: build/C/man5/proc.5:1022
8839 #: build/C/man5/proc.5:1022
8841 msgid "55 (Since Linux 3.11)"
8845 #: build/C/man5/proc.5:1027
8847 "PTE is soft-dirty (see the kernel source file "
8848 "I<Documentation/vm/soft-dirty.txt>)."
8852 #: build/C/man5/proc.5:1027
8858 #: build/C/man5/proc.5:1036
8860 "If the page is present in RAM (bit 63), then these bits provide the page "
8861 "frame number, which can be used to index I</proc/kpageflags> and "
8862 "I</proc/kpagecount>. If the page is present in swap (bit 62), then bits 4-0 "
8863 "give the swap type, and bits 54-5 encode the swap offset."
8867 #: build/C/man5/proc.5:1040
8869 "Before Linux 3.11, bits 60-55 were used to encode the base-2 log of the page "
8874 #: build/C/man5/proc.5:1047
8876 "To employ I</proc/[pid]/pagemap> efficiently, use I</proc/[pid]/maps> to "
8877 "determine which areas of memory are actually mapped and seek to skip over "
8882 #: build/C/man5/proc.5:1053
8884 "The I</proc/[pid]/pagemap> file is present only if the "
8885 "B<CONFIG_PROC_PAGE_MONITOR> kernel configuration option is enabled."
8889 #: build/C/man5/proc.5:1053
8891 msgid "I</proc/[pid]/personality> (since Linux 2.6.28)"
8894 #. commit 478307230810d7e2a753ed220db9066dfdf88718
8896 #: build/C/man5/proc.5:1059
8898 "This read-only file exposes the process's execution domain, as set by "
8899 "B<personality>(2). The value is displayed in hexadecimal notation."
8903 #: build/C/man5/proc.5:1059
8905 msgid "I</proc/[pid]/root>"
8909 #: build/C/man5/proc.5:1070
8911 "UNIX and Linux support the idea of a per-process root of the filesystem, set "
8912 "by the B<chroot>(2) system call. This file is a symbolic link that points "
8913 "to the process's root directory, and behaves in the same way as I<exe>, and "
8918 #: build/C/man5/proc.5:1099
8920 msgid "I</proc/[pid]/smaps> (since Linux 2.6.14)"
8924 #: build/C/man5/proc.5:1107
8926 "This file shows memory consumption for each of the process's mappings. (The "
8927 "B<pmap>(1) command displays similar information, in a form that may be "
8928 "easier for parsing.) For each mapping there is a series of lines such as "
8933 #: build/C/man5/proc.5:1125
8936 "00400000-0048a000 r-xp 00000000 fd:03 960637 /bin/bash\n"
8940 "Shared_Clean: 452 kB\n"
8941 "Shared_Dirty: 0 kB\n"
8942 "Private_Clean: 8 kB\n"
8943 "Private_Dirty: 0 kB\n"
8944 "Referenced: 460 kB\n"
8946 "AnonHugePages: 0 kB\n"
8948 "KernelPageSize: 4 kB\n"
8949 "MMUPageSize: 4 kB\n"
8954 #: build/C/man5/proc.5:1142
8956 "The first of these lines shows the same information as is displayed for the "
8957 "mapping in I</proc/[pid]/maps>. The remaining lines show the size of the "
8958 "mapping, the amount of the mapping that is currently resident in RAM "
8959 "(\"Rss\"), the process' proportional share of this mapping (\"Pss\"), the "
8960 "number of clean and dirty shared pages in the mapping, and the number of "
8961 "clean and dirty private pages in the mapping. \"Referenced\" indicates the "
8962 "amount of memory currently marked as referenced or accessed. \"Anonymous\" "
8963 "shows the amount of memory that does not belong to any file. \"Swap\" shows "
8964 "how much would-be-anonymous memory is also used, but out on swap."
8968 #: build/C/man5/proc.5:1150
8970 "The \"KernelPageSize\" entry is the page size used by the kernel to back a "
8971 "VMA. This matches the size used by the MMU in the majority of cases. "
8972 "However, one counter-example occurs on PPC64 kernels whereby a kernel using "
8973 "64K as a base page size may still use 4K pages for the MMU on older "
8974 "processors. To distinguish, this patch reports \"MMUPageSize\" as the page "
8975 "size used by the MMU."
8979 #: build/C/man5/proc.5:1153
8980 msgid "The \"Locked\" indicates whether the mapping is locked in memory or not."
8984 #: build/C/man5/proc.5:1157
8986 "\"VmFlags\" field represents the kernel flags associated with the particular "
8987 "virtual memory area in two letter encoded manner. The codes are the "
8992 #: build/C/man5/proc.5:1186
8997 " ex - executable\n"
9001 " me - may execute\n"
9003 " gd - stack segment grows down\n"
9004 " pf - pure PFN range\n"
9005 " dw - disabled write to the mapped file\n"
9006 " lo - pages are locked in memory\n"
9007 " io - memory mapped I/O area\n"
9008 " sr - sequential read advise provided\n"
9009 " rr - random read advise provided\n"
9010 " dc - do not copy area on fork\n"
9011 " de - do not expand area on remapping\n"
9012 " ac - area is accountable\n"
9013 " nr - swap space is not reserved for the area\n"
9014 " ht - area uses huge tlb pages\n"
9015 " nl - non-linear mapping\n"
9016 " ar - architecture specific flag\n"
9017 " dd - do not include area into core dump\n"
9018 " sd - soft-dirty flag\n"
9019 " mm - mixed map area\n"
9020 " hg - huge page advise flag\n"
9021 " nh - no-huge page advise flag\n"
9022 " mg - mergeable advise flag\n"
9026 #: build/C/man5/proc.5:1192
9028 "The I</proc/[pid]/smaps> file is present only if the "
9029 "B<CONFIG_PROC_PAGE_MONITOR> kernel configuration option is enabled."
9033 #: build/C/man5/proc.5:1192
9035 msgid "I</proc/[pid]/stack> (since Linux 2.6.29)"
9038 #. 2ec220e27f5040aec1e88901c1b6ea3d135787ad
9040 #: build/C/man5/proc.5:1200
9042 "This file provides a symbolic trace of the function calls in this process's "
9043 "kernel stack. This file is provided only if the kernel was built with the "
9044 "B<CONFIG_STACKTRACE> configuration option."
9048 #: build/C/man5/proc.5:1200
9050 msgid "I</proc/[pid]/stat>"
9054 #: build/C/man5/proc.5:1207
9056 "Status information about the process. This is used by B<ps>(1). It is "
9057 "defined in the kernel source file I<fs/proc/array.c>."
9061 #: build/C/man5/proc.5:1211
9062 msgid "The fields, in order, with their proper B<scanf>(3) format specifiers, are:"
9066 #: build/C/man5/proc.5:1212
9068 msgid "(1) I<pid> \\ %d"
9072 #: build/C/man5/proc.5:1216
9073 msgid "The process ID."
9077 #: build/C/man5/proc.5:1216
9079 msgid "(2) I<comm> \\ %s"
9083 #: build/C/man5/proc.5:1220
9085 "The filename of the executable, in parentheses. This is visible whether or "
9086 "not the executable is swapped out."
9090 #: build/C/man5/proc.5:1220
9092 msgid "(3) I<state> \\ %c"
9096 #: build/C/man5/proc.5:1223
9097 msgid "One of the following characters, indicating process state:"
9101 #: build/C/man5/proc.5:1224
9107 #: build/C/man5/proc.5:1226
9112 #: build/C/man5/proc.5:1226
9118 #: build/C/man5/proc.5:1228
9119 msgid "Sleeping in an interruptible wait"
9123 #: build/C/man5/proc.5:1228
9129 #: build/C/man5/proc.5:1231
9130 msgid "Waiting in uninterruptible disk sleep"
9134 #: build/C/man5/proc.5:1231
9140 #: build/C/man5/proc.5:1233
9145 #: build/C/man5/proc.5:1233
9151 #: build/C/man5/proc.5:1235
9152 msgid "Stopped (on a signal) or (before Linux 2.6.33) trace stopped"
9156 #: build/C/man5/proc.5:1235
9161 #. commit 44d90df6b757c59651ddd55f1a84f28132b50d29
9163 #: build/C/man5/proc.5:1238
9164 msgid "Tracing stop (Linux 2.6.33 onward)"
9168 #: build/C/man5/proc.5:1238 build/C/man5/proc.5:1252
9174 #: build/C/man5/proc.5:1240
9175 msgid "Paging (only before Linux 2.6.0)"
9179 #: build/C/man5/proc.5:1240
9185 #: build/C/man5/proc.5:1242
9186 msgid "Dead (from Linux 2.6.0 onward)"
9190 #: build/C/man5/proc.5:1242
9195 #. commit 44d90df6b757c59651ddd55f1a84f28132b50d29
9196 #. commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
9198 #: build/C/man5/proc.5:1247
9199 msgid "Dead (Linux 2.6.33 to 3.13 only)"
9203 #: build/C/man5/proc.5:1247
9208 #. commit 44d90df6b757c59651ddd55f1a84f28132b50d29
9209 #. commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
9211 #: build/C/man5/proc.5:1252
9212 msgid "Wakekill (Linux 2.6.33 to 3.13 only)"
9215 #. commit 44d90df6b757c59651ddd55f1a84f28132b50d29
9216 #. commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
9218 #: build/C/man5/proc.5:1257
9219 msgid "Waking (Linux 2.6.33 to 3.13 only)"
9223 #: build/C/man5/proc.5:1257
9228 #. commit f2530dc71cf0822f90bb63ea4600caaef33a66bb
9229 #. commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
9231 #: build/C/man5/proc.5:1262
9232 msgid "Parked (Linux 3.9 to 3.13 only)"
9236 #: build/C/man5/proc.5:1263
9238 msgid "(4) I<ppid> \\ %d"
9242 #: build/C/man5/proc.5:1266
9243 msgid "The PID of the parent of this process."
9247 #: build/C/man5/proc.5:1266
9249 msgid "(5) I<pgrp> \\ %d"
9253 #: build/C/man5/proc.5:1269
9254 msgid "The process group ID of the process."
9258 #: build/C/man5/proc.5:1269
9260 msgid "(6) I<session> \\ %d"
9264 #: build/C/man5/proc.5:1272
9265 msgid "The session ID of the process."
9269 #: build/C/man5/proc.5:1272
9271 msgid "(7) I<tty_nr> \\ %d"
9275 #: build/C/man5/proc.5:1278
9277 "The controlling terminal of the process. (The minor device number is "
9278 "contained in the combination of bits 31 to 20 and 7 to 0; the major device "
9279 "number is in bits 15 to 8.)"
9283 #: build/C/man5/proc.5:1278
9285 msgid "(8) I<tpgid> \\ %d"
9288 #. This field and following, up to and including wchan added 0.99.1
9290 #: build/C/man5/proc.5:1283
9292 "The ID of the foreground process group of the controlling terminal of the "
9297 #: build/C/man5/proc.5:1283
9299 msgid "(9) I<flags> \\ %u"
9303 #: build/C/man5/proc.5:1290
9305 "The kernel flags word of the process. For bit meanings, see the PF_* "
9306 "defines in the Linux kernel source file I<include/linux/sched.h>. Details "
9307 "depend on the kernel version."
9311 #: build/C/man5/proc.5:1292 build/C/man5/proc.5:1394
9312 msgid "The format for this field was %lu before Linux 2.6."
9316 #: build/C/man5/proc.5:1292
9318 msgid "(10) I<minflt> \\ %lu"
9322 #: build/C/man5/proc.5:1296
9324 "The number of minor faults the process has made which have not required "
9325 "loading a memory page from disk."
9329 #: build/C/man5/proc.5:1296
9331 msgid "(11) I<cminflt> \\ %lu"
9335 #: build/C/man5/proc.5:1300
9336 msgid "The number of minor faults that the process's waited-for children have made."
9340 #: build/C/man5/proc.5:1300
9342 msgid "(12) I<majflt> \\ %lu"
9346 #: build/C/man5/proc.5:1304
9348 "The number of major faults the process has made which have required loading "
9349 "a memory page from disk."
9353 #: build/C/man5/proc.5:1304
9355 msgid "(13) I<cmajflt> \\ %lu"
9359 #: build/C/man5/proc.5:1308
9360 msgid "The number of major faults that the process's waited-for children have made."
9364 #: build/C/man5/proc.5:1308
9366 msgid "(14) I<utime> \\ %lu"
9370 #: build/C/man5/proc.5:1317
9372 "Amount of time that this process has been scheduled in user mode, measured "
9373 "in clock ticks (divide by I<sysconf(_SC_CLK_TCK)>). This includes guest "
9374 "time, I<guest_time> (time spent running a virtual CPU, see below), so that "
9375 "applications that are not aware of the guest time field do not lose that "
9376 "time from their calculations."
9380 #: build/C/man5/proc.5:1317
9382 msgid "(15) I<stime> \\ %lu"
9386 #: build/C/man5/proc.5:1322
9388 "Amount of time that this process has been scheduled in kernel mode, measured "
9389 "in clock ticks (divide by I<sysconf(_SC_CLK_TCK)>)."
9393 #: build/C/man5/proc.5:1322
9395 msgid "(16) I<cutime> \\ %ld"
9399 #: build/C/man5/proc.5:1332
9401 "Amount of time that this process's waited-for children have been scheduled "
9402 "in user mode, measured in clock ticks (divide by I<sysconf(_SC_CLK_TCK)>). "
9403 "(See also B<times>(2).) This includes guest time, I<cguest_time> (time "
9404 "spent running a virtual CPU, see below)."
9408 #: build/C/man5/proc.5:1332
9410 msgid "(17) I<cstime> \\ %ld"
9414 #: build/C/man5/proc.5:1338
9416 "Amount of time that this process's waited-for children have been scheduled "
9417 "in kernel mode, measured in clock ticks (divide by I<sysconf(_SC_CLK_TCK)>)."
9421 #: build/C/man5/proc.5:1338
9423 msgid "(18) I<priority> \\ %ld"
9427 #: build/C/man5/proc.5:1355
9429 "(Explanation for Linux 2.6) For processes running a real-time scheduling "
9430 "policy (I<policy> below; see B<sched_setscheduler>(2)), this is the negated "
9431 "scheduling priority, minus one; that is, a number in the range -2 to -100, "
9432 "corresponding to real-time priorities 1 to 99. For processes running under "
9433 "a non-real-time scheduling policy, this is the raw nice value "
9434 "(B<setpriority>(2)) as represented in the kernel. The kernel stores nice "
9435 "values as numbers in the range 0 (high) to 39 (low), corresponding to the "
9436 "user-visible nice range of -20 to 19."
9439 #. And back in kernel 1.2 days things were different again.
9441 #: build/C/man5/proc.5:1359
9443 "Before Linux 2.6, this was a scaled value based on the scheduler weighting "
9444 "given to this process."
9448 #: build/C/man5/proc.5:1359
9450 msgid "(19) I<nice> \\ %ld"
9453 #. Back in kernel 1.2 days things were different.
9455 #. \fIcounter\fP %ld
9456 #. The current maximum size in jiffies of the process's next timeslice,
9457 #. or what is currently left of its current timeslice, if it is the
9458 #. currently running process.
9461 #. The time in jiffies of the process's next timeout.
9462 #. timeout was removed sometime around 2.1/2.2
9464 #: build/C/man5/proc.5:1374
9466 "The nice value (see B<setpriority>(2)), a value in the range 19 (low "
9467 "priority) to -20 (high priority)."
9471 #: build/C/man5/proc.5:1374
9473 msgid "(20) I<num_threads> \\ %ld"
9477 #: build/C/man5/proc.5:1379
9479 "Number of threads in this process (since Linux 2.6). Before kernel 2.6, "
9480 "this field was hard coded to 0 as a placeholder for an earlier removed "
9485 #: build/C/man5/proc.5:1379
9487 msgid "(21) I<itrealvalue> \\ %ld"
9491 #: build/C/man5/proc.5:1386
9493 "The time in jiffies before the next B<SIGALRM> is sent to the process due to "
9494 "an interval timer. Since kernel 2.6.17, this field is no longer maintained, "
9495 "and is hard coded as 0."
9499 #: build/C/man5/proc.5:1386
9501 msgid "(22) I<starttime> \\ %llu"
9505 #: build/C/man5/proc.5:1392
9507 "The time the process started after system boot. In kernels before Linux "
9508 "2.6, this value was expressed in jiffies. Since Linux 2.6, the value is "
9509 "expressed in clock ticks (divide by I<sysconf(_SC_CLK_TCK)>)."
9513 #: build/C/man5/proc.5:1394
9515 msgid "(23) I<vsize> \\ %lu"
9519 #: build/C/man5/proc.5:1397
9520 msgid "Virtual memory size in bytes."
9524 #: build/C/man5/proc.5:1397
9526 msgid "(24) I<rss> \\ %ld"
9530 #: build/C/man5/proc.5:1404
9532 "Resident Set Size: number of pages the process has in real memory. This is "
9533 "just the pages which count toward text, data, or stack space. This does not "
9534 "include pages which have not been demand-loaded in, or which are swapped "
9539 #: build/C/man5/proc.5:1404
9541 msgid "(25) I<rsslim> \\ %lu"
9545 #: build/C/man5/proc.5:1411
9547 "Current soft limit in bytes on the rss of the process; see the description "
9548 "of B<RLIMIT_RSS> in B<getrlimit>(2)."
9552 #: build/C/man5/proc.5:1411
9554 msgid "(26) I<startcode> \\ %lu"
9558 #: build/C/man5/proc.5:1414
9559 msgid "The address above which program text can run."
9563 #: build/C/man5/proc.5:1414
9565 msgid "(27) I<endcode> \\ %lu"
9569 #: build/C/man5/proc.5:1417
9570 msgid "The address below which program text can run."
9574 #: build/C/man5/proc.5:1417
9576 msgid "(28) I<startstack> \\ %lu"
9580 #: build/C/man5/proc.5:1420
9581 msgid "The address of the start (i.e., bottom) of the stack."
9585 #: build/C/man5/proc.5:1420
9587 msgid "(29) I<kstkesp> \\ %lu"
9591 #: build/C/man5/proc.5:1424
9593 "The current value of ESP (stack pointer), as found in the kernel stack page "
9598 #: build/C/man5/proc.5:1424
9600 msgid "(30) I<kstkeip> \\ %lu"
9604 #: build/C/man5/proc.5:1427
9605 msgid "The current EIP (instruction pointer)."
9609 #: build/C/man5/proc.5:1427
9611 msgid "(31) I<signal> \\ %lu"
9615 #: build/C/man5/proc.5:1433
9617 "The bitmap of pending signals, displayed as a decimal number. Obsolete, "
9618 "because it does not provide information on real-time signals; use "
9619 "I</proc/[pid]/status> instead."
9623 #: build/C/man5/proc.5:1433
9625 msgid "(32) I<blocked> \\ %lu"
9629 #: build/C/man5/proc.5:1439
9631 "The bitmap of blocked signals, displayed as a decimal number. Obsolete, "
9632 "because it does not provide information on real-time signals; use "
9633 "I</proc/[pid]/status> instead."
9637 #: build/C/man5/proc.5:1439
9639 msgid "(33) I<sigignore> \\ %lu"
9643 #: build/C/man5/proc.5:1445
9645 "The bitmap of ignored signals, displayed as a decimal number. Obsolete, "
9646 "because it does not provide information on real-time signals; use "
9647 "I</proc/[pid]/status> instead."
9651 #: build/C/man5/proc.5:1445
9653 msgid "(34) I<sigcatch> \\ %lu"
9657 #: build/C/man5/proc.5:1451
9659 "The bitmap of caught signals, displayed as a decimal number. Obsolete, "
9660 "because it does not provide information on real-time signals; use "
9661 "I</proc/[pid]/status> instead."
9665 #: build/C/man5/proc.5:1451
9667 msgid "(35) I<wchan> \\ %lu"
9671 #: build/C/man5/proc.5:1457
9673 "This is the \"channel\" in which the process is waiting. It is the address "
9674 "of a location in the kernel where the process is sleeping. The "
9675 "corresponding symbolic name can be found in I</proc/[pid]/wchan>."
9679 #: build/C/man5/proc.5:1457
9681 msgid "(36) I<nswap> \\ %lu"
9684 #. nswap was added in 2.0
9686 #: build/C/man5/proc.5:1461
9687 msgid "Number of pages swapped (not maintained)."
9691 #: build/C/man5/proc.5:1461
9693 msgid "(37) I<cnswap> \\ %lu"
9696 #. cnswap was added in 2.0
9698 #: build/C/man5/proc.5:1465
9699 msgid "Cumulative I<nswap> for child processes (not maintained)."
9703 #: build/C/man5/proc.5:1465
9705 msgid "(38) I<exit_signal> \\ %d \\ (since Linux 2.1.22)"
9709 #: build/C/man5/proc.5:1468
9710 msgid "Signal to be sent to parent when we die."
9714 #: build/C/man5/proc.5:1468
9716 msgid "(39) I<processor> \\ %d \\ (since Linux 2.2.8)"
9720 #: build/C/man5/proc.5:1471
9721 msgid "CPU number last executed on."
9725 #: build/C/man5/proc.5:1471
9727 msgid "(40) I<rt_priority> \\ %u \\ (since Linux 2.5.19)"
9731 #: build/C/man5/proc.5:1477
9733 "Real-time scheduling priority, a number in the range 1 to 99 for processes "
9734 "scheduled under a real-time policy, or 0, for non-real-time processes (see "
9735 "B<sched_setscheduler>(2))."
9739 #: build/C/man5/proc.5:1477
9741 msgid "(41) I<policy> \\ %u \\ (since Linux 2.5.19)"
9745 #: build/C/man5/proc.5:1483
9747 "Scheduling policy (see B<sched_setscheduler>(2)). Decode using the SCHED_* "
9748 "constants in I<linux/sched.h>."
9752 #: build/C/man5/proc.5:1485
9753 msgid "The format for this field was %lu before Linux 2.6.22."
9757 #: build/C/man5/proc.5:1485
9759 msgid "(42) I<delayacct_blkio_ticks> \\ %llu \\ (since Linux 2.6.18)"
9763 #: build/C/man5/proc.5:1488
9764 msgid "Aggregated block I/O delays, measured in clock ticks (centiseconds)."
9768 #: build/C/man5/proc.5:1488
9770 msgid "(43) I<guest_time> \\ %lu \\ (since Linux 2.6.24)"
9774 #: build/C/man5/proc.5:1493
9776 "Guest time of the process (time spent running a virtual CPU for a guest "
9777 "operating system), measured in clock ticks (divide by "
9778 "I<sysconf(_SC_CLK_TCK)>)."
9782 #: build/C/man5/proc.5:1493
9784 msgid "(44) I<cguest_time> \\ %ld \\ (since Linux 2.6.24)"
9788 #: build/C/man5/proc.5:1497
9790 "Guest time of the process's children, measured in clock ticks (divide by "
9791 "I<sysconf(_SC_CLK_TCK)>)."
9795 #: build/C/man5/proc.5:1497
9797 msgid "(45) I<start_data> \\ %lu \\ (since Linux 3.3)"
9800 #. commit b3f7f573a20081910e34e99cbc91831f4f02f1ff
9802 #: build/C/man5/proc.5:1502
9804 "Address above which program initialized and uninitialized (BSS) data are "
9809 #: build/C/man5/proc.5:1502
9811 msgid "(46) I<end_data> \\ %lu \\ (since Linux 3.3)"
9814 #. commit b3f7f573a20081910e34e99cbc91831f4f02f1ff
9816 #: build/C/man5/proc.5:1507
9818 "Address below which program initialized and uninitialized (BSS) data are "
9823 #: build/C/man5/proc.5:1507
9825 msgid "(47) I<start_brk> \\ %lu \\ (since Linux 3.3)"
9828 #. commit b3f7f573a20081910e34e99cbc91831f4f02f1ff
9830 #: build/C/man5/proc.5:1512
9831 msgid "Address above which program heap can be expanded with B<brk>(2)."
9835 #: build/C/man5/proc.5:1512
9837 msgid "(48) I<arg_start> \\ %lu \\ (since Linux 3.5)"
9840 #. commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
9842 #: build/C/man5/proc.5:1518
9843 msgid "Address above which program command-line arguments (I<argv>) are placed."
9847 #: build/C/man5/proc.5:1518
9849 msgid "(49) I<arg_end> \\ %lu \\ (since Linux 3.5)"
9852 #. commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
9854 #: build/C/man5/proc.5:1524
9855 msgid "Address below program command-line arguments (I<argv>) are placed."
9859 #: build/C/man5/proc.5:1524
9861 msgid "(50) I<env_start> \\ %lu \\ (since Linux 3.5)"
9864 #. commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
9866 #: build/C/man5/proc.5:1528
9867 msgid "Address above which program environment is placed."
9871 #: build/C/man5/proc.5:1528
9873 msgid "(51) I<env_end> \\ %lu \\ (since Linux 3.5)"
9876 #. commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
9878 #: build/C/man5/proc.5:1532
9879 msgid "Address below which program environment is placed."
9883 #: build/C/man5/proc.5:1532
9885 msgid "(52) I<exit_code> \\ %d \\ (since Linux 3.5)"
9888 #. commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
9890 #: build/C/man5/proc.5:1537
9891 msgid "The thread's exit status in the form reported by B<waitpid>(2)."
9895 #: build/C/man5/proc.5:1538
9897 msgid "I</proc/[pid]/statm>"
9901 #: build/C/man5/proc.5:1542
9903 "Provides information about memory usage, measured in pages. The columns "
9907 #. (not including libs; broken, includes data segment)
9908 #. (including libs; broken, includes library text)
9910 #: build/C/man5/proc.5:1556
9913 "size (1) total program size\n"
9914 " (same as VmSize in I</proc/[pid]/status>)\n"
9915 "resident (2) resident set size\n"
9916 " (same as VmRSS in I</proc/[pid]/status>)\n"
9917 "share (3) shared pages (i.e., backed by a file)\n"
9918 "text (4) text (code)\n"
9919 "lib (5) library (unused in Linux 2.6)\n"
9920 "data (6) data + stack\n"
9921 "dt (7) dirty pages (unused in Linux 2.6)\n"
9925 #: build/C/man5/proc.5:1558
9927 msgid "I</proc/[pid]/status>"
9931 #: build/C/man5/proc.5:1566
9933 "Provides much of the information in I</proc/[pid]/stat> and "
9934 "I</proc/[pid]/statm> in a format that's easier for humans to parse. Here's "
9939 #: build/C/man5/proc.5:1609
9942 "$B< cat /proc/$$/status>\n"
9944 "State: S (sleeping)\n"
9949 "Uid: 1000 1000 1000 1000\n"
9950 "Gid: 100 100 100 100\n"
9952 "Groups: 16 33 100\n"
9966 "SigPnd: 0000000000000000\n"
9967 "ShdPnd: 0000000000000000\n"
9968 "SigBlk: 0000000000010000\n"
9969 "SigIgn: 0000000000384004\n"
9970 "SigCgt: 000000004b813efb\n"
9971 "CapInh: 0000000000000000\n"
9972 "CapPrm: 0000000000000000\n"
9973 "CapEff: 0000000000000000\n"
9974 "CapBnd: ffffffffffffffff\n"
9976 "Cpus_allowed: 00000001\n"
9977 "Cpus_allowed_list: 0\n"
9979 "Mems_allowed_list: 0\n"
9980 "voluntary_ctxt_switches: 150\n"
9981 "nonvoluntary_ctxt_switches: 545\n"
9985 #: build/C/man5/proc.5:1617
9986 msgid "I<Name>: Command run by this process."
9990 #: build/C/man5/proc.5:1629
9992 "I<State>: Current state of the process. One of \"R (running)\", \"S "
9993 "(sleeping)\", \"D (disk sleep)\", \"T (stopped)\", \"T (tracing stop)\", \"Z "
9994 "(zombie)\", or \"X (dead)\"."
9998 #: build/C/man5/proc.5:1632
9999 msgid "I<Tgid>: Thread group ID (i.e., Process ID)."
10002 #. type: Plain text
10003 #: build/C/man5/proc.5:1636
10004 msgid "I<Pid>: Thread ID (see B<gettid>(2))."
10007 #. type: Plain text
10008 #: build/C/man5/proc.5:1639
10009 msgid "I<PPid>: PID of parent process."
10012 #. type: Plain text
10013 #: build/C/man5/proc.5:1642
10014 msgid "I<TracerPid>: PID of process tracing this process (0 if not being traced)."
10017 #. type: Plain text
10018 #: build/C/man5/proc.5:1645
10019 msgid "I<Uid>, I<Gid>: Real, effective, saved set, and filesystem UIDs (GIDs)."
10022 #. type: Plain text
10023 #: build/C/man5/proc.5:1648
10024 msgid "I<FDSize>: Number of file descriptor slots currently allocated."
10027 #. type: Plain text
10028 #: build/C/man5/proc.5:1651
10029 msgid "I<Groups>: Supplementary group list."
10032 #. type: Plain text
10033 #: build/C/man5/proc.5:1654
10034 msgid "I<VmPeak>: Peak virtual memory size."
10037 #. type: Plain text
10038 #: build/C/man5/proc.5:1657
10039 msgid "I<VmSize>: Virtual memory size."
10042 #. type: Plain text
10043 #: build/C/man5/proc.5:1661
10044 msgid "I<VmLck>: Locked memory size (see B<mlock>(3))."
10047 #. type: Plain text
10048 #: build/C/man5/proc.5:1664
10049 msgid "I<VmHWM>: Peak resident set size (\"high water mark\")."
10052 #. type: Plain text
10053 #: build/C/man5/proc.5:1667
10054 msgid "I<VmRSS>: Resident set size."
10057 #. type: Plain text
10058 #: build/C/man5/proc.5:1670
10059 msgid "I<VmData>, I<VmStk>, I<VmExe>: Size of data, stack, and text segments."
10062 #. type: Plain text
10063 #: build/C/man5/proc.5:1673
10064 msgid "I<VmLib>: Shared library code size."
10067 #. type: Plain text
10068 #: build/C/man5/proc.5:1676
10069 msgid "I<VmPTE>: Page table entries size (since Linux 2.6.10)."
10072 #. commit b084d4353ff99d824d3bc5a5c2c22c70b1fba722
10073 #. type: Plain text
10074 #: build/C/man5/proc.5:1680
10075 msgid "I<VmSwap>: Swapped-out virtual memory size (since Linux 2.6.34)."
10078 #. type: Plain text
10079 #: build/C/man5/proc.5:1683
10080 msgid "I<Threads>: Number of threads in process containing this thread."
10083 #. type: Plain text
10084 #: build/C/man5/proc.5:1694
10086 "I<SigQ>: This field contains two slash-separated numbers that relate to "
10087 "queued signals for the real user ID of this process. The first of these is "
10088 "the number of currently queued signals for this real user ID, and the second "
10089 "is the resource limit on the number of queued signals for this process (see "
10090 "the description of B<RLIMIT_SIGPENDING> in B<getrlimit>(2))."
10093 #. type: Plain text
10094 #: build/C/man5/proc.5:1700
10096 "I<SigPnd>, I<ShdPnd>: Number of signals pending for thread and for process "
10097 "as a whole (see B<pthreads>(7) and B<signal>(7))."
10100 #. type: Plain text
10101 #: build/C/man5/proc.5:1704
10103 "I<SigBlk>, I<SigIgn>, I<SigCgt>: Masks indicating signals being blocked, "
10104 "ignored, and caught (see B<signal>(7))."
10107 #. type: Plain text
10108 #: build/C/man5/proc.5:1709
10110 "I<CapInh>, I<CapPrm>, I<CapEff>: Masks of capabilities enabled in "
10111 "inheritable, permitted, and effective sets (see B<capabilities>(7))."
10114 #. type: Plain text
10115 #: build/C/man5/proc.5:1714
10117 "I<CapBnd>: Capability Bounding set (since Linux 2.6.26, see "
10118 "B<capabilities>(7))."
10121 #. commit 2f4b3bf6b2318cfaa177ec5a802f4d8d6afbd816
10122 #. type: Plain text
10123 #: build/C/man5/proc.5:1729
10125 "I<Seccomp>: Seccomp mode of the process (since Linux 3.8, see "
10126 "B<seccomp>(2)). 0 means B<SECCOMP_MODE_DISABLED>; 1 means "
10127 "B<SECCOMP_MODE_STRICT>; 2 means B<SECCOMP_MODE_FILTER>. This field is "
10128 "provided only if the kernel was built with the B<CONFIG_SECCOMP> kernel "
10129 "configuration option enabled."
10132 #. type: Plain text
10133 #: build/C/man5/proc.5:1734
10135 "I<Cpus_allowed>: Mask of CPUs on which this process may run (since Linux "
10136 "2.6.24, see B<cpuset>(7))."
10139 #. type: Plain text
10140 #: build/C/man5/proc.5:1739
10142 "I<Cpus_allowed_list>: Same as previous, but in \"list format\" (since Linux "
10143 "2.6.26, see B<cpuset>(7))."
10146 #. type: Plain text
10147 #: build/C/man5/proc.5:1744
10149 "I<Mems_allowed>: Mask of memory nodes allowed to this process (since Linux "
10150 "2.6.24, see B<cpuset>(7))."
10153 #. type: Plain text
10154 #: build/C/man5/proc.5:1749
10156 "I<Mems_allowed_list>: Same as previous, but in \"list format\" (since Linux "
10157 "2.6.26, see B<cpuset>(7))."
10160 #. type: Plain text
10161 #: build/C/man5/proc.5:1752
10163 "I<voluntary_ctxt_switches>, I<nonvoluntary_ctxt_switches>: Number of "
10164 "voluntary and involuntary context switches (since Linux 2.6.23)."
10168 #: build/C/man5/proc.5:1753
10170 msgid "I</proc/[pid]/syscall> (since Linux 2.6.27)"
10173 #. commit ebcb67341fee34061430f3367f2e507e52ee051b
10174 #. type: Plain text
10175 #: build/C/man5/proc.5:1761
10177 "This file exposes the system call number and argument registers for the "
10178 "system call currently being executed by the process, followed by the values "
10179 "of the stack pointer and program counter registers. The values of all six "
10180 "argument registers are exposed, although most system calls use fewer "
10184 #. type: Plain text
10185 #: build/C/man5/proc.5:1766
10187 "If the process is blocked, but not in a system call, then the file displays "
10188 "-1 in place of the system call number, followed by just the values of the "
10189 "stack pointer and program counter. If process is not blocked, then file "
10190 "contains just the string \"running\"."
10193 #. type: Plain text
10194 #: build/C/man5/proc.5:1769
10196 "This file is present only if the kernel was configured with "
10197 "B<CONFIG_HAVE_ARCH_TRACEHOOK>."
10201 #: build/C/man5/proc.5:1769
10203 msgid "I</proc/[pid]/task> (since Linux 2.6.0-test6)"
10206 #. type: Plain text
10207 #: build/C/man5/proc.5:1800
10209 "This is a directory that contains one subdirectory for each thread in the "
10210 "process. The name of each subdirectory is the numerical thread ID "
10211 "(I<[tid]>) of the thread (see B<gettid>(2)). Within each of these "
10212 "subdirectories, there is a set of files with the same names and contents as "
10213 "under the I</proc/[pid]> directories. For attributes that are shared by all "
10214 "threads, the contents for each of the files under the I<task/[tid]> "
10215 "subdirectories will be the same as in the corresponding file in the parent "
10216 "I</proc/[pid]> directory (e.g., in a multithreaded process, all of the "
10217 "I<task/[tid]/cwd> files will have the same value as the I</proc/[pid]/cwd> "
10218 "file in the parent directory, since all of the threads in a process share a "
10219 "working directory). For attributes that are distinct for each thread, the "
10220 "corresponding files under I<task/[tid]> may have different values (e.g., "
10221 "various fields in each of the I<task/[tid]/status> files may be different "
10222 "for each thread)."
10225 #. The following was still true as at kernel 2.6.13
10226 #. type: Plain text
10227 #: build/C/man5/proc.5:1807
10229 "In a multithreaded process, the contents of the I</proc/[pid]/task> "
10230 "directory are not available if the main thread has already terminated "
10231 "(typically by calling B<pthread_exit>(3))."
10235 #: build/C/man5/proc.5:1807
10237 msgid "I</proc/[pid]/uid_map>, I</proc/[pid]/gid_map> (since Linux 3.5)"
10240 #. commit 22d917d80e842829d0ca0a561967d728eb1d6303
10241 #. type: Plain text
10242 #: build/C/man5/proc.5:1818
10244 "These files expose the mappings for user and group IDs inside the user "
10245 "namespace for the process I<pid>. The description here explains the details "
10246 "for I<uid_map>; I<gid_map> is exactly the same, but each instance of \"user "
10247 "ID\" is replaced by \"group ID\"."
10250 #. type: Plain text
10251 #: build/C/man5/proc.5:1832
10253 "The I<uid_map> file exposes the mapping of user IDs from the user namespace "
10254 "of the process I<pid> to the user namespace of the process that opened "
10255 "I<uid_map> (but see a qualification to this point below). In other words, "
10256 "processes that are in different user namespaces will potentially see "
10257 "different values when reading from a particular I<uid_map> file, depending "
10258 "on the user ID mappings for the user namespaces of the reading processes."
10261 #. type: Plain text
10262 #: build/C/man5/proc.5:1842
10264 "Each line in the file specifies a 1-to-1 mapping of a range of contiguous "
10265 "between two user namespaces. The specification in each line takes the form "
10266 "of three numbers delimited by white space. The first two numbers specify "
10267 "the starting user ID in each user namespace. The third number specifies the "
10268 "length of the mapped range. In detail, the fields are interpreted as "
10272 #. type: Plain text
10273 #: build/C/man5/proc.5:1847
10275 "The start of the range of user IDs in the user namespace of the process "
10279 #. type: Plain text
10280 #: build/C/man5/proc.5:1855
10282 "The start of the range of user IDs to which the user IDs specified by field "
10283 "one map. How field two is interpreted depends on whether the process that "
10284 "opened I<uid_map> and the process I<pid> are in the same user namespace, as "
10289 #: build/C/man5/proc.5:1856
10294 #. type: Plain text
10295 #: build/C/man5/proc.5:1861
10297 "If the two processes are in different user namespaces: field two is the "
10298 "start of a range of user IDs in the user namespace of the process that "
10299 "opened I<uid_map>."
10303 #: build/C/man5/proc.5:1861
10308 #. type: Plain text
10309 #: build/C/man5/proc.5:1881
10311 "If the two processes are in the same user namespace: field two is the start "
10312 "of the range of user IDs in the parent user namespace of the process "
10313 "I<pid>. (The \"parent user namespace\" is the user namespace of the process "
10314 "that created a user namespace via a call to B<unshare>(2) or B<clone>(2) "
10315 "with the B<CLONE_NEWUSER> flag.) This case enables the opener of I<uid_map> "
10316 "(the common case here is opening I</proc/self/uid_map>) to see the mapping "
10317 "of user IDs into the user namespace of the process that created this user "
10321 #. type: Plain text
10322 #: build/C/man5/proc.5:1885
10324 "The length of the range of user IDs that is mapped between the two user "
10328 #. type: Plain text
10329 #: build/C/man5/proc.5:1893
10331 "After the creation of a new user namespace, the I<uid_map> file may be "
10332 "written to exactly once to specify the mapping of user IDs in the new user "
10333 "namespace. (An attempt to write more than once to the file fails with the "
10337 #. type: Plain text
10338 #: build/C/man5/proc.5:1897
10339 msgid "The lines written to I<uid_map> must conform to the following rules:"
10342 #. type: Plain text
10343 #: build/C/man5/proc.5:1901
10345 "The three fields must be valid numbers, and the last field must be greater "
10349 #. type: Plain text
10350 #: build/C/man5/proc.5:1903
10351 msgid "Lines are terminated by newline characters."
10354 #. type: Plain text
10355 #: build/C/man5/proc.5:1906
10357 "There is an (arbitrary) limit on the number of lines in the file. As at "
10358 "Linux 3.8, the limit is five lines."
10361 #. type: Plain text
10362 #: build/C/man5/proc.5:1914
10364 "The range of user IDs specified in each line cannot overlap with the ranges "
10365 "in any other lines. In the current implementation (Linux 3.8), this "
10366 "requirement is satisfied by a simplistic implementation that imposes the "
10367 "further requirement that the values in both field 1 and field 2 of "
10368 "successive lines must be in ascending numerical order."
10371 #. type: Plain text
10372 #: build/C/man5/proc.5:1918
10373 msgid "Writes that violate the above rules fail with the error B<EINVAL>."
10376 #. type: Plain text
10377 #: build/C/man5/proc.5:1923
10379 "In order for a process to write to the I</proc/[pid]/uid_map> "
10380 "(I</proc/[pid]/gid_map>) file, the following requirements must be met:"
10383 #. type: Plain text
10384 #: build/C/man5/proc.5:1930
10386 "The process must have the B<CAP_SETUID> (B<CAP_SETGID>) capability in the "
10387 "user namespace of the process I<pid>."
10390 #. type: Plain text
10391 #: build/C/man5/proc.5:1935
10393 "The process must have the B<CAP_SETUID> (B<CAP_SETGID>) capability in the "
10394 "parent user namespace."
10397 #. type: Plain text
10398 #: build/C/man5/proc.5:1940
10400 "The process must be in either the user namespace of the process I<pid> or "
10401 "inside the parent user namespace of the process I<pid>."
10404 #. type: Plain text
10405 #: build/C/man5/proc.5:1943
10406 msgid "For further details, see B<namespaces>(7)."
10410 #: build/C/man5/proc.5:1943
10412 msgid "I</proc/[pid]/wchan> (since Linux 2.6.0)"
10415 #. type: Plain text
10416 #: build/C/man5/proc.5:1947
10418 "The symbolic name corresponding to the location in the kernel where the "
10419 "process is sleeping."
10423 #: build/C/man5/proc.5:1947
10425 msgid "I</proc/apm>"
10428 #. type: Plain text
10429 #: build/C/man5/proc.5:1952
10431 "Advanced power management version and battery information when B<CONFIG_APM> "
10432 "is defined at kernel compilation time."
10436 #: build/C/man5/proc.5:1952
10438 msgid "I</proc/buddyinfo>"
10441 #. type: Plain text
10442 #: build/C/man5/proc.5:1962
10444 "This file contains information which is used for diagnosing memory "
10445 "fragmentation issues. Each line starts with the identification of the node "
10446 "and the name of the zone which together identify a memory region This is "
10447 "then followed by the count of available chunks of a certain order in which "
10448 "these zones are split. The size in bytes of a certain order is given by the "
10452 #. type: Plain text
10453 #: build/C/man5/proc.5:1964
10455 msgid " (2^order)\\ *\\ PAGE_SIZE\n"
10458 #. type: Plain text
10459 #: build/C/man5/proc.5:1971
10461 "The binary buddy allocator algorithm inside the kernel will split one chunk "
10462 "into two chunks of a smaller order (thus with half the size) or combine two "
10463 "contiguous chunks into one larger chunk of a higher order (thus with double "
10464 "the size) to satisfy allocation requests and to counter memory "
10465 "fragmentation. The order matches the column number, when starting to count "
10469 #. type: Plain text
10470 #: build/C/man5/proc.5:1973
10471 msgid "For example on a x86_64 system:"
10474 #. type: Plain text
10475 #: build/C/man5/proc.5:1979
10478 "Node 0, zone DMA 1 1 1 0 2 1 1 0 1 1 "
10480 "Node 0, zone DMA32 65 47 4 81 52 28 13 10 5 1 "
10482 "Node 0, zone Normal 216 55 189 101 84 38 37 27 5 3 "
10486 #. type: Plain text
10487 #: build/C/man5/proc.5:1988
10489 "In this example, there is one node containing three zones and there are 11 "
10490 "different chunk sizes. If the page size is 4 kilobyteis, then the first "
10491 "zone called I<DMA> (on x86 the first 16 megabyte of memory) has 1 chunk of 4 "
10492 "kilobytes (order 0) available and has 3 chunks of 4 megabytes (order 10) "
10496 #. type: Plain text
10497 #: build/C/man5/proc.5:1992
10499 "If the memory is heavily fragmentated, the counters for higher order chunks "
10500 "will be zero and allocation of large contiguous areas will fail."
10503 #. type: Plain text
10504 #: build/C/man5/proc.5:1995
10505 msgid "Further information about the zones can be found in I</proc/zoneinfo>."
10509 #: build/C/man5/proc.5:1995
10511 msgid "I</proc/bus>"
10514 #. type: Plain text
10515 #: build/C/man5/proc.5:1998
10516 msgid "Contains subdirectories for installed busses."
10520 #: build/C/man5/proc.5:1998
10522 msgid "I</proc/bus/pccard>"
10525 #. type: Plain text
10526 #: build/C/man5/proc.5:2003
10528 "Subdirectory for PCMCIA devices when B<CONFIG_PCMCIA> is set at kernel "
10529 "compilation time."
10533 #: build/C/man5/proc.5:2003
10535 msgid "I</proc/[pid]/timers> (since Linux 3.10)"
10538 #. commit 5ed67f05f66c41e39880a6d61358438a25f9fee5
10539 #. commit 48f6a7a511ef8823fdff39afee0320092d43a8a0
10540 #. type: Plain text
10541 #: build/C/man5/proc.5:2010
10543 "A list of the POSIX timers for this process. Each timer is listed with a "
10544 "line that started with the string \"ID:\". For example:"
10547 #. type: Plain text
10548 #: build/C/man5/proc.5:2021
10552 "signal: 60/00007fff86e452a8\n"
10553 "notify: signal/pid.2634\n"
10556 "signal: 60/00007fff86e452a8\n"
10557 "notify: signal/pid.2634\n"
10561 #. type: Plain text
10562 #: build/C/man5/proc.5:2025
10563 msgid "The lines shown for each timer have the following meanings:"
10567 #: build/C/man5/proc.5:2026
10572 #. type: Plain text
10573 #: build/C/man5/proc.5:2037
10575 "The ID for this timer. This is not the same as the timer ID returned by "
10576 "B<timer_create>(2); rather, it is the same kernel-internal ID that is "
10577 "available via the I<si_timerid> field of the I<siginfo_t> structure (see "
10578 "B<sigaction>(2))."
10582 #: build/C/man5/proc.5:2037
10587 #. type: Plain text
10588 #: build/C/man5/proc.5:2044
10590 "This is the signal number that this timer uses to deliver notifications "
10591 "followed by a slash, and then the I<sigev_value.sival_ptr> value supplied to "
10592 "the signal handler. Valid only for timers that notify via a signal."
10596 #: build/C/man5/proc.5:2044
10601 #. type: Plain text
10602 #: build/C/man5/proc.5:2055
10604 "The part before the slash specifies the mechanism that this timer uses to "
10605 "deliver notifications, and is one of \"thread\", \"signal\", or \"none\". "
10606 "Immediately following the slash is either the string \"tid\" for timers with "
10607 "B<SIGEV_THREAD_ID> notification, or \"pid\" for timers that notify by other "
10608 "mechanisms. Following the \".\" is the PID of the process that will be "
10609 "delivered a signal if the timer delivers notifications via a signal."
10613 #: build/C/man5/proc.5:2055
10618 #. type: Plain text
10619 #: build/C/man5/proc.5:2068
10621 "This field identifies the clock that the timer uses for measuring time. For "
10622 "most clocks, this is a number that matches one of the user-space B<CLOCK_*> "
10623 "constants exposed via I<E<lt>time.hE<gt>>. B<CLOCK_PROCESS_CPUTIME_ID> "
10624 "timers display with a value of -6 in this field. B<CLOCK_THREAD_CPUTIME_ID> "
10625 "timers display with a value of -2 in this field."
10629 #: build/C/man5/proc.5:2069
10631 msgid "I</proc/bus/pccard/drivers>"
10635 #: build/C/man5/proc.5:2071
10637 msgid "I</proc/bus/pci>"
10640 #. type: Plain text
10641 #: build/C/man5/proc.5:2077
10643 "Contains various bus subdirectories and pseudo-files containing information "
10644 "about PCI busses, installed devices, and device drivers. Some of these "
10645 "files are not ASCII."
10649 #: build/C/man5/proc.5:2077
10651 msgid "I</proc/bus/pci/devices>"
10654 #. type: Plain text
10655 #: build/C/man5/proc.5:2084
10657 "Information about PCI devices. They may be accessed through B<lspci>(8) "
10658 "and B<setpci>(8)."
10662 #: build/C/man5/proc.5:2084
10664 msgid "I</proc/cmdline>"
10667 #. type: Plain text
10668 #: build/C/man5/proc.5:2091
10670 "Arguments passed to the Linux kernel at boot time. Often done via a boot "
10671 "manager such as B<lilo>(8) or B<grub>(8)."
10675 #: build/C/man5/proc.5:2091
10677 msgid "I</proc/config.gz> (since Linux 2.6)"
10680 #. type: Plain text
10681 #: build/C/man5/proc.5:2109
10683 "This file exposes the configuration options that were used to build the "
10684 "currently running kernel, in the same format as they would be shown in the "
10685 "I<.config> file that resulted when configuring the kernel (using I<make "
10686 "xconfig>, I<make config>, or similar). The file contents are compressed; "
10687 "view or search them using B<zcat>(1) and B<zgrep>(1). As long as no "
10688 "changes have been made to the following file, the contents of "
10689 "I</proc/config.gz> are the same as those provided by :"
10692 #. type: Plain text
10693 #: build/C/man5/proc.5:2113
10695 msgid "cat /lib/modules/$(uname -r)/build/.config\n"
10698 #. type: Plain text
10699 #: build/C/man5/proc.5:2119
10701 "I</proc/config.gz> is provided only if the kernel is configured with "
10702 "B<CONFIG_IKCONFIG_PROC>."
10706 #: build/C/man5/proc.5:2119
10708 msgid "I</proc/cpuinfo>"
10711 #. type: Plain text
10712 #: build/C/man5/proc.5:2131
10714 "This is a collection of CPU and system architecture dependent items, for "
10715 "each supported architecture a different list. Two common entries are "
10716 "I<processor> which gives CPU number and I<bogomips>; a system constant that "
10717 "is calculated during kernel initialization. SMP machines have information "
10718 "for each CPU. The B<lscpu>(1) command gathers its information from this "
10723 #: build/C/man5/proc.5:2131
10725 msgid "I</proc/devices>"
10728 #. type: Plain text
10729 #: build/C/man5/proc.5:2135
10731 "Text listing of major numbers and device groups. This can be used by "
10732 "MAKEDEV scripts for consistency with the kernel."
10736 #: build/C/man5/proc.5:2135
10738 msgid "I</proc/diskstats> (since Linux 2.5.69)"
10741 #. type: Plain text
10742 #: build/C/man5/proc.5:2141
10744 "This file contains disk I/O statistics for each disk device. See the Linux "
10745 "kernel source file I<Documentation/iostats.txt> for further information."
10749 #: build/C/man5/proc.5:2141
10751 msgid "I</proc/dma>"
10754 #. type: Plain text
10755 #: build/C/man5/proc.5:2145
10757 "This is a list of the registered I<ISA> DMA (direct memory access) channels "
10762 #: build/C/man5/proc.5:2145
10764 msgid "I</proc/driver>"
10767 #. type: Plain text
10768 #: build/C/man5/proc.5:2148
10769 msgid "Empty subdirectory."
10773 #: build/C/man5/proc.5:2148
10775 msgid "I</proc/execdomains>"
10778 #. type: Plain text
10779 #: build/C/man5/proc.5:2151
10780 msgid "List of the execution domains (ABI personalities)."
10784 #: build/C/man5/proc.5:2151
10786 msgid "I</proc/fb>"
10789 #. type: Plain text
10790 #: build/C/man5/proc.5:2156
10792 "Frame buffer information when B<CONFIG_FB> is defined during kernel "
10797 #: build/C/man5/proc.5:2156
10799 msgid "I</proc/filesystems>"
10802 #. type: Plain text
10803 #: build/C/man5/proc.5:2166
10805 "A text listing of the filesystems which are supported by the kernel, namely "
10806 "filesystems which were compiled into the kernel or whose kernel modules are "
10807 "currently loaded. (See also B<filesystems>(5).) If a filesystem is marked "
10808 "with \"nodev\", this means that it does not require a block device to be "
10809 "mounted (e.g., virtual filesystem, network filesystem)."
10812 #. type: Plain text
10813 #: build/C/man5/proc.5:2173
10815 "Incidentally, this file may be used by B<mount>(8) when no filesystem is "
10816 "specified and it didn't manage to determine the filesystem type. Then "
10817 "filesystems contained in this file are tried (excepted those that are marked "
10822 #: build/C/man5/proc.5:2173
10824 msgid "I</proc/fs>"
10827 #. FIXME Much more needs to be said about /proc/fs
10828 #. type: Plain text
10829 #: build/C/man5/proc.5:2179
10831 "Contains subdirectories that in turn contain files with information about "
10832 "(certain) mounted filesystems."
10836 #: build/C/man5/proc.5:2179
10838 msgid "I</proc/ide>"
10841 #. type: Plain text
10842 #: build/C/man5/proc.5:2185
10844 "This directory exists on systems with the IDE bus. There are directories "
10845 "for each IDE channel and attached device. Files include:"
10848 #. type: Plain text
10849 #: build/C/man5/proc.5:2198
10852 "cache buffer size in KB\n"
10853 "capacity number of sectors\n"
10854 "driver driver version\n"
10855 "geometry physical and logical geometry\n"
10856 "identify in hexadecimal\n"
10857 "media media type\n"
10858 "model manufacturer's model number\n"
10859 "settings drive settings\n"
10860 "smart_thresholds in hexadecimal\n"
10861 "smart_values in hexadecimal\n"
10864 #. type: Plain text
10865 #: build/C/man5/proc.5:2204
10867 "The B<hdparm>(8) utility provides access to this information in a friendly "
10872 #: build/C/man5/proc.5:2204
10874 msgid "I</proc/interrupts>"
10877 #. type: Plain text
10878 #: build/C/man5/proc.5:2214
10880 "This is used to record the number of interrupts per CPU per IO device. "
10881 "Since Linux 2.6.24, for the i386 and x86_64 architectures, at least, this "
10882 "also includes interrupts internal to the system (that is, not associated "
10883 "with a device as such), such as NMI (nonmaskable interrupt), LOC (local "
10884 "timer interrupt), and for SMP systems, TLB (TLB flush interrupt), RES "
10885 "(rescheduling interrupt), CAL (remote function call interrupt), and possibly "
10886 "others. Very easy to read formatting, done in ASCII."
10890 #: build/C/man5/proc.5:2214
10892 msgid "I</proc/iomem>"
10895 #. type: Plain text
10896 #: build/C/man5/proc.5:2217
10897 msgid "I/O memory map in Linux 2.4."
10901 #: build/C/man5/proc.5:2217
10903 msgid "I</proc/ioports>"
10906 #. type: Plain text
10907 #: build/C/man5/proc.5:2221
10909 "This is a list of currently registered Input-Output port regions that are in "
10914 #: build/C/man5/proc.5:2221
10916 msgid "I</proc/kallsyms> (since Linux 2.5.71)"
10919 #. type: Plain text
10920 #: build/C/man5/proc.5:2229
10922 "This holds the kernel exported symbol definitions used by the B<modules>(X) "
10923 "tools to dynamically link and bind loadable modules. In Linux 2.5.47 and "
10924 "earlier, a similar file with slightly different syntax was named I<ksyms>."
10928 #: build/C/man5/proc.5:2229
10930 msgid "I</proc/kcore>"
10933 #. type: Plain text
10934 #: build/C/man5/proc.5:2238
10936 "This file represents the physical memory of the system and is stored in the "
10937 "ELF core file format. With this pseudo-file, and an unstripped kernel "
10938 "(I</usr/src/linux/vmlinux>) binary, GDB can be used to examine the current "
10939 "state of any kernel data structures."
10942 #. type: Plain text
10943 #: build/C/man5/proc.5:2241
10944 msgid "The total length of the file is the size of physical memory (RAM) plus 4KB."
10948 #: build/C/man5/proc.5:2241
10950 msgid "I</proc/kmsg>"
10953 #. type: Plain text
10954 #: build/C/man5/proc.5:2253
10956 "This file can be used instead of the B<syslog>(2) system call to read "
10957 "kernel messages. A process must have superuser privileges to read this "
10958 "file, and only one process should read this file. This file should not be "
10959 "read if a syslog process is running which uses the B<syslog>(2) system call "
10960 "facility to log kernel messages."
10963 #. type: Plain text
10964 #: build/C/man5/proc.5:2257
10965 msgid "Information in this file is retrieved with the B<dmesg>(1) program."
10969 #: build/C/man5/proc.5:2257
10971 msgid "I</proc/kpagecount> (since Linux 2.6.25)"
10974 #. type: Plain text
10975 #: build/C/man5/proc.5:2263
10977 "This file contains a 64-bit count of the number of times each physical page "
10978 "frame is mapped, indexed by page frame number (see the discussion of "
10979 "I</proc/[pid]/pagemap>)."
10982 #. type: Plain text
10983 #: build/C/man5/proc.5:2269
10985 "The I</proc/kpagecount> file is present only if the "
10986 "B<CONFIG_PROC_PAGE_MONITOR> kernel configuration option is enabled."
10990 #: build/C/man5/proc.5:2269
10992 msgid "I</proc/kpageflags> (since Linux 2.6.25)"
10995 #. type: Plain text
10996 #: build/C/man5/proc.5:2275
10998 "This file contains 64-bit masks corresponding to each physical page frame; "
10999 "it is indexed by page frame number (see the discussion of "
11000 "I</proc/[pid]/pagemap>). The bits are as follows:"
11003 #. type: Plain text
11004 #: build/C/man5/proc.5:2299
11007 " 0 - KPF_LOCKED\n"
11009 " 2 - KPF_REFERENCED\n"
11010 " 3 - KPF_UPTODATE\n"
11013 " 6 - KPF_ACTIVE\n"
11015 " 8 - KPF_WRITEBACK\n"
11016 " 9 - KPF_RECLAIM\n"
11017 " 10 - KPF_BUDDY\n"
11018 " 11 - KPF_MMAP (since Linux 2.6.31)\n"
11019 " 12 - KPF_ANON (since Linux 2.6.31)\n"
11020 " 13 - KPF_SWAPCACHE (since Linux 2.6.31)\n"
11021 " 14 - KPF_SWAPBACKED (since Linux 2.6.31)\n"
11022 " 15 - KPF_COMPOUND_HEAD (since Linux 2.6.31)\n"
11023 " 16 - KPF_COMPOUND_TAIL (since Linux 2.6.31)\n"
11024 " 16 - KPF_HUGE (since Linux 2.6.31)\n"
11025 " 18 - KPF_UNEVICTABLE (since Linux 2.6.31)\n"
11026 " 19 - KPF_HWPOISON (since Linux 2.6.31)\n"
11027 " 20 - KPF_NOPAGE (since Linux 2.6.31)\n"
11028 " 21 - KPF_KSM (since Linux 2.6.32)\n"
11029 " 22 - KPF_THP (since Linux 3.4)\n"
11032 #. commit ad3bdefe877afb47480418fdb05ecd42842de65e
11033 #. commit e07a4b9217d1e97d2f3a62b6b070efdc61212110
11034 #. type: Plain text
11035 #: build/C/man5/proc.5:2312
11037 "For further details on the meanings of these bits, see the kernel source "
11038 "file I<Documentation/vm/pagemap.txt>. Before kernel 2.6.29, "
11039 "B<KPF_WRITEBACK>, B<KPF_RECLAIM>, B<KPF_BUDDY>, and B<KPF_LOCKED> did not "
11040 "report correctly."
11043 #. type: Plain text
11044 #: build/C/man5/proc.5:2318
11046 "The I</proc/kpageflags> file is present only if the "
11047 "B<CONFIG_PROC_PAGE_MONITOR> kernel configuration option is enabled."
11051 #: build/C/man5/proc.5:2318
11053 msgid "I</proc/ksyms> (Linux 1.1.23-2.5.47)"
11056 #. type: Plain text
11057 #: build/C/man5/proc.5:2322
11058 msgid "See I</proc/kallsyms>."
11062 #: build/C/man5/proc.5:2322
11064 msgid "I</proc/loadavg>"
11067 #. type: Plain text
11068 #: build/C/man5/proc.5:2337
11070 "The first three fields in this file are load average figures giving the "
11071 "number of jobs in the run queue (state R) or waiting for disk I/O (state D) "
11072 "averaged over 1, 5, and 15 minutes. They are the same as the load average "
11073 "numbers given by B<uptime>(1) and other programs. The fourth field "
11074 "consists of two numbers separated by a slash (/). The first of these is the "
11075 "number of currently runnable kernel scheduling entities (processes, "
11076 "threads). The value after the slash is the number of kernel scheduling "
11077 "entities that currently exist on the system. The fifth field is the PID of "
11078 "the process that was most recently created on the system."
11082 #: build/C/man5/proc.5:2337
11084 msgid "I</proc/locks>"
11087 #. type: Plain text
11088 #: build/C/man5/proc.5:2343
11090 "This file shows current file locks (B<flock>(2) and B<fcntl>(2)) and leases "
11095 #: build/C/man5/proc.5:2343
11097 msgid "I</proc/malloc> (only up to and including Linux 2.2)"
11100 #. It looks like this only ever did something back in 1.0 days
11101 #. type: Plain text
11102 #: build/C/man5/proc.5:2349
11104 "This file is present only if B<CONFIG_DEBUG_MALLOC> was defined during "
11109 #: build/C/man5/proc.5:2349
11111 msgid "I</proc/meminfo>"
11114 #. type: Plain text
11115 #: build/C/man5/proc.5:2365
11117 "This file reports statistics about memory usage on the system. It is used "
11118 "by B<free>(1) to report the amount of free and used memory (both physical "
11119 "and swap) on the system as well as the shared memory and buffers used by "
11120 "the kernel. Each line of the file consists of a parameter name, followed by "
11121 "a colon, the value of the parameter, and an option unit of measurement "
11122 "(e.g., \"kB\"). The list below describes the parameter names and the format "
11123 "specifier required to read the field value. Except as noted below, all of "
11124 "the fields have been present since at least Linux 2.6.0. Some fields are "
11125 "displayed only if the kernel was configured with various options; those "
11126 "dependencies are noted in the list."
11130 #: build/C/man5/proc.5:2366
11132 msgid "I<MemTotal> %lu"
11135 #. type: Plain text
11136 #: build/C/man5/proc.5:2370
11138 "Total usable RAM (i.e., physical RAM minus a few reserved bits and the "
11139 "kernel binary code)."
11143 #: build/C/man5/proc.5:2370
11145 msgid "I<MemFree> %lu"
11148 #. type: Plain text
11149 #: build/C/man5/proc.5:2374
11150 msgid "The sum of I<LowFree>+I<HighFree>."
11154 #: build/C/man5/proc.5:2374
11156 msgid "I<Buffers> %lu"
11159 #. type: Plain text
11160 #: build/C/man5/proc.5:2378
11162 "Relatively temporary storage for raw disk blocks that shouldn't get "
11163 "tremendously large (20MB or so)."
11167 #: build/C/man5/proc.5:2378
11169 msgid "I<Cached> %lu"
11172 #. type: Plain text
11173 #: build/C/man5/proc.5:2383
11175 "In-memory cache for files read from the disk (the page cache). Doesn't "
11176 "include I<SwapCached>."
11180 #: build/C/man5/proc.5:2383
11182 msgid "I<SwapCached> %lu"
11185 #. type: Plain text
11186 #: build/C/man5/proc.5:2391
11188 "Memory that once was swapped out, is swapped back in but still also is in "
11189 "the swap file. (If memory pressure is high, these pages don't need to be "
11190 "swapped out again because they are already in the swap file. This saves "
11195 #: build/C/man5/proc.5:2391
11197 msgid "I<Active> %lu"
11200 #. type: Plain text
11201 #: build/C/man5/proc.5:2395
11203 "Memory that has been used more recently and usually not reclaimed unless "
11204 "absolutely necessary."
11208 #: build/C/man5/proc.5:2395
11210 msgid "I<Inactive> %lu"
11213 #. type: Plain text
11214 #: build/C/man5/proc.5:2399
11216 "Memory which has been less recently used. It is more eligible to be "
11217 "reclaimed for other purposes."
11221 #: build/C/man5/proc.5:2399
11223 msgid "I<Active(anon)> %lu (since Linux 2.6.28)"
11226 #. type: Plain text
11227 #: build/C/man5/proc.5:2402 build/C/man5/proc.5:2405 build/C/man5/proc.5:2408 build/C/man5/proc.5:2411 build/C/man5/proc.5:2478
11228 msgid "[To be documented.]"
11232 #: build/C/man5/proc.5:2402
11234 msgid "I<Inactive(anon)> %lu (since Linux 2.6.28)"
11238 #: build/C/man5/proc.5:2405
11240 msgid "I<Active(file)> %lu (since Linux 2.6.28)"
11244 #: build/C/man5/proc.5:2408
11246 msgid "I<Inactive(file)> %lu (since Linux 2.6.28)"
11250 #: build/C/man5/proc.5:2411
11252 msgid "I<Unevictable> %lu (since Linux 2.6.28)"
11255 #. type: Plain text
11256 #: build/C/man5/proc.5:2416 build/C/man5/proc.5:2421
11258 "(From Linux 2.6.28 to 2.6.30, B<CONFIG_UNEVICTABLE_LRU> was required.) [To "
11263 #: build/C/man5/proc.5:2416
11265 msgid "I<Mlocked> %lu (since Linux 2.6.28)"
11269 #: build/C/man5/proc.5:2421
11271 msgid "I<HighTotal> %lu"
11274 #. type: Plain text
11275 #: build/C/man5/proc.5:2430
11277 "(Starting with Linux 2.6.19, B<CONFIG_HIGHMEM> is required.) Total amount "
11278 "of highmem. Highmem is all memory above ~860MB of physical memory. Highmem "
11279 "areas are for use by user-space programs, or for the page cache. The kernel "
11280 "must use tricks to access this memory, making it slower to access than "
11285 #: build/C/man5/proc.5:2430
11287 msgid "I<HighFree> %lu"
11290 #. type: Plain text
11291 #: build/C/man5/proc.5:2434
11293 "(Starting with Linux 2.6.19, B<CONFIG_HIGHMEM> is required.) Amount of free "
11298 #: build/C/man5/proc.5:2434
11300 msgid "I<LowTotal> %lu"
11303 #. type: Plain text
11304 #: build/C/man5/proc.5:2446
11306 "(Starting with Linux 2.6.19, B<CONFIG_HIGHMEM> is required.) Total amount "
11307 "of lowmem. Lowmem is memory which can be used for everything that highmem "
11308 "can be used for, but it is also available for the kernel's use for its own "
11309 "data structures. Among many other things, it is where everything from "
11310 "I<Slab> is allocated. Bad things happen when you're out of lowmem."
11314 #: build/C/man5/proc.5:2446
11316 msgid "I<LowFree> %lu"
11319 #. type: Plain text
11320 #: build/C/man5/proc.5:2450
11322 "(Starting with Linux 2.6.19, B<CONFIG_HIGHMEM> is required.) Amount of free "
11327 #: build/C/man5/proc.5:2450
11329 msgid "I<MmapCopy> %lu (since Linux 2.6.29)"
11332 #. type: Plain text
11333 #: build/C/man5/proc.5:2455
11334 msgid "(B<CONFIG_MMU> is required.) [To be documented.]"
11338 #: build/C/man5/proc.5:2455
11340 msgid "I<SwapTotal> %lu"
11343 #. type: Plain text
11344 #: build/C/man5/proc.5:2458
11345 msgid "Total amount of swap space available."
11349 #: build/C/man5/proc.5:2458
11351 msgid "I<SwapFree> %lu"
11354 #. type: Plain text
11355 #: build/C/man5/proc.5:2461
11356 msgid "Amount of swap space that is currently unused."
11360 #: build/C/man5/proc.5:2461
11362 msgid "I<Dirty> %lu"
11365 #. type: Plain text
11366 #: build/C/man5/proc.5:2464
11367 msgid "Memory which is waiting to get written back to the disk."
11371 #: build/C/man5/proc.5:2464
11373 msgid "I<Writeback> %lu"
11376 #. type: Plain text
11377 #: build/C/man5/proc.5:2467
11378 msgid "Memory which is actively being written back to the disk."
11382 #: build/C/man5/proc.5:2467
11384 msgid "I<AnonPages> %lu (since Linux 2.6.18)"
11387 #. type: Plain text
11388 #: build/C/man5/proc.5:2470
11389 msgid "Non-file backed pages mapped into user-space page tables."
11393 #: build/C/man5/proc.5:2470
11395 msgid "I<Mapped> %lu"
11398 #. type: Plain text
11399 #: build/C/man5/proc.5:2475
11401 "Files which have been mapped into memory (with B<mmap>(2)), such as "
11406 #: build/C/man5/proc.5:2475
11408 msgid "I<Shmem> %lu (since Linux 2.6.32)"
11412 #: build/C/man5/proc.5:2478
11414 msgid "I<Slab> %lu"
11417 #. type: Plain text
11418 #: build/C/man5/proc.5:2481
11419 msgid "In-kernel data structures cache."
11423 #: build/C/man5/proc.5:2481
11425 msgid "I<SReclaimable> %lu (since Linux 2.6.19)"
11428 #. type: Plain text
11429 #: build/C/man5/proc.5:2486
11430 msgid "Part of I<Slab>, that might be reclaimed, such as caches."
11434 #: build/C/man5/proc.5:2486
11436 msgid "I<SUnreclaim> %lu (since Linux 2.6.19)"
11439 #. type: Plain text
11440 #: build/C/man5/proc.5:2491
11441 msgid "Part of I<Slab>, that cannot be reclaimed on memory pressure."
11445 #: build/C/man5/proc.5:2491
11447 msgid "I<KernelStack> %lu (since Linux 2.6.32)"
11450 #. type: Plain text
11451 #: build/C/man5/proc.5:2494
11452 msgid "Amount of memory allocated to kernel stacks."
11456 #: build/C/man5/proc.5:2494
11458 msgid "I<PageTables> %lu (since Linux 2.6.18)"
11461 #. type: Plain text
11462 #: build/C/man5/proc.5:2497
11463 msgid "Amount of memory dedicated to the lowest level of page tables."
11467 #: build/C/man5/proc.5:2497
11469 msgid "I<Quicklists> %lu (since Linux 2.6.27)"
11472 #. type: Plain text
11473 #: build/C/man5/proc.5:2501
11474 msgid "(B<CONFIG_QUICKLIST> is required.) [To be documented.]"
11478 #: build/C/man5/proc.5:2501
11480 msgid "I<NFS_Unstable> %lu (since Linux 2.6.18)"
11483 #. type: Plain text
11484 #: build/C/man5/proc.5:2504
11485 msgid "NFS pages sent to the server, but not yet committed to stable storage."
11489 #: build/C/man5/proc.5:2504
11491 msgid "I<Bounce> %lu (since Linux 2.6.18)"
11494 #. type: Plain text
11495 #: build/C/man5/proc.5:2507
11496 msgid "Memory used for block device \"bounce buffers\"."
11500 #: build/C/man5/proc.5:2507
11502 msgid "I<WritebackTmp> %lu (since Linux 2.6.26)"
11505 #. type: Plain text
11506 #: build/C/man5/proc.5:2510
11507 msgid "Memory used by FUSE for temporary writeback buffers."
11511 #: build/C/man5/proc.5:2510
11513 msgid "I<CommitLimit> %lu (since Linux 2.6.10)"
11516 #. type: Plain text
11517 #: build/C/man5/proc.5:2521
11519 "This is the total amount of memory currently available to be allocated on "
11520 "the system, expressed in kilobytes. This limit is adhered to only if strict "
11521 "overcommit accounting is enabled (mode 2 in "
11522 "I</proc/sys/vm/overcommit_memory>). The limit is calculated according to "
11523 "the formula described under I</proc/sys/vm/overcommit_memory>. For further "
11524 "details, see the kernel source file "
11525 "I<Documentation/vm/overcommit-accounting>."
11529 #: build/C/man5/proc.5:2521
11531 msgid "I<Committed_AS> %lu"
11534 #. type: Plain text
11535 #: build/C/man5/proc.5:2532
11537 "The amount of memory presently allocated on the system. The committed "
11538 "memory is a sum of all of the memory which has been allocated by processes, "
11539 "even if it has not been \"used\" by them as of yet. A process which "
11540 "allocates 1GB of memory (using B<malloc>(3) or similar), but touches only "
11541 "300MB of that memory will show up as using only 300MB of memory even if it "
11542 "has the address space allocated for the entire 1GB."
11545 #. type: Plain text
11546 #: build/C/man5/proc.5:2542
11548 "This 1GB is memory which has been \"committed\" to by the VM and can be used "
11549 "at any time by the allocating application. With strict overcommit enabled "
11550 "on the system (mode 2 in IR /proc/sys/vm/overcommit_memory ), allocations "
11551 "which would exceed the I<CommitLimit> will not be permitted. This is useful "
11552 "if one needs to guarantee that processes will not fail due to lack of memory "
11553 "once that memory has been successfully allocated."
11557 #: build/C/man5/proc.5:2542
11559 msgid "I<VmallocTotal> %lu"
11562 #. type: Plain text
11563 #: build/C/man5/proc.5:2545
11564 msgid "Total size of vmalloc memory area."
11568 #: build/C/man5/proc.5:2545
11570 msgid "I<VmallocUsed> %lu"
11573 #. type: Plain text
11574 #: build/C/man5/proc.5:2548
11575 msgid "Amount of vmalloc area which is used."
11579 #: build/C/man5/proc.5:2548
11581 msgid "I<VmallocChunk> %lu"
11584 #. type: Plain text
11585 #: build/C/man5/proc.5:2551
11586 msgid "Largest contiguous block of vmalloc area which is free."
11590 #: build/C/man5/proc.5:2551
11592 msgid "I<HardwareCorrupted> %lu (since Linux 2.6.32)"
11595 #. type: Plain text
11596 #: build/C/man5/proc.5:2555
11597 msgid "(B<CONFIG_MEMORY_FAILURE> is required.) [To be documented.]"
11601 #: build/C/man5/proc.5:2555
11603 msgid "I<AnonHugePages> %lu (since Linux 2.6.38)"
11606 #. type: Plain text
11607 #: build/C/man5/proc.5:2559
11609 "(B<CONFIG_TRANSPARENT_HUGEPAGE> is required.) Non-file backed huge pages "
11610 "mapped into user-space page tables."
11614 #: build/C/man5/proc.5:2559
11616 msgid "I<HugePages_Total> %lu"
11619 #. type: Plain text
11620 #: build/C/man5/proc.5:2563
11621 msgid "(B<CONFIG_HUGETLB_PAGE> is required.) The size of the pool of huge pages."
11625 #: build/C/man5/proc.5:2563
11627 msgid "I<HugePages_Free> %lu"
11630 #. type: Plain text
11631 #: build/C/man5/proc.5:2567
11633 "(B<CONFIG_HUGETLB_PAGE> is required.) The number of huge pages in the pool "
11634 "that are not yet allocated."
11638 #: build/C/man5/proc.5:2567
11640 msgid "I<HugePages_Rsvd> %lu (since Linux 2.6.17)"
11643 #. type: Plain text
11644 #: build/C/man5/proc.5:2576
11646 "(B<CONFIG_HUGETLB_PAGE> is required.) This is the number of huge pages for "
11647 "which a commitment to allocate from the pool has been made, but no "
11648 "allocation has yet been made. These reserved huge pages guarantee that an "
11649 "application will be able to allocate a huge page from the pool of huge pages "
11654 #: build/C/man5/proc.5:2576
11656 msgid "I<HugePages_Surp> %lu (since Linux 2.6.24)"
11659 #. type: Plain text
11660 #: build/C/man5/proc.5:2584
11662 "(B<CONFIG_HUGETLB_PAGE> is required.) This is the number of huge pages in "
11663 "the pool above the value in I</proc/sys/vm/nr_hugepages>. The maximum "
11664 "number of surplus huge pages is controlled by "
11665 "I</proc/sys/vm/nr_overcommit_hugepages>."
11669 #: build/C/man5/proc.5:2584
11671 msgid "I<Hugepagesize> %lu"
11674 #. type: Plain text
11675 #: build/C/man5/proc.5:2588
11676 msgid "(B<CONFIG_HUGETLB_PAGE> is required.) The size of huge pages."
11680 #: build/C/man5/proc.5:2589
11682 msgid "I</proc/modules>"
11685 #. type: Plain text
11686 #: build/C/man5/proc.5:2594
11688 "A text list of the modules that have been loaded by the system. See also "
11693 #: build/C/man5/proc.5:2594
11695 msgid "I</proc/mounts>"
11698 #. type: Plain text
11699 #: build/C/man5/proc.5:2604
11701 "Before kernel 2.4.19, this file was a list of all the filesystems currently "
11702 "mounted on the system. With the introduction of per-process mount "
11703 "namespaces in Linux 2.4.19, this file became a link to I</proc/self/mounts>, "
11704 "which lists the mount points of the process's own mount namespace. The "
11705 "format of this file is documented in B<fstab>(5)."
11709 #: build/C/man5/proc.5:2604
11711 msgid "I</proc/mtrr>"
11714 #. type: Plain text
11715 #: build/C/man5/proc.5:2610
11717 "Memory Type Range Registers. See the Linux kernel source file "
11718 "I<Documentation/mtrr.txt> for details."
11722 #: build/C/man5/proc.5:2610
11724 msgid "I</proc/net>"
11727 #. type: Plain text
11728 #: build/C/man5/proc.5:2620
11730 "various net pseudo-files, all of which give the status of some part of the "
11731 "networking layer. These files contain ASCII structures and are, therefore, "
11732 "readable with B<cat>(1). However, the standard B<netstat>(8) suite "
11733 "provides much cleaner access to these files."
11737 #: build/C/man5/proc.5:2620
11739 msgid "I</proc/net/arp>"
11742 #. type: Plain text
11743 #: build/C/man5/proc.5:2626
11745 "This holds an ASCII readable dump of the kernel ARP table used for address "
11746 "resolutions. It will show both dynamically learned and preprogrammed ARP "
11747 "entries. The format is:"
11750 #. type: Plain text
11751 #: build/C/man5/proc.5:2633
11754 "CW<IP address HW type Flags HW address Mask Device\n"
11755 "192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0\n"
11756 "192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0>\n"
11759 #. type: Plain text
11760 #: build/C/man5/proc.5:2645
11762 "Here \"IP address\" is the IPv4 address of the machine and the \"HW type\" "
11763 "is the hardware type of the address from RFC\\ 826. The flags are the "
11764 "internal flags of the ARP structure (as defined in "
11765 "I</usr/include/linux/if_arp.h>) and the \"HW address\" is the data link "
11766 "layer mapping for that IP address if it is known."
11770 #: build/C/man5/proc.5:2645
11772 msgid "I</proc/net/dev>"
11775 #. type: Plain text
11776 #: build/C/man5/proc.5:2656
11778 "The dev pseudo-file contains network device status information. This gives "
11779 "the number of received and sent packets, the number of errors and collisions "
11780 "and other basic statistics. These are used by the B<ifconfig>(8) program "
11781 "to report device status. The format is:"
11784 #. type: Plain text
11785 #: build/C/man5/proc.5:2666
11788 "CW<Inter-| Receive | "
11790 " face |bytes packets errs drop fifo frame compressed multicast|bytes "
11791 "packets errs drop fifo colls carrier compressed\n"
11792 " lo: 2776770 11307 0 0 0 0 0 0 2776770 "
11793 "11307 0 0 0 0 0 0\n"
11794 " eth0: 1215645 2751 0 0 0 0 0 0 1782404 "
11795 "4324 0 0 0 427 0 0\n"
11796 " ppp0: 1622270 5552 1 0 0 0 0 0 354130 "
11797 "5669 0 0 0 0 0 0\n"
11798 " tap0: 7714 81 0 0 0 0 0 0 7714 "
11799 "81 0 0 0 0 0 0>\n"
11803 #: build/C/man5/proc.5:2675
11805 msgid "I</proc/net/dev_mcast>"
11808 #. type: Plain text
11809 #: build/C/man5/proc.5:2679
11810 msgid "Defined in I</usr/src/linux/net/core/dev_mcast.c>:"
11813 #. type: Plain text
11814 #: build/C/man5/proc.5:2685
11817 "indx interface_name dmi_u dmi_g dmi_address\n"
11818 "2 eth0 1 0 01005e000001\n"
11819 "3 eth1 1 0 01005e000001\n"
11820 "4 eth2 1 0 01005e000001\n"
11824 #: build/C/man5/proc.5:2687
11826 msgid "I</proc/net/igmp>"
11829 #. type: Plain text
11830 #: build/C/man5/proc.5:2692
11832 "Internet Group Management Protocol. Defined in "
11833 "I</usr/src/linux/net/core/igmp.c>."
11837 #: build/C/man5/proc.5:2692
11839 msgid "I</proc/net/rarp>"
11842 #. type: Plain text
11843 #: build/C/man5/proc.5:2702
11845 "This file uses the same format as the I<arp> file and contains the current "
11846 "reverse mapping database used to provide B<rarp>(8) reverse address lookup "
11847 "services. If RARP is not configured into the kernel, this file will not be "
11852 #: build/C/man5/proc.5:2702
11854 msgid "I</proc/net/raw>"
11858 #. .I /proc/net/route
11859 #. No information, but looks similar to
11861 #. type: Plain text
11862 #: build/C/man5/proc.5:2722
11864 "Holds a dump of the RAW socket table. Much of the information is not of use "
11865 "apart from debugging. The \"sl\" value is the kernel hash slot for the "
11866 "socket, the \"local_address\" is the local address and protocol number "
11867 "pair. \\&\"St\" is the internal status of the socket. The \"tx_queue\" and "
11868 "\"rx_queue\" are the outgoing and incoming data queue in terms of kernel "
11869 "memory usage. The \"tr\", \"tm-E<gt>when\", and \"rexmits\" fields are not "
11870 "used by RAW. The \"uid\" field holds the effective UID of the creator of "
11875 #: build/C/man5/proc.5:2722
11877 msgid "I</proc/net/snmp>"
11880 #. type: Plain text
11881 #: build/C/man5/proc.5:2727
11883 "This file holds the ASCII data needed for the IP, ICMP, TCP, and UDP "
11884 "management information bases for an SNMP agent."
11888 #: build/C/man5/proc.5:2727
11890 msgid "I</proc/net/tcp>"
11893 #. type: Plain text
11894 #: build/C/man5/proc.5:2743
11896 "Holds a dump of the TCP socket table. Much of the information is not of use "
11897 "apart from debugging. The \"sl\" value is the kernel hash slot for the "
11898 "socket, the \"local_address\" is the local address and port number pair. "
11899 "The \"rem_address\" is the remote address and port number pair (if "
11900 "connected). \\&\"St\" is the internal status of the socket. The "
11901 "\"tx_queue\" and \"rx_queue\" are the outgoing and incoming data queue in "
11902 "terms of kernel memory usage. The \"tr\", \"tm-E<gt>when\", and \"rexmits\" "
11903 "fields hold internal information of the kernel socket state and are only "
11904 "useful for debugging. The \"uid\" field holds the effective UID of the "
11905 "creator of the socket."
11909 #: build/C/man5/proc.5:2743
11911 msgid "I</proc/net/udp>"
11914 #. type: Plain text
11915 #: build/C/man5/proc.5:2759
11917 "Holds a dump of the UDP socket table. Much of the information is not of use "
11918 "apart from debugging. The \"sl\" value is the kernel hash slot for the "
11919 "socket, the \"local_address\" is the local address and port number pair. "
11920 "The \"rem_address\" is the remote address and port number pair (if "
11921 "connected). \"St\" is the internal status of the socket. The \"tx_queue\" "
11922 "and \"rx_queue\" are the outgoing and incoming data queue in terms of kernel "
11923 "memory usage. The \"tr\", \"tm-E<gt>when\", and \"rexmits\" fields are not "
11924 "used by UDP. The \"uid\" field holds the effective UID of the creator of "
11925 "the socket. The format is:"
11928 #. type: Plain text
11929 #: build/C/man5/proc.5:2767
11932 "CW<sl local_address rem_address st tx_queue rx_queue tr rexmits "
11933 "tm-E<gt>when uid\n"
11934 " 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 "
11936 " 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 "
11938 " 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 "
11943 #: build/C/man5/proc.5:2770
11945 msgid "I</proc/net/unix>"
11948 #. type: Plain text
11949 #: build/C/man5/proc.5:2775
11951 "Lists the UNIX domain sockets present within the system and their status. "
11955 #. type: Plain text
11956 #: build/C/man5/proc.5:2781
11959 "CW<Num RefCount Protocol Flags Type St Path\n"
11960 " 0: 00000002 00000000 00000000 0001 03\n"
11961 " 1: 00000001 00000000 00010000 0001 01 /dev/printer>\n"
11964 #. type: Plain text
11965 #: build/C/man5/proc.5:2793
11967 "Here \"Num\" is the kernel table slot number, \"RefCount\" is the number of "
11968 "users of the socket, \"Protocol\" is currently always 0, \"Flags\" represent "
11969 "the internal kernel flags holding the status of the socket. Currently, type "
11970 "is always \"1\" (UNIX domain datagram sockets are not yet supported in the "
11971 "kernel). \\&\"St\" is the internal state of the socket and Path is the "
11972 "bound path (if any) of the socket."
11976 #: build/C/man5/proc.5:2793
11978 msgid "I</proc/net/netfilter/nfnetlink_queue>"
11981 #. type: Plain text
11982 #: build/C/man5/proc.5:2798
11984 "This file contains information about netfilter userspace queueing, if used. "
11985 "Each line represents a queue. Queues that have not been subscribed to by "
11986 "userspace are not shown."
11989 #. type: Plain text
11990 #: build/C/man5/proc.5:2802
11993 " 1 4207 0 2 65535 0 0 0 1\n"
11994 " (1) (2) (3)(4) (5) (6) (7) (8)\n"
11997 #. type: Plain text
11998 #: build/C/man5/proc.5:2817
12000 "The ID of the queue. This matches what is specified in the B<--queue-num> "
12001 "or B<--queue-balance> options to the B<iptables>(8) NFQUEUE target. See "
12002 "B<iptables-extensions>(8) for more information."
12005 #. type: Plain text
12006 #: build/C/man5/proc.5:2820
12007 msgid "The netlink port id subscribed to the queue."
12010 #. type: Plain text
12011 #: build/C/man5/proc.5:2824
12013 "The number of packets currently queued and waiting to be processed by the "
12017 #. type: Plain text
12018 #: build/C/man5/proc.5:2828
12020 "The copy mode of the queue. It is either 1 (metadata only) or 2 (also copy "
12021 "payload data to userspace)."
12024 #. type: Plain text
12025 #: build/C/man5/proc.5:2832
12027 "Copy range, i.e. how many bytes of packet payload should be copied to "
12028 "userspace at most."
12031 #. type: Plain text
12032 #: build/C/man5/proc.5:2837
12034 "queue dropped. Number of packets that had to be dropped by the kernel "
12035 "because too many packets are already waiting for userspace to send back the "
12036 "mandatory accept/drop verdicts."
12039 #. type: Plain text
12040 #: build/C/man5/proc.5:2842
12042 "queue user dropped. Number of packets that were dropped within the netlink "
12043 "subsystem. Such drops usually happen when the corresponding socket buffer "
12044 "is full, i.e. userspace is not able to read messages fast enough."
12047 #. type: Plain text
12048 #: build/C/man5/proc.5:2847
12050 "sequence number. Every queued packet is associated with a (32-bit) "
12051 "monotonically-increasing sequence number. This shows the ID of the most "
12052 "recent packet queued."
12055 #. type: Plain text
12056 #: build/C/man5/proc.5:2850
12057 msgid "The last number only exists for compatibility reasons and is always 1."
12061 #: build/C/man5/proc.5:2850
12063 msgid "I</proc/partitions>"
12066 #. type: Plain text
12067 #: build/C/man5/proc.5:2854
12069 "Contains the major and minor numbers of each partition as well as the number "
12070 "of 1024-byte blocks and the partition name."
12074 #: build/C/man5/proc.5:2854
12076 msgid "I</proc/pci>"
12079 #. type: Plain text
12080 #: build/C/man5/proc.5:2858
12082 "This is a listing of all PCI devices found during kernel initialization and "
12083 "their configuration."
12086 #. FIXME Document /proc/sched_debug
12089 #. .IR /proc/sched_debug " (since Linux 2.6.23)"
12090 #. See also /proc/[pid]/sched
12091 #. type: Plain text
12092 #: build/C/man5/proc.5:2875
12094 "This file has been deprecated in favor of a new I</proc> interface for PCI "
12095 "(I</proc/bus/pci>). It became optional in Linux 2.2 (available with "
12096 "B<CONFIG_PCI_OLD_PROC> set at kernel compilation). It became once more "
12097 "nonoptionally enabled in Linux 2.4. Next, it was deprecated in Linux 2.6 "
12098 "(still available with B<CONFIG_PCI_LEGACY_PROC> set), and finally removed "
12099 "altogether since Linux 2.6.17."
12103 #: build/C/man5/proc.5:2875
12105 msgid "I</proc/profile> (since Linux 2.4)"
12108 #. type: Plain text
12109 #: build/C/man5/proc.5:2887
12111 "This file is present only if the kernel was booted with the I<profile=1> "
12112 "command-line option. It exposes kernel profiling information in a binary "
12113 "format for use by B<readprofile>(1). Writing (e.g., an empty string) to "
12114 "this file resets the profiling counters; on some architectures, writing a "
12115 "binary integer \"profiling multiplier\" of size I<sizeof(int)> sets the "
12116 "profiling interrupt frequency."
12120 #: build/C/man5/proc.5:2887
12122 msgid "I</proc/scsi>"
12125 #. type: Plain text
12126 #: build/C/man5/proc.5:2897
12128 "A directory with the I<scsi> mid-level pseudo-file and various SCSI "
12129 "low-level driver directories, which contain a file for each SCSI host in "
12130 "this system, all of which give the status of some part of the SCSI IO "
12131 "subsystem. These files contain ASCII structures and are, therefore, "
12132 "readable with B<cat>(1)."
12135 #. type: Plain text
12136 #: build/C/man5/proc.5:2900
12138 "You can also write to some of the files to reconfigure the subsystem or "
12139 "switch certain features on or off."
12143 #: build/C/man5/proc.5:2900
12145 msgid "I</proc/scsi/scsi>"
12148 #. type: Plain text
12149 #: build/C/man5/proc.5:2906
12151 "This is a listing of all SCSI devices known to the kernel. The listing is "
12152 "similar to the one seen during bootup. scsi currently supports only the "
12153 "I<add-single-device> command which allows root to add a hotplugged device to "
12154 "the list of known devices."
12157 #. type: Plain text
12158 #: build/C/man5/proc.5:2908
12159 msgid "The command"
12162 #. type: Plain text
12163 #: build/C/man5/proc.5:2912
12165 msgid "echo \\(aqscsi add-single-device 1 0 5 0\\(aq E<gt> /proc/scsi/scsi\n"
12168 #. type: Plain text
12169 #: build/C/man5/proc.5:2920
12171 "will cause host scsi1 to scan on SCSI channel 0 for a device on ID 5 LUN 0. "
12172 "If there is already a device known on this address or the address is "
12173 "invalid, an error will be returned."
12177 #: build/C/man5/proc.5:2920
12179 msgid "I</proc/scsi/[drivername]>"
12182 #. type: Plain text
12183 #: build/C/man5/proc.5:2930
12185 "I<[drivername]> can currently be NCR53c7xx, aha152x, aha1542, aha1740, "
12186 "aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, "
12187 "scsi_debug, seagate, t128, u15-24f, ultrastore, or wd7000. These "
12188 "directories show up for all drivers that registered at least one SCSI HBA. "
12189 "Every directory contains one file per registered host. Every host-file is "
12190 "named after the number the host was assigned during initialization."
12193 #. type: Plain text
12194 #: build/C/man5/proc.5:2933
12196 "Reading these files will usually show driver and host configuration, "
12197 "statistics, and so on."
12200 #. type: Plain text
12201 #: build/C/man5/proc.5:2940
12203 "Writing to these files allows different things on different hosts. For "
12204 "example, with the I<latency> and I<nolatency> commands, root can switch on "
12205 "and off command latency measurement code in the eata_dma driver. With the "
12206 "I<lockup> and I<unlock> commands, root can control bus lockups simulated by "
12207 "the scsi_debug driver."
12211 #: build/C/man5/proc.5:2940
12213 msgid "I</proc/self>"
12216 #. type: Plain text
12217 #: build/C/man5/proc.5:2948
12219 "This directory refers to the process accessing the I</proc> filesystem, and "
12220 "is identical to the I</proc> directory named by the process ID of the same "
12225 #: build/C/man5/proc.5:2948
12227 msgid "I</proc/slabinfo>"
12230 #. type: Plain text
12231 #: build/C/man5/proc.5:2957
12233 "Information about kernel caches. Since Linux 2.6.16 this file is present "
12234 "only if the B<CONFIG_SLAB> kernel configuration option is enabled. The "
12235 "columns in I</proc/slabinfo> are:"
12238 #. type: Plain text
12239 #: build/C/man5/proc.5:2967
12243 "num-active-objs\n"
12246 "num-active-slabs\n"
12248 "num-pages-per-slab\n"
12251 #. type: Plain text
12252 #: build/C/man5/proc.5:2973
12253 msgid "See B<slabinfo>(5) for details."
12257 #: build/C/man5/proc.5:2973
12259 msgid "I</proc/stat>"
12262 #. type: Plain text
12263 #: build/C/man5/proc.5:2979
12265 "kernel/system statistics. Varies with architecture. Common entries "
12270 #: build/C/man5/proc.5:2980
12272 msgid "I<cpu 3357 0 4313 1362393>"
12275 #. 1024 on Alpha and ia64
12276 #. type: Plain text
12277 #: build/C/man5/proc.5:2988
12279 "The amount of time, measured in units of USER_HZ (1/100ths of a second on "
12280 "most architectures, use I<sysconf(_SC_CLK_TCK)> to obtain the right value), "
12281 "that the system spent in various states:"
12285 #: build/C/man5/proc.5:2989
12290 #. type: Plain text
12291 #: build/C/man5/proc.5:2992
12292 msgid "(1) Time spent in user mode."
12296 #: build/C/man5/proc.5:2992
12301 #. type: Plain text
12302 #: build/C/man5/proc.5:2995
12303 msgid "(2) Time spent in user mode with low priority (nice)."
12307 #: build/C/man5/proc.5:2995
12312 #. type: Plain text
12313 #: build/C/man5/proc.5:2998
12314 msgid "(3) Time spent in system mode."
12318 #: build/C/man5/proc.5:2998
12323 #. FIXME . Actually, the following info about the /proc/stat 'cpu' field
12324 #. does not seem to be quite right (at least in 2.6.12 or 3.6):
12325 #. the idle time in /proc/uptime does not quite match this value
12326 #. type: Plain text
12327 #: build/C/man5/proc.5:3008
12329 "(4) Time spent in the idle task. This value should be USER_HZ times the "
12330 "second entry in the I</proc/uptime> pseudo-file."
12334 #: build/C/man5/proc.5:3008
12336 msgid "I<iowait> (since Linux 2.5.41)"
12339 #. type: Plain text
12340 #: build/C/man5/proc.5:3011
12341 msgid "(5) Time waiting for I/O to complete."
12345 #: build/C/man5/proc.5:3011
12347 msgid "I<irq> (since Linux 2.6.0-test4)"
12350 #. type: Plain text
12351 #: build/C/man5/proc.5:3014
12352 msgid "(6) Time servicing interrupts."
12356 #: build/C/man5/proc.5:3014
12358 msgid "I<softirq> (since Linux 2.6.0-test4)"
12361 #. type: Plain text
12362 #: build/C/man5/proc.5:3017
12363 msgid "(7) Time servicing softirqs."
12367 #: build/C/man5/proc.5:3017
12369 msgid "I<steal> (since Linux 2.6.11)"
12372 #. type: Plain text
12373 #: build/C/man5/proc.5:3021
12375 "(8) Stolen time, which is the time spent in other operating systems when "
12376 "running in a virtualized environment"
12380 #: build/C/man5/proc.5:3021
12382 msgid "I<guest> (since Linux 2.6.24)"
12385 #. See Changelog entry for 5e84cfde51cf303d368fcb48f22059f37b3872de
12386 #. type: Plain text
12387 #: build/C/man5/proc.5:3026
12389 "(9) Time spent running a virtual CPU for guest operating systems under the "
12390 "control of the Linux kernel."
12394 #: build/C/man5/proc.5:3026
12396 msgid "I<guest_nice> (since Linux 2.6.33)"
12399 #. commit ce0e7b28fb75cb003cfc8d0238613aaf1c55e797
12400 #. type: Plain text
12401 #: build/C/man5/proc.5:3031
12403 "(10) Time spent running a niced guest (virtual CPU for guest operating "
12404 "systems under the control of the Linux kernel)."
12408 #: build/C/man5/proc.5:3032
12410 msgid "I<page 5741 1808>"
12413 #. type: Plain text
12414 #: build/C/man5/proc.5:3036
12416 "The number of pages the system paged in and the number that were paged out "
12421 #: build/C/man5/proc.5:3036
12423 msgid "I<swap 1 0>"
12426 #. type: Plain text
12427 #: build/C/man5/proc.5:3039
12428 msgid "The number of swap pages that have been brought in and out."
12431 #. FIXME . The following is not the full picture for the 'intr' of
12432 #. /proc/stat on 2.6:
12434 #: build/C/man5/proc.5:3039
12436 msgid "I<intr 1462898>"
12439 #. type: Plain text
12440 #: build/C/man5/proc.5:3049
12442 "This line shows counts of interrupts serviced since boot time, for each of "
12443 "the possible system interrupts. The first column is the total of all "
12444 "interrupts serviced including unnumbered architecture specific interrupts; "
12445 "each subsequent column is the total for that particular numbered interrupt. "
12446 "Unnumbered interrupts are not shown, only summed into the total."
12450 #: build/C/man5/proc.5:3049
12452 msgid "I<disk_io: (2,0):(31,30,5764,1,2) (3,0):>..."
12455 #. type: Plain text
12456 #: build/C/man5/proc.5:3052
12458 "(major,disk_idx):(noinfo, read_io_ops, blks_read, write_io_ops, "
12462 #. type: Plain text
12463 #: build/C/man5/proc.5:3054
12464 msgid "(Linux 2.4 only)"
12468 #: build/C/man5/proc.5:3054
12470 msgid "I<ctxt 115315>"
12473 #. type: Plain text
12474 #: build/C/man5/proc.5:3057
12475 msgid "The number of context switches that the system underwent."
12479 #: build/C/man5/proc.5:3057
12481 msgid "I<btime 769041601>"
12484 #. type: Plain text
12485 #: build/C/man5/proc.5:3060
12486 msgid "boot time, in seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
12490 #: build/C/man5/proc.5:3060
12492 msgid "I<processes 86031>"
12495 #. type: Plain text
12496 #: build/C/man5/proc.5:3063
12497 msgid "Number of forks since boot."
12501 #: build/C/man5/proc.5:3063
12503 msgid "I<procs_running 6>"
12506 #. type: Plain text
12507 #: build/C/man5/proc.5:3067
12508 msgid "Number of processes in runnable state. (Linux 2.5.45 onward.)"
12512 #: build/C/man5/proc.5:3067
12514 msgid "I<procs_blocked 2>"
12517 #. type: Plain text
12518 #: build/C/man5/proc.5:3071
12520 "Number of processes blocked waiting for I/O to complete. (Linux 2.5.45 "
12525 #: build/C/man5/proc.5:3072
12527 msgid "I</proc/swaps>"
12530 #. type: Plain text
12531 #: build/C/man5/proc.5:3077
12532 msgid "Swap areas in use. See also B<swapon>(8)."
12536 #: build/C/man5/proc.5:3077
12538 msgid "I</proc/sys>"
12541 #. type: Plain text
12542 #: build/C/man5/proc.5:3085
12544 "This directory (present since 1.3.57) contains a number of files and "
12545 "subdirectories corresponding to kernel variables. These variables can be "
12546 "read and sometimes modified using the I</proc> filesystem, and the "
12547 "(deprecated) B<sysctl>(2) system call."
12551 #: build/C/man5/proc.5:3085
12553 msgid "I</proc/sys/abi> (since Linux 2.4.10)"
12556 #. On some systems, it is not present.
12557 #. type: Plain text
12558 #: build/C/man5/proc.5:3092
12560 "This directory may contain files with application binary information. See "
12561 "the Linux kernel source file I<Documentation/sysctl/abi.txt> for more "
12566 #: build/C/man5/proc.5:3092
12568 msgid "I</proc/sys/debug>"
12571 #. type: Plain text
12572 #: build/C/man5/proc.5:3095 build/C/man5/proc.5:3936
12573 msgid "This directory may be empty."
12577 #: build/C/man5/proc.5:3095
12579 msgid "I</proc/sys/dev>"
12582 #. type: Plain text
12583 #: build/C/man5/proc.5:3101
12585 "This directory contains device-specific information (e.g., "
12586 "I<dev/cdrom/info>). On some systems, it may be empty."
12590 #: build/C/man5/proc.5:3101
12592 msgid "I</proc/sys/fs>"
12595 #. type: Plain text
12596 #: build/C/man5/proc.5:3105
12598 "This directory contains the files and subdirectories for kernel variables "
12599 "related to filesystems."
12603 #: build/C/man5/proc.5:3105
12605 msgid "I</proc/sys/fs/binfmt_misc>"
12608 #. type: Plain text
12609 #: build/C/man5/proc.5:3110
12611 "Documentation for files in this directory can be found in the Linux kernel "
12612 "sources in I<Documentation/binfmt_misc.txt>."
12616 #: build/C/man5/proc.5:3110
12618 msgid "I</proc/sys/fs/dentry-state> (since Linux 2.2)"
12621 #. type: Plain text
12622 #: build/C/man5/proc.5:3118
12624 "This file contains information about the status of the directory cache "
12625 "(dcache). The file contains six numbers, I<nr_dentry>, I<nr_unused>, "
12626 "I<age_limit> (age in seconds), I<want_pages> (pages requested by system) and "
12627 "two dummy values."
12630 #. type: Plain text
12631 #: build/C/man5/proc.5:3123
12633 "I<nr_dentry> is the number of allocated dentries (dcache entries). This "
12634 "field is unused in Linux 2.2."
12637 #. type: Plain text
12638 #: build/C/man5/proc.5:3126
12639 msgid "I<nr_unused> is the number of unused dentries."
12642 #. looks like this is unused in kernels 2.2 to 2.6
12643 #. type: Plain text
12644 #: build/C/man5/proc.5:3131
12646 "I<age_limit> is the age in seconds after which dcache entries can be "
12647 "reclaimed when memory is short."
12650 #. looks like this is unused in kernels 2.2 to 2.6
12651 #. type: Plain text
12652 #: build/C/man5/proc.5:3136
12654 "I<want_pages> is nonzero when the kernel has called shrink_dcache_pages() "
12655 "and the dcache isn't pruned yet."
12659 #: build/C/man5/proc.5:3137
12661 msgid "I</proc/sys/fs/dir-notify-enable>"
12664 #. type: Plain text
12665 #: build/C/man5/proc.5:3146
12667 "This file can be used to disable or enable the I<dnotify> interface "
12668 "described in B<fcntl>(2) on a system-wide basis. A value of 0 in this file "
12669 "disables the interface, and a value of 1 enables it."
12673 #: build/C/man5/proc.5:3146
12675 msgid "I</proc/sys/fs/dquot-max>"
12678 #. type: Plain text
12679 #: build/C/man5/proc.5:3153
12681 "This file shows the maximum number of cached disk quota entries. On some "
12682 "(2.4) systems, it is not present. If the number of free cached disk quota "
12683 "entries is very low and you have some awesome number of simultaneous system "
12684 "users, you might want to raise the limit."
12688 #: build/C/man5/proc.5:3153
12690 msgid "I</proc/sys/fs/dquot-nr>"
12693 #. type: Plain text
12694 #: build/C/man5/proc.5:3157
12696 "This file shows the number of allocated disk quota entries and the number of "
12697 "free disk quota entries."
12701 #: build/C/man5/proc.5:3157
12703 msgid "I</proc/sys/fs/epoll> (since Linux 2.6.28)"
12706 #. type: Plain text
12707 #: build/C/man5/proc.5:3166
12709 "This directory contains the file I<max_user_watches>, which can be used to "
12710 "limit the amount of kernel memory consumed by the I<epoll> interface. For "
12711 "further details, see B<epoll>(7)."
12715 #: build/C/man5/proc.5:3166
12717 msgid "I</proc/sys/fs/file-max>"
12720 #. type: Plain text
12721 #: build/C/man5/proc.5:3179
12723 "This file defines a system-wide limit on the number of open files for all "
12724 "processes. (See also B<setrlimit>(2), which can be used by a process to set "
12725 "the per-process limit, B<RLIMIT_NOFILE>, on the number of files it may "
12726 "open.) If you get lots of error messages in the kernel log about running "
12727 "out of file handles (look for \"VFS: file-max limit E<lt>numberE<gt> "
12728 "reached\"), try increasing this value:"
12731 #. type: Plain text
12732 #: build/C/man5/proc.5:3185
12734 msgid "CW< echo 100000 E<gt> /proc/sys/fs/file-max>\n"
12737 #. type: Plain text
12738 #: build/C/man5/proc.5:3193
12739 msgid "Privileged processes (B<CAP_SYS_ADMIN>) can override the I<file-max> limit."
12743 #: build/C/man5/proc.5:3193
12745 msgid "I</proc/sys/fs/file-nr>"
12748 #. type: Plain text
12749 #: build/C/man5/proc.5:3212
12751 "This (read-only) file contains three numbers: the number of allocated file "
12752 "handles (i.e., the number of files presently opened); the number of free "
12753 "file handles; and the maximum number of file handles (i.e., the same value "
12754 "as I</proc/sys/fs/file-max>). If the number of allocated file handles is "
12755 "close to the maximum, you should consider increasing the maximum. Before "
12756 "Linux 2.6, the kernel allocated file handles dynamically, but it didn't free "
12757 "them again. Instead the free file handles were kept in a list for "
12758 "reallocation; the \"free file handles\" value indicates the size of that "
12759 "list. A large number of free file handles indicates that there was a past "
12760 "peak in the usage of open file handles. Since Linux 2.6, the kernel does "
12761 "deallocate freed file handles, and the \"free file handles\" value is always "
12766 #: build/C/man5/proc.5:3212
12768 msgid "I</proc/sys/fs/inode-max> (only present until Linux 2.2)"
12771 #. type: Plain text
12772 #: build/C/man5/proc.5:3221
12774 "This file contains the maximum number of in-memory inodes. This value "
12775 "should be 3-4 times larger than the value in I<file-max>, since I<stdin>, "
12776 "I<stdout> and network sockets also need an inode to handle them. When you "
12777 "regularly run out of inodes, you need to increase this value."
12780 #. type: Plain text
12781 #: build/C/man5/proc.5:3225
12783 "Starting with Linux 2.4, there is no longer a static limit on the number of "
12784 "inodes, and this file is removed."
12788 #: build/C/man5/proc.5:3225
12790 msgid "I</proc/sys/fs/inode-nr>"
12793 #. type: Plain text
12794 #: build/C/man5/proc.5:3229
12795 msgid "This file contains the first two values from I<inode-state>."
12799 #: build/C/man5/proc.5:3229
12801 msgid "I</proc/sys/fs/inode-state>"
12804 #. type: Plain text
12805 #: build/C/man5/proc.5:3237
12807 "This file contains seven numbers: I<nr_inodes>, I<nr_free_inodes>, "
12808 "I<preshrink>, and four dummy values (always zero)."
12811 #. This can be slightly more than
12813 #. because Linux allocates them one page full at a time.
12814 #. type: Plain text
12815 #: build/C/man5/proc.5:3245
12817 "I<nr_inodes> is the number of inodes the system has allocated. "
12818 "I<nr_free_inodes> represents the number of free inodes."
12821 #. type: Plain text
12822 #: build/C/man5/proc.5:3253
12824 "I<preshrink> is nonzero when the I<nr_inodes> E<gt> I<inode-max> and the "
12825 "system needs to prune the inode list instead of allocating more; since Linux "
12826 "2.4, this field is a dummy value (always zero)."
12830 #: build/C/man5/proc.5:3253
12832 msgid "I</proc/sys/fs/inotify> (since Linux 2.6.13)"
12835 #. type: Plain text
12836 #: build/C/man5/proc.5:3262
12838 "This directory contains files I<max_queued_events>, I<max_user_instances>, "
12839 "and I<max_user_watches>, that can be used to limit the amount of kernel "
12840 "memory consumed by the I<inotify> interface. For further details, see "
12845 #: build/C/man5/proc.5:3262
12847 msgid "I</proc/sys/fs/lease-break-time>"
12850 #. type: Plain text
12851 #: build/C/man5/proc.5:3271
12853 "This file specifies the grace period that the kernel grants to a process "
12854 "holding a file lease (B<fcntl>(2)) after it has sent a signal to that "
12855 "process notifying it that another process is waiting to open the file. If "
12856 "the lease holder does not remove or downgrade the lease within this grace "
12857 "period, the kernel forcibly breaks the lease."
12861 #: build/C/man5/proc.5:3271
12863 msgid "I</proc/sys/fs/leases-enable>"
12866 #. type: Plain text
12867 #: build/C/man5/proc.5:3278
12869 "This file can be used to enable or disable file leases (B<fcntl>(2)) on a "
12870 "system-wide basis. If this file contains the value 0, leases are disabled. "
12871 "A nonzero value enables leases."
12875 #: build/C/man5/proc.5:3278
12877 msgid "I</proc/sys/fs/mqueue> (since Linux 2.6.6)"
12880 #. type: Plain text
12881 #: build/C/man5/proc.5:3286
12883 "This directory contains files I<msg_max>, I<msgsize_max>, and I<queues_max>, "
12884 "controlling the resources used by POSIX message queues. See "
12885 "B<mq_overview>(7) for details."
12889 #: build/C/man5/proc.5:3286
12891 msgid "I</proc/sys/fs/nr_open> (since Linux 2.6.25)"
12894 #. commit 9cfe015aa424b3c003baba3841a60dd9b5ad319b
12895 #. type: Plain text
12896 #: build/C/man5/proc.5:3298
12898 "This file imposes ceiling on the value to which the B<RLIMIT_NOFILE> "
12899 "resource limit can be raised (see B<getrlimit>(2)). This ceiling is "
12900 "enforced for both unprivileged and privileged process. The default value in "
12901 "this file is 1048576. (Before Linux 2.6.25, the ceiling for "
12902 "B<RLIMIT_NOFILE> was hard-coded to the same value.)"
12906 #: build/C/man5/proc.5:3298
12908 msgid "I</proc/sys/fs/overflowgid> and I</proc/sys/fs/overflowuid>"
12911 #. type: Plain text
12912 #: build/C/man5/proc.5:3308
12914 "These files allow you to change the value of the fixed UID and GID. The "
12915 "default is 65534. Some filesystems support only 16-bit UIDs and GIDs, "
12916 "although in Linux UIDs and GIDs are 32 bits. When one of these filesystems "
12917 "is mounted with writes enabled, any UID or GID that would exceed 65535 is "
12918 "translated to the overflow value before being written to disk."
12922 #: build/C/man5/proc.5:3308
12924 msgid "I</proc/sys/fs/pipe-max-size> (since Linux 2.6.35)"
12927 #. type: Plain text
12928 #: build/C/man5/proc.5:3322
12930 "The value in this file defines an upper limit for raising the capacity of a "
12931 "pipe using the B<fcntl>(2) B<F_SETPIPE_SZ> operation. This limit applies "
12932 "only to unprivileged processes. The default value for this file is "
12933 "1,048,576. The value assigned to this file may be rounded upward, to "
12934 "reflect the value actually employed for a convenient implementation. To "
12935 "determine the rounded-up value, display the contents of this file after "
12936 "assigning a value to it. The minimum value that can be assigned to this "
12937 "file is the system page size."
12941 #: build/C/man5/proc.5:3322
12943 msgid "I</proc/sys/fs/protected_hardlinks> (since Linux 3.6)"
12946 #. commit 800179c9b8a1e796e441674776d11cd4c05d61d7
12947 #. type: Plain text
12948 #: build/C/man5/proc.5:3331
12950 "When the value in this file is 0, no restrictions are placed on the creation "
12951 "of hard links (i.e., this is the historical behavior before Linux 3.6). "
12952 "When the value in this file is 1, a hard link can be created to a target "
12953 "file only if one of the following conditions is true:"
12956 #. type: Plain text
12957 #: build/C/man5/proc.5:3336
12958 msgid "The caller has the B<CAP_FOWNER> capability."
12961 #. type: Plain text
12962 #: build/C/man5/proc.5:3342
12964 "The filesystem UID of the process creating the link matches the owner (UID) "
12965 "of the target file (as described in B<credentials>(7), a process's "
12966 "filesystem UID is normally the same as its effective UID)."
12969 #. type: Plain text
12970 #: build/C/man5/proc.5:3344
12971 msgid "All of the following conditions are true:"
12974 #. type: Plain text
12975 #: build/C/man5/proc.5:3347
12976 msgid "the target is a regular file;"
12979 #. type: Plain text
12980 #: build/C/man5/proc.5:3349
12981 msgid "the target file does not have its set-user-ID permission bit enabled;"
12984 #. type: Plain text
12985 #: build/C/man5/proc.5:3352
12987 "the target file does not have both its set-group-ID and group-executable "
12988 "permission bits enabled; and"
12991 #. type: Plain text
12992 #: build/C/man5/proc.5:3356
12994 "the caller has permission to read and write the target file (either via the "
12995 "file's permissions mask or because it has suitable capabilities)."
12998 #. type: Plain text
12999 #: build/C/man5/proc.5:3372
13001 "The default value in this file is 0. Setting the value to 1 prevents a "
13002 "longstanding class of security issues caused by hard-link-based "
13003 "time-of-check, time-of-use races, most commonly seen in world-writable "
13004 "directories such as I</tmp>. The common method of exploiting this flaw is "
13005 "to cross privilege boundaries when following a given hard link (i.e., a root "
13006 "process follows a hard link created by another user). Additionally, on "
13007 "systems without separated partitions, this stops unauthorized users from "
13008 "\"pinning\" vulnerable set-user-ID and set-group-ID files against being "
13009 "upgraded by the administrator, or linking to special files."
13013 #: build/C/man5/proc.5:3372
13015 msgid "I</proc/sys/fs/protected_symlinks> (since Linux 3.6)"
13018 #. commit 800179c9b8a1e796e441674776d11cd4c05d61d7
13019 #. type: Plain text
13020 #: build/C/man5/proc.5:3380
13022 "When the value in this file is 0, no restrictions are placed on following "
13023 "symbolic links (i.e., this is the historical behavior before Linux 3.6). "
13024 "When the value in this file is 1, symbolic links are followed only in the "
13025 "following circumstances:"
13028 #. type: Plain text
13029 #: build/C/man5/proc.5:3387
13031 "the filesystem UID of the process following the link matches the owner (UID) "
13032 "of the symbolic link (as described in B<credentials>(7), a process's "
13033 "filesystem UID is normally the same as its effective UID);"
13036 #. type: Plain text
13037 #: build/C/man5/proc.5:3389
13038 msgid "the link is not in a sticky world-writable directory; or"
13041 #. type: Plain text
13042 #: build/C/man5/proc.5:3391
13043 msgid "the symbolic link and its parent directory have the same owner (UID)"
13046 #. type: Plain text
13047 #: build/C/man5/proc.5:3398
13049 "A system call that fails to follow a symbolic link because of the above "
13050 "restrictions returns the error B<EACCES> in I<errno>."
13053 #. type: Plain text
13054 #: build/C/man5/proc.5:3402
13056 "The default value in this file is 0. Setting the value to 1 avoids a "
13057 "longstanding class of security issues based on time-of-check, time-of-use "
13058 "races when accessing symbolic links."
13062 #: build/C/man5/proc.5:3402
13064 msgid "I</proc/sys/fs/suid_dumpable> (since Linux 2.6.13)"
13067 #. The following is based on text from Documentation/sysctl/kernel.txt
13068 #. type: Plain text
13069 #: build/C/man5/proc.5:3408
13071 "The value in this file determines whether core dump files are produced for "
13072 "set-user-ID or otherwise protected/tainted binaries. Three different "
13073 "integer values can be specified:"
13077 #: build/C/man5/proc.5:3409
13079 msgid "I<0\\ (default)>"
13082 #. type: Plain text
13083 #: build/C/man5/proc.5:3418
13085 "This provides the traditional (pre-Linux 2.6.13) behavior. A core dump will "
13086 "not be produced for a process which has changed credentials (by calling "
13087 "B<seteuid>(2), B<setgid>(2), or similar, or by executing a set-user-ID or "
13088 "set-group-ID program) or whose binary does not have read permission "
13093 #: build/C/man5/proc.5:3418
13095 msgid "I<1\\ (\"debug\")>"
13098 #. type: Plain text
13099 #: build/C/man5/proc.5:3425
13101 "All processes dump core when possible. The core dump is owned by the "
13102 "filesystem user ID of the dumping process and no security is applied. This "
13103 "is intended for system debugging situations only. Ptrace is unchecked."
13107 #: build/C/man5/proc.5:3425
13109 msgid "I<2\\ (\"suidsafe\")>"
13112 #. type: Plain text
13113 #: build/C/man5/proc.5:3434
13115 "Any binary which normally would not be dumped (see \"0\" above) is dumped "
13116 "readable by root only. This allows the user to remove the core dump file "
13117 "but not to read it. For security reasons core dumps in this mode will not "
13118 "overwrite one another or other files. This mode is appropriate when "
13119 "administrators are attempting to debug problems in a normal environment."
13122 #. 9520628e8ceb69fa9a4aee6b57f22675d9e1b709
13123 #. 54b501992dd2a839e94e76aa392c392b55080ce8
13124 #. type: Plain text
13125 #: build/C/man5/proc.5:3445
13127 "Additionally, since Linux 3.6, I</proc/sys/kernel/core_pattern> must either "
13128 "be an absolute pathname or a pipe command, as detailed in B<core>(5). "
13129 "Warnings will be written to the kernel log if I<core_pattern> does not "
13130 "follow these rules, and no core dump will be produced."
13134 #: build/C/man5/proc.5:3446
13136 msgid "I</proc/sys/fs/super-max>"
13139 #. type: Plain text
13140 #: build/C/man5/proc.5:3457
13142 "This file controls the maximum number of superblocks, and thus the maximum "
13143 "number of mounted filesystems the kernel can have. You need increase only "
13144 "I<super-max> if you need to mount more filesystems than the current value in "
13145 "I<super-max> allows you to."
13149 #: build/C/man5/proc.5:3457
13151 msgid "I</proc/sys/fs/super-nr>"
13154 #. type: Plain text
13155 #: build/C/man5/proc.5:3461
13156 msgid "This file contains the number of filesystems currently mounted."
13160 #: build/C/man5/proc.5:3461
13162 msgid "I</proc/sys/kernel>"
13165 #. type: Plain text
13166 #: build/C/man5/proc.5:3465
13168 "This directory contains files controlling a range of kernel parameters, as "
13173 #: build/C/man5/proc.5:3465
13175 msgid "I</proc/sys/kernel/acct>"
13178 #. type: Plain text
13179 #: build/C/man5/proc.5:3489
13181 "This file contains three numbers: I<highwater>, I<lowwater>, and "
13182 "I<frequency>. If BSD-style process accounting is enabled, these values "
13183 "control its behavior. If free space on filesystem where the log lives goes "
13184 "below I<lowwater> percent, accounting suspends. If free space gets above "
13185 "I<highwater> percent, accounting resumes. I<frequency> determines how often "
13186 "the kernel checks the amount of free space (value is in seconds). Default "
13187 "values are 4, 2 and 30. That is, suspend accounting if 2% or less space is "
13188 "free; resume it if 4% or more space is free; consider information about "
13189 "amount of free space valid for 30 seconds."
13193 #: build/C/man5/proc.5:3489
13195 msgid "I</proc/sys/kernel/cap_last_cap> (since Linux 3.2)"
13198 #. type: Plain text
13199 #: build/C/man5/proc.5:3493
13200 msgid "See B<capabilities>(7)."
13204 #: build/C/man5/proc.5:3493
13206 msgid "I</proc/sys/kernel/cap-bound> (from Linux 2.2 to 2.6.24)"
13209 #. type: Plain text
13210 #: build/C/man5/proc.5:3505
13212 "This file holds the value of the kernel I<capability bounding set> "
13213 "(expressed as a signed decimal number). This set is ANDed against the "
13214 "capabilities permitted to a process during B<execve>(2). Starting with "
13215 "Linux 2.6.25, the system-wide capability bounding set disappeared, and was "
13216 "replaced by a per-thread bounding set; see B<capabilities>(7)."
13220 #: build/C/man5/proc.5:3505
13222 msgid "I</proc/sys/kernel/core_pattern>"
13226 #: build/C/man5/proc.5:3509
13228 msgid "I</proc/sys/kernel/core_uses_pid>"
13232 #: build/C/man5/proc.5:3513
13234 msgid "I</proc/sys/kernel/ctrl-alt-del>"
13237 #. type: Plain text
13238 #: build/C/man5/proc.5:3528
13240 "This file controls the handling of Ctrl-Alt-Del from the keyboard. When the "
13241 "value in this file is 0, Ctrl-Alt-Del is trapped and sent to the B<init>(1) "
13242 "program to handle a graceful restart. When the value is greater than zero, "
13243 "Linux's reaction to a Vulcan Nerve Pinch (tm) will be an immediate reboot, "
13244 "without even syncing its dirty buffers. Note: when a program (like dosemu) "
13245 "has the keyboard in \"raw\" mode, the ctrl-alt-del is intercepted by the "
13246 "program before it ever reaches the kernel tty layer, and it's up to the "
13247 "program to decide what to do with it."
13251 #: build/C/man5/proc.5:3528
13253 msgid "I</proc/sys/kernel/dmesg_restrict> (since Linux 2.6.37)"
13256 #. commit 620f6e8e855d6d447688a5f67a4e176944a084e8
13257 #. type: Plain text
13258 #: build/C/man5/proc.5:3541
13260 "The value in this file determines who can see kernel syslog contents. A "
13261 "value of 0 in this file imposes no restrictions. If the value is 1, only "
13262 "privileged users can read the kernel syslog. (See B<syslog>(2) for more "
13263 "details.) Since Linux 3.4, only users with the B<CAP_SYS_ADMIN> capability "
13264 "may change the value in this file."
13268 #: build/C/man5/proc.5:3541
13270 msgid "I</proc/sys/kernel/domainname> and I</proc/sys/kernel/hostname>"
13273 #. type: Plain text
13274 #: build/C/man5/proc.5:3549
13276 "can be used to set the NIS/YP domainname and the hostname of your box in "
13277 "exactly the same way as the commands B<domainname>(1) and B<hostname>(1), "
13281 #. type: Plain text
13282 #: build/C/man5/proc.5:3554
13285 "#B< echo \\(aqdarkstar\\(aq E<gt> /proc/sys/kernel/hostname>\n"
13286 "#B< echo \\(aqmydomain\\(aq E<gt> /proc/sys/kernel/domainname>\n"
13289 #. type: Plain text
13290 #: build/C/man5/proc.5:3558
13291 msgid "has the same effect as"
13294 #. type: Plain text
13295 #: build/C/man5/proc.5:3563
13298 "#B< hostname \\(aqdarkstar\\(aq>\n"
13299 "#B< domainname \\(aqmydomain\\(aq>\n"
13302 #. type: Plain text
13303 #: build/C/man5/proc.5:3576
13305 "Note, however, that the classic darkstar.frop.org has the hostname "
13306 "\"darkstar\" and DNS (Internet Domain Name Server) domainname \"frop.org\", "
13307 "not to be confused with the NIS (Network Information Service) or YP (Yellow "
13308 "Pages) domainname. These two domain names are in general different. For a "
13309 "detailed discussion see the B<hostname>(1) man page."
13313 #: build/C/man5/proc.5:3576
13315 msgid "I</proc/sys/kernel/hotplug>"
13318 #. type: Plain text
13319 #: build/C/man5/proc.5:3582
13321 "This file contains the path for the hotplug policy agent. The default value "
13322 "in this file is I</sbin/hotplug>."
13326 #: build/C/man5/proc.5:3582
13328 msgid "I</proc/sys/kernel/htab-reclaim>"
13331 #. type: Plain text
13332 #: build/C/man5/proc.5:3590
13334 "(PowerPC only) If this file is set to a nonzero value, the PowerPC htab (see "
13335 "kernel file I<Documentation/powerpc/ppc_htab.txt>) is pruned each time the "
13336 "system hits the idle loop."
13340 #: build/C/man5/proc.5:3590
13342 msgid "I</proc/sys/kernel/kptr_restrict> (since Linux 2.6.38)"
13345 #. 455cd5ab305c90ffc422dd2e0fb634730942b257
13346 #. commit 411f05f123cbd7f8aa1edcae86970755a6e2a9d9
13347 #. commit 620f6e8e855d6d447688a5f67a4e176944a084e8
13348 #. type: Plain text
13349 #: build/C/man5/proc.5:3615
13351 "The value in this file determines whether kernel addresses are exposed via "
13352 "I</proc> files and other interfaces. A value of 0 in this file imposes no "
13353 "restrictions. If the value is 1, kernel pointers printed using the I<%pK> "
13354 "format specifier will be replaced with zeros unless the user has the "
13355 "B<CAP_SYSLOG> capability. If the value is 2, kernel pointers printed using "
13356 "the I<%pK> format specifier will be replaced with zeros regardless of the "
13357 "user's capabilities. The initial default value for this file was 1, but the "
13358 "default was changed to 0 in Linux 2.6.39. Since Linux 3.4, only users with "
13359 "the B<CAP_SYS_ADMIN> capability can change the value in this file."
13363 #: build/C/man5/proc.5:3615
13365 msgid "I</proc/sys/kernel/l2cr>"
13368 #. type: Plain text
13369 #: build/C/man5/proc.5:3622
13371 "(PowerPC only) This file contains a flag that controls the L2 cache of G3 "
13372 "processor boards. If 0, the cache is disabled. Enabled if nonzero."
13376 #: build/C/man5/proc.5:3622
13378 msgid "I</proc/sys/kernel/modprobe>"
13381 #. type: Plain text
13382 #: build/C/man5/proc.5:3635
13384 "This file contains the path for the kernel module loader. The default value "
13385 "is I</sbin/modprobe>. The file is present only if the kernel is built with "
13386 "the B<CONFIG_MODULES> (B<CONFIG_KMOD> in Linux 2.6.26 and earlier) option "
13387 "enabled. It is described by the Linux kernel source file "
13388 "I<Documentation/kmod.txt> (present only in kernel 2.4 and earlier)."
13392 #: build/C/man5/proc.5:3635
13394 msgid "I</proc/sys/kernel/modules_disabled> (since Linux 2.6.31)"
13397 #. 3d43321b7015387cfebbe26436d0e9d299162ea1
13398 #. From Documentation/sysctl/kernel.txt
13399 #. type: Plain text
13400 #: build/C/man5/proc.5:3647
13402 "A toggle value indicating if modules are allowed to be loaded in an "
13403 "otherwise modular kernel. This toggle defaults to off (0), but can be set "
13404 "true (1). Once true, modules can be neither loaded nor unloaded, and the "
13405 "toggle cannot be set back to false. The file is present only if the kernel "
13406 "is built with the B<CONFIG_MODULES> option enabled."
13410 #: build/C/man5/proc.5:3647
13412 msgid "I</proc/sys/kernel/msgmax> (since Linux 2.2)"
13415 #. type: Plain text
13416 #: build/C/man5/proc.5:3652
13418 "This file defines a system-wide limit specifying the maximum number of bytes "
13419 "in a single message written on a System V message queue."
13423 #: build/C/man5/proc.5:3652
13425 msgid "I</proc/sys/kernel/msgmni> (since Linux 2.4)"
13428 #. type: Plain text
13429 #: build/C/man5/proc.5:3656
13431 "This file defines the system-wide limit on the number of message queue "
13436 #: build/C/man5/proc.5:3656
13438 msgid "I</proc/sys/kernel/msgmnb> (since Linux 2.2)"
13441 #. type: Plain text
13442 #: build/C/man5/proc.5:3665
13444 "This file defines a system-wide parameter used to initialize the "
13445 "I<msg_qbytes> setting for subsequently created message queues. The "
13446 "I<msg_qbytes> setting specifies the maximum number of bytes that may be "
13447 "written to the message queue."
13451 #: build/C/man5/proc.5:3665
13453 msgid "I</proc/sys/kernel/ngroups_max> (since Linux 2.6.4)"
13456 #. type: Plain text
13457 #: build/C/man5/proc.5:3669
13459 "This is a read-only file that displays the upper limit on the number of a "
13460 "process's group memberships."
13464 #: build/C/man5/proc.5:3669
13466 msgid "I</proc/sys/kernel/ostype> and I</proc/sys/kernel/osrelease>"
13469 #. type: Plain text
13470 #: build/C/man5/proc.5:3674
13471 msgid "These files give substrings of I</proc/version>."
13475 #: build/C/man5/proc.5:3674
13477 msgid "I</proc/sys/kernel/overflowgid> and I</proc/sys/kernel/overflowuid>"
13480 #. type: Plain text
13481 #: build/C/man5/proc.5:3680
13483 "These files duplicate the files I</proc/sys/fs/overflowgid> and "
13484 "I</proc/sys/fs/overflowuid>."
13488 #: build/C/man5/proc.5:3680
13490 msgid "I</proc/sys/kernel/panic>"
13493 #. type: Plain text
13494 #: build/C/man5/proc.5:3689
13496 "This file gives read/write access to the kernel variable I<panic_timeout>. "
13497 "If this is zero, the kernel will loop on a panic; if nonzero, it indicates "
13498 "that the kernel should autoreboot after this number of seconds. When you "
13499 "use the software watchdog device driver, the recommended setting is 60."
13503 #: build/C/man5/proc.5:3689
13505 msgid "I</proc/sys/kernel/panic_on_oops> (since Linux 2.5.68)"
13508 #. type: Plain text
13509 #: build/C/man5/proc.5:3701
13511 "This file controls the kernel's behavior when an oops or BUG is "
13512 "encountered. If this file contains 0, then the system tries to continue "
13513 "operation. If it contains 1, then the system delays a few seconds (to give "
13514 "klogd time to record the oops output) and then panics. If the "
13515 "I</proc/sys/kernel/panic> file is also nonzero, then the machine will be "
13520 #: build/C/man5/proc.5:3701
13522 msgid "I</proc/sys/kernel/pid_max> (since Linux 2.5.34)"
13525 #. Prior to 2.6.10, pid_max could also be raised above 32768 on 32-bit
13526 #. platforms, but this broke /proc/[pid]
13527 #. See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2
13528 #. type: Plain text
13529 #: build/C/man5/proc.5:3720
13531 "This file specifies the value at which PIDs wrap around (i.e., the value in "
13532 "this file is one greater than the maximum PID). PIDs greater than this "
13533 "value are not allocated; thus, the value in this file also acts as a "
13534 "system-wide limit on the total number of processes and threads. The default "
13535 "value for this file, 32768, results in the same range of PIDs as on earlier "
13536 "kernels. On 32-bit platforms, 32768 is the maximum value for I<pid_max>. "
13537 "On 64-bit systems, I<pid_max> can be set to any value up to 2^22 "
13538 "(B<PID_MAX_LIMIT>, approximately 4 million)."
13542 #: build/C/man5/proc.5:3720
13544 msgid "I</proc/sys/kernel/powersave-nap> (PowerPC only)"
13547 #. type: Plain text
13548 #: build/C/man5/proc.5:3726
13550 "This file contains a flag. If set, Linux-PPC will use the \"nap\" mode of "
13551 "powersaving, otherwise the \"doze\" mode will be used."
13555 #: build/C/man5/proc.5:3726
13557 msgid "I</proc/sys/kernel/printk>"
13560 #. type: Plain text
13561 #: build/C/man5/proc.5:3730
13562 msgid "See B<syslog>(2)."
13566 #: build/C/man5/proc.5:3730
13568 msgid "I</proc/sys/kernel/pty> (since Linux 2.6.4)"
13571 #. type: Plain text
13572 #: build/C/man5/proc.5:3736
13574 "This directory contains two files relating to the number of UNIX 98 "
13575 "pseudoterminals (see B<pts>(4)) on the system."
13579 #: build/C/man5/proc.5:3736
13581 msgid "I</proc/sys/kernel/pty/max>"
13584 #. type: Plain text
13585 #: build/C/man5/proc.5:3739
13586 msgid "This file defines the maximum number of pseudoterminals."
13590 #: build/C/man5/proc.5:3739
13592 msgid "I</proc/sys/kernel/pty/nr>"
13595 #. type: Plain text
13596 #: build/C/man5/proc.5:3743
13597 msgid "This read-only file indicates how many pseudoterminals are currently in use."
13601 #: build/C/man5/proc.5:3743
13603 msgid "I</proc/sys/kernel/random>"
13606 #. type: Plain text
13607 #: build/C/man5/proc.5:3751
13609 "This directory contains various parameters controlling the operation of the "
13610 "file I</dev/random>. See B<random>(4) for further information."
13614 #: build/C/man5/proc.5:3751
13616 msgid "I</proc/sys/kernel/random/uuid> (since Linux 2.4)"
13619 #. type: Plain text
13620 #: build/C/man5/proc.5:3755
13622 "Each read from this read-only file returns a randomly generated 128-bit "
13623 "UUID, as a string in the standard UUID format."
13627 #: build/C/man5/proc.5:3755
13629 msgid "I</proc/sys/kernel/real-root-dev>"
13632 #. type: Plain text
13633 #: build/C/man5/proc.5:3759
13635 "This file is documented in the Linux kernel source file "
13636 "I<Documentation/initrd.txt>."
13640 #: build/C/man5/proc.5:3759
13642 msgid "I</proc/sys/kernel/reboot-cmd> (Sparc only) "
13645 #. type: Plain text
13646 #: build/C/man5/proc.5:3765
13648 "This file seems to be a way to give an argument to the SPARC ROM/Flash boot "
13649 "loader. Maybe to tell it what to do after rebooting?"
13653 #: build/C/man5/proc.5:3765
13655 msgid "I</proc/sys/kernel/rtsig-max>"
13658 #. type: Plain text
13659 #: build/C/man5/proc.5:3772
13661 "(Only in kernels up to and including 2.6.7; see B<setrlimit>(2)) This file "
13662 "can be used to tune the maximum number of POSIX real-time (queued) signals "
13663 "that can be outstanding in the system."
13667 #: build/C/man5/proc.5:3772
13669 msgid "I</proc/sys/kernel/rtsig-nr>"
13672 #. type: Plain text
13673 #: build/C/man5/proc.5:3776
13675 "(Only in kernels up to and including 2.6.7.) This file shows the number "
13676 "POSIX real-time signals currently queued."
13680 #: build/C/man5/proc.5:3776
13682 msgid "I</proc/sys/kernel/sched_rr_timeslice_ms> (since Linux 3.9)"
13685 #. type: Plain text
13686 #: build/C/man5/proc.5:3780
13687 msgid "See B<sched_rr_get_interval>(2)."
13691 #: build/C/man5/proc.5:3780
13693 msgid "I</proc/sys/kernel/sched_rt_period_us> (Since Linux 2.6.25)"
13696 #. type: Plain text
13697 #: build/C/man5/proc.5:3784 build/C/man5/proc.5:3788
13698 msgid "See B<sched>(7)."
13702 #: build/C/man5/proc.5:3784
13704 msgid "I</proc/sys/kernel/sched_rt_runtime_us> (Since Linux 2.6.25)"
13708 #: build/C/man5/proc.5:3788
13710 msgid "I</proc/sys/kernel/sem> (since Linux 2.4)"
13713 #. type: Plain text
13714 #: build/C/man5/proc.5:3792
13716 "This file contains 4 numbers defining limits for System V IPC semaphores. "
13717 "These fields are, in order:"
13721 #: build/C/man5/proc.5:3793
13726 #. type: Plain text
13727 #: build/C/man5/proc.5:3795
13728 msgid "The maximum semaphores per semaphore set."
13732 #: build/C/man5/proc.5:3795
13737 #. type: Plain text
13738 #: build/C/man5/proc.5:3797
13739 msgid "A system-wide limit on the number of semaphores in all semaphore sets."
13743 #: build/C/man5/proc.5:3797
13748 #. type: Plain text
13749 #: build/C/man5/proc.5:3801
13751 "The maximum number of operations that may be specified in a B<semop>(2) "
13756 #: build/C/man5/proc.5:3801
13761 #. type: Plain text
13762 #: build/C/man5/proc.5:3803
13763 msgid "A system-wide limit on the maximum number of semaphore identifiers."
13767 #: build/C/man5/proc.5:3804
13769 msgid "I</proc/sys/kernel/sg-big-buff>"
13772 #. type: Plain text
13773 #: build/C/man5/proc.5:3815
13775 "This file shows the size of the generic SCSI device (sg) buffer. You can't "
13776 "tune it just yet, but you could change it at compile time by editing "
13777 "I<include/scsi/sg.h> and changing the value of B<SG_BIG_BUFF>. However, "
13778 "there shouldn't be any reason to change this value."
13782 #: build/C/man5/proc.5:3815
13784 msgid "I</proc/sys/kernel/shm_rmid_forced> (since Linux 3.1)"
13787 #. commit b34a6b1da371ed8af1221459a18c67970f7e3d53
13788 #. See also Documentation/sysctl/kernel.txt
13789 #. type: Plain text
13790 #: build/C/man5/proc.5:3824
13792 "If this file is set to 1, all System V shared memory segments will be marked "
13793 "for destruction as soon as the number of attached processes falls to zero; "
13794 "in other words, it is no longer possible to create shared memory segments "
13795 "that exist independently of any attached process."
13798 #. type: Plain text
13799 #: build/C/man5/proc.5:3836
13801 "The effect is as though a B<shmctl>(2) B<IPC_RMID> is performed on all "
13802 "existing segments as well as all segments created in the future (until this "
13803 "file is reset to 0). Note that existing segments that are attached to no "
13804 "process will be immediately destroyed when this file is set to 1. Setting "
13805 "this option will also destroy segments that were created, but never "
13806 "attached, upon termination of the process that created the segment with "
13810 #. type: Plain text
13811 #: build/C/man5/proc.5:3844
13813 "Setting this file to 1 provides a way of ensuring that all System V shared "
13814 "memory segments are counted against the resource usage and resource limits "
13815 "(see the description of B<RLIMIT_AS> in B<getrlimit>(2)) of at least one "
13819 #. type: Plain text
13820 #: build/C/man5/proc.5:3851
13822 "Because setting this file to 1 produces behavior that is nonstandard and "
13823 "could also break existing applications, the default value in this file is "
13824 "0. Only set this file to 1 if you have a good understanding of the "
13825 "semantics of the applications using System V shared memory on your system."
13829 #: build/C/man5/proc.5:3851
13831 msgid "I</proc/sys/kernel/shmall> (since Linux 2.2)"
13834 #. type: Plain text
13835 #: build/C/man5/proc.5:3856
13837 "This file contains the system-wide limit on the total number of pages of "
13838 "System V shared memory."
13842 #: build/C/man5/proc.5:3856
13844 msgid "I</proc/sys/kernel/shmmax> (since Linux 2.2)"
13847 #. type: Plain text
13848 #: build/C/man5/proc.5:3866
13850 "This file can be used to query and set the run-time limit on the maximum "
13851 "(System V IPC) shared memory segment size that can be created. Shared "
13852 "memory segments up to 1GB are now supported in the kernel. This value "
13853 "defaults to B<SHMMAX>."
13857 #: build/C/man5/proc.5:3866
13859 msgid "I</proc/sys/kernel/shmmni> (since Linux 2.4)"
13862 #. type: Plain text
13863 #: build/C/man5/proc.5:3871
13865 "This file specifies the system-wide maximum number of System V shared memory "
13866 "segments that can be created."
13870 #: build/C/man5/proc.5:3871
13872 msgid "I</proc/sys/kernel/sysrq>"
13875 #. type: Plain text
13876 #: build/C/man5/proc.5:3880
13878 "This file controls the functions allowed to be invoked by the SysRq key. By "
13879 "default, the file contains 1 meaning that every possible SysRq request is "
13880 "allowed (in older kernel versions, SysRq was disabled by default, and you "
13881 "were required to specifically enable it at run-time, but this is not the "
13882 "case any more). Possible values in this file are:"
13885 #. type: Plain text
13886 #: build/C/man5/proc.5:3892
13889 " 0 - disable sysrq completely\n"
13890 " 1 - enable all functions of sysrq\n"
13891 " E<gt>1 - bit mask of allowed sysrq functions, as follows:\n"
13892 " 2 - enable control of console logging level\n"
13893 " 4 - enable control of keyboard (SAK, unraw)\n"
13894 " 8 - enable debugging dumps of processes etc.\n"
13895 " 16 - enable sync command\n"
13896 " 32 - enable remount read-only\n"
13897 " 64 - enable signaling of processes (term, kill, oom-kill)\n"
13898 " 128 - allow reboot/poweroff\n"
13899 " 256 - allow nicing of all real-time tasks\n"
13902 #. type: Plain text
13903 #: build/C/man5/proc.5:3898
13905 "This file is present only if the B<CONFIG_MAGIC_SYSRQ> kernel configuration "
13906 "option is enabled. For further details see the Linux kernel source file "
13907 "I<Documentation/sysrq.txt>."
13911 #: build/C/man5/proc.5:3898
13913 msgid "I</proc/sys/kernel/version>"
13916 #. type: Plain text
13917 #: build/C/man5/proc.5:3901
13918 msgid "This file contains a string like:"
13921 #. type: Plain text
13922 #: build/C/man5/proc.5:3903
13924 msgid " #5 Wed Feb 25 21:49:24 MET 1998\n"
13927 #. type: Plain text
13928 #: build/C/man5/proc.5:3907
13930 "The \"#5\" means that this is the fifth kernel built from this source base "
13931 "and the date behind it indicates the time the kernel was built."
13935 #: build/C/man5/proc.5:3907
13937 msgid "I</proc/sys/kernel/threads-max> (since Linux 2.3.11)"
13940 #. type: Plain text
13941 #: build/C/man5/proc.5:3911
13943 "This file specifies the system-wide limit on the number of threads (tasks) "
13944 "that can be created on the system."
13948 #: build/C/man5/proc.5:3911
13950 msgid "I</proc/sys/kernel/zero-paged> (PowerPC only) "
13953 #. type: Plain text
13954 #: build/C/man5/proc.5:3917
13956 "This file contains a flag. When enabled (nonzero), Linux-PPC will pre-zero "
13957 "pages in the idle loop, possibly speeding up get_free_pages."
13961 #: build/C/man5/proc.5:3917
13963 msgid "I</proc/sys/net>"
13966 #. type: Plain text
13967 #: build/C/man5/proc.5:3924
13969 "This directory contains networking stuff. Explanations for some of the "
13970 "files under this directory can be found in B<tcp>(7) and B<ip>(7)."
13974 #: build/C/man5/proc.5:3924
13976 msgid "I</proc/sys/net/core/somaxconn>"
13979 #. type: Plain text
13980 #: build/C/man5/proc.5:3933
13982 "This file defines a ceiling value for the I<backlog> argument of "
13983 "B<listen>(2); see the B<listen>(2) manual page for details."
13987 #: build/C/man5/proc.5:3933
13989 msgid "I</proc/sys/proc>"
13993 #: build/C/man5/proc.5:3936
13995 msgid "I</proc/sys/sunrpc>"
13998 #. type: Plain text
13999 #: build/C/man5/proc.5:3941
14001 "This directory supports Sun remote procedure call for network filesystem "
14002 "(NFS). On some systems, it is not present."
14006 #: build/C/man5/proc.5:3941
14008 msgid "I</proc/sys/vm>"
14011 #. type: Plain text
14012 #: build/C/man5/proc.5:3945
14014 "This directory contains files for memory management tuning, buffer and cache "
14019 #: build/C/man5/proc.5:3945
14021 msgid "I</proc/sys/vm/drop_caches> (since Linux 2.6.16)"
14024 #. type: Plain text
14025 #: build/C/man5/proc.5:3953
14027 "Writing to this file causes the kernel to drop clean caches, dentries, and "
14028 "inodes from memory, causing that memory to become free. This can be useful "
14029 "for memory management testing and performing reproducible filesystem "
14030 "benchmarks. Because writing to this file causes the benefits of caching to "
14031 "be lost, it can degrade overall system performance."
14034 #. type: Plain text
14035 #: build/C/man5/proc.5:3955
14036 msgid "To free pagecache, use:"
14039 #. type: Plain text
14040 #: build/C/man5/proc.5:3957
14042 msgid " echo 1 E<gt> /proc/sys/vm/drop_caches\n"
14045 #. type: Plain text
14046 #: build/C/man5/proc.5:3959
14047 msgid "To free dentries and inodes, use:"
14050 #. type: Plain text
14051 #: build/C/man5/proc.5:3961
14053 msgid " echo 2 E<gt> /proc/sys/vm/drop_caches\n"
14056 #. type: Plain text
14057 #: build/C/man5/proc.5:3963
14058 msgid "To free pagecache, dentries and inodes, use:"
14061 #. type: Plain text
14062 #: build/C/man5/proc.5:3965
14064 msgid " echo 3 E<gt> /proc/sys/vm/drop_caches\n"
14067 #. type: Plain text
14068 #: build/C/man5/proc.5:3971
14070 "Because writing to this file is a nondestructive operation and dirty objects "
14071 "are not freeable, the user should run B<sync>(1) first."
14075 #: build/C/man5/proc.5:3971
14077 msgid "I</proc/sys/vm/legacy_va_layout> (since Linux 2.6.9)"
14080 #. The following is from Documentation/filesystems/proc.txt
14081 #. type: Plain text
14082 #: build/C/man5/proc.5:3976
14084 "If nonzero, this disables the new 32-bit memory-mapping layout; the kernel "
14085 "will use the legacy (2.4) layout for all processes."
14089 #: build/C/man5/proc.5:3976
14091 msgid "I</proc/sys/vm/memory_failure_early_kill> (since Linux 2.6.32)"
14094 #. The following is based on the text in Documentation/sysctl/vm.txt
14095 #. type: Plain text
14096 #: build/C/man5/proc.5:3988
14098 "Control how to kill processes when an uncorrected memory error (typically a "
14099 "2-bit error in a memory module) that cannot be handled by the kernel is "
14100 "detected in the background by hardware. In some cases (like the page still "
14101 "having a valid copy on disk), the kernel will handle the failure "
14102 "transparently without affecting any applications. But if there is no other "
14103 "up-to-date copy of the data, it will kill processes to prevent any data "
14104 "corruptions from propagating."
14107 #. type: Plain text
14108 #: build/C/man5/proc.5:3990
14109 msgid "The file has one of the following values:"
14113 #: build/C/man5/proc.5:3991 build/C/man5/proc.5:4028
14118 #. type: Plain text
14119 #: build/C/man5/proc.5:3996
14121 "Kill all processes that have the corrupted-and-not-reloadable page mapped as "
14122 "soon as the corruption is detected. Note this is not supported for a few "
14123 "types of pages, like kernel internally allocated data or the swap cache, but "
14124 "works for the majority of user pages."
14128 #: build/C/man5/proc.5:3996 build/C/man5/proc.5:4030
14133 #. type: Plain text
14134 #: build/C/man5/proc.5:3999
14136 "Only unmap the corrupted page from all processes and kill only a process "
14137 "that tries to access it."
14140 #. type: Plain text
14141 #: build/C/man5/proc.5:4010
14143 "The kill is performed using a B<SIGBUS> signal with I<si_code> set to "
14144 "B<BUS_MCEERR_AO>. Processes can handle this if they want to; see "
14145 "B<sigaction>(2) for more details."
14148 #. type: Plain text
14149 #: build/C/man5/proc.5:4013
14151 "This feature is active only on architectures/platforms with advanced machine "
14152 "check handling and depends on the hardware capabilities."
14155 #. type: Plain text
14156 #: build/C/man5/proc.5:4020
14158 "Applications can override the I<memory_failure_early_kill> setting "
14159 "individually with the B<prctl>(2) B<PR_MCE_KILL> operation."
14162 #. type: Plain text
14163 #: build/C/man5/proc.5:4023 build/C/man5/proc.5:4036
14164 msgid "Only present if the kernel was configured with B<CONFIG_MEMORY_FAILURE>."
14168 #: build/C/man5/proc.5:4023
14170 msgid "I</proc/sys/vm/memory_failure_recovery> (since Linux 2.6.32)"
14173 #. The following is based on the text in Documentation/sysctl/vm.txt
14174 #. type: Plain text
14175 #: build/C/man5/proc.5:4027
14176 msgid "Enable memory failure recovery (when supported by the platform)"
14179 #. type: Plain text
14180 #: build/C/man5/proc.5:4030
14181 msgid "Attempt recovery."
14184 #. type: Plain text
14185 #: build/C/man5/proc.5:4032
14186 msgid "Always panic on a memory failure."
14190 #: build/C/man5/proc.5:4036
14192 msgid "I</proc/sys/vm/oom_dump_tasks> (since Linux 2.6.25)"
14195 #. The following is from Documentation/sysctl/vm.txt
14196 #. type: Plain text
14197 #: build/C/man5/proc.5:4051
14199 "Enables a system-wide task dump (excluding kernel threads) to be produced "
14200 "when the kernel performs an OOM-killing. The dump includes the following "
14201 "information for each task (thread, process): thread ID, real user ID, thread "
14202 "group ID (process ID), virtual memory size, resident set size, the CPU that "
14203 "the task is scheduled on, oom_adj score (see the description of "
14204 "I</proc/[pid]/oom_adj>), and command name. This is helpful to determine why "
14205 "the OOM-killer was invoked and to identify the rogue task that caused it."
14208 #. type: Plain text
14209 #: build/C/man5/proc.5:4057
14211 "If this contains the value zero, this information is suppressed. On very "
14212 "large systems with thousands of tasks, it may not be feasible to dump the "
14213 "memory state information for each one. Such systems should not be forced to "
14214 "incur a performance penalty in OOM situations when the information may not "
14218 #. type: Plain text
14219 #: build/C/man5/proc.5:4060
14221 "If this is set to nonzero, this information is shown whenever the OOM-killer "
14222 "actually kills a memory-hogging task."
14225 #. type: Plain text
14226 #: build/C/man5/proc.5:4062 build/C/man5/proc.5:4083
14227 msgid "The default value is 0."
14231 #: build/C/man5/proc.5:4062
14233 msgid "I</proc/sys/vm/oom_kill_allocating_task> (since Linux 2.6.24)"
14236 #. The following is from Documentation/sysctl/vm.txt
14237 #. type: Plain text
14238 #: build/C/man5/proc.5:4067
14240 "This enables or disables killing the OOM-triggering task in out-of-memory "
14244 #. type: Plain text
14245 #: build/C/man5/proc.5:4072
14247 "If this is set to zero, the OOM-killer will scan through the entire tasklist "
14248 "and select a task based on heuristics to kill. This normally selects a "
14249 "rogue memory-hogging task that frees up a large amount of memory when "
14253 #. type: Plain text
14254 #: build/C/man5/proc.5:4076
14256 "If this is set to nonzero, the OOM-killer simply kills the task that "
14257 "triggered the out-of-memory condition. This avoids a possibly expensive "
14261 #. type: Plain text
14262 #: build/C/man5/proc.5:4081
14264 "If I</proc/sys/vm/panic_on_oom> is nonzero, it takes precedence over "
14265 "whatever value is used in I</proc/sys/vm/oom_kill_allocating_task>."
14269 #: build/C/man5/proc.5:4083
14271 msgid "I</proc/sys/vm/overcommit_kbytes> (since Linux 3.14)"
14274 #. commit 49f0ce5f92321cdcf741e35f385669a421013cb7
14275 #. type: Plain text
14276 #: build/C/man5/proc.5:4100
14278 "This writable file provides an alternative to "
14279 "I</proc/sys/vm/overcommit_ratio> for controlling the I<CommitLimit> when "
14280 "I</proc/sys/vm/overcommit_memory> has the value 2. It allows the amount of "
14281 "memory overcommitting to be specified as an absolute value (in kB), rather "
14282 "than as a percentage, as is done with I<overcommit_ratio>. This allows for "
14283 "finer-grained control of I<CommitLimit> on systems with extremely large "
14287 #. type: Plain text
14288 #: build/C/man5/proc.5:4115
14290 "Only one of I<overcommit_kbytes> or I<overcommit_ratio> can have an effect: "
14291 "if I<overcommit_kbytes> has a nonzero value, then it is used to calculate "
14292 "I<CommitLimit>, otherwise I<overcommit_ratio> is used. Writing a value to "
14293 "either of these files causes the value in the other file to be set to zero."
14297 #: build/C/man5/proc.5:4115
14299 msgid "I</proc/sys/vm/overcommit_memory>"
14302 #. type: Plain text
14303 #: build/C/man5/proc.5:4119
14304 msgid "This file contains the kernel virtual memory accounting mode. Values are:"
14307 #. type: Plain text
14308 #: build/C/man5/proc.5:4122
14309 msgid "0: heuristic overcommit (this is the default)"
14312 #. type: Plain text
14313 #: build/C/man5/proc.5:4124
14314 msgid "1: always overcommit, never check"
14317 #. type: Plain text
14318 #: build/C/man5/proc.5:4126
14319 msgid "2: always check, never overcommit"
14322 #. type: Plain text
14323 #: build/C/man5/proc.5:4135
14325 "In mode 0, calls of B<mmap>(2) with B<MAP_NORESERVE> are not checked, and "
14326 "the default check is very weak, leading to the risk of getting a process "
14327 "\"OOM-killed\". Under Linux 2.4, any nonzero value implies mode 1."
14330 #. type: Plain text
14331 #: build/C/man5/proc.5:4142
14333 "In mode 2 (available since Linux 2.6), the total virtual address space that "
14334 "can be allocated (I<CommitLimit> in I</proc/meminfo>) is calculated as"
14337 #. type: Plain text
14338 #: build/C/man5/proc.5:4145
14341 " CommitLimit = (total_RAM - total_huge_TLB) *\n"
14342 " overcommit_ratio / 100 + total_swap\n"
14345 #. type: Plain text
14346 #: build/C/man5/proc.5:4151
14347 msgid "I<total_RAM> is the total amount of RAM on the system;"
14350 #. type: Plain text
14351 #: build/C/man5/proc.5:4154
14352 msgid "I<total_huge_TLB> is the amount of memory set aside for huge pages;"
14355 #. type: Plain text
14356 #: build/C/man5/proc.5:4159
14357 msgid "I<overcommit_ratio> is the value in I</proc/sys/vm/overcommit_ratio>; and"
14360 #. type: Plain text
14361 #: build/C/man5/proc.5:4162
14362 msgid "I<total_swap> is the amount of swap space."
14365 #. type: Plain text
14366 #: build/C/man5/proc.5:4170
14368 "For example, on a system with 16GB of physical RAM, 16GB of swap, no space "
14369 "dedicated to huge pages, and an I<overcommit_ratio> of 50, this formula "
14370 "yields a I<CommitLimit> of 24GB."
14373 #. type: Plain text
14374 #: build/C/man5/proc.5:4176
14376 "Since Linux 3.14, if the value in I</proc/sys/vm/overcommit_kbytes> is "
14377 "nonzero, then I<CommitLimit> is instead calculated as:"
14380 #. type: Plain text
14381 #: build/C/man5/proc.5:4178
14383 msgid " CommitLimit = overcommit_kbytes + total_swap\n"
14387 #: build/C/man5/proc.5:4178
14389 msgid "I</proc/sys/vm/overcommit_ratio> (since Linux 2.6.0)"
14392 #. type: Plain text
14393 #: build/C/man5/proc.5:4185
14395 "This writable file defines a percentage by which memory can be "
14396 "overcommitted. The default value in the file is 50. See the description of "
14397 "I</proc/sys/vm/overcommit_memory>."
14401 #: build/C/man5/proc.5:4185
14403 msgid "I</proc/sys/vm/panic_on_oom> (since Linux 2.6.18)"
14406 #. The following is adapted from Documentation/sysctl/vm.txt
14407 #. type: Plain text
14408 #: build/C/man5/proc.5:4190
14409 msgid "This enables or disables a kernel panic in an out-of-memory situation."
14412 #. type: Plain text
14413 #: build/C/man5/proc.5:4195
14415 "If this file is set to the value 0, the kernel's OOM-killer will kill some "
14416 "rogue process. Usually, the OOM-killer is able to kill a rogue process and "
14417 "the system will survive."
14420 #. type: Plain text
14421 #: build/C/man5/proc.5:4210
14423 "If this file is set to the value 1, then the kernel normally panics when "
14424 "out-of-memory happens. However, if a process limits allocations to certain "
14425 "nodes using memory policies (B<mbind>(2) B<MPOL_BIND>) or cpusets "
14426 "(B<cpuset>(7)) and those nodes reach memory exhaustion status, one process "
14427 "may be killed by the OOM-killer. No panic occurs in this case: because "
14428 "other nodes' memory may be free, this means the system as a whole may not "
14429 "have reached an out-of-memory situation yet."
14432 #. type: Plain text
14433 #: build/C/man5/proc.5:4213
14435 "If this file is set to the value 2, the kernel always panics when an "
14436 "out-of-memory condition occurs."
14439 #. type: Plain text
14440 #: build/C/man5/proc.5:4217
14442 "The default value is 0. 1 and 2 are for failover of clustering. Select "
14443 "either according to your policy of failover."
14447 #: build/C/man5/proc.5:4217
14449 msgid "I</proc/sys/vm/swappiness>"
14452 #. The following is from Documentation/sysctl/vm.txt
14453 #. type: Plain text
14454 #: build/C/man5/proc.5:4225
14456 "The value in this file controls how aggressively the kernel will swap memory "
14457 "pages. Higher values increase aggressiveness, lower values decrease "
14458 "aggressiveness. The default value is 60."
14462 #: build/C/man5/proc.5:4225
14464 msgid "I</proc/sysrq-trigger> (since Linux 2.4.21)"
14467 #. type: Plain text
14468 #: build/C/man5/proc.5:4234
14470 "Writing a character to this file triggers the same SysRq function as typing "
14471 "ALT-SysRq-E<lt>characterE<gt> (see the description of "
14472 "I</proc/sys/kernel/sysrq>). This file is normally writable only by "
14473 "I<root>. For further details see the Linux kernel source file "
14474 "I<Documentation/sysrq.txt>."
14478 #: build/C/man5/proc.5:4234
14480 msgid "I</proc/sysvipc>"
14483 #. type: Plain text
14484 #: build/C/man5/proc.5:4247
14486 "Subdirectory containing the pseudo-files I<msg>, I<sem> and I<shm>. These "
14487 "files list the System V Interprocess Communication (IPC) objects "
14488 "(respectively: message queues, semaphores, and shared memory) that "
14489 "currently exist on the system, providing similar information to that "
14490 "available via B<ipcs>(1). These files have headers and are formatted (one "
14491 "IPC object per line) for easy understanding. B<svipc>(7) provides further "
14492 "background on the information shown by these files."
14496 #: build/C/man5/proc.5:4247
14498 msgid "I</proc/thread-self> (since Linux 3.17)"
14501 #. commit 0097875bd41528922fb3bb5f348c53f17e00e2fd
14502 #. type: Plain text
14503 #: build/C/man5/proc.5:4258
14505 "This directory refers to the thread accessing the I</proc> filesystem, and "
14506 "is identical to the I</proc/self/task/[tid]> directory named by the process "
14507 "thread ID (I<[tid]>) of the same thread."
14511 #: build/C/man5/proc.5:4258
14513 msgid "I</proc/timer_list> (since Linux 2.6.21)"
14516 #. commit 289f480af87e45f7a6de6ba9b4c061c2e259fe98
14517 #. type: Plain text
14518 #: build/C/man5/proc.5:4264
14520 "This read-only file exposes a list of all currently pending "
14521 "(high-resolution) timers, all clock-event sources, and their parameters in a "
14522 "human-readable form."
14526 #: build/C/man5/proc.5:4264
14528 msgid "I</proc/timer_stats> (since Linux 2.6.21)"
14531 #. commit 82f67cd9fca8c8762c15ba7ed0d5747588c1e221
14532 #. Date: Fri Feb 16 01:28:13 2007 -0800
14533 #. Text largely derived from Documentation/timers/timer_stats.txt
14534 #. type: Plain text
14535 #: build/C/man5/proc.5:4275
14537 "This is a debugging facility to make timer (ab)use in a Linux system visible "
14538 "to kernel and user-space developers. It can be used by kernel and "
14539 "user-space developers to verify that their code does not make undue use of "
14540 "timers. The goal is to avoid unnecessary wakeups, thereby optimizing power "
14544 #. type: Plain text
14545 #: build/C/man5/proc.5:4283
14547 "If enabled in the kernel (B<CONFIG_TIMER_STATS>), but not used, it has "
14548 "almost zero runtime overhead and a relatively small data-structure "
14549 "overhead. Even if collection is enabled at runtime, overhead is low: all "
14550 "the locking is per-CPU and lookup is hashed."
14553 #. type: Plain text
14554 #: build/C/man5/proc.5:4288
14556 "The I</proc/timer_stats> file is used both to control sampling facility and "
14557 "to read out the sampled information."
14560 #. type: Plain text
14561 #: build/C/man5/proc.5:4291
14563 "The timer_stats functionality is inactive on bootup. A sampling period can "
14564 "be started using the following command:"
14567 #. type: Plain text
14568 #: build/C/man5/proc.5:4293
14570 msgid " # echo 1 E<gt> /proc/timer_stats\n"
14573 #. type: Plain text
14574 #: build/C/man5/proc.5:4295
14575 msgid "The following command stops a sampling period:"
14578 #. type: Plain text
14579 #: build/C/man5/proc.5:4297
14581 msgid " # echo 0 E<gt> /proc/timer_stats\n"
14584 #. type: Plain text
14585 #: build/C/man5/proc.5:4299
14586 msgid "The statistics can be retrieved by:"
14589 #. type: Plain text
14590 #: build/C/man5/proc.5:4301
14592 msgid " $ cat /proc/timer_stats\n"
14595 #. type: Plain text
14596 #: build/C/man5/proc.5:4309
14598 "While sampling is enabled, each readout from I</proc/timer_stats> will see "
14599 "newly updated statistics. Once sampling is disabled, the sampled "
14600 "information is kept until a new sample period is started. This allows "
14601 "multiple readouts."
14604 #. type: Plain text
14605 #: build/C/man5/proc.5:4312
14606 msgid "Sample output from I</proc/timer_stats>:"
14609 #. type: Plain text
14610 #: build/C/man5/proc.5:4328
14613 "$B< cat /proc/timer_stats>\n"
14614 "Timer Stats Version: v0.3\n"
14615 "Sample period: 1.764 s\n"
14616 "Collection: active\n"
14617 " 255, 0 swapper/3 hrtimer_start_range_ns (tick_sched_timer)\n"
14618 " 71, 0 swapper/1 hrtimer_start_range_ns (tick_sched_timer)\n"
14619 " 58, 0 swapper/0 hrtimer_start_range_ns (tick_sched_timer)\n"
14620 " 4, 1694 gnome-shell mod_delayed_work_on (delayed_work_timer_fn)\n"
14621 " 17, 7 rcu_sched rcu_gp_kthread (process_timeout)\n"
14623 " 1, 4911 kworker/u16:0 mod_delayed_work_on (delayed_work_timer_fn)\n"
14624 " 1D, 2522 kworker/0:0 queue_delayed_work_on "
14625 "(delayed_work_timer_fn)\n"
14626 "1029 total events, 583.333 events/sec\n"
14629 #. type: Plain text
14630 #: build/C/man5/proc.5:4333
14631 msgid "The output columns are:"
14634 #. commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 deferrable timers
14635 #. type: Plain text
14636 #: build/C/man5/proc.5:4339
14638 "a count of the number of events, optionally (since Linux 2.6.23) followed by "
14639 "the letter \\(aqD\\(aq if this is a deferrable timer;"
14642 #. type: Plain text
14643 #: build/C/man5/proc.5:4341
14644 msgid "the PID of the process that initialized the timer;"
14647 #. type: Plain text
14648 #: build/C/man5/proc.5:4343
14649 msgid "the name of the process that initialized the timer;"
14652 #. type: Plain text
14653 #: build/C/man5/proc.5:4345
14654 msgid "the function where the timer was initialized; and"
14657 #. type: Plain text
14658 #: build/C/man5/proc.5:4348
14659 msgid "(in parentheses) the callback function that is associated with the timer."
14663 #: build/C/man5/proc.5:4349
14665 msgid "I</proc/tty>"
14668 #. type: Plain text
14669 #: build/C/man5/proc.5:4353
14671 "Subdirectory containing the pseudo-files and subdirectories for tty drivers "
14672 "and line disciplines."
14676 #: build/C/man5/proc.5:4353
14678 msgid "I</proc/uptime>"
14681 #. type: Plain text
14682 #: build/C/man5/proc.5:4357
14684 "This file contains two numbers: the uptime of the system (seconds), and the "
14685 "amount of time spent in idle process (seconds)."
14689 #: build/C/man5/proc.5:4357
14691 msgid "I</proc/version>"
14694 #. type: Plain text
14695 #: build/C/man5/proc.5:4366
14697 "This string identifies the kernel version that is currently running. It "
14698 "includes the contents of I</proc/sys/kernel/ostype>, "
14699 "I</proc/sys/kernel/osrelease> and I</proc/sys/kernel/version>. For example:"
14702 #. type: Plain text
14703 #: build/C/man5/proc.5:4370
14705 msgid "CW<Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994>\n"
14709 #: build/C/man5/proc.5:4378
14711 msgid "I</proc/vmstat> (since Linux 2.6)"
14714 #. type: Plain text
14715 #: build/C/man5/proc.5:4381
14716 msgid "This file displays various virtual memory statistics."
14720 #: build/C/man5/proc.5:4381
14722 msgid "I</proc/zoneinfo> (since Linux 2.6.13)"
14725 #. FIXME more should be said about /proc/zoneinfo
14726 #. type: Plain text
14727 #: build/C/man5/proc.5:4386
14729 "This file display information about memory zones. This is useful for "
14730 "analyzing virtual memory behavior."
14733 #. type: Plain text
14734 #: build/C/man5/proc.5:4393
14736 "Many strings (i.e., the environment and command line) are in the internal "
14737 "format, with subfields terminated by null bytes (\\(aq\\e0\\(aq), so you may "
14738 "find that things are more readable if you use I<od -c> or I<tr \"\\e000\" "
14739 "\"\\en\"> to read them. Alternatively, I<echo \\`cat E<lt>fileE<gt>\\`> "
14743 #. .SH ACKNOWLEDGEMENTS
14744 #. The material on /proc/sys/fs and /proc/sys/kernel is closely based on
14745 #. kernel source documentation files written by Rik van Riel.
14746 #. type: Plain text
14747 #: build/C/man5/proc.5:4399
14749 "This manual page is incomplete, possibly inaccurate, and is the kind of "
14750 "thing that needs to be updated very often."
14753 #. type: Plain text
14754 #: build/C/man5/proc.5:4426
14756 "B<cat>(1), B<dmesg>(1), B<find>(1), B<free>(1), B<ps>(1), B<tr>(1), "
14757 "B<uptime>(1), B<chroot>(2), B<mmap>(2), B<readlink>(2), B<syslog>(2), "
14758 "B<slabinfo>(5), B<hier>(7), B<namespaces>(7), B<time>(7), B<arp>(8), "
14759 "B<hdparm>(8), B<ifconfig>(8), B<init>(1), B<lsmod>(8), B<lspci>(8), "
14760 "B<mount>(8), B<netstat>(8), B<procinfo>(8), B<route>(8), B<sysctl>(8)"
14763 #. type: Plain text
14764 #: build/C/man5/proc.5:4433
14766 "The Linux kernel source files: I<Documentation/filesystems/proc.txt> "
14767 "I<Documentation/sysctl/fs.txt>, I<Documentation/sysctl/kernel.txt>, "
14768 "I<Documentation/sysctl/net.txt>, and I<Documentation/sysctl/vm.txt>."
14772 #: build/C/man7/standards.7:24
14778 #: build/C/man7/standards.7:24
14783 #. type: Plain text
14784 #: build/C/man7/standards.7:27
14785 msgid "standards - C and UNIX Standards"
14788 #. type: Plain text
14789 #: build/C/man7/standards.7:31
14791 "The CONFORMING TO section that appears in many manual pages identifies "
14792 "various standards to which the documented interface conforms. The following "
14793 "list briefly describes these standards."
14797 #: build/C/man7/standards.7:31
14802 #. type: Plain text
14803 #: build/C/man7/standards.7:37
14805 "Version 7 (also known as Seventh Edition) UNIX, released by AT&T/Bell Labs "
14806 "in 1979. After this point, UNIX systems diverged into two main dialects: "
14807 "BSD and System V."
14811 #: build/C/man7/standards.7:37
14816 #. type: Plain text
14817 #: build/C/man7/standards.7:46
14819 "This is an implementation standard defined by the 4.2 release of the "
14820 "I<Berkeley Software Distribution>, released by the University of California "
14821 "at Berkeley. This was the first Berkeley release that contained a TCP/IP "
14822 "stack and the sockets API. 4.2BSD was released in 1983."
14825 #. type: Plain text
14826 #: build/C/man7/standards.7:55
14828 "Earlier major BSD releases included I<3BSD> (1980), I<4BSD> (1980), and "
14829 "I<4.1BSD> (1981)."
14833 #: build/C/man7/standards.7:55
14838 #. type: Plain text
14839 #: build/C/man7/standards.7:58
14840 msgid "The successor to 4.2BSD, released in 1986."
14844 #: build/C/man7/standards.7:58
14849 #. type: Plain text
14850 #: build/C/man7/standards.7:62
14852 "The successor to 4.3BSD, released in 1993. This was the last major Berkeley "
14857 #: build/C/man7/standards.7:62
14859 msgid "B<System V>"
14862 #. type: Plain text
14863 #: build/C/man7/standards.7:69
14865 "This is an implementation standard defined by AT&T's milestone 1983 release "
14866 "of its commercial System V (five) release. The previous major AT&T release "
14867 "was I<System III>, released in 1981."
14871 #: build/C/man7/standards.7:69
14873 msgid "B<System V release 2 (SVr2)>"
14876 #. type: Plain text
14877 #: build/C/man7/standards.7:76
14879 "This was the next System V release, made in 1985. The SVr2 was formally "
14880 "described in the I<System V Interface Definition version 1> (I<SVID 1>) "
14881 "published in 1985."
14885 #: build/C/man7/standards.7:76
14887 msgid "B<System V release 3 (SVr3)>"
14890 #. type: Plain text
14891 #: build/C/man7/standards.7:82
14893 "This was the successor to SVr2, released in 1986. This release was formally "
14894 "described in the I<System V Interface Definition version 2> (I<SVID 2>)."
14898 #: build/C/man7/standards.7:82
14900 msgid "B<System V release 4 (SVr4)>"
14903 #. type: Plain text
14904 #: build/C/man7/standards.7:92
14906 "This was the successor to SVr3, released in 1989. This version of System V "
14907 "is described in the \"Programmer's Reference Manual: Operating System API "
14908 "(Intel processors)\" (Prentice-Hall 1992, ISBN 0-13-951294-2) This release "
14909 "was formally described in the I<System V Interface Definition version 3> "
14910 "(I<SVID 3>), and is considered the definitive System V release."
14914 #: build/C/man7/standards.7:92
14919 #. type: Plain text
14920 #: build/C/man7/standards.7:98
14922 "System V Interface Definition version 4, issued in 1995. Available online "
14923 "at E<.UR http://www.sco.com\\:/developers\\:/devspecs/> E<.UE .>"
14927 #: build/C/man7/standards.7:98
14932 #. type: Plain text
14933 #: build/C/man7/standards.7:112
14935 "This was the first C language standard, ratified by ANSI (American National "
14936 "Standards Institute) in 1989 (I<X3.159-1989>). Sometimes this is known as "
14937 "I<ANSI C>, but since C99 is also an ANSI standard, this term is ambiguous. "
14938 "This standard was also ratified by ISO (International Standards "
14939 "Organization) in 1990 (I<ISO/IEC 9899:1990>), and is thus occasionally "
14940 "referred to as I<ISO C90>."
14944 #: build/C/man7/standards.7:112
14949 #. type: Plain text
14950 #: build/C/man7/standards.7:119
14952 "This revision of the C language standard was ratified by ISO in 1999 "
14953 "(I<ISO/IEC 9899:1999>). Available online at E<.UR "
14954 "http://www.open-std.org\\:/jtc1\\:/sc22\\:/wg14\\:/www\\:/standards> E<.UE "
14959 #: build/C/man7/standards.7:119
14964 #. type: Plain text
14965 #: build/C/man7/standards.7:123
14967 "This revision of the C language standard was ratified by ISO in 2011 "
14968 "(I<ISO/IEC 9899:2011>)."
14972 #: build/C/man7/standards.7:123
14974 msgid "B<POSIX.1-1990>"
14977 #. type: Plain text
14978 #: build/C/man7/standards.7:129
14980 "\"Portable Operating System Interface for Computing Environments\". IEEE "
14981 "1003.1-1990 part 1, ratified by ISO in 1990 (I<ISO/IEC 9945-1:1990>). The "
14982 "term \"POSIX\" was coined by Richard Stallman."
14986 #: build/C/man7/standards.7:129
14991 #. type: Plain text
14992 #: build/C/man7/standards.7:134
14994 "IEEE Std 1003.2-1992, describing commands and utilities, ratified by ISO in "
14995 "1993 (I<ISO/IEC 9945-2:1993>)."
14999 #: build/C/man7/standards.7:134
15001 msgid "B<POSIX.1b> (formerly known as I<POSIX.4>)"
15004 #. type: Plain text
15005 #: build/C/man7/standards.7:140
15007 "IEEE Std 1003.1b-1993, describing real-time facilities for portable "
15008 "operating systems, ratified by ISO in 1996 (I<ISO/IEC 9945-1:1996>)."
15012 #: build/C/man7/standards.7:140
15014 msgid "B<POSIX.1c>"
15017 #. type: Plain text
15018 #: build/C/man7/standards.7:143
15019 msgid "IEEE Std 1003.1c-1995, which describes the POSIX threads interfaces."
15023 #: build/C/man7/standards.7:143
15025 msgid "B<POSIX.1d>"
15028 #. type: Plain text
15029 #: build/C/man7/standards.7:146
15030 msgid "IEEE Std 1003.1c-1999, which describes additional real-time extensions."
15034 #: build/C/man7/standards.7:146
15036 msgid "B<POSIX.1g>"
15039 #. type: Plain text
15040 #: build/C/man7/standards.7:149
15041 msgid "IEEE Std 1003.1g-2000, which describes networking APIs (including sockets)."
15045 #: build/C/man7/standards.7:149
15047 msgid "B<POSIX.1j>"
15050 #. type: Plain text
15051 #: build/C/man7/standards.7:152
15052 msgid "IEEE Std 1003.1j-2000, which describes advanced real-time extensions."
15056 #: build/C/man7/standards.7:152
15058 msgid "B<POSIX.1-1996>"
15061 #. type: Plain text
15062 #: build/C/man7/standards.7:155
15063 msgid "A 1996 revision of POSIX.1 which incorporated POSIX.1b and POSIX.1c."
15067 #: build/C/man7/standards.7:155
15072 #. type: Plain text
15073 #: build/C/man7/standards.7:162
15075 "Released in 1989, this was the first significant release of the I<X/Open "
15076 "Portability Guide>, produced by the X/Open Company, a multivendor "
15077 "consortium. This multivolume guide was based on the POSIX standards."
15081 #: build/C/man7/standards.7:162
15086 #. type: Plain text
15087 #: build/C/man7/standards.7:165
15088 msgid "A revision of the X/Open Portability Guide, released in 1992."
15092 #: build/C/man7/standards.7:165
15097 #. type: Plain text
15098 #: build/C/man7/standards.7:172
15100 "A 1994 revision of XPG4. This is also referred to as I<Spec 1170>, where "
15101 "1170 referred to the number of interfaces defined by this standard."
15105 #: build/C/man7/standards.7:172
15107 msgid "B<SUS (SUSv1)>"
15110 #. type: Plain text
15111 #: build/C/man7/standards.7:180
15113 "Single UNIX Specification. This was a repackaging of XPG4v2 and other "
15114 "X/Open standards (X/Open Curses Issue 4 version 2, X/Open Networking Service "
15115 "(XNS) Issue 4). Systems conforming to this standard can be branded I<UNIX "
15120 #: build/C/man7/standards.7:180
15125 #. type: Plain text
15126 #: build/C/man7/standards.7:191
15128 "Single UNIX Specification version 2. Sometimes also referred to as "
15129 "I<XPG5>. This standard appeared in 1997. Systems conforming to this "
15130 "standard can be branded I<UNIX 98>. See also E<.UR "
15131 "http://www.UNIX-systems.org\\:/version2/> E<.UE .)>"
15135 #: build/C/man7/standards.7:191
15137 msgid "B<POSIX.1-2001, SUSv3>"
15140 #. type: Plain text
15141 #: build/C/man7/standards.7:203
15143 "This was a 2001 revision and consolidation of the POSIX.1, POSIX.2, and SUS "
15144 "standards into a single document, conducted under the auspices of the Austin "
15145 "Group E<.UR http://www.opengroup.org\\:/austin/> E<.UE .> The standard is "
15146 "available online at E<.UR http://www.unix-systems.org\\:/version3/> E<.UE ,> "
15147 "and the interfaces that it describes are also available in the Linux manual "
15148 "pages package under sections 1p and 3p (e.g., \"man 3p open\")."
15151 #. type: Plain text
15152 #: build/C/man7/standards.7:216
15154 "The standard defines two levels of conformance: I<POSIX conformance>, which "
15155 "is a baseline set of interfaces required of a conforming system; and I<XSI "
15156 "Conformance>, which additionally mandates a set of interfaces (the \"XSI "
15157 "extension\") which are only optional for POSIX conformance. XSI-conformant "
15158 "systems can be branded I<UNIX 03>. (XSI conformance constitutes the "
15159 "I<Single UNIX Specification version 3> (I<SUSv3>).)"
15162 #. type: Plain text
15163 #: build/C/man7/standards.7:218
15164 msgid "The POSIX.1-2001 document is broken into four parts:"
15167 #. type: Plain text
15168 #: build/C/man7/standards.7:221
15169 msgid "B<XBD>: Definitions, terms and concepts, header file specifications."
15172 #. type: Plain text
15173 #: build/C/man7/standards.7:225
15175 "B<XSH>: Specifications of functions (i.e., system calls and library "
15176 "functions in actual implementations)."
15179 #. type: Plain text
15180 #: build/C/man7/standards.7:229
15182 "B<XCU>: Specifications of commands and utilities (i.e., the area formerly "
15183 "described by POSIX.2)."
15186 #. type: Plain text
15187 #: build/C/man7/standards.7:232
15188 msgid "B<XRAT>: Informative text on the other parts of the standard."
15191 #. type: Plain text
15192 #: build/C/man7/standards.7:236
15194 "POSIX.1-2001 is aligned with C99, so that all of the library functions "
15195 "standardized in C99 are also standardized in POSIX.1-2001."
15198 #. type: Plain text
15199 #: build/C/man7/standards.7:243
15201 "Two Technical Corrigenda (minor fixes and improvements) of the original "
15202 "2001 standard have occurred: TC1 in 2003 (referred to as I<POSIX.1-2003>), "
15203 "and TC2 in 2004 (referred to as I<POSIX.1-2004>)."
15207 #: build/C/man7/standards.7:243
15209 msgid "B<POSIX.1-2008, SUSv4>"
15212 #. type: Plain text
15213 #: build/C/man7/standards.7:247
15214 msgid "Work on the next revision of POSIX.1/SUS was completed and ratified in 2008."
15217 #. type: Plain text
15218 #: build/C/man7/standards.7:256
15220 "The changes in this revision are not as large as those that occurred for "
15221 "POSIX.1-2001/SUSv3, but a number of new interfaces are added and various "
15222 "details of existing specifications are modified. Many of the interfaces "
15223 "that were optional in POSIX.1-2001 become mandatory in the 2008 revision of "
15224 "the standard. A few interfaces that are present in POSIX.1-2001 are marked "
15225 "as obsolete in POSIX.1-2008, or removed from the standard altogether."
15228 #. type: Plain text
15229 #: build/C/man7/standards.7:264
15231 "The revised standard is broken into the same four parts as POSIX.1-2001, and "
15232 "again there are two levels of conformance: the baseline I<POSIX "
15233 "Conformance>, and I<XSI Conformance>, which mandates an additional set of "
15234 "interfaces beyond those in the base specification."
15237 #. type: Plain text
15238 #: build/C/man7/standards.7:268
15240 "In general, where the CONFORMING TO section of a manual page lists "
15241 "POSIX.1-2001, it can be assumed that the interface also conforms to "
15242 "POSIX.1-2008, unless otherwise noted."
15245 #. type: Plain text
15246 #: build/C/man7/standards.7:273
15248 "Technical Corrigendum 1 (minor fixes and improvements) of this standard was "
15249 "released in 2013 (referred to as I<POSIX.1-2013>)."
15252 #. type: Plain text
15253 #: build/C/man7/standards.7:277
15255 "Further information can be found on the Austin Group web site, E<.UR "
15256 "http://www.opengroup.org\\:/austin/> E<.UE .>"
15259 #. type: Plain text
15260 #: build/C/man7/standards.7:280
15261 msgid "B<feature_test_macros>(7), B<libc>(7), B<posixoptions>(7)"
15265 #: build/C/man7/suffixes.7:39
15271 #: build/C/man7/suffixes.7:39
15276 #. type: Plain text
15277 #: build/C/man7/suffixes.7:42
15278 msgid "suffixes - list of file suffixes"
15281 #. type: Plain text
15282 #: build/C/man7/suffixes.7:50
15284 "It is customary to indicate the contents of a file with the file suffix, "
15285 "which consists of a period, followed by one or more letters. Many standard "
15286 "utilities, such as compilers, use this to recognize the type of file they "
15287 "are dealing with. The B<make>(1) utility is driven by rules based on file "
15291 #. type: Plain text
15292 #: build/C/man7/suffixes.7:53
15294 "Following is a list of suffixes which are likely to be found on a Linux "
15299 #: build/C/man7/suffixes.7:58
15301 msgid "Suffix\tFile type\n"
15305 #: build/C/man7/suffixes.7:59
15307 msgid " ,v\tfiles for RCS (Revision Control System)\n"
15311 #: build/C/man7/suffixes.7:60
15313 msgid " -\tbackup file\n"
15317 #: build/C/man7/suffixes.7:61
15319 msgid " .C\tC++ source code, equivalent to I<.cc>\n"
15323 #: build/C/man7/suffixes.7:62
15325 msgid " .F\tFortran source with B<cpp>(1) directives\n"
15329 #: build/C/man7/suffixes.7:63
15331 msgid "\tor file compressed using freeze\n"
15335 #: build/C/man7/suffixes.7:64
15337 msgid " .S\tassembler source with B<cpp>(1) directives\n"
15341 #: build/C/man7/suffixes.7:65
15343 msgid " .Y\tfile compressed using yabba\n"
15347 #: build/C/man7/suffixes.7:66
15349 msgid " .Z\tfile compressed using B<compress>(1)\n"
15353 #: build/C/man7/suffixes.7:67
15355 msgid " .[0-9]+gf\tTeX generic font files\n"
15359 #: build/C/man7/suffixes.7:68
15361 msgid " .[0-9]+pk\tTeX packed font files\n"
15365 #: build/C/man7/suffixes.7:69
15367 msgid " .[1-9]\tmanual page for the corresponding section\n"
15371 #: build/C/man7/suffixes.7:70
15373 msgid " .[1-9][a-z]\tmanual page for section plus subsection\n"
15377 #: build/C/man7/suffixes.7:71
15379 msgid " .a\tstatic object code library\n"
15383 #: build/C/man7/suffixes.7:72
15385 msgid " .ad\tX application default resource file\n"
15389 #: build/C/man7/suffixes.7:73
15391 msgid " .ada\tAda source (may be body, spec, or combination)\n"
15395 #: build/C/man7/suffixes.7:74
15397 msgid " .adb\tAda body source\n"
15401 #: build/C/man7/suffixes.7:75
15403 msgid " .ads\tAda spec source\n"
15407 #: build/C/man7/suffixes.7:76
15409 msgid " .afm\tPostScript font metrics\n"
15413 #: build/C/man7/suffixes.7:77
15415 msgid " .al\tPerl autoload file\n"
15419 #: build/C/man7/suffixes.7:78
15421 msgid " .am\tB<automake>(1) input file\n"
15425 #: build/C/man7/suffixes.7:79
15427 msgid " .arc\tB<arc>(1) archive\n"
15431 #: build/C/man7/suffixes.7:80
15433 msgid " .arj\tB<arj>(1) archive\n"
15437 #: build/C/man7/suffixes.7:81
15439 msgid " .asc\tPGP ASCII-armored data\n"
15443 #: build/C/man7/suffixes.7:82
15445 msgid " .asm\t(GNU) assembler source file\n"
15449 #: build/C/man7/suffixes.7:83
15451 msgid " .au\tAudio sound file\n"
15455 #: build/C/man7/suffixes.7:84
15457 msgid " .aux\tLaTeX auxiliary file\n"
15461 #: build/C/man7/suffixes.7:85
15463 msgid " .avi\t(msvideo) movie\n"
15467 #: build/C/man7/suffixes.7:86
15469 msgid " .awk\tAWK language program\n"
15473 #: build/C/man7/suffixes.7:87
15475 msgid " .b\tLILO boot loader image\n"
15479 #: build/C/man7/suffixes.7:88
15481 msgid " .bak\tbackup file\n"
15485 #: build/C/man7/suffixes.7:89
15487 msgid " .bash\tB<bash>(1) shell script\n"
15491 #: build/C/man7/suffixes.7:90
15493 msgid " .bb\tbasic block list data produced by\n"
15497 #: build/C/man7/suffixes.7:91 build/C/man7/suffixes.7:93
15499 msgid "\tgcc -ftest-coverage\n"
15503 #: build/C/man7/suffixes.7:92
15505 msgid " .bbg\tbasic block graph data produced by\n"
15509 #: build/C/man7/suffixes.7:94
15511 msgid " .bbl\tBibTeX output\n"
15515 #: build/C/man7/suffixes.7:95
15517 msgid " .bdf\tX font file\n"
15521 #: build/C/man7/suffixes.7:96
15523 msgid " .bib\tTeX bibliographic database, BibTeX input\n"
15527 #: build/C/man7/suffixes.7:97
15529 msgid " .bm\tbitmap source\n"
15533 #: build/C/man7/suffixes.7:98
15535 msgid " .bmp\tbitmap\n"
15539 #: build/C/man7/suffixes.7:99
15541 msgid " .bz2\tfile compressed using B<bzip2>(1)\n"
15545 #: build/C/man7/suffixes.7:100
15547 msgid " .c\tC source\n"
15551 #: build/C/man7/suffixes.7:101
15553 msgid " .cat\tmessage catalog files\n"
15557 #: build/C/man7/suffixes.7:102
15559 msgid " .cc\tC++ source\n"
15563 #: build/C/man7/suffixes.7:103
15565 msgid " .cf\tconfiguration file\n"
15569 #: build/C/man7/suffixes.7:104
15571 msgid " .cfg\tconfiguration file\n"
15575 #: build/C/man7/suffixes.7:105
15577 msgid " .cgi\tWWW content generating script or program\n"
15581 #: build/C/man7/suffixes.7:106
15583 msgid " .cls\tLaTeX Class definition\n"
15587 #: build/C/man7/suffixes.7:107
15589 msgid " .class\tJava compiled byte-code\n"
15593 #: build/C/man7/suffixes.7:108
15595 msgid " .conf\tconfiguration file\n"
15599 #: build/C/man7/suffixes.7:109
15601 msgid " .config\tconfiguration file\n"
15605 #: build/C/man7/suffixes.7:110
15607 msgid " .cpp\tequivalent to I<.cc>\n"
15611 #: build/C/man7/suffixes.7:111
15613 msgid " .csh\tB<csh>(1) shell script\n"
15617 #: build/C/man7/suffixes.7:112
15619 msgid " .cxx\tequivalent to I<.cc>\n"
15623 #: build/C/man7/suffixes.7:113
15625 msgid " .dat\tdata file\n"
15629 #: build/C/man7/suffixes.7:114
15631 msgid " .deb\tDebian software package\n"
15635 #: build/C/man7/suffixes.7:115
15637 msgid " .def\tModula-2 source for definition modules\n"
15641 #: build/C/man7/suffixes.7:116
15643 msgid " .def\tother definition files\n"
15647 #: build/C/man7/suffixes.7:117
15649 msgid " .desc\tinitial part of mail message unpacked with\n"
15653 #: build/C/man7/suffixes.7:118
15655 msgid "\tB<munpack>(1)\n"
15659 #: build/C/man7/suffixes.7:119
15661 msgid " .diff\tfile differences (B<diff>(1) command output)\n"
15665 #: build/C/man7/suffixes.7:120
15667 msgid " .dir\tdbm data base directory file\n"
15671 #: build/C/man7/suffixes.7:121
15673 msgid " .doc\tdocumentation file\n"
15677 #: build/C/man7/suffixes.7:122
15679 msgid " .dsc\tDebian Source Control (source package)\n"
15683 #: build/C/man7/suffixes.7:123
15685 msgid " .dtx\tLaTeX package source file\n"
15689 #: build/C/man7/suffixes.7:124
15691 msgid " .dvi\tTeX's device independent output\n"
15695 #: build/C/man7/suffixes.7:125
15697 msgid " .el\tEmacs-Lisp source\n"
15701 #: build/C/man7/suffixes.7:126
15703 msgid " .elc\tcompiled Emacs-Lisp source\n"
15707 #: build/C/man7/suffixes.7:127
15709 msgid " .eps\tencapsulated PostScript\n"
15713 #: build/C/man7/suffixes.7:128
15715 msgid " .exp\tExpect source code\n"
15719 #: build/C/man7/suffixes.7:129
15721 msgid " .f\tFortran source\n"
15725 #: build/C/man7/suffixes.7:130
15727 msgid " .f77\tFortran 77 source\n"
15731 #: build/C/man7/suffixes.7:131
15733 msgid " .f90\tFortran 90 source\n"
15737 #: build/C/man7/suffixes.7:132
15739 msgid " .fas\tprecompiled Common-Lisp\n"
15743 #: build/C/man7/suffixes.7:133
15745 msgid " .fi\tFortran include files\n"
15749 #: build/C/man7/suffixes.7:134
15751 msgid " .fig\tFIG image file (used by B<xfig>(1))\n"
15755 #: build/C/man7/suffixes.7:135
15757 msgid " .fmt\tTeX format file\n"
15761 #: build/C/man7/suffixes.7:136
15763 msgid " .gif\tCompuserve Graphics Image File format\n"
15767 #: build/C/man7/suffixes.7:137
15769 msgid " .gmo\tGNU format message catalog\n"
15773 #: build/C/man7/suffixes.7:138
15775 msgid " .gsf\tGhostscript fonts\n"
15779 #: build/C/man7/suffixes.7:139
15781 msgid " .gz\tfile compressed using B<gzip>(1)\n"
15785 #: build/C/man7/suffixes.7:140
15787 msgid " .h\tC or C++ header files\n"
15791 #: build/C/man7/suffixes.7:141
15793 msgid " .help\thelp file\n"
15797 #: build/C/man7/suffixes.7:142
15799 msgid " .hf\tequivalent to I<.help>\n"
15803 #: build/C/man7/suffixes.7:143
15805 msgid " .hlp\tequivalent to I<.help>\n"
15809 #: build/C/man7/suffixes.7:144
15811 msgid " .htm\tpoor man's I<.html>\n"
15815 #: build/C/man7/suffixes.7:145
15817 msgid " .html\tHTML document used with the World Wide Web\n"
15821 #: build/C/man7/suffixes.7:146
15823 msgid " .hqx\t7-bit encoded Macintosh file\n"
15827 #: build/C/man7/suffixes.7:147
15829 msgid " .i\tC source after preprocessing\n"
15833 #: build/C/man7/suffixes.7:148
15835 msgid " .icon\tbitmap source\n"
15839 #: build/C/man7/suffixes.7:149
15841 msgid " .idx\treference or datum-index file for hypertext\n"
15845 #: build/C/man7/suffixes.7:150
15847 msgid "\tor database system\n"
15851 #: build/C/man7/suffixes.7:151
15853 msgid " .image\tbitmap source\n"
15857 #: build/C/man7/suffixes.7:152
15859 msgid " .in\tconfiguration template, especially for GNU Autoconf\n"
15863 #: build/C/man7/suffixes.7:153
15865 msgid " .info\tfiles for the Emacs info browser\n"
15869 #: build/C/man7/suffixes.7:154
15871 msgid " .info-[0-9]+\tsplit info files\n"
15875 #: build/C/man7/suffixes.7:155
15877 msgid " .ins\tLaTeX package install file for docstrip\n"
15881 #: build/C/man7/suffixes.7:156
15883 msgid " .itcl\titcl source code;\n"
15887 #: build/C/man7/suffixes.7:157
15889 msgid "\titcl ([incr Tcl]) is an OO extension of tcl\n"
15893 #: build/C/man7/suffixes.7:158
15895 msgid " .java\ta Java source file\n"
15899 #: build/C/man7/suffixes.7:159
15901 msgid " .jpeg\tJoint Photographic Experts Group format\n"
15905 #: build/C/man7/suffixes.7:160
15907 msgid " .jpg\tpoor man's I<.jpeg>\n"
15911 #: build/C/man7/suffixes.7:161
15913 msgid " .kmap\tB<lyx>(1) keymap\n"
15917 #: build/C/man7/suffixes.7:162
15919 msgid " .l\tequivalent to I<.lex> or I<.lisp>\n"
15923 #: build/C/man7/suffixes.7:163
15925 msgid " .lex\tB<lex>(1) or B<flex>(1) files\n"
15929 #: build/C/man7/suffixes.7:164
15931 msgid " .lha\tlharc archive\n"
15935 #: build/C/man7/suffixes.7:165
15937 msgid " .lib\tCommon-Lisp library\n"
15941 #: build/C/man7/suffixes.7:166
15943 msgid " .lisp\tLisp source\n"
15947 #: build/C/man7/suffixes.7:167
15949 msgid " .ln\tfiles for use with B<lint>(1)\n"
15953 #: build/C/man7/suffixes.7:168
15955 msgid " .log\tlog file, in particular produced by TeX\n"
15959 #: build/C/man7/suffixes.7:169
15961 msgid " .lsm\tLinux Software Map entry\n"
15965 #: build/C/man7/suffixes.7:170
15967 msgid " .lsp\tCommon-Lisp source\n"
15971 #: build/C/man7/suffixes.7:171
15973 msgid " .lzh\tlharc archive\n"
15977 #: build/C/man7/suffixes.7:172
15979 msgid " .m\tObjective-C source code\n"
15983 #: build/C/man7/suffixes.7:173
15985 msgid " .m4\tB<m4>(1) source\n"
15989 #: build/C/man7/suffixes.7:174
15991 msgid " .mac\tmacro files for various programs\n"
15995 #: build/C/man7/suffixes.7:175
15997 msgid " .man\tmanual page (usually source rather than formatted)\n"
16001 #: build/C/man7/suffixes.7:176
16003 msgid " .map\tmap files for various programs\n"
16007 #: build/C/man7/suffixes.7:177
16009 msgid " .me\tNroff source using the me macro package\n"
16013 #: build/C/man7/suffixes.7:178
16015 msgid " .mf\tMetafont (font generator for TeX) source\n"
16019 #: build/C/man7/suffixes.7:179
16021 msgid " .mgp\tMagicPoint file\n"
16025 #: build/C/man7/suffixes.7:180
16027 msgid " .mm\tsources for B<groff>(1) in mm - format\n"
16031 #: build/C/man7/suffixes.7:181
16033 msgid " .mo\tMessage catalog binary file\n"
16037 #: build/C/man7/suffixes.7:182
16039 msgid " .mod\tModula-2 source for implementation modules\n"
16043 #: build/C/man7/suffixes.7:183
16045 msgid " .mov\t(quicktime) movie\n"
16049 #: build/C/man7/suffixes.7:184
16051 msgid " .mp\tMetapost source\n"
16055 #: build/C/man7/suffixes.7:185
16057 msgid " .mp2\tMPEG Layer 2 (audio) file\n"
16061 #: build/C/man7/suffixes.7:186
16063 msgid " .mp3\tMPEG Layer 3 (audio) file\n"
16067 #: build/C/man7/suffixes.7:187
16069 msgid " .mpeg\tmovie file\n"
16073 #: build/C/man7/suffixes.7:188
16075 msgid " .o\tobject file\n"
16079 #: build/C/man7/suffixes.7:189
16081 msgid " .old\told or backup file\n"
16085 #: build/C/man7/suffixes.7:190
16087 msgid " .orig\tbackup (original) version of a file, from B<patch>(1)\n"
16091 #: build/C/man7/suffixes.7:191
16093 msgid " .out\toutput file, often executable program (a.out)\n"
16097 #: build/C/man7/suffixes.7:192
16099 msgid " .p\tPascal source\n"
16103 #: build/C/man7/suffixes.7:193
16105 msgid " .pag\tdbm data base data file\n"
16109 #: build/C/man7/suffixes.7:194
16111 msgid " .patch\tfile differences for B<patch>(1)\n"
16115 #: build/C/man7/suffixes.7:195
16117 msgid " .pbm\tportable bitmap format\n"
16121 #: build/C/man7/suffixes.7:196
16123 msgid " .pcf\tX11 font files\n"
16127 #: build/C/man7/suffixes.7:197
16129 msgid " .pdf\tAdobe Portable Data Format\n"
16133 #: build/C/man7/suffixes.7:198
16135 msgid "\t(use Acrobat/B<acroread> or B<xpdf>)\n"
16139 #: build/C/man7/suffixes.7:199
16141 msgid " .perl\tPerl source (see .ph, .pl and .pm)\n"
16145 #: build/C/man7/suffixes.7:200
16147 msgid " .pfa\tPostScript font definition files, ASCII format\n"
16151 #: build/C/man7/suffixes.7:201
16153 msgid " .pfb\tPostScript font definition files, binary format\n"
16157 #: build/C/man7/suffixes.7:202
16159 msgid " .pgm\tportable greymap format\n"
16163 #: build/C/man7/suffixes.7:203
16165 msgid " .pgp\tPGP binary data\n"
16169 #: build/C/man7/suffixes.7:204
16171 msgid " .ph\tPerl header file\n"
16175 #: build/C/man7/suffixes.7:205
16177 msgid " .php\tPHP program file\n"
16181 #: build/C/man7/suffixes.7:206
16183 msgid " .php3\tPHP3 program file\n"
16187 #: build/C/man7/suffixes.7:207
16189 msgid " .pid\tFile to store daemon PID (e.g., crond.pid)\n"
16193 #: build/C/man7/suffixes.7:208
16195 msgid " .pl\tTeX property list file or Perl library file\n"
16199 #: build/C/man7/suffixes.7:209
16201 msgid " .pm\tPerl module\n"
16205 #: build/C/man7/suffixes.7:210
16207 msgid " .png\tPortable Network Graphics file\n"
16211 #: build/C/man7/suffixes.7:211
16213 msgid " .po\tMessage catalog source\n"
16217 #: build/C/man7/suffixes.7:212
16219 msgid " .pod\tB<perldoc>(1) file\n"
16223 #: build/C/man7/suffixes.7:213
16225 msgid " .ppm\tportable pixmap format\n"
16229 #: build/C/man7/suffixes.7:214
16231 msgid " .pr\tbitmap source\n"
16235 #: build/C/man7/suffixes.7:215
16237 msgid " .ps\tPostScript file\n"
16241 #: build/C/man7/suffixes.7:216
16243 msgid " .py\tPython source\n"
16247 #: build/C/man7/suffixes.7:217
16249 msgid " .pyc\tcompiled python\n"
16253 #: build/C/man7/suffixes.7:218
16255 msgid " .qt\tquicktime movie\n"
16259 #: build/C/man7/suffixes.7:219
16261 msgid " .r\tRATFOR source (obsolete)\n"
16265 #: build/C/man7/suffixes.7:220
16267 msgid " .rej\tpatches that B<patch>(1) couldn't apply\n"
16271 #: build/C/man7/suffixes.7:221
16273 msgid " .rpm\tRPM software package\n"
16277 #: build/C/man7/suffixes.7:222
16279 msgid " .rtf\tRich Text Format file\n"
16283 #: build/C/man7/suffixes.7:223
16285 msgid " .rules\trules for something\n"
16289 #: build/C/man7/suffixes.7:224
16291 msgid " .s\tassembler source\n"
16295 #: build/C/man7/suffixes.7:225
16297 msgid " .sa\tstub libraries for a.out shared libraries\n"
16301 #: build/C/man7/suffixes.7:226
16303 msgid " .sc\tB<sc>(1) spreadsheet commands\n"
16307 #: build/C/man7/suffixes.7:227
16309 msgid " .scm\tScheme source code\n"
16313 #: build/C/man7/suffixes.7:228
16315 msgid " .sed\tsed source file\n"
16319 #: build/C/man7/suffixes.7:229
16321 msgid " .sgml\tSGML source file\n"
16325 #: build/C/man7/suffixes.7:230
16327 msgid " .sh\tB<sh>(1) scripts\n"
16331 #: build/C/man7/suffixes.7:231
16333 msgid " .shar\tarchive created by the B<shar>(1) utility\n"
16337 #: build/C/man7/suffixes.7:232
16339 msgid " .so\tShared library or dynamically loadable object\n"
16343 #: build/C/man7/suffixes.7:233
16345 msgid " .sql\tSQL source\n"
16349 #: build/C/man7/suffixes.7:234
16351 msgid " .sqml\tSQML schema or query program\n"
16355 #: build/C/man7/suffixes.7:235
16357 msgid " .sty\tLaTeX style files\n"
16361 #: build/C/man7/suffixes.7:236
16363 msgid " .sym\tModula-2 compiled definition modules\n"
16367 #: build/C/man7/suffixes.7:237
16369 msgid " .tar\tarchive created by the B<tar>(1) utility\n"
16373 #: build/C/man7/suffixes.7:238
16375 msgid " .tar.Z\ttar(1) archive compressed with B<compress>(1)\n"
16379 #: build/C/man7/suffixes.7:239
16381 msgid " .tar.bz2\ttar(1) archive compressed with B<bzip2>(1)\n"
16385 #: build/C/man7/suffixes.7:240
16387 msgid " .tar.gz\ttar(1) archive compressed with B<gzip>(1)\n"
16391 #: build/C/man7/suffixes.7:241
16393 msgid " .taz\ttar(1) archive compressed with B<compress>(1)\n"
16397 #: build/C/man7/suffixes.7:242
16399 msgid " .tcl\ttcl source code\n"
16403 #: build/C/man7/suffixes.7:243
16405 msgid " .tex\tTeX or LaTeX source\n"
16409 #: build/C/man7/suffixes.7:244
16411 msgid " .texi\tequivalent to I<.texinfo>\n"
16415 #: build/C/man7/suffixes.7:245
16417 msgid " .texinfo\tTexinfo documentation source\n"
16421 #: build/C/man7/suffixes.7:246
16423 msgid " .text\ttext file\n"
16427 #: build/C/man7/suffixes.7:247
16429 msgid " .tfm\tTeX font metric file\n"
16433 #: build/C/man7/suffixes.7:248
16435 msgid " .tgz\ttar archive compressed with B<gzip>(1)\n"
16439 #: build/C/man7/suffixes.7:249
16441 msgid " .tif\tpoor man's I<.tiff>\n"
16445 #: build/C/man7/suffixes.7:250
16447 msgid " .tiff\tTagged Image File Format\n"
16451 #: build/C/man7/suffixes.7:251
16453 msgid " .tk\ttcl/tk script\n"
16457 #: build/C/man7/suffixes.7:252
16459 msgid " .tmp\ttemporary file\n"
16463 #: build/C/man7/suffixes.7:253
16465 msgid " .tmpl\ttemplate files\n"
16469 #: build/C/man7/suffixes.7:254
16471 msgid " .txt\tequivalent to I<.text>\n"
16475 #: build/C/man7/suffixes.7:255
16477 msgid " .uu\tequivalent to I<.uue>\n"
16481 #: build/C/man7/suffixes.7:256
16483 msgid " .uue\tbinary file encoded with B<uuencode>(1)\n"
16487 #: build/C/man7/suffixes.7:257
16489 msgid " .vf\tTeX virtual font file\n"
16493 #: build/C/man7/suffixes.7:258
16495 msgid " .vpl\tTeX virtual property list file\n"
16499 #: build/C/man7/suffixes.7:259
16501 msgid " .w\tSilvio Levi's CWEB\n"
16505 #: build/C/man7/suffixes.7:260
16507 msgid " .wav\twave sound file\n"
16511 #: build/C/man7/suffixes.7:261
16513 msgid " .web\tDonald Knuth's WEB\n"
16517 #: build/C/man7/suffixes.7:262
16519 msgid " .wml\tSource file for Web Meta Language\n"
16523 #: build/C/man7/suffixes.7:263
16525 msgid " .xbm\tX11 bitmap source\n"
16529 #: build/C/man7/suffixes.7:264
16531 msgid " .xcf\tGIMP graphic\n"
16535 #: build/C/man7/suffixes.7:265
16537 msgid " .xml\teXtended Markup Language file\n"
16541 #: build/C/man7/suffixes.7:266
16543 msgid " .xpm\tX11 pixmap source\n"
16547 #: build/C/man7/suffixes.7:267
16549 msgid " .xs\tPerl xsub file produced by h2xs\n"
16553 #: build/C/man7/suffixes.7:268
16555 msgid " .xsl\tXSL stylesheet\n"
16559 #: build/C/man7/suffixes.7:269
16561 msgid " .y\tB<yacc>(1) or B<bison>(1) (parser generator) files\n"
16565 #: build/C/man7/suffixes.7:270
16567 msgid " .z\tFile compressed using B<pack>(1) (or an old B<gzip>(1))\n"
16571 #: build/C/man7/suffixes.7:271
16573 msgid " .zip\tB<zip>(1) archive\n"
16577 #: build/C/man7/suffixes.7:272
16579 msgid " .zoo\tB<zoo>(1) archive\n"
16583 #: build/C/man7/suffixes.7:273
16585 msgid " ~\tEmacs or B<patch>(1) backup file\n"
16589 #: build/C/man7/suffixes.7:274
16591 msgid " rc\tstartup (`run control') file, e.g., I<.newsrc>\n"
16594 #. type: Plain text
16595 #: build/C/man7/suffixes.7:278
16596 msgid "General UNIX conventions."
16599 #. type: Plain text
16600 #: build/C/man7/suffixes.7:280
16601 msgid "This list is not exhaustive."
16604 #. type: Plain text
16605 #: build/C/man7/suffixes.7:282
16606 msgid "B<file>(1), B<make>(1)"
16610 #: build/C/man3/undocumented.3:29
16612 msgid "UNDOCUMENTED"
16616 #: build/C/man3/undocumented.3:29
16621 #. type: Plain text
16622 #: build/C/man3/undocumented.3:32
16623 msgid "none - undocumented library functions"
16626 #. type: Plain text
16627 #: build/C/man3/undocumented.3:34
16628 msgid "Undocumented library functions"
16631 #. type: Plain text
16632 #: build/C/man3/undocumented.3:37
16634 "This man page mentions those library functions which are implemented in the "
16635 "standard libraries but not yet documented in man pages."
16639 #: build/C/man3/undocumented.3:37
16641 msgid "Solicitation"
16644 #. type: Plain text
16645 #: build/C/man3/undocumented.3:43
16647 "If you have information about these functions, please look in the source "
16648 "code, write a man page (using a style similar to that of the other Linux "
16649 "section 3 man pages), and send it to B<mtk.manpages@gmail.com> for inclusion "
16650 "in the next man page release."
16654 #: build/C/man3/undocumented.3:43
16659 #. .BR chflags (3),
16660 #. .BR fattach (3),
16661 #. .BR fchflags (3),
16663 #. .BR fdetach (3),
16664 #. .BR obstack stuff (3),
16665 #. type: Plain text
16666 #: build/C/man3/undocumented.3:182
16668 "B<authdes_create>(3), B<authdes_getucred>(3), B<authdes_pk_create>(3), "
16669 "B<clntunix_create>(3), B<creat64>(3), B<dn_skipname>(3), B<fcrypt>(3), "
16670 "B<fp_nquery>(3), B<fp_query>(3), B<fp_resstat>(3), B<freading>(3), "
16671 "B<freopen64>(3), B<fseeko64>(3), B<ftello64>(3), B<ftw64>(3), B<fwscanf>(3), "
16672 "B<get_avphys_pages>(3), B<getdirentries64>(3), B<getmsg>(3), "
16673 "B<getnetname>(3), B<get_nprocs>(3), B<get_nprocs_conf>(3), "
16674 "B<get_phys_pages>(3), B<getpublickey>(3), B<getsecretkey>(3), "
16675 "B<h_errlist>(3), B<host2netname>(3), B<hostalias>(3), B<inet_nsap_addr>(3), "
16676 "B<inet_nsap_ntoa>(3), B<init_des>(3), B<libc_nls_init>(3), B<lio_listio>(3), "
16677 "B<mstats>(3), B<netname2host>(3), B<netname2user>(3), B<nlist>(3), "
16678 "B<obstack_free>(3), B<parse_printf_format>(3), B<p_cdname>(3), "
16679 "B<p_cdnname>(3), B<p_class>(3), B<p_fqname>(3), B<p_option>(3), "
16680 "B<p_query>(3), B<printf_size>(3), B<printf_size_info>(3), B<p_rr>(3), "
16681 "B<p_time>(3), B<p_type>(3), B<putlong>(3), B<putshort>(3), "
16682 "B<re_compile_fastmap>(3), B<re_compile_pattern>(3), "
16683 "B<register_printf_function>(3), B<re_match>(3), B<re_match_2>(3), "
16684 "B<re_rx_search>(3), B<re_search>(3), B<re_search_2>(3), "
16685 "B<re_set_registers>(3), B<re_set_syntax>(3), B<res_send_setqhook>(3), "
16686 "B<res_send_setrhook>(3), B<ruserpass>(3), B<setfileno>(3), "
16687 "B<sethostfile>(3), B<svc_exit>(3), B<svcudp_enablecache>(3), B<tell>(3), "
16688 "B<tr_break>(3), B<tzsetwall>(3), B<ufc_dofinalperm>(3), B<ufc_doit>(3), "
16689 "B<user2netname>(3), B<vlimit>(3), B<vtimes>(3), B<wcschrnul>(3), "
16690 "B<wcsftime>(3), B<wscanf>(3), B<xdr_authdes_cred>(3), "
16691 "B<xdr_authdes_verf>(3), B<xdr_cryptkeyarg>(3), B<xdr_cryptkeyres>(3), "
16692 "B<xdr_datum>(3), B<xdr_des_block>(3), B<xdr_domainname>(3), "
16693 "B<xdr_getcredres>(3), B<xdr_keybuf>(3), B<xdr_keystatus>(3), "
16694 "B<xdr_mapname>(3), B<xdr_netnamestr>(3), B<xdr_netobj>(3), B<xdr_passwd>(3), "
16695 "B<xdr_peername>(3), B<xdr_rmtcall_args>(3), B<xdr_rmtcallres>(3), "
16696 "B<xdr_unixcred>(3), B<xdr_yp_buf>(3), B<xdr_yp_inaddr>(3), "
16697 "B<xdr_ypbind_binding>(3), B<xdr_ypbind_resp>(3), B<xdr_ypbind_resptype>(3), "
16698 "B<xdr_ypbind_setdom>(3), B<xdr_ypdelete_args>(3), B<xdr_ypmaplist>(3), "
16699 "B<xdr_ypmaplist_str>(3), B<xdr_yppasswd>(3), B<xdr_ypreq_key>(3), "
16700 "B<xdr_ypreq_nokey>(3), B<xdr_ypresp_all>(3), B<xdr_ypresp_all_seq>(3), "
16701 "B<xdr_ypresp_key_val>(3), B<xdr_ypresp_maplist>(3), B<xdr_ypresp_master>(3), "
16702 "B<xdr_ypresp_order>(3), B<xdr_ypresp_val>(3), B<xdr_ypstat>(3), "
16703 "B<xdr_ypupdate_args>(3), B<yp_all>(3), B<yp_bind>(3), B<yperr_string>(3), "
16704 "B<yp_first>(3), B<yp_get_default_domain>(3), B<yp_maplist>(3), "
16705 "B<yp_master>(3), B<yp_match>(3), B<yp_next>(3), B<yp_order>(3), "
16706 "B<ypprot_err>(3), B<yp_unbind>(3), B<yp_update>(3)"
16710 #: build/C/man2/unimplemented.2:26
16712 msgid "UNIMPLEMENTED"
16716 #: build/C/man2/unimplemented.2:26
16721 #. type: Plain text
16722 #: build/C/man2/unimplemented.2:31
16724 "afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, gtty, "
16725 "isastream, lock, madvise1, mpx, prof, profil, putmsg, putpmsg, security, "
16726 "stty, tuxcall, ulimit, vserver - unimplemented system calls"
16729 #. type: Plain text
16730 #: build/C/man2/unimplemented.2:33
16731 msgid "Unimplemented system calls."
16734 #. type: Plain text
16735 #: build/C/man2/unimplemented.2:35
16736 msgid "These system calls are not implemented in the Linux kernel."
16739 #. type: Plain text
16740 #: build/C/man2/unimplemented.2:40
16741 msgid "These system calls always return -1 and set I<errno> to B<ENOSYS>."
16744 #. type: Plain text
16745 #: build/C/man2/unimplemented.2:47
16747 "Note that B<ftime>(3), B<profil>(3), and B<ulimit>(3) are implemented as "
16748 "library functions."
16751 #. type: Plain text
16752 #: build/C/man2/unimplemented.2:56
16754 "Some system calls, like B<alloc_hugepages>(2), B<free_hugepages>(2), "
16755 "B<ioperm>(2), B<iopl>(2), and B<vm86>(2) exist only on certain "
16759 #. type: Plain text
16760 #: build/C/man2/unimplemented.2:64
16762 "Some system calls, like B<ipc>(2), B<create_module>(2), B<init_module>(2), "
16763 "and B<delete_module>(2) exist only when the Linux kernel was built with "
16764 "support for them."
16767 #. type: Plain text
16768 #: build/C/man2/unimplemented.2:65
16769 msgid "B<syscalls>(2)"
16773 #: build/C/man7/units.7:26
16778 #. type: Plain text
16779 #: build/C/man7/units.7:29
16780 msgid "units, kilo, kibi, mega, mebi, giga, gibi - decimal and binary prefixes"
16784 #: build/C/man7/units.7:30
16786 msgid "Decimal prefixes"
16789 #. type: Plain text
16790 #: build/C/man7/units.7:34
16792 "The SI system of units uses prefixes that indicate powers of ten. A "
16793 "kilometer is 1000 meter, and a megawatt is 1000000 watt. Below the standard "
16798 #: build/C/man7/units.7:37 build/C/man7/units.7:79
16800 msgid "Prefix\tName\tValue\n"
16804 #: build/C/man7/units.7:38
16806 msgid "y\tyocto\t10^-24 = 0.000000000000000000000001\n"
16810 #: build/C/man7/units.7:39
16812 msgid "z\tzepto\t10^-21 = 0.000000000000000000001\n"
16816 #: build/C/man7/units.7:40
16818 msgid "a\tatto\t10^-18 = 0.000000000000000001\n"
16822 #: build/C/man7/units.7:41
16824 msgid "f\tfemto\t10^-15 = 0.000000000000001\n"
16828 #: build/C/man7/units.7:42
16830 msgid "p\tpico\t10^-12 = 0.000000000001\n"
16834 #: build/C/man7/units.7:43
16836 msgid "n\tnano\t10^-9 = 0.000000001\n"
16840 #: build/C/man7/units.7:44
16842 msgid "\\(mc\tmicro\t10^-6 = 0.000001\n"
16846 #: build/C/man7/units.7:45
16848 msgid "m\tmilli\t10^-3 = 0.001\n"
16852 #: build/C/man7/units.7:46
16854 msgid "c\tcenti\t10^-2 = 0.01\n"
16858 #: build/C/man7/units.7:47
16860 msgid "d\tdeci\t10^-1 = 0.1\n"
16864 #: build/C/man7/units.7:48
16866 msgid "da\tdeka\t10^ 1 = 10\n"
16870 #: build/C/man7/units.7:49
16872 msgid "h\thecto\t10^ 2 = 100\n"
16876 #: build/C/man7/units.7:50
16878 msgid "k\tkilo\t10^ 3 = 1000\n"
16882 #: build/C/man7/units.7:51
16884 msgid "M\tmega\t10^ 6 = 1000000\n"
16888 #: build/C/man7/units.7:52
16890 msgid "G\tgiga\t10^ 9 = 1000000000\n"
16894 #: build/C/man7/units.7:53
16896 msgid "T\ttera\t10^12 = 1000000000000\n"
16900 #: build/C/man7/units.7:54
16902 msgid "P\tpeta\t10^15 = 1000000000000000\n"
16906 #: build/C/man7/units.7:55
16908 msgid "E\texa\t10^18 = 1000000000000000000\n"
16912 #: build/C/man7/units.7:56
16914 msgid "Z\tzetta\t10^21 = 1000000000000000000000\n"
16918 #: build/C/man7/units.7:57
16920 msgid "Y\tyotta\t10^24 = 1000000000000000000000000\n"
16923 #. type: Plain text
16924 #: build/C/man7/units.7:64
16926 "The symbol for micro is the Greek letter mu, often written u in an ASCII "
16927 "context where this Greek letter is not available. See also"
16930 #. type: Plain text
16931 #: build/C/man7/units.7:68
16932 msgid "E<.UR http://physics.nist.gov\\:/cuu\\:/Units\\:/prefixes.html> E<.UE>"
16936 #: build/C/man7/units.7:69
16938 msgid "Binary prefixes"
16941 #. type: Plain text
16942 #: build/C/man7/units.7:76
16944 "The binary prefixes resemble the decimal ones, but have an additional "
16945 "\\(aqi\\(aq (and \"Ki\" starts with a capital \\(aqK\\(aq). The names are "
16946 "formed by taking the first syllable of the names of the decimal prefix with "
16947 "roughly the same size, followed by \"bi\" for \"binary\"."
16951 #: build/C/man7/units.7:80
16953 msgid "Ki\tkibi\t2^10 = 1024\n"
16957 #: build/C/man7/units.7:81
16959 msgid "Mi\tmebi\t2^20 = 1048576\n"
16963 #: build/C/man7/units.7:82
16965 msgid "Gi\tgibi\t2^30 = 1073741824\n"
16969 #: build/C/man7/units.7:83
16971 msgid "Ti\ttebi\t2^40 = 1099511627776\n"
16975 #: build/C/man7/units.7:84
16977 msgid "Pi\tpebi\t2^50 = 1125899906842624\n"
16981 #: build/C/man7/units.7:85
16983 msgid "Ei\texbi\t2^60 = 1152921504606846976\n"
16986 #. type: Plain text
16987 #: build/C/man7/units.7:90
16991 #. type: Plain text
16992 #: build/C/man7/units.7:93
16993 msgid "E<.UR http://physics.nist.gov\\:/cuu\\:/Units\\:/binary.html> E<.UE>"
16997 #: build/C/man7/units.7:93
17002 #. type: Plain text
17003 #: build/C/man7/units.7:98
17005 "Before these binary prefixes were introduced, it was fairly common to use "
17006 "k=1000 and K=1024, just like b=bit, B=byte. Unfortunately, the M is capital "
17007 "already, and cannot be capitalized to indicate binary-ness."
17010 #. type: Plain text
17011 #: build/C/man7/units.7:109
17013 "At first that didn't matter too much, since memory modules and disks came in "
17014 "sizes that were powers of two, so everyone knew that in such contexts "
17015 "\"kilobyte\" and \"megabyte\" meant 1024 and 1048576 bytes, respectively. "
17016 "What originally was a sloppy use of the prefixes \"kilo\" and \"mega\" "
17017 "started to become regarded as the \"real true meaning\" when computers were "
17018 "involved. But then disk technology changed, and disk sizes became arbitrary "
17019 "numbers. After a period of uncertainty all disk manufacturers settled on "
17020 "the standard, namely k=1000, M=1000k, G=1000M."
17023 #. also common: 14.4k modem
17024 #. type: Plain text
17025 #: build/C/man7/units.7:116
17027 "The situation was messy: in the 14k4 modems, k=1000; in the 1.44MB "
17028 "diskettes, M=1024000; and so on. In 1998 the IEC approved the standard that "
17029 "defines the binary prefixes given above, enabling people to be precise and "
17033 #. type: Plain text
17034 #: build/C/man7/units.7:118
17035 msgid "Thus, today, MB = 1000000B and MiB = 1048576B."
17038 #. type: Plain text
17039 #: build/C/man7/units.7:122
17041 "In the free software world programs are slowly being changed to conform. "
17042 "When the Linux kernel boots and says"
17045 #. type: Plain text
17046 #: build/C/man7/units.7:126
17048 msgid "hda: 120064896 sectors (61473 MB) w/2048KiB Cache\n"
17051 #. type: Plain text
17052 #: build/C/man7/units.7:129
17053 msgid "the MB are megabytes and the KiB are kibibytes."
17056 #. Copyright (c) 1990, 1993
17057 #. The Regents of the University of California. All rights reserved.
17059 #. %%%LICENSE_START(BSD_4_CLAUSE_UCB)
17060 #. Redistribution and use in source and binary forms, with or without
17061 #. modification, are permitted provided that the following conditions
17063 #. 1. Redistributions of source code must retain the above copyright
17064 #. notice, this list of conditions and the following disclaimer.
17065 #. 2. Redistributions in binary form must reproduce the above copyright
17066 #. notice, this list of conditions and the following disclaimer in the
17067 #. documentation and/or other materials provided with the distribution.
17068 #. 3. All advertising materials mentioning features or use of this software
17069 #. must display the following acknowledgement:
17070 #. This product includes software developed by the University of
17071 #. California, Berkeley and its contributors.
17072 #. 4. Neither the name of the University nor the names of its contributors
17073 #. may be used to endorse or promote products derived from this software
17074 #. without specific prior written permission.
17076 #. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17077 #. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17078 #. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17079 #. ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
17080 #. FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17081 #. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
17082 #. OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17083 #. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
17084 #. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
17085 #. OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
17089 #. @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93
17090 #. $Id: mdoc.samples.7,v 1.17 1998/12/03 03:38:45 jkoshy Exp $
17092 #. This tutorial sampler invokes every macro in the package several
17093 #. times and is guaranteed to give a worst case performance
17094 #. for an already extremely slow package.
17096 #. String \*(Pu was not defined, probably means punctuation
17098 #: build/C/man7/mdoc.samples.7:42
17100 msgid "[ .,:;()[]?! ]"
17104 #: build/C/man7/mdoc.samples.7:43
17106 msgid "December 30, 1993"
17110 #: build/C/man7/mdoc.samples.7:45
17112 msgid "MDOC.SAMPLES 7"
17115 #. type: Plain text
17116 #: build/C/man7/mdoc.samples.7:48
17117 msgid "E<.Nm mdoc.samples>"
17121 #: build/C/man7/mdoc.samples.7:48
17123 msgid "tutorial sampler for writing"
17126 #. type: Plain text
17127 #: build/C/man7/mdoc.samples.7:52
17128 msgid "E<.Bx> manuals with E<.Nm \\-mdoc>"
17131 #. type: Plain text
17132 #: build/C/man7/mdoc.samples.7:54
17133 msgid "E<.Nm man mdoc.samples>"
17136 #. type: Plain text
17137 #: build/C/man7/mdoc.samples.7:100
17139 "A tutorial sampler for writing E<.Bx> manual pages with the E<.Nm \\-mdoc> "
17140 "macro package, a E<.Em content Ns \\-based> and E<.Em domain Ns \\-based> "
17141 "formatting package for E<.Xr troff 1>. Its predecessor, the E<.Xr \\-man 7> "
17142 "package, addressed page layout leaving the manipulation of fonts and other "
17143 "typesetting details to the individual author. In E<.Nm \\-mdoc>, page "
17144 "layout macros make up the E<.Em \"page structure domain\"> which consists of "
17145 "macros for titles, section headers, displays and lists. Essentially items "
17146 "which affect the physical position of text on a formatted page. In addition "
17147 "to the page structure domain, there are two more domains, the manual domain "
17148 "and the general text domain. The general text domain is defined as macros "
17149 "which perform tasks such as quoting or emphasizing pieces of text. The "
17150 "manual domain is defined as macros that are a subset of the day to day "
17151 "informal language used to describe commands, routines and related E<.Bx> "
17152 "files. Macros in the manual domain handle command names, command-line "
17153 "arguments and options, function names, function parameters, pathnames, "
17154 "variables, cross references to other manual pages, and so on. These domain "
17155 "items have value for both the author and the future user of the manual "
17156 "page. It is hoped the consistency gained across the manual set will provide "
17157 "easier translation to future documentation tools."
17160 #. type: Plain text
17161 #: build/C/man7/mdoc.samples.7:107
17163 "Throughout the E<.Ux> manual pages, a manual entry is simply referred to as "
17164 "a man page, regardless of actual length and without sexist intention."
17168 #: build/C/man7/mdoc.samples.7:107
17170 msgid "GETTING STARTED"
17173 #. type: Plain text
17174 #: build/C/man7/mdoc.samples.7:113
17176 "Since a tutorial document is normally read when a person desires to use the "
17177 "material immediately, the assumption has been made that the user of this "
17178 "document may be impatient. The material presented in the remained of this "
17179 "document is outlined as follows:"
17182 #. type: Plain text
17183 #: build/C/man7/mdoc.samples.7:116
17184 msgid "E<.Tn \"TROFF IDIOSYNCRASIES\">"
17188 #: build/C/man7/mdoc.samples.7:117
17190 msgid "\"Macro Usage\" ."
17194 #: build/C/man7/mdoc.samples.7:118
17196 msgid "\"Passing Space Characters in an Argument\" ."
17200 #: build/C/man7/mdoc.samples.7:119
17202 msgid "\"Trailing Blank Space Characters (a warning)\" ."
17206 #: build/C/man7/mdoc.samples.7:120
17208 msgid "\"Escaping Special Characters\" ."
17211 #. type: Plain text
17212 #: build/C/man7/mdoc.samples.7:124
17213 msgid "E<.Tn \"THE ANATOMY OF A MAN PAGE\">"
17217 #: build/C/man7/mdoc.samples.7:125
17219 msgid "\"A manual page template\" ."
17222 #. type: Plain text
17223 #: build/C/man7/mdoc.samples.7:129
17224 msgid "E<.Tn \"TITLE MACROS\">."
17227 #. type: Plain text
17228 #: build/C/man7/mdoc.samples.7:131
17229 msgid "E<.Tn \"INTRODUCTION OF MANUAL AND GENERAL TEXT DOMAINS\">."
17233 #: build/C/man7/mdoc.samples.7:132
17235 msgid "\"What's in a name...\" ."
17239 #: build/C/man7/mdoc.samples.7:133
17241 msgid "\"General Syntax\" ."
17244 #. type: Plain text
17245 #: build/C/man7/mdoc.samples.7:137
17246 msgid "E<.Tn \"MANUAL DOMAIN\">"
17250 #: build/C/man7/mdoc.samples.7:138
17252 msgid "Addresses ."
17256 #: build/C/man7/mdoc.samples.7:139
17258 msgid "\"Author name\" ."
17262 #: build/C/man7/mdoc.samples.7:140
17264 msgid "Arguments ."
17268 #: build/C/man7/mdoc.samples.7:141
17270 msgid "\"Configuration Declarations (section four only)\" ."
17274 #: build/C/man7/mdoc.samples.7:142
17276 msgid "\"Command Modifier\" ."
17280 #: build/C/man7/mdoc.samples.7:143
17282 msgid "\"Defined Variables\" ."
17286 #: build/C/man7/mdoc.samples.7:144
17288 msgid "\"Errno's (Section two only)\" ."
17292 #: build/C/man7/mdoc.samples.7:145
17294 msgid "\"Environment Variables\" ."
17298 #: build/C/man7/mdoc.samples.7:146
17300 msgid "\"Function Argument\" ."
17304 #: build/C/man7/mdoc.samples.7:147
17306 msgid "\"Function Declaration\" ."
17310 #: build/C/man7/mdoc.samples.7:148
17316 #: build/C/man7/mdoc.samples.7:149
17318 msgid "\"Functions (library routines)\" ."
17322 #: build/C/man7/mdoc.samples.7:150
17324 msgid "\"Function Types\" ."
17327 #. .It "Header File (including source code)" .
17329 #: build/C/man7/mdoc.samples.7:152
17331 msgid "\"Interactive Commands\" ."
17335 #: build/C/man7/mdoc.samples.7:153
17341 #: build/C/man7/mdoc.samples.7:154
17347 #: build/C/man7/mdoc.samples.7:155
17349 msgid "Pathnames ."
17353 #: build/C/man7/mdoc.samples.7:156
17355 msgid "Variables ."
17359 #: build/C/man7/mdoc.samples.7:157
17361 msgid "\"Cross References\" ."
17364 #. type: Plain text
17365 #: build/C/man7/mdoc.samples.7:161
17366 msgid "E<.Tn \"GENERAL TEXT DOMAIN\">"
17370 #: build/C/man7/mdoc.samples.7:162
17372 msgid "\"AT&T Macro\" ."
17376 #: build/C/man7/mdoc.samples.7:163
17378 msgid "\"BSD Macro\" ."
17382 #: build/C/man7/mdoc.samples.7:164
17384 msgid "\"FreeBSD Macro\" ."
17388 #: build/C/man7/mdoc.samples.7:165
17390 msgid "\"UNIX Macro\" ."
17394 #: build/C/man7/mdoc.samples.7:166
17396 msgid "Enclosure/Quoting Macros"
17400 #: build/C/man7/mdoc.samples.7:168
17402 msgid "\"Angle Bracket Quote/Enclosure\" ."
17406 #: build/C/man7/mdoc.samples.7:169
17408 msgid "\"Bracket Quotes/Enclosure\" ."
17412 #: build/C/man7/mdoc.samples.7:170
17414 msgid "\"Double Quote macro/Enclosure\" ."
17418 #: build/C/man7/mdoc.samples.7:171
17420 msgid "\"Parenthesis Quote/Enclosure\" ."
17424 #: build/C/man7/mdoc.samples.7:172
17426 msgid "\"Single Quotes/Enclosure\" ."
17430 #: build/C/man7/mdoc.samples.7:173
17432 msgid "\"Prefix Macro\" ."
17436 #: build/C/man7/mdoc.samples.7:175
17438 msgid "\"No\\-Op or Normal Text Macro\" ."
17442 #: build/C/man7/mdoc.samples.7:176
17444 msgid "\"No Space Macro\" ."
17448 #: build/C/man7/mdoc.samples.7:177
17450 msgid "\"Section Cross References\" ."
17454 #: build/C/man7/mdoc.samples.7:178
17456 msgid "\"References and Citations\" ."
17460 #: build/C/man7/mdoc.samples.7:179
17462 msgid "Return Values (sections two and three only)"
17466 #: build/C/man7/mdoc.samples.7:180
17468 msgid "\"Trade Names (Acronyms and Type Names)\" ."
17472 #: build/C/man7/mdoc.samples.7:181
17474 msgid "\"Extended Arguments\" ."
17477 #. type: Plain text
17478 #: build/C/man7/mdoc.samples.7:185
17479 msgid "E<.Tn \"PAGE STRUCTURE DOMAIN\">"
17483 #: build/C/man7/mdoc.samples.7:186
17485 msgid "\"Section Headers\" ."
17489 #: build/C/man7/mdoc.samples.7:187
17491 msgid "\"Paragraphs and Line Spacing\" ."
17495 #: build/C/man7/mdoc.samples.7:188
17501 #: build/C/man7/mdoc.samples.7:189
17507 #: build/C/man7/mdoc.samples.7:190
17509 msgid "\"Font Modes (Emphasis, Literal, and Symbolic)\" ."
17513 #: build/C/man7/mdoc.samples.7:191
17515 msgid "\"Lists and Columns\" ."
17518 #. type: Plain text
17519 #: build/C/man7/mdoc.samples.7:195
17520 msgid "E<.Tn \"PREDEFINED STRINGS\">"
17523 #. type: Plain text
17524 #: build/C/man7/mdoc.samples.7:197
17525 msgid "E<.Tn \"DIAGNOSTICS\">"
17528 #. type: Plain text
17529 #: build/C/man7/mdoc.samples.7:199
17530 msgid "E<.Tn \"FORMATTING WITH GROFF, TROFF AND NROFF\">"
17533 #. type: Plain text
17534 #: build/C/man7/mdoc.samples.7:201
17535 msgid "E<.Tn \"BUGS\">"
17539 #: build/C/man7/mdoc.samples.7:203
17541 msgid "TROFF IDIOSYNCRASIES"
17544 #. type: Plain text
17545 #: build/C/man7/mdoc.samples.7:217
17547 "The E<.Nm \\-mdoc> package attempts to simplify the process of writing a man "
17548 "page. Theoretically, one should not have to learn the dirty details of "
17549 "E<.Xr troff 1> to use E<.Nm \\-mdoc>; however, there are a few limitations "
17550 "which are unavoidable and best gotten out of the way. And, too, be "
17551 "forewarned, this package is E<.Em not> fast."
17555 #: build/C/man7/mdoc.samples.7:217
17557 msgid "Macro Usage"
17560 #. type: Plain text
17561 #: build/C/man7/mdoc.samples.7:242
17563 "As in E<.Xr troff 1>, a macro is called by placing a E<.Ql \\&.> (dot "
17564 "character) at the beginning of a line followed by the two character name "
17565 "for the macro. Arguments may follow the macro separated by spaces. It is "
17566 "the dot character at the beginning of the line which causes E<.Xr troff 1> "
17567 "to interpret the next two characters as a macro name. To place a E<.Ql "
17568 "\\&.> (dot character) at the beginning of a line in some context other than "
17569 "a macro invocation, precede the E<.Ql \\&.> (dot) with the E<.Ql \\e&> "
17570 "escape sequence. The E<.Ql \\e&> translates literally to a zero width "
17571 "space, and is never displayed in the output."
17574 #. type: Plain text
17575 #: build/C/man7/mdoc.samples.7:257
17577 "In general, E<.Xr troff 1> macros accept up to nine arguments, any extra "
17578 "arguments are ignored. Most macros in E<.Nm \\-mdoc> accept nine arguments "
17579 "and, in limited cases, arguments may be continued or extended on the next "
17580 "line (See E<.Sx Extensions>). A few macros handle quoted arguments (see "
17581 "E<.Sx Passing Space Characters in an Argument> below)."
17584 #. type: Plain text
17585 #: build/C/man7/mdoc.samples.7:284
17587 "Most of the E<.Nm \\-mdoc> general text domain and manual domain macros are "
17588 "special in that their argument lists are E<.Em parsed> for callable macro "
17589 "names. This means an argument on the argument list which matches a general "
17590 "text or manual domain macro name and is determined to be callable will be "
17591 "executed or called when it is processed. In this case, the argument, "
17592 "although the name of a macro, is not preceded by a E<.Ql \\&.> (dot). It is "
17593 "in this manner that many macros are nested; for example the option macro, "
17594 "E<.Ql \\&.Op>, may E<.Em call> the flag and argument macros, E<.Ql \\&Fl> "
17595 "and E<.Ql \\&Ar>, to specify an optional flag with an argument:"
17599 #: build/C/man7/mdoc.samples.7:285
17601 msgid "Op Fl s Ar bytes"
17604 #. type: Plain text
17605 #: build/C/man7/mdoc.samples.7:288
17606 msgid "is produced by E<.Li \\&.Op \\&Fl s \\&Ar bytes>"
17609 #. type: Plain text
17610 #: build/C/man7/mdoc.samples.7:295
17612 "To prevent a two character string from being interpreted as a macro name, "
17613 "precede the string with the escape sequence E<.Ql \\e&>:"
17617 #: build/C/man7/mdoc.samples.7:296
17619 msgid "Op \\&Fl s \\&Ar bytes"
17622 #. type: Plain text
17623 #: build/C/man7/mdoc.samples.7:299
17624 msgid "is produced by E<.Li \\&.Op \\e&Fl s \\e&Ar bytes>"
17627 #. type: Plain text
17628 #: build/C/man7/mdoc.samples.7:320
17630 "Here the strings E<.Ql \\&Fl> and E<.Ql \\&Ar> are not interpreted as "
17631 "macros. Macros whose argument lists are parsed for callable arguments are "
17632 "referred to as parsed and macros which may be called from an argument list "
17633 "are referred to as callable throughout this document and in the companion "
17634 "quick reference manual E<.Xr mdoc 7>. This is a technical E<.Em faux pas> "
17635 "as almost all of the macros in E<.Nm \\-mdoc> are parsed, but as it was "
17636 "cumbersome to constantly refer to macros as being callable and being able to "
17637 "call other macros, the term parsed has been used."
17641 #: build/C/man7/mdoc.samples.7:320
17643 msgid "Passing Space Characters in an Argument"
17646 #. type: Plain text
17647 #: build/C/man7/mdoc.samples.7:338
17649 "Sometimes it is desirable to give as one argument a string containing one or "
17650 "more blank space characters. This may be necessary to defeat the nine "
17651 "argument limit or to specify arguments to macros which expect particular "
17652 "arrangement of items in the argument list. For example, the function macro "
17653 "E<.Ql \\&.Fn> expects the first argument to be the name of a function and "
17654 "any remaining arguments to be function parameters. As E<.Tn \"ANSI C\"> "
17655 "stipulates the declaration of function parameters in the parenthesized "
17656 "parameter list, each parameter is guaranteed to be at minimum a two word "
17657 "string. For example, E<.Fa int foo>."
17660 #. type: Plain text
17661 #: build/C/man7/mdoc.samples.7:353
17663 "There are two possible ways to pass an argument which contains an embedded "
17664 "space. E<.Em Implementation note>: Unfortunately, the most convenient way "
17665 "of passing spaces in between quotes by reassigning individual arguments "
17666 "before parsing was fairly expensive speed wise and space wise to implement "
17667 "in all the macros for E<.Tn AT&T> E<.Xr troff>. It is not expensive for "
17668 "E<.Xr groff> but for the sake of portability, has been limited to the "
17669 "following macros which need it the most:"
17673 #: build/C/man7/mdoc.samples.7:355
17678 #. type: Plain text
17679 #: build/C/man7/mdoc.samples.7:358
17680 msgid "Configuration declaration (section 4 E<.Sx SYNOPSIS>)"
17684 #: build/C/man7/mdoc.samples.7:358
17689 #. type: Plain text
17690 #: build/C/man7/mdoc.samples.7:360
17691 msgid "Begin list (for the width specifier)."
17695 #: build/C/man7/mdoc.samples.7:360
17700 #. type: Plain text
17701 #: build/C/man7/mdoc.samples.7:362
17702 msgid "Emphasized text."
17706 #: build/C/man7/mdoc.samples.7:362
17711 #. type: Plain text
17712 #: build/C/man7/mdoc.samples.7:364
17713 msgid "Functions (sections two and four)."
17717 #: build/C/man7/mdoc.samples.7:364
17722 #. type: Plain text
17723 #: build/C/man7/mdoc.samples.7:366
17724 msgid "List items."
17728 #: build/C/man7/mdoc.samples.7:366
17733 #. type: Plain text
17734 #: build/C/man7/mdoc.samples.7:368
17735 msgid "Literal text."
17739 #: build/C/man7/mdoc.samples.7:368
17744 #. type: Plain text
17745 #: build/C/man7/mdoc.samples.7:370
17746 msgid "Symbolic text."
17750 #: build/C/man7/mdoc.samples.7:370
17755 #. type: Plain text
17756 #: build/C/man7/mdoc.samples.7:372
17757 msgid "Book titles."
17761 #: build/C/man7/mdoc.samples.7:372
17766 #. type: Plain text
17767 #: build/C/man7/mdoc.samples.7:374
17768 msgid "Journal names."
17772 #: build/C/man7/mdoc.samples.7:374
17777 #. type: Plain text
17778 #: build/C/man7/mdoc.samples.7:376
17779 msgid "Optional notes for a reference."
17783 #: build/C/man7/mdoc.samples.7:376
17788 #. type: Plain text
17789 #: build/C/man7/mdoc.samples.7:378
17790 msgid "Report title (in a reference)."
17794 #: build/C/man7/mdoc.samples.7:378
17799 #. type: Plain text
17800 #: build/C/man7/mdoc.samples.7:380
17801 msgid "Title of article in a book or journal."
17804 #. type: Plain text
17805 #: build/C/man7/mdoc.samples.7:397
17807 "One way of passing a string containing blank spaces is to use the hard or "
17808 "unpaddable space character E<.Ql \\e\\ >, that is, a blank space preceded by "
17809 "the escape character E<.Ql \\e>. This method may be used with any macro but "
17810 "has the side effect of interfering with the adjustment of text over the "
17811 "length of a line. E<.Xr Troff> sees the hard space as if it were any other "
17812 "printable character and cannot split the string into blank or newline "
17813 "separated pieces as one would expect. The method is useful for strings "
17814 "which are not expected to overlap a line boundary. For example:"
17818 #: build/C/man7/mdoc.samples.7:398
17820 msgid "Fn fetch char\\ *str"
17823 #. type: Plain text
17824 #: build/C/man7/mdoc.samples.7:401
17825 msgid "is created by E<.Ql \\&.Fn fetch char\\e *str>"
17829 #: build/C/man7/mdoc.samples.7:401
17831 msgid "Fn fetch \"char *str\""
17834 #. type: Plain text
17835 #: build/C/man7/mdoc.samples.7:404
17836 msgid "can also be created by E<.Ql \\&.Fn fetch \"\\*qchar *str\\*q\">"
17839 #. type: Plain text
17840 #: build/C/man7/mdoc.samples.7:413
17842 "If the E<.Ql \\e> or quotes were omitted, E<.Ql \\&.Fn> would see three "
17843 "arguments and the result would be:"
17847 #: build/C/man7/mdoc.samples.7:414
17849 msgid "Fn fetch char *str"
17852 #. type: Plain text
17853 #: build/C/man7/mdoc.samples.7:420
17855 "For an example of what happens when the parameter list overlaps a newline "
17856 "boundary, see the E<.Sx BUGS> section."
17860 #: build/C/man7/mdoc.samples.7:420
17862 msgid "Trailing Blank Space Characters"
17865 #. type: Plain text
17866 #: build/C/man7/mdoc.samples.7:433
17868 "E<.Xr Troff> can be confused by blank space characters at the end of a "
17869 "line. It is a wise preventive measure to globally remove all blank spaces "
17870 "from E<lt>blank-spaceE<gt>E<lt>end-of-lineE<gt> character sequences. Should "
17871 "the need arise to force a blank character at the end of a line, it may be "
17872 "forced with an unpaddable space and the E<.Ql \\e&> escape character. For "
17873 "example, E<.Ql string\\e\\ \\e&>."
17877 #: build/C/man7/mdoc.samples.7:433
17879 msgid "Escaping Special Characters"
17882 #. type: Plain text
17883 #: build/C/man7/mdoc.samples.7:445
17885 "Special characters like the newline character E<.Ql \\en>, are handled by "
17886 "replacing the E<.Ql \\e> with E<.Ql \\ee> (e.g., E<.Ql \\een>) to preserve "
17891 #: build/C/man7/mdoc.samples.7:445
17893 msgid "THE ANATOMY OF A MAN PAGE"
17896 #. type: Plain text
17897 #: build/C/man7/mdoc.samples.7:452
17899 "The body of a man page is easily constructed from a basic template found in "
17900 "the file E<.Pa /usr/share/misc/mdoc.template>. Several example man pages "
17901 "can also be found in E<.Pa /usr/share/examples/mdoc>."
17905 #: build/C/man7/mdoc.samples.7:453
17907 msgid "A manual page template"
17910 #. type: Plain text
17911 #: build/C/man7/mdoc.samples.7:484
17914 "\\&.\\e\" The following requests are required for all man pages.\n"
17915 "\\&.Dd Month day, year\n"
17916 "\\&.Os OPERATING_SYSTEM [version/release]\n"
17917 "\\&.Dt DOCUMENT_TITLE [section number] [volume]\n"
17920 "\\&.Nd one line description of name\n"
17921 "\\&.Sh SYNOPSIS\n"
17922 "\\&.Sh DESCRIPTION\n"
17923 "\\&.\\e\" The following requests should be uncommented and\n"
17924 "\\&.\\e\" used where appropriate. This next request is\n"
17925 "\\&.\\e\" for sections 2 and 3 function return values only.\n"
17926 "\\&.\\e\" .Sh RETURN VALUE\n"
17927 "\\&.\\e\" This next request is for sections 1, 6, 7 & 8 only\n"
17928 "\\&.\\e\" .Sh ENVIRONMENT\n"
17929 "\\&.\\e\" .Sh FILES\n"
17930 "\\&.\\e\" .Sh EXAMPLES\n"
17931 "\\&.\\e\" This next request is for sections 1, 6, 7 & 8 only\n"
17932 "\\&.\\e\" (command return values (to shell) and\n"
17933 "\\&.\\e\"\t fprintf/stderr type diagnostics)\n"
17934 "\\&.\\e\" .Sh DIAGNOSTICS\n"
17935 "\\&.\\e\" The next request is for sections 2 and 3 error\n"
17936 "\\&.\\e\" and signal handling only.\n"
17937 "\\&.\\e\" .Sh ERRORS\n"
17938 "\\&.\\e\" .Sh SEE ALSO\n"
17939 "\\&.\\e\" .Sh CONFORMING TO\n"
17940 "\\&.\\e\" .Sh HISTORY\n"
17941 "\\&.\\e\" .Sh AUTHORS\n"
17942 "\\&.\\e\" .Sh BUGS\n"
17945 #. type: Plain text
17946 #: build/C/man7/mdoc.samples.7:498
17948 "The first items in the template are the macros E<.Pq Li \\&.Dd , \\&.Os , "
17949 "\\&.Dt>; the document date, the operating system the man page or subject "
17950 "source is developed or modified for, and the man page title E<.Pq Em in "
17951 "uppercase> along with the section of the manual the page belongs in. These "
17952 "macros identify the page, and are discussed below in E<.Sx TITLE MACROS>."
17955 #. type: Plain text
17956 #: build/C/man7/mdoc.samples.7:517
17958 "The remaining items in the template are section headers E<.Pq Li \\&.Sh>; of "
17959 "which E<.Sx NAME>, E<.Sx SYNOPSIS> and E<.Sx DESCRIPTION> are mandatory. "
17960 "The headers are discussed in E<.Sx PAGE STRUCTURE DOMAIN>, after "
17961 "presentation of E<.Sx MANUAL DOMAIN>. Several content macros are used to "
17962 "demonstrate page layout macros; reading about content macros before page "
17963 "layout macros is recommended."
17967 #: build/C/man7/mdoc.samples.7:517
17969 msgid "TITLE MACROS"
17972 #. type: Plain text
17973 #: build/C/man7/mdoc.samples.7:526
17975 "The title macros are the first portion of the page structure domain, but are "
17976 "presented first and separate for someone who wishes to start writing a man "
17977 "page yesterday. Three header macros designate the document title or manual "
17978 "page title, the operating system, and the date of authorship. These macros "
17979 "are one called once at the very beginning of the document and are used to "
17980 "construct the headers and footers only."
17984 #: build/C/man7/mdoc.samples.7:527
17986 msgid "Li \\&.Dt DOCUMENT_TITLE section# [volume]"
17990 #. USD UNIX User's Supplementary Documents
17992 #. PS1 UNIX Programmer's Supplementary Documents
17993 #. type: Plain text
17994 #: build/C/man7/mdoc.samples.7:541
17996 "The document title is the subject of the man page and must be in E<.Tn "
17997 "CAPITALS> due to troff limitations. The section number may be 1,\\ ...,\\ "
17998 "8, and if it is specified, the volume title may be omitted. A volume title "
17999 "may be arbitrary or one of the following:"
18003 #: build/C/man7/mdoc.samples.7:543
18005 msgid "Li \"AMD\tUNIX Ancestral Manual Documents\""
18009 #: build/C/man7/mdoc.samples.7:544
18011 msgid "Li \"SMM\tUNIX System Manager's Manual\""
18015 #: build/C/man7/mdoc.samples.7:545
18017 msgid "Li \"URM\tUNIX Reference Manual\""
18021 #: build/C/man7/mdoc.samples.7:546
18023 msgid "Li \"PRM\tUNIX Programmer's Manual\""
18027 #. MMI UNIX Manual Master Index
18029 #. CON UNIX Contributed Software Manual
18031 #. LOC UNIX Local Manual
18032 #. type: Plain text
18033 #: build/C/man7/mdoc.samples.7:562
18035 "The default volume labeling is E<.Li URM> for sections 1, 6, and 7; E<.Li "
18036 "SMM> for section 8; E<.Li PRM> for sections 2, 3, 4, and 5."
18040 #: build/C/man7/mdoc.samples.7:562
18042 msgid "Li \\&.Os operating_system release#"
18045 #. type: Plain text
18046 #: build/C/man7/mdoc.samples.7:575
18048 "The name of the operating system should be the common acronym, for example, "
18049 "E<.Tn BSD> or E<.Tn FreeBSD> or E<.Tn ATT>. The release should be the "
18050 "standard release nomenclature for the system specified, for example, 4.3, "
18051 "4.3+Tahoe, V.3, V.4. Unrecognized arguments are displayed as given in the "
18052 "page footer. For instance, a typical footer might be:"
18056 #: build/C/man7/mdoc.samples.7:576
18058 msgid "\\&.Os 4.3BSD"
18061 #. type: Plain text
18062 #: build/C/man7/mdoc.samples.7:579
18067 #: build/C/man7/mdoc.samples.7:579
18069 msgid "\\&.Os FreeBSD 2.2"
18072 #. type: Plain text
18073 #: build/C/man7/mdoc.samples.7:582
18074 msgid "or for a locally produced set"
18078 #: build/C/man7/mdoc.samples.7:583
18080 msgid "\\&.Os CS Department"
18083 #. type: Plain text
18084 #: build/C/man7/mdoc.samples.7:598
18086 "The Berkeley default, E<.Ql \\&.Os> without an argument, has been defined as "
18087 "E<.Tn BSD> in the site-specific file E<.Pa "
18088 "/usr/share/tmac/mdoc/doc-common>. It really should default to E<.Tn "
18089 "LOCAL>. Note, if the E<.Ql \\&.Os> macro is not present, the bottom left "
18090 "corner of the page will be ugly."
18094 #: build/C/man7/mdoc.samples.7:598
18096 msgid "Li \\&.Dd month day, year"
18099 #. type: Plain text
18100 #: build/C/man7/mdoc.samples.7:600
18101 msgid "The date should be written formally:"
18105 #: build/C/man7/mdoc.samples.7:602
18107 msgid "January 25, 1989"
18111 #: build/C/man7/mdoc.samples.7:604
18113 msgid "INTRODUCTION OF MANUAL AND GENERAL TEXT DOMAINS"
18117 #: build/C/man7/mdoc.samples.7:605
18119 msgid "What's in a name..."
18122 #. type: Plain text
18123 #: build/C/man7/mdoc.samples.7:622
18125 "The manual domain macro names are derived from the day to day informal "
18126 "language used to describe commands, subroutines and related files. Slightly "
18127 "different variations of this language are used to describe the three "
18128 "different aspects of writing a man page. First, there is the description of "
18129 "E<.Nm \\-mdoc> macro request usage. Second is the description of a E<.Ux> "
18130 "command E<.Em with> E<.Nm \\-mdoc> macros and third, the description of a "
18131 "command to a user in the verbal sense; that is, discussion of a command in "
18132 "the text of a man page."
18135 #. type: Plain text
18136 #: build/C/man7/mdoc.samples.7:627
18138 "In the first case, E<.Xr troff 1> macros are themselves a type of command; "
18139 "the general syntax for a troff command is:"
18142 #. type: Plain text
18143 #: build/C/man7/mdoc.samples.7:629
18145 msgid "\\&.Va argument1 argument2 ... argument9\n"
18148 #. type: Plain text
18149 #: build/C/man7/mdoc.samples.7:643
18151 "The E<.Ql \\&.Va> is a macro command or request, and anything following it "
18152 "is an argument to be processed. In the second case, the description of a "
18153 "E<.Ux> command using the content macros is a bit more involved; a typical "
18154 "E<.Sx SYNOPSIS> command line might be displayed as:"
18157 #. type: Plain text
18158 #: build/C/man7/mdoc.samples.7:647
18163 "E<.Ar infile outfile>\n"
18166 #. type: Plain text
18167 #: build/C/man7/mdoc.samples.7:667
18169 "Here, E<.Nm filter> is the command name and the bracketed string E<.Fl flag> "
18170 "is a E<.Em flag> argument designated as optional by the option brackets. In "
18171 "E<.Nm \\-mdoc> terms, E<.Ar infile> and E<.Ar outfile> are called E<.Em "
18172 "arguments>. The macros which formatted the above example:"
18175 #. type: Plain text
18176 #: build/C/man7/mdoc.samples.7:671
18180 "\\&.Op \\&Fl flag\n"
18181 "\\&.Ar infile outfile\n"
18184 #. type: Plain text
18185 #: build/C/man7/mdoc.samples.7:685
18187 "In the third case, discussion of commands and command syntax includes both "
18188 "examples above, but may add more detail. The arguments E<.Ar infile> and "
18189 "E<.Ar outfile> from the example above might be referred to as E<.Em "
18190 "operands> or E<.Em file arguments>. Some command-line argument lists are "
18195 #: build/C/man7/mdoc.samples.7:686
18200 #. type: Plain text
18201 #: build/C/man7/mdoc.samples.7:699
18203 "E<.Op Fl eiknqrstv> E<.Op Fl D Ar variable> E<.Op Fl d Ar flags> E<.Op Fl f "
18204 "Ar makefile> E<.Bk -words> E<.Op Fl I Ar directory> E<.Ek> E<.Op Fl j Ar "
18205 "max_jobs> E<.Op Ar variable=value> E<.Bk -words> E<.Op Ar target ...> E<.Ek>"
18208 #. type: Plain text
18209 #: build/C/man7/mdoc.samples.7:725
18211 "Here one might talk about the command E<.Nm make> and qualify the argument "
18212 "E<.Ar makefile>, as an argument to the flag, E<.Fl f>, or discuss the "
18213 "optional file operand E<.Ar target>. In the verbal context, such detail can "
18214 "prevent confusion, however the E<.Nm \\-mdoc> package does not have a macro "
18215 "for an argument E<.Em to> a flag. Instead the E<.Ql \\&Ar> argument macro "
18216 "is used for an operand or file argument like E<.Ar target> as well as an "
18217 "argument to a flag like E<.Ar variable>. The make command line was produced "
18221 #. type: Plain text
18222 #: build/C/man7/mdoc.samples.7:737
18226 "\\&.Op Fl eiknqrstv\n"
18227 "\\&.Op Fl D Ar variable\n"
18228 "\\&.Op Fl d Ar flags\n"
18229 "\\&.Op Fl f Ar makefile\n"
18230 "\\&.Op Fl I Ar directory\n"
18231 "\\&.Op Fl j Ar max_jobs\n"
18232 "\\&.Op Ar variable=value\n"
18234 "\\&.Op Ar target ...\n"
18238 #. type: Plain text
18239 #: build/C/man7/mdoc.samples.7:745
18240 msgid "The E<.Ql \\&.Bk> and E<.Ql \\&.Ek> macros are explained in E<.Sx Keeps>."
18244 #: build/C/man7/mdoc.samples.7:745
18246 msgid "General Syntax"
18249 #. type: Plain text
18250 #: build/C/man7/mdoc.samples.7:768
18252 "The manual domain and general text domain macros share a similar syntax with "
18253 "a few minor deviations: E<.Ql \\&.Ar>, E<.Ql \\&.Fl>, E<.Ql \\&.Nm>, and "
18254 "E<.Ql \\&.Pa> differ only when called without arguments; E<.Ql \\&.Fn> and "
18255 "E<.Ql \\&.Xr> impose an order on their argument lists and the E<.Ql \\&.Op> "
18256 "and E<.Ql \\&.Fn> macros have nesting limitations. All content macros are "
18257 "capable of recognizing and properly handling punctuation, provided each "
18258 "punctuation character is separated by a leading space. If a request is "
18263 #: build/C/man7/mdoc.samples.7:769
18265 msgid "\\&.Li sptr, ptr),"
18268 #. type: Plain text
18269 #: build/C/man7/mdoc.samples.7:772 build/C/man7/mdoc.samples.7:782
18270 msgid "The result is:"
18274 #: build/C/man7/mdoc.samples.7:773
18276 msgid "Li sptr, ptr),"
18279 #. type: Plain text
18280 #: build/C/man7/mdoc.samples.7:778
18282 "The punctuation is not recognized and all is output in the literal font. If "
18283 "the punctuation is separated by a leading white space:"
18287 #: build/C/man7/mdoc.samples.7:779
18289 msgid "\\&.Li \"sptr , ptr ) ,\""
18293 #: build/C/man7/mdoc.samples.7:783
18295 msgid "Li sptr , ptr ) ,"
18298 #. type: Plain text
18299 #: build/C/man7/mdoc.samples.7:787
18301 "The punctuation is now recognized and is output in the default font "
18302 "distinguishing it from the strings in literal font."
18305 #. type: Plain text
18306 #: build/C/man7/mdoc.samples.7:796
18308 "To remove the special meaning from a punctuation character escape it with "
18309 "E<.Ql \\e&>. E<.Xr Troff> is limited as a macro language, and has "
18310 "difficulty when presented with a string containing a member of the "
18311 "mathematical, logical or quotation set:"
18314 #. type: Plain text
18315 #: build/C/man7/mdoc.samples.7:798
18317 msgid "\\&{+,\\-,/,*,\\&%,E<lt>,E<gt>,E<lt>=,E<gt>=,=,==,&,`,',\"}\n"
18320 #. type: Plain text
18321 #: build/C/man7/mdoc.samples.7:810
18323 "The problem is that E<.Xr troff> may assume it is supposed to actually "
18324 "perform the operation or evaluation suggested by the characters. To prevent "
18325 "the accidental evaluation of these characters, escape them with E<.Ql "
18326 "\\e&>. Typical syntax is shown in the first content macro displayed below, "
18331 #: build/C/man7/mdoc.samples.7:810
18333 msgid "MANUAL DOMAIN"
18337 #: build/C/man7/mdoc.samples.7:811
18339 msgid "Address Macro"
18342 #. type: Plain text
18343 #: build/C/man7/mdoc.samples.7:814
18345 "The address macro identifies an address construct of the form "
18346 "addr1[,addr2[,addr3]]."
18350 #: build/C/man7/mdoc.samples.7:815
18352 msgid "Usage: .Ad address ... \\*(Pu"
18356 #: build/C/man7/mdoc.samples.7:817
18358 msgid "Li \\&.Ad addr1"
18361 #. type: Plain text
18362 #: build/C/man7/mdoc.samples.7:819
18363 msgid "E<.Ad addr1>"
18367 #: build/C/man7/mdoc.samples.7:819
18369 msgid "Li \\&.Ad addr1\\ ."
18372 #. type: Plain text
18373 #: build/C/man7/mdoc.samples.7:821
18374 msgid "E<.Ad addr1>."
18378 #: build/C/man7/mdoc.samples.7:821
18380 msgid "Li \\&.Ad addr1\\ , file2"
18383 #. type: Plain text
18384 #: build/C/man7/mdoc.samples.7:823
18385 msgid "E<.Ad addr1 , file2>"
18389 #: build/C/man7/mdoc.samples.7:823
18391 msgid "Li \\&.Ad f1\\ , f2\\ , f3\\ :"
18394 #. type: Plain text
18395 #: build/C/man7/mdoc.samples.7:825
18396 msgid "E<.Ad f1 , f2 , f3>:"
18400 #: build/C/man7/mdoc.samples.7:825
18402 msgid "Li \\&.Ad addr\\ )\\ )\\ ,"
18405 #. type: Plain text
18406 #: build/C/man7/mdoc.samples.7:827
18407 msgid "E<.Ad addr>)),"
18410 #. type: Plain text
18411 #: build/C/man7/mdoc.samples.7:834
18413 "It is an error to call E<.Ql \\&.Ad> without arguments. E<.Ql \\&.Ad> is "
18414 "callable by other macros and is parsed."
18418 #: build/C/man7/mdoc.samples.7:834
18420 msgid "Author Name"
18423 #. type: Plain text
18424 #: build/C/man7/mdoc.samples.7:841
18426 "The E<.Ql \\&.An> macro is used to specify the name of the author of the "
18427 "item being documented, or the name of the author of the actual manual page. "
18428 "Any remaining arguments after the name information are assumed to be "
18433 #: build/C/man7/mdoc.samples.7:842
18435 msgid "Usage: .An author_name \\*(Pu"
18439 #: build/C/man7/mdoc.samples.7:844
18441 msgid "Li \\&.An Joe\\ Author"
18444 #. type: Plain text
18445 #: build/C/man7/mdoc.samples.7:846
18446 msgid "E<.An Joe Author>"
18450 #: build/C/man7/mdoc.samples.7:846
18452 msgid "Li \\&.An Joe\\ Author\\ ,"
18455 #. type: Plain text
18456 #: build/C/man7/mdoc.samples.7:848
18457 msgid "E<.An Joe\\ Author>,"
18461 #: build/C/man7/mdoc.samples.7:848
18463 msgid "Li \\&.An Joe\\ Author\\ \\&Aq\\ nobody@FreeBSD.ORG"
18466 #. type: Plain text
18467 #: build/C/man7/mdoc.samples.7:850
18468 msgid "E<.An Joe Author Aq nobody@FreeBSD.ORG>"
18472 #: build/C/man7/mdoc.samples.7:850
18474 msgid "Li \\&.An Joe\\ Author\\ )\\ )\\ ,"
18477 #. type: Plain text
18478 #: build/C/man7/mdoc.samples.7:852
18479 msgid "E<.An Joe Author>)),"
18482 #. type: Plain text
18483 #: build/C/man7/mdoc.samples.7:861
18485 "The E<.Ql \\&.An> macro is parsed and is callable. It is an error to call "
18486 "E<.Ql \\&.An> without any arguments."
18490 #: build/C/man7/mdoc.samples.7:861
18492 msgid "Argument Macro"
18495 #. type: Plain text
18496 #: build/C/man7/mdoc.samples.7:866
18498 "The E<.Ql \\&.Ar> argument macro may be used whenever a command-line "
18499 "argument is referenced."
18503 #: build/C/man7/mdoc.samples.7:867
18505 msgid "Usage: .Ar argument ... \\*(Pu"
18509 #: build/C/man7/mdoc.samples.7:869
18514 #. type: Plain text
18515 #: build/C/man7/mdoc.samples.7:871
18520 #: build/C/man7/mdoc.samples.7:871
18522 msgid "Li \\&.Ar file1"
18525 #. type: Plain text
18526 #: build/C/man7/mdoc.samples.7:873
18527 msgid "E<.Ar file1>"
18531 #: build/C/man7/mdoc.samples.7:873
18533 msgid "Li \\&.Ar file1\\ ."
18536 #. type: Plain text
18537 #: build/C/man7/mdoc.samples.7:875
18538 msgid "E<.Ar file1>."
18542 #: build/C/man7/mdoc.samples.7:875
18544 msgid "Li \\&.Ar file1 file2"
18547 #. type: Plain text
18548 #: build/C/man7/mdoc.samples.7:877
18549 msgid "E<.Ar file1 file2>"
18553 #: build/C/man7/mdoc.samples.7:877
18555 msgid "Li \\&.Ar f1 f2 f3\\ :"
18558 #. type: Plain text
18559 #: build/C/man7/mdoc.samples.7:879
18560 msgid "E<.Ar f1 f2 f3>:"
18564 #: build/C/man7/mdoc.samples.7:879
18566 msgid "Li \\&.Ar file\\ )\\ )\\ ,"
18569 #. type: Plain text
18570 #: build/C/man7/mdoc.samples.7:881
18571 msgid "E<.Ar file>)),"
18574 #. type: Plain text
18575 #: build/C/man7/mdoc.samples.7:891
18577 "If E<.Ql \\&.Ar> is called without arguments, E<.Ql \\&Ar> is assumed. The "
18578 "E<.Ql \\&.Ar> macro is parsed and is callable."
18582 #: build/C/man7/mdoc.samples.7:891
18584 msgid "Configuration Declaration (section four only)"
18587 #. type: Plain text
18588 #: build/C/man7/mdoc.samples.7:898
18590 "The E<.Ql \\&.Cd> macro is used to demonstrate a E<.Xr config 8> declaration "
18591 "for a device interface in a section four manual. This macro accepts quoted "
18592 "arguments (double quotes only)."
18596 #: build/C/man7/mdoc.samples.7:900
18598 msgid "Cd \"device le0 at scode?\""
18601 #. type: Plain text
18602 #: build/C/man7/mdoc.samples.7:903
18603 msgid "produced by: E<.Ql \".Cd device le0 at scode?\">."
18607 #: build/C/man7/mdoc.samples.7:904
18609 msgid "Command Modifier"
18612 #. type: Plain text
18613 #: build/C/man7/mdoc.samples.7:918
18615 "The command modifier is identical to the E<.Ql \\&.Fl> (flag) command with "
18616 "the exception the E<.Ql \\&.Cm> macro does not assert a dash in front of "
18617 "every argument. Traditionally flags are marked by the preceding dash, some "
18618 "commands or subsets of commands do not use them. Command modifiers may also "
18619 "be specified in conjunction with interactive commands such as editor "
18620 "commands. See E<.Sx Flags>."
18624 #: build/C/man7/mdoc.samples.7:918
18626 msgid "Defined Variables"
18629 #. type: Plain text
18630 #: build/C/man7/mdoc.samples.7:922
18632 "A variable which is defined in an include file is specified by the macro "
18637 #: build/C/man7/mdoc.samples.7:923
18639 msgid "Usage: .Dv defined_variable ... \\*(Pu"
18643 #: build/C/man7/mdoc.samples.7:925
18645 msgid "Li \".Dv MAXHOSTNAMELEN\""
18648 #. type: Plain text
18649 #: build/C/man7/mdoc.samples.7:927
18650 msgid "E<.Dv MAXHOSTNAMELEN>"
18654 #: build/C/man7/mdoc.samples.7:927
18656 msgid "Li \".Dv TIOCGPGRP )\""
18659 #. type: Plain text
18660 #: build/C/man7/mdoc.samples.7:929
18661 msgid "E<.Dv TIOCGPGRP>)"
18664 #. type: Plain text
18665 #: build/C/man7/mdoc.samples.7:936
18667 "It is an error to call E<.Ql \\&.Dv> without arguments. E<.Ql \\&.Dv> is "
18668 "parsed and is callable."
18672 #: build/C/man7/mdoc.samples.7:936
18674 msgid "Errno's (Section two only)"
18677 #. type: Plain text
18678 #: build/C/man7/mdoc.samples.7:948
18680 "The E<.Ql \\&.Er> errno macro specifies the error return value for section "
18681 "two library routines. The second example below shows E<.Ql \\&.Er> used "
18682 "with the E<.Ql \\&.Bq> general text domain macro, as it would be used in a "
18683 "section two manual page."
18687 #: build/C/man7/mdoc.samples.7:949
18689 msgid "Usage: .Er ERRNOTYPE ... \\*(Pu"
18693 #: build/C/man7/mdoc.samples.7:951
18695 msgid "Li \\&.Er ENOENT"
18698 #. type: Plain text
18699 #: build/C/man7/mdoc.samples.7:953
18700 msgid "E<.Er ENOENT>"
18704 #: build/C/man7/mdoc.samples.7:953
18706 msgid "Li \\&.Er ENOENT\\ )\\ ;"
18709 #. type: Plain text
18710 #: build/C/man7/mdoc.samples.7:955
18711 msgid "E<.Er ENOENT>);"
18715 #: build/C/man7/mdoc.samples.7:955
18717 msgid "Li \\&.Bq \\&Er ENOTDIR"
18720 #. type: Plain text
18721 #: build/C/man7/mdoc.samples.7:957
18722 msgid "E<.Bq Er ENOTDIR>"
18725 #. type: Plain text
18726 #: build/C/man7/mdoc.samples.7:965
18728 "It is an error to call E<.Ql \\&.Er> without arguments. The E<.Ql \\&.Er> "
18729 "macro is parsed and is callable."
18733 #: build/C/man7/mdoc.samples.7:965
18735 msgid "Environment Variables"
18738 #. type: Plain text
18739 #: build/C/man7/mdoc.samples.7:969
18740 msgid "The E<.Ql \\&.Ev> macro specifies an environment variable."
18744 #: build/C/man7/mdoc.samples.7:970
18746 msgid "Usage: .Ev argument ... \\*(Pu"
18750 #: build/C/man7/mdoc.samples.7:972
18752 msgid "Li \\&.Ev DISPLAY"
18755 #. type: Plain text
18756 #: build/C/man7/mdoc.samples.7:974
18757 msgid "E<.Ev DISPLAY>"
18761 #: build/C/man7/mdoc.samples.7:974
18763 msgid "Li \\&.Ev PATH\\ ."
18766 #. type: Plain text
18767 #: build/C/man7/mdoc.samples.7:976
18768 msgid "E<.Ev PATH>."
18772 #: build/C/man7/mdoc.samples.7:976
18774 msgid "Li \\&.Ev PRINTER\\ )\\ )\\ ,"
18777 #. type: Plain text
18778 #: build/C/man7/mdoc.samples.7:978
18779 msgid "E<.Ev PRINTER>)),"
18782 #. type: Plain text
18783 #: build/C/man7/mdoc.samples.7:986
18785 "It is an error to call E<.Ql \\&.Ev> without arguments. The E<.Ql \\&.Ev> "
18786 "macro is parsed and is callable."
18790 #: build/C/man7/mdoc.samples.7:986
18792 msgid "Function Argument"
18795 #. type: Plain text
18796 #: build/C/man7/mdoc.samples.7:1005
18798 "The E<.Ql \\&.Fa> macro is used to refer to function arguments (parameters) "
18799 "outside of the E<.Sx SYNOPSIS> section of the manual or inside the E<.Sx "
18800 "SYNOPSIS> section should a parameter list be too long for the E<.Ql \\&.Fn> "
18801 "macro and the enclosure macros E<.Ql \\&.Fo> and E<.Ql \\&.Fc> must be "
18802 "used. E<.Ql \\&.Fa> may also be used to refer to structure members."
18806 #: build/C/man7/mdoc.samples.7:1006
18808 msgid "Usage: .Fa function_argument ... \\*(Pu"
18812 #: build/C/man7/mdoc.samples.7:1008
18814 msgid "Li \\&.Fa d_namlen\\ )\\ )\\ ,"
18817 #. type: Plain text
18818 #: build/C/man7/mdoc.samples.7:1010
18819 msgid "E<.Fa d_namlen>)),"
18823 #: build/C/man7/mdoc.samples.7:1010
18825 msgid "Li \\&.Fa iov_len"
18828 #. type: Plain text
18829 #: build/C/man7/mdoc.samples.7:1012
18830 msgid "E<.Fa iov_len>"
18833 #. type: Plain text
18834 #: build/C/man7/mdoc.samples.7:1019
18836 "It is an error to call E<.Ql \\&.Fa> without arguments. E<.Ql \\&.Fa> is "
18837 "parsed and is callable."
18841 #: build/C/man7/mdoc.samples.7:1019
18843 msgid "Function Declaration"
18846 #. type: Plain text
18847 #: build/C/man7/mdoc.samples.7:1030
18849 "The E<.Ql \\&.Fd> macro is used in the E<.Sx SYNOPSIS> section with section "
18850 "two or three functions. The E<.Ql \\&.Fd> macro does not call other macros "
18851 "and is not callable by other macros."
18855 #: build/C/man7/mdoc.samples.7:1031
18857 msgid "Usage: .Fd include_file (or defined variable)"
18860 #. type: Plain text
18861 #: build/C/man7/mdoc.samples.7:1042
18863 "In the E<.Sx SYNOPSIS> section a E<.Ql \\&.Fd> request causes a line break "
18864 "if a function has already been presented and a break has not occurred. This "
18865 "leaves a nice vertical space in between the previous function call and the "
18866 "declaration for the next function."
18870 #: build/C/man7/mdoc.samples.7:1042
18875 #. type: Plain text
18876 #: build/C/man7/mdoc.samples.7:1055
18878 "The E<.Ql \\&.Fl> macro handles command-line flags. It prepends a dash, "
18879 "E<.Ql \\->, to the flag. For interactive command flags, which are not "
18880 "prepended with a dash, the E<.Ql \\&.Cm> (command modifier) macro is "
18881 "identical, but without the dash."
18885 #: build/C/man7/mdoc.samples.7:1056
18887 msgid "Usage: .Fl argument ... \\*(Pu"
18891 #: build/C/man7/mdoc.samples.7:1058
18896 #. type: Plain text
18897 #: build/C/man7/mdoc.samples.7:1060
18902 #: build/C/man7/mdoc.samples.7:1060
18904 msgid "Li \\&.Fl cfv"
18907 #. type: Plain text
18908 #: build/C/man7/mdoc.samples.7:1062
18913 #: build/C/man7/mdoc.samples.7:1062
18915 msgid "Li \\&.Fl cfv\\ ."
18918 #. type: Plain text
18919 #: build/C/man7/mdoc.samples.7:1064
18920 msgid "E<.Fl cfv>."
18924 #: build/C/man7/mdoc.samples.7:1064
18926 msgid "Li \\&.Fl s v t"
18929 #. type: Plain text
18930 #: build/C/man7/mdoc.samples.7:1066
18931 msgid "E<.Fl s v t>"
18935 #: build/C/man7/mdoc.samples.7:1066
18937 msgid "Li \\&.Fl -\\ ,"
18940 #. type: Plain text
18941 #: build/C/man7/mdoc.samples.7:1068
18946 #: build/C/man7/mdoc.samples.7:1068
18948 msgid "Li \\&.Fl xyz\\ )\\ ,"
18951 #. type: Plain text
18952 #: build/C/man7/mdoc.samples.7:1070
18953 msgid "E<.Fl xyz>),"
18956 #. type: Plain text
18957 #: build/C/man7/mdoc.samples.7:1082
18959 "The E<.Ql \\&.Fl> macro without any arguments results in a dash representing "
18960 "I<stdin>/I<stdout>. Note that giving E<.Ql \\&.Fl> a single dash, will "
18961 "result in two dashes. The E<.Ql \\&.Fl> macro is parsed and is callable."
18965 #: build/C/man7/mdoc.samples.7:1082
18967 msgid "Functions (library routines)"
18970 #. type: Plain text
18971 #: build/C/man7/mdoc.samples.7:1084
18972 msgid "The .Fn macro is modeled on ANSI C conventions."
18975 #. type: Plain text
18976 #: build/C/man7/mdoc.samples.7:1086
18978 msgid "Usage: .Fn [type] function [[type] parameters ... \\*(Pu]\n"
18982 #: build/C/man7/mdoc.samples.7:1088
18984 msgid "Li \"\\&.Fn getchar\""
18987 #. type: Plain text
18988 #: build/C/man7/mdoc.samples.7:1090
18989 msgid "E<.Fn getchar>"
18993 #: build/C/man7/mdoc.samples.7:1090
18995 msgid "Li \"\\&.Fn strlen ) ,\""
18998 #. type: Plain text
18999 #: build/C/man7/mdoc.samples.7:1092
19000 msgid "E<.Fn strlen>),"
19004 #: build/C/man7/mdoc.samples.7:1092
19006 msgid "Li \\&.Fn \"\\*qint align\\*q\" \"\\*qconst * char *sptrs\\*q\" ,"
19009 #. type: Plain text
19010 #: build/C/man7/mdoc.samples.7:1094
19011 msgid "E<.Fn \"int align\" \"const * char *sptrs\">,"
19014 #. type: Plain text
19015 #: build/C/man7/mdoc.samples.7:1107
19017 "It is an error to call E<.Ql \\&.Fn> without any arguments. The E<.Ql "
19018 "\\&.Fn> macro is parsed and is callable, note that any call to another macro "
19019 "signals the end of the E<.Ql \\&.Fn> call (it will close-parenthesis at that "
19023 #. type: Plain text
19024 #: build/C/man7/mdoc.samples.7:1121
19026 "For functions that have more than eight parameters (and this is rare), the "
19027 "macros E<.Ql \\&.Fo> (function open) and E<.Ql \\&.Fc> (function close) "
19028 "may be used with E<.Ql \\&.Fa> (function argument) to get around the "
19029 "limitation. For example:"
19032 #. type: Plain text
19033 #: build/C/man7/mdoc.samples.7:1133
19036 "\\&.Fo \"int res_mkquery\"\n"
19037 "\\&.Fa \"int op\"\n"
19038 "\\&.Fa \"char *dname\"\n"
19039 "\\&.Fa \"int class\"\n"
19040 "\\&.Fa \"int type\"\n"
19041 "\\&.Fa \"char *data\"\n"
19042 "\\&.Fa \"int datalen\"\n"
19043 "\\&.Fa \"struct rrec *newrr\"\n"
19044 "\\&.Fa \"char *buf\"\n"
19045 "\\&.Fa \"int buflen\"\n"
19049 #. type: Plain text
19050 #: build/C/man7/mdoc.samples.7:1136 build/C/man7/mdoc.samples.7:2480
19054 #. type: Plain text
19055 #: build/C/man7/mdoc.samples.7:1148
19058 "E<.Fo \"int res_mkquery\">\n"
19059 "E<.Fa \"int op\">\n"
19060 "E<.Fa \"char *dname\">\n"
19061 "E<.Fa \"int class\">\n"
19062 "E<.Fa \"int type\">\n"
19063 "E<.Fa \"char *data\">\n"
19064 "E<.Fa \"int datalen\">\n"
19065 "E<.Fa \"struct rrec *newrr\">\n"
19066 "E<.Fa \"char *buf\">\n"
19067 "E<.Fa \"int buflen\">\n"
19071 #. type: Plain text
19072 #: build/C/man7/mdoc.samples.7:1171
19074 "The E<.Ql \\&.Fo> and E<.Ql \\&.Fc> macros are parsed and are callable. In "
19075 "the E<.Sx SYNOPSIS> section, the function will always begin at the beginning "
19076 "of line. If there is more than one function presented in the E<.Sx "
19077 "SYNOPSIS> section and a function type has not been given, a line break will "
19078 "occur, leaving a nice vertical space between the current function name and "
19079 "the one prior. At the moment, E<.Ql \\&.Fn> does not check its word "
19080 "boundaries against troff line lengths and may split across a newline "
19081 "ungracefully. This will be fixed in the near future."
19085 #: build/C/man7/mdoc.samples.7:1171
19087 msgid "Function Type"
19090 #. type: Plain text
19091 #: build/C/man7/mdoc.samples.7:1182
19093 "This macro is intended for the E<.Sx SYNOPSIS> section. It may be used "
19094 "anywhere else in the man page without problems, but its main purpose is to "
19095 "present the function type in kernel normal form for the E<.Sx SYNOPSIS> of "
19096 "sections two and three (it causes a line break allowing the function name to "
19097 "appear on the next line)."
19101 #: build/C/man7/mdoc.samples.7:1183
19103 msgid "Usage: .Ft type ... \\*(Pu"
19107 #: build/C/man7/mdoc.samples.7:1185
19109 msgid "Li \\&.Ft struct stat"
19112 #. type: Plain text
19113 #: build/C/man7/mdoc.samples.7:1187
19114 msgid "E<.Ft struct stat>"
19117 #. type: Plain text
19118 #: build/C/man7/mdoc.samples.7:1192
19119 msgid "The E<.Ql \\&.Ft> request is not callable by other macros."
19123 #: build/C/man7/mdoc.samples.7:1192
19125 msgid "Interactive Commands"
19128 #. type: Plain text
19129 #: build/C/man7/mdoc.samples.7:1196
19130 msgid "The E<.Ql \\&.Ic> macro designates an interactive or internal command."
19134 #: build/C/man7/mdoc.samples.7:1197
19136 msgid "Usage: .Ic argument ... \\*(Pu"
19140 #: build/C/man7/mdoc.samples.7:1199
19142 msgid "Li \\&.Ic :wq"
19145 #. type: Plain text
19146 #: build/C/man7/mdoc.samples.7:1201
19151 #: build/C/man7/mdoc.samples.7:1201
19153 msgid "Li \\&.Ic do while {...}"
19156 #. type: Plain text
19157 #: build/C/man7/mdoc.samples.7:1203
19158 msgid "E<.Ic do while {...}>"
19162 #: build/C/man7/mdoc.samples.7:1203
19164 msgid "Li \\&.Ic setenv\\ , unsetenv"
19167 #. type: Plain text
19168 #: build/C/man7/mdoc.samples.7:1205
19169 msgid "E<.Ic setenv , unsetenv>"
19172 #. type: Plain text
19173 #: build/C/man7/mdoc.samples.7:1213
19175 "It is an error to call E<.Ql \\&.Ic> without arguments. The E<.Ql \\&.Ic> "
19176 "macro is parsed and is callable."
19180 #: build/C/man7/mdoc.samples.7:1213
19185 #. type: Plain text
19186 #: build/C/man7/mdoc.samples.7:1249
19188 "The E<.Ql \\&.Nm> macro is used for the document title or subject name. It "
19189 "has the peculiarity of remembering the first argument it was called with, "
19190 "which should always be the subject name of the page. When called without "
19191 "arguments, E<.Ql \\&.Nm> regurgitates this initial name for the sole purpose "
19192 "of making less work for the author. Note: a section two or three document "
19193 "function name is addressed with the E<.Ql \\&.Nm> in the E<.Sx NAME> "
19194 "section, and with E<.Ql \\&.Fn> in the E<.Sx SYNOPSIS> and remaining "
19195 "sections. For interactive commands, such as the E<.Ql while> command "
19196 "keyword in E<.Xr csh 1>, the E<.Ql \\&.Ic> macro should be used. While the "
19197 "E<.Ql \\&.Ic> is nearly identical to E<.Ql \\&.Nm>, it can not recall the "
19198 "first argument it was invoked with."
19202 #: build/C/man7/mdoc.samples.7:1250
19204 msgid "Usage: .Nm argument ... \\*(Pu"
19208 #: build/C/man7/mdoc.samples.7:1252
19210 msgid "Li \\&.Nm mdoc.sample"
19213 #. type: Plain text
19214 #: build/C/man7/mdoc.samples.7:1254
19215 msgid "E<.Nm mdoc.sample>"
19219 #: build/C/man7/mdoc.samples.7:1254
19221 msgid "Li \\&.Nm \\e-mdoc"
19224 #. type: Plain text
19225 #: build/C/man7/mdoc.samples.7:1256
19226 msgid "E<.Nm \\-mdoc>."
19230 #: build/C/man7/mdoc.samples.7:1256
19232 msgid "Li \\&.Nm foo\\ )\\ )\\ ,"
19235 #. type: Plain text
19236 #: build/C/man7/mdoc.samples.7:1258
19237 msgid "E<.Nm foo>)),"
19241 #: build/C/man7/mdoc.samples.7:1258
19246 #. type: Plain text
19247 #: build/C/man7/mdoc.samples.7:1260
19251 #. type: Plain text
19252 #: build/C/man7/mdoc.samples.7:1265
19253 msgid "The E<.Ql \\&.Nm> macro is parsed and is callable."
19257 #: build/C/man7/mdoc.samples.7:1265
19262 #. type: Plain text
19263 #: build/C/man7/mdoc.samples.7:1277
19265 "The E<.Ql \\&.Op> macro places option brackets around the any remaining "
19266 "arguments on the command line, and places any trailing punctuation outside "
19267 "the brackets. The macros E<.Ql \\&.Oc> and E<.Ql \\&.Oo> may be used across "
19268 "one or more lines."
19272 #: build/C/man7/mdoc.samples.7:1278
19274 msgid "Usage: .Op options ... \\*(Pu"
19278 #: build/C/man7/mdoc.samples.7:1280
19283 #. type: Plain text
19284 #: build/C/man7/mdoc.samples.7:1282
19289 #: build/C/man7/mdoc.samples.7:1282
19291 msgid "Li \".Op Fl k\""
19294 #. type: Plain text
19295 #: build/C/man7/mdoc.samples.7:1284
19296 msgid "E<.Op Fl k>"
19300 #: build/C/man7/mdoc.samples.7:1284
19302 msgid "Li \".Op Fl k ) .\""
19305 #. type: Plain text
19306 #: build/C/man7/mdoc.samples.7:1286
19307 msgid "E<.Op Fl k>)."
19311 #: build/C/man7/mdoc.samples.7:1286
19313 msgid "Li \".Op Fl k Ar kookfile\""
19316 #. type: Plain text
19317 #: build/C/man7/mdoc.samples.7:1288
19318 msgid "E<.Op Fl k Ar kookfile>"
19322 #: build/C/man7/mdoc.samples.7:1288
19324 msgid "Li \".Op Fl k Ar kookfile ,\""
19327 #. type: Plain text
19328 #: build/C/man7/mdoc.samples.7:1290
19329 msgid "E<.Op Fl k Ar kookfile>,"
19333 #: build/C/man7/mdoc.samples.7:1290
19335 msgid "Li \".Op Ar objfil Op Ar corfil\""
19338 #. type: Plain text
19339 #: build/C/man7/mdoc.samples.7:1292
19340 msgid "E<.Op Ar objfil Op Ar corfil>"
19344 #: build/C/man7/mdoc.samples.7:1292
19346 msgid "Li \".Op Fl c Ar objfil Op Ar corfil ,\""
19349 #. type: Plain text
19350 #: build/C/man7/mdoc.samples.7:1294
19351 msgid "E<.Op Fl c Ar objfil Op Ar corfil>,"
19355 #: build/C/man7/mdoc.samples.7:1294
19357 msgid "Li \\&.Op word1 word2"
19360 #. type: Plain text
19361 #: build/C/man7/mdoc.samples.7:1296
19362 msgid "E<.Op word1 word2>"
19365 #. type: Plain text
19366 #: build/C/man7/mdoc.samples.7:1303
19367 msgid "The E<.Ql \\&.Oc> and E<.Ql \\&.Oo> macros:"
19370 #. type: Plain text
19371 #: build/C/man7/mdoc.samples.7:1309
19375 "\\&.Op \\&Fl k \\&Ar kilobytes\n"
19376 "\\&.Op \\&Fl i \\&Ar interval\n"
19377 "\\&.Op \\&Fl c \\&Ar count\n"
19381 #. type: Plain text
19382 #: build/C/man7/mdoc.samples.7:1317
19384 "Produce: E<.Oo> E<.Op Fl k Ar kilobytes> E<.Op Fl i Ar interval> E<.Op Fl c "
19388 #. type: Plain text
19389 #: build/C/man7/mdoc.samples.7:1324
19391 "The macros E<.Ql \\&.Op>, E<.Ql \\&.Oc> and E<.Ql \\&.Oo> are parsed and are "
19396 #: build/C/man7/mdoc.samples.7:1324
19401 #. type: Plain text
19402 #: build/C/man7/mdoc.samples.7:1328
19403 msgid "The E<.Ql \\&.Pa> macro formats pathnames or filenames."
19407 #: build/C/man7/mdoc.samples.7:1329
19409 msgid "Usage: .Pa pathname \\*(Pu"
19413 #: build/C/man7/mdoc.samples.7:1331
19415 msgid "Li \\&.Pa /usr/share"
19418 #. type: Plain text
19419 #: build/C/man7/mdoc.samples.7:1333
19420 msgid "E<.Pa /usr/share>"
19424 #: build/C/man7/mdoc.samples.7:1333
19426 msgid "Li \\&.Pa /tmp/fooXXXXX\\ )\\ ."
19429 #. type: Plain text
19430 #: build/C/man7/mdoc.samples.7:1335
19431 msgid "E<.Pa /tmp/fooXXXXX>)."
19434 #. type: Plain text
19435 #: build/C/man7/mdoc.samples.7:1340
19436 msgid "The E<.Ql \\&.Pa> macro is parsed and is callable."
19440 #: build/C/man7/mdoc.samples.7:1340
19445 #. type: Plain text
19446 #: build/C/man7/mdoc.samples.7:1342
19447 msgid "Generic variable reference:"
19451 #: build/C/man7/mdoc.samples.7:1343
19453 msgid "Usage: .Va variable ... \\*(Pu"
19457 #: build/C/man7/mdoc.samples.7:1345
19459 msgid "Li \\&.Va count"
19462 #. type: Plain text
19463 #: build/C/man7/mdoc.samples.7:1347
19464 msgid "E<.Va count>"
19468 #: build/C/man7/mdoc.samples.7:1347
19470 msgid "Li \\&.Va settimer ,"
19473 #. type: Plain text
19474 #: build/C/man7/mdoc.samples.7:1349
19475 msgid "E<.Va settimer>,"
19479 #: build/C/man7/mdoc.samples.7:1349
19481 msgid "Li \\&.Va int\\ *prt\\ )\\ :"
19484 #. type: Plain text
19485 #: build/C/man7/mdoc.samples.7:1351
19486 msgid "E<.Va int\\ *prt>):"
19490 #: build/C/man7/mdoc.samples.7:1351
19492 msgid "Li \\&.Va char\\ s\\ ]\\ )\\ )\\ ,"
19495 #. type: Plain text
19496 #: build/C/man7/mdoc.samples.7:1353
19497 msgid "E<.Va char\\ s>])),"
19500 #. type: Plain text
19501 #: build/C/man7/mdoc.samples.7:1361
19503 "It is an error to call E<.Ql \\&.Va> without any arguments. The E<.Ql "
19504 "\\&.Va> macro is parsed and is callable."
19508 #: build/C/man7/mdoc.samples.7:1361
19510 msgid "Manual Page Cross References"
19513 #. type: Plain text
19514 #: build/C/man7/mdoc.samples.7:1369
19516 "The E<.Ql \\&.Xr> macro expects the first argument to be a manual page name, "
19517 "and the second argument, if it exists, to be either a section page number or "
19518 "punctuation. Any remaining arguments are assumed to be punctuation."
19522 #: build/C/man7/mdoc.samples.7:1370
19524 msgid "Usage: .Xr man_page [1,...,8] \\*(Pu"
19528 #: build/C/man7/mdoc.samples.7:1372
19530 msgid "Li \\&.Xr mdoc"
19533 #. type: Plain text
19534 #: build/C/man7/mdoc.samples.7:1374
19535 msgid "E<.Xr mdoc>"
19539 #: build/C/man7/mdoc.samples.7:1374
19541 msgid "Li \\&.Xr mdoc\\ ,"
19544 #. type: Plain text
19545 #: build/C/man7/mdoc.samples.7:1376
19546 msgid "E<.Xr mdoc>,"
19550 #: build/C/man7/mdoc.samples.7:1376
19552 msgid "Li \\&.Xr mdoc 7"
19555 #. type: Plain text
19556 #: build/C/man7/mdoc.samples.7:1378
19557 msgid "E<.Xr mdoc 7>"
19561 #: build/C/man7/mdoc.samples.7:1378
19563 msgid "Li \\&.Xr mdoc 7\\ )\\ )\\ ,"
19566 #. type: Plain text
19567 #: build/C/man7/mdoc.samples.7:1380
19568 msgid "E<.Xr mdoc 7>)),"
19571 #. type: Plain text
19572 #: build/C/man7/mdoc.samples.7:1389
19574 "The E<.Ql \\&.Xr> macro is parsed and is callable. It is an error to call "
19575 "E<.Ql \\&.Xr> without any arguments."
19579 #: build/C/man7/mdoc.samples.7:1389
19581 msgid "GENERAL TEXT DOMAIN"
19585 #: build/C/man7/mdoc.samples.7:1390
19590 #. type: Plain text
19591 #: build/C/man7/mdoc.samples.7:1393
19593 msgid "Usage: .At [v6 | v7 | 32v | V.1 | V.4] ... \\*(Pu\n"
19597 #: build/C/man7/mdoc.samples.7:1395
19602 #. type: Plain text
19603 #: build/C/man7/mdoc.samples.7:1397
19608 #: build/C/man7/mdoc.samples.7:1397
19610 msgid "Li \".At v6 .\""
19613 #. type: Plain text
19614 #: build/C/man7/mdoc.samples.7:1399
19618 #. type: Plain text
19619 #: build/C/man7/mdoc.samples.7:1409
19621 "The E<.Ql \\&.At> macro is E<.Em not> parsed and E<.Em not> callable It "
19622 "accepts at most two arguments."
19626 #: build/C/man7/mdoc.samples.7:1409
19632 #: build/C/man7/mdoc.samples.7:1410
19634 msgid "Usage: .Bx [Version/release] ... \\*(Pu"
19638 #: build/C/man7/mdoc.samples.7:1412
19643 #. type: Plain text
19644 #: build/C/man7/mdoc.samples.7:1414
19649 #: build/C/man7/mdoc.samples.7:1414
19651 msgid "Li \".Bx 4.3 .\""
19654 #. type: Plain text
19655 #: build/C/man7/mdoc.samples.7:1416
19656 msgid "E<.Bx 4.3>."
19659 #. type: Plain text
19660 #: build/C/man7/mdoc.samples.7:1421
19661 msgid "The E<.Ql \\&.Bx> macro is parsed and is callable."
19665 #: build/C/man7/mdoc.samples.7:1421
19667 msgid "FreeBSD Macro"
19670 #. type: Plain text
19671 #: build/C/man7/mdoc.samples.7:1424
19673 msgid "Usage: .Fx Version.release ... \\*(Pu\n"
19677 #: build/C/man7/mdoc.samples.7:1426
19679 msgid "Li \".Fx 2.2 .\""
19682 #. type: Plain text
19683 #: build/C/man7/mdoc.samples.7:1428
19684 msgid "E<.Fx 2.2>."
19687 #. type: Plain text
19688 #: build/C/man7/mdoc.samples.7:1438
19690 "The E<.Ql \\&.Fx> macro is E<.Em not> parsed and E<.Em not> callable It "
19691 "accepts at most two arguments."
19695 #: build/C/man7/mdoc.samples.7:1438
19701 #: build/C/man7/mdoc.samples.7:1439
19703 msgid "Usage: .Ux ... \\*(Pu"
19707 #: build/C/man7/mdoc.samples.7:1441
19712 #. type: Plain text
19713 #: build/C/man7/mdoc.samples.7:1443
19717 #. type: Plain text
19718 #: build/C/man7/mdoc.samples.7:1448
19719 msgid "The E<.Ql \\&.Ux> macro is parsed and is callable."
19723 #: build/C/man7/mdoc.samples.7:1448
19725 msgid "Enclosure and Quoting Macros"
19728 #. type: Plain text
19729 #: build/C/man7/mdoc.samples.7:1470
19731 "The concept of enclosure is similar to quoting. The object being to enclose "
19732 "one or more strings between a pair of characters like quotes or "
19733 "parentheses. The terms quoting and enclosure are used interchangeably "
19734 "throughout this document. Most of the one line enclosure macros end in "
19735 "small letter E<.Ql q> to give a hint of quoting, but there are a few "
19736 "irregularities. For each enclosure macro there is also a pair of open and "
19737 "close macros which end in small letters E<.Ql o> and E<.Ql c> respectively. "
19738 "These can be used across one or more lines of text and while they have "
19739 "nesting limitations, the one line quote macros can be used inside of them."
19742 #. type: Plain text
19743 #: build/C/man7/mdoc.samples.7:1483
19746 "E<.Em \" Quote\t Close\t Open\tFunction\tResult\">\n"
19747 "\\&.Aq\t.Ac\t.Ao\tAngle Bracket Enclosure\tE<lt>stringE<gt>\n"
19748 "\\&.Bq\t.Bc\t.Bo\tBracket Enclosure\t[string]\n"
19749 "\\&.Dq\t.Dc\t.Do\tDouble Quote\t``string''\n"
19750 "\t.Ec\t.Eo\tEnclose String (in XX)\tXXstringXX\n"
19751 "\\&.Pq\t.Pc\t.Po\tParenthesis Enclosure\t(string)\n"
19752 "\\&.Ql\t\t\tQuoted Literal\t`st' or string\n"
19753 "\\&.Qq\t.Qc\t.Qo\tStraight Double Quote\t\"string\"\n"
19754 "\\&.Sq\t.Sc\t.So\tSingle Quote\t`string'\n"
19757 #. type: Plain text
19758 #: build/C/man7/mdoc.samples.7:1494
19760 "Except for the irregular macros noted below, all of the quoting macros are "
19761 "parsed and callable. All handle punctuation properly, as long as it is "
19762 "presented one character at a time and separated by spaces. The quoting "
19763 "macros examine opening and closing punctuation to determine whether it comes "
19764 "before or after the enclosing string This makes some nesting possible."
19768 #: build/C/man7/mdoc.samples.7:1495
19770 msgid "Li \\&.Ec , \\&.Eo"
19773 #. type: Plain text
19774 #: build/C/man7/mdoc.samples.7:1498
19776 "These macros expect the first argument to be the opening and closing strings "
19781 #: build/C/man7/mdoc.samples.7:1498
19786 #. type: Plain text
19787 #: build/C/man7/mdoc.samples.7:1511
19789 "The quoted literal macro behaves differently for E<.Xr troff> than E<.Xr "
19790 "nroff>. If formatted with E<.Xr nroff>, a quoted literal is always quoted. "
19791 "If formatted with troff, an item is quoted only if the width of the item is "
19792 "less than three constant width characters. This is to make short strings "
19793 "more visible where the font change to literal (constant width) is less "
19798 #: build/C/man7/mdoc.samples.7:1511
19803 #. type: Plain text
19804 #: build/C/man7/mdoc.samples.7:1513
19805 msgid "The prefix macro is not callable, but it is parsed:"
19809 #: build/C/man7/mdoc.samples.7:1514
19811 msgid "Li \".Pf ( Fa name2\""
19814 #. type: Plain text
19815 #: build/C/man7/mdoc.samples.7:1517
19816 msgid "becomes E<.Pf ( Fa name2>."
19819 #. type: Plain text
19820 #: build/C/man7/mdoc.samples.7:1522
19821 msgid "The E<.Ql \\&.Ns> (no space) macro performs the analogous suffix function."
19824 #. type: Plain text
19825 #: build/C/man7/mdoc.samples.7:1526
19826 msgid "Examples of quoting:"
19830 #: build/C/man7/mdoc.samples.7:1527
19835 #. type: Plain text
19836 #: build/C/man7/mdoc.samples.7:1529
19841 #: build/C/man7/mdoc.samples.7:1529
19843 msgid "Li \\&.Aq \\&Ar ctype.h\\ )\\ ,"
19846 #. type: Plain text
19847 #: build/C/man7/mdoc.samples.7:1531
19848 msgid "E<.Aq Ar ctype.h>),"
19852 #: build/C/man7/mdoc.samples.7:1531
19857 #. type: Plain text
19858 #: build/C/man7/mdoc.samples.7:1533
19863 #: build/C/man7/mdoc.samples.7:1533
19865 msgid "Li \\&.Bq \\&Em Greek \\&, French \\&."
19868 #. type: Plain text
19869 #: build/C/man7/mdoc.samples.7:1535
19870 msgid "E<.Bq Em Greek , French>."
19874 #: build/C/man7/mdoc.samples.7:1535
19879 #. type: Plain text
19880 #: build/C/man7/mdoc.samples.7:1537
19885 #: build/C/man7/mdoc.samples.7:1537
19887 msgid "Li \".Dq string abc .\""
19890 #. type: Plain text
19891 #: build/C/man7/mdoc.samples.7:1539
19892 msgid "E<.Dq string abc>."
19896 #: build/C/man7/mdoc.samples.7:1539
19898 msgid "Li \".Dq \\'^[A-Z]\\'\""
19901 #. type: Plain text
19902 #: build/C/man7/mdoc.samples.7:1541
19903 msgid "E<.Dq \\'^[A-Z]\\'>"
19907 #: build/C/man7/mdoc.samples.7:1541
19909 msgid "Li \"\\&.Ql man mdoc\""
19912 #. type: Plain text
19913 #: build/C/man7/mdoc.samples.7:1543
19914 msgid "E<.Ql man mdoc>"
19918 #: build/C/man7/mdoc.samples.7:1543
19923 #. type: Plain text
19924 #: build/C/man7/mdoc.samples.7:1545
19929 #: build/C/man7/mdoc.samples.7:1545
19931 msgid "Li \"\\&.Qq string ) ,\""
19934 #. type: Plain text
19935 #: build/C/man7/mdoc.samples.7:1547
19936 msgid "E<.Qq string>),"
19940 #: build/C/man7/mdoc.samples.7:1547
19942 msgid "Li \"\\&.Qq string Ns ),\""
19945 #. type: Plain text
19946 #: build/C/man7/mdoc.samples.7:1549
19947 msgid "E<.Qq string Ns ),>"
19951 #: build/C/man7/mdoc.samples.7:1549
19956 #. type: Plain text
19957 #: build/C/man7/mdoc.samples.7:1551
19962 #: build/C/man7/mdoc.samples.7:1551
19964 msgid "Li \"\\&.Sq string\""
19967 #. type: Plain text
19968 #: build/C/man7/mdoc.samples.7:1553
19969 msgid "E<.Sq string>"
19972 #. type: Plain text
19973 #: build/C/man7/mdoc.samples.7:1570
19975 "For a good example of nested enclosure macros, see the E<.Ql \\&.Op> option "
19976 "macro. It was created from the same underlying enclosure macros as those "
19977 "presented in the list above. The E<.Ql \\&.Xo> and E<.Ql \\&.Xc> extended "
19978 "argument list macros were also built from the same underlying routines and "
19979 "are a good example of E<.Nm \\-mdoc> macro usage at its worst."
19983 #: build/C/man7/mdoc.samples.7:1570
19985 msgid "No\\-Op or Normal Text Macro"
19988 #. type: Plain text
19989 #: build/C/man7/mdoc.samples.7:1578
19991 "The macro E<.Ql \\&.No> is a hack for words in a macro command line which "
19992 "should E<.Em not> be formatted and follows the conventional syntax for "
19997 #: build/C/man7/mdoc.samples.7:1578
19999 msgid "No Space Macro"
20002 #. type: Plain text
20003 #: build/C/man7/mdoc.samples.7:1584
20005 "The E<.Ql \\&.Ns> macro eliminates unwanted spaces in between macro "
20006 "requests. It is useful for old style argument lists where there is no space "
20007 "between the flag and argument:"
20011 #: build/C/man7/mdoc.samples.7:1585
20013 msgid "Li \".Op Fl I Ns Ar directory\""
20016 #. type: Plain text
20017 #: build/C/man7/mdoc.samples.7:1588
20018 msgid "produces E<.Op Fl I Ns Ar directory>"
20021 #. type: Plain text
20022 #: build/C/man7/mdoc.samples.7:1599
20024 "Note: the E<.Ql \\&.Ns> macro always invokes the E<.Ql \\&.No> macro after "
20025 "eliminating the space unless another macro name follows it. The macro E<.Ql "
20026 "\\&.Ns> is parsed and is callable."
20030 #: build/C/man7/mdoc.samples.7:1599
20032 msgid "Section Cross References"
20035 #. type: Plain text
20036 #: build/C/man7/mdoc.samples.7:1605
20038 "The E<.Ql \\&.Sx> macro designates a reference to a section header within "
20039 "the same document. It is parsed and is callable."
20043 #: build/C/man7/mdoc.samples.7:1607
20045 msgid "Li \\&.Sx FILES"
20048 #. type: Plain text
20049 #: build/C/man7/mdoc.samples.7:1609
20050 msgid "E<.Sx FILES>"
20054 #: build/C/man7/mdoc.samples.7:1610
20056 msgid "References and Citations"
20059 #. type: Plain text
20060 #: build/C/man7/mdoc.samples.7:1614
20062 "The following macros make a modest attempt to handle references. At best, "
20063 "the macros make it convenient to manually drop in a subset of refer style "
20068 #: build/C/man7/mdoc.samples.7:1616
20073 #. type: Plain text
20074 #: build/C/man7/mdoc.samples.7:1621
20076 "Reference Start. Causes a line break and begins collection of reference "
20077 "information until the reference end macro is read."
20081 #: build/C/man7/mdoc.samples.7:1621
20086 #. type: Plain text
20087 #: build/C/man7/mdoc.samples.7:1624
20088 msgid "Reference End. The reference is printed."
20092 #: build/C/man7/mdoc.samples.7:1624
20097 #. type: Plain text
20098 #: build/C/man7/mdoc.samples.7:1626
20099 msgid "Reference author name, one name per invocation."
20103 #: build/C/man7/mdoc.samples.7:1626
20108 #. type: Plain text
20109 #: build/C/man7/mdoc.samples.7:1628
20110 msgid "Book title."
20114 #: build/C/man7/mdoc.samples.7:1628
20119 #. type: Plain text
20120 #: build/C/man7/mdoc.samples.7:1630
20121 msgid "City/place."
20125 #: build/C/man7/mdoc.samples.7:1630
20130 #. type: Plain text
20131 #: build/C/man7/mdoc.samples.7:1632
20136 #: build/C/man7/mdoc.samples.7:1632
20141 #. type: Plain text
20142 #: build/C/man7/mdoc.samples.7:1634
20143 msgid "Journal name."
20147 #: build/C/man7/mdoc.samples.7:1634
20152 #. type: Plain text
20153 #: build/C/man7/mdoc.samples.7:1636
20154 msgid "Issue number."
20158 #: build/C/man7/mdoc.samples.7:1636
20163 #. type: Plain text
20164 #: build/C/man7/mdoc.samples.7:1638
20165 msgid "Optional information."
20169 #: build/C/man7/mdoc.samples.7:1638
20174 #. type: Plain text
20175 #: build/C/man7/mdoc.samples.7:1640
20176 msgid "Page number."
20180 #: build/C/man7/mdoc.samples.7:1640
20185 #. type: Plain text
20186 #: build/C/man7/mdoc.samples.7:1642
20187 msgid "Report name."
20191 #: build/C/man7/mdoc.samples.7:1642
20196 #. type: Plain text
20197 #: build/C/man7/mdoc.samples.7:1644
20198 msgid "Title of article."
20202 #: build/C/man7/mdoc.samples.7:1644
20207 #. type: Plain text
20208 #: build/C/man7/mdoc.samples.7:1646
20212 #. type: Plain text
20213 #: build/C/man7/mdoc.samples.7:1657
20215 "The macros beginning with E<.Ql %> are not callable, and are parsed only for "
20216 "the trade name macro which returns to its caller. (And not very predictably "
20217 "at the moment either.) The purpose is to allow trade names to be pretty "
20218 "printed in E<.Xr troff Ns / Ns Xr ditroff> output."
20222 #: build/C/man7/mdoc.samples.7:1657
20224 msgid "Return Values"
20227 #. type: Plain text
20228 #: build/C/man7/mdoc.samples.7:1663
20230 "The E<.Ql \\&.Rv> macro generates text for use in the E<.Sx RETURN VALUE> "
20235 #: build/C/man7/mdoc.samples.7:1664
20237 msgid "Usage: .Rv [-std function]"
20240 #. type: Plain text
20241 #: build/C/man7/mdoc.samples.7:1668
20242 msgid "E<.Ql \\&.Rv -std atexit> will generate the following text:"
20245 #. fake section 3 to avoid error message from Rv
20247 #. type: ds section
20248 #: build/C/man7/mdoc.samples.7:1671
20253 #. and back to 7 again
20255 #. type: Plain text
20256 #: build/C/man7/mdoc.samples.7:1675
20257 msgid "E<.Rv -std atexit>"
20260 #. type: ds section
20261 #: build/C/man7/mdoc.samples.7:1675
20266 #. type: Plain text
20267 #: build/C/man7/mdoc.samples.7:1680
20268 msgid "The E<.Fl std> option is valid only for manual page sections 2 and 3."
20272 #: build/C/man7/mdoc.samples.7:1680
20274 msgid "Trade Names (or Acronyms and Type Names)"
20277 #. type: Plain text
20278 #: build/C/man7/mdoc.samples.7:1683
20280 "The trade name macro is generally a small caps macro for all uppercase words "
20281 "longer than two characters."
20285 #: build/C/man7/mdoc.samples.7:1684
20287 msgid "Usage: .Tn symbol ... \\*(Pu"
20291 #: build/C/man7/mdoc.samples.7:1686
20293 msgid "Li \\&.Tn DEC"
20296 #. type: Plain text
20297 #: build/C/man7/mdoc.samples.7:1688
20302 #: build/C/man7/mdoc.samples.7:1688
20304 msgid "Li \\&.Tn ASCII"
20307 #. type: Plain text
20308 #: build/C/man7/mdoc.samples.7:1690
20309 msgid "E<.Tn ASCII>"
20312 #. type: Plain text
20313 #: build/C/man7/mdoc.samples.7:1696
20314 msgid "The E<.Ql \\&.Tn> macro is parsed and is callable by other macros."
20318 #: build/C/man7/mdoc.samples.7:1696
20320 msgid "Extended Arguments"
20323 #. type: Plain text
20324 #: build/C/man7/mdoc.samples.7:1708
20326 "The E<.Ql \\&.Xo> and E<.Ql \\&.Xc> macros allow one to extend an argument "
20327 "list on a macro boundary. Argument lists cannot be extended within a macro "
20328 "which expects all of its arguments on one line such as E<.Ql \\&.Op>."
20331 #. type: Plain text
20332 #: build/C/man7/mdoc.samples.7:1712
20334 "Here is an example of E<.Ql \\&.Xo> using the space mode macro to turn "
20338 #. type: Plain text
20339 #: build/C/man7/mdoc.samples.7:1718
20343 "\\&.It Xo Sy I Ar operation\n"
20344 "\\&.No \\een Ar count No \\een\n"
20349 #. type: Plain text
20350 #: build/C/man7/mdoc.samples.7:1721 build/C/man7/mdoc.samples.7:1742 build/C/man7/mdoc.samples.7:1766
20354 #. type: Plain text
20355 #: build/C/man7/mdoc.samples.7:1724 build/C/man7/mdoc.samples.7:1745
20357 msgid "E<.Sm off>\n"
20361 #: build/C/man7/mdoc.samples.7:1724
20363 msgid "Xo Sy I Ar operation"
20366 #. type: Plain text
20367 #: build/C/man7/mdoc.samples.7:1728
20370 "E<.No \\en Ar count No \\en>\n"
20375 #. type: Plain text
20376 #: build/C/man7/mdoc.samples.7:1732
20377 msgid "Another one:"
20380 #. type: Plain text
20381 #: build/C/man7/mdoc.samples.7:1739
20385 "\\&.It Cm S No \\&/ Ar old_pattern Xo\n"
20386 "\\&.No \\&/ Ar new_pattern\n"
20387 "\\&.No \\&/ Op Cm g\n"
20393 #: build/C/man7/mdoc.samples.7:1745
20395 msgid "Cm S No \\&/ Ar old_pattern Xo"
20398 #. type: Plain text
20399 #: build/C/man7/mdoc.samples.7:1750
20402 "E<.No \\&/ Ar new_pattern>\n"
20403 "E<.No \\&/ Op Cm g>\n"
20408 #. type: Plain text
20409 #: build/C/man7/mdoc.samples.7:1757
20411 "Another example of E<.Ql \\&.Xo> and using enclosure macros: Test the value "
20415 #. type: Plain text
20416 #: build/C/man7/mdoc.samples.7:1763
20421 "\\&.Oo \\e&! Oc Ns Ar variable\n"
20422 "\\&.Op Ar operator variable ...\n"
20427 #: build/C/man7/mdoc.samples.7:1768
20432 #. type: Plain text
20433 #: build/C/man7/mdoc.samples.7:1773
20437 "E<.Oo \\&! Oc Ns Ar variable>\n"
20438 "E<.Op Ar operator variable ...>\n"
20442 #. type: Plain text
20443 #: build/C/man7/mdoc.samples.7:1811
20445 "All of the above examples have used the E<.Ql \\&.Xo> macro on the argument "
20446 "list of the E<.Ql \\&.It> (list-item) macro. The extend macros are not "
20447 "used very often, and when they are it is usually to extend the list-item "
20448 "argument list. Unfortunately, this is also where the extend macros are the "
20449 "most finicky. In the first two examples, spacing was turned off; in the "
20450 "third, spacing was desired in part of the output but not all of it. To make "
20451 "these macros work in this situation make sure the E<.Ql \\&.Xo> and E<.Ql "
20452 "\\&.Xc> macros are placed as shown in the third example. If the E<.Ql "
20453 "\\&.Xo> macro is not alone on the E<.Ql \\&.It> argument list, spacing will "
20454 "be unpredictable. The E<.Ql \\&.Ns> (no space macro) must not occur as the "
20455 "first or last macro on a line in this situation. Out of 900 manual pages "
20456 "(about 1500 actual pages) currently released with E<.Bx> only fifteen use "
20457 "the E<.Ql \\&.Xo> macro."
20461 #: build/C/man7/mdoc.samples.7:1812
20463 msgid "Section Headers"
20466 #. type: Plain text
20467 #: build/C/man7/mdoc.samples.7:1825
20469 "The first three E<.Ql \\&.Sh> section header macros list below are required "
20470 "in every man page. The remaining section headers are recommended at the "
20471 "discretion of the author writing the manual page. The E<.Ql \\&.Sh> macro "
20472 "can take up to nine arguments. It is parsed and but is not callable."
20476 #: build/C/man7/mdoc.samples.7:1826
20478 msgid "\\&.Sh NAME"
20481 #. type: Plain text
20482 #: build/C/man7/mdoc.samples.7:1846
20484 "The E<.Ql \\&.Sh NAME> macro is mandatory. If not specified, the headers, "
20485 "footers and page layout defaults will not be set and things will be rather "
20486 "unpleasant. The E<.Sx NAME> section consists of at least three items. The "
20487 "first is the E<.Ql \\&.Nm> name macro naming the subject of the man page. "
20488 "The second is the Name Description macro, E<.Ql \\&.Nd>, which separates the "
20489 "subject name from the third item, which is the description. The description "
20490 "should be the most terse and lucid possible, as the space available is "
20495 #: build/C/man7/mdoc.samples.7:1846
20497 msgid "\\&.Sh SYNOPSIS"
20500 #. type: Plain text
20501 #: build/C/man7/mdoc.samples.7:1878
20503 "The E<.Sx SYNOPSIS> section describes the typical usage of the subject of a "
20504 "man page. The macros required are either E<.Ql \".Nm\">, E<.Ql \".Cd\">, "
20505 "E<.Ql \".Fn\">, (and possibly E<.Ql \".Fo\">, E<.Ql \".Fc\">, E<.Ql "
20506 "\".Fd\">, E<.Ql \".Ft\"> macros). The function name macro E<.Ql \".Fn\"> is "
20507 "required for manual page sections 2 and 3, the command and general name "
20508 "macro E<.Ql \\&.Nm> is required for sections 1, 5, 6, 7, 8. Section 4 "
20509 "manuals require a E<.Ql \".Nm\">, E<.Ql \".Fd\"> or a E<.Ql \".Cd\"> "
20510 "configuration device usage macro. Several other macros may be necessary to "
20511 "produce the synopsis line as shown below:"
20514 #. type: Plain text
20515 #: build/C/man7/mdoc.samples.7:1885
20519 "E<.Op Fl benstuv>\n"
20524 #. type: Plain text
20525 #: build/C/man7/mdoc.samples.7:1888
20526 msgid "The following macros were used:"
20530 #: build/C/man7/mdoc.samples.7:1889
20536 #: build/C/man7/mdoc.samples.7:1890
20538 msgid "\\&.Op \\&Fl benstuv"
20542 #: build/C/man7/mdoc.samples.7:1891
20544 msgid "\\&.Op \\&Fl"
20548 #: build/C/man7/mdoc.samples.7:1892
20553 #. type: Plain text
20554 #: build/C/man7/mdoc.samples.7:1903
20556 "E<.Sy Note>: The macros E<.Ql \\&.Op>, E<.Ql \\&.Fl>, and E<.Ql \\&.Ar> "
20557 "recognize the pipe bar character E<.Ql \\*(Ba>, so a command line such as:"
20561 #: build/C/man7/mdoc.samples.7:1904
20563 msgid ".Op Fl a | Fl b"
20566 #. type: Plain text
20567 #: build/C/man7/mdoc.samples.7:1913
20569 "will not go orbital. E<.Xr Troff> normally interprets a \\*(Ba as a special "
20570 "operator. See E<.Sx PREDEFINED STRINGS> for a usable \\*(Ba character in "
20571 "other situations."
20575 #: build/C/man7/mdoc.samples.7:1914
20577 msgid "\\&.Sh DESCRIPTION"
20580 #. type: Plain text
20581 #: build/C/man7/mdoc.samples.7:1931
20583 "In most cases the first text in the E<.Sx DESCRIPTION> section is a brief "
20584 "paragraph on the command, function or file, followed by a lexical list of "
20585 "options and respective explanations. To create such a list, the E<.Ql "
20586 "\\&.Bl> begin-list, E<.Ql \\&.It> list-item and E<.Ql \\&.El> end-list "
20587 "macros are used (see E<.Sx Lists and Columns> below)."
20590 #. type: Plain text
20591 #: build/C/man7/mdoc.samples.7:1940
20593 "The following E<.Ql \\&.Sh> section headers are part of the preferred manual "
20594 "page layout and must be used appropriately to maintain consistency. They "
20595 "are listed in the order in which they would be used."
20599 #: build/C/man7/mdoc.samples.7:1941
20601 msgid "\\&.Sh ENVIRONMENT"
20604 #. type: Plain text
20605 #: build/C/man7/mdoc.samples.7:1947
20607 "The E<.Sx ENVIRONMENT> section should reveal any related environment "
20608 "variables and clues to their behavior and/or usage."
20612 #: build/C/man7/mdoc.samples.7:1947
20614 msgid "\\&.Sh EXAMPLES"
20617 #. type: Plain text
20618 #: build/C/man7/mdoc.samples.7:1954
20620 "There are several ways to create examples. See the E<.Sx EXAMPLES> section "
20621 "below for details."
20625 #: build/C/man7/mdoc.samples.7:1954
20627 msgid "\\&.Sh FILES"
20630 #. type: Plain text
20631 #: build/C/man7/mdoc.samples.7:1961
20633 "Files which are used or created by the man page subject should be listed via "
20634 "the E<.Ql \\&.Pa> macro in the E<.Sx FILES> section."
20638 #: build/C/man7/mdoc.samples.7:1961
20640 msgid "\\&.Sh SEE ALSO"
20643 #. type: Plain text
20644 #: build/C/man7/mdoc.samples.7:1975
20646 "References to other material on the man page topic and cross references to "
20647 "other relevant man pages should be placed in the E<.Sx SEE ALSO> section. "
20648 "Cross references are specified using the E<.Ql \\&.Xr> macro. Cross "
20649 "references in the E<.Sx SEE ALSO> section should be sorted by section "
20650 "number, and then placed in alphabetical order and comma separated. For "
20654 #. type: Plain text
20655 #: build/C/man7/mdoc.samples.7:1980
20656 msgid "E<.Xr ls 1>, E<.Xr ps 1>, E<.Xr group 5>, E<.Xr passwd 5>."
20659 #. type: Plain text
20660 #: build/C/man7/mdoc.samples.7:1984
20661 msgid "At this time E<.Xr refer 1> style references are not accommodated."
20665 #: build/C/man7/mdoc.samples.7:1984
20667 msgid "\\&.Sh CONFORMING TO"
20670 #. type: Plain text
20671 #: build/C/man7/mdoc.samples.7:1996
20673 "If the command, library function or file adheres to a specific "
20674 "implementation such as E<.St -p1003.2> or E<.St -ansiC> this should be noted "
20675 "here. If the command does not adhere to any standard, its history should be "
20676 "noted in the E<.Sx HISTORY> section."
20680 #: build/C/man7/mdoc.samples.7:1996
20682 msgid "\\&.Sh HISTORY"
20685 #. type: Plain text
20686 #: build/C/man7/mdoc.samples.7:1999
20688 "Any command which does not adhere to any specific standards should be "
20689 "outlined historically in this section."
20693 #: build/C/man7/mdoc.samples.7:1999
20695 msgid "\\&.Sh AUTHORS"
20698 #. type: Plain text
20699 #: build/C/man7/mdoc.samples.7:2001
20700 msgid "Credits, if need be, should be placed here."
20704 #: build/C/man7/mdoc.samples.7:2001
20706 msgid "\\&.Sh DIAGNOSTICS"
20709 #. type: Plain text
20710 #: build/C/man7/mdoc.samples.7:2003
20711 msgid "Diagnostics from a command should be placed in this section."
20715 #: build/C/man7/mdoc.samples.7:2003
20717 msgid "\\&.Sh ERRORS"
20720 #. type: Plain text
20721 #: build/C/man7/mdoc.samples.7:2009
20723 "Specific error handling, especially from library functions (man page "
20724 "sections 2 and 3) should go here. The E<.Ql \\&.Er> macro is used to "
20725 "specify an errno."
20729 #: build/C/man7/mdoc.samples.7:2009
20731 msgid "\\&.Sh BUGS"
20734 #. type: Plain text
20735 #: build/C/man7/mdoc.samples.7:2011
20736 msgid "Blatant problems with the topic go here..."
20739 #. type: Plain text
20740 #: build/C/man7/mdoc.samples.7:2017
20742 "User specified E<.Ql \\&.Sh> sections may be added, for example, this "
20743 "section was set with:"
20746 #. type: Plain text
20747 #: build/C/man7/mdoc.samples.7:2019
20749 msgid "\\&.Sh PAGE STRUCTURE DOMAIN\n"
20753 #: build/C/man7/mdoc.samples.7:2020
20755 msgid "Paragraphs and Line Spacing."
20759 #: build/C/man7/mdoc.samples.7:2022
20764 #. type: Plain text
20765 #: build/C/man7/mdoc.samples.7:2038
20767 "The E<.Ql \\&.Pp> paragraph command may be used to specify a line space "
20768 "where necessary. The macro is not necessary after a E<.Ql \\&.Sh> or E<.Ql "
20769 "\\&.Ss> macro or before a E<.Ql \\&.Bl> macro. (The E<.Ql \\&.Bl> macro "
20770 "asserts a vertical distance unless the -compact flag is given)."
20773 #. This worked with version one, need to redo for version three
20776 #. .Cw (ax+bx+c) \ is\ produced\ by\ \&
20777 #. .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\&
20794 #. .Em is produced by
20810 #. This example shows the same equation in a different format.
20814 #. signs were forced with
20818 #. .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \&
20819 #. .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\&
20830 #. .Li \&.Cx \e\ +\e\ \e&
20841 #. .Em is produced by
20849 #. .Li \&.Cx \e\ +\e\ \e&
20860 #. The incantation below was
20866 #. .Cw \&[?/]m_b1_e1_f1[?/]\& is\ produced\ by
20868 #. .Li \&.Cx Op Sy ?/
20878 #. .Em is produced by
20880 #. .Li \&.Ar \e\ b1 e1 f1
20892 #: build/C/man7/mdoc.samples.7:2157
20897 #. type: Plain text
20898 #: build/C/man7/mdoc.samples.7:2186
20900 "The only keep that is implemented at this time is for words. The macros are "
20901 "E<.Ql \\&.Bk> (begin-keep) and E<.Ql \\&.Ek> (end-keep). The only option "
20902 "that E<.Ql \\&.Bk> accepts is E<.Fl words> and is useful for preventing line "
20903 "breaks in the middle of options. In the example for the make command-line "
20904 "arguments (see E<.Sx What's in a name>), the keep prevented E<.Xr nroff> "
20905 "from placing up the flag and the argument on separate lines. (Actually, the "
20906 "option macro used to prevent this from occurring, but was dropped when the "
20907 "decision (religious) was made to force right justified margins in E<.Xr "
20908 "troff> as options in general look atrocious when spread across a sparse "
20909 "line. More work needs to be done with the keep macros, a E<.Fl line> option "
20910 "needs to be added.)"
20914 #: build/C/man7/mdoc.samples.7:2186
20916 msgid "Examples and Displays"
20919 #. type: Plain text
20920 #: build/C/man7/mdoc.samples.7:2198
20922 "There are five types of displays, a quickie one line indented display E<.Ql "
20923 "\\&.D1>, a quickie one line literal display E<.Ql \\&.Dl>, and a block "
20924 "literal, block filled and block ragged which use the E<.Ql \\&.Bd> "
20925 "begin-display and E<.Ql \\&.Ed> end-display macros."
20928 #. type: Plain text
20929 #: build/C/man7/mdoc.samples.7:2203
20931 "(D-one) Display one line of indented text. This macro is parsed, but it is "
20936 #: build/C/man7/mdoc.samples.7:2204
20938 msgid "Fl ldghfstru"
20941 #. type: Plain text
20942 #: build/C/man7/mdoc.samples.7:2208
20943 msgid "The above was produced by: E<.Li \\&.Dl Fl ldghfstru>."
20946 #. type: Plain text
20947 #: build/C/man7/mdoc.samples.7:2223
20949 "(D-ell) Display one line of indented E<.Em literal> text. The E<.Ql "
20950 "\\&.Dl> example macro has been used throughout this file. It allows the "
20951 "indent (display) of one line of text. Its default font is set to constant "
20952 "width (literal) however it is parsed and will recognized other macros. It "
20953 "is not callable however."
20957 #: build/C/man7/mdoc.samples.7:2224
20959 msgid "% ls -ldg /usr/local/bin"
20962 #. type: Plain text
20963 #: build/C/man7/mdoc.samples.7:2228
20964 msgid "The above was produced by E<.Li \\&.Dl % ls -ldg /usr/local/bin>."
20967 #. type: Plain text
20968 #: build/C/man7/mdoc.samples.7:2239
20970 "Begin-display. The E<.Ql \\&.Bd> display must be ended with the E<.Ql "
20971 "\\&.Ed> macro. Displays may be nested within displays and lists. E<.Ql "
20972 "\\&.Bd> has the following syntax:"
20976 #: build/C/man7/mdoc.samples.7:2240
20978 msgid ".Bd display-type [-offset offset_value] [-compact]"
20981 #. type: Plain text
20982 #: build/C/man7/mdoc.samples.7:2245
20984 "The display-type must be one of the following four types and may have an "
20985 "offset specifier for indentation: E<.Ql \\&.Bd>."
20988 #. type: Plain text
20989 #: build/C/man7/mdoc.samples.7:2251
20991 "Display a block of text as typed, right (and left) margin edges are left "
20995 #. type: Plain text
20996 #: build/C/man7/mdoc.samples.7:2255
20998 "Display a filled (formatted) block. The block of text is formatted (the "
20999 "edges are filled \\- not left unjustified)."
21002 #. type: Plain text
21003 #: build/C/man7/mdoc.samples.7:2258
21005 "Display a literal block, useful for source code or simple tabbed or spaced "
21010 #: build/C/man7/mdoc.samples.7:2258
21012 msgid "Fl file Ar file_name"
21015 #. type: Plain text
21016 #: build/C/man7/mdoc.samples.7:2267
21018 "The filename following the E<.Fl file> flag is read and displayed. Literal "
21019 "mode is asserted and tabs are set at 8 constant width character intervals, "
21020 "however any E<.Xr troff/ Ns Nm \\-mdoc> commands in file will be processed."
21023 #. type: Plain text
21024 #: build/C/man7/mdoc.samples.7:2273
21026 "If E<.Fl offset> is specified with one of the following strings, the string "
21027 "is interpreted to indicate the level of indentation for the forthcoming "
21031 #. type: Plain text
21032 #: build/C/man7/mdoc.samples.7:2279
21034 "Align block on the current left margin, this is the default mode of E<.Ql "
21038 #. type: Plain text
21039 #: build/C/man7/mdoc.samples.7:2284
21041 "Supposedly center the block. At this time unfortunately, the block merely "
21042 "gets left aligned about an imaginary center margin."
21045 #. type: Plain text
21046 #: build/C/man7/mdoc.samples.7:2293
21048 "Indents by one default indent value or tab. The default indent value is "
21049 "also used for the E<.Ql \\&.D1> display so one is guaranteed the two types "
21050 "of displays will line up. This indent is normally set to 6n or about two "
21051 "thirds of an inch (six constant width characters)."
21054 #. type: Plain text
21055 #: build/C/man7/mdoc.samples.7:2295
21056 msgid "Indents two times the default indent value."
21059 #. type: Plain text
21060 #: build/C/man7/mdoc.samples.7:2303
21062 "This E<.Em left> aligns the block about two inches from the right side of "
21063 "the page. This macro needs work and perhaps may never do the right thing by "
21068 #: build/C/man7/mdoc.samples.7:2304
21073 #. type: Plain text
21074 #: build/C/man7/mdoc.samples.7:2306
21075 msgid "End-display."
21079 #: build/C/man7/mdoc.samples.7:2307
21084 #. type: Plain text
21085 #: build/C/man7/mdoc.samples.7:2309
21086 msgid "There are five macros for changing the appearance of the manual page text:"
21090 #: build/C/man7/mdoc.samples.7:2310
21095 #. type: Plain text
21096 #: build/C/man7/mdoc.samples.7:2315
21098 "Text may be stressed or emphasized with the E<.Ql \\&.Em> macro. The usual "
21099 "font for emphasis is italic."
21103 #: build/C/man7/mdoc.samples.7:2316
21105 msgid "Usage: .Em argument ... \\*(Pu"
21109 #: build/C/man7/mdoc.samples.7:2318
21111 msgid "Li \".Em does not\""
21114 #. type: Plain text
21115 #: build/C/man7/mdoc.samples.7:2320
21116 msgid "E<.Em does not>"
21120 #: build/C/man7/mdoc.samples.7:2320
21122 msgid "Li \".Em exceed 1024 .\""
21125 #. type: Plain text
21126 #: build/C/man7/mdoc.samples.7:2322
21127 msgid "E<.Em exceed 1024>."
21131 #: build/C/man7/mdoc.samples.7:2322
21133 msgid "Li \".Em vide infra ) ) ,\""
21136 #. type: Plain text
21137 #: build/C/man7/mdoc.samples.7:2324
21138 msgid "E<.Em vide infra>)),"
21141 #. type: Plain text
21142 #: build/C/man7/mdoc.samples.7:2332
21144 "The E<.Ql \\&.Em> macro is parsed and is callable. It is an error to call "
21145 "E<.Ql \\&.Em> without arguments."
21149 #: build/C/man7/mdoc.samples.7:2332
21154 #. type: Plain text
21155 #: build/C/man7/mdoc.samples.7:2338
21157 "The E<.Ql \\&.Li> literal macro may be used for special characters, variable "
21158 "constants, anything which should be displayed as it would be typed."
21162 #: build/C/man7/mdoc.samples.7:2339
21164 msgid "Usage: .Li argument ... \\*(Pu"
21168 #: build/C/man7/mdoc.samples.7:2341
21170 msgid "Li \\&.Li \\een"
21173 #. type: Plain text
21174 #: build/C/man7/mdoc.samples.7:2343
21175 msgid "E<.Li \\en>"
21179 #: build/C/man7/mdoc.samples.7:2343
21181 msgid "Li \\&.Li M1 M2 M3\\ ;"
21184 #. type: Plain text
21185 #: build/C/man7/mdoc.samples.7:2345
21186 msgid "E<.Li M1 M2 M3>;"
21190 #: build/C/man7/mdoc.samples.7:2345
21192 msgid "Li \\&.Li cntrl-D\\ )\\ ,"
21195 #. type: Plain text
21196 #: build/C/man7/mdoc.samples.7:2347
21197 msgid "E<.Li cntrl-D>),"
21201 #: build/C/man7/mdoc.samples.7:2347
21203 msgid "Li \\&.Li 1024\\ ..."
21206 #. type: Plain text
21207 #: build/C/man7/mdoc.samples.7:2349
21208 msgid "E<.Li 1024 ...>"
21211 #. type: Plain text
21212 #: build/C/man7/mdoc.samples.7:2354
21213 msgid "The E<.Ql \\&.Li> macro is parsed and is callable."
21217 #: build/C/man7/mdoc.samples.7:2354
21222 #. type: Plain text
21223 #: build/C/man7/mdoc.samples.7:2357
21225 "The symbolic emphasis macro is generally a boldface macro in either the "
21226 "symbolic sense or the traditional English usage."
21230 #: build/C/man7/mdoc.samples.7:2358
21232 msgid "Usage: .Sy symbol ... \\*(Pu"
21236 #: build/C/man7/mdoc.samples.7:2360
21238 msgid "Li \\&.Sy Important Notice"
21241 #. type: Plain text
21242 #: build/C/man7/mdoc.samples.7:2362
21243 msgid "E<.Sy Important Notice>"
21246 #. type: Plain text
21247 #: build/C/man7/mdoc.samples.7:2369
21249 "The E<.Ql \\&.Sy> macro is parsed and is callable. Arguments to E<.Ql "
21250 "\\&.Sy> may be quoted."
21254 #: build/C/man7/mdoc.samples.7:2370
21259 #. type: Plain text
21260 #: build/C/man7/mdoc.samples.7:2380
21262 "Begin font mode. The E<.Ql \\&.Bf> font mode must be ended with the E<.Ql "
21263 "\\&.Ef> macro. Font modes may be nested within other font modes. E<.Ql "
21264 "\\&.Bf> has the following syntax:"
21268 #: build/C/man7/mdoc.samples.7:2381
21270 msgid ".Bf font-mode"
21273 #. type: Plain text
21274 #: build/C/man7/mdoc.samples.7:2385
21275 msgid "The font-mode must be one of the following three types: E<.Ql \\&.Bf>."
21279 #: build/C/man7/mdoc.samples.7:2387
21281 msgid "Sy \\&Em | Fl emphasis"
21284 #. type: Plain text
21285 #: build/C/man7/mdoc.samples.7:2391
21286 msgid "Same as if the E<.Ql \\&.Em> macro was used for the entire block of text."
21290 #: build/C/man7/mdoc.samples.7:2391
21292 msgid "Sy \\&Li | Fl literal"
21295 #. type: Plain text
21296 #: build/C/man7/mdoc.samples.7:2395
21297 msgid "Same as if the E<.Ql \\&.Li> macro was used for the entire block of text."
21301 #: build/C/man7/mdoc.samples.7:2395
21303 msgid "Sy \\&Sy | Fl symbolic"
21306 #. type: Plain text
21307 #: build/C/man7/mdoc.samples.7:2399
21308 msgid "Same as if the E<.Ql \\&.Sy> macro was used for the entire block of text."
21312 #: build/C/man7/mdoc.samples.7:2400
21317 #. type: Plain text
21318 #: build/C/man7/mdoc.samples.7:2402
21319 msgid "End font mode."
21323 #: build/C/man7/mdoc.samples.7:2403
21325 msgid "Tagged Lists and Columns"
21328 #. type: Plain text
21329 #: build/C/man7/mdoc.samples.7:2417
21331 "There are several types of lists which may be initiated with the E<.Ql "
21332 "\".Bl\"> begin-list macro. Items within the list are specified with the "
21333 "E<.Ql \".It\"> item macro and each list must end with the E<.Ql \".El\"> "
21334 "macro. Lists may be nested within themselves and within displays. Columns "
21335 "may be used inside of lists, but lists are unproven inside of columns."
21338 #. type: Plain text
21339 #: build/C/man7/mdoc.samples.7:2432
21341 "In addition, several list attributes may be specified such as the width of a "
21342 "tag, the list offset, and compactness (blank lines between items allowed or "
21343 "disallowed). Most of this document has been formatted with a tag style list "
21344 "E<.Pq Fl tag>. For a change of pace, the list-type used to present the "
21345 "list-types is an over-hanging list E<.Pq Fl ohang>. This type of list is "
21346 "quite popular with E<.Tn TeX> users, but might look a bit funny after having "
21347 "read many pages of tagged lists. The following list types are accepted by "
21352 #: build/C/man7/mdoc.samples.7:2434
21358 #: build/C/man7/mdoc.samples.7:2435
21364 #: build/C/man7/mdoc.samples.7:2436
21369 #. type: Plain text
21370 #: build/C/man7/mdoc.samples.7:2446
21372 "These three are the simplest types of lists. Once the E<.Ql \".Bl\"> macro "
21373 "has been given, items in the list are merely indicated by a line consisting "
21374 "solely of the E<.Ql \".It\"> macro. For example, the source text for a "
21375 "simple enumerated list would look like:"
21378 #. type: Plain text
21379 #: build/C/man7/mdoc.samples.7:2455
21382 "\\&.Bl -enum -compact\n"
21384 "\\&Item one goes here.\n"
21386 "\\&And item two here.\n"
21388 "\\&Lastly item three goes here.\n"
21392 #. type: Plain text
21393 #: build/C/man7/mdoc.samples.7:2459
21394 msgid "The results:"
21397 #. type: Plain text
21398 #: build/C/man7/mdoc.samples.7:2463
21399 msgid "Item one goes here."
21402 #. type: Plain text
21403 #: build/C/man7/mdoc.samples.7:2465
21404 msgid "And item two here."
21407 #. type: Plain text
21408 #: build/C/man7/mdoc.samples.7:2467
21409 msgid "Lastly item three goes here."
21412 #. type: Plain text
21413 #: build/C/man7/mdoc.samples.7:2470
21414 msgid "A simple bullet list construction:"
21417 #. type: Plain text
21418 #: build/C/man7/mdoc.samples.7:2477
21421 "\\&.Bl -bullet -compact\n"
21423 "\\&Bullet one goes here.\n"
21425 "\\&Bullet two here.\n"
21429 #. type: Plain text
21430 #: build/C/man7/mdoc.samples.7:2483
21431 msgid "Bullet one goes here."
21434 #. type: Plain text
21435 #: build/C/man7/mdoc.samples.7:2485
21436 msgid "Bullet two here."
21440 #: build/C/man7/mdoc.samples.7:2488
21446 #: build/C/man7/mdoc.samples.7:2489
21452 #: build/C/man7/mdoc.samples.7:2490
21458 #: build/C/man7/mdoc.samples.7:2491
21464 #: build/C/man7/mdoc.samples.7:2492
21469 #. type: Plain text
21470 #: build/C/man7/mdoc.samples.7:2512
21472 "These list-types collect arguments specified with the E<.Ql \\&.It> macro "
21473 "and create a label which may be E<.Em inset> into the forthcoming text, "
21474 "E<.Em hanged> from the forthcoming text, E<.Em overhanged> from above and "
21475 "not indented or E<.Em tagged>. This list was constructed with the E<.Ql "
21476 "\\&Fl ohang> list-type. The E<.Ql \\&.It> macro is parsed only for the "
21477 "inset, hang and tag list-types and is not callable. Here is an example of "
21482 #: build/C/man7/mdoc.samples.7:2514
21487 #. type: Plain text
21488 #: build/C/man7/mdoc.samples.7:2517
21490 "The tagged list (also called a tagged paragraph) is the most common type of "
21491 "list used in the Berkeley manuals."
21495 #: build/C/man7/mdoc.samples.7:2517
21500 #. type: Plain text
21501 #: build/C/man7/mdoc.samples.7:2521
21503 "Diag lists create section four diagnostic lists and are similar to inset "
21504 "lists except callable macros are ignored."
21508 #: build/C/man7/mdoc.samples.7:2521
21513 #. type: Plain text
21514 #: build/C/man7/mdoc.samples.7:2523
21515 msgid "Hanged labels are a matter of taste."
21519 #: build/C/man7/mdoc.samples.7:2523
21524 #. type: Plain text
21525 #: build/C/man7/mdoc.samples.7:2525
21526 msgid "Overhanging labels are nice when space is constrained."
21530 #: build/C/man7/mdoc.samples.7:2525
21535 #. type: Plain text
21536 #: build/C/man7/mdoc.samples.7:2530
21538 "Inset labels are useful for controlling blocks of paragraphs and are "
21539 "valuable for converting E<.Nm \\-mdoc> manuals to other formats."
21542 #. type: Plain text
21543 #: build/C/man7/mdoc.samples.7:2533
21544 msgid "Here is the source text which produced the above example:"
21547 #. type: Plain text
21548 #: build/C/man7/mdoc.samples.7:2552
21551 "\\&.Bl -inset -offset indent\n"
21553 "\\&The tagged list (also called a tagged paragraph) is the\n"
21554 "\\&most common type of list used in the Berkeley manuals.\n"
21556 "\\&Diag lists create section four diagnostic lists\n"
21557 "\\&and are similar to inset lists except callable\n"
21558 "\\¯os are ignored.\n"
21560 "\\&Hanged labels are a matter of taste.\n"
21561 "\\&.It Em Ohang\n"
21562 "\\&Overhanging labels are nice when space is constrained.\n"
21563 "\\&.It Em Inset\n"
21564 "\\&Inset labels are useful for controlling blocks of\n"
21565 "\\¶graphs and are valuable for converting\n"
21567 "\\&manuals to other formats.\n"
21571 #. type: Plain text
21572 #: build/C/man7/mdoc.samples.7:2555
21573 msgid "Here is a hanged list with two items:"
21577 #: build/C/man7/mdoc.samples.7:2556
21582 #. type: Plain text
21583 #: build/C/man7/mdoc.samples.7:2559
21585 "labels appear similar to tagged lists when the label is smaller than the "
21590 #: build/C/man7/mdoc.samples.7:2559
21592 msgid "Em Longer hanged list labels"
21595 #. type: Plain text
21596 #: build/C/man7/mdoc.samples.7:2562
21597 msgid "blend in to the paragraph unlike tagged paragraph labels."
21600 #. type: Plain text
21601 #: build/C/man7/mdoc.samples.7:2565
21602 msgid "And the unformatted text which created it:"
21605 #. type: Plain text
21606 #: build/C/man7/mdoc.samples.7:2574
21609 "\\&.Bl -hang -offset indent\n"
21610 "\\&.It Em Hanged\n"
21611 "\\&labels appear similar to tagged lists when the\n"
21612 "\\&label is smaller than the label width.\n"
21613 "\\&.It Em Longer hanged list labels\n"
21614 "\\&blend in to the paragraph unlike\n"
21615 "\\&tagged paragraph labels.\n"
21619 #. type: Plain text
21620 #: build/C/man7/mdoc.samples.7:2578
21622 "The tagged list which follows uses an optional width specifier to control "
21623 "the width of the tag."
21627 #: build/C/man7/mdoc.samples.7:2580
21632 #. type: Plain text
21633 #: build/C/man7/mdoc.samples.7:2582
21634 msgid "sleep time of the process (seconds blocked)"
21638 #: build/C/man7/mdoc.samples.7:2582
21643 #. type: Plain text
21644 #: build/C/man7/mdoc.samples.7:2587
21646 "number of disk E<.Tn I/O Ns 's> resulting from references by the process to "
21647 "pages not loaded in core."
21651 #: build/C/man7/mdoc.samples.7:2587
21656 #. type: Plain text
21657 #: build/C/man7/mdoc.samples.7:2589
21658 msgid "numerical user-id of process owner"
21662 #: build/C/man7/mdoc.samples.7:2589
21667 #. type: Plain text
21668 #: build/C/man7/mdoc.samples.7:2592
21670 "numerical ID of parent of process process priority (nonpositive when in "
21671 "noninterruptible wait)"
21674 #. type: Plain text
21675 #: build/C/man7/mdoc.samples.7:2595
21676 msgid "The raw text:"
21679 #. type: Plain text
21680 #: build/C/man7/mdoc.samples.7:2610
21683 "\\&.Bl -tag -width \"PAGEIN\" -compact -offset indent\n"
21685 "\\&sleep time of the process (seconds blocked)\n"
21687 "\\&number of disk\n"
21688 "\\&.Tn I/O Ns 's\n"
21689 "\\&resulting from references\n"
21690 "\\&by the process to pages not loaded in core.\n"
21692 "\\&numerical user ID of process owner\n"
21694 "\\&numerical ID of parent of process process priority\n"
21695 "\\&(nonpositive when in noninterruptible wait)\n"
21699 #. type: Plain text
21700 #: build/C/man7/mdoc.samples.7:2613
21701 msgid "Acceptable width specifiers:"
21705 #: build/C/man7/mdoc.samples.7:2614
21707 msgid "Fl width Ar \\&Fl"
21710 #. type: Plain text
21711 #: build/C/man7/mdoc.samples.7:2623
21713 "sets the width to the default width for a flag. All callable macros have a "
21714 "default width value. The E<.Ql \\&.Fl>, value is presently set to ten "
21715 "constant width characters or about five sixth of an inch."
21719 #: build/C/man7/mdoc.samples.7:2623
21721 msgid "Fl width Ar 24n"
21724 #. type: Plain text
21725 #: build/C/man7/mdoc.samples.7:2629
21727 "sets the width to 24 constant width characters or about two inches. The "
21728 "E<.Ql n> is absolutely necessary for the scaling to work correctly."
21732 #: build/C/man7/mdoc.samples.7:2629
21734 msgid "Fl width Ar ENAMETOOLONG"
21737 #. type: Plain text
21738 #: build/C/man7/mdoc.samples.7:2632
21739 msgid "sets width to the constant width length of the string given."
21743 #: build/C/man7/mdoc.samples.7:2632
21745 msgid "Fl width Ar \"\\*qint mkfifo\\*q\""
21748 #. type: Plain text
21749 #: build/C/man7/mdoc.samples.7:2635
21750 msgid "again, the width is set to the constant width of the string given."
21753 #. type: Plain text
21754 #: build/C/man7/mdoc.samples.7:2649
21756 "If a width is not specified for the tag list type, the first time E<.Ql "
21757 "\\&.It> is invoked, an attempt is made to determine an appropriate width. "
21758 "If the first argument to E<.Ql \".It\"> is a callable macro, the default "
21759 "width for that macro will be used as if the macro name had been supplied as "
21760 "the width. However, if another item in the list is given with a different "
21761 "callable macro name, a new and nested list is assumed."
21765 #: build/C/man7/mdoc.samples.7:2649
21767 msgid "PREDEFINED STRINGS"
21770 #. type: Plain text
21771 #: build/C/man7/mdoc.samples.7:2661
21773 "The following strings are predefined as may be used by preceding with the "
21774 "troff string interpreting sequence E<.Ql \\&\\e*(xx> where E<.Em xx> is the "
21775 "name of the defined string or as E<.Ql \\&\\e*x> where E<.Em x> is the name "
21776 "of the string. The interpreting sequence may be used any where in the text."
21780 #: build/C/man7/mdoc.samples.7:2663
21782 msgid "Sy \"String\tNroff\tTroff\""
21786 #: build/C/man7/mdoc.samples.7:2664
21788 msgid "Li E<lt>= Ta \\&E<lt>\\&= Ta \\*(E<lt>="
21792 #: build/C/man7/mdoc.samples.7:2665
21794 msgid "Li E<gt>= Ta \\&E<gt>\\&= Ta \\*(E<gt>="
21798 #: build/C/man7/mdoc.samples.7:2666
21800 msgid "Li Rq Ta '' Ta \\*(Rq"
21804 #: build/C/man7/mdoc.samples.7:2667
21806 msgid "Li Lq Ta `` Ta \\*(Lq"
21810 #: build/C/man7/mdoc.samples.7:2668
21812 msgid "Li ua Ta ^ Ta \\*(ua"
21816 #: build/C/man7/mdoc.samples.7:2669
21818 msgid "Li aa Ta ' Ta \\*(aa"
21822 #: build/C/man7/mdoc.samples.7:2670
21824 msgid "Li ga Ta \\` Ta \\*(ga"
21827 #. .It Li "sL" Ta ` Ta \*(sL
21828 #. .It Li "sR" Ta ' Ta \*(sR
21830 #: build/C/man7/mdoc.samples.7:2673
21832 msgid "Li q Ta \\(dq Ta \\*q"
21836 #: build/C/man7/mdoc.samples.7:2674
21838 msgid "Li Pi Ta pi Ta \\*(Pi"
21842 #: build/C/man7/mdoc.samples.7:2675
21844 msgid "Li Ne Ta != Ta \\*(Ne"
21848 #: build/C/man7/mdoc.samples.7:2676
21850 msgid "Li Le Ta E<lt>= Ta \\*(Le"
21854 #: build/C/man7/mdoc.samples.7:2677
21856 msgid "Li Ge Ta E<gt>= Ta \\*(Ge"
21860 #: build/C/man7/mdoc.samples.7:2678
21862 msgid "Li Lt Ta E<lt> Ta \\*(Gt"
21866 #: build/C/man7/mdoc.samples.7:2679
21868 msgid "Li Gt Ta E<gt> Ta \\*(Lt"
21872 #: build/C/man7/mdoc.samples.7:2680
21874 msgid "Li Pm Ta +- Ta \\*(Pm"
21878 #: build/C/man7/mdoc.samples.7:2681
21880 msgid "Li If Ta infinity Ta \\*(If"
21884 #: build/C/man7/mdoc.samples.7:2682
21886 msgid "Li Na Ta I<NaN> Ta \\*(Na"
21890 #: build/C/man7/mdoc.samples.7:2683
21892 msgid "Li Ba Ta \\&| Ta \\*(Ba"
21895 #. type: Plain text
21896 #: build/C/man7/mdoc.samples.7:2692
21898 "E<.Sy Note>: The string named E<.Ql q> should be written as E<.Ql \\e*q> "
21899 "since it is only one char."
21903 #: build/C/man7/mdoc.samples.7:2692
21905 msgid "DIAGNOSTICS"
21908 #. type: Plain text
21909 #: build/C/man7/mdoc.samples.7:2725
21911 "The debugging facilities for E<.Nm \\-mdoc> are limited, but can help detect "
21912 "subtle errors such as the collision of an argument name with an internal "
21913 "register or macro name. (A what?) A register is an arithmetic storage "
21914 "class for E<.Xr troff> with a one or two character name. All registers "
21915 "internal to E<.Nm \\-mdoc> for E<.Xr troff> and E<.Xr ditroff> are two "
21916 "characters and of the form E<lt>upper_caseE<gt>E<lt>lower_caseE<gt> such as "
21917 "E<.Ql \\&Ar>, E<lt>lower_caseE<gt>E<lt>upper_caseE<gt> as E<.Ql \\&aR> or "
21918 "E<lt>upper or lower letterE<gt>E<lt>digitE<gt> as E<.Ql \\&C\\&1>. And "
21919 "adding to the muddle, E<.Xr troff> has its own internal registers all of "
21920 "which are either two lowercase characters or a dot plus a letter or "
21921 "metacharacter character. In one of the introduction examples, it was shown "
21922 "how to prevent the interpretation of a macro name with the escape sequence "
21923 "E<.Ql \\e&>. This is sufficient for the internal register names also."
21926 #. Every callable macro name has a corresponding register
21927 #. of the same name (<upper_case><lower_case>).
21928 #. There are also specific registers which have
21929 #. been used for stacks and arrays and are listed in the
21931 #. .Bd -ragged -offset 4n
21932 #. [A-Z][a-z] registers corresponding to macro names (example ``Ar'')
21933 #. [a-z][A-Z] registers corresponding to macro names (example ``aR'')
21934 #. C[0-9] argument types (example C1)
21935 #. O[0-9] offset stack (displays)
21936 #. h[0-9] horizontal spacing stack (lists)
21937 #. o[0-9] offset (stack) (lists)
21938 #. t[0-9] tag stack (lists)
21939 #. v[0-9] vertical spacing stack (lists)
21940 #. w[0-9] width tag/label stack
21943 #. type: Plain text
21944 #: build/C/man7/mdoc.samples.7:2764
21946 "If a nonescaped register name is given in the argument list of a request, "
21947 "unpredictable behavior will occur. In general, any time huge portions of "
21948 "text do not appear where expected in the output, or small strings such as "
21949 "list tags disappear, chances are there is a misunderstanding about an "
21950 "argument type in the argument list. Your mother never intended for you to "
21951 "remember this evil stuff - so here is a way to find out whether or not your "
21952 "arguments are valid: The E<.Ql \\&.Db> (debug) macro displays the "
21953 "interpretation of the argument list for most macros. Macros such as the "
21954 "E<.Ql \\&.Pp> (paragraph) macro do not contain debugging information. All "
21955 "of the callable macros do, and it is strongly advised whenever in doubt, "
21956 "turn on the E<.Ql \\&.Db> macro."
21960 #: build/C/man7/mdoc.samples.7:2765
21962 msgid "Usage: \\&.Db [on | off]"
21965 #. type: Plain text
21966 #: build/C/man7/mdoc.samples.7:2774
21968 "An example of a portion of text with the debug macro placed above and below "
21969 "an artificially created problem (a flag argument E<.Ql \\&aC> which should "
21970 "be E<.Ql \\e&aC> in order to work):"
21973 #. type: Plain text
21974 #: build/C/man7/mdoc.samples.7:2778
21978 "\\&.Op Fl aC Ar file )\n"
21982 #. type: Plain text
21983 #: build/C/man7/mdoc.samples.7:2781
21984 msgid "The resulting output:"
21987 #. type: Plain text
21988 #: build/C/man7/mdoc.samples.7:2796
21992 "DEBUG(argv) MACRO: `.Op' Line #: 2\n"
21993 "\tArgc: 1 Argv: `Fl' Length: 2\n"
21994 "\tSpace: `' Class: Executable\n"
21995 "\tArgc: 2 Argv: `aC' Length: 2\n"
21996 "\tSpace: `' Class: Executable\n"
21997 "\tArgc: 3 Argv: `Ar' Length: 2\n"
21998 "\tSpace: `' Class: Executable\n"
21999 "\tArgc: 4 Argv: `file' Length: 4\n"
22000 "\tSpace: ` ' Class: String\n"
22001 "\tArgc: 5 Argv: `)' Length: 1\n"
22002 "\tSpace: ` ' Class: Closing Punctuation or suffix\n"
22003 "\tMACRO REQUEST: .Op Fl aC Ar file )\n"
22007 #. type: Plain text
22008 #: build/C/man7/mdoc.samples.7:2823
22010 "The first line of information tells the name of the calling macro, here "
22011 "E<.Ql \\&.Op>, and the line number it appears on. If one or more files are "
22012 "involved (especially if text from another file is included), the line number "
22013 "may be bogus. If there is only one file, it should be accurate. The second "
22014 "line gives the argument count, the argument E<.Pq Ql \\&Fl> and its length. "
22015 "If the length of an argument is two characters, the argument is tested to "
22016 "see if it is executable (unfortunately, any register which contains a "
22017 "nonzero value appears executable). The third line gives the space allotted "
22018 "for a class, and the class type. The problem here is the argument aC should "
22019 "not be executable. The four types of classes are string, executable, "
22020 "closing punctuation and opening punctuation. The last line shows the entire "
22021 "argument list as it was read. In this next example, the offending E<.Ql "
22022 "\\&aC> is escaped:"
22025 #. type: Plain text
22026 #: build/C/man7/mdoc.samples.7:2827
22030 "\\&.Em An escaped \\e&aC\n"
22034 #. type: Plain text
22035 #: build/C/man7/mdoc.samples.7:2839
22039 "DEBUG(fargv) MACRO: `.Em' Line #: 2\n"
22040 "\tArgc: 1 Argv: `An' Length: 2\n"
22041 "\tSpace: ` ' Class: String\n"
22042 "\tArgc: 2 Argv: `escaped' Length: 7\n"
22043 "\tSpace: ` ' Class: String\n"
22044 "\tArgc: 3 Argv: `aC' Length: 2\n"
22045 "\tSpace: ` ' Class: String\n"
22046 "\tMACRO REQUEST: .Em An escaped &aC\n"
22050 #. type: Plain text
22051 #: build/C/man7/mdoc.samples.7:2849
22053 "The argument E<.Ql \\e&aC> shows up with the same length of 2 as the E<.Ql "
22054 "\\e&> sequence produces a zero width, but a register named E<.Ql \\e&aC> was "
22055 "not found and the type classified as string."
22058 #. type: Plain text
22059 #: build/C/man7/mdoc.samples.7:2851
22060 msgid "Other diagnostics consist of usage statements and are self explanatory."
22064 #: build/C/man7/mdoc.samples.7:2851
22066 msgid "GROFF, TROFF AND NROFF"
22069 #. type: Plain text
22070 #: build/C/man7/mdoc.samples.7:2856
22072 "The E<.Nm \\-mdoc> package does not need compatibility mode with E<.Xr "
22076 #. type: Plain text
22077 #: build/C/man7/mdoc.samples.7:2874
22079 "The package inhibits page breaks, and the headers and footers which normally "
22080 "occur at those breaks with E<.Xr nroff>, to make the manual more efficient "
22081 "for viewing on-line. At the moment, E<.Xr groff> with E<.Fl T Ns Ar ascii> "
22082 "does eject the imaginary remainder of the page at end of file. The "
22083 "inhibiting of the page breaks makes E<.Xr nroff Ns 'd> files unsuitable for "
22084 "hardcopy. There is a register named E<.Ql \\&cR> which can be set to zero "
22085 "in the site dependent style file E<.Pa /usr/src/share/tmac/doc-nroff> to "
22086 "restore the old style behavior."
22090 #: build/C/man7/mdoc.samples.7:2876
22092 msgid "Pa /usr/share/tmac/doc.tmac"
22095 #. type: Plain text
22096 #: build/C/man7/mdoc.samples.7:2878
22097 msgid "manual macro package"
22101 #: build/C/man7/mdoc.samples.7:2878
22103 msgid "Pa /usr/share/misc/mdoc.template"
22106 #. type: Plain text
22107 #: build/C/man7/mdoc.samples.7:2880
22108 msgid "template for writing a man page"
22112 #: build/C/man7/mdoc.samples.7:2880
22114 msgid "Pa /usr/share/examples/mdoc/*"
22117 #. type: Plain text
22118 #: build/C/man7/mdoc.samples.7:2882
22119 msgid "several example man pages"
22122 #. type: Plain text
22123 #: build/C/man7/mdoc.samples.7:2890
22125 "Undesirable hyphenation on the dash of a flag argument is not yet resolved, "
22126 "and causes occasional mishaps in the E<.Sx DESCRIPTION> section. (line "
22127 "break on the hyphen)."
22130 #. type: Plain text
22131 #: build/C/man7/mdoc.samples.7:2892
22132 msgid "Predefined strings are not declared in documentation."
22135 #. type: Plain text
22136 #: build/C/man7/mdoc.samples.7:2894
22137 msgid "Section 3f has not been added to the header routines."
22140 #. type: Plain text
22141 #: build/C/man7/mdoc.samples.7:2899
22142 msgid "E<.Ql \\&.Nm> font should be changed in E<.Sx NAME> section."
22145 #. type: Plain text
22146 #: build/C/man7/mdoc.samples.7:2906
22148 "E<.Ql \\&.Fn> needs to have a check to prevent splitting up if the line "
22149 "length is too short. Occasionally it separates the last parenthesis, and "
22150 "sometimes looks ridiculous if a line is in fill mode."
22153 #. type: Plain text
22154 #: build/C/man7/mdoc.samples.7:2911
22156 "The method used to prevent header and footer page breaks (other than the "
22157 "initial header and footer) when using nroff occasionally places an unsightly "
22158 "partially filled line (blank) at the would be bottom of the page."
22161 #. Note what happens if the parameter list overlaps a newline
22163 #. to make sure a line boundary is crossed:
22165 #. \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[]
22168 #. produces, nudge nudge,
22169 #. .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] ,
22170 #. .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] ,
22172 #. .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] .
22174 #. If double quotes are used, for example:
22176 #. \&.Fn \*qstruct dictionarytable *dictionarylookup\*q \*qchar *h\*q \*qstruct dictionarytable *tab[]\*q
22179 #. produces, nudge nudge,
22180 #. .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" ,
22182 #. .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" ,
22184 #. .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" .
22186 #. Not a pretty sight...
22187 #. In a paragraph, a long parameter containing unpaddable spaces as
22188 #. in the former example will cause
22190 #. to break the line and spread
22191 #. the remaining words out.
22192 #. The latter example will adjust nicely to
22193 #. justified margins, but may break in between an argument and its
22197 #. the right margin adjustment is normally ragged and the problem is
22199 #. type: Plain text
22200 #: build/C/man7/mdoc.samples.7:2952
22202 "The list and display macros to not do any keeps and certainly should be able "
22206 #. type: Plain text
22207 #: build/C/man7/mdoc.samples.7:2956
22208 msgid "E<.Xr man 1>, E<.Xr troff 1>, E<.Xr groff_mdoc 7>, E<.Xr mdoc 7>"