705 lines
20 KiB
HTML
705 lines
20 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>Control Device (QTACTLDV) API</title>
|
||
|
<!-- Begin Header Records ========================================== -->
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<!-- QTACTLDV SCRIPT A converted by B2H R4.1 (346) (CMS) by KENTALA -->
|
||
|
<!-- at RCHVMW2 on 21 Oct 1998 at 18:23:34 -->
|
||
|
<!-- Change History: -->
|
||
|
<!-- YYMMDD USERID Change description -->
|
||
|
<!-- 050504 LANA Added new reason code for FMR tape -->
|
||
|
<!-- File cleanup completed on 6/29/01 -->
|
||
|
<!--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>
|
||
|
<a name="top"></a>
|
||
|
<h2>Control Device (QTACTLDV) API</h2>
|
||
|
|
||
|
<div class="box" style="width: 80%;">
|
||
|
<br>
|
||
|
Required Parameter Group:<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
<table width="100%">
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">1</td>
|
||
|
<td align="left" valign="top" width="50%">Device name</td>
|
||
|
<td align="left" valign="top" width="20%">Input</td>
|
||
|
<td align="left" valign="top" width="20%">Char(10)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">2</td>
|
||
|
<td align="left" valign="top">Requested function</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">3</td>
|
||
|
<td align="left" valign="top">Send buffer</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">Length of send buffer</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">5</td>
|
||
|
<td align="left" valign="top">Receive buffer</td>
|
||
|
<td align="left" valign="top">Output</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">6</td>
|
||
|
<td align="left" valign="top">Length of receive buffer</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">7</td>
|
||
|
<td align="left" valign="top">Command format</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(8)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">Command data</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">9</td>
|
||
|
<td align="left" valign="top">Length of command data</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">Error code</td>
|
||
|
<td align="left" valign="top">I/O</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
Default Public Authority: *EXCLUDE<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Threadsafe: Conditional; see <a href="#Header_8">Usage Notes</a>.<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<p>The Control Device (QTACTLDV) API provides a direct command interface to a
|
||
|
device. The caller of this API can issue any command directly to a device and
|
||
|
transfer data to or from the device.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> For tape devices, the Retrieve Device Capabilities
|
||
|
(QTARDCAP) API can be used to determine if the tape device supports the
|
||
|
QTACTLDV API. Other kinds of devices currently do not support this API. This
|
||
|
API can be used for a tape device within a media library if the device is
|
||
|
deallocated from the library.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> Incorrect use of this API can cause damage to data
|
||
|
saved on tape media or can interfere with I/O processor function.</p>
|
||
|
<br>
|
||
|
|
||
|
<h3><a name="Header_2">Authorities and Locks</a></h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>API Public Authority</em></dt>
|
||
|
|
||
|
<dd>*EXCLUDE</dd>
|
||
|
|
||
|
<dt><em>Special Authority</em></dt>
|
||
|
|
||
|
<dd>*SERVICE</dd>
|
||
|
|
||
|
<dt><em>Device Description Authority</em></dt>
|
||
|
|
||
|
<dd>*CHANGE</dd>
|
||
|
|
||
|
<dt><em>Device Description Lock</em></dt>
|
||
|
|
||
|
<dd>*EXCLRD</dd>
|
||
|
</dl>
|
||
|
<br>
|
||
|
|
||
|
<h3><a name="Header_3">Required Parameter Group</a></h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Device name</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(10)
|
||
|
|
||
|
<p>The device description to which the request is sent.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Requested function</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The function to perform. The possible values are:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="5 95" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>1</em></td>
|
||
|
<td align="left" valign="top">Open a connection to the device. This function
|
||
|
must be performed before any commands can be sent to the device. The device
|
||
|
must be varied on before this function is performed. No other job can use the
|
||
|
device while the connection is open.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>2</em></td>
|
||
|
<td align="left" valign="top">Send a command to the device. When running in a
|
||
|
multithreaded environment, a command sent by a thread must be complete before
|
||
|
another command can be sent by another thread.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>3</em></td>
|
||
|
<td align="left" valign="top">Close the connection to the device. This function
|
||
|
must be performed after the user has completed sending commands to the device.
|
||
|
No other job can use the device until the connection is closed.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Send buffer</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(*)
|
||
|
|
||
|
<p>A buffer containing data to send to the device when a data transfer command
|
||
|
is sent. No support is provided to send and receive data on the same
|
||
|
command.</p>
|
||
|
|
||
|
<p>This parameter is ignored if the length of the send buffer is 0.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Length of send buffer</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The length of the send buffer.</p>
|
||
|
|
||
|
<p>This parameter must be 0 for the open connection and close connection
|
||
|
functions.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Receive buffer</strong></dt>
|
||
|
|
||
|
<dd>OUTPUT; CHAR(*)
|
||
|
|
||
|
<p>A buffer to store data received from the device after a data transfer
|
||
|
command is sent. No support is provided to send and receive data on the same
|
||
|
command.</p>
|
||
|
|
||
|
<p>This parameter is ignored if the length of the receive buffer is 0.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Length of receive buffer</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The length of the receive buffer.</p>
|
||
|
|
||
|
<p>This parameter must be 0 for the open connection and close connection
|
||
|
functions.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Command format</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(8)
|
||
|
|
||
|
<p>The format of the command data. The following format is supported.</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>CTLD0100</em></dt>
|
||
|
|
||
|
<dd>Issue command to a tape device.</dd>
|
||
|
</dl>
|
||
|
|
||
|
<p><strong>Note:</strong> The connection must be opened using the open function
|
||
|
before a command can be issued to the device.</p>
|
||
|
|
||
|
<p>See <a href="#HDRTAPIO1">CTLD0100 Format</a> for more information on the
|
||
|
command data format.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Command data</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(*)
|
||
|
|
||
|
<p>The variable that contains the command data.</p>
|
||
|
|
||
|
<p>This parameter is ignored if the length of command data is set to 0.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Length of command data</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The length of the command data to be sent to the device. The command data
|
||
|
must be 0, or a minimum of 32 bytes long and a maximum of 56 bytes long.</p>
|
||
|
|
||
|
<p>This parameter must be 0 for the open connection and close connection
|
||
|
functions.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Error code</strong></dt>
|
||
|
|
||
|
<dd>I/O; CHAR(*)
|
||
|
|
||
|
<p>The structure in which to return error information. For the format of the
|
||
|
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<br>
|
||
|
|
||
|
<h3><a name="HDRTAPIO1">CTLD0100 Format</a></h3>
|
||
|
|
||
|
<p>The following table shows the command information that is required for the
|
||
|
CTLD0100 format. For more details about the fields in the following table, see
|
||
|
<a href="#HDRFLD01">Field Descriptions</a>.<br>
|
||
|
</p>
|
||
|
|
||
|
<table border width="80%">
|
||
|
<tr>
|
||
|
<th align="center" valign="bottom" colspan="2">Offset</th>
|
||
|
<th align="left" valign="bottom" rowspan="2">Type</th>
|
||
|
<th align="left" valign="bottom" rowspan="2">Field</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<th align="center" valign="bottom">Dec</th>
|
||
|
<th align="center" valign="bottom">Hex</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">0</td>
|
||
|
<td align="center" valign="top" width="10%">0</td>
|
||
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
||
|
<td align="left" valign="top" width="60%">Data transfer direction</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Requested transfer length</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Ignore length errors</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Command timeout value</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Type of command</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="center" valign="top">14</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Offset to command string</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">24</td>
|
||
|
<td align="center" valign="top">18</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of command string</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">28</td>
|
||
|
<td align="center" valign="top">1C</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top"><br>
|
||
|
</td>
|
||
|
<td align="center" valign="top"><br>
|
||
|
</td>
|
||
|
<td align="left" valign="top">CHAR(*)</td>
|
||
|
<td align="left" valign="top">Command string</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<br><br>
|
||
|
|
||
|
<h3><a name="HDRFLD01">Field Descriptions</a></h3>
|
||
|
|
||
|
<p><strong>Command string.</strong> The command string to send to the device.
|
||
|
See the device specifications to determine what command strings are supported
|
||
|
by the device.</p>
|
||
|
|
||
|
<p><strong>Command timeout value.</strong> The time, in seconds, to wait for
|
||
|
the command to complete. Valid values are 1 through 7200.</p>
|
||
|
|
||
|
<p><strong>Data transfer direction.</strong> The direction of any data transfer
|
||
|
associated with the command. The possible values are:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="5 95" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>0</em></td>
|
||
|
<td align="left" valign="top">No data transfer.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>1</em></td>
|
||
|
<td align="left" valign="top">Receive data from the device.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>2</em></td>
|
||
|
<td align="left" valign="top">Send data to the device.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Ignore length errors.</strong> The possible values are:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="5 95" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>0</em></td>
|
||
|
<td align="left" valign="top">Report length errors.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>1</em></td>
|
||
|
<td align="left" valign="top">Ignore length errors.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Length of command string.</strong> The length of the command string
|
||
|
to send to the device. Valid values are 0 through 24.</p>
|
||
|
|
||
|
<p><strong>Offset to command string.</strong> The offset from the start of the
|
||
|
command data, in bytes, to the start of the command string. Valid values are 32
|
||
|
and greater.</p>
|
||
|
|
||
|
<p><strong>Requested transfer length.</strong> The expected length of the data
|
||
|
to be transferred by the command. The requested transfer length must be less
|
||
|
than or equal to the length of the buffer parameter that will be used to send
|
||
|
or receive the data.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> This field must be 0 for commands with no data
|
||
|
transfer.</p>
|
||
|
|
||
|
<p><strong>Reserved.</strong> An ignored field. This value must be set to
|
||
|
0.</p>
|
||
|
|
||
|
<p><strong>Type of Command.</strong> The type of command. The possible values
|
||
|
are:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="5 95" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>0</em></td>
|
||
|
<td align="left" valign="top">Small Computer System Interface (SCSI)
|
||
|
command.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>1</em></td>
|
||
|
<td align="left" valign="top">Reset the device.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<br><br>
|
||
|
|
||
|
<h3><a name="Header_6">Error Messages</a></h3>
|
||
|
|
||
|
<p>For descriptions of the reason codes in CPF67C8, see <a href="#HDRRC1">
|
||
|
Reason Codes</a>.</p>
|
||
|
<br>
|
||
|
<table width="100%">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<th align="left" valign="top">Message ID</th>
|
||
|
<th align="left" valign="top">Error Message Text</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td width="15%" valign="top">CPF222E E</td>
|
||
|
<td width="85%" valign="top">&1 special authority is required.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF24B4 E</td>
|
||
|
<td valign="top">Severe error while addressing parameter list.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C1D E</td>
|
||
|
<td valign="top">Length specified in parameter &1 not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C21 E</td>
|
||
|
<td valign="top">Format name &1 is not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C39 E</td>
|
||
|
<td valign="top">Value for reserved field not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C3C E</td>
|
||
|
<td valign="top">Value for parameter &1 not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C4C E</td>
|
||
|
<td valign="top">Value not valid for field &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C90 E</td>
|
||
|
<td valign="top">Literal value cannot be changed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3CF1 E</td>
|
||
|
<td valign="top">Error code parameter not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3CF2 E</td>
|
||
|
<td valign="top">Error(s) occurred during running of &1 API.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF6708 E</td>
|
||
|
<td valign="top">Command ended due to error.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF67C8 E</td>
|
||
|
<td valign="top">Command failed for device &1. Reason code &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF9814 E</td>
|
||
|
<td valign="top">Device &1 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF9872 E</td>
|
||
|
<td valign="top">Program or service program &1 in library &2 ended.
|
||
|
Reason code &3.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<br><br>
|
||
|
|
||
|
<h3><a name="HDRRC1">Reason Codes</a></h3>
|
||
|
|
||
|
<p>This topic contains the description of the reason codes returned in message
|
||
|
CPF67C8.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> For command timeouts, I/O processor errors, system
|
||
|
bus errors, and device bus errors, a reset operation might occur on the device
|
||
|
bus. Other devices attached to the same bus may be affected by this reset
|
||
|
operation.</p>
|
||
|
|
||
|
<p>Possible reason code values are:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'010300'x</em></td>
|
||
|
<td align="left" valign="top">Command length not valid: The command length was
|
||
|
too long for existing device interface specifications.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'010700'x</em></td>
|
||
|
<td align="left" valign="top">Data length not valid: The IOP does not support
|
||
|
the size of the data transfer. Use the Retrieve Device Capabilities (QTARDCAP)
|
||
|
API to determine the maximum block size supported.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'020900'x</em></td>
|
||
|
<td align="left" valign="top">Insufficient data: The data transfer buffer is
|
||
|
not large enough.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'02C0yy'x</em></td>
|
||
|
<td align="left" valign="top">Device detected error: The tape device reported
|
||
|
an error condition. For an SCSI type of command, yy is set to the value of the
|
||
|
completion status.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'02C100'x</em></td>
|
||
|
<td align="left" valign="top">Selection timeout: The tape device did not
|
||
|
respond to the command. Check device power and cables and retry the command. If
|
||
|
the problem persists, contact your hardware service provider.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'02C200'x</em></td>
|
||
|
<td align="left" valign="top">I/O processor length error: Length error on the
|
||
|
data transfer. The ignore length errors field was not set in the command
|
||
|
data.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'02C300'x</em></td>
|
||
|
<td align="left" valign="top">I/O processor error: The I/O processor card
|
||
|
detected an internal hardware failure. Contact your hardware service
|
||
|
provider.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'02C400'x</em></td>
|
||
|
<td align="left" valign="top">Command timed out: The tape device did not
|
||
|
complete the requested command within the specified time. Correct the command
|
||
|
timeout value and retry the command. If the problem persists, contact your
|
||
|
hardware service provider.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'02C500'x</em></td>
|
||
|
<td align="left" valign="top">System bus error: The host internal system bus
|
||
|
failed. Contact your hardware service provider.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'02C600'x</em></td>
|
||
|
<td align="left" valign="top">Device bus error: The I/O processor detected a
|
||
|
failure in the device interface. Check the device power and cables and retry
|
||
|
the command. If the problem persists, contact your hardware service
|
||
|
provider.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">
|
||
|
<img src="delta.gif" alt="Start of change"><em>'02C700'x</em></td>
|
||
|
<td align="left" valign="top">Device detected error: The device rejected a
|
||
|
microcode update. <img src="deltaend.gif" alt="End of change"></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'100000'x</em></td>
|
||
|
<td align="left" valign="top">Open failure: A connection could not be opened to
|
||
|
the device. The device may not be varied on or is being used by another
|
||
|
job.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'100001'x</em></td>
|
||
|
<td align="left" valign="top">Open failure: A connection could not be opened to
|
||
|
the device. The device does not support the QTACTLDV API.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'100002'x</em></td>
|
||
|
<td align="left" valign="top">Open failure: A connection could not be opened to
|
||
|
the device. The device is in a failed state.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'200000'x</em></td>
|
||
|
<td align="left" valign="top">Close failure: The connection to the device could
|
||
|
not be closed. The device may not be varied on or is being used by another
|
||
|
job.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'200002'x</em></td>
|
||
|
<td align="left" valign="top">Close failure: The connection to the device could
|
||
|
not be closed. The device is in a failed state.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'300000'x</em></td>
|
||
|
<td align="left" valign="top">Device not valid: The device specified is not a
|
||
|
tape device.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'300001'x</em></td>
|
||
|
<td align="left" valign="top">Resource not valid: The resource name associated
|
||
|
with the specified device is not valid or does not exist.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>'400000'x</em></td>
|
||
|
<td align="left" valign="top">Connection not open: The command could not be
|
||
|
completed because there is not an open connection.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<br><br>
|
||
|
|
||
|
<h3><a name="Header_8">Usage Notes</a></h3>
|
||
|
|
||
|
<p>When running in a multithreaded environment, a command sent by a thread to a
|
||
|
device must be complete before a command can be sent by another thread to the
|
||
|
same device.</p>
|
||
|
<br>
|
||
|
|
||
|
<h3><a name="Header_9">Usage Example</a></h3>
|
||
|
|
||
|
<p>See <a href="../apiref/apiexusdev.htm">Using the QTACTLDV API</a> in API examples for
|
||
|
an example of how to use the QTACTLDV API.</p>
|
||
|
<br>
|
||
|
<hr>
|
||
|
API introduced: V4R4
|
||
|
<hr>
|
||
|
<center>
|
||
|
<table cellpadding="2" cellspacing="2">
|
||
|
<tr align="center">
|
||
|
<td valign="middle" align="center"><a href="#top">Top</a> | <a href=
|
||
|
"misc1.htm">Miscellaneous APIs</a> | <a href="aplist.htm">APIs by
|
||
|
category</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</center>
|
||
|
</body>
|
||
|
</html>
|
||
|
|
||
|
|