Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Programming Interface Information ......................... xii
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
About System API Programming (SC41-5800) ................. xiii
Who Should Use This Book .............................. xiii
Prerequisite and Related Information ........................ xiii
Information Available on the World Wide Web ................... xiii
Chapter 1. Application Programming Interface—Overview ......... 1-1
API Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Using APIs—Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
System APIs or CL Commands—When to Use Each ............... 1-3
Actions and System Functions of APIs ....................... 1-3
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Chapter 2. Getting Started with APIs ....................... 2-1
Locating the API to Use ................................ 2-1
Selecting the High-Level Language To Use .................... 2-3
API Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
APIs for the Original Program Model Environment ............... 2-4
APIs for the Integrated Language Environment ................. 2-5
APIs for the ILE Common Execution Environment (CEE) ........... 2-5
APIs for the UNIX Environment .......................... 2-6
API Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Parameter Passing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Parameter Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Error Code Parameter ............................... 2-8
Using the Job Log to Diagnose API Errors .................. 2-10
Internal Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
User Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
User Space Format—Example ......................... 2-14
Logic Flow of Processing a List of Entries ................... 2-15
Manipulating a User Space with Pointers ................... 2-16
Manipulating a User Space without Pointers ................. 2-17
Additional Information about List APIs and a User Space .......... 2-22
Listing Database File Members with a CL Program—Example ....... 2-22
Receiver Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23
Bytes Available and Bytes Returned Fields .................. 2-23
Keyed Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
User Space Alternative .............................. 2-25
Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25
Continuation Handle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25
Using a Continuation Handle .......................... 2-25
Domain Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
Exit Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27
Exit Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27
APIs and the QSYSINC Library .......................... 2-28
APIs and the QUSRTOOL Library ......................... 2-30
User Index Considerations ............................. 2-30
Copyright IBM Corp. 1997 iii