315 lines
9.9 KiB
HTML
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>
|
||
|
|