1321 lines
53 KiB
HTML
1321 lines
53 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
|
|
<title>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 £ *
|
|
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>
|
|
|