Sophie

Sophie

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ICU 58.2: utrace.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ICU 58.2
   &#160;<span id="projectnumber">58.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_b2f33c71d4aa5e7af42a1ca61ff5af1b.html">source</a></li><li class="navelem"><a class="el" href="dir_30087b5439e04c85304dbcf15650710b.html">common</a></li><li class="navelem"><a class="el" href="dir_8bf9c54ed6ca2fd1e2117fb037e4ad06.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#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">utrace.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C API: Definitions for ICU tracing/logging.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdarg.h&gt;</code><br />
<code>#include &quot;<a class="el" href="utypes_8h_source.html">unicode/utypes.h</a>&quot;</code><br />
</div>
<p><a href="utrace_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="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a653c435f5f0cee2e025a4c163c07be94"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079">UTraceLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#a653c435f5f0cee2e025a4c163c07be94">UTraceLevel</a></td></tr>
<tr class="memdesc:a653c435f5f0cee2e025a4c163c07be94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace severity levels.  <a href="#a653c435f5f0cee2e025a4c163c07be94">More...</a><br /></td></tr>
<tr class="separator:a653c435f5f0cee2e025a4c163c07be94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ccf3e241d3037b7124e845619a39e04"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308">UTraceFunctionNumber</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#a6ccf3e241d3037b7124e845619a39e04">UTraceFunctionNumber</a></td></tr>
<tr class="memdesc:a6ccf3e241d3037b7124e845619a39e04"><td class="mdescLeft">&#160;</td><td class="mdescRight">These are the ICU functions that will be traced when tracing is enabled.  <a href="#a6ccf3e241d3037b7124e845619a39e04">More...</a><br /></td></tr>
<tr class="separator:a6ccf3e241d3037b7124e845619a39e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57431e5b7de5217371b6b269039d8960"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#a57431e5b7de5217371b6b269039d8960">UTraceEntry</a>(const void *context, int32_t fnNumber)</td></tr>
<tr class="memdesc:a57431e5b7de5217371b6b269039d8960"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type signature for the trace function to be called when entering a function.  <a href="#a57431e5b7de5217371b6b269039d8960">More...</a><br /></td></tr>
<tr class="separator:a57431e5b7de5217371b6b269039d8960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac819bbfb23657b4a4c465634a0dc0586"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#ac819bbfb23657b4a4c465634a0dc0586">UTraceExit</a>(const void *context, int32_t fnNumber, const char *fmt, va_list args)</td></tr>
<tr class="memdesc:ac819bbfb23657b4a4c465634a0dc0586"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type signature for the trace function to be called when exiting from a function.  <a href="#ac819bbfb23657b4a4c465634a0dc0586">More...</a><br /></td></tr>
<tr class="separator:ac819bbfb23657b4a4c465634a0dc0586"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22a4d10cb4754a7d3178dc55eb61842f"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#a22a4d10cb4754a7d3178dc55eb61842f">UTraceData</a>(const void *context, int32_t fnNumber, int32_t level, const char *fmt, va_list args)</td></tr>
<tr class="memdesc:a22a4d10cb4754a7d3178dc55eb61842f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type signature for the trace function to be called from within an ICU function to display data or messages.  <a href="#a22a4d10cb4754a7d3178dc55eb61842f">More...</a><br /></td></tr>
<tr class="separator:a22a4d10cb4754a7d3178dc55eb61842f"><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:a87213b0396d0aa046bd9116e89152079"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079">UTraceLevel</a> { <br />
&#160;&#160;<a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079ad73020624fba9734da1067a92799a7fd">UTRACE_OFF</a> =-1, 
<a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079a8e9415b7ad8550fa3d9dcc196f88fe98">UTRACE_ERROR</a> =0, 
<a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079a4329e6d348c1ce278aa5a70d9d678416">UTRACE_WARNING</a> =3, 
<a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079acf27fc8d57f1b0bd0a1700abcc48e9ad">UTRACE_OPEN_CLOSE</a> =5, 
<br />
&#160;&#160;<a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079ae88684e6ac3d6f889b5d1603395c6bf1">UTRACE_INFO</a> =7, 
<a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079af0102c5618b566755d3d0315aeb18ff4">UTRACE_VERBOSE</a> =9
<br />
 }<tr class="memdesc:a87213b0396d0aa046bd9116e89152079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace severity levels.  <a href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a87213b0396d0aa046bd9116e89152079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6076ad13223437bd15a3266791905308"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308">UTraceFunctionNumber</a> { <br />
&#160;&#160;<b>UTRACE_FUNCTION_START</b> =0, 
<b>UTRACE_U_INIT</b> =UTRACE_FUNCTION_START, 
<b>UTRACE_U_CLEANUP</b>, 
<a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308a16b8c7b99796a8346d55b8ba0299b6db">UTRACE_FUNCTION_LIMIT</a>, 
<br />
&#160;&#160;<b>UTRACE_CONVERSION_START</b> =0x1000, 
<b>UTRACE_UCNV_OPEN</b> =UTRACE_CONVERSION_START, 
<b>UTRACE_UCNV_OPEN_PACKAGE</b>, 
<b>UTRACE_UCNV_OPEN_ALGORITHMIC</b>, 
<br />
&#160;&#160;<b>UTRACE_UCNV_CLONE</b>, 
<b>UTRACE_UCNV_CLOSE</b>, 
<b>UTRACE_UCNV_FLUSH_CACHE</b>, 
<b>UTRACE_UCNV_LOAD</b>, 
<br />
&#160;&#160;<b>UTRACE_UCNV_UNLOAD</b>, 
<a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308ae5986fb60ce52a8e3928873176406bf5">UTRACE_CONVERSION_LIMIT</a>, 
<b>UTRACE_COLLATION_START</b> =0x2000, 
<b>UTRACE_UCOL_OPEN</b> =UTRACE_COLLATION_START, 
<br />
&#160;&#160;<b>UTRACE_UCOL_CLOSE</b>, 
<b>UTRACE_UCOL_STRCOLL</b>, 
<b>UTRACE_UCOL_GET_SORTKEY</b>, 
<b>UTRACE_UCOL_GETLOCALE</b>, 
<br />
&#160;&#160;<b>UTRACE_UCOL_NEXTSORTKEYPART</b>, 
<b>UTRACE_UCOL_STRCOLLITER</b>, 
<b>UTRACE_UCOL_OPEN_FROM_SHORT_STRING</b>, 
<a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308a18dca4774f919146c684b8071fb976f2">UTRACE_UCOL_STRCOLLUTF8</a>, 
<br />
&#160;&#160;<a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308a3b0b647c015de2cc2346797232ebc3a9">UTRACE_COLLATION_LIMIT</a>
<br />
 }<tr class="memdesc:a6076ad13223437bd15a3266791905308"><td class="mdescLeft">&#160;</td><td class="mdescRight">These are the ICU functions that will be traced when tracing is enabled.  <a href="utrace_8h.html#a6076ad13223437bd15a3266791905308">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a6076ad13223437bd15a3266791905308"><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:aeb56de5759104ee6379b8144afbe6d01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#aeb56de5759104ee6379b8144afbe6d01">utrace_setLevel</a> (int32_t traceLevel)</td></tr>
<tr class="memdesc:aeb56de5759104ee6379b8144afbe6d01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setter for the trace level.  <a href="#aeb56de5759104ee6379b8144afbe6d01">More...</a><br /></td></tr>
<tr class="separator:aeb56de5759104ee6379b8144afbe6d01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc368ae253afd3d22821a868765e54e5"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#afc368ae253afd3d22821a868765e54e5">utrace_getLevel</a> (void)</td></tr>
<tr class="memdesc:afc368ae253afd3d22821a868765e54e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Getter for the trace level.  <a href="#afc368ae253afd3d22821a868765e54e5">More...</a><br /></td></tr>
<tr class="separator:afc368ae253afd3d22821a868765e54e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa87ea156afa4807f0a3db73d85c66551"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#aa87ea156afa4807f0a3db73d85c66551">utrace_setFunctions</a> (const void *context, <a class="el" href="utrace_8h.html#a57431e5b7de5217371b6b269039d8960">UTraceEntry</a> *e, <a class="el" href="utrace_8h.html#ac819bbfb23657b4a4c465634a0dc0586">UTraceExit</a> *x, <a class="el" href="utrace_8h.html#a22a4d10cb4754a7d3178dc55eb61842f">UTraceData</a> *d)</td></tr>
<tr class="memdesc:aa87ea156afa4807f0a3db73d85c66551"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ICU Tracing functions.  <a href="#aa87ea156afa4807f0a3db73d85c66551">More...</a><br /></td></tr>
<tr class="separator:aa87ea156afa4807f0a3db73d85c66551"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15c3bee50058d10cdaa1ecc87cd18bae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#a15c3bee50058d10cdaa1ecc87cd18bae">utrace_getFunctions</a> (const void **context, <a class="el" href="utrace_8h.html#a57431e5b7de5217371b6b269039d8960">UTraceEntry</a> **e, <a class="el" href="utrace_8h.html#ac819bbfb23657b4a4c465634a0dc0586">UTraceExit</a> **x, <a class="el" href="utrace_8h.html#a22a4d10cb4754a7d3178dc55eb61842f">UTraceData</a> **d)</td></tr>
<tr class="memdesc:a15c3bee50058d10cdaa1ecc87cd18bae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the currently installed ICU tracing functions.  <a href="#a15c3bee50058d10cdaa1ecc87cd18bae">More...</a><br /></td></tr>
<tr class="separator:a15c3bee50058d10cdaa1ecc87cd18bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcd5b54f8b10a9a319abf195711c717a"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#abcd5b54f8b10a9a319abf195711c717a">utrace_vformat</a> (char *outBuf, int32_t capacity, int32_t indent, const char *fmt, va_list args)</td></tr>
<tr class="memdesc:abcd5b54f8b10a9a319abf195711c717a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace output Formatter.  <a href="#abcd5b54f8b10a9a319abf195711c717a">More...</a><br /></td></tr>
<tr class="separator:abcd5b54f8b10a9a319abf195711c717a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1c46bbcc3ae5dda6eeb89ba0b04eab5"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#ab1c46bbcc3ae5dda6eeb89ba0b04eab5">utrace_format</a> (char *outBuf, int32_t capacity, int32_t indent, const char *fmt,...)</td></tr>
<tr class="memdesc:ab1c46bbcc3ae5dda6eeb89ba0b04eab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace output Formatter.  <a href="#ab1c46bbcc3ae5dda6eeb89ba0b04eab5">More...</a><br /></td></tr>
<tr class="separator:ab1c46bbcc3ae5dda6eeb89ba0b04eab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a888fae89e1bae1080cca94e4284bfeea"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utrace_8h.html#a888fae89e1bae1080cca94e4284bfeea">utrace_functionName</a> (int32_t fnNumber)</td></tr>
<tr class="memdesc:a888fae89e1bae1080cca94e4284bfeea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of a function from its trace function number.  <a href="#a888fae89e1bae1080cca94e4284bfeea">More...</a><br /></td></tr>
<tr class="separator:a888fae89e1bae1080cca94e4284bfeea"><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: Definitions for ICU tracing/logging. </p>
<p>This provides API for debugging the internals of ICU without the use of a traditional debugger.</p>
<p>By default, tracing is disabled in ICU. If you need to debug ICU with tracing, please compile ICU with the &ndash;enable-tracing configure option. </p>

<p>Definition in file <a class="el" href="utrace_8h_source.html">utrace.h</a>.</p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a22a4d10cb4754a7d3178dc55eb61842f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void UTraceData(const void *context, int32_t fnNumber, int32_t level, const char *fmt, va_list args)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type signature for the trace function to be called from within an ICU function to display data or messages. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>value supplied at the time the trace functions are set. </td></tr>
    <tr><td class="paramname">fnNumber</td><td>Enum value indicating the ICU function being exited. </td></tr>
    <tr><td class="paramname">level</td><td>The current tracing level </td></tr>
    <tr><td class="paramname">fmt</td><td>A format string describing the tracing data that is supplied as variable args </td></tr>
    <tr><td class="paramname">args</td><td>The data being traced, passed as variable args. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002953">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

<p>Definition at line <a class="el" href="utrace_8h_source.html#l00169">169</a> of file <a class="el" href="utrace_8h_source.html">utrace.h</a>.</p>

</div>
</div>
<a class="anchor" id="a57431e5b7de5217371b6b269039d8960"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void UTraceEntry(const void *context, int32_t fnNumber)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type signature for the trace function to be called when entering a function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>value supplied at the time the trace functions are set. </td></tr>
    <tr><td class="paramname">fnNumber</td><td>Enum value indicating the ICU function being entered. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002951">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

<p>Definition at line <a class="el" href="utrace_8h_source.html#l00138">138</a> of file <a class="el" href="utrace_8h_source.html">utrace.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac819bbfb23657b4a4c465634a0dc0586"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void UTraceExit(const void *context, int32_t fnNumber, const char *fmt, va_list args)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type signature for the trace function to be called when exiting from a function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>value supplied at the time the trace functions are set. </td></tr>
    <tr><td class="paramname">fnNumber</td><td>Enum value indicating the ICU function being exited. </td></tr>
    <tr><td class="paramname">fmt</td><td>A formatting string that describes the number and types of arguments included with the variable args. The fmt string has the same form as the utrace_vformat format string. </td></tr>
    <tr><td class="paramname">args</td><td>A variable arguments list. Contents are described by the fmt parameter. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="utrace_8h.html#abcd5b54f8b10a9a319abf195711c717a" title="Trace output Formatter. ">utrace_vformat</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002952">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

<p>Definition at line <a class="el" href="utrace_8h_source.html#l00154">154</a> of file <a class="el" href="utrace_8h_source.html">utrace.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6ccf3e241d3037b7124e845619a39e04"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308">UTraceFunctionNumber</a>  <a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308">UTraceFunctionNumber</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>These are the ICU functions that will be traced when tracing is enabled. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002948">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a653c435f5f0cee2e025a4c163c07be94"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079">UTraceLevel</a>  <a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079">UTraceLevel</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Trace severity levels. </p>
<p>Higher levels increase the verbosity of the trace output. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="utrace_8h.html#aeb56de5759104ee6379b8144afbe6d01" title="Setter for the trace level. ">utrace_setLevel</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002947">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

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

<p>These are the ICU functions that will be traced when tracing is enabled. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002948">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a6076ad13223437bd15a3266791905308a16b8c7b99796a8346d55b8ba0299b6db"></a>UTRACE_FUNCTION_LIMIT&#160;</td><td class="fielddoc">
<p>One more than the highest normal collation trace location. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000272">Deprecated:</a></b></dt><dd>ICU 58 The numeric value may change over time, see ICU ticket #12420. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a6076ad13223437bd15a3266791905308ae5986fb60ce52a8e3928873176406bf5"></a>UTRACE_CONVERSION_LIMIT&#160;</td><td class="fielddoc">
<p>One more than the highest normal collation trace location. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000273">Deprecated:</a></b></dt><dd>ICU 58 The numeric value may change over time, see ICU ticket #12420. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a6076ad13223437bd15a3266791905308a18dca4774f919146c684b8071fb976f2"></a>UTRACE_UCOL_STRCOLLUTF8&#160;</td><td class="fielddoc">
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002965">Stable:</a></b></dt><dd>ICU 50 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a6076ad13223437bd15a3266791905308a3b0b647c015de2cc2346797232ebc3a9"></a>UTRACE_COLLATION_LIMIT&#160;</td><td class="fielddoc">
<p>One more than the highest normal collation trace location. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000274">Deprecated:</a></b></dt><dd>ICU 58 The numeric value may change over time, see ICU ticket #12420. </dd></dl>
</td></tr>
</table>

<p>Definition at line <a class="el" href="utrace_8h_source.html#l00065">65</a> of file <a class="el" href="utrace_8h_source.html">utrace.h</a>.</p>

</div>
</div>
<a class="anchor" id="a87213b0396d0aa046bd9116e89152079"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="utrace_8h.html#a87213b0396d0aa046bd9116e89152079">UTraceLevel</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Trace severity levels. </p>
<p>Higher levels increase the verbosity of the trace output. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="utrace_8h.html#aeb56de5759104ee6379b8144afbe6d01" title="Setter for the trace level. ">utrace_setLevel</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002947">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a87213b0396d0aa046bd9116e89152079ad73020624fba9734da1067a92799a7fd"></a>UTRACE_OFF&#160;</td><td class="fielddoc">
<p>Disable all tracing. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002959">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a87213b0396d0aa046bd9116e89152079a8e9415b7ad8550fa3d9dcc196f88fe98"></a>UTRACE_ERROR&#160;</td><td class="fielddoc">
<p>Trace error conditions only. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002960">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a87213b0396d0aa046bd9116e89152079a4329e6d348c1ce278aa5a70d9d678416"></a>UTRACE_WARNING&#160;</td><td class="fielddoc">
<p>Trace errors and warnings. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002961">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a87213b0396d0aa046bd9116e89152079acf27fc8d57f1b0bd0a1700abcc48e9ad"></a>UTRACE_OPEN_CLOSE&#160;</td><td class="fielddoc">
<p>Trace opens and closes of ICU services. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002962">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a87213b0396d0aa046bd9116e89152079ae88684e6ac3d6f889b5d1603395c6bf1"></a>UTRACE_INFO&#160;</td><td class="fielddoc">
<p>Trace an intermediate number of ICU operations. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002963">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a87213b0396d0aa046bd9116e89152079af0102c5618b566755d3d0315aeb18ff4"></a>UTRACE_VERBOSE&#160;</td><td class="fielddoc">
<p>Trace the maximum number of ICU operations. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002964">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>
</td></tr>
</table>

<p>Definition at line <a class="el" href="utrace_8h_source.html#l00046">46</a> of file <a class="el" href="utrace_8h_source.html">utrace.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ab1c46bbcc3ae5dda6eeb89ba0b04eab5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t utrace_format </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>outBuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>indent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Trace output Formatter. </p>
<p>An application's UTraceData tracing functions may call this function to format any additional trace data, beyond that provided by default, in human readable form with the same formatting conventions used by <a class="el" href="utrace_8h.html#abcd5b54f8b10a9a319abf195711c717a" title="Trace output Formatter. ">utrace_vformat()</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">outBuf</td><td>pointer to a buffer to receive the formatted output. Output will be nul terminated if there is space in the buffer - if the length of the requested output &lt; the output buffer size. </td></tr>
    <tr><td class="paramname">capacity</td><td>Length of the output buffer. </td></tr>
    <tr><td class="paramname">indent</td><td>Number of spaces to indent the output. Intended to allow data displayed from nested functions to be indented for readability. </td></tr>
    <tr><td class="paramname">fmt</td><td>Format specification for the data to output </td></tr>
    <tr><td class="paramname">...</td><td>Data to be formatted. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Length of formatted output, including the terminating NUL. If buffer capacity is insufficient, the required capacity is returned. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002957">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a888fae89e1bae1080cca94e4284bfeea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* utrace_functionName </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>fnNumber</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the name of a function from its trace function number. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fnNumber</td><td>The trace number for an ICU function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The name string for the function.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="utrace_8h.html#a6076ad13223437bd15a3266791905308" title="These are the ICU functions that will be traced when tracing is enabled. ">UTraceFunctionNumber</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002958">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a15c3bee50058d10cdaa1ecc87cd18bae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void utrace_getFunctions </td>
          <td>(</td>
          <td class="paramtype">const void **&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utrace_8h.html#a57431e5b7de5217371b6b269039d8960">UTraceEntry</a> **&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utrace_8h.html#ac819bbfb23657b4a4c465634a0dc0586">UTraceExit</a> **&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utrace_8h.html#a22a4d10cb4754a7d3178dc55eb61842f">UTraceData</a> **&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the currently installed ICU tracing functions. </p>
<p>Note that a null function pointer will be returned if no trace function has been set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The currently installed tracing context. </td></tr>
    <tr><td class="paramname">e</td><td>The currently installed UTraceEntry function. </td></tr>
    <tr><td class="paramname">x</td><td>The currently installed UTraceExit function. </td></tr>
    <tr><td class="paramname">d</td><td>The currently installed UTraceData function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002955">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="afc368ae253afd3d22821a868765e54e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t utrace_getLevel </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Getter for the trace level. </p>
<dl class="section return"><dt>Returns</dt><dd>The UTraceLevel value being used by ICU. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002950">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="aa87ea156afa4807f0a3db73d85c66551"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void utrace_setFunctions </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utrace_8h.html#a57431e5b7de5217371b6b269039d8960">UTraceEntry</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utrace_8h.html#ac819bbfb23657b4a4c465634a0dc0586">UTraceExit</a> *&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utrace_8h.html#a22a4d10cb4754a7d3178dc55eb61842f">UTraceData</a> *&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set ICU Tracing functions. </p>
<p>Installs application-provided tracing functions into ICU. After doing this, subsequent ICU operations will call back to the installed functions, providing a trace of the use of ICU. Passing a NULL pointer for a tracing function is allowed, and inhibits tracing action at points where that function would be called. </p>
<p>Tracing and Threads: Tracing functions are global to a process, and will be called in response to ICU operations performed by any thread. If tracing of an individual thread is desired, the tracing functions must themselves filter by checking that the current thread is the desired thread.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>an uninterpretted pointer. Whatever is passed in here will in turn be passed to each of the tracing functions UTraceEntry, UTraceExit and UTraceData. ICU does not use or alter this pointer. </td></tr>
    <tr><td class="paramname">e</td><td>Callback function to be called on entry to a a traced ICU function. </td></tr>
    <tr><td class="paramname">x</td><td>Callback function to be called on exit from a traced ICU function. </td></tr>
    <tr><td class="paramname">d</td><td>Callback function to be called from within a traced ICU function, for the purpose of providing data to the trace.</td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002954">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="aeb56de5759104ee6379b8144afbe6d01"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void utrace_setLevel </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>traceLevel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Setter for the trace level. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">traceLevel</td><td>A UTraceLevel value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002949">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

</div>
</div>
<a class="anchor" id="abcd5b54f8b10a9a319abf195711c717a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t utrace_vformat </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>outBuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>capacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>indent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Trace output Formatter. </p>
<p>An application's UTraceData tracing functions may call back to this function to format the trace output in a human readable form. Note that a UTraceData function may choose to not format the data; it could, for example, save it in in the raw form it was received (more compact), leaving formatting for a later trace analyis tool. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">outBuf</td><td>pointer to a buffer to receive the formatted output. Output will be nul terminated if there is space in the buffer - if the length of the requested output &lt; the output buffer size. </td></tr>
    <tr><td class="paramname">capacity</td><td>Length of the output buffer. </td></tr>
    <tr><td class="paramname">indent</td><td>Number of spaces to indent the output. Intended to allow data displayed from nested functions to be indented for readability. </td></tr>
    <tr><td class="paramname">fmt</td><td>Format specification for the data to output </td></tr>
    <tr><td class="paramname">args</td><td>Data to be formatted. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Length of formatted output, including the terminating NUL. If buffer capacity is insufficient, the required capacity is returned. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002956">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.11
</small></address>
</body>
</html>