| Preface  | 
  
  
    | 
      Preface
     | 
    
      Preface
     | 
  
  
    | Chapter 1 | 
  
  
    | 
       1
     | 
    
      Introduction
     | 
  
  
    | 
           1.1
     | 
    
          Using the HP C Run-Time Library
     | 
  
  
    | 
           1.2
     | 
    
          RTL Linking Options on Alpha and I64 Systems (ALPHA, I64)  
     | 
  
  
    | 
               1.2.1
     | 
    
              Linking with the Shareable Image
     | 
  
  
    | 
               1.2.2
     | 
    
              Linking with the Object Libraries (ALPHA ONLY)
     | 
  
  
    | 
               1.2.3
     | 
    
              Examples
     | 
  
  
    | 
           1.3
     | 
    
          RTL Linking Options on VAX Systems (VAX ONLY)  
     | 
  
  
    | 
               1.3.1
     | 
    
              Linking with the HP C RTL
     | 
  
  
    | 
                   1.3.1.1
     | 
    
                  Linking with the HP C RTL Shareable Images
     | 
  
  
    | 
                   1.3.1.2
     | 
    
                  Linking with or Providing Your Own Shareable Images
     | 
  
  
    | 
                   1.3.1.3
     | 
    
                  Linking with the HP C RTL Object Libraries
     | 
  
  
    | 
                   1.3.1.4
     | 
    
                  Linking with the HP C RTL Object Libraries  /NOSYSSHR
     | 
  
  
    | 
               1.3.2
     | 
    
              Resolving Link-Time Conflicts with Multiple C RTLs
     | 
  
  
    | 
                   1.3.2.1
     | 
    
                  Using VAXC$LCL.OPT
     | 
  
  
    | 
                   1.3.2.2
     | 
    
                  Using VAXC$EMPTY.EXE
     | 
  
  
    | 
                   1.3.2.3
     | 
    
                  Using DECC$EMPTY.EXE
     | 
  
  
    | 
               1.3.3
     | 
    
              Linking Examples for HP C or HP C++ Code  Only
     | 
  
  
    | 
               1.3.4
     | 
    
              Linking Examples for VAX C and HP C Code  Combined
     | 
  
  
    | 
               1.3.5
     | 
    
              Linking with the VAX C RTL /NOSYSSHR
     | 
  
  
    | 
           1.4
     | 
    
          HP C RTL Function Prototypes and Syntax
     | 
  
  
    | 
               1.4.1
     | 
    
              Function Prototypes
     | 
  
  
    | 
               1.4.2
     | 
    
              Syntax Conventions for Function Prototypes
     | 
  
  
    | 
               1.4.3
     | 
    
              UNIX Style File Specifications
     | 
  
  
    | 
               1.4.4
     | 
    
              Extended File Specifications
     | 
  
  
    | 
               1.4.5
     | 
    
              Symbolic Links and POSIX Pathnames
     | 
  
  
    | 
           1.5
     | 
    
          Feature-Test Macros for Header-File Control
     | 
  
  
    | 
               1.5.1
     | 
    
              Standards Macros
     | 
  
  
    | 
               1.5.2
     | 
    
              Selecting a Standard
     | 
  
  
    | 
               1.5.3
     | 
    
              Interactions with the /STANDARD Qualifier
     | 
  
  
    | 
               1.5.4
     | 
    
              Multiple-Version-Support Macro
     | 
  
  
    | 
               1.5.5
     | 
    
              Compatibility Modes
     | 
  
  
    | 
               1.5.6
     | 
    
              Curses and Socket Compatibility Macros
     | 
  
  
    | 
               1.5.7
     | 
    
              2-Gigabyte File Size Macro
     | 
  
  
    | 
               1.5.8
     | 
    
              32-Bit UID and GID Macro (ALPHA, I64)  
     | 
  
  
    | 
               1.5.9
     | 
    
              Standard-Compliant stat Structure (ALPHA, I64)  
     | 
  
  
    | 
               1.5.10
     | 
    
              Using Legacy _toupper and _tolower Behavior (ALPHA, I64)  
     | 
  
  
    | 
               1.5.11
     | 
    
              Using Faster, Inlined Put and Get Functions (ALPHA, I64)  
     | 
  
  
    | 
               1.5.12
     | 
    
              POSIX Style exit (ALPHA, I64)  
     | 
  
  
    | 
           1.6
     | 
    
          Enabling C RTL Features Using Feature Logical Names
     | 
  
  
    | 
           1.7
     | 
    
          32-Bit UIDs/GIDs and POSIX Style Identifiers
     | 
  
  
    | 
           1.8
     | 
    
          Input and Output on OpenVMS Systems
     | 
  
  
    | 
               1.8.1
     | 
    
              RMS Record and File Formats
     | 
  
  
    | 
               1.8.2
     | 
    
              Access to RMS Files
     | 
  
  
    | 
                   1.8.2.1
     | 
    
                  Accessing RMS Files in Stream Mode
     | 
  
  
    | 
                   1.8.2.2
     | 
    
                  Accessing RMS Record Files in Record Mode
     | 
  
  
    | 
                       1.8.2.2.1
     | 
    
                      Accessing Variable-Length or VFC Record Files in Record Mode
     | 
  
  
    | 
                       1.8.2.2.2
     | 
    
                      Accessing Fixed-Length Record Files in Record Mode
     | 
  
  
    | 
                   1.8.2.3
     | 
    
                  Example---Difference Between Stream Mode and Record Mode
     | 
  
  
    | 
           1.9
     | 
    
          Specific Portability Concerns
     | 
  
  
    | 
               1.9.1
     | 
    
              Reentrancy
     | 
  
  
    | 
               1.9.2
     | 
    
              Multithread Restrictions
     | 
  
  
    | 
           1.10
     | 
    
          64-Bit Pointer Support (ALPHA, I64)  
     | 
  
  
    | 
               1.10.1
     | 
    
              Using the HP C Run-Time Library
     | 
  
  
    | 
               1.10.2
     | 
    
              Obtaining 64-Bit Pointers to Memory
     | 
  
  
    | 
               1.10.3
     | 
    
              HP C Header Files
     | 
  
  
    | 
               1.10.4
     | 
    
              Functions Affected
     | 
  
  
    | 
                   1.10.4.1
     | 
    
                  No Pointer-Size Impact
     | 
  
  
    | 
                   1.10.4.2
     | 
    
                  Functions Accepting Both Pointer Sizes
     | 
  
  
    | 
                   1.10.4.3
     | 
    
                  Functions with Two Implementations
     | 
  
  
    | 
                   1.10.4.4
     | 
    
                  Functions Requiring Explicit use of 64-Bit Structures
     | 
  
  
    | 
                   1.10.4.5
     | 
    
                  Functions Restricted to 32-Bit Pointers
     | 
  
  
    | 
               1.10.5
     | 
    
              Reading Header Files
     | 
  
  
    | Chapter 2 | 
  
  
    | 
       2
     | 
    
      Understanding Input and Output
     | 
  
  
    | 
           2.1
     | 
    
          Using RMS from RTL Routines
     | 
  
  
    | 
           2.2
     | 
    
          UNIX I/O and Standard I/O
     | 
  
  
    | 
           2.3
     | 
    
          Wide-Character Versus Byte I/O Functions
     | 
  
  
    | 
           2.4
     | 
    
          Conversion Specifications
     | 
  
  
    | 
               2.4.1
     | 
    
              Converting Input Information
     | 
  
  
    | 
               2.4.2
     | 
    
              Converting Output Information
     | 
  
  
    | 
           2.5
     | 
    
          Terminal I/O
     | 
  
  
    | 
           2.6
     | 
    
          Program Examples
     | 
  
  
    | Chapter 3 | 
  
  
    | 
       3
     | 
    
      Character, String, and Argument-List Functions
     | 
  
  
    | 
           3.1
     | 
    
          Character-Classification Functions
     | 
  
  
    | 
           3.2
     | 
    
          Character-Conversion Functions
     | 
  
  
    | 
           3.3
     | 
    
          String and Argument-List Functions
     | 
  
  
    | 
           3.4
     | 
    
          Program Examples
     | 
  
  
    | Chapter 4 | 
  
  
    | 
       4
     | 
    
      Error and Signal Handling
     | 
  
  
    | 
           4.1
     | 
    
          Error Handling
     | 
  
  
    | 
           4.2
     | 
    
          Signal Handling
     | 
  
  
    | 
               4.2.1
     | 
    
              OpenVMS Versus UNIX Terminology
     | 
  
  
    | 
               4.2.2
     | 
    
              UNIX Signals and the HP C RTL
     | 
  
  
    | 
               4.2.3
     | 
    
              Signal-Handling Concepts
     | 
  
  
    | 
               4.2.4
     | 
    
              Signal Actions
     | 
  
  
    | 
               4.2.5
     | 
    
              Signal Handling and OpenVMS Exception  Handling
     | 
  
  
    | 
           4.3
     | 
    
          Program Example
     |