<!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.6"/> <title>ICU 53.1: uspoof.h Source File</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/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </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 style="padding-left: 0.5em;"> <div id="projectname">ICU 53.1  <span id="projectnumber">53.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.6 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related 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 Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></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_55bf5c6bcedc2c5705af95fc7596ac50.html">icu</a></li><li class="navelem"><a class="el" href="dir_17c4e3d278dd0be6889e0e8c41145d45.html">source</a></li><li class="navelem"><a class="el" href="dir_50278085fbfb203a4ae8d13ac447741e.html">i18n</a></li><li class="navelem"><a class="el" href="dir_47d86980f74387e1e780cfdfbee4bf19.html">unicode</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">uspoof.h</div> </div> </div><!--header--> <div class="contents"> <a href="uspoof_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">***************************************************************************</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">* Copyright (C) 2008-2014, International Business Machines Corporation</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">* and others. All Rights Reserved.</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">***************************************************************************</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">* file name: uspoof.h</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">* encoding: US-ASCII</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">* tab size: 8 (not used)</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">* indentation:4</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">*</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">* created on: 2008Feb13</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">* created by: Andy Heninger</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">*</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">* Unicode Spoof Detection</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">*/</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifndef USPOOF_H</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"></span><span class="preprocessor">#define USPOOF_H</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="uset_8h.html">unicode/uset.h</a>"</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="parseerr_8h.html">unicode/parseerr.h</a>"</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="localpointer_8h.html">unicode/localpointer.h</a>"</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#if !UCONFIG_NO_NORMALIZATION</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="unistr_8h.html">unicode/unistr.h</a>"</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="uniset_8h.html">unicode/uniset.h</a>"</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">struct </span><a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a>;</div> <div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f"> 145</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a>; </div> <div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155"> 154</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155">USpoofChecks</a> {</div> <div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155adc4588fd7ff74c3a6e5cc91d3a6f5d60"> 160</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155adc4588fd7ff74c3a6e5cc91d3a6f5d60">USPOOF_SINGLE_SCRIPT_CONFUSABLE</a> = 1,</div> <div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div> <div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a76a60327ab14a68342242aae60340106"> 170</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a76a60327ab14a68342242aae60340106">USPOOF_MIXED_SCRIPT_CONFUSABLE</a> = 2,</div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div> <div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155abfc834ae8c881e54a7922648d5fecead"> 181</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155abfc834ae8c881e54a7922648d5fecead">USPOOF_WHOLE_SCRIPT_CONFUSABLE</a> = 4,</div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  </div> <div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155ae65a72b384e76f7ac1cc4df1decd8057"> 189</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155ae65a72b384e76f7ac1cc4df1decd8057">USPOOF_ANY_CASE</a> = 8,</div> <div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div> <div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a1977848d7ccac6f3640fa684b452f69a"> 204</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a1977848d7ccac6f3640fa684b452f69a">USPOOF_RESTRICTION_LEVEL</a> = 16,</div> <div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#ifndef U_HIDE_DEPRECATED_API </span></div> <div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a68b7d294c1566c1f4a74e2b3a952a138"> 212</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a68b7d294c1566c1f4a74e2b3a952a138">USPOOF_SINGLE_SCRIPT</a> = <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a1977848d7ccac6f3640fa684b452f69a">USPOOF_RESTRICTION_LEVEL</a>,</div> <div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DEPRECATED_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor"></span> </div> <div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a7324a51073ca18279da8706d8c21ee0c"> 221</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a7324a51073ca18279da8706d8c21ee0c">USPOOF_INVISIBLE</a> = 32,</div> <div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div> <div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a3f3e13d5b54cc156864a2aca221b3888"> 227</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a3f3e13d5b54cc156864a2aca221b3888">USPOOF_CHAR_LIMIT</a> = 64,</div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div> <div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a0fbfe4596de0672faf4f0d4f01a823f6"> 235</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a0fbfe4596de0672faf4f0d4f01a823f6">USPOOF_MIXED_NUMBERS</a> = 128,</div> <div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div> <div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a4450adc366e2178c451d89b2ea244123"> 242</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a4450adc366e2178c451d89b2ea244123">USPOOF_ALL_CHECKS</a> = 0xFFFF,</div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> <div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155aa7307e5bdc933ceba391fbbc22b382ab"> 256</a></span>  <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155aa7307e5bdc933ceba391fbbc22b382ab">USPOOF_AUX_INFO</a> = 0x40000000</div> <div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  } <a class="code" href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155">USpoofChecks</a>;</div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  </div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  </div> <div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852"> 266</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852">URestrictionLevel</a> {</div> <div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a262982208b89a2649d0f31ea48e46765"> 272</a></span>  <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a262982208b89a2649d0f31ea48e46765">USPOOF_ASCII</a> = 0x10000000,</div> <div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="preprocessor">#ifndef U_HIDE_DRAFT_API</span></div> <div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a0488c3736f11d8808ac55f72a3c6bde2"> 279</a></span>  <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a0488c3736f11d8808ac55f72a3c6bde2">USPOOF_SINGLE_SCRIPT_RESTRICTIVE</a> = 0x20000000,</div> <div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DRAFT_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af6dda9229dc422d3e8e41a23a1251060"> 288</a></span>  <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af6dda9229dc422d3e8e41a23a1251060">USPOOF_HIGHLY_RESTRICTIVE</a> = 0x30000000,</div> <div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a06d4bf8b1c05dca9a9ec69a0e926e117"> 294</a></span>  <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a06d4bf8b1c05dca9a9ec69a0e926e117">USPOOF_MODERATELY_RESTRICTIVE</a> = 0x40000000,</div> <div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af1e2132b4067af2aec3460c679f7e598"> 300</a></span>  <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af1e2132b4067af2aec3460c679f7e598">USPOOF_MINIMALLY_RESTRICTIVE</a> = 0x50000000,</div> <div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af8c3d86392c0d18d51b05390483a036e"> 306</a></span>  <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af8c3d86392c0d18d51b05390483a036e">USPOOF_UNRESTRICTIVE</a> = 0x60000000,</div> <div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor">#ifndef U_HIDE_DRAFT_API</span></div> <div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a900ac32a2451a70f42c424445f0f3b6f"> 313</a></span>  <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a900ac32a2451a70f42c424445f0f3b6f">USPOOF_RESTRICTION_LEVEL_MASK</a> = 0x7F000000 </div> <div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DRAFT_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="preprocessor"></span> } <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852">URestrictionLevel</a>;</div> <div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div> <div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> * U_EXPORT2</div> <div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <a class="code" href="uspoof_8h.html#afeff54ce632c1357e914334009becb62">uspoof_open</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div> <div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div> <div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> * U_EXPORT2</div> <div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <a class="code" href="uspoof_8h.html#aa13a3dd9f673f9df317948eecab1a346">uspoof_openFromSerialized</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, int32_t length, int32_t *pActualLength,</div> <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div> <div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div> <div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> * U_EXPORT2</div> <div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <a class="code" href="uspoof_8h.html#a5332f41a9d13aec2cc115e6a24d08595">uspoof_openFromSource</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *confusables, int32_t confusablesLen,</div> <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *confusablesWholeScript, int32_t confusablesWholeScriptLen,</div> <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  int32_t *errType, <a class="code" href="structUParseError.html">UParseError</a> *pe, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div> <div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div> <div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <a class="code" href="uspoof_8h.html#ab63b4f7780b1d6c57a31624ad5c3db41">uspoof_close</a>(<a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc);</div> <div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div> <div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <a class="code" href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b">U_NAMESPACE_BEGIN</a></div> <div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div> <div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <a class="code" href="localpointer_8h.html#a3030f841466c4bbbd465ac9c4b999549">U_DEFINE_LOCAL_OPEN_POINTER</a>(<a class="code" href="classLocalUSpoofCheckerPointer.html">LocalUSpoofCheckerPointer</a>, <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a>, <a class="code" href="uspoof_8h.html#ab63b4f7780b1d6c57a31624ad5c3db41">uspoof_close</a>);</div> <div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div> <div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <a class="code" href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933">U_NAMESPACE_END</a></div> <div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div> <div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> * U_EXPORT2</div> <div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <a class="code" href="uspoof_8h.html#a5a6a3fff21c2aa515d3e16da47609a48">uspoof_clone</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div> <div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div> <div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <a class="code" href="uspoof_8h.html#a1600b90af8fde36cf87d6c6be8df5af0">uspoof_setChecks</a>(<a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, int32_t checks, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div> <div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <a class="code" href="uspoof_8h.html#a11c9d7b315c2f4b1011619bd4df91cf8">uspoof_getChecks</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div> <div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <a class="code" href="uspoof_8h.html#a27b9d377dbbfa2f8d678a9d3e46b546b">uspoof_setRestrictionLevel</a>(<a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852">URestrictionLevel</a> restrictionLevel);</div> <div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div> <div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div> <div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852">URestrictionLevel</a> U_EXPORT2</div> <div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <a class="code" href="uspoof_8h.html#a4d67fe2cfbff34474ad6d85a8135e785">uspoof_getRestrictionLevel</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc);</div> <div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div> <div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <a class="code" href="uspoof_8h.html#aca1b0d0630a88af80c56e8205761f6a1">uspoof_setAllowedLocales</a>(<a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <span class="keyword">const</span> <span class="keywordtype">char</span> *localesList, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div> <div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * U_EXPORT2</div> <div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <a class="code" href="uspoof_8h.html#ae9105b5d6d3dd326dcfd60fe3730f5d0">uspoof_getAllowedLocales</a>(<a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div> <div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div> <div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <a class="code" href="uspoof_8h.html#abe089c3471eb52dbbd7268c3eb9db695">uspoof_setAllowedChars</a>(<a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <span class="keyword">const</span> <a class="code" href="ucnv_8h.html#adce3fef7c15d7c78196bf977ac96ec9c">USet</a> *chars, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div> <div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div> <div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keyword">const</span> <a class="code" href="ucnv_8h.html#adce3fef7c15d7c78196bf977ac96ec9c">USet</a> * U_EXPORT2</div> <div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <a class="code" href="uspoof_8h.html#ab15e60d2aaaa9ea5d49eb4524c41fa9e">uspoof_getAllowedChars</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div> <div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div> <div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <a class="code" href="uspoof_8h.html#a6193792292d9ead15f9832fcef6a704b">uspoof_setAllowedUnicodeSet</a>(<a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeSet.html">icu::UnicodeSet</a> *chars, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div> <div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div> <div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeSet.html">icu::UnicodeSet</a> * U_EXPORT2</div> <div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <a class="code" href="uspoof_8h.html#a882de7faa9049cb6c65f8a949a07a4e9">uspoof_getAllowedUnicodeSet</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00647"></a><span class="lineno"> 647</span> </div> <div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <a class="code" href="uspoof_8h.html#aa6628f1b69565e660ecbb1f380ac72dc">uspoof_check</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *<span class="keywordtype">id</span>, int32_t length, </div> <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  int32_t *position,</div> <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div> <div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div> <div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <a class="code" href="uspoof_8h.html#ac3c9dc9db498c19758e4144655919621">uspoof_checkUTF8</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keywordtype">id</span>, int32_t length,</div> <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  int32_t *position,</div> <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div> <div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div> <div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <a class="code" href="uspoof_8h.html#ab826cb99a2ca41e8030ff55f471a9881">uspoof_checkUnicodeString</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">icu::UnicodeString</a> &<span class="keywordtype">id</span>, </div> <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  int32_t *position,</div> <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div> <div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div> <div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <a class="code" href="uspoof_8h.html#ac96fdf642bfd9efcd0d9956bd76cadaa">uspoof_areConfusable</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *id1, int32_t length1,</div> <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *id2, int32_t length2,</div> <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div> <div class="line"><a name="l00793"></a><span class="lineno"> 793</span> </div> <div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div> <div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <a class="code" href="uspoof_8h.html#ae6f653c41a24abee03afb24e22d93466">uspoof_areConfusableUTF8</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *id1, int32_t length1,</div> <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *id2, int32_t length2,</div> <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div> <div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div> <div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div> <div class="line"><a name="l00828"></a><span class="lineno"> 828</span> </div> <div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00851"></a><span class="lineno"> 851</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <a class="code" href="uspoof_8h.html#a66d450097ce8ceca668cbcf21196b9ad">uspoof_areConfusableUnicodeString</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">icu::UnicodeString</a> &s1,</div> <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">icu::UnicodeString</a> &s2,</div> <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00857"></a><span class="lineno"> 857</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div> <div class="line"><a name="l00891"></a><span class="lineno"> 891</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <a class="code" href="uspoof_8h.html#ac534ff73614148bad6c93320101f0c47">uspoof_getSkeleton</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  uint32_t type,</div> <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *<span class="keywordtype">id</span>, int32_t length,</div> <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, int32_t destCapacity,</div> <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  </div> <div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <a class="code" href="uspoof_8h.html#a09942c6a49df736928aa5a5c1d329a83">uspoof_getSkeletonUTF8</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  uint32_t type,</div> <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keywordtype">id</span>, int32_t length,</div> <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordtype">char</span> *dest, int32_t destCapacity,</div> <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  </div> <div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1UnicodeString.html">icu::UnicodeString</a> & U_EXPORT2</div> <div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <a class="code" href="uspoof_8h.html#afe14cbde824abd936c704b15e397a015">uspoof_getSkeletonUnicodeString</a>(<span class="keyword">const</span> <a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  uint32_t type,</div> <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">icu::UnicodeString</a> &<span class="keywordtype">id</span>,</div> <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <a class="code" href="classicu_1_1UnicodeString.html">icu::UnicodeString</a> &dest,</div> <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="preprocessor">#endif </span><span class="comment">/* U_SHOW_CPLUSPLUS_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00973"></a><span class="lineno"> 973</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="preprocessor">#ifndef U_HIDE_DRAFT_API</span></div> <div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <a class="code" href="umachine_8h.html#a41691e68155dca13bc1f020fa30dac82">U_DRAFT</a> <span class="keyword">const</span> <a class="code" href="ucnv_8h.html#adce3fef7c15d7c78196bf977ac96ec9c">USet</a> * U_EXPORT2</div> <div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <a class="code" href="uspoof_8h.html#a24be9382a3430bbf38abef96f168400b">uspoof_getInclusionSet</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div> <div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> <a class="code" href="umachine_8h.html#a41691e68155dca13bc1f020fa30dac82">U_DRAFT</a> <span class="keyword">const</span> <a class="code" href="ucnv_8h.html#adce3fef7c15d7c78196bf977ac96ec9c">USet</a> * U_EXPORT2</div> <div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> <a class="code" href="uspoof_8h.html#a0eda41b7dffbb123fa62ac1271eee721">uspoof_getRecommendedSet</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> </div> <div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="preprocessor"></span></div> <div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <a class="code" href="umachine_8h.html#a41691e68155dca13bc1f020fa30dac82">U_DRAFT</a> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeSet.html">icu::UnicodeSet</a> * U_EXPORT2</div> <div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <a class="code" href="uspoof_8h.html#a30b3d5dcf1fa794ece93b32608aa803f">uspoof_getInclusionUnicodeSet</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> </div> <div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <a class="code" href="umachine_8h.html#a41691e68155dca13bc1f020fa30dac82">U_DRAFT</a> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeSet.html">icu::UnicodeSet</a> * U_EXPORT2</div> <div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <a class="code" href="uspoof_8h.html#a6693fd20b81ff5adf95b5798fbc818f1">uspoof_getRecommendedUnicodeSet</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div> <div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> <span class="preprocessor">#endif </span><span class="comment">/* U_SHOW_CPLUSPLUS_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DRAFT_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="preprocessor"></span></div> <div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <a class="code" href="uspoof_8h.html#a808f6fefabd028ea78931f85ec634022">uspoof_serialize</a>(<a class="code" href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a> *sc,</div> <div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  <span class="keywordtype">void</span> *data, int32_t capacity,</div> <div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div> <div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div> <div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="preprocessor"></span></div> <div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="preprocessor">#endif </span><span class="comment">/* USPOOF_H */</span><span class="preprocessor"></span></div> <div class="ttc" id="uspoof_8h_html_a24be9382a3430bbf38abef96f168400b"><div class="ttname"><a href="uspoof_8h.html#a24be9382a3430bbf38abef96f168400b">uspoof_getInclusionSet</a></div><div class="ttdeci">const USet * uspoof_getInclusionSet(UErrorCode *status)</div><div class="ttdoc">Get the set of Candidate Characters for Inclusion in Identifiers, as defined in Unicode UAX #31...</div></div> <div class="ttc" id="uspoof_8h_html_a30b3d5dcf1fa794ece93b32608aa803f"><div class="ttname"><a href="uspoof_8h.html#a30b3d5dcf1fa794ece93b32608aa803f">uspoof_getInclusionUnicodeSet</a></div><div class="ttdeci">const icu::UnicodeSet * uspoof_getInclusionUnicodeSet(UErrorCode *status)</div><div class="ttdoc">Get the set of Candidate Characters for Inclusion in Identifiers, as defined in Unicode UAX #31...</div></div> <div class="ttc" id="uspoof_8h_html_ab826cb99a2ca41e8030ff55f471a9881"><div class="ttname"><a href="uspoof_8h.html#ab826cb99a2ca41e8030ff55f471a9881">uspoof_checkUnicodeString</a></div><div class="ttdeci">int32_t uspoof_checkUnicodeString(const USpoofChecker *sc, const icu::UnicodeString &id, int32_t *position, UErrorCode *status)</div><div class="ttdoc">Check the specified string for possible security issues. </div></div> <div class="ttc" id="uspoof_8h_html_ab63b4f7780b1d6c57a31624ad5c3db41"><div class="ttname"><a href="uspoof_8h.html#ab63b4f7780b1d6c57a31624ad5c3db41">uspoof_close</a></div><div class="ttdeci">void uspoof_close(USpoofChecker *sc)</div><div class="ttdoc">Close a Spoof Checker, freeing any memory that was being held by its implementation. </div></div> <div class="ttc" id="uspoof_8h_html_a566eea7ea15156355085eb7ff5013852"><div class="ttname"><a href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852">URestrictionLevel</a></div><div class="ttdeci">URestrictionLevel</div><div class="ttdoc">Constants from UAX #39 for use in setRestrictionLevel(), and for returned identifier restriction leve...</div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00266">uspoof.h:266</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155a7324a51073ca18279da8706d8c21ee0c"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a7324a51073ca18279da8706d8c21ee0c">USPOOF_INVISIBLE</a></div><div class="ttdoc">Check an identifier for the presence of invisible characters, such as zero-width spaces, or character sequences that are likely not to display, such as multiple occurrences of the same non-spacing mark. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00221">uspoof.h:221</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155a68b7d294c1566c1f4a74e2b3a952a138"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a68b7d294c1566c1f4a74e2b3a952a138">USPOOF_SINGLE_SCRIPT</a></div><div class="ttdoc">Check that an identifier contains only characters from a single script (plus chars from the common an...</div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00212">uspoof.h:212</a></div></div> <div class="ttc" id="uspoof_8h_html_a1600b90af8fde36cf87d6c6be8df5af0"><div class="ttname"><a href="uspoof_8h.html#a1600b90af8fde36cf87d6c6be8df5af0">uspoof_setChecks</a></div><div class="ttdeci">void uspoof_setChecks(USpoofChecker *sc, int32_t checks, UErrorCode *status)</div><div class="ttdoc">Specify the set of checks that will be performed by the check functions of this Spoof Checker...</div></div> <div class="ttc" id="uspoof_8h_html_a5a6a3fff21c2aa515d3e16da47609a48"><div class="ttname"><a href="uspoof_8h.html#a5a6a3fff21c2aa515d3e16da47609a48">uspoof_clone</a></div><div class="ttdeci">USpoofChecker * uspoof_clone(const USpoofChecker *sc, UErrorCode *status)</div><div class="ttdoc">Clone a Spoof Checker. </div></div> <div class="ttc" id="uspoof_8h_html_a566eea7ea15156355085eb7ff5013852a262982208b89a2649d0f31ea48e46765"><div class="ttname"><a href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a262982208b89a2649d0f31ea48e46765">USPOOF_ASCII</a></div><div class="ttdoc">Only ASCII characters: U+0000..U+007F. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00272">uspoof.h:272</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155a3f3e13d5b54cc156864a2aca221b3888"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a3f3e13d5b54cc156864a2aca221b3888">USPOOF_CHAR_LIMIT</a></div><div class="ttdoc">Check that an identifier contains only characters from a specified set of acceptable characters...</div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00227">uspoof.h:227</a></div></div> <div class="ttc" id="uspoof_8h_html_a566eea7ea15156355085eb7ff5013852af1e2132b4067af2aec3460c679f7e598"><div class="ttname"><a href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af1e2132b4067af2aec3460c679f7e598">USPOOF_MINIMALLY_RESTRICTIVE</a></div><div class="ttdoc">Allow arbitrary mixtures of scripts. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00300">uspoof.h:300</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155">USpoofChecks</a></div><div class="ttdeci">USpoofChecks</div><div class="ttdoc">Enum for the kinds of checks that USpoofChecker can perform. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00154">uspoof.h:154</a></div></div> <div class="ttc" id="unistr_8h_html"><div class="ttname"><a href="unistr_8h.html">unistr.h</a></div><div class="ttdoc">C++ API: Unicode String. </div></div> <div class="ttc" id="uspoof_8h_html_afeff54ce632c1357e914334009becb62"><div class="ttname"><a href="uspoof_8h.html#afeff54ce632c1357e914334009becb62">uspoof_open</a></div><div class="ttdeci">USpoofChecker * uspoof_open(UErrorCode *status)</div><div class="ttdoc">Create a Unicode Spoof Checker, configured to perform all checks except for USPOOF_LOCALE_LIMIT and U...</div></div> <div class="ttc" id="uspoof_8h_html_aa6628f1b69565e660ecbb1f380ac72dc"><div class="ttname"><a href="uspoof_8h.html#aa6628f1b69565e660ecbb1f380ac72dc">uspoof_check</a></div><div class="ttdeci">int32_t uspoof_check(const USpoofChecker *sc, const UChar *id, int32_t length, int32_t *position, UErrorCode *status)</div><div class="ttdoc">Check the specified string for possible security issues. </div></div> <div class="ttc" id="uspoof_8h_html_aca1b0d0630a88af80c56e8205761f6a1"><div class="ttname"><a href="uspoof_8h.html#aca1b0d0630a88af80c56e8205761f6a1">uspoof_setAllowedLocales</a></div><div class="ttdeci">void uspoof_setAllowedLocales(USpoofChecker *sc, const char *localesList, UErrorCode *status)</div><div class="ttdoc">Limit characters that are acceptable in identifiers being checked to those normally used with the lan...</div></div> <div class="ttc" id="uspoof_8h_html_a11c9d7b315c2f4b1011619bd4df91cf8"><div class="ttname"><a href="uspoof_8h.html#a11c9d7b315c2f4b1011619bd4df91cf8">uspoof_getChecks</a></div><div class="ttdeci">int32_t uspoof_getChecks(const USpoofChecker *sc, UErrorCode *status)</div><div class="ttdoc">Get the set of checks that this Spoof Checker has been configured to perform. </div></div> <div class="ttc" id="uspoof_8h_html_a5332f41a9d13aec2cc115e6a24d08595"><div class="ttname"><a href="uspoof_8h.html#a5332f41a9d13aec2cc115e6a24d08595">uspoof_openFromSource</a></div><div class="ttdeci">USpoofChecker * uspoof_openFromSource(const char *confusables, int32_t confusablesLen, const char *confusablesWholeScript, int32_t confusablesWholeScriptLen, int32_t *errType, UParseError *pe, UErrorCode *status)</div><div class="ttdoc">Open a Spoof Checker from the source form of the spoof data. </div></div> <div class="ttc" id="uspoof_8h_html_a4d67fe2cfbff34474ad6d85a8135e785"><div class="ttname"><a href="uspoof_8h.html#a4d67fe2cfbff34474ad6d85a8135e785">uspoof_getRestrictionLevel</a></div><div class="ttdeci">URestrictionLevel uspoof_getRestrictionLevel(const USpoofChecker *sc)</div><div class="ttdoc">Get the Restriction Level that will be tested if the checks include RESTRICTION_LEVEL. </div></div> <div class="ttc" id="uspoof_8h_html_a882de7faa9049cb6c65f8a949a07a4e9"><div class="ttname"><a href="uspoof_8h.html#a882de7faa9049cb6c65f8a949a07a4e9">uspoof_getAllowedUnicodeSet</a></div><div class="ttdeci">const icu::UnicodeSet * uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status)</div><div class="ttdoc">Get a UnicodeSet for the characters permitted in an identifier. </div></div> <div class="ttc" id="uset_8h_html"><div class="ttname"><a href="uset_8h.html">uset.h</a></div><div class="ttdoc">C API: Unicode Set. </div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155a4450adc366e2178c451d89b2ea244123"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a4450adc366e2178c451d89b2ea244123">USPOOF_ALL_CHECKS</a></div><div class="ttdoc">Enable all spoof checks. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00242">uspoof.h:242</a></div></div> <div class="ttc" id="utypes_8h_html_ab9d90a30137b6ec046fe59e79b09745a"><div class="ttname"><a href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a></div><div class="ttdeci">#define U_I18N_API</div><div class="ttdoc">Set to export library symbols from inside the i18n library, and to import them from outside...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00358">utypes.h:358</a></div></div> <div class="ttc" id="uspoof_8h_html_a6693fd20b81ff5adf95b5798fbc818f1"><div class="ttname"><a href="uspoof_8h.html#a6693fd20b81ff5adf95b5798fbc818f1">uspoof_getRecommendedUnicodeSet</a></div><div class="ttdeci">const icu::UnicodeSet * uspoof_getRecommendedUnicodeSet(UErrorCode *status)</div><div class="ttdoc">Get the set of characters from Recommended Scripts for Inclusion in Identifiers, as defined in Unicod...</div></div> <div class="ttc" id="uspoof_8h_html_a66d450097ce8ceca668cbcf21196b9ad"><div class="ttname"><a href="uspoof_8h.html#a66d450097ce8ceca668cbcf21196b9ad">uspoof_areConfusableUnicodeString</a></div><div class="ttdeci">int32_t uspoof_areConfusableUnicodeString(const USpoofChecker *sc, const icu::UnicodeString &s1, const icu::UnicodeString &s2, UErrorCode *status)</div><div class="ttdoc">Check the whether two specified strings are visually confusable. </div></div> <div class="ttc" id="uversion_8h_html_a7d9374e037299886d4192b763b4c5e8b"><div class="ttname"><a href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b">U_NAMESPACE_BEGIN</a></div><div class="ttdeci">#define U_NAMESPACE_BEGIN</div><div class="ttdoc">This is used to begin a declaration of a public ICU C++ API. </div><div class="ttdef"><b>Definition:</b> <a href="uversion_8h_source.html#l00129">uversion.h:129</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155ae65a72b384e76f7ac1cc4df1decd8057"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155ae65a72b384e76f7ac1cc4df1decd8057">USPOOF_ANY_CASE</a></div><div class="ttdoc">Any Case Modifier for confusable identifier tests. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00189">uspoof.h:189</a></div></div> <div class="ttc" id="uspoof_8h_html_ac3c9dc9db498c19758e4144655919621"><div class="ttname"><a href="uspoof_8h.html#ac3c9dc9db498c19758e4144655919621">uspoof_checkUTF8</a></div><div class="ttdeci">int32_t uspoof_checkUTF8(const USpoofChecker *sc, const char *id, int32_t length, int32_t *position, UErrorCode *status)</div><div class="ttdoc">Check the specified string for possible security issues. </div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155abfc834ae8c881e54a7922648d5fecead"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155abfc834ae8c881e54a7922648d5fecead">USPOOF_WHOLE_SCRIPT_CONFUSABLE</a></div><div class="ttdoc">Whole script confusable test. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00181">uspoof.h:181</a></div></div> <div class="ttc" id="localpointer_8h_html_a3030f841466c4bbbd465ac9c4b999549"><div class="ttname"><a href="localpointer_8h.html#a3030f841466c4bbbd465ac9c4b999549">U_DEFINE_LOCAL_OPEN_POINTER</a></div><div class="ttdeci">#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)</div><div class="ttdoc">"Smart pointer" definition macro, deletes objects via the closeFunction. </div><div class="ttdef"><b>Definition:</b> <a href="localpointer_8h_source.html#l00290">localpointer.h:290</a></div></div> <div class="ttc" id="uspoof_8h_html_afe14cbde824abd936c704b15e397a015"><div class="ttname"><a href="uspoof_8h.html#afe14cbde824abd936c704b15e397a015">uspoof_getSkeletonUnicodeString</a></div><div class="ttdeci">U_I18N_API icu::UnicodeString & uspoof_getSkeletonUnicodeString(const USpoofChecker *sc, uint32_t type, const icu::UnicodeString &id, icu::UnicodeString &dest, UErrorCode *status)</div><div class="ttdoc">Get the "skeleton" for an identifier. </div></div> <div class="ttc" id="localpointer_8h_html"><div class="ttname"><a href="localpointer_8h.html">localpointer.h</a></div><div class="ttdoc">C++ API: "Smart pointers" for use with and in ICU4C C++ code. </div></div> <div class="ttc" id="uspoof_8h_html_ac534ff73614148bad6c93320101f0c47"><div class="ttname"><a href="uspoof_8h.html#ac534ff73614148bad6c93320101f0c47">uspoof_getSkeleton</a></div><div class="ttdeci">int32_t uspoof_getSkeleton(const USpoofChecker *sc, uint32_t type, const UChar *id, int32_t length, UChar *dest, int32_t destCapacity, UErrorCode *status)</div><div class="ttdoc">Get the "skeleton" for an identifier. </div></div> <div class="ttc" id="uspoof_8h_html_a566eea7ea15156355085eb7ff5013852a06d4bf8b1c05dca9a9ec69a0e926e117"><div class="ttname"><a href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a06d4bf8b1c05dca9a9ec69a0e926e117">USPOOF_MODERATELY_RESTRICTIVE</a></div><div class="ttdoc">Allow Latin with other scripts except Cyrillic, Greek, Cherokee Otherwise, the same as Highly Restric...</div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00294">uspoof.h:294</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155a0fbfe4596de0672faf4f0d4f01a823f6"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a0fbfe4596de0672faf4f0d4f01a823f6">USPOOF_MIXED_NUMBERS</a></div><div class="ttdoc">Check that an identifier does not include decimal digits from more than one numbering system...</div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00235">uspoof.h:235</a></div></div> <div class="ttc" id="uspoof_8h_html_abe089c3471eb52dbbd7268c3eb9db695"><div class="ttname"><a href="uspoof_8h.html#abe089c3471eb52dbbd7268c3eb9db695">uspoof_setAllowedChars</a></div><div class="ttdeci">void uspoof_setAllowedChars(USpoofChecker *sc, const USet *chars, UErrorCode *status)</div><div class="ttdoc">Limit the acceptable characters to those specified by a Unicode Set. </div></div> <div class="ttc" id="uspoof_8h_html_a566eea7ea15156355085eb7ff5013852a0488c3736f11d8808ac55f72a3c6bde2"><div class="ttname"><a href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a0488c3736f11d8808ac55f72a3c6bde2">USPOOF_SINGLE_SCRIPT_RESTRICTIVE</a></div><div class="ttdoc">All characters in each identifier must be from a single script. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00279">uspoof.h:279</a></div></div> <div class="ttc" id="uspoof_8h_html_a566eea7ea15156355085eb7ff5013852af6dda9229dc422d3e8e41a23a1251060"><div class="ttname"><a href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af6dda9229dc422d3e8e41a23a1251060">USPOOF_HIGHLY_RESTRICTIVE</a></div><div class="ttdoc">All characters in each identifier must be from a single script, or from the combinations: Latin + Han...</div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00288">uspoof.h:288</a></div></div> <div class="ttc" id="uspoof_8h_html_ab15e60d2aaaa9ea5d49eb4524c41fa9e"><div class="ttname"><a href="uspoof_8h.html#ab15e60d2aaaa9ea5d49eb4524c41fa9e">uspoof_getAllowedChars</a></div><div class="ttdeci">const USet * uspoof_getAllowedChars(const USpoofChecker *sc, UErrorCode *status)</div><div class="ttdoc">Get a USet for the characters permitted in an identifier. </div></div> <div class="ttc" id="uspoof_8h_html_aa13a3dd9f673f9df317948eecab1a346"><div class="ttname"><a href="uspoof_8h.html#aa13a3dd9f673f9df317948eecab1a346">uspoof_openFromSerialized</a></div><div class="ttdeci">USpoofChecker * uspoof_openFromSerialized(const void *data, int32_t length, int32_t *pActualLength, UErrorCode *pErrorCode)</div><div class="ttdoc">Open a Spoof checker from its serialized from, stored in 32-bit-aligned memory. </div></div> <div class="ttc" id="uspoof_8h_html_a09942c6a49df736928aa5a5c1d329a83"><div class="ttname"><a href="uspoof_8h.html#a09942c6a49df736928aa5a5c1d329a83">uspoof_getSkeletonUTF8</a></div><div class="ttdeci">int32_t uspoof_getSkeletonUTF8(const USpoofChecker *sc, uint32_t type, const char *id, int32_t length, char *dest, int32_t destCapacity, UErrorCode *status)</div><div class="ttdoc">Get the "skeleton" for an identifier. </div></div> <div class="ttc" id="classicu_1_1UnicodeSet_html"><div class="ttname"><a href="classicu_1_1UnicodeSet.html">icu::UnicodeSet</a></div><div class="ttdoc">A mutable set of Unicode characters and multicharacter strings. </div><div class="ttdef"><b>Definition:</b> <a href="uniset_8h_source.html#l00276">uniset.h:276</a></div></div> <div class="ttc" id="uspoof_8h_html_ad5e4927218c9e62595a67378cf6e371f"><div class="ttname"><a href="uspoof_8h.html#ad5e4927218c9e62595a67378cf6e371f">USpoofChecker</a></div><div class="ttdeci">struct USpoofChecker USpoofChecker</div><div class="ttdoc">typedef for C of USpoofChecker </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00145">uspoof.h:145</a></div></div> <div class="ttc" id="uspoof_8h_html_a808f6fefabd028ea78931f85ec634022"><div class="ttname"><a href="uspoof_8h.html#a808f6fefabd028ea78931f85ec634022">uspoof_serialize</a></div><div class="ttdeci">int32_t uspoof_serialize(USpoofChecker *sc, void *data, int32_t capacity, UErrorCode *status)</div><div class="ttdoc">Serialize the data for a spoof detector into a chunk of memory. </div></div> <div class="ttc" id="classLocalUSpoofCheckerPointer_html"><div class="ttname"><a href="classLocalUSpoofCheckerPointer.html">LocalUSpoofCheckerPointer</a></div><div class="ttdoc">"Smart pointer" class, closes a USpoofChecker via uspoof_close(). </div></div> <div class="ttc" id="uspoof_8h_html_a27b9d377dbbfa2f8d678a9d3e46b546b"><div class="ttname"><a href="uspoof_8h.html#a27b9d377dbbfa2f8d678a9d3e46b546b">uspoof_setRestrictionLevel</a></div><div class="ttdeci">void uspoof_setRestrictionLevel(USpoofChecker *sc, URestrictionLevel restrictionLevel)</div><div class="ttdoc">Set the loosest restriction level allowed. </div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155adc4588fd7ff74c3a6e5cc91d3a6f5d60"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155adc4588fd7ff74c3a6e5cc91d3a6f5d60">USPOOF_SINGLE_SCRIPT_CONFUSABLE</a></div><div class="ttdoc">Single script confusable test. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00160">uspoof.h:160</a></div></div> <div class="ttc" id="umachine_8h_html_a6bb9fad572d65b305324ef288165e2ac"><div class="ttname"><a href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a></div><div class="ttdeci">uint16_t UChar</div><div class="ttdoc">Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...</div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00278">umachine.h:278</a></div></div> <div class="ttc" id="uversion_8h_html_a3da1f00f3b02976ac53c014a3e4c0933"><div class="ttname"><a href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933">U_NAMESPACE_END</a></div><div class="ttdeci">#define U_NAMESPACE_END</div><div class="ttdoc">This is used to end a declaration of a public ICU C++ API. </div><div class="ttdef"><b>Definition:</b> <a href="uversion_8h_source.html#l00130">uversion.h:130</a></div></div> <div class="ttc" id="ucnv_8h_html_adce3fef7c15d7c78196bf977ac96ec9c"><div class="ttname"><a href="ucnv_8h.html#adce3fef7c15d7c78196bf977ac96ec9c">USet</a></div><div class="ttdeci">struct USet USet</div><div class="ttdef"><b>Definition:</b> <a href="ucnv_8h_source.html#l00067">ucnv.h:67</a></div></div> <div class="ttc" id="parseerr_8h_html"><div class="ttname"><a href="parseerr_8h.html">parseerr.h</a></div><div class="ttdoc">C API: Parse Error Information. </div></div> <div class="ttc" id="uspoof_8h_html_ae6f653c41a24abee03afb24e22d93466"><div class="ttname"><a href="uspoof_8h.html#ae6f653c41a24abee03afb24e22d93466">uspoof_areConfusableUTF8</a></div><div class="ttdeci">int32_t uspoof_areConfusableUTF8(const USpoofChecker *sc, const char *id1, int32_t length1, const char *id2, int32_t length2, UErrorCode *status)</div><div class="ttdoc">Check the whether two specified strings are visually confusable. </div></div> <div class="ttc" id="uspoof_8h_html_ae9105b5d6d3dd326dcfd60fe3730f5d0"><div class="ttname"><a href="uspoof_8h.html#ae9105b5d6d3dd326dcfd60fe3730f5d0">uspoof_getAllowedLocales</a></div><div class="ttdeci">const char * uspoof_getAllowedLocales(USpoofChecker *sc, UErrorCode *status)</div><div class="ttdoc">Get a list of locales for the scripts that are acceptable in strings to be checked. </div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78c"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a></div><div class="ttdeci">UErrorCode</div><div class="ttdoc">Error code to replace exception handling, so that the code is compatible with all C++ compilers...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00476">utypes.h:476</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155a76a60327ab14a68342242aae60340106"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a76a60327ab14a68342242aae60340106">USPOOF_MIXED_SCRIPT_CONFUSABLE</a></div><div class="ttdoc">Mixed script confusable test. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00170">uspoof.h:170</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155aa7307e5bdc933ceba391fbbc22b382ab"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155aa7307e5bdc933ceba391fbbc22b382ab">USPOOF_AUX_INFO</a></div><div class="ttdoc">Enable the return of auxillary (non-error) information in the upper bits of the check results value...</div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00256">uspoof.h:256</a></div></div> <div class="ttc" id="uspoof_8h_html_a0dbd60e53a571689baf65c63f4de8155a1977848d7ccac6f3640fa684b452f69a"><div class="ttname"><a href="uspoof_8h.html#a0dbd60e53a571689baf65c63f4de8155a1977848d7ccac6f3640fa684b452f69a">USPOOF_RESTRICTION_LEVEL</a></div><div class="ttdoc">Check that an identifier is no looser than the specified RestrictionLevel. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00204">uspoof.h:204</a></div></div> <div class="ttc" id="uspoof_8h_html_a6193792292d9ead15f9832fcef6a704b"><div class="ttname"><a href="uspoof_8h.html#a6193792292d9ead15f9832fcef6a704b">uspoof_setAllowedUnicodeSet</a></div><div class="ttdeci">void uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const icu::UnicodeSet *chars, UErrorCode *status)</div><div class="ttdoc">Limit the acceptable characters to those specified by a Unicode Set. </div></div> <div class="ttc" id="structUParseError_html"><div class="ttname"><a href="structUParseError.html">UParseError</a></div><div class="ttdoc">A UParseError struct is used to returned detailed information about parsing errors. </div><div class="ttdef"><b>Definition:</b> <a href="parseerr_8h_source.html#l00056">parseerr.h:56</a></div></div> <div class="ttc" id="utypes_8h_html"><div class="ttname"><a href="utypes_8h.html">utypes.h</a></div><div class="ttdoc">Basic definitions for ICU, for both C and C++ APIs. </div></div> <div class="ttc" id="uspoof_8h_html_a566eea7ea15156355085eb7ff5013852a900ac32a2451a70f42c424445f0f3b6f"><div class="ttname"><a href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852a900ac32a2451a70f42c424445f0f3b6f">USPOOF_RESTRICTION_LEVEL_MASK</a></div><div class="ttdoc">Mask for selecting the Restriction Level bits from the return value of uspoof_check(). </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00313">uspoof.h:313</a></div></div> <div class="ttc" id="uspoof_8h_html_a0eda41b7dffbb123fa62ac1271eee721"><div class="ttname"><a href="uspoof_8h.html#a0eda41b7dffbb123fa62ac1271eee721">uspoof_getRecommendedSet</a></div><div class="ttdeci">const USet * uspoof_getRecommendedSet(UErrorCode *status)</div><div class="ttdoc">Get the set of characters from Recommended Scripts for Inclusion in Identifiers, as defined in Unicod...</div></div> <div class="ttc" id="uspoof_8h_html_a566eea7ea15156355085eb7ff5013852af8c3d86392c0d18d51b05390483a036e"><div class="ttname"><a href="uspoof_8h.html#a566eea7ea15156355085eb7ff5013852af8c3d86392c0d18d51b05390483a036e">USPOOF_UNRESTRICTIVE</a></div><div class="ttdoc">Any valid identifiers, including characters outside of the Identifier Profile. </div><div class="ttdef"><b>Definition:</b> <a href="uspoof_8h_source.html#l00306">uspoof.h:306</a></div></div> <div class="ttc" id="uspoof_8h_html_ac96fdf642bfd9efcd0d9956bd76cadaa"><div class="ttname"><a href="uspoof_8h.html#ac96fdf642bfd9efcd0d9956bd76cadaa">uspoof_areConfusable</a></div><div class="ttdeci">int32_t uspoof_areConfusable(const USpoofChecker *sc, const UChar *id1, int32_t length1, const UChar *id2, int32_t length2, UErrorCode *status)</div><div class="ttdoc">Check the whether two specified strings are visually confusable. </div></div> <div class="ttc" id="classicu_1_1UnicodeString_html"><div class="ttname"><a href="classicu_1_1UnicodeString.html">icu::UnicodeString</a></div><div class="ttdoc">UnicodeString is a string class that stores Unicode characters directly and provides similar function...</div><div class="ttdef"><b>Definition:</b> <a href="unistr_8h_source.html#l00245">unistr.h:245</a></div></div> <div class="ttc" id="umachine_8h_html_a41691e68155dca13bc1f020fa30dac82"><div class="ttname"><a href="umachine_8h.html#a41691e68155dca13bc1f020fa30dac82">U_DRAFT</a></div><div class="ttdeci">#define U_DRAFT</div><div class="ttdoc">This is used to declare a function as a draft public ICU C API. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00111">umachine.h:111</a></div></div> <div class="ttc" id="umachine_8h_html_af3e3799716eaa41e3f49c7bf18c62b98"><div class="ttname"><a href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a></div><div class="ttdeci">#define U_STABLE</div><div class="ttdoc">This is used to declare a function as a stable public ICU C API. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00109">umachine.h:109</a></div></div> <div class="ttc" id="uniset_8h_html"><div class="ttname"><a href="uniset_8h.html">uniset.h</a></div><div class="ttdoc">C++ API: Unicode Set. </div></div> </div><!-- fragment --></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.6 </small></address> </body> </html>