| [Top] | [Contents] | [Index] | [ ? ] |
1. Introduction
1.1 Getting Started2. Error Reporting
1.2 Standards and Portability
1.2.1 ISO C1.3 Using the Library
1.2.2 POSIX (The Portable Operating System Interface)
1.2.3 Berkeley Unix
1.2.4 SVID (The System V Interface Description)
1.2.5 XPG (The X/Open Portability Guide)
1.3.1 Header Files1.4 Roadmap to the Manual
1.3.2 Macro Definitions of Functions
1.3.3 Reserved Names
1.3.4 Feature Test Macros
2.1 Checking for Errors3. Virtual Memory Allocation And Paging
2.2 Error Codes
2.3 Error Messages
3.1 Process Memory Concepts4. Character Handling
3.2 Allocating Storage For Program Data
3.2.1 Memory Allocation in C Programs3.3 Resizing the Data Segment
3.2.1.1 Dynamic Memory Allocation3.2.2 Unconstrained Allocation
3.2.2.1 Basic Memory Allocation3.2.3 Allocation Debugging
3.2.2.2 Examples ofmalloc
3.2.2.3 Freeing Memory Allocated withmalloc
3.2.2.4 Changing the Size of a Block
3.2.2.5 Allocating Cleared Space
3.2.2.6 Efficiency Considerations formalloc
3.2.2.7 Allocating Aligned Memory Blocks
3.2.2.8 Malloc Tunable Parameters
3.2.2.9 Heap Consistency Checking
3.2.2.10 Memory Allocation Hooks
3.2.2.11 Statistics for Memory Allocation withmalloc
3.2.2.12 Summary ofmalloc-Related Functions
3.2.3.1 How to install the tracing functionality3.2.4 Obstacks
3.2.3.2 Example program excerpts
3.2.3.3 Some more or less clever ideas
3.2.3.4 Interpreting the traces
3.2.4.1 Creating Obstacks3.2.5 Automatic Storage with Variable Size
3.2.4.2 Preparing for Using Obstacks
3.2.4.3 Allocation in an Obstack
3.2.4.4 Freeing Objects in an Obstack
3.2.4.5 Obstack Functions and Macros
3.2.4.6 Growing Objects
3.2.4.7 Extra Fast Growing Objects
3.2.4.8 Status of an Obstack
3.2.4.9 Alignment of Data in Obstacks
3.2.4.10 Obstack Chunks
3.2.4.11 Summary of Obstack Functions
3.2.5.1allocaExample
3.2.5.2 Advantages ofalloca
3.2.5.3 Disadvantages ofalloca
3.2.5.4 GNU C Variable-Size Arrays
3.4 Locking Pages
3.4.1 Why Lock Pages
3.4.2 Locked Memory Details
3.4.3 Functions To Lock And Unlock Pages
4.1 Classification of Characters5. String and Array Utilities
4.2 Case Conversion
4.3 Character class determination for wide characters
4.4 Notes on using the wide character classes
4.5 Mapping of wide characters.
5.1 Representation of Strings6. Character Set Handling
5.2 String and Array Conventions
5.3 String Length
5.4 Copying and Concatenation
5.5 String/Array Comparison
5.6 Collation Functions
5.7 Search Functions
5.7.1 Compatibility String Search Functions5.8 Finding Tokens in a String
5.9 strfry
5.10 Trivial Encryption
5.11 Encode Binary Data
5.12 Argz and Envz Vectors
5.12.1 Argz Functions
5.12.2 Envz Functions
6.1 Introduction to Extended Characters7. Locales and Internationalization
6.2 Overview about Character Handling Functions
6.3 Restartable Multibyte Conversion Functions
6.3.1 Selecting the conversion and its properties6.4 Non-reentrant Conversion Function
6.3.2 Representing the state of the conversion
6.3.3 Converting Single Characters
6.3.4 Converting Multibyte and Wide Character Strings
6.3.5 A Complete Multibyte Conversion Example
6.4.1 Non-reentrant Conversion of Single Characters6.5 Generic Charset Conversion
6.4.2 Non-reentrant Conversion of Strings
6.4.3 States in Non-reentrant Functions
6.5.1 Generic Character Set Conversion Interface
6.5.2 A completeiconvexample
6.5.3 Some Details about othericonvImplementations
6.5.4 TheiconvImplementation in the GNU C library
6.5.4.1 Format of `gconv-modules' files
6.5.4.2 Finding the conversion path iniconv
6.5.4.3iconvmodule data structures
6.5.4.4iconvmodule interfaces
7.1 What Effects a Locale Has8. Message Translation
7.2 Choosing a Locale
7.3 Categories of Activities that Locales Affect
7.4 How Programs Set the Locale
7.5 Standard Locales
7.6 Accessing Locale Information
7.6.17.7 A dedicated function to format numberslocaleconv: It is portable but ...
7.6.1.1 Generic Numeric Formatting Parameters7.6.2 Pinpoint Access to Locale Data
7.6.1.2 Printing the Currency Symbol
7.6.1.3 Printing the Sign of a Monetary Amount
7.8 Yes-or-No Questions
8.1 X/Open Message Catalog Handling9. Searching and Sorting
8.1.1 The8.2 The Uniforum approach to Message Translationcatgetsfunction family
8.1.2 Format of the message catalog files
8.1.3 Generate Message Catalogs files
8.1.4 How to use thecatgetsinterface
8.1.4.1 Not using symbolic names
8.1.4.2 Using symbolic names
8.1.4.3 How does to this allow to develop
8.2.1 Thegettextfamily of functions
8.2.1.1 What has to be done to translate a message?8.2.2 Programs to handle message catalogs for
8.2.1.2 How to determine which catalog to be used
8.2.1.3 Additional functions for more complicated situations
8.2.1.4 How to specify the output character setgettextuses
8.2.1.5 How to usegettextin GUI programs
8.2.1.6 User influence ongettext
gettext
9.1 Defining the Comparison Function10. Pattern Matching
9.2 Array Search Function
9.3 Array Sort Function
9.4 Searching and Sorting Example
9.5 Thehsearchfunction.
9.6 Thetsearchfunction.
10.1 Wildcard Matching11. Input/Output Overview
10.2 Globbing
10.2.1 Calling10.3 Regular Expression Matchingglob
10.2.2 Flags for Globbing
10.2.3 More Flags for Globbing
10.3.1 POSIX Regular Expression Compilation10.4 Shell-Style Word Expansion
10.3.2 Flags for POSIX Regular Expressions
10.3.3 Matching a Compiled POSIX Regular Expression
10.3.4 Match Results with Subexpressions
10.3.5 Complications in Subexpression Matching
10.3.6 POSIX Regexp Matching Cleanup
10.4.1 The Stages of Word Expansion
10.4.2 Callingwordexp
10.4.3 Flags for Word Expansion
10.4.4wordexpExample
10.4.5 Details of Tilde Expansion
10.4.6 Details of Variable Substitution
11.1 Input/Output Concepts12. Input/Output on Streams
11.1.1 Streams and File Descriptors11.2 File Names
11.1.2 File Position
11.2.1 Directories
11.2.2 File Name Resolution
11.2.3 File Name Errors
11.2.4 Portability of File Names
12.1 Streams13. Low-Level Input/Output
12.2 Standard Streams
12.3 Opening Streams
12.4 Closing Streams
12.5 Streams and Threads
12.6 Streams in Internationalized Applications
12.7 Simple Output by Characters or Lines
12.8 Character Input
12.9 Line-Oriented Input
12.10 Unreading
12.10.1 What Unreading Means12.11 Block Input/Output
12.10.2 UsingungetcTo Do Unreading
12.12 Formatted Output
12.12.1 Formatted Output Basics12.13 Customizing
12.12.2 Output Conversion Syntax
12.12.3 Table of Output Conversions
12.12.4 Integer Conversions
12.12.5 Floating-Point Conversions
12.12.6 Other Output Conversions
12.12.7 Formatted Output Functions
12.12.8 Dynamically Allocating Formatted Output
12.12.9 Variable Arguments Output Functions
12.12.10 Parsing a Template String
12.12.11 Example of Parsing a Template String
printf
12.13.1 Registering New Conversions12.14 Formatted Input
12.13.2 Conversion Specifier Options
12.13.3 Defining the Output Handler
12.13.4printfExtension Example
12.13.5 PredefinedprintfHandlers
12.14.1 Formatted Input Basics12.15 End-Of-File and Errors
12.14.2 Input Conversion Syntax
12.14.3 Table of Input Conversions
12.14.4 Numeric Input Conversions
12.14.5 String Input Conversions
12.14.6 Dynamically Allocating String Conversions
12.14.7 Other Input Conversions
12.14.8 Formatted Input Functions
12.14.9 Variable Arguments Input Functions
12.16 Recovering from errors
12.17 Text and Binary Streams
12.18 File Positioning
12.19 Portable File-Position Functions
12.20 Stream Buffering
12.20.1 Buffering Concepts12.21 Other Kinds of Streams
12.20.2 Flushing Buffers
12.20.3 Controlling Which Kind of Buffering
12.21.1 String Streams12.22 Formatted Messages
12.21.2 Obstack Streams
12.21.3 Programming Your Own Custom Streams
12.21.3.1 Custom Streams and Cookies
12.21.3.2 Custom Stream Hook Functions
12.22.1 Printing Formatted Messages
12.22.2 Adding Severity Classes
12.22.3 How to usefmtmsgandaddseverity
13.1 Opening and Closing Files14. File System Interface
13.2 Input and Output Primitives
13.3 Setting the File Position of a Descriptor
13.4 Descriptors and Streams
13.5 Dangers of Mixing Streams and Descriptors
13.5.1 Linked Channels13.6 Fast Scatter-Gather I/O
13.5.2 Independent Channels
13.5.3 Cleaning Streams
13.7 Memory-mapped I/O
13.8 Waiting for Input or Output
13.9 Synchronizing I/O operations
13.10 Perform I/O Operations in Parallel
13.10.1 Asynchronous Read and Write Operations13.11 Control Operations on Files
13.10.2 Getting the Status of AIO Operations
13.10.3 Getting into a Consistent State
13.10.4 Cancellation of AIO Operations
13.10.5 How to optimize the AIO implementation
13.12 Duplicating Descriptors
13.13 File Descriptor Flags
13.14 File Status Flags
13.14.1 File Access Modes13.15 File Locks
13.14.2 Open-time Flags
13.14.3 I/O Operating Modes
13.14.4 Getting and Setting File Status Flags
13.16 Interrupt-Driven Input
13.17 Generic I/O Control operations
14.1 Working Directory15. Pipes and FIFOs
14.2 Accessing Directories
14.2.1 Format of a Directory Entry14.3 Working with Directory Trees
14.2.2 Opening a Directory Stream
14.2.3 Reading and Closing a Directory Stream
14.2.4 Simple Program to List a Directory
14.2.5 Random Access in a Directory Stream
14.2.6 Scanning the Content of a Directory
14.2.7 Simple Program to List a Directory, Mark II
14.4 Hard Links
14.5 Symbolic Links
14.6 Deleting Files
14.7 Renaming Files
14.8 Creating Directories
14.9 File Attributes
14.9.1 The meaning of the File Attributes14.10 Making Special Files
14.9.2 Reading the Attributes of a File
14.9.3 Testing the Type of a File
14.9.4 File Owner
14.9.5 The Mode Bits for Access Permission
14.9.6 How Your Access to a File is Decided
14.9.7 Assigning File Permissions
14.9.8 Testing Permission to Access a File
14.9.9 File Times
14.9.10 File Size
14.11 Temporary Files
15.1 Creating a Pipe16. Sockets
15.2 Pipe to a Subprocess
15.3 FIFO Special Files
15.4 Atomicity of Pipe I/O
16.1 Socket Concepts17. Low-Level Terminal Interface
16.2 Communication Styles
16.3 Socket Addresses
16.3.1 Address Formats16.4 Interface Naming
16.3.2 Setting the Address of a Socket
16.3.3 Reading the Address of a Socket
16.5 The Local Namespace
16.5.1 Local Namespace Concepts16.6 The Internet Namespace
16.5.2 Details of Local Namespace
16.5.3 Example of Local-Namespace Sockets
16.6.1 Internet Socket Address Formats16.7 Other Namespaces
16.6.2 Host Addresses
16.6.2.1 Internet Host Addresses16.6.3 Internet Ports
16.6.2.2 Host Address Data Type
16.6.2.3 Host Address Functions
16.6.2.4 Host Names
16.6.4 The Services Database
16.6.5 Byte Order Conversion
16.6.6 Protocols Database
16.6.7 Internet Socket Example
16.8 Opening and Closing Sockets
16.8.1 Creating a Socket16.9 Using Sockets with Connections
16.8.2 Closing a Socket
16.8.3 Socket Pairs
16.9.1 Making a Connection16.10 Datagram Socket Operations
16.9.2 Listening for Connections
16.9.3 Accepting Connections
16.9.4 Who is Connected to Me?
16.9.5 Transferring Data
16.9.5.1 Sending Data16.9.6 Byte Stream Socket Example
16.9.5.2 Receiving Data
16.9.5.3 Socket Data Options
16.9.7 Byte Stream Connection Server Example
16.9.8 Out-of-Band Data
16.10.1 Sending Datagrams16.11 The
16.10.2 Receiving Datagrams
16.10.3 Datagram Socket Example
16.10.4 Example of Reading Datagrams
inetdDaemon
16.11.116.12 Socket OptionsinetdServers
16.11.2 Configuringinetd
16.12.1 Socket Option Functions16.13 Networks Database
16.12.2 Socket-Level Options
17.1 Identifying Terminals18. Syslog
17.2 I/O Queues
17.3 Two Styles of Input: Canonical or Not
17.4 Terminal Modes
17.4.1 Terminal Mode Data Types17.5 BSD Terminal Modes
17.4.2 Terminal Mode Functions
17.4.3 Setting Terminal Modes Properly
17.4.4 Input Modes
17.4.5 Output Modes
17.4.6 Control Modes
17.4.7 Local Modes
17.4.8 Line Speed
17.4.9 Special Characters
17.4.9.1 Characters for Input Editing17.4.10 Noncanonical Input
17.4.9.2 Characters that Cause Signals
17.4.9.3 Special Characters for Flow Control
17.4.9.4 Other Special Characters
17.6 Line Control Functions
17.7 Noncanonical Mode Example
17.8 Pseudo-Terminals
17.8.1 Allocating Pseudo-Terminals
17.8.2 Opening a Pseudo-Terminal Pair
18.1 Overview of Syslog19. Mathematics
18.2 Submitting Syslog Messages
18.2.1 openlog
18.2.2 syslog, vsyslog
18.2.3 closelog
18.2.4 setlogmask
18.2.5 Syslog Example
19.1 Predefined Mathematical Constants20. Arithmetic Functions
19.2 Trigonometric Functions
19.3 Inverse Trigonometric Functions
19.4 Exponentiation and Logarithms
19.5 Hyperbolic Functions
19.6 Special Functions
19.7 Known Maximum Errors in Math Functions
19.8 Pseudo-Random Numbers
19.8.1 ISO C Random Number Functions19.9 Is Fast Code or Small Code preferred?
19.8.2 BSD Random Number Functions
19.8.3 SVID Random Number Function
20.1 Integers21. Date and Time
20.2 Integer Division
20.3 Floating Point Numbers
20.4 Floating-Point Number Classification Functions
20.5 Errors in Floating-Point Calculations
20.5.1 FP Exceptions20.6 Rounding Modes
20.5.2 Infinity and NaN
20.5.3 Examining the FPU status word
20.5.4 Error Reporting by Mathematical Functions
20.7 Floating-Point Control Functions
20.8 Arithmetic Functions
20.8.1 Absolute Value20.9 Complex Numbers
20.8.2 Normalization Functions
20.8.3 Rounding Functions
20.8.4 Remainder Functions
20.8.5 Setting and modifying single bits of FP values
20.8.6 Floating-Point Comparison Functions
20.8.7 Miscellaneous FP arithmetic functions
20.10 Projections, Conjugates, and Decomposing of Complex Numbers
20.11 Parsing of Numbers
20.11.1 Parsing of Integers20.12 Old-fashioned System V number-to-string functions
20.11.2 Parsing of Floats
21.1 Time Basics22. Resource Usage And Limitation
21.2 Elapsed Time
21.3 Processor And CPU Time
21.3.1 CPU Time Inquiry21.4 Calendar Time
21.3.2 Processor Time Inquiry
21.4.1 Simple Calendar Time21.5 Setting an Alarm
21.4.2 High-Resolution Calendar
21.4.3 Broken-down Time
21.4.4 High Accuracy Clock
21.4.5 Formatting Calendar Time
21.4.6 Convert textual time and date information back
21.4.6.1 Interpret string according to given format21.4.7 Specifying the Time Zone with
21.4.6.2 A More User-friendly Way to Parse Times and Dates
TZ
21.4.8 Functions and Variables for Time Zones
21.4.9 Time Functions Example
21.6 Sleeping
22.1 Resource Usage23. Non-Local Exits
22.2 Limiting Resource Usage
22.3 Process CPU Priority And Scheduling
22.3.1 Absolute Priority22.4 Querying memory available resources
22.3.1.1 Using Absolute Priority22.3.2 Realtime Scheduling
22.3.3 Basic Scheduling Functions
22.3.4 Traditional Scheduling
22.3.4.1 Introduction To Traditional Scheduling
22.3.4.2 Functions For Traditional Scheduling
22.4.1 Overview about traditional Unix memory handling22.5 Learn about the processors available
22.4.2 How to get information about the memory subsystem?
23.1 Introduction to Non-Local Exits24. Signal Handling
23.2 Details of Non-Local Exits
23.3 Non-Local Exits and Signals
23.4 Complete Context Control
24.1 Basic Concepts of Signals25. The Basic Program/System Interface
24.1.1 Some Kinds of Signals24.2 Standard Signals
24.1.2 Concepts of Signal Generation
24.1.3 How Signals Are Delivered
24.2.1 Program Error Signals24.3 Specifying Signal Actions
24.2.2 Termination Signals
24.2.3 Alarm Signals
24.2.4 Asynchronous I/O Signals
24.2.5 Job Control Signals
24.2.6 Operation Error Signals
24.2.7 Miscellaneous Signals
24.2.8 Signal Messages
24.3.1 Basic Signal Handling24.4 Defining Signal Handlers
24.3.2 Advanced Signal Handling
24.3.3 Interaction ofsignalandsigaction
24.3.4sigactionFunction Example
24.3.5 Flags forsigaction
24.3.6 Initial Signal Actions
24.4.1 Signal Handlers that Return24.5 Primitives Interrupted by Signals
24.4.2 Handlers That Terminate the Process
24.4.3 Nonlocal Control Transfer in Handlers
24.4.4 Signals Arriving While a Handler Runs
24.4.5 Signals Close Together Merge into One
24.4.6 Signal Handling and Nonreentrant Functions
24.4.7 Atomic Data Access and Signal Handling
24.4.7.1 Problems with Non-Atomic Access
24.4.7.2 Atomic Types
24.4.7.3 Atomic Usage Patterns
24.6 Generating Signals
24.6.1 Signaling Yourself24.7 Blocking Signals
24.6.2 Signaling Another Process
24.6.3 Permission for usingkill
24.6.4 Usingkillfor Communication
24.7.1 Why Blocking Signals is Useful24.8 Waiting for a Signal
24.7.2 Signal Sets
24.7.3 Process Signal Mask
24.7.4 Blocking to Test for Delivery of a Signal
24.7.5 Blocking Signals for a Handler
24.7.6 Checking for Pending Signals
24.7.7 Remembering a Signal to Act On Later
24.8.1 Using24.9 Using a Separate Signal Stackpause
24.8.2 Problems withpause
24.8.3 Usingsigsuspend
24.10 BSD Signal Handling
24.10.1 BSD Function to Establish a Handler
24.10.2 BSD Functions for Blocking Signals
25.1 Program Arguments26. Processes
25.1.1 Program Argument Syntax Conventions25.2 Parsing program options using
25.1.2 Parsing Program Arguments
getopt
25.2.1 Using the25.3 Parsing Program Options with Argpgetoptfunction
25.2.2 Example of Parsing Arguments withgetopt
25.2.3 Parsing Long Options withgetopt_long
25.2.4 Example of Parsing Long Options withgetopt_long
25.3.1 The25.4 Environment Variablesargp_parseFunction
25.3.2 Argp Global Variables
25.3.3 Specifying Argp Parsers
25.3.4 Specifying Options in an Argp Parser
25.3.4.1 Flags for Argp Options25.3.5 Argp Parser Functions
25.3.5.1 Special Keys for Argp Parser Functions25.3.6 Combining Multiple Argp Parsers
25.3.5.2 Functions For Use in Argp Parsers
25.3.5.3 Argp Parsing State
25.3.7 Flags forargp_parse
25.3.8 Customizing Argp Help Output
25.3.8.1 Special Keys for Argp Help Filter Functions25.3.9 The
argp_helpFunction
25.3.10 Flags for theargp_helpFunction
25.3.11 Argp Examples
25.3.11.1 A Minimal Program Using Argp25.3.12 Argp User Customization
25.3.11.2 A Program Using Argp with Only Default Options
25.3.11.3 A Program Using Argp with User Options
25.3.11.4 A Program Using Multiple Combined Argp Parsers
25.3.12.1 Parsing of Suboptions25.3.13 Parsing of Suboptions Example
25.4.1 Environment Access25.5 System Calls
25.4.2 Standard Environment Variables
25.6 Program Termination
25.6.1 Normal Termination
25.6.2 Exit Status
25.6.3 Cleanups on Exit
25.6.4 Aborting a Program
25.6.5 Termination Internals
26.1 Running a Command27. Job Control
26.2 Process Creation Concepts
26.3 Process Identification
26.4 Creating a Process
26.5 Executing a File
26.6 Process Completion
26.7 Process Completion Status
26.8 BSD Process Wait Functions
26.9 Process Creation Example
27.1 Concepts of Job Control28. System Databases and Name Service Switch
27.2 Job Control is Optional
27.3 Controlling Terminal of a Process
27.4 Access to the Controlling Terminal
27.5 Orphaned Process Groups
27.6 Implementing a Job Control Shell
27.6.1 Data Structures for the Shell27.7 Functions for Job Control
27.6.2 Initializing the Shell
27.6.3 Launching Jobs
27.6.4 Foreground and Background
27.6.5 Stopped and Terminated Jobs
27.6.6 Continuing Stopped Jobs
27.6.7 The Missing Pieces
27.7.1 Identifying the Controlling Terminal
27.7.2 Process Group Functions
27.7.3 Functions for Controlling Terminal Access
28.1 NSS Basics29. Users and Groups
28.2 The NSS Configuration File
28.2.1 Services in the NSS configuration File28.3 NSS Module Internals
28.2.2 Actions in the NSS configuration
28.2.3 Notes on the NSS Configuration File
28.3.1 The Naming Scheme of the NSS Modules28.4 Extending NSS
28.3.2 The Interface of the Function in NSS Modules
28.4.1 Adding another Service to NSS
28.4.2 Internals of the NSS Module Functions
29.1 User and Group IDs30. System Management
29.2 The Persona of a Process
29.3 Why Change the Persona of a Process?
29.4 How an Application Can Change Persona
29.5 Reading the Persona of a Process
29.6 Setting the User ID
29.7 Setting the Group IDs
29.8 Enabling and Disabling Setuid Access
29.9 Setuid Program Example
29.10 Tips for Writing Setuid Programs
29.11 Identifying Who Logged In
29.12 The User Accounting Database
29.12.1 Manipulating the User Accounting Database29.13 User Database
29.12.2 XPG User Accounting Database Functions
29.12.3 Logging In and Out
29.13.1 The Data Structure that Describes a User29.14 Group Database
29.13.2 Looking Up One User
29.13.3 Scanning the List of All Users
29.13.4 Writing a User Entry
29.14.1 The Data Structure for a Group29.15 User and Group Database Example
29.14.2 Looking Up One Group
29.14.3 Scanning the List of All Groups
29.16 Netgroup Database
29.16.1 Netgroup Data
29.16.2 Looking up one Netgroup
29.16.3 Testing for Netgroup Membership
30.1 Host Identification31. System Configuration Parameters
30.2 Platform Type Identification
30.3 Controlling and Querying Mounts
30.3.1 Mount Information30.4 System Parameters
30.3.1.1 The `fstab' file30.3.2 Mount, Unmount, Remount
30.3.1.2 The `mtab' file
30.3.1.3 Other (Non-libc) Sources of Mount Information
31.1 General Capacity Limits32. DES Encryption and Password Handling
31.2 Overall System Options
31.3 Which Version of POSIX is Supported
31.4 Usingsysconf
31.4.1 Definition of31.5 Minimum Values for General Capacity Limitssysconf
31.4.2 Constants forsysconfParameters
31.4.3 Examples ofsysconf
31.6 Limits on File System Capacity
31.7 Optional Features in File Support
31.8 Minimum Values for File System Limits
31.9 Usingpathconf
31.10 Utility Program Capacity Limits
31.11 Minimum Values for Utility Limits
31.12 String-Valued Parameters
32.1 Legal Problems33. Debugging support
32.2 Reading Passwords
32.3 Encrypting Passwords
32.4 DES Encryption
33.1 Backtraces34. POSIX Threads
34.1 Basic Thread OperationsA. C Language Facilities in the Library
34.2 Thread Attributes
34.3 Cancellation
34.4 Cleanup Handlers
34.5 Mutexes
34.6 Condition Variables
34.7 POSIX Semaphores
34.8 Thread-Specific Data
34.9 Threads and Signal Handling
34.10 Threads and Fork
34.11 Streams and Fork
34.12 Miscellaneous Thread Functions
A.1 Explicitly Checking Internal ConsistencyB. Summary of Library Facilities
A.2 Variadic Functions
A.2.1 Why Variadic Functions are UsedA.3 Null Pointer Constant
A.2.2 How Variadic Functions are Defined and Used
A.2.2.1 Syntax for Variable ArgumentsA.2.3 Example of a Variadic Function
A.2.2.2 Receiving the Argument Values
A.2.2.3 How Many Arguments Were Supplied
A.2.2.4 Calling Variadic Functions
A.2.2.5 Argument Access Macros
A.2.3.1 Old-Style Variadic Functions
A.4 Important Data Types
A.5 Data Type Measurements
A.5.1 Computing the Width of an Integer Data Type
A.5.2 Range of an Integer Type
A.5.3 Floating Type Macros
A.5.3.1 Floating Point Representation ConceptsA.5.4 Structure Field Offset Measurement
A.5.3.2 Floating Point Parameters
A.5.3.3 IEEE Floating Point
C. Installing the GNU C Library
C.1 Configuring and compiling GNU LibcD. Library Maintenance
C.2 Installing the C Library
C.3 Recommended Tools for Compilation
C.4 Supported Configurations
C.5 Specific advice for Linux systems
C.6 Reporting Bugs
D.1 Adding New FunctionsE. Contributors to the GNU C Library
D.2 Porting the GNU C Library
D.2.1 Layout of the `sysdeps' Directory Hierarchy
D.2.2 Porting the GNU C Library to Unix Systems