371 lines
13 KiB
HTML
371 lines
13 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>Receive Response (QzdmReceiveResponse) 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>Receive Response (QzdmReceiveResponse) API</h2>
|
|
|
|
<div class="box" style="width: 60%;">
|
|
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>
|
|
Library Name / Service Program: QSOC/QZDMMDTA<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Default Public Authority: *EXECUTE<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Threadsafe: No<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
</div>
|
|
|
|
<p>The Receive Response (QzdmReceiveResponse) API is used to receive an acknowledgement and the response data over an OptiConnect path. A maximum of 32KB of data may be received in a single receive response.</p>
|
|
|
|
<p>The response data is received into the output buffers, which were previously defined in the output descriptors on the Send Request (QzdmSendRequest) API.</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.<br><br>
|
|
</li>
|
|
|
|
<li>If the receiving system does not provide a large enough data buffer to receive all of the data, the data that will fit into the data buffer is moved, but the remaining data is truncated. The user must then increase the size of the data buffer, and then retry the entire transaction.<br><br>
|
|
</li>
|
|
|
|
<li>A maximum of 16 transactions may be in progress for a stream-identifier and path-identifier pair.</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 Receive Response (QzdmReceiveResponse) 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 Receive Response (QzdmReceiveResponse) API. The RSRC0100 format is used by this API for the receiver variable. See <a href="#HDRRSRC100">RSRC0100 Format</a> for more information on the RSRC0100 format.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Request variable</strong></dt>
|
|
<dd>INPUT; CHAR(*)
|
|
|
|
<p>The request variable structure that describes the input for the Receive Response (QzdmReceiveResponse) 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 Receive Response (QzdmReceiveResponse) API. The RSRQ0100 format is used by this API for the request variable. See <a href="#HDRRSRQ100">RSRQ0100 Format</a> for more information on the RSRQ0100 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="HDRRSRC100">RSRC0100 Format</a></h3>
|
|
|
|
<p>The following table defines the information returned for Format RSRC0100.</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(4)</td>
|
|
<td align="left" valign="top" width="60%">Acknowledgement data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">4</td>
|
|
<td align="center" valign="top" width="10%">4</td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Actual response data length</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br><br>
|
|
<h3><a name="HDRRSRQ100">RSRQ0100 Format</a></h3>
|
|
|
|
<p>The following table defines the information required for Format RSRQ0100.</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%">CHAR(8)</td>
|
|
<td align="left" valign="top" width="60%">Path identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">24</td>
|
|
<td align="center" valign="top" width="10%">18</td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Time-out value</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">28</td>
|
|
<td align="center" valign="top" width="10%">1C</td>
|
|
<td align="left" valign="top" width="20%">CHAR(8)</td>
|
|
<td align="left" valign="top" width="60%">Transaction identifier</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br><br>
|
|
<h3><a name="HDRRRSPFLD">Field Descriptions</a></h3>
|
|
|
|
<p><strong>Acknowledgement data.</strong> The acknowledgement data for the request. This field is provided as input on the Send Response (QzdmSendResponse) API.</p>
|
|
|
|
<p><strong>Actual response data length.</strong> The actual length that was received for the response data. If the response data that was sent from the Send Response (QzdmSendResponse) API is larger than the buffer that was provided with the Send Request (QzdmSendRequest) API, not all of the data was received. It is the responsibility of the user's application program to retry the entire transaction by using a larger data buffer size for the Send Request (QzdmSendRequest) API to receive all of the data with the Receive Response (QzdmReceiveResponse) API.</p>
|
|
|
|
<p><strong>Path identifier.</strong> The OptiConnect path that is used for communications. This field is provided as output on the Open Path (QzdmOpenPath) API.</p>
|
|
|
|
<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 Receive Response (QzdmReceiveResponse) API to complete. If the Receive Response (QzdmReceiveResponse) API does not complete before the specified time-out value, the exception CPFADFE is returned. The user should then re-issue the Receive Response (QzdmReceiveResponse) API and specify the same time-out value or an increased time-out value.</p>
|
|
|
|
<p>The Receive Response (QzdmReceiveResponse) 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 Receive Response (QzdmReceiveResponse) API to complete.</p>
|
|
|
|
<p><strong>Transaction identifier.</strong> The specific transaction associated with this Receive Response (QzdmReceiveResponse) API. This field is provided as output on the Send Request (QzdmSendRequest) API.</p>
|
|
|
|
<br>
|
|
<h3>Error Messages</h3>
|
|
|
|
<table width="100%" cellpadding="3">
|
|
<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 &1 not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C21 E</td>
|
|
<td valign="top">Format name &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 &1 in library &2 ended. Reason code &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">CPFADF3 E</td>
|
|
<td valign="top">OptiConnect path not valid or closed.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFADF5 E</td>
|
|
<td valign="top">OptiConnect API internal error, function code &1, return code &2.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFADF6 E</td>
|
|
<td valign="top">Request variable not valid, reason code &1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFADFE E</td>
|
|
<td valign="top">Time-out occurred.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFADFF E</td>
|
|
<td valign="top">Transaction was terminated.</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>
|
|
|