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

765 lines
22 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>Find Validation List Entry (QSYFDVLE) 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. -->
<!-- Sec SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Edited by Kersten Jan 02 -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Find Validation List Entry (QSYFDVLE) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Qualified validation list name</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Entry ID information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Attribute information</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">Return entry</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(1724)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Return attributes</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">Error Code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Service Program Name: QSYVLDL<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Find Validation List Entry (QSYFDVLE) API finds an entry in a validation
list object and returns it. Also, any attributes associated with the entry can
be returned. To find an entry, there must be an exact match in the entry for
the value that is specified in the entry ID parameter and the length of the
entry ID. For example, an entry ID value of SMITH with a length of 5 would not
find an entry where the entry ID is SMITH and the length is 7.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Validation List Object</em></dt>
<dd>*USE<br>
<br>
</dd>
<dt><em>Validation List Object Library</em></dt>
<dd>*EXECUTE</dd>
</dl>
<p><strong>Note:</strong> If the QsyEncryptData attribute is set to 1, then the
user must have *USE, *ADD, and *UPD authorities to the validation list to get
the data to be encrypted returned in the encrypted data field.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Qualified validation list name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The qualified object name of the validation list in which to find the entry.
The first 10 characters specify the validation list name, and the second 10
characters specify the library.</p>
<p>You can use these special values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The current library is used to locate the
validation list. If there is no current library, QGPL (general purpose library)
is used.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list is used to locate the validation
list.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Entry ID information</strong></dt>
<dd>INPUT; CHAR(*)
<p>The format of the entry ID information is as follows. See <a href=
"#HDRSYFNVE5">Field Descriptions</a> for more information.</p>
</dd>
<dd>
<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%">Length of entry ID</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">CCSID of entry ID</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Entry ID</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Attribute information</strong></dt>
<dd>INPUT; CHAR(*)
<p>The format of the attribute information is as follows. See <a href=
"#HDRSYFNVE5">Field Descriptions</a> for more information.</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%">Number of attributes</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Attribute structures</td>
</tr>
</table>
<br>
<p>The format of the attribute structure is as follows. See <a href=
"#HDRSYFNVE5">Field Descriptions</a> for more information.</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%">Length of attribute entry</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">Attribute location</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">Attribute type</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">Displacement to attribute ID</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">Length of attribute ID</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">Bytes provided for attribute</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Attribute ID</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Return entry</strong></dt>
<dd>OUTPUT; CHAR(1724)
<p>The format of the return entry information is as follows. See <a href=
"#HDRSYFNVE5">Field Descriptions</a> for more information.</p>
</dd>
<dd>
<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%">Length of entry ID</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">CCSID of entry ID</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(100)</td>
<td align="left" valign="top">Entry ID</td>
</tr>
<tr>
<td align="center" valign="top">108</td>
<td align="center" valign="top">6C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of encrypted data</td>
</tr>
<tr>
<td align="center" valign="top">112</td>
<td align="center" valign="top">70</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">CCSID of encrypted data</td>
</tr>
<tr>
<td align="center" valign="top">116</td>
<td align="center" valign="top">74</td>
<td align="left" valign="top">CHAR(600)</td>
<td align="left" valign="top">Encrypted data</td>
</tr>
<tr>
<td align="center" valign="top">716</td>
<td align="center" valign="top">2CC</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of data</td>
</tr>
<tr>
<td align="center" valign="top">720</td>
<td align="center" valign="top">2D0</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">CCSID of data</td>
</tr>
<tr>
<td align="center" valign="top">724</td>
<td align="center" valign="top">2D4</td>
<td align="left" valign="top">CHAR(1000)</td>
<td align="left" valign="top">Data</td>
</tr>
<tr>
<td align="center" valign="top">1724</td>
<td align="center" valign="top">6BC</td>
<td align="left" valign="top">CHAR(20)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table><br><br>
</dd>
<dt><strong>Return attributes</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The format of the return attributes information is as follows. See <a href=
"#HDRSYFNVE5">Field Descriptions</a> for more information.</p>
</dd>
<dd>
<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%">Length of attribute entry</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">Bytes returned</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">Bytes available</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">Length of attribute</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">CCSID of attribute</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Attribute value</td>
</tr>
</table>
<br>
<p>The size of this buffer must be 24 bytes multiplied by the number of
attributes, plus the bytes provided in the buffer for each attribute. For
example, if you are requesting 2 attributes and providing 8 bytes for one
attribute and 5 bytes for the other attribute, you would need a 61-byte buffer.
If the buffer is not large enough, the results are unpredictable.</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="HDRSYFNVE5">Field Descriptions</a></h3>
<p><strong>Attribute ID.</strong> The ID of the attribute. For system-defined
attributes, the allowed values are:</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<th align="left" valign="top">String value</th>
<th align="left" valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top">QsyEncryptData</td>
<td align="left" valign="top">This is the attribute that is associated with the
data to encrypt.</td>
</tr>
<tr>
<td align="left" valign="top">QsyEntryUsage</td>
<td align="left" valign="top">This is the entry usage information
attribute.</td>
</tr>
<tr>
<td align="left" valign="top">QsyX509Cert</td>
<td align="left" valign="top">This is the X.509 certificate attribute for the
entry.</td>
</tr>
</table>
<p><strong>Attribute location.</strong> Where the attribute is stored. The
allowed value is:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The attribute is stored in the validation list
object.</td>
</tr>
</table>
<p><strong>Attribute structures.</strong> Zero or more attribute structures
that define the attributes that are associated with the entry.</p>
<p><strong>Attribute type.</strong> The type of attribute. The allowed value
follows:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">This is a system-defined attribute.</td>
</tr>
</table>
<p><strong>Attribute value.</strong> The value of the returned attribute. If
the attribute ID is QsyEncryptData or QsyX509Cert, the data will be in the form
of variable length character array. If the attribute ID is QsyEntryUsage, the
data will be in the form of Qsy_Rtn_Entry_Usage_Attr_T.</p>
<p>The format of the Qsy_Rtn_Entry_Usage_Attr_T structure is as follows. See <a
href="#HDRSYFNVE5">Field Descriptions</a> for more information.</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%">CHAR(8)</td>
<td align="left" valign="top" width="60%">Create date</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Last used date</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Encrypted data change date</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">Not valid verify count</td>
</tr>
</table>
<br>
<p><strong>Bytes available.</strong> The number of bytes of data that is
available to be returned to the user for the current attribute. If all data is
returned, bytes available is the same as the number of bytes returned. If the
bytes available is 16, then the specified attribute is not defined for this
entry.</p>
<p><strong>Bytes provided for attribute.</strong> The number of bytes provided
in the return attributes buffer for the attribute value. The minimum length is
0. If 0 is specified, the bytes available will indicate if the attribute exists
and how many bytes of data are needed to return the attribute.</p>
<p><strong>Bytes returned.</strong> The number of bytes of data that is
returned to the user for the current attribute. This is the lesser of the
number of bytes available to be returned and bytes provided for attribute plus
20.</p>
<p><strong>CCSID of attribute.</strong> An integer that represents the CCSID
for the attribute. Valid CCSID values are in the range 0 through 65535. This
value is the CCSID value that was specified when the attribute was added or
changed. If the value is 0, then no CCSID value was stored with the
attribute.</p>
<p><strong>CCSID of encrypted data.</strong> An integer that represents the
CCSID for the encrypted data.</p>
<p><strong>CCSID of data.</strong> An integer that represents the CCSID for the
data.</p>
<p><strong>CCSID of entry ID.</strong> An integer that represents the CCSID for
the entry ID. Valid CCSID values are in the range 0 through 65535. This field
is not used to find the entry. The value is returned in the return entry.</p>
<p><strong>Create date.</strong> The date the entry was added to the validation
list, in *DTS (date-time stamp) format.</p>
<p><strong>Data.</strong> The data that is stored in the validation list
entry.</p>
<p><strong>Displacement to attribute ID.</strong> The displacement in the
attribute entry to the start of the attribute ID.</p>
<p><strong>Encrypted data.</strong>
If the QsyEncryptData attribute for this entry is 1 and the QRETSVRSEC system
value is '1', then the encrypted data that is stored in the entry will be
decrypted and returned in this field. If the QsyEncryptData attribute is 0 or
the QRETSVRSEC system value is '0', then the encrypted data cannot be returned
and the contents of this field are unpredictable.</p>
<p><strong>Encrypted data change date.</strong> The date the encrypted data was
last changed, in *DTS (date-time stamp) format.</p>
<p><strong>Entry ID.</strong> The data that is used to find the entry in the
validation list.</p>
<p><strong>Last used date.</strong> The date of the last successful verify, in
*DTS (date-time stamp) format.</p>
<p><strong>Length of attribute.</strong> The length (in bytes) of the returned
attribute value. This value will be less than or equal to the bytes provided
for attribute.</p>
<p><strong>Length of attribute entry.</strong> The length (in bytes) of the
current entry. This length can be used to access the next entry, and must be a
multiple of 4.</p>
<p><strong>Length of attribute ID.</strong> The number of bytes of data in the
attribute ID. The length must be greater than 0.</p>
<p><strong>Length of data.</strong> The number of bytes of data that is stored
in this validation list entry. Possible values are 0 to 1000.</p>
<p><strong>Length of encrypted
data.</strong> The number of bytes of encrypted data that is stored in this
validation list entry. Possible values are 0 to 600. If the QsyEncryptData
attribute is 0 or the QRETSVRSEC system value is '0', then the length will
always be 0.</p>
<p><strong>Length of entry ID.</strong> The number of bytes of data that is
provided as the entry ID. Possible values are 1 through 100.</p>
<p><strong>Not valid verify count.</strong> The number of times that incorrect
encrypted data has been specified on a verify since the last successful
verify.</p>
<p><strong>Number of attributes.</strong> The number of attributes to be
returned. This value must be greater than or equal to 0. If the value is 0,
then no attributes will be returned.</p>
<p><strong>Reserved.</strong> This is an ignored field.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- 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">CPFA0AA E</td>
<td width="85%" valign="top">Error occurred while attempting to obtain
space.</td>
</tr>
<tr>
<td align="left" valign="top">CPF226B E</td>
<td align="left" valign="top">Validation list entry does not exist.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C36 E</td>
<td align="left" valign="top">Number of parameters, &amp;1, entered for this
API was not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 E</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9804 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
</table>
<br>
<hr>
API introduced: V4R2
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"sec.htm">Security APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>