ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/qbnlmodi.htm

1207 lines
34 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>List Module Information (QBNLMODI) API</title>
<!-- Begin Header Records ========================================== -->
<!-- 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. -->
<!-- QBNLMOD SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 5 Feb 1999 at 11:13:11 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File Edited by Kersten Nov 2001 -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>List Module Information (QBNLMODI) API</h2>
<div class="box" style="width: 70%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="TOP" width="10%">1</td>
<td align="LEFT" valign="TOP" width="50%">Qualified user space name</td>
<td align="LEFT" valign="TOP" width="20%">Input</td>
<td align="LEFT" valign="TOP" width="20%">Char(20)</td>
</tr>
<tr>
<td align="center" valign="TOP">2</td>
<td align="LEFT" valign="TOP">Format name</td>
<td align="LEFT" valign="TOP">Input</td>
<td align="LEFT" valign="TOP">Char(8)</td>
</tr>
<tr>
<td align="center" valign="TOP">3</td>
<td align="LEFT" valign="TOP">Qualified module name</td>
<td align="LEFT" valign="TOP">Input</td>
<td align="LEFT" valign="TOP">Char(20)</td>
</tr>
<tr>
<td align="center" valign="TOP">4</td>
<td align="LEFT" valign="TOP">Error code</td>
<td align="LEFT" valign="TOP">I/O</td>
<td align="LEFT" valign="TOP">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The List Module Information (QBNLMODI) API lists information about modules.
The information is placed in a user space specified by you. This API is similar
to the Display Module (DSPMOD) command.</p>
<p>You can use the QBNLMODI API to:</p>
<ul>
<li>List the symbols defined that can be exported to other modules</li>
<li>List the symbols that are defined external to the module</li>
<li>List procedure names and their type</li>
<li>List objects that are referenced when the module is bound into an ILE
program or service program</li>
<li>List copyright information</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>User Space Authority</em></dt>
<dd>*CHANGE</dd>
<dt><em>User Space Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>User Space Lock</em></dt>
<dd>*EXCLRD</dd>
<dt><em>Module Authority</em></dt>
<dd>*USE</dd>
<dt><em>Module Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Module Lock</em></dt>
<dd>*SHRRD</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Qualified user space name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The user space that is to receive the module information. The first 10
characters contain the user space name. The second 10 characters contain the
name of the library where the user space is located. The library name can be a
specific library name or one of these special values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The job's current library</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list</td>
</tr>
</table>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The content and format of the information to be returned about the specified
modules. One of the following format names may be used:</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td align="left" valign="top"><em><a href="#HDRMODF1">MODL0100
Format</a></em></td>
<td align="left" valign="top">Module export (*EXPORT) information.</td>
</tr>
<tr>
<td align="left" valign="top"><em><a href="#HDRMODF2">MODL0200
Format</a></em></td>
<td align="left" valign="top">Module import (*IMPORT) information.</td>
</tr>
<tr>
<td align="left" valign="top"><em><a href="#HDRMODF3">MODL0300
Format</a></em></td>
<td align="left" valign="top">Module procedures (*PROCLIST) information.</td>
</tr>
<tr>
<td align="left" valign="top"><em><a href="#HDRMODF4">MODL0400
Format</a></em></td>
<td align="left" valign="top">Referenced system objects (*REFSYSOBJ)
information.</td>
</tr>
<tr>
<td align="left" valign="top"><em><a href="#HDRMODF5">MODL0500
Format</a></em></td>
<td align="left" valign="top">Module copyright (*COPYRIGHT) information.</td>
</tr>
</table>
<p><strong>Note:</strong> Do not use the generic header entry size for formats
returned by this API. Use the Size of this entry field returned in each format
for the size of each entry.</p>
</dd>
<dt><strong>Qualified module name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The name of the module for which the information is to be listed. The first
10 characters contain the module name. The second 10 characters contain the
name of the library where the module is located.</p>
<p>The module name can be a specific module name or one of the following
special values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All modules</td>
</tr>
<tr>
<td align="left" valign="top"><em>generic*</em></td>
<td align="left" valign="top">All modules that begin with this generic prefix.
For example, WRK* lists information for all modules that begin with WRK to
which you are authorized.</td>
</tr>
</table>
<p>The library name can be a specific library name or one of these special
values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All libraries in the system</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ALLUSR</em></td>
<td align="left" valign="top">All non-system libraries. For information on the
libraries included, see <a href="../apiref/genericlibname.htm#allusr">*ALLUSR</a> in Generic library names.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The job's current library</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list</td>
</tr>
<tr>
<td align="left" valign="top"><em>*USRLIBL</em></td>
<td align="left" valign="top">Libraries listed in the user portion of the
library list</td>
</tr>
</table>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="HDRFLDLSTX">Format of the Generated List</a></h3>
<p>The user space contains:</p>
<ul>
<li>A user area</li>
<li>A generic header</li>
<li>An input parameter section</li>
<li>A header section</li>
<li>A list data section</li>
</ul>
<p>For details about the user area and generic header, see <a href="../apiref/usf.htm">
User Space Format for List APIs</a>. For descriptions of each field in the list
returned, see <a href="#HDRMODFD">Field Descriptions</a>.</p>
<p><strong>Note:</strong> Do not use the generic header entry size for formats
returned by this API. Use the Size of this entry field returned in each format
for the size of each entry.<br>
</p>
<h3><a name="HDRMODI1">Input Parameter Section</a></h3>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="LEFT" valign="TOP" width="20%">CHAR(10)</td>
<td align="LEFT" valign="TOP" width="60%">User space name specified</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">10</td>
<td align="CENTER" valign="TOP">A</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">User space library name specified</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">20</td>
<td align="CENTER" valign="TOP">14</td>
<td align="LEFT" valign="TOP">CHAR(8)</td>
<td align="LEFT" valign="TOP">Format name specified</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">28</td>
<td align="CENTER" valign="TOP">1C</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module name specified</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="LEFT" valign="top">CHAR(10)</td>
<td align="LEFT" valign="top">Module library name specified</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMODH1">Header Section</a></h3>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="LEFT" valign="TOP" width="20%">CHAR(10)</td>
<td align="LEFT" valign="TOP" width="60%">User space name used</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">10</td>
<td align="CENTER" valign="TOP">A</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">User space library name used</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMODF1">MODL0100 Format</a></h3>
<p>The MODL0100 format lists the symbols defined in the module and that are
exported to other modules. The following table shows how this information for
each module is organized. For detailed descriptions of the fields in the list,
see <a href="#HDRMODFD">Field Descriptions</a>.</p>
<p><strong>Note:</strong> Do not use the generic header entry size for this
format. Use the Size of this entry field returned in this format for the size
of each entry.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="LEFT" valign="TOP" width="20%">BINARY(4)</td>
<td align="LEFT" valign="TOP" width="60%">Size of this entry</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">4</td>
<td align="CENTER" valign="TOP">4</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">14</td>
<td align="CENTER" valign="TOP">E</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">24</td>
<td align="CENTER" valign="TOP">18</td>
<td align="LEFT" valign="TOP">CHAR(1)</td>
<td align="LEFT" valign="TOP">Exported defined symbol type</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">25</td>
<td align="CENTER" valign="TOP">19</td>
<td align="LEFT" valign="TOP">CHAR(3)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">28</td>
<td align="CENTER" valign="TOP">1C</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Offset to exported defined symbol name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">32</td>
<td align="CENTER" valign="TOP">20</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Length of exported defined symbol name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">36</td>
<td align="CENTER" valign="TOP">24</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Uses argument optimization (ARGOPT)</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">46</td>
<td align="CENTER" valign="TOP">2E</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="4">Module information through
offsets</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Exported defined symbol name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMODF2">MODL0200 Format</a></h3>
<p>The MODL0200 format lists symbols defined external to the module. The
following table shows how this information for each module is organized. For
detailed descriptions of the fields in the list, see <a href="#HDRMODFD">Field
Descriptions</a>.</p>
<p><strong>Note:</strong> Do not use the generic header entry size for this
format. Use the Size of this entry field returned in this format for the size
of each entry.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="LEFT" valign="TOP" width="20%">BINARY(4)</td>
<td align="LEFT" valign="TOP" width="60%">Size of this entry</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">4</td>
<td align="CENTER" valign="TOP">4</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">14</td>
<td align="CENTER" valign="TOP">E</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">24</td>
<td align="CENTER" valign="TOP">18</td>
<td align="LEFT" valign="TOP">CHAR(1)</td>
<td align="LEFT" valign="TOP">Imported (unresolved) symbol type</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">25</td>
<td align="CENTER" valign="TOP">19</td>
<td align="LEFT" valign="TOP">CHAR(3)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">28</td>
<td align="CENTER" valign="TOP">1C</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Offset to imported (unresolved) symbol name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">32</td>
<td align="CENTER" valign="TOP">20</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Length of imported (unresolved) symbol name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">36</td>
<td align="CENTER" valign="TOP">24</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Uses argument optimization (ARGOPT)</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">46</td>
<td align="CENTER" valign="TOP">2E</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="4">Module information through
offsets</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Imported (unresolved) symbol name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMODF3">MODL0300 Format</a></h3>
<p>The MODL0300 format lists procedure names and their types. The following
table shows how this information for each module is organized. For detailed
descriptions of the fields in the list, see <a href="#HDRMODFD">Field
Descriptions</a>.</p>
<p><strong>Note:</strong> Do not use the generic header entry size for this
format. Use the Size of this entry field returned in this format for the size
of each entry.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="LEFT" valign="TOP" width="20%">BINARY(4)</td>
<td align="LEFT" valign="TOP" width="60%">Size of this entry</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">4</td>
<td align="CENTER" valign="TOP">4</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">14</td>
<td align="CENTER" valign="TOP">E</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">24</td>
<td align="CENTER" valign="TOP">18</td>
<td align="LEFT" valign="TOP">CHAR(1)</td>
<td align="LEFT" valign="TOP">Procedure type</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">25</td>
<td align="CENTER" valign="TOP">19</td>
<td align="LEFT" valign="TOP">CHAR(3)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">28</td>
<td align="CENTER" valign="TOP">1C</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Offset to procedure name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">32</td>
<td align="CENTER" valign="TOP">20</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Length of procedure name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">36</td>
<td align="CENTER" valign="TOP">24</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Uses argument optimization (ARGOPT)</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">46</td>
<td align="CENTER" valign="TOP">2E</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="4">Module information through
offsets</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Procedure name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMODF4">MODL0400 Format</a></h3>
<p>The MODL0400 format lists the objects that are referenced by the module when
the module is bound to an ILE program or service program. The following table
shows how this information for each module is organized. For detailed
descriptions of the fields in the list, see <a href="#HDRMODFD">Field
Descriptions</a>.</p>
<p><strong>Note:</strong> Do not use the generic header entry size for this
format. Use the Size of this entry field returned in this format for the size
of each entry.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="LEFT" valign="TOP" width="20%">BINARY(4)</td>
<td align="LEFT" valign="TOP" width="60%">Size of this entry</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">4</td>
<td align="CENTER" valign="TOP">4</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">14</td>
<td align="CENTER" valign="TOP">E</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">24</td>
<td align="CENTER" valign="TOP">18</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Object type</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">34</td>
<td align="CENTER" valign="TOP">22</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Object library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">44</td>
<td align="CENTER" valign="TOP">2C</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Offset to object name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">48</td>
<td align="CENTER" valign="TOP">30</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Length of object name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">52</td>
<td align="CENTER" valign="TOP">34</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="4">Module information through
offsets</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Object name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMODF5">MODL0500 Format</a></h3>
<p>The MODL0500 format lists the copyrights contained in the module. The
following table shows how this information for each module is organized. For
detailed descriptions of the fields in the list, see <a href="#HDRMODFD">Field
Descriptions</a>.</p>
<p><strong>Note:</strong> Do not use the generic header entry size for this
format. Use the Size of this entry field returned in this format for the size
of each entry.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="LEFT" valign="TOP" width="20%">BINARY(4)</td>
<td align="LEFT" valign="TOP" width="60%">Size of this entry</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">4</td>
<td align="CENTER" valign="TOP">4</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">14</td>
<td align="CENTER" valign="TOP">E</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Module library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">24</td>
<td align="CENTER" valign="TOP">18</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Offset to copyright</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">28</td>
<td align="CENTER" valign="TOP">1C</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Length of copyright</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">32</td>
<td align="CENTER" valign="TOP">20</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="4">Module information through
offsets</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="CENTER" valign="TOP">&nbsp;</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Copyright</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMODFD">Field Descriptions</a></h3>
<p><strong>Copyright.</strong> Copyright information for the module.</p>
<p><strong>Exported defined symbol name.</strong> An exported procedure or
variable in this module. Other modules may use these symbols.</p>
<p><strong>Exported defined symbol type.</strong> Indicates whether the
exported symbol is a procedure or a data symbol. The possible values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>'00'X</em></td>
<td align="left" valign="top">The exported symbol is a procedure.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'01'X</em></td>
<td align="left" valign="top">The exported symbol is a data item.</td>
</tr>
</table>
<p><strong>Format name specified.</strong> The format name that was passed to
this API on the call in the format parameter.</p>
<p><strong>Imported (unresolved) symbol name.</strong> An imported procedure or
variable in this module. This is typically a reference to a procedure exported
from another module.</p>
<p><strong>Imported (unresolved) symbol type.</strong> Indicates whether the
imported symbol is a procedure or a data symbol. The possible values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>'00'X</em></td>
<td align="left" valign="top">The imported symbol is a procedure.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'01'X</em></td>
<td align="left" valign="top">The imported symbol is a data item.</td>
</tr>
</table>
<p><strong>Length of copyright.</strong> The length of the copyright.</p>
<p><strong>Length of exported defined symbol name.</strong> The length of the
exported defined symbol name.</p>
<p><strong>Length of imported (unresolved) symbol name.</strong> The length of
the imported (unresolved) symbol name.</p>
<p><strong>Length of object name.</strong> The length of the object name.</p>
<p><strong>Length of procedure name.</strong> The length of the procedure
name.</p>
<p><strong>Module library name.</strong> The name of the library containing the
module.</p>
<p><strong>Module library name specified.</strong> The module library name that
was passed to this API in the qualified module name parameter.</p>
<p><strong>Module name.</strong> The name of the module.</p>
<p><strong>Module name specified.</strong> The module name that was passed to
this API in the qualified module name parameter.</p>
<p><strong>Object library name.</strong> The name of the library where the
object exists. If the object library name is blank, the object is in the
integrated file system.</p>
<p><strong>Object name.</strong> A system object that is referenced at bind
time. This object (modules and/or service programs and/or binding directories)
is used by CRTPGM or CRTSRVPGM when this module is listed on the MODULE
parameter on CRTPGM or CRTSRVPGM.</p>
<p><strong>Object type.</strong> The object type of the system object that is
referenced at bind time. The possible special values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*MODULE</em></td>
<td align="left" valign="top">The object is a module.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SRVPGM</em></td>
<td align="left" valign="top">The object is a service program.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*BNDDIR</em></td>
<td align="left" valign="top">The object is a binding directory.</td>
</tr>
</table>
<p><strong>Offset to copyright.</strong> Offset from the beginning of the user
space to the copyright for this entry.</p>
<p><strong>Offset to exported defined symbol name.</strong> Offset from the
beginning of the user space to the exported defined symbol name for this
entry.</p>
<p><strong>Offset to imported (unresolved) symbol name.</strong> Offset from
the beginning of the user space to the imported (unresolved) symbol name for
this entry.</p>
<p><strong>Offset to object name.</strong> Offset from the beginning of the
user space to the object name for this entry.</p>
<p><strong>Offset to procedure name.</strong> Offset from the beginning of the
user space to the procedure name for this entry.</p>
<p><strong>Procedure name.</strong> A procedure defined in this module.</p>
<p><strong>Procedure type.</strong> The type of procedure. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>'00'X</em></td>
<td align="left" valign="top">Regular procedure. If the type is regular, this
procedure cannot serve as a program entry procedure.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'01'X</em></td>
<td align="left" valign="top">Entry point procedure. If the type is entry
point, this procedure can serve as a program entry procedure when this module
is bound to a program.</td>
</tr>
</table>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Size of this entry.</strong> The size, in bytes, of this entry. Do
not use the generic header entry size for formats with this field. Use this
field for the size of each entry.</p>
<p><strong>User space library name specified.</strong> The user space library
name that was passed to this API on the call in the qualified user space name
parameter.</p>
<p><strong>User space library name used.</strong> The name of the library that
contains the user space that receives the module information requested.</p>
<p><strong>User space name specified.</strong> The user space name that was
passed to this API on the call in the qualified user space name parameter.</p>
<p><strong>User space name used.</strong> The name of the user space that
receives the module information requested.</p>
<p><strong>Uses argument optimization (ARGOPT).</strong> Whether or not the
procedure import or export uses argument optimization. For data imports and
exports, this value has no meaning and is always given as a blank. For some
procedure imports, this value cannot be determined and is given as *UNKNOWN.
Possible values follow:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*YES</em></td>
<td align="left" valign="top">The procedure import or export uses argument
optimization (ARGOPT)</td>
</tr>
<tr>
<td align="left" valign="top"><em>*NO</em></td>
<td align="left" valign="top">The procedure import or export does not use
argument optimization (ARGOPT)</td>
</tr>
<tr>
<td align="left" valign="top"><em>*UNKNOWN</em></td>
<td align="left" valign="top">The procedure import is used only to construct
procedure pointers and is never called directly.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Blank</em></td>
<td align="left" valign="top">The symbol is not a procedure import or
export.</td>
</tr>
</table>
<br>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td width="15%" valign="top">CPD5CFE E</td>
<td width="85%" valign="top">Module &amp;1 in library &amp;2 is in error.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C20 E</td>
<td align="left" valign="top">Error found by program &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CAA E</td>
<td align="left" valign="top">List is too large for user space &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5CFD E</td>
<td align="left" valign="top">Module name &amp;1 not a valid special
value.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5CFE E</td>
<td align="left" valign="top">Module &amp;1 in file &amp;2 not changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF811A E</td>
<td align="left" valign="top">User space &amp;4 in &amp;9 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8122 E</td>
<td align="left" valign="top">&amp;8 damage on library &amp;4.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8123 E</td>
<td align="left" valign="top">Damage on object information for library
&amp;4.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8130 E</td>
<td align="left" valign="top">Character in quoted name not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 E</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9804 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9806 E</td>
<td align="left" valign="top">Cannot perform function for object &amp;2 in
library &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9807 E</td>
<td align="left" valign="top">One or more libraries in library list
deleted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9808 E</td>
<td align="left" valign="top">Cannot allocate one or more libraries on library
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9811 E</td>
<td align="left" valign="top">Program &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9821 E</td>
<td align="left" valign="top">Not authorized to program &amp;1 in library
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9830 E</td>
<td align="left" valign="top">Cannot assign library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9838 E</td>
<td align="left" valign="top">User profile storage limit exceeded.</td>
</tr>
</table>
<br>
<hr>
API introduced: V3R7
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"pgm1.htm">Program and CL Command APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>