ibm-information-center/dist/eclipse/plugins/i5OS.ic.apiref_5.4.0.1/conQSYSINC.htm

207 lines
11 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?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 &lt; and &gt; 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>