<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.11"/> <title>ICU 58.2: icuplug.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">ICU 58.2  <span id="projectnumber">58.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_b2f33c71d4aa5e7af42a1ca61ff5af1b.html">source</a></li><li class="navelem"><a class="el" href="dir_30087b5439e04c85304dbcf15650710b.html">common</a></li><li class="navelem"><a class="el" href="dir_8bf9c54ed6ca2fd1e2117fb037e4ad06.html">unicode</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">icuplug.h</div> </div> </div><!--header--> <div class="contents"> <a href="icuplug_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Copyright (C) 2016 and later: Unicode, Inc. and others.</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// License & terms of use: http://www.unicode.org/copyright.html</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">******************************************************************************</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">*</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">* Copyright (C) 2009-2015, International Business Machines</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">* Corporation and others. All Rights Reserved.</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">*</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">******************************************************************************</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">*</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">* FILE NAME : icuplug.h</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">*</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">* Date Name Description</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">* 10/29/2009 sl New.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">******************************************************************************</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">*/</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#ifndef ICUPLUG_H</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#define ICUPLUG_H</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor">#if UCONFIG_ENABLE_PLUGINS</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* === Basic types === */</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">struct </span>UPlugData;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>UPlugData UPlugData;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a9ebfab37dc49e05e92c2855d9f535499"> 137</a></span> <span class="preprocessor">#define UPLUG_TOKEN 0x54762486</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a997e2042a74e315546a530cfcfa2c689"> 143</a></span> <span class="preprocessor">#define UPLUG_NAME_MAX 100</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a06027633088210b16f97fe8808354690"> 152</a></span> <span class="keyword">typedef</span> uint32_t <a class="code" href="icuplug_8h.html#a06027633088210b16f97fe8808354690">UPlugTokenReturn</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51"> 158</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a9bd7f50a704eba1e0dac10ea2a9de8f9"> 159</a></span>  <a class="code" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a9bd7f50a704eba1e0dac10ea2a9de8f9">UPLUG_REASON_QUERY</a> = 0, </div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a33a9555aa913e2962b4d12b775cd51e9"> 160</a></span>  <a class="code" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a33a9555aa913e2962b4d12b775cd51e9">UPLUG_REASON_LOAD</a> = 1, </div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a4f4e402d6a3de8486c642ba3ed708b0d"> 161</a></span>  <a class="code" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a4f4e402d6a3de8486c642ba3ed708b0d">UPLUG_REASON_UNLOAD</a> = 2, </div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a1ad486aa416e71df0b1932ff75cf46f4"> 166</a></span>  <a class="code" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a1ad486aa416e71df0b1932ff75cf46f4">UPLUG_REASON_COUNT</a></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> } <a class="code" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51">UPlugReason</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9c"> 177</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca07af9c4da9ef4dda7756ecb3ce0e39ec"> 178</a></span>  <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca07af9c4da9ef4dda7756ecb3ce0e39ec">UPLUG_LEVEL_INVALID</a> = 0, </div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca859ce6b48afa0293b7efd40c10b2c1ae"> 179</a></span>  <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca859ce6b48afa0293b7efd40c10b2c1ae">UPLUG_LEVEL_UNKNOWN</a> = 1, </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9cafa33c66cbc81f460ff15a344988bf40e"> 180</a></span>  <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9cafa33c66cbc81f460ff15a344988bf40e">UPLUG_LEVEL_LOW</a> = 2, </div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9caa8959468203b731fe6976ca4cfa696e1"> 181</a></span>  <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9caa8959468203b731fe6976ca4cfa696e1">UPLUG_LEVEL_HIGH</a> = 3, </div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca2ce23f95ec3831d2740c3f953cf485da"> 186</a></span>  <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca2ce23f95ec3831d2740c3f953cf485da">UPLUG_LEVEL_COUNT</a></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> } <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9c">UPlugLevel</a>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="icuplug_8h.html#a9f763f2c2f75edb77f69ce9ca1425357"> 196</a></span> <span class="keyword">typedef</span> <a class="code" href="icuplug_8h.html#a06027633088210b16f97fe8808354690">UPlugTokenReturn</a> (U_EXPORT2 <a class="code" href="icuplug_8h.html#a9f763f2c2f75edb77f69ce9ca1425357">UPlugEntrypoint</a>) (</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  UPlugData *plug,</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51">UPlugReason</a> reason,</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/* === Needed for Implementing === */</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keywordtype">void</span> U_EXPORT2 </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <a class="code" href="icuplug_8h.html#a33226a66ae91b6a0f42a036c83f60318">uplug_setPlugNoUnload</a>(UPlugData *plug, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> dontUnload);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keywordtype">void</span> U_EXPORT2</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <a class="code" href="icuplug_8h.html#add743706906c9c29f9469ba1195f6b65">uplug_setPlugLevel</a>(UPlugData *plug, <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9c">UPlugLevel</a> level);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9c">UPlugLevel</a> U_EXPORT2</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <a class="code" href="icuplug_8h.html#a5ba44152d2d98b7ec87f770110c9aff4">uplug_getPlugLevel</a>(UPlugData *plug);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <a class="code" href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9c">UPlugLevel</a> U_EXPORT2</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <a class="code" href="icuplug_8h.html#afc7aeaa736c86a9a1748a364327cfe63">uplug_getCurrentLevel</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> U_EXPORT2</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <a class="code" href="icuplug_8h.html#a0b2f678c117bf14e399fb5b387856a84">uplug_getPlugLoadStatus</a>(UPlugData *plug); </div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keywordtype">void</span> U_EXPORT2</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <a class="code" href="icuplug_8h.html#ae950185aea52d1d156884234f3aa87b1">uplug_setPlugName</a>(UPlugData *plug, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * U_EXPORT2</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <a class="code" href="icuplug_8h.html#a0ee4dea13fb998e619e3e9f957d1661a">uplug_getPlugName</a>(UPlugData *plug);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * U_EXPORT2</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <a class="code" href="icuplug_8h.html#aec49d8d5bc3dc5c5e4150179752aa97e">uplug_getSymbolName</a>(UPlugData *plug);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * U_EXPORT2</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <a class="code" href="icuplug_8h.html#a17f479d23a4469b55c30c7a86d018799">uplug_getLibraryName</a>(UPlugData *plug, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keywordtype">void</span> * U_EXPORT2</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <a class="code" href="icuplug_8h.html#add2bbbaf8104bfbbeac0a647970f1129">uplug_getLibrary</a>(UPlugData *plug);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keywordtype">void</span> * U_EXPORT2</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <a class="code" href="icuplug_8h.html#a2437c8d84c526461ac0a3fc33e802862">uplug_getContext</a>(UPlugData *plug);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keywordtype">void</span> U_EXPORT2</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <a class="code" href="icuplug_8h.html#a75dea887a134177913c9e994a3c49a68">uplug_setContext</a>(UPlugData *plug, <span class="keywordtype">void</span> *context);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * U_EXPORT2</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <a class="code" href="icuplug_8h.html#a8c42deb99ef0a2dd0a515afb523e1e4c">uplug_getConfiguration</a>(UPlugData *plug);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> UPlugData* U_EXPORT2</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <a class="code" href="icuplug_8h.html#a3ea214634391286a656dac34f787cc53">uplug_nextPlug</a>(UPlugData *prior);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> UPlugData* U_EXPORT2</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <a class="code" href="icuplug_8h.html#a49c7cf66f925963292b903104b4f5207">uplug_loadPlugFromEntrypoint</a>(<a class="code" href="icuplug_8h.html#a9f763f2c2f75edb77f69ce9ca1425357">UPlugEntrypoint</a> *entrypoint, <span class="keyword">const</span> <span class="keywordtype">char</span> *config, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> UPlugData* U_EXPORT2</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <a class="code" href="icuplug_8h.html#adf9663689fd6fd21af236dec7cf17109">uplug_loadPlugFromLibrary</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *libName, <span class="keyword">const</span> <span class="keywordtype">char</span> *sym, <span class="keyword">const</span> <span class="keywordtype">char</span> *config, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a> <span class="keywordtype">void</span> U_EXPORT2</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <a class="code" href="icuplug_8h.html#a8540b4e19bfcbce9c0035838398d6079">uplug_removePlug</a>(UPlugData *plug, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_INTERNAL_API */</span><span class="preprocessor"></span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor">#endif </span><span class="comment">/* UCONFIG_ENABLE_PLUGINS */</span><span class="preprocessor"></span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor">#endif </span><span class="comment">/* _ICUPLUG */</span><span class="preprocessor"></span></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div><div class="ttc" id="icuplug_8h_html_aea40d2ad75165edeca98e5ba28fccf9ca859ce6b48afa0293b7efd40c10b2c1ae"><div class="ttname"><a href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca859ce6b48afa0293b7efd40c10b2c1ae">UPLUG_LEVEL_UNKNOWN</a></div><div class="ttdoc">The plugin is waiting to be installed. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00179">icuplug.h:179</a></div></div> <div class="ttc" id="icuplug_8h_html_add2bbbaf8104bfbbeac0a647970f1129"><div class="ttname"><a href="icuplug_8h.html#add2bbbaf8104bfbbeac0a647970f1129">uplug_getLibrary</a></div><div class="ttdeci">void * uplug_getLibrary(UPlugData *plug)</div><div class="ttdoc">Return the library used for this plugin, if known. </div></div> <div class="ttc" id="icuplug_8h_html_a9f763f2c2f75edb77f69ce9ca1425357"><div class="ttname"><a href="icuplug_8h.html#a9f763f2c2f75edb77f69ce9ca1425357">UPlugEntrypoint</a></div><div class="ttdeci">UPlugTokenReturn( UPlugEntrypoint)(UPlugData *plug, UPlugReason reason, UErrorCode *status)</div><div class="ttdoc">Entrypoint for an ICU plugin. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00196">icuplug.h:196</a></div></div> <div class="ttc" id="icuplug_8h_html_aec49d8d5bc3dc5c5e4150179752aa97e"><div class="ttname"><a href="icuplug_8h.html#aec49d8d5bc3dc5c5e4150179752aa97e">uplug_getSymbolName</a></div><div class="ttdeci">const char * uplug_getSymbolName(UPlugData *plug)</div><div class="ttdoc">Return the symbol name for this plugin, if known. </div></div> <div class="ttc" id="icuplug_8h_html_aea40d2ad75165edeca98e5ba28fccf9ca07af9c4da9ef4dda7756ecb3ce0e39ec"><div class="ttname"><a href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca07af9c4da9ef4dda7756ecb3ce0e39ec">UPLUG_LEVEL_INVALID</a></div><div class="ttdoc">The plugin is invalid, hasn&#39;t called uplug_setLevel, or can&#39;t load. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00178">icuplug.h:178</a></div></div> <div class="ttc" id="icuplug_8h_html_a3ea214634391286a656dac34f787cc53"><div class="ttname"><a href="icuplug_8h.html#a3ea214634391286a656dac34f787cc53">uplug_nextPlug</a></div><div class="ttdeci">UPlugData * uplug_nextPlug(UPlugData *prior)</div><div class="ttdoc">Return all currently installed plugins, from newest to oldest Usage Example: </div></div> <div class="ttc" id="icuplug_8h_html_a1bbc55ed156cb76a839cb73c03b37e51"><div class="ttname"><a href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51">UPlugReason</a></div><div class="ttdeci">UPlugReason</div><div class="ttdoc">Reason code for the entrypoint&#39;s call. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00158">icuplug.h:158</a></div></div> <div class="ttc" id="umachine_8h_html_a161dba69f4e479c3626793efc42f94ba"><div class="ttname"><a href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba">U_INTERNAL</a></div><div class="ttdeci">#define U_INTERNAL</div><div class="ttdoc">This is used to declare a function as an internal ICU C API. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00142">umachine.h:142</a></div></div> <div class="ttc" id="icuplug_8h_html_ae950185aea52d1d156884234f3aa87b1"><div class="ttname"><a href="icuplug_8h.html#ae950185aea52d1d156884234f3aa87b1">uplug_setPlugName</a></div><div class="ttdeci">void uplug_setPlugName(UPlugData *plug, const char *name)</div><div class="ttdoc">Set the human-readable name of this plugin. </div></div> <div class="ttc" id="icuplug_8h_html_a06027633088210b16f97fe8808354690"><div class="ttname"><a href="icuplug_8h.html#a06027633088210b16f97fe8808354690">UPlugTokenReturn</a></div><div class="ttdeci">uint32_t UPlugTokenReturn</div><div class="ttdoc">Return value from a plugin entrypoint. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00152">icuplug.h:152</a></div></div> <div class="ttc" id="icuplug_8h_html_a0b2f678c117bf14e399fb5b387856a84"><div class="ttname"><a href="icuplug_8h.html#a0b2f678c117bf14e399fb5b387856a84">uplug_getPlugLoadStatus</a></div><div class="ttdeci">UErrorCode uplug_getPlugLoadStatus(UPlugData *plug)</div><div class="ttdoc">Get plug load status. </div></div> <div class="ttc" id="icuplug_8h_html_aea40d2ad75165edeca98e5ba28fccf9caa8959468203b731fe6976ca4cfa696e1"><div class="ttname"><a href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9caa8959468203b731fe6976ca4cfa696e1">UPLUG_LEVEL_HIGH</a></div><div class="ttdoc">The plugin can run at any time. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00181">icuplug.h:181</a></div></div> <div class="ttc" id="icuplug_8h_html_aea40d2ad75165edeca98e5ba28fccf9cafa33c66cbc81f460ff15a344988bf40e"><div class="ttname"><a href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9cafa33c66cbc81f460ff15a344988bf40e">UPLUG_LEVEL_LOW</a></div><div class="ttdoc">The plugin must be called before u_init completes. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00180">icuplug.h:180</a></div></div> <div class="ttc" id="icuplug_8h_html_adf9663689fd6fd21af236dec7cf17109"><div class="ttname"><a href="icuplug_8h.html#adf9663689fd6fd21af236dec7cf17109">uplug_loadPlugFromLibrary</a></div><div class="ttdeci">UPlugData * uplug_loadPlugFromLibrary(const char *libName, const char *sym, const char *config, UErrorCode *status)</div><div class="ttdoc">Inject a plugin from a library, as if the information came from a config file. </div></div> <div class="ttc" id="icuplug_8h_html_a8c42deb99ef0a2dd0a515afb523e1e4c"><div class="ttname"><a href="icuplug_8h.html#a8c42deb99ef0a2dd0a515afb523e1e4c">uplug_getConfiguration</a></div><div class="ttdeci">const char * uplug_getConfiguration(UPlugData *plug)</div><div class="ttdoc">Get the configuration string, if available. </div></div> <div class="ttc" id="icuplug_8h_html_a49c7cf66f925963292b903104b4f5207"><div class="ttname"><a href="icuplug_8h.html#a49c7cf66f925963292b903104b4f5207">uplug_loadPlugFromEntrypoint</a></div><div class="ttdeci">UPlugData * uplug_loadPlugFromEntrypoint(UPlugEntrypoint *entrypoint, const char *config, UErrorCode *status)</div><div class="ttdoc">Inject a plugin as if it were loaded from a library. </div></div> <div class="ttc" id="icuplug_8h_html_add743706906c9c29f9469ba1195f6b65"><div class="ttname"><a href="icuplug_8h.html#add743706906c9c29f9469ba1195f6b65">uplug_setPlugLevel</a></div><div class="ttdeci">void uplug_setPlugLevel(UPlugData *plug, UPlugLevel level)</div><div class="ttdoc">Set the level of this plugin. </div></div> <div class="ttc" id="icuplug_8h_html_aea40d2ad75165edeca98e5ba28fccf9c"><div class="ttname"><a href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9c">UPlugLevel</a></div><div class="ttdeci">UPlugLevel</div><div class="ttdoc">Level of plugin loading INITIAL: UNKNOWN QUERY: INVALID -> { LOW | HIGH } ERR -> INVALID. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00177">icuplug.h:177</a></div></div> <div class="ttc" id="icuplug_8h_html_a2437c8d84c526461ac0a3fc33e802862"><div class="ttname"><a href="icuplug_8h.html#a2437c8d84c526461ac0a3fc33e802862">uplug_getContext</a></div><div class="ttdeci">void * uplug_getContext(UPlugData *plug)</div><div class="ttdoc">Return the plugin-specific context data. </div></div> <div class="ttc" id="icuplug_8h_html_afc7aeaa736c86a9a1748a364327cfe63"><div class="ttname"><a href="icuplug_8h.html#afc7aeaa736c86a9a1748a364327cfe63">uplug_getCurrentLevel</a></div><div class="ttdeci">UPlugLevel uplug_getCurrentLevel(void)</div><div class="ttdoc">Get the lowest level of plug which can currently load. </div></div> <div class="ttc" id="icuplug_8h_html_a1bbc55ed156cb76a839cb73c03b37e51a4f4e402d6a3de8486c642ba3ed708b0d"><div class="ttname"><a href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a4f4e402d6a3de8486c642ba3ed708b0d">UPLUG_REASON_UNLOAD</a></div><div class="ttdoc">The plugin is being unloaded. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00161">icuplug.h:161</a></div></div> <div class="ttc" id="icuplug_8h_html_a5ba44152d2d98b7ec87f770110c9aff4"><div class="ttname"><a href="icuplug_8h.html#a5ba44152d2d98b7ec87f770110c9aff4">uplug_getPlugLevel</a></div><div class="ttdeci">UPlugLevel uplug_getPlugLevel(UPlugData *plug)</div><div class="ttdoc">Get the level of this plugin. </div></div> <div class="ttc" id="icuplug_8h_html_a33226a66ae91b6a0f42a036c83f60318"><div class="ttname"><a href="icuplug_8h.html#a33226a66ae91b6a0f42a036c83f60318">uplug_setPlugNoUnload</a></div><div class="ttdeci">void uplug_setPlugNoUnload(UPlugData *plug, UBool dontUnload)</div><div class="ttdoc">Request that this plugin not be unloaded at cleanup time. </div></div> <div class="ttc" id="icuplug_8h_html_aea40d2ad75165edeca98e5ba28fccf9ca2ce23f95ec3831d2740c3f953cf485da"><div class="ttname"><a href="icuplug_8h.html#aea40d2ad75165edeca98e5ba28fccf9ca2ce23f95ec3831d2740c3f953cf485da">UPLUG_LEVEL_COUNT</a></div><div class="ttdoc">Number of known levels. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00186">icuplug.h:186</a></div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78c"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a></div><div class="ttdeci">UErrorCode</div><div class="ttdoc">Error code to replace exception handling, so that the code is compatible with all C++ compilers...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00396">utypes.h:396</a></div></div> <div class="ttc" id="icuplug_8h_html_a0ee4dea13fb998e619e3e9f957d1661a"><div class="ttname"><a href="icuplug_8h.html#a0ee4dea13fb998e619e3e9f957d1661a">uplug_getPlugName</a></div><div class="ttdeci">const char * uplug_getPlugName(UPlugData *plug)</div><div class="ttdoc">Get the human-readable name of this plugin. </div></div> <div class="ttc" id="icuplug_8h_html_a8540b4e19bfcbce9c0035838398d6079"><div class="ttname"><a href="icuplug_8h.html#a8540b4e19bfcbce9c0035838398d6079">uplug_removePlug</a></div><div class="ttdeci">void uplug_removePlug(UPlugData *plug, UErrorCode *status)</div><div class="ttdoc">Remove a plugin. </div></div> <div class="ttc" id="icuplug_8h_html_a1bbc55ed156cb76a839cb73c03b37e51a33a9555aa913e2962b4d12b775cd51e9"><div class="ttname"><a href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a33a9555aa913e2962b4d12b775cd51e9">UPLUG_REASON_LOAD</a></div><div class="ttdoc">The plugin is being loaded. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00160">icuplug.h:160</a></div></div> <div class="ttc" id="icuplug_8h_html_a75dea887a134177913c9e994a3c49a68"><div class="ttname"><a href="icuplug_8h.html#a75dea887a134177913c9e994a3c49a68">uplug_setContext</a></div><div class="ttdeci">void uplug_setContext(UPlugData *plug, void *context)</div><div class="ttdoc">Set the plugin-specific context data. </div></div> <div class="ttc" id="icuplug_8h_html_a1bbc55ed156cb76a839cb73c03b37e51a9bd7f50a704eba1e0dac10ea2a9de8f9"><div class="ttname"><a href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a9bd7f50a704eba1e0dac10ea2a9de8f9">UPLUG_REASON_QUERY</a></div><div class="ttdoc">The plugin is being queried for info. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00159">icuplug.h:159</a></div></div> <div class="ttc" id="utypes_8h_html"><div class="ttname"><a href="utypes_8h.html">utypes.h</a></div><div class="ttdoc">Basic definitions for ICU, for both C and C++ APIs. </div></div> <div class="ttc" id="icuplug_8h_html_a17f479d23a4469b55c30c7a86d018799"><div class="ttname"><a href="icuplug_8h.html#a17f479d23a4469b55c30c7a86d018799">uplug_getLibraryName</a></div><div class="ttdeci">const char * uplug_getLibraryName(UPlugData *plug, UErrorCode *status)</div><div class="ttdoc">Return the library name for this plugin, if known. </div></div> <div class="ttc" id="icuplug_8h_html_a1bbc55ed156cb76a839cb73c03b37e51a1ad486aa416e71df0b1932ff75cf46f4"><div class="ttname"><a href="icuplug_8h.html#a1bbc55ed156cb76a839cb73c03b37e51a1ad486aa416e71df0b1932ff75cf46f4">UPLUG_REASON_COUNT</a></div><div class="ttdoc">Number of known reasons. </div><div class="ttdef"><b>Definition:</b> <a href="icuplug_8h_source.html#l00166">icuplug.h:166</a></div></div> <div class="ttc" id="umachine_8h_html_a349ef00011f20ccd1d3b424445681aa5"><div class="ttname"><a href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a></div><div class="ttdeci">int8_t UBool</div><div class="ttdoc">The ICU boolean type. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00259">umachine.h:259</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.11 </small></address> </body> </html>