<!DOCTYPE kdeveloptoc>
<kdeveloptoc>
<title>LIBC (umn.edu)</title>
<base href="http://epoxy.mrs.umn.edu/doc/glibc-doc/html/"/>
<tocsect1 name="1. Introduction" url="chapters_1.html#SEC1">
  <tocsect2 name="1.1 Getting Started" url="chapters_1.html#SEC2"/>
  <tocsect2 name="1.2 Standards and Portability" url="chapters_1.html#SEC3">
    <tocsect3 name="1.2.1 ISO C" url="chapters_1.html#SEC4"/>
    <tocsect3 name="1.2.2 POSIX (The Portable Operating System Interface)" url="chapters_1.html#SEC5"/>
    <tocsect3 name="1.2.3 Berkeley Unix" url="chapters_1.html#SEC6"/>
    <tocsect3 name="1.2.4 SVID (The System V Interface Description)" url="chapters_1.html#SEC7"/>
    <tocsect3 name="1.2.5 XPG (The X/Open Portability Guide)" url="chapters_1.html#SEC8"/>
  </tocsect2>
  <tocsect2 name="1.3 Using the Library" url="chapters_1.html#SEC9">
    <tocsect3 name="1.3.1 Header Files" url="chapters_1.html#SEC10"/>
    <tocsect3 name="1.3.2 Macro Definitions of Functions" url="chapters_1.html#SEC11"/>
    <tocsect3 name="1.3.3 Reserved Names" url="chapters_1.html#SEC12"/>
    <tocsect3 name="1.3.4 Feature Test Macros" url="chapters_1.html#SEC13"/>
  </tocsect2>
  <tocsect2 name="1.4 Roadmap to the Manual" url="chapters_1.html#SEC14"/>
</tocsect1>
<tocsect1 name="2. Error Reporting" url="chapters_2.html#SEC15">
  <tocsect2 name="2.1 Checking for Errors" url="chapters_2.html#SEC16"/>
  <tocsect2 name="2.2 Error Codes" url="chapters_2.html#SEC17"/>
  <tocsect2 name="2.3 Error Messages" url="chapters_2.html#SEC18"/>
</tocsect1>
<tocsect1 name="3. Virtual Memory Allocation And Paging" url="chapters_3.html#SEC19">
  <tocsect2 name="3.1 Process Memory Concepts" url="chapters_3.html#SEC20"/>
  <tocsect2 name="3.2 Allocating Storage For Program Data" url="chapters_3.html#SEC21">
    <tocsect3 name="3.2.1 Memory Allocation in C Programs" url="chapters_3.html#SEC22">
      <tocsect4 name="3.2.1.1 Dynamic Memory Allocation" url="chapters_3.html#SEC23"/>
    </tocsect3>
    <tocsect3 name="3.2.2 Unconstrained Allocation" url="chapters_3.html#SEC24">
      <tocsect4 name="3.2.2.1 Basic Memory Allocation" url="chapters_3.html#SEC25"/>
      <tocsect4 name="3.2.2.2 Examples of malloc" url="chapters_3.html#SEC26"/>
      <tocsect4 name="3.2.2.3 Freeing Memory Allocated with malloc" url="chapters_3.html#SEC27"/>
      <tocsect4 name="3.2.2.4 Changing the Size of a Block" url="chapters_3.html#SEC28"/>
      <tocsect4 name="3.2.2.5 Allocating Cleared Space" url="chapters_3.html#SEC29"/>
      <tocsect4 name="3.2.2.6 Efficiency Considerations for malloc" url="chapters_3.html#SEC30"/>
      <tocsect4 name="3.2.2.7 Allocating Aligned Memory Blocks" url="chapters_3.html#SEC31"/>
      <tocsect4 name="3.2.2.8 Malloc Tunable Parameters" url="chapters_3.html#SEC32"/>
      <tocsect4 name="3.2.2.9 Heap Consistency Checking" url="chapters_3.html#SEC33"/>
      <tocsect4 name="3.2.2.10 Memory Allocation Hooks" url="chapters_3.html#SEC34"/>
      <tocsect4 name="3.2.2.11 Statistics for Memory Allocation with malloc" url="chapters_3.html#SEC35"/>
      <tocsect4 name="3.2.2.12 Summary of malloc-Related Functions" url="chapters_3.html#SEC36"/>
    </tocsect3>
    <tocsect3 name="3.2.3 Allocation Debugging" url="chapters_3.html#SEC37">
      <tocsect4 name="3.2.3.1 How to install the tracing functionality" url="chapters_3.html#SEC38"/>
      <tocsect4 name="3.2.3.2 Example program excerpts" url="chapters_3.html#SEC39"/>
      <tocsect4 name="3.2.3.3 Some more or less clever ideas" url="chapters_3.html#SEC40"/>
      <tocsect4 name="3.2.3.4 Interpreting the traces" url="chapters_3.html#SEC41"/>
    </tocsect3>
    <tocsect3 name="3.2.4 Obstacks" url="chapters_3.html#SEC42">
      <tocsect4 name="3.2.4.1 Creating Obstacks" url="chapters_3.html#SEC43"/>
      <tocsect4 name="3.2.4.2 Preparing for Using Obstacks" url="chapters_3.html#SEC44"/>
      <tocsect4 name="3.2.4.3 Allocation in an Obstack" url="chapters_3.html#SEC45"/>
      <tocsect4 name="3.2.4.4 Freeing Objects in an Obstack" url="chapters_3.html#SEC46"/>
      <tocsect4 name="3.2.4.5 Obstack Functions and Macros" url="chapters_3.html#SEC47"/>
      <tocsect4 name="3.2.4.6 Growing Objects" url="chapters_3.html#SEC48"/>
      <tocsect4 name="3.2.4.7 Extra Fast Growing Objects" url="chapters_3.html#SEC49"/>
      <tocsect4 name="3.2.4.8 Status of an Obstack" url="chapters_3.html#SEC50"/>
      <tocsect4 name="3.2.4.9 Alignment of Data in Obstacks" url="chapters_3.html#SEC51"/>
      <tocsect4 name="3.2.4.10 Obstack Chunks" url="chapters_3.html#SEC52"/>
      <tocsect4 name="3.2.4.11 Summary of Obstack Functions" url="chapters_3.html#SEC53"/>
    </tocsect3>
    <tocsect3 name="3.2.5 Automatic Storage with Variable Size" url="chapters_3.html#SEC54">
      <tocsect4 name="3.2.5.1 alloca Example" url="chapters_3.html#SEC55"/>
      <tocsect4 name="3.2.5.2 Advantages of alloca" url="chapters_3.html#SEC56"/>
      <tocsect4 name="3.2.5.3 Disadvantages of alloca" url="chapters_3.html#SEC57"/>
      <tocsect4 name="3.2.5.4 GNU C Variable-Size Arrays" url="chapters_3.html#SEC58"/>
    </tocsect3>
  </tocsect2>
  <tocsect2 name="3.3 Resizing the Data Segment" url="chapters_3.html#SEC59"/>
  <tocsect2 name="3.4 Locking Pages" url="chapters_3.html#SEC60">
    <tocsect3 name="3.4.1 Why Lock Pages" url="chapters_3.html#SEC61"/>
    <tocsect3 name="3.4.2 Locked Memory Details" url="chapters_3.html#SEC62"/>
    <tocsect3 name="3.4.3 Functions To Lock And Unlock Pages" url="chapters_3.html#SEC63"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="4. Character Handling" url="chapters_4.html#SEC64">
  <tocsect2 name="4.1 Classification of Characters" url="chapters_4.html#SEC65"/>
  <tocsect2 name="4.2 Case Conversion" url="chapters_4.html#SEC66"/>
  <tocsect2 name="4.3 Character class determination for wide characters" url="chapters_4.html#SEC67"/>
  <tocsect2 name="4.4 Notes on using the wide character classes" url="chapters_4.html#SEC68"/>
  <tocsect2 name="4.5 Mapping of wide characters." url="chapters_4.html#SEC69"/>
</tocsect1>
<tocsect1 name="5. String and Array Utilities" url="chapters_5.html#SEC70">
  <tocsect2 name="5.1 Representation of Strings" url="chapters_5.html#SEC71"/>
  <tocsect2 name="5.2 String and Array Conventions" url="chapters_5.html#SEC72"/>
  <tocsect2 name="5.3 String Length" url="chapters_5.html#SEC73"/>
  <tocsect2 name="5.4 Copying and Concatenation" url="chapters_5.html#SEC74"/>
  <tocsect2 name="5.5 String/Array Comparison" url="chapters_5.html#SEC75"/>
  <tocsect2 name="5.6 Collation Functions" url="chapters_5.html#SEC76"/>
  <tocsect2 name="5.7 Search Functions" url="chapters_5.html#SEC77">
    <tocsect3 name="5.7.1 Compatibility String Search Functions" url="chapters_5.html#SEC78"/>
  </tocsect2>
  <tocsect2 name="5.8 Finding Tokens in a String" url="chapters_5.html#SEC79"/>
  <tocsect2 name="5.9 strfry" url="chapters_5.html#SEC80"/>
  <tocsect2 name="5.10 Trivial Encryption" url="chapters_5.html#SEC81"/>
  <tocsect2 name="5.11 Encode Binary Data" url="chapters_5.html#SEC82"/>
  <tocsect2 name="5.12 Argz and Envz Vectors" url="chapters_5.html#SEC83">
    <tocsect3 name="5.12.1 Argz Functions" url="chapters_5.html#SEC84"/>
    <tocsect3 name="5.12.2 Envz Functions" url="chapters_5.html#SEC85"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="6. Character Set Handling" url="chapters_6.html#SEC86">
  <tocsect2 name="6.1 Introduction to Extended Characters" url="chapters_6.html#SEC87"/>
  <tocsect2 name="6.2 Overview about Character Handling Functions" url="chapters_6.html#SEC88"/>
  <tocsect2 name="6.3 Restartable Multibyte Conversion Functions" url="chapters_6.html#SEC89">
    <tocsect3 name="6.3.1 Selecting the conversion and its properties" url="chapters_6.html#SEC90"/>
    <tocsect3 name="6.3.2 Representing the state of the conversion" url="chapters_6.html#SEC91"/>
    <tocsect3 name="6.3.3 Converting Single Characters" url="chapters_6.html#SEC92"/>
    <tocsect3 name="6.3.4 Converting Multibyte and Wide Character Strings" url="chapters_6.html#SEC93"/>
    <tocsect3 name="6.3.5 A Complete Multibyte Conversion Example" url="chapters_6.html#SEC94"/>
  </tocsect2>
  <tocsect2 name="6.4 Non-reentrant Conversion Function" url="chapters_6.html#SEC95">
    <tocsect3 name="6.4.1 Non-reentrant Conversion of Single Characters" url="chapters_6.html#SEC96"/>
    <tocsect3 name="6.4.2 Non-reentrant Conversion of Strings" url="chapters_6.html#SEC97"/>
    <tocsect3 name="6.4.3 States in Non-reentrant Functions" url="chapters_6.html#SEC98"/>
  </tocsect2>
  <tocsect2 name="6.5 Generic Charset Conversion" url="chapters_6.html#SEC99">
    <tocsect3 name="6.5.1 Generic Character Set Conversion Interface" url="chapters_6.html#SEC100"/>
    <tocsect3 name="6.5.2 A complete iconv example" url="chapters_6.html#SEC101"/>
    <tocsect3 name="6.5.3 Some Details about other iconv Implementations" url="chapters_6.html#SEC102"/>
    <tocsect3 name="6.5.4 The iconv Implementation in the GNU C library" url="chapters_6.html#SEC103">
      <tocsect4 name="6.5.4.1 Format of `gconv-modules' files" url="chapters_6.html#SEC104"/>
      <tocsect4 name="6.5.4.2 Finding the conversion path in iconv" url="chapters_6.html#SEC105"/>
      <tocsect4 name="6.5.4.3 iconv module data structures" url="chapters_6.html#SEC106"/>
      <tocsect4 name="6.5.4.4 iconv module interfaces" url="chapters_6.html#SEC107"/>
    </tocsect3>
  </tocsect2>
</tocsect1>
<tocsect1 name="7. Locales and Internationalization" url="chapters_7.html#SEC108">
  <tocsect2 name="7.1 What Effects a Locale Has" url="chapters_7.html#SEC109"/>
  <tocsect2 name="7.2 Choosing a Locale" url="chapters_7.html#SEC110"/>
  <tocsect2 name="7.3 Categories of Activities that Locales Affect" url="chapters_7.html#SEC111"/>
  <tocsect2 name="7.4 How Programs Set the Locale" url="chapters_7.html#SEC112"/>
  <tocsect2 name="7.5 Standard Locales" url="chapters_7.html#SEC113"/>
  <tocsect2 name="7.6 Accessing Locale Information" url="chapters_7.html#SEC114">
    <tocsect3 name="7.6.1 localeconv: It is portable but small...small" url="chapters_7.html#SEC115">
      <tocsect4 name="7.6.1.1 Generic Numeric Formatting Parameters" url="chapters_7.html#SEC116"/>
      <tocsect4 name="7.6.1.2 Printing the Currency Symbol" url="chapters_7.html#SEC117"/>
      <tocsect4 name="7.6.1.3 Printing the Sign of a Monetary Amount" url="chapters_7.html#SEC118"/>
    </tocsect3>
    <tocsect3 name="7.6.2 Pinpoint Access to Locale Data" url="chapters_7.html#SEC119"/>
  </tocsect2>
  <tocsect2 name="7.7 A dedicated function to format numbers" url="chapters_7.html#SEC120"/>
  <tocsect2 name="7.8 Yes-or-No Questions" url="chapters_7.html#SEC121"/>
</tocsect1>
<tocsect1 name="8. Message Translation" url="chapters_8.html#SEC122">
  <tocsect2 name="8.1 X/Open Message Catalog Handling" url="chapters_8.html#SEC123">
    <tocsect3 name="8.1.1 The catgets function family" url="chapters_8.html#SEC124"/>
    <tocsect3 name="8.1.2 Format of the message catalog files" url="chapters_8.html#SEC125"/>
    <tocsect3 name="8.1.3 Generate Message Catalogs files" url="chapters_8.html#SEC126"/>
    <tocsect3 name="8.1.4 How to use the catgets interface" url="chapters_8.html#SEC127">
      <tocsect4 name="8.1.4.1 Not using symbolic names" url="chapters_8.html#SEC128"/>
      <tocsect4 name="8.1.4.2 Using symbolic names" url="chapters_8.html#SEC129"/>
      <tocsect4 name="8.1.4.3 How does to this allow to develop" url="chapters_8.html#SEC130"/>
    </tocsect3>
  </tocsect2>
  <tocsect2 name="8.2 The Uniforum approach to Message Translation" url="chapters_8.html#SEC131">
    <tocsect3 name="8.2.1 The gettext family of functions" url="chapters_8.html#SEC132">
      <tocsect4 name="8.2.1.1 What has to be done to translate a message?" url="chapters_8.html#SEC133"/>
      <tocsect4 name="8.2.1.2 How to determine which catalog to be used" url="chapters_8.html#SEC134"/>
      <tocsect4 name="8.2.1.3 Additional functions for more complicated situations" url="chapters_8.html#SEC135"/>
      <tocsect4 name="8.2.1.4 How to specify the output character set gettext uses" url="chapters_8.html#SEC137"/>
      <tocsect4 name="8.2.1.5 How to use gettext in GUI programs" url="chapters_8.html#SEC138"/>
      <tocsect4 name="8.2.1.6 User influence on gettext" url="chapters_8.html#SEC139"/>
    </tocsect3>
    <tocsect3 name="8.2.2 Programs to handle message catalogs for gettext" url="chapters_8.html#SEC140"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="9. Searching and Sorting" url="chapters_9.html#SEC141">
  <tocsect2 name="9.1 Defining the Comparison Function" url="chapters_9.html#SEC142"/>
  <tocsect2 name="9.2 Array Search Function" url="chapters_9.html#SEC143"/>
  <tocsect2 name="9.3 Array Sort Function" url="chapters_9.html#SEC144"/>
  <tocsect2 name="9.4 Searching and Sorting Example" url="chapters_9.html#SEC145"/>
  <tocsect2 name="9.5 The hsearch function." url="chapters_9.html#SEC146"/>
  <tocsect2 name="9.6 The tsearch function." url="chapters_9.html#SEC147"/>
</tocsect1>
<tocsect1 name="10. Pattern Matching" url="chapters_10.html#SEC148">
  <tocsect2 name="10.1 Wildcard Matching" url="chapters_10.html#SEC149"/>
  <tocsect2 name="10.2 Globbing" url="chapters_10.html#SEC150">
    <tocsect3 name="10.2.1 Calling glob" url="chapters_10.html#SEC151"/>
    <tocsect3 name="10.2.2 Flags for Globbing" url="chapters_10.html#SEC152"/>
    <tocsect3 name="10.2.3 More Flags for Globbing" url="chapters_10.html#SEC153"/>
  </tocsect2>
  <tocsect2 name="10.3 Regular Expression Matching" url="chapters_10.html#SEC154">
    <tocsect3 name="10.3.1 POSIX Regular Expression Compilation" url="chapters_10.html#SEC155"/>
    <tocsect3 name="10.3.2 Flags for POSIX Regular Expressions" url="chapters_10.html#SEC156"/>
    <tocsect3 name="10.3.3 Matching a Compiled POSIX Regular Expression" url="chapters_10.html#SEC157"/>
    <tocsect3 name="10.3.4 Match Results with Subexpressions" url="chapters_10.html#SEC158"/>
    <tocsect3 name="10.3.5 Complications in Subexpression Matching" url="chapters_10.html#SEC159"/>
    <tocsect3 name="10.3.6 POSIX Regexp Matching Cleanup" url="chapters_10.html#SEC160"/>
  </tocsect2>
  <tocsect2 name="10.4 Shell-Style Word Expansion" url="chapters_10.html#SEC161">
    <tocsect3 name="10.4.1 The Stages of Word Expansion" url="chapters_10.html#SEC162"/>
    <tocsect3 name="10.4.2 Calling wordexp" url="chapters_10.html#SEC163"/>
    <tocsect3 name="10.4.3 Flags for Word Expansion" url="chapters_10.html#SEC164"/>
    <tocsect3 name="10.4.4 wordexp Example" url="chapters_10.html#SEC165"/>
    <tocsect3 name="10.4.5 Details of Tilde Expansion" url="chapters_10.html#SEC166"/>
    <tocsect3 name="10.4.6 Details of Variable Substitution" url="chapters_10.html#SEC167"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="11. Input/Output Overview" url="chapters_11.html#SEC168">
  <tocsect2 name="11.1 Input/Output Concepts" url="chapters_11.html#SEC169">
    <tocsect3 name="11.1.1 Streams and File Descriptors" url="chapters_11.html#SEC170"/>
    <tocsect3 name="11.1.2 File Position" url="chapters_11.html#SEC171"/>
  </tocsect2>
  <tocsect2 name="11.2 File Names" url="chapters_11.html#SEC172">
    <tocsect3 name="11.2.1 Directories" url="chapters_11.html#SEC173"/>
    <tocsect3 name="11.2.2 File Name Resolution" url="chapters_11.html#SEC174"/>
    <tocsect3 name="11.2.3 File Name Errors" url="chapters_11.html#SEC175"/>
    <tocsect3 name="11.2.4 Portability of File Names" url="chapters_11.html#SEC176"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="12. Input/Output on Streams" url="chapters_12.html#SEC177">
  <tocsect2 name="12.1 Streams" url="chapters_12.html#SEC178"/>
  <tocsect2 name="12.2 Standard Streams" url="chapters_12.html#SEC179"/>
  <tocsect2 name="12.3 Opening Streams" url="chapters_12.html#SEC180"/>
  <tocsect2 name="12.4 Closing Streams" url="chapters_12.html#SEC181"/>
  <tocsect2 name="12.5 Streams and Threads" url="chapters_12.html#SEC182"/>
  <tocsect2 name="12.6 Streams in Internationalized Applications" url="chapters_12.html#SEC183"/>
  <tocsect2 name="12.7 Simple Output by Characters or Lines" url="chapters_12.html#SEC184"/>
  <tocsect2 name="12.8 Character Input" url="chapters_12.html#SEC185"/>
  <tocsect2 name="12.9 Line-Oriented Input" url="chapters_12.html#SEC186"/>
  <tocsect2 name="12.10 Unreading" url="chapters_12.html#SEC187">
    <tocsect3 name="12.10.1 What Unreading Means" url="chapters_12.html#SEC188"/>
    <tocsect3 name="12.10.2 Using ungetc To Do Unreading" url="chapters_12.html#SEC189"/>
  </tocsect2>
  <tocsect2 name="12.11 Block Input/Output" url="chapters_12.html#SEC190"/>
  <tocsect2 name="12.12 Formatted Output" url="chapters_12.html#SEC191">
    <tocsect3 name="12.12.1 Formatted Output Basics" url="chapters_12.html#SEC192"/>
    <tocsect3 name="12.12.2 Output Conversion Syntax" url="chapters_12.html#SEC193"/>
    <tocsect3 name="12.12.3 Table of Output Conversions" url="chapters_12.html#SEC194"/>
    <tocsect3 name="12.12.4 Integer Conversions" url="chapters_12.html#SEC195"/>
    <tocsect3 name="12.12.5 Floating-Point Conversions" url="chapters_12.html#SEC196"/>
    <tocsect3 name="12.12.6 Other Output Conversions" url="chapters_12.html#SEC197"/>
    <tocsect3 name="12.12.7 Formatted Output Functions" url="chapters_12.html#SEC198"/>
    <tocsect3 name="12.12.8 Dynamically Allocating Formatted Output" url="chapters_12.html#SEC199"/>
    <tocsect3 name="12.12.9 Variable Arguments Output Functions" url="chapters_12.html#SEC200"/>
    <tocsect3 name="12.12.10 Parsing a Template String" url="chapters_12.html#SEC201"/>
    <tocsect3 name="12.12.11 Example of Parsing a Template String" url="chapters_12.html#SEC202"/>
  </tocsect2>
  <tocsect2 name="12.13 Customizing printf" url="chapters_12.html#SEC203">
    <tocsect3 name="12.13.1 Registering New Conversions" url="chapters_12.html#SEC204"/>
    <tocsect3 name="12.13.2 Conversion Specifier Options" url="chapters_12.html#SEC205"/>
    <tocsect3 name="12.13.3 Defining the Output Handler" url="chapters_12.html#SEC206"/>
    <tocsect3 name="12.13.4 printf Extension Example" url="chapters_12.html#SEC207"/>
    <tocsect3 name="12.13.5 Predefined printf Handlers" url="chapters_12.html#SEC208"/>
  </tocsect2>
  <tocsect2 name="12.14 Formatted Input" url="chapters_12.html#SEC209">
    <tocsect3 name="12.14.1 Formatted Input Basics" url="chapters_12.html#SEC210"/>
    <tocsect3 name="12.14.2 Input Conversion Syntax" url="chapters_12.html#SEC211"/>
    <tocsect3 name="12.14.3 Table of Input Conversions" url="chapters_12.html#SEC212"/>
    <tocsect3 name="12.14.4 Numeric Input Conversions" url="chapters_12.html#SEC213"/>
    <tocsect3 name="12.14.5 String Input Conversions" url="chapters_12.html#SEC214"/>
    <tocsect3 name="12.14.6 Dynamically Allocating String Conversions" url="chapters_12.html#SEC215"/>
    <tocsect3 name="12.14.7 Other Input Conversions" url="chapters_12.html#SEC216"/>
    <tocsect3 name="12.14.8 Formatted Input Functions" url="chapters_12.html#SEC217"/>
    <tocsect3 name="12.14.9 Variable Arguments Input Functions" url="chapters_12.html#SEC218"/>
  </tocsect2>
  <tocsect2 name="12.15 End-Of-File and Errors" url="chapters_12.html#SEC219"/>
  <tocsect2 name="12.16 Recovering from errors" url="chapters_12.html#SEC220"/>
  <tocsect2 name="12.17 Text and Binary Streams" url="chapters_12.html#SEC221"/>
  <tocsect2 name="12.18 File Positioning" url="chapters_12.html#SEC222"/>
  <tocsect2 name="12.19 Portable File-Position Functions" url="chapters_12.html#SEC223"/>
  <tocsect2 name="12.20 Stream Buffering" url="chapters_12.html#SEC224">
    <tocsect3 name="12.20.1 Buffering Concepts" url="chapters_12.html#SEC225"/>
    <tocsect3 name="12.20.2 Flushing Buffers" url="chapters_12.html#SEC226"/>
    <tocsect3 name="12.20.3 Controlling Which Kind of Buffering" url="chapters_12.html#SEC227"/>
  </tocsect2>
  <tocsect2 name="12.21 Other Kinds of Streams" url="chapters_12.html#SEC228">
    <tocsect3 name="12.21.1 String Streams" url="chapters_12.html#SEC229"/>
    <tocsect3 name="12.21.2 Obstack Streams" url="chapters_12.html#SEC230"/>
    <tocsect3 name="12.21.3 Programming Your Own Custom Streams" url="chapters_12.html#SEC231">
      <tocsect4 name="12.21.3.1 Custom Streams and Cookies" url="chapters_12.html#SEC232"/>
      <tocsect4 name="12.21.3.2 Custom Stream Hook Functions" url="chapters_12.html#SEC233"/>
    </tocsect3>
  </tocsect2>
  <tocsect2 name="12.22 Formatted Messages" url="chapters_12.html#SEC234">
    <tocsect3 name="12.22.1 Printing Formatted Messages" url="chapters_12.html#SEC235"/>
    <tocsect3 name="12.22.2 Adding Severity Classes" url="chapters_12.html#SEC236"/>
    <tocsect3 name="12.22.3 How to use fmtmsg and addseverity" url="chapters_12.html#SEC237"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="13. Low-Level Input/Output" url="chapters_13.html#SEC238">
  <tocsect2 name="13.1 Opening and Closing Files" url="chapters_13.html#SEC239"/>
  <tocsect2 name="13.2 Input and Output Primitives" url="chapters_13.html#SEC240"/>
  <tocsect2 name="13.3 Setting the File Position of a Descriptor" url="chapters_13.html#SEC241"/>
  <tocsect2 name="13.4 Descriptors and Streams" url="chapters_13.html#SEC242"/>
  <tocsect2 name="13.5 Dangers of Mixing Streams and Descriptors" url="chapters_13.html#SEC243">
    <tocsect3 name="13.5.1 Linked Channels" url="chapters_13.html#SEC244"/>
    <tocsect3 name="13.5.2 Independent Channels" url="chapters_13.html#SEC245"/>
    <tocsect3 name="13.5.3 Cleaning Streams" url="chapters_13.html#SEC246"/>
  </tocsect2>
  <tocsect2 name="13.6 Fast Scatter-Gather I/O" url="chapters_13.html#SEC247"/>
  <tocsect2 name="13.7 Memory-mapped I/O" url="chapters_13.html#SEC248"/>
  <tocsect2 name="13.8 Waiting for Input or Output" url="chapters_13.html#SEC249"/>
  <tocsect2 name="13.9 Synchronizing I/O operations" url="chapters_13.html#SEC250"/>
  <tocsect2 name="13.10 Perform I/O Operations in Parallel" url="chapters_13.html#SEC251">
    <tocsect3 name="13.10.1 Asynchronous Read and Write Operations" url="chapters_13.html#SEC252"/>
    <tocsect3 name="13.10.2 Getting the Status of AIO Operations" url="chapters_13.html#SEC253"/>
    <tocsect3 name="13.10.3 Getting into a Consistent State" url="chapters_13.html#SEC254"/>
    <tocsect3 name="13.10.4 Cancellation of AIO Operations" url="chapters_13.html#SEC255"/>
    <tocsect3 name="13.10.5 How to optimize the AIO implementation" url="chapters_13.html#SEC256"/>
  </tocsect2>
  <tocsect2 name="13.11 Control Operations on Files" url="chapters_13.html#SEC257"/>
  <tocsect2 name="13.12 Duplicating Descriptors" url="chapters_13.html#SEC258"/>
  <tocsect2 name="13.13 File Descriptor Flags" url="chapters_13.html#SEC259"/>
  <tocsect2 name="13.14 File Status Flags" url="chapters_13.html#SEC260">
    <tocsect3 name="13.14.1 File Access Modes" url="chapters_13.html#SEC261"/>
    <tocsect3 name="13.14.2 Open-time Flags" url="chapters_13.html#SEC262"/>
    <tocsect3 name="13.14.3 I/O Operating Modes" url="chapters_13.html#SEC263"/>
    <tocsect3 name="13.14.4 Getting and Setting File Status Flags" url="chapters_13.html#SEC264"/>
  </tocsect2>
  <tocsect2 name="13.15 File Locks" url="chapters_13.html#SEC265"/>
  <tocsect2 name="13.16 Interrupt-Driven Input" url="chapters_13.html#SEC266"/>
  <tocsect2 name="13.17 Generic I/O Control operations" url="chapters_13.html#SEC267"/>
</tocsect1>
<tocsect1 name="14. File System Interface" url="chapters_14.html#SEC268">
  <tocsect2 name="14.1 Working Directory" url="chapters_14.html#SEC269"/>
  <tocsect2 name="14.2 Accessing Directories" url="chapters_14.html#SEC270">
    <tocsect3 name="14.2.1 Format of a Directory Entry" url="chapters_14.html#SEC271"/>
    <tocsect3 name="14.2.2 Opening a Directory Stream" url="chapters_14.html#SEC272"/>
    <tocsect3 name="14.2.3 Reading and Closing a Directory Stream" url="chapters_14.html#SEC273"/>
    <tocsect3 name="14.2.4 Simple Program to List a Directory" url="chapters_14.html#SEC274"/>
    <tocsect3 name="14.2.5 Random Access in a Directory Stream" url="chapters_14.html#SEC275"/>
    <tocsect3 name="14.2.6 Scanning the Content of a Directory" url="chapters_14.html#SEC276"/>
    <tocsect3 name="14.2.7 Simple Program to List a Directory, Mark II" url="chapters_14.html#SEC277"/>
  </tocsect2>
  <tocsect2 name="14.3 Working with Directory Trees" url="chapters_14.html#SEC278"/>
  <tocsect2 name="14.4 Hard Links" url="chapters_14.html#SEC279"/>
  <tocsect2 name="14.5 Symbolic Links" url="chapters_14.html#SEC280"/>
  <tocsect2 name="14.6 Deleting Files" url="chapters_14.html#SEC281"/>
  <tocsect2 name="14.7 Renaming Files" url="chapters_14.html#SEC282"/>
  <tocsect2 name="14.8 Creating Directories" url="chapters_14.html#SEC283"/>
  <tocsect2 name="14.9 File Attributes" url="chapters_14.html#SEC284">
    <tocsect3 name="14.9.1 The meaning of the File Attributes" url="chapters_14.html#SEC285"/>
    <tocsect3 name="14.9.2 Reading the Attributes of a File" url="chapters_14.html#SEC286"/>
    <tocsect3 name="14.9.3 Testing the Type of a File" url="chapters_14.html#SEC287"/>
    <tocsect3 name="14.9.4 File Owner" url="chapters_14.html#SEC288"/>
    <tocsect3 name="14.9.5 The Mode Bits for Access Permission" url="chapters_14.html#SEC289"/>
    <tocsect3 name="14.9.6 How Your Access to a File is Decided" url="chapters_14.html#SEC290"/>
    <tocsect3 name="14.9.7 Assigning File Permissions" url="chapters_14.html#SEC291"/>
    <tocsect3 name="14.9.8 Testing Permission to Access a File" url="chapters_14.html#SEC292"/>
    <tocsect3 name="14.9.9 File Times" url="chapters_14.html#SEC293"/>
    <tocsect3 name="14.9.10 File Size" url="chapters_14.html#SEC294"/>
  </tocsect2>
  <tocsect2 name="14.10 Making Special Files" url="chapters_14.html#SEC295"/>
  <tocsect2 name="14.11 Temporary Files" url="chapters_14.html#SEC296"/>
</tocsect1>
<tocsect1 name="15. Pipes and FIFOs" url="chapters_15.html#SEC297">
  <tocsect2 name="15.1 Creating a Pipe" url="chapters_15.html#SEC298"/>
  <tocsect2 name="15.2 Pipe to a Subprocess" url="chapters_15.html#SEC299"/>
  <tocsect2 name="15.3 FIFO Special Files" url="chapters_15.html#SEC300"/>
  <tocsect2 name="15.4 Atomicity of Pipe I/O" url="chapters_15.html#SEC301"/>
</tocsect1>
<tocsect1 name="16. Sockets" url="chapters_16.html#SEC302">
  <tocsect2 name="16.1 Socket Concepts" url="chapters_16.html#SEC303"/>
  <tocsect2 name="16.2 Communication Styles" url="chapters_16.html#SEC304"/>
  <tocsect2 name="16.3 Socket Addresses" url="chapters_16.html#SEC305">
    <tocsect3 name="16.3.1 Address Formats" url="chapters_16.html#SEC306"/>
    <tocsect3 name="16.3.2 Setting the Address of a Socket" url="chapters_16.html#SEC307"/>
    <tocsect3 name="16.3.3 Reading the Address of a Socket" url="chapters_16.html#SEC308"/>
  </tocsect2>
  <tocsect2 name="16.4 Interface Naming" url="chapters_16.html#SEC309"/>
  <tocsect2 name="16.5 The Local Namespace" url="chapters_16.html#SEC310">
    <tocsect3 name="16.5.1 Local Namespace Concepts" url="chapters_16.html#SEC311"/>
    <tocsect3 name="16.5.2 Details of Local Namespace" url="chapters_16.html#SEC312"/>
    <tocsect3 name="16.5.3 Example of Local-Namespace Sockets" url="chapters_16.html#SEC313"/>
  </tocsect2>
  <tocsect2 name="16.6 The Internet Namespace" url="chapters_16.html#SEC314">
    <tocsect3 name="16.6.1 Internet Socket Address Formats" url="chapters_16.html#SEC315"/>
    <tocsect3 name="16.6.2 Host Addresses" url="chapters_16.html#SEC316">
      <tocsect4 name="16.6.2.1 Internet Host Addresses" url="chapters_16.html#SEC317"/>
      <tocsect4 name="16.6.2.2 Host Address Data Type" url="chapters_16.html#SEC320"/>
      <tocsect4 name="16.6.2.3 Host Address Functions" url="chapters_16.html#SEC321"/>
      <tocsect4 name="16.6.2.4 Host Names" url="chapters_16.html#SEC322"/>
    </tocsect3>
    <tocsect3 name="16.6.3 Internet Ports" url="chapters_16.html#SEC323"/>
    <tocsect3 name="16.6.4 The Services Database" url="chapters_16.html#SEC324"/>
    <tocsect3 name="16.6.5 Byte Order Conversion" url="chapters_16.html#SEC325"/>
    <tocsect3 name="16.6.6 Protocols Database" url="chapters_16.html#SEC326"/>
    <tocsect3 name="16.6.7 Internet Socket Example" url="chapters_16.html#SEC327"/>
  </tocsect2>
  <tocsect2 name="16.7 Other Namespaces" url="chapters_16.html#SEC328"/>
  <tocsect2 name="16.8 Opening and Closing Sockets" url="chapters_16.html#SEC329">
    <tocsect3 name="16.8.1 Creating a Socket" url="chapters_16.html#SEC330"/>
    <tocsect3 name="16.8.2 Closing a Socket" url="chapters_16.html#SEC331"/>
    <tocsect3 name="16.8.3 Socket Pairs" url="chapters_16.html#SEC332"/>
  </tocsect2>
  <tocsect2 name="16.9 Using Sockets with Connections" url="chapters_16.html#SEC333">
    <tocsect3 name="16.9.1 Making a Connection" url="chapters_16.html#SEC334"/>
    <tocsect3 name="16.9.2 Listening for Connections" url="chapters_16.html#SEC335"/>
    <tocsect3 name="16.9.3 Accepting Connections" url="chapters_16.html#SEC336"/>
    <tocsect3 name="16.9.4 Who is Connected to Me?" url="chapters_16.html#SEC337"/>
    <tocsect3 name="16.9.5 Transferring Data" url="chapters_16.html#SEC338">
      <tocsect4 name="16.9.5.1 Sending Data" url="chapters_16.html#SEC339"/>
      <tocsect4 name="16.9.5.2 Receiving Data" url="chapters_16.html#SEC340"/>
      <tocsect4 name="16.9.5.3 Socket Data Options" url="chapters_16.html#SEC341"/>
    </tocsect3>
    <tocsect3 name="16.9.6 Byte Stream Socket Example" url="chapters_16.html#SEC342"/>
    <tocsect3 name="16.9.7 Byte Stream Connection Server Example" url="chapters_16.html#SEC343"/>
    <tocsect3 name="16.9.8 Out-of-Band Data" url="chapters_16.html#SEC344"/>
  </tocsect2>
  <tocsect2 name="16.10 Datagram Socket Operations" url="chapters_16.html#SEC345">
    <tocsect3 name="16.10.1 Sending Datagrams" url="chapters_16.html#SEC346"/>
    <tocsect3 name="16.10.2 Receiving Datagrams" url="chapters_16.html#SEC347"/>
    <tocsect3 name="16.10.3 Datagram Socket Example" url="chapters_16.html#SEC348"/>
    <tocsect3 name="16.10.4 Example of Reading Datagrams" url="chapters_16.html#SEC349"/>
  </tocsect2>
  <tocsect2 name="16.11 The inetd Daemon" url="chapters_16.html#SEC350">
    <tocsect3 name="16.11.1 inetd Servers" url="chapters_16.html#SEC351"/>
    <tocsect3 name="16.11.2 Configuring inetd" url="chapters_16.html#SEC352"/>
  </tocsect2>
  <tocsect2 name="16.12 Socket Options" url="chapters_16.html#SEC353">
    <tocsect3 name="16.12.1 Socket Option Functions" url="chapters_16.html#SEC354"/>
    <tocsect3 name="16.12.2 Socket-Level Options" url="chapters_16.html#SEC355"/>
  </tocsect2>
  <tocsect2 name="16.13 Networks Database" url="chapters_16.html#SEC356"/>
</tocsect1>
<tocsect1 name="17. Low-Level Terminal Interface" url="chapters_17.html#SEC357">
  <tocsect2 name="17.1 Identifying Terminals" url="chapters_17.html#SEC358"/>
  <tocsect2 name="17.2 I/O Queues" url="chapters_17.html#SEC359"/>
  <tocsect2 name="17.3 Two Styles of Input: Canonical or Not" url="chapters_17.html#SEC360"/>
  <tocsect2 name="17.4 Terminal Modes" url="chapters_17.html#SEC361">
    <tocsect3 name="17.4.1 Terminal Mode Data Types" url="chapters_17.html#SEC362"/>
    <tocsect3 name="17.4.2 Terminal Mode Functions" url="chapters_17.html#SEC363"/>
    <tocsect3 name="17.4.3 Setting Terminal Modes Properly" url="chapters_17.html#SEC364"/>
    <tocsect3 name="17.4.4 Input Modes" url="chapters_17.html#SEC365"/>
    <tocsect3 name="17.4.5 Output Modes" url="chapters_17.html#SEC366"/>
    <tocsect3 name="17.4.6 Control Modes" url="chapters_17.html#SEC367"/>
    <tocsect3 name="17.4.7 Local Modes" url="chapters_17.html#SEC368"/>
    <tocsect3 name="17.4.8 Line Speed" url="chapters_17.html#SEC369"/>
    <tocsect3 name="17.4.9 Special Characters" url="chapters_17.html#SEC370">
      <tocsect4 name="17.4.9.1 Characters for Input Editing" url="chapters_17.html#SEC371"/>
      <tocsect4 name="17.4.9.2 Characters that Cause Signals" url="chapters_17.html#SEC372"/>
      <tocsect4 name="17.4.9.3 Special Characters for Flow Control" url="chapters_17.html#SEC373"/>
      <tocsect4 name="17.4.9.4 Other Special Characters" url="chapters_17.html#SEC374"/>
    </tocsect3>
    <tocsect3 name="17.4.10 Noncanonical Input" url="chapters_17.html#SEC375"/>
  </tocsect2>
  <tocsect2 name="17.5 BSD Terminal Modes" url="chapters_17.html#SEC376"/>
  <tocsect2 name="17.6 Line Control Functions" url="chapters_17.html#SEC377"/>
  <tocsect2 name="17.7 Noncanonical Mode Example" url="chapters_17.html#SEC378"/>
  <tocsect2 name="17.8 Pseudo-Terminals" url="chapters_17.html#SEC379">
    <tocsect3 name="17.8.1 Allocating Pseudo-Terminals" url="chapters_17.html#SEC380"/>
    <tocsect3 name="17.8.2 Opening a Pseudo-Terminal Pair" url="chapters_17.html#SEC381"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="18. Syslog" url="chapters_18.html#SEC382">
  <tocsect2 name="18.1 Overview of Syslog" url="chapters_18.html#SEC383"/>
  <tocsect2 name="18.2 Submitting Syslog Messages" url="chapters_18.html#SEC384">
    <tocsect3 name="18.2.1 openlog" url="chapters_18.html#SEC385"/>
    <tocsect3 name="18.2.2 syslog, vsyslog" url="chapters_18.html#SEC386"/>
    <tocsect3 name="18.2.3 closelog" url="chapters_18.html#SEC387"/>
    <tocsect3 name="18.2.4 setlogmask" url="chapters_18.html#SEC388"/>
    <tocsect3 name="18.2.5 Syslog Example" url="chapters_18.html#SEC389"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="19. Mathematics" url="chapters_19.html#SEC390">
  <tocsect2 name="19.1 Predefined Mathematical Constants" url="chapters_19.html#SEC391"/>
  <tocsect2 name="19.2 Trigonometric Functions" url="chapters_19.html#SEC392"/>
  <tocsect2 name="19.3 Inverse Trigonometric Functions" url="chapters_19.html#SEC393"/>
  <tocsect2 name="19.4 Exponentiation and Logarithms" url="chapters_19.html#SEC394"/>
  <tocsect2 name="19.5 Hyperbolic Functions" url="chapters_19.html#SEC395"/>
  <tocsect2 name="19.6 Special Functions" url="chapters_19.html#SEC396"/>
  <tocsect2 name="19.7 Known Maximum Errors in Math Functions" url="chapters_19.html#SEC397"/>
  <tocsect2 name="19.8 Pseudo-Random Numbers" url="chapters_19.html#SEC398">
    <tocsect3 name="19.8.1 ISO C Random Number Functions" url="chapters_19.html#SEC399"/>
    <tocsect3 name="19.8.2 BSD Random Number Functions" url="chapters_19.html#SEC400"/>
    <tocsect3 name="19.8.3 SVID Random Number Function" url="chapters_19.html#SEC401"/>
  </tocsect2>
  <tocsect2 name="19.9 Is Fast Code or Small Code preferred?" url="chapters_19.html#SEC402"/>
</tocsect1>
<tocsect1 name="20. Arithmetic Functions" url="chapters_20.html#SEC403">
  <tocsect2 name="20.1 Integers" url="chapters_20.html#SEC404"/>
  <tocsect2 name="20.2 Integer Division" url="chapters_20.html#SEC405"/>
  <tocsect2 name="20.3 Floating Point Numbers" url="chapters_20.html#SEC406"/>
  <tocsect2 name="20.4 Floating-Point Number Classification Functions" url="chapters_20.html#SEC407"/>
  <tocsect2 name="20.5 Errors in Floating-Point Calculations" url="chapters_20.html#SEC408">
    <tocsect3 name="20.5.1 FP Exceptions" url="chapters_20.html#SEC409"/>
    <tocsect3 name="20.5.2 Infinity and NaN" url="chapters_20.html#SEC410"/>
    <tocsect3 name="20.5.3 Examining the FPU status word" url="chapters_20.html#SEC411"/>
    <tocsect3 name="20.5.4 Error Reporting by Mathematical Functions" url="chapters_20.html#SEC412"/>
  </tocsect2>
  <tocsect2 name="20.6 Rounding Modes" url="chapters_20.html#SEC413"/>
  <tocsect2 name="20.7 Floating-Point Control Functions" url="chapters_20.html#SEC414"/>
  <tocsect2 name="20.8 Arithmetic Functions" url="chapters_20.html#SEC415">
    <tocsect3 name="20.8.1 Absolute Value" url="chapters_20.html#SEC416"/>
    <tocsect3 name="20.8.2 Normalization Functions" url="chapters_20.html#SEC417"/>
    <tocsect3 name="20.8.3 Rounding Functions" url="chapters_20.html#SEC418"/>
    <tocsect3 name="20.8.4 Remainder Functions" url="chapters_20.html#SEC419"/>
    <tocsect3 name="20.8.5 Setting and modifying single bits of FP values" url="chapters_20.html#SEC420"/>
    <tocsect3 name="20.8.6 Floating-Point Comparison Functions" url="chapters_20.html#SEC421"/>
    <tocsect3 name="20.8.7 Miscellaneous FP arithmetic functions" url="chapters_20.html#SEC422"/>
  </tocsect2>
  <tocsect2 name="20.9 Complex Numbers" url="chapters_20.html#SEC423"/>
  <tocsect2 name="20.10 Projections, Conjugates, and Decomposing of Complex Numbers" url="chapters_20.html#SEC424"/>
  <tocsect2 name="20.11 Parsing of Numbers" url="chapters_20.html#SEC425">
    <tocsect3 name="20.11.1 Parsing of Integers" url="chapters_20.html#SEC426"/>
    <tocsect3 name="20.11.2 Parsing of Floats" url="chapters_20.html#SEC427"/>
  </tocsect2>
  <tocsect2 name="20.12 Old-fashioned System V number-to-string functions" url="chapters_20.html#SEC428"/>
</tocsect1>
<tocsect1 name="21. Date and Time" url="chapters_21.html#SEC429">
  <tocsect2 name="21.1 Time Basics" url="chapters_21.html#SEC430"/>
  <tocsect2 name="21.2 Elapsed Time" url="chapters_21.html#SEC431"/>
  <tocsect2 name="21.3 Processor And CPU Time" url="chapters_21.html#SEC432">
    <tocsect3 name="21.3.1 CPU Time Inquiry" url="chapters_21.html#SEC433"/>
    <tocsect3 name="21.3.2 Processor Time Inquiry" url="chapters_21.html#SEC434"/>
  </tocsect2>
  <tocsect2 name="21.4 Calendar Time" url="chapters_21.html#SEC435">
    <tocsect3 name="21.4.1 Simple Calendar Time" url="chapters_21.html#SEC436"/>
    <tocsect3 name="21.4.2 High-Resolution Calendar" url="chapters_21.html#SEC437"/>
    <tocsect3 name="21.4.3 Broken-down Time" url="chapters_21.html#SEC438"/>
    <tocsect3 name="21.4.4 High Accuracy Clock" url="chapters_21.html#SEC439"/>
    <tocsect3 name="21.4.5 Formatting Calendar Time" url="chapters_21.html#SEC440"/>
    <tocsect3 name="21.4.6 Convert textual time and date information back" url="chapters_21.html#SEC441">
      <tocsect4 name="21.4.6.1 Interpret string according to given format" url="chapters_21.html#SEC442"/>
      <tocsect4 name="21.4.6.2 A More User-friendly Way to Parse Times and Dates" url="chapters_21.html#SEC443"/>
    </tocsect3>
    <tocsect3 name="21.4.7 Specifying the Time Zone with TZ" url="chapters_21.html#SEC444"/>
    <tocsect3 name="21.4.8 Functions and Variables for Time Zones" url="chapters_21.html#SEC445"/>
    <tocsect3 name="21.4.9 Time Functions Example" url="chapters_21.html#SEC446"/>
  </tocsect2>
  <tocsect2 name="21.5 Setting an Alarm" url="chapters_21.html#SEC447"/>
  <tocsect2 name="21.6 Sleeping" url="chapters_21.html#SEC448"/>
</tocsect1>
<tocsect1 name="22. Resource Usage And Limitation" url="chapters_22.html#SEC449">
  <tocsect2 name="22.1 Resource Usage" url="chapters_22.html#SEC450"/>
  <tocsect2 name="22.2 Limiting Resource Usage" url="chapters_22.html#SEC451"/>
  <tocsect2 name="22.3 Process CPU Priority And Scheduling" url="chapters_22.html#SEC452">
    <tocsect3 name="22.3.1 Absolute Priority" url="chapters_22.html#SEC453">
      <tocsect4 name="22.3.1.1 Using Absolute Priority" url="chapters_22.html#SEC454"/>
    </tocsect3>
    <tocsect3 name="22.3.2 Realtime Scheduling" url="chapters_22.html#SEC455"/>
    <tocsect3 name="22.3.3 Basic Scheduling Functions" url="chapters_22.html#SEC456"/>
    <tocsect3 name="22.3.4 Traditional Scheduling" url="chapters_22.html#SEC457">
      <tocsect4 name="22.3.4.1 Introduction To Traditional Scheduling" url="chapters_22.html#SEC458"/>
      <tocsect4 name="22.3.4.2 Functions For Traditional Scheduling" url="chapters_22.html#SEC459"/>
    </tocsect3>
  </tocsect2>
  <tocsect2 name="22.4 Querying memory available resources" url="chapters_22.html#SEC460">
    <tocsect3 name="22.4.1 Overview about traditional Unix memory handling" url="chapters_22.html#SEC461"/>
    <tocsect3 name="22.4.2 How to get information about the memory subsystem?" url="chapters_22.html#SEC462"/>
  </tocsect2>
  <tocsect2 name="22.5 Learn about the processors available" url="chapters_22.html#SEC463"/>
</tocsect1>
<tocsect1 name="23. Non-Local Exits" url="chapters_23.html#SEC464">
  <tocsect2 name="23.1 Introduction to Non-Local Exits" url="chapters_23.html#SEC465"/>
  <tocsect2 name="23.2 Details of Non-Local Exits" url="chapters_23.html#SEC466"/>
  <tocsect2 name="23.3 Non-Local Exits and Signals" url="chapters_23.html#SEC467"/>
  <tocsect2 name="23.4 Complete Context Control" url="chapters_23.html#SEC468"/>
</tocsect1>
<tocsect1 name="24. Signal Handling" url="chapters_24.html#SEC470">
  <tocsect2 name="24.1 Basic Concepts of Signals" url="chapters_24.html#SEC471">
    <tocsect3 name="24.1.1 Some Kinds of Signals" url="chapters_24.html#SEC472"/>
    <tocsect3 name="24.1.2 Concepts of Signal Generation" url="chapters_24.html#SEC473"/>
    <tocsect3 name="24.1.3 How Signals Are Delivered" url="chapters_24.html#SEC474"/>
  </tocsect2>
  <tocsect2 name="24.2 Standard Signals" url="chapters_24.html#SEC475">
    <tocsect3 name="24.2.1 Program Error Signals" url="chapters_24.html#SEC476"/>
    <tocsect3 name="24.2.2 Termination Signals" url="chapters_24.html#SEC477"/>
    <tocsect3 name="24.2.3 Alarm Signals" url="chapters_24.html#SEC478"/>
    <tocsect3 name="24.2.4 Asynchronous I/O Signals" url="chapters_24.html#SEC479"/>
    <tocsect3 name="24.2.5 Job Control Signals" url="chapters_24.html#SEC480"/>
    <tocsect3 name="24.2.6 Operation Error Signals" url="chapters_24.html#SEC481"/>
    <tocsect3 name="24.2.7 Miscellaneous Signals" url="chapters_24.html#SEC482"/>
    <tocsect3 name="24.2.8 Signal Messages" url="chapters_24.html#SEC483"/>
  </tocsect2>
  <tocsect2 name="24.3 Specifying Signal Actions" url="chapters_24.html#SEC484">
    <tocsect3 name="24.3.1 Basic Signal Handling" url="chapters_24.html#SEC485"/>
    <tocsect3 name="24.3.2 Advanced Signal Handling" url="chapters_24.html#SEC486"/>
    <tocsect3 name="24.3.3 Interaction of signal and sigaction" url="chapters_24.html#SEC487"/>
    <tocsect3 name="24.3.4 sigaction Function Example" url="chapters_24.html#SEC488"/>
    <tocsect3 name="24.3.5 Flags for sigaction" url="chapters_24.html#SEC489"/>
    <tocsect3 name="24.3.6 Initial Signal Actions" url="chapters_24.html#SEC490"/>
  </tocsect2>
  <tocsect2 name="24.4 Defining Signal Handlers" url="chapters_24.html#SEC491">
    <tocsect3 name="24.4.1 Signal Handlers that Return" url="chapters_24.html#SEC492"/>
    <tocsect3 name="24.4.2 Handlers That Terminate the Process" url="chapters_24.html#SEC493"/>
    <tocsect3 name="24.4.3 Nonlocal Control Transfer in Handlers" url="chapters_24.html#SEC494"/>
    <tocsect3 name="24.4.4 Signals Arriving While a Handler Runs" url="chapters_24.html#SEC495"/>
    <tocsect3 name="24.4.5 Signals Close Together Merge into One" url="chapters_24.html#SEC496"/>
    <tocsect3 name="24.4.6 Signal Handling and Nonreentrant Functions" url="chapters_24.html#SEC497"/>
    <tocsect3 name="24.4.7 Atomic Data Access and Signal Handling" url="chapters_24.html#SEC498">
      <tocsect4 name="24.4.7.1 Problems with Non-Atomic Access" url="chapters_24.html#SEC499"/>
      <tocsect4 name="24.4.7.2 Atomic Types" url="chapters_24.html#SEC500"/>
      <tocsect4 name="24.4.7.3 Atomic Usage Patterns" url="chapters_24.html#SEC501"/>
    </tocsect3>
  </tocsect2>
  <tocsect2 name="24.5 Primitives Interrupted by Signals" url="chapters_24.html#SEC502"/>
  <tocsect2 name="24.6 Generating Signals" url="chapters_24.html#SEC503">
    <tocsect3 name="24.6.1 Signaling Yourself" url="chapters_24.html#SEC504"/>
    <tocsect3 name="24.6.2 Signaling Another Process" url="chapters_24.html#SEC505"/>
    <tocsect3 name="24.6.3 Permission for using kill" url="chapters_24.html#SEC506"/>
    <tocsect3 name="24.6.4 Using kill for Communication" url="chapters_24.html#SEC507"/>
  </tocsect2>
  <tocsect2 name="24.7 Blocking Signals" url="chapters_24.html#SEC508">
    <tocsect3 name="24.7.1 Why Blocking Signals is Useful" url="chapters_24.html#SEC509"/>
    <tocsect3 name="24.7.2 Signal Sets" url="chapters_24.html#SEC510"/>
    <tocsect3 name="24.7.3 Process Signal Mask" url="chapters_24.html#SEC511"/>
    <tocsect3 name="24.7.4 Blocking to Test for Delivery of a Signal" url="chapters_24.html#SEC512"/>
    <tocsect3 name="24.7.5 Blocking Signals for a Handler" url="chapters_24.html#SEC513"/>
    <tocsect3 name="24.7.6 Checking for Pending Signals" url="chapters_24.html#SEC514"/>
    <tocsect3 name="24.7.7 Remembering a Signal to Act On Later" url="chapters_24.html#SEC515"/>
  </tocsect2>
  <tocsect2 name="24.8 Waiting for a Signal" url="chapters_24.html#SEC516">
    <tocsect3 name="24.8.1 Using pause" url="chapters_24.html#SEC517"/>
    <tocsect3 name="24.8.2 Problems with pause" url="chapters_24.html#SEC518"/>
    <tocsect3 name="24.8.3 Using sigsuspend" url="chapters_24.html#SEC519"/>
  </tocsect2>
  <tocsect2 name="24.9 Using a Separate Signal Stack" url="chapters_24.html#SEC520"/>
  <tocsect2 name="24.10 BSD Signal Handling" url="chapters_24.html#SEC521">
    <tocsect3 name="24.10.1 BSD Function to Establish a Handler" url="chapters_24.html#SEC522"/>
    <tocsect3 name="24.10.2 BSD Functions for Blocking Signals" url="chapters_24.html#SEC523"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="25. The Basic Program/System Interface" url="chapters_25.html#SEC524">
  <tocsect2 name="25.1 Program Arguments" url="chapters_25.html#SEC525">
    <tocsect3 name="25.1.1 Program Argument Syntax Conventions" url="chapters_25.html#SEC526"/>
    <tocsect3 name="25.1.2 Parsing Program Arguments" url="chapters_25.html#SEC527"/>
  </tocsect2>
  <tocsect2 name="25.2 Parsing program options using getopt" url="chapters_25.html#SEC528">
    <tocsect3 name="25.2.1 Using the getopt function" url="chapters_25.html#SEC529"/>
    <tocsect3 name="25.2.2 Example of Parsing Arguments with getopt" url="chapters_25.html#SEC530"/>
    <tocsect3 name="25.2.3 Parsing Long Options with getopt_long" url="chapters_25.html#SEC531"/>
    <tocsect3 name="25.2.4 Example of Parsing Long Options with getopt_long" url="chapters_25.html#SEC532"/>
  </tocsect2>
  <tocsect2 name="25.3 Parsing Program Options with Argp" url="chapters_25.html#SEC533">
    <tocsect3 name="25.3.1 The argp_parse Function" url="chapters_25.html#SEC534"/>
    <tocsect3 name="25.3.2 Argp Global Variables" url="chapters_25.html#SEC535"/>
    <tocsect3 name="25.3.3 Specifying Argp Parsers" url="chapters_25.html#SEC536"/>
    <tocsect3 name="25.3.4 Specifying Options in an Argp Parser" url="chapters_25.html#SEC537">
      <tocsect4 name="25.3.4.1 Flags for Argp Options" url="chapters_25.html#SEC538"/>
    </tocsect3>
    <tocsect3 name="25.3.5 Argp Parser Functions" url="chapters_25.html#SEC539">
      <tocsect4 name="25.3.5.1 Special Keys for Argp Parser Functions" url="chapters_25.html#SEC540"/>
      <tocsect4 name="25.3.5.2 Functions For Use in Argp Parsers" url="chapters_25.html#SEC541"/>
      <tocsect4 name="25.3.5.3 Argp Parsing State" url="chapters_25.html#SEC542"/>
    </tocsect3>
    <tocsect3 name="25.3.6 Combining Multiple Argp Parsers" url="chapters_25.html#SEC543"/>
    <tocsect3 name="25.3.7 Flags for argp_parse" url="chapters_25.html#SEC544"/>
    <tocsect3 name="25.3.8 Customizing Argp Help Output" url="chapters_25.html#SEC545">
      <tocsect4 name="25.3.8.1 Special Keys for Argp Help Filter Functions" url="chapters_25.html#SEC546"/>
    </tocsect3>
    <tocsect3 name="25.3.9 The argp_help Function" url="chapters_25.html#SEC547"/>
    <tocsect3 name="25.3.10 Flags for the argp_help Function" url="chapters_25.html#SEC548"/>
    <tocsect3 name="25.3.11 Argp Examples" url="chapters_25.html#SEC549">
      <tocsect4 name="25.3.11.1 A Minimal Program Using Argp" url="chapters_25.html#SEC550"/>
      <tocsect4 name="25.3.11.2 A Program Using Argp with Only Default Options" url="chapters_25.html#SEC551"/>
      <tocsect4 name="25.3.11.3 A Program Using Argp with User Options" url="chapters_25.html#SEC552"/>
      <tocsect4 name="25.3.11.4 A Program Using Multiple Combined Argp Parsers" url="chapters_25.html#SEC553"/>
    </tocsect3>
    <tocsect3 name="25.3.12 Argp User Customization" url="chapters_25.html#SEC554">
      <tocsect4 name="25.3.12.1 Parsing of Suboptions" url="chapters_25.html#SEC555"/>
    </tocsect3>
    <tocsect3 name="25.3.13 Parsing of Suboptions Example" url="chapters_25.html#SEC556"/>
  </tocsect2>
  <tocsect2 name="25.4 Environment Variables" url="chapters_25.html#SEC557">
    <tocsect3 name="25.4.1 Environment Access" url="chapters_25.html#SEC558"/>
    <tocsect3 name="25.4.2 Standard Environment Variables" url="chapters_25.html#SEC559"/>
  </tocsect2>
  <tocsect2 name="25.5 System Calls" url="chapters_25.html#SEC560"/>
  <tocsect2 name="25.6 Program Termination" url="chapters_25.html#SEC561">
    <tocsect3 name="25.6.1 Normal Termination" url="chapters_25.html#SEC562"/>
    <tocsect3 name="25.6.2 Exit Status" url="chapters_25.html#SEC563"/>
    <tocsect3 name="25.6.3 Cleanups on Exit" url="chapters_25.html#SEC564"/>
    <tocsect3 name="25.6.4 Aborting a Program" url="chapters_25.html#SEC565"/>
    <tocsect3 name="25.6.5 Termination Internals" url="chapters_25.html#SEC566"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="26. Processes" url="chapters_26.html#SEC567">
  <tocsect2 name="26.1 Running a Command" url="chapters_26.html#SEC568"/>
  <tocsect2 name="26.2 Process Creation Concepts" url="chapters_26.html#SEC569"/>
  <tocsect2 name="26.3 Process Identification" url="chapters_26.html#SEC570"/>
  <tocsect2 name="26.4 Creating a Process" url="chapters_26.html#SEC571"/>
  <tocsect2 name="26.5 Executing a File" url="chapters_26.html#SEC572"/>
  <tocsect2 name="26.6 Process Completion" url="chapters_26.html#SEC573"/>
  <tocsect2 name="26.7 Process Completion Status" url="chapters_26.html#SEC574"/>
  <tocsect2 name="26.8 BSD Process Wait Functions" url="chapters_26.html#SEC575"/>
  <tocsect2 name="26.9 Process Creation Example" url="chapters_26.html#SEC576"/>
</tocsect1>
<tocsect1 name="27. Job Control" url="chapters_27.html#SEC577">
  <tocsect2 name="27.1 Concepts of Job Control" url="chapters_27.html#SEC578"/>
  <tocsect2 name="27.2 Job Control is Optional" url="chapters_27.html#SEC579"/>
  <tocsect2 name="27.3 Controlling Terminal of a Process" url="chapters_27.html#SEC580"/>
  <tocsect2 name="27.4 Access to the Controlling Terminal" url="chapters_27.html#SEC581"/>
  <tocsect2 name="27.5 Orphaned Process Groups" url="chapters_27.html#SEC582"/>
  <tocsect2 name="27.6 Implementing a Job Control Shell" url="chapters_27.html#SEC583">
    <tocsect3 name="27.6.1 Data Structures for the Shell" url="chapters_27.html#SEC584"/>
    <tocsect3 name="27.6.2 Initializing the Shell" url="chapters_27.html#SEC585"/>
    <tocsect3 name="27.6.3 Launching Jobs" url="chapters_27.html#SEC586"/>
    <tocsect3 name="27.6.4 Foreground and Background" url="chapters_27.html#SEC587"/>
    <tocsect3 name="27.6.5 Stopped and Terminated Jobs" url="chapters_27.html#SEC588"/>
    <tocsect3 name="27.6.6 Continuing Stopped Jobs" url="chapters_27.html#SEC589"/>
    <tocsect3 name="27.6.7 The Missing Pieces" url="chapters_27.html#SEC590"/>
  </tocsect2>
  <tocsect2 name="27.7 Functions for Job Control" url="chapters_27.html#SEC591">
    <tocsect3 name="27.7.1 Identifying the Controlling Terminal" url="chapters_27.html#SEC592"/>
    <tocsect3 name="27.7.2 Process Group Functions" url="chapters_27.html#SEC593"/>
    <tocsect3 name="27.7.3 Functions for Controlling Terminal Access" url="chapters_27.html#SEC594"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="28. System Databases and Name Service Switch" url="chapters_28.html#SEC595">
  <tocsect2 name="28.1 NSS Basics" url="chapters_28.html#SEC596"/>
  <tocsect2 name="28.2 The NSS Configuration File" url="chapters_28.html#SEC597">
    <tocsect3 name="28.2.1 Services in the NSS configuration File" url="chapters_28.html#SEC598"/>
    <tocsect3 name="28.2.2 Actions in the NSS configuration" url="chapters_28.html#SEC599"/>
    <tocsect3 name="28.2.3 Notes on the NSS Configuration File" url="chapters_28.html#SEC600"/>
  </tocsect2>
  <tocsect2 name="28.3 NSS Module Internals" url="chapters_28.html#SEC601">
    <tocsect3 name="28.3.1 The Naming Scheme of the NSS Modules" url="chapters_28.html#SEC602"/>
    <tocsect3 name="28.3.2 The Interface of the Function in NSS Modules" url="chapters_28.html#SEC603"/>
  </tocsect2>
  <tocsect2 name="28.4 Extending NSS" url="chapters_28.html#SEC604">
    <tocsect3 name="28.4.1 Adding another Service to NSS" url="chapters_28.html#SEC605"/>
    <tocsect3 name="28.4.2 Internals of the NSS Module Functions" url="chapters_28.html#SEC606"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="29. Users and Groups" url="chapters_29.html#SEC607">
  <tocsect2 name="29.1 User and Group IDs" url="chapters_29.html#SEC608"/>
  <tocsect2 name="29.2 The Persona of a Process" url="chapters_29.html#SEC609"/>
  <tocsect2 name="29.3 Why Change the Persona of a Process?" url="chapters_29.html#SEC610"/>
  <tocsect2 name="29.4 How an Application Can Change Persona" url="chapters_29.html#SEC611"/>
  <tocsect2 name="29.5 Reading the Persona of a Process" url="chapters_29.html#SEC612"/>
  <tocsect2 name="29.6 Setting the User ID" url="chapters_29.html#SEC613"/>
  <tocsect2 name="29.7 Setting the Group IDs" url="chapters_29.html#SEC614"/>
  <tocsect2 name="29.8 Enabling and Disabling Setuid Access" url="chapters_29.html#SEC615"/>
  <tocsect2 name="29.9 Setuid Program Example" url="chapters_29.html#SEC616"/>
  <tocsect2 name="29.10 Tips for Writing Setuid Programs" url="chapters_29.html#SEC617"/>
  <tocsect2 name="29.11 Identifying Who Logged In" url="chapters_29.html#SEC618"/>
  <tocsect2 name="29.12 The User Accounting Database" url="chapters_29.html#SEC619">
    <tocsect3 name="29.12.1 Manipulating the User Accounting Database" url="chapters_29.html#SEC620"/>
    <tocsect3 name="29.12.2 XPG User Accounting Database Functions" url="chapters_29.html#SEC621"/>
    <tocsect3 name="29.12.3 Logging In and Out" url="chapters_29.html#SEC622"/>
  </tocsect2>
  <tocsect2 name="29.13 User Database" url="chapters_29.html#SEC623">
    <tocsect3 name="29.13.1 The Data Structure that Describes a User" url="chapters_29.html#SEC624"/>
    <tocsect3 name="29.13.2 Looking Up One User" url="chapters_29.html#SEC625"/>
    <tocsect3 name="29.13.3 Scanning the List of All Users" url="chapters_29.html#SEC626"/>
    <tocsect3 name="29.13.4 Writing a User Entry" url="chapters_29.html#SEC627"/>
  </tocsect2>
  <tocsect2 name="29.14 Group Database" url="chapters_29.html#SEC628">
    <tocsect3 name="29.14.1 The Data Structure for a Group" url="chapters_29.html#SEC629"/>
    <tocsect3 name="29.14.2 Looking Up One Group" url="chapters_29.html#SEC630"/>
    <tocsect3 name="29.14.3 Scanning the List of All Groups" url="chapters_29.html#SEC631"/>
  </tocsect2>
  <tocsect2 name="29.15 User and Group Database Example" url="chapters_29.html#SEC632"/>
  <tocsect2 name="29.16 Netgroup Database" url="chapters_29.html#SEC633">
    <tocsect3 name="29.16.1 Netgroup Data" url="chapters_29.html#SEC634"/>
    <tocsect3 name="29.16.2 Looking up one Netgroup" url="chapters_29.html#SEC635"/>
    <tocsect3 name="29.16.3 Testing for Netgroup Membership" url="chapters_29.html#SEC636"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="30. System Management" url="chapters_30.html#SEC637">
  <tocsect2 name="30.1 Host Identification" url="chapters_30.html#SEC638"/>
  <tocsect2 name="30.2 Platform Type Identification" url="chapters_30.html#SEC639"/>
  <tocsect2 name="30.3 Controlling and Querying Mounts" url="chapters_30.html#SEC640">
    <tocsect3 name="30.3.1 Mount Information" url="chapters_30.html#SEC641">
      <tocsect4 name="30.3.1.1 The `fstab' file" url="chapters_30.html#SEC642"/>
      <tocsect4 name="30.3.1.2 The `mtab' file" url="chapters_30.html#SEC643"/>
      <tocsect4 name="30.3.1.3 Other (Non-libc) Sources of Mount Information" url="chapters_30.html#SEC644"/>
    </tocsect3>
    <tocsect3 name="30.3.2 Mount, Unmount, Remount" url="chapters_30.html#SEC645"/>
  </tocsect2>
  <tocsect2 name="30.4 System Parameters" url="chapters_30.html#SEC646"/>
</tocsect1>
<tocsect1 name="31. System Configuration Parameters" url="chapters_31.html#SEC647">
  <tocsect2 name="31.1 General Capacity Limits" url="chapters_31.html#SEC648"/>
  <tocsect2 name="31.2 Overall System Options" url="chapters_31.html#SEC649"/>
  <tocsect2 name="31.3 Which Version of POSIX is Supported" url="chapters_31.html#SEC650"/>
  <tocsect2 name="31.4 Using sysconf" url="chapters_31.html#SEC651">
    <tocsect3 name="31.4.1 Definition of sysconf" url="chapters_31.html#SEC652"/>
    <tocsect3 name="31.4.2 Constants for sysconf Parameters" url="chapters_31.html#SEC653"/>
    <tocsect3 name="31.4.3 Examples of sysconf" url="chapters_31.html#SEC654"/>
  </tocsect2>
  <tocsect2 name="31.5 Minimum Values for General Capacity Limits" url="chapters_31.html#SEC655"/>
  <tocsect2 name="31.6 Limits on File System Capacity" url="chapters_31.html#SEC656"/>
  <tocsect2 name="31.7 Optional Features in File Support" url="chapters_31.html#SEC657"/>
  <tocsect2 name="31.8 Minimum Values for File System Limits" url="chapters_31.html#SEC658"/>
  <tocsect2 name="31.9 Using pathconf" url="chapters_31.html#SEC659"/>
  <tocsect2 name="31.10 Utility Program Capacity Limits" url="chapters_31.html#SEC660"/>
  <tocsect2 name="31.11 Minimum Values for Utility Limits" url="chapters_31.html#SEC661"/>
  <tocsect2 name="31.12 String-Valued Parameters" url="chapters_31.html#SEC662"/>
</tocsect1>
<tocsect1 name="32. DES Encryption and Password Handling" url="chapters_32.html#SEC663">
  <tocsect2 name="32.1 Legal Problems" url="chapters_32.html#SEC664"/>
  <tocsect2 name="32.2 Reading Passwords" url="chapters_32.html#SEC665"/>
  <tocsect2 name="32.3 Encrypting Passwords" url="chapters_32.html#SEC666"/>
  <tocsect2 name="32.4 DES Encryption" url="chapters_32.html#SEC667"/>
</tocsect1>
<tocsect1 name="33. Debugging support" url="chapters_33.html#SEC668">
  <tocsect2 name="33.1 Backtraces" url="chapters_33.html#SEC669"/>
</tocsect1>
<tocsect1 name="34. POSIX Threads" url="chapters_34.html#SEC670">
  <tocsect2 name="34.1 Basic Thread Operations" url="chapters_34.html#SEC671"/>
  <tocsect2 name="34.2 Thread Attributes" url="chapters_34.html#SEC672"/>
  <tocsect2 name="34.3 Cancellation" url="chapters_34.html#SEC673"/>
  <tocsect2 name="34.4 Cleanup Handlers" url="chapters_34.html#SEC674"/>
  <tocsect2 name="34.5 Mutexes" url="chapters_34.html#SEC675"/>
  <tocsect2 name="34.6 Condition Variables" url="chapters_34.html#SEC676"/>
  <tocsect2 name="34.7 POSIX Semaphores" url="chapters_34.html#SEC677"/>
  <tocsect2 name="34.8 Thread-Specific Data" url="chapters_34.html#SEC678"/>
  <tocsect2 name="34.9 Threads and Signal Handling" url="chapters_34.html#SEC679"/>
  <tocsect2 name="34.10 Threads and Fork" url="chapters_34.html#SEC680"/>
  <tocsect2 name="34.11 Streams and Fork" url="chapters_34.html#SEC681"/>
  <tocsect2 name="34.12 Miscellaneous Thread Functions" url="chapters_34.html#SEC682"/>
</tocsect1>
<tocsect1 name="A. C Language Facilities in the Library" url="chapters_35.html#SEC683">
  <tocsect2 name="A.1 Explicitly Checking Internal Consistency" url="chapters_35.html#SEC684"/>
  <tocsect2 name="A.2 Variadic Functions" url="chapters_35.html#SEC685">
    <tocsect3 name="A.2.1 Why Variadic Functions are Used" url="chapters_35.html#SEC686"/>
    <tocsect3 name="A.2.2 How Variadic Functions are Defined and Used" url="chapters_35.html#SEC687">
      <tocsect4 name="A.2.2.1 Syntax for Variable Arguments" url="chapters_35.html#SEC688"/>
      <tocsect4 name="A.2.2.2 Receiving the Argument Values" url="chapters_35.html#SEC689"/>
      <tocsect4 name="A.2.2.3 How Many Arguments Were Supplied" url="chapters_35.html#SEC690"/>
      <tocsect4 name="A.2.2.4 Calling Variadic Functions" url="chapters_35.html#SEC691"/>
      <tocsect4 name="A.2.2.5 Argument Access Macros" url="chapters_35.html#SEC692"/>
    </tocsect3>
    <tocsect3 name="A.2.3 Example of a Variadic Function" url="chapters_35.html#SEC693">
      <tocsect4 name="A.2.3.1 Old-Style Variadic Functions" url="chapters_35.html#SEC694"/>
    </tocsect3>
  </tocsect2>
  <tocsect2 name="A.3 Null Pointer Constant" url="chapters_35.html#SEC695"/>
  <tocsect2 name="A.4 Important Data Types" url="chapters_35.html#SEC696"/>
  <tocsect2 name="A.5 Data Type Measurements" url="chapters_35.html#SEC697">
    <tocsect3 name="A.5.1 Computing the Width of an Integer Data Type" url="chapters_35.html#SEC698"/>
    <tocsect3 name="A.5.2 Range of an Integer Type" url="chapters_35.html#SEC699"/>
    <tocsect3 name="A.5.3 Floating Type Macros" url="chapters_35.html#SEC700">
      <tocsect4 name="A.5.3.1 Floating Point Representation Concepts" url="chapters_35.html#SEC701"/>
      <tocsect4 name="A.5.3.2 Floating Point Parameters" url="chapters_35.html#SEC702"/>
      <tocsect4 name="A.5.3.3 IEEE Floating Point" url="chapters_35.html#SEC703"/>
    </tocsect3>
    <tocsect3 name="A.5.4 Structure Field Offset Measurement" url="chapters_35.html#SEC704"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="B. Summary of Library Facilities" url="chapters_36.html#SEC705"/>
<tocsect1 name="C. Installing the GNU C Library" url="chapters_37.html#SEC706">
  <tocsect2 name="C.1 Configuring and compiling GNU Libc" url="chapters_37.html#SEC707"/>
  <tocsect2 name="C.2 Installing the C Library" url="chapters_37.html#SEC708"/>
  <tocsect2 name="C.3 Recommended Tools for Compilation" url="chapters_37.html#SEC709"/>
  <tocsect2 name="C.4 Supported Configurations" url="chapters_37.html#SEC710"/>
  <tocsect2 name="C.5 Specific advice for Linux systems" url="chapters_37.html#SEC711"/>
  <tocsect2 name="C.6 Reporting Bugs" url="chapters_37.html#SEC712"/>
</tocsect1>
<tocsect1 name="D. Library Maintenance" url="chapters_38.html#SEC713">
  <tocsect2 name="D.1 Adding New Functions" url="chapters_38.html#SEC714"/>
  <tocsect2 name="D.2 Porting the GNU C Library" url="chapters_38.html#SEC715">
    <tocsect3 name="D.2.1 Layout of the `sysdeps' Directory Hierarchy" url="chapters_38.html#SEC716"/>
    <tocsect3 name="D.2.2 Porting the GNU C Library to Unix Systems" url="chapters_38.html#SEC717"/>
  </tocsect2>
</tocsect1>
<tocsect1 name="E. Contributors to the GNU C Library" url="chapters_39.html#SEC718"/>
</kdeveloptoc>