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

2278 lines
76 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 Data (QOLRECV) 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. -->
<!-- NETMG2 SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 29 Jan 1999 at 10:01:37 -->
<!-- This file has undergone html cleanup June 2002 by JET -->
<!-- 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 language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Receive Data (QOLRECV) 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%">Return code</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Reason code</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Existing user connection end point ID</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">New provider connection end point ID</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Operation</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(2)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Number of data units</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Data available</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Diagnostic data</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(40)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Communications handle</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</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 Receive Data (QOLRECV) API performs an input operation on a link that is
currently enabled in the job in which the application program is running. The
type of data received is returned in the operation parameter. The data itself,
is returned in the input buffer that was created when the link was enabled. For
X'0001' operations, a description of that data is also be returned in the input
buffer descriptor that is created when the link was enabled.</p>
<p>The QOLRECV API can receive different types of data depending on the type of
communications line the link is using. See <a href="#HDRLANOPRR">LAN Input
Operations</a> for more information on the types of data that can be received
on links using a token-ring, Ethernet, wireless, or FDDI communications line.
See <a href="#HDRX25OPRR">X.25 SVC and PVC Input Operations</a> for more
information on the types of data that can be received on links using an X.25
communications line.</p>
<p><strong>Note:</strong> The QOLRECV API should only be called when the
user-defined communications support has data available to be received. This is
indicated either by an incoming-data entry on the data queue or user queue, or
by the data available parameter on the QOLRECV API.</p>
<br>
<!-- Please NOTE: DO NOT DELETE THIS SECTION if this API has no authorities and locks. -->
<!-- Instead, use the commented out coding below to indicate NONE. -->
<h3>Authorities and Locks</h3>
<!-- Use this if there are no authorities and locks. -->
<p>None.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Return code</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>The recovery action to take. See <a href="#HDRRECVRR">Return and Reason
Codes</a>.</p>
</dd>
<dt><strong>Reason code</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>The error that occurred. See <a href="#HDRRECVRR">Return and Reason
Codes</a>.</p>
</dd>
<dt><strong>Existing user connection end point ID</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>The user connection end point (UCEP) ID that the data was received on. For
links using a token-ring, Ethernet, wireless, or FDDI communications line, the
content of this parameter will always be 1.</p>
<p>For links using an X.25 communications line, the content of this parameter
is only valid when the operation parameter is X'0001', X'B001', X'B101',
X'B301', or X'BF01'. It will contain the UCEP ID that was provided in the new
user connection end point ID parameter on the call to the QOLSEND API with
operation X'B000' or X'B400'.</p>
<p><strong>Note:</strong> If an incoming X.25 SVC call is rejected by the
user-defined communications application program by calling the QOLSEND API with
operation X'B100', the content of this parameter will be set to zero when
notification of the completion of the X'B100' operation is received from the
QOLRECV API (operation X'B101').</p>
</dd>
<dt><strong>New provider connection end point ID</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>The provider connection end point (PCEP) ID for the connection that is to be
established. This identifier must be used on all subsequent calls to the
QOLSEND API for this connection.</p>
<p>The content of this parameter is only valid for links using an X.25
communications line and when the operation parameter is X'B201'.</p>
</dd>
<dt><strong>Operation</strong></dt>
<dd>OUTPUT; CHAR(2)
<p>The type of data received by the application program. With the exception of
X'0001', all values are only valid for links using an X.25 communications line.
The valid values are as follows:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>X'0001'</em></td>
<td valign="top">User data.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B001'</em></td>
<td valign="top">Completion of the X'B000' output operation.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B101'</em></td>
<td valign="top">Completion of the X'B100' output operation.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B111'</em></td>
<td valign="top">Completion of the X'B110' output operation.
<p>Cleanup of all connections complete. No data is associated with this
operation.</p>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B201'</em></td>
<td valign="top">Incoming X.25 switched virtual circuit (SVC) call.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B301'</em></td>
<td valign="top">Connection failure or reset indication received.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B311'</em></td>
<td valign="top">Connection failure applying to all connections for this link.
<p>This operation is only received when the extended operations parameter for
the QOLELINK API is set to operations supported.</p>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'BF01'</em></td>
<td valign="top">Completion of the reset (X'BF00') output operation.</td>
</tr>
</table>
<p><strong>Note:</strong> The special value of X'0000' will be returned in the
operation parameter to indicate no data was received from the QOLRECV API. See
<a href="#HDRRECVRR">Return and Reason Codes</a> for more information.</p>
</dd>
<dt><strong>Number of data units</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>The number of data units in the input buffer that contain data. Any value
between 1 and the number of data units created in the input buffer may be
returned when the operation parameter is X'0001'. Otherwise, any value between
0 and 1 may be returned.</p>
<p><strong>Note:</strong> The number of data units created in the input buffer
was returned in the data units created parameter on the call to the QOLELINK
API. See <a href="qolelink.htm">Enable Link (QOLELINK) API</a> for
more information.</p>
</dd>
<dt><strong>Data available</strong></dt>
<dd>OUTPUT; CHAR(1)
<p>Specifies whether more data is available for the user-defined communications
application program to receive. The valid values are as follows:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">No more data is available for the user-defined communications
application program to receive.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">More data is available for the user-defined communications
application program to receive. The QOLRECV API must be called again prior to
any other operations.</td>
</tr>
</table>
<p><strong>Note:</strong> An incoming-data entry will be sent to the data queue
or user queue only when the content of this parameter is X'00' and then more
data is subsequently available to be received.
See <a href="comm3.htm#HDRIDATAEN">Incoming-data entry</a>
for more information.</p>
</dd>
<dt><strong>Diagnostic data</strong></dt>
<dd>OUTPUT; CHAR(40)
<p>Specifies additional diagnostic data. See <a href="#HDRRADDERR">Format of
Diagnostic Data Parameter</a> for more information.</p>
<p>The content of this parameter is only valid when the operation parameter is
X'B001', X'B101', X'B301', X'B311', or X'BF01'.</p>
</dd>
<dt><strong>Communications handle</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the link on which to receive the data.</p>
</dd>
</dl>
<br>
<h3><a name="HDRRADDERR">Format of Diagnostic Data Parameter</a></h3>
<p>The format of the diagnostic data parameter is shown below. The contents of
the fields within this parameter are only valid on X'B001', X'B101', X'B301',
X'B311', and X'BF01' operations for the indicated return and reason codes.</p>
<table border width="80%">
<tr>
<th valign="top">Field</th>
<th valign="top">Type</th>
<th valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(2)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Error code</td>
<td align="left" valign="top" width="20%">CHAR(4)</td>
<td align="left" valign="top" width="60%">Specifies hexadecimal diagnostic
information that can be used to determine recovery actions.
<p>The content of this field is only valid for 83/4001 and 83/4002
return/reason codes.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Time stamp</td>
<td align="left" valign="top" width="20%">CHAR(8)</td>
<td align="left" valign="top" width="60%">The time the error occurred.
<p>The content of this field is only valid for 83/4001 and 83/4002
return/reason codes.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Error log identifier</td>
<td align="left" valign="top" width="20%">CHAR(4)</td>
<td align="left" valign="top" width="60%">The hexadecimal identifier that can
be used for locating error information in the error log.
<p>The content of this field is only valid for 83/4001 and 83/4002
return/reason codes.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Indicators</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">The indicators that the user-defined
communications application program can use to diagnose a potential error
condition. This is a bit-sensitive field.
<p>The valid values for bit 0 (leftmost bit) are as follows:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>'0'B</em></td>
<td valign="top">Either there is no message in the QSYSOPR message queue, or
there is a message and it does not have the capability to run problem analysis
report (PAR) to determine the cause of the error.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'1'B</em></td>
<td valign="top">There is a message in the QSYSOPR message queue for this
error, and it does have the capability to run problem analysis report (PAR) to
determine the cause of the error.</td>
</tr>
</table>
<p>The valid values for bit 1 are as follows:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>'0'B</em></td>
<td valign="top">The line error can be retried.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'1'B</em></td>
<td valign="top">The line error is not able to be restarted.</td>
</tr>
</table>
<p>The valid values for bit 2 are as follows:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>'0'B</em></td>
<td valign="top">The cause and diagnostic codes fields are not valid.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'1'B</em></td>
<td valign="top">The cause and diagnostic codes fields are valid.</td>
</tr>
</table>
<p>The valid values for bit 3 are as follows:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>'0'B</em></td>
<td valign="top">The error has not been reported to the system operator message
queue.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'1'B</em></td>
<td valign="top">The error has been reported to the system operator message
queue.</td>
</tr>
</table>
<p>The valid values for bit 4 are as follows:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>'0'B</em></td>
<td valign="top">A reset request packet was transmitted on the network</td>
</tr>
<tr>
<td align="left" valign="top"><em>'1'B</em></td>
<td valign="top">A reset confirmation packet was transmitted on the network
instead of a reset request packet.
<p>The content of bit 4 is only valid for operation X'BF01' with 00/0000
return/reason codes.</p>
</td>
</tr>
</table>
<p>The content of the indicators field is only valid for 83/4001, 83/4002, and
83/3202 return/reason codes, and 00/0000 return/reason codes for operation
X'BF01'.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 cause code</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies additional information on
the condition reported. See the <a href="../books/sc415405.pdf" target=
"_blank">X.25 Network Support</a> <img src="wbpdf.gif" alt="Link to PDF"> book
for interpreting the values of this field.
<p>The content of this field is only valid for 83/4001, 83/4002 and 83/3202
return/reason codes.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 diagnostic code</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies additional information on
the condition reported. See the <a href="../books/sc415405.pdf" target=
"_blank">X.25 Network Support</a> <img src="wbpdf.gif" alt="Link to PDF"> book
for interpreting the values of this field.
<p>The content of this field is only valid for 83/4001, 83/4002 and 83/3202
return/reason codes.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Error offset</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">The offset from the top of the input
buffer to the incorrect data in the input buffer.
<p>The content of this field is only valid for a 83/1999 return/reason
code.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(4)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLANOPRR">LAN Input Operations</a></h3>
<p>The only type of data that an application program can receive from the
QOLRECV API on links using a token-ring, Ethernet, wireless, or FDDI
communications line is user data (operation X'0001'). User-defined
communications support returns the following information for each data frame
received from the QOLRECV API:</p>
<ul>
<li>One or more data units. The first data unit contains a general LAN header,
routing information if a token ring is used, and user data.<br>
<br>
</li>
<li>Total length of the data unit. This information is reported in the
corresponding input buffer descriptor element.</li>
</ul>
<p>For example, suppose two data frames came in from the network and the
user-defined communications application program was notified of this by an
incoming-data entry on the data queue or user queue. On return from the QOLRECV
API, the information for the first frame would be in the first data unit of the
input buffer and described in the first element of the input buffer descriptor.
The information for the second frame would be in the second data unit of the
input buffer and described in the second element of the input buffer
descriptor. The number of data units parameter would be set to 2.</p>
<p><strong>Data Unit Format-LAN Operation X'0001'</strong></p>
<p>Each data frame received from the QOLRECV API corresponds to a data unit in
the input buffer. The information in each of these data units is made up of a
general LAN header, routing information (for token-ring links only), followed
by user data.</p>
<p>The general LAN header is used to pass information about the frame to the
communications support. The fields in the general LAN header are used for all
LAN link types, although some of them are link specific. For example, routing
information is only for token-ring links, and the length of routing information
is X'00' to X'18'. For non-token-ring links, the length of the routing
information is always X'00'. Also, DSAP and SSAP are defined for protocols that
use the 802.2 logical link control interface and do not apply to Ethernet
Version 2. A DSAP and SSAP of X'00' tells the communications support that the
data frame is an Ethernet Version 2 frame.</p>
<p><strong><a name="TBLLLCINFR">Format of the General LAN
Information</a></strong></p>
<table border width="80%">
<tr>
<th valign="top">Field</th>
<th valign="top">Type</th>
<th valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Length of general LAN
information</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The length of the general LAN
information in the data unit, including this field. This field is always set to
16.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Sending adapter address</td>
<td align="left" valign="top" width="20%">CHAR(6)</td>
<td align="left" valign="top" width="60%">Specifies, in packed form, the
adapter address from which this frame was sent. The possible values returned in
this field depend on the filters activated for this link. See <a href=
"qolsetf.htm">Set Filter (QOLSETF) API</a> for more information.
<p><strong>Note:</strong> Because user-defined communications support only
allows connectionless service over LANs, all frames received on a single call
to the QOLRECV API may not have the same source adapter address.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">DSAP address</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">The service access point on which the
iSeries server received this frame. The possible values returned in this field
depend on the filters activated for this link. See <a href=
"qolsetf.htm">Set Filter (QOLSETF) API</a> for more information.
<p><strong>Note:</strong> The Ethernet Version 2 standard does not define a
DSAP address in an Ethernet Version 2 frame. Therefore, when receiving Ethernet
Version 2 frames, the DSAP address will be null (X'00').</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">SSAP address</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">The service access point on which the
source system sent this frame. The possible values returned in this field
depend on the filters activated for this link. See <a href=
"qolsetf.htm">Set Filter (QOLSETF) API</a> for more information.
<p><strong>Note:</strong> The Ethernet Version 2 standard does not define a
SSAP address in an Ethernet Version 2 frame. Therefore, when receiving Ethernet
Version 2 frames, the SSAP address will be null (X'00').</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(2)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Length of token-ring routing
information</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The length of the routing information
in the data unit. For links using a token-ring communications line, any value
between 0 and 18 may be returned, where 0 indicates that there is no routing
information.
<p>For links using an Ethernet, wireless, or FDDI communications line, the
content of this field is not applicable and will be set to 0 indicating that
there is no routing information.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Length of user data</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The length of the user data in the
data unit. This will be less than or equal to the maximum frame size allowed on
the service access point returned in the DSAP address field. See <a href=
"qolqlind.htm">Query Line Description (QOLQLIND) API</a> to
determine the maximum frame size allowed on the service access point returned
in the DSAP address field.
<p>For Ethernet Version 2 frames, this will be at least 48 and not more than
1502 (including 2 bytes for the Ethernet type field).</p>
<p><strong>Note:</strong> Ethernet 802.3 frames will be padded when the user
data is less than 46 bytes.</p>
</td>
</tr>
</table>
<p>Token-ring routing information follows the general LAN header. The length of
this field is specified by the length of token-ring routing information field
found in the general LAN header. If the length of the routing information is
nonzero, the user data follows the routing information header.</p>
<p>The following table shows the fields and offsets used for Ethernet 802.3,
wireless, and token-ring frames without routing information.</p>
<table border width="40%">
<tr>
<th valign="top">General LAN Header</th>
<th valign="top">User Data</th>
</tr>
<tr>
<td align="center" valign="top" width="50%">0</td>
<td align="center" valign="top" width="50%">16</td>
</tr>
</table>
<p>The length of the user data is described in the length of user data field in
the general LAN header. For Ethernet Version 2 frames, the first 2 bytes of
user data are used for the <em>frame type</em>. The type field is a 2-byte
field that specifies the upper layer protocol of the frame.</p>
<p>The adapter address, DSAP, SSAP, and frame type fields are all used to
define inbound routing information used by the QOLSETF API. Refer to <a href=
"qolsetf.htm">Set Filter (QOLSETF) API</a> for information on the
QOLSETF API and how inbound routing information is used to route inbound data
to the application program.</p>
<p><strong>Note:</strong> Inbound routing information is not related to the
token-ring routing information described in the general LAN header.</p>
<p>The following table shows the fields and offsets used for token-ring frames
with routing information.</p>
<table border width="60%">
<tr>
<th valign="top">General LAN Header</th>
<th valign="top">Routing Information</th>
<th valign="top">User Data</th>
</tr>
<tr>
<td align="center" valign="top" width="30%">0</td>
<td align="center" valign="top" width="30%">16</td>
<td align="center" valign="top" width="40%">16 + Length of Routing
Information</td>
</tr>
</table>
<p>The following table shows the fields and offsets used for Ethernet Version 2
frames.</p>
<p><strong>Note:</strong> For Ethernet Version 2, the frame type field is the
first 2 bytes of user data, following the general LAN information, with user
data starting at offset 18.</p>
<table border width="60%">
<tr>
<th valign="middle" rowspan="2">General LAN Header</th>
<th valign="top" colspan="2">User Data</th>
</tr>
<tr>
<th valign="top">Frame Type</th>
<th valign="top">Data</th>
</tr>
<tr>
<td align="center" valign="top" width="33%">0</td>
<td align="center" valign="top" width="33%">16</td>
<td align="center" valign="top" width="34%">18</td>
</tr>
</table>
<p><strong><a name="TBLLANELER">Input Buffer Descriptor Element Format-LAN
Operation X'0001'</a></strong></p>
<p>The information returned in each data unit of the input buffer will be
described in the corresponding element of the input buffer descriptor. The
following table shows the format of each element in the input buffer
descriptor.</p>
<table border width="60%">
<tr>
<th valign="top">Field</th>
<th valign="top">Type</th>
<th valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Length</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The number of bytes of information in
the corresponding data unit of the input buffer. This will be equal to the
length of the general LAN information with the length of the routing
information and the length of the user data. See <a href="#TBLLLCINFR">Format
of the General LAN Information</a> for general LAN information fields and
descriptions.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(30)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRX25OPRR">X.25 SVC and PVC Input Operations</a></h3>
<p>The following table shows the types of data that can be received from the
QOLRECV API on links using an X.25 communications line.</p>
<table border width="60%">
<tr>
<th valign="top">Operation</th>
<th valign="top">Meaning</th>
</tr>
<tr>
<td align="center" valign="top" width="30%">X'0001'</td>
<td align="left" valign="top" width="70%">User data (SVC or PVC).</td>
</tr>
<tr>
<td align="center" valign="top" width="30%">X'B001'</td>
<td align="left" valign="top" width="70%">Completion of the X'B000' output
operation (SVC or PVC).</td>
</tr>
<tr>
<td align="center" valign="top" width="30%">X'B101'</td>
<td align="left" valign="top" width="70%">Completion of the X'B100' output
operation (SVC or PVC).</td>
</tr>
<tr>
<td align="center" valign="top" width="30%">X'B201'</td>
<td align="left" valign="top" width="70%">Incoming X.25 call (SVC).</td>
</tr>
<tr>
<td align="center" valign="top" width="30%">X'B301'</td>
<td align="left" valign="top" width="70%">Connection failure or reset
indication (SVC or PVC).</td>
</tr>
<tr>
<td align="center" valign="top" width="30%">X'B311'</td>
<td align="left" valign="top" width="70%">Connection failure applying to all
connections for this link.</td>
</tr>
<tr>
<td align="center" valign="top" width="30%">X'BF01'</td>
<td align="left" valign="top" width="70%">Completion of the X'BF00' output
operation (SVC or PVC).</td>
</tr>
</table>
<p><strong><a name="HDRX250001">X.25 Operation X'0001'</a></strong></p>
<p>This operation indicates that user data was received on an X.25 SVC or PVC
connection. User-defined communications support will return the following
information:</p>
<ul>
<li>User data in the next data unit of the input buffer, starting with the
first data unit<br>
<br>
</li>
<li>A description, in the corresponding element of the input buffer descriptor,
of the user data in that data unit</li>
</ul>
<p>For example, suppose two data units of user data came in from the network
and the application program was notified of this by an incoming-data entry on
the data queue or user queue. On return from the QOLRECV API, the first portion
of the user data would be in the first data unit of the input buffer and
described in the first element of the input buffer descriptor. The second
portion of the user data would be in the second data unit of the input buffer
and described in the second element of the input buffer descriptor. The number
of data units parameter would be set to 2.</p>
<p>User-defined communications support will automatically reassemble the X.25
data packet(s) from a complete packet sequence into the next data unit of the
input buffer. If the amount of user data in a complete packet sequence is more
than what can fit into a data unit, the more data indicator field in the
corresponding element of the input buffer descriptor will be set to X'01' and
the next data unit will be used for the remaining user data, and so on.</p>
<p><strong>Data Unit Format-X.25 Operation X'0001'</strong></p>
<p>Each data unit in the input buffer consists solely of user data and starts
offset 0 from the top of the data unit.</p>
<p><strong><a name="HDRXDE0001">Input Buffer Descriptor Element Format-X.25
Operation X'0001'</a></strong></p>
<p>The user data returned in each data unit of the input buffer will be
described in the corresponding element of the input buffer descriptor.</p>
<table border width="80%">
<tr>
<th valign="top">Field</th>
<th valign="top">Type</th>
<th valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Length</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The number of bytes of user data in
the corresponding data unit of the input buffer. This will always be less than
or equal to the X.25 user data size parameter that was specified on the call to
the QOLELINK API when the link was enabled. See <a href=
"qolelink.htm">Enable Link (QOLELINK) API</a> for more information.
<p><strong>Note:</strong> The maximum amount of user data in a data unit of the
input buffer may be further limited by the maximum data unit assembly size for
a connection. See <a href="qolsend.htm">Send Data (QOLSEND) API</a>
for more information.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">More data indicator</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies whether the remaining
amount of user data from a complete X.25 packet sequence is more than can fit
into the corresponding data unit. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">The remaining amount of user data from a complete X.25 packet
sequence fit into the corresponding data unit.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">The remaining amount of user data from a complete X.25 packet
sequence could not all fit into the corresponding data unit. The next data unit
will be used.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Qualified data indicator</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies whether the X.25 qualifier
bit (Q-bit) was set on or off in all X.25 packets reassembled into the
corresponding data unit. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">The Q-bit was set off in all X.25 packets reassembled into the
corresponding data unit.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">The Q-bit was set on in all X.25 packets reassembled into the
corresponding data unit.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Interrupt packet indicator</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies whether the user data in
the corresponding data unit was received in an X.25 interrupt packet. The valid
values are as follows:
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">The user data in the corresponding data unit was received in
one or more data packets.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">The user data in the corresponding data unit was received in
an X.25 interrupt packet.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Delivery confirmation indicator</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies whether the X.25 delivery
confirmation bit (D-bit) was set on or off in all X.25 packets reassembled into
the corresponding data unit. The valid values are as follows:
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">The D-bit was set off in all X.25 packets reassembled into the
corresponding data unit.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">The D-bit was set on in all X.25 packets reassembled into the
corresponding data unit.
<p><strong>Note:</strong> A packet-level confirmation is sent by the
input/output processor (IOP) when a packet is received with the X.25 D-bit set
on.</p>
</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(26)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
</table>
<p><strong><a name="HDRX25B001">X.25 Operation X'B001'</a></strong></p>
<p>This operation indicates that a X'B000' output operation has completed.
User-defined communications support will return the data for this operation (if
any) in the first data unit of the input buffer. The input buffer descriptor is
not used.</p>
<p>Data will be returned in the input buffer for the following return and
reason codes:</p>
<ul>
<li>0/0<br>
<br>
</li>
<li>83/1999<br>
<br>
</li>
<li>83/4002 (only when the number of data units parameter is set to one)</li>
</ul>
<p>The format of the data returned in the input buffer for the X'B001'
operation depends on whether the X'B000' output operation was used to initiate
an SVC call or to open a PVC connection. Each format will be explained
below.</p>
<p><strong>Note:</strong> The formats below only apply to 0/0 and 83/4002
return and reason codes. When the X'B001' operation is received with a 83/1999
return and reason code, the data returned starts at offset 0 from the top of
the first data unit in the input buffer and contains the data specified in the
output buffer on the X'B000' output operation. See <a href=
"qolsend.htm">Send Data (QOLSEND) API</a> for more information.</p>
<p><strong>Data Unit Format-X.25 Operation X'B001' (Completion of SVC
Call)</strong></p>
<p>The data returned starts at offset 0 from the top of the first data unit in
the input buffer.</p>
<table border width="80%">
<tr>
<th align="left" valign="top">Field</th>
<th align="left" valign="top">Type</th>
<th align="left" valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(2)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Logical channel identifier</td>
<td align="left" valign="top" width="20%">CHAR(2)</td>
<td align="left" valign="top" width="60%">The logical channel identifier
assigned to the SVC connection.<sup>1</sup></td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Transmit packet size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The negotiated transmit packet size
for this connection.<sup>1</sup></td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Transmit window size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The negotiated transmit window size
for this connection.<sup>1</sup></td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Receive packet size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The negotiated receive packet size
for this connection.<sup>1</sup></td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Receive window size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The negotiated receive window size
for this connection.<sup>1</sup></td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(32)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Delivery confirmation support</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies whether the X.25 delivery
confirmation bit (D-bit) was set on or off in the call connected packet. This
also specifies the D-bit support for this connection.<sup>1</sup> The valid
values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">The D-bit was set off in the call connected packet. D-bit will
be supported for sending data but not for receiving data.
<p><strong>Note:</strong> When this value is returned and an X.25 packet is
received with the D-bit set on, the input/output processor (IOP) will send a
reset packet.</p>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">The D-bit was set on in the call connected packet. D-bit will
be supported for sending data and for receiving data.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(11)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities length</td>
<td align="left" valign="top" width="20%">BINARY(1)</td>
<td align="left" valign="top" width="60%">The number of bytes of data in the
X.25 facilities field. Any value between 0 and 109 may be returned.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities</td>
<td align="left" valign="top" width="20%">CHAR(109)</td>
<td align="left" valign="top" width="60%">The X.25 facilities data.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(48)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Call/clear user data length</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The number of bytes of data in the
call/clear user data field. Any value between 0 and 128 may be returned.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Call/clear user data</td>
<td align="left" valign="top" width="20%">CHAR(128)</td>
<td align="left" valign="top" width="60%">For a 0/0 return and reason code,
this specifies the call user data. For an 83/4002 return and reason code, this
specifies the clear user data.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(168)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" colspan="3">
<table cellpadding="3">
<tr>
<td><em><sup>1</sup></em></td>
<td>The content of this field is only valid for a 0/0 return and reason
code.</td>
</tr>
</table>
</td>
</tr>
</table>
<p><strong>Data Unit Format-X.25 Operation X'B001' (Completion of Open
PVC)</strong></p>
<p>The data returned starts at offset 0 from the top of the first data unit in
the input buffer.</p>
<table border width="80%">
<tr>
<th valign="top">Field</th>
<th valign="top">Type</th>
<th valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(4)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Transmit packet size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The negotiated transmit packet size
for this connection.
<p><strong>Note:</strong> This will be the same as the requested transmit
packet size specified on the X'B000' output operation.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Transmit window size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The negotiated transmit window size
for this connection.
<p><strong>Note:</strong> This will be the same as the requested transmit
window size specified on the X'B000' output operation.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Receive packet size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The negotiated receive packet size
for this connection.
<p><strong>Note:</strong> This will be the same as the requested receive packet
size specified on the X'B000' output operation.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Receive window size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The negotiated receive window size
for this connection.
<p><strong>Note:</strong> This will be the same as the requested receive window
size specified on the X'B000' output operation.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(500)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
</table>
<p><strong><a name="HDRX25B101">X.25 Operation X'B101'</a></strong></p>
<p>This operation indicates that a X'B100' output operation has completed.
User-defined communications support will return the data for this operation (if
any) in the first data unit of the input buffer. The input buffer descriptor is
not used.</p>
<p>Data will be returned in the input buffer for the following return and
reason codes:</p>
<ul>
<li>0/0 (only when the number of data units parameter is set to one)<br>
<br>
</li>
<li>83/1999</li>
</ul>
<p><strong>Note:</strong> The format below only applies for a 0/0 return and
reason code. When the X'B101' operation is received with an 83/1999 return and
reason code, the data returned starts at offset 0 from the top of the first
data unit in the input buffer and contains the data specified in the output
buffer on the X'B100' output operation. See <a href="qolsend.htm">
Send Data (QOLSEND) API</a> for more information.</p>
<p><strong>Data Unit Format-X.25 Operation X'B101'</strong></p>
<p>The data returned starts at offset 0 from the top of the first data unit in
the input buffer.</p>
<table border width="80%">
<tr>
<th valign="top">Field</th>
<th valign="top">Type</th>
<th valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Clear type</td>
<td align="left" valign="top" width="20%">CHAR(2)</td>
<td align="left" valign="top" width="60%">The type of clear user data returned.
The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'0001'</em></td>
<td valign="top">Clear confirmation data included.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'0002'</em></td>
<td valign="top">Clear indication data included.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Cause code</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">The X.25 cause code.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Diagnostic code</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">The X.25 diagnostic code.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(4)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities length</td>
<td align="left" valign="top" width="20%">BINARY(1)</td>
<td align="left" valign="top" width="60%">The number of bytes of data in the
X.25 facilities field. Any value between 0 and 109 may be returned.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities</td>
<td align="left" valign="top" width="20%">CHAR(109)</td>
<td align="left" valign="top" width="60%">The X.25 facilities data.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(48)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Clear user data length</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The number of bytes of data in the
clear user data field. Any value between 0 and 128 may be returned.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Clear user data</td>
<td align="left" valign="top" width="20%">CHAR(128)</td>
<td align="left" valign="top" width="60%">The clear user data.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(216)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
</table>
<p><strong>X.25 Operation X'B111'</strong></p>
<p>This operation indicates a X'B110' output operation has completed. All
connections have been closed and the clean up of connection control information
is complete. All UCEPs and PCEPs are freed. There is no data associated with
this operation.</p>
<p><strong><a name="HDRX25B201">X.25 Operation X'B201'</a></strong></p>
<p>This operation indicates that an incoming X.25 SVC call was received.
User-defined communications support returns the data for this operation in the
first data unit of the input buffer. The input buffer descriptor is not
used.</p>
<p><strong>Note:</strong> It is the responsibility of the application program
to either accept or reject the incoming call. This is done by calling the
QOLSEND API with operation X'B400' or X'B100', respectively.</p>
<p><strong>Data Unit Format-X.25 Operation X'B201'</strong></p>
<p>The data returned starts at offset 0 from the top of the first data unit in
the input buffer.</p>
<table border width="80%">
<tr>
<th valign="top">Field</th>
<th valign="top">Type</th>
<th valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(2)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Logical channel identifier</td>
<td align="left" valign="top" width="20%">CHAR(2)</td>
<td align="left" valign="top" width="60%">The logical channel identifier
assigned to the incoming SVC call.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Transmit packet size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The requested transmit packet size
for this connection.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Transmit window size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The requested transmit window size
for this connection.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Receive packet size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The requested receive packet size for
this connection.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Receive window size</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The requested receive window size for
this connection.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(7)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Calling DTE address length</td>
<td align="left" valign="top" width="20%">BINARY(1)</td>
<td align="left" valign="top" width="60%">The number of binary coded decimal
(BCD) digits in the calling DTE address.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Calling DTE address</td>
<td align="left" valign="top" width="20%">CHAR(16)</td>
<td align="left" valign="top" width="60%">Specifies, in binary coded decimal
(BCD), the calling DTE address. The address will be left justified and padded
on the right with BCD zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(8)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Delivery confirmation support</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies whether the X.25 delivery
confirmation bit (D-bit) was set on or off in the incoming call packet. The
valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">The D-bit was set off in the incoming call packet.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">The D-bit was set on in the incoming call packet.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(9)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reverse charging indicator</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies reverse charging options.
The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">Reverse charging not requested.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Reverse charging requested.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Fast select indicator</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies fast select options. The
valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">Fast select not requested.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Fast select with restriction requested.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'02'</em></td>
<td valign="top">Fast select without restriction requested.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities length</td>
<td align="left" valign="top" width="20%">BINARY(1)</td>
<td align="left" valign="top" width="60%">The number of bytes of data in the
X.25 facilities field. Any value between 0 and 109 may be returned.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities</td>
<td align="left" valign="top" width="20%">CHAR(109)</td>
<td align="left" valign="top" width="60%">The X.25 facilities data.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(48)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Call user data length</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The number of bytes of data in the
call user data field. Any value between 0 and 128 may be returned.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Call user data</td>
<td align="left" valign="top" width="20%">CHAR(128)</td>
<td align="left" valign="top" width="60%">The call user data.
<p><strong>Note:</strong> The iSeries server treats the first byte of call user
data as the protocol identifier (PID).</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Called DTE address length</td>
<td align="left" valign="top" width="20%">BINARY(1)</td>
<td align="left" valign="top" width="60%">The number of binary coded decimal
(BCD) digits in the called DTE address.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Called DTE address</td>
<td align="left" valign="top" width="20%">CHAR(16)</td>
<td align="left" valign="top" width="60%">Specifies, in binary coded decimal
(BCD), the called DTE address. The address will be left-justified and padded on
the right with BCD zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(111)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
</table>
<p><strong><a name="HDRX25B301">X.25 Operation X'B301'</a></strong></p>
<p>This operation indicates that a failure has occurred, or a reset indication
has been received, on an X.25 SVC or PVC connection. User-defined
communications support will return data for this operation in the first data
unit of the input buffer only on a 83/4002 return and reason code when the
number of data units parameter is set to one. The input buffer descriptor is
not used.</p>
<p><strong>Note:</strong> The diagnostic data parameter will contain the X.25
cause and diagnostic codes when a reset indication is received.</p>
<p><strong>Data Unit Format-X.25 Operation X'B301'</strong></p>
<p>The data returned starts at offset 0 from the top of the first data unit in
the input buffer.</p>
<table border width="80%">
<tr>
<th valign="top">Field</th>
<th valign="top">Type</th>
<th valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(8)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities length</td>
<td align="left" valign="top" width="20%">BINARY(1)</td>
<td align="left" valign="top" width="60%">The number of bytes of data in the
X.25 facilities field. Any value between 0 and 109 may be returned.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities</td>
<td align="left" valign="top" width="20%">CHAR(109)</td>
<td align="left" valign="top" width="60%">The X.25 facilities data.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(48)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Clear user data length</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">The number of bytes of data in the
clear user data field. Any value between 0 and 128 may be returned.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Clear user data</td>
<td align="left" valign="top" width="20%">CHAR(128)</td>
<td align="left" valign="top" width="60%">The clear user data.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(216)</td>
<td align="left" valign="top" width="60%">Reserved for extension.</td>
</tr>
</table>
<p><strong><a name="HDRX25B311">X.25 Operation X'B311'</a></strong></p>
<p>This operation indicates that an error has occurred that has caused the
system to close all connections on the link. The error may be a system error or
a network error. The error information is returned in the diagnostic data and
no additional data is provided.</p>
<p><strong>Note:</strong> This operation is only received when the extended
operation parameter on the QOLELINK API is set to operation supported. If the
extended operations are not supported and an error occurs that will close all
connections, X'B301' is received for each connection.</p>
<p><strong><a name="HDRX25BF01">X.25 Operation X'BF01'</a></strong></p>
<p>This operation indicates that a X'BF00' output operation has been completed.
Neither the input buffer nor the input buffer descriptor is used for this
operation.</p>
<p><strong>Note:</strong> When the X'BF01' operation is received with a 0/0
return and reason code, the diagnostic data parameter will contain information
indicating if a reset request or reset confirmation packet was sent.</p>
<br>
<h3><a name="HDRRECVRR">Return and Reason Codes</a></h3>
<p>The return and reason codes that can be returned from the QOLRECV API depend
on the type of communications line the link is using and on the type of data
(operation) that was received.</p>
<p><strong><a name="HDRRECVLRR">LAN Return and Reason Codes</a></strong></p>
<p>The following table shows the return and reason codes that indicate data
could not be received from the QOLRECV API.</p>
<p><strong>Note:</strong> When these return and reason codes are returned, all
output parameters except the return and reason codes will contain hexadecimal
zeros.</p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/3203</td>
<td align="left" valign="top" width="40%">No data available to be
received.</td>
<td align="left" valign="top" width="40%">Ensure that user-defined
communications support has data available to be received before calling the
QOLRECV API. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/2200</td>
<td align="left" valign="top" width="40%">Queue error detected. Escape message
CPF91F1 will be sent to the application program when this return and reason
code is received.</td>
<td align="left" valign="top" width="40%">Ensure the link is disabled and see
messages in the job log for further information. Correct the error, enable the
link, and try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/2401</td>
<td align="left" valign="top" width="40%">Input buffer or input buffer
descriptor error detected. Escape message CPF91F1 will be sent to the
application program when this return and reason code is received.</td>
<td align="left" valign="top" width="40%">Ensure the link is disabled and see
messages in the job log for further information. Correct the error, enable the
link, and try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/3002</td>
<td align="left" valign="top" width="40%">A previous error occurred on this
link that was reported to the application program by escape message CPF91F0 or
CPF91F1. However, the application program has attempted another operation.</td>
<td align="left" valign="top" width="40%">Ensure the link is disabled and see
messages in the job log for further information. If escape message CPF91F0 was
sent to the application program, then report the problem using the ANZPRB
command. Otherwise, correct the error, enable the link, and try the request
again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/4000</td>
<td align="left" valign="top" width="40%">Error recovery has been canceled for
this link.</td>
<td align="left" valign="top" width="40%">Ensure the link is disabled and see
messages in the job log for further information. Correct the condition, enable
the link, and try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/9999</td>
<td align="left" valign="top" width="40%">Internal system error detected.
Escape message CPF91F0 will be sent to the application program when this return
and reason code is received.</td>
<td align="left" valign="top" width="40%">See messages in the job log for
further information. Report the problem using the ANZPRB command.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3001</td>
<td align="left" valign="top" width="40%">Link not enabled.</td>
<td align="left" valign="top" width="40%">Correct the communications handle
parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3004</td>
<td align="left" valign="top" width="40%">Link is enabling.</td>
<td align="left" valign="top" width="40%">Wait for the enable-complete entry to
be sent to the data queue or user queue. If the link was successfully enabled,
try the request again.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for LAN Operation X'0001'</strong></p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/0</td>
<td align="left" valign="top" width="40%">User data received successfully.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
</table>
<p><strong><a name="HDRRECVXRR">X.25 Return and Reason Codes</a></strong></p>
<p>The following table shows the return and reason codes that indicate data
could not be received from the QOLRECV API.</p>
<p><strong>Note:</strong> When these return and reason codes are returned, all
output parameters except the return and reason codes will contain hexadecimal
zeros.</p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/3203</td>
<td align="left" valign="top" width="40%">No data available to be
received.</td>
<td align="left" valign="top" width="40%">Ensure that user-defined
communications support has data available to be received before calling the
QOLRECV API. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/2200</td>
<td align="left" valign="top" width="40%">Queue error detected. Escape message
CPF91F1 will be sent to the application program when this return and reason
code is received.</td>
<td align="left" valign="top" width="40%">Ensure the link is disabled and see
messages in the job log for further information. Correct the error, enable the
link, and try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/2401</td>
<td align="left" valign="top" width="40%">Input buffer or input buffer
descriptor error detected. Escape message CPF91F1 will be sent to the
application program when this return and reason code is received.</td>
<td align="left" valign="top" width="40%">Ensure the link is disabled and see
messages in the job log for further information. Correct the error, enable the
link, and try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/3002</td>
<td align="left" valign="top" width="40%">A previous error occurred on this
link that was reported to the application program by escape message CPF91F0 or
CPF91F1. However, the application program has attempted another operation.</td>
<td align="left" valign="top" width="40%">Ensure the link is disabled and see
messages in the job log for further information. If escape message CPF91F0 was
sent to the application program, then report the problem using the ANZPRB
command. Otherwise, correct the error, enable the link, and try the request
again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/4000</td>
<td align="left" valign="top" width="40%">Error recovery has been canceled for
this link.</td>
<td align="left" valign="top" width="40%">Ensure the link is disabled and see
messages in the job log for further information. Correct the condition, enable
the link, and try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">80/9999</td>
<td align="left" valign="top" width="40%">Internal system error detected.
Escape message CPF91F0 will be sent to the application program when this return
and reason code is received.</td>
<td align="left" valign="top" width="40%">See messages in the job log for
further information. Report the problem using the ANZPRB command.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3001</td>
<td align="left" valign="top" width="40%">Link not enabled.</td>
<td align="left" valign="top" width="40%">Correct the communications handle
parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3004</td>
<td align="left" valign="top" width="40%">Link is enabling.</td>
<td align="left" valign="top" width="40%">Wait for the enable-complete entry to
be sent to the data queue or user queue. If the link was successfully enabled,
try the request again.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'0001'</strong></p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/0</td>
<td align="left" valign="top" width="40%">User data received successfully.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B001'</strong></p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/0</td>
<td align="left" valign="top" width="40%">The X'B000' output operation was
successful.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1999</td>
<td align="left" valign="top" width="40%">Incorrect data was specified in
output buffer when the X'B000' output operation was issued.
<p><strong>Note:</strong> The data specified in the output buffer will be
copied into the input buffer and the error offset field in the diagnostic data
parameter will point to the incorrect data.</p>
</td>
<td align="left" valign="top" width="40%">Correct the incorrect data. Then, try
the X'B000' output operation again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3204</td>
<td align="left" valign="top" width="40%">Connection ending because a X'B100'
output operation was issued.</td>
<td align="left" valign="top" width="40%">Wait for notification of the
completion of the X'B100' output operation from the QOLRECV API (X'B101'
operation).</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4001</td>
<td align="left" valign="top" width="40%">Link failure, system starting error
recovery for this link. The connection has ended.</td>
<td align="left" valign="top" width="40%">Wait for the link to recover. Then,
try the X'B000' output operation again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4002</td>
<td align="left" valign="top" width="40%">Connection failure. The connection
has ended. The diagnostic data parameter will contain more information on this
error.</td>
<td align="left" valign="top" width="40%">Correct any errors and try the
X'B000' output operation again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4005</td>
<td align="left" valign="top" width="40%">All SVC channels are currently in
use, or the requested PVC channel is already in use.</td>
<td align="left" valign="top" width="40%">Wait for a virtual circuit to become
available. Then, try the X'B000' output operation again.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B101'</strong></p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/0</td>
<td align="left" valign="top" width="40%">The X'B100' output operation was
successful. The connection has ended.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1007</td>
<td align="left" valign="top" width="40%">Connection identifier not valid
because connection has already ended.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1999</td>
<td align="left" valign="top" width="40%">Incorrect data was specified in
output buffer when the X'B100' output operation was issued.
<p><strong>Note:</strong> The data specified in the output buffer will be
copied into the input buffer and the error offset field in the diagnostic data
parameter will point to the incorrect data.</p>
</td>
<td align="left" valign="top" width="40%">Correct the incorrect data. Then, try
the X'B100' output operation again.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B111'</strong></p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/0</td>
<td align="left" valign="top" width="40%">The X'B100' output operation was
successful. The connection has ended.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1007</td>
<td align="left" valign="top" width="40%">Connection identifier not valid
because connection has already ended.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3205</td>
<td align="left" valign="top" width="40%">The X'B110' operation is rejected
because the application has not received the X'B311' operation prior to
requesting the X'B110' operation.</td>
<td align="left" valign="top" width="40%">Correct the application.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B201'</strong></p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/0</td>
<td align="left" valign="top" width="40%">Incoming X.25 SVC call received
successfully.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B301'</strong></p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3201</td>
<td align="left" valign="top" width="40%">The maximum amount of incoming user
data that can be held by user-defined communications support for the
application program on this connection has been exceeded.</td>
<td align="left" valign="top" width="40%">Issue the X'B100' output operation to
end the connection.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3202</td>
<td align="left" valign="top" width="40%">A reset indication has been received
on this connection. The X.25 cause and diagnostic code fields in the diagnostic
data parameter will contain the cause and diagnostic codes of the reset
indication.</td>
<td align="left" valign="top" width="40%">Issue the X'BF00' output operation to
send a reset confirmation packet.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4001</td>
<td align="left" valign="top" width="40%">Link failure, system starting error
recovery for this link.</td>
<td align="left" valign="top" width="40%">Issue the X'B100' output operation to
end the connection.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4002</td>
<td align="left" valign="top" width="40%">Connection failure. The diagnostic
data parameter will contain more information on this error.</td>
<td align="left" valign="top" width="40%">Issue the X'B100' output operation to
end the connection.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B311'</strong></p>
<table border width="80%">
<tr>
<th valign="top">Return / Reason Code</th>
<th valign="top">Meaning</th>
<th valign="top">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4001</td>
<td align="left" valign="top" width="40%">Link failure, system starting error
recovery for this link. All connections that were active on this link are
closed or cleared.</td>
<td align="left" valign="top" width="40%">Issue the X'B110' operation to free
the connections.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4002</td>
<td align="left" valign="top" width="40%">A network error has occurred that
affects all connections on this link. All connections that were active on this
link are closed or cleared. The diagnostic data contains more information on
this error.</td>
<td align="left" valign="top" width="40%">Issue the X'B110' operation to free
the connections.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'BF01'</strong></p>
<table border width="80%">
<tr>
<th valign="bottom">Return / Reason Code</th>
<th valign="bottom">Meaning</th>
<th valign="bottom">Recovery</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">0/0</td>
<td align="left" valign="top" width="40%">The X'BF00' output operation was
successful. The diagnostic data parameter will contain information indicating
if a reset request or reset confirmation packet was sent.</td>
<td align="left" valign="top" width="40%">Continue processing.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1006</td>
<td align="left" valign="top" width="40%">Operation not valid.</td>
<td align="left" valign="top" width="40%">Do not issue the X'BF00' output
operation on connections that do not support resets.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3201</td>
<td align="left" valign="top" width="40%">The maximum amount of incoming user
data that can be held by user-defined communications support for the
application program on this connection has been exceeded.</td>
<td align="left" valign="top" width="40%">Wait to receive a failure
notification from the QOLRECV API indicating this condition (X'B301' operation,
83/3201 return and reason code). Then issue the X'B100' output operation to end
the connection.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3204</td>
<td align="left" valign="top" width="40%">Connection ending because a X'B100'
output operation was issued.</td>
<td align="left" valign="top" width="40%">Wait for notification of the
completion of the X'B100' output operation from the QOLRECV API (X'B101'
operation).</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4001</td>
<td align="left" valign="top" width="40%">Link failure, system starting error
recovery for this link.</td>
<td align="left" valign="top" width="40%">Wait to receive a failure
notification from the QOLRECV API indicating this condition (X'B301' operation,
83/4001 return and reason code). Then, issue the X'B100' output operation to
end the connection.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4002</td>
<td align="left" valign="top" width="40%">Connection failure.</td>
<td align="left" valign="top" width="40%">Wait to receive a failure
notification from the QOLRECV API indicating this condition (X'B301' operation,
83/4002 return and reason code). Then, issue the X'B100' output operation to
end the connection.</td>
</tr>
</table>
<br>
<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">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF91F0 E</td>
<td valign="top">Internal system error.</td>
</tr>
<tr>
<td align="left" valign="top">CPF91F1 E</td>
<td valign="top">User-defined communications application error.</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>
</table>
<br>
<hr>
API introduced: V2R1
<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>