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

148 lines
5.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>Qp2setenv_ile()--Set ILE environment variables 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 -->
<!-- Created by V2DCIJB on 23 Nov 1999 -->
<!-- Edited by Kersten Jan 02 -->
<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>Qp2setenv_ile()--Set ILE environment variables for i5/OS PASE</h2>
<div class="box" style="width: 70%;">
<br>
<br>
&nbsp;&nbsp;Syntax
<pre>
#include &lt;as400_protos.h&gt;
int Qp2setenv_ile(const char *const *<em>env</em>,
const char *<em>conflict</em>);
</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>
<br>
<p><strong>Note:</strong> This function 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>Qp2setenv_ile()</strong> function sets one or more ILE environment variables, with special support to resolve conflicts between ILE and i5/OS PASE variables that have the same name but require different values.</p>
<br>
<h3>Parameters</h3>
<dl>
<dt><strong>env</strong></dt>
<dd>(Input) Address of a list of pointers to null-terminated character strings that specify ILE environment variables to set. Each character string should have the form "NAME=value", where NAME is the environment variable name. The first null pointer indicates the end of the list. ILE environment variables are stored in EBCDIC, so the system converts the character strings from the (ASCII) i5/OS PASE CCSID to the job default CCSID.<br>
<br>
</dd>
<dt><strong>conflict</strong></dt>
<dd>(Input) Pointer to a character string that specifies a colon-delimited list of environment variable names that have conflicting use between i5/OS PASE and ILE. If <em>conflict</em> is a null pointer, the system uses a default string of "SHELL:PATH:LANG:NLSPATH".</dd>
</dl>
<br>
<h3>Authorities</h3>
<p>None</p>
<br>
<h3>Return Value</h3>
<p>The function result is zero for normal completion. A result of -1 indicates an error that is further qualified by an errno value.</p>
<br>
<h3>Error Conditions</h3>
<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>[EINVAL]</em></td>
<td align="left" valign="top">Input arguments were changed during processing in a way that does not allow the function to complete normally.</td>
</tr>
<tr>
<td align="left" valign="top"><em>[ENOMEM]</em></td>
<td align="left" valign="top">Insufficient i5/OS PASE heap memory is available to complete the request.</td>
</tr>
</table>
<br>
<br>
<h3>Usage Notes</h3>
<ol>
<li><strong>Qp2setenv_ILE</strong> sets an ILE environment variable with the same name as the value specified in the <em>env</em> string in most cases, but the system adds a prefix "PASE_" to the name of the ILE version of some environment variables. The <em>conflict</em> argument controls what variables add the name prefix, which lets you pass the current i5/OS PASE environment (runtime variable <em>environ</em>) to <strong>Qp2setenv_ile</strong> without removing or changing variables that have conflicting use between i5/OS PASE and ILE. You can specify the address of a null string for the <em>conflict</em> argument to avoid any conflict-resolution processing.
<br></li>
<li>Any i5/OS PASE environment variable name with a prefix "ILE_" is copied to the ILE environment twice. The first copy uses the same variable name, and the second copy uses the name without the prefix. For example, if the i5/OS PASE environment contains a variable named ILE_PATH, the value of this variable is used to set both ILE_PATH and PATH in the ILE environment. This lets you store ILE environment variable values in the i5/OS PASE environment without conflict.</li>
</ol>
<br>
<h3>Related Information</h3>
<ul>
<li><a href="pase__pgmcall.htm">_PGMCALL()--Call an i5/OS Program for i5/OS PASE</a></li>
<li><a href="pase_systemcl.htm">systemCL()--Run a CL Command for i5/OS PASE</a></li>
</ul>
<br>
<hr>
API introduced: V5R3
<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>