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

259 lines
7.3 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>_ILELOADX()--Load an ILE Bound Program for i5/OS PASE</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 -->
<!--Edited by Kersten Jan 2002 -->
<!-- Created by V2DCIJB on 23 Nov 1999 -->
<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>_ILELOADX()--Load an ILE Bound Program for i5/OS PASE</h2>
<div class="box" style="width:70%;">
<br>
&nbsp;&nbsp;Syntax
<pre>
#include &lt;as400_protos.h&gt;
unsigned long long _ILELOADX(const void *id,
unsigned int flags);
int _ILELOAD(const void *id,
unsigned int flags);
</pre>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Library: Standard C Library (libc.a)<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p><strong>Note:</strong> These functions can only be used in an i5/OS PASE
program. See <a href="../rzalf/rzalfintro.htm">i5/OS PASE</a> for more
information about creating i5/OS PASE programs.</p>
<p>The <strong>_ILELOADX()</strong> and <strong>_ILELOAD()</strong> functions load a bound program into the ILE
activation group associated with the procedure that started i5/OS PASE (either
the activation group that called the Qp2RunPase API, or the default activation
group for a job running program QP2FORK).</p>
<br>
<h3>Parameters</h3>
<dl>
<dt><strong>id</strong></dt>
<dd>(Input) Pointer to the identification of the bound program.id is either the
address of a null-terminated character string in the i5/OS PASE CCSID that
names the program, or the address of a system pointer to the program, depending
on the value of the flags argument.</dd>
<dt><strong>flags</strong></dt>
<dd>(Input) Specifies options to control how the bound program is found and
activated. The flags argument is a bitwise logical-or of one or more of the
following values:<br>
<br>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td valign="top"><em>ILELOAD_PATH<br>
(0x00000000)</em> </td>
<td valign="top">Specifies that the id argument is the address of a string that
contains an absolute or relative path in the Integrated File System to a
program or service program object. Alphabetic case is either ignored or honored
depending on the attributes of the File System that contains the path.
ILELOAD_PATH, ILELOAD_LIBOBJ, and ILELOAD_PGMPTR are mutually exclusive.</td>
</tr>
<tr>
<td valign="top"><em>ILELOAD_LIBOBJ<br>
(0x00000001)</em> </td>
<td valign="top">Specifies that the id argument is the address of a string that
contains a qualified library/object name of a service program (where omitting
the library name implies resolving to the object through the job library list).
Alphabetic case is honored when searching for a library/object name (so the
string should be all uppercase). ILELOAD_PATH, ILELOAD_LIBOBJ, and
ILELOAD_PGMPTR are mutually exclusive.</td>
</tr>
<tr>
<td valign="top"><em>ILELOAD_PGMPTR<br>
(0x00000002)</em> </td>
<td valign="top"> Specifies that
the id argument is the address of a system pointer to the bound program (object
type *SRVPGM or *PGM) to load. ILELOAD_PATH, ILELOAD_LIBOBJ, and ILELOAD_PGMPTR
are mutually exclusive. </td>
</tr>
</table>
</dd>
</dl>
<br>
<br>
<h3>Authorities</h3>
<p><strong>_ILELOADX</strong> and <strong>_ILELOAD</strong> call the ILE <strong>QleActBndPgmLong</strong> API to activate the bound program. See <a href="qleactbpl.htm">QleActBndPgmLong()--Activate
Bound Program Long</a> for information about authorities required to use
<strong>_ILELOADX</strong> and <strong>_ILELOAD</strong>.</p>
<br>
<h3>Return Value</h3>
<p>A function result of -1 indicates an error that is further qualified by an
errno value. If the bound program was successfully activated (including the
case where it was already activated before _ILELOADX or _ILELOAD ran), the function result
is an activation mark that uniquely identifies the activation within the
process. 64-bit ILE activation mark values can only be returned using _ILELOADX.</p>
<br>
<h3>Error Conditions</h3>
<p>Memory errors and errors while activating the bound program may be reported
with an i5/OS exception message that the system converts to an i5/OS PASE
signal (not return code and errno values). See <a href=
"pase_signals.htm">i5/OS PASE Signal Handling</a> for information about
handling i5/OS exceptions.</p>
<p>At least these errno values can be returned, with other values also possible
(such as i5/OS-unique ILE errno EAPAR):</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td align="left" valign="top"><em>[EACCES]</em></td>
<td align="left" valign="top">Not authorized to a library or directory needed
to resolve the id.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>[EBUSY]</em></td>
<td align="left" valign="top">A library or directory needed to resolve the
specified id is currently in use (locked).<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>[EFAULT]</em></td>
<td align="left" valign="top">A memory fault occurred attempting to reference
the id.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>[EINVAL]</em></td>
<td align="left" valign="top">An invalid argument value was specified.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>[EINTER]</em></td>
<td align="left" valign="top">An signal interrupted the operation.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>[ENAMETOOLONG]</em></td>
<td align="left" valign="top">Some component of the specified id is too long,
or the entire id exceeds the system limit.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>[ENOENT]</em></td>
<td align="left" valign="top">No file/object was found for the specified
id.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>[ENOTDIR]</em></td>
<td align="left" valign="top">A qualifier part of the id is not a
directory.<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>[ELOOP]</em></td>
<td align="left" valign="top">Too many levels of symbolic links.</td>
</tr>
</table>
<br>
<br>
<h3>Related Information</h3>
<ul>
<li><a href="pase__ilecall.htm">_ILECALLX()--Call an ILE Procedure for i5/OS
PASE</a></li>
<li><a href="pase__ilesym.htm">_ILESYMX()--Find an Exported ILE Symbol for
i5/OS PASE</a></li>
<li><a href=
"pase__rslobj.htm">_RSLOBJ()--Resolve to an i5/OS Object for i5/OS
PASE</a></li>
</ul>
<br>
<hr>
API introduced: V4R5
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"pase1.htm">i5/OS PASE APIs</a> | <a href="aplist.htm">APIs by category</a>
</td>
</tr>
</table>
</center>
</body>
</html>