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

315 lines
9.9 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>Cluster APIs Use of User Queues</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. -->
<!-- CLUST1A SCRIPT A converted by B2H R4.1 (346) (CMS) by NLJONES at -->
<!-- RCHVMX on 24 Feb 1999 at 15:32:00 -->
<!-- End Header Records -->
<!-- -->
<!-- -->
<!-- -->
<!-- Begin Developer Note ========================================== -->
<!-- NOTE: If you are adding, changing, or removing ANY requirements -->
<!-- for this API chance are good that the GUI code need to change -->
<!-- also. The Cluster GUI code is built on top of this API and it -->
<!-- does a certain amount of explicit and implicit validation -->
<!-- checking of user data prior to the API call being made. Please -->
<!-- have the Cluster GUI developer check the -->
<!--/as400/v5r4m0.guix/cur/cmvc/java.pgm/ugcl.guix/com/ibm/as400/opnav/ugcl/ClGuiActionsManager.java/ClGuiActionsManager.java -->
<!-- part to determine if any Cluster GUI code changes are needed. -->
<!-- End Developer Note -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!--Java sync-link-->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<a name="Top_Of_Page"></a>
<h2>Cluster APIs Use of User Queues</h2>
<p>Functions performed by APIs with a parameter called Results Information
operate asynchronously and will have data sent to a user queue once the API has
finished processing. The user queue must be created before calling the API.
User queues are created with the Create User Queue (QUSCRTUQ) API. The queue cannot be in an independent
auxiliary storage pool. The queue must be created as a KEYED queue. The key for the
user queue is described in the format of the user queue entry. The user queue
name is passed to the API.
The user queue may be in either system or user domain storage.
Suggested values for each parameter is shown
in the comments.</p>
<pre>
Parm: Value of Parm:
QUSCRTUQ (
UserQueueName,
ExtendedAttr,
QueueType, /* K Keyed */
KeyLength, /* 28 */
MaxMsgSize, /* 64000 */
InitialNumMsg, /* 1 */
AddtNumMsg, /* 1 */
PublicAuth, /* *EXCLUDE */
TextDescription,
Replace, /* *NO */
ErrorCode,
Domain, /* *USER */
Pointers, /* *NO */
NumberQueueExt, /* -1 */
ReclaimStg /* 0 */
);
</pre>
<br>
<h3>User queue key format</h3>
<p>The following is the format of the user queue key. All user queue entries
have the same format for the Cluster APIs that support the Results Information
parameter.</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%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Entry type</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Entry identifier</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Request handle</td>
</tr>
</table>
<br>
<br>
<h3>User queue entry format</h3>
<p>The following is the format of the user queue entry. All user queue entries
have the same format for the Cluster APIs that support the Results Information
parameter.</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%">Message format version ID</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Message type</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(30)</td>
<td align="left" valign="top">API name</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Message identifier</td>
</tr>
<tr>
<td align="center" valign="top">45</td>
<td align="center" valign="top">2D</td>
<td align="left" valign="top">CHAR(35)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">80</td>
<td align="center" valign="top">50</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Failing node ID</td>
</tr>
<tr>
<td align="center" valign="top">88</td>
<td align="center" valign="top">58</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">External object name</td>
</tr>
<tr>
<td align="center" valign="top">98</td>
<td align="center" valign="top">62</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">100</td>
<td align="center" valign="top">64</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to message data</td>
</tr>
<tr>
<td align="center" valign="top">104</td>
<td align="center" valign="top">68</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Message data length</td>
</tr>
<tr>
<td align="center" valign="top">108</td>
<td align="center" valign="top">6C</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Message data</td>
</tr>
</table>
<br>
<br>
<h3><a name="Header_8">Field Descriptions</a></h3>
<p><strong>API name.</strong> The name of the API that caused the results to be
sent to the user queue.</p>
<p><strong>Entry identifier.</strong> Format of the data. This is set by the
i5/OS<SUP>(R)</SUP>. Valid values are:</p>
<table width="100%">
<tr>
<td align="left" valign="top" width="5%"><em>00</em></td>
<td align="left" valign="top" width="95%">Data distributed by the cluster
APIs.</td>
</tr>
</table>
<p><strong>Entry type.</strong> The entry type on the user queue. This value is
set by the i5/OS. Valid values are:</p>
<table width="100%">
<tr>
<td align="left" valign="top" width="5%"><em>*CRS</em></td>
<td align="left" valign="top" width="95%">Cluster Resource Services sent the
results information to the user queue.</td>
</tr>
</table>
<p><strong>External object name.</strong> The name of the object that was not
successfully processed.</p>
<p><strong>Failing node ID.</strong> The cluster node that detected the
condition being reported.</p>
<p><strong>Message data.</strong> The message data for the message identifier.
The format of this field depends on the message identifier. The
<a href=QMHRTVM.htm>Retrieve
Message (QMHRTVM) API</a> can be used to determine the format of the message data for each
message identifier.</p>
<p><strong>Message data length.</strong> The length of the message data for the
message identifier.</p>
<p><strong>Message format version ID.</strong> The version of the message
format that is being used.</p>
<p><strong>Message identifier.</strong> An i5/OS message identifier associated
with a message description defined by i5/OS.</p>
<p><strong>Message type.</strong> The type of message sent to the user queue.
Any diagnostic or information messages returned as a result of an API will
appear before the completion message. The valid values are:</p>
<table width="100%">
<tr>
<td align="left" valign="top" width="5%"><em>1</em></td>
<td align="left" valign="top" width="95%">Diagnostic</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Information</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">Completion</td>
</tr>
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">User data</td>
</tr>
</table>
<p><strong>Offset to message data.</strong> The number of bytes from the start
of the user queue entry to the data.</p>
<p><strong>Reserved.</strong> Reserved for future use. Set to hexadecimal
zeroes.</p>
<p><strong>Request handle.</strong> A unique identifier assigned by Cluster
Resource Services and returned to the caller of the API.</p>
<br>
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"clust1.htm">Cluster APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>