207 lines
11 KiB
HTML
207 lines
11 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE html
|
||
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
<html lang="en-us" xml:lang="en-us">
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
|
<meta name="security" content="public" />
|
||
|
<meta name="Robots" content="index,follow" />
|
||
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
||
|
<meta name="DC.Type" content="concept" />
|
||
|
<meta name="DC.Title" content="Include files and the QSYSINC library" />
|
||
|
<meta name="abstract" content="The QSYSINC (system include) library provides all source includes for APIs shipped with i5/OS." />
|
||
|
<meta name="description" content="The QSYSINC (system include) library provides all source includes for APIs shipped with i5/OS." />
|
||
|
<meta name="DC.Relation" scheme="URI" content="concept.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="cmnExtract.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="error.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="apiexmp.htm" />
|
||
|
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
|
||
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
|
||
|
<meta name="DC.Format" content="XHTML" />
|
||
|
<meta name="DC.Identifier" content="conQSYSINC" />
|
||
|
<meta name="DC.Language" content="en-us" />
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
||
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
||
|
<title>Include files and the QSYSINC library</title>
|
||
|
</head>
|
||
|
<body id="conQSYSINC"><a name="conQSYSINC"><!-- --></a>
|
||
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
||
|
<h1 class="topictitle1">Include files and the QSYSINC library</h1>
|
||
|
<div><p>The QSYSINC (system include) library provides all source includes
|
||
|
for APIs shipped with i5/OS™.</p>
|
||
|
<p>This optionally installed library is fully supported, which means you can
|
||
|
write APARs if you find errors in the includes.</p>
|
||
|
<p>You can install this library by using the GO LICPGM functions of i5/OS. Select
|
||
|
the Install Licensed Programs option on the Work with Licensed Programs display
|
||
|
and the i5/OS System
|
||
|
Openness Includes option on the Install Licensed Programs display.</p>
|
||
|
<p>The terms <em>include file</em> and <em>header file</em> are interchangeable
|
||
|
and pertain to the contents of the QSYSINC library. These files are intended
|
||
|
to be compatible with future releases.</p>
|
||
|
<p>The naming conventions for the includes are the same as either the OPM
|
||
|
API or the ILE service program name. If both exist, the include has both names.</p>
|
||
|
<div class="section"><h4 class="sectiontitle">Include files shipped with the QSYSINC library</h4><p>The
|
||
|
following table lists the include files that are shipped with the QSYSINC
|
||
|
library:</p>
|
||
|
|
||
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e57">Operating Environment</th>
|
||
|
<th valign="top" id="d0e59">Language</th>
|
||
|
<th valign="top" id="d0e61">File Name</th>
|
||
|
<th valign="top" id="d0e63">Member Name (Header File)</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody><tr><td rowspan="5" valign="top" headers="d0e57 ">OPM APIs</td>
|
||
|
<td valign="top" headers="d0e59 ">ILE C <sup>1</sup></td>
|
||
|
<td valign="top" headers="d0e61 ">H</td>
|
||
|
<td valign="top" headers="d0e63 ">OPM API program name</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">RPG</td>
|
||
|
<td valign="top" headers="d0e61 ">QRPGSRC</td>
|
||
|
<td valign="top" headers="d0e63 ">OPM API program name or OPM API program name with the letter E replacing
|
||
|
the letter Q for members containing array definitions</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE RPG</td>
|
||
|
<td valign="top" headers="d0e61 ">QRPGLESRC</td>
|
||
|
<td valign="top" headers="d0e63 ">OPM API program name</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">COBOL</td>
|
||
|
<td valign="top" headers="d0e61 ">QLBLSRC</td>
|
||
|
<td valign="top" headers="d0e63 ">OPM API name</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE COBOL</td>
|
||
|
<td valign="top" headers="d0e61 ">QCBLLESRC</td>
|
||
|
<td valign="top" headers="d0e63 ">OPM API program name</td>
|
||
|
</tr>
|
||
|
<tr><td rowspan="3" valign="top" headers="d0e57 ">ILE APIs</td>
|
||
|
<td valign="top" headers="d0e59 ">ILE C</td>
|
||
|
<td valign="top" headers="d0e61 ">H</td>
|
||
|
<td valign="top" headers="d0e63 ">Service program name or API program name <sup>2</sup></td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE RPG</td>
|
||
|
<td valign="top" headers="d0e61 ">QRPGLESRC</td>
|
||
|
<td valign="top" headers="d0e63 ">Service program name or API program name <sup>2</sup></td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE COBOL</td>
|
||
|
<td valign="top" headers="d0e61 ">QCBLLESRC</td>
|
||
|
<td valign="top" headers="d0e63 ">Service program name or API program name <sup>2</sup></td>
|
||
|
</tr>
|
||
|
<tr><td rowspan="6" valign="top" headers="d0e57 ">UNIX<sup>®</sup> type</td>
|
||
|
<td valign="top" headers="d0e59 ">ILE C</td>
|
||
|
<td valign="top" headers="d0e61 ">ARPA</td>
|
||
|
<td valign="top" headers="d0e63 ">Industry defined</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE C</td>
|
||
|
<td valign="top" headers="d0e61 ">H</td>
|
||
|
<td valign="top" headers="d0e63 ">Industry defined</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE C</td>
|
||
|
<td valign="top" headers="d0e61 ">NET</td>
|
||
|
<td valign="top" headers="d0e63 ">Industry defined</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE C</td>
|
||
|
<td valign="top" headers="d0e61 ">NETINET</td>
|
||
|
<td valign="top" headers="d0e63 ">Industry defined</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE C</td>
|
||
|
<td valign="top" headers="d0e61 ">NETNS</td>
|
||
|
<td valign="top" headers="d0e63 ">Industry defined</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e59 ">ILE C</td>
|
||
|
<td valign="top" headers="d0e61 ">SYS</td>
|
||
|
<td valign="top" headers="d0e63 ">Industry defined</td>
|
||
|
</tr>
|
||
|
<tr><td colspan="4" valign="top" headers="d0e57 d0e59 d0e61 d0e63 "> <div class="note"><span class="notetitle">Notes:</span> <ol><li>CEE ILE APIs are included in this part of the table.</li>
|
||
|
<li>The API can be either bindable when you use the service program name or
|
||
|
callable when you use the API program name.</li>
|
||
|
</ol>
|
||
|
</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
<p>Besides the includes for specific APIs, other includes existing
|
||
|
in the QSYSINC library follow:</p>
|
||
|
|
||
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr valign="bottom"><th valign="bottom" id="d0e198">API</th>
|
||
|
<th valign="bottom" id="d0e200">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody><tr><td valign="top" headers="d0e198 "><em>QLIEPT and QUSEPT</em></td>
|
||
|
<td valign="top" headers="d0e200 ">Allow C-language application programs to call OPM APIs directly through
|
||
|
the system entry point table</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e198 "><em>QUSGEN</em></td>
|
||
|
<td valign="top" headers="d0e200 ">Defines the generic header for list APIs</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e198 "><em>QUSEC</em></td>
|
||
|
<td valign="top" headers="d0e200 ">Contains the structures for the error code parameter</td>
|
||
|
</tr>
|
||
|
<tr><td valign="top" headers="d0e198 "><em>Qxx</em></td>
|
||
|
<td valign="top" headers="d0e200 ">Provides common structures that are used by multiple APIs (where the <em>xx</em> is
|
||
|
the component identifier, for example, QMH, QSY, and so forth)</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
<p>The include files that are shipped with the system define only
|
||
|
the fixed portions of the formats. You must define the varying-length fields.
|
||
|
The QSYSINC include files are read-only files. If you use a structure that
|
||
|
contains one or more varying-length fields, you need to copy the include file
|
||
|
to your library and edit your copy. Uncomment the varying-length fields in
|
||
|
your copy of the include file, and specify the actual lengths you want. When
|
||
|
using a structure as an input to an API, initialize the structure in its entirety
|
||
|
(typically to x'00' but refer to the specific API documentation for the correct
|
||
|
value) prior to setting specific field values within the structure. This will
|
||
|
avoid having to initialize reserved fields by name, as the reserved field
|
||
|
name may change in future releases. The files are built with a CCSID of 00037.
|
||
|
When you compile a program in a specific CCSID, any QSYSINC include file is
|
||
|
converted to the program CCSID.</p>
|
||
|
<p>Exit programs only have an include if
|
||
|
the exit program contains a structure. The member names for these exit programs
|
||
|
start with the letter E. Except for RPG array definitions for APIs that also
|
||
|
start with E, any member names in the QSYSINC library that start with the
|
||
|
letter E are include files for exit programs. The QSYSINC member name of these
|
||
|
includes is provided in the parameter box for the applicable exit programs.</p>
|
||
|
<p>For
|
||
|
development of client-based applications, integrated-file-system symbolic
|
||
|
links to QSYSINC openness includes are also provided in the /QIBM/include
|
||
|
path.</p>
|
||
|
<p>All source physical files are shipped with read capabilities only;
|
||
|
changes cannot be made to the QSYSINC library. All are built with a CCSID
|
||
|
of 00037. When you compile a program in a specific CCSID, any QSYSINC include
|
||
|
file is converted to the program CCSID.</p>
|
||
|
<p>If you are coding in ILE C,
|
||
|
the header files in the QSYSINC library are considered system include files.
|
||
|
You should use the < and > symbols on the #include statement; this affects
|
||
|
how the library list is used to search for header files.</p>
|
||
|
<p>If you are
|
||
|
coding in RPG or COBOL and need to define storage for variable length fields,
|
||
|
you should copy the appropriate QSYSINC system include to a user source library.
|
||
|
You can then customize the include file to your specific needs and use the
|
||
|
customized member when you compile your application.</p>
|
||
|
<p>If you are developing
|
||
|
applications on a release n system that will run on a release n-1 system,
|
||
|
you may want to copy each release's include files to user source libraries.
|
||
|
This will minimize the impact of include file changes as APIs are enhanced
|
||
|
over time with additional fields.</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div>
|
||
|
<div class="familylinks">
|
||
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="concept.htm" title="Describes the underlying concepts that you need to understand to work effectively with APIs. Among the concepts covered are basic concepts, programming considerations, and terminology.">API concepts</a></div>
|
||
|
</div>
|
||
|
<div class="relconcepts"><strong>Related concepts</strong><br />
|
||
|
<div><a href="cmnExtract.htm" title="The format section describes where the field that you want is located within the receiver variable.">Extracting a field from the format</a></div>
|
||
|
</div>
|
||
|
<div class="relref"><strong>Related reference</strong><br />
|
||
|
<div><a href="error.htm" title="An API error code parameter is a variable-length structure that is common to all of the system APIs.">Error code parameter</a></div>
|
||
|
<div><a href="apiexmp.htm" title="Contains example programs that use APIs and exit programs.">Examples: APIs</a></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|