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

   This file documents the GNU C library.

   This is Edition 0.07 DRAFT, last updated 4 Oct 1996, of `The GNU C
Library Reference Manual', for Version 2.00 Beta.

   Copyright (C) 1993, '94, '95, '96 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: 1168
libc.info-2: 50130
libc.info-3: 97453
libc.info-4: 144446
libc.info-5: 193430
libc.info-6: 237806
libc.info-7: 285359
libc.info-8: 334722
libc.info-9: 379683
libc.info-10: 428358
libc.info-11: 477649
libc.info-12: 526626
libc.info-13: 576206
libc.info-14: 625640
libc.info-15: 673158
libc.info-16: 720929
libc.info-17: 769558
libc.info-18: 816714
libc.info-19: 864207
libc.info-20: 914114
libc.info-21: 963976
libc.info-22: 1011061
libc.info-23: 1058573
libc.info-24: 1108306
libc.info-25: 1158044
libc.info-26: 1207874
libc.info-27: 1256167
libc.info-28: 1305065
libc.info-29: 1410986
libc.info-30: 1453360
libc.info-31: 1480224
libc.info-32: 1530408
libc.info-33: 1567440

Tag Table:
(Indirect)
Node: Top1168
Node: Introduction40477
Node: Getting Started41825
Node: Standards and Portability43285
Node: ISO C44670
Node: POSIX46187
Node: Berkeley Unix47867
Node: SVID48635
Node: Using the Library49407
Node: Header Files50130
Node: Macro Definitions54082
Node: Reserved Names56432
Node: Feature Test Macros61114
Node: Roadmap to the Manual66998
Node: Error Reporting74211
Node: Checking for Errors75139
Node: Error Codes79354
Node: Error Messages97453
Node: Memory Allocation102288
Node: Memory Concepts103291
Node: Dynamic Allocation and C104561
Node: Unconstrained Allocation106645
Node: Basic Allocation107972
Node: Malloc Examples109676
Node: Freeing after Malloc111657
Node: Changing Block Size113473
Node: Allocating Cleared Space116037
Node: Efficiency and Malloc116828
Node: Aligned Memory Blocks118326
Node: Heap Consistency Checking119694
Node: Hooks for Malloc122487
Node: Statistics of Malloc124736
Node: Summary of Malloc126242
Node: Obstacks128081
Node: Creating Obstacks129699
Node: Preparing for Obstacks131598
Node: Allocation in an Obstack133938
Node: Freeing Obstack Objects136633
Node: Obstack Functions137969
Node: Growing Objects140199
Node: Extra Fast Growing144446
Node: Status of an Obstack148065
Node: Obstacks Data Alignment149484
Node: Obstack Chunks151170
Node: Summary of Obstacks153527
Node: Variable Size Automatic156941
Node: Alloca Example158497
Node: Advantages of Alloca159614
Node: Disadvantages of Alloca161506
Node: GNU C Variable-Size Arrays162251
Node: Relocating Allocator163409
Node: Relocator Concepts163971
Node: Using Relocator165484
Node: Memory Warnings166869
Node: Character Handling168181
Node: Classification of Characters169130
Node: Case Conversion172791
Node: String and Array Utilities174639
Node: Representation of Strings176450
Node: String/Array Conventions179392
Node: String Length181224
Node: Copying and Concatenation182209
Node: String/Array Comparison193430
Node: Collation Functions198492
Node: Search Functions205454
Node: Finding Tokens in a String209725
Node: I/O Overview215867
Node: I/O Concepts217380
Node: Streams and File Descriptors218525
Node: File Position221616
Node: File Names223750
Node: Directories224636
Node: File Name Resolution226373
Node: File Name Errors229302
Node: File Name Portability230851
Node: I/O on Streams232843
Node: Streams234799
Node: Standard Streams236140
Node: Opening Streams237806
Node: Closing Streams243663
Node: Simple Output246207
Node: Character Input248543
Node: Line Input251652
Node: Unreading256640
Node: Unreading Idea257449
Node: How Unread258275
Node: Block Input/Output260758
Node: Formatted Output262987
Node: Formatted Output Basics264754
Node: Output Conversion Syntax267247
Node: Table of Output Conversions270973
Node: Integer Conversions273506
Node: Floating-Point Conversions278170
Node: Other Output Conversions282199
Node: Formatted Output Functions285359
Node: Dynamic Output289040
Node: Variable Arguments Output290677
Node: Parsing a Template String296189
Node: Example of Parsing300016
Node: Customizing Printf302304
Node: Registering New Conversions304153
Node: Conversion Specifier Options306144
Node: Defining the Output Handler309817
Node: Printf Extension Example312283
Node: Formatted Input314591
Node: Formatted Input Basics315670
Node: Input Conversion Syntax318350
Node: Table of Input Conversions321712
Node: Numeric Input Conversions324009
Node: String Input Conversions327787
Node: Dynamic String Input331880
Node: Other Input Conversions333070
Node: Formatted Input Functions334722
Node: Variable Arguments Input336288
Node: EOF and Errors337923
Node: Binary Streams340143
Node: File Positioning342667
Node: Portable Positioning346500
Node: Stream Buffering349971
Node: Buffering Concepts351556
Node: Flushing Buffers352919
Node: Controlling Buffering354415
Node: Other Kinds of Streams358850
Node: String Streams360112
Node: Obstack Streams364232
Node: Custom Streams366266
Node: Streams and Cookies366919
Node: Hook Functions369966
Node: Low-Level I/O372352
Node: Opening and Closing Files375004
Node: I/O Primitives379683
Node: File Position Primitive387936
Node: Descriptors and Streams393371
Node: Stream/Descriptor Precautions395791
Node: Linked Channels396998
Node: Independent Channels398226
Node: Cleaning Streams400129
Node: Waiting for I/O402332
Node: Control Operations410083
Node: Duplicating Descriptors412367
Node: Descriptor Flags416629
Node: File Status Flags420035
Node: Access Modes421489
Node: Open-time Flags423778
Node: Operating Modes428358
Node: Getting File Status Flags431124
Node: File Locks433735
Node: Interrupt Input442638
Node: File System Interface445057
Node: Working Directory446457
Node: Accessing Directories450211
Node: Directory Entries451417
Node: Opening a Directory454217
Node: Reading/Closing Directory455909
Node: Simple Directory Lister458843
Node: Random Access Directory459822
Node: Hard Links461289
Node: Symbolic Links464082
Node: Deleting Files467848
Node: Renaming Files470778
Node: Creating Directories474405
Node: File Attributes476153
Node: Attribute Meanings477649
Node: Reading Attributes482732
Node: Testing File Type484634
Node: File Owner487850
Node: Permission Bits491543
Node: Access Permission496650
Node: Setting Permissions497800
Node: Testing File Access503015
Node: File Times506658
Node: Making Special Files511166
Node: Temporary Files512843
Node: Pipes and FIFOs519050
Node: Creating a Pipe520633
Node: Pipe to a Subprocess523786
Node: FIFO Special Files526626
Node: Pipe Atomicity528199
Node: Sockets529083
Node: Socket Concepts530958
Node: Communication Styles534172
Node: Socket Addresses536024
Node: Address Formats538065
Node: Setting Address540748
Node: Reading Address542452
Node: File Namespace544210
Node: File Namespace Concepts544700
Node: File Namespace Details546295
Node: File Socket Example547909
Node: Internet Namespace549233
Node: Internet Address Format550960
Node: Host Addresses552329
Node: Abstract Host Addresses553389
Node: Host Address Data Type556182
Node: Host Address Functions558073
Node: Host Names560500
Node: Ports565512
Node: Services Database567550
Node: Byte Order570377
Node: Protocols Database572665
Node: Inet Example576206
Node: Misc Namespaces578236
Node: Open/Close Sockets578986
Node: Creating a Socket579484
Node: Closing a Socket581152
Node: Socket Pairs582682
Node: Connections584692
Node: Connecting585786
Node: Listening588342
Node: Accepting Connections590427
Node: Who is Connected593283
Node: Transferring Data594379
Node: Sending Data595489
Node: Receiving Data597737
Node: Socket Data Options599201
Node: Byte Stream Example600064
Node: Server Example602042
Node: Out-of-Band Data606089
Node: Datagrams611943
Node: Sending Datagrams612972
Node: Receiving Datagrams614629
Node: Datagram Example616430
Node: Example Receiver618348
Node: Inetd620915
Node: Inetd Servers621723
Node: Configuring Inetd622966
Node: Socket Options625640
Node: Socket Option Functions626348
Node: Socket-Level Options627906
Node: Networks Database631540
Node: Low-Level Terminal Interface634402
Node: Is It a Terminal635737
Node: I/O Queues636953
Node: Canonical or Not638923
Node: Terminal Modes640770
Node: Mode Data Types642046
Node: Mode Functions643874
Node: Setting Modes647814
Node: Input Modes649802
Node: Output Modes655069
Node: Control Modes656682
Node: Local Modes660772
Node: Line Speed667086
Node: Special Characters671246
Node: Editing Characters673158
Node: Signal Characters677499
Node: Start/Stop Characters680368
Node: Other Special682239
Node: Noncanonical Input684053
Node: Line Control688866
Node: Noncanon Example693178
Node: Mathematics695373
Node: Domain and Range Errors696577
Node: Trig Functions699800
Node: Inverse Trig Functions701170
Node: Exponents and Logarithms703608
Node: Hyperbolic Functions706509
Node: Pseudo-Random Numbers708088
Node: ISO Random709674
Node: BSD Random710847
Node: Arithmetic712764
Node: Not a Number713673
Node: Predicates on Floats715015
Node: Absolute Value716589
Node: Normalization Functions718087
Node: Rounding and Remainders720929
Node: Integer Division724297
Node: Parsing of Numbers726447
Node: Parsing of Integers727099
Node: Parsing of Floats734574
Node: Searching and Sorting739038
Node: Comparison Functions739829
Node: Array Search Function740943
Node: Array Sort Function742366
Node: Search/Sort Example744338
Node: Pattern Matching747788
Node: Wildcard Matching748590
Node: Globbing751468
Node: Calling Glob752258
Node: Flags for Globbing755839
Node: Regular Expressions759337
Node: POSIX Regexp Compilation760321
Node: Flags for POSIX Regexps764436
Node: Matching POSIX Regexps765343
Node: Regexp Subexpressions767504
Node: Subexpression Complications769558
Node: Regexp Cleanup771917
Node: Word Expansion774243
Node: Expansion Stages775411
Node: Calling Wordexp776904
Node: Flags for Wordexp780867
Node: Wordexp Example782820
Node: Date and Time784795
Node: Processor Time785919
Node: Basic CPU Time786677
Node: Detailed CPU Time788696
Node: Calendar Time791161
Node: Simple Calendar Time792739
Node: High-Resolution Calendar794496
Node: Broken-down Time800216
Node: Formatting Date and Time805432
Node: TZ Variable816714
Node: Time Zone Functions822775
Node: Time Functions Example825444
Node: Setting an Alarm826559
Node: Sleeping831786
Node: Resource Usage834442
Node: Limits on Resources837953
Node: Priority842341
Node: Extended Characters845603
Node: Extended Char Intro847211
Node: Locales and Extended Chars849148
Node: Multibyte Char Intro850198
Node: Wide Char Intro857492
Node: Wide String Conversion859259
Node: Length of Char862496
Node: Converting One Char864207
Node: Example of Conversion867604
Node: Shift State870494
Node: Locales873147
Node: Effects of Locale874715
Node: Choosing Locale876651
Node: Locale Categories877975
Node: Setting the Locale879622
Node: Standard Locales883516
Node: Numeric Formatting884756
Node: General Numeric886266
Node: Currency Symbol889188
Node: Sign of Money Amount893798
Node: Non-Local Exits896102
Node: Non-Local Intro896721
Node: Non-Local Details900448
Node: Non-Local Exits and Signals903524
Node: Signal Handling904994
Node: Concepts of Signals907029
Node: Kinds of Signals907593
Node: Signal Generation908990
Node: Delivery of Signal911257
Node: Standard Signals914114
Node: Program Error Signals915707
Node: Termination Signals923165
Node: Alarm Signals927003
Node: Asynchronous I/O Signals928243
Node: Job Control Signals929434
Node: Operation Error Signals934046
Node: Miscellaneous Signals935985
Node: Signal Messages937681
Node: Signal Actions939567
Node: Basic Signal Handling940512
Node: Advanced Signal Handling945445
Node: Signal and Sigaction948401
Node: Sigaction Function Example950153
Node: Flags for Sigaction952469
Node: Initial Signal Actions954847
Node: Defining Handlers956230
Node: Handler Returns958415
Node: Termination in Handler960465
Node: Longjmp in Handler961881
Node: Signals in Handler963976
Node: Merged Signals966096
Node: Nonreentrancy971806
Node: Atomic Data Access977354
Node: Non-atomic Example978390
Node: Atomic Types980161
Node: Atomic Usage981169
Node: Interrupted Primitives982639
Node: Generating Signals985939
Node: Signaling Yourself986532
Node: Signaling Another Process988514
Node: Permission for kill991897
Node: Kill Example993693
Node: Blocking Signals996037
Node: Why Block997809
Node: Signal Sets999346
Node: Process Signal Mask1002372
Node: Testing for Delivery1005380
Node: Blocking for Handler1006630
Node: Checking for Pending Signals1009049
Node: Remembering a Signal1011061
Node: Waiting for a Signal1014610
Node: Using Pause1015155
Node: Pause Problems1016375
Node: Sigsuspend1018099
Node: Signal Stack1020809
Node: BSD Signal Handling1026153
Node: BSD Handler1027427
Node: Blocking in BSD1029861
Node: Process Startup1031315
Node: Program Arguments1032350
Node: Argument Syntax1035079
Node: Parsing Options1037709
Node: Example of Getopt1041000
Node: Long Options1043716
Node: Long Option Example1047777
Node: Suboptions1050626
Node: Suboptions Example1052575
Node: Environment Variables1054670
Node: Environment Access1056531
Node: Standard Environment1058573
Node: Program Termination1062256
Node: Normal Termination1063475
Node: Exit Status1064701
Node: Cleanups on Exit1067720
Node: Aborting a Program1069537
Node: Termination Internals1070436
Node: Processes1072212
Node: Running a Command1074235
Node: Process Creation Concepts1075728
Node: Process Identification1077738
Node: Creating a Process1078662
Node: Executing a File1082278
Node: Process Completion1089313
Node: Process Completion Status1094322
Node: BSD Wait Functions1095966
Node: Process Creation Example1097858
Node: Job Control1100108
Node: Concepts of Job Control1101388
Node: Job Control is Optional1104745
Node: Controlling Terminal1105795
Node: Access to the Terminal1106702
Node: Orphaned Process Groups1108306
Node: Implementing a Shell1109298
Node: Data Structures1110181
Node: Initializing the Shell1112824
Node: Launching Jobs1116560
Node: Foreground and Background1124013
Node: Stopped and Terminated Jobs1127122
Node: Continuing Stopped Jobs1132304
Node: Missing Pieces1133931
Node: Functions for Job Control1135555
Node: Identifying the Terminal1136035
Node: Process Group Functions1137609
Node: Terminal Access Functions1141161
Node: Name Service Switch1144062
Node: NSS Basics1145393
Node: NSS Configuration File1146970
Node: Services in the NSS configuration1148668
Node: Actions in the NSS configuration1149949
Node: Notes on NSS Configuration File1153108
Node: NSS Module Internals1154984
Node: NSS Module Names1155680
Node: NSS Modules Interface1158044
Node: Extending NSS1161528
Node: Adding another Service to NSS1162459
Node: NSS Module Function Internals1164678
Node: Users and Groups1169079
Node: User and Group IDs1171555
Node: Process Persona1172462
Node: Why Change Persona1173973
Node: How Change Persona1175854
Node: Reading Persona1177336
Node: Setting User ID1179606
Node: Setting Groups1181816
Node: Enable/Disable Setuid1184373
Node: Setuid Program Example1186412
Node: Tips for Setuid1189881
Node: Who Logged In1191969
Node: User Database1194137
Node: User Data Structure1194798
Node: Lookup User1196077
Node: Scanning All Users1199167
Node: Writing a User Entry1202546
Node: Group Database1203445
Node: Group Data Structure1204032
Node: Lookup Group1204818
Node: Scanning All Groups1207874
Node: Netgroup Database1211155
Node: Netgroup Data1211589
Node: Lookup Netgroup1213153
Node: Netgroup Membership1216565
Node: Database Example1217895
Node: System Information1220069
Node: Host Identification1220666
Node: Hardware/Software Type ID1223885
Node: System Configuration1226584
Node: General Limits1228151
Node: System Options1231790
Node: Version Supported1235122
Node: Sysconf1236959
Node: Sysconf Definition1237595
Node: Constants for Sysconf1238267
Node: Examples of Sysconf1241400
Node: Minimums1242393
Node: Limits for Files1244469
Node: Options for Files1247471
Node: File Minimums1249760
Node: Pathconf1251422
Node: Utility Limits1254109
Node: Utility Minimums1256167
Node: String Parameters1257919
Node: Language Features1259973
Node: Consistency Checking1260904
Node: Variadic Functions1265542
Node: Why Variadic1266614
Node: How Variadic1268579
Node: Variadic Prototypes1269868
Node: Receiving Arguments1271026
Node: How Many Arguments1273740
Node: Calling Variadics1275411
Node: Argument Macros1277548
Node: Variadic Example1279188
Node: Old Varargs1280340
Node: Null Pointer Constant1282010
Node: Important Data Types1283095
Node: Data Type Measurements1285661
Node: Width of Type1286518
Node: Range of Type1287424
Node: Floating Type Macros1290688
Node: Floating Point Concepts1291948
Node: Floating Point Parameters1295683
Node: IEEE Floating Point1302617
Node: Structure Measurement1304370
Node: Library Summary1305065
Node: Maintenance1410986
Node: Installation1411731
Node: Tools for Installation1418577
Node: Supported Configurations1419665
Node: Reporting Bugs1421176
Node: Source Layout1423553
Node: Porting1427509
Node: Hierarchy Conventions1435297
Node: Porting to Unix1440217
Node: Contributors1442062
Node: Copying1453360
Node: Concept Index1480224
Node: Type Index1530408
Node: Function Index1535198
Node: Variable Index1567440
Node: File Index1598757

End Tag Table
