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

186 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>_SETCCSID()--Set i5/OS PASE CCSID</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 -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<a name="Top_Of_Page"></a>
<h2>_SETCCSID()--Set i5/OS PASE CCSID</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Syntax
<pre>
#include &lt;as400_protos.h&gt;
int _SETCCSID(int <em>ccsid</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: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<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 _SETCCSID() function returns the previous value of the i5/OS PASE Coded
Character Set Identifier (CCSID) and optionally sets a new i5/OS PASE
CCSID.</p>
<br>
<h3>Parameters</h3>
<dl>
<dt><strong>ccsid</strong></dt>
<dd>(Input) Specifies the new i5/OS PASE CCSID value, or -1 to retrieve the
current i5/OS PASE CCSID without changing it. An i5/OS PASE CCSID must be
either a single-byte ASCII encoding that the ILE version of
<strong>iconv</strong> can convert to and from the job default CCSID, or 1208
for UTF-8 encoding.</dd>
</dl>
<br>
<h3>Authorities</h3>
<p><strong>_SETCCSID</strong> requires no authority.</p>
<br>
<h3>Return Value</h3>
<p><strong>_SETCCSID</strong> returns either the original i5/OS PASE CCSID
(before it was changed), or -1 if an error occurred and the i5/OS PASE CCSID
was left unchanged.</p>
<br>
<h3>Error Conditions</h3>
<p>The only error condition that causes a function result of -1 is that the new
<em>ccsid</em> cannot be converted to or from the i5/OS job default CCSID.</p>
<br>
<h3>Usage Notes</h3>
<ol>
<li>The initial i5/OS PASE CCSID value is specified as a parameter on the
Qp2RunPase API. The i5/OS PASE CCSID has two primary uses:<br>
<br>
<ul>
<li>It is used to set the the CCSID attribute of any bytestream file created in
the Integrate File System by an i5/OS PASE program.<br>
<br>
</li>
<li>It is used by i5/OS PASE runtime functions to convert character arguments
and results between the i5/OS PASE CCSID and whatever encoding is required by
the i5/OS service used to implement the function.<br>
</li>
</ul>
<br>
</li>
<li>The i5/OS PASE CCSID should generally be the CCSID equivalent of the code
set for the current locale. See <a href="pase_locales.htm">i5/OS PASE
Locales</a> to determine what locales are supported by i5/OS PASE.<br>
<br>
</li>
<li>Character arguments and results for i5/OS PASE runtime functions that use
i5/OS services are almost always automatically converted using the i5/OS PASE
CCSID. For example, the name of a bytestream file passed to the i5/OS PASE
open function is converted from the i5/OS PASE CCSID to the internal encoding
required by the i5/OS Integrated File System.<br>
<br>
</li>
<li>Any data an i5/OS PASE program writes to or reads from a file descriptor
for an open bytestream file, socket, FIFO, or pipe is generally <em>not</em>
converted. The only exception is for the initial file descriptors 0, 1, and 2
provided when the Qp2RunPase API is called to start an i5/OS PASE program,
which default to converting file data between the i5/OS PASE CCSID and the job
default CCSID (see <a href="qp2runpase.htm">Run an i5/OS PASE Program</a>
(Qp2RunPase) for more information).<br>
<br>
</li>
<li>Other than special support for file descriptors 0, 1, and 2, i5/OS PASE
runtime does no CCSID conversion of file data. This differs from ILE runtime,
which does CCSID conversion between the file CCSID and job default CCSID for
any file opened in text mode. i5/OS PASE runtime sets the CCSID attribute of
any file it creates to the i5/OS PASE CCSID, so an ILE program that uses text
mode to open an ASCII file created by an i5/OS PASE program can read and write
EBCDIC data.<br>
<br>
</li>
<li>The i5/OS PASE runtime functions cstoccsid and ccsidtocs convert between
AIX Character Set names and CCSID values.</li>
</ol>
<br>
<h3>Related Information</h3>
<ul>
<li><a href="qp2runpase.htm">Qp2RunPase()</a>--Run an i5/OS PASE Program</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>