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

358 lines
10 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Get String Information (CEEGSI) 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. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- ILE7A SCRIPT A converted by B2H R4.1 (346) (CMS) by NLJONES at -->
<!-- RCHVMX on 25 Feb 1999 at 15:12:34 -->
<!--Edited by Kersten Oct 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>
<a name="Top_Of_Page"></a>
<h2>Get String Information (CEEGSI) API</h2>
<div class="box" style="width: 65%;">
<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="30%">posn</td>
<td align="left" valign="top" width="30%">Input</td>
<td align="left" valign="top" width="30%">INT4</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">datatype</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">INT4</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">currlen</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">INT4</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">maxlen</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">INT4</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Omissible Parameter:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">5</td>
<td align="left" valign="top" width="30%">fc</td>
<td align="left" valign="top" width="30%">Output</td>
<td align="left" valign="top" width="30%">FEEDBACK</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Service Program Name: QLEAWI<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 Get String Information (CEEGSI) API retrieves string information about a
parameter used in the call to this API. String information describes the
elements of a parameter, such as the type and the length of the string.</p>
<!-- Please NOTE: DO NOT DELETE THIS SECTION if this API has no authorities and locks. -->
<!-- Instead, use the commented out coding below to indicate NONE. -->
<h3>Authorities and Locks</h3>
<!-- Use this if there are no authorities and locks. -->
<p>None.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>posn (input)</strong></dt>
<dd>The ordinal position in the parameter list of the formal parameter whose
operational descriptor is required. A value of 1 denotes the leftmost
parameter.<br>
<br>
</dd>
<dt><strong>datatype (output)</strong></dt>
<dd>The binary value of the data type field. The possible values and their data
types are:
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">(typeEsc) An element descriptor type (descElmt)
that is not one of the following data types.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">(typeChar) A string of SBCS characters with
values in the range X'00' through X'FF'.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">(typeCharZ) A string of SBCS characters with
values in the range X'01' through X'FF' that ends with a null byte
(X'00').</td>
</tr>
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">(typeCharV2) A string of SBCS characters prefixed
by an unsigned 2-byte binary count field. The count field specifies the current
length of the string in terms of the number of string elements, that is, the
number of characters.</td>
</tr>
<tr>
<td align="left" valign="top"><em>5</em></td>
<td align="left" valign="top">(typeCharV4) A string of SBCS characters prefixed
by an unsigned 4-byte binary count field. The count field specifies the current
length of the string in terms of the number of string elements, that is, the
number of characters.</td>
</tr>
<tr>
<td align="left" valign="top"><em>6</em></td>
<td align="left" valign="top">(typeBit) A string of bits with values of 0 or
1.</td>
</tr>
<tr>
<td align="left" valign="top"><em>7</em></td>
<td align="left" valign="top">(typeBitV2) A string of bits prefixed by an
unsigned 2-byte binary count field. The count field specifies the current
length of the string in terms of the number of string elements, that is, the
number of bits.</td>
</tr>
<tr>
<td align="left" valign="top"><em>8</em></td>
<td align="left" valign="top">(typeBitV4) A string of bits prefixed by an
unsigned 4-byte binary count field. The count field specifies the current
length of the string in terms of the number of string elements, that is, the
number of bits.</td>
</tr>
<tr>
<td align="left" valign="top"><em>9</em></td>
<td align="left" valign="top">(typeGChar) A string of DBCS characters with
values in the range X'0000' through X'FFFF'.</td>
</tr>
<tr>
<td align="left" valign="top"><em>10</em></td>
<td align="left" valign="top">(typeGCharZ) A string of DBCS characters with
values in the range X'0001' through X'FFFF' that end with a null byte
(X'0000').</td>
</tr>
<tr>
<td align="left" valign="top"><em>11</em></td>
<td align="left" valign="top">(typeGCharV2) A string of DBCS characters
prefixed by an unsigned 2-byte binary count field. The count field specifies
the current length of the string in terms of the number of string elements,
that is, the number of characters.</td>
</tr>
<tr>
<td align="left" valign="top"><em>12</em></td>
<td align="left" valign="top">(typeGCharV4) A string of DBCS characters
prefixed by an unsigned 4-byte binary count field. The count field specifies
the current length of the string in terms of the number of string elements,
that is, the number of characters.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>currlen (output)</strong></dt>
<dd>A binary number containing the current number of elements in the string, as
follows:
<ul>
<li>For strings of typeEsc, this is the length from the descriptor, and is
equal to the maximum length returned in <em>maxlen</em>.</li>
<li>For strings of typeCharV2 and typeCharV4, this is the length from the
argument (binary prefix) itself.</li>
<li>For strings of typeCharZ, the API determines the current length (in number
of characters, either SBCS or DBCS) of the string by scanning for the null
character. If the length in the descriptor is nonzero (the compiler of the
caller knew the extent), the search is confined to that length. Otherwise, the
scan continues until a null character is found.</li>
<li>If the data type was undefined, the contents of this field are
undefined.</li>
</ul>
<br>
</dd>
<dt><strong>maxlen (output)</strong></dt>
<dd>A binary number containing the maximum number of string elements, as
follows:
<ul>
<li>For strings of typeEsc, this is the length from the descriptor, and is
equal to the current length returned in <em>currlen</em>.</li>
<li>For strings of typeCharV2 and typeCharV4, this is the length from the
descriptor (which does not include the length of the prefix).</li>
<li>For strings of typeCharZ, the maximum length is the number of the
characters excluding the null character. It is the maximum length from the
descriptor minus 1 (to account for the SBCS or DBCS null character). If the
length in the descriptor is zero, the maximum length is set equal to the
current length.</li>
<li>If the data type was undefined, the contents of this field are
undefined.</li>
</ul>
<br>
</dd>
</dl>
<br>
<h3>Omissible Parameter</h3>
<dl>
<dt><strong>fc (output)</strong></dt>
<dd>A 12-byte feedback code.</dd>
</dl>
<br>
<h3>Feedback Codes and Conditions</h3>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">CEE0000</td>
<td align="left" valign="top">The API completed successfully</td>
</tr>
<tr>
<td align="left" valign="top">Severity: 00</td>
<td align="left" valign="top">&nbsp;</td>
</tr>
<tr>
<td align="left" valign="top">CEE0501</td>
<td align="left" valign="top">The operational descriptor data type is not
valid</td>
</tr>
<tr>
<td align="left" valign="top">Severity: 30</td>
<td align="left" valign="top">&nbsp;</td>
</tr>
<tr>
<td align="left" valign="top">CEE0502</td>
<td align="left" valign="top">Missing operational descriptor</td>
</tr>
<tr>
<td align="left" valign="top">Severity: 30</td>
<td align="left" valign="top">&nbsp;</td>
</tr>
<tr>
<td align="left" valign="top">CEE0505</td>
<td align="left" valign="top">A NULL-terminated string is not found</td>
</tr>
<tr>
<td align="left" valign="top">Severity: 10</td>
<td align="left" valign="top">&nbsp;</td>
</tr>
</table>
<br>
<h3>Usage Notes</h3>
<ul>
<li>It is an error to use CEEGSI to test an argument that is not a reference
argument or that is preceded in the argument list by other arguments that are
not reference arguments.
<p><strong>Note:</strong> This error may not be diagnosed.</p>
</li>
<li>The results are undefined if this API is used in a function that does not
have operational descriptors specified.</li>
<li>CEEGSI is implemented as a builtin and therefore cannot have its address
taken or be called through a procedure pointer.</li>
</ul>
<br>
<hr>
API introduced: V2R3
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"ile1a1.htm">ILE CEE APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>