# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2014-04-24 00:51+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man7/feature_test_macros.7:25 #, no-wrap msgid "FEATURE_TEST_MACROS" msgstr "" #. type: TH #: build/C/man7/feature_test_macros.7:25 #, no-wrap msgid "2014-03-20" msgstr "" #. type: TH #: build/C/man7/feature_test_macros.7:25 build/C/man1/intro.1:28 build/C/man2/intro.2:29 build/C/man3/intro.3:26 build/C/man4/intro.4:26 build/C/man5/intro.5:27 build/C/man6/intro.6:26 build/C/man7/intro.7:28 build/C/man8/intro.8:29 build/C/man7/libc.7:26 build/C/man7/mailaddr.7:27 build/C/man7/man-pages.7:30 build/C/man7/man.7:34 build/C/man7/mdoc.7:44 build/C/man7/operator.7:40 build/C/man5/proc.5:62 build/C/man7/standards.7: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 #, no-wrap msgid "Linux" msgstr "" #. type: TH #: build/C/man7/feature_test_macros.7:25 build/C/man2/intro.2:29 build/C/man3/intro.3:26 build/C/man4/intro.4:26 build/C/man5/intro.5:27 build/C/man6/intro.6:26 build/C/man7/intro.7:28 build/C/man8/intro.8:29 build/C/man7/libc.7:26 build/C/man7/man-pages.7:30 build/C/man7/man.7:34 build/C/man7/operator.7:40 build/C/man7/posixoptions.7:24 build/C/man5/proc.5:62 build/C/man7/standards.7: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 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: Sh #: build/C/man7/feature_test_macros.7:26 build/C/man1/intro.1:29 build/C/man2/intro.2:30 build/C/man3/intro.3:27 build/C/man4/intro.4:27 build/C/man5/intro.5:28 build/C/man6/intro.6:27 build/C/man7/intro.7:29 build/C/man8/intro.8:30 build/C/man7/libc.7:27 build/C/man7/mailaddr.7:29 build/C/man7/man-pages.7:31 build/C/man7/man.7:35 build/C/man7/mdoc.7:45 build/C/man7/operator.7:41 build/C/man7/posixoptions.7:25 build/C/man5/proc.5:63 build/C/man7/standards.7: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 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:28 msgid "feature_test_macros - feature test macros" msgstr "" #. type: Sh #: 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 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:31 #, no-wrap msgid "B<#include Efeatures.hE>\n" msgstr "" #. type: Sh #: build/C/man7/feature_test_macros.7:32 build/C/man1/intro.1:31 build/C/man2/intro.2:32 build/C/man3/intro.3:29 build/C/man4/intro.4:29 build/C/man5/intro.5:30 build/C/man6/intro.6:29 build/C/man7/intro.7:31 build/C/man8/intro.8:32 build/C/man7/libc.7:29 build/C/man7/mailaddr.7:31 build/C/man7/man-pages.7:37 build/C/man7/man.7:49 build/C/man7/mdoc.7:54 build/C/man7/operator.7:43 build/C/man7/posixoptions.7:27 build/C/man5/proc.5:65 build/C/man7/standards.7: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 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:35 msgid "" "Feature test macros allow the programmer to control the definitions that are " "exposed by system header files when a program is compiled." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:43 msgid "" "B In order to be effective, a feature test macro I. This can be done either in the " "compilation command (I) or by defining the macro within " "the source code before including any headers." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:52 msgid "" "Some feature test macros are useful for creating portable applications, by " "preventing nonstandard definitions from being exposed. Other macros can be " "used to expose nonstandard definitions that are not exposed by default. The " "precise effects of each of the feature test macros described below can be " "ascertained by inspecting the Ifeatures.hE> header file." msgstr "" #. type: SS #: build/C/man7/feature_test_macros.7:52 #, no-wrap msgid "Specification of feature test macro requirements in manual pages" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:58 msgid "" "When a function requires that a feature test macro is defined, the manual " "page SYNOPSIS typically includes a note of the following form (this example " "from the B(2) manual page):" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:61 msgid "B<#include Eunistd.hE>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:63 msgid "BIB<);>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:68 #, no-wrap msgid "" "Feature Test Macro Requirements for glibc (see\n" "B(7)):\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:73 msgid "B(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E\\ 500)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:84 msgid "" "The B<||> means that in order to obtain the declaration of B(2) from " "Iunistd.hE>, I of the following macro definitions must be " "made before including any header files:" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:89 #, no-wrap msgid "" "#define _BSD_SOURCE\n" "#define _XOPEN_SOURCE /* or any value E 500 */\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:94 msgid "" "Alternatively, equivalent definitions can be included in the compilation " "command:" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:99 #, no-wrap msgid "" "cc -D_BSD_SOURCE\n" "cc -D_XOPEN_SOURCE # Or any value E 500\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:107 msgid "" "Note that, as described below, B, so that it may not always be necessary to explicitly specify the " "feature test macro(s) shown in the SYNOPSIS." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:111 msgid "" "In a few cases, manual pages use a shorthand for expressing the feature test " "macro requirements (this example from B(2)):" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:116 #, no-wrap msgid "" "B<#define _GNU_SOURCE>\n" "B<#include Efcntl.hE>\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:118 #, no-wrap msgid "" "BIB<, off64_t *>IB<, size_t " ">IB<);>\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:124 msgid "" "This format is employed in cases where only a single feature test macro can " "be used to expose the function declaration, and that macro is not defined by " "default." msgstr "" #. type: SS #: build/C/man7/feature_test_macros.7:124 #, no-wrap msgid "Feature test macros understood by glibc" msgstr "" #. The details in glibc 2.0 are simpler, but combining a #. a description of them with the details in later glibc versions #. would make for a complicated description. #. type: Plain text #: build/C/man7/feature_test_macros.7:132 msgid "" "The following paragraphs explain how feature test macros are handled in " "Linux glibc 2.I, I E 0." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:134 msgid "Linux glibc understands the following feature test macros:" msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:134 #, no-wrap msgid "B<__STRICT_ANSI__>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:144 msgid "" "ISO Standard C. This macro is implicitly defined by B(1) when invoked " "with, for example, the I<-std=c99> or I<-ansi> flag." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:144 #, no-wrap msgid "B<_POSIX_C_SOURCE>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:147 build/C/man7/feature_test_macros.7:180 msgid "Defining this macro causes header files to expose definitions as follows:" msgstr "" #. type: IP #: 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:2858 build/C/man5/proc.5:2860 build/C/man5/proc.5:2862 build/C/man5/proc.5:2865 #, no-wrap msgid "\\(bu" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:151 msgid "The value 1 exposes definitions conforming to POSIX.1-1990 and ISO C (1990)." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:154 msgid "The value 2 or greater additionally exposes definitions for POSIX.2-1992." msgstr "" #. 199506L functionality is available only since glibc 2.1 #. type: Plain text #: build/C/man7/feature_test_macros.7:158 msgid "" "The value 199309L or greater additionally exposes definitions for POSIX.1b " "(real-time extensions)." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:161 msgid "" "The value 199506L or greater additionally exposes definitions for POSIX.1c " "(threads)." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:167 msgid "" "(Since glibc 2.3.3) The value 200112L or greater additionally exposes " "definitions corresponding to the POSIX.1-2001 base specification (excluding " "the XSI extension) and also causes C95 (since glibc 2.12) and C99 (since " "glibc 2.10) features to be exposed." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:171 msgid "" "(Since glibc 2.10) The value 200809L or greater additionally exposes " "definitions corresponding to the POSIX.1-2008 base specification (excluding " "the XSI extension)." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:172 #, no-wrap msgid "B<_POSIX_SOURCE>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:177 msgid "" "Defining this obsolete macro with any value is equivalent to defining " "B<_POSIX_C_SOURCE> with the value 1." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:177 #, no-wrap msgid "B<_XOPEN_SOURCE>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:184 msgid "" "Defining with any value exposes definitions conforming to POSIX.1, POSIX.2, " "and XPG4." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:187 msgid "" "The value 500 or greater additionally exposes definitions for SUSv2 (UNIX " "98)." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:191 msgid "" "(Since glibc 2.2) The value 600 or greater additionally exposes definitions " "for SUSv3 (UNIX 03; i.e., the POSIX.1-2001 base specification plus the XSI " "extension) and C99 definitions." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:195 msgid "" "(Since glibc 2.10) The value 700 or greater additionally exposes definitions " "for SUSv4 (i.e., the POSIX.1-2008 base specification plus the XSI " "extension)." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:209 msgid "" "If B<__STRICT_ANSI__> is not defined, or B<_XOPEN_SOURCE> is defined with a " "value greater than or equal to 500 I neither B<_POSIX_SOURCE> not " "B<_POSIX_C_SOURCE> is explicitly defined, then the following macros are " "implicitly defined:" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:213 msgid "B<_POSIX_SOURCE> is defined with the value 1." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:217 msgid "B<_POSIX_C_SOURCE> is defined, according to the value of B<_XOPEN_SOURCE>:" msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:218 #, no-wrap msgid "B<_XOPEN_SOURCE> E 500" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:222 msgid "B<_POSIX_C_SOURCE> is defined with the value 2." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:222 #, no-wrap msgid "500 E= B<_XOPEN_SOURCE> E 600" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:226 msgid "B<_POSIX_C_SOURCE> is defined with the value 199506L." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:226 #, no-wrap msgid "600 E= B<_XOPEN_SOURCE> E 700" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:230 msgid "B<_POSIX_C_SOURCE> is defined with the value 200112L." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:230 #, no-wrap msgid "700 E= B<_XOPEN_SOURCE> (since glibc 2.10)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:234 msgid "B<_POSIX_C_SOURCE> is defined with the value 200809L." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:236 #, no-wrap msgid "B<_XOPEN_SOURCE_EXTENDED>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:245 msgid "" "If this macro is defined, and B<_XOPEN_SOURCE> is defined, then expose " "definitions corresponding to the XPG4v2 (SUSv1) UNIX extensions (UNIX 95). " "This macro is also implicitly defined if B<_XOPEN_SOURCE> is defined with a " "value of 500 or more." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:245 #, no-wrap msgid "B<_ISOC99_SOURCE> (since glibc 2.1.3)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:248 msgid "Exposes declarations consistent with the ISO C99 standard." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:254 msgid "" "Earlier glibc 2.1.x versions recognized an equivalent macro named " "B<_ISOC9X_SOURCE> (because the C99 standard had not then been finalized). " "Although the use of this macro is obsolete, glibc continues to recognize it " "for backward compatibility." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:259 msgid "" "Defining B<_ISOC99_SOURCE> also exposes ISO C (1990) Amendment 1 (\"C95\") " "definitions. (The primary change in C95 was support for international " "character sets.)" msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:259 #, no-wrap msgid "B<_ISOC11_SOURCE> (since glibc 2.16)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:264 msgid "" "Exposes declarations consistent with the ISO C11 standard. Defining this " "macro also enables C99 and C95 features (like B<_ISOC99_SOURCE>)." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:264 #, no-wrap msgid "B<_LARGEFILE64_SOURCE>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:285 msgid "" "Expose definitions for the alternative API specified by the LFS (Large File " "Summit) as a \"transitional extension\" to the Single UNIX Specification. " "(See E<.UR http:\\:/\\:/opengroup.org\\:/platform\\:/lfs.html> E<.UE .)> The " "alternative API consists of a set of new objects (i.e., functions and types) " "whose names are suffixed with \"64\" (e.g., I versus I, " "B() versus B(), etc.). New programs should not employ this " "macro; instead I<_FILE_OFFSET_BITS=64> should be employed." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:285 #, no-wrap msgid "B<_LARGEFILE_SOURCE>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:307 msgid "" "This macro was historically used to expose certain functions (specifically " "B(3) and B(3)) that address limitations of earlier APIs " "(B(3) and B(3)) that use I for file offsets. This " "macro is implicitly defined if B<_XOPEN_SOURCE> is defined with a value " "greater than or equal to 500. New programs should not employ this macro; " "defining B<_XOPEN_SOURCE> as just described or defining B<_FILE_OFFSET_BITS> " "with the value 64 is the preferred mechanism to achieve the same result." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:307 #, no-wrap msgid "B<_FILE_OFFSET_BITS>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:317 msgid "" "Defining this macro with the value 64 automatically converts references to " "32-bit functions and data types related to file I/O and filesystem " "operations into references to their 64-bit counterparts. This is useful for " "performing I/O on large files (E 2 Gigabytes) on 32-bit systems. " "(Defining this macro permits correctly written programs to use large files " "with only a recompilation being required.)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:320 msgid "" "64-bit systems naturally permit file sizes greater than 2 Gigabytes, and on " "those systems this macro has no effect." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:320 #, no-wrap msgid "B<_BSD_SOURCE> (deprecated since glibc 2.20)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:324 msgid "" "Defining this macro with any value causes header files to expose BSD-derived " "definitions." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:339 msgid "" "In glibc versions up to and including 2.18, defining this macro also causes " "BSD definitions to be preferred in some situations where standards conflict, " "unless one or more of B<_SVID_SOURCE>, B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, " "B<_XOPEN_SOURCE>, B<_XOPEN_SOURCE_EXTENDED>, or B<_GNU_SOURCE> is defined, " "in which case BSD definitions are disfavored. Since glibc 2.19, " "B<_BSD_SOURCE> no longer causes BSD definitions to be preferred in case of " "conflicts." msgstr "" #. commit c941736c92fa3a319221f65f6755659b2a5e0a20 #. commit 498afc54dfee41d33ba519f496e96480badace8e #. commit acd7f096d79c181866d56d4aaf3b043e741f1e2c #. commit ade40b10ff5fa59a318cf55b9d8414b758e8df78 #. type: Plain text #: build/C/man7/feature_test_macros.7:362 msgid "" "Since glibc 2.20, this macro is deprecated. It now has the same effect as " "defining B<_DEFAULT_SOURCE>, but generates a compile-time warning (unless " "B<_DEFAULT_SOURCE> is also defined). Use B<_DEFAULT_SOURCE> instead. To " "allow code that requires B<_BSD_SOURCE> in glibc 2.19 and earlier and " "B<_DEFAULT_SOURCE> in glibc 2.20 and later to compile without warnings, " "define I B<_BSD_SOURCE> and B<_DEFAULT_SOURCE>." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:362 #, no-wrap msgid "B<_SVID_SOURCE> (deprecated since glibc 2.20)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:368 msgid "" "Defining this macro with any value causes header files to expose System " "V-derived definitions. (SVID == System V Interface Definition; see " "B(7).)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:371 msgid "" "Since glibc 2.20, this macro is deprecated in the same fashion as " "B<_BSD_SOURCE>." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:371 #, no-wrap msgid "B<_DEFAULT_SOURCE> (since glibc 2.19)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:383 msgid "" "This macro can be defined to ensure that the \"default\" definitions are " "provided even when the defaults would otherwise be disabled, as happens when " "individual macros are explicitly defined, or the compiler is invoked in one " "of its \"standard\" modes (e.g., I). Defining " "B<_DEFAULT_SOURCE> without defining other individual macros or invoking the " "compiler in one of its \"standard\" modes has no effect." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:388 msgid "" "The \"default\" definitions comprise those required by POSIX.1-2008 as well " "as various definitions derived from BSD and System V. On glibc 2.19 and " "earlier, these defaults were approximately equivalent to explicitly defining " "the following:" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:390 #, no-wrap msgid " cc -D_BSD_SOURCE -D_SVID_SOURCE -D_POSIX_C_SOURCE=200809\n" msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:391 #, no-wrap msgid "B<_ATFILE_SOURCE> (since glibc 2.4)" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:400 msgid "" "Defining this macro with any value causes header files to expose " "declarations of a range of functions with the suffix \"at\"; see " "B(2). Since glibc 2.10, this macro is also implicitly defined if " "B<_POSIX_C_SOURCE> is defined with a value greater than or equal to 200809L." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:400 #, no-wrap msgid "B<_GNU_SOURCE>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:419 msgid "" "Defining this macro (with any value) implicitly defines B<_ATFILE_SOURCE>, " "B<_LARGEFILE64_SOURCE>, B<_ISOC99_SOURCE>, B<_XOPEN_SOURCE_EXTENDED>, " "B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE> with the value 200809L (200112L in " "glibc versions before 2.10; 199506L in glibc versions before 2.5; 199309L in " "glibc versions before 2.1) and B<_XOPEN_SOURCE> with the value 700 (600 in " "glibc versions before 2.10; 500 in glibc versions before 2.2). In addition, " "various GNU-specific extensions are also exposed." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:430 msgid "" "Since glibc 2.19, defining B<_GNU_SOURCE> also has the effect of implicitly " "defining B<_DEFAULT_SOURCE>. In glibc versions before 2.20, defining " "B<_GNU_SOURCE> also had the effect of implicitly defining B<_BSD_SOURCE> and " "B<_SVID_SOURCE>." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:430 #, no-wrap msgid "B<_REENTRANT>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:436 msgid "" "Defining this macro exposes definitions of certain reentrant functions. For " "multithreaded programs, use I instead." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:436 #, no-wrap msgid "B<_THREAD_SAFE>" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:441 msgid "" "Synonym for B<_REENTRANT>, provided for compatibility with some other " "implementations." msgstr "" #. type: TP #: build/C/man7/feature_test_macros.7:441 #, no-wrap msgid "B<_FORTIFY_SOURCE> (since glibc 2.3.4)" msgstr "" #. For more detail, see: #. http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html #. [PATCH] Object size checking to prevent (some) buffer overflows #. * From: Jakub Jelinek #. * To: gcc-patches at gcc dot gnu dot org #. * Date: Tue, 21 Sep 2004 04:16:40 -0400 #. type: Plain text #: build/C/man7/feature_test_macros.7:453 msgid "" "Defining this macro causes some lightweight checks to be performed to detect " "some buffer overflow errors when employing various string and memory " "manipulation functions. Not all buffer overflows are detected, just some " "common cases." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:471 msgid "" "In the current implementation, checks are added for calls to B(3), " "B(3), B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3), B(3), " "B(3), B(3), and B(3)." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:486 msgid "" "If B<_FORTIFY_SOURCE> is set to 1, with compiler optimization level 1 " "(I) and above, checks that shouldn't change the behavior of " "conforming programs are performed. With B<_FORTIFY_SOURCE> set to 2 some " "more checking is added, but some conforming programs might fail. Some of " "the checks can be performed at compile time, and result in compiler " "warnings; other checks take place at run time, and result in a run-time " "error if the check fails." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:490 msgid "" "Use of this macro requires compiler support, available with B(1) since " "version 4.0." msgstr "" #. type: SS #: build/C/man7/feature_test_macros.7:490 #, no-wrap msgid "Default definitions, implicit definitions, and combining definitions" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:506 msgid "" "If no feature test macros are explicitly defined, then the following feature " "test macros are defined by default: B<_BSD_SOURCE> (in glibc 2.19 and " "earlier), B<_SVID_SOURCE> (in glibc 2.19 and earlier), B<_DEFAULT_SOURCE> " "(since glibc 2.19), B<_POSIX_SOURCE>, and B<_POSIX_C_SOURCE>=200809L " "(200112L in glibc versions before 2.10; 199506L in glibc versions before " "2.4; 199309L in glibc versions before 2.1)." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:525 msgid "" "If any of B<__STRICT_ANSI__>, B<_ISOC99_SOURCE>, B<_POSIX_SOURCE>, " "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_XOPEN_SOURCE_EXTENDED>, " "B<_BSD_SOURCE> (in glibc 2.19 and earlier), or B<_SVID_SOURCE> (in glibc " "2.19 and earlier) is explicitly defined, then B<_BSD_SOURCE>, " "B<_SVID_SOURCE>, and B<_DEFAULT_SOURCE> are not defined by default." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:536 msgid "" "If B<_POSIX_SOURCE> and B<_POSIX_C_SOURCE> are not explicitly defined, and " "either B<__STRICT_ANSI__> is not defined or B<_XOPEN_SOURCE> is defined with " "a value of 500 or more, then" msgstr "" #. type: IP #: 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:358 build/C/man7/man-pages.7:360 build/C/man7/man-pages.7:362 build/C/man7/man-pages.7:570 build/C/man7/man-pages.7:820 build/C/man7/man-pages.7:822 build/C/man7/man-pages.7:828 build/C/man7/man-pages.7:831 build/C/man7/man-pages.7:834 build/C/man7/man-pages.7:837 build/C/man7/man-pages.7:842 build/C/man7/man-pages.7:846 build/C/man7/man-pages.7:857 build/C/man7/man-pages.7:870 build/C/man7/man-pages.7:872 build/C/man7/man-pages.7:874 build/C/man5/proc.5:907 build/C/man5/proc.5:911 build/C/man5/proc.5:914 build/C/man5/proc.5:916 build/C/man5/proc.5:919 build/C/man5/proc.5:1461 build/C/man5/proc.5:1464 build/C/man5/proc.5:1476 build/C/man5/proc.5:1479 build/C/man5/proc.5:1483 build/C/man5/proc.5:1486 build/C/man5/proc.5:1489 build/C/man5/proc.5:1492 build/C/man5/proc.5:1495 build/C/man5/proc.5:1498 build/C/man5/proc.5:1501 build/C/man5/proc.5:1504 build/C/man5/proc.5:1508 build/C/man5/proc.5:1511 build/C/man5/proc.5:1514 build/C/man5/proc.5:1517 build/C/man5/proc.5:1520 build/C/man5/proc.5:1523 build/C/man5/proc.5:1526 build/C/man5/proc.5:1537 build/C/man5/proc.5:1543 build/C/man5/proc.5:1547 build/C/man5/proc.5:1552 build/C/man5/proc.5:1557 build/C/man5/proc.5:1562 build/C/man5/proc.5:1567 build/C/man5/proc.5:1572 build/C/man5/proc.5:1577 build/C/man5/proc.5:2639 build/C/man5/proc.5:2643 build/C/man5/proc.5:2646 build/C/man5/proc.5:2651 build/C/man5/proc.5:2845 build/C/man5/proc.5:2849 build/C/man5/proc.5:2855 build/C/man5/proc.5:2894 build/C/man5/proc.5:2900 build/C/man5/proc.5:2902 #, no-wrap msgid "*" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:539 msgid "B<_POSIX_SOURCE> is defined with the value 1; and" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:542 msgid "B<_POSIX_C_SOURCE> is defined with one of the following values:" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:548 msgid "2, if B<_XOPEN_SOURCE> is defined with a value less than 500;" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:554 msgid "" "199506L, if B<_XOPEN_SOURCE> is defined with a value greater than or equal " "to 500 and less than 600; or" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:559 msgid "" "(since glibc 2.4) 200112L, if B<_XOPEN_SOURCE> is defined with a value " "greater than or equal to 600 and less than 700." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:565 msgid "" "(Since glibc 2.10) 200809L, if B<_XOPEN_SOURCE> is defined with a value " "greater than or equal to 700." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:570 msgid "" "Older versions of glibc do not know about the values 200112L and 200809L for " "B<_POSIX_C_SOURCE>, and the setting of this macro will depend on the glibc " "version." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:579 msgid "" "If B<_XOPEN_SOURCE> is undefined, then the setting of B<_POSIX_C_SOURCE> " "depends on the glibc version: 199506L, in glibc versions before 2.4; " "200112L, in glibc 2.4 to 2.9; and 200809L, since glibc 2.10." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:582 msgid "Multiple macros can be defined; the results are additive." msgstr "" #. type: SH #: 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 #, no-wrap msgid "CONFORMING TO" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:590 msgid "" "POSIX.1 specifies B<_POSIX_C_SOURCE>, B<_POSIX_SOURCE>, and " "B<_XOPEN_SOURCE>. B<_XOPEN_SOURCE_EXTENDED> was specified by XPG4v2 (aka " "SUSv1)." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:594 msgid "" "B<_FILE_OFFSET_BITS> is not specified by any standard, but is employed on " "some other implementations." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:605 msgid "" "B<_BSD_SOURCE>, B<_SVID_SOURCE>, B<_DEFAULT_SOURCE>, B<_ATFILE_SOURCE>, " "B<_GNU_SOURCE>, B<_FORTIFY_SOURCE>, B<_REENTRANT>, and B<_THREAD_SAFE> are " "specific to Linux (glibc)." msgstr "" #. type: SH #: 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:3738 build/C/man2/unimplemented.2:40 #, no-wrap msgid "NOTES" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:612 msgid "" "Ifeatures.hE> is a Linux/glibc-specific header file. Other " "systems have an analogous file, but typically with a different name. This " "header file is automatically included by other header files as required: it " "is not necessary to explicitly include it in order to employ feature test " "macros." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:624 msgid "" "According to which of the above feature test macros are defined, " "Ifeatures.hE> internally defines various other macros that are " "checked by other glibc header files. These macros have names prefixed by " "two underscores (e.g., B<__USE_MISC>). Programs should I define " "these macros directly: instead, the appropriate feature test macro(s) from " "the list above should be employed." msgstr "" #. type: SH #: build/C/man7/feature_test_macros.7:624 build/C/man7/man-pages.7:882 #, no-wrap msgid "EXAMPLE" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:630 msgid "" "The program below can be used to explore how the various feature test macros " "are set depending on the glibc version and what feature test macros are " "explicitly set. The following shell session, on a system with glibc 2.10, " "shows some examples of what we would see:" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:657 #, no-wrap msgid "" "$ B\n" "$ B<./a.out>\n" "_POSIX_SOURCE defined\n" "_POSIX_C_SOURCE defined: 200809L\n" "_BSD_SOURCE defined\n" "_SVID_SOURCE defined\n" "_ATFILE_SOURCE defined\n" "$ B\n" "$ B<./a.out>\n" "_POSIX_SOURCE defined\n" "_POSIX_C_SOURCE defined: 199506L\n" "_XOPEN_SOURCE defined: 500\n" "$ B\n" "$ B<./a.out>\n" "_POSIX_SOURCE defined\n" "_POSIX_C_SOURCE defined: 200809L\n" "_ISOC99_SOURCE defined\n" "_XOPEN_SOURCE defined: 700\n" "_XOPEN_SOURCE_EXTENDED defined\n" "_LARGEFILE64_SOURCE defined\n" "_BSD_SOURCE defined\n" "_SVID_SOURCE defined\n" "_ATFILE_SOURCE defined\n" "_GNU_SOURCE defined\n" msgstr "" #. type: SS #: build/C/man7/feature_test_macros.7:659 #, no-wrap msgid "Program source" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:663 #, no-wrap msgid "/* ftm.c */\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:667 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Eunistd.hE\n" "#include Estdlib.hE\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:674 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" "#ifdef _POSIX_SOURCE\n" " printf(\"_POSIX_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:678 #, no-wrap msgid "" "#ifdef _POSIX_C_SOURCE\n" " printf(\"_POSIX_C_SOURCE defined: %ldL\\en\", (long) _POSIX_C_SOURCE);\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:682 #, no-wrap msgid "" "#ifdef _ISOC99_SOURCE\n" " printf(\"_ISOC99_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:686 #, no-wrap msgid "" "#ifdef _ISOC11_SOURCE\n" " printf(\"_ISOC11_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:690 #, no-wrap msgid "" "#ifdef _XOPEN_SOURCE\n" " printf(\"_XOPEN_SOURCE defined: %d\\en\", _XOPEN_SOURCE);\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:694 #, no-wrap msgid "" "#ifdef _XOPEN_SOURCE_EXTENDED\n" " printf(\"_XOPEN_SOURCE_EXTENDED defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:698 #, no-wrap msgid "" "#ifdef _LARGEFILE64_SOURCE\n" " printf(\"_LARGEFILE64_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:702 #, no-wrap msgid "" "#ifdef _FILE_OFFSET_BITS\n" " printf(\"_FILE_OFFSET_BITS defined: %d\\en\", _FILE_OFFSET_BITS);\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:706 #, no-wrap msgid "" "#ifdef _BSD_SOURCE\n" " printf(\"_BSD_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:710 #, no-wrap msgid "" "#ifdef _SVID_SOURCE\n" " printf(\"_SVID_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:714 #, no-wrap msgid "" "#ifdef _DEFAULT_SOURCE\n" " printf(\"_DEFAULT_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:718 #, no-wrap msgid "" "#ifdef _ATFILE_SOURCE\n" " printf(\"_ATFILE_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:722 #, no-wrap msgid "" "#ifdef _GNU_SOURCE\n" " printf(\"_GNU_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:726 #, no-wrap msgid "" "#ifdef _REENTRANT\n" " printf(\"_REENTRANT defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:730 #, no-wrap msgid "" "#ifdef _THREAD_SAFE\n" " printf(\"_THREAD_SAFE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:734 #, no-wrap msgid "" "#ifdef _FORTIFY_SOURCE\n" " printf(\"_FORTIFY_SOURCE defined\\en\");\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:737 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: Sh #: 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:104 build/C/man7/mailaddr.7:117 build/C/man7/man-pages.7:889 build/C/man7/man.7:560 build/C/man7/mdoc.7:428 build/C/man7/posixoptions.7:854 build/C/man5/proc.5:3751 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 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:741 msgid "B(7), B(7)" msgstr "" #. But beware: the info libc document is out of date (Jul 07, mtk) #. type: Plain text #: build/C/man7/feature_test_macros.7:745 msgid "The section \"Feature Test Macros\" under I." msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:747 msgid "I" msgstr "" #. type: Sh #: build/C/man7/feature_test_macros.7:747 build/C/man1/intro.1:304 build/C/man2/intro.2:135 build/C/man3/intro.3:110 build/C/man4/intro.4:40 build/C/man5/intro.5:40 build/C/man6/intro.6:37 build/C/man7/intro.7:43 build/C/man8/intro.8:49 build/C/man7/libc.7:112 build/C/man7/mailaddr.7:127 build/C/man7/man-pages.7:896 build/C/man7/man.7:572 build/C/man7/mdoc.7:433 build/C/man7/operator.7:65 build/C/man7/posixoptions.7:857 build/C/man5/proc.5:3785 build/C/man7/standards.7:281 build/C/man7/suffixes.7:283 build/C/man3/undocumented.3:183 build/C/man2/unimplemented.2:66 build/C/man7/units.7:130 build/C/man7/mdoc.samples.7:2957 #, no-wrap msgid "COLOPHON" msgstr "" #. type: Plain text #: build/C/man7/feature_test_macros.7:754 build/C/man1/intro.1:311 build/C/man2/intro.2:142 build/C/man3/intro.3:117 build/C/man4/intro.4:47 build/C/man5/intro.5:47 build/C/man6/intro.6:44 build/C/man7/intro.7:50 build/C/man8/intro.8:56 build/C/man7/libc.7:119 build/C/man7/mailaddr.7:134 build/C/man7/man-pages.7:903 build/C/man7/man.7:579 build/C/man7/operator.7:72 build/C/man7/posixoptions.7:864 build/C/man5/proc.5:3792 build/C/man7/standards.7:288 build/C/man7/suffixes.7:290 build/C/man3/undocumented.3:190 build/C/man2/unimplemented.2:73 build/C/man7/units.7:137 msgid "" "This page is part of release 3.65 of the Linux I project. A " "description of the project, and information about reporting bugs, can be " "found at \\%http://www.kernel.org/doc/man-pages/." msgstr "" #. type: TH #: 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 #, no-wrap msgid "INTRO" msgstr "" #. type: TH #: build/C/man1/intro.1:28 #, no-wrap msgid "2007-11-15" msgstr "" #. type: TH #: build/C/man1/intro.1:28 build/C/man7/mailaddr.7:27 #, no-wrap msgid "Linux User's Manual" msgstr "" #. type: Plain text #: build/C/man1/intro.1:31 msgid "intro - introduction to user commands" msgstr "" #. type: Plain text #: build/C/man1/intro.1:35 msgid "" "Section 1 of the manual describes user commands and tools, for example, file " "manipulation tools, shells, compilers, web browsers, file and image viewers " "and editors, and so on." msgstr "" #. type: Plain text #: build/C/man1/intro.1:48 msgid "" "All commands yield a status value on termination. This value can be tested " "(e.g., in most shells the variable I<$?> contains the status of the last " "executed command) to see whether the command completed successfully. A " "zero exit status is conventionally used to indicate success, and a nonzero " "status means that the command was unsuccessful. (Details of the exit status " "can be found in B(2).) A nonzero exit status can be in the range 1 to " "255, and some commands use different nonzero status values to indicate the " "reason why the command failed." msgstr "" #. type: Plain text #: build/C/man1/intro.1:52 msgid "" "Linux is a flavor of UNIX, and as a first approximation all user commands " "under UNIX work precisely the same under Linux (and FreeBSD and lots of " "other UNIX-like systems)." msgstr "" #. type: Plain text #: build/C/man1/intro.1:62 msgid "" "Under Linux there are GUIs (graphical user interfaces), where you can point " "and click and drag, and hopefully get work done without first reading lots " "of documentation. The traditional UNIX environment is a CLI (command line " "interface), where you type commands to tell the computer what to do. That " "is faster and more powerful, but requires finding out what the commands " "are. Below a bare minimum, to get started." msgstr "" #. type: SS #: build/C/man1/intro.1:62 #, no-wrap msgid "Login" msgstr "" #. type: Plain text #: build/C/man1/intro.1:76 msgid "" "In order to start working, you probably first have to login, that is, give " "your username and password. See also B(1). The program I now " "starts a I (command interpreter) for you. In case of a graphical " "login, you get a screen with menus or icons and a mouse click will start a " "shell in a window. See also B(1)." msgstr "" #. type: SS #: build/C/man1/intro.1:76 #, no-wrap msgid "The shell" msgstr "" #. type: Plain text #: build/C/man1/intro.1:91 msgid "" "One types commands to the I, the command interpreter. It is not " "built-in, but is just a program and you can change your shell. Everybody " "has her own favorite one. The standard one is called I. See also " "B(1), B(1), B(1), B(1), B(1)." msgstr "" #. type: Plain text #: build/C/man1/intro.1:93 msgid "A session might go like" msgstr "" #. type: Plain text #: build/C/man1/intro.1:108 #, no-wrap msgid "" "BI\n" "BI<********>\n" "B<% >I\n" "Tue Aug 6 23:50:44 CEST 2002\n" "B<% >I\n" " August 2002\n" "Su Mo Tu We Th Fr Sa\n" " 1 2 3\n" " 4 5 6 7 8 9 10\n" "11 12 13 14 15 16 17\n" "18 19 20 21 22 23 24\n" "25 26 27 28 29 30 31\n" msgstr "" #. type: Plain text #: build/C/man1/intro.1:135 #, no-wrap msgid "" "B<% >I\n" "bin tel\n" "B<% >I\n" "total 2\n" "drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin\n" "-rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel\n" "B<% >I\n" "maja 0501-1136285\n" "peter 0136-7399214\n" "B<% >I\n" "B<% >I\n" "total 3\n" "drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin\n" "-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel\n" "-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2\n" "B<% >I\n" "B<% >I\n" "total 3\n" "drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin\n" "-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1\n" "-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2\n" "B<% >I\n" "B<% >I\n" "B<% >I\n" "maja 0501-1136285\n" "B<% >\n" msgstr "" #. type: Plain text #: build/C/man1/intro.1:147 msgid "" "and here typing Control-D ended the session. The B<% > here was the command " "prompt\\(emit is the shell's way of indicating that it is ready for the next " "command. The prompt can be customized in lots of ways, and one might " "include stuff like username, machine name, current directory, time, and so " "on. An assignment PS1=\"What next, master? \" would change the prompt as " "indicated." msgstr "" #. type: Plain text #: build/C/man1/intro.1:153 msgid "" "We see that there are commands I (that gives date and time), and " "I (that gives a calendar)." msgstr "" #. type: Plain text #: build/C/man1/intro.1:169 msgid "" "The command I lists the contents of the current directory\\(emit tells " "you what files you have. With a I<-l> option it gives a long listing, that " "includes the owner and size and date of the file, and the permissions people " "have for reading and/or changing the file. For example, the file \"tel\" " "here is 37 bytes long, owned by aeb and the owner can read and write it, " "others can only read it. Owner and permissions can be changed by the " "commands I and I." msgstr "" #. type: Plain text #: build/C/man1/intro.1:176 msgid "" "The command I will show the contents of a file. (The name is from " "\"concatenate and print\": all files given as parameters are concatenated " "and sent to \"standard output\", here the terminal screen.)" msgstr "" #. type: Plain text #: build/C/man1/intro.1:183 msgid "" "The command I (from \"copy\") will copy a file. On the other hand, the " "command I (from \"move\") only renames it." msgstr "" #. type: Plain text #: build/C/man1/intro.1:188 msgid "" "The command I lists the differences between two files. Here there was " "no output because there were no differences." msgstr "" #. type: Plain text #: build/C/man1/intro.1:194 msgid "" "The command I (from \"remove\") deletes the file, and be careful! it is " "gone. No wastepaper basket or anything. Deleted means lost." msgstr "" #. type: Plain text #: build/C/man1/intro.1:199 msgid "" "The command I (from \"g/re/p\") finds occurrences of a string in one " "or more files. Here it finds Maja's telephone number." msgstr "" #. type: SS #: build/C/man1/intro.1:199 #, no-wrap msgid "Pathnames and the current directory" msgstr "" #. type: Plain text #: build/C/man1/intro.1:211 msgid "" "Files live in a large tree, the file hierarchy. Each has a I " "describing the path from the root of the tree (which is called /) to the " "file. For example, such a full pathname might be /home/aeb/tel. Always " "using full pathnames would be inconvenient, and the name of a file in the " "current directory may be abbreviated by giving only the last component. " "That is why \"/home/aeb/tel\" can be abbreviated to \"tel\" when the current " "directory is \"/home/aeb\"." msgstr "" #. type: Plain text #: build/C/man1/intro.1:215 msgid "The command I prints the current directory." msgstr "" #. type: Plain text #: build/C/man1/intro.1:220 msgid "" "The command I changes the current directory. Try \"cd /\" and \"pwd\" " "and \"cd\" and \"pwd\"." msgstr "" #. type: SS #: build/C/man1/intro.1:220 #, no-wrap msgid "Directories" msgstr "" #. type: Plain text #: build/C/man1/intro.1:224 msgid "The command I makes a new directory." msgstr "" #. type: Plain text #: build/C/man1/intro.1:228 msgid "" "The command I removes a directory if it is empty, and complains " "otherwise." msgstr "" #. type: Plain text #: build/C/man1/intro.1:240 msgid "" "The command I (with a rather baroque syntax) will find files with " "given name or other properties. For example, \"find . -name tel\" would " "find the file \"tel\" starting in the present directory (which is called " "\".\"). And \"find / -name tel\" would do the same, but starting at the " "root of the tree. Large searches on a multi-GB disk will be time-consuming, " "and it may be better to use B(1)." msgstr "" #. type: SS #: build/C/man1/intro.1:240 #, no-wrap msgid "Disks and filesystems" msgstr "" #. type: Plain text #: build/C/man1/intro.1:251 msgid "" "The command I will attach the filesystem found on some disk (or " "floppy, or CDROM or so) to the big filesystem hierarchy. And I " "detaches it again. The command I will tell you how much of your disk is " "still free." msgstr "" #. type: SS #: build/C/man1/intro.1:251 #, no-wrap msgid "Processes" msgstr "" #. type: Plain text #: build/C/man1/intro.1:269 msgid "" "On a UNIX system many user and system processes run simultaneously. The one " "you are talking to runs in the I, the others in the " "I. The command I will show you which processes are active " "and what numbers these processes have. The command I allows you to " "get rid of them. Without option this is a friendly request: please go " "away. And \"kill -9\" followed by the number of the process is an immediate " "kill. Foreground processes can often be killed by typing Control-C." msgstr "" #. type: SS #: build/C/man1/intro.1:269 #, no-wrap msgid "Getting information" msgstr "" #. type: Plain text #: build/C/man1/intro.1:282 msgid "" "There are thousands of commands, each with many options. Traditionally " "commands are documented on I, (like this one), so that the " "command \"man kill\" will document the use of the command \"kill\" (and " "\"man man\" document the command \"man\"). The program I sends the " "text through some I, usually I. Hit the space bar to get the " "next page, hit q to quit." msgstr "" #. type: Plain text #: build/C/man1/intro.1:290 msgid "" "In documentation it is customary to refer to man pages by giving the name " "and section number, as in B(1). Man pages are terse, and allow you to " "find quickly some forgotten detail. For newcomers an introductory text with " "more examples and explanations is useful." msgstr "" #. type: Plain text #: build/C/man1/intro.1:294 msgid "" "A lot of GNU/FSF software is provided with info files. Type \"info info\" " "for an introduction on the use of the program \"info\"." msgstr "" # #. Actual examples? Separate section for each of cat, cp, ...? #. gzip, bzip2, tar, rpm #. type: Plain text #: build/C/man1/intro.1:302 msgid "" "Special topics are often treated in HOWTOs. Look in " "I and use a browser if you find HTML files there." msgstr "" #. type: Plain text #: build/C/man1/intro.1:304 build/C/man4/intro.4:40 build/C/man5/intro.5:40 build/C/man7/intro.7:43 msgid "B(7)" msgstr "" #. type: TH #: build/C/man2/intro.2:29 #, no-wrap msgid "2014-02-20" msgstr "" #. type: Plain text #: build/C/man2/intro.2:32 msgid "intro - introduction to system calls" msgstr "" #. type: Plain text #: build/C/man2/intro.2:42 msgid "" "Section 2 of the manual describes the Linux system calls. A system call is " "an entry point into the Linux kernel. Usually, system calls are not invoked " "directly: instead, most system calls have corresponding C library wrapper " "functions which perform the steps required (e.g., trapping to kernel mode) " "in order to invoke the system call. Thus, making a system call looks the " "same as invoking a normal library function." msgstr "" #. type: Plain text #: build/C/man2/intro.2:44 msgid "In many cases, the C library wrapper function does nothing more than:" msgstr "" #. type: Plain text #: build/C/man2/intro.2:47 msgid "" "copying arguments and the unique system call number to the registers where " "the kernel expects them;" msgstr "" #. type: Plain text #: build/C/man2/intro.2:50 msgid "" "trapping to kernel mode, at which point the kernel does the real work of the " "system call; and" msgstr "" #. type: Plain text #: build/C/man2/intro.2:55 msgid "" "setting I if the system call returns an error number when the kernel " "returns the CPU to user mode." msgstr "" #. type: Plain text #: build/C/man2/intro.2:65 msgid "" "However, in a few cases, a wrapper function may do rather more than this, " "for example, performing some preprocessing of the arguments of arguments " "before trapping to kernel mode, or postprocessing of values returned by the " "system call. Where this is the case, the manual pages in Section 2 " "generally try to note the details of both the (usually GNU) C library API " "interface and the raw system call. Most commonly, the main DESCRIPTION will " "focus on the C library interface, and differences for the system call are " "covered in the NOTES section." msgstr "" #. type: Plain text #: build/C/man2/intro.2:68 msgid "For a list of the Linux system calls, see B(2)." msgstr "" #. type: SH #: build/C/man2/intro.2:68 build/C/man2/unimplemented.2:35 #, no-wrap msgid "RETURN VALUE" msgstr "" #. type: Plain text #: build/C/man2/intro.2:77 msgid "" "On error, most system calls return a negative error number (i.e., the " "negated value of one of the constants described in B(3)). The C " "library wrapper hides this detail from the caller: when a system call " "returns a negative value, the wrapper copies the absolute value into the " "I variable, and returns -1 as the return value of the wrapper." msgstr "" #. type: Plain text #: build/C/man2/intro.2:82 msgid "" "The value returned by a successful system call depends on the call. Many " "system calls return 0 on success, but some can return nonzero values from a " "successful call. The details are described in the individual manual pages." msgstr "" #. type: Plain text #: build/C/man2/intro.2:93 msgid "" "In some cases, the programmer must define a feature test macro in order to " "obtain the declaration of a system call from the header file specified in " "the man page SYNOPSIS section. (Where required, these feature test macros " "must be defined before including I header files.) In such cases, the " "required macro is described in the man page. For further information on " "feature test macros, see B(7)." msgstr "" #. type: Plain text #: build/C/man2/intro.2:98 build/C/man3/intro.3:92 msgid "" "Certain terms and abbreviations are used to indicate UNIX variants and " "standards to which calls in this section conform. See B(7)." msgstr "" #. type: SS #: build/C/man2/intro.2:99 #, no-wrap msgid "Calling directly" msgstr "" #. type: Plain text #: build/C/man2/intro.2:108 msgid "" "In most cases, it is unnecessary to invoke a system call directly, but there " "are times when the Standard C library does not implement a nice wrapper " "function for you. In this case, the programmer must manually invoke the " "system call using B(2). Historically, this was also possible using " "one of the _syscall macros described in B<_syscall>(2)." msgstr "" #. type: SS #: 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 #, no-wrap msgid "Authors and copyright conditions" msgstr "" #. type: Plain text #: 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:37 build/C/man7/intro.7:41 build/C/man8/intro.8:49 msgid "" "Look at the header of the manual page source for the author(s) and copyright " "conditions. Note that these can be different from page to page!" msgstr "" #. type: Plain text #: build/C/man2/intro.2:135 msgid "" "B<_syscall>(2), B(2), B(2), B(3), B(3), " "B(7), B(7), B(7), " "B(7), B(7), B(7), B(7), " "B(7), B(7), B(7), B(7), " "B(7), B(7), B(7), B