668 lines
13 KiB
HTML
668 lines
13 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>Data Type Definitions of ILE CEE APIs</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 -->
|
|
<!-- ILE1A SCRIPT A converted by B2H R4.1 (346) (CMS) by NLJONES at -->
|
|
<!-- RCHVMX on 25 Feb 1999 at 10:33:07 -->
|
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
|
</head>
|
|
<body>
|
|
<!--End Header Records --><!-- Java sync-link -->
|
|
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
|
|
</script>
|
|
|
|
<a name="top_Of_Page"></a>
|
|
|
|
<h2>Data Type Definitions of ILE CEE APIs</h2>
|
|
|
|
<p>The data types that are used in the parameter tables for each ILE CEE API
|
|
are defined in <a href="#TBLDTDEF">Data Type Definitions across ILE
|
|
Languages</a>. The information in the ILE RPG column assumes RPG
|
|
D-Specification coding.</p>
|
|
|
|
<p><strong><a name="TBLDTDEF">Data Type Definitions across ILE
|
|
Languages</a></strong></p>
|
|
|
|
<table border>
|
|
<tr>
|
|
<th align="left" valign="top">Data Type</th>
|
|
<th align="left" valign="top">Description</th>
|
|
<th align="left" valign="top">ILE C</th>
|
|
<th align="left" valign="top">ILE COBOL</th>
|
|
<th align="left" valign="top">ILE RPG</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top" width="11%">CHAR</td>
|
|
<td align="left" valign="top" width="14%">A 1-byte unsigned character</td>
|
|
<td align="left" valign="top" width="25%">typedef unsigned char _CHAR;<br>
|
|
</td>
|
|
<td align="left" valign="top" width="18%">PIC X</td>
|
|
<td align="left" valign="top" width="22%">
|
|
<pre>
|
|
blank or A in data type
|
|
column
|
|
To/L of 1
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">UCHAR</td>
|
|
<td align="left" valign="top">A 1-byte unsigned character</td>
|
|
<td align="left" valign="top">typedef unsigned char _UCHAR;<br>
|
|
</td>
|
|
<td align="left" valign="top">PIC X</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
blank or A in data type
|
|
column
|
|
To/L of 1
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">SCHAR</td>
|
|
<td align="left" valign="top">A 1-byte signed character</td>
|
|
<td align="left" valign="top">typedef signed char _SCHAR;<br>
|
|
</td>
|
|
<td align="left" valign="top">PIC X</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
blank or A in data type
|
|
column
|
|
To/L of 1
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">INT2</td>
|
|
<td align="left" valign="top">A 2-byte signed integer</td>
|
|
<td align="left" valign="top">typedef signed short _INT2;<br>
|
|
</td>
|
|
<td align="left" valign="top">PIC S9(4) BINARY</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
I in data type column
|
|
To/L of 5
|
|
decimal positions = 0
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">UINT2</td>
|
|
<td align="left" valign="top">A 2-byte unsigned integer</td>
|
|
<td align="left" valign="top">typedef unsigned short _UINT2;<br>
|
|
</td>
|
|
<td align="left" valign="top">PIC 9(4) BINARY</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
U in data type column
|
|
To/L of 5
|
|
decimal positions = 0
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">INT4</td>
|
|
<td align="left" valign="top">A 4-byte signed integer</td>
|
|
<td align="left" valign="top">typedef signed int _INT4;<br>
|
|
</td>
|
|
<td align="left" valign="top">PIC S9(9) BINARY</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
I in data type column
|
|
To/L of 10
|
|
decimal positions = 0
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">UINT4</td>
|
|
<td align="left" valign="top">A 4-byte unsigned integer</td>
|
|
<td align="left" valign="top">typedef unsigned int _UINT4;<br>
|
|
</td>
|
|
<td align="left" valign="top">PIC 9(9) BINARY</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
U in data type column
|
|
To/L of 10
|
|
decimal positions = 0
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">FLOAT4</td>
|
|
<td align="left" valign="top">A 4-byte single-precision floating-point
|
|
number</td>
|
|
<td align="left" valign="top">typedef float _FLOAT4;<br>
|
|
</td>
|
|
<td align="left" valign="top">COMP-1</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
F in data type column
|
|
To/L of 4
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">FLOAT8</td>
|
|
<td align="left" valign="top">An 8-byte double-precision floating-point
|
|
number</td>
|
|
<td align="left" valign="top">typedef double _FLOAT8;<br>
|
|
</td>
|
|
<td align="left" valign="top">COMP-2</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
F in data type column
|
|
To/L of 8
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">COMPLEX8</td>
|
|
<td align="left" valign="top">An 8-byte complex number, whose real and
|
|
imaginary parts are each 4-byte single-precision floating-point numbers. Used
|
|
only by ILE math routines.</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef struct {
|
|
float real,
|
|
imaginary;
|
|
} _COMPLEX8;
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
01 complex8
|
|
02 real comp-1
|
|
02 imag comp-1
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
Name To/L
|
|
Entry Entry
|
|
complex8 DS
|
|
real 4F
|
|
imaginary 4F
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">COMPLEX16</td>
|
|
<td align="left" valign="top">A 16-byte complex number whose real and imaginary
|
|
parts are each 8-byte double-precision floating-point numbers. Used only by ILE
|
|
math routines.</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef struct {
|
|
double real,
|
|
imaginary;
|
|
} _COMPLEX16;
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
01 complex16
|
|
02 real comp-2
|
|
02 imag comp-2
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
Name To/L
|
|
Entry Entry
|
|
complex16 DS
|
|
real 8F
|
|
imaginary 8F
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BITS</td>
|
|
<td align="left" valign="top">A set of adjacent bits within a single storage
|
|
unit. The notation is <samp>_BITS: x</samp>, where x is the field width in bits.
|
|
(BITS may also be used to define unsigned integers.)</td>
|
|
<td align="left" valign="top">typedef unsigned int _BITS;<br>
|
|
</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">POINTER</td>
|
|
<td align="left" valign="top">A platform-dependent address pointer</td>
|
|
<td align="left" valign="top">typedef void * _POINTER;<br>
|
|
</td>
|
|
<td align="left" valign="top">USAGE IS POINTER</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
* in data type column
|
|
procedure pointer =
|
|
ProcPtr
|
|
basing pointer is the
|
|
default if ProcPtr is
|
|
not defined in
|
|
the keyword section.
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">INVPTR</td>
|
|
<td align="left" valign="top">An invocation pointer</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef void * _INVPTR;
|
|
#pragma pointer (_INVPTR,
|
|
INVPTR)
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">LBLPTR</td>
|
|
<td align="left" valign="top">A label pointer</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef void * _LBLPTR;
|
|
#pragma pointer (_LBLPTR,
|
|
LBLPTR)
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR<em>n</em></td>
|
|
<td align="left" valign="top">A string (character array) of length n</td>
|
|
<td align="left" valign="top">typedef char[n] _CHAR[n];</td>
|
|
<td align="left" valign="top">PIC X(n)</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
blank or A in data type
|
|
column
|
|
To/L >= 1
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">VFLOAT</td>
|
|
<td align="left" valign="top">An ILE variable-length floating-point number used
|
|
for polymorphic parameter declarations. The length may be any one of 4, 8, or
|
|
16 bytes corresponding to single, double, and extended precision.</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef union {
|
|
float TypeFloat4;
|
|
double TypeFloat8;
|
|
long double TypeFloat16;
|
|
} _VFLOAT;
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">VSTRING</td>
|
|
<td align="left" valign="top">An ILE string of arbitrary length used for
|
|
polymorphic string parameter declarations. The string may be any one of a
|
|
fixed-length string, a null-terminated varying string (known as an "ASCIIZ") or
|
|
a length-prefixed string.<br>
|
|
</td>
|
|
<td align="left" valign="top">(See note 1)
|
|
|
|
<pre>
|
|
typedef union {
|
|
struct {
|
|
_INT2 length;
|
|
_CHAR255 string;
|
|
} l2pstring;
|
|
struct {
|
|
_INT4 length;
|
|
_CHAR255 string;
|
|
} l4pstring;
|
|
_CHAR1 stringz;
|
|
} _VSTRING;
|
|
</pre>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
01 string4
|
|
02 len pic 9(9)
|
|
binary
|
|
02 txt pic x(n)
|
|
01 string2
|
|
REDEFINES string4
|
|
02 len pic 9(4)
|
|
binary
|
|
02 txt pic x(n)
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
Name To/L
|
|
Entry Entry
|
|
vstring DS
|
|
len 1 2I 0
|
|
txt 3 n
|
|
len2 1 4I 0
|
|
txt2 5 n
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">FEEDBACK</td>
|
|
<td align="left" valign="top">A mapping of the feedback (condition) token
|
|
(fc)</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef volatile struct {
|
|
_UINT2 MsgSev;
|
|
_UINT2 MsgNo;
|
|
_BITS Case :2;
|
|
_BITS Severity :3;
|
|
_BITS Control :3;
|
|
_CHAR Facility_ID[3];
|
|
_UINT4 I_S_Info;
|
|
} _FEEDBACK;
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
01 fc
|
|
02 sev pic 9(4)
|
|
binary
|
|
02 msgno pic 9(4)
|
|
binary
|
|
02 flgs pic x(1)
|
|
02 facid pic x(3)
|
|
02 isi pic 9(9)
|
|
binary
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
Name To/L
|
|
Entry Entry
|
|
fc DS
|
|
sev 5U
|
|
msgno 5U
|
|
flags 1
|
|
facid 3
|
|
isi 10U
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CEE-ENTRY</td>
|
|
<td align="left" valign="top">A generic entry constant</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
struct {
|
|
_POINTER address;
|
|
_POINTER nesting;
|
|
}
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
01 STRUC-NAME.
|
|
05 STRUC-ADDRESS
|
|
POINTER.
|
|
05 STRUC-NESTING
|
|
POINTER.
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
DCEE_ENTRY DS
|
|
D Address_Ptr * ProcPtr
|
|
D Nesting_Ptr * ProcPtr
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">HDLR_ ENTRY</td>
|
|
<td align="left" valign="top">A procedure pointer used on the CEEHDLR and
|
|
CEEHDLU APIs.</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef void (*_HDLR_ENTRY)
|
|
( _FEEDBACK *,
|
|
_POINTER *,
|
|
_INT4 *,
|
|
_FEEDBACK * );
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
77 HDLR_ENTRY
|
|
PROCEDURE-
|
|
POINTER
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
DHDLR_ENTRY * ProcPtr
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">RTX_ENTRY</td>
|
|
<td align="left" valign="top">A procedure pointer used on the CEERTX and CEEUTX
|
|
APIs.</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef void (*_RTX_ENTRY)
|
|
( _POINTER *);
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
77 RTX_ENTRY
|
|
PROCEDURE-
|
|
POINTER
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
DRTX_ENTRY * ProcPtr
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">RAGE_ ENTRY</td>
|
|
<td align="left" valign="top">A procedure pointer used on the CEE4RAGE
|
|
API.</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef void (*_RAGE_ENTRY)
|
|
( _UINT4 *,
|
|
_UINT4 *,
|
|
_UINT4 *,
|
|
_UINT4 * );
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
77 RAGE_ENTRY
|
|
PROCEDURE-
|
|
POINTER
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
DRAGE_ENTRY * ProcPtr
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CEELABEL</td>
|
|
<td align="left" valign="top">A target label to a code point within a call
|
|
stack entry.</td>
|
|
<td align="left" valign="top">
|
|
<pre>
|
|
typedef volatile struct {
|
|
_INVPTR invocation;
|
|
_LBLPTR label;
|
|
} _CEELABEL;
|
|
</pre>
|
|
|
|
<br>
|
|
</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
<td align="left" valign="top">Not applicable</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top" colspan="5"><strong>Note:</strong>
|
|
|
|
<table cellpadding="3">
|
|
<tr>
|
|
<td align="left" valign="top">1</td>
|
|
<td align="left" valign="top">The typedef for VSTRING is only an indication of
|
|
the variable string. For ILE C purposes this should be coded as <em>char
|
|
*</em>.</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>Strong alignment is assumed in all data structures. Each item is aligned on
|
|
the proper boundary for its type, with padding if necessary.</p>
|
|
|
|
<p>For more information about using ILE CEE APIs, see the following
|
|
sections:</p>
|
|
|
|
<ul>
|
|
<li><a href="ile1a2.htm">ILE CEE API Calling and Naming
|
|
Conventions</a> </li>
|
|
|
|
<li><a href="ile1a5.htm">Omitting Parameters in ILE CEE</a></li>
|
|
|
|
<li><a href="ile1a6.htm">i5/OS Messages and the ILE CEE API Feedback
|
|
Code</a></li>
|
|
</ul>
|
|
|
|
<br>
|
|
<hr>
|
|
<br>
|
|
<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>
|
|
|