Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-updates > by-pkgid > 67d6f1fcdf59eeb6f1363fc33c40091c > files > 1403

icu-doc-53.1-12.6.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ICU 53.1: usprep.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 53.1
   &#160;<span id="projectnumber">53.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <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>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><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_55bf5c6bcedc2c5705af95fc7596ac50.html">icu</a></li><li class="navelem"><a class="el" href="dir_17c4e3d278dd0be6889e0e8c41145d45.html">source</a></li><li class="navelem"><a class="el" href="dir_9d30126de01c6acabed440c3eefed2e6.html">common</a></li><li class="navelem"><a class="el" href="dir_09927d28e4089b088d7b70dcc744d58d.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</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">usprep.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C API: Implements the StringPrep algorithm.  
<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="usprep_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceicu"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceicu.html">icu</a></td></tr>
<tr class="memdesc:namespaceicu"><td class="mdescLeft">&#160;</td><td class="mdescRight">File <a class="el" href="coll_8h.html" title="C++ API: Collation Service. ">coll.h</a>. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ab5702434a76b6a260d200d2380166625"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#ab5702434a76b6a260d200d2380166625">USPREP_DEFAULT</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:ab5702434a76b6a260d200d2380166625"><td class="mdescLeft">&#160;</td><td class="mdescRight">Option to prohibit processing of unassigned code points in the input.  <a href="#ab5702434a76b6a260d200d2380166625">More...</a><br/></td></tr>
<tr class="separator:ab5702434a76b6a260d200d2380166625"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7b59be4f9636e3c43015642ff34f2c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#ab7b59be4f9636e3c43015642ff34f2c2">USPREP_ALLOW_UNASSIGNED</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ab7b59be4f9636e3c43015642ff34f2c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Option to allow processing of unassigned code points in the input.  <a href="#ab7b59be4f9636e3c43015642ff34f2c2">More...</a><br/></td></tr>
<tr class="separator:ab7b59be4f9636e3c43015642ff34f2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a725d11d0c462858ee0845710f7e1e2c2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a></td></tr>
<tr class="memdesc:a725d11d0c462858ee0845710f7e1e2c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">StringPrep API implements the StingPrep framework as described by RFC 3454.  <a href="#a725d11d0c462858ee0845710f7e1e2c2">More...</a><br/></td></tr>
<tr class="separator:a725d11d0c462858ee0845710f7e1e2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a209ea87521349c614a3ad3c8e2efff2f"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158">UStringPrepProfileType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#a209ea87521349c614a3ad3c8e2efff2f">UStringPrepProfileType</a></td></tr>
<tr class="memdesc:a209ea87521349c614a3ad3c8e2efff2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">enums for the standard stringprep profile types supported by usprep_openByType.  <a href="#a209ea87521349c614a3ad3c8e2efff2f">More...</a><br/></td></tr>
<tr class="separator:a209ea87521349c614a3ad3c8e2efff2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a9cfa8a892882421a8b67087b09650158"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158">UStringPrepProfileType</a> { <br/>
&#160;&#160;<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158add2cb41011bb83a450365d4a64f1ab9c">USPREP_RFC3491_NAMEPREP</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a358129952b212ff22dfb9f82756e0a09">USPREP_RFC3530_NFS4_CS_PREP</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a830fdd177933f8832dfe721c8459c301">USPREP_RFC3530_NFS4_CS_PREP_CI</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a9526ec098dbb60edc5efd8d489ff5c8a">USPREP_RFC3530_NFS4_CIS_PREP</a>, 
<br/>
&#160;&#160;<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158aaa9b70ca503fcecde5b687177cc8a8e2">USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a2e8d4f8d42d4a0d12d74d16cc43c19bd">USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a3bdad3f602216d3f894cc14aefb377b2">USPREP_RFC3722_ISCSI</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a949424813fad4724db4cb041a2d2eab5">USPREP_RFC3920_NODEPREP</a>, 
<br/>
&#160;&#160;<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158ab6eb3ba15c6fc00f9c559be34bace7b2">USPREP_RFC3920_RESOURCEPREP</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a1fc4f2071a071d6f77ec1ad14f0c3168">USPREP_RFC4011_MIB</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a8de3b8ca7d3a7e60b5892cdadc721ccb">USPREP_RFC4013_SASLPREP</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a28e473bbcd279bb6ba4b3a046063304e">USPREP_RFC4505_TRACE</a>, 
<br/>
&#160;&#160;<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a88f4ecb99d8d48847c10aa6ddee27fd3">USPREP_RFC4518_LDAP</a>, 
<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158a3f352d3878e7ba97f351fef792009876">USPREP_RFC4518_LDAP_CI</a>
<br/>
 }</td></tr>
<tr class="memdesc:a9cfa8a892882421a8b67087b09650158"><td class="mdescLeft">&#160;</td><td class="mdescRight">enums for the standard stringprep profile types supported by usprep_openByType.  <a href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158">More...</a><br/></td></tr>
<tr class="separator:a9cfa8a892882421a8b67087b09650158"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a04f460592db2472edb6cb2a5375453e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#a04f460592db2472edb6cb2a5375453e3">usprep_open</a> (const char *path, const char *fileName, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a04f460592db2472edb6cb2a5375453e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a StringPrep profile from the data file.  <a href="#a04f460592db2472edb6cb2a5375453e3">More...</a><br/></td></tr>
<tr class="separator:a04f460592db2472edb6cb2a5375453e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dfc83ef46e649c73f0ffdb44b0ab6bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#a6dfc83ef46e649c73f0ffdb44b0ab6bb">usprep_openByType</a> (<a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158">UStringPrepProfileType</a> type, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a6dfc83ef46e649c73f0ffdb44b0ab6bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a StringPrep profile for the specified profile type.  <a href="#a6dfc83ef46e649c73f0ffdb44b0ab6bb">More...</a><br/></td></tr>
<tr class="separator:a6dfc83ef46e649c73f0ffdb44b0ab6bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9565aad7868978f947a4dc01899bdd0d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#a9565aad7868978f947a4dc01899bdd0d">usprep_close</a> (<a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a> *profile)</td></tr>
<tr class="memdesc:a9565aad7868978f947a4dc01899bdd0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the profile.  <a href="#a9565aad7868978f947a4dc01899bdd0d">More...</a><br/></td></tr>
<tr class="separator:a9565aad7868978f947a4dc01899bdd0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3585603689e2aaee39fd2a5d1b7578ad"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="usprep_8h.html#a3585603689e2aaee39fd2a5d1b7578ad">usprep_prepare</a> (const <a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a> *prep, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, int32_t srcLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, int32_t destCapacity, int32_t 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:a3585603689e2aaee39fd2a5d1b7578ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepare the input buffer for use in applications with the given profile.  <a href="#a3585603689e2aaee39fd2a5d1b7578ad">More...</a><br/></td></tr>
<tr class="separator:a3585603689e2aaee39fd2a5d1b7578ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>C API: Implements the StringPrep algorithm. </p>

<p>Definition in file <a class="el" href="usprep_8h_source.html">usprep.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ab7b59be4f9636e3c43015642ff34f2c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define USPREP_ALLOW_UNASSIGNED&#160;&#160;&#160;0x0001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Option to allow processing of unassigned code points in the input. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="usprep_8h.html#a3585603689e2aaee39fd2a5d1b7578ad" title="Prepare the input buffer for use in applications with the given profile. ">usprep_prepare</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002531">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

<p>Definition at line <a class="el" href="usprep_8h_source.html#l00085">85</a> of file <a class="el" href="usprep_8h_source.html">usprep.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab5702434a76b6a260d200d2380166625"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define USPREP_DEFAULT&#160;&#160;&#160;0x0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Option to prohibit processing of unassigned code points in the input. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="usprep_8h.html#a3585603689e2aaee39fd2a5d1b7578ad" title="Prepare the input buffer for use in applications with the given profile. ">usprep_prepare</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002530">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

<p>Definition at line <a class="el" href="usprep_8h_source.html#l00077">77</a> of file <a class="el" href="usprep_8h_source.html">usprep.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a725d11d0c462858ee0845710f7e1e2c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a> <a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>StringPrep API implements the StingPrep framework as described by RFC 3454. </p>
<p>StringPrep prepares Unicode strings for use in network protocols. Profiles of StingPrep are set of rules and data according to with the Unicode Strings are prepared. Each profiles contains tables which describe how a code point should be treated. The tables are broadly classied into </p>
<ul>
<li>
Unassinged Table: Contains code points that are unassigned in the Unicode Version supported by StringPrep. Currently RFC 3454 supports Unicode 3.2.  </li>
<li>
Prohibited Table: Contains code points that are prohibted from the output of the StringPrep processing function.  </li>
<li>
Mapping Table: Contains code ponts that are deleted from the output or case mapped.  </li>
</ul>
<p>The procedure for preparing Unicode strings: </p>
<ol>
<li>
Map: For each character in the input, check if it has a mapping and, if so, replace it with its mapping.  </li>
<li>
Normalize: Possibly normalize the result of step 1 using Unicode normalization.  </li>
<li>
Prohibit: Check for any characters that are not allowed in the output. If any are found, return an error. </li>
<li>
Check bidi: Possibly check for right-to-left characters, and if any are found, make sure that the whole string satisfies the requirements for bidirectional strings. If the string does not satisfy the requirements for bidirectional strings, return an error.  </li>
</ol>
<dl class="section author"><dt>Author</dt><dd>Ram Viswanadha The StringPrep profile </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002529">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

<p>Definition at line <a class="el" href="usprep_8h_source.html#l00068">68</a> of file <a class="el" href="usprep_8h_source.html">usprep.h</a>.</p>

</div>
</div>
<a class="anchor" id="a209ea87521349c614a3ad3c8e2efff2f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158">UStringPrepProfileType</a>  <a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158">UStringPrepProfileType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>enums for the standard stringprep profile types supported by usprep_openByType. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="usprep_8h.html#a6dfc83ef46e649c73f0ffdb44b0ab6bb" title="Creates a StringPrep profile for the specified profile type. ">usprep_openByType</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002532">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

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

<p>enums for the standard stringprep profile types supported by usprep_openByType. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="usprep_8h.html#a6dfc83ef46e649c73f0ffdb44b0ab6bb" title="Creates a StringPrep profile for the specified profile type. ">usprep_openByType</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002532">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158add2cb41011bb83a450365d4a64f1ab9c"></a>USPREP_RFC3491_NAMEPREP</em>&#160;</td><td class="fielddoc">
<p>RFC3491 Nameprep. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002537">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a358129952b212ff22dfb9f82756e0a09"></a>USPREP_RFC3530_NFS4_CS_PREP</em>&#160;</td><td class="fielddoc">
<p>RFC3530 nfs4_cs_prep. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002538">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a830fdd177933f8832dfe721c8459c301"></a>USPREP_RFC3530_NFS4_CS_PREP_CI</em>&#160;</td><td class="fielddoc">
<p>RFC3530 nfs4_cs_prep with case insensitive option. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002539">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a9526ec098dbb60edc5efd8d489ff5c8a"></a>USPREP_RFC3530_NFS4_CIS_PREP</em>&#160;</td><td class="fielddoc">
<p>RFC3530 nfs4_cis_prep. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002540">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158aaa9b70ca503fcecde5b687177cc8a8e2"></a>USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX</em>&#160;</td><td class="fielddoc">
<p>RFC3530 nfs4_mixed_prep for prefix. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002541">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a2e8d4f8d42d4a0d12d74d16cc43c19bd"></a>USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX</em>&#160;</td><td class="fielddoc">
<p>RFC3530 nfs4_mixed_prep for suffix. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002542">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a3bdad3f602216d3f894cc14aefb377b2"></a>USPREP_RFC3722_ISCSI</em>&#160;</td><td class="fielddoc">
<p>RFC3722 iSCSI. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002543">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a949424813fad4724db4cb041a2d2eab5"></a>USPREP_RFC3920_NODEPREP</em>&#160;</td><td class="fielddoc">
<p>RFC3920 XMPP Nodeprep. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002544">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158ab6eb3ba15c6fc00f9c559be34bace7b2"></a>USPREP_RFC3920_RESOURCEPREP</em>&#160;</td><td class="fielddoc">
<p>RFC3920 XMPP Resourceprep. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002545">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a1fc4f2071a071d6f77ec1ad14f0c3168"></a>USPREP_RFC4011_MIB</em>&#160;</td><td class="fielddoc">
<p>RFC4011 Policy MIB Stringprep. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002546">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a8de3b8ca7d3a7e60b5892cdadc721ccb"></a>USPREP_RFC4013_SASLPREP</em>&#160;</td><td class="fielddoc">
<p>RFC4013 SASLprep. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002547">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a28e473bbcd279bb6ba4b3a046063304e"></a>USPREP_RFC4505_TRACE</em>&#160;</td><td class="fielddoc">
<p>RFC4505 trace. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002548">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a88f4ecb99d8d48847c10aa6ddee27fd3"></a>USPREP_RFC4518_LDAP</em>&#160;</td><td class="fielddoc">
<p>RFC4518 LDAP. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002549">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a9cfa8a892882421a8b67087b09650158a3f352d3878e7ba97f351fef792009876"></a>USPREP_RFC4518_LDAP_CI</em>&#160;</td><td class="fielddoc">
<p>RFC4518 LDAP for case ignore, numeric and stored prefix matching rules. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002550">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</td></tr>
</table>

<p>Definition at line <a class="el" href="usprep_8h_source.html#l00093">93</a> of file <a class="el" href="usprep_8h_source.html">usprep.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a9565aad7868978f947a4dc01899bdd0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void usprep_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a> *&#160;</td>
          <td class="paramname"><em>profile</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Closes the profile. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">profile</td><td>The profile to close </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002535">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a04f460592db2472edb6cb2a5375453e3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a>* usprep_open </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fileName</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>Creates a StringPrep profile from the data file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>string containing the full path pointing to the directory where the profile reside followed by the package name e.g. "/usr/resource/my_app/profiles/mydata" on a Unix system. if NULL, ICU default data files will be used. </td></tr>
    <tr><td class="paramname">fileName</td><td>name of the profile file to be opened </td></tr>
    <tr><td class="paramname">status</td><td>ICU error code in/out parameter. Must not be NULL. Must fulfill U_SUCCESS before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to UStringPrepProfile that is opened. Should be closed by calling <a class="el" href="usprep_8h.html#a9565aad7868978f947a4dc01899bdd0d" title="Closes the profile. ">usprep_close()</a> </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="usprep_8h.html#a9565aad7868978f947a4dc01899bdd0d" title="Closes the profile. ">usprep_close()</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002533">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a6dfc83ef46e649c73f0ffdb44b0ab6bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a>* usprep_openByType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="usprep_8h.html#a9cfa8a892882421a8b67087b09650158">UStringPrepProfileType</a>&#160;</td>
          <td class="paramname"><em>type</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>Creates a StringPrep profile for the specified profile type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>The profile type </td></tr>
    <tr><td class="paramname">status</td><td>ICU error code in/out parameter. Must not be NULL. Must fulfill U_SUCCESS before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to UStringPrepProfile that is opened. Should be closed by calling <a class="el" href="usprep_8h.html#a9565aad7868978f947a4dc01899bdd0d" title="Closes the profile. ">usprep_close()</a> </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="usprep_8h.html#a9565aad7868978f947a4dc01899bdd0d" title="Closes the profile. ">usprep_close()</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002534">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

</div>
</div>
<a class="anchor" id="a3585603689e2aaee39fd2a5d1b7578ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t usprep_prepare </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="usprep_8h.html#a725d11d0c462858ee0845710f7e1e2c2">UStringPrepProfile</a> *&#160;</td>
          <td class="paramname"><em>prep</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>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#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">int32_t&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#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>Prepare the input buffer for use in applications with the given profile. </p>
<p>This operation maps, normalizes(NFKC), checks for prohited and BiDi characters in the order defined by RFC 3454 depending on the options specified in the profile.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">prep</td><td>The profile to use </td></tr>
    <tr><td class="paramname">src</td><td>Pointer to UChar buffer containing the string to prepare </td></tr>
    <tr><td class="paramname">srcLength</td><td>Number of characters in the source string </td></tr>
    <tr><td class="paramname">dest</td><td>Pointer to the destination buffer to receive the output </td></tr>
    <tr><td class="paramname">destCapacity</td><td>The capacity of destination array </td></tr>
    <tr><td class="paramname">options</td><td>A bit set of options:</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>USPREP_NONE Prohibit processing of unassigned code points in the input</li>
<li>USPREP_ALLOW_UNASSIGNED Treat the unassigned code points are in the input as normal Unicode code points.</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 number of UChars in the destination buffer </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002536">Stable:</a></b></dt><dd>ICU 2.8 </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.6
</small></address>
</body>
</html>