Sophie

Sophie

distrib > Mageia > 6 > armv5tl > media > core-release > by-pkgid > 3a4e91bde08970529a0aa07935652fe8 > files > 949

icu-doc-58.2-3.mga6.noarch.rpm

<!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.11"/>
<title>ICU 58.2: ucnv_err.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="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 58.2
   &#160;<span id="projectnumber">58.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_b2f33c71d4aa5e7af42a1ca61ff5af1b.html">source</a></li><li class="navelem"><a class="el" href="dir_30087b5439e04c85304dbcf15650710b.html">common</a></li><li class="navelem"><a class="el" href="dir_8bf9c54ed6ca2fd1e2117fb037e4ad06.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">ucnv_err.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C UConverter predefined error callbacks.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="utypes_8h_source.html">unicode/utypes.h</a>&quot;</code><br />
</div>
<p><a href="ucnv__err_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="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The structure for the fromUnicode callback function parameter.  <a href="structUConverterFromUnicodeArgs.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The structure for the toUnicode callback function parameter.  <a href="structUConverterToUnicodeArgs.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa8c288f6eb55d9ea66fea6c296b47028"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#aa8c288f6eb55d9ea66fea6c296b47028">UCNV_SUB_STOP_ON_ILLEGAL</a>&#160;&#160;&#160;&quot;i&quot;</td></tr>
<tr class="memdesc:aa8c288f6eb55d9ea66fea6c296b47028"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U, TO_U context options for sub callback.  <a href="#aa8c288f6eb55d9ea66fea6c296b47028">More...</a><br /></td></tr>
<tr class="separator:aa8c288f6eb55d9ea66fea6c296b47028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc126b90eb4ad4c56a80a410cd2e6618"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#acc126b90eb4ad4c56a80a410cd2e6618">UCNV_SKIP_STOP_ON_ILLEGAL</a>&#160;&#160;&#160;&quot;i&quot;</td></tr>
<tr class="memdesc:acc126b90eb4ad4c56a80a410cd2e6618"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U, TO_U context options for skip callback.  <a href="#acc126b90eb4ad4c56a80a410cd2e6618">More...</a><br /></td></tr>
<tr class="separator:acc126b90eb4ad4c56a80a410cd2e6618"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac495873fd8482ea549bf3a69f05238e4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#ac495873fd8482ea549bf3a69f05238e4">UCNV_ESCAPE_ICU</a>&#160;&#160;&#160;<a class="el" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a></td></tr>
<tr class="memdesc:ac495873fd8482ea549bf3a69f05238e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to ICU (UXXXX)  <a href="#ac495873fd8482ea549bf3a69f05238e4">More...</a><br /></td></tr>
<tr class="separator:ac495873fd8482ea549bf3a69f05238e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27a6288fd441632f5831059717edc8d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a27a6288fd441632f5831059717edc8d0">UCNV_ESCAPE_JAVA</a>&#160;&#160;&#160;&quot;J&quot;</td></tr>
<tr class="memdesc:a27a6288fd441632f5831059717edc8d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to JAVA (\uXXXX)  <a href="#a27a6288fd441632f5831059717edc8d0">More...</a><br /></td></tr>
<tr class="separator:a27a6288fd441632f5831059717edc8d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af009753d9ac156cc4f6d903750e19180"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#af009753d9ac156cc4f6d903750e19180">UCNV_ESCAPE_C</a>&#160;&#160;&#160;&quot;C&quot;</td></tr>
<tr class="memdesc:af009753d9ac156cc4f6d903750e19180"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to C (\uXXXX \UXXXXXXXX) TO_U_CALLBACK_ESCAPE option to escape the character value accoding to C (\xXXXX)  <a href="#af009753d9ac156cc4f6d903750e19180">More...</a><br /></td></tr>
<tr class="separator:af009753d9ac156cc4f6d903750e19180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d8707ebd95f15f906a9cc09bc8d77f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a5d8707ebd95f15f906a9cc09bc8d77f8">UCNV_ESCAPE_XML_DEC</a>&#160;&#160;&#160;&quot;D&quot;</td></tr>
<tr class="memdesc:a5d8707ebd95f15f906a9cc09bc8d77f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to XML Decimal escape (&amp;#DDDD;) TO_U_CALLBACK_ESCAPE context option to escape the character value accoding to XML Decimal escape (&amp;#DDDD;).  <a href="#a5d8707ebd95f15f906a9cc09bc8d77f8">More...</a><br /></td></tr>
<tr class="separator:a5d8707ebd95f15f906a9cc09bc8d77f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02c50a2a3e9816a0c7a10e0255ab62af"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a02c50a2a3e9816a0c7a10e0255ab62af">UCNV_ESCAPE_XML_HEX</a>&#160;&#160;&#160;&quot;X&quot;</td></tr>
<tr class="memdesc:a02c50a2a3e9816a0c7a10e0255ab62af"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to XML Hex escape (&amp;#xXXXX;) TO_U_CALLBACK_ESCAPE context option to escape the character value accoding to XML Hex escape (&amp;#xXXXX;).  <a href="#a02c50a2a3e9816a0c7a10e0255ab62af">More...</a><br /></td></tr>
<tr class="separator:a02c50a2a3e9816a0c7a10e0255ab62af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa869e106eab36abe55a280db2d8baafd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#aa869e106eab36abe55a280db2d8baafd">UCNV_ESCAPE_UNICODE</a>&#160;&#160;&#160;&quot;U&quot;</td></tr>
<tr class="memdesc:aa869e106eab36abe55a280db2d8baafd"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to Unicode (U+XXXXX)  <a href="#aa869e106eab36abe55a280db2d8baafd">More...</a><br /></td></tr>
<tr class="separator:aa869e106eab36abe55a280db2d8baafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62720bbcd309a8318c29e668cb103e74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a62720bbcd309a8318c29e668cb103e74">UCNV_ESCAPE_CSS2</a>&#160;&#160;&#160;&quot;S&quot;</td></tr>
<tr class="memdesc:a62720bbcd309a8318c29e668cb103e74"><td class="mdescLeft">&#160;</td><td class="mdescRight">FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to CSS2 conventions (\HH..H&lt;space&gt;, that is, a backslash, 1..6 hex digits, and a space)  <a href="#a62720bbcd309a8318c29e668cb103e74">More...</a><br /></td></tr>
<tr class="separator:a62720bbcd309a8318c29e668cb103e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a0c2dcfbf71ad577f5285869e1ceb26b1"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a></td></tr>
<tr class="separator:a0c2dcfbf71ad577f5285869e1ceb26b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a19e1a4d55a7679634e84b241b00de01a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> { <br />
&#160;&#160;<a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01aaf238357c53179269ee75cc7d34debb32">UCNV_UNASSIGNED</a> = 0, 
<a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01aa618bbe4096e7c602bc8479215a0887ed">UCNV_ILLEGAL</a> = 1, 
<a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01aa214a453e0f6abf7dbed73388ec98a0d4">UCNV_IRREGULAR</a> = 2, 
<a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01aa89548282ccc762b64c9ef81ee3322cc0">UCNV_RESET</a> = 3, 
<br />
&#160;&#160;<a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01aad0ea944d62e4f53f31d68c19f8afd662">UCNV_CLOSE</a> = 4, 
<a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01aafaf767d3f63c2341d448b5e0315cac42">UCNV_CLONE</a> = 5
<br />
 }<tr class="memdesc:a19e1a4d55a7679634e84b241b00de01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The process condition code to be used with the callbacks.  <a href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a19e1a4d55a7679634e84b241b00de01a"><td class="memSeparator" colspan="2">&#160;</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:a1e9f87a69d75288c0f93bd77a6f2c9db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a1e9f87a69d75288c0f93bd77a6f2c9db">UCNV_FROM_U_CALLBACK_STOP</a> (const void *context, <a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a> *fromUArgs, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *codeUnits, int32_t length, <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> codePoint, <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> reason, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *err)</td></tr>
<tr class="memdesc:a1e9f87a69d75288c0f93bd77a6f2c9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">DO NOT CALL THIS FUNCTION DIRECTLY! This From Unicode callback STOPS at the ILLEGAL_SEQUENCE, returning the error code back to the caller immediately.  <a href="#a1e9f87a69d75288c0f93bd77a6f2c9db">More...</a><br /></td></tr>
<tr class="separator:a1e9f87a69d75288c0f93bd77a6f2c9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28e0f36c3873f1fc2ec17e3f62068822"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a28e0f36c3873f1fc2ec17e3f62068822">UCNV_TO_U_CALLBACK_STOP</a> (const void *context, <a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a> *toUArgs, const char *codeUnits, int32_t length, <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> reason, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *err)</td></tr>
<tr class="memdesc:a28e0f36c3873f1fc2ec17e3f62068822"><td class="mdescLeft">&#160;</td><td class="mdescRight">DO NOT CALL THIS FUNCTION DIRECTLY! This To Unicode callback STOPS at the ILLEGAL_SEQUENCE, returning the error code back to the caller immediately.  <a href="#a28e0f36c3873f1fc2ec17e3f62068822">More...</a><br /></td></tr>
<tr class="separator:a28e0f36c3873f1fc2ec17e3f62068822"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04733e710f31b9a3094af40a89f131aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a04733e710f31b9a3094af40a89f131aa">UCNV_FROM_U_CALLBACK_SKIP</a> (const void *context, <a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a> *fromUArgs, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *codeUnits, int32_t length, <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> codePoint, <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> reason, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *err)</td></tr>
<tr class="memdesc:a04733e710f31b9a3094af40a89f131aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">DO NOT CALL THIS FUNCTION DIRECTLY! This From Unicode callback skips any ILLEGAL_SEQUENCE, or skips only UNASSINGED_SEQUENCE depending on the context parameter simply ignoring those characters.  <a href="#a04733e710f31b9a3094af40a89f131aa">More...</a><br /></td></tr>
<tr class="separator:a04733e710f31b9a3094af40a89f131aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeb5d13b73cfb87078e73fc328d3bedb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#abeb5d13b73cfb87078e73fc328d3bedb">UCNV_FROM_U_CALLBACK_SUBSTITUTE</a> (const void *context, <a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a> *fromUArgs, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *codeUnits, int32_t length, <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> codePoint, <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> reason, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *err)</td></tr>
<tr class="memdesc:abeb5d13b73cfb87078e73fc328d3bedb"><td class="mdescLeft">&#160;</td><td class="mdescRight">DO NOT CALL THIS FUNCTION DIRECTLY! This From Unicode callback will Substitute the ILLEGAL SEQUENCE, or UNASSIGNED_SEQUENCE depending on context parameter, with the current substitution string for the converter.  <a href="#abeb5d13b73cfb87078e73fc328d3bedb">More...</a><br /></td></tr>
<tr class="separator:abeb5d13b73cfb87078e73fc328d3bedb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7491b95493c8cbc92030827e8fe3f118"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a7491b95493c8cbc92030827e8fe3f118">UCNV_FROM_U_CALLBACK_ESCAPE</a> (const void *context, <a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a> *fromUArgs, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *codeUnits, int32_t length, <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> codePoint, <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> reason, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *err)</td></tr>
<tr class="memdesc:a7491b95493c8cbc92030827e8fe3f118"><td class="mdescLeft">&#160;</td><td class="mdescRight">DO NOT CALL THIS FUNCTION DIRECTLY! This From Unicode callback will Substitute the ILLEGAL SEQUENCE with the hexadecimal representation of the illegal codepoints.  <a href="#a7491b95493c8cbc92030827e8fe3f118">More...</a><br /></td></tr>
<tr class="separator:a7491b95493c8cbc92030827e8fe3f118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af506570ede010370e14d0faaa2856345"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#af506570ede010370e14d0faaa2856345">UCNV_TO_U_CALLBACK_SKIP</a> (const void *context, <a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a> *toUArgs, const char *codeUnits, int32_t length, <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> reason, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *err)</td></tr>
<tr class="memdesc:af506570ede010370e14d0faaa2856345"><td class="mdescLeft">&#160;</td><td class="mdescRight">DO NOT CALL THIS FUNCTION DIRECTLY! This To Unicode callback skips any ILLEGAL_SEQUENCE, or skips only UNASSINGED_SEQUENCE depending on the context parameter simply ignoring those characters.  <a href="#af506570ede010370e14d0faaa2856345">More...</a><br /></td></tr>
<tr class="separator:af506570ede010370e14d0faaa2856345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0fe791083c74b1a8d9e13c760619162"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#ad0fe791083c74b1a8d9e13c760619162">UCNV_TO_U_CALLBACK_SUBSTITUTE</a> (const void *context, <a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a> *toUArgs, const char *codeUnits, int32_t length, <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> reason, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *err)</td></tr>
<tr class="memdesc:ad0fe791083c74b1a8d9e13c760619162"><td class="mdescLeft">&#160;</td><td class="mdescRight">DO NOT CALL THIS FUNCTION DIRECTLY! This To Unicode callback will Substitute the ILLEGAL SEQUENCE,or UNASSIGNED_SEQUENCE depending on context parameter, with the Unicode substitution character, U+FFFD.  <a href="#ad0fe791083c74b1a8d9e13c760619162">More...</a><br /></td></tr>
<tr class="separator:ad0fe791083c74b1a8d9e13c760619162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63a4c59d5fb9d40b4f5e705b7800791c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucnv__err_8h.html#a63a4c59d5fb9d40b4f5e705b7800791c">UCNV_TO_U_CALLBACK_ESCAPE</a> (const void *context, <a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a> *toUArgs, const char *codeUnits, int32_t length, <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a> reason, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *err)</td></tr>
<tr class="memdesc:a63a4c59d5fb9d40b4f5e705b7800791c"><td class="mdescLeft">&#160;</td><td class="mdescRight">DO NOT CALL THIS FUNCTION DIRECTLY! This To Unicode callback will Substitute the ILLEGAL SEQUENCE with the hexadecimal representation of the illegal bytes (in the format XNN, e.g.  <a href="#a63a4c59d5fb9d40b4f5e705b7800791c">More...</a><br /></td></tr>
<tr class="separator:a63a4c59d5fb9d40b4f5e705b7800791c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>C UConverter predefined error callbacks. </p>
<h2>Error Behaviour Functions</h2>
<p>Defines some error behaviour functions called by ucnv_{from,to}Unicode These are provided as part of ICU and many are stable, but they can also be considered only as an example of what can be done with callbacks. You may of course write your own.</p>
<p>If you want to write your own, you may also find the functions from <a class="el" href="ucnv__cb_8h.html" title="C UConverter functions to aid the writers of callbacks. ">ucnv_cb.h</a> useful when writing your own callbacks.</p>
<p>These functions, although public, should NEVER be called directly. They should be used as parameters to the ucnv_setFromUCallback and ucnv_setToUCallback functions, to set the behaviour of a converter when it encounters ILLEGAL/UNMAPPED/INVALID sequences.</p>
<p>usage example: 'STOP' doesn't need any context, but newContext could be set to something other than 'NULL' if needed. The available contexts in this header can modify the default behavior of the callback.</p>
<div class="fragment"><div class="line"><a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> err = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>;</div><div class="line"><a class="code" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a> *myConverter = <a class="code" href="ucnv_8h.html#a485c78d4149165f504effa2287717e41">ucnv_open</a>(<span class="stringliteral">&quot;ibm-949&quot;</span>, &amp;err);</div><div class="line"><span class="keyword">const</span> <span class="keywordtype">void</span> *oldContext;</div><div class="line"><a class="code" href="ucnv_8h.html#ad9f3c1c236ab58bbc133783968f49750">UConverterFromUCallback</a> oldAction;</div><div class="line"></div><div class="line"></div><div class="line"><span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(err))</div><div class="line">{</div><div class="line">    <a class="code" href="ucnv_8h.html#a59fdaf2cf5dc57d738ed7a7657f6b03a">ucnv_setFromUCallBack</a>(myConverter,</div><div class="line">                     <a class="code" href="ucnv__err_8h.html#a1e9f87a69d75288c0f93bd77a6f2c9db">UCNV_FROM_U_CALLBACK_STOP</a>,</div><div class="line">                     <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>,</div><div class="line">                     &amp;oldAction,</div><div class="line">                     &amp;oldContext,</div><div class="line">                     &amp;status);</div><div class="line">}</div></div><!-- fragment --><p>The code above tells "myConverter" to stop when it encounters an ILLEGAL/TRUNCATED/INVALID sequences when it is used to convert from Unicode -&gt; Codepage. The behavior from Codepage to Unicode is not changed, and ucnv_setToUCallBack would need to be called in order to change that behavior too.</p>
<p>Here is an example with a context:</p>
<div class="fragment"><div class="line"><a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> err = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>;</div><div class="line"><a class="code" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a> *myConverter = <a class="code" href="ucnv_8h.html#a485c78d4149165f504effa2287717e41">ucnv_open</a>(<span class="stringliteral">&quot;ibm-949&quot;</span>, &amp;err);</div><div class="line"><span class="keyword">const</span> <span class="keywordtype">void</span> *oldContext;</div><div class="line"><a class="code" href="ucnv_8h.html#ad9f3c1c236ab58bbc133783968f49750">UConverterFromUCallback</a> oldAction;</div><div class="line"></div><div class="line"></div><div class="line"><span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(err))</div><div class="line">{</div><div class="line">    <a class="code" href="ucnv_8h.html#ab1f96fe9de8e2ee39159f748a8d33a4b">ucnv_setToUCallBack</a>(myConverter,</div><div class="line">                     <a class="code" href="ucnv__err_8h.html#ad0fe791083c74b1a8d9e13c760619162">UCNV_TO_U_CALLBACK_SUBSTITUTE</a>,</div><div class="line">                     <a class="code" href="ucnv__err_8h.html#aa8c288f6eb55d9ea66fea6c296b47028">UCNV_SUB_STOP_ON_ILLEGAL</a>,</div><div class="line">                     &amp;oldAction,</div><div class="line">                     &amp;oldContext,</div><div class="line">                     &amp;status);</div><div class="line">}</div></div><!-- fragment --><p>The code above tells "myConverter" to stop when it encounters an ILLEGAL/TRUNCATED/INVALID sequences when it is used to convert from Codepage -&gt; Unicode. Any unmapped and legal characters will be substituted to be the default substitution character. </p>

<p>Definition in file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="af009753d9ac156cc4f6d903750e19180"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_ESCAPE_C&#160;&#160;&#160;&quot;C&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to C (\uXXXX \UXXXXXXXX) TO_U_CALLBACK_ESCAPE option to escape the character value accoding to C (\xXXXX) </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001594">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00125">125</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<a class="anchor" id="a62720bbcd309a8318c29e668cb103e74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_ESCAPE_CSS2&#160;&#160;&#160;&quot;S&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to CSS2 conventions (\HH..H&lt;space&gt;, that is, a backslash, 1..6 hex digits, and a space) </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001598">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00149">149</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac495873fd8482ea549bf3a69f05238e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_ESCAPE_ICU&#160;&#160;&#160;<a class="el" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to ICU (UXXXX) </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001592">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00114">114</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<a class="anchor" id="a27a6288fd441632f5831059717edc8d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_ESCAPE_JAVA&#160;&#160;&#160;&quot;J&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to JAVA (\uXXXX) </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001593">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00119">119</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa869e106eab36abe55a280db2d8baafd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_ESCAPE_UNICODE&#160;&#160;&#160;&quot;U&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to Unicode (U+XXXXX) </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001597">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00142">142</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5d8707ebd95f15f906a9cc09bc8d77f8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_ESCAPE_XML_DEC&#160;&#160;&#160;&quot;D&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to XML Decimal escape (&amp;#DDDD;) TO_U_CALLBACK_ESCAPE context option to escape the character value accoding to XML Decimal escape (&amp;#DDDD;). </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001595">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00131">131</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<a class="anchor" id="a02c50a2a3e9816a0c7a10e0255ab62af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_ESCAPE_XML_HEX&#160;&#160;&#160;&quot;X&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U_CALLBACK_ESCAPE context option to escape the code unit according to XML Hex escape (&amp;#xXXXX;) TO_U_CALLBACK_ESCAPE context option to escape the character value accoding to XML Hex escape (&amp;#xXXXX;). </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001596">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00137">137</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<a class="anchor" id="acc126b90eb4ad4c56a80a410cd2e6618"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_SKIP_STOP_ON_ILLEGAL&#160;&#160;&#160;&quot;i&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U, TO_U context options for skip callback. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001591">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00108">108</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa8c288f6eb55d9ea66fea6c296b47028"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UCNV_SUB_STOP_ON_ILLEGAL&#160;&#160;&#160;&quot;i&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FROM_U, TO_U context options for sub callback. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001590">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00102">102</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a0c2dcfbf71ad577f5285869e1ceb26b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a> <a class="el" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001589">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00096">96</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a19e1a4d55a7679634e84b241b00de01a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The process condition code to be used with the callbacks. </p>
<p>Codes which are greater than UCNV_IRREGULAR should be passed on to any chained callbacks. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable001599">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a19e1a4d55a7679634e84b241b00de01aaf238357c53179269ee75cc7d34debb32"></a>UCNV_UNASSIGNED&#160;</td><td class="fielddoc">
<p>The code point is unassigned. </p>
<p>The error code U_INVALID_CHAR_FOUND will be set. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a19e1a4d55a7679634e84b241b00de01aa618bbe4096e7c602bc8479215a0887ed"></a>UCNV_ILLEGAL&#160;</td><td class="fielddoc">
<p>The code point is illegal. </p>
<p>For example, \x81\x2E is illegal in SJIS because \x2E is not a valid trail byte for the \x81 lead byte. Also, starting with Unicode 3.0.1, non-shortest byte sequences in UTF-8 (like \xC1\xA1 instead of \x61 for U+0061) are also illegal, not just irregular. The error code U_ILLEGAL_CHAR_FOUND will be set. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a19e1a4d55a7679634e84b241b00de01aa214a453e0f6abf7dbed73388ec98a0d4"></a>UCNV_IRREGULAR&#160;</td><td class="fielddoc">
<p>The codepoint is not a regular sequence in the encoding. </p>
<p>For example, \xED\xA0\x80..\xED\xBF\xBF are irregular UTF-8 byte sequences for single surrogate code points. The error code U_INVALID_CHAR_FOUND will be set. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a19e1a4d55a7679634e84b241b00de01aa89548282ccc762b64c9ef81ee3322cc0"></a>UCNV_RESET&#160;</td><td class="fielddoc">
<p>The callback is called with this reason when a 'reset' has occured. </p>
<p>Callback should reset all state. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a19e1a4d55a7679634e84b241b00de01aad0ea944d62e4f53f31d68c19f8afd662"></a>UCNV_CLOSE&#160;</td><td class="fielddoc">
<p>Called when the converter is closed. </p>
<p>The callback should release any allocated memory. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a19e1a4d55a7679634e84b241b00de01aafaf767d3f63c2341d448b5e0315cac42"></a>UCNV_CLONE&#160;</td><td class="fielddoc">
<p>Called when <a class="el" href="ucnv_8h.html#a11a66c267dce12a78dac2690d983d69e" title="Thread safe converter cloning operation. ">ucnv_safeClone()</a> is called on the converter. </p>
<p>the pointer available as the 'context' is an alias to the original converters' context pointer. If the context must be owned by the new converter, the callback must clone the data and call ucnv_setFromUCallback (or setToUCallback) with the correct pointer. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable001610">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl>
</td></tr>
</table>

<p>Definition at line <a class="el" href="ucnv__err_8h_source.html#l00157">157</a> of file <a class="el" href="ucnv__err_8h_source.html">ucnv_err.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a7491b95493c8cbc92030827e8fe3f118"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void UCNV_FROM_U_CALLBACK_ESCAPE </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a> *&#160;</td>
          <td class="paramname"><em>fromUArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>codeUnits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td>
          <td class="paramname"><em>codePoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DO NOT CALL THIS FUNCTION DIRECTLY! This From Unicode callback will Substitute the ILLEGAL SEQUENCE with the hexadecimal representation of the illegal codepoints. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The function currently recognizes the callback options: <ul>
<li>
UCNV_ESCAPE_ICU: Substitues the ILLEGAL SEQUENCE with the hexadecimal representation in the format UXXXX, e.g. "%uFFFE%u00AC%uC8FE"). In the Event the converter doesn't support the characters {%,U}[A-F][0-9], it will substitute the illegal sequence with the substitution characters. Note that codeUnit(32bit int eg: unit of a surrogate pair) is represented as UD84DUDC56 </li>
<li>
UCNV_ESCAPE_JAVA: Substitues the ILLEGAL SEQUENCE with the hexadecimal representation in the format \uXXXX, e.g. "\\uFFFE\\u00AC\\uC8FE"). In the Event the converter doesn't support the characters {\,u}[A-F][0-9], it will substitute the illegal sequence with the substitution characters. Note that codeUnit(32bit int eg: unit of a surrogate pair) is represented as \uD84D\uDC56 </li>
<li>
UCNV_ESCAPE_C: Substitues the ILLEGAL SEQUENCE with the hexadecimal representation in the format \uXXXX, e.g. "\\uFFFE\\u00AC\\uC8FE"). In the Event the converter doesn't support the characters {\,u,U}[A-F][0-9], it will substitute the illegal sequence with the substitution characters. Note that codeUnit(32bit int eg: unit of a surrogate pair) is represented as \U00023456 </li>
<li>
UCNV_ESCAPE_XML_DEC: Substitues the ILLEGAL SEQUENCE with the decimal representation in the format &amp;#DDDDDDDD;, e.g. "&amp;#65534;&amp;#172;&amp;#51454;"). In the Event the converter doesn't support the characters {&amp;,#}[0-9], it will substitute the illegal sequence with the substitution characters. Note that codeUnit(32bit int eg: unit of a surrogate pair) is represented as &amp;#144470; and Zero padding is ignored. </li>
<li>
UCNV_ESCAPE_XML_HEX:Substitues the ILLEGAL SEQUENCE with the decimal representation in the format &amp;#xXXXX; e.g. "&amp;#xFFFE;&amp;#x00AC;&amp;#xC8FE;"). In the Event the converter doesn't support the characters {&amp;,#,x}[0-9], it will substitute the illegal sequence with the substitution characters. Note that codeUnit(32bit int eg: unit of a surrogate pair) is represented as  &amp;#x23456; </li>
</ul>
</td></tr>
    <tr><td class="paramname">fromUArgs</td><td>Information about the conversion in progress </td></tr>
    <tr><td class="paramname">codeUnits</td><td>Points to 'length' UChars of the concerned Unicode sequence </td></tr>
    <tr><td class="paramname">length</td><td>Size (in bytes) of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">codePoint</td><td>Single UChar32 (UTF-32) containing the concerend Unicode codepoint. </td></tr>
    <tr><td class="paramname">reason</td><td>Defines the reason the callback was invoked </td></tr>
    <tr><td class="paramname">err</td><td>Return value will be set to success if the callback was handled, otherwise this value will be set to a failure status. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001606">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a04733e710f31b9a3094af40a89f131aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void UCNV_FROM_U_CALLBACK_SKIP </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a> *&#160;</td>
          <td class="paramname"><em>fromUArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>codeUnits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td>
          <td class="paramname"><em>codePoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DO NOT CALL THIS FUNCTION DIRECTLY! This From Unicode callback skips any ILLEGAL_SEQUENCE, or skips only UNASSINGED_SEQUENCE depending on the context parameter simply ignoring those characters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The function currently recognizes the callback options: UCNV_SKIP_STOP_ON_ILLEGAL: STOPS at the ILLEGAL_SEQUENCE, returning the error code back to the caller immediately. NULL: Skips any ILLEGAL_SEQUENCE </td></tr>
    <tr><td class="paramname">fromUArgs</td><td>Information about the conversion in progress </td></tr>
    <tr><td class="paramname">codeUnits</td><td>Points to 'length' UChars of the concerned Unicode sequence </td></tr>
    <tr><td class="paramname">length</td><td>Size (in bytes) of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">codePoint</td><td>Single UChar32 (UTF-32) containing the concerend Unicode codepoint. </td></tr>
    <tr><td class="paramname">reason</td><td>Defines the reason the callback was invoked </td></tr>
    <tr><td class="paramname">err</td><td>Return value will be set to success if the callback was handled, otherwise this value will be set to a failure status. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001604">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a1e9f87a69d75288c0f93bd77a6f2c9db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void UCNV_FROM_U_CALLBACK_STOP </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a> *&#160;</td>
          <td class="paramname"><em>fromUArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>codeUnits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td>
          <td class="paramname"><em>codePoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DO NOT CALL THIS FUNCTION DIRECTLY! This From Unicode callback STOPS at the ILLEGAL_SEQUENCE, returning the error code back to the caller immediately. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>Pointer to the callback's private data </td></tr>
    <tr><td class="paramname">fromUArgs</td><td>Information about the conversion in progress </td></tr>
    <tr><td class="paramname">codeUnits</td><td>Points to 'length' UChars of the concerned Unicode sequence </td></tr>
    <tr><td class="paramname">length</td><td>Size (in bytes) of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">codePoint</td><td>Single UChar32 (UTF-32) containing the concerend Unicode codepoint. </td></tr>
    <tr><td class="paramname">reason</td><td>Defines the reason the callback was invoked </td></tr>
    <tr><td class="paramname">err</td><td>This should always be set to a failure status prior to calling. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001602">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="abeb5d13b73cfb87078e73fc328d3bedb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void UCNV_FROM_U_CALLBACK_SUBSTITUTE </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUConverterFromUnicodeArgs.html">UConverterFromUnicodeArgs</a> *&#160;</td>
          <td class="paramname"><em>fromUArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>codeUnits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td>
          <td class="paramname"><em>codePoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DO NOT CALL THIS FUNCTION DIRECTLY! This From Unicode callback will Substitute the ILLEGAL SEQUENCE, or UNASSIGNED_SEQUENCE depending on context parameter, with the current substitution string for the converter. </p>
<p>This is the default callback.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The function currently recognizes the callback options: UCNV_SUB_STOP_ON_ILLEGAL: STOPS at the ILLEGAL_SEQUENCE, returning the error code back to the caller immediately. NULL: Substitutes any ILLEGAL_SEQUENCE </td></tr>
    <tr><td class="paramname">fromUArgs</td><td>Information about the conversion in progress </td></tr>
    <tr><td class="paramname">codeUnits</td><td>Points to 'length' UChars of the concerned Unicode sequence </td></tr>
    <tr><td class="paramname">length</td><td>Size (in bytes) of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">codePoint</td><td>Single UChar32 (UTF-32) containing the concerend Unicode codepoint. </td></tr>
    <tr><td class="paramname">reason</td><td>Defines the reason the callback was invoked </td></tr>
    <tr><td class="paramname">err</td><td>Return value will be set to success if the callback was handled, otherwise this value will be set to a failure status. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="ucnv_8h.html#ac160b1b44ac9b5124ec083810709603a" title="Sets the substitution chars when converting from unicode to a codepage. ">ucnv_setSubstChars</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001605">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a63a4c59d5fb9d40b4f5e705b7800791c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void UCNV_TO_U_CALLBACK_ESCAPE </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a> *&#160;</td>
          <td class="paramname"><em>toUArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>codeUnits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DO NOT CALL THIS FUNCTION DIRECTLY! This To Unicode callback will Substitute the ILLEGAL SEQUENCE with the hexadecimal representation of the illegal bytes (in the format XNN, e.g. </p>
<p>"%XFF%X0A%XC8%X03").</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>This function currently recognizes the callback options: UCNV_ESCAPE_ICU, UCNV_ESCAPE_JAVA, UCNV_ESCAPE_C, UCNV_ESCAPE_XML_DEC, UCNV_ESCAPE_XML_HEX and UCNV_ESCAPE_UNICODE. </td></tr>
    <tr><td class="paramname">toUArgs</td><td>Information about the conversion in progress </td></tr>
    <tr><td class="paramname">codeUnits</td><td>Points to 'length' bytes of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">length</td><td>Size (in bytes) of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">reason</td><td>Defines the reason the callback was invoked </td></tr>
    <tr><td class="paramname">err</td><td>Return value will be set to success if the callback was handled, otherwise this value will be set to a failure status. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001609">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="af506570ede010370e14d0faaa2856345"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void UCNV_TO_U_CALLBACK_SKIP </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a> *&#160;</td>
          <td class="paramname"><em>toUArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>codeUnits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DO NOT CALL THIS FUNCTION DIRECTLY! This To Unicode callback skips any ILLEGAL_SEQUENCE, or skips only UNASSINGED_SEQUENCE depending on the context parameter simply ignoring those characters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The function currently recognizes the callback options: UCNV_SKIP_STOP_ON_ILLEGAL: STOPS at the ILLEGAL_SEQUENCE, returning the error code back to the caller immediately. NULL: Skips any ILLEGAL_SEQUENCE </td></tr>
    <tr><td class="paramname">toUArgs</td><td>Information about the conversion in progress </td></tr>
    <tr><td class="paramname">codeUnits</td><td>Points to 'length' bytes of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">length</td><td>Size (in bytes) of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">reason</td><td>Defines the reason the callback was invoked </td></tr>
    <tr><td class="paramname">err</td><td>Return value will be set to success if the callback was handled, otherwise this value will be set to a failure status. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001607">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a28e0f36c3873f1fc2ec17e3f62068822"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void UCNV_TO_U_CALLBACK_STOP </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a> *&#160;</td>
          <td class="paramname"><em>toUArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>codeUnits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DO NOT CALL THIS FUNCTION DIRECTLY! This To Unicode callback STOPS at the ILLEGAL_SEQUENCE, returning the error code back to the caller immediately. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>Pointer to the callback's private data </td></tr>
    <tr><td class="paramname">toUArgs</td><td>Information about the conversion in progress </td></tr>
    <tr><td class="paramname">codeUnits</td><td>Points to 'length' bytes of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">length</td><td>Size (in bytes) of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">reason</td><td>Defines the reason the callback was invoked </td></tr>
    <tr><td class="paramname">err</td><td>This should always be set to a failure status prior to calling. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001603">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ad0fe791083c74b1a8d9e13c760619162"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void UCNV_TO_U_CALLBACK_SUBSTITUTE </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUConverterToUnicodeArgs.html">UConverterToUnicodeArgs</a> *&#160;</td>
          <td class="paramname"><em>toUArgs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>codeUnits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ucnv__err_8h.html#a19e1a4d55a7679634e84b241b00de01a">UConverterCallbackReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DO NOT CALL THIS FUNCTION DIRECTLY! This To Unicode callback will Substitute the ILLEGAL SEQUENCE,or UNASSIGNED_SEQUENCE depending on context parameter, with the Unicode substitution character, U+FFFD. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The function currently recognizes the callback options: UCNV_SUB_STOP_ON_ILLEGAL: STOPS at the ILLEGAL_SEQUENCE, returning the error code back to the caller immediately. NULL: Substitutes any ILLEGAL_SEQUENCE </td></tr>
    <tr><td class="paramname">toUArgs</td><td>Information about the conversion in progress </td></tr>
    <tr><td class="paramname">codeUnits</td><td>Points to 'length' bytes of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">length</td><td>Size (in bytes) of the concerned codepage sequence </td></tr>
    <tr><td class="paramname">reason</td><td>Defines the reason the callback was invoked </td></tr>
    <tr><td class="paramname">err</td><td>Return value will be set to success if the callback was handled, otherwise this value will be set to a failure status. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001608">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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>