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

346 lines
11 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!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>Wait Message (QzdmWaitMessage) 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. -->
<!-- COMM4 SCRIPT A converted by B2H R4.1 (346) (CMS) by V2DCIJB at -->
<!-- RCHVMW2 on 1 Jun 1999 at 17:32:50 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File Edited December, 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>Wait Message (QzdmWaitMessage) API</h2>
<div class="box" style="width: 70%;">
&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%">Receiver variable</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Length of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Format name of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Request variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Length of request variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Format name of request variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">7</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;Library Name / Service Program: QSOC/QZDMMDTA<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *EXECUTE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Wait Message (QzdmWaitMessage) API is used to wait for a message on an OptiConnect stream. The message may be a request message, a response message, or a control message.</p>
<br>
<h3>Restrictions</h3>
<p>The following restrictions apply:</p>
<ul>
<li>The OptiConnect QSOC subsystem must be started on both the local and remote systems prior to calling this API.<br><br></li>
<li>A stream must be opened to the OptiConnect device driver on the local system by using the Open Stream (QzdmOpenStream) API prior to calling this API.<br><br></li>
<li>A path must be opened to the remote system by using the Open Path (QzdmOpenPath) API prior to calling this API.</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Service Program Authority</em></dt>
<dd>*EXECUTE</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The receiver variable that is to receive the output control information from the Wait Message (QzdmWaitMessage) API.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable, in bytes. The length of the receiver variable must be at least equal to or greater than the length of the output format.</p>
</dd>
<dt><strong>Format name of receiver variable</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the information that is returned from the Wait Message (QzdmWaitMessage) API. The WMRC0100 format is used by this API for the receiver variable. See <a href="#HDRWMRC100">WMRC0100 Format</a> for more information on the WMRC0100 format.</p>
</dd>
<dt><strong>Request variable</strong></dt>
<dd>INPUT; CHAR(*)
<p>The request variable structure that describes the input for the Wait Message (QzdmWaitMessage) API.</p>
</dd>
<dt><strong>Length of request variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the request variable, in bytes. The length of the request variable must be at least equal to the length of the input format, and less than or equal to the maximum length of 4KB.</p>
</dd>
<dt><strong>Format name of request variable</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the information that is provided as input for the Wait Message (QzdmWaitMessage) API. The WMRQ0100 format is used by this API for the request variable. See <a href="#HDRWMRQ100">WMRQ0100 Format</a> for more information on the WMRQ0100 format.</p>
</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="HDRWMRC100">WMRC0100 Format</a></h3>
<p>The following table defines the information returned for Format WMRC0100.</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(1)</td>
<td align="left" valign="top" width="60%">Message type</td>
</tr>
</table>
<br><br>
<h3><a name="HDRWMRQ100">WMRQ0100 Format</a></h3>
<p>The following table defines the information required for Format WMRQ0100.</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(16)</td>
<td align="left" valign="top" width="60%">Stream identifier</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">16</td>
<td align="center" valign="top" width="10%">10</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Time-out value</td>
</tr>
</table>
<br><br>
<h3><a name="HDRWMSGFLD">Field Descriptions</a></h3>
<p><strong>Message type.</strong> The type of message that is received. This field is provided as output on the Wait Message (QzdmWaitMessage) API.</p>
<p>Possible values follow:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td valign="top">Request message</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td valign="top">Response message</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td valign="top">Control message</td>
</tr>
</table>
<p><strong>Stream identifier.</strong> The OptiConnect stream that is used for communications. This field is provided as output on the Open Stream (QzdmOpenStream) API.</p>
<p><strong>Time-out value.</strong> A length of time, in milliseconds, to wait for the Wait Message (QzdmWaitMessage) API to complete. If the Wait Message (QzdmWaitMessage) API does not complete before the specified time-out value, the exception CPFADFE is returned. The user should then re-issue the Wait Message (QzdmWaitMessage) API and specify the same time-out value or an increased time-out value.</p>
<p>The Wait Message (QzdmWaitMessage) API remains outstanding, and control is not returned to the user application until either of the following occurs:</p>
<ul>
<li>The request either completes successfully or unsuccessfully.</li>
<li>The time-out value has been exceeded.</li>
</ul>
<p>A value of -1 may be specified, which indicates to wait forever for the Wait Message (QzdmWaitMessage) API to complete.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="3">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td valign="top">Severe error while addressing parameter list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C1D E</td>
<td valign="top">Length specified in parameter &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td valign="top">Program or service program &amp;1 in library &amp;2 ended. Reason code &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFADF0 E</td>
<td valign="top">The OptiConnect QSOC subsystem must be active.</td>
</tr>
<tr>
<td align="left" valign="top">CPFADF1 E</td>
<td valign="top">OptiConnect communication error.</td>
</tr>
<tr>
<td align="left" valign="top">CPFADF5 E</td>
<td valign="top">OptiConnect API internal error, function code &amp;1, return code &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFADF6 E</td>
<td valign="top">Request variable not valid, reason code &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPFADFE E</td>
<td valign="top">Time-out occurred.</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="comm.htm">Communications APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>