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: 249921
libc.info-7: 292606
libc.info-8: 339721
libc.info-9: 378119
libc.info-10: 424741
libc.info-11: 468204
libc.info-12: 510493
libc.info-13: 559332
libc.info-14: 606451
libc.info-15: 654088
libc.info-16: 701144
libc.info-17: 750430
libc.info-18: 795650
libc.info-19: 844918
libc.info-20: 894777
libc.info-21: 944407
libc.info-22: 992882
libc.info-23: 1042803
libc.info-24: 1090005
libc.info-25: 1138647
libc.info-26: 1185928
libc.info-27: 1232876
libc.info-28: 1281524
libc.info-29: 1329861
libc.info-30: 1374966
libc.info-31: 1420048
libc.info-32: 1469028
libc.info-33: 1518430
libc.info-34: 1565374
libc.info-35: 1614949
libc.info-36: 1663505
libc.info-37: 1707438
libc.info-38: 1756967
libc.info-39: 1806436
libc.info-40: 1855417
libc.info-41: 1898314
libc.info-42: 1942337
libc.info-43: 1989010
libc.info-44: 2037813
libc.info-45: 2050944
libc.info-46: 2234131
libc.info-47: 2277750
libc.info-48: 2322225
libc.info-49: 2379317
libc.info-50: 2386726
libc.info-51: 2457367
libc.info-52: 2508837

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 Comparison249921
Node: Collation Functions257337
Node: Search Functions264333
Node: Finding Tokens in a String269779
Node: Encode Binary Data276580
Node: Argz and Envz Vectors281238
Node: Argz Functions281838
Node: Envz Functions288393
Node: Character Set Handling291443
Node: Extended Char Intro292606
Node: Charset Function Overview304759
Node: Restartable multibyte conversion305773
Node: Selecting the Conversion307885
Node: Keeping the state310301
Node: Converting a Character313530
Node: Converting Strings329668
Node: Multibyte Conversion Example339721
Node: Non-reentrant Conversion342707
Node: Non-reentrant Character Conversion344342
Node: Non-reentrant String Conversion349044
Node: Shift State352039
Node: Generic Charset Conversion354702
Node: Generic Conversion Interface357830
Node: iconv Examples367685
Node: Other iconv Implementations372786
Node: glibc iconv Implementation378119
Node: Locales417363
Node: Effects of Locale418963
Node: Choosing Locale420898
Node: Locale Categories422276
Node: Setting the Locale424741
Node: Standard Locales429033
Node: Locale Information430326
Node: The Lame Way to Locale Data432086
Node: General Numeric434052
Node: Currency Symbol436983
Node: Sign of Money Amount441602
Node: The Elegant and Fast Way443915
Node: Formatting Numbers455142
Node: Message Translation464860
Node: Message catalogs a la X/Open466906
Node: The catgets Functions468204
Node: The message catalog files477313
Node: The gencat program484269
Node: Common Usage487408
Node: The Uniforum approach494531
Node: Message catalogs with gettext496025
Node: Translation with gettext496723
Node: Locating gettext catalog503629
Node: Using gettextized software510493
Node: Helper programs for gettext518829
Node: Searching and Sorting520591
Node: Comparison Functions521506
Node: Array Search Function522724
Node: Array Sort Function526068
Node: Search/Sort Example528040
Node: Hash Search Function531519
Node: Tree Search Function539117
Node: Pattern Matching545900
Node: Wildcard Matching546702
Node: Globbing549580
Node: Calling Glob550444
Node: Flags for Globbing555802
Node: More Flags for Globbing559332
Node: Regular Expressions565288
Node: POSIX Regexp Compilation566272
Node: Flags for POSIX Regexps570387
Node: Matching POSIX Regexps571294
Node: Regexp Subexpressions573455
Node: Subexpression Complications575509
Node: Regexp Cleanup577872
Node: Word Expansion580198
Node: Expansion Stages581553
Node: Calling Wordexp583046
Node: Flags for Wordexp587009
Node: Wordexp Example588962
Node: Tilde Expansion590758
Node: Variable Substitution591830
Node: I/O Overview595945
Node: I/O Concepts597458
Node: Streams and File Descriptors598603
Node: File Position601694
Node: File Names603828
Node: Directories604714
Node: File Name Resolution606451
Node: File Name Errors609380
Node: File Name Portability610920
Node: I/O on Streams612912
Node: Streams614935
Node: Standard Streams616276
Node: Opening Streams617942
Node: Closing Streams625469
Node: Simple Output628006
Node: Character Input630342
Node: Line Input633451
Node: Unreading638439
Node: Unreading Idea639248
Node: How Unread640074
Node: Block Input/Output642572
Node: Formatted Output644801
Node: Formatted Output Basics646568
Node: Output Conversion Syntax649061
Node: Table of Output Conversions654088
Node: Integer Conversions656887
Node: Floating-Point Conversions662228
Node: Other Output Conversions668023
Node: Formatted Output Functions671183
Node: Dynamic Output675325
Node: Variable Arguments Output676962
Node: Parsing a Template String682496
Node: Example of Parsing686323
Node: Customizing Printf688611
Node: Registering New Conversions690530
Node: Conversion Specifier Options692521
Node: Defining the Output Handler696274
Node: Printf Extension Example698741
Node: Predefined Printf Handlers701144
Node: Formatted Input704789
Node: Formatted Input Basics705868
Node: Input Conversion Syntax708548
Node: Table of Input Conversions711911
Node: Numeric Input Conversions714208
Node: String Input Conversions718452
Node: Dynamic String Input722545
Node: Other Input Conversions723735
Node: Formatted Input Functions725387
Node: Variable Arguments Input726953
Node: EOF and Errors728588
Node: Binary Streams730808
Node: File Positioning733332
Node: Portable Positioning740445
Node: Stream Buffering745986
Node: Buffering Concepts747571
Node: Flushing Buffers748934
Node: Controlling Buffering750430
Node: Other Kinds of Streams754865
Node: String Streams756154
Node: Obstack Streams760292
Node: Custom Streams762343
Node: Streams and Cookies762996
Node: Hook Functions766066
Node: Formatted Messages768452
Node: Printing Formatted Messages769117
Node: Adding Severity Classes775561
Node: Example777154
Node: Low-Level I/O780379
Node: Opening and Closing Files783453
Node: Truncating Files791434
Node: I/O Primitives795650
Node: File Position Primitive809767
Node: Descriptors and Streams817073
Node: Stream/Descriptor Precautions819491
Node: Linked Channels820697
Node: Independent Channels821925
Node: Cleaning Streams823828
Node: Scatter-Gather826031
Node: Memory-mapped I/O828620
Node: Waiting for I/O837175
Node: Synchronizing I/O844918
Node: Asynchronous I/O848390
Node: Asynchronous Reads/Writes856454
Node: Status of AIO Operations868913
Node: Synchronizing AIO Operations872478
Node: Cancel AIO Operations878869
Node: Configuration of AIO882330
Node: Control Operations884426
Node: Duplicating Descriptors887115
Node: Descriptor Flags891375
Node: File Status Flags894777
Node: Access Modes896231
Node: Open-time Flags898520
Node: Operating Modes903237
Node: Getting File Status Flags906003
Node: File Locks908610
Node: Interrupt Input917507
Node: IOCTLs919939
Node: File System Interface922015
Node: Working Directory923544
Node: Accessing Directories927267
Node: Directory Entries928692
Node: Opening a Directory931534
Node: Reading/Closing Directory933226
Node: Simple Directory Lister936279
Node: Random Access Directory937298
Node: Scanning Directory Content938800
Node: Simple Directory Lister Mark II943286
Node: Working on Directory Trees944407
Node: Hard Links956252
Node: Symbolic Links959046
Node: Deleting Files962812
Node: Renaming Files965742
Node: Creating Directories969369
Node: File Attributes971117
Node: Attribute Meanings972667
Node: Reading Attributes981888
Node: Testing File Type985972
Node: File Owner989189
Node: Permission Bits992882
Node: Access Permission998199
Node: Setting Permissions999349
Node: Testing File Access1004596
Node: File Times1008239
Node: File Size1012770
Node: Making Special Files1016909
Node: Temporary Files1018586
Node: Pipes and FIFOs1026473
Node: Creating a Pipe1028056
Node: Pipe to a Subprocess1031209
Node: FIFO Special Files1034049
Node: Pipe Atomicity1035622
Node: Sockets1036506
Node: Socket Concepts1038553
Node: Communication Styles1042803
Node: Socket Addresses1044655
Node: Address Formats1046694
Node: Setting Address1049662
Node: Reading Address1051385
Node: Interface Naming1053146
Node: Local Namespace1055554
Node: Local Namespace Concepts1056214
Node: Local Namespace Details1057821
Node: Local Socket Example1059768
Node: Internet Namespace1061193
Node: Internet Address Formats1063425
Node: Host Addresses1065580
Node: Abstract Host Addresses1066762
Node: Host Address Data Type1071287
Node: Host Address Functions1074411
Node: Host Names1078774
Node: Ports1087967
Node: Services Database1090005
Node: Byte Order1092829
Node: Protocols Database1095149
Node: Inet Example1098690
Node: Misc Namespaces1100700
Node: Open/Close Sockets1101450
Node: Creating a Socket1101948
Node: Closing a Socket1103624
Node: Socket Pairs1105154
Node: Connections1107166
Node: Connecting1108260
Node: Listening1111099
Node: Accepting Connections1113185
Node: Who is Connected1116324
Node: Transferring Data1117423
Node: Sending Data1118533
Node: Receiving Data1121061
Node: Socket Data Options1122805
Node: Byte Stream Example1123668
Node: Server Example1125725
Node: Out-of-Band Data1129742
Node: Datagrams1135677
Node: Sending Datagrams1136707
Node: Receiving Datagrams1138647
Node: Datagram Example1140733
Node: Example Receiver1142748
Node: Inetd1145316
Node: Inetd Servers1146124
Node: Configuring Inetd1147367
Node: Socket Options1150041
Node: Socket Option Functions1150749
Node: Socket-Level Options1152314
Node: Networks Database1155943
Node: Low-Level Terminal Interface1158828
Node: Is It a Terminal1160226
Node: I/O Queues1162129
Node: Canonical or Not1164087
Node: Terminal Modes1165934
Node: Mode Data Types1167210
Node: Mode Functions1169038
Node: Setting Modes1172970
Node: Input Modes1174958
Node: Output Modes1180225
Node: Control Modes1181838
Node: Local Modes1185928
Node: Line Speed1192242
Node: Special Characters1196419
Node: Editing Characters1198333
Node: Signal Characters1202674
Node: Start/Stop Characters1205543
Node: Other Special1207414
Node: Noncanonical Input1209228
Node: Line Control1214041
Node: Noncanon Example1218753
Node: Pseudo-Terminals1220973
Node: Allocation1221885
Node: Pseudo-Terminal Pairs1226676
Node: Mathematics1229195
Node: Mathematical Constants1230868
Node: Trig Functions1232876
Node: Inverse Trig Functions1236612
Node: Exponents and Logarithms1240416
Node: Hyperbolic Functions1248606
Node: Special Functions1252646
Node: Pseudo-Random Numbers1257155
Node: ISO Random1259386
Node: BSD Random1261318
Node: SVID Random1263499
Node: FP Function Optimizations1276673
Node: Arithmetic1278593
Node: Floating Point Numbers1279807
Node: Floating Point Classes1281524
Node: Floating Point Errors1285923
Node: FP Exceptions1286420
Node: Infinity and NaN1290781
Node: Status bit operations1293856
Node: Math Error Reporting1297118
Node: Rounding1299444
Node: Control Functions1303033
Node: Arithmetic Functions1306263
Node: Absolute Value1307131
Node: Normalization Functions1309123
Node: Rounding Functions1313197
Node: Remainder Functions1317442
Node: FP Bit Twiddling1319586
Node: FP Comparison Functions1322699
Node: Misc FP Arithmetic1325413
Node: Complex Numbers1328155
Node: Operations on Complex1329861
Node: Integer Division1332204
Node: Parsing of Numbers1335761
Node: Parsing of Integers1336448
Node: Parsing of Floats1343367
Node: System V Number Conversion1347034
Node: Date and Time1352350
Node: Processor Time1353591
Node: Basic CPU Time1354349
Node: Detailed CPU Time1356604
Node: Calendar Time1359069
Node: Simple Calendar Time1360787
Node: High-Resolution Calendar1362544
Node: Broken-down Time1368264
Node: Formatting Date and Time1374966
Node: Parsing Date and Time1388408
Node: Low-Level Time String Parsing1389243
Node: General Time String Parsing1402603
Node: TZ Variable1410035
Node: Time Zone Functions1416088
Node: Time Functions Example1418933
Node: Precision Time1420048
Node: Setting an Alarm1426515
Node: Sleeping1431743
Node: Resource Usage1435987
Node: Limits on Resources1439498
Node: Priority1446161
Node: Non-Local Exits1449422
Node: Non-Local Intro1450041
Node: Non-Local Details1453768
Node: Non-Local Exits and Signals1456844
Node: Signal Handling1458315
Node: Concepts of Signals1460350
Node: Kinds of Signals1460914
Node: Signal Generation1462311
Node: Delivery of Signal1464578
Node: Standard Signals1467435
Node: Program Error Signals1469028
Node: Termination Signals1476486
Node: Alarm Signals1480324
Node: Asynchronous I/O Signals1481564
Node: Job Control Signals1482755
Node: Operation Error Signals1487358
Node: Miscellaneous Signals1489297
Node: Signal Messages1490992
Node: Signal Actions1492878
Node: Basic Signal Handling1493823
Node: Advanced Signal Handling1499892
Node: Signal and Sigaction1502848
Node: Sigaction Function Example1504600
Node: Flags for Sigaction1506916
Node: Initial Signal Actions1509294
Node: Defining Handlers1510677
Node: Handler Returns1512862
Node: Termination in Handler1514912
Node: Longjmp in Handler1516335
Node: Signals in Handler1518430
Node: Merged Signals1520550
Node: Nonreentrancy1526260
Node: Atomic Data Access1531678
Node: Non-atomic Example1532714
Node: Atomic Types1534485
Node: Atomic Usage1535493
Node: Interrupted Primitives1536963
Node: Generating Signals1540263
Node: Signaling Yourself1540856
Node: Signaling Another Process1542834
Node: Permission for kill1546210
Node: Kill Example1548006
Node: Blocking Signals1550350
Node: Why Block1552122
Node: Signal Sets1553659
Node: Process Signal Mask1556685
Node: Testing for Delivery1559693
Node: Blocking for Handler1560943
Node: Checking for Pending Signals1563362
Node: Remembering a Signal1565374
Node: Waiting for a Signal1568923
Node: Using Pause1569468
Node: Pause Problems1571092
Node: Sigsuspend1572816
Node: Signal Stack1575526
Node: BSD Signal Handling1580863
Node: BSD Handler1582137
Node: Blocking in BSD1584571
Node: Process Startup1586025
Node: Program Arguments1587060
Node: Argument Syntax1589058
Node: Parsing Program Arguments1591735
Node: Getopt1592840
Node: Using Getopt1593478
Node: Example of Getopt1596859
Node: Getopt Long Options1599583
Node: Getopt Long Option Example1603685
Node: Argp1606556
Node: Argp Global Variables1609812
Node: Argp Parsers1611832
Node: Argp Option Vectors1614949
Node: Argp Option Flags1618186
Node: Argp Parser Functions1620204
Node: Argp Special Keys1622907
Node: Argp Helper Functions1627998
Node: Argp Parsing State1631059
Node: Argp Children1634580
Node: Argp Flags1636641
Node: Argp Help Filtering1638958
Node: Argp Help Filter Keys1640175
Node: Argp Help1641049
Node: Argp Help Flags1642238
Node: Argp Examples1644534
Node: Argp Example 11645004
Node: Argp Example 21645808
Node: Argp Example 31648753
Node: Argp Example 41655801
Node: Argp User Customization1663505
Node: Suboptions1665118
Node: Suboptions Example1667060
Node: Environment Variables1669163
Node: Environment Access1671036
Node: Standard Environment1675277
Node: Program Termination1679453
Node: Normal Termination1680672
Node: Exit Status1681898
Node: Cleanups on Exit1684919
Node: Aborting a Program1686736
Node: Termination Internals1687635
Node: Processes1689756
Node: Running a Command1691779
Node: Process Creation Concepts1693846
Node: Process Identification1695856
Node: Creating a Process1696780
Node: Executing a File1700403
Node: Process Completion1707438
Node: Process Completion Status1713704
Node: BSD Wait Functions1715348
Node: Process Creation Example1717216
Node: Job Control1719466
Node: Concepts of Job Control1720746
Node: Job Control is Optional1724103
Node: Controlling Terminal1725153
Node: Access to the Terminal1726060
Node: Orphaned Process Groups1727664
Node: Implementing a Shell1728656
Node: Data Structures1729539
Node: Initializing the Shell1732182
Node: Launching Jobs1735918
Node: Foreground and Background1743371
Node: Stopped and Terminated Jobs1746480
Node: Continuing Stopped Jobs1751662
Node: Missing Pieces1753289
Node: Functions for Job Control1754913
Node: Identifying the Terminal1755393
Node: Process Group Functions1756967
Node: Terminal Access Functions1761978
Node: Name Service Switch1765452
Node: NSS Basics1766783
Node: NSS Configuration File1768379
Node: Services in the NSS configuration1770077
Node: Actions in the NSS configuration1771358
Node: Notes on NSS Configuration File1774519
Node: NSS Module Internals1776396
Node: NSS Module Names1777092
Node: NSS Modules Interface1779467
Node: Extending NSS1784266
Node: Adding another Service to NSS1785197
Node: NSS Module Function Internals1787423
Node: Users and Groups1792330
Node: User and Group IDs1794942
Node: Process Persona1795850
Node: Why Change Persona1797535
Node: How Change Persona1799416
Node: Reading Persona1801303
Node: Setting User ID1803573
Node: Setting Groups1806436
Node: Enable/Disable Setuid1810538
Node: Setuid Program Example1812572
Node: Tips for Setuid1816026
Node: Who Logged In1818543
Node: User Accounting Database1820924
Node: Manipulating the Database1822108
Node: XPG Functions1834434
Node: Logging In and Out1838097
Node: User Database1840213
Node: User Data Structure1840875
Node: Lookup User1842132
Node: Scanning All Users1844695
Node: Writing a User Entry1847649
Node: Group Database1848548
Node: Group Data Structure1849124
Node: Lookup Group1849887
Node: Scanning All Groups1852387
Node: Database Example1855417
Node: Netgroup Database1857614
Node: Netgroup Data1858025
Node: Lookup Netgroup1859542
Node: Netgroup Membership1862954
Node: System Information1864284
Node: Host Identification1864948
Node: Hardware/Software Type ID1868167
Node: Filesystem handling1870894
Node: System Configuration1886625
Node: General Limits1888198
Node: System Options1891837
Node: Version Supported1895169
Node: Sysconf1897006
Node: Sysconf Definition1897642
Node: Constants for Sysconf1898314
Node: Examples of Sysconf1910834
Node: Minimums1911827
Node: Limits for Files1914538
Node: Options for Files1917540
Node: File Minimums1919829
Node: Pathconf1921608
Node: Utility Limits1924562
Node: Utility Minimums1926492
Node: String Parameters1928244
Node: Cryptographic Functions1932152
Node: Legal Problems1934274
Node: getpass1936419
Node: crypt1937323
Node: DES Encryption1942337
Node: POSIX Threads1948750
Node: Basic Thread Operations1950127
Node: Thread Attributes1954713
Node: Cancellation1960007
Node: Cleanup Handlers1964059
Node: Mutexes1969197
Node: Condition Variables1977752
Node: POSIX Semaphores1985128
Node: Thread-Specific Data1989010
Node: Threads and Signal Handling1993643
Node: Miscellaneous Thread Functions1997347
Node: Language Features2004706
Node: Consistency Checking2005630
Node: Variadic Functions2010268
Node: Why Variadic2011340
Node: How Variadic2013305
Node: Variadic Prototypes2014594
Node: Receiving Arguments2015752
Node: How Many Arguments2018466
Node: Calling Variadics2020137
Node: Argument Macros2022274
Node: Variadic Example2025044
Node: Old Varargs2026196
Node: Null Pointer Constant2027871
Node: Important Data Types2028956
Node: Data Type Measurements2031522
Node: Width of Type2032379
Node: Range of Type2033285
Node: Floating Type Macros2036553
Node: Floating Point Concepts2037813
Node: Floating Point Parameters2041548
Node: IEEE Floating Point2048496
Node: Structure Measurement2050249
Node: Library Summary2050944
Node: Installation2234131
Node: Configuring and compiling2236199
Node: Running make install2243896
Node: Tools for Compilation2247584
Node: Supported Configurations2251078
Node: Linux2253073
Node: Reporting Bugs2255216
Node: Maintenance2258061
Node: Source Layout2258444
Node: Porting2262377
Node: Hierarchy Conventions2270678
Node: Porting to Unix2275735
Node: Contributors2277750
Node: Copying2295328
Node: Concept Index2322225
Node: Type Index2379317
Node: Function Index2386726
Node: Variable Index2457367
Node: File Index2508837

End Tag Table
