This is Info file libc.info, produced by Makeinfo version 1.68 from the
input file libc.texinfo.

INFO-DIR-SECTION GNU libraries
START-INFO-DIR-ENTRY
* Libc: (libc).                 C library.
END-INFO-DIR-ENTRY

   This file documents the GNU C library.

   This is Edition 0.08 DRAFT, last updated 11 Jan 1999, of `The GNU C
Library Reference Manual', for Version 2.1 Beta.

   Copyright (C) 1993, '94, '95, '96, '97, '98, '99 Free Software
Foundation, Inc.

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided also
that the section entitled "GNU Library General Public License" is
included exactly as in the original, and provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that the text of the translation of the section
entitled "GNU Library General Public License" must be approved for
accuracy by the Foundation.


Indirect:
libc.info-1: 1298
libc.info-2: 57716
libc.info-3: 102744
libc.info-4: 151031
libc.info-5: 199987
libc.info-6: 249885
libc.info-7: 292570
libc.info-8: 339685
libc.info-9: 378083
libc.info-10: 424707
libc.info-11: 468170
libc.info-12: 510459
libc.info-13: 559298
libc.info-14: 606417
libc.info-15: 654054
libc.info-16: 700668
libc.info-17: 749954
libc.info-18: 795174
libc.info-19: 844442
libc.info-20: 894301
libc.info-21: 943931
libc.info-22: 992406
libc.info-23: 1042327
libc.info-24: 1091100
libc.info-25: 1138699
libc.info-26: 1188193
libc.info-27: 1236367
libc.info-28: 1282222
libc.info-29: 1331563
libc.info-30: 1369948
libc.info-31: 1415030
libc.info-32: 1464010
libc.info-33: 1513412
libc.info-34: 1560356
libc.info-35: 1609931
libc.info-36: 1658487
libc.info-37: 1702420
libc.info-38: 1751949
libc.info-39: 1799959
libc.info-40: 1848721
libc.info-41: 1891618
libc.info-42: 1935641
libc.info-43: 1982315
libc.info-44: 2031118
libc.info-45: 2044235
libc.info-46: 2226560
libc.info-47: 2268723
libc.info-48: 2313198
libc.info-49: 2370290
libc.info-50: 2377699
libc.info-51: 2448049
libc.info-52: 2499519

Tag Table:
(Indirect)
Node: Top1298
Node: Introduction57716
Node: Getting Started59065
Node: Standards and Portability60525
Node: ISO C61973
Node: POSIX63490
Node: Berkeley Unix65231
Node: SVID65999
Node: XPG67000
Node: Using the Library67941
Node: Header Files68664
Node: Macro Definitions72616
Node: Reserved Names74961
Node: Feature Test Macros79644
Node: Roadmap to the Manual90385
Node: Error Reporting97601
Node: Checking for Errors98529
Node: Error Codes102744
Node: Error Messages121761
Node: Memory Allocation127458
Node: Memory Concepts128350
Node: Dynamic Allocation and C129620
Node: Unconstrained Allocation131704
Node: Basic Allocation133155
Node: Malloc Examples134859
Node: Freeing after Malloc136810
Node: Changing Block Size138626
Node: Allocating Cleared Space141229
Node: Efficiency and Malloc142237
Node: Aligned Memory Blocks143327
Node: Malloc Tunable Parameters144707
Node: Heap Consistency Checking146370
Node: Hooks for Malloc151031
Node: Statistics of Malloc155620
Node: Summary of Malloc157553
Node: Allocation Debugging159677
Node: Tracing malloc160821
Node: Using the Memory Debugger162677
Node: Tips for the Memory Debugger164557
Node: Interpreting the traces165892
Node: Obstacks169485
Node: Creating Obstacks171099
Node: Preparing for Obstacks172998
Node: Allocation in an Obstack175745
Node: Freeing Obstack Objects178153
Node: Obstack Functions179489
Node: Growing Objects181719
Node: Extra Fast Growing185966
Node: Status of an Obstack189585
Node: Obstacks Data Alignment191004
Node: Obstack Chunks192690
Node: Summary of Obstacks195046
Node: Variable Size Automatic198460
Node: Alloca Example199987
Node: Advantages of Alloca201104
Node: Disadvantages of Alloca202996
Node: GNU C Variable-Size Arrays203741
Node: Character Handling204899
Node: Classification of Characters206365
Node: Case Conversion210209
Node: Classification of Wide Characters212099
Node: Using Wide Char Classes219833
Node: Wide Character Case Conversion222191
Node: String and Array Utilities224957
Node: Representation of Strings226904
Node: String/Array Conventions229845
Node: String Length231677
Node: Copying and Concatenation233667
Node: String/Array Comparison249885
Node: Collation Functions257301
Node: Search Functions264297
Node: Finding Tokens in a String269743
Node: Encode Binary Data276544
Node: Argz and Envz Vectors281202
Node: Argz Functions281802
Node: Envz Functions288357
Node: Character Set Handling291407
Node: Extended Char Intro292570
Node: Charset Function Overview304723
Node: Restartable multibyte conversion305737
Node: Selecting the Conversion307849
Node: Keeping the state310265
Node: Converting a Character313494
Node: Converting Strings329632
Node: Multibyte Conversion Example339685
Node: Non-reentrant Conversion342671
Node: Non-reentrant Character Conversion344306
Node: Non-reentrant String Conversion349008
Node: Shift State352003
Node: Generic Charset Conversion354666
Node: Generic Conversion Interface357794
Node: iconv Examples367649
Node: Other iconv Implementations372750
Node: glibc iconv Implementation378083
Node: Locales417329
Node: Effects of Locale418929
Node: Choosing Locale420864
Node: Locale Categories422242
Node: Setting the Locale424707
Node: Standard Locales428999
Node: Locale Information430292
Node: The Lame Way to Locale Data432052
Node: General Numeric434018
Node: Currency Symbol436949
Node: Sign of Money Amount441568
Node: The Elegant and Fast Way443881
Node: Formatting Numbers455108
Node: Message Translation464826
Node: Message catalogs a la X/Open466872
Node: The catgets Functions468170
Node: The message catalog files477279
Node: The gencat program484235
Node: Common Usage487374
Node: The Uniforum approach494497
Node: Message catalogs with gettext495991
Node: Translation with gettext496689
Node: Locating gettext catalog503595
Node: Using gettextized software510459
Node: Helper programs for gettext518795
Node: Searching and Sorting520557
Node: Comparison Functions521472
Node: Array Search Function522690
Node: Array Sort Function526034
Node: Search/Sort Example528006
Node: Hash Search Function531485
Node: Tree Search Function539083
Node: Pattern Matching545866
Node: Wildcard Matching546668
Node: Globbing549546
Node: Calling Glob550410
Node: Flags for Globbing555768
Node: More Flags for Globbing559298
Node: Regular Expressions565254
Node: POSIX Regexp Compilation566238
Node: Flags for POSIX Regexps570353
Node: Matching POSIX Regexps571260
Node: Regexp Subexpressions573421
Node: Subexpression Complications575475
Node: Regexp Cleanup577838
Node: Word Expansion580164
Node: Expansion Stages581519
Node: Calling Wordexp583012
Node: Flags for Wordexp586975
Node: Wordexp Example588928
Node: Tilde Expansion590724
Node: Variable Substitution591796
Node: I/O Overview595911
Node: I/O Concepts597424
Node: Streams and File Descriptors598569
Node: File Position601660
Node: File Names603794
Node: Directories604680
Node: File Name Resolution606417
Node: File Name Errors609346
Node: File Name Portability610886
Node: I/O on Streams612878
Node: Streams614901
Node: Standard Streams616242
Node: Opening Streams617908
Node: Closing Streams625435
Node: Simple Output627972
Node: Character Input630308
Node: Line Input633417
Node: Unreading638405
Node: Unreading Idea639214
Node: How Unread640040
Node: Block Input/Output642538
Node: Formatted Output644767
Node: Formatted Output Basics646534
Node: Output Conversion Syntax649027
Node: Table of Output Conversions654054
Node: Integer Conversions656853
Node: Floating-Point Conversions662194
Node: Other Output Conversions667989
Node: Formatted Output Functions671149
Node: Dynamic Output674970
Node: Variable Arguments Output676607
Node: Parsing a Template String682141
Node: Example of Parsing685968
Node: Customizing Printf688256
Node: Registering New Conversions690175
Node: Conversion Specifier Options692166
Node: Defining the Output Handler695799
Node: Printf Extension Example698265
Node: Predefined Printf Handlers700668
Node: Formatted Input704313
Node: Formatted Input Basics705392
Node: Input Conversion Syntax708072
Node: Table of Input Conversions711435
Node: Numeric Input Conversions713732
Node: String Input Conversions717976
Node: Dynamic String Input722069
Node: Other Input Conversions723259
Node: Formatted Input Functions724911
Node: Variable Arguments Input726477
Node: EOF and Errors728112
Node: Binary Streams730332
Node: File Positioning732856
Node: Portable Positioning739969
Node: Stream Buffering745510
Node: Buffering Concepts747095
Node: Flushing Buffers748458
Node: Controlling Buffering749954
Node: Other Kinds of Streams754389
Node: String Streams755678
Node: Obstack Streams759816
Node: Custom Streams761867
Node: Streams and Cookies762520
Node: Hook Functions765590
Node: Formatted Messages767976
Node: Printing Formatted Messages768641
Node: Adding Severity Classes775085
Node: Example776678
Node: Low-Level I/O779903
Node: Opening and Closing Files782977
Node: Truncating Files790958
Node: I/O Primitives795174
Node: File Position Primitive809291
Node: Descriptors and Streams816597
Node: Stream/Descriptor Precautions819015
Node: Linked Channels820221
Node: Independent Channels821449
Node: Cleaning Streams823352
Node: Scatter-Gather825555
Node: Memory-mapped I/O828144
Node: Waiting for I/O836699
Node: Synchronizing I/O844442
Node: Asynchronous I/O847914
Node: Asynchronous Reads/Writes855978
Node: Status of AIO Operations868437
Node: Synchronizing AIO Operations872002
Node: Cancel AIO Operations878393
Node: Configuration of AIO881854
Node: Control Operations883950
Node: Duplicating Descriptors886639
Node: Descriptor Flags890899
Node: File Status Flags894301
Node: Access Modes895755
Node: Open-time Flags898044
Node: Operating Modes902761
Node: Getting File Status Flags905527
Node: File Locks908134
Node: Interrupt Input917031
Node: IOCTLs919463
Node: File System Interface921539
Node: Working Directory923068
Node: Accessing Directories926791
Node: Directory Entries928216
Node: Opening a Directory931058
Node: Reading/Closing Directory932750
Node: Simple Directory Lister935803
Node: Random Access Directory936822
Node: Scanning Directory Content938324
Node: Simple Directory Lister Mark II942810
Node: Working on Directory Trees943931
Node: Hard Links955776
Node: Symbolic Links958570
Node: Deleting Files962336
Node: Renaming Files965266
Node: Creating Directories968893
Node: File Attributes970641
Node: Attribute Meanings972191
Node: Reading Attributes981412
Node: Testing File Type985496
Node: File Owner988713
Node: Permission Bits992406
Node: Access Permission997723
Node: Setting Permissions998873
Node: Testing File Access1004120
Node: File Times1007763
Node: File Size1012294
Node: Making Special Files1016433
Node: Temporary Files1018110
Node: Pipes and FIFOs1025997
Node: Creating a Pipe1027580
Node: Pipe to a Subprocess1030733
Node: FIFO Special Files1033573
Node: Pipe Atomicity1035146
Node: Sockets1036030
Node: Socket Concepts1038077
Node: Communication Styles1042327
Node: Socket Addresses1044179
Node: Address Formats1046218
Node: Setting Address1049186
Node: Reading Address1050909
Node: Interface Naming1052670
Node: Local Namespace1055078
Node: Local Namespace Concepts1055738
Node: Local Namespace Details1057345
Node: Local Socket Example1059292
Node: Internet Namespace1060717
Node: Internet Address Formats1062949
Node: Host Addresses1065104
Node: Abstract Host Addresses1066286
Node: Host Address Data Type1070811
Node: Host Address Functions1073935
Node: Host Names1078298
Node: Ports1083918
Node: Services Database1085956
Node: Byte Order1088780
Node: Protocols Database1091100
Node: Inet Example1094641
Node: Misc Namespaces1096651
Node: Open/Close Sockets1097401
Node: Creating a Socket1097899
Node: Closing a Socket1099575
Node: Socket Pairs1101105
Node: Connections1103117
Node: Connecting1104211
Node: Listening1107050
Node: Accepting Connections1109136
Node: Who is Connected1112275
Node: Transferring Data1113374
Node: Sending Data1114484
Node: Receiving Data1117012
Node: Socket Data Options1118756
Node: Byte Stream Example1119619
Node: Server Example1121676
Node: Out-of-Band Data1125693
Node: Datagrams1131628
Node: Sending Datagrams1132658
Node: Receiving Datagrams1134598
Node: Datagram Example1136684
Node: Example Receiver1138699
Node: Inetd1141267
Node: Inetd Servers1142075
Node: Configuring Inetd1143318
Node: Socket Options1145992
Node: Socket Option Functions1146700
Node: Socket-Level Options1148265
Node: Networks Database1151894
Node: Low-Level Terminal Interface1154779
Node: Is It a Terminal1156177
Node: I/O Queues1158080
Node: Canonical or Not1160038
Node: Terminal Modes1161885
Node: Mode Data Types1163161
Node: Mode Functions1164989
Node: Setting Modes1168921
Node: Input Modes1170909
Node: Output Modes1176176
Node: Control Modes1177789
Node: Local Modes1181879
Node: Line Speed1188193
Node: Special Characters1192370
Node: Editing Characters1194284
Node: Signal Characters1198625
Node: Start/Stop Characters1201494
Node: Other Special1203365
Node: Noncanonical Input1205179
Node: Line Control1209992
Node: Noncanon Example1214704
Node: Pseudo-Terminals1216924
Node: Allocation1217836
Node: Pseudo-Terminal Pairs1222627
Node: Mathematics1225146
Node: Mathematical Constants1226819
Node: Trig Functions1228827
Node: Inverse Trig Functions1232563
Node: Exponents and Logarithms1236367
Node: Hyperbolic Functions1244557
Node: Special Functions1248597
Node: Pseudo-Random Numbers1253106
Node: ISO Random1255337
Node: BSD Random1257269
Node: SVID Random1259450
Node: FP Function Optimizations1272624
Node: Arithmetic1274395
Node: Floating Point Numbers1275609
Node: Floating Point Classes1277326
Node: Floating Point Errors1281725
Node: FP Exceptions1282222
Node: Infinity and NaN1286583
Node: Status bit operations1289658
Node: Math Error Reporting1292920
Node: Rounding1295246
Node: Control Functions1298835
Node: Arithmetic Functions1302065
Node: Absolute Value1302933
Node: Normalization Functions1304925
Node: Rounding Functions1308999
Node: Remainder Functions1313244
Node: FP Bit Twiddling1315388
Node: FP Comparison Functions1318501
Node: Misc FP Arithmetic1321215
Node: Complex Numbers1323957
Node: Operations on Complex1325663
Node: Integer Division1328006
Node: Parsing of Numbers1331563
Node: Parsing of Integers1332250
Node: Parsing of Floats1339169
Node: System V Number Conversion1342836
Node: Date and Time1347570
Node: Processor Time1348811
Node: Basic CPU Time1349569
Node: Detailed CPU Time1351586
Node: Calendar Time1354051
Node: Simple Calendar Time1355769
Node: High-Resolution Calendar1357526
Node: Broken-down Time1363246
Node: Formatting Date and Time1369948
Node: Parsing Date and Time1383390
Node: Low-Level Time String Parsing1384225
Node: General Time String Parsing1397585
Node: TZ Variable1405017
Node: Time Zone Functions1411070
Node: Time Functions Example1413915
Node: Precision Time1415030
Node: Setting an Alarm1421497
Node: Sleeping1426725
Node: Resource Usage1430969
Node: Limits on Resources1434480
Node: Priority1441143
Node: Non-Local Exits1444404
Node: Non-Local Intro1445023
Node: Non-Local Details1448750
Node: Non-Local Exits and Signals1451826
Node: Signal Handling1453297
Node: Concepts of Signals1455332
Node: Kinds of Signals1455896
Node: Signal Generation1457293
Node: Delivery of Signal1459560
Node: Standard Signals1462417
Node: Program Error Signals1464010
Node: Termination Signals1471468
Node: Alarm Signals1475306
Node: Asynchronous I/O Signals1476546
Node: Job Control Signals1477737
Node: Operation Error Signals1482340
Node: Miscellaneous Signals1484279
Node: Signal Messages1485974
Node: Signal Actions1487860
Node: Basic Signal Handling1488805
Node: Advanced Signal Handling1494874
Node: Signal and Sigaction1497830
Node: Sigaction Function Example1499582
Node: Flags for Sigaction1501898
Node: Initial Signal Actions1504276
Node: Defining Handlers1505659
Node: Handler Returns1507844
Node: Termination in Handler1509894
Node: Longjmp in Handler1511317
Node: Signals in Handler1513412
Node: Merged Signals1515532
Node: Nonreentrancy1521242
Node: Atomic Data Access1526660
Node: Non-atomic Example1527696
Node: Atomic Types1529467
Node: Atomic Usage1530475
Node: Interrupted Primitives1531945
Node: Generating Signals1535245
Node: Signaling Yourself1535838
Node: Signaling Another Process1537816
Node: Permission for kill1541192
Node: Kill Example1542988
Node: Blocking Signals1545332
Node: Why Block1547104
Node: Signal Sets1548641
Node: Process Signal Mask1551667
Node: Testing for Delivery1554675
Node: Blocking for Handler1555925
Node: Checking for Pending Signals1558344
Node: Remembering a Signal1560356
Node: Waiting for a Signal1563905
Node: Using Pause1564450
Node: Pause Problems1566074
Node: Sigsuspend1567798
Node: Signal Stack1570508
Node: BSD Signal Handling1575845
Node: BSD Handler1577119
Node: Blocking in BSD1579553
Node: Process Startup1581007
Node: Program Arguments1582042
Node: Argument Syntax1584040
Node: Parsing Program Arguments1586717
Node: Getopt1587822
Node: Using Getopt1588460
Node: Example of Getopt1591841
Node: Getopt Long Options1594565
Node: Getopt Long Option Example1598667
Node: Argp1601538
Node: Argp Global Variables1604794
Node: Argp Parsers1606814
Node: Argp Option Vectors1609931
Node: Argp Option Flags1613168
Node: Argp Parser Functions1615186
Node: Argp Special Keys1617889
Node: Argp Helper Functions1622980
Node: Argp Parsing State1626041
Node: Argp Children1629562
Node: Argp Flags1631623
Node: Argp Help Filtering1633940
Node: Argp Help Filter Keys1635157
Node: Argp Help1636031
Node: Argp Help Flags1637220
Node: Argp Examples1639516
Node: Argp Example 11639986
Node: Argp Example 21640790
Node: Argp Example 31643735
Node: Argp Example 41650783
Node: Argp User Customization1658487
Node: Suboptions1660100
Node: Suboptions Example1662042
Node: Environment Variables1664145
Node: Environment Access1666018
Node: Standard Environment1670259
Node: Program Termination1674435
Node: Normal Termination1675654
Node: Exit Status1676880
Node: Cleanups on Exit1679901
Node: Aborting a Program1681718
Node: Termination Internals1682617
Node: Processes1684738
Node: Running a Command1686761
Node: Process Creation Concepts1688828
Node: Process Identification1690838
Node: Creating a Process1691762
Node: Executing a File1695385
Node: Process Completion1702420
Node: Process Completion Status1708686
Node: BSD Wait Functions1710330
Node: Process Creation Example1712198
Node: Job Control1714448
Node: Concepts of Job Control1715728
Node: Job Control is Optional1719085
Node: Controlling Terminal1720135
Node: Access to the Terminal1721042
Node: Orphaned Process Groups1722646
Node: Implementing a Shell1723638
Node: Data Structures1724521
Node: Initializing the Shell1727164
Node: Launching Jobs1730900
Node: Foreground and Background1738353
Node: Stopped and Terminated Jobs1741462
Node: Continuing Stopped Jobs1746644
Node: Missing Pieces1748271
Node: Functions for Job Control1749895
Node: Identifying the Terminal1750375
Node: Process Group Functions1751949
Node: Terminal Access Functions1755501
Node: Name Service Switch1758975
Node: NSS Basics1760306
Node: NSS Configuration File1761902
Node: Services in the NSS configuration1763600
Node: Actions in the NSS configuration1764881
Node: Notes on NSS Configuration File1768042
Node: NSS Module Internals1769919
Node: NSS Module Names1770615
Node: NSS Modules Interface1772990
Node: Extending NSS1777789
Node: Adding another Service to NSS1778720
Node: NSS Module Function Internals1780946
Node: Users and Groups1785853
Node: User and Group IDs1788465
Node: Process Persona1789373
Node: Why Change Persona1791058
Node: How Change Persona1792939
Node: Reading Persona1794826
Node: Setting User ID1797096
Node: Setting Groups1799959
Node: Enable/Disable Setuid1804061
Node: Setuid Program Example1806095
Node: Tips for Setuid1809549
Node: Who Logged In1812066
Node: User Accounting Database1814447
Node: Manipulating the Database1815631
Node: XPG Functions1827957
Node: Logging In and Out1831620
Node: User Database1833736
Node: User Data Structure1834398
Node: Lookup User1835655
Node: Scanning All Users1838120
Node: Writing a User Entry1841074
Node: Group Database1841973
Node: Group Data Structure1842549
Node: Lookup Group1843312
Node: Scanning All Groups1845691
Node: Database Example1848721
Node: Netgroup Database1850918
Node: Netgroup Data1851329
Node: Lookup Netgroup1852846
Node: Netgroup Membership1856258
Node: System Information1857588
Node: Host Identification1858252
Node: Hardware/Software Type ID1861471
Node: Filesystem handling1864198
Node: System Configuration1879929
Node: General Limits1881502
Node: System Options1885141
Node: Version Supported1888473
Node: Sysconf1890310
Node: Sysconf Definition1890946
Node: Constants for Sysconf1891618
Node: Examples of Sysconf1904138
Node: Minimums1905131
Node: Limits for Files1907842
Node: Options for Files1910844
Node: File Minimums1913133
Node: Pathconf1914912
Node: Utility Limits1917866
Node: Utility Minimums1919796
Node: String Parameters1921548
Node: Cryptographic Functions1925456
Node: Legal Problems1927578
Node: getpass1929723
Node: crypt1930627
Node: DES Encryption1935641
Node: POSIX Threads1942054
Node: Basic Thread Operations1943431
Node: Thread Attributes1948017
Node: Cancellation1953311
Node: Cleanup Handlers1957363
Node: Mutexes1962501
Node: Condition Variables1971056
Node: POSIX Semaphores1978433
Node: Thread-Specific Data1982315
Node: Threads and Signal Handling1986948
Node: Miscellaneous Thread Functions1990652
Node: Language Features1998011
Node: Consistency Checking1998935
Node: Variadic Functions2003573
Node: Why Variadic2004645
Node: How Variadic2006610
Node: Variadic Prototypes2007899
Node: Receiving Arguments2009057
Node: How Many Arguments2011771
Node: Calling Variadics2013442
Node: Argument Macros2015579
Node: Variadic Example2018349
Node: Old Varargs2019501
Node: Null Pointer Constant2021176
Node: Important Data Types2022261
Node: Data Type Measurements2024827
Node: Width of Type2025684
Node: Range of Type2026590
Node: Floating Type Macros2029858
Node: Floating Point Concepts2031118
Node: Floating Point Parameters2034853
Node: IEEE Floating Point2041787
Node: Structure Measurement2043540
Node: Library Summary2044235
Node: Installation2226560
Node: Configuring and compiling2228567
Node: Running make install2236273
Node: Tools for Compilation2238929
Node: Supported Configurations2242251
Node: Linux2244046
Node: Reporting Bugs2246189
Node: Maintenance2249034
Node: Source Layout2249417
Node: Porting2253350
Node: Hierarchy Conventions2261651
Node: Porting to Unix2266708
Node: Contributors2268723
Node: Copying2286301
Node: Concept Index2313198
Node: Type Index2370290
Node: Function Index2377699
Node: Variable Index2448049
Node: File Index2499519

End Tag Table
