File: //opt/alt/alt-nodejs20/root/usr/share/doc/alt-nodejs20-libicu-doc/putil_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 78.3: common/unicode/putil.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ICU 78.3
 <span id="projectnumber">78.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_f59c6450ff718ff1b085cfd1c36acbd7.html">unicode</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">putil.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>C API: Platform Utilities.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "<a class="el" href="utypes_8h_source.html">unicode/utypes.h</a>"</code><br />
</div>
<p><a href="putil_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a4d41826cae0108d7ce4c480c733631c0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a4d41826cae0108d7ce4c480c733631c0">U_FILE_SEP_CHAR</a>   '/'</td></tr>
<tr class="memdesc:a4d41826cae0108d7ce4c480c733631c0"><td class="mdescLeft"> </td><td class="mdescRight">Filesystem file and path separator characters. <a href="#a4d41826cae0108d7ce4c480c733631c0">More...</a><br /></td></tr>
<tr class="separator:a4d41826cae0108d7ce4c480c733631c0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a86281839c42e8f044313eed5f1417d5a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a86281839c42e8f044313eed5f1417d5a">U_FILE_ALT_SEP_CHAR</a>   '/'</td></tr>
<tr class="memdesc:a86281839c42e8f044313eed5f1417d5a"><td class="mdescLeft"> </td><td class="mdescRight">Filesystem file and path separator characters. <a href="#a86281839c42e8f044313eed5f1417d5a">More...</a><br /></td></tr>
<tr class="separator:a86281839c42e8f044313eed5f1417d5a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5e053f4748f1e82d84c3bac48b3ccb10"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a5e053f4748f1e82d84c3bac48b3ccb10">U_PATH_SEP_CHAR</a>   ':'</td></tr>
<tr class="memdesc:a5e053f4748f1e82d84c3bac48b3ccb10"><td class="mdescLeft"> </td><td class="mdescRight">Filesystem file and path separator characters. <a href="#a5e053f4748f1e82d84c3bac48b3ccb10">More...</a><br /></td></tr>
<tr class="separator:a5e053f4748f1e82d84c3bac48b3ccb10"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a957d91eea919db7dd317dbaddd4ba090"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a957d91eea919db7dd317dbaddd4ba090">U_FILE_SEP_STRING</a>   "/"</td></tr>
<tr class="memdesc:a957d91eea919db7dd317dbaddd4ba090"><td class="mdescLeft"> </td><td class="mdescRight">Filesystem file and path separator characters. <a href="#a957d91eea919db7dd317dbaddd4ba090">More...</a><br /></td></tr>
<tr class="separator:a957d91eea919db7dd317dbaddd4ba090"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aea13f8d98aa39d79cfcf3b9007879139"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#aea13f8d98aa39d79cfcf3b9007879139">U_FILE_ALT_SEP_STRING</a>   "/"</td></tr>
<tr class="memdesc:aea13f8d98aa39d79cfcf3b9007879139"><td class="mdescLeft"> </td><td class="mdescRight">Filesystem file and path separator characters. <a href="#aea13f8d98aa39d79cfcf3b9007879139">More...</a><br /></td></tr>
<tr class="separator:aea13f8d98aa39d79cfcf3b9007879139"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a91afb504ca1d147907144a873fabb3f9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a91afb504ca1d147907144a873fabb3f9">U_PATH_SEP_STRING</a>   ":"</td></tr>
<tr class="memdesc:a91afb504ca1d147907144a873fabb3f9"><td class="mdescLeft"> </td><td class="mdescRight">Filesystem file and path separator characters. <a href="#a91afb504ca1d147907144a873fabb3f9">More...</a><br /></td></tr>
<tr class="separator:a91afb504ca1d147907144a873fabb3f9"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:af6a3529729ba576d2e152b77811ea5ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#af6a3529729ba576d2e152b77811ea5ba">u_getDataDirectory</a> (void)</td></tr>
<tr class="memdesc:af6a3529729ba576d2e152b77811ea5ba"><td class="mdescLeft"> </td><td class="mdescRight">Platform utilities isolates the platform dependencies of the library. <a href="#af6a3529729ba576d2e152b77811ea5ba">More...</a><br /></td></tr>
<tr class="separator:af6a3529729ba576d2e152b77811ea5ba"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a550ea8502df5fed47ae4359be7f8e6a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a550ea8502df5fed47ae4359be7f8e6a2">u_setDataDirectory</a> (const char *directory)</td></tr>
<tr class="memdesc:a550ea8502df5fed47ae4359be7f8e6a2"><td class="mdescLeft"> </td><td class="mdescRight">Set the ICU data directory. <a href="#a550ea8502df5fed47ae4359be7f8e6a2">More...</a><br /></td></tr>
<tr class="separator:a550ea8502df5fed47ae4359be7f8e6a2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8ac481f4934202fe69e5b04ffc22ff4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a8ac481f4934202fe69e5b04ffc22ff4a">u_getTimeZoneFilesDirectory</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a8ac481f4934202fe69e5b04ffc22ff4a"><td class="mdescLeft"> </td><td class="mdescRight">Return the time zone files override directory, or an empty string if no directory was specified. <a href="#a8ac481f4934202fe69e5b04ffc22ff4a">More...</a><br /></td></tr>
<tr class="separator:a8ac481f4934202fe69e5b04ffc22ff4a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a484fde8db11cf58a9137e8bb4c92ed2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a484fde8db11cf58a9137e8bb4c92ed2b">u_setTimeZoneFilesDirectory</a> (const char *path, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a484fde8db11cf58a9137e8bb4c92ed2b"><td class="mdescLeft"> </td><td class="mdescRight">Set the time zone files override directory. <a href="#a484fde8db11cf58a9137e8bb4c92ed2b">More...</a><br /></td></tr>
<tr class="separator:a484fde8db11cf58a9137e8bb4c92ed2b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6db061c4a169d891297fb31c7ce772ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a6db061c4a169d891297fb31c7ce772ed">u_charsToUChars</a> (const char *cs, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *us, int32_t length)</td></tr>
<tr class="memdesc:a6db061c4a169d891297fb31c7ce772ed"><td class="mdescLeft"> </td><td class="mdescRight">Convert char characters to UChar characters. <a href="#a6db061c4a169d891297fb31c7ce772ed">More...</a><br /></td></tr>
<tr class="separator:a6db061c4a169d891297fb31c7ce772ed"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0ac329d8421bab442f45d57cb179b636"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="putil_8h.html#a0ac329d8421bab442f45d57cb179b636">u_UCharsToChars</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *us, char *cs, int32_t length)</td></tr>
<tr class="memdesc:a0ac329d8421bab442f45d57cb179b636"><td class="mdescLeft"> </td><td class="mdescRight">Convert UChar characters to char characters. <a href="#a0ac329d8421bab442f45d57cb179b636">More...</a><br /></td></tr>
<tr class="separator:a0ac329d8421bab442f45d57cb179b636"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>C API: Platform Utilities. </p>
<p class="definition">Definition in file <a class="el" href="putil_8h_source.html">putil.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a86281839c42e8f044313eed5f1417d5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86281839c42e8f044313eed5f1417d5a">◆ </a></span>U_FILE_ALT_SEP_CHAR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define U_FILE_ALT_SEP_CHAR   '/'</td>
</tr>
</table>
</div><div class="memdoc">
<p>Filesystem file and path separator characters. </p>
<p>Example: '/' and ':' on Unix, '\' and ';' on Windows. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000650">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<p class="definition">Definition at line <a class="el" href="putil_8h_source.html#l00131">131</a> of file <a class="el" href="putil_8h_source.html">putil.h</a>.</p>
</div>
</div>
<a id="aea13f8d98aa39d79cfcf3b9007879139"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea13f8d98aa39d79cfcf3b9007879139">◆ </a></span>U_FILE_ALT_SEP_STRING</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define U_FILE_ALT_SEP_STRING   "/"</td>
</tr>
</table>
</div><div class="memdoc">
<p>Filesystem file and path separator characters. </p>
<p>Example: '/' and ':' on Unix, '\' and ';' on Windows. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000650">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<p class="definition">Definition at line <a class="el" href="putil_8h_source.html#l00134">134</a> of file <a class="el" href="putil_8h_source.html">putil.h</a>.</p>
</div>
</div>
<a id="a4d41826cae0108d7ce4c480c733631c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d41826cae0108d7ce4c480c733631c0">◆ </a></span>U_FILE_SEP_CHAR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define U_FILE_SEP_CHAR   '/'</td>
</tr>
</table>
</div><div class="memdoc">
<p>Filesystem file and path separator characters. </p>
<p>Example: '/' and ':' on Unix, '\' and ';' on Windows. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000650">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<p class="definition">Definition at line <a class="el" href="putil_8h_source.html#l00130">130</a> of file <a class="el" href="putil_8h_source.html">putil.h</a>.</p>
</div>
</div>
<a id="a957d91eea919db7dd317dbaddd4ba090"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a957d91eea919db7dd317dbaddd4ba090">◆ </a></span>U_FILE_SEP_STRING</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define U_FILE_SEP_STRING   "/"</td>
</tr>
</table>
</div><div class="memdoc">
<p>Filesystem file and path separator characters. </p>
<p>Example: '/' and ':' on Unix, '\' and ';' on Windows. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000650">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<p class="definition">Definition at line <a class="el" href="putil_8h_source.html#l00133">133</a> of file <a class="el" href="putil_8h_source.html">putil.h</a>.</p>
</div>
</div>
<a id="a5e053f4748f1e82d84c3bac48b3ccb10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e053f4748f1e82d84c3bac48b3ccb10">◆ </a></span>U_PATH_SEP_CHAR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define U_PATH_SEP_CHAR   ':'</td>
</tr>
</table>
</div><div class="memdoc">
<p>Filesystem file and path separator characters. </p>
<p>Example: '/' and ':' on Unix, '\' and ';' on Windows. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000650">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<p class="definition">Definition at line <a class="el" href="putil_8h_source.html#l00132">132</a> of file <a class="el" href="putil_8h_source.html">putil.h</a>.</p>
</div>
</div>
<a id="a91afb504ca1d147907144a873fabb3f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91afb504ca1d147907144a873fabb3f9">◆ </a></span>U_PATH_SEP_STRING</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define U_PATH_SEP_STRING   ":"</td>
</tr>
</table>
</div><div class="memdoc">
<p>Filesystem file and path separator characters. </p>
<p>Example: '/' and ':' on Unix, '\' and ';' on Windows. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000650">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<p class="definition">Definition at line <a class="el" href="putil_8h_source.html#l00135">135</a> of file <a class="el" href="putil_8h_source.html">putil.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a6db061c4a169d891297fb31c7ce772ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6db061c4a169d891297fb31c7ce772ed">◆ </a></span>u_charsToUChars()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void u_charsToUChars </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>cs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>us</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>length</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert char characters to UChar characters. </p>
<p>This utility function is useful only for "invariant characters" that are encoded in the platform default encoding. They are a small, constant subset of the encoding and include just the latin letters, digits, and some punctuation. For details, see U_CHARSET_FAMILY.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cs</td><td>Input string, points to <code>length</code> character bytes from a subset of the platform encoding. </td></tr>
<tr><td class="paramname">us</td><td>Output string, points to memory for <code>length</code> Unicode characters. </td></tr>
<tr><td class="paramname">length</td><td>The number of characters to convert; this may include the terminating <code>NUL</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="platform_8h.html#a7fb0b0fede299f9d74973b15e79d3085">U_CHARSET_FAMILY</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000651">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="af6a3529729ba576d2e152b77811ea5ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6a3529729ba576d2e152b77811ea5ba">◆ </a></span>u_getDataDirectory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const char* u_getDataDirectory </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Platform utilities isolates the platform dependencies of the library. </p>
<p>For each platform which this code is ported to, these functions may have to be re-implemented. Return the ICU data directory. The data directory is where common format ICU data files (.dat files) are loaded from. Note that normal use of the built-in ICU facilities does not require loading of an external data file; unless you are adding custom data to ICU, the data directory does not need to be set.</p>
<p>The data directory is determined as follows: If <a class="el" href="putil_8h.html#a550ea8502df5fed47ae4359be7f8e6a2" title="Set the ICU data directory. ">u_setDataDirectory()</a> has been called, that is it, otherwise if the ICU_DATA environment variable is set, use that, otherwise If a data directory was specified at ICU build time <code> </p><div class="fragment"><div class="line"><span class="preprocessor">#define ICU_DATA_DIR "path" </span></div></div><!-- fragment --><p> </code> use that, otherwise no data directory is available.</p>
<dl class="section return"><dt>Returns</dt><dd>the data directory, or an empty string ("") if no data directory has been specified.</dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000648">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a8ac481f4934202fe69e5b04ffc22ff4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ac481f4934202fe69e5b04ffc22ff4a">◆ </a></span>u_getTimeZoneFilesDirectory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const char* u_getTimeZoneFilesDirectory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the time zone files override directory, or an empty string if no directory was specified. </p>
<p>Certain time zone resources will be preferentially loaded from individual files in this directory.</p>
<dl class="section return"><dt>Returns</dt><dd>the time zone data override directory. </dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000097">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>
</div>
</div>
<a id="a550ea8502df5fed47ae4359be7f8e6a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a550ea8502df5fed47ae4359be7f8e6a2">◆ </a></span>u_setDataDirectory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void u_setDataDirectory </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>directory</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the ICU data directory. </p>
<p>The data directory is where common format ICU data files (.dat files) are loaded from. Note that normal use of the built-in ICU facilities does not require loading of an external data file; unless you are adding custom data to ICU, the data directory does not need to be set.</p>
<p>This function should be called at most once in a process, before the first ICU operation (e.g., <a class="el" href="uclean_8h.html#ae9c1a83828683de9ff170a64a49d1ef0" title="Initialize ICU. ">u_init()</a>) that will require the loading of an ICU data file. This function is not thread-safe. Use it before calling ICU APIs from multiple threads.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">directory</td><td>The directory to be set.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="uclean_8h.html#ae9c1a83828683de9ff170a64a49d1ef0" title="Initialize ICU. ">u_init</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000649">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a484fde8db11cf58a9137e8bb4c92ed2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a484fde8db11cf58a9137e8bb4c92ed2b">◆ </a></span>u_setTimeZoneFilesDirectory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void u_setTimeZoneFilesDirectory </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the time zone files override directory. </p>
<p>This function is not thread safe; it must not be called concurrently with <a class="el" href="putil_8h.html#a8ac481f4934202fe69e5b04ffc22ff4a" title="Return the time zone files override directory, or an empty string if no directory was specified...">u_getTimeZoneFilesDirectory()</a> or any other use of ICU time zone functions. This function should only be called before using any ICU service that will access the time zone data. </p><dl class="internal"><dt><b><a class="el" href="internal.html#_internal000098">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>
</div>
</div>
<a id="a0ac329d8421bab442f45d57cb179b636"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ac329d8421bab442f45d57cb179b636">◆ </a></span>u_UCharsToChars()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void u_UCharsToChars </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>us</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"><em>cs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>length</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert UChar characters to char characters. </p>
<p>This utility function is useful only for "invariant characters" that can be encoded in the platform default encoding. They are a small, constant subset of the encoding and include just the latin letters, digits, and some punctuation. For details, see U_CHARSET_FAMILY.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">us</td><td>Input string, points to <code>length</code> Unicode characters that can be encoded with the codepage-invariant subset of the platform encoding. </td></tr>
<tr><td class="paramname">cs</td><td>Output string, points to memory for <code>length</code> character bytes. </td></tr>
<tr><td class="paramname">length</td><td>The number of characters to convert; this may include the terminating <code>NUL</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="platform_8h.html#a7fb0b0fede299f9d74973b15e79d3085">U_CHARSET_FAMILY</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000652">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>