'xrdef {Introduction-title}{Introduction} 'xrdef {Introduction-pg}{1} 'xrdef {Introduction-snt}{Chapter'tie1} 'xrdef {Getting Started-title}{Getting Started} 'xrdef {Getting Started-pg}{1} 'xrdef {Getting Started-snt}{Section'tie1.1} 'xrdef {Standards and Portability-title}{Standards and Portability} 'xrdef {Standards and Portability-pg}{1} 'xrdef {Standards and Portability-snt}{Section'tie1.2} 'xrdef {ISO C-title}{ISO C} 'xrdef {ISO C-pg}{2} 'xrdef {ISO C-snt}{Section'tie1.2.1} 'xrdef {POSIX-title}{POSIX (The Portable Operating System Interface)} 'xrdef {POSIX-pg}{2} 'xrdef {POSIX-snt}{Section'tie1.2.2} 'xrdef {Berkeley Unix-title}{Berkeley Unix} 'xrdef {Berkeley Unix-pg}{3} 'xrdef {Berkeley Unix-snt}{Section'tie1.2.3} 'xrdef {SVID-title}{SVID (The System V Interface Description)} 'xrdef {SVID-pg}{3} 'xrdef {SVID-snt}{Section'tie1.2.4} 'xrdef {Using the Library-title}{Using the Library} 'xrdef {Using the Library-pg}{4} 'xrdef {Using the Library-snt}{Section'tie1.3} 'xrdef {Header Files-title}{Header Files} 'xrdef {Header Files-pg}{4} 'xrdef {Header Files-snt}{Section'tie1.3.1} 'xrdef {Macro Definitions-title}{Macro Definitions of Functions} 'xrdef {Macro Definitions-pg}{5} 'xrdef {Macro Definitions-snt}{Section'tie1.3.2} 'xrdef {Reserved Names-title}{Reserved Names} 'xrdef {Reserved Names-pg}{6} 'xrdef {Reserved Names-snt}{Section'tie1.3.3} 'xrdef {Feature Test Macros-title}{Feature Test Macros} 'xrdef {Feature Test Macros-pg}{8} 'xrdef {Feature Test Macros-snt}{Section'tie1.3.4} 'xrdef {Roadmap to the Manual-title}{Roadmap to the Manual} 'xrdef {Roadmap to the Manual-pg}{10} 'xrdef {Roadmap to the Manual-snt}{Section'tie1.4} 'xrdef {Error Reporting-title}{Error Reporting} 'xrdef {Error Reporting-pg}{15} 'xrdef {Error Reporting-snt}{Chapter'tie2} 'xrdef {Checking for Errors-title}{Checking for Errors} 'xrdef {Checking for Errors-pg}{15} 'xrdef {Checking for Errors-snt}{Section'tie2.1} 'xrdef {Error Codes-title}{Error Codes} 'xrdef {Error Codes-pg}{16} 'xrdef {Error Codes-snt}{Section'tie2.2} 'xrdef {Error Messages-title}{Error Messages} 'xrdef {Error Messages-pg}{27} 'xrdef {Error Messages-snt}{Section'tie2.3} 'xrdef {Memory Allocation-title}{Memory Allocation} 'xrdef {Memory Allocation-pg}{31} 'xrdef {Memory Allocation-snt}{Chapter'tie3} 'xrdef {Memory Concepts-title}{Dynamic Memory Allocation Concepts} 'xrdef {Memory Concepts-pg}{31} 'xrdef {Memory Concepts-snt}{Section'tie3.1} 'xrdef {Dynamic Allocation and C-title}{Dynamic Allocation and C} 'xrdef {Dynamic Allocation and C-pg}{31} 'xrdef {Dynamic Allocation and C-snt}{Section'tie3.2} 'xrdef {Unconstrained Allocation-title}{Unconstrained Allocation} 'xrdef {Unconstrained Allocation-pg}{32} 'xrdef {Unconstrained Allocation-snt}{Section'tie3.3} 'xrdef {Basic Allocation-title}{Basic Storage Allocation} 'xrdef {Basic Allocation-pg}{32} 'xrdef {Basic Allocation-snt}{Section'tie3.3.1} 'xrdef {Malloc Examples-title}{Examples of \code {malloc}} 'xrdef {Malloc Examples-pg}{33} 'xrdef {Malloc Examples-snt}{Section'tie3.3.2} 'xrdef {Freeing after Malloc-title}{Freeing Memory Allocated with \code {malloc}} 'xrdef {Freeing after Malloc-pg}{34} 'xrdef {Freeing after Malloc-snt}{Section'tie3.3.3} 'xrdef {Changing Block Size-title}{Changing the Size of a Block} 'xrdef {Changing Block Size-pg}{35} 'xrdef {Changing Block Size-snt}{Section'tie3.3.4} 'xrdef {Allocating Cleared Space-title}{Allocating Cleared Space} 'xrdef {Allocating Cleared Space-pg}{36} 'xrdef {Allocating Cleared Space-snt}{Section'tie3.3.5} 'xrdef {Efficiency and Malloc-title}{Efficiency Considerations for \code {malloc}} 'xrdef {Efficiency and Malloc-pg}{37} 'xrdef {Efficiency and Malloc-snt}{Section'tie3.3.6} 'xrdef {Aligned Memory Blocks-title}{Allocating Aligned Memory Blocks} 'xrdef {Aligned Memory Blocks-pg}{37} 'xrdef {Aligned Memory Blocks-snt}{Section'tie3.3.7} 'xrdef {Malloc Tunable Parameters-title}{Malloc Tunable Parameters} 'xrdef {Malloc Tunable Parameters-pg}{38} 'xrdef {Malloc Tunable Parameters-snt}{Section'tie3.3.8} 'xrdef {Heap Consistency Checking-title}{Heap Consistency Checking} 'xrdef {Heap Consistency Checking-pg}{38} 'xrdef {Heap Consistency Checking-snt}{Section'tie3.3.9} 'xrdef {Hooks for Malloc-title}{Storage Allocation Hooks} 'xrdef {Hooks for Malloc-pg}{40} 'xrdef {Hooks for Malloc-snt}{Section'tie3.3.10} 'xrdef {Statistics of Malloc-title}{Statistics for Storage Allocation with \code {malloc}} 'xrdef {Statistics of Malloc-pg}{41} 'xrdef {Statistics of Malloc-snt}{Section'tie3.3.11} 'xrdef {Summary of Malloc-title}{Summary of \code {malloc}-Related Functions} 'xrdef {Summary of Malloc-pg}{42} 'xrdef {Summary of Malloc-snt}{Section'tie3.3.12} 'xrdef {Obstacks-title}{Obstacks} 'xrdef {Obstacks-pg}{43} 'xrdef {Obstacks-snt}{Section'tie3.4} 'xrdef {Creating Obstacks-title}{Creating Obstacks} 'xrdef {Creating Obstacks-pg}{43} 'xrdef {Creating Obstacks-snt}{Section'tie3.4.1} 'xrdef {Preparing for Obstacks-title}{Preparing for Using Obstacks} 'xrdef {Preparing for Obstacks-pg}{44} 'xrdef {Preparing for Obstacks-snt}{Section'tie3.4.2} 'xrdef {Allocation in an Obstack-title}{Allocation in an Obstack} 'xrdef {Allocation in an Obstack-pg}{45} 'xrdef {Allocation in an Obstack-snt}{Section'tie3.4.3} 'xrdef {Freeing Obstack Objects-title}{Freeing Objects in an Obstack} 'xrdef {Freeing Obstack Objects-pg}{46} 'xrdef {Freeing Obstack Objects-snt}{Section'tie3.4.4} 'xrdef {Obstack Functions-title}{Obstack Functions and Macros} 'xrdef {Obstack Functions-pg}{47} 'xrdef {Obstack Functions-snt}{Section'tie3.4.5} 'xrdef {Growing Objects-title}{Growing Objects} 'xrdef {Growing Objects-pg}{48} 'xrdef {Growing Objects-snt}{Section'tie3.4.6} 'xrdef {Extra Fast Growing-title}{Extra Fast Growing Objects} 'xrdef {Extra Fast Growing-pg}{49} 'xrdef {Extra Fast Growing-snt}{Section'tie3.4.7} 'xrdef {Status of an Obstack-title}{Status of an Obstack} 'xrdef {Status of an Obstack-pg}{51} 'xrdef {Status of an Obstack-snt}{Section'tie3.4.8} 'xrdef {Obstacks Data Alignment-title}{Alignment of Data in Obstacks} 'xrdef {Obstacks Data Alignment-pg}{52} 'xrdef {Obstacks Data Alignment-snt}{Section'tie3.4.9} 'xrdef {Obstack Chunks-title}{Obstack Chunks} 'xrdef {Obstack Chunks-pg}{52} 'xrdef {Obstack Chunks-snt}{Section'tie3.4.10} 'xrdef {Summary of Obstacks-title}{Summary of Obstack Functions} 'xrdef {Summary of Obstacks-pg}{53} 'xrdef {Summary of Obstacks-snt}{Section'tie3.4.11} 'xrdef {Variable Size Automatic-title}{Automatic Storage with Variable Size} 'xrdef {Variable Size Automatic-pg}{55} 'xrdef {Variable Size Automatic-snt}{Section'tie3.5} 'xrdef {Alloca Example-title}{\code {alloca} Example} 'xrdef {Alloca Example-pg}{55} 'xrdef {Alloca Example-snt}{Section'tie3.5.1} 'xrdef {Advantages of Alloca-title}{Advantages of \code {alloca}} 'xrdef {Advantages of Alloca-pg}{56} 'xrdef {Advantages of Alloca-snt}{Section'tie3.5.2} 'xrdef {Disadvantages of Alloca-title}{Disadvantages of \code {alloca}} 'xrdef {Disadvantages of Alloca-pg}{57} 'xrdef {Disadvantages of Alloca-snt}{Section'tie3.5.3} 'xrdef {GNU C Variable-Size Arrays-title}{GNU C Variable-Size Arrays} 'xrdef {GNU C Variable-Size Arrays-pg}{57} 'xrdef {GNU C Variable-Size Arrays-snt}{Section'tie3.5.4} 'xrdef {Relocating Allocator-title}{Relocating Allocator} 'xrdef {Relocating Allocator-pg}{58} 'xrdef {Relocating Allocator-snt}{Section'tie3.6} 'xrdef {Relocator Concepts-title}{Concepts of Relocating Allocation} 'xrdef {Relocator Concepts-pg}{58} 'xrdef {Relocator Concepts-snt}{Section'tie3.6.1} 'xrdef {Using Relocator-title}{Allocating and Freeing Relocatable Blocks} 'xrdef {Using Relocator-pg}{58} 'xrdef {Using Relocator-snt}{Section'tie3.6.2} 'xrdef {Character Handling-title}{Character Handling} 'xrdef {Character Handling-pg}{61} 'xrdef {Character Handling-snt}{Chapter'tie4} 'xrdef {Classification of Characters-title}{Classification of Characters} 'xrdef {Classification of Characters-pg}{61} 'xrdef {Classification of Characters-snt}{Section'tie4.1} 'xrdef {Case Conversion-title}{Case Conversion} 'xrdef {Case Conversion-pg}{63} 'xrdef {Case Conversion-snt}{Section'tie4.2} 'xrdef {String and Array Utilities-title}{String and Array Utilities} 'xrdef {String and Array Utilities-pg}{65} 'xrdef {String and Array Utilities-snt}{Chapter'tie5} 'xrdef {Representation of Strings-title}{Representation of Strings} 'xrdef {Representation of Strings-pg}{65} 'xrdef {Representation of Strings-snt}{Section'tie5.1} 'xrdef {String/Array Conventions-title}{String and Array Conventions} 'xrdef {String/Array Conventions-pg}{66} 'xrdef {String/Array Conventions-snt}{Section'tie5.2} 'xrdef {String Length-title}{String Length} 'xrdef {String Length-pg}{67} 'xrdef {String Length-snt}{Section'tie5.3} 'xrdef {Copying and Concatenation-title}{Copying and Concatenation} 'xrdef {Copying and Concatenation-pg}{67} 'xrdef {Copying and Concatenation-snt}{Section'tie5.4} 'xrdef {String/Array Comparison-title}{String/Array Comparison} 'xrdef {String/Array Comparison-pg}{72} 'xrdef {String/Array Comparison-snt}{Section'tie5.5} 'xrdef {Collation Functions-title}{Collation Functions} 'xrdef {Collation Functions-pg}{75} 'xrdef {Collation Functions-snt}{Section'tie5.6} 'xrdef {Search Functions-title}{Search Functions} 'xrdef {Search Functions-pg}{78} 'xrdef {Search Functions-snt}{Section'tie5.7} 'xrdef {Finding Tokens in a String-title}{Finding Tokens in a String} 'xrdef {Finding Tokens in a String-pg}{80} 'xrdef {Finding Tokens in a String-snt}{Section'tie5.8} 'xrdef {I/O Overview-title}{Input/Output Overview} 'xrdef {I/O Overview-pg}{85} 'xrdef {I/O Overview-snt}{Chapter'tie6} 'xrdef {I/O Concepts-title}{Input/Output Concepts} 'xrdef {I/O Concepts-pg}{85} 'xrdef {I/O Concepts-snt}{Section'tie6.1} 'xrdef {Streams and File Descriptors-title}{Streams and File Descriptors} 'xrdef {Streams and File Descriptors-pg}{85} 'xrdef {Streams and File Descriptors-snt}{Section'tie6.1.1} 'xrdef {File Position-title}{File Position} 'xrdef {File Position-pg}{87} 'xrdef {File Position-snt}{Section'tie6.1.2} 'xrdef {File Names-title}{File Names} 'xrdef {File Names-pg}{87} 'xrdef {File Names-snt}{Section'tie6.2} 'xrdef {Directories-title}{Directories} 'xrdef {Directories-pg}{88} 'xrdef {Directories-snt}{Section'tie6.2.1} 'xrdef {File Name Resolution-title}{File Name Resolution} 'xrdef {File Name Resolution-pg}{88} 'xrdef {File Name Resolution-snt}{Section'tie6.2.2} 'xrdef {File Name Errors-title}{File Name Errors} 'xrdef {File Name Errors-pg}{89} 'xrdef {File Name Errors-snt}{Section'tie6.2.3} 'xrdef {File Name Portability-title}{Portability of File Names} 'xrdef {File Name Portability-pg}{90} 'xrdef {File Name Portability-snt}{Section'tie6.2.4} 'xrdef {I/O on Streams-title}{Input/Output on Streams} 'xrdef {I/O on Streams-pg}{93} 'xrdef {I/O on Streams-snt}{Chapter'tie7} 'xrdef {Streams-title}{Streams} 'xrdef {Streams-pg}{93} 'xrdef {Streams-snt}{Section'tie7.1} 'xrdef {Standard Streams-title}{Standard Streams} 'xrdef {Standard Streams-pg}{93} 'xrdef {Standard Streams-snt}{Section'tie7.2} 'xrdef {Opening Streams-title}{Opening Streams} 'xrdef {Opening Streams-pg}{94} 'xrdef {Opening Streams-snt}{Section'tie7.3} 'xrdef {Closing Streams-title}{Closing Streams} 'xrdef {Closing Streams-pg}{96} 'xrdef {Closing Streams-snt}{Section'tie7.4} 'xrdef {Simple Output-title}{Simple Output by Characters or Lines} 'xrdef {Simple Output-pg}{97} 'xrdef {Simple Output-snt}{Section'tie7.5} 'xrdef {Character Input-title}{Character Input} 'xrdef {Character Input-pg}{98} 'xrdef {Character Input-snt}{Section'tie7.6} 'xrdef {Line Input-title}{Line-Oriented Input} 'xrdef {Line Input-pg}{100} 'xrdef {Line Input-snt}{Section'tie7.7} 'xrdef {Unreading-title}{Unreading} 'xrdef {Unreading-pg}{102} 'xrdef {Unreading-snt}{Section'tie7.8} 'xrdef {Unreading Idea-title}{What Unreading Means} 'xrdef {Unreading Idea-pg}{102} 'xrdef {Unreading Idea-snt}{Section'tie7.8.1} 'xrdef {How Unread-title}{Using \code {ungetc} To Do Unreading} 'xrdef {How Unread-pg}{103} 'xrdef {How Unread-snt}{Section'tie7.8.2} 'xrdef {Block Input/Output-title}{Block Input/Output} 'xrdef {Block Input/Output-pg}{104} 'xrdef {Block Input/Output-snt}{Section'tie7.9} 'xrdef {Formatted Output-title}{Formatted Output} 'xrdef {Formatted Output-pg}{105} 'xrdef {Formatted Output-snt}{Section'tie7.10} 'xrdef {Formatted Output Basics-title}{Formatted Output Basics} 'xrdef {Formatted Output Basics-pg}{105} 'xrdef {Formatted Output Basics-snt}{Section'tie7.10.1} 'xrdef {Output Conversion Syntax-title}{Output Conversion Syntax} 'xrdef {Output Conversion Syntax-pg}{106} 'xrdef {Output Conversion Syntax-snt}{Section'tie7.10.2} 'xrdef {Table of Output Conversions-title}{Table of Output Conversions} 'xrdef {Table of Output Conversions-pg}{107} 'xrdef {Table of Output Conversions-snt}{Section'tie7.10.3} 'xrdef {Integer Conversions-title}{Integer Conversions} 'xrdef {Integer Conversions-pg}{108} 'xrdef {Integer Conversions-snt}{Section'tie7.10.4} 'xrdef {Floating-Point Conversions-title}{Floating-Point Conversions} 'xrdef {Floating-Point Conversions-pg}{110} 'xrdef {Floating-Point Conversions-snt}{Section'tie7.10.5} 'xrdef {Other Output Conversions-title}{Other Output Conversions} 'xrdef {Other Output Conversions-pg}{112} 'xrdef {Other Output Conversions-snt}{Section'tie7.10.6} 'xrdef {Formatted Output Functions-title}{Formatted Output Functions} 'xrdef {Formatted Output Functions-pg}{113} 'xrdef {Formatted Output Functions-snt}{Section'tie7.10.7} 'xrdef {Dynamic Output-title}{Dynamically Allocating Formatted Output} 'xrdef {Dynamic Output-pg}{115} 'xrdef {Dynamic Output-snt}{Section'tie7.10.8} 'xrdef {Variable Arguments Output-title}{Variable Arguments Output Functions} 'xrdef {Variable Arguments Output-pg}{115} 'xrdef {Variable Arguments Output-snt}{Section'tie7.10.9} 'xrdef {Parsing a Template String-title}{Parsing a Template String} 'xrdef {Parsing a Template String-pg}{118} 'xrdef {Parsing a Template String-snt}{Section'tie7.10.10} 'xrdef {Example of Parsing-title}{Example of Parsing a Template String} 'xrdef {Example of Parsing-pg}{119} 'xrdef {Example of Parsing-snt}{Section'tie7.10.11} 'xrdef {Customizing Printf-title}{Customizing \code {printf}} 'xrdef {Customizing Printf-pg}{121} 'xrdef {Customizing Printf-snt}{Section'tie7.11} 'xrdef {Registering New Conversions-title}{Registering New Conversions} 'xrdef {Registering New Conversions-pg}{121} 'xrdef {Registering New Conversions-snt}{Section'tie7.11.1} 'xrdef {Conversion Specifier Options-title}{Conversion Specifier Options} 'xrdef {Conversion Specifier Options-pg}{122} 'xrdef {Conversion Specifier Options-snt}{Section'tie7.11.2} 'xrdef {Defining the Output Handler-title}{Defining the Output Handler} 'xrdef {Defining the Output Handler-pg}{124} 'xrdef {Defining the Output Handler-snt}{Section'tie7.11.3} 'xrdef {Printf Extension Example-title}{\code {printf} Extension Example} 'xrdef {Printf Extension Example-pg}{125} 'xrdef {Printf Extension Example-snt}{Section'tie7.11.4} 'xrdef {Formatted Input-title}{Formatted Input} 'xrdef {Formatted Input-pg}{126} 'xrdef {Formatted Input-snt}{Section'tie7.12} 'xrdef {Formatted Input Basics-title}{Formatted Input Basics} 'xrdef {Formatted Input Basics-pg}{127} 'xrdef {Formatted Input Basics-snt}{Section'tie7.12.1} 'xrdef {Input Conversion Syntax-title}{Input Conversion Syntax} 'xrdef {Input Conversion Syntax-pg}{128} 'xrdef {Input Conversion Syntax-snt}{Section'tie7.12.2} 'xrdef {Table of Input Conversions-title}{Table of Input Conversions} 'xrdef {Table of Input Conversions-pg}{129} 'xrdef {Table of Input Conversions-snt}{Section'tie7.12.3} 'xrdef {Numeric Input Conversions-title}{Numeric Input Conversions} 'xrdef {Numeric Input Conversions-pg}{130} 'xrdef {Numeric Input Conversions-snt}{Section'tie7.12.4} 'xrdef {String Input Conversions-title}{String Input Conversions} 'xrdef {String Input Conversions-pg}{131} 'xrdef {String Input Conversions-snt}{Section'tie7.12.5} 'xrdef {Dynamic String Input-title}{Dynamically Allocating String Conversions} 'xrdef {Dynamic String Input-pg}{133} 'xrdef {Dynamic String Input-snt}{Section'tie7.12.6} 'xrdef {Other Input Conversions-title}{Other Input Conversions} 'xrdef {Other Input Conversions-pg}{133} 'xrdef {Other Input Conversions-snt}{Section'tie7.12.7} 'xrdef {Formatted Input Functions-title}{Formatted Input Functions} 'xrdef {Formatted Input Functions-pg}{134} 'xrdef {Formatted Input Functions-snt}{Section'tie7.12.8} 'xrdef {Variable Arguments Input-title}{Variable Arguments Input Functions} 'xrdef {Variable Arguments Input-pg}{135} 'xrdef {Variable Arguments Input-snt}{Section'tie7.12.9} 'xrdef {EOF and Errors-title}{End-Of-File and Errors} 'xrdef {EOF and Errors-pg}{135} 'xrdef {EOF and Errors-snt}{Section'tie7.13} 'xrdef {Binary Streams-title}{Text and Binary Streams} 'xrdef {Binary Streams-pg}{136} 'xrdef {Binary Streams-snt}{Section'tie7.14} 'xrdef {File Positioning-title}{File Positioning} 'xrdef {File Positioning-pg}{137} 'xrdef {File Positioning-snt}{Section'tie7.15} 'xrdef {Portable Positioning-title}{Portable File-Position Functions} 'xrdef {Portable Positioning-pg}{139} 'xrdef {Portable Positioning-snt}{Section'tie7.16} 'xrdef {Stream Buffering-title}{Stream Buffering} 'xrdef {Stream Buffering-pg}{140} 'xrdef {Stream Buffering-snt}{Section'tie7.17} 'xrdef {Buffering Concepts-title}{Buffering Concepts} 'xrdef {Buffering Concepts-pg}{140} 'xrdef {Buffering Concepts-snt}{Section'tie7.17.1} 'xrdef {Flushing Buffers-title}{Flushing Buffers} 'xrdef {Flushing Buffers-pg}{141} 'xrdef {Flushing Buffers-snt}{Section'tie7.17.2} 'xrdef {Controlling Buffering-title}{Controlling Which Kind of Buffering} 'xrdef {Controlling Buffering-pg}{142} 'xrdef {Controlling Buffering-snt}{Section'tie7.17.3} 'xrdef {Other Kinds of Streams-title}{Other Kinds of Streams} 'xrdef {Other Kinds of Streams-pg}{144} 'xrdef {Other Kinds of Streams-snt}{Section'tie7.18} 'xrdef {String Streams-title}{String Streams} 'xrdef {String Streams-pg}{144} 'xrdef {String Streams-snt}{Section'tie7.18.1} 'xrdef {Obstack Streams-title}{Obstack Streams} 'xrdef {Obstack Streams-pg}{146} 'xrdef {Obstack Streams-snt}{Section'tie7.18.2} 'xrdef {Custom Streams-title}{Programming Your Own Custom Streams} 'xrdef {Custom Streams-pg}{147} 'xrdef {Custom Streams-snt}{Section'tie7.18.3} 'xrdef {Streams and Cookies-title}{Custom Streams and Cookies} 'xrdef {Streams and Cookies-pg}{147} 'xrdef {Streams and Cookies-snt}{Section'tie7.18.3.1} 'xrdef {Hook Functions-title}{Custom Stream Hook Functions} 'xrdef {Hook Functions-pg}{149} 'xrdef {Hook Functions-snt}{Section'tie7.18.3.2} 'xrdef {Low-Level I/O-title}{Low-Level Input/Output} 'xrdef {Low-Level I/O-pg}{151} 'xrdef {Low-Level I/O-snt}{Chapter'tie8} 'xrdef {Opening and Closing Files-title}{Opening and Closing Files} 'xrdef {Opening and Closing Files-pg}{151} 'xrdef {Opening and Closing Files-snt}{Section'tie8.1} 'xrdef {I/O Primitives-title}{Input and Output Primitives} 'xrdef {I/O Primitives-pg}{153} 'xrdef {I/O Primitives-snt}{Section'tie8.2} 'xrdef {File Position Primitive-title}{Setting the File Position of a Descriptor} 'xrdef {File Position Primitive-pg}{156} 'xrdef {File Position Primitive-snt}{Section'tie8.3} 'xrdef {Descriptors and Streams-title}{Descriptors and Streams} 'xrdef {Descriptors and Streams-pg}{159} 'xrdef {Descriptors and Streams-snt}{Section'tie8.4} 'xrdef {Stream/Descriptor Precautions-title}{Dangers of Mixing Streams and Descriptors} 'xrdef {Stream/Descriptor Precautions-pg}{160} 'xrdef {Stream/Descriptor Precautions-snt}{Section'tie8.5} 'xrdef {Linked Channels-title}{Linked Channels} 'xrdef {Linked Channels-pg}{160} 'xrdef {Linked Channels-snt}{Section'tie8.5.1} 'xrdef {Independent Channels-title}{Independent Channels} 'xrdef {Independent Channels-pg}{160} 'xrdef {Independent Channels-snt}{Section'tie8.5.2} 'xrdef {Cleaning Streams-title}{Cleaning Streams} 'xrdef {Cleaning Streams-pg}{161} 'xrdef {Cleaning Streams-snt}{Section'tie8.5.3} 'xrdef {Waiting for I/O-title}{Waiting for Input or Output} 'xrdef {Waiting for I/O-pg}{162} 'xrdef {Waiting for I/O-snt}{Section'tie8.6} 'xrdef {Control Operations-title}{Control Operations on Files} 'xrdef {Control Operations-pg}{165} 'xrdef {Control Operations-snt}{Section'tie8.7} 'xrdef {Duplicating Descriptors-title}{Duplicating Descriptors} 'xrdef {Duplicating Descriptors-pg}{166} 'xrdef {Duplicating Descriptors-snt}{Section'tie8.8} 'xrdef {Descriptor Flags-title}{File Descriptor Flags} 'xrdef {Descriptor Flags-pg}{168} 'xrdef {Descriptor Flags-snt}{Section'tie8.9} 'xrdef {File Status Flags-title}{File Status Flags} 'xrdef {File Status Flags-pg}{170} 'xrdef {File Status Flags-snt}{Section'tie8.10} 'xrdef {Access Modes-title}{File Access Modes} 'xrdef {Access Modes-pg}{170} 'xrdef {Access Modes-snt}{Section'tie8.10.1} 'xrdef {Open-time Flags-title}{Open-time Flags} 'xrdef {Open-time Flags-pg}{171} 'xrdef {Open-time Flags-snt}{Section'tie8.10.2} 'xrdef {Operating Modes-title}{I/O Operating Modes} 'xrdef {Operating Modes-pg}{173} 'xrdef {Operating Modes-snt}{Section'tie8.10.3} 'xrdef {Getting File Status Flags-title}{Getting and Setting File Status Flags} 'xrdef {Getting File Status Flags-pg}{174} 'xrdef {Getting File Status Flags-snt}{Section'tie8.10.4} 'xrdef {File Locks-title}{File Locks} 'xrdef {File Locks-pg}{175} 'xrdef {File Locks-snt}{Section'tie8.11} 'xrdef {Interrupt Input-title}{Interrupt-Driven Input} 'xrdef {Interrupt Input-pg}{179} 'xrdef {Interrupt Input-snt}{Section'tie8.12} 'xrdef {File System Interface-title}{File System Interface} 'xrdef {File System Interface-pg}{181} 'xrdef {File System Interface-snt}{Chapter'tie9} 'xrdef {Working Directory-title}{Working Directory} 'xrdef {Working Directory-pg}{181} 'xrdef {Working Directory-snt}{Section'tie9.1} 'xrdef {Accessing Directories-title}{Accessing Directories} 'xrdef {Accessing Directories-pg}{183} 'xrdef {Accessing Directories-snt}{Section'tie9.2} 'xrdef {Directory Entries-title}{Format of a Directory Entry} 'xrdef {Directory Entries-pg}{183} 'xrdef {Directory Entries-snt}{Section'tie9.2.1} 'xrdef {Opening a Directory-title}{Opening a Directory Stream} 'xrdef {Opening a Directory-pg}{184} 'xrdef {Opening a Directory-snt}{Section'tie9.2.2} 'xrdef {Reading/Closing Directory-title}{Reading and Closing a Directory Stream} 'xrdef {Reading/Closing Directory-pg}{185} 'xrdef {Reading/Closing Directory-snt}{Section'tie9.2.3} 'xrdef {Simple Directory Lister-title}{Simple Program to List a Directory} 'xrdef {Simple Directory Lister-pg}{186} 'xrdef {Simple Directory Lister-snt}{Section'tie9.2.4} 'xrdef {Random Access Directory-title}{Random Access in a Directory Stream} 'xrdef {Random Access Directory-pg}{187} 'xrdef {Random Access Directory-snt}{Section'tie9.2.5} 'xrdef {Scanning Directory Content-title}{Scanning the Content of a Directory} 'xrdef {Scanning Directory Content-pg}{187} 'xrdef {Scanning Directory Content-snt}{Section'tie9.2.6} 'xrdef {Simple Directory Lister Mark II-title}{Simple Program to List a Directory, Mark II} 'xrdef {Simple Directory Lister Mark II-pg}{188} 'xrdef {Simple Directory Lister Mark II-snt}{Section'tie9.2.7} 'xrdef {Hard Links-title}{Hard Links} 'xrdef {Hard Links-pg}{189} 'xrdef {Hard Links-snt}{Section'tie9.3} 'xrdef {Symbolic Links-title}{Symbolic Links} 'xrdef {Symbolic Links-pg}{190} 'xrdef {Symbolic Links-snt}{Section'tie9.4} 'xrdef {Deleting Files-title}{Deleting Files} 'xrdef {Deleting Files-pg}{192} 'xrdef {Deleting Files-snt}{Section'tie9.5} 'xrdef {Renaming Files-title}{Renaming Files} 'xrdef {Renaming Files-pg}{193} 'xrdef {Renaming Files-snt}{Section'tie9.6} 'xrdef {Creating Directories-title}{Creating Directories} 'xrdef {Creating Directories-pg}{194} 'xrdef {Creating Directories-snt}{Section'tie9.7} 'xrdef {File Attributes-title}{File Attributes} 'xrdef {File Attributes-pg}{195} 'xrdef {File Attributes-snt}{Section'tie9.8} 'xrdef {Attribute Meanings-title}{What the File Attribute Values Mean} 'xrdef {Attribute Meanings-pg}{195} 'xrdef {Attribute Meanings-snt}{Section'tie9.8.1} 'xrdef {Reading Attributes-title}{Reading the Attributes of a File} 'xrdef {Reading Attributes-pg}{198} 'xrdef {Reading Attributes-snt}{Section'tie9.8.2} 'xrdef {Testing File Type-title}{Testing the Type of a File} 'xrdef {Testing File Type-pg}{199} 'xrdef {Testing File Type-snt}{Section'tie9.8.3} 'xrdef {File Owner-title}{File Owner} 'xrdef {File Owner-pg}{200} 'xrdef {File Owner-snt}{Section'tie9.8.4} 'xrdef {Permission Bits-title}{The Mode Bits for Access Permission} 'xrdef {Permission Bits-pg}{202} 'xrdef {Permission Bits-snt}{Section'tie9.8.5} 'xrdef {Access Permission-title}{How Your Access to a File is Decided} 'xrdef {Access Permission-pg}{204} 'xrdef {Access Permission-snt}{Section'tie9.8.6} 'xrdef {Setting Permissions-title}{Assigning File Permissions} 'xrdef {Setting Permissions-pg}{204} 'xrdef {Setting Permissions-snt}{Section'tie9.8.7} 'xrdef {Testing File Access-title}{Testing Permission to Access a File} 'xrdef {Testing File Access-pg}{206} 'xrdef {Testing File Access-snt}{Section'tie9.8.8} 'xrdef {File Times-title}{File Times} 'xrdef {File Times-pg}{208} 'xrdef {File Times-snt}{Section'tie9.8.9} 'xrdef {Making Special Files-title}{Making Special Files} 'xrdef {Making Special Files-pg}{210} 'xrdef {Making Special Files-snt}{Section'tie9.9} 'xrdef {Temporary Files-title}{Temporary Files} 'xrdef {Temporary Files-pg}{210} 'xrdef {Temporary Files-snt}{Section'tie9.10} 'xrdef {Pipes and FIFOs-title}{Pipes and FIFOs} 'xrdef {Pipes and FIFOs-pg}{215} 'xrdef {Pipes and FIFOs-snt}{Chapter'tie10} 'xrdef {Creating a Pipe-title}{Creating a Pipe} 'xrdef {Creating a Pipe-pg}{215} 'xrdef {Creating a Pipe-snt}{Section'tie10.1} 'xrdef {Pipe to a Subprocess-title}{Pipe to a Subprocess} 'xrdef {Pipe to a Subprocess-pg}{217} 'xrdef {Pipe to a Subprocess-snt}{Section'tie10.2} 'xrdef {FIFO Special Files-title}{FIFO Special Files} 'xrdef {FIFO Special Files-pg}{219} 'xrdef {FIFO Special Files-snt}{Section'tie10.3} 'xrdef {Pipe Atomicity-title}{Atomicity of Pipe I/O} 'xrdef {Pipe Atomicity-pg}{220} 'xrdef {Pipe Atomicity-snt}{Section'tie10.4} 'xrdef {Sockets-title}{Sockets} 'xrdef {Sockets-pg}{221} 'xrdef {Sockets-snt}{Chapter'tie11} 'xrdef {Socket Concepts-title}{Socket Concepts} 'xrdef {Socket Concepts-pg}{221} 'xrdef {Socket Concepts-snt}{Section'tie11.1} 'xrdef {Communication Styles-title}{Communication Styles} 'xrdef {Communication Styles-pg}{222} 'xrdef {Communication Styles-snt}{Section'tie11.2} 'xrdef {Socket Addresses-title}{Socket Addresses} 'xrdef {Socket Addresses-pg}{223} 'xrdef {Socket Addresses-snt}{Section'tie11.3} 'xrdef {Address Formats-title}{Address Formats} 'xrdef {Address Formats-pg}{224} 'xrdef {Address Formats-snt}{Section'tie11.3.1} 'xrdef {Setting Address-title}{Setting the Address of a Socket} 'xrdef {Setting Address-pg}{225} 'xrdef {Setting Address-snt}{Section'tie11.3.2} 'xrdef {Reading Address-title}{Reading the Address of a Socket} 'xrdef {Reading Address-pg}{226} 'xrdef {Reading Address-snt}{Section'tie11.3.3} 'xrdef {File Namespace-title}{The File Namespace} 'xrdef {File Namespace-pg}{227} 'xrdef {File Namespace-snt}{Section'tie11.4} 'xrdef {File Namespace Concepts-title}{File Namespace Concepts} 'xrdef {File Namespace Concepts-pg}{227} 'xrdef {File Namespace Concepts-snt}{Section'tie11.4.1} 'xrdef {File Namespace Details-title}{Details of File Namespace} 'xrdef {File Namespace Details-pg}{227} 'xrdef {File Namespace Details-snt}{Section'tie11.4.2} 'xrdef {File Socket Example-title}{Example of File-Namespace Sockets} 'xrdef {File Socket Example-pg}{228} 'xrdef {File Socket Example-snt}{Section'tie11.4.3} 'xrdef {Internet Namespace-title}{The Internet Namespace} 'xrdef {Internet Namespace-pg}{229} 'xrdef {Internet Namespace-snt}{Section'tie11.5} 'xrdef {Internet Address Formats-title}{Internet Socket Address Formats} 'xrdef {Internet Address Formats-pg}{230} 'xrdef {Internet Address Formats-snt}{Section'tie11.5.1} 'xrdef {Host Addresses-title}{Host Addresses} 'xrdef {Host Addresses-pg}{231} 'xrdef {Host Addresses-snt}{Section'tie11.5.2} 'xrdef {Abstract Host Addresses-title}{Internet Host Addresses} 'xrdef {Abstract Host Addresses-pg}{231} 'xrdef {Abstract Host Addresses-snt}{Section'tie11.5.2.1} 'xrdef {Host Address Data Type-title}{Host Address Data Type} 'xrdef {Host Address Data Type-pg}{232} 'xrdef {Host Address Data Type-snt}{Section'tie11.5.2.2} 'xrdef {Host Address Functions-title}{Host Address Functions} 'xrdef {Host Address Functions-pg}{233} 'xrdef {Host Address Functions-snt}{Section'tie11.5.2.3} 'xrdef {Host Names-title}{Host Names} 'xrdef {Host Names-pg}{235} 'xrdef {Host Names-snt}{Section'tie11.5.2.4} 'xrdef {Ports-title}{Internet Ports} 'xrdef {Ports-pg}{237} 'xrdef {Ports-snt}{Section'tie11.5.3} 'xrdef {Services Database-title}{The Services Database} 'xrdef {Services Database-pg}{238} 'xrdef {Services Database-snt}{Section'tie11.5.4} 'xrdef {Byte Order-title}{Byte Order Conversion} 'xrdef {Byte Order-pg}{239} 'xrdef {Byte Order-snt}{Section'tie11.5.5} 'xrdef {Protocols Database-title}{Protocols Database} 'xrdef {Protocols Database-pg}{240} 'xrdef {Protocols Database-snt}{Section'tie11.5.6} 'xrdef {Inet Example-title}{Internet Socket Example} 'xrdef {Inet Example-pg}{242} 'xrdef {Inet Example-snt}{Section'tie11.5.7} 'xrdef {Misc Namespaces-title}{Other Namespaces} 'xrdef {Misc Namespaces-pg}{243} 'xrdef {Misc Namespaces-snt}{Section'tie11.6} 'xrdef {Open/Close Sockets-title}{Opening and Closing Sockets} 'xrdef {Open/Close Sockets-pg}{244} 'xrdef {Open/Close Sockets-snt}{Section'tie11.7} 'xrdef {Creating a Socket-title}{Creating a Socket} 'xrdef {Creating a Socket-pg}{244} 'xrdef {Creating a Socket-snt}{Section'tie11.7.1} 'xrdef {Closing a Socket-title}{Closing a Socket} 'xrdef {Closing a Socket-pg}{244} 'xrdef {Closing a Socket-snt}{Section'tie11.7.2} 'xrdef {Socket Pairs-title}{Socket Pairs} 'xrdef {Socket Pairs-pg}{245} 'xrdef {Socket Pairs-snt}{Section'tie11.7.3} 'xrdef {Connections-title}{Using Sockets with Connections} 'xrdef {Connections-pg}{246} 'xrdef {Connections-snt}{Section'tie11.8} 'xrdef {Connecting-title}{Making a Connection} 'xrdef {Connecting-pg}{246} 'xrdef {Connecting-snt}{Section'tie11.8.1} 'xrdef {Listening-title}{Listening for Connections} 'xrdef {Listening-pg}{248} 'xrdef {Listening-snt}{Section'tie11.8.2} 'xrdef {Accepting Connections-title}{Accepting Connections} 'xrdef {Accepting Connections-pg}{248} 'xrdef {Accepting Connections-snt}{Section'tie11.8.3} 'xrdef {Who is Connected-title}{Who is Connected to Me?} 'xrdef {Who is Connected-pg}{250} 'xrdef {Who is Connected-snt}{Section'tie11.8.4} 'xrdef {Transferring Data-title}{Transferring Data} 'xrdef {Transferring Data-pg}{250} 'xrdef {Transferring Data-snt}{Section'tie11.8.5} 'xrdef {Sending Data-title}{Sending Data} 'xrdef {Sending Data-pg}{250} 'xrdef {Sending Data-snt}{Section'tie11.8.5.1} 'xrdef {Receiving Data-title}{Receiving Data} 'xrdef {Receiving Data-pg}{251} 'xrdef {Receiving Data-snt}{Section'tie11.8.5.2} 'xrdef {Socket Data Options-title}{Socket Data Options} 'xrdef {Socket Data Options-pg}{252} 'xrdef {Socket Data Options-snt}{Section'tie11.8.5.3} 'xrdef {Byte Stream Example-title}{Byte Stream Socket Example} 'xrdef {Byte Stream Example-pg}{252} 'xrdef {Byte Stream Example-snt}{Section'tie11.8.6} 'xrdef {Server Example-title}{Byte Stream Connection Server Example} 'xrdef {Server Example-pg}{254} 'xrdef {Server Example-snt}{Section'tie11.8.7} 'xrdef {Out-of-Band Data-title}{Out-of-Band Data} 'xrdef {Out-of-Band Data-pg}{257} 'xrdef {Out-of-Band Data-snt}{Section'tie11.8.8} 'xrdef {Datagrams-title}{Datagram Socket Operations} 'xrdef {Datagrams-pg}{260} 'xrdef {Datagrams-snt}{Section'tie11.9} 'xrdef {Sending Datagrams-title}{Sending Datagrams} 'xrdef {Sending Datagrams-pg}{260} 'xrdef {Sending Datagrams-snt}{Section'tie11.9.1} 'xrdef {Receiving Datagrams-title}{Receiving Datagrams} 'xrdef {Receiving Datagrams-pg}{261} 'xrdef {Receiving Datagrams-snt}{Section'tie11.9.2} 'xrdef {Datagram Example-title}{Datagram Socket Example} 'xrdef {Datagram Example-pg}{262} 'xrdef {Datagram Example-snt}{Section'tie11.9.3} 'xrdef {Example Receiver-title}{Example of Reading Datagrams} 'xrdef {Example Receiver-pg}{263} 'xrdef {Example Receiver-snt}{Section'tie11.9.4} 'xrdef {Inetd-title}{The \code {inetd} Daemon} 'xrdef {Inetd-pg}{264} 'xrdef {Inetd-snt}{Section'tie11.10} 'xrdef {Inetd Servers-title}{\code {inetd} Servers} 'xrdef {Inetd Servers-pg}{265} 'xrdef {Inetd Servers-snt}{Section'tie11.10.1} 'xrdef {Configuring Inetd-title}{Configuring \code {inetd}} 'xrdef {Configuring Inetd-pg}{265} 'xrdef {Configuring Inetd-snt}{Section'tie11.10.2} 'xrdef {Socket Options-title}{Socket Options} 'xrdef {Socket Options-pg}{266} 'xrdef {Socket Options-snt}{Section'tie11.11} 'xrdef {Socket Option Functions-title}{Socket Option Functions} 'xrdef {Socket Option Functions-pg}{266} 'xrdef {Socket Option Functions-snt}{Section'tie11.11.1} 'xrdef {Socket-Level Options-title}{Socket-Level Options} 'xrdef {Socket-Level Options-pg}{267} 'xrdef {Socket-Level Options-snt}{Section'tie11.11.2} 'xrdef {Networks Database-title}{Networks Database} 'xrdef {Networks Database-pg}{269} 'xrdef {Networks Database-snt}{Section'tie11.12} 'xrdef {Low-Level Terminal Interface-title}{Low-Level Terminal Interface} 'xrdef {Low-Level Terminal Interface-pg}{271} 'xrdef {Low-Level Terminal Interface-snt}{Chapter'tie12} 'xrdef {Is It a Terminal-title}{Identifying Terminals} 'xrdef {Is It a Terminal-pg}{271} 'xrdef {Is It a Terminal-snt}{Section'tie12.1} 'xrdef {I/O Queues-title}{I/O Queues} 'xrdef {I/O Queues-pg}{271} 'xrdef {I/O Queues-snt}{Section'tie12.2} 'xrdef {Canonical or Not-title}{Two Styles of Input: Canonical or Not} 'xrdef {Canonical or Not-pg}{272} 'xrdef {Canonical or Not-snt}{Section'tie12.3} 'xrdef {Terminal Modes-title}{Terminal Modes} 'xrdef {Terminal Modes-pg}{273} 'xrdef {Terminal Modes-snt}{Section'tie12.4} 'xrdef {Mode Data Types-title}{Terminal Mode Data Types} 'xrdef {Mode Data Types-pg}{273} 'xrdef {Mode Data Types-snt}{Section'tie12.4.1} 'xrdef {Mode Functions-title}{Terminal Mode Functions} 'xrdef {Mode Functions-pg}{274} 'xrdef {Mode Functions-snt}{Section'tie12.4.2} 'xrdef {Setting Modes-title}{Setting Terminal Modes Properly} 'xrdef {Setting Modes-pg}{276} 'xrdef {Setting Modes-snt}{Section'tie12.4.3} 'xrdef {Input Modes-title}{Input Modes} 'xrdef {Input Modes-pg}{277} 'xrdef {Input Modes-snt}{Section'tie12.4.4} 'xrdef {Output Modes-title}{Output Modes} 'xrdef {Output Modes-pg}{279} 'xrdef {Output Modes-snt}{Section'tie12.4.5} 'xrdef {Control Modes-title}{Control Modes} 'xrdef {Control Modes-pg}{279} 'xrdef {Control Modes-snt}{Section'tie12.4.6} 'xrdef {Local Modes-title}{Local Modes} 'xrdef {Local Modes-pg}{281} 'xrdef {Local Modes-snt}{Section'tie12.4.7} 'xrdef {Line Speed-title}{Line Speed} 'xrdef {Line Speed-pg}{284} 'xrdef {Line Speed-snt}{Section'tie12.4.8} 'xrdef {Special Characters-title}{Special Characters} 'xrdef {Special Characters-pg}{286} 'xrdef {Special Characters-snt}{Section'tie12.4.9} 'xrdef {Editing Characters-title}{Characters for Input Editing} 'xrdef {Editing Characters-pg}{286} 'xrdef {Editing Characters-snt}{Section'tie12.4.9.1} 'xrdef {Signal Characters-title}{Characters that Cause Signals} 'xrdef {Signal Characters-pg}{288} 'xrdef {Signal Characters-snt}{Section'tie12.4.9.2} 'xrdef {Start/Stop Characters-title}{Special Characters for Flow Control} 'xrdef {Start/Stop Characters-pg}{289} 'xrdef {Start/Stop Characters-snt}{Section'tie12.4.9.3} 'xrdef {Other Special-title}{Other Special Characters} 'xrdef {Other Special-pg}{290} 'xrdef {Other Special-snt}{Section'tie12.4.9.4} 'xrdef {Noncanonical Input-title}{Noncanonical Input} 'xrdef {Noncanonical Input-pg}{291} 'xrdef {Noncanonical Input-snt}{Section'tie12.4.10} 'xrdef {Line Control-title}{Line Control Functions} 'xrdef {Line Control-pg}{293} 'xrdef {Line Control-snt}{Section'tie12.5} 'xrdef {Noncanon Example-title}{Noncanonical Mode Example} 'xrdef {Noncanon Example-pg}{295} 'xrdef {Noncanon Example-snt}{Section'tie12.6} 'xrdef {Mathematics-title}{Mathematics} 'xrdef {Mathematics-pg}{297} 'xrdef {Mathematics-snt}{Chapter'tie13} 'xrdef {Domain and Range Errors-title}{Domain and Range Errors} 'xrdef {Domain and Range Errors-pg}{297} 'xrdef {Domain and Range Errors-snt}{Section'tie13.1} 'xrdef {Trig Functions-title}{Trigonometric Functions} 'xrdef {Trig Functions-pg}{298} 'xrdef {Trig Functions-snt}{Section'tie13.2} 'xrdef {Inverse Trig Functions-title}{Inverse Trigonometric Functions} 'xrdef {Inverse Trig Functions-pg}{299} 'xrdef {Inverse Trig Functions-snt}{Section'tie13.3} 'xrdef {Exponents and Logarithms-title}{Exponentiation and Logarithms} 'xrdef {Exponents and Logarithms-pg}{300} 'xrdef {Exponents and Logarithms-snt}{Section'tie13.4} 'xrdef {Hyperbolic Functions-title}{Hyperbolic Functions} 'xrdef {Hyperbolic Functions-pg}{301} 'xrdef {Hyperbolic Functions-snt}{Section'tie13.5} 'xrdef {Pseudo-Random Numbers-title}{Pseudo-Random Numbers} 'xrdef {Pseudo-Random Numbers-pg}{302} 'xrdef {Pseudo-Random Numbers-snt}{Section'tie13.6} 'xrdef {ISO Random-title}{ISO C Random Number Functions} 'xrdef {ISO Random-pg}{302} 'xrdef {ISO Random-snt}{Section'tie13.6.1} 'xrdef {BSD Random-title}{BSD Random Number Functions} 'xrdef {BSD Random-pg}{303} 'xrdef {BSD Random-snt}{Section'tie13.6.2} 'xrdef {Arithmetic-title}{Low-Level Arithmetic Functions} 'xrdef {Arithmetic-pg}{305} 'xrdef {Arithmetic-snt}{Chapter'tie14} 'xrdef {Not a Number-title}{``Not a Number'' Values} 'xrdef {Not a Number-pg}{305} 'xrdef {Not a Number-snt}{Section'tie14.1} 'xrdef {Predicates on Floats-title}{Predicates on Floats} 'xrdef {Predicates on Floats-pg}{305} 'xrdef {Predicates on Floats-snt}{Section'tie14.2} 'xrdef {Absolute Value-title}{Absolute Value} 'xrdef {Absolute Value-pg}{306} 'xrdef {Absolute Value-snt}{Section'tie14.3} 'xrdef {Normalization Functions-title}{Normalization Functions} 'xrdef {Normalization Functions-pg}{307} 'xrdef {Normalization Functions-snt}{Section'tie14.4} 'xrdef {Rounding and Remainders-title}{Rounding and Remainder Functions} 'xrdef {Rounding and Remainders-pg}{308} 'xrdef {Rounding and Remainders-snt}{Section'tie14.5} 'xrdef {Integer Division-title}{Integer Division} 'xrdef {Integer Division-pg}{309} 'xrdef {Integer Division-snt}{Section'tie14.6} 'xrdef {Parsing of Numbers-title}{Parsing of Numbers} 'xrdef {Parsing of Numbers-pg}{310} 'xrdef {Parsing of Numbers-snt}{Section'tie14.7} 'xrdef {Parsing of Integers-title}{Parsing of Integers} 'xrdef {Parsing of Integers-pg}{310} 'xrdef {Parsing of Integers-snt}{Section'tie14.7.1} 'xrdef {Parsing of Floats-title}{Parsing of Floats} 'xrdef {Parsing of Floats-pg}{314} 'xrdef {Parsing of Floats-snt}{Section'tie14.7.2} 'xrdef {Searching and Sorting-title}{Searching and Sorting} 'xrdef {Searching and Sorting-pg}{317} 'xrdef {Searching and Sorting-snt}{Chapter'tie15} 'xrdef {Comparison Functions-title}{Defining the Comparison Function} 'xrdef {Comparison Functions-pg}{317} 'xrdef {Comparison Functions-snt}{Section'tie15.1} 'xrdef {Array Search Function-title}{Array Search Function} 'xrdef {Array Search Function-pg}{317} 'xrdef {Array Search Function-snt}{Section'tie15.2} 'xrdef {Array Sort Function-title}{Array Sort Function} 'xrdef {Array Sort Function-pg}{318} 'xrdef {Array Sort Function-snt}{Section'tie15.3} 'xrdef {Search/Sort Example-title}{Searching and Sorting Example} 'xrdef {Search/Sort Example-pg}{319} 'xrdef {Search/Sort Example-snt}{Section'tie15.4} 'xrdef {Pattern Matching-title}{Pattern Matching} 'xrdef {Pattern Matching-pg}{323} 'xrdef {Pattern Matching-snt}{Chapter'tie16} 'xrdef {Wildcard Matching-title}{Wildcard Matching} 'xrdef {Wildcard Matching-pg}{323} 'xrdef {Wildcard Matching-snt}{Section'tie16.1} 'xrdef {Globbing-title}{Globbing} 'xrdef {Globbing-pg}{324} 'xrdef {Globbing-snt}{Section'tie16.2} 'xrdef {Calling Glob-title}{Calling \code {glob}} 'xrdef {Calling Glob-pg}{324} 'xrdef {Calling Glob-snt}{Section'tie16.2.1} 'xrdef {Flags for Globbing-title}{Flags for Globbing} 'xrdef {Flags for Globbing-pg}{326} 'xrdef {Flags for Globbing-snt}{Section'tie16.2.2} 'xrdef {Regular Expressions-title}{Regular Expression Matching} 'xrdef {Regular Expressions-pg}{327} 'xrdef {Regular Expressions-snt}{Section'tie16.3} 'xrdef {POSIX Regexp Compilation-title}{POSIX Regular Expression Compilation} 'xrdef {POSIX Regexp Compilation-pg}{327} 'xrdef {POSIX Regexp Compilation-snt}{Section'tie16.3.1} 'xrdef {Flags for POSIX Regexps-title}{Flags for POSIX Regular Expressions} 'xrdef {Flags for POSIX Regexps-pg}{329} 'xrdef {Flags for POSIX Regexps-snt}{Section'tie16.3.2} 'xrdef {Matching POSIX Regexps-title}{Matching a Compiled POSIX Regular Expression} 'xrdef {Matching POSIX Regexps-pg}{330} 'xrdef {Matching POSIX Regexps-snt}{Section'tie16.3.3} 'xrdef {Regexp Subexpressions-title}{Match Results with Subexpressions} 'xrdef {Regexp Subexpressions-pg}{331} 'xrdef {Regexp Subexpressions-snt}{Section'tie16.3.4} 'xrdef {Subexpression Complications-title}{Complications in Subexpression Matching} 'xrdef {Subexpression Complications-pg}{332} 'xrdef {Subexpression Complications-snt}{Section'tie16.3.5} 'xrdef {Regexp Cleanup-title}{POSIX Regexp Matching Cleanup} 'xrdef {Regexp Cleanup-pg}{332} 'xrdef {Regexp Cleanup-snt}{Section'tie16.3.6} 'xrdef {Word Expansion-title}{Shell-Style Word Expansion} 'xrdef {Word Expansion-pg}{333} 'xrdef {Word Expansion-snt}{Section'tie16.4} 'xrdef {Expansion Stages-title}{The Stages of Word Expansion} 'xrdef {Expansion Stages-pg}{334} 'xrdef {Expansion Stages-snt}{Section'tie16.4.1} 'xrdef {Calling Wordexp-title}{Calling \code {wordexp}} 'xrdef {Calling Wordexp-pg}{334} 'xrdef {Calling Wordexp-snt}{Section'tie16.4.2} 'xrdef {Flags for Wordexp-title}{Flags for Word Expansion} 'xrdef {Flags for Wordexp-pg}{336} 'xrdef {Flags for Wordexp-snt}{Section'tie16.4.3} 'xrdef {Wordexp Example-title}{\code {wordexp} Example} 'xrdef {Wordexp Example-pg}{337} 'xrdef {Wordexp Example-snt}{Section'tie16.4.4} 'xrdef {Date and Time-title}{Date and Time} 'xrdef {Date and Time-pg}{339} 'xrdef {Date and Time-snt}{Chapter'tie17} 'xrdef {Processor Time-title}{Processor Time} 'xrdef {Processor Time-pg}{339} 'xrdef {Processor Time-snt}{Section'tie17.1} 'xrdef {Basic CPU Time-title}{Basic CPU Time Inquiry} 'xrdef {Basic CPU Time-pg}{339} 'xrdef {Basic CPU Time-snt}{Section'tie17.1.1} 'xrdef {Detailed CPU Time-title}{Detailed Elapsed CPU Time Inquiry} 'xrdef {Detailed CPU Time-pg}{340} 'xrdef {Detailed CPU Time-snt}{Section'tie17.1.2} 'xrdef {Calendar Time-title}{Calendar Time} 'xrdef {Calendar Time-pg}{341} 'xrdef {Calendar Time-snt}{Section'tie17.2} 'xrdef {Simple Calendar Time-title}{Simple Calendar Time} 'xrdef {Simple Calendar Time-pg}{342} 'xrdef {Simple Calendar Time-snt}{Section'tie17.2.1} 'xrdef {High-Resolution Calendar-title}{High-Resolution Calendar} 'xrdef {High-Resolution Calendar-pg}{342} 'xrdef {High-Resolution Calendar-snt}{Section'tie17.2.2} 'xrdef {Broken-down Time-title}{Broken-down Time} 'xrdef {Broken-down Time-pg}{345} 'xrdef {Broken-down Time-snt}{Section'tie17.2.3} 'xrdef {Formatting Date and Time-title}{Formatting Date and Time} 'xrdef {Formatting Date and Time-pg}{347} 'xrdef {Formatting Date and Time-snt}{Section'tie17.2.4} 'xrdef {TZ Variable-title}{Specifying the Time Zone with \code {TZ}} 'xrdef {TZ Variable-pg}{352} 'xrdef {TZ Variable-snt}{Section'tie17.2.5} 'xrdef {Time Zone Functions-title}{Functions and Variables for Time Zones} 'xrdef {Time Zone Functions-pg}{354} 'xrdef {Time Zone Functions-snt}{Section'tie17.2.6} 'xrdef {Time Functions Example-title}{Time Functions Example} 'xrdef {Time Functions Example-pg}{355} 'xrdef {Time Functions Example-snt}{Section'tie17.2.7} 'xrdef {Setting an Alarm-title}{Setting an Alarm} 'xrdef {Setting an Alarm-pg}{356} 'xrdef {Setting an Alarm-snt}{Section'tie17.3} 'xrdef {Sleeping-title}{Sleeping} 'xrdef {Sleeping-pg}{359} 'xrdef {Sleeping-snt}{Section'tie17.4} 'xrdef {Resource Usage-title}{Resource Usage} 'xrdef {Resource Usage-pg}{360} 'xrdef {Resource Usage-snt}{Section'tie17.5} 'xrdef {Limits on Resources-title}{Limiting Resource Usage} 'xrdef {Limits on Resources-pg}{362} 'xrdef {Limits on Resources-snt}{Section'tie17.6} 'xrdef {Priority-title}{Process Priority} 'xrdef {Priority-pg}{364} 'xrdef {Priority-snt}{Section'tie17.7} 'xrdef {Extended Characters-title}{Extended Characters} 'xrdef {Extended Characters-pg}{367} 'xrdef {Extended Characters-snt}{Chapter'tie18} 'xrdef {Extended Char Intro-title}{Introduction to Extended Characters} 'xrdef {Extended Char Intro-pg}{367} 'xrdef {Extended Char Intro-snt}{Section'tie18.1} 'xrdef {Locales and Extended Chars-title}{Locales and Extended Characters} 'xrdef {Locales and Extended Chars-pg}{368} 'xrdef {Locales and Extended Chars-snt}{Section'tie18.2} 'xrdef {Multibyte Char Intro-title}{Multibyte Characters} 'xrdef {Multibyte Char Intro-pg}{368} 'xrdef {Multibyte Char Intro-snt}{Section'tie18.3} 'xrdef {Wide Char Intro-title}{Wide Character Introduction} 'xrdef {Wide Char Intro-pg}{371} 'xrdef {Wide Char Intro-snt}{Section'tie18.4} 'xrdef {Wide String Conversion-title}{Conversion of Extended Strings} 'xrdef {Wide String Conversion-pg}{372} 'xrdef {Wide String Conversion-snt}{Section'tie18.5} 'xrdef {Length of Char-title}{Multibyte Character Length} 'xrdef {Length of Char-pg}{373} 'xrdef {Length of Char-snt}{Section'tie18.6} 'xrdef {Converting One Char-title}{Conversion of Extended Characters One by One} 'xrdef {Converting One Char-pg}{374} 'xrdef {Converting One Char-snt}{Section'tie18.7} 'xrdef {Example of Conversion-title}{Character-by-Character Conversion Example} 'xrdef {Example of Conversion-pg}{375} 'xrdef {Example of Conversion-snt}{Section'tie18.8} 'xrdef {Shift State-title}{Multibyte Codes Using Shift Sequences} 'xrdef {Shift State-pg}{377} 'xrdef {Shift State-snt}{Section'tie18.9} 'xrdef {Locales-title}{Locales and Internationalization} 'xrdef {Locales-pg}{379} 'xrdef {Locales-snt}{Chapter'tie19} 'xrdef {Effects of Locale-title}{What Effects a Locale Has} 'xrdef {Effects of Locale-pg}{379} 'xrdef {Effects of Locale-snt}{Section'tie19.1} 'xrdef {Choosing Locale-title}{Choosing a Locale} 'xrdef {Choosing Locale-pg}{380} 'xrdef {Choosing Locale-snt}{Section'tie19.2} 'xrdef {Locale Categories-title}{Categories of Activities that Locales Affect} 'xrdef {Locale Categories-pg}{380} 'xrdef {Locale Categories-snt}{Section'tie19.3} 'xrdef {Setting the Locale-title}{How Programs Set the Locale} 'xrdef {Setting the Locale-pg}{381} 'xrdef {Setting the Locale-snt}{Section'tie19.4} 'xrdef {Standard Locales-title}{Standard Locales} 'xrdef {Standard Locales-pg}{383} 'xrdef {Standard Locales-snt}{Section'tie19.5} 'xrdef {Numeric Formatting-title}{Numeric Formatting} 'xrdef {Numeric Formatting-pg}{383} 'xrdef {Numeric Formatting-snt}{Section'tie19.6} 'xrdef {General Numeric-title}{Generic Numeric Formatting Parameters} 'xrdef {General Numeric-pg}{384} 'xrdef {General Numeric-snt}{Section'tie19.6.1} 'xrdef {Currency Symbol-title}{Printing the Currency Symbol} 'xrdef {Currency Symbol-pg}{385} 'xrdef {Currency Symbol-snt}{Section'tie19.6.2} 'xrdef {Sign of Money Amount-title}{Printing the Sign of an Amount of Money} 'xrdef {Sign of Money Amount-pg}{387} 'xrdef {Sign of Money Amount-snt}{Section'tie19.6.3} 'xrdef {Non-Local Exits-title}{Non-Local Exits} 'xrdef {Non-Local Exits-pg}{389} 'xrdef {Non-Local Exits-snt}{Chapter'tie20} 'xrdef {Non-Local Intro-title}{Introduction to Non-Local Exits} 'xrdef {Non-Local Intro-pg}{389} 'xrdef {Non-Local Intro-snt}{Section'tie20.1} 'xrdef {Non-Local Details-title}{Details of Non-Local Exits} 'xrdef {Non-Local Details-pg}{391} 'xrdef {Non-Local Details-snt}{Section'tie20.2} 'xrdef {Non-Local Exits and Signals-title}{Non-Local Exits and Signals} 'xrdef {Non-Local Exits and Signals-pg}{392} 'xrdef {Non-Local Exits and Signals-snt}{Section'tie20.3} 'xrdef {Signal Handling-title}{Signal Handling} 'xrdef {Signal Handling-pg}{393} 'xrdef {Signal Handling-snt}{Chapter'tie21} 'xrdef {Concepts of Signals-title}{Basic Concepts of Signals} 'xrdef {Concepts of Signals-pg}{393} 'xrdef {Concepts of Signals-snt}{Section'tie21.1} 'xrdef {Kinds of Signals-title}{Some Kinds of Signals} 'xrdef {Kinds of Signals-pg}{393} 'xrdef {Kinds of Signals-snt}{Section'tie21.1.1} 'xrdef {Signal Generation-title}{Concepts of Signal Generation} 'xrdef {Signal Generation-pg}{394} 'xrdef {Signal Generation-snt}{Section'tie21.1.2} 'xrdef {Delivery of Signal-title}{How Signals Are Delivered} 'xrdef {Delivery of Signal-pg}{394} 'xrdef {Delivery of Signal-snt}{Section'tie21.1.3} 'xrdef {Standard Signals-title}{Standard Signals} 'xrdef {Standard Signals-pg}{395} 'xrdef {Standard Signals-snt}{Section'tie21.2} 'xrdef {Program Error Signals-title}{Program Error Signals} 'xrdef {Program Error Signals-pg}{396} 'xrdef {Program Error Signals-snt}{Section'tie21.2.1} 'xrdef {Termination Signals-title}{Termination Signals} 'xrdef {Termination Signals-pg}{399} 'xrdef {Termination Signals-snt}{Section'tie21.2.2} 'xrdef {Alarm Signals-title}{Alarm Signals} 'xrdef {Alarm Signals-pg}{401} 'xrdef {Alarm Signals-snt}{Section'tie21.2.3} 'xrdef {Asynchronous I/O Signals-title}{Asynchronous I/O Signals} 'xrdef {Asynchronous I/O Signals-pg}{401} 'xrdef {Asynchronous I/O Signals-snt}{Section'tie21.2.4} 'xrdef {Job Control Signals-title}{Job Control Signals} 'xrdef {Job Control Signals-pg}{402} 'xrdef {Job Control Signals-snt}{Section'tie21.2.5} 'xrdef {Operation Error Signals-title}{Operation Error Signals} 'xrdef {Operation Error Signals-pg}{404} 'xrdef {Operation Error Signals-snt}{Section'tie21.2.6} 'xrdef {Miscellaneous Signals-title}{Miscellaneous Signals} 'xrdef {Miscellaneous Signals-pg}{404} 'xrdef {Miscellaneous Signals-snt}{Section'tie21.2.7} 'xrdef {Signal Messages-title}{Signal Messages} 'xrdef {Signal Messages-pg}{405} 'xrdef {Signal Messages-snt}{Section'tie21.2.8} 'xrdef {Signal Actions-title}{Specifying Signal Actions} 'xrdef {Signal Actions-pg}{406} 'xrdef {Signal Actions-snt}{Section'tie21.3} 'xrdef {Basic Signal Handling-title}{Basic Signal Handling} 'xrdef {Basic Signal Handling-pg}{406} 'xrdef {Basic Signal Handling-snt}{Section'tie21.3.1} 'xrdef {Advanced Signal Handling-title}{Advanced Signal Handling} 'xrdef {Advanced Signal Handling-pg}{408} 'xrdef {Advanced Signal Handling-snt}{Section'tie21.3.2} 'xrdef {Signal and Sigaction-title}{Interaction of \code {signal} and \code {sigaction}} 'xrdef {Signal and Sigaction-pg}{410} 'xrdef {Signal and Sigaction-snt}{Section'tie21.3.3} 'xrdef {Sigaction Function Example-title}{\code {sigaction} Function Example} 'xrdef {Sigaction Function Example-pg}{410} 'xrdef {Sigaction Function Example-snt}{Section'tie21.3.4} 'xrdef {Flags for Sigaction-title}{Flags for \code {sigaction}} 'xrdef {Flags for Sigaction-pg}{412} 'xrdef {Flags for Sigaction-snt}{Section'tie21.3.5} 'xrdef {Initial Signal Actions-title}{Initial Signal Actions} 'xrdef {Initial Signal Actions-pg}{412} 'xrdef {Initial Signal Actions-snt}{Section'tie21.3.6} 'xrdef {Defining Handlers-title}{Defining Signal Handlers} 'xrdef {Defining Handlers-pg}{413} 'xrdef {Defining Handlers-snt}{Section'tie21.4} 'xrdef {Handler Returns-title}{Signal Handlers that Return} 'xrdef {Handler Returns-pg}{414} 'xrdef {Handler Returns-snt}{Section'tie21.4.1} 'xrdef {Termination in Handler-title}{Handlers That Terminate the Process} 'xrdef {Termination in Handler-pg}{415} 'xrdef {Termination in Handler-snt}{Section'tie21.4.2} 'xrdef {Longjmp in Handler-title}{Nonlocal Control Transfer in Handlers} 'xrdef {Longjmp in Handler-pg}{416} 'xrdef {Longjmp in Handler-snt}{Section'tie21.4.3} 'xrdef {Signals in Handler-title}{Signals Arriving While a Handler Runs} 'xrdef {Signals in Handler-pg}{417} 'xrdef {Signals in Handler-snt}{Section'tie21.4.4} 'xrdef {Merged Signals-title}{Signals Close Together Merge into One} 'xrdef {Merged Signals-pg}{418} 'xrdef {Merged Signals-snt}{Section'tie21.4.5} 'xrdef {Nonreentrancy-title}{Signal Handling and Nonreentrant Functions} 'xrdef {Nonreentrancy-pg}{421} 'xrdef {Nonreentrancy-snt}{Section'tie21.4.6} 'xrdef {Atomic Data Access-title}{Atomic Data Access and Signal Handling} 'xrdef {Atomic Data Access-pg}{423} 'xrdef {Atomic Data Access-snt}{Section'tie21.4.7} 'xrdef {Non-atomic Example-title}{Problems with Non-Atomic Access} 'xrdef {Non-atomic Example-pg}{423} 'xrdef {Non-atomic Example-snt}{Section'tie21.4.7.1} 'xrdef {Atomic Types-title}{Atomic Types} 'xrdef {Atomic Types-pg}{424} 'xrdef {Atomic Types-snt}{Section'tie21.4.7.2} 'xrdef {Atomic Usage-title}{Atomic Usage Patterns} 'xrdef {Atomic Usage-pg}{425} 'xrdef {Atomic Usage-snt}{Section'tie21.4.7.3} 'xrdef {Interrupted Primitives-title}{Primitives Interrupted by Signals} 'xrdef {Interrupted Primitives-pg}{425} 'xrdef {Interrupted Primitives-snt}{Section'tie21.5} 'xrdef {Generating Signals-title}{Generating Signals} 'xrdef {Generating Signals-pg}{426} 'xrdef {Generating Signals-snt}{Section'tie21.6} 'xrdef {Signaling Yourself-title}{Signaling Yourself} 'xrdef {Signaling Yourself-pg}{426} 'xrdef {Signaling Yourself-snt}{Section'tie21.6.1} 'xrdef {Signaling Another Process-title}{Signaling Another Process} 'xrdef {Signaling Another Process-pg}{428} 'xrdef {Signaling Another Process-snt}{Section'tie21.6.2} 'xrdef {Permission for kill-title}{Permission for using \code {kill}} 'xrdef {Permission for kill-pg}{429} 'xrdef {Permission for kill-snt}{Section'tie21.6.3} 'xrdef {Kill Example-title}{Using \code {kill} for Communication} 'xrdef {Kill Example-pg}{430} 'xrdef {Kill Example-snt}{Section'tie21.6.4} 'xrdef {Blocking Signals-title}{Blocking Signals} 'xrdef {Blocking Signals-pg}{431} 'xrdef {Blocking Signals-snt}{Section'tie21.7} 'xrdef {Why Block-title}{Why Blocking Signals is Useful} 'xrdef {Why Block-pg}{432} 'xrdef {Why Block-snt}{Section'tie21.7.1} 'xrdef {Signal Sets-title}{Signal Sets} 'xrdef {Signal Sets-pg}{432} 'xrdef {Signal Sets-snt}{Section'tie21.7.2} 'xrdef {Process Signal Mask-title}{Process Signal Mask} 'xrdef {Process Signal Mask-pg}{433} 'xrdef {Process Signal Mask-snt}{Section'tie21.7.3} 'xrdef {Testing for Delivery-title}{Blocking to Test for Delivery of a Signal} 'xrdef {Testing for Delivery-pg}{435} 'xrdef {Testing for Delivery-snt}{Section'tie21.7.4} 'xrdef {Blocking for Handler-title}{Blocking Signals for a Handler} 'xrdef {Blocking for Handler-pg}{435} 'xrdef {Blocking for Handler-snt}{Section'tie21.7.5} 'xrdef {Checking for Pending Signals-title}{Checking for Pending Signals} 'xrdef {Checking for Pending Signals-pg}{437} 'xrdef {Checking for Pending Signals-snt}{Section'tie21.7.6} 'xrdef {Remembering a Signal-title}{Remembering a Signal to Act On Later} 'xrdef {Remembering a Signal-pg}{438} 'xrdef {Remembering a Signal-snt}{Section'tie21.7.7} 'xrdef {Waiting for a Signal-title}{Waiting for a Signal} 'xrdef {Waiting for a Signal-pg}{439} 'xrdef {Waiting for a Signal-snt}{Section'tie21.8} 'xrdef {Using Pause-title}{Using \code {pause}} 'xrdef {Using Pause-pg}{439} 'xrdef {Using Pause-snt}{Section'tie21.8.1} 'xrdef {Pause Problems-title}{Problems with \code {pause}} 'xrdef {Pause Problems-pg}{440} 'xrdef {Pause Problems-snt}{Section'tie21.8.2} 'xrdef {Sigsuspend-title}{Using \code {sigsuspend}} 'xrdef {Sigsuspend-pg}{441} 'xrdef {Sigsuspend-snt}{Section'tie21.8.3} 'xrdef {Signal Stack-title}{Using a Separate Signal Stack} 'xrdef {Signal Stack-pg}{442} 'xrdef {Signal Stack-snt}{Section'tie21.9} 'xrdef {BSD Signal Handling-title}{BSD Signal Handling} 'xrdef {BSD Signal Handling-pg}{444} 'xrdef {BSD Signal Handling-snt}{Section'tie21.10} 'xrdef {BSD Handler-title}{BSD Function to Establish a Handler} 'xrdef {BSD Handler-pg}{445} 'xrdef {BSD Handler-snt}{Section'tie21.10.1} 'xrdef {Blocking in BSD-title}{BSD Functions for Blocking Signals} 'xrdef {Blocking in BSD-pg}{446} 'xrdef {Blocking in BSD-snt}{Section'tie21.10.2} 'xrdef {Process Startup-title}{Process Startup and Termination} 'xrdef {Process Startup-pg}{447} 'xrdef {Process Startup-snt}{Chapter'tie22} 'xrdef {Program Arguments-title}{Program Arguments} 'xrdef {Program Arguments-pg}{447} 'xrdef {Program Arguments-snt}{Section'tie22.1} 'xrdef {Argument Syntax-title}{Program Argument Syntax Conventions} 'xrdef {Argument Syntax-pg}{448} 'xrdef {Argument Syntax-snt}{Section'tie22.1.1} 'xrdef {Parsing Options-title}{Parsing Program Options} 'xrdef {Parsing Options-pg}{449} 'xrdef {Parsing Options-snt}{Section'tie22.1.2} 'xrdef {Example of Getopt-title}{Example of Parsing Arguments with \code {getopt}} 'xrdef {Example of Getopt-pg}{450} 'xrdef {Example of Getopt-snt}{Section'tie22.1.3} 'xrdef {Long Options-title}{Parsing Long Options} 'xrdef {Long Options-pg}{452} 'xrdef {Long Options-snt}{Section'tie22.1.4} 'xrdef {Long Option Example-title}{Example of Parsing Long Options} 'xrdef {Long Option Example-pg}{454} 'xrdef {Long Option Example-snt}{Section'tie22.1.5} 'xrdef {Suboptions-title}{Parsing of Suboptions} 'xrdef {Suboptions-pg}{456} 'xrdef {Suboptions-snt}{Section'tie22.1.6} 'xrdef {Suboptions Example-title}{Parsing of Suboptions Example} 'xrdef {Suboptions Example-pg}{457} 'xrdef {Suboptions Example-snt}{Section'tie22.1.7} 'xrdef {Environment Variables-title}{Environment Variables} 'xrdef {Environment Variables-pg}{458} 'xrdef {Environment Variables-snt}{Section'tie22.2} 'xrdef {Environment Access-title}{Environment Access} 'xrdef {Environment Access-pg}{459} 'xrdef {Environment Access-snt}{Section'tie22.2.1} 'xrdef {Standard Environment-title}{Standard Environment Variables} 'xrdef {Standard Environment-pg}{460} 'xrdef {Standard Environment-snt}{Section'tie22.2.2} 'xrdef {Program Termination-title}{Program Termination} 'xrdef {Program Termination-pg}{462} 'xrdef {Program Termination-snt}{Section'tie22.3} 'xrdef {Normal Termination-title}{Normal Termination} 'xrdef {Normal Termination-pg}{462} 'xrdef {Normal Termination-snt}{Section'tie22.3.1} 'xrdef {Exit Status-title}{Exit Status} 'xrdef {Exit Status-pg}{463} 'xrdef {Exit Status-snt}{Section'tie22.3.2} 'xrdef {Cleanups on Exit-title}{Cleanups on Exit} 'xrdef {Cleanups on Exit-pg}{464} 'xrdef {Cleanups on Exit-snt}{Section'tie22.3.3} 'xrdef {Aborting a Program-title}{Aborting a Program} 'xrdef {Aborting a Program-pg}{465} 'xrdef {Aborting a Program-snt}{Section'tie22.3.4} 'xrdef {Termination Internals-title}{Termination Internals} 'xrdef {Termination Internals-pg}{465} 'xrdef {Termination Internals-snt}{Section'tie22.3.5} 'xrdef {Processes-title}{Processes} 'xrdef {Processes-pg}{467} 'xrdef {Processes-snt}{Chapter'tie23} 'xrdef {Running a Command-title}{Running a Command} 'xrdef {Running a Command-pg}{467} 'xrdef {Running a Command-snt}{Section'tie23.1} 'xrdef {Process Creation Concepts-title}{Process Creation Concepts} 'xrdef {Process Creation Concepts-pg}{468} 'xrdef {Process Creation Concepts-snt}{Section'tie23.2} 'xrdef {Process Identification-title}{Process Identification} 'xrdef {Process Identification-pg}{468} 'xrdef {Process Identification-snt}{Section'tie23.3} 'xrdef {Creating a Process-title}{Creating a Process} 'xrdef {Creating a Process-pg}{469} 'xrdef {Creating a Process-snt}{Section'tie23.4} 'xrdef {Executing a File-title}{Executing a File} 'xrdef {Executing a File-pg}{470} 'xrdef {Executing a File-snt}{Section'tie23.5} 'xrdef {Process Completion-title}{Process Completion} 'xrdef {Process Completion-pg}{473} 'xrdef {Process Completion-snt}{Section'tie23.6} 'xrdef {Process Completion Status-title}{Process Completion Status} 'xrdef {Process Completion Status-pg}{476} 'xrdef {Process Completion Status-snt}{Section'tie23.7} 'xrdef {BSD Wait Functions-title}{BSD Process Wait Functions} 'xrdef {BSD Wait Functions-pg}{476} 'xrdef {BSD Wait Functions-snt}{Section'tie23.8} 'xrdef {Process Creation Example-title}{Process Creation Example} 'xrdef {Process Creation Example-pg}{477} 'xrdef {Process Creation Example-snt}{Section'tie23.9} 'xrdef {Job Control-title}{Job Control} 'xrdef {Job Control-pg}{479} 'xrdef {Job Control-snt}{Chapter'tie24} 'xrdef {Concepts of Job Control-title}{Concepts of Job Control} 'xrdef {Concepts of Job Control-pg}{479} 'xrdef {Concepts of Job Control-snt}{Section'tie24.1} 'xrdef {Job Control is Optional-title}{Job Control is Optional} 'xrdef {Job Control is Optional-pg}{480} 'xrdef {Job Control is Optional-snt}{Section'tie24.2} 'xrdef {Controlling Terminal-title}{Controlling Terminal of a Process} 'xrdef {Controlling Terminal-pg}{480} 'xrdef {Controlling Terminal-snt}{Section'tie24.3} 'xrdef {Access to the Terminal-title}{Access to the Controlling Terminal} 'xrdef {Access to the Terminal-pg}{481} 'xrdef {Access to the Terminal-snt}{Section'tie24.4} 'xrdef {Orphaned Process Groups-title}{Orphaned Process Groups} 'xrdef {Orphaned Process Groups-pg}{481} 'xrdef {Orphaned Process Groups-snt}{Section'tie24.5} 'xrdef {Implementing a Shell-title}{Implementing a Job Control Shell} 'xrdef {Implementing a Shell-pg}{482} 'xrdef {Implementing a Shell-snt}{Section'tie24.6} 'xrdef {Data Structures-title}{Data Structures for the Shell} 'xrdef {Data Structures-pg}{482} 'xrdef {Data Structures-snt}{Section'tie24.6.1} 'xrdef {Initializing the Shell-title}{Initializing the Shell} 'xrdef {Initializing the Shell-pg}{484} 'xrdef {Initializing the Shell-snt}{Section'tie24.6.2} 'xrdef {Launching Jobs-title}{Launching Jobs} 'xrdef {Launching Jobs-pg}{486} 'xrdef {Launching Jobs-snt}{Section'tie24.6.3} 'xrdef {Foreground and Background-title}{Foreground and Background} 'xrdef {Foreground and Background-pg}{490} 'xrdef {Foreground and Background-snt}{Section'tie24.6.4} 'xrdef {Stopped and Terminated Jobs-title}{Stopped and Terminated Jobs} 'xrdef {Stopped and Terminated Jobs-pg}{492} 'xrdef {Stopped and Terminated Jobs-snt}{Section'tie24.6.5} 'xrdef {Continuing Stopped Jobs-title}{Continuing Stopped Jobs} 'xrdef {Continuing Stopped Jobs-pg}{496} 'xrdef {Continuing Stopped Jobs-snt}{Section'tie24.6.6} 'xrdef {Missing Pieces-title}{The Missing Pieces} 'xrdef {Missing Pieces-pg}{496} 'xrdef {Missing Pieces-snt}{Section'tie24.6.7} 'xrdef {Functions for Job Control-title}{Functions for Job Control} 'xrdef {Functions for Job Control-pg}{497} 'xrdef {Functions for Job Control-snt}{Section'tie24.7} 'xrdef {Identifying the Terminal-title}{Identifying the Controlling Terminal} 'xrdef {Identifying the Terminal-pg}{497} 'xrdef {Identifying the Terminal-snt}{Section'tie24.7.1} 'xrdef {Process Group Functions-title}{Process Group Functions} 'xrdef {Process Group Functions-pg}{498} 'xrdef {Process Group Functions-snt}{Section'tie24.7.2} 'xrdef {Terminal Access Functions-title}{Functions for Controlling Terminal Access} 'xrdef {Terminal Access Functions-pg}{499} 'xrdef {Terminal Access Functions-snt}{Section'tie24.7.3} 'xrdef {Name Service Switch-title}{System Databases and Name Service Switch} 'xrdef {Name Service Switch-pg}{501} 'xrdef {Name Service Switch-snt}{Chapter'tie25} 'xrdef {NSS Basics-title}{NSS Basics} 'xrdef {NSS Basics-pg}{501} 'xrdef {NSS Basics-snt}{Section'tie25.1} 'xrdef {NSS Configuration File-title}{The NSS Configuration File} 'xrdef {NSS Configuration File-pg}{502} 'xrdef {NSS Configuration File-snt}{Section'tie25.2} 'xrdef {Services in the NSS configuration-title}{Services in the NSS configuration File} 'xrdef {Services in the NSS configuration-pg}{503} 'xrdef {Services in the NSS configuration-snt}{Section'tie25.2.1} 'xrdef {Actions in the NSS configuration-title}{Actions in the NSS configuration} 'xrdef {Actions in the NSS configuration-pg}{503} 'xrdef {Actions in the NSS configuration-snt}{Section'tie25.2.2} 'xrdef {Notes on NSS Configuration File-title}{Notes on the NSS Configuration File} 'xrdef {Notes on NSS Configuration File-pg}{504} 'xrdef {Notes on NSS Configuration File-snt}{Section'tie25.2.3} 'xrdef {NSS Module Internals-title}{NSS Module Internals} 'xrdef {NSS Module Internals-pg}{505} 'xrdef {NSS Module Internals-snt}{Section'tie25.3} 'xrdef {NSS Module Names-title}{The Naming Scheme of the NSS Modules} 'xrdef {NSS Module Names-pg}{505} 'xrdef {NSS Module Names-snt}{Section'tie25.3.1} 'xrdef {NSS Modules Interface-title}{The Interface of the Function in NSS Modules} 'xrdef {NSS Modules Interface-pg}{506} 'xrdef {NSS Modules Interface-snt}{Section'tie25.3.2} 'xrdef {Extending NSS-title}{Extending NSS} 'xrdef {Extending NSS-pg}{508} 'xrdef {Extending NSS-snt}{Section'tie25.4} 'xrdef {Adding another Service to NSS-title}{Adding another Service to NSS} 'xrdef {Adding another Service to NSS-pg}{508} 'xrdef {Adding another Service to NSS-snt}{Section'tie25.4.1} 'xrdef {NSS Module Function Internals-title}{Internals of the NSS Module Functions} 'xrdef {NSS Module Function Internals-pg}{509} 'xrdef {NSS Module Function Internals-snt}{Section'tie25.4.2} 'xrdef {Users and Groups-title}{Users and Groups} 'xrdef {Users and Groups-pg}{511} 'xrdef {Users and Groups-snt}{Chapter'tie26} 'xrdef {User and Group IDs-title}{User and Group IDs} 'xrdef {User and Group IDs-pg}{511} 'xrdef {User and Group IDs-snt}{Section'tie26.1} 'xrdef {Process Persona-title}{The Persona of a Process} 'xrdef {Process Persona-pg}{511} 'xrdef {Process Persona-snt}{Section'tie26.2} 'xrdef {Why Change Persona-title}{Why Change the Persona of a Process?} 'xrdef {Why Change Persona-pg}{512} 'xrdef {Why Change Persona-snt}{Section'tie26.3} 'xrdef {How Change Persona-title}{How an Application Can Change Persona} 'xrdef {How Change Persona-pg}{513} 'xrdef {How Change Persona-snt}{Section'tie26.4} 'xrdef {Reading Persona-title}{Reading the Persona of a Process} 'xrdef {Reading Persona-pg}{513} 'xrdef {Reading Persona-snt}{Section'tie26.5} 'xrdef {Setting User ID-title}{Setting the User ID} 'xrdef {Setting User ID-pg}{514} 'xrdef {Setting User ID-snt}{Section'tie26.6} 'xrdef {Setting Groups-title}{Setting the Group IDs} 'xrdef {Setting Groups-pg}{515} 'xrdef {Setting Groups-snt}{Section'tie26.7} 'xrdef {Enable/Disable Setuid-title}{Enabling and Disabling Setuid Access} 'xrdef {Enable/Disable Setuid-pg}{516} 'xrdef {Enable/Disable Setuid-snt}{Section'tie26.8} 'xrdef {Setuid Program Example-title}{Setuid Program Example} 'xrdef {Setuid Program Example-pg}{517} 'xrdef {Setuid Program Example-snt}{Section'tie26.9} 'xrdef {Tips for Setuid-title}{Tips for Writing Setuid Programs} 'xrdef {Tips for Setuid-pg}{520} 'xrdef {Tips for Setuid-snt}{Section'tie26.10} 'xrdef {Who Logged In-title}{Identifying Who Logged In} 'xrdef {Who Logged In-pg}{520} 'xrdef {Who Logged In-snt}{Section'tie26.11} 'xrdef {User Database-title}{User Database} 'xrdef {User Database-pg}{521} 'xrdef {User Database-snt}{Section'tie26.12} 'xrdef {User Data Structure-title}{The Data Structure that Describes a User} 'xrdef {User Data Structure-pg}{521} 'xrdef {User Data Structure-snt}{Section'tie26.12.1} 'xrdef {Lookup User-title}{Looking Up One User} 'xrdef {Lookup User-pg}{522} 'xrdef {Lookup User-snt}{Section'tie26.12.2} 'xrdef {Scanning All Users-title}{Scanning the List of All Users} 'xrdef {Scanning All Users-pg}{523} 'xrdef {Scanning All Users-snt}{Section'tie26.12.3} 'xrdef {Writing a User Entry-title}{Writing a User Entry} 'xrdef {Writing a User Entry-pg}{525} 'xrdef {Writing a User Entry-snt}{Section'tie26.12.4} 'xrdef {Group Database-title}{Group Database} 'xrdef {Group Database-pg}{525} 'xrdef {Group Database-snt}{Section'tie26.13} 'xrdef {Group Data Structure-title}{The Data Structure for a Group} 'xrdef {Group Data Structure-pg}{525} 'xrdef {Group Data Structure-snt}{Section'tie26.13.1} 'xrdef {Lookup Group-title}{Looking Up One Group} 'xrdef {Lookup Group-pg}{525} 'xrdef {Lookup Group-snt}{Section'tie26.13.2} 'xrdef {Scanning All Groups-title}{Scanning the List of All Groups} 'xrdef {Scanning All Groups-pg}{527} 'xrdef {Scanning All Groups-snt}{Section'tie26.13.3} 'xrdef {Netgroup Database-title}{Netgroup Database} 'xrdef {Netgroup Database-pg}{528} 'xrdef {Netgroup Database-snt}{Section'tie26.14} 'xrdef {Netgroup Data-title}{Netgroup Data} 'xrdef {Netgroup Data-pg}{528} 'xrdef {Netgroup Data-snt}{Section'tie26.14.1} 'xrdef {Lookup Netgroup-title}{Looking up one Netgroup} 'xrdef {Lookup Netgroup-pg}{529} 'xrdef {Lookup Netgroup-snt}{Section'tie26.14.2} 'xrdef {Netgroup Membership-title}{Testing for Netgroup Membership} 'xrdef {Netgroup Membership-pg}{530} 'xrdef {Netgroup Membership-snt}{Section'tie26.14.3} 'xrdef {Database Example-title}{User and Group Database Example} 'xrdef {Database Example-pg}{530} 'xrdef {Database Example-snt}{Section'tie26.15} 'xrdef {System Information-title}{System Information} 'xrdef {System Information-pg}{533} 'xrdef {System Information-snt}{Chapter'tie27} 'xrdef {Host Identification-title}{Host Identification} 'xrdef {Host Identification-pg}{533} 'xrdef {Host Identification-snt}{Section'tie27.1} 'xrdef {Hardware/Software Type ID-title}{Hardware/Software Type Identification} 'xrdef {Hardware/Software Type ID-pg}{534} 'xrdef {Hardware/Software Type ID-snt}{Section'tie27.2} 'xrdef {System Configuration-title}{System Configuration Parameters} 'xrdef {System Configuration-pg}{537} 'xrdef {System Configuration-snt}{Chapter'tie28} 'xrdef {General Limits-title}{General Capacity Limits} 'xrdef {General Limits-pg}{537} 'xrdef {General Limits-snt}{Section'tie28.1} 'xrdef {System Options-title}{Overall System Options} 'xrdef {System Options-pg}{538} 'xrdef {System Options-snt}{Section'tie28.2} 'xrdef {Version Supported-title}{Which Version of POSIX is Supported} 'xrdef {Version Supported-pg}{540} 'xrdef {Version Supported-snt}{Section'tie28.3} 'xrdef {Sysconf-title}{Using \code {sysconf}} 'xrdef {Sysconf-pg}{540} 'xrdef {Sysconf-snt}{Section'tie28.4} 'xrdef {Sysconf Definition-title}{Definition of \code {sysconf}} 'xrdef {Sysconf Definition-pg}{541} 'xrdef {Sysconf Definition-snt}{Section'tie28.4.1} 'xrdef {Constants for Sysconf-title}{Constants for \code {sysconf} Parameters} 'xrdef {Constants for Sysconf-pg}{541} 'xrdef {Constants for Sysconf-snt}{Section'tie28.4.2} 'xrdef {Examples of Sysconf-title}{Examples of \code {sysconf}} 'xrdef {Examples of Sysconf-pg}{543} 'xrdef {Examples of Sysconf-snt}{Section'tie28.4.3} 'xrdef {Minimums-title}{Minimum Values for General Capacity Limits} 'xrdef {Minimums-pg}{544} 'xrdef {Minimums-snt}{Section'tie28.5} 'xrdef {Limits for Files-title}{Limits on File System Capacity} 'xrdef {Limits for Files-pg}{545} 'xrdef {Limits for Files-snt}{Section'tie28.6} 'xrdef {Options for Files-title}{Optional Features in File Support} 'xrdef {Options for Files-pg}{546} 'xrdef {Options for Files-snt}{Section'tie28.7} 'xrdef {File Minimums-title}{Minimum Values for File System Limits} 'xrdef {File Minimums-pg}{547} 'xrdef {File Minimums-snt}{Section'tie28.8} 'xrdef {Pathconf-title}{Using \code {pathconf}} 'xrdef {Pathconf-pg}{548} 'xrdef {Pathconf-snt}{Section'tie28.9} 'xrdef {Utility Limits-title}{Utility Program Capacity Limits} 'xrdef {Utility Limits-pg}{549} 'xrdef {Utility Limits-snt}{Section'tie28.10} 'xrdef {Utility Minimums-title}{Minimum Values for Utility Limits} 'xrdef {Utility Minimums-pg}{550} 'xrdef {Utility Minimums-snt}{Section'tie28.11} 'xrdef {String Parameters-title}{String-Valued Parameters} 'xrdef {String Parameters-pg}{551} 'xrdef {String Parameters-snt}{Section'tie28.12} 'xrdef {Language Features-title}{C Language Facilities in the Library} 'xrdef {Language Features-pg}{553} 'xrdef {Language Features-snt}{Appendix'tie'char65{}} 'xrdef {Consistency Checking-title}{Explicitly Checking Internal Consistency} 'xrdef {Consistency Checking-pg}{553} 'xrdef {Consistency Checking-snt}{Section'tie'char65.1} 'xrdef {Variadic Functions-title}{Variadic Functions} 'xrdef {Variadic Functions-pg}{555} 'xrdef {Variadic Functions-snt}{Section'tie'char65.2} 'xrdef {Why Variadic-title}{Why Variadic Functions are Used} 'xrdef {Why Variadic-pg}{555} 'xrdef {Why Variadic-snt}{Section'tie'char65.2.1} 'xrdef {How Variadic-title}{How Variadic Functions are Defined and Used} 'xrdef {How Variadic-pg}{556} 'xrdef {How Variadic-snt}{Section'tie'char65.2.2} 'xrdef {Variadic Prototypes-title}{Syntax for Variable Arguments} 'xrdef {Variadic Prototypes-pg}{556} 'xrdef {Variadic Prototypes-snt}{Section'tie'char65.2.2.1} 'xrdef {Receiving Arguments-title}{Receiving the Argument Values} 'xrdef {Receiving Arguments-pg}{556} 'xrdef {Receiving Arguments-snt}{Section'tie'char65.2.2.2} 'xrdef {How Many Arguments-title}{How Many Arguments Were Supplied} 'xrdef {How Many Arguments-pg}{557} 'xrdef {How Many Arguments-snt}{Section'tie'char65.2.2.3} 'xrdef {Calling Variadics-title}{Calling Variadic Functions} 'xrdef {Calling Variadics-pg}{558} 'xrdef {Calling Variadics-snt}{Section'tie'char65.2.2.4} 'xrdef {Argument Macros-title}{Argument Access Macros} 'xrdef {Argument Macros-pg}{559} 'xrdef {Argument Macros-snt}{Section'tie'char65.2.2.5} 'xrdef {Variadic Example-title}{Example of a Variadic Function} 'xrdef {Variadic Example-pg}{559} 'xrdef {Variadic Example-snt}{Section'tie'char65.2.3} 'xrdef {Old Varargs-title}{Old-Style Variadic Functions} 'xrdef {Old Varargs-pg}{560} 'xrdef {Old Varargs-snt}{Section'tie'char65.2.3.1} 'xrdef {Null Pointer Constant-title}{Null Pointer Constant} 'xrdef {Null Pointer Constant-pg}{561} 'xrdef {Null Pointer Constant-snt}{Section'tie'char65.3} 'xrdef {Important Data Types-title}{Important Data Types} 'xrdef {Important Data Types-pg}{561} 'xrdef {Important Data Types-snt}{Section'tie'char65.4} 'xrdef {Data Type Measurements-title}{Data Type Measurements} 'xrdef {Data Type Measurements-pg}{562} 'xrdef {Data Type Measurements-snt}{Section'tie'char65.5} 'xrdef {Width of Type-title}{Computing the Width of an Integer Data Type} 'xrdef {Width of Type-pg}{563} 'xrdef {Width of Type-snt}{Section'tie'char65.5.1} 'xrdef {Range of Type-title}{Range of an Integer Type} 'xrdef {Range of Type-pg}{563} 'xrdef {Range of Type-snt}{Section'tie'char65.5.2} 'xrdef {Floating Type Macros-title}{Floating Type Macros} 'xrdef {Floating Type Macros-pg}{565} 'xrdef {F