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

2858 lines
97 KiB
HTML
Raw Permalink 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>Send Data (QOLSEND) 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. -->
<!-- Print SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- 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 type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Send Data (QOLSEND) 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">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">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">New user end point connection ID</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">Existing provider connection end point ID</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">7</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>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Operation</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(2)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Number of data units</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</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 Send Data (QOLSEND) API performs output on a link that is currently
enabled in the job in which the application program is running. The operation
parameter allows you to specify the type of output operation to perform. The
application program must provide the data associated with the output operation
in the output buffer that was created when the link was enabled. For X'0000'
operations, the application program must also provide a description of that
data in the output buffer descriptor that was created when the link was
enabled.</p>
<p>The types of output operations that can be performed on a link depend on the
type of communications line that the link is using. See <a href="#HDRLANOPER">
LAN Output Operations</a> for more information on output operations that are
supported on links using a token-ring, Ethernet, wireless, or FDDI
communications line. See <a href="#HDRX25OPER">X.25 SVC and PVC Output
Operations</a> for more information on output operations that are supported on
links using an X.25 communications line.</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="#HDRSENDRR">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="#HDRSENDRR">Return and Reason
Codes</a>.</p>
</dd>
<dt><strong>Diagnostic data</strong></dt>
<dd>OUTPUT; CHAR(40)
<p>Additional diagnostic data. See <a href="#HDRSADDERR">Diagnostic Data
Parameter Format</a> for more information.</p>
<p>The content of this parameter is only valid when the operation parameter is
set to X'0000' or X'B400'.</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 set to X'B000'.</p>
</dd>
<dt><strong>New user connection end point ID</strong></dt>
<dd>INPUT; BINARY(4)
<p>The user connection end point (UCEP) ID for the connection that is to be
established. This is the identifier on which all incoming data for this
connection will be received. Any numeric value except zero should be used. See
<a href="qolrecv.htm">Receive Data (QOLRECV) API</a> for more
information.</p>
<p>The content of this parameter is only valid for links using an X.25
communications line and when the operation parameter is set to X'B000' or
X'B400'.</p>
</dd>
<dt><strong>Existing provider connection end point ID</strong></dt>
<dd>INPUT; BINARY(4)
<p>The PCEP ID for the connection on which this operation will be performed.
For links using a token-ring, Ethernet, or wireless communications line, the
content of this parameter must always be set to 1.</p>
<p>For links using an X.25 communications line, the content of this parameter
is only valid when the operation parameter is set to X'0000', X'B100', X'B400',
or X'BF00'. It must contain the PCEP ID that was returned in the new provider
connection end point ID parameter from the call to the QOLSEND API with
operation X'B000', or the PCEP ID that was returned in the new provider
connection end point ID parameter from the call to the QOLRECV API with
operation X'B201' (incoming call). See <a href="qolrecv.htm">Receive
Data (QOLRECV) API</a> for more information on receiving X.25 calls.</p>
</dd>
<dt><strong>Communications handle</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the link on which to perform the output operation.</p>
</dd>
<dt><strong>Operation</strong></dt>
<dd>INPUT; CHAR(2)
<p>The type of output operation to perform. With the exception of X'0000', 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'0000'</em></td>
<td valign="top">Send data.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B000'</em></td>
<td valign="top">Send call request packet (SVC) or open PVC connection.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B100'</em></td>
<td valign="top">Send clear packet (SVC) or close PVC connection.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B110'</em></td>
<td valign="top">Initiate final cleanup of all connections that were closed by
the system.
<p>This operation is only valid when the application receives an X'B311'
operation to receive connection failure data.</p>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'B400'</em></td>
<td valign="top">Send call accept packet (SVC).</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'BF00'</em></td>
<td valign="top">Send reset request packet or reset confirmation packet (SVC or
PVC).</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Number of data units</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of data units in the output buffer that contain data. Any value
between 1 and the number of data units created in the output buffer may be
used.</p>
<p>The content of this parameter is only valid when the operation parameter is
set to X'0000'.</p>
<p><strong>Note:</strong> The number of data units created in the output 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>
</dl>
<br>
<h3><a name="HDRSADDERR">Diagnostic Data Parameter Format</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'0000' and X'B400'
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. See <a href=
"comm5.htm#HDRHWECODE">Error Codes</a>for more information.
<p>The content of this field is only valid for 83/4001, 83/4002, and 83/4003
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, 83/4002, and 83/4003
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, 83/4002, and 83/4003
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%">Specifies indicators the user-defined
communications application program can use for diagnosing 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 cannot be retried.</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>For example, consider the following values for the indicators field:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'20'</em></td>
<td valign="top">A condition has caused X.25 cause and diagnostic codes to be
passed to the application. This information can determine the cause of the
condition.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'50'</em></td>
<td valign="top">An error has occurred and been reported to the QSYSOPR message
queue. The error cannot be retried.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'F0'</em></td>
<td valign="top">An error has occurred and been reported to the QSYSOPR message
queue. The error cannot be retried, and has X.25 cause and diagnostic codes
associated with it. Also a problem analysis report can be generated to
determine the probable cause.</td>
</tr>
</table>
<p>The content of this field is valid only for 83/4001, 83/4002, 83/3202 and
83/4003 return/reason codes.</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 output
buffer to the incorrect data in the output 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="HDRLANOPER">LAN Output Operations</a></h3>
<p>The only output operation supported on links using a token-ring, Ethernet,
wireless, or FDDI communications line is X'0000' (send user data). For each
data frame to be sent on the network, the application program must provide the
following information:</p>
<ul>
<li>General LAN information, optional routing information, and user data in the
next data unit of the output buffer, starting with the first data unit<br>
<br>
</li>
<li>A description, in the corresponding element of the output buffer
descriptor, of the information in that data unit.</li>
</ul>
<p>For example, suppose a user-defined communications application program wants
to send two data frames. The information for the first frame would be placed in
first data unit of the output buffer and described in the first element of the
output buffer descriptor. The information for the second frame would be placed
in the second data unit of the output buffer and described in the second
element of the output buffer descriptor. The number of data units parameter on
the call to the QOLSEND API would be set to 2.</p>
<p><strong>Note:</strong> The X'0000' operation is synchronous. Control will
not return from the QOLSEND API until the operation completes.</p>
<p><strong>Data Unit Format-LAN Operation X'0000'</strong></p>
<p>Each data frame to be sent on the network corresponds to a data unit in the
output buffer. The information in each of these data units is made up of
general LAN information, optional routing data, and user data.</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. This must be set to 16.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Destination 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 to which this data frame will be sent.
<p><strong>Note:</strong> Because user-defined communications support only
allows connectionless service over LANs, it is not necessary for all frames
being sent on a single output operation to have the same destination 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
destination system will receive this frame. Any value may be used.
<p><strong>Note:</strong> The Ethernet Version 2 standard does not use logical
link control, which utilizes SAPs. Therefore, to send Ethernet Version 2
frames, a null DSAP address (X'00') must be specified in the DSAP address
field. Also, the Ethernet Standard (ETHSTD) parameter in the Ethernet line
description must be configured as either *ETHV2 or *ALL.</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
iSeries server will send this frame. Any service access point configured in the
token-ring, Ethernet, wireless, or FDDI line description may be used.
<p><strong>Note:</strong> The Ethernet Version 2 standard does not use logical
link control, which utilizes SAPs. Therefore, to send Ethernet Version 2
frames, a null SSAP address (X'00') must be specified in the SSAP address
field. Also, the Ethernet Standard (ETHSTD) parameter in the Ethernet line
description must be configured as either *ETHV2 or *ALL.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Access control</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies outbound frame priority and
is mapped to the access priority bits in the access control field of 802.5
frames. For links using a token-ring communications line, any value between
X'00' and X'07' may be used, where X'00' is the lowest priority and X'07' is
the highest priority.
<p>For links using an Ethernet or wireless communications line, the content of
this field is not applicable and must be set to X'00'.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Priority control</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies how to interpret the value
set in the access control field. For links using a token-ring communications
line, the valid values are as follows:
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">Use any priority less than or equal to the value set in the
access control field.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Use the priority exactly equal to the value set in the access
control field.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'FF'</em></td>
<td valign="top">Use the iSeries server default priority.</td>
</tr>
</table>
<p>For links using an Ethernet or wireless communications line, the content of
this field is not applicable and must be set to X'00'.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Length of 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 used, where 0 indicates that there is no routing
information.
<p>For links using an Ethernet or wireless communications line, the content of
this field is not applicable and must 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 must be less than or equal to the maximum frame size allowed on
the service access point specified in the SSAP 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 specified
in the SSAP address field.
<p>For Ethernet Version 2 frames, this must 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><strong>Output Buffer Descriptor Element Format-LAN Operation
X'0000'</strong></p>
<p>The information specified in each data unit of the output buffer must be
described in the corresponding element of the output 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 information in
the corresponding data unit of the output buffer. This must be equal to the
length of the general LAN information plus the length of the routing
information plus the length of the user data. See <a href=
"qolrecv.htm#TBLLLCINFR">Format of the General LAN Information</a> in the
Receive Data (QOLRECV) API for more information on the format of the general
LAN information.</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="HDRX25OPER">X.25 SVC and PVC Output Operations</a></h3>
<p>The following table shows the output operations that are supported on links
using an X.25 communications line.</p>
<table border width="80%">
<tr>
<th valign="top">Operation</th>
<th valign="top">Meaning</th>
</tr>
<tr>
<td align="center" valign="top" width="20%">X'0000'</td>
<td align="left" valign="top" width="80%">Send user data (SVC or PVC).
<p><strong>Note:</strong> This is a synchronous operation. Control will not
return from the QOLSEND API until the operation completes.</p>
</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">X'B000'</td>
<td align="left" valign="top" width="80%">Send a call request packet (SVC) or
open the PVC connection.
<p><strong>Note:</strong> This is an asynchronous operation. Notification of
the completion of this operation will be returned from the QOLRECV API with
operation X'B001' only after control returns from the QOLSEND API with a 0/0
return and reason code. See <a href="qolrecv.htm">Receive Data
(QOLRECV) API</a> for more information.</p>
</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">X'B100'</td>
<td align="left" valign="top" width="80%">Send a clear packet (SVC) or close
the PVC connection.
<p><strong>Note:</strong> This is an asynchronous operation. Notification of
the completion of this operation will be returned from the QOLRECV API with
operation X'B101' only after control returns from the QOLSEND API with a 0/0
return and reason code. See <a href="qolrecv.htm">Receive Data
(QOLRECV) API</a> for more information.</p>
</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">X'B110'</td>
<td align="left" valign="top" width="80%">Close all connections which were
cleared by the reason given in the connection failure date received on X
'B311'.
<p><strong>Note:</strong> This is an asynchronous operation. Notification of
the completion of this operation will be returned from the QOLRECV API with
operation X'B111' only after control returns from the QOLSEND API with a 0/0
return and reason code. See <a href="qolrecv.htm">Receive Data
(QOLRECV) API</a> for more information.</p>
</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">X'B400'</td>
<td align="left" valign="top" width="80%">Send a call accept packet (SVC only).
<p><strong>Note:</strong> This is a synchronous operation. Control will not
return from the QOLSEND API until the operation completes.</p>
</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">X'BF00'</td>
<td align="left" valign="top" width="80%">Send a reset request or reset
confirmation packet (SVC or PVC).
<p><strong>Note:</strong> This is an asynchronous operation. Notification of
the completion of this operation will be returned from the QOLRECV API with
operation X'BF01' only after control returns from the QOLSEND API with a 0/0
return and reason code. See <a href="qolrecv.htm">Receive Data
(QOLRECV) API</a> for more information.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2"><strong>Note:</strong> The maximum
number of outstanding asynchronous operations (notification of completion not
yet received from the QOLRECV API) is five. All calls made to the QOLSEND API
or QOLSETF API under this condition will be rejected with a return and reason
code of 83/3200.</td>
</tr>
</table>
<p><strong><a name="HDRX250000">X.25 Operation X'0000'</a></strong></p>
<p>This operation allows the application program to send user data on an SVC or
PVC X.25 connection. The application must provide the following
information:</p>
<ul>
<li>User data in the next data unit of the output buffer, starting with the
first data unit<br>
<br>
</li>
<li>A description, in the corresponding element of the output buffer
descriptor, of the user data in that data unit.</li>
</ul>
<p>For example, suppose a user-defined communications application program wants
to send two data units of user data. The first portion of the user data would
be placed in first data unit of the output buffer and described in the first
element of the output buffer descriptor. The second portion of the user data
would be placed in the second data unit of the output buffer and described in
the second element of the output buffer descriptor. The number of data units
parameter on the call to the QOLSEND API would be set to 2.</p>
<p>User-defined communications support automatically fragments the user data in
each data unit into one or more appropriately sized X.25 packets based on the
negotiated transmit packet size for the connection. All packets constructed for
a data unit, except for the last (or only) packet, will always have the X.25
more data bit (M-bit) set on. See <a href="#HDRXDE0000">Output Buffer
Descriptor Element Format-X.25 Operation X'0000'</a> for more information on
how to set the X.25 M-bit on or off in the last (or only) packet constructed
for a data unit.</p>
<p><strong>Data Unit Format-X.25 Operation X'000'</strong></p>
<p>Each data unit in the output buffer consists solely of user data and starts
offset 0 from the top of the data unit.</p>
<p><strong><a name="HDRXDE0000">Output Buffer Descriptor Element Format-X.25
Operation X'0000'</a></strong></p>
<p>The user data specified in each data unit of the output buffer must be
described in the corresponding element of the output 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="25%">Length</td>
<td align="left" valign="top" width="25%">BINARY(2)</td>
<td align="left" valign="top" width="50%">The number of bytes of user data in
the corresponding data unit of the output buffer. This must 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.</td>
</tr>
<tr>
<td align="left" valign="top" width="25%">More data indicator</td>
<td align="left" valign="top" width="25%">CHAR(1)</td>
<td align="left" valign="top" width="50%">Specifies whether the X.25 more data
bit (M-bit) should be set on or off in the last (or only) X.25 packet
constructed for 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">Set the M-bit off in the last (or only) X.25 packet
constructed for the corresponding data unit.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Set the M-bit on in the last (or only) X.25 packet constructed
for the corresponding data unit.
<p><strong>Note:</strong> When this value is selected, the length field must be
set to a multiple of the negotiated transmit packet size for the
connection.</p>
</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="25%">Qualified data indicator</td>
<td align="left" valign="top" width="25%">CHAR(1)</td>
<td align="left" valign="top" width="50%">Specifies whether the X.25 qualifier
bit (Q-bit) should be set on or off in all X.25 packets constructed for 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">Set the Q-bit off in all X.25 packets constructed for the
corresponding data unit.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Set the Q-bit on in all X.25 packets constructed for the
corresponding data unit.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="25%">Interrupt packet indicator</td>
<td align="left" valign="top" width="25%">CHAR(1)</td>
<td align="left" valign="top" width="50%">Specifies whether the user data in
the corresponding data unit should be sent 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">Send the user data in the corresponding data unit in one or
more X.25 data packets.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Send the user data in the corresponding data unit in an X.25
interrupt packet. An interrupt packet causes the data to be expedited.
<p><strong>Note:</strong> When this value is selected, the length field must be
set to a value between 1 and 32, and the number of data units parameter on the
call to the QOLSEND API must be set to 1. Also, the contents of the more data
indicator, qualified data indicator, and delivery confirmation indicator fields
are ignored.</p>
</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="25%">Delivery confirmation indicator</td>
<td align="left" valign="top" width="25%">CHAR(1)</td>
<td align="left" valign="top" width="50%">Specifies whether the X.25 delivery
confirmation bit (D-bit) should be set on or off in all X.25 packets
constructed for 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">Set the D-bit off in all X.25 packets constructed for the
corresponding data unit.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Set the D-bit on in all X.25 packets constructed for the
corresponding data unit.
<p><strong>Note:</strong> The iSeries server does not fully support delivery
confirmation when sending user data. Confirmation is from the local data
circuit equipment (DCE).</p>
</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="25%">Reserved</td>
<td align="left" valign="top" width="25%">CHAR(26)</td>
<td align="left" valign="top" width="50%">Reserved for extension.</td>
</tr>
</table>
<p><strong><a name="HDRX25B000">X.25 Operation X'B000'</a></strong></p>
<p>This operation allows the application program to either initiate an SVC call
or to open a PVC connection. The application must provide the data for this
operation in the first data unit of the output buffer. The output buffer
descriptor is not used.</p>
<p>The format of the data required for the X'B000' operation depends on whether
it is used to initiate an SVC call or to open a PVC connection. Each format is
explained in the following table.</p>
<p><strong>Note:</strong> When initiating an SVC call, the iSeries server
chooses an available SVC to use. The logical channel identifier of the SVC that
was chosen will be returned when notification of the completion of X'B000' is
received from the QOLRECV API (operation X'B001'). See <a href=
"qolrecv.htm">Receive Data (QOLRECV) API</a> for more
information.</p>
<p><strong>Data Unit Format-X.25 Operation X'B000' (Initiate an SVC
Call)</strong></p>
<p>The data for this operation starts at offset 0 from the top of the first
data unit in the output buffer. The following table shows the format of the
data required for the X'B000' operation when initiating an SVC call.</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(1)</td>
<td align="left" valign="top" width="60%">This field must be set to X'02'.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(3)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</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. The valid values are 64, 128, 256, 512, 1024, 2048, and
4096. The value specified must be less than or equal to the transmit maximum
packet size configured for this line. The special value of X'FFFF' may be
specified to use the transmit default packet size configured for this line.
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the transmit maximum packet size and the
transmit default packet size configured for this line.</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 requested transmit window size
for this connection. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>1-7</em></td>
<td valign="top">When modulus 8 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1-15</em></td>
<td valign="top">When modulus 128 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'FFFF'</em></td>
<td valign="top">Use the transmit default window size configured for this
line.</td>
</tr>
</table>
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the modulus value and the transmit
default window size configured for this line.</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 requested receive packet size for
this connection. The valid values are 64, 128, 256, 512, 1024, 2048, and 4096.
The value specified must be less than or equal to the receive maximum packet
size configured for this line. The special value of X'FFFF' may be specified to
use the receive default packet size configured for this line.
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the receive maximum packet size and the
receive default packet size configured for this line.</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 requested receive window size for
this connection. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>1-7</em></td>
<td valign="top">When modulus 8 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1-15</em></td>
<td valign="top">When modulus 128 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'FFFF'</em></td>
<td valign="top">Use the receive default window size configured for this
line.</td>
</tr>
</table>
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the modulus value and the receive
default window size configured for this line.</p>
</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%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">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 DTE address to call. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>1-15</em></td>
<td valign="top">When extended network addressing is not configured for this
line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1-17</em></td>
<td valign="top">When extended network addressing is configured in the line
description.</td>
</tr>
</table>
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> to determine if extended network addressing is configured for this
line.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">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 DTE address to call. The address must 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%">This field must be set to hexadecimal
zeros.</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) should be set on or off in the call request 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">Set the D-bit off in the call request packet.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Set the D-bit on in the call request 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(7)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Closed user group indicator</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies whether the closed user
group (CUG) identifier should be included in the 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">Do not include the CUG identifier in the call packet.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Include the CUG identifier in the call packet.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Closed user group identifier</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">The CUG identifier to be included in
the 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">When the closed user group indicator field is set to
X'00'</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'00'-X'99'</em></td>
<td valign="top">When the closed user group indicator field is set to
X'01'</td>
</tr>
</table>
<br>
</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">Do not request reverse charging.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Request reverse charging.</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">Do not request fast select.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'01'</em></td>
<td valign="top">Request fast select with restriction.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'02'</em></td>
<td valign="top">Request fast select without restriction.</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 used.
<p><strong>Note:</strong> The iSeries server codes the closed user group,
reverse charging, and fast select facilities in the X.25 facilities field, if
the user requested them in the above fields. Additionally, if the network user
identification parameter (NETUSRID) is specified in the line description, the
network user identification (NUI) facility is coded in the field, following the
other additional facilities, if present. Finally, if the packet and window size
values specified are different than the network default, the facilities
containing these values are coded in the field as well. The system will update
the X.25 facilities length field appropriately for each facility to which the
iSeries server adds the X.25 facilities field. This length cannot exceed 109
bytes.</p>
</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%">Specifies additional X.25 facilities
data requested.
<p><strong>Note:</strong> The application programmer should not code the
facilities for NUI, fast select, reverse charging, closed user group, packet
size, or window size in this field. By doing so, this field could contain
duplicate facilities, which may not be consistently supported by all X.25
networks.</p>
</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%">This field must be set to hexadecimal
zeros.</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. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>0-16</em></td>
<td valign="top">When the fast select indicator field is set to X'00'.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0-128</em></td>
<td valign="top">When the fast select indicator field is set to X'01' or
X'02'.</td>
</tr>
</table>
<br>
</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.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(128)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Control information</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies control information for
this connection. This is a bit-sensitive field with bit 0 (leftmost bit)
defined for reset support. The remaining bits are undefined and should be set
off ('0'B).
<p>The valid values for bit 0 are as follows:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>'0'B</em></td>
<td valign="top">Resets are not supported on this connection.
<p>When this value is selected, the X'BF00' output operation will not be valid
on this connection. Also, a reset indication packet received on this connection
will cause the connection to be ended.</p>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>'1'B</em></td>
<td valign="top">Resets are supported on this connection.
<p>When this value is selected, the X'BF00' output operation will be valid on
this connection. Also, the user-defined communications application program will
be required to handle reset indications received on this connection.</p>
</td>
</tr>
</table>
<p>For example, consider the following values for the control information
field:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">Resets are not supported on this connection.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'80'</em></td>
<td valign="top">Resets are supported on this connection.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(3)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Maximum data unit assembly size</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">The maximum number of bytes of user
data that is received in a complete X.25 packet sequence before passing the
user data to the application. Any value between 1024 and 32767 may be used, and
should be set to the largest value that the application will support.
<p><strong>Notes:</strong></p>
<ol>
<li>The system attempts to assemble the entire packet sequence before passing
the data to the application. The only exception to this is when the size of the
packet sequence exceeds the value the user specified for this field.<br>
<br>
</li>
<li>If the number of bytes of user data received in a complete X.25 packet
sequence is more than can fit into one data unit of the input buffer, the more
data indicator field in the corresponding element of the input buffer
descriptor will be set to X'01' and the remaining user data will be filled in
the next data unit. See <a href="qolrecv.htm">Receive Data (QOLRECV)
API</a> for more information.<br>
<br>
</li>
<li>There is no limitation on the number of bytes of user data that can be sent
in a complete X.25 packet sequence. However, the QOLSEND API may need to called
more than once.</li>
</ol>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Automatic flow control</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">Relates to the amount of data that
will be held by user-defined communications support before sending a receive
not ready (RNR) packet to the sending system. The recommended value for this
field is 32, but any value between 1 and 128 may be used.
<p><strong>Note:</strong> A receive ready (RR) packet will be sent when the
user-defined communications application program receives some of the data.</p>
</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%">This field must be set to hexadecimal
zeros.</td>
</tr>
</table>
<p><strong>Data Unit Format-X.25 Operation X'B000' (Open a PVC
Connection)</strong></p>
<p>The data for this operation starts at offset 0 from the top of the first
data unit in the output buffer. The following table shows the format of the
data required for the X'B000' operation when opening a PVC connection.</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(1)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</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%">This field must be set to hexadecimal
zeros.</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 of the
PVC to open. Any PVC configured for this line that is eligible to be used by
the network controller that the link is using may be specified and must be in
the range of X'0001'-X'0FFF'.
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the PVCs configured for this line that
are eligible to be used by the network controller the link is using.</p>
</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. The valid values are 64, 128, 256, 512, 1024, 2048, and
4096. The value specified must be less than or equal to the transmit maximum
packet size configured for this line. The special value of X'FFFF' may be
specified to use the transmit default packet size configured for this line.
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the transmit maximum packet size and the
transmit default packet size configured for this line.</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 requested transmit window size
for this connection. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>1-7</em></td>
<td valign="top">When modulus 8 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1-15</em></td>
<td valign="top">When modulus 128 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'FFFF'</em></td>
<td valign="top">Use the transmit default window size configured for this
line.</td>
</tr>
</table>
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the modulus value and the transmit
default window size configured for this line.</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 requested receive packet size for
this connection. The valid values are 64, 128, 256, 512, 1024, 2048, and 4096.
The value specified must be less than or equal to the receive maximum packet
size configured for this line. The special value of X'FFFF' may be specified to
use the receive default packet size configured for this line.
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the receive maximum packet size and the
receive default packet size configured for this line.</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 requested receive window size for
this connection. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>1-7</em></td>
<td valign="top">When modulus 8 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1-15</em></td>
<td valign="top">When modulus 128 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'FFFF'</em></td>
<td valign="top">Use the receive default window size configured for this
line.</td>
</tr>
</table>
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the modulus value and the receive
default window size configured for this line.</p>
</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%">This field must be set to hexadecimal
zeros.</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%">The X.25 delivery confirmation bit
(D-bit) support for this connection. 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">D-bit will be supported for sending data but not for receiving
data.
<p><strong>Note:</strong> When this value is selected 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">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(427)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Control information</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies control information for
this connection. This is a bit-sensitive field with bit 0 (leftmost bit)
defined for reset support. The remaining bits are undefined and should be set
off ('0'B).
<p>The valid values for bit 0 are as follows:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>'0'B</em></td>
<td valign="top">Resets are not supported on this connection.
<p>When this value is selected, the X'BF00' output operation will not be valid
on this connection. Also, a reset indication packet received on this connection
will cause the connection to be ended.</p>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>'1'B</em></td>
<td valign="top">Resets are supported on this connection.
<p>When this value is selected, the X'BF00' output operation will be valid on
this connection. Also, the user-defined communications application program will
be required to handle reset indications received on this connection.</p>
</td>
</tr>
</table>
<p>For example, consider the following values for the control information
field:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">Resets are not supported on this connection.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'80'</em></td>
<td valign="top">Resets are supported on this connection.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(3)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Maximum data unit assembly size</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">The maximum number of bytes of user
data that is received in a complete X.25 packet sequence before passing the
user data to the application. Any value between 1024 and 32767 may be used, and
should be set to the largest value that the application will support.
<p><strong>Notes:</strong></p>
<ol>
<li>The system attempts to assemble the entire packet sequence before passing
the data to the application. The only exception to this is when the size of the
packet sequence exceeds the value the user specified for this field.<br>
<br>
</li>
<li>If the number of bytes of user data received in a complete X.25 packet
sequence is more than can fit into one data unit of the input buffer, the more
data indicator field in the corresponding element of the input buffer
descriptor will be set to X'01' and the remaining user data will be filled in
the next data unit. See <a href="qolrecv.htm">Receive Data (QOLRECV)
API</a> for more information.<br>
<br>
</li>
<li>There is no limit of the number of bytes of user data that can be sent in a
complete X.25 packet sequence. However, the QOLSEND API may need to called more
than once.</li>
</ol>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Automatic flow control</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">Relates to the amount of data that
will be held by user-defined communications support before sending a receive
not ready (RNR) packet to the sending system. The recommended value for this
field is 32, but any value between 1 and 128 may be used.
<p><strong>Note:</strong> A receive ready (RR) packet will be sent when the
user-defined communications application program receives some of the data.</p>
</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%">This field must be set to hexadecimal
zeros.</td>
</tr>
</table>
<p><strong><a name="HDRX25B100">X.25 Operation X'B100'</a></strong></p>
<p>This operation allows the application program to either send a clear packet
on an SVC, close an SVC connection that was cleared by the remote system, or to
close a PVC connection. The application must provide the data for this
operation in the first data unit of the output buffer. The output buffer
descriptor is not used.</p>
<p>The format of the data required for the X'B100' operation is the same
whether or not it is used to send a clear packet on an SVC or to close a PVC
connection. The format of the data required for the X'B100' operation should be
set to hexadecimal zeros if it is used to close an SVC connection that was
previously cleared by the remote system.</p>
<p><strong>Notes:</strong></p>
<ol>
<li>The iSeries server provides the confirmation of the clear indication,
however, the local user-defined communications application must issue the
X'B100' operation to free the PCEP for the connection.<br>
<br>
</li>
<li>Closing a PVC connection will cause a reset packet to be sent to the remote
system.</li>
</ol>
<p><strong>Data Unit Format-X.25 Operation X'B100'</strong></p>
<p>The data for this operation starts at offset 0 from the top of the first
data unit in the output buffer. The following table shows the format of the
data required for the X'B100' operation.</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%">This field must be set to hexadecimal
zeros.</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%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities
length<sup>1</sup></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 used.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">X.25 facilities<sup>1</sup></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%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Clear user data
length<sup>1</sup></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 used.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Clear user data<sup>1</sup></td>
<td align="left" valign="top" width="20%">CHAR(128)</td>
<td align="left" valign="top" width="60%">The clear user data.
<p><strong>Note:</strong> The CCITT standard recommends that this field only be
present in conjunction with the fast select or call deflection selection
facility. The iSeries server does not enforce this restriction, however.</p>
</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%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" colspan="3"><sup>1</sup> This field is not used
for PVC connections and should be set to hexadecimal zeros.</td>
</tr>
</table>
<p><strong><a name="HDRX25B110">X.25 Operation X'B110'</a></strong></p>
<p>This operation allows the application program to clean up all internal
control information on all the connections over the link and free up all PCEPs
and UCEPs. This operation is only valid following the receipt of the X'B311'
operation that reports the connection failure data to the application. There is
no data associated with this operation.</p>
<p><strong><a name="HDRX25B400">X.25 Operation X'B400'</a></strong></p>
<p>This operation allows the application program to accept an incoming SVC
call. The application must provide the data for this operation in the first
data unit of the output buffer. The output buffer descriptor is not used.</p>
<p><strong>Note:</strong> Notification of incoming calls are received from the
QOLRECV API with operation X'B201'. See <a href="qolrecv.htm">Receive
Data (QOLRECV) API</a> for more information.</p>
<p><strong>Data Unit Format-X.25 Operation X'B400'</strong></p>
<p>The data for this operation starts at offset 0 from the top of the first
data unit in the output buffer. The following table shows the format of the
data required for the X'B400' operation.</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(1)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(3)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</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 transmit packet size for this
connection. The valid values are 64, 128, 256, 512, 1024, 2048, and 4096. The
value specified must be less than or equal to the transmit maximum packet size
configured for this line. The special value of X'FFFF' may be specified to use
the transmit default packet size configured for this line.
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the transmit maximum packet size and the
transmit default packet size configured for this line.</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 transmit window size for this
connection. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>1-7</em></td>
<td valign="top">When modulus 8 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1-15</em></td>
<td valign="top">When modulus 128 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'FFFF'</em></td>
<td valign="top">Use the transmit default window size configured for this
line.</td>
</tr>
</table>
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the modulus value and the transmit
default window size configured for this line.</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 receive packet size for this
connection. The valid values are 64, 128, 256, 512, 1024, 2048, and 4096. The
value specified must be less than or equal to the receive maximum packet size
configured for this line. The special value of X'FFFF' may be specified to use
the receive default packet size configured for this line.
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the receive maximum packet size and the
receive default packet size configured for this line.</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 receive window size for this
connection. The valid values are as follows:<br>
<br>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>1-7</em></td>
<td valign="top">When modulus 8 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1-15</em></td>
<td valign="top">When modulus 128 is configured for this line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'FFFF'</em></td>
<td valign="top">Use the receive default window size configured for this
line.</td>
</tr>
</table>
<p>See <a href="qolqlind.htm">Query Line Description (QOLQLIND)
API</a> for information on determining the modulus value and the receive
default window size configured for this line.</p>
</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%">This field must be set to hexadecimal
zeros.</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) should be set on or off in the call accept packet.
This also specifies the D-bit support for this connection. 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">Set the D-bit off in the call accept packet. D-bit will be
supported for sending data but not for receiving data.
<p><strong>Note:</strong> When this value is selected 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">Set the D-bit on in the call accept 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%">This field must be set to hexadecimal
zeros.</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 used.
<p><strong>Note:</strong> The iSeries server codes the packet and window size
facilities in this field, if necessary. The total length of all facilities
cannot exceed 109 bytes.</p>
</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.
<p><strong>Note:</strong> The application programmer should not code the
facilities for packet or window sizes in this field. By doing so, this field
could contain duplicate facilities, which may not be consistently supported by
all X.25 networks.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(306)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Control information</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Specifies control information for
this connection. This is a bit-sensitive field with bit 0 (leftmost bit)
defined for reset support. The remaining bits are undefined and should be set
off ('0'B).
<p>The valid values for bit 0 are as follows:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>'0'B</em></td>
<td valign="top">Resets are not supported on this connection.
<p>When this value is selected, the X'BF00' output operation will not be valid
on this connection. Also, a reset indication packet received on this connection
will cause the connection to be ended.</p>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>'1'B</em></td>
<td valign="top">Resets are supported on this connection.
<p>When this value is selected, the X'BF00' output operation will be valid on
this connection. Also, the user-defined communications application program will
be required to handle reset indications received on this connection.</p>
</td>
</tr>
</table>
<p>For example, consider the following values for the control information
field:</p>
<table cellpadding="3">
<tr>
<td align="left" valign="top"><em>X'00'</em></td>
<td valign="top">Resets are not supported on this connection.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X'80'</em></td>
<td valign="top">Resets are supported on this connection.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Reserved</td>
<td align="left" valign="top" width="20%">CHAR(3)</td>
<td align="left" valign="top" width="60%">This field must be set to hexadecimal
zeros.</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Maximum data unit assembly size</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">The maximum number of bytes of user
data that can be received in a complete X.25 packet sequence on this
connection. If this limit is exceeded, the connection will be ended. Any value
between 1024 and 32767 may be used.
<p><strong>Notes:</strong></p>
<ol>
<li>If the number of bytes of user data received in a complete X.25 packet
sequence is more than can fit into one data unit of the input buffer, the more
data indicator field in the corresponding element of the input buffer
descriptor will be set to X'01' and the remaining user data will be filled in
the next data unit. See <a href="qolrecv.htm">Receive Data (QOLRECV)
API</a> for more information.<br>
<br>
</li>
<li>There is no limitation on the number of bytes of user data that can be sent
in a complete X.25 packet sequence. However, the QOLSEND API may need to called
more than once.</li>
</ol>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">Automatic flow control</td>
<td align="left" valign="top" width="20%">BINARY(2)</td>
<td align="left" valign="top" width="60%">Relates to the amount of data that
will be held by user-defined communications support before sending a receive
not ready (RNR) packet to the sending system. The recommended value for this
field is 32, but any value between 1 and 128 may be used.
<p><strong>Note:</strong> A receive ready (RR) packet will be sent when the
user-defined communications application program receives some of the data.</p>
</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%">This field must be set to hexadecimal
zeros.</td>
</tr>
</table>
<p><strong><a name="HDRX25BF00">X.25 Operation X'BF00'</a></strong></p>
<p>This operation allows an application program to send a reset request packet
or a reset confirmation packet on an X.25 SVC or PVC connection. The
application must provide the X.25 cause and diagnostic codes required for this
operation in the first data unit of the output buffer. The output buffer
descriptor is not used.</p>
<p>Information indicating whether a reset request or reset confirmation packet
was sent is returned when notification of the completion of the X'BF00'
operation is received from the QOLRECV API (operation X'BF01'). This
information will be in the diagnostic data parameter of the QOLRECV API. See <a
href="qolrecv.htm">Receive Data (QOLRECV) API</a> for more
information.</p>
<p>A reset confirmation packet will be sent under the following conditions:</p>
<ul>
<li>After a reset indication packet has been received on the connection and the
application has received it from the QOLRECV API (X'B301' operation, 83/3202
return and reason code)<br>
<br>
</li>
<li>After a reset indication packet has been received on the connection but
before the application has received it from the QOLRECV API<br>
<br>
</li>
<li>When a reset indication packet is received on the connection at the same
time the X'BF00' output operation is issued
<p>This is known as a reset collision. In this case, user-defined
communications support will discard the reset indication and, therefore, the
application program will not receive it from the QOLRECV API. However, the
cause and diagnostic codes from the reset indication are returned in the
diagnostic data parameter of the QOLRECV program when the application receives
notification of the completion of the X'BF00' operation. See <a href=
"qolrecv.htm">Receive Data (QOLRECV) API</a> for more
information.</p>
</li>
</ul>
<p>A reset request packet will be sent when none of the above conditions are
true.</p>
<p><strong>Notes:</strong></p>
<ol>
<li>Data not yet received by the application program on a connection will <em>
not</em> be deleted when a X'BF00' operation is issued on that connection. This
data will be received before the notification of the completion of the X'BF00'
operation is received from the QOLRECV API (operation X'BF01'). Data received
after the notification of the completion of the X'BF00' operation is received
should be treated as new data.<br>
<br>
</li>
<li>The X'BF00' operation is only valid on connections that support resets. See
<a href="#HDRX25B000">X.25 Operation X'B000'</a> and <a href="#HDRX25B400">X.25
Operation X'B400'</a> for more information on specifying reset support.</li>
</ol>
<p><strong>Data Unit Format-X.25 Operation X'BF00'</strong></p>
<p>The first 2 bytes of the data unit in the output buffer are used for this
operation. The first byte contains the X.25 cause code. The second byte
contains the X.25 diagnostic code.</p>
<br>
<h3><a name="HDRSENDRR">Return and Reason Codes</a></h3>
<p>The return and reason codes that can be returned from the QOLSEND API depend
on the type of communications line the link is using and on the operation that
was requested.</p>
<p><strong>Return and Reason Codes for LAN Operation X'0000'</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%">Operation successful.</td>
<td align="left" valign="top" width="40%">Continue processing.</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. Then 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%">Output buffer or output 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. Then 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/8000</td>
<td align="left" valign="top" width="40%">The amount of user data in a data
unit of the output buffer is greater than the maximum frame size allowed on the
communications line the link is using. 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. Correct
the error, 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/1006</td>
<td align="left" valign="top" width="40%">Output operation not valid.</td>
<td align="left" valign="top" width="40%">Correct the operation parameter. Try
the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1007</td>
<td align="left" valign="top" width="40%">Connection identifier not valid.</td>
<td align="left" valign="top" width="40%">Correct the existing provider
connection end point ID parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1008</td>
<td align="left" valign="top" width="40%">Number of data units not valid.</td>
<td align="left" valign="top" width="40%">Correct the number of data units
parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1998</td>
<td align="left" valign="top" width="40%">The amount of data in a data unit of
the output buffer is not correct.</td>
<td align="left" valign="top" width="40%">Correct the amount of user data, or
the total amount of generalLAN information, routing information, and user data
in the offending data unit. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1999</td>
<td align="left" valign="top" width="40%">Incorrect data in a data unit of the
output buffer. The error offset field in the diagnostic data parameter will
point to the incorrect data.</td>
<td align="left" valign="top" width="40%">Correct the incorrect data. Try the
request again.</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>
<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 for the link to recover. Try the
request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4003</td>
<td align="left" valign="top" width="40%">Error detected by the input/output
processor (IOP). The diagnostic data parameter will contain more information on
this error.</td>
<td align="left" valign="top" width="40%">Correct the error, and try the
request again.</td>
</tr>
</table>
<p><strong>General X.25 Return and Reason Codes</strong></p>
<p>The following table shows the return and reason codes that can be received
from the QOLSEND API for any requested operation.</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%">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%">Output buffer or output 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 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, 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/1006</td>
<td align="left" valign="top" width="40%">Output operation not valid.</td>
<td align="left" valign="top" width="40%">Correct the operation parameter. Try
the request again.</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>
<tr>
<td align="center" valign="top" width="20%">83/3200</td>
<td align="left" valign="top" width="40%">All resources are currently in use by
asynchronous operations that have not yet completed.</td>
<td align="left" valign="top" width="40%">Wait for at least one of the
asynchronous operations to complete. Notification of completion of these
operations will be received from the QOLRECV API. Try the request again.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'0000'</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%">Operation successful.</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.</td>
<td align="left" valign="top" width="40%">Correct the existing provider
connection end point ID parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1008</td>
<td align="left" valign="top" width="40%">Number of data units not valid.</td>
<td align="left" valign="top" width="40%">Correct the number of data units
parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1997</td>
<td align="left" valign="top" width="40%">The amount of user data in a data
unit of the output buffer is not a multiple of the negotiated transmit packet
size, and the more data indicator in the corresponding element of the output
buffer descriptor is set to X'01'.</td>
<td align="left" valign="top" width="40%">Correct the amount of user data in
the offending data unit. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1998</td>
<td align="left" valign="top" width="40%">The amount of user data in a data
unit of the output buffer is not correct.</td>
<td align="left" valign="top" width="40%">Correct the amount of user data in
the offending data unit. Try the request again.</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). 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%">Wait to receive notification from the
QOLRECV API indicating this condition (X'B301' operation, 83/3202 return and
reason code). Issue the X'BF00' output operation to send a reset confirmation
packet.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3205</td>
<td align="left" valign="top" width="40%">Connection not in a valid state.</td>
<td align="left" valign="top" width="40%">Ensure the connection is in a valid
state for this operation. Try the request again.</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' or X'B311'
operation, 83/4001 return and reason code). 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). Issue the X'B100' output operation to end the
connection.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4003</td>
<td align="left" valign="top" width="40%">Data not sent. Error detected by
input/output processor.</td>
<td align="left" valign="top" width="40%">Try the request again. If the error
persists, use the ANZPRB command to analyze and report the problem.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B000'</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%">Operation initiated.</td>
<td align="left" valign="top" width="40%">Wait for notification of the
completion of the X'B000' operation from the QOLRECV API (X'B001'
operation).</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/4005</td>
<td align="left" valign="top" width="40%">All connections are currently in
use.</td>
<td align="left" valign="top" width="40%">Wait for a connection to become
available and try the request again.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B100'</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%">Operation initiated.</td>
<td align="left" valign="top" width="40%">Wait for notification of the
completion of the X'B100' operation from the QOLRECV API (X'B101'
operation).</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1007</td>
<td align="left" valign="top" width="40%">Connection identifier not valid.</td>
<td align="left" valign="top" width="40%">Correct the existing provider
connection end point ID parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3205</td>
<td align="left" valign="top" width="40%">Connection not in a valid state.</td>
<td align="left" valign="top" width="40%">Ensure the connection is in a valid
state for this operation. Try the request again.</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B110'</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%">Operation initiated.</td>
<td align="left" valign="top" width="40%">Wait for notification of the
completion of the X'B110' operation from the QOLRECV API (X'B111'
operation).</td>
</tr>
</table>
<p><strong>Return and Reason Codes for X.25 Operation X'B400'</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%">Operation successful.</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.</td>
<td align="left" valign="top" width="40%">Correct the existing provider
connection end point ID parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1999</td>
<td align="left" valign="top" width="40%">Incorrect data in a data unit of the
output buffer. The error offset field in the diagnostic data parameter will
point to the incorrect data.</td>
<td align="left" valign="top" width="40%">Correct the incorrect data. Try the
request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3205</td>
<td align="left" valign="top" width="40%">Connection not in a valid state.</td>
<td align="left" valign="top" width="40%">Ensure the connection is in a valid
state for this operation. Try the request again.</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/4004</td>
<td align="left" valign="top" width="40%">Inbound call timed out.</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'BF00'</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%">Operation initiated.</td>
<td align="left" valign="top" width="40%">Wait for notification of the
completion of the X'BF00' operation from the QOLRECV API (X'BF01'
operation).</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/1007</td>
<td align="left" valign="top" width="40%">Connection identifier not valid.</td>
<td align="left" valign="top" width="40%">Correct the existing provider
connection end point ID parameter. Try the request again.</td>
</tr>
<tr>
<td align="center" valign="top" width="20%">83/3205</td>
<td align="left" valign="top" width="40%">Connection not in a valid state.</td>
<td align="left" valign="top" width="40%">Ensure the connection is in a valid
state for this operation. Try the request again.</td>
</tr>
</table>
<br>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<tr>
<th align="left" valign="top" nowrap>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>
<table align="center" 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>
</body>
</html>