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

1321 lines
53 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>Debugging of User-Defined Communications Applications</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. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- COMM4 SCRIPT A converted by B2H R4.1 (346) (CMS) by V2DCIJB at -->
<!-- RCHVMW2 on 1 Jun 1999 at 17:32:50 -->
<!--File Edited November 2001 -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!--Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Debugging of User-Defined Communications Applications</h2>
<p>This section is intended to help you debug your user-defined communications
applications. It contains information about:</p>
<ul>
<li>System services and tools</li>
<li>Error codes reported to the application program and QSYSOPR operation</li>
<li>Common error list</li>
</ul>
<br>
<h3><a name="Header_2">System Services and Tools</a></h3>
<p>There are several tools on the iSeries<SUP>(TM)</SUP> server you can use to debug your
user-defined communications application. Some of the system provided tools that
are useful for developing user-defined communications applications include the
following CL commands:</p>
<ul>
<li>Program Debug (STRDBG)</li>
<li>Work with Job, Work with Communications Status (WRKJOB OPTION(*CMNSTS))</li>
<li>Work with Job, Display Job Log (WRKJOB OPTION(*JOBLOG))</li>
<li>Display Connection Status (DSPCNNSTS)</li>
<li>Display Inbound Routing Data (press F6 (Display inbound routing
information) following the DSPCNNSTS command)</li>
<li>Check Communications Trace (CHKCMNTRC)</li>
<li>Delete Communications Trace (DLTCMNTRC)</li>
<li>End Communications Trace (ENDCMNTRC)</li>
<li>Print Communications Trace (PRTCMNTRC)</li>
<li>Start Communications Trace (STRCMNTRC)</li>
<li>Start System Service Tools (STRSST)
<ul>
<li>Work with communications trace</li>
<li>Work with error log</li>
</ul>
</li>
<li>Dump System Object (DMPSYSOBJ)</li>
</ul>
<br>
<h3>Program Debug</h3>
<p>Program debug (STRDBG) allows you to trace the program and variables, set
stops, change variables, and display variables. You can use this function to
verify that the parameters are passed correctly.</p>
<br>
<h3>Work with Communications Status</h3>
<p>The Work with Job command, Work with Communications Status option, (WRKJOB
OPTION(*CMNSTS)) shows the enabled links and operation counts for each link. It
also reports information such as the communications handle the last operation
requested, and the total input, output, and other operations requested. This
information is shown for every link enabled by the job.</p>
<br>
<h3>Display Job Log</h3>
<p>The Work with Job command, selecting the Display job log option (WRKJOB
OPTION(*JOBLOG)) allows you to view the messages in the job log that help
determine the exact cause of the problem.</p>
<br>
<h3>Display Connection Status</h3>
<p>The Display Connection Status (DSPCNNSTS) command shows information about
the switched virtual circuits (SVCs) and permanent virtual circuits (PVCs) that
are in use by the application using the device description.</p>
<p><strong>Note:</strong> The Display Line Description (DSPLIND) command also
shows for each line, the SVCs that are in use, available, or attached to a
controller description. This is not true for PVCs.</p>
<br>
<h3>Display Inbound Routing Information</h3>
<p>Pressing F6 (Display inbound routing information) when the Display
Connection Status display is shown (DSPCNNSTS command) shows the results of the
calls to the Set Filter (QOLSETF) API. It also helps to determine which device
description has set a filter with duplicate inbound routing information.</p>
<br>
<h3>Work with Communications Trace</h3>
<p>Using the communications trace function you can obtain information about a
communications line. You can access the communications trace function through
the following CL commands:</p>
<ul>
<li>Check Communications Trace (CHKCMNTRC)</li>
<li>Delete Communications Trace (DLTCMNTRC)</li>
<li>End Communications Trace (ENDCMNTRC)</li>
<li>Print Communications Trace (PRTCMNTRC)</li>
<li>Start Communications Trace (STRCMNTRC)</li>
</ul>
<p>For more information on using the communications trace CL commands, see the
<a href="../books/sc415406.pdf" target="_blank">Communications
Management</a> <img src="wbpdf.gif" alt="Link to PDF"> book.</p>
<p>You can also access the communications trace function through the system
service tools. You can use this function by entering the Start System Service
Tools (STRSST) command and selecting the option to start a service tool.</p>
<p>Using the option to Work with communications trace shows data just as it
appears to the network. If the application requests that data be sent and the
request does not appear in the communications trace, the request is rejected.
The return and reason codes, and the error code reported in the parameter list
for the Send Data (QOLSEND) API indicates the reason the request was
rejected.</p>
<br>
<h3>Work with Error Log</h3>
<p>The error log utility is part of the system service tools. You can use it by
entering the Start System Service Tools (STRSST) command and selecting the
option to start a service tool.</p>
<p>Some communications errors are reported by the system to the error log. A
remote application that is communicating with a user-defined communications
application on the local system, could cause an entry to be generated in the
error log if one of the following conditions are met:</p>
<ul>
<li>When using a LAN, data is not received by the application and exceeds
internal threshold values (3 MB).<br>
<br>
</li>
<li>When using an X.25 network, data is not received by the application and
exceeds internal threshold values (128KB).<br>
<br>
</li>
</ul>
<p>For both cases, the associated message in QSYSOPR identifies the error log
that contains the error log entry. The error log entry contains information
only.</p>
<br>
<h3>Dump System Object to View User Spaces</h3>
<p>The Dump System Object (DMPSYSOBJ) command is used to inspect the user
spaces after they are filled in by your application. The following examples
indicate what the user spaces look like for some of the operations.</p>
<p><strong>User Space to Set a Filter to Route Inbound Data</strong></p>
<p>This user space is filled in to activate two X.25 filters which will route
any X.25 call containing X'BB', or X'DD' in the first byte of call user data
(protocol ID byte).</p>
<br>
<p><strong><a name="Figure_1-1">Figure 1-1. User Space to Set a Filter to Route
Incoming X.25 Calls</a></strong></p>
<pre>
5738SS1 V2R1M0 910524 i5/OS DUMP 006625/QSECOFR/QPADEV0001 12/21/90 12:42:07 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- OUTBUFFER CONTEXT-USRDFNCMN
OBJTYPE- *USRSPC
OBJECT TYPE- SPACE *USRSPC
NAME- OUTBUFFER TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 12/21/90 12:40:03 SIZE- 00002200
OWNER- QSECOFR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 00A00A00 0000
SPACE ATTRIBUTES-
000000 00000080 00000060 1934D6E4 E3C2E4C6 C6C5D940 40404040 40404040 40404040 * - OUTBUFFER *
000020 40404040 40404040 E0000000 00000000 00002000 00800000 00000000 00000000 * \ *
000040 00000000 00000000 0005004D 42000400 00000000 00000000 00000000 00000000 * (a *
SPACE-
000000 01000002 001001BB 00000000 00000000 00000000 000001DD 00000000 00000000 * Y t *
000020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000040 TO 001FFF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F0F1D8E2 C5C3D6C6 D9404040 F0F0F6F6 F2F5 *QPADEV0001QSECOFR 006625 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F2D9F1D4 F0F0F9F0 F1F2F2F1 F1F2F4F0 F0F44040 *V2R1M00901221124004 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
<br>
<p><strong>User Space for X'B000' Operation, Initiating an SVC
Call</strong></p>
<p>The user space below has been filled in to initiate an SVC call specifying
the following:</p>
<ul>
<li>Default packet and window sizes<br>
<br>
</li>
<li>D-bit (not selected)<br>
<br>
</li>
<li>Reverse charging (not selected)<br>
<br>
</li>
<li>Fast select (not selected)<br>
<br>
</li>
<li>Closed user group (not selected)<br>
<br>
</li>
<li>Other facilities (not selected)<br>
<br>
</li>
<li>One byte of call user data, X'BB', which is the protocol identifier<br>
<br>
</li>
<li>X.25 reset not supported by the user-defined communications application
program<br>
<br>
</li>
<li>16KB is the maximum amount of contiguous data to be received<br>
<br>
</li>
<li>Automatic flow control value of 32</li>
</ul>
<br>
<p><strong><a name="Figure_1-2">Figure 1-2. User Space to Send an SVC
Call</a></strong></p>
<pre>
5738SS1 V2R1M0 910524 i5/OS DUMP 006625/QSECOFR/QPADEV0001 12/21/90 12:47:42 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- OUTPUTBUF CONTEXT-USRDFNCMN
OBJTYPE- *USRSPC
OBJECT TYPE- SPACE *USRSPC
NAME- OUTPUTBUF TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 12/21/90 12:36:28 SIZE- 00001200
OWNER- QSECOFR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 00A00100 0000
SPACE ATTRIBUTES-
000000 00000080 00000060 1934D6E4 E3D7E4E3 C2E4C640 40404040 40404040 40404040 * - OUTPUTBUF *
000020 40404040 40404040 E0000000 00000000 00001000 00800000 00000000 00000000 * \ *
000040 00000000 00000000 0005004D 42000400 00000000 00000000 00000000 00000000 * (a *
SPACE-
000000 02000000 FFFFFFFF FFFFFFFF 00000000 00000008 40100001 00000000 00000000 * *
000020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000040 TO 0000BF SAME AS ABOVE
0000C0 00000000 00000000 00000000 00000000 00000000 00000001 BB000000 00000000 * Y *
0000E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000100 TO 0001BF SAME AS ABOVE
0001C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00004000 * *
0001E0 00200000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
000200 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000220 TO 000FFF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F0F2D8E2 C5C3D6C6 D9404040 F0F0F6F6 F2F7 *QPADEV0002QSECOFR 006627 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F2D9F1D4 F0F0F9F0 F1F2F2F1 F1F2F3F6 F2F84040 *V2R1M00901221123628 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
</td>
</tr>
</table>
<br>
<p><strong>User Space Containing an Incoming X.25 Call, Operation
X'B201'</strong></p>
<p>This user space shows the following:</p>
<ul>
<li>The call is using SVC 005<br>
<br>
</li>
<li>Both transmit and receive packet sizes are 128<br>
<br>
</li>
<li>Both transmit and receive window sizes are 7<br>
<br>
</li>
<li>The calling DTE address is 40100000<br>
<br>
</li>
<li>The called DTE address is 40200000<br>
<br>
</li>
<li>No other facilities are requested<br>
<br>
</li>
<li>One byte of call user data, X'BB', which is the protocol identifier</li>
</ul>
<p>The application received this call because it had set a filter to indicate
to the system that it should route incoming X.25 calls that have the first byte
of call user data (the protocol identifier) equal to X'BB' to the
application.</p>
<br>
<p><strong><a name="Figure_1-3">Figure 1-3. User Space Containing an Incoming
X.25 Call</a></strong></p>
<pre>
5763SS1 V3R1M0 940909 i5/OS DUMP 023099/QSYSOPR/QPADEV0014 03/07/94 11:57:24 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- INBUFFER CONTEXT- USRDFNCMN
TYPE- *ALL SUBTYPE-*ALL
OBJECT TYPE- SPACE *USRSPC
NAME- INBUFFER TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 03/07/94 11:53:15 SIZE- 0000002200
OWNER- QSYSOPR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 000001DE7A00 0000
SPACE ATTRIBUTES-
000000 00FFFF00 00000060 1934C9D5 C2E4C6C6 C5D94040 40404040 40404040 40404040 * - INBUFFER *
000020 40404040 40404040 E0000000 00000000 00002000 00810000 00000000 00000000 * \ a *
000040 00000000 00000000 00D601DE 73000400 00000000 00000000 00000000 00000000 * O &pound; *
SPACE-
000000 00000005 00800007 00800007 00000000 00000008 40100000 00000000 00000000 * *
000020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000040 TO 0000BF SAME AS ABOVE
0000C0 00000000 00000000 00000000 00000000 00000000 00000001 BB000000 00000000 * *
0000E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000100 TO 00013F SAME AS ABOVE
000140 00000000 00000000 00000000 00000000 00000000 00000000 08402000 00000000 * *
000160 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000180 TO 001FFF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F1F4D8E2 E8E2D6D7 D9404040 F0F2F3F0 F9F9 *QPADEV0014QSYSOPR 023099 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F3D9F1D4 F0F0F9F4 F0F3F0F7 F1F1F5F3 F1F54040 *V3R1M00940307115315 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
USAGE-
000000 D8E2E8E2 D6D7D940 4040D9C3 C8C1E2F3 F2F0 *QSYSOPR RCHAS320 *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
<br>
<p><strong>User Space to Accept an Incoming X.25 Call, Operation
X'B400'</strong></p>
<p>This user space was filled in to accept the incoming call, request default
packet and window sizes, and no other additional facilities. The a maximum
amount of contiguous data is set at 16KB and the automatic flow control is set
at 32.</p>
<br>
<p><strong><a name="Figure_1-4">Figure 1-4. User Space to Accept an Incoming
X.25 Call</a></strong></p>
<pre>
5738SS1 V2R1M0 910524 i5/OS DUMP 006625/QSECOFR/QPADEV0001 12/21/90 12:48:06 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- OUTBUFFER CONTEXT-USRDFNCMN
OBJTYPE- *USRSPC
OBJECT TYPE- SPACE *USRSPC
NAME- OUTBUFFER TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 12/21/90 12:40:03 SIZE- 00002200
OWNER- QSECOFR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 00A00A00 0000
SPACE ATTRIBUTES-
000000 00000080 00000060 1934D6E4 E3C2E4C6 C6C5D940 40404040 40404040 40404040 * - OUTBUFFER *
000020 40404040 40404040 E0000000 00000000 00002000 00800000 00000000 00000000 * \ *
000040 00000000 00000000 0005004D 42000400 00000000 00000000 00000000 00000000 * (a *
SPACE-
000000 00000000 FFFFFFFF FFFFFFFF 00000000 00000000 00000000 00000000 00000000 * *
000020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000040 TO 0001BF SAME AS ABOVE
0001C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00004000 * *
0001E0 00200000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
000200 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000220 TO 001FFF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F0F1D8E2 C5C3D6C6 D9404040 F0F0F6F6 F2F *QPADEV0001QSECOFR 006625 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F2D9F1D4 F0F0F9F0 F1F2F2F1 F1F2F4F0 F0F44040 *V2R1M00901221124004 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
<br>
<p><strong>User Spaces for Sending Data, Operation X'0000'</strong></p>
<p>Two user spaces are shown below. The first is the output buffer and the
second is the output buffer descriptor.</p>
<p>The user spaces below are filled in to send three data units of 512 bytes
each. The first two data units have the more data indicator turned on,
indicating that all the data units are contiguous.</p>
<p><strong>Note:</strong> This link was enabled, specifying a data unit size of
512 bytes.</p>
<br>
<p><strong><a name="Figure_1-5">Figure 1-5. User Space (Buffer) to Send Three
Data Units</a></strong></p>
<pre>
5738SS1 V2R1M0 910524 i5/OS DUMP 006625/QSECOFR/QPADEV0001 12/21/90 12:55:19 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- OUTPUTBUF CONTEXT-USRDFNCMN
OBJTYPE- *USRSPC
OBJECT TYPE- SPACE *USRSPC
NAME- OUTPUTBUF TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 12/21/90 12:36:28 SIZE- 00001200
OWNER- QSECOFR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 00A00100 0000
SPACE ATTRIBUTES-
000000 00000080 00000060 1934D6E4 E3D7E4E3 C2E4C640 40404040 40404040 40404040 * - OUTPUTBUF *
000020 40404040 40404040 E0000000 00000000 00001000 00800000 00000000 00000000 * \ *
000040 00000000 00000000 0005004D 42000400 00000000 00000000 00000000 00000000 * (a *
SPACE-
000000 F0F10000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *01 *
000020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000040 TO 0001FF SAME AS ABOVE
000200 F0F20000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *02 *
000220 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000240 TO 0003FF SAME AS ABOVE
000400 F0F30000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *03 *
000420 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000440 TO 000FFF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F0F2D8E2 C5C3D6C6 D9404040 F0F0F6F6 F2F7 *QPADEV0002QSECOFR 006627 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F2D9F1D4 F0F0F9F0 F1F2F2F1 F1F2F3F6 F2F84040 *V2R1M00901221123628 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
<br>
<p><strong><a name="Figure_1-6">Figure 1-6. User Space (Descriptor Element) to
Describe the Three Data Units</a></strong></p>
<pre>
5738SS1 V2R1M0 910524 i5/OS DUMP 006625/QSECOFR/QPADEV0001 12/21/90 12:55:58 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- OUTPUTBUFD CONTEXT-USRDFNCMN
OBJTYPE- *USRSPC
OBJECT TYPE- SPACE *USRSPC
NAME- OUTPUTBUFD TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 12/21/90 12:36:27 SIZE- 00000400
OWNER- QSECOFR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 009FFE00 0000
SPACE ATTRIBUTES-
000000 00000080 00000060 1934D6E4 E3D7E4E3 C2E4C6C4 40404040 40404040 40404040 *- OUTPUTBUFD *
000020 40404040 40404040 E0000000 00000000 00000200 00800000 00000000 00000000 * \ *
000040 00000000 00000000 0005004D 42000400 00000000 00000000 00000000 00000000 * (a *
SPACE-
000000 02000100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
000020 02000100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
000040 02000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
000060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000080 TO 0001FF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F0F2D8E2 C5C3D6C6 D9404040 F0F0F6F6 F2F7 *QPADEV0002QSECOFR 006627 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F2D9F1D4 F0F0F9F0 F1F2F2F1 F1F2F3F6 F2F74040 * V2R1M00901221123627 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
<br>
<p><strong>User Spaces for Receiving Data, Operation X'0001'</strong></p>
<p>Two user spaces are shown below. The first is the input buffer and the
second is the input buffer descriptor.</p>
<p>The user spaces below are filled in showing that 2 data units were received.
The first data unit has the more data indicator turned on in the buffer
descriptor for the data unit. This means that the X.25 more indicator was
turned on in all the X.25 packets that this data unit contains. The second data
unit does not have the more data indicator turned on, indicating that the last
X.25 packet in the data unit had the X.25 more indicator turned off. The first
and second data unit are considered to be logically contiguous to the
application program.</p>
<p><strong>Note:</strong> This link was enabled specifying a data unit size of
1024 bytes. The sending system sent the data in data unit sizes of 512 bytes
and they were combined into the 1024 byte data unit size by the local system.
The data unit size is not negotiated end-to-end, neither is the maximum amount
of contiguous data or the automatic flow control. Because the values are
important, each application should be aware of what the other application has
specified for each value. Refer to <a href="comm2.htm#HDRPIUCONS">Sending and
Receiving Data Packets</a> for more information.</p>
<br>
<p><strong><a name="Figure_1-7">Figure 1-7. User Space (Buffer) Containing the
Three Data Units</a></strong></p>
<pre>
5738SS1 V2R1M0 910524 i5/OS DUMP 006625/QSECOFR/QPADEV0001 12/21/90 12:59:33 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- INBUFFER CONTEXT-USRDFNCMN
OBJTYPE- *USRSPC
OBJECT TYPE- SPACE *USRSPC
NAME- INBUFFER TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 12/21/90 12:40:03 SIZE- 00002200
OWNER- QSECOFR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 00A00400 0000
SPACE ATTRIBUTES-
000000 00000080 00000060 1934C9D5 C2E4C6C6 C5D94040 40404040 40404040 40404040 * - INBUFFER *
000020 40404040 40404040 E0000000 00000000 00002000 00800000 00000000 00000000 * \ *
000040 00000000 00000000 0005004D 42000400 00000000 00000000 00000000 00000000 * (a *
SPACE-
000000 F0F10000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *01 *
000020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000040 TO 0001FF SAME AS ABOVE
000200 F0F20000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *02 *
000220 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000240 TO 0003FF SAME AS ABOVE
000400 F0F30000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *03 *
000420 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000440 TO 001FFF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F0F1D8E2 C5C3D6C6 D9404040 F0F0F6F6 F2F5 *QPADEV0001QSECOFR 006625 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F2D9F1D4 F0F0F9F0 F1F2F2F1 F1F2F4F0 F0F34040 * V2R1M00901221124003 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
<br>
<p><strong><a name="Figure_1-8">Figure 1-8. User Space (Descriptor Element)
Describing the Three Data Units</a></strong></p>
<pre>
5738SS1 V2R1M0 910524 i5/OS DUMP 006625/QSECOFR/QPADEV0001 12/21/90 12:59:41 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- INBUFFERD CONTEXT-USRDFNCMN
OBJTYPE- *USRSPC
OBJECT TYPE- SPACE *USRSPC
NAME- INBUFFERD TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 12/21/90 12:40:03 SIZE- 00000400
OWNER- QSECOFR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 00A00200 0000
SPACE ATTRIBUTES-
000000 00000080 00000060 1934C9D5 C2E4C6C6 C5D9C440 40404040 40404040 40404040 * - INBUFFERD *
000020 40404040 40404040 E0000000 00000000 00000200 00800000 00000000 00000000 * \ *
000040 00000000 00000000 0005004D 42000400 00000000 00000000 00000000 00000000 * (a *
SPACE-
000000 04000100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
000020 02000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
000040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000060 TO 0001FF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F0F1D8E2 C5C3D6C6 D9404040 F0F0F6F6 F2F5 *QPADEV0001QSECOFR 006625 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F2D9F1D4 F0F0F9F0 F1F2F2F1 F1F2F4F0 F0F34040 * V2R1M00901221124003 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
<br>
<p><strong>User Space to Clear a Connection or Call, Operation
X'B100'</strong></p>
<p>This user space was filled in to end an SVC connection or clear an incoming
call. No facilities or clear user data are requested with this, but cause and
diagnostic codes are specified (these are not ISO or SNA codes).</p>
<br>
<p><strong><a name="Figure_1-9">Figure 1-9. User Space to Send an SVC
Clear</a></strong></p>
<pre>
5738SS1 V2R1M0 910524 i5/OS DUMP 006625/QSECOFR/QPADEV0001 12/21/90 13:14:48 PAGE 1
DMPSYSOBJ PARAMETERS
OBJ- OUTBUFFER CONTEXT-USRDFNCMN
OBJTYPE- *USRSPC
OBJECT TYPE- SPACE *USRSPC
NAME- OUTBUFFER TYPE- 19 SUBTYPE- 34
LIBRARY- USRDFNCMN TYPE- 04 SUBTYPE- 01
CREATION- 12/21/90 12:40:03 SIZE- 00002200
OWNER- QSECOFR TYPE- 08 SUBTYPE- 01
ATTRIBUTES- 0800 ADDRESS- 00A00A00 0000
SPACE ATTRIBUTES-
000000 00000080 00000060 1934D6E4 E3C2E4C6 C6C5D940 40404040 40404040 40404040 * - OUTBUFFER *
000020 40404040 40404040 E0000000 00000000 00002000 00800000 00000000 00000000 * \ *
000040 00000000 00000000 0005004D 42000400 00000000 00000000 00000000 00000000 * (a *
SPACE-
000000 0000BEBE 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * XX *
000020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * *
LINES 000040 TO 001FFF SAME AS ABOVE
POINTERS-
NONE
OIR DATA-
TEXT-
000000 D8D7C1C4 C5E5F0F0 F0F1D8E2 C5C3D6C6 D9404040 F0F0F6F6 F2F5 *QPADEV0001QSECOFR 006625 *
SERVICE-
000000 40404040 40404040 40404040 40404040 40404040 40F14040 40404040 40404040 * 1 *
000020 40404040 40404040 404040E5 F2D9F1D4 F0F0F9F0 F1F2F2F1 F1F2F4F0 F0F44040 * V2R1M00901221124004 *
000040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * *
000060 40404040 40404040 40404040 40404040 40404040 40404040 00000000 00000000 * *
000080 00000000 00000000 00000000 00000000 00000000 00000000 40400000 00000000 * *
0000A0 00000000 00000000 * *
END OF DUMP
* * * * * E N D O F L I S T I N G * * * * *
</pre>
<br>
<h2><a name="HDRHWECODE">Error Codes</a></h2>
<p>The system and user-defined communications support reports important
information that is useful for determining recovery actions when an error
occurs. This information is referred to as error codes that are reported either
to the job log or to the QSYSOPR message queue. For a complete list of the
messages that are signaled by the user-defined communications APIs, see <a
href="comm2.htm#HDRUDCMSG">Messages</a>.</p>
<p>In some cases error codes are reported to your application in the error
specific parameter. The following sections list the valid error codes. Some of
the error codes represent actual coding errors, others only report additional
information. For information about the error codes for the individual
user-defined communications APIs, see <a href="comm4.htm#HDRCOMMC4">
User-Defined Communications Support APIs</a>.</p>
<br>
<h3><a name="Header_19">Local Area Network (LAN) Error Codes</a></h3>
<p><a href="#TBLERRCD">Figure 1-10</a> shows the valid hexadecimal codes your
application can receive as a result of a call to the QOLSEND API using
operation code X'0000'. The codes indicate that the data was never sent on the
line. Associated with these error codes is a message in QSYSOPR, indicating the
device description that caused the error, and the error code. After receiving
the error code, the link will still be enabled and usable.</p>
<p>These error codes indicate to your application that a coding error was made
and should be corrected.<br>
</p>
<br>
<p><strong><a name="TBLERRCD">Figure 1-10. Error Codes Received While Sending
Data over LAN</a></strong></p>
<table border width="80%">
<tr>
<th valign="top">Error Code</th>
<th valign="top">Description</th>
<th valign="top">Cause</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">3300 2A55</td>
<td align="left" valign="top" width="40%">Routing length not valid</td>
<td align="left" valign="top" width="45%">Routing length is not valid, or
length does not equal length in routing field.</td>
</tr>
<tr>
<td align="left" valign="top">3300 2A5D</td>
<td align="left" valign="top">Maximum frame size limit exceeded</td>
<td align="left" valign="top">Length of data is greater than maximum frame size
supported by the source SAP</td>
</tr>
<tr>
<td align="left" valign="top">5300 2A7B</td>
<td align="left" valign="top">Access Control not valid</td>
<td align="left" valign="top">Access Control specified is not supported</td>
</tr>
<tr>
<td align="left" valign="top">3300 2AA9</td>
<td align="left" valign="top">SAP address not valid</td>
<td align="left" valign="top">SAP address is not configured in the line
description</td>
</tr>
<tr>
<td align="left" valign="top">3300 2AA9</td>
<td align="left" valign="top">SAP address not valid</td>
<td align="left" valign="top">SAP address is not configured in the line
description</td>
</tr>
<tr>
<td align="left" valign="top">3300 2AD4</td>
<td align="left" valign="top">Data length too small (Ethernet Version 2
only)</td>
<td align="left" valign="top">Data must be at least 48 bytes long (46 bytes of
data, plus 2 bytes for the Ethernet type field)</td>
</tr>
<tr>
<td align="left" valign="top">3300 2AD5</td>
<td align="left" valign="top">Ethernet type field is not valid (Ethernet
Version 2 only)</td>
<td align="left" valign="top">Ethernet type field (first two bytes of
data)</td>
</tr>
</table>
<br>
<br>
<h3><a name="Header_20">X.25 Error Codes</a></h3>
<p><a href="#TBLREPT">Figure 1-11</a> shows the valid error codes your
application can receive as a result of</p>
<ul>
<li>A call to the QOLSEND API with operation X'B400' to accept an SVC call<br>
<br>
</li>
<li>A call to the Receive Data (QOLRECV) API which returns the results of the
open connection request operation, X'B101'<br>
<br>
</li>
<li>The connection failure indication, reported by operation X'B301'</li>
</ul>
<p>These error codes indicate to your application that a coding error was made,
or a failure condition occurred.</p>
<br>
<p><strong><a name="TBLREPT">Figure 1-11. Error Codes Reported on X'B001',
X'B301', and X'B400' Operations</a></strong></p>
<table border width="80%">
<tr>
<th valign="top">Error Code</th>
<th valign="top">Description</th>
<th valign="top">Cause</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">1200 3122</td>
<td align="left" valign="top" width="40%">Outgoing channel not available</td>
<td align="left" valign="top" width="45%">The logical channel is still active
and in the process of being deactivated</td>
</tr>
<tr>
<td align="left" valign="top">3200 3050</td>
<td align="left" valign="top">Restart in progress</td>
<td align="left" valign="top">Temporary condition; retry operation</td>
</tr>
<tr>
<td align="left" valign="top">3200 3172</td>
<td align="left" valign="top">Outgoing channel not available</td>
<td align="left" valign="top">Temporary condition; retry operation</td>
</tr>
<tr>
<td align="left" valign="top">3200 3368</td>
<td align="left" valign="top">Remote address length not valid</td>
<td align="left" valign="top">Remote address length not supported by the
network</td>
</tr>
<tr>
<td align="left" valign="top">3200 3384</td>
<td align="left" valign="top">Facility field error</td>
<td align="left" valign="top">A facility was encoded incorrectly or a duplicate
facility was encoded</td>
</tr>
<tr>
<td align="left" valign="top">3200 3388</td>
<td align="left" valign="top">Facility field too long</td>
<td align="left" valign="top">The total length of the facilities, which
includes user-specified facilities, the NUI facility from the line description,
and system generated facilities, exceeded X.25 limits (109 bytes)</td>
</tr>
<tr>
<td align="left" valign="top">3200 338C</td>
<td align="left" valign="top">Response restricted by fast select</td>
<td align="left" valign="top">User data is not allowed with restriction</td>
</tr>
<tr>
<td align="left" valign="top">3200 3394</td>
<td align="left" valign="top">User data not allowed</td>
<td align="left" valign="top">User data is not allowed on the call accept if
fast select was not requested.</td>
</tr>
<tr>
<td align="left" valign="top">3200 33CC</td>
<td align="left" valign="top">Call user data length not valid</td>
<td align="left" valign="top">The length of call user data is greater than 16
and fast select is not selected.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3210</td>
<td align="left" valign="top">Reset request transmitted</td>
<td align="left" valign="top">The virtual circuit was reset by the local
system. Refer to cause and diagnostic codes to determine recovery.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3220</td>
<td align="left" valign="top">Clear request transmitted</td>
<td align="left" valign="top">The virtual circuit was cleared by the local
system. Refer to cause and diagnostic codes to determine recovery.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3222</td>
<td align="left" valign="top">Clear request transmitted</td>
<td align="left" valign="top">The virtual circuit was cleared by the local
system because there was a problem with the packet size in the call accept.
This is either a configuration problem or a network problem. Verify that the
default packet size in the line description is correct.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3224</td>
<td align="left" valign="top">Clear request transmitted</td>
<td align="left" valign="top">The virtual circuit was cleared by the local
system because there was a problem with the window size in the call accept.
This is either a configuration problem or a network problem. Verify that the
default window size in the line description is correct.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3230</td>
<td align="left" valign="top">Restart request transmitted</td>
<td align="left" valign="top">The virtual circuit was cleared by the local
system. Refer to cause and diagnostic codes for more information.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3280</td>
<td align="left" valign="top">Time-out on call</td>
<td align="left" valign="top">Call timed out</td>
</tr>
<tr>
<td align="left" valign="top">4600 3134</td>
<td align="left" valign="top">Clear indication was received</td>
<td align="left" valign="top">The virtual circuit was cleared by either the
remote system or the network. Refer to cause and diagnostic codes for more
information.</td>
</tr>
<tr>
<td align="left" valign="top">4600 3138</td>
<td align="left" valign="top">Restart indication received</td>
<td align="left" valign="top">Temporary condition; refer to the cause and
diagnostic codes reported to correct the problem, then retry the operation</td>
</tr>
</table>
<p><a href="#TBLERCDRE">Figure 1-12</a> shows the valid error codes your
application can receive as a result of a call to the QOLRECV API with an
operation code returned as X'B101'.</p>
<p>These error codes indicate to your application that the connection was
cleared or reset for the following reasons.</p>
<br>
<p><strong><a name="TBLERCDRE">Figure 1-12. Error Codes Reported on the X'B101'
Operation</a></strong></p>
<table border width="80%">
<tr>
<th valign="top">Error Code</th>
<th valign="top">Description</th>
<th valign="top">Cause</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">3200 3388</td>
<td align="left" valign="top" width="40%">Facility field too long</td>
<td align="left" valign="top" width="45%">The total length of the facilities,
which includes user-specified facilities, the NUI facility from the line
description, and system generated facilities, exceeded X.25 limits (109
bytes)</td>
</tr>
<tr>
<td align="left" valign="top">3200 3394</td>
<td align="left" valign="top">User data not allowed</td>
<td align="left" valign="top">User data is not allowed when fast select is not
selected.</td>
</tr>
<tr>
<td align="left" valign="top">3200 33CC</td>
<td align="left" valign="top">Call user data length not valid</td>
<td align="left" valign="top">The length of call user data is greater than 16
and fast select is not selected.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3240</td>
<td align="left" valign="top">Time-out on reset</td>
<td align="left" valign="top">The clear request resulted in an X.25 reset,
which timed out</td>
</tr>
<tr>
<td align="left" valign="top">4200 3284</td>
<td align="left" valign="top">Time-out on clear</td>
<td align="left" valign="top">The remote system did not respond to the CLEAR
within the time-out value</td>
</tr>
<tr>
<td align="left" valign="top">4600 3134</td>
<td align="left" valign="top">Clear indication was received</td>
<td align="left" valign="top">The virtual circuit was cleared by either the
remote system or the network. Refer to cause and diagnostic codes for more
information.</td>
</tr>
</table>
<p><a href="#TBLBFOP">Figure 1-13</a> shows the valid error codes your
application can receive as a result of a call to the QOLRECV API, returning the
operation code, X'BF01'.</p>
<p>These error codes indicate to your application that the connection was
cleared or reset for the following reasons.</p>
<br>
<p><strong><a name="TBLBFOP">Figure 1-13. Error Codes Reported on the X'BF01'
Operation</a></strong></p>
<table border width="80%">
<tr>
<th valign="top">Error Code</th>
<th valign="top">Description</th>
<th valign="top">Cause</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">3200 3050</td>
<td align="left" valign="top" width="40%">Network Restart in progress</td>
<td align="left" valign="top" width="45%">Temporary condition; connection is no
longer active.</td>
</tr>
<tr>
<td align="left" valign="top">3200 3A0C</td>
<td align="left" valign="top">Close pending</td>
<td align="left" valign="top">The virtual circuit is being closed.</td>
</tr>
<tr>
<td align="left" valign="top">3200 3A0D</td>
<td align="left" valign="top">Reset pending</td>
<td align="left" valign="top">The virtual circuit is in the process of being
reset by either the remote system or the network.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3210</td>
<td align="left" valign="top">Reset packet transmitted</td>
<td align="left" valign="top">A Reset packet was transmitted from the local
system.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3240</td>
<td align="left" valign="top">Time-out on reset</td>
<td align="left" valign="top">The clear request resulted in an X.25 reset,
which timed out</td>
</tr>
<tr>
<td align="left" valign="top">4600 3130</td>
<td align="left" valign="top">Reset indication was received</td>
<td align="left" valign="top">The virtual circuit received a reset by either
the remote system or the network. Refer to cause and diagnostic codes for more
information.</td>
</tr>
<tr>
<td align="left" valign="top">4600 3134</td>
<td align="left" valign="top">Clear indication was received</td>
<td align="left" valign="top">The virtual circuit was cleared by either the
remote system or the network. Refer to cause and diagnostic codes for more
information.</td>
</tr>
</table>
<p><a href="#TBLRESU">Figure 1-14</a> shows the valid error codes your
application can receive as a result of a call to the QOLSEND API with an
operation code returned as X'0000'.</p>
<p>These error codes indicate to your application that the connection was
cleared or reset for the following reasons.</p>
<br>
<p><strong><a name="TBLRESU">Figure 1-14. Error Codes Resulting from a X'0000'
Operation</a></strong></p>
<table border width="80%">
<tr>
<th valign="top">Error Code</th>
<th valign="top">Description</th>
<th valign="top">Cause</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">3200 3050</td>
<td align="left" valign="top" width="40%">Network restart in progress</td>
<td align="left" valign="top" width="45%">Temporary condition; connection is no
longer active.</td>
</tr>
<tr>
<td align="left" valign="top">3200 336A</td>
<td align="left" valign="top">Q/M bit sequence not valid</td>
<td align="left" valign="top">If the data is qualified, the Q bit must be set
for all data units.</td>
</tr>
<tr>
<td align="left" valign="top">3200 33C8</td>
<td align="left" valign="top">Data length not valid</td>
<td align="left" valign="top">The length of the packet is not supported for
this virtual circuit.</td>
</tr>
<tr>
<td align="left" valign="top">3200 3A0C</td>
<td align="left" valign="top">Close pending</td>
<td align="left" valign="top">The virtual circuit is being closed.</td>
</tr>
<tr>
<td align="left" valign="top">3200 3A0D</td>
<td align="left" valign="top">Reset pending</td>
<td align="left" valign="top">The virtual circuit is in the process of being
reset by either the remote system or the network.</td>
</tr>
<tr>
<td align="left" valign="top">4200 3284</td>
<td align="left" valign="top">Interrupt timed out</td>
<td align="left" valign="top">The local DTE sent an interrupt packet. The
response to this packet was not received within the time-out period, and the
connection has been reset by the iSeries server.</td>
</tr>
<tr>
<td align="left" valign="top">4600 3130</td>
<td align="left" valign="top">Reset indication was received</td>
<td align="left" valign="top">The virtual circuit received a reset by either
the remote system or the network. Refer to cause and diagnostic codes for more
information.</td>
</tr>
<tr>
<td align="left" valign="top">4600 3134</td>
<td align="left" valign="top">Clear indication was received</td>
<td align="left" valign="top">The virtual circuit was cleared by either the
remote system or the network. Refer to cause and diagnostic codes for more
information.</td>
</tr>
</table>
<br>
<br>
<h2><a name="Header_21">Common Errors and Messages</a></h2>
<p>This section shows some of the common errors that you or your application
programmer may encounter. Some of these errors are detected by the APIs and
reported to the application by the unsuccessful return and reason codes
returned on each API. Other errors are program design errors, that your
application programmer must detect and correct. The errors are listed by
category:</p>
<p><strong>Parameter Errors</strong></p>
<ul>
<li>Switching use of connection identifiers (PCEP and UCEP)<br>
<br>
</li>
<li>Switching use of timer handles<br>
<br>
</li>
<li>Not encoding parameters if not used<br>
<br>
</li>
<li>Operation code not in hexadecimal format<br>
<br>
</li>
<li>Parameter not declared with proper length</li>
</ul>
<p><strong>User Space Errors</strong></p>
<ul>
<li>Not encoding reserved space for fields not used<br>
<br>
</li>
<li>Not initializing user space fields as necessary.
<p>The output user spaces can only be changed by the user-defined
communications application. Operations are validated on each request. If there
are fields that the current operation does not use, they should be set to
contain zeros with X'00', to prevent a template error resulting from
information on the previous operation still being in the user space. Not
resetting the indicators in the output buffer descriptors on each operation and
not zeroing out fields before making a call request may result in template
errors.</p>
</li>
</ul>
<p><strong>Queue Errors</strong></p>
<ul>
<li>Queue not created<br>
<br>
</li>
<li>Queue created with different key length than specified in the parameter
list of the Enable Link (QOLELINK) API</li>
</ul>
<p><strong>Receive Data (QOLRECV) API Errors</strong></p>
<ul>
<li>Not checking the more data output parameter and issuing another call to the
QOLRECV API<br>
<br>
</li>
<li>Not calling the QOLSETF API to set the filter to route inbound data to the
application<br>
<br>
</li>
<li>Using the wrong data unit descriptor for the data unit (each data unit has
its own descriptor)<br>
<br>
</li>
</ul>
<p><strong>Send Data (QOLSEND) API Errors</strong></p>
<ul>
<li>After a call to the QOLSEND API with an operation code of X'B000', X'B100',
or X'BF00', the application should then call the QRCVDTAQ API and wait for
incoming data to be placed on the queues. The success or failure of these
operations is reported through the QOLRECV API with operation codes of X'B001',
X'B101' and X'BF01', respectively.<br>
<br>
</li>
<li>Using the wrong data unit descriptor for the data unit (each data unit has
its own descriptor)</li>
</ul>
<p><strong>Enable Link (QOLELINK) API Errors</strong></p>
<ul>
<li>User space names not unique<br>
<br>
</li>
<li>Queue not created before program call<br>
<br>
</li>
<li>Line description not created or incorrect prior to program call</li>
</ul>
<p><strong>Query Line Description (QOLQLIND) API Errors</strong></p>
<ul>
<li>Parameter buffer not large enough</li>
</ul>
<hr>
<center>
<table cellpadding="2" cellspacing="2" width="600">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"comm.htm">Communications APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>