First Edition (October 1997)
Trademarks and Acknowledgements
About This Book
Chapter 1. Tools and Utilities
Chapter 2. The Curses Library
Initializing Curses
Windows in the Curses Environment
Manipulating Window Data with Curses
Controlling the Cursor with Curses
Manipulating Characters with Curses
Understanding Terminals with curses
Working with Color
Manipulating Video Attributes
Manipulating Soft Labels
Obsolete Curses Subroutines
AIX Version 3.2 Curses Compatibility
List of Additional Curses Subroutines
Chapter 3. Debugging Programs
adb Debug Program Overview
Getting Started with the adb Debug Program
Controlling Program Execution
Using adb Expressions
Customizing the adb Debug Program
Computing Numbers and Displaying Text
Displaying and Manipulating the Source File with the adb Program
adb Debug Program Reference Information
Example adb Program: adbsamp
Example adb Program: adbsamp2
Example adb Program: adbsamp3
Example of Directory and i-node Dumps in adb Debugging
Example of Data Formatting in adb Debugging
Example of Tracing Multiple Functions in adb Debugging
dbx Symbolic Debug Program Overview
Using the dbx Debug Program
Displaying and Manipulating the Source File with the dbx debug Program
Examining Program Data
Debugging at the Machine Level with dbx
Customizing the dbx Debugging Environment
List of dbx Subcommands
Chapter 4. Error Notification
Chapter 5. File Systems and Directories
File Types
Directories
Working with JFS i-nodes
File Space Allocation
Writing Programs That Access Large Files
Linking for Programmers
Using File Descriptors
File Creation and Removal
Working with File I/O
File Status
File Accessibility
File System Layout
Creating New File System Types
Major Control Block Header Files
Chapter 6. Floating-Point Exceptions
Chapter 7. Input and Output Handling
Chapter 8. Large Program Support
Chapter 9. Parallel Programming
Understanding Threads
Thread Programming Concepts
Writing Reentrant and Thread-Safe Code
Developing Multi-Threaded Programs
Benefits of Threads
Chapter 10. Programming on Multiprocessor Systems
Identifying Processors
Controlling Processor Use
Creating Locking Services
Kernel Programming
Chapter 11. Threads Programming Guidelines
Threads Basic Operation Overview
Creating Threads
Terminating Threads
List of Threads Basic Operation Subroutines
Synchronization Overview
Using Mutexes
Using Condition Variables
Joining Threads
List of Synchronization Subroutines
Scheduling Overview
Threads Scheduling
Synchronization Scheduling
List of Scheduling Subroutines
Threads Advanced Features
One-Time Initializations
Thread-Specific Data
Advanced Attributes
Making Complex Synchronization Objects
List of Threads Advanced-Feature Subroutines
Threads-Processes Interactions Overview
Signal Management
Process Duplication and Termination
Scheduling
List of Threads-Processes Interactions Subroutines
Threads Library Options
Threads Library Quick Reference
Supported Interfaces
Chapter 12. lex and yacc Program Information
Creating an Input Language with the lex and yacc Commands
Using the lex Program with the yacc Program
Example Program for the lex and yacc Programs
Chapter 13. Logical Volume Programming
Logical Volume Program Example
List of Logical Volume Subroutines
Chapter 14. make Command Overview
Chapter 15. m4 Macro Processor Overview
Creating a User-Defined Macro
Using a Built-In m4 Macro
List of Additional m4 Macros
Chapter 16. National Language Support
Locale Overview for Programming
National Language Support Subroutines Overview
Locale Subroutines
Time Formatting Subroutines
Monetary Formatting Subroutines
Multibyte and Wide Character Subroutines
Internationalized Regular Expression Subroutines
Layout (Bidirectional Text and Character Shaping) Overview
Use of the libcur Package
Code Set Overview
Converters Overview for Programming
Writing Converters Using the iconv Interface
Input Method Overview
Programming Input Methods
Working with Keyboard Mapping
Using Callbacks
Bidirectional Input Method
Cyrillic Input Method (CIM)
Greek Input Method (GIM)
Japanese Input Method (JIM)
Korean Input Method (KIM)
Latvian Input Method (LVIM)
Lithuanian Input Method (LTIM)
Thai Input Method (THIM)
Vietnamese Input Method (VNIM)
Simplified Chinese Input Method (ZIM)
Simplified Chinese Input Method (ZIM-UCS)
Single-Byte Input Method
Traditional Chinese Input Method (TIM)
Universal Input Method
List of Reserved Keysyms
Message Facility Overview for Programming
Culture-Specific Data Processing
NLS Sample Program
National Language Support (NLS) Quick Reference
Related Information
List of National Language Support Subroutines
List of Locale Subroutines
List of Time and Monetary Formatting Subroutines
List of Multibyte Character Subroutines
List of Wide Character Subroutines
List of Layout Library Subroutines
List of Message Facility Subroutines
List of Converter Subroutines
List of Input Method Subroutines
List of Regular Expression Subroutines
Chapter 17. Object Data Manager (ODM)
ODM Object Classes and Objects
ODM Descriptors
ODM Object Searches
List of ODM Commands and Subroutines
ODM Example Code and Output
Chapter 18. sed Program Information
Manipulating Strings with sed
Chapter 19. Shared Libraries and Shared Memory
Shared Objects and Runtime Linking
Shared Libraries and Lazy Loading
Creating a Shared Library
Program Address Space Overview
Understanding Memory Mapping
Creating a Mapped Data File with the shmat Subroutine
Creating a Copy-On-Write Mapped Data File with the shmat Subroutine
Creating a Shared Memory Segment with the shmat Subroutine
System Memory Allocation
Paging Space Programming Requirements
List of Memory Manipulation Services
List of Memory Mapping Services
Chapter 20. Packaging Software for Installation
Chapter 21. AIX Documentation Search Service
Language Support
Writing your HTML Documents
Calling the AIX Documentation Search Service Search Form From Your Documentation
Creating Indexes of your Documentation
Removing Indexes in your Documentation
Packaging your application's indexes with your application's documentation
Chapter 22. Software Vital Product Data (SWVPD)
Chapter 23. Source Code Control System (SCCS)
SCCS Flag and Parameter Conventions
Creating, Editing, and Updating an SCCS File
Controlling and Tracking SCCS File Changes
Detecting and Repairing Damaged SCCS Files
List of Additional SCCS Commands
Chapter 24. Subroutines, Example Programs, and Libraries
128-Bit Long Double Floating-Point Data Type
List of Character Manipulation Subroutines
List of Executable Program Creation Subroutines
List of Files and Directories Subroutines
List of FORTRAN BLAS Level 1: Vector-Vector Subroutines
List of FORTRAN BLAS Level 2: Matrix-Vector Subroutines
List of FORTRAN BLAS Level 3: Matrix-Matrix Subroutines
List of Numerical Manipulation Subroutines
List of Long Long Integer Numerical Manipulation Subroutines
List of 128-Bit Long Double Numerical Manipulation Subroutines
List of Processes Subroutines
List of Multi-threaded Programming Subroutines
List of Programmer's Workbench Library Subroutines
List of Security and Auditing Subroutines
List of String Manipulation Subroutines
Programming Example for Manipulating Characters
Searching and Sorting Example Program
List of Operating System Libraries
librs2.a Library
Chapter 25. System Management Interface Tool (SMIT)
SMIT Screen Types
SMIT Object Classes
SMIT Aliases and Fast Paths
SMIT Information Command Descriptors
SMIT Command Generation and Execution
Adding Tasks to the SMIT Database
Debugging SMIT Database Extensions
Creating SMIT Help Information for a New Task
sm_menu_opt (SMIT Menu) Object Class
sm_name_hdr (SMIT Selector Header) Object Class
sm_cmd_opt (SMIT Dialog/Selector Command Option) Object Class
sm_cmd_hdr (SMIT Dialog Header) Object Class
SMIT Example Program
Chapter 26. System Resource Controller
SRC Objects
SRC Communication Types
Programming Subsystem Communication with the SRC
Defining Your Subsystem to the SRC
List of Additional SRC Subroutines
Chapter 27. Trace Facility
Trace Hook IDs: 001 through 10A
Trace Hook IDs: 10B through 14E
Trace Hook IDs: 152 through 19C
Trace Hook IDs: 1A4 through 1BF
Trace Hook IDs: 1C8 through 1CE
Trace Hook IDs: 1CF through 211
Trace Hook IDs: 212 through 220
Trace Hook IDs: 221 through 223
Trace Hook IDs: 224 through 226
Trace Hook IDs: 230 through 233
Trace Hook IDs: 240 through 252
Trace Hook IDs: 253 through 25A
Trace Hook IDs: 271 through 280
Trace Hook IDs: 301 through 315
Trace Hook IDs: 3C5 through 3E2
Trace Hook IDs: 401
Trace Hook IDs: 402
Trace Hook IDs: 403
Trace Hook IDs: 404
Trace Hook IDs: 405
Trace Hook IDs: 406
Trace Hook IDs: 407
Trace Hook IDs: 408
Trace Hook IDs: 409
Trace Hook IDs: 411 through 418
Trace Hook IDs: 460 through 46E
Chapter 28. tty Subsystem
tty Revision History
Line Discipline Module (ldterm)
Converter Modules
TTY Drivers
Chapter 29. High-Resolution Time Measurements Using PowerPC Time Base or POWER Real-Time Clock
Chapter 30. Loader Domains
Chapter 31. Power Management-Aware Application Program