<!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> Syntax <pre> #include <as400_protos.h> unsigned long long _ILELOADX(const void *id, unsigned int flags); int _ILELOAD(const void *id, unsigned int flags); </pre> <br> Default Public Authority: *USE<br> <!-- iddvc RMBR --> <br> Library: Standard C Library (libc.a)<br> <!-- iddvc RMBR --> <br> 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>