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: 237807
libc.info-7: 285360
libc.info-8: 334723
libc.info-9: 379684
libc.info-10: 428359
libc.info-11: 477650
libc.info-12: 526627
libc.info-13: 576207
libc.info-14: 625641
libc.info-15: 673159
libc.info-16: 720930
libc.info-17: 769559
libc.info-18: 816715
libc.info-19: 864190
libc.info-20: 914097
libc.info-21: 963959
libc.info-22: 1011044
libc.info-23: 1058556
libc.info-24: 1108289
libc.info-25: 1158030
libc.info-26: 1207860
libc.info-27: 1256153
libc.info-28: 1305051
libc.info-29: 1410972
libc.info-30: 1453346
libc.info-31: 1480210
libc.info-32: 1530394
libc.info-33: 1567426

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 Functions198493
Node: Search Functions205455
Node: Finding Tokens in a String209726
Node: I/O Overview215868
Node: I/O Concepts217381
Node: Streams and File Descriptors218526
Node: File Position221617
Node: File Names223751
Node: Directories224637
Node: File Name Resolution226374
Node: File Name Errors229303
Node: File Name Portability230852
Node: I/O on Streams232844
Node: Streams234800
Node: Standard Streams236141
Node: Opening Streams237807
Node: Closing Streams243664
Node: Simple Output246208
Node: Character Input248544
Node: Line Input251653
Node: Unreading256641
Node: Unreading Idea257450
Node: How Unread258276
Node: Block Input/Output260759
Node: Formatted Output262988
Node: Formatted Output Basics264755
Node: Output Conversion Syntax267248
Node: Table of Output Conversions270974
Node: Integer Conversions273507
Node: Floating-Point Conversions278171
Node: Other Output Conversions282200
Node: Formatted Output Functions285360
Node: Dynamic Output289041
Node: Variable Arguments Output290678
Node: Parsing a Template String296190
Node: Example of Parsing300017
Node: Customizing Printf302305
Node: Registering New Conversions304154
Node: Conversion Specifier Options306145
Node: Defining the Output Handler309818
Node: Printf Extension Example312284
Node: Formatted Input314592
Node: Formatted Input Basics315671
Node: Input Conversion Syntax318351
Node: Table of Input Conversions321713
Node: Numeric Input Conversions324010
Node: String Input Conversions327788
Node: Dynamic String Input331881
Node: Other Input Conversions333071
Node: Formatted Input Functions334723
Node: Variable Arguments Input336289
Node: EOF and Errors337924
Node: Binary Streams340144
Node: File Positioning342668
Node: Portable Positioning346501
Node: Stream Buffering349972
Node: Buffering Concepts351557
Node: Flushing Buffers352920
Node: Controlling Buffering354416
Node: Other Kinds of Streams358851
Node: String Streams360113
Node: Obstack Streams364233
Node: Custom Streams366267
Node: Streams and Cookies366920
Node: Hook Functions369967
Node: Low-Level I/O372353
Node: Opening and Closing Files375005
Node: I/O Primitives379684
Node: File Position Primitive387937
Node: Descriptors and Streams393372
Node: Stream/Descriptor Precautions395792
Node: Linked Channels396999
Node: Independent Channels398227
Node: Cleaning Streams400130
Node: Waiting for I/O402333
Node: Control Operations410084
Node: Duplicating Descriptors412368
Node: Descriptor Flags416630
Node: File Status Flags420036
Node: Access Modes421490
Node: Open-time Flags423779
Node: Operating Modes428359
Node: Getting File Status Flags431125
Node: File Locks433736
Node: Interrupt Input442639
Node: File System Interface445058
Node: Working Directory446458
Node: Accessing Directories450212
Node: Directory Entries451418
Node: Opening a Directory454218
Node: Reading/Closing Directory455910
Node: Simple Directory Lister458844
Node: Random Access Directory459823
Node: Hard Links461290
Node: Symbolic Links464083
Node: Deleting Files467849
Node: Renaming Files470779
Node: Creating Directories474406
Node: File Attributes476154
Node: Attribute Meanings477650
Node: Reading Attributes482733
Node: Testing File Type484635
Node: File Owner487851
Node: Permission Bits491544
Node: Access Permission496651
Node: Setting Permissions497801
Node: Testing File Access503016
Node: File Times506659
Node: Making Special Files511167
Node: Temporary Files512844
Node: Pipes and FIFOs519051
Node: Creating a Pipe520634
Node: Pipe to a Subprocess523787
Node: FIFO Special Files526627
Node: Pipe Atomicity528200
Node: Sockets529084
Node: Socket Concepts530959
Node: Communication Styles534173
Node: Socket Addresses536025
Node: Address Formats538066
Node: Setting Address540749
Node: Reading Address542453
Node: File Namespace544211
Node: File Namespace Concepts544701
Node: File Namespace Details546296
Node: File Socket Example547910
Node: Internet Namespace549234
Node: Internet Address Format550961
Node: Host Addresses552330
Node: Abstract Host Addresses553390
Node: Host Address Data Type556183
Node: Host Address Functions558074
Node: Host Names560501
Node: Ports565513
Node: Services Database567551
Node: Byte Order570378
Node: Protocols Database572666
Node: Inet Example576207
Node: Misc Namespaces578237
Node: Open/Close Sockets578987
Node: Creating a Socket579485
Node: Closing a Socket581153
Node: Socket Pairs582683
Node: Connections584693
Node: Connecting585787
Node: Listening588343
Node: Accepting Connections590428
Node: Who is Connected593284
Node: Transferring Data594380
Node: Sending Data595490
Node: Receiving Data597738
Node: Socket Data Options599202
Node: Byte Stream Example600065
Node: Server Example602043
Node: Out-of-Band Data606090
Node: Datagrams611944
Node: Sending Datagrams612973
Node: Receiving Datagrams614630
Node: Datagram Example616431
Node: Example Receiver618349
Node: Inetd620916
Node: Inetd Servers621724
Node: Configuring Inetd622967
Node: Socket Options625641
Node: Socket Option Functions626349
Node: Socket-Level Options627907
Node: Networks Database631541
Node: Low-Level Terminal Interface634403
Node: Is It a Terminal635738
Node: I/O Queues636954
Node: Canonical or Not638924
Node: Terminal Modes640771
Node: Mode Data Types642047
Node: Mode Functions643875
Node: Setting Modes647815
Node: Input Modes649803
Node: Output Modes655070
Node: Control Modes656683
Node: Local Modes660773
Node: Line Speed667087
Node: Special Characters671247
Node: Editing Characters673159
Node: Signal Characters677500
Node: Start/Stop Characters680369
Node: Other Special682240
Node: Noncanonical Input684054
Node: Line Control688867
Node: Noncanon Example693179
Node: Mathematics695374
Node: Domain and Range Errors696578
Node: Trig Functions699801
Node: Inverse Trig Functions701171
Node: Exponents and Logarithms703609
Node: Hyperbolic Functions706510
Node: Pseudo-Random Numbers708089
Node: ISO Random709675
Node: BSD Random710848
Node: Arithmetic712765
Node: Not a Number713674
Node: Predicates on Floats715016
Node: Absolute Value716590
Node: Normalization Functions718088
Node: Rounding and Remainders720930
Node: Integer Division724298
Node: Parsing of Numbers726448
Node: Parsing of Integers727100
Node: Parsing of Floats734575
Node: Searching and Sorting739039
Node: Comparison Functions739830
Node: Array Search Function740944
Node: Array Sort Function742367
Node: Search/Sort Example744339
Node: Pattern Matching747789
Node: Wildcard Matching748591
Node: Globbing751469
Node: Calling Glob752259
Node: Flags for Globbing755840
Node: Regular Expressions759338
Node: POSIX Regexp Compilation760322
Node: Flags for POSIX Regexps764437
Node: Matching POSIX Regexps765344
Node: Regexp Subexpressions767505
Node: Subexpression Complications769559
Node: Regexp Cleanup771918
Node: Word Expansion774244
Node: Expansion Stages775412
Node: Calling Wordexp776905
Node: Flags for Wordexp780868
Node: Wordexp Example782821
Node: Date and Time784796
Node: Processor Time785920
Node: Basic CPU Time786678
Node: Detailed CPU Time788697
Node: Calendar Time791162
Node: Simple Calendar Time792740
Node: High-Resolution Calendar794497
Node: Broken-down Time800217
Node: Formatting Date and Time805433
Node: TZ Variable816715
Node: Time Zone Functions822776
Node: Time Functions Example825441
Node: Setting an Alarm826556
Node: Sleeping831783
Node: Resource Usage834439
Node: Limits on Resources837950
Node: Priority842324
Node: Extended Characters845586
Node: Extended Char Intro847194
Node: Locales and Extended Chars849131
Node: Multibyte Char Intro850181
Node: Wide Char Intro857475
Node: Wide String Conversion859242
Node: Length of Char862479
Node: Converting One Char864190
Node: Example of Conversion867587
Node: Shift State870477
Node: Locales873130
Node: Effects of Locale874698
Node: Choosing Locale876634
Node: Locale Categories877958
Node: Setting the Locale879605
Node: Standard Locales883499
Node: Numeric Formatting884739
Node: General Numeric886249
Node: Currency Symbol889171
Node: Sign of Money Amount893781
Node: Non-Local Exits896085
Node: Non-Local Intro896704
Node: Non-Local Details900431
Node: Non-Local Exits and Signals903507
Node: Signal Handling904977
Node: Concepts of Signals907012
Node: Kinds of Signals907576
Node: Signal Generation908973
Node: Delivery of Signal911240
Node: Standard Signals914097
Node: Program Error Signals915690
Node: Termination Signals923148
Node: Alarm Signals926986
Node: Asynchronous I/O Signals928226
Node: Job Control Signals929417
Node: Operation Error Signals934029
Node: Miscellaneous Signals935968
Node: Signal Messages937664
Node: Signal Actions939550
Node: Basic Signal Handling940495
Node: Advanced Signal Handling945428
Node: Signal and Sigaction948384
Node: Sigaction Function Example950136
Node: Flags for Sigaction952452
Node: Initial Signal Actions954830
Node: Defining Handlers956213
Node: Handler Returns958398
Node: Termination in Handler960448
Node: Longjmp in Handler961864
Node: Signals in Handler963959
Node: Merged Signals966079
Node: Nonreentrancy971789
Node: Atomic Data Access977337
Node: Non-atomic Example978373
Node: Atomic Types980144
Node: Atomic Usage981152
Node: Interrupted Primitives982622
Node: Generating Signals985922
Node: Signaling Yourself986515
Node: Signaling Another Process988497
Node: Permission for kill991880
Node: Kill Example993676
Node: Blocking Signals996020
Node: Why Block997792
Node: Signal Sets999329
Node: Process Signal Mask1002355
Node: Testing for Delivery1005363
Node: Blocking for Handler1006613
Node: Checking for Pending Signals1009032
Node: Remembering a Signal1011044
Node: Waiting for a Signal1014593
Node: Using Pause1015138
Node: Pause Problems1016358
Node: Sigsuspend1018082
Node: Signal Stack1020792
Node: BSD Signal Handling1026136
Node: BSD Handler1027410
Node: Blocking in BSD1029844
Node: Process Startup1031298
Node: Program Arguments1032333
Node: Argument Syntax1035062
Node: Parsing Options1037692
Node: Example of Getopt1040983
Node: Long Options1043699
Node: Long Option Example1047760
Node: Suboptions1050609
Node: Suboptions Example1052558
Node: Environment Variables1054653
Node: Environment Access1056514
Node: Standard Environment1058556
Node: Program Termination1062239
Node: Normal Termination1063458
Node: Exit Status1064684
Node: Cleanups on Exit1067703
Node: Aborting a Program1069520
Node: Termination Internals1070419
Node: Processes1072195
Node: Running a Command1074218
Node: Process Creation Concepts1075711
Node: Process Identification1077721
Node: Creating a Process1078645
Node: Executing a File1082261
Node: Process Completion1089296
Node: Process Completion Status1094305
Node: BSD Wait Functions1095949
Node: Process Creation Example1097841
Node: Job Control1100091
Node: Concepts of Job Control1101371
Node: Job Control is Optional1104728
Node: Controlling Terminal1105778
Node: Access to the Terminal1106685
Node: Orphaned Process Groups1108289
Node: Implementing a Shell1109281
Node: Data Structures1110164
Node: Initializing the Shell1112807
Node: Launching Jobs1116543
Node: Foreground and Background1123996
Node: Stopped and Terminated Jobs1127105
Node: Continuing Stopped Jobs1132287
Node: Missing Pieces1133914
Node: Functions for Job Control1135538
Node: Identifying the Terminal1136018
Node: Process Group Functions1137592
Node: Terminal Access Functions1141144
Node: Name Service Switch1144045
Node: NSS Basics1145379
Node: NSS Configuration File1146956
Node: Services in the NSS configuration1148654
Node: Actions in the NSS configuration1149935
Node: Notes on NSS Configuration File1153094
Node: NSS Module Internals1154970
Node: NSS Module Names1155666
Node: NSS Modules Interface1158030
Node: Extending NSS1161514
Node: Adding another Service to NSS1162445
Node: NSS Module Function Internals1164664
Node: Users and Groups1169065
Node: User and Group IDs1171541
Node: Process Persona1172448
Node: Why Change Persona1173959
Node: How Change Persona1175840
Node: Reading Persona1177322
Node: Setting User ID1179592
Node: Setting Groups1181802
Node: Enable/Disable Setuid1184359
Node: Setuid Program Example1186398
Node: Tips for Setuid1189867
Node: Who Logged In1191955
Node: User Database1194123
Node: User Data Structure1194784
Node: Lookup User1196063
Node: Scanning All Users1199153
Node: Writing a User Entry1202532
Node: Group Database1203431
Node: Group Data Structure1204018
Node: Lookup Group1204804
Node: Scanning All Groups1207860
Node: Netgroup Database1211141
Node: Netgroup Data1211575
Node: Lookup Netgroup1213139
Node: Netgroup Membership1216551
Node: Database Example1217881
Node: System Information1220055
Node: Host Identification1220652
Node: Hardware/Software Type ID1223871
Node: System Configuration1226570
Node: General Limits1228137
Node: System Options1231776
Node: Version Supported1235108
Node: Sysconf1236945
Node: Sysconf Definition1237581
Node: Constants for Sysconf1238253
Node: Examples of Sysconf1241386
Node: Minimums1242379
Node: Limits for Files1244455
Node: Options for Files1247457
Node: File Minimums1249746
Node: Pathconf1251408
Node: Utility Limits1254095
Node: Utility Minimums1256153
Node: String Parameters1257905
Node: Language Features1259959
Node: Consistency Checking1260890
Node: Variadic Functions1265528
Node: Why Variadic1266600
Node: How Variadic1268565
Node: Variadic Prototypes1269854
Node: Receiving Arguments1271012
Node: How Many Arguments1273726
Node: Calling Variadics1275397
Node: Argument Macros1277534
Node: Variadic Example1279174
Node: Old Varargs1280326
Node: Null Pointer Constant1281996
Node: Important Data Types1283081
Node: Data Type Measurements1285647
Node: Width of Type1286504
Node: Range of Type1287410
Node: Floating Type Macros1290674
Node: Floating Point Concepts1291934
Node: Floating Point Parameters1295669
Node: IEEE Floating Point1302603
Node: Structure Measurement1304356
Node: Library Summary1305051
Node: Maintenance1410972
Node: Installation1411717
Node: Tools for Installation1418563
Node: Supported Configurations1419651
Node: Reporting Bugs1421162
Node: Source Layout1423539
Node: Porting1427495
Node: Hierarchy Conventions1435283
Node: Porting to Unix1440203
Node: Contributors1442048
Node: Copying1453346
Node: Concept Index1480210
Node: Type Index1530394
Node: Function Index1535184
Node: Variable Index1567426
Node: File Index1598743

End Tag Table
