Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > 0508df3f0f31cdc1fec017f60572b2b0 > files > 990

libicu-doc-4.8.1.1-5.fc17.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"/>
<title>ICU 4.8.1.1: uidna.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/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 4.8.1.1
   &#160;<span id="projectnumber">4.8.1.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<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&#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="annotated.html"><span>Data&#160;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&#160;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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</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_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_f59c6450ff718ff1b085cfd1c36acbd7.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#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">uidna.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C API: Internationalizing Domain Names in Applications (<a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a>)  
<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/>
<code>#include &quot;<a class="el" href="localpointer_8h_source.html">unicode/localpointer.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="parseerr_8h_source.html">unicode/parseerr.h</a>&quot;</code><br/>
</div>
<p><a href="uidna_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><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="structUIDNAInfo.html">UIDNAInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output container for <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing errors.  <a href="structUIDNAInfo.html#details">More...</a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a4d3da5919e4a9f1142d622212c156bcb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a4d3da5919e4a9f1142d622212c156bcb">UIDNA_INFO_INITIALIZER</a></td></tr>
<tr class="memdesc:a4d3da5919e4a9f1142d622212c156bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static initializer for a <a class="el" href="structUIDNAInfo.html" title="Output container for IDNA processing errors.">UIDNAInfo</a> struct.  <a href="#a4d3da5919e4a9f1142d622212c156bcb"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a58b6c70b0b7aad538aae49323aa12ec2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a></td></tr>
<tr class="memdesc:a58b6c70b0b7aad538aae49323aa12ec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">C typedef for struct UIDNA.  <a href="#a58b6c70b0b7aad538aae49323aa12ec2"></a><br/></td></tr>
<tr class="memitem:a94aa1e322dbdd3e7d370871ceb2823c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94aa1e322dbdd3e7d370871ceb2823c0"></a>
typedef struct <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><b>UIDNAInfo</b></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a726ca809ffd3d67ab4b8476646f26635"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="uidna_8h.html#a726ca809ffd3d67ab4b8476646f26635aa1eb63014cdaf41c7ea6cf3abecf1169">UIDNA_DEFAULT</a> = 0, 
<a class="el" href="uidna_8h.html#a726ca809ffd3d67ab4b8476646f26635a40c036f35732a85a90d042ca285a563f">UIDNA_ALLOW_UNASSIGNED</a> = 1, 
<a class="el" href="uidna_8h.html#a726ca809ffd3d67ab4b8476646f26635a9d76f3ecebbbfb03f760298d47ad8eb9">UIDNA_USE_STD3_RULES</a> = 2, 
<a class="el" href="uidna_8h.html#a726ca809ffd3d67ab4b8476646f26635a8f194e81cea21963d7025ccf3ec85dd8">UIDNA_CHECK_BIDI</a> = 4, 
<br/>
&#160;&#160;<a class="el" href="uidna_8h.html#a726ca809ffd3d67ab4b8476646f26635a285a3c3c35593244b4b1d3682298c54d">UIDNA_CHECK_CONTEXTJ</a> = 8, 
<a class="el" href="uidna_8h.html#a726ca809ffd3d67ab4b8476646f26635a3a10cd9aeb86fca0e3085a9fc896ede6">UIDNA_NONTRANSITIONAL_TO_ASCII</a> = 0x10, 
<a class="el" href="uidna_8h.html#a726ca809ffd3d67ab4b8476646f26635ab42e158cb8c671b266b9f90355ec2f0c">UIDNA_NONTRANSITIONAL_TO_UNICODE</a> = 0x20
<br/>
 }</td></tr>
<tr class="memitem:a0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dadd2c08d0f91b5b18bd37701f315721c9">UIDNA_ERROR_EMPTY_LABEL</a> = 1, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da5071eb574ee6087ed7850c4e5f307ba4">UIDNA_ERROR_LABEL_TOO_LONG</a> = 2, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dacb4f47fc8696d6ee4b31395fd6607a97">UIDNA_ERROR_DOMAIN_NAME_TOO_LONG</a> = 4, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dad753902b7d5783e75fb3d99505635b5a">UIDNA_ERROR_LEADING_HYPHEN</a> = 8, 
<br/>
&#160;&#160;<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da113fce683a4fd12b13885dab16e2bc0a">UIDNA_ERROR_TRAILING_HYPHEN</a> = 0x10, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da9bebae6483c78a9a4b608ba55f4ad367">UIDNA_ERROR_HYPHEN_3_4</a> = 0x20, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da390a6b3d9844a1dcc1f99fb1ae478ecf">UIDNA_ERROR_LEADING_COMBINING_MARK</a> = 0x40, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da807994d718b83ebd8420294cdb398077">UIDNA_ERROR_DISALLOWED</a> = 0x80, 
<br/>
&#160;&#160;<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2daa1514abc5f09fcccd28645301a913834">UIDNA_ERROR_PUNYCODE</a> = 0x100, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da89151c238639213d4859dee188977d9e">UIDNA_ERROR_LABEL_HAS_DOT</a> = 0x200, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2dafd70a49037cf9f9107485f279c4e6cba">UIDNA_ERROR_INVALID_ACE_LABEL</a> = 0x400, 
<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da8a9311811fb0f3db1644ac1a88056370">UIDNA_ERROR_BIDI</a> = 0x800, 
<br/>
&#160;&#160;<a class="el" href="uidna_8h.html#a0411cd49bb5b71852cecd93bcbf0ca2da800f864474cc5ab7fa304031aaf10043">UIDNA_ERROR_CONTEXTJ</a> = 0x1000
<br/>
 }</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a38d2029aa876f04bfe6ae8b2d5471662"><td class="memItemLeft" align="right" valign="top"><a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a38d2029aa876f04bfe6ae8b2d5471662">uidna_openUTS46</a> (<a class="el" href="pwin32_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> options, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a38d2029aa876f04bfe6ae8b2d5471662"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a UIDNA instance which implements UTS #46.  <a href="#a38d2029aa876f04bfe6ae8b2d5471662"></a><br/></td></tr>
<tr class="memitem:a6a28b8f09fc9c2c8016aba5f10f4edcf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a6a28b8f09fc9c2c8016aba5f10f4edcf">uidna_close</a> (<a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna)</td></tr>
<tr class="memdesc:a6a28b8f09fc9c2c8016aba5f10f4edcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes a UIDNA instance.  <a href="#a6a28b8f09fc9c2c8016aba5f10f4edcf"></a><br/></td></tr>
<tr class="memitem:ad6a9112dff13a1e67faaa1d3bbf51d2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#ad6a9112dff13a1e67faaa1d3bbf51d2f">uidna_labelToASCII</a> (const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *label, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *pInfo, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:ad6a9112dff13a1e67faaa1d3bbf51d2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a single domain name label into its ASCII form for DNS lookup.  <a href="#ad6a9112dff13a1e67faaa1d3bbf51d2f"></a><br/></td></tr>
<tr class="memitem:aae6f618913aa4029ea7bcb6af7d4860e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#aae6f618913aa4029ea7bcb6af7d4860e">uidna_labelToUnicode</a> (const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *label, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *pInfo, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:aae6f618913aa4029ea7bcb6af7d4860e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a single domain name label into its Unicode form for human-readable display.  <a href="#aae6f618913aa4029ea7bcb6af7d4860e"></a><br/></td></tr>
<tr class="memitem:a9cc0383836cc8b73d14e86d5014ee7ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a9cc0383836cc8b73d14e86d5014ee7ae">uidna_nameToASCII</a> (const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *name, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *pInfo, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a9cc0383836cc8b73d14e86d5014ee7ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a whole domain name into its ASCII form for DNS lookup.  <a href="#a9cc0383836cc8b73d14e86d5014ee7ae"></a><br/></td></tr>
<tr class="memitem:a4a6ddb43b9e5078eb3f90bc6fafa3e30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a4a6ddb43b9e5078eb3f90bc6fafa3e30">uidna_nameToUnicode</a> (const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *name, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *pInfo, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a4a6ddb43b9e5078eb3f90bc6fafa3e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a whole domain name into its Unicode form for human-readable display.  <a href="#a4a6ddb43b9e5078eb3f90bc6fafa3e30"></a><br/></td></tr>
<tr class="memitem:ac3d23c2283d9b465dd2b17902ff0d405"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#ac3d23c2283d9b465dd2b17902ff0d405">uidna_labelToASCII_UTF8</a> (const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna, const char *label, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, char *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *pInfo, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:ac3d23c2283d9b465dd2b17902ff0d405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a single domain name label into its ASCII form for DNS lookup.  <a href="#ac3d23c2283d9b465dd2b17902ff0d405"></a><br/></td></tr>
<tr class="memitem:a450410e781b4ce83557396ce5f026b2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a450410e781b4ce83557396ce5f026b2b">uidna_labelToUnicodeUTF8</a> (const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna, const char *label, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, char *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *pInfo, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a450410e781b4ce83557396ce5f026b2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a single domain name label into its Unicode form for human-readable display.  <a href="#a450410e781b4ce83557396ce5f026b2b"></a><br/></td></tr>
<tr class="memitem:a87a8f1c1b3d5048406ce3ecb80b17c6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a87a8f1c1b3d5048406ce3ecb80b17c6c">uidna_nameToASCII_UTF8</a> (const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna, const char *name, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, char *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *pInfo, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a87a8f1c1b3d5048406ce3ecb80b17c6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a whole domain name into its ASCII form for DNS lookup.  <a href="#a87a8f1c1b3d5048406ce3ecb80b17c6c"></a><br/></td></tr>
<tr class="memitem:a61648a995cff1f8d626df1c16ad4f3b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a61648a995cff1f8d626df1c16ad4f3b8">uidna_nameToUnicodeUTF8</a> (const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *idna, const char *name, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, char *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *pInfo, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a61648a995cff1f8d626df1c16ad4f3b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a whole domain name into its Unicode form for human-readable display.  <a href="#a61648a995cff1f8d626df1c16ad4f3b8"></a><br/></td></tr>
<tr class="memitem:aaf3bec2415dd99b4221eeebb723eb082"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#aaf3bec2415dd99b4221eeebb723eb082">uidna_toASCII</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> srcLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> destCapacity, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> options, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:aaf3bec2415dd99b4221eeebb723eb082"><td class="mdescLeft">&#160;</td><td class="mdescRight">IDNA2003: This function implements the ToASCII operation as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC.  <a href="#aaf3bec2415dd99b4221eeebb723eb082"></a><br/></td></tr>
<tr class="memitem:affc23ca4aea3c6e5150024e5fd5a5b2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#affc23ca4aea3c6e5150024e5fd5a5b2d">uidna_toUnicode</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> srcLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> destCapacity, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> options, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:affc23ca4aea3c6e5150024e5fd5a5b2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">IDNA2003: This function implements the ToUnicode operation as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC.  <a href="#affc23ca4aea3c6e5150024e5fd5a5b2d"></a><br/></td></tr>
<tr class="memitem:a711fa1d2e6dd25d7368f5b3ea2aaedc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a711fa1d2e6dd25d7368f5b3ea2aaedc6">uidna_IDNToASCII</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> srcLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> destCapacity, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> options, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a711fa1d2e6dd25d7368f5b3ea2aaedc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">IDNA2003: Convenience function that implements the IDNToASCII operation as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC.  <a href="#a711fa1d2e6dd25d7368f5b3ea2aaedc6"></a><br/></td></tr>
<tr class="memitem:acf38e44019d4eb5a7dd903284fdb18e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#acf38e44019d4eb5a7dd903284fdb18e3">uidna_IDNToUnicode</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> srcLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> destCapacity, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> options, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:acf38e44019d4eb5a7dd903284fdb18e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">IDNA2003: Convenience function that implements the IDNToUnicode operation as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC.  <a href="#acf38e44019d4eb5a7dd903284fdb18e3"></a><br/></td></tr>
<tr class="memitem:a89b089341501d76335772d8b26ffe0db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uidna_8h.html#a89b089341501d76335772d8b26ffe0db">uidna_compare</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *s1, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length1, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *s2, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length2, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> options, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a89b089341501d76335772d8b26ffe0db"><td class="mdescLeft">&#160;</td><td class="mdescRight">IDNA2003: Compare two IDN strings for equivalence.  <a href="#a89b089341501d76335772d8b26ffe0db"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>C API: Internationalizing Domain Names in Applications (<a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a>) </p>
<p>IDNA2008 is implemented according to UTS #46, see the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> C++ class in <a class="el" href="idna_8h.html" title="C++ API: Internationalizing Domain Names in Applications (IDNA)">idna.h</a>.</p>
<p>The C API functions which do take a UIDNA * service object pointer implement UTS #46 and IDNA2008. The C API functions which do not take a service object pointer implement IDNA2003. </p>

<p>Definition in file <a class="el" href="uidna_8h_source.html">uidna.h</a>.</p>
</div><hr/><h2>Macro Definition Documentation</h2>
<a class="anchor" id="a4d3da5919e4a9f1142d622212c156bcb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UIDNA_INFO_INITIALIZER</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div>
<div class="line">    (<a class="code" href="pwin32_8h.html#a269259c924dce846340ddbb810db2e3c" title="Define 64 bit limits.">int16_t</a>)<span class="keyword">sizeof</span>(<a class="code" href="structUIDNAInfo.html" title="Output container for IDNA processing errors.">UIDNAInfo</a>), \</div>
<div class="line">    FALSE, <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1" title="The FALSE value of a UBool.">FALSE</a>, \</div>
<div class="line">    0, 0, 0 }</div>
</div><!-- fragment -->
<p>Static initializer for a <a class="el" href="structUIDNAInfo.html" title="Output container for IDNA processing errors.">UIDNAInfo</a> struct. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000199">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

<p>Definition at line <a class="el" href="uidna_8h_source.html#l00183">183</a> of file <a class="el" href="uidna_8h_source.html">uidna.h</a>.</p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a58b6c70b0b7aad538aae49323aa12ec2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>C typedef for struct UIDNA. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000195">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

<p>Definition at line <a class="el" href="uidna_8h_source.html#l00099">99</a> of file <a class="el" href="uidna_8h_source.html">uidna.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635aa1eb63014cdaf41c7ea6cf3abecf1169"></a>UIDNA_DEFAULT</em>&nbsp;</td><td>
<p>Default options value: None of the other options are set. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001299">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a40c036f35732a85a90d042ca285a563f"></a>UIDNA_ALLOW_UNASSIGNED</em>&nbsp;</td><td>
<p>Option to allow unassigned code points in domain names and labels. </p>
<p>This option is ignored by the UTS46 implementation. (UTS #46 disallows unassigned code points.) </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001300">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a9d76f3ecebbbfb03f760298d47ad8eb9"></a>UIDNA_USE_STD3_RULES</em>&nbsp;</td><td>
<p>Option to check whether the input conforms to the STD3 ASCII rules, for example the restriction of labels to LDH characters (ASCII Letters, Digits and Hyphen-Minus). </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001301">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a8f194e81cea21963d7025ccf3ec85dd8"></a>UIDNA_CHECK_BIDI</em>&nbsp;</td><td>
<p><a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> option to check for whether the input conforms to the BiDi rules. </p>
<p>This option is ignored by the IDNA2003 implementation. (IDNA2003 always performs a BiDi check.) </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000208">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a285a3c3c35593244b4b1d3682298c54d"></a>UIDNA_CHECK_CONTEXTJ</em>&nbsp;</td><td>
<p><a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> option to check for whether the input conforms to the CONTEXTJ rules. </p>
<p>This option is ignored by the IDNA2003 implementation. (The CONTEXTJ check is new in IDNA2008.) </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000209">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635a3a10cd9aeb86fca0e3085a9fc896ede6"></a>UIDNA_NONTRANSITIONAL_TO_ASCII</em>&nbsp;</td><td>
<p><a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> option for nontransitional processing in ToASCII(). </p>
<p>By default, ToASCII() uses transitional processing. This option is ignored by the IDNA2003 implementation. (This is only relevant for compatibility of newer <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> implementations with IDNA2003.) </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000210">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a726ca809ffd3d67ab4b8476646f26635ab42e158cb8c671b266b9f90355ec2f0c"></a>UIDNA_NONTRANSITIONAL_TO_UNICODE</em>&nbsp;</td><td>
<p><a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> option for nontransitional processing in ToUnicode(). </p>
<p>By default, ToUnicode() uses transitional processing. This option is ignored by the IDNA2003 implementation. (This is only relevant for compatibility of newer <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> implementations with IDNA2003.) </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000211">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="uidna_8h_source.html#l00042">42</a> of file <a class="el" href="uidna_8h_source.html">uidna.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2dadd2c08d0f91b5b18bd37701f315721c9"></a>UIDNA_ERROR_EMPTY_LABEL</em>&nbsp;</td><td>
<p>A non-final domain name label (or the whole domain name) is empty. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000215">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da5071eb574ee6087ed7850c4e5f307ba4"></a>UIDNA_ERROR_LABEL_TOO_LONG</em>&nbsp;</td><td>
<p>A domain name label is longer than 63 bytes. </p>
<p>(See STD13/RFC1034 3.1. Name space specifications and terminology.) This is only checked in ToASCII operations, and only if the output label is all-ASCII. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000216">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2dacb4f47fc8696d6ee4b31395fd6607a97"></a>UIDNA_ERROR_DOMAIN_NAME_TOO_LONG</em>&nbsp;</td><td>
<p>A domain name is longer than 255 bytes in its storage form. </p>
<p>(See STD13/RFC1034 3.1. Name space specifications and terminology.) This is only checked in ToASCII operations, and only if the output domain name is all-ASCII. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000217">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2dad753902b7d5783e75fb3d99505635b5a"></a>UIDNA_ERROR_LEADING_HYPHEN</em>&nbsp;</td><td>
<p>A label starts with a hyphen-minus ('-'). </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000218">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da113fce683a4fd12b13885dab16e2bc0a"></a>UIDNA_ERROR_TRAILING_HYPHEN</em>&nbsp;</td><td>
<p>A label ends with a hyphen-minus ('-'). </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000219">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da9bebae6483c78a9a4b608ba55f4ad367"></a>UIDNA_ERROR_HYPHEN_3_4</em>&nbsp;</td><td>
<p>A label contains hyphen-minus ('-') in the third and fourth positions. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000220">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da390a6b3d9844a1dcc1f99fb1ae478ecf"></a>UIDNA_ERROR_LEADING_COMBINING_MARK</em>&nbsp;</td><td>
<p>A label starts with a combining mark. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000221">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da807994d718b83ebd8420294cdb398077"></a>UIDNA_ERROR_DISALLOWED</em>&nbsp;</td><td>
<p>A label or domain name contains disallowed characters. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000222">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2daa1514abc5f09fcccd28645301a913834"></a>UIDNA_ERROR_PUNYCODE</em>&nbsp;</td><td>
<p>A label starts with "xn--" but does not contain valid Punycode. </p>
<p>That is, an xn&ndash; label failed Punycode decoding. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000223">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da89151c238639213d4859dee188977d9e"></a>UIDNA_ERROR_LABEL_HAS_DOT</em>&nbsp;</td><td>
<p>A label contains a dot=full stop. </p>
<p>This can occur in an input string for a single-label function. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000224">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2dafd70a49037cf9f9107485f279c4e6cba"></a>UIDNA_ERROR_INVALID_ACE_LABEL</em>&nbsp;</td><td>
<p>An ACE label does not contain a valid label string. </p>
<p>The label was successfully ACE (Punycode) decoded but the resulting string had severe validation errors. For example, it might contain characters that are not allowed in ACE labels, or it might not be normalized. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000225">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da8a9311811fb0f3db1644ac1a88056370"></a>UIDNA_ERROR_BIDI</em>&nbsp;</td><td>
<p>A label does not meet the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> BiDi requirements (for right-to-left characters). </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000226">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0411cd49bb5b71852cecd93bcbf0ca2da800f864474cc5ab7fa304031aaf10043"></a>UIDNA_ERROR_CONTEXTJ</em>&nbsp;</td><td>
<p>A label does not meet the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> CONTEXTJ requirements. </p>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000227">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="uidna_8h_source.html#l00399">399</a> of file <a class="el" href="uidna_8h_source.html">uidna.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a6a28b8f09fc9c2c8016aba5f10f4edcf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uidna_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Closes a UIDNA instance. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance to be closed </td></tr>
  </table>
  </dd>
</dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000197">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a89b089341501d76335772d8b26ffe0db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_compare </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length1</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>s2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>options</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>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IDNA2003: Compare two IDN strings for equivalence. </p>
<p>This function splits the domain names into labels and compares them. According to IDN RFC, whenever two labels are compared, they are considered equal if and only if their ASCII forms (obtained by applying toASCII) match using an case-insensitive ASCII comparison. Two domain names are considered a match if and only if all labels match regardless of whether label separators match.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">s1</td><td>First source string. </td></tr>
    <tr><td class="paramname">length1</td><td>Length of first source string, or -1 if NUL-terminated.</td></tr>
    <tr><td class="paramname">s2</td><td>Second source string. </td></tr>
    <tr><td class="paramname">length2</td><td>Length of second source string, or -1 if NUL-terminated. </td></tr>
    <tr><td class="paramname">options</td><td>A bit set of options:</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points and do not use STD3 ASCII rules If unassigned code points are found the operation fails with U_UNASSIGNED_CODE_POINT_FOUND error code.</li>
</ul>
<ul>
<li>UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations If this option is set, the unassigned code points are in the input are treated as normal Unicode code points.</li>
</ul>
<ul>
<li>UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions If this option is set and the input does not satisfy STD3 rules, the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR</li>
</ul>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>ICU error code in/out parameter. Must fulfill U_SUCCESS before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>&lt;0 or 0 or &gt;0 as usual for string comparisons </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001298">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a711fa1d2e6dd25d7368f5b3ea2aaedc6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_IDNToASCII </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> *&#160;</td>
          <td class="paramname"><em>parseError</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>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IDNA2003: Convenience function that implements the IDNToASCII operation as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC. </p>
<p>This operation is done on complete domain names, e.g: "www.example.com". It is important to note that this operation can fail. If it fails, then the input domain name cannot be used as an Internationalized Domain Name and the application should have methods defined to deal with the failure.</p>
<p><b>Note:</b> <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC specifies that a conformant application should divide a domain name into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each, and then convert. This function does not offer that level of granularity. The options once set will apply to all labels in the domain name</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">src</td><td>Input UChar array containing IDN in Unicode. </td></tr>
    <tr><td class="paramname">srcLength</td><td>Number of UChars in src, or -1 if NUL-terminated. </td></tr>
    <tr><td class="paramname">dest</td><td>Output UChar array with ASCII (ACE encoded) IDN. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>Size of dest. </td></tr>
    <tr><td class="paramname">options</td><td>A bit set of options:</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points and do not use STD3 ASCII rules If unassigned code points are found the operation fails with U_UNASSIGNED_CODE_POINT_FOUND error code.</li>
</ul>
<ul>
<li>UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations If this option is set, the unassigned code points are in the input are treated as normal Unicode code points.</li>
</ul>
<ul>
<li>UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions If this option is set and the input does not satisfy STD3 rules, the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR</li>
</ul>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">parseError</td><td>Pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> struct to receive information on position of error if an error is encountered. Can be NULL. </td></tr>
    <tr><td class="paramname">status</td><td>ICU in/out error code parameter. U_INVALID_CHAR_FOUND if src contains unmatched single surrogates. U_INDEX_OUTOFBOUNDS_ERROR if src contains too many code points. U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001296">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>

</div>
</div>
<a class="anchor" id="acf38e44019d4eb5a7dd903284fdb18e3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_IDNToUnicode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> *&#160;</td>
          <td class="paramname"><em>parseError</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>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IDNA2003: Convenience function that implements the IDNToUnicode operation as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC. </p>
<p>This operation is done on complete domain names, e.g: "www.example.com".</p>
<p><b>Note:</b> <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC specifies that a conformant application should divide a domain name into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each, and then convert. This function does not offer that level of granularity. The options once set will apply to all labels in the domain name</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">src</td><td>Input UChar array containing IDN in ASCII (ACE encoded) form. </td></tr>
    <tr><td class="paramname">srcLength</td><td>Number of UChars in src, or -1 if NUL-terminated. </td></tr>
    <tr><td class="paramname">dest</td><td>Output UChar array containing Unicode equivalent of source IDN. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>Size of dest. </td></tr>
    <tr><td class="paramname">options</td><td>A bit set of options:</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points and do not use STD3 ASCII rules If unassigned code points are found the operation fails with U_UNASSIGNED_CODE_POINT_FOUND error code.</li>
</ul>
<ul>
<li>UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations If this option is set, the unassigned code points are in the input are treated as normal Unicode code points.</li>
</ul>
<ul>
<li>UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions If this option is set and the input does not satisfy STD3 rules, the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR</li>
</ul>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">parseError</td><td>Pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> struct to receive information on position of error if an error is encountered. Can be NULL. </td></tr>
    <tr><td class="paramname">status</td><td>ICU in/out error code parameter. U_INVALID_CHAR_FOUND if src contains unmatched single surrogates. U_INDEX_OUTOFBOUNDS_ERROR if src contains too many code points. U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001297">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>

</div>
</div>
<a class="anchor" id="ad6a9112dff13a1e67faaa1d3bbf51d2f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_labelToASCII </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</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>label</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#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#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *&#160;</td>
          <td class="paramname"><em>pInfo</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts a single domain name label into its ASCII form for DNS lookup. </p>
<p>If any processing step fails, then pInfo-&gt;errors will be non-zero and the result might not be an ASCII string. The label might be modified according to the types of errors. Labels with severe errors will be left in (or turned into) their Unicode form.</p>
<p>The UErrorCode indicates an error only in exceptional cases, such as a U_MEMORY_ALLOCATION_ERROR.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance </td></tr>
    <tr><td class="paramname">label</td><td>Input domain name label </td></tr>
    <tr><td class="paramname">length</td><td>Label length, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>Destination string buffer </td></tr>
    <tr><td class="paramname">capacity</td><td>Destination buffer capacity </td></tr>
    <tr><td class="paramname">pInfo</td><td>Output container of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing details. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>destination string length </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000200">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="ac3d23c2283d9b465dd2b17902ff0d405"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_labelToASCII_UTF8 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>label</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *&#160;</td>
          <td class="paramname"><em>pInfo</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts a single domain name label into its ASCII form for DNS lookup. </p>
<p>UTF-8 version of <a class="el" href="uidna_8h.html#ad6a9112dff13a1e67faaa1d3bbf51d2f" title="Converts a single domain name label into its ASCII form for DNS lookup.">uidna_labelToASCII()</a>, same behavior.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance </td></tr>
    <tr><td class="paramname">label</td><td>Input domain name label </td></tr>
    <tr><td class="paramname">length</td><td>Label length, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>Destination string buffer </td></tr>
    <tr><td class="paramname">capacity</td><td>Destination buffer capacity </td></tr>
    <tr><td class="paramname">pInfo</td><td>Output container of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing details. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>destination string length </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000204">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="aae6f618913aa4029ea7bcb6af7d4860e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_labelToUnicode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</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>label</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#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#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *&#160;</td>
          <td class="paramname"><em>pInfo</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts a single domain name label into its Unicode form for human-readable display. </p>
<p>If any processing step fails, then pInfo-&gt;errors will be non-zero. The label might be modified according to the types of errors.</p>
<p>The UErrorCode indicates an error only in exceptional cases, such as a U_MEMORY_ALLOCATION_ERROR.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance </td></tr>
    <tr><td class="paramname">label</td><td>Input domain name label </td></tr>
    <tr><td class="paramname">length</td><td>Label length, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>Destination string buffer </td></tr>
    <tr><td class="paramname">capacity</td><td>Destination buffer capacity </td></tr>
    <tr><td class="paramname">pInfo</td><td>Output container of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing details. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>destination string length </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000201">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a450410e781b4ce83557396ce5f026b2b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_labelToUnicodeUTF8 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>label</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *&#160;</td>
          <td class="paramname"><em>pInfo</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts a single domain name label into its Unicode form for human-readable display. </p>
<p>UTF-8 version of <a class="el" href="uidna_8h.html#aae6f618913aa4029ea7bcb6af7d4860e" title="Converts a single domain name label into its Unicode form for human-readable display.">uidna_labelToUnicode()</a>, same behavior.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance </td></tr>
    <tr><td class="paramname">label</td><td>Input domain name label </td></tr>
    <tr><td class="paramname">length</td><td>Label length, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>Destination string buffer </td></tr>
    <tr><td class="paramname">capacity</td><td>Destination buffer capacity </td></tr>
    <tr><td class="paramname">pInfo</td><td>Output container of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing details. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>destination string length </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000205">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a9cc0383836cc8b73d14e86d5014ee7ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_nameToASCII </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</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>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#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#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *&#160;</td>
          <td class="paramname"><em>pInfo</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts a whole domain name into its ASCII form for DNS lookup. </p>
<p>If any processing step fails, then pInfo-&gt;errors will be non-zero and the result might not be an ASCII string. The domain name might be modified according to the types of errors. Labels with severe errors will be left in (or turned into) their Unicode form.</p>
<p>The UErrorCode indicates an error only in exceptional cases, such as a U_MEMORY_ALLOCATION_ERROR.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance </td></tr>
    <tr><td class="paramname">name</td><td>Input domain name </td></tr>
    <tr><td class="paramname">length</td><td>Domain name length, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>Destination string buffer </td></tr>
    <tr><td class="paramname">capacity</td><td>Destination buffer capacity </td></tr>
    <tr><td class="paramname">pInfo</td><td>Output container of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing details. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>destination string length </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000202">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a87a8f1c1b3d5048406ce3ecb80b17c6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_nameToASCII_UTF8 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *&#160;</td>
          <td class="paramname"><em>pInfo</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts a whole domain name into its ASCII form for DNS lookup. </p>
<p>UTF-8 version of <a class="el" href="uidna_8h.html#a9cc0383836cc8b73d14e86d5014ee7ae" title="Converts a whole domain name into its ASCII form for DNS lookup.">uidna_nameToASCII()</a>, same behavior.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance </td></tr>
    <tr><td class="paramname">name</td><td>Input domain name </td></tr>
    <tr><td class="paramname">length</td><td>Domain name length, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>Destination string buffer </td></tr>
    <tr><td class="paramname">capacity</td><td>Destination buffer capacity </td></tr>
    <tr><td class="paramname">pInfo</td><td>Output container of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing details. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>destination string length </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000206">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a4a6ddb43b9e5078eb3f90bc6fafa3e30"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_nameToUnicode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</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>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#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#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *&#160;</td>
          <td class="paramname"><em>pInfo</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts a whole domain name into its Unicode form for human-readable display. </p>
<p>If any processing step fails, then pInfo-&gt;errors will be non-zero. The domain name might be modified according to the types of errors.</p>
<p>The UErrorCode indicates an error only in exceptional cases, such as a U_MEMORY_ALLOCATION_ERROR.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance </td></tr>
    <tr><td class="paramname">name</td><td>Input domain name </td></tr>
    <tr><td class="paramname">length</td><td>Domain name length, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>Destination string buffer </td></tr>
    <tr><td class="paramname">capacity</td><td>Destination buffer capacity </td></tr>
    <tr><td class="paramname">pInfo</td><td>Output container of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing details. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>destination string length </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000203">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a61648a995cff1f8d626df1c16ad4f3b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_nameToUnicodeUTF8 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a> *&#160;</td>
          <td class="paramname"><em>idna</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUIDNAInfo.html">UIDNAInfo</a> *&#160;</td>
          <td class="paramname"><em>pInfo</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Converts a whole domain name into its Unicode form for human-readable display. </p>
<p>UTF-8 version of <a class="el" href="uidna_8h.html#a4a6ddb43b9e5078eb3f90bc6fafa3e30" title="Converts a whole domain name into its Unicode form for human-readable display.">uidna_nameToUnicode()</a>, same behavior.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">idna</td><td>UIDNA instance </td></tr>
    <tr><td class="paramname">name</td><td>Input domain name </td></tr>
    <tr><td class="paramname">length</td><td>Domain name length, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>Destination string buffer </td></tr>
    <tr><td class="paramname">capacity</td><td>Destination buffer capacity </td></tr>
    <tr><td class="paramname">pInfo</td><td>Output container of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> processing details. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>destination string length </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000207">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a38d2029aa876f04bfe6ae8b2d5471662"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="uidna_8h.html#a58b6c70b0b7aad538aae49323aa12ec2">UIDNA</a>* uidna_openUTS46 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
          <td class="paramname"><em>options</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>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a UIDNA instance which implements UTS #46. </p>
<p>Returns an unmodifiable instance, owned by the caller. Cache it for multiple operations, and <a class="el" href="uidna_8h.html#a6a28b8f09fc9c2c8016aba5f10f4edcf" title="Closes a UIDNA instance.">uidna_close()</a> it when done. The instance is thread-safe, that is, it can be used concurrently.</p>
<p>For details about the UTS #46 implementation see the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> C++ class in <a class="el" href="idna_8h.html" title="C++ API: Internationalizing Domain Names in Applications (IDNA)">idna.h</a>.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">options</td><td>Bit set to modify the processing and error checking. See option bit set values in <a class="el" href="uidna_8h.html" title="C API: Internationalizing Domain Names in Applications (IDNA)">uidna.h</a>. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the UTS #46 UIDNA instance, if successful </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000196">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="aaf3bec2415dd99b4221eeebb723eb082"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_toASCII </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> *&#160;</td>
          <td class="paramname"><em>parseError</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>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IDNA2003: This function implements the ToASCII operation as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC. </p>
<p>This operation is done on <b>single labels</b> before sending it to something that expects ASCII names. A label is an individual part of a domain name. Labels are usually separated by dots; e.g. "www.example.com" is composed of 3 labels "www","example", and "com".</p>
<p>IDNA2003 API Overview:</p>
<p>The uidna_ API implements the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> protocol as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC (<a href="http://www.ietf.org/rfc/rfc3490.txt">http://www.ietf.org/rfc/rfc3490.txt</a>). The RFC defines 2 operations: ToASCII and ToUnicode. Domain name labels containing non-ASCII code points are processed by the ToASCII operation before passing it to resolver libraries. Domain names that are obtained from resolver libraries are processed by the ToUnicode operation before displaying the domain name to the user. <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> requires that implementations process input strings with Nameprep (<a href="http://www.ietf.org/rfc/rfc3491.txt">http://www.ietf.org/rfc/rfc3491.txt</a>), which is a profile of Stringprep (<a href="http://www.ietf.org/rfc/rfc3454.txt">http://www.ietf.org/rfc/rfc3454.txt</a>), and then with Punycode (<a href="http://www.ietf.org/rfc/rfc3492.txt">http://www.ietf.org/rfc/rfc3492.txt</a>). Implementations of <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> MUST fully implement Nameprep and Punycode; neither Nameprep nor Punycode are optional. The input and output of ToASCII and ToUnicode operations are Unicode and are designed to be chainable, i.e., applying ToASCII or ToUnicode operations multiple times to an input string will yield the same result as applying the operation once. ToUnicode(ToUnicode(ToUnicode...(ToUnicode(string)))) == ToUnicode(string) ToASCII(ToASCII(ToASCII...(ToASCII(string))) == ToASCII(string).</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">src</td><td>Input UChar array containing label in Unicode. </td></tr>
    <tr><td class="paramname">srcLength</td><td>Number of UChars in src, or -1 if NUL-terminated. </td></tr>
    <tr><td class="paramname">dest</td><td>Output UChar array with ASCII (ACE encoded) label. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>Size of dest. </td></tr>
    <tr><td class="paramname">options</td><td>A bit set of options:</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points and do not use STD3 ASCII rules If unassigned code points are found the operation fails with U_UNASSIGNED_ERROR error code.</li>
</ul>
<ul>
<li>UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations If this option is set, the unassigned code points are in the input are treated as normal Unicode code points.</li>
</ul>
<ul>
<li>UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions If this option is set and the input does not satisfy STD3 rules, the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR</li>
</ul>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">parseError</td><td>Pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> struct to receive information on position of error if an error is encountered. Can be NULL. </td></tr>
    <tr><td class="paramname">status</td><td>ICU in/out error code parameter. U_INVALID_CHAR_FOUND if src contains unmatched single surrogates. U_INDEX_OUTOFBOUNDS_ERROR if src contains too many code points. U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001294">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>

</div>
</div>
<a class="anchor" id="affc23ca4aea3c6e5150024e5fd5a5b2d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> uidna_toUnicode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> *&#160;</td>
          <td class="paramname"><em>parseError</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>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IDNA2003: This function implements the ToUnicode operation as defined in the <a class="el" href="classIDNA.html" title="Abstract base class for IDNA processing.">IDNA</a> RFC. </p>
<p>This operation is done on <b>single labels</b> before sending it to something that expects Unicode names. A label is an individual part of a domain name. Labels are usually separated by dots; for e.g. "www.example.com" is composed of 3 labels "www","example", and "com".</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">src</td><td>Input UChar array containing ASCII (ACE encoded) label. </td></tr>
    <tr><td class="paramname">srcLength</td><td>Number of UChars in src, or -1 if NUL-terminated. </td></tr>
    <tr><td class="paramname">dest</td><td>Output Converted UChar array containing Unicode equivalent of label. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>Size of dest. </td></tr>
    <tr><td class="paramname">options</td><td>A bit set of options:</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points and do not use STD3 ASCII rules If unassigned code points are found the operation fails with U_UNASSIGNED_ERROR error code.</li>
</ul>
<ul>
<li>UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations If this option is set, the unassigned code points are in the input are treated as normal Unicode code points. <b> Note: </b> This option is required on toUnicode operation because the RFC mandates verification of decoded ACE input by applying toASCII and comparing its output with source</li>
</ul>
<ul>
<li>UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions If this option is set and the input does not satisfy STD3 rules, the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR</li>
</ul>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">parseError</td><td>Pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> struct to receive information on position of error if an error is encountered. Can be NULL. </td></tr>
    <tr><td class="paramname">status</td><td>ICU in/out error code parameter. U_INVALID_CHAR_FOUND if src contains unmatched single surrogates. U_INDEX_OUTOFBOUNDS_ERROR if src contains too many code points. U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001295">Stable:</a></b></dt><dd>ICU 2.6 </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.1.1
</small></address>
</body>
</html>