UNIXworkcode

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 6 <meta name="generator" content="Doxygen 1.8.13"/> 7 <meta name="viewport" content="width=device-width, initial-scale=1"/> 8 <title>ucx: /home/mike/workspace/c/ucx/src/ucx/utils.h File Reference</title> 9 <link href="tabs.css" rel="stylesheet" type="text/css"/> 10 <script type="text/javascript" src="jquery.js"></script> 11 <script type="text/javascript" src="dynsections.js"></script> 12 <link href="search/search.css" rel="stylesheet" type="text/css"/> 13 <script type="text/javascript" src="search/searchdata.js"></script> 14 <script type="text/javascript" src="search/search.js"></script> 15 <link href="doxygen.css" rel="stylesheet" type="text/css" /> 16 </head> 17 <body> 18 <div id="top"><!-- do not remove this div, it is closed by doxygen! --> 19 <div id="titlearea"> 20 <table cellspacing="0" cellpadding="0"> 21 <tbody> 22 <tr style="height: 56px;"> 23 <td id="projectlogo"><img alt="Logo" src="uaplogo.png"/></td> 24 <td id="projectalign" style="padding-left: 0.5em;"> 25 <div id="projectname">ucx 26 </div> 27 <div id="projectbrief">UAP Common Extensions</div> 28 </td> 29 </tr> 30 </tbody> 31 </table> 32 </div> 33 <!-- end header part --> 34 <!-- Generated by Doxygen 1.8.13 --> 35 <script type="text/javascript"> 36 var searchBox = new SearchBox("searchBox", "search",false,'Search'); 37 </script> 38 <script type="text/javascript" src="menudata.js"></script> 39 <script type="text/javascript" src="menu.js"></script> 40 <script type="text/javascript"> 41 $(function() { 42 initMenu('',true,false,'search.php','Search'); 43 $(document).ready(function() { init_search(); }); 44 }); 45 </script> 46 <div id="main-nav"></div> 47 <!-- window showing the filter options --> 48 <div id="MSearchSelectWindow" 49 onmouseover="return searchBox.OnSearchSelectShow()" 50 onmouseout="return searchBox.OnSearchSelectHide()" 51 onkeydown="return searchBox.OnSearchSelectKey(event)"> 52 </div> 53 54 <!-- iframe showing the search results (closed by default) --> 55 <div id="MSearchResultsWindow"> 56 <iframe src="javascript:void(0)" frameborder="0" 57 name="MSearchResults" id="MSearchResults"> 58 </iframe> 59 </div> 60 61 <div id="nav-path" class="navpath"> 62 <ul> 63 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_69f4ea29401808fe6229564976cde3ce.html">ucx</a></li> </ul> 64 </div> 65 </div><!-- top --> 66 <div class="header"> 67 <div class="summary"> 68 <a href="#define-members">Macros</a> &#124; 69 <a href="#func-members">Functions</a> </div> 70 <div class="headertitle"> 71 <div class="title">utils.h File Reference</div> </div> 72 </div><!--header--> 73 <div class="contents"> 74 75 <p>Compare, copy and printf functions. 76 <a href="#details">More...</a></p> 77 <div class="textblock"><code>#include &quot;<a class="el" href="ucx_8h_source.html">ucx.h</a>&quot;</code><br /> 78 <code>#include &quot;<a class="el" href="string_8h_source.html">string.h</a>&quot;</code><br /> 79 <code>#include &quot;<a class="el" href="allocator_8h_source.html">allocator.h</a>&quot;</code><br /> 80 <code>#include &lt;inttypes.h&gt;</code><br /> 81 <code>#include &lt;stdarg.h&gt;</code><br /> 82 </div> 83 <p><a href="utils_8h_source.html">Go to the source code of this file.</a></p> 84 <table class="memberdecls"> 85 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> 86 Macros</h2></td></tr> 87 <tr class="memitem:a23efd74fa5f701d4cf26ccbfd138a439"><td class="memItemLeft" align="right" valign="top"><a id="a23efd74fa5f701d4cf26ccbfd138a439"></a> 88 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a>&#160;&#160;&#160;4096</td></tr> 89 <tr class="memdesc:a23efd74fa5f701d4cf26ccbfd138a439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default buffer size for <a class="el" href="utils_8h.html#a41ca1344f781c0d3bf7a414a6e811392" title="Shorthand for an unbounded ucx_stream_bncopy call using a default buffer. ">ucx_stream_copy()</a> and <a class="el" href="utils_8h.html#add13f39a8af440b4f7e6f74339eaada2" title="Shorthand for ucx_stream_bncopy using a default copy buffer. ">ucx_stream_ncopy()</a>. <br /></td></tr> 90 <tr class="separator:a23efd74fa5f701d4cf26ccbfd138a439"><td class="memSeparator" colspan="2">&#160;</td></tr> 91 <tr class="memitem:a41ca1344f781c0d3bf7a414a6e811392"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a41ca1344f781c0d3bf7a414a6e811392">ucx_stream_copy</a>(src, dest, rfnc, wfnc)</td></tr> 92 <tr class="memdesc:a41ca1344f781c0d3bf7a414a6e811392"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shorthand for an unbounded ucx_stream_bncopy call using a default buffer. <a href="#a41ca1344f781c0d3bf7a414a6e811392">More...</a><br /></td></tr> 93 <tr class="separator:a41ca1344f781c0d3bf7a414a6e811392"><td class="memSeparator" colspan="2">&#160;</td></tr> 94 <tr class="memitem:add13f39a8af440b4f7e6f74339eaada2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#add13f39a8af440b4f7e6f74339eaada2">ucx_stream_ncopy</a>(src, dest, rfnc, wfnc, n)</td></tr> 95 <tr class="memdesc:add13f39a8af440b4f7e6f74339eaada2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shorthand for ucx_stream_bncopy using a default copy buffer. <a href="#add13f39a8af440b4f7e6f74339eaada2">More...</a><br /></td></tr> 96 <tr class="separator:add13f39a8af440b4f7e6f74339eaada2"><td class="memSeparator" colspan="2">&#160;</td></tr> 97 <tr class="memitem:a6003a1750a66234169bd1f8cc84b297b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a6003a1750a66234169bd1f8cc84b297b">ucx_stream_bcopy</a>(src, dest, rfnc, wfnc, buf, bufsize)</td></tr> 98 <tr class="memdesc:a6003a1750a66234169bd1f8cc84b297b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shorthand for an unbounded ucx_stream_bncopy call using the specified buffer. <a href="#a6003a1750a66234169bd1f8cc84b297b">More...</a><br /></td></tr> 99 <tr class="separator:a6003a1750a66234169bd1f8cc84b297b"><td class="memSeparator" colspan="2">&#160;</td></tr> 100 <tr class="memitem:af9f333b66ecd639c347c7235f4992e2e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#af9f333b66ecd639c347c7235f4992e2e">ucx_sprintf</a>(...)&#160;&#160;&#160;<a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5">ucx_asprintf</a>(<a class="el" href="allocator_8h.html#a98d2f1b341118b7a0e341fda5d8b2ebf">ucx_default_allocator</a>(), __VA_ARGS__)</td></tr> 101 <tr class="memdesc:af9f333b66ecd639c347c7235f4992e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shortcut for <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a> with default allocator. <a href="#af9f333b66ecd639c347c7235f4992e2e">More...</a><br /></td></tr> 102 <tr class="separator:af9f333b66ecd639c347c7235f4992e2e"><td class="memSeparator" colspan="2">&#160;</td></tr> 103 <tr class="memitem:a9d7d65a420f026fcb6982803d5120519"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a9d7d65a420f026fcb6982803d5120519">ucx_bprintf</a>(buffer, ...)</td></tr> 104 <tr class="memdesc:a9d7d65a420f026fcb6982803d5120519"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <code>printf()</code> like function which writes the output to a <a class="el" href="structUcxBuffer.html" title="UCX Buffer. ">UcxBuffer</a>. <a href="#a9d7d65a420f026fcb6982803d5120519">More...</a><br /></td></tr> 105 <tr class="separator:a9d7d65a420f026fcb6982803d5120519"><td class="memSeparator" colspan="2">&#160;</td></tr> 106 </table><table class="memberdecls"> 107 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> 108 Functions</h2></td></tr> 109 <tr class="memitem:adeb6e8d0a53a829207cfa0a979d01fff"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#adeb6e8d0a53a829207cfa0a979d01fff">ucx_strcpy</a> (const void *s, void *data)</td></tr> 110 <tr class="memdesc:adeb6e8d0a53a829207cfa0a979d01fff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies a string. <a href="#adeb6e8d0a53a829207cfa0a979d01fff">More...</a><br /></td></tr> 111 <tr class="separator:adeb6e8d0a53a829207cfa0a979d01fff"><td class="memSeparator" colspan="2">&#160;</td></tr> 112 <tr class="memitem:ab2e184e6a744941aab6b8058116baf30"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ab2e184e6a744941aab6b8058116baf30">ucx_memcpy</a> (const void *m, void *n)</td></tr> 113 <tr class="memdesc:ab2e184e6a744941aab6b8058116baf30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies a memory area. <a href="#ab2e184e6a744941aab6b8058116baf30">More...</a><br /></td></tr> 114 <tr class="separator:ab2e184e6a744941aab6b8058116baf30"><td class="memSeparator" colspan="2">&#160;</td></tr> 115 <tr class="memitem:a114ee7f7da62656ffd35e2dc23394201"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a> (void *src, void *dest, <a class="el" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a> rfnc, <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> wfnc, char *buf, size_t bufsize, size_t n)</td></tr> 116 <tr class="memdesc:a114ee7f7da62656ffd35e2dc23394201"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from a stream and writes it to another stream. <a href="#a114ee7f7da62656ffd35e2dc23394201">More...</a><br /></td></tr> 117 <tr class="separator:a114ee7f7da62656ffd35e2dc23394201"><td class="memSeparator" colspan="2">&#160;</td></tr> 118 <tr class="memitem:aa6a37b9d172b6a5b2803d152f9e1b258"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa6a37b9d172b6a5b2803d152f9e1b258">ucx_cmp_str</a> (const void *s1, const void *s2, void *data)</td></tr> 119 <tr class="memdesc:aa6a37b9d172b6a5b2803d152f9e1b258"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps the strcmp function. <a href="#aa6a37b9d172b6a5b2803d152f9e1b258">More...</a><br /></td></tr> 120 <tr class="separator:aa6a37b9d172b6a5b2803d152f9e1b258"><td class="memSeparator" colspan="2">&#160;</td></tr> 121 <tr class="memitem:ac6b354a878f551a3a5b20a167db3f308"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ac6b354a878f551a3a5b20a167db3f308">ucx_cmp_strn</a> (const void *s1, const void *s2, void *n)</td></tr> 122 <tr class="memdesc:ac6b354a878f551a3a5b20a167db3f308"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps the strncmp function. <a href="#ac6b354a878f551a3a5b20a167db3f308">More...</a><br /></td></tr> 123 <tr class="separator:ac6b354a878f551a3a5b20a167db3f308"><td class="memSeparator" colspan="2">&#160;</td></tr> 124 <tr class="memitem:adee0739589166d272f8cb7c23aabf8ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#adee0739589166d272f8cb7c23aabf8ba">ucx_cmp_sstr</a> (const void *s1, const void *s2, void *data)</td></tr> 125 <tr class="memdesc:adee0739589166d272f8cb7c23aabf8ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps the sstrcmp function. <a href="#adee0739589166d272f8cb7c23aabf8ba">More...</a><br /></td></tr> 126 <tr class="separator:adee0739589166d272f8cb7c23aabf8ba"><td class="memSeparator" colspan="2">&#160;</td></tr> 127 <tr class="memitem:a8ce7e11e6b3deafe89a32a091fde7f16"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a8ce7e11e6b3deafe89a32a091fde7f16">ucx_cmp_int</a> (const void *i1, const void *i2, void *data)</td></tr> 128 <tr class="memdesc:a8ce7e11e6b3deafe89a32a091fde7f16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type int. <a href="#a8ce7e11e6b3deafe89a32a091fde7f16">More...</a><br /></td></tr> 129 <tr class="separator:a8ce7e11e6b3deafe89a32a091fde7f16"><td class="memSeparator" colspan="2">&#160;</td></tr> 130 <tr class="memitem:aeb57a2b9a6aaa0460c7a6bec29accf2c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aeb57a2b9a6aaa0460c7a6bec29accf2c">ucx_cmp_longint</a> (const void *i1, const void *i2, void *data)</td></tr> 131 <tr class="memdesc:aeb57a2b9a6aaa0460c7a6bec29accf2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type long int. <a href="#aeb57a2b9a6aaa0460c7a6bec29accf2c">More...</a><br /></td></tr> 132 <tr class="separator:aeb57a2b9a6aaa0460c7a6bec29accf2c"><td class="memSeparator" colspan="2">&#160;</td></tr> 133 <tr class="memitem:a366b57def20f86a41eaedf575eea5375"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a366b57def20f86a41eaedf575eea5375">ucx_cmp_longlong</a> (const void *i1, const void *i2, void *data)</td></tr> 134 <tr class="memdesc:a366b57def20f86a41eaedf575eea5375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type long long. <a href="#a366b57def20f86a41eaedf575eea5375">More...</a><br /></td></tr> 135 <tr class="separator:a366b57def20f86a41eaedf575eea5375"><td class="memSeparator" colspan="2">&#160;</td></tr> 136 <tr class="memitem:aa29e6e559946375e34113e34e0b0bd0d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa29e6e559946375e34113e34e0b0bd0d">ucx_cmp_int16</a> (const void *i1, const void *i2, void *data)</td></tr> 137 <tr class="memdesc:aa29e6e559946375e34113e34e0b0bd0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type int16_t. <a href="#aa29e6e559946375e34113e34e0b0bd0d">More...</a><br /></td></tr> 138 <tr class="separator:aa29e6e559946375e34113e34e0b0bd0d"><td class="memSeparator" colspan="2">&#160;</td></tr> 139 <tr class="memitem:a858b2ac443fb202643b71f6a7e9218dd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a858b2ac443fb202643b71f6a7e9218dd">ucx_cmp_int32</a> (const void *i1, const void *i2, void *data)</td></tr> 140 <tr class="memdesc:a858b2ac443fb202643b71f6a7e9218dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type int32_t. <a href="#a858b2ac443fb202643b71f6a7e9218dd">More...</a><br /></td></tr> 141 <tr class="separator:a858b2ac443fb202643b71f6a7e9218dd"><td class="memSeparator" colspan="2">&#160;</td></tr> 142 <tr class="memitem:a54701aea6a89fed1402dfb0bf56bc7f6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a54701aea6a89fed1402dfb0bf56bc7f6">ucx_cmp_int64</a> (const void *i1, const void *i2, void *data)</td></tr> 143 <tr class="memdesc:a54701aea6a89fed1402dfb0bf56bc7f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type int64_t. <a href="#a54701aea6a89fed1402dfb0bf56bc7f6">More...</a><br /></td></tr> 144 <tr class="separator:a54701aea6a89fed1402dfb0bf56bc7f6"><td class="memSeparator" colspan="2">&#160;</td></tr> 145 <tr class="memitem:abd83a5da91c3dd026a6931bd80c12f1e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#abd83a5da91c3dd026a6931bd80c12f1e">ucx_cmp_uint</a> (const void *i1, const void *i2, void *data)</td></tr> 146 <tr class="memdesc:abd83a5da91c3dd026a6931bd80c12f1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type unsigned int. <a href="#abd83a5da91c3dd026a6931bd80c12f1e">More...</a><br /></td></tr> 147 <tr class="separator:abd83a5da91c3dd026a6931bd80c12f1e"><td class="memSeparator" colspan="2">&#160;</td></tr> 148 <tr class="memitem:a3f3cbae2594d6f722bae29acb0408a24"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a3f3cbae2594d6f722bae29acb0408a24">ucx_cmp_ulongint</a> (const void *i1, const void *i2, void *data)</td></tr> 149 <tr class="memdesc:a3f3cbae2594d6f722bae29acb0408a24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type unsigned long int. <a href="#a3f3cbae2594d6f722bae29acb0408a24">More...</a><br /></td></tr> 150 <tr class="separator:a3f3cbae2594d6f722bae29acb0408a24"><td class="memSeparator" colspan="2">&#160;</td></tr> 151 <tr class="memitem:a6acfc359421f21f9a042a654ff7faac5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a6acfc359421f21f9a042a654ff7faac5">ucx_cmp_ulonglong</a> (const void *i1, const void *i2, void *data)</td></tr> 152 <tr class="memdesc:a6acfc359421f21f9a042a654ff7faac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type unsigned long long. <a href="#a6acfc359421f21f9a042a654ff7faac5">More...</a><br /></td></tr> 153 <tr class="separator:a6acfc359421f21f9a042a654ff7faac5"><td class="memSeparator" colspan="2">&#160;</td></tr> 154 <tr class="memitem:acde5366437e886a459b7468f7a9e11f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#acde5366437e886a459b7468f7a9e11f0">ucx_cmp_uint16</a> (const void *i1, const void *i2, void *data)</td></tr> 155 <tr class="memdesc:acde5366437e886a459b7468f7a9e11f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type uint16_t. <a href="#acde5366437e886a459b7468f7a9e11f0">More...</a><br /></td></tr> 156 <tr class="separator:acde5366437e886a459b7468f7a9e11f0"><td class="memSeparator" colspan="2">&#160;</td></tr> 157 <tr class="memitem:a5879d1722330355914d8c9146fa549d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a5879d1722330355914d8c9146fa549d3">ucx_cmp_uint32</a> (const void *i1, const void *i2, void *data)</td></tr> 158 <tr class="memdesc:a5879d1722330355914d8c9146fa549d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type uint32_t. <a href="#a5879d1722330355914d8c9146fa549d3">More...</a><br /></td></tr> 159 <tr class="separator:a5879d1722330355914d8c9146fa549d3"><td class="memSeparator" colspan="2">&#160;</td></tr> 160 <tr class="memitem:a1572a78b5b42f7151a5b2a5a7283d62d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a1572a78b5b42f7151a5b2a5a7283d62d">ucx_cmp_uint64</a> (const void *i1, const void *i2, void *data)</td></tr> 161 <tr class="memdesc:a1572a78b5b42f7151a5b2a5a7283d62d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two integers of type uint64_t. <a href="#a1572a78b5b42f7151a5b2a5a7283d62d">More...</a><br /></td></tr> 162 <tr class="separator:a1572a78b5b42f7151a5b2a5a7283d62d"><td class="memSeparator" colspan="2">&#160;</td></tr> 163 <tr class="memitem:a4ab6753739d56c09cdf6079fdcabf7c6"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a4ab6753739d56c09cdf6079fdcabf7c6">ucx_dist_int</a> (const void *i1, const void *i2, void *data)</td></tr> 164 <tr class="memdesc:a4ab6753739d56c09cdf6079fdcabf7c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type int. <a href="#a4ab6753739d56c09cdf6079fdcabf7c6">More...</a><br /></td></tr> 165 <tr class="separator:a4ab6753739d56c09cdf6079fdcabf7c6"><td class="memSeparator" colspan="2">&#160;</td></tr> 166 <tr class="memitem:a43e73d288b1553a0078bf4c98dd341f5"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a43e73d288b1553a0078bf4c98dd341f5">ucx_dist_longint</a> (const void *i1, const void *i2, void *data)</td></tr> 167 <tr class="memdesc:a43e73d288b1553a0078bf4c98dd341f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type long int. <a href="#a43e73d288b1553a0078bf4c98dd341f5">More...</a><br /></td></tr> 168 <tr class="separator:a43e73d288b1553a0078bf4c98dd341f5"><td class="memSeparator" colspan="2">&#160;</td></tr> 169 <tr class="memitem:a306778414a2427951ea263be92368627"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a306778414a2427951ea263be92368627">ucx_dist_longlong</a> (const void *i1, const void *i2, void *data)</td></tr> 170 <tr class="memdesc:a306778414a2427951ea263be92368627"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type long long. <a href="#a306778414a2427951ea263be92368627">More...</a><br /></td></tr> 171 <tr class="separator:a306778414a2427951ea263be92368627"><td class="memSeparator" colspan="2">&#160;</td></tr> 172 <tr class="memitem:a81fb8434b70ca11bf2c14abfa21d16a9"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a81fb8434b70ca11bf2c14abfa21d16a9">ucx_dist_int16</a> (const void *i1, const void *i2, void *data)</td></tr> 173 <tr class="memdesc:a81fb8434b70ca11bf2c14abfa21d16a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type int16_t. <a href="#a81fb8434b70ca11bf2c14abfa21d16a9">More...</a><br /></td></tr> 174 <tr class="separator:a81fb8434b70ca11bf2c14abfa21d16a9"><td class="memSeparator" colspan="2">&#160;</td></tr> 175 <tr class="memitem:ab4a659cc46096f0490c1dafa57726476"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ab4a659cc46096f0490c1dafa57726476">ucx_dist_int32</a> (const void *i1, const void *i2, void *data)</td></tr> 176 <tr class="memdesc:ab4a659cc46096f0490c1dafa57726476"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type int32_t. <a href="#ab4a659cc46096f0490c1dafa57726476">More...</a><br /></td></tr> 177 <tr class="separator:ab4a659cc46096f0490c1dafa57726476"><td class="memSeparator" colspan="2">&#160;</td></tr> 178 <tr class="memitem:a54e7d06585bad3a899befc4e9c13853f"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a54e7d06585bad3a899befc4e9c13853f">ucx_dist_int64</a> (const void *i1, const void *i2, void *data)</td></tr> 179 <tr class="memdesc:a54e7d06585bad3a899befc4e9c13853f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type int64_t. <a href="#a54e7d06585bad3a899befc4e9c13853f">More...</a><br /></td></tr> 180 <tr class="separator:a54e7d06585bad3a899befc4e9c13853f"><td class="memSeparator" colspan="2">&#160;</td></tr> 181 <tr class="memitem:a37b7d471ca1679992afc11a0deda45f4"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a37b7d471ca1679992afc11a0deda45f4">ucx_dist_uint</a> (const void *i1, const void *i2, void *data)</td></tr> 182 <tr class="memdesc:a37b7d471ca1679992afc11a0deda45f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type unsigned int. <a href="#a37b7d471ca1679992afc11a0deda45f4">More...</a><br /></td></tr> 183 <tr class="separator:a37b7d471ca1679992afc11a0deda45f4"><td class="memSeparator" colspan="2">&#160;</td></tr> 184 <tr class="memitem:abb13476228d0c16bfaba08469adbae2d"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#abb13476228d0c16bfaba08469adbae2d">ucx_dist_ulongint</a> (const void *i1, const void *i2, void *data)</td></tr> 185 <tr class="memdesc:abb13476228d0c16bfaba08469adbae2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type unsigned long int. <a href="#abb13476228d0c16bfaba08469adbae2d">More...</a><br /></td></tr> 186 <tr class="separator:abb13476228d0c16bfaba08469adbae2d"><td class="memSeparator" colspan="2">&#160;</td></tr> 187 <tr class="memitem:a59a5859272cb4b43cbdd58208c41e32b"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a59a5859272cb4b43cbdd58208c41e32b">ucx_dist_ulonglong</a> (const void *i1, const void *i2, void *data)</td></tr> 188 <tr class="memdesc:a59a5859272cb4b43cbdd58208c41e32b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type unsigned long long. <a href="#a59a5859272cb4b43cbdd58208c41e32b">More...</a><br /></td></tr> 189 <tr class="separator:a59a5859272cb4b43cbdd58208c41e32b"><td class="memSeparator" colspan="2">&#160;</td></tr> 190 <tr class="memitem:a66e00a0703cbcde050ec922578e2f080"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a66e00a0703cbcde050ec922578e2f080">ucx_dist_uint16</a> (const void *i1, const void *i2, void *data)</td></tr> 191 <tr class="memdesc:a66e00a0703cbcde050ec922578e2f080"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type uint16_t. <a href="#a66e00a0703cbcde050ec922578e2f080">More...</a><br /></td></tr> 192 <tr class="separator:a66e00a0703cbcde050ec922578e2f080"><td class="memSeparator" colspan="2">&#160;</td></tr> 193 <tr class="memitem:add2b5c5507caba59d894b84e056b079b"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#add2b5c5507caba59d894b84e056b079b">ucx_dist_uint32</a> (const void *i1, const void *i2, void *data)</td></tr> 194 <tr class="memdesc:add2b5c5507caba59d894b84e056b079b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type uint32_t. <a href="#add2b5c5507caba59d894b84e056b079b">More...</a><br /></td></tr> 195 <tr class="separator:add2b5c5507caba59d894b84e056b079b"><td class="memSeparator" colspan="2">&#160;</td></tr> 196 <tr class="memitem:a3ba75e2e0b2479eef2b22fb219b42da7"><td class="memItemLeft" align="right" valign="top">intmax_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a3ba75e2e0b2479eef2b22fb219b42da7">ucx_dist_uint64</a> (const void *i1, const void *i2, void *data)</td></tr> 197 <tr class="memdesc:a3ba75e2e0b2479eef2b22fb219b42da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance function for integers of type uint64_t. <a href="#a3ba75e2e0b2479eef2b22fb219b42da7">More...</a><br /></td></tr> 198 <tr class="separator:a3ba75e2e0b2479eef2b22fb219b42da7"><td class="memSeparator" colspan="2">&#160;</td></tr> 199 <tr class="memitem:ad1196b561bcdad76c393885819769a97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ad1196b561bcdad76c393885819769a97">ucx_cmp_float</a> (const void *f1, const void *f2, void *data)</td></tr> 200 <tr class="memdesc:ad1196b561bcdad76c393885819769a97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two real numbers of type float. <a href="#ad1196b561bcdad76c393885819769a97">More...</a><br /></td></tr> 201 <tr class="separator:ad1196b561bcdad76c393885819769a97"><td class="memSeparator" colspan="2">&#160;</td></tr> 202 <tr class="memitem:ab804b7c27d0bfcd7bf3a3583140825b6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ab804b7c27d0bfcd7bf3a3583140825b6">ucx_cmp_double</a> (const void *d1, const void *d2, void *data)</td></tr> 203 <tr class="memdesc:ab804b7c27d0bfcd7bf3a3583140825b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two real numbers of type double. <a href="#ab804b7c27d0bfcd7bf3a3583140825b6">More...</a><br /></td></tr> 204 <tr class="separator:ab804b7c27d0bfcd7bf3a3583140825b6"><td class="memSeparator" colspan="2">&#160;</td></tr> 205 <tr class="memitem:aa174d539de3ea59be4f9640f17ce53d8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa174d539de3ea59be4f9640f17ce53d8">ucx_cmp_ptr</a> (const void *ptr1, const void *ptr2, void *data)</td></tr> 206 <tr class="memdesc:aa174d539de3ea59be4f9640f17ce53d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two pointers. <a href="#aa174d539de3ea59be4f9640f17ce53d8">More...</a><br /></td></tr> 207 <tr class="separator:aa174d539de3ea59be4f9640f17ce53d8"><td class="memSeparator" colspan="2">&#160;</td></tr> 208 <tr class="memitem:aff7d2bcded71196831a8c0664333f8e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aff7d2bcded71196831a8c0664333f8e7">ucx_cmp_mem</a> (const void *ptr1, const void *ptr2, void *n)</td></tr> 209 <tr class="memdesc:aff7d2bcded71196831a8c0664333f8e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two memory areas. <a href="#aff7d2bcded71196831a8c0664333f8e7">More...</a><br /></td></tr> 210 <tr class="separator:aff7d2bcded71196831a8c0664333f8e7"><td class="memSeparator" colspan="2">&#160;</td></tr> 211 <tr class="memitem:aa0bec80e1c67f769ff5e112a7d4ce72a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a">ucx_fprintf</a> (void *stream, <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> wfc, const char *fmt,...)</td></tr> 212 <tr class="memdesc:aa0bec80e1c67f769ff5e112a7d4ce72a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <code>printf()</code> like function which writes the output to a stream by using a <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed" title="Function pointer to a write function. ">write_func()</a>. <a href="#aa0bec80e1c67f769ff5e112a7d4ce72a">More...</a><br /></td></tr> 213 <tr class="separator:aa0bec80e1c67f769ff5e112a7d4ce72a"><td class="memSeparator" colspan="2">&#160;</td></tr> 214 <tr class="memitem:a4907967beb92c3ae351dd239abbb6927"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a4907967beb92c3ae351dd239abbb6927">ucx_vfprintf</a> (void *stream, <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> wfc, const char *fmt, va_list ap)</td></tr> 215 <tr class="memdesc:a4907967beb92c3ae351dd239abbb6927"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>va_list</code> version of <a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a" title="A printf() like function which writes the output to a stream by using a write_func(). ">ucx_fprintf()</a>. <a href="#a4907967beb92c3ae351dd239abbb6927">More...</a><br /></td></tr> 216 <tr class="separator:a4907967beb92c3ae351dd239abbb6927"><td class="memSeparator" colspan="2">&#160;</td></tr> 217 <tr class="memitem:a9f9cf0e89ffdc256ecb35429907f51f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsstr__t.html">sstr_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5">ucx_asprintf</a> (<a class="el" href="structUcxAllocator.html">UcxAllocator</a> *allocator, const char *fmt,...)</td></tr> 218 <tr class="memdesc:a9f9cf0e89ffdc256ecb35429907f51f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <code>printf()</code> like function which allocates space for a <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> the result is written to. <a href="#a9f9cf0e89ffdc256ecb35429907f51f5">More...</a><br /></td></tr> 219 <tr class="separator:a9f9cf0e89ffdc256ecb35429907f51f5"><td class="memSeparator" colspan="2">&#160;</td></tr> 220 <tr class="memitem:a3ea1dfb856c741f3e8ec6bfdc9ad427e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsstr__t.html">sstr_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a3ea1dfb856c741f3e8ec6bfdc9ad427e">ucx_vasprintf</a> (<a class="el" href="structUcxAllocator.html">UcxAllocator</a> *allocator, const char *fmt, va_list ap)</td></tr> 221 <tr class="memdesc:a3ea1dfb856c741f3e8ec6bfdc9ad427e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>va_list</code> version of <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a>. <a href="#a3ea1dfb856c741f3e8ec6bfdc9ad427e">More...</a><br /></td></tr> 222 <tr class="separator:a3ea1dfb856c741f3e8ec6bfdc9ad427e"><td class="memSeparator" colspan="2">&#160;</td></tr> 223 </table> 224 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 225 <div class="textblock"><p>Compare, copy and printf functions. </p> 226 <dl class="section author"><dt>Author</dt><dd>Mike Becker </dd> 227 <dd> 228 Olaf Wintermann </dd></dl> 229 </div><h2 class="groupheader">Macro Definition Documentation</h2> 230 <a id="a9d7d65a420f026fcb6982803d5120519"></a> 231 <h2 class="memtitle"><span class="permalink"><a href="#a9d7d65a420f026fcb6982803d5120519">&#9670;&nbsp;</a></span>ucx_bprintf</h2> 232 233 <div class="memitem"> 234 <div class="memproto"> 235 <table class="memname"> 236 <tr> 237 <td class="memname">#define ucx_bprintf</td> 238 <td>(</td> 239 <td class="paramtype">&#160;</td> 240 <td class="paramname">buffer, </td> 241 </tr> 242 <tr> 243 <td class="paramkey"></td> 244 <td></td> 245 <td class="paramtype">&#160;</td> 246 <td class="paramname"><em>...</em>&#160;</td> 247 </tr> 248 <tr> 249 <td></td> 250 <td>)</td> 251 <td></td><td></td> 252 </tr> 253 </table> 254 </div><div class="memdoc"> 255 <b>Value:</b><div class="fragment"><div class="line"><a class="code" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a">ucx_fprintf</a>((<a class="code" href="structUcxBuffer.html">UcxBuffer</a>*)buffer, \</div><div class="line"> (<a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>)<a class="code" href="buffer_8h.html#af8aacc7401814392b58c1b7b81bffc05">ucx_buffer_write</a>, __VA_ARGS__)</div><div class="ttc" id="buffer_8h_html_af8aacc7401814392b58c1b7b81bffc05"><div class="ttname"><a href="buffer_8h.html#af8aacc7401814392b58c1b7b81bffc05">ucx_buffer_write</a></div><div class="ttdeci">size_t ucx_buffer_write(const void *ptr, size_t size, size_t nitems, UcxBuffer *buffer)</div><div class="ttdoc">Writes data to a UcxBuffer. </div><div class="ttdef"><b>Definition:</b> buffer.c:152</div></div> 256 <div class="ttc" id="structUcxBuffer_html"><div class="ttname"><a href="structUcxBuffer.html">UcxBuffer</a></div><div class="ttdoc">UCX Buffer. </div><div class="ttdef"><b>Definition:</b> buffer.h:73</div></div> 257 <div class="ttc" id="utils_8h_html_aa0bec80e1c67f769ff5e112a7d4ce72a"><div class="ttname"><a href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a">ucx_fprintf</a></div><div class="ttdeci">int ucx_fprintf(void *stream, write_func wfc, const char *fmt,...)</div><div class="ttdoc">A printf() like function which writes the output to a stream by using a write_func(). </div><div class="ttdef"><b>Definition:</b> utils.c:343</div></div> 258 <div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div> 259 </div><!-- fragment --> 260 <p>A <code>printf()</code> like function which writes the output to a <a class="el" href="structUcxBuffer.html" title="UCX Buffer. ">UcxBuffer</a>. </p> 261 <dl class="params"><dt>Parameters</dt><dd> 262 <table class="params"> 263 <tr><td class="paramname">buffer</td><td>the buffer the data is written to </td></tr> 264 <tr><td class="paramname">...</td><td>format string and additional arguments </td></tr> 265 </table> 266 </dd> 267 </dl> 268 <dl class="section return"><dt>Returns</dt><dd>the total number of bytes written </dd></dl> 269 <dl class="section see"><dt>See also</dt><dd><a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a" title="A printf() like function which writes the output to a stream by using a write_func(). ">ucx_fprintf()</a> </dd></dl> 270 271 </div> 272 </div> 273 <a id="af9f333b66ecd639c347c7235f4992e2e"></a> 274 <h2 class="memtitle"><span class="permalink"><a href="#af9f333b66ecd639c347c7235f4992e2e">&#9670;&nbsp;</a></span>ucx_sprintf</h2> 275 276 <div class="memitem"> 277 <div class="memproto"> 278 <table class="memname"> 279 <tr> 280 <td class="memname">#define ucx_sprintf</td> 281 <td>(</td> 282 <td class="paramtype">&#160;</td> 283 <td class="paramname"><em>...</em></td><td>)</td> 284 <td>&#160;&#160;&#160;<a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5">ucx_asprintf</a>(<a class="el" href="allocator_8h.html#a98d2f1b341118b7a0e341fda5d8b2ebf">ucx_default_allocator</a>(), __VA_ARGS__)</td> 285 </tr> 286 </table> 287 </div><div class="memdoc"> 288 289 <p>Shortcut for <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a> with default allocator. </p> 290 291 </div> 292 </div> 293 <a id="a6003a1750a66234169bd1f8cc84b297b"></a> 294 <h2 class="memtitle"><span class="permalink"><a href="#a6003a1750a66234169bd1f8cc84b297b">&#9670;&nbsp;</a></span>ucx_stream_bcopy</h2> 295 296 <div class="memitem"> 297 <div class="memproto"> 298 <table class="memname"> 299 <tr> 300 <td class="memname">#define ucx_stream_bcopy</td> 301 <td>(</td> 302 <td class="paramtype">&#160;</td> 303 <td class="paramname">src, </td> 304 </tr> 305 <tr> 306 <td class="paramkey"></td> 307 <td></td> 308 <td class="paramtype">&#160;</td> 309 <td class="paramname">dest, </td> 310 </tr> 311 <tr> 312 <td class="paramkey"></td> 313 <td></td> 314 <td class="paramtype">&#160;</td> 315 <td class="paramname">rfnc, </td> 316 </tr> 317 <tr> 318 <td class="paramkey"></td> 319 <td></td> 320 <td class="paramtype">&#160;</td> 321 <td class="paramname">wfnc, </td> 322 </tr> 323 <tr> 324 <td class="paramkey"></td> 325 <td></td> 326 <td class="paramtype">&#160;</td> 327 <td class="paramname">buf, </td> 328 </tr> 329 <tr> 330 <td class="paramkey"></td> 331 <td></td> 332 <td class="paramtype">&#160;</td> 333 <td class="paramname">bufsize&#160;</td> 334 </tr> 335 <tr> 336 <td></td> 337 <td>)</td> 338 <td></td><td></td> 339 </tr> 340 </table> 341 </div><div class="memdoc"> 342 <b>Value:</b><div class="fragment"><div class="line"><a class="code" href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a>(\</div><div class="line"> src, dest, (<a class="code" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a>)rfnc, (<a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>)wfnc, \</div><div class="line"> buf, bufsize, (<span class="keywordtype">size_t</span>)-1)</div><div class="ttc" id="utils_8h_html_a114ee7f7da62656ffd35e2dc23394201"><div class="ttname"><a href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a></div><div class="ttdeci">size_t ucx_stream_bncopy(void *src, void *dest, read_func rfnc, write_func wfnc, char *buf, size_t bufsize, size_t n)</div><div class="ttdoc">Reads data from a stream and writes it to another stream. </div><div class="ttdef"><b>Definition:</b> utils.c:52</div></div> 343 <div class="ttc" id="ucx_8h_html_a6a67e255e460acb58f802067b3ff5fd5"><div class="ttname"><a href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a></div><div class="ttdeci">size_t(* read_func)(void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a read function. </div><div class="ttdef"><b>Definition:</b> ucx.h:132</div></div> 344 <div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div> 345 </div><!-- fragment --> 346 <p>Shorthand for an unbounded ucx_stream_bncopy call using the specified buffer. </p> 347 <dl class="params"><dt>Parameters</dt><dd> 348 <table class="params"> 349 <tr><td class="paramname">src</td><td>the source stream </td></tr> 350 <tr><td class="paramname">dest</td><td>the destination stream </td></tr> 351 <tr><td class="paramname">rfnc</td><td>the read function </td></tr> 352 <tr><td class="paramname">wfnc</td><td>the write function </td></tr> 353 <tr><td class="paramname">buf</td><td>a pointer to the copy buffer or <code>NULL</code> if a buffer shall be implicitly created on the heap </td></tr> 354 <tr><td class="paramname">bufsize</td><td>the size of the copy buffer - if <code>NULL</code> was provided for <code>buf</code>, this is the size of the buffer that shall be implicitly created </td></tr> 355 </table> 356 </dd> 357 </dl> 358 <dl class="section return"><dt>Returns</dt><dd>total number of bytes copied </dd></dl> 359 360 </div> 361 </div> 362 <a id="a41ca1344f781c0d3bf7a414a6e811392"></a> 363 <h2 class="memtitle"><span class="permalink"><a href="#a41ca1344f781c0d3bf7a414a6e811392">&#9670;&nbsp;</a></span>ucx_stream_copy</h2> 364 365 <div class="memitem"> 366 <div class="memproto"> 367 <table class="memname"> 368 <tr> 369 <td class="memname">#define ucx_stream_copy</td> 370 <td>(</td> 371 <td class="paramtype">&#160;</td> 372 <td class="paramname">src, </td> 373 </tr> 374 <tr> 375 <td class="paramkey"></td> 376 <td></td> 377 <td class="paramtype">&#160;</td> 378 <td class="paramname">dest, </td> 379 </tr> 380 <tr> 381 <td class="paramkey"></td> 382 <td></td> 383 <td class="paramtype">&#160;</td> 384 <td class="paramname">rfnc, </td> 385 </tr> 386 <tr> 387 <td class="paramkey"></td> 388 <td></td> 389 <td class="paramtype">&#160;</td> 390 <td class="paramname">wfnc&#160;</td> 391 </tr> 392 <tr> 393 <td></td> 394 <td>)</td> 395 <td></td><td></td> 396 </tr> 397 </table> 398 </div><div class="memdoc"> 399 <b>Value:</b><div class="fragment"><div class="line"><a class="code" href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a>(\</div><div class="line"> src, dest, (<a class="code" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a>)rfnc, (<a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>)wfnc, \</div><div class="line"> NULL, <a class="code" href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a>, (<span class="keywordtype">size_t</span>)-1)</div><div class="ttc" id="utils_8h_html_a114ee7f7da62656ffd35e2dc23394201"><div class="ttname"><a href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a></div><div class="ttdeci">size_t ucx_stream_bncopy(void *src, void *dest, read_func rfnc, write_func wfnc, char *buf, size_t bufsize, size_t n)</div><div class="ttdoc">Reads data from a stream and writes it to another stream. </div><div class="ttdef"><b>Definition:</b> utils.c:52</div></div> 400 <div class="ttc" id="utils_8h_html_a23efd74fa5f701d4cf26ccbfd138a439"><div class="ttname"><a href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a></div><div class="ttdeci">#define UCX_STREAM_COPY_BUFSIZE</div><div class="ttdoc">Default buffer size for ucx_stream_copy() and ucx_stream_ncopy(). </div><div class="ttdef"><b>Definition:</b> utils.h:55</div></div> 401 <div class="ttc" id="ucx_8h_html_a6a67e255e460acb58f802067b3ff5fd5"><div class="ttname"><a href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a></div><div class="ttdeci">size_t(* read_func)(void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a read function. </div><div class="ttdef"><b>Definition:</b> ucx.h:132</div></div> 402 <div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div> 403 </div><!-- fragment --> 404 <p>Shorthand for an unbounded ucx_stream_bncopy call using a default buffer. </p> 405 <dl class="params"><dt>Parameters</dt><dd> 406 <table class="params"> 407 <tr><td class="paramname">src</td><td>the source stream </td></tr> 408 <tr><td class="paramname">dest</td><td>the destination stream </td></tr> 409 <tr><td class="paramname">rfnc</td><td>the read function </td></tr> 410 <tr><td class="paramname">wfnc</td><td>the write function </td></tr> 411 </table> 412 </dd> 413 </dl> 414 <dl class="section return"><dt>Returns</dt><dd>total number of bytes copied</dd></dl> 415 <dl class="section see"><dt>See also</dt><dd><a class="el" href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439" title="Default buffer size for ucx_stream_copy() and ucx_stream_ncopy(). ">UCX_STREAM_COPY_BUFSIZE</a> </dd></dl> 416 417 </div> 418 </div> 419 <a id="add13f39a8af440b4f7e6f74339eaada2"></a> 420 <h2 class="memtitle"><span class="permalink"><a href="#add13f39a8af440b4f7e6f74339eaada2">&#9670;&nbsp;</a></span>ucx_stream_ncopy</h2> 421 422 <div class="memitem"> 423 <div class="memproto"> 424 <table class="memname"> 425 <tr> 426 <td class="memname">#define ucx_stream_ncopy</td> 427 <td>(</td> 428 <td class="paramtype">&#160;</td> 429 <td class="paramname">src, </td> 430 </tr> 431 <tr> 432 <td class="paramkey"></td> 433 <td></td> 434 <td class="paramtype">&#160;</td> 435 <td class="paramname">dest, </td> 436 </tr> 437 <tr> 438 <td class="paramkey"></td> 439 <td></td> 440 <td class="paramtype">&#160;</td> 441 <td class="paramname">rfnc, </td> 442 </tr> 443 <tr> 444 <td class="paramkey"></td> 445 <td></td> 446 <td class="paramtype">&#160;</td> 447 <td class="paramname">wfnc, </td> 448 </tr> 449 <tr> 450 <td class="paramkey"></td> 451 <td></td> 452 <td class="paramtype">&#160;</td> 453 <td class="paramname">n&#160;</td> 454 </tr> 455 <tr> 456 <td></td> 457 <td>)</td> 458 <td></td><td></td> 459 </tr> 460 </table> 461 </div><div class="memdoc"> 462 <b>Value:</b><div class="fragment"><div class="line"><a class="code" href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a>(\</div><div class="line"> src, dest, (<a class="code" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a>)rfnc, (<a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>)wfnc, \</div><div class="line"> NULL, <a class="code" href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a>, n)</div><div class="ttc" id="utils_8h_html_a114ee7f7da62656ffd35e2dc23394201"><div class="ttname"><a href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a></div><div class="ttdeci">size_t ucx_stream_bncopy(void *src, void *dest, read_func rfnc, write_func wfnc, char *buf, size_t bufsize, size_t n)</div><div class="ttdoc">Reads data from a stream and writes it to another stream. </div><div class="ttdef"><b>Definition:</b> utils.c:52</div></div> 463 <div class="ttc" id="utils_8h_html_a23efd74fa5f701d4cf26ccbfd138a439"><div class="ttname"><a href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a></div><div class="ttdeci">#define UCX_STREAM_COPY_BUFSIZE</div><div class="ttdoc">Default buffer size for ucx_stream_copy() and ucx_stream_ncopy(). </div><div class="ttdef"><b>Definition:</b> utils.h:55</div></div> 464 <div class="ttc" id="ucx_8h_html_a6a67e255e460acb58f802067b3ff5fd5"><div class="ttname"><a href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a></div><div class="ttdeci">size_t(* read_func)(void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a read function. </div><div class="ttdef"><b>Definition:</b> ucx.h:132</div></div> 465 <div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div> 466 </div><!-- fragment --> 467 <p>Shorthand for ucx_stream_bncopy using a default copy buffer. </p> 468 <dl class="params"><dt>Parameters</dt><dd> 469 <table class="params"> 470 <tr><td class="paramname">src</td><td>the source stream </td></tr> 471 <tr><td class="paramname">dest</td><td>the destination stream </td></tr> 472 <tr><td class="paramname">rfnc</td><td>the read function </td></tr> 473 <tr><td class="paramname">wfnc</td><td>the write function </td></tr> 474 <tr><td class="paramname">n</td><td>maximum number of bytes that shall be copied </td></tr> 475 </table> 476 </dd> 477 </dl> 478 <dl class="section return"><dt>Returns</dt><dd>total number of bytes copied </dd></dl> 479 480 </div> 481 </div> 482 <h2 class="groupheader">Function Documentation</h2> 483 <a id="a9f9cf0e89ffdc256ecb35429907f51f5"></a> 484 <h2 class="memtitle"><span class="permalink"><a href="#a9f9cf0e89ffdc256ecb35429907f51f5">&#9670;&nbsp;</a></span>ucx_asprintf()</h2> 485 486 <div class="memitem"> 487 <div class="memproto"> 488 <table class="memname"> 489 <tr> 490 <td class="memname"><a class="el" href="structsstr__t.html">sstr_t</a> ucx_asprintf </td> 491 <td>(</td> 492 <td class="paramtype"><a class="el" href="structUcxAllocator.html">UcxAllocator</a> *&#160;</td> 493 <td class="paramname"><em>allocator</em>, </td> 494 </tr> 495 <tr> 496 <td class="paramkey"></td> 497 <td></td> 498 <td class="paramtype">const char *&#160;</td> 499 <td class="paramname"><em>fmt</em>, </td> 500 </tr> 501 <tr> 502 <td class="paramkey"></td> 503 <td></td> 504 <td class="paramtype">&#160;</td> 505 <td class="paramname"><em>...</em>&#160;</td> 506 </tr> 507 <tr> 508 <td></td> 509 <td>)</td> 510 <td></td><td></td> 511 </tr> 512 </table> 513 </div><div class="memdoc"> 514 515 <p>A <code>printf()</code> like function which allocates space for a <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> the result is written to. </p> 516 <p><b>Attention</b>: The <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> data is allocated with the allocators <a class="el" href="allocator_8h.html#a29f0f6a23a70db3b60635cd6dc384473" title="A function pointer to the allocators malloc() function. ">ucx_allocator_malloc()</a> function. So it is implementation dependent, if the returned <a class="el" href="structsstr__t.html#af8049914efc1e67f7de3ee55ec0611b0" title="A pointer to the string (not necessarily NULL-terminated) ">sstr_t.ptr</a> pointer must be passed to the allocators <a class="el" href="allocator_8h.html#aaf2387ddaddd8ab4b267e6b00e5d6f7e" title="A function pointer to the allocators free() function. ">ucx_allocator_free()</a> function manually.</p> 517 <p><b>Note</b>: The <a class="el" href="structsstr__t.html#af8049914efc1e67f7de3ee55ec0611b0" title="A pointer to the string (not necessarily NULL-terminated) ">sstr_t.ptr</a> of the return value will <em>always</em> be <code>NULL</code>-terminated.</p> 518 <dl class="params"><dt>Parameters</dt><dd> 519 <table class="params"> 520 <tr><td class="paramname">allocator</td><td>the <a class="el" href="structUcxAllocator.html" title="UCX allocator data structure containing memory management functions. ">UcxAllocator</a> used for allocating the result <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> </td></tr> 521 <tr><td class="paramname">fmt</td><td>format string </td></tr> 522 <tr><td class="paramname">...</td><td>additional arguments </td></tr> 523 </table> 524 </dd> 525 </dl> 526 <dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> containing the formatted string </dd></dl> 527 528 </div> 529 </div> 530 <a id="ab804b7c27d0bfcd7bf3a3583140825b6"></a> 531 <h2 class="memtitle"><span class="permalink"><a href="#ab804b7c27d0bfcd7bf3a3583140825b6">&#9670;&nbsp;</a></span>ucx_cmp_double()</h2> 532 533 <div class="memitem"> 534 <div class="memproto"> 535 <table class="memname"> 536 <tr> 537 <td class="memname">int ucx_cmp_double </td> 538 <td>(</td> 539 <td class="paramtype">const void *&#160;</td> 540 <td class="paramname"><em>d1</em>, </td> 541 </tr> 542 <tr> 543 <td class="paramkey"></td> 544 <td></td> 545 <td class="paramtype">const void *&#160;</td> 546 <td class="paramname"><em>d2</em>, </td> 547 </tr> 548 <tr> 549 <td class="paramkey"></td> 550 <td></td> 551 <td class="paramtype">void *&#160;</td> 552 <td class="paramname"><em>data</em>&#160;</td> 553 </tr> 554 <tr> 555 <td></td> 556 <td>)</td> 557 <td></td><td></td> 558 </tr> 559 </table> 560 </div><div class="memdoc"> 561 562 <p>Compares two real numbers of type double. </p> 563 <dl class="params"><dt>Parameters</dt><dd> 564 <table class="params"> 565 <tr><td class="paramname">d1</td><td>pointer to double one </td></tr> 566 <tr><td class="paramname">d2</td><td>pointer to double two </td></tr> 567 <tr><td class="paramname">data</td><td>if provided: a pointer to precision (default: 1e-14) </td></tr> 568 </table> 569 </dd> 570 </dl> 571 <dl class="section return"><dt>Returns</dt><dd>-1, if *d1 is less than *d2, 0 if both are equal, 1 if *d1 is greater than *d2 </dd></dl> 572 573 </div> 574 </div> 575 <a id="ad1196b561bcdad76c393885819769a97"></a> 576 <h2 class="memtitle"><span class="permalink"><a href="#ad1196b561bcdad76c393885819769a97">&#9670;&nbsp;</a></span>ucx_cmp_float()</h2> 577 578 <div class="memitem"> 579 <div class="memproto"> 580 <table class="memname"> 581 <tr> 582 <td class="memname">int ucx_cmp_float </td> 583 <td>(</td> 584 <td class="paramtype">const void *&#160;</td> 585 <td class="paramname"><em>f1</em>, </td> 586 </tr> 587 <tr> 588 <td class="paramkey"></td> 589 <td></td> 590 <td class="paramtype">const void *&#160;</td> 591 <td class="paramname"><em>f2</em>, </td> 592 </tr> 593 <tr> 594 <td class="paramkey"></td> 595 <td></td> 596 <td class="paramtype">void *&#160;</td> 597 <td class="paramname"><em>data</em>&#160;</td> 598 </tr> 599 <tr> 600 <td></td> 601 <td>)</td> 602 <td></td><td></td> 603 </tr> 604 </table> 605 </div><div class="memdoc"> 606 607 <p>Compares two real numbers of type float. </p> 608 <dl class="params"><dt>Parameters</dt><dd> 609 <table class="params"> 610 <tr><td class="paramname">f1</td><td>pointer to float one </td></tr> 611 <tr><td class="paramname">f2</td><td>pointer to float two </td></tr> 612 <tr><td class="paramname">data</td><td>if provided: a pointer to precision (default: 1e-6f) </td></tr> 613 </table> 614 </dd> 615 </dl> 616 <dl class="section return"><dt>Returns</dt><dd>-1, if *f1 is less than *f2, 0 if both are equal, 1 if *f1 is greater than *f2 </dd></dl> 617 618 </div> 619 </div> 620 <a id="a8ce7e11e6b3deafe89a32a091fde7f16"></a> 621 <h2 class="memtitle"><span class="permalink"><a href="#a8ce7e11e6b3deafe89a32a091fde7f16">&#9670;&nbsp;</a></span>ucx_cmp_int()</h2> 622 623 <div class="memitem"> 624 <div class="memproto"> 625 <table class="memname"> 626 <tr> 627 <td class="memname">int ucx_cmp_int </td> 628 <td>(</td> 629 <td class="paramtype">const void *&#160;</td> 630 <td class="paramname"><em>i1</em>, </td> 631 </tr> 632 <tr> 633 <td class="paramkey"></td> 634 <td></td> 635 <td class="paramtype">const void *&#160;</td> 636 <td class="paramname"><em>i2</em>, </td> 637 </tr> 638 <tr> 639 <td class="paramkey"></td> 640 <td></td> 641 <td class="paramtype">void *&#160;</td> 642 <td class="paramname"><em>data</em>&#160;</td> 643 </tr> 644 <tr> 645 <td></td> 646 <td>)</td> 647 <td></td><td></td> 648 </tr> 649 </table> 650 </div><div class="memdoc"> 651 652 <p>Compares two integers of type int. </p> 653 <dl class="params"><dt>Parameters</dt><dd> 654 <table class="params"> 655 <tr><td class="paramname">i1</td><td>pointer to integer one </td></tr> 656 <tr><td class="paramname">i2</td><td>pointer to integer two </td></tr> 657 <tr><td class="paramname">data</td><td>omitted </td></tr> 658 </table> 659 </dd> 660 </dl> 661 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 662 663 </div> 664 </div> 665 <a id="aa29e6e559946375e34113e34e0b0bd0d"></a> 666 <h2 class="memtitle"><span class="permalink"><a href="#aa29e6e559946375e34113e34e0b0bd0d">&#9670;&nbsp;</a></span>ucx_cmp_int16()</h2> 667 668 <div class="memitem"> 669 <div class="memproto"> 670 <table class="memname"> 671 <tr> 672 <td class="memname">int ucx_cmp_int16 </td> 673 <td>(</td> 674 <td class="paramtype">const void *&#160;</td> 675 <td class="paramname"><em>i1</em>, </td> 676 </tr> 677 <tr> 678 <td class="paramkey"></td> 679 <td></td> 680 <td class="paramtype">const void *&#160;</td> 681 <td class="paramname"><em>i2</em>, </td> 682 </tr> 683 <tr> 684 <td class="paramkey"></td> 685 <td></td> 686 <td class="paramtype">void *&#160;</td> 687 <td class="paramname"><em>data</em>&#160;</td> 688 </tr> 689 <tr> 690 <td></td> 691 <td>)</td> 692 <td></td><td></td> 693 </tr> 694 </table> 695 </div><div class="memdoc"> 696 697 <p>Compares two integers of type int16_t. </p> 698 <dl class="params"><dt>Parameters</dt><dd> 699 <table class="params"> 700 <tr><td class="paramname">i1</td><td>pointer to int16_t one </td></tr> 701 <tr><td class="paramname">i2</td><td>pointer to int16_t two </td></tr> 702 <tr><td class="paramname">data</td><td>omitted </td></tr> 703 </table> 704 </dd> 705 </dl> 706 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 707 708 </div> 709 </div> 710 <a id="a858b2ac443fb202643b71f6a7e9218dd"></a> 711 <h2 class="memtitle"><span class="permalink"><a href="#a858b2ac443fb202643b71f6a7e9218dd">&#9670;&nbsp;</a></span>ucx_cmp_int32()</h2> 712 713 <div class="memitem"> 714 <div class="memproto"> 715 <table class="memname"> 716 <tr> 717 <td class="memname">int ucx_cmp_int32 </td> 718 <td>(</td> 719 <td class="paramtype">const void *&#160;</td> 720 <td class="paramname"><em>i1</em>, </td> 721 </tr> 722 <tr> 723 <td class="paramkey"></td> 724 <td></td> 725 <td class="paramtype">const void *&#160;</td> 726 <td class="paramname"><em>i2</em>, </td> 727 </tr> 728 <tr> 729 <td class="paramkey"></td> 730 <td></td> 731 <td class="paramtype">void *&#160;</td> 732 <td class="paramname"><em>data</em>&#160;</td> 733 </tr> 734 <tr> 735 <td></td> 736 <td>)</td> 737 <td></td><td></td> 738 </tr> 739 </table> 740 </div><div class="memdoc"> 741 742 <p>Compares two integers of type int32_t. </p> 743 <dl class="params"><dt>Parameters</dt><dd> 744 <table class="params"> 745 <tr><td class="paramname">i1</td><td>pointer to int32_t one </td></tr> 746 <tr><td class="paramname">i2</td><td>pointer to int32_t two </td></tr> 747 <tr><td class="paramname">data</td><td>omitted </td></tr> 748 </table> 749 </dd> 750 </dl> 751 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 752 753 </div> 754 </div> 755 <a id="a54701aea6a89fed1402dfb0bf56bc7f6"></a> 756 <h2 class="memtitle"><span class="permalink"><a href="#a54701aea6a89fed1402dfb0bf56bc7f6">&#9670;&nbsp;</a></span>ucx_cmp_int64()</h2> 757 758 <div class="memitem"> 759 <div class="memproto"> 760 <table class="memname"> 761 <tr> 762 <td class="memname">int ucx_cmp_int64 </td> 763 <td>(</td> 764 <td class="paramtype">const void *&#160;</td> 765 <td class="paramname"><em>i1</em>, </td> 766 </tr> 767 <tr> 768 <td class="paramkey"></td> 769 <td></td> 770 <td class="paramtype">const void *&#160;</td> 771 <td class="paramname"><em>i2</em>, </td> 772 </tr> 773 <tr> 774 <td class="paramkey"></td> 775 <td></td> 776 <td class="paramtype">void *&#160;</td> 777 <td class="paramname"><em>data</em>&#160;</td> 778 </tr> 779 <tr> 780 <td></td> 781 <td>)</td> 782 <td></td><td></td> 783 </tr> 784 </table> 785 </div><div class="memdoc"> 786 787 <p>Compares two integers of type int64_t. </p> 788 <dl class="params"><dt>Parameters</dt><dd> 789 <table class="params"> 790 <tr><td class="paramname">i1</td><td>pointer to int64_t one </td></tr> 791 <tr><td class="paramname">i2</td><td>pointer to int64_t two </td></tr> 792 <tr><td class="paramname">data</td><td>omitted </td></tr> 793 </table> 794 </dd> 795 </dl> 796 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 797 798 </div> 799 </div> 800 <a id="aeb57a2b9a6aaa0460c7a6bec29accf2c"></a> 801 <h2 class="memtitle"><span class="permalink"><a href="#aeb57a2b9a6aaa0460c7a6bec29accf2c">&#9670;&nbsp;</a></span>ucx_cmp_longint()</h2> 802 803 <div class="memitem"> 804 <div class="memproto"> 805 <table class="memname"> 806 <tr> 807 <td class="memname">int ucx_cmp_longint </td> 808 <td>(</td> 809 <td class="paramtype">const void *&#160;</td> 810 <td class="paramname"><em>i1</em>, </td> 811 </tr> 812 <tr> 813 <td class="paramkey"></td> 814 <td></td> 815 <td class="paramtype">const void *&#160;</td> 816 <td class="paramname"><em>i2</em>, </td> 817 </tr> 818 <tr> 819 <td class="paramkey"></td> 820 <td></td> 821 <td class="paramtype">void *&#160;</td> 822 <td class="paramname"><em>data</em>&#160;</td> 823 </tr> 824 <tr> 825 <td></td> 826 <td>)</td> 827 <td></td><td></td> 828 </tr> 829 </table> 830 </div><div class="memdoc"> 831 832 <p>Compares two integers of type long int. </p> 833 <dl class="params"><dt>Parameters</dt><dd> 834 <table class="params"> 835 <tr><td class="paramname">i1</td><td>pointer to long integer one </td></tr> 836 <tr><td class="paramname">i2</td><td>pointer to long integer two </td></tr> 837 <tr><td class="paramname">data</td><td>omitted </td></tr> 838 </table> 839 </dd> 840 </dl> 841 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 842 843 </div> 844 </div> 845 <a id="a366b57def20f86a41eaedf575eea5375"></a> 846 <h2 class="memtitle"><span class="permalink"><a href="#a366b57def20f86a41eaedf575eea5375">&#9670;&nbsp;</a></span>ucx_cmp_longlong()</h2> 847 848 <div class="memitem"> 849 <div class="memproto"> 850 <table class="memname"> 851 <tr> 852 <td class="memname">int ucx_cmp_longlong </td> 853 <td>(</td> 854 <td class="paramtype">const void *&#160;</td> 855 <td class="paramname"><em>i1</em>, </td> 856 </tr> 857 <tr> 858 <td class="paramkey"></td> 859 <td></td> 860 <td class="paramtype">const void *&#160;</td> 861 <td class="paramname"><em>i2</em>, </td> 862 </tr> 863 <tr> 864 <td class="paramkey"></td> 865 <td></td> 866 <td class="paramtype">void *&#160;</td> 867 <td class="paramname"><em>data</em>&#160;</td> 868 </tr> 869 <tr> 870 <td></td> 871 <td>)</td> 872 <td></td><td></td> 873 </tr> 874 </table> 875 </div><div class="memdoc"> 876 877 <p>Compares two integers of type long long. </p> 878 <dl class="params"><dt>Parameters</dt><dd> 879 <table class="params"> 880 <tr><td class="paramname">i1</td><td>pointer to long long one </td></tr> 881 <tr><td class="paramname">i2</td><td>pointer to long long two </td></tr> 882 <tr><td class="paramname">data</td><td>omitted </td></tr> 883 </table> 884 </dd> 885 </dl> 886 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 887 888 </div> 889 </div> 890 <a id="aff7d2bcded71196831a8c0664333f8e7"></a> 891 <h2 class="memtitle"><span class="permalink"><a href="#aff7d2bcded71196831a8c0664333f8e7">&#9670;&nbsp;</a></span>ucx_cmp_mem()</h2> 892 893 <div class="memitem"> 894 <div class="memproto"> 895 <table class="memname"> 896 <tr> 897 <td class="memname">int ucx_cmp_mem </td> 898 <td>(</td> 899 <td class="paramtype">const void *&#160;</td> 900 <td class="paramname"><em>ptr1</em>, </td> 901 </tr> 902 <tr> 903 <td class="paramkey"></td> 904 <td></td> 905 <td class="paramtype">const void *&#160;</td> 906 <td class="paramname"><em>ptr2</em>, </td> 907 </tr> 908 <tr> 909 <td class="paramkey"></td> 910 <td></td> 911 <td class="paramtype">void *&#160;</td> 912 <td class="paramname"><em>n</em>&#160;</td> 913 </tr> 914 <tr> 915 <td></td> 916 <td>)</td> 917 <td></td><td></td> 918 </tr> 919 </table> 920 </div><div class="memdoc"> 921 922 <p>Compares two memory areas. </p> 923 <dl class="params"><dt>Parameters</dt><dd> 924 <table class="params"> 925 <tr><td class="paramname">ptr1</td><td>pointer one </td></tr> 926 <tr><td class="paramname">ptr2</td><td>pointer two </td></tr> 927 <tr><td class="paramname">n</td><td>a pointer to the size_t containing the third parameter for memcmp </td></tr> 928 </table> 929 </dd> 930 </dl> 931 <dl class="section return"><dt>Returns</dt><dd>the result of memcmp(ptr1, ptr2, *n) </dd></dl> 932 933 </div> 934 </div> 935 <a id="aa174d539de3ea59be4f9640f17ce53d8"></a> 936 <h2 class="memtitle"><span class="permalink"><a href="#aa174d539de3ea59be4f9640f17ce53d8">&#9670;&nbsp;</a></span>ucx_cmp_ptr()</h2> 937 938 <div class="memitem"> 939 <div class="memproto"> 940 <table class="memname"> 941 <tr> 942 <td class="memname">int ucx_cmp_ptr </td> 943 <td>(</td> 944 <td class="paramtype">const void *&#160;</td> 945 <td class="paramname"><em>ptr1</em>, </td> 946 </tr> 947 <tr> 948 <td class="paramkey"></td> 949 <td></td> 950 <td class="paramtype">const void *&#160;</td> 951 <td class="paramname"><em>ptr2</em>, </td> 952 </tr> 953 <tr> 954 <td class="paramkey"></td> 955 <td></td> 956 <td class="paramtype">void *&#160;</td> 957 <td class="paramname"><em>data</em>&#160;</td> 958 </tr> 959 <tr> 960 <td></td> 961 <td>)</td> 962 <td></td><td></td> 963 </tr> 964 </table> 965 </div><div class="memdoc"> 966 967 <p>Compares two pointers. </p> 968 <dl class="params"><dt>Parameters</dt><dd> 969 <table class="params"> 970 <tr><td class="paramname">ptr1</td><td>pointer one </td></tr> 971 <tr><td class="paramname">ptr2</td><td>pointer two </td></tr> 972 <tr><td class="paramname">data</td><td>omitted </td></tr> 973 </table> 974 </dd> 975 </dl> 976 <dl class="section return"><dt>Returns</dt><dd>-1 if ptr1 is less than ptr2, 0 if both are equal, 1 if ptr1 is greater than ptr2 </dd></dl> 977 978 </div> 979 </div> 980 <a id="adee0739589166d272f8cb7c23aabf8ba"></a> 981 <h2 class="memtitle"><span class="permalink"><a href="#adee0739589166d272f8cb7c23aabf8ba">&#9670;&nbsp;</a></span>ucx_cmp_sstr()</h2> 982 983 <div class="memitem"> 984 <div class="memproto"> 985 <table class="memname"> 986 <tr> 987 <td class="memname">int ucx_cmp_sstr </td> 988 <td>(</td> 989 <td class="paramtype">const void *&#160;</td> 990 <td class="paramname"><em>s1</em>, </td> 991 </tr> 992 <tr> 993 <td class="paramkey"></td> 994 <td></td> 995 <td class="paramtype">const void *&#160;</td> 996 <td class="paramname"><em>s2</em>, </td> 997 </tr> 998 <tr> 999 <td class="paramkey"></td> 1000 <td></td> 1001 <td class="paramtype">void *&#160;</td> 1002 <td class="paramname"><em>data</em>&#160;</td> 1003 </tr> 1004 <tr> 1005 <td></td> 1006 <td>)</td> 1007 <td></td><td></td> 1008 </tr> 1009 </table> 1010 </div><div class="memdoc"> 1011 1012 <p>Wraps the sstrcmp function. </p> 1013 <dl class="params"><dt>Parameters</dt><dd> 1014 <table class="params"> 1015 <tr><td class="paramname">s1</td><td>sstr one </td></tr> 1016 <tr><td class="paramname">s2</td><td>sstr two </td></tr> 1017 <tr><td class="paramname">data</td><td>ignored </td></tr> 1018 </table> 1019 </dd> 1020 </dl> 1021 <dl class="section return"><dt>Returns</dt><dd>the result of <a class="el" href="string_8h.html#a7ae7156c8de57454ca38d306100b8160" title="Compares two UCX strings with standard memcmp(). ">sstrcmp(s1, s2)</a> </dd></dl> 1022 1023 </div> 1024 </div> 1025 <a id="aa6a37b9d172b6a5b2803d152f9e1b258"></a> 1026 <h2 class="memtitle"><span class="permalink"><a href="#aa6a37b9d172b6a5b2803d152f9e1b258">&#9670;&nbsp;</a></span>ucx_cmp_str()</h2> 1027 1028 <div class="memitem"> 1029 <div class="memproto"> 1030 <table class="memname"> 1031 <tr> 1032 <td class="memname">int ucx_cmp_str </td> 1033 <td>(</td> 1034 <td class="paramtype">const void *&#160;</td> 1035 <td class="paramname"><em>s1</em>, </td> 1036 </tr> 1037 <tr> 1038 <td class="paramkey"></td> 1039 <td></td> 1040 <td class="paramtype">const void *&#160;</td> 1041 <td class="paramname"><em>s2</em>, </td> 1042 </tr> 1043 <tr> 1044 <td class="paramkey"></td> 1045 <td></td> 1046 <td class="paramtype">void *&#160;</td> 1047 <td class="paramname"><em>data</em>&#160;</td> 1048 </tr> 1049 <tr> 1050 <td></td> 1051 <td>)</td> 1052 <td></td><td></td> 1053 </tr> 1054 </table> 1055 </div><div class="memdoc"> 1056 1057 <p>Wraps the strcmp function. </p> 1058 <dl class="params"><dt>Parameters</dt><dd> 1059 <table class="params"> 1060 <tr><td class="paramname">s1</td><td>string one </td></tr> 1061 <tr><td class="paramname">s2</td><td>string two </td></tr> 1062 <tr><td class="paramname">data</td><td>omitted </td></tr> 1063 </table> 1064 </dd> 1065 </dl> 1066 <dl class="section return"><dt>Returns</dt><dd>the result of strcmp(s1, s2) </dd></dl> 1067 1068 </div> 1069 </div> 1070 <a id="ac6b354a878f551a3a5b20a167db3f308"></a> 1071 <h2 class="memtitle"><span class="permalink"><a href="#ac6b354a878f551a3a5b20a167db3f308">&#9670;&nbsp;</a></span>ucx_cmp_strn()</h2> 1072 1073 <div class="memitem"> 1074 <div class="memproto"> 1075 <table class="memname"> 1076 <tr> 1077 <td class="memname">int ucx_cmp_strn </td> 1078 <td>(</td> 1079 <td class="paramtype">const void *&#160;</td> 1080 <td class="paramname"><em>s1</em>, </td> 1081 </tr> 1082 <tr> 1083 <td class="paramkey"></td> 1084 <td></td> 1085 <td class="paramtype">const void *&#160;</td> 1086 <td class="paramname"><em>s2</em>, </td> 1087 </tr> 1088 <tr> 1089 <td class="paramkey"></td> 1090 <td></td> 1091 <td class="paramtype">void *&#160;</td> 1092 <td class="paramname"><em>n</em>&#160;</td> 1093 </tr> 1094 <tr> 1095 <td></td> 1096 <td>)</td> 1097 <td></td><td></td> 1098 </tr> 1099 </table> 1100 </div><div class="memdoc"> 1101 1102 <p>Wraps the strncmp function. </p> 1103 <dl class="params"><dt>Parameters</dt><dd> 1104 <table class="params"> 1105 <tr><td class="paramname">s1</td><td>string one </td></tr> 1106 <tr><td class="paramname">s2</td><td>string two </td></tr> 1107 <tr><td class="paramname">n</td><td>a pointer to the size_t containing the third strncmp parameter </td></tr> 1108 </table> 1109 </dd> 1110 </dl> 1111 <dl class="section return"><dt>Returns</dt><dd>the result of strncmp(s1, s2, *n) </dd></dl> 1112 1113 </div> 1114 </div> 1115 <a id="abd83a5da91c3dd026a6931bd80c12f1e"></a> 1116 <h2 class="memtitle"><span class="permalink"><a href="#abd83a5da91c3dd026a6931bd80c12f1e">&#9670;&nbsp;</a></span>ucx_cmp_uint()</h2> 1117 1118 <div class="memitem"> 1119 <div class="memproto"> 1120 <table class="memname"> 1121 <tr> 1122 <td class="memname">int ucx_cmp_uint </td> 1123 <td>(</td> 1124 <td class="paramtype">const void *&#160;</td> 1125 <td class="paramname"><em>i1</em>, </td> 1126 </tr> 1127 <tr> 1128 <td class="paramkey"></td> 1129 <td></td> 1130 <td class="paramtype">const void *&#160;</td> 1131 <td class="paramname"><em>i2</em>, </td> 1132 </tr> 1133 <tr> 1134 <td class="paramkey"></td> 1135 <td></td> 1136 <td class="paramtype">void *&#160;</td> 1137 <td class="paramname"><em>data</em>&#160;</td> 1138 </tr> 1139 <tr> 1140 <td></td> 1141 <td>)</td> 1142 <td></td><td></td> 1143 </tr> 1144 </table> 1145 </div><div class="memdoc"> 1146 1147 <p>Compares two integers of type unsigned int. </p> 1148 <dl class="params"><dt>Parameters</dt><dd> 1149 <table class="params"> 1150 <tr><td class="paramname">i1</td><td>pointer to unsigned integer one </td></tr> 1151 <tr><td class="paramname">i2</td><td>pointer to unsigned integer two </td></tr> 1152 <tr><td class="paramname">data</td><td>omitted </td></tr> 1153 </table> 1154 </dd> 1155 </dl> 1156 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1157 1158 </div> 1159 </div> 1160 <a id="acde5366437e886a459b7468f7a9e11f0"></a> 1161 <h2 class="memtitle"><span class="permalink"><a href="#acde5366437e886a459b7468f7a9e11f0">&#9670;&nbsp;</a></span>ucx_cmp_uint16()</h2> 1162 1163 <div class="memitem"> 1164 <div class="memproto"> 1165 <table class="memname"> 1166 <tr> 1167 <td class="memname">int ucx_cmp_uint16 </td> 1168 <td>(</td> 1169 <td class="paramtype">const void *&#160;</td> 1170 <td class="paramname"><em>i1</em>, </td> 1171 </tr> 1172 <tr> 1173 <td class="paramkey"></td> 1174 <td></td> 1175 <td class="paramtype">const void *&#160;</td> 1176 <td class="paramname"><em>i2</em>, </td> 1177 </tr> 1178 <tr> 1179 <td class="paramkey"></td> 1180 <td></td> 1181 <td class="paramtype">void *&#160;</td> 1182 <td class="paramname"><em>data</em>&#160;</td> 1183 </tr> 1184 <tr> 1185 <td></td> 1186 <td>)</td> 1187 <td></td><td></td> 1188 </tr> 1189 </table> 1190 </div><div class="memdoc"> 1191 1192 <p>Compares two integers of type uint16_t. </p> 1193 <dl class="params"><dt>Parameters</dt><dd> 1194 <table class="params"> 1195 <tr><td class="paramname">i1</td><td>pointer to uint16_t one </td></tr> 1196 <tr><td class="paramname">i2</td><td>pointer to uint16_t two </td></tr> 1197 <tr><td class="paramname">data</td><td>omitted </td></tr> 1198 </table> 1199 </dd> 1200 </dl> 1201 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1202 1203 </div> 1204 </div> 1205 <a id="a5879d1722330355914d8c9146fa549d3"></a> 1206 <h2 class="memtitle"><span class="permalink"><a href="#a5879d1722330355914d8c9146fa549d3">&#9670;&nbsp;</a></span>ucx_cmp_uint32()</h2> 1207 1208 <div class="memitem"> 1209 <div class="memproto"> 1210 <table class="memname"> 1211 <tr> 1212 <td class="memname">int ucx_cmp_uint32 </td> 1213 <td>(</td> 1214 <td class="paramtype">const void *&#160;</td> 1215 <td class="paramname"><em>i1</em>, </td> 1216 </tr> 1217 <tr> 1218 <td class="paramkey"></td> 1219 <td></td> 1220 <td class="paramtype">const void *&#160;</td> 1221 <td class="paramname"><em>i2</em>, </td> 1222 </tr> 1223 <tr> 1224 <td class="paramkey"></td> 1225 <td></td> 1226 <td class="paramtype">void *&#160;</td> 1227 <td class="paramname"><em>data</em>&#160;</td> 1228 </tr> 1229 <tr> 1230 <td></td> 1231 <td>)</td> 1232 <td></td><td></td> 1233 </tr> 1234 </table> 1235 </div><div class="memdoc"> 1236 1237 <p>Compares two integers of type uint32_t. </p> 1238 <dl class="params"><dt>Parameters</dt><dd> 1239 <table class="params"> 1240 <tr><td class="paramname">i1</td><td>pointer to uint32_t one </td></tr> 1241 <tr><td class="paramname">i2</td><td>pointer to uint32_t two </td></tr> 1242 <tr><td class="paramname">data</td><td>omitted </td></tr> 1243 </table> 1244 </dd> 1245 </dl> 1246 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1247 1248 </div> 1249 </div> 1250 <a id="a1572a78b5b42f7151a5b2a5a7283d62d"></a> 1251 <h2 class="memtitle"><span class="permalink"><a href="#a1572a78b5b42f7151a5b2a5a7283d62d">&#9670;&nbsp;</a></span>ucx_cmp_uint64()</h2> 1252 1253 <div class="memitem"> 1254 <div class="memproto"> 1255 <table class="memname"> 1256 <tr> 1257 <td class="memname">int ucx_cmp_uint64 </td> 1258 <td>(</td> 1259 <td class="paramtype">const void *&#160;</td> 1260 <td class="paramname"><em>i1</em>, </td> 1261 </tr> 1262 <tr> 1263 <td class="paramkey"></td> 1264 <td></td> 1265 <td class="paramtype">const void *&#160;</td> 1266 <td class="paramname"><em>i2</em>, </td> 1267 </tr> 1268 <tr> 1269 <td class="paramkey"></td> 1270 <td></td> 1271 <td class="paramtype">void *&#160;</td> 1272 <td class="paramname"><em>data</em>&#160;</td> 1273 </tr> 1274 <tr> 1275 <td></td> 1276 <td>)</td> 1277 <td></td><td></td> 1278 </tr> 1279 </table> 1280 </div><div class="memdoc"> 1281 1282 <p>Compares two integers of type uint64_t. </p> 1283 <dl class="params"><dt>Parameters</dt><dd> 1284 <table class="params"> 1285 <tr><td class="paramname">i1</td><td>pointer to uint64_t one </td></tr> 1286 <tr><td class="paramname">i2</td><td>pointer to uint64_t two </td></tr> 1287 <tr><td class="paramname">data</td><td>omitted </td></tr> 1288 </table> 1289 </dd> 1290 </dl> 1291 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1292 1293 </div> 1294 </div> 1295 <a id="a3f3cbae2594d6f722bae29acb0408a24"></a> 1296 <h2 class="memtitle"><span class="permalink"><a href="#a3f3cbae2594d6f722bae29acb0408a24">&#9670;&nbsp;</a></span>ucx_cmp_ulongint()</h2> 1297 1298 <div class="memitem"> 1299 <div class="memproto"> 1300 <table class="memname"> 1301 <tr> 1302 <td class="memname">int ucx_cmp_ulongint </td> 1303 <td>(</td> 1304 <td class="paramtype">const void *&#160;</td> 1305 <td class="paramname"><em>i1</em>, </td> 1306 </tr> 1307 <tr> 1308 <td class="paramkey"></td> 1309 <td></td> 1310 <td class="paramtype">const void *&#160;</td> 1311 <td class="paramname"><em>i2</em>, </td> 1312 </tr> 1313 <tr> 1314 <td class="paramkey"></td> 1315 <td></td> 1316 <td class="paramtype">void *&#160;</td> 1317 <td class="paramname"><em>data</em>&#160;</td> 1318 </tr> 1319 <tr> 1320 <td></td> 1321 <td>)</td> 1322 <td></td><td></td> 1323 </tr> 1324 </table> 1325 </div><div class="memdoc"> 1326 1327 <p>Compares two integers of type unsigned long int. </p> 1328 <dl class="params"><dt>Parameters</dt><dd> 1329 <table class="params"> 1330 <tr><td class="paramname">i1</td><td>pointer to unsigned long integer one </td></tr> 1331 <tr><td class="paramname">i2</td><td>pointer to unsigned long integer two </td></tr> 1332 <tr><td class="paramname">data</td><td>omitted </td></tr> 1333 </table> 1334 </dd> 1335 </dl> 1336 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1337 1338 </div> 1339 </div> 1340 <a id="a6acfc359421f21f9a042a654ff7faac5"></a> 1341 <h2 class="memtitle"><span class="permalink"><a href="#a6acfc359421f21f9a042a654ff7faac5">&#9670;&nbsp;</a></span>ucx_cmp_ulonglong()</h2> 1342 1343 <div class="memitem"> 1344 <div class="memproto"> 1345 <table class="memname"> 1346 <tr> 1347 <td class="memname">int ucx_cmp_ulonglong </td> 1348 <td>(</td> 1349 <td class="paramtype">const void *&#160;</td> 1350 <td class="paramname"><em>i1</em>, </td> 1351 </tr> 1352 <tr> 1353 <td class="paramkey"></td> 1354 <td></td> 1355 <td class="paramtype">const void *&#160;</td> 1356 <td class="paramname"><em>i2</em>, </td> 1357 </tr> 1358 <tr> 1359 <td class="paramkey"></td> 1360 <td></td> 1361 <td class="paramtype">void *&#160;</td> 1362 <td class="paramname"><em>data</em>&#160;</td> 1363 </tr> 1364 <tr> 1365 <td></td> 1366 <td>)</td> 1367 <td></td><td></td> 1368 </tr> 1369 </table> 1370 </div><div class="memdoc"> 1371 1372 <p>Compares two integers of type unsigned long long. </p> 1373 <dl class="params"><dt>Parameters</dt><dd> 1374 <table class="params"> 1375 <tr><td class="paramname">i1</td><td>pointer to unsigned long long one </td></tr> 1376 <tr><td class="paramname">i2</td><td>pointer to unsigned long long two </td></tr> 1377 <tr><td class="paramname">data</td><td>omitted </td></tr> 1378 </table> 1379 </dd> 1380 </dl> 1381 <dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1382 1383 </div> 1384 </div> 1385 <a id="a4ab6753739d56c09cdf6079fdcabf7c6"></a> 1386 <h2 class="memtitle"><span class="permalink"><a href="#a4ab6753739d56c09cdf6079fdcabf7c6">&#9670;&nbsp;</a></span>ucx_dist_int()</h2> 1387 1388 <div class="memitem"> 1389 <div class="memproto"> 1390 <table class="memname"> 1391 <tr> 1392 <td class="memname">intmax_t ucx_dist_int </td> 1393 <td>(</td> 1394 <td class="paramtype">const void *&#160;</td> 1395 <td class="paramname"><em>i1</em>, </td> 1396 </tr> 1397 <tr> 1398 <td class="paramkey"></td> 1399 <td></td> 1400 <td class="paramtype">const void *&#160;</td> 1401 <td class="paramname"><em>i2</em>, </td> 1402 </tr> 1403 <tr> 1404 <td class="paramkey"></td> 1405 <td></td> 1406 <td class="paramtype">void *&#160;</td> 1407 <td class="paramname"><em>data</em>&#160;</td> 1408 </tr> 1409 <tr> 1410 <td></td> 1411 <td>)</td> 1412 <td></td><td></td> 1413 </tr> 1414 </table> 1415 </div><div class="memdoc"> 1416 1417 <p>Distance function for integers of type int. </p> 1418 <dl class="params"><dt>Parameters</dt><dd> 1419 <table class="params"> 1420 <tr><td class="paramname">i1</td><td>pointer to integer one </td></tr> 1421 <tr><td class="paramname">i2</td><td>pointer to integer two </td></tr> 1422 <tr><td class="paramname">data</td><td>omitted </td></tr> 1423 </table> 1424 </dd> 1425 </dl> 1426 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1427 1428 </div> 1429 </div> 1430 <a id="a81fb8434b70ca11bf2c14abfa21d16a9"></a> 1431 <h2 class="memtitle"><span class="permalink"><a href="#a81fb8434b70ca11bf2c14abfa21d16a9">&#9670;&nbsp;</a></span>ucx_dist_int16()</h2> 1432 1433 <div class="memitem"> 1434 <div class="memproto"> 1435 <table class="memname"> 1436 <tr> 1437 <td class="memname">intmax_t ucx_dist_int16 </td> 1438 <td>(</td> 1439 <td class="paramtype">const void *&#160;</td> 1440 <td class="paramname"><em>i1</em>, </td> 1441 </tr> 1442 <tr> 1443 <td class="paramkey"></td> 1444 <td></td> 1445 <td class="paramtype">const void *&#160;</td> 1446 <td class="paramname"><em>i2</em>, </td> 1447 </tr> 1448 <tr> 1449 <td class="paramkey"></td> 1450 <td></td> 1451 <td class="paramtype">void *&#160;</td> 1452 <td class="paramname"><em>data</em>&#160;</td> 1453 </tr> 1454 <tr> 1455 <td></td> 1456 <td>)</td> 1457 <td></td><td></td> 1458 </tr> 1459 </table> 1460 </div><div class="memdoc"> 1461 1462 <p>Distance function for integers of type int16_t. </p> 1463 <dl class="params"><dt>Parameters</dt><dd> 1464 <table class="params"> 1465 <tr><td class="paramname">i1</td><td>pointer to int16_t one </td></tr> 1466 <tr><td class="paramname">i2</td><td>pointer to int16_t two </td></tr> 1467 <tr><td class="paramname">data</td><td>omitted </td></tr> 1468 </table> 1469 </dd> 1470 </dl> 1471 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1472 1473 </div> 1474 </div> 1475 <a id="ab4a659cc46096f0490c1dafa57726476"></a> 1476 <h2 class="memtitle"><span class="permalink"><a href="#ab4a659cc46096f0490c1dafa57726476">&#9670;&nbsp;</a></span>ucx_dist_int32()</h2> 1477 1478 <div class="memitem"> 1479 <div class="memproto"> 1480 <table class="memname"> 1481 <tr> 1482 <td class="memname">intmax_t ucx_dist_int32 </td> 1483 <td>(</td> 1484 <td class="paramtype">const void *&#160;</td> 1485 <td class="paramname"><em>i1</em>, </td> 1486 </tr> 1487 <tr> 1488 <td class="paramkey"></td> 1489 <td></td> 1490 <td class="paramtype">const void *&#160;</td> 1491 <td class="paramname"><em>i2</em>, </td> 1492 </tr> 1493 <tr> 1494 <td class="paramkey"></td> 1495 <td></td> 1496 <td class="paramtype">void *&#160;</td> 1497 <td class="paramname"><em>data</em>&#160;</td> 1498 </tr> 1499 <tr> 1500 <td></td> 1501 <td>)</td> 1502 <td></td><td></td> 1503 </tr> 1504 </table> 1505 </div><div class="memdoc"> 1506 1507 <p>Distance function for integers of type int32_t. </p> 1508 <dl class="params"><dt>Parameters</dt><dd> 1509 <table class="params"> 1510 <tr><td class="paramname">i1</td><td>pointer to int32_t one </td></tr> 1511 <tr><td class="paramname">i2</td><td>pointer to int32_t two </td></tr> 1512 <tr><td class="paramname">data</td><td>omitted </td></tr> 1513 </table> 1514 </dd> 1515 </dl> 1516 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1517 1518 </div> 1519 </div> 1520 <a id="a54e7d06585bad3a899befc4e9c13853f"></a> 1521 <h2 class="memtitle"><span class="permalink"><a href="#a54e7d06585bad3a899befc4e9c13853f">&#9670;&nbsp;</a></span>ucx_dist_int64()</h2> 1522 1523 <div class="memitem"> 1524 <div class="memproto"> 1525 <table class="memname"> 1526 <tr> 1527 <td class="memname">intmax_t ucx_dist_int64 </td> 1528 <td>(</td> 1529 <td class="paramtype">const void *&#160;</td> 1530 <td class="paramname"><em>i1</em>, </td> 1531 </tr> 1532 <tr> 1533 <td class="paramkey"></td> 1534 <td></td> 1535 <td class="paramtype">const void *&#160;</td> 1536 <td class="paramname"><em>i2</em>, </td> 1537 </tr> 1538 <tr> 1539 <td class="paramkey"></td> 1540 <td></td> 1541 <td class="paramtype">void *&#160;</td> 1542 <td class="paramname"><em>data</em>&#160;</td> 1543 </tr> 1544 <tr> 1545 <td></td> 1546 <td>)</td> 1547 <td></td><td></td> 1548 </tr> 1549 </table> 1550 </div><div class="memdoc"> 1551 1552 <p>Distance function for integers of type int64_t. </p> 1553 <dl class="params"><dt>Parameters</dt><dd> 1554 <table class="params"> 1555 <tr><td class="paramname">i1</td><td>pointer to int64_t one </td></tr> 1556 <tr><td class="paramname">i2</td><td>pointer to int64_t two </td></tr> 1557 <tr><td class="paramname">data</td><td>omitted </td></tr> 1558 </table> 1559 </dd> 1560 </dl> 1561 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1562 1563 </div> 1564 </div> 1565 <a id="a43e73d288b1553a0078bf4c98dd341f5"></a> 1566 <h2 class="memtitle"><span class="permalink"><a href="#a43e73d288b1553a0078bf4c98dd341f5">&#9670;&nbsp;</a></span>ucx_dist_longint()</h2> 1567 1568 <div class="memitem"> 1569 <div class="memproto"> 1570 <table class="memname"> 1571 <tr> 1572 <td class="memname">intmax_t ucx_dist_longint </td> 1573 <td>(</td> 1574 <td class="paramtype">const void *&#160;</td> 1575 <td class="paramname"><em>i1</em>, </td> 1576 </tr> 1577 <tr> 1578 <td class="paramkey"></td> 1579 <td></td> 1580 <td class="paramtype">const void *&#160;</td> 1581 <td class="paramname"><em>i2</em>, </td> 1582 </tr> 1583 <tr> 1584 <td class="paramkey"></td> 1585 <td></td> 1586 <td class="paramtype">void *&#160;</td> 1587 <td class="paramname"><em>data</em>&#160;</td> 1588 </tr> 1589 <tr> 1590 <td></td> 1591 <td>)</td> 1592 <td></td><td></td> 1593 </tr> 1594 </table> 1595 </div><div class="memdoc"> 1596 1597 <p>Distance function for integers of type long int. </p> 1598 <dl class="params"><dt>Parameters</dt><dd> 1599 <table class="params"> 1600 <tr><td class="paramname">i1</td><td>pointer to long integer one </td></tr> 1601 <tr><td class="paramname">i2</td><td>pointer to long integer two </td></tr> 1602 <tr><td class="paramname">data</td><td>omitted </td></tr> 1603 </table> 1604 </dd> 1605 </dl> 1606 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1607 1608 </div> 1609 </div> 1610 <a id="a306778414a2427951ea263be92368627"></a> 1611 <h2 class="memtitle"><span class="permalink"><a href="#a306778414a2427951ea263be92368627">&#9670;&nbsp;</a></span>ucx_dist_longlong()</h2> 1612 1613 <div class="memitem"> 1614 <div class="memproto"> 1615 <table class="memname"> 1616 <tr> 1617 <td class="memname">intmax_t ucx_dist_longlong </td> 1618 <td>(</td> 1619 <td class="paramtype">const void *&#160;</td> 1620 <td class="paramname"><em>i1</em>, </td> 1621 </tr> 1622 <tr> 1623 <td class="paramkey"></td> 1624 <td></td> 1625 <td class="paramtype">const void *&#160;</td> 1626 <td class="paramname"><em>i2</em>, </td> 1627 </tr> 1628 <tr> 1629 <td class="paramkey"></td> 1630 <td></td> 1631 <td class="paramtype">void *&#160;</td> 1632 <td class="paramname"><em>data</em>&#160;</td> 1633 </tr> 1634 <tr> 1635 <td></td> 1636 <td>)</td> 1637 <td></td><td></td> 1638 </tr> 1639 </table> 1640 </div><div class="memdoc"> 1641 1642 <p>Distance function for integers of type long long. </p> 1643 <dl class="params"><dt>Parameters</dt><dd> 1644 <table class="params"> 1645 <tr><td class="paramname">i1</td><td>pointer to long long one </td></tr> 1646 <tr><td class="paramname">i2</td><td>pointer to long long two </td></tr> 1647 <tr><td class="paramname">data</td><td>omitted </td></tr> 1648 </table> 1649 </dd> 1650 </dl> 1651 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1652 1653 </div> 1654 </div> 1655 <a id="a37b7d471ca1679992afc11a0deda45f4"></a> 1656 <h2 class="memtitle"><span class="permalink"><a href="#a37b7d471ca1679992afc11a0deda45f4">&#9670;&nbsp;</a></span>ucx_dist_uint()</h2> 1657 1658 <div class="memitem"> 1659 <div class="memproto"> 1660 <table class="memname"> 1661 <tr> 1662 <td class="memname">intmax_t ucx_dist_uint </td> 1663 <td>(</td> 1664 <td class="paramtype">const void *&#160;</td> 1665 <td class="paramname"><em>i1</em>, </td> 1666 </tr> 1667 <tr> 1668 <td class="paramkey"></td> 1669 <td></td> 1670 <td class="paramtype">const void *&#160;</td> 1671 <td class="paramname"><em>i2</em>, </td> 1672 </tr> 1673 <tr> 1674 <td class="paramkey"></td> 1675 <td></td> 1676 <td class="paramtype">void *&#160;</td> 1677 <td class="paramname"><em>data</em>&#160;</td> 1678 </tr> 1679 <tr> 1680 <td></td> 1681 <td>)</td> 1682 <td></td><td></td> 1683 </tr> 1684 </table> 1685 </div><div class="memdoc"> 1686 1687 <p>Distance function for integers of type unsigned int. </p> 1688 <dl class="params"><dt>Parameters</dt><dd> 1689 <table class="params"> 1690 <tr><td class="paramname">i1</td><td>pointer to unsigned integer one </td></tr> 1691 <tr><td class="paramname">i2</td><td>pointer to unsigned integer two </td></tr> 1692 <tr><td class="paramname">data</td><td>omitted </td></tr> 1693 </table> 1694 </dd> 1695 </dl> 1696 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1697 1698 </div> 1699 </div> 1700 <a id="a66e00a0703cbcde050ec922578e2f080"></a> 1701 <h2 class="memtitle"><span class="permalink"><a href="#a66e00a0703cbcde050ec922578e2f080">&#9670;&nbsp;</a></span>ucx_dist_uint16()</h2> 1702 1703 <div class="memitem"> 1704 <div class="memproto"> 1705 <table class="memname"> 1706 <tr> 1707 <td class="memname">intmax_t ucx_dist_uint16 </td> 1708 <td>(</td> 1709 <td class="paramtype">const void *&#160;</td> 1710 <td class="paramname"><em>i1</em>, </td> 1711 </tr> 1712 <tr> 1713 <td class="paramkey"></td> 1714 <td></td> 1715 <td class="paramtype">const void *&#160;</td> 1716 <td class="paramname"><em>i2</em>, </td> 1717 </tr> 1718 <tr> 1719 <td class="paramkey"></td> 1720 <td></td> 1721 <td class="paramtype">void *&#160;</td> 1722 <td class="paramname"><em>data</em>&#160;</td> 1723 </tr> 1724 <tr> 1725 <td></td> 1726 <td>)</td> 1727 <td></td><td></td> 1728 </tr> 1729 </table> 1730 </div><div class="memdoc"> 1731 1732 <p>Distance function for integers of type uint16_t. </p> 1733 <dl class="params"><dt>Parameters</dt><dd> 1734 <table class="params"> 1735 <tr><td class="paramname">i1</td><td>pointer to uint16_t one </td></tr> 1736 <tr><td class="paramname">i2</td><td>pointer to uint16_t two </td></tr> 1737 <tr><td class="paramname">data</td><td>omitted </td></tr> 1738 </table> 1739 </dd> 1740 </dl> 1741 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1742 1743 </div> 1744 </div> 1745 <a id="add2b5c5507caba59d894b84e056b079b"></a> 1746 <h2 class="memtitle"><span class="permalink"><a href="#add2b5c5507caba59d894b84e056b079b">&#9670;&nbsp;</a></span>ucx_dist_uint32()</h2> 1747 1748 <div class="memitem"> 1749 <div class="memproto"> 1750 <table class="memname"> 1751 <tr> 1752 <td class="memname">intmax_t ucx_dist_uint32 </td> 1753 <td>(</td> 1754 <td class="paramtype">const void *&#160;</td> 1755 <td class="paramname"><em>i1</em>, </td> 1756 </tr> 1757 <tr> 1758 <td class="paramkey"></td> 1759 <td></td> 1760 <td class="paramtype">const void *&#160;</td> 1761 <td class="paramname"><em>i2</em>, </td> 1762 </tr> 1763 <tr> 1764 <td class="paramkey"></td> 1765 <td></td> 1766 <td class="paramtype">void *&#160;</td> 1767 <td class="paramname"><em>data</em>&#160;</td> 1768 </tr> 1769 <tr> 1770 <td></td> 1771 <td>)</td> 1772 <td></td><td></td> 1773 </tr> 1774 </table> 1775 </div><div class="memdoc"> 1776 1777 <p>Distance function for integers of type uint32_t. </p> 1778 <dl class="params"><dt>Parameters</dt><dd> 1779 <table class="params"> 1780 <tr><td class="paramname">i1</td><td>pointer to uint32_t one </td></tr> 1781 <tr><td class="paramname">i2</td><td>pointer to uint32_t two </td></tr> 1782 <tr><td class="paramname">data</td><td>omitted </td></tr> 1783 </table> 1784 </dd> 1785 </dl> 1786 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1787 1788 </div> 1789 </div> 1790 <a id="a3ba75e2e0b2479eef2b22fb219b42da7"></a> 1791 <h2 class="memtitle"><span class="permalink"><a href="#a3ba75e2e0b2479eef2b22fb219b42da7">&#9670;&nbsp;</a></span>ucx_dist_uint64()</h2> 1792 1793 <div class="memitem"> 1794 <div class="memproto"> 1795 <table class="memname"> 1796 <tr> 1797 <td class="memname">intmax_t ucx_dist_uint64 </td> 1798 <td>(</td> 1799 <td class="paramtype">const void *&#160;</td> 1800 <td class="paramname"><em>i1</em>, </td> 1801 </tr> 1802 <tr> 1803 <td class="paramkey"></td> 1804 <td></td> 1805 <td class="paramtype">const void *&#160;</td> 1806 <td class="paramname"><em>i2</em>, </td> 1807 </tr> 1808 <tr> 1809 <td class="paramkey"></td> 1810 <td></td> 1811 <td class="paramtype">void *&#160;</td> 1812 <td class="paramname"><em>data</em>&#160;</td> 1813 </tr> 1814 <tr> 1815 <td></td> 1816 <td>)</td> 1817 <td></td><td></td> 1818 </tr> 1819 </table> 1820 </div><div class="memdoc"> 1821 1822 <p>Distance function for integers of type uint64_t. </p> 1823 <dl class="params"><dt>Parameters</dt><dd> 1824 <table class="params"> 1825 <tr><td class="paramname">i1</td><td>pointer to uint64_t one </td></tr> 1826 <tr><td class="paramname">i2</td><td>pointer to uint64_t two </td></tr> 1827 <tr><td class="paramname">data</td><td>omitted </td></tr> 1828 </table> 1829 </dd> 1830 </dl> 1831 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1832 1833 </div> 1834 </div> 1835 <a id="abb13476228d0c16bfaba08469adbae2d"></a> 1836 <h2 class="memtitle"><span class="permalink"><a href="#abb13476228d0c16bfaba08469adbae2d">&#9670;&nbsp;</a></span>ucx_dist_ulongint()</h2> 1837 1838 <div class="memitem"> 1839 <div class="memproto"> 1840 <table class="memname"> 1841 <tr> 1842 <td class="memname">intmax_t ucx_dist_ulongint </td> 1843 <td>(</td> 1844 <td class="paramtype">const void *&#160;</td> 1845 <td class="paramname"><em>i1</em>, </td> 1846 </tr> 1847 <tr> 1848 <td class="paramkey"></td> 1849 <td></td> 1850 <td class="paramtype">const void *&#160;</td> 1851 <td class="paramname"><em>i2</em>, </td> 1852 </tr> 1853 <tr> 1854 <td class="paramkey"></td> 1855 <td></td> 1856 <td class="paramtype">void *&#160;</td> 1857 <td class="paramname"><em>data</em>&#160;</td> 1858 </tr> 1859 <tr> 1860 <td></td> 1861 <td>)</td> 1862 <td></td><td></td> 1863 </tr> 1864 </table> 1865 </div><div class="memdoc"> 1866 1867 <p>Distance function for integers of type unsigned long int. </p> 1868 <dl class="params"><dt>Parameters</dt><dd> 1869 <table class="params"> 1870 <tr><td class="paramname">i1</td><td>pointer to unsigned long integer one </td></tr> 1871 <tr><td class="paramname">i2</td><td>pointer to unsigned long integer two </td></tr> 1872 <tr><td class="paramname">data</td><td>omitted </td></tr> 1873 </table> 1874 </dd> 1875 </dl> 1876 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1877 1878 </div> 1879 </div> 1880 <a id="a59a5859272cb4b43cbdd58208c41e32b"></a> 1881 <h2 class="memtitle"><span class="permalink"><a href="#a59a5859272cb4b43cbdd58208c41e32b">&#9670;&nbsp;</a></span>ucx_dist_ulonglong()</h2> 1882 1883 <div class="memitem"> 1884 <div class="memproto"> 1885 <table class="memname"> 1886 <tr> 1887 <td class="memname">intmax_t ucx_dist_ulonglong </td> 1888 <td>(</td> 1889 <td class="paramtype">const void *&#160;</td> 1890 <td class="paramname"><em>i1</em>, </td> 1891 </tr> 1892 <tr> 1893 <td class="paramkey"></td> 1894 <td></td> 1895 <td class="paramtype">const void *&#160;</td> 1896 <td class="paramname"><em>i2</em>, </td> 1897 </tr> 1898 <tr> 1899 <td class="paramkey"></td> 1900 <td></td> 1901 <td class="paramtype">void *&#160;</td> 1902 <td class="paramname"><em>data</em>&#160;</td> 1903 </tr> 1904 <tr> 1905 <td></td> 1906 <td>)</td> 1907 <td></td><td></td> 1908 </tr> 1909 </table> 1910 </div><div class="memdoc"> 1911 1912 <p>Distance function for integers of type unsigned long long. </p> 1913 <dl class="params"><dt>Parameters</dt><dd> 1914 <table class="params"> 1915 <tr><td class="paramname">i1</td><td>pointer to unsigned long long one </td></tr> 1916 <tr><td class="paramname">i2</td><td>pointer to unsigned long long two </td></tr> 1917 <tr><td class="paramname">data</td><td>omitted </td></tr> 1918 </table> 1919 </dd> 1920 </dl> 1921 <dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1922 1923 </div> 1924 </div> 1925 <a id="aa0bec80e1c67f769ff5e112a7d4ce72a"></a> 1926 <h2 class="memtitle"><span class="permalink"><a href="#aa0bec80e1c67f769ff5e112a7d4ce72a">&#9670;&nbsp;</a></span>ucx_fprintf()</h2> 1927 1928 <div class="memitem"> 1929 <div class="memproto"> 1930 <table class="memname"> 1931 <tr> 1932 <td class="memname">int ucx_fprintf </td> 1933 <td>(</td> 1934 <td class="paramtype">void *&#160;</td> 1935 <td class="paramname"><em>stream</em>, </td> 1936 </tr> 1937 <tr> 1938 <td class="paramkey"></td> 1939 <td></td> 1940 <td class="paramtype"><a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>&#160;</td> 1941 <td class="paramname"><em>wfc</em>, </td> 1942 </tr> 1943 <tr> 1944 <td class="paramkey"></td> 1945 <td></td> 1946 <td class="paramtype">const char *&#160;</td> 1947 <td class="paramname"><em>fmt</em>, </td> 1948 </tr> 1949 <tr> 1950 <td class="paramkey"></td> 1951 <td></td> 1952 <td class="paramtype">&#160;</td> 1953 <td class="paramname"><em>...</em>&#160;</td> 1954 </tr> 1955 <tr> 1956 <td></td> 1957 <td>)</td> 1958 <td></td><td></td> 1959 </tr> 1960 </table> 1961 </div><div class="memdoc"> 1962 1963 <p>A <code>printf()</code> like function which writes the output to a stream by using a <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed" title="Function pointer to a write function. ">write_func()</a>. </p> 1964 <dl class="params"><dt>Parameters</dt><dd> 1965 <table class="params"> 1966 <tr><td class="paramname">stream</td><td>the stream the data is written to </td></tr> 1967 <tr><td class="paramname">wfc</td><td>the write function </td></tr> 1968 <tr><td class="paramname">fmt</td><td>format string </td></tr> 1969 <tr><td class="paramname">...</td><td>additional arguments </td></tr> 1970 </table> 1971 </dd> 1972 </dl> 1973 <dl class="section return"><dt>Returns</dt><dd>the total number of bytes written </dd></dl> 1974 1975 </div> 1976 </div> 1977 <a id="ab2e184e6a744941aab6b8058116baf30"></a> 1978 <h2 class="memtitle"><span class="permalink"><a href="#ab2e184e6a744941aab6b8058116baf30">&#9670;&nbsp;</a></span>ucx_memcpy()</h2> 1979 1980 <div class="memitem"> 1981 <div class="memproto"> 1982 <table class="memname"> 1983 <tr> 1984 <td class="memname">void* ucx_memcpy </td> 1985 <td>(</td> 1986 <td class="paramtype">const void *&#160;</td> 1987 <td class="paramname"><em>m</em>, </td> 1988 </tr> 1989 <tr> 1990 <td class="paramkey"></td> 1991 <td></td> 1992 <td class="paramtype">void *&#160;</td> 1993 <td class="paramname"><em>n</em>&#160;</td> 1994 </tr> 1995 <tr> 1996 <td></td> 1997 <td>)</td> 1998 <td></td><td></td> 1999 </tr> 2000 </table> 2001 </div><div class="memdoc"> 2002 2003 <p>Copies a memory area. </p> 2004 <dl class="params"><dt>Parameters</dt><dd> 2005 <table class="params"> 2006 <tr><td class="paramname">m</td><td>a pointer to the memory area </td></tr> 2007 <tr><td class="paramname">n</td><td>a pointer to the size_t containing the size of the memory area </td></tr> 2008 </table> 2009 </dd> 2010 </dl> 2011 <dl class="section return"><dt>Returns</dt><dd>a pointer to a copy of the specified memory area that can be passed to free(void*) </dd></dl> 2012 2013 </div> 2014 </div> 2015 <a id="adeb6e8d0a53a829207cfa0a979d01fff"></a> 2016 <h2 class="memtitle"><span class="permalink"><a href="#adeb6e8d0a53a829207cfa0a979d01fff">&#9670;&nbsp;</a></span>ucx_strcpy()</h2> 2017 2018 <div class="memitem"> 2019 <div class="memproto"> 2020 <table class="memname"> 2021 <tr> 2022 <td class="memname">void* ucx_strcpy </td> 2023 <td>(</td> 2024 <td class="paramtype">const void *&#160;</td> 2025 <td class="paramname"><em>s</em>, </td> 2026 </tr> 2027 <tr> 2028 <td class="paramkey"></td> 2029 <td></td> 2030 <td class="paramtype">void *&#160;</td> 2031 <td class="paramname"><em>data</em>&#160;</td> 2032 </tr> 2033 <tr> 2034 <td></td> 2035 <td>)</td> 2036 <td></td><td></td> 2037 </tr> 2038 </table> 2039 </div><div class="memdoc"> 2040 2041 <p>Copies a string. </p> 2042 <dl class="params"><dt>Parameters</dt><dd> 2043 <table class="params"> 2044 <tr><td class="paramname">s</td><td>the string to copy </td></tr> 2045 <tr><td class="paramname">data</td><td>omitted </td></tr> 2046 </table> 2047 </dd> 2048 </dl> 2049 <dl class="section return"><dt>Returns</dt><dd>a pointer to a copy of s1 that can be passed to free(void*) </dd></dl> 2050 2051 </div> 2052 </div> 2053 <a id="a114ee7f7da62656ffd35e2dc23394201"></a> 2054 <h2 class="memtitle"><span class="permalink"><a href="#a114ee7f7da62656ffd35e2dc23394201">&#9670;&nbsp;</a></span>ucx_stream_bncopy()</h2> 2055 2056 <div class="memitem"> 2057 <div class="memproto"> 2058 <table class="memname"> 2059 <tr> 2060 <td class="memname">size_t ucx_stream_bncopy </td> 2061 <td>(</td> 2062 <td class="paramtype">void *&#160;</td> 2063 <td class="paramname"><em>src</em>, </td> 2064 </tr> 2065 <tr> 2066 <td class="paramkey"></td> 2067 <td></td> 2068 <td class="paramtype">void *&#160;</td> 2069 <td class="paramname"><em>dest</em>, </td> 2070 </tr> 2071 <tr> 2072 <td class="paramkey"></td> 2073 <td></td> 2074 <td class="paramtype"><a class="el" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a>&#160;</td> 2075 <td class="paramname"><em>rfnc</em>, </td> 2076 </tr> 2077 <tr> 2078 <td class="paramkey"></td> 2079 <td></td> 2080 <td class="paramtype"><a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>&#160;</td> 2081 <td class="paramname"><em>wfnc</em>, </td> 2082 </tr> 2083 <tr> 2084 <td class="paramkey"></td> 2085 <td></td> 2086 <td class="paramtype">char *&#160;</td> 2087 <td class="paramname"><em>buf</em>, </td> 2088 </tr> 2089 <tr> 2090 <td class="paramkey"></td> 2091 <td></td> 2092 <td class="paramtype">size_t&#160;</td> 2093 <td class="paramname"><em>bufsize</em>, </td> 2094 </tr> 2095 <tr> 2096 <td class="paramkey"></td> 2097 <td></td> 2098 <td class="paramtype">size_t&#160;</td> 2099 <td class="paramname"><em>n</em>&#160;</td> 2100 </tr> 2101 <tr> 2102 <td></td> 2103 <td>)</td> 2104 <td></td><td></td> 2105 </tr> 2106 </table> 2107 </div><div class="memdoc"> 2108 2109 <p>Reads data from a stream and writes it to another stream. </p> 2110 <dl class="params"><dt>Parameters</dt><dd> 2111 <table class="params"> 2112 <tr><td class="paramname">src</td><td>the source stream </td></tr> 2113 <tr><td class="paramname">dest</td><td>the destination stream </td></tr> 2114 <tr><td class="paramname">rfnc</td><td>the read function </td></tr> 2115 <tr><td class="paramname">wfnc</td><td>the write function </td></tr> 2116 <tr><td class="paramname">buf</td><td>a pointer to the copy buffer or <code>NULL</code> if a buffer shall be implicitly created on the heap </td></tr> 2117 <tr><td class="paramname">bufsize</td><td>the size of the copy buffer - if <code>NULL</code> was provided for <code>buf</code>, this is the size of the buffer that shall be implicitly created </td></tr> 2118 <tr><td class="paramname">n</td><td>the maximum number of bytes that shall be copied </td></tr> 2119 </table> 2120 </dd> 2121 </dl> 2122 <dl class="section return"><dt>Returns</dt><dd>the total number of bytes copied </dd></dl> 2123 2124 </div> 2125 </div> 2126 <a id="a3ea1dfb856c741f3e8ec6bfdc9ad427e"></a> 2127 <h2 class="memtitle"><span class="permalink"><a href="#a3ea1dfb856c741f3e8ec6bfdc9ad427e">&#9670;&nbsp;</a></span>ucx_vasprintf()</h2> 2128 2129 <div class="memitem"> 2130 <div class="memproto"> 2131 <table class="memname"> 2132 <tr> 2133 <td class="memname"><a class="el" href="structsstr__t.html">sstr_t</a> ucx_vasprintf </td> 2134 <td>(</td> 2135 <td class="paramtype"><a class="el" href="structUcxAllocator.html">UcxAllocator</a> *&#160;</td> 2136 <td class="paramname"><em>allocator</em>, </td> 2137 </tr> 2138 <tr> 2139 <td class="paramkey"></td> 2140 <td></td> 2141 <td class="paramtype">const char *&#160;</td> 2142 <td class="paramname"><em>fmt</em>, </td> 2143 </tr> 2144 <tr> 2145 <td class="paramkey"></td> 2146 <td></td> 2147 <td class="paramtype">va_list&#160;</td> 2148 <td class="paramname"><em>ap</em>&#160;</td> 2149 </tr> 2150 <tr> 2151 <td></td> 2152 <td>)</td> 2153 <td></td><td></td> 2154 </tr> 2155 </table> 2156 </div><div class="memdoc"> 2157 2158 <p><code>va_list</code> version of <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a>. </p> 2159 <dl class="params"><dt>Parameters</dt><dd> 2160 <table class="params"> 2161 <tr><td class="paramname">allocator</td><td>the <a class="el" href="structUcxAllocator.html" title="UCX allocator data structure containing memory management functions. ">UcxAllocator</a> used for allocating the result <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> </td></tr> 2162 <tr><td class="paramname">fmt</td><td>format string </td></tr> 2163 <tr><td class="paramname">ap</td><td>argument list </td></tr> 2164 </table> 2165 </dd> 2166 </dl> 2167 <dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> containing the formatted string </dd></dl> 2168 <dl class="section see"><dt>See also</dt><dd><a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a> </dd></dl> 2169 2170 </div> 2171 </div> 2172 <a id="a4907967beb92c3ae351dd239abbb6927"></a> 2173 <h2 class="memtitle"><span class="permalink"><a href="#a4907967beb92c3ae351dd239abbb6927">&#9670;&nbsp;</a></span>ucx_vfprintf()</h2> 2174 2175 <div class="memitem"> 2176 <div class="memproto"> 2177 <table class="memname"> 2178 <tr> 2179 <td class="memname">int ucx_vfprintf </td> 2180 <td>(</td> 2181 <td class="paramtype">void *&#160;</td> 2182 <td class="paramname"><em>stream</em>, </td> 2183 </tr> 2184 <tr> 2185 <td class="paramkey"></td> 2186 <td></td> 2187 <td class="paramtype"><a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>&#160;</td> 2188 <td class="paramname"><em>wfc</em>, </td> 2189 </tr> 2190 <tr> 2191 <td class="paramkey"></td> 2192 <td></td> 2193 <td class="paramtype">const char *&#160;</td> 2194 <td class="paramname"><em>fmt</em>, </td> 2195 </tr> 2196 <tr> 2197 <td class="paramkey"></td> 2198 <td></td> 2199 <td class="paramtype">va_list&#160;</td> 2200 <td class="paramname"><em>ap</em>&#160;</td> 2201 </tr> 2202 <tr> 2203 <td></td> 2204 <td>)</td> 2205 <td></td><td></td> 2206 </tr> 2207 </table> 2208 </div><div class="memdoc"> 2209 2210 <p><code>va_list</code> version of <a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a" title="A printf() like function which writes the output to a stream by using a write_func(). ">ucx_fprintf()</a>. </p> 2211 <dl class="params"><dt>Parameters</dt><dd> 2212 <table class="params"> 2213 <tr><td class="paramname">stream</td><td>the stream the data is written to </td></tr> 2214 <tr><td class="paramname">wfc</td><td>the write function </td></tr> 2215 <tr><td class="paramname">fmt</td><td>format string </td></tr> 2216 <tr><td class="paramname">ap</td><td>argument list </td></tr> 2217 </table> 2218 </dd> 2219 </dl> 2220 <dl class="section return"><dt>Returns</dt><dd>the total number of bytes written </dd></dl> 2221 <dl class="section see"><dt>See also</dt><dd><a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a" title="A printf() like function which writes the output to a stream by using a write_func(). ">ucx_fprintf()</a> </dd></dl> 2222 2223 </div> 2224 </div> 2225 </div><!-- contents --> 2226 <!-- start footer part --> 2227 <hr class="footer"/><address class="footer"><small> 2228 Generated on Thu Dec 19 2019 19:58:24 for ucx by &#160;<a href="http://www.doxygen.org/index.html"> 2229 <img class="footer" src="doxygen.png" alt="doxygen"/> 2230 </a> 1.8.13 2231 </small></address> 2232 </body> 2233 </html> 2234