diff options
Diffstat (limited to 'runtime/docs/html/group__maps.html')
-rw-r--r-- | runtime/docs/html/group__maps.html | 1299 |
1 files changed, 0 insertions, 1299 deletions
diff --git a/runtime/docs/html/group__maps.html b/runtime/docs/html/group__maps.html deleted file mode 100644 index 1b6e170e..00000000 --- a/runtime/docs/html/group__maps.html +++ /dev/null @@ -1,1299 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>SystemTap: Maps</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.4.1 --> -<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a></div> -<h1>Maps</h1>Implements maps (associative arrays) and lists. -<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>stat</b></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">union </td><td class="memItemRight" valign="bottom"><b>key_data</b></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>map_node</b></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>map_node_int64</b></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>map_node_str</b></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>map_node_stat</b></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>map_root</b></td></tr> - -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga25" doxytag="maps::key1str"></a> -#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga25">key1str</a>(ptr) (ptr->n.key1.str)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Extracts string from key1 union. <br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga26" doxytag="maps::key2str"></a> -#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga26">key2str</a>(ptr) (ptr->n.key2.str)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Extracts string from key2 union. <br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga27" doxytag="maps::key1int"></a> -#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga27">key1int</a>(ptr) (ptr->n.key1.val)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Extracts int from key1 union. <br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga28" doxytag="maps::key2int"></a> -#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga28">key2int</a>(ptr) (ptr->n.key2.val)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Extracts int from key2 union. <br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga29">_stp_map_key2</a>(map, key1, key2)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Macro to call the proper _stp_map_key functions based on the types of the arguments. <a href="#ga29"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga30">_stp_map_key</a>(map, key)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Macro to call the proper _stp_map_key function based on the type of the argument. <a href="#ga30"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga31">_stp_map_set</a>(map, val)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Macro to call the proper _stp_map_set function based on the type of the argument. <a href="#ga31"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga32">foreach</a>(map, ptr)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Loop through all elements of a map or list. <a href="#ga32"></a><br></td></tr> -<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1" doxytag="maps::MAP"></a> -typedef map_root * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga1">MAP</a></td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">All maps are of this type. <br></td></tr> -<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga33">keytype</a> { <b>NONE</b>, -<b>LONG</b>, -<b>STR</b> - }</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">keys can be longs or strings <br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga34">valtype</a> { <b>INT64</b>, -<b>STAT</b>, -<b>STRING</b>, -<b>END</b> - }</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">values can be either int64, stats or strings <br></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga2">_stp_map_new</a> (unsigned max_entries, enum <a class="el" href="group__maps.html#ga34">valtype</a> type)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new map. <a href="#ga2"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga4">_stp_map_key_del</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Deletes the current element. <a href="#ga4"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">map_node * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga5">_stp_map_start</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the first element in a map. <a href="#ga5"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">map_node * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga6">_stp_map_iter</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, struct map_node *m)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the next element in a map. <a href="#ga6"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga7">_stp_map_del</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Deletes a map. <a href="#ga7"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga8">_stp_map_key_long_long</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, long key1, long key2)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the map's key to two longs. <a href="#ga8"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga9">_stp_map_key_str_str</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, char *key1, char *key2)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the map's key to two strings. <a href="#ga9"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga10">_stp_map_key_str_long</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, char *key1, long key2)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the map's key to a string and a long. <a href="#ga10"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga11">_stp_map_key_long_str</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, long key1, char *key2)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the map's key to a long and a string. <a href="#ga11"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga12">_stp_map_key_str</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, char *key)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the map's key to a string. <a href="#ga12"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga13">_stp_map_key_long</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, long key)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the map's key to a long. <a href="#ga13"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga16">_stp_map_set_int64</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, int64_t val)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the current element's value to an int64. <a href="#ga16"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga17">_stp_map_add_int64</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, int64_t val)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds an int64 to the current element's value. <a href="#ga17"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga18">_stp_map_get_int64</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the current element's value. <a href="#ga18"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga19">_stp_map_set_str</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, char *val)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the current element's value to a C string. <a href="#ga19"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga20">_stp_map_set_string</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, String str)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the current element's value to String. <a href="#ga20"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga21">_stp_map_get_str</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the current element's value. <a href="#ga21"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga22">_stp_map_set_stat</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, stat *stats)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the current element's value to a stat. <a href="#ga22"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">stat * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga23">_stp_map_get_stat</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the current element's value. <a href="#ga23"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga24">_stp_map_stat_add</a> (<a class="el" href="group__maps.html#ga1">MAP</a> map, int64_t val)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Add to the current element's statistics. <a href="#ga24"></a><br></td></tr> -<tr><td colspan="2"><br><h2>Variables</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0" doxytag="maps::packed"></a> -enum <a class="el" href="group__maps.html#ga33">keytype</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__maps.html#ga0">packed</a></td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">keys can be longs or strings <br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -Implements maps (associative arrays) and lists. -<p> -<dl compact><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>Needs to be made SMP-safe for when the big lock is removed from kprobes.</dd></dl> -<hr><h2>Define Documentation</h2> -<a class="anchor" name="ga30" doxytag="map.h::_stp_map_key"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _stp_map_key </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">map, <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>key </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -<b>Value:</b><div class="fragment"><pre class="fragment">({ \ - <span class="keywordflow">if</span> (__builtin_types_compatible_p (typeof (key), <span class="keywordtype">char</span>[])) \ - <a class="code" href="group__maps.html#ga12">_stp_map_key_str</a> (map, (<span class="keywordtype">char</span> *)(key)); \ - <span class="keywordflow">else</span> \ - <a class="code" href="group__maps.html#ga13">_stp_map_key_long</a> (map, (<span class="keywordtype">long</span>)(key)); \ - }) -</pre></div>Macro to call the proper _stp_map_key function based on the type of the argument. -<p> -<dl compact><dt><b>Note:</b></dt><dd>May cause compiler warning on some GCCs </dd></dl> - -<p> -Definition at line <a class="el" href="map_8h-source.html#l00141">141</a> of file <a class="el" href="map_8h-source.html">map.h</a>. </td> - </tr> -</table> -<a class="anchor" name="ga29" doxytag="map.h::_stp_map_key2"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _stp_map_key2 </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">map, <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>key1, <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>key2 </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -<b>Value:</b><div class="fragment"><pre class="fragment">({ \ - <span class="keywordflow">if</span> (__builtin_types_compatible_p (typeof (key1), <span class="keywordtype">char</span>[])) \ - <span class="keywordflow">if</span> (__builtin_types_compatible_p (typeof (key2), <span class="keywordtype">char</span>[])) \ - <a class="code" href="group__maps.html#ga9">_stp_map_key_str_str</a> (map, (<span class="keywordtype">char</span> *)(key1), (<span class="keywordtype">char</span> *)(key2)); \ - <span class="keywordflow">else</span> \ - <a class="code" href="group__maps.html#ga10">_stp_map_key_str_long</a> (map, (<span class="keywordtype">char</span> *)(key1), (<span class="keywordtype">long</span>)(key2)); \ - <span class="keywordflow">else</span> \ - <span class="keywordflow">if</span> (__builtin_types_compatible_p (typeof (key2), <span class="keywordtype">char</span>[])) \ - <a class="code" href="group__maps.html#ga11">_stp_map_key_long_str</a> (map, (<span class="keywordtype">long</span>)(key1), (<span class="keywordtype">char</span> *)(key2)); \ - <span class="keywordflow">else</span> \ - <a class="code" href="group__maps.html#ga8">_stp_map_key_long_long</a> (map, (<span class="keywordtype">long</span>)(key1), (<span class="keywordtype">long</span>)(key2)); \ - }) -</pre></div>Macro to call the proper _stp_map_key functions based on the types of the arguments. -<p> -<dl compact><dt><b>Note:</b></dt><dd>May cause compiler warning on some GCCs </dd></dl> - -<p> -Definition at line <a class="el" href="map_8h-source.html#l00123">123</a> of file <a class="el" href="map_8h-source.html">map.h</a>. </td> - </tr> -</table> -<a class="anchor" name="ga31" doxytag="map.h::_stp_map_set"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _stp_map_set </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">map, <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>val </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -<b>Value:</b><div class="fragment"><pre class="fragment">({ \ - <span class="keywordflow">if</span> (__builtin_types_compatible_p (typeof (val), <span class="keywordtype">char</span>[])) \ - <a class="code" href="group__maps.html#ga19">_stp_map_set_str</a> (map, (<span class="keywordtype">char</span> *)(val)); \ - <span class="keywordflow">else</span> <span class="keywordflow">if</span> (__builtin_types_compatible_p (typeof (val), String)) \ - <a class="code" href="group__maps.html#ga20">_stp_map_set_string</a> (map, (String)(val)); \ - <span class="keywordflow">else</span> \ - <a class="code" href="group__maps.html#ga16">_stp_map_set_int64</a> (map, (int64_t)(val)); \ - }) -</pre></div>Macro to call the proper _stp_map_set function based on the type of the argument. -<p> -<dl compact><dt><b>Note:</b></dt><dd>May cause compiler warning on some GCCs </dd></dl> - -<p> -Definition at line <a class="el" href="map_8h-source.html#l00153">153</a> of file <a class="el" href="map_8h-source.html">map.h</a>. </td> - </tr> -</table> -<a class="anchor" name="ga32" doxytag="map.h::foreach"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define foreach </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">map, <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>ptr </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> (ptr = (typeof(ptr))<a class="code" href="group__maps.html#ga5">_stp_map_start</a>(map); ptr; \ - ptr = (typeof(ptr))_stp_map_iter (map, (<span class="keyword">struct</span> map_node *)ptr)) -</pre></div>Loop through all elements of a map or list. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>ptr</em> </td><td>pointer to a map_node_stat, map_node_int64 or map_node_str</td></tr> - </table> -</dl> -<b>Example:</b> <div class="fragment"><pre class="fragment"><span class="comment">/* example showing how to print all the stats in a map using foreach() */</span> - -<span class="keyword">struct </span>map_node_stat *ptr; - -<a class="code" href="group__maps.html#ga32">foreach</a> (map, ptr) - printf ("map[%s,%ld] = [c=%lld s=%lld min=%lld max=%lld]\n", key1str(ptr), - key2int(ptr), ptr->stats.count, ptr->stats.sum, ptr->stats.min, - ptr->stats.max); - -</pre></div> -<p> -Definition at line <a class="el" href="map_8h-source.html#l00171">171</a> of file <a class="el" href="map_8h-source.html">map.h</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="ga17" doxytag="map.c::_stp_map_add_int64"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_add_int64 </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>int64_t </td> - <td class="mdname" nowrap> <em>val</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Adds an int64 to the current element's value. -<p> -This adds an int64 to the current element's value. The map must have been created to hold int64s using <a class="el" href="group__maps.html#ga2">_stp_map_new()</a><p> -If the element doesn't exist, it is created. If no current element (key) is set for the map, this function does nothing. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>value </td></tr> - </table> -</dl> -<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__maps.html#ga16">_stp_map_set_int64</a> </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00559">559</a> of file <a class="el" href="map_8c-source.html">map.c</a>. </td> - </tr> -</table> -<a class="anchor" name="ga7" doxytag="map.c::_stp_map_del"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_del </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname1" valign="top" nowrap> <em>map</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Deletes a map. -<p> -Deletes a map, freeing all memory in all elements. Normally done only when the module exits. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00205">205</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="alloc_8c-source.html#l00086">_stp_vfree()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga18" doxytag="map.c::_stp_map_get_int64"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">int64_t _stp_map_get_int64 </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname1" valign="top" nowrap> <em>map</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Gets the current element's value. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>The value. If the current element is not set or doesn't exist, returns 0. </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00569">569</a> of file <a class="el" href="map_8c-source.html">map.c</a>. </td> - </tr> -</table> -<a class="anchor" name="ga23" doxytag="map.c::_stp_map_get_stat"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">stat* _stp_map_get_stat </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname1" valign="top" nowrap> <em>map</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Gets the current element's value. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>A pointer to the stats struct. If the current element is not set or doesn't exist, returns NULL. </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00750">750</a> of file <a class="el" href="map_8c-source.html">map.c</a>. </td> - </tr> -</table> -<a class="anchor" name="ga21" doxytag="map.c::_stp_map_get_str"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">char* _stp_map_get_str </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname1" valign="top" nowrap> <em>map</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Gets the current element's value. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>A string pointer. If the current element is not set or doesn't exist, returns NULL. </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00667">667</a> of file <a class="el" href="map_8c-source.html">map.c</a>. </td> - </tr> -</table> -<a class="anchor" name="ga6" doxytag="map.c::_stp_map_iter"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">struct map_node* _stp_map_iter </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>struct map_node * </td> - <td class="mdname" nowrap> <em>m</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Get the next element in a map. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>m</em> </td><td>a pointer to the current element, returned from <a class="el" href="group__maps.html#ga5">_stp_map_start()</a> or <a class="el" href="group__maps.html#ga6">_stp_map_iter()</a>. </td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the next element. This is typically used with <a class="el" href="group__maps.html#ga5">_stp_map_start()</a>. See the <a class="el" href="group__maps.html#ga32">foreach()</a> macro for typical usage. It probably does what you want anyway. </dd></dl> -<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__maps.html#ga32">foreach</a> </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00186">186</a> of file <a class="el" href="map_8c-source.html">map.c</a>. </td> - </tr> -</table> -<a class="anchor" name="ga4" doxytag="map.c::_stp_map_key_del"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_key_del </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname1" valign="top" nowrap> <em>map</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Deletes the current element. -<p> -If no current element (key) for this map is set, this function does nothing. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00118">118</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="alloc_8c-source.html#l00076">_stp_free()</a>. -<p> -Referenced by <a class="el" href="map_8c-source.html#l00691">_stp_map_set_stat()</a>, and <a class="el" href="map_8c-source.html#l00590">_stp_map_set_str()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga13" doxytag="map.c::_stp_map_key_long"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_key_long </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>long </td> - <td class="mdname" nowrap> <em>key</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the map's key to a long. -<p> -This sets the current element based on a long key. If the key is not found, a new element will not be created until a <em>_stp_map_set_xxx</em> call. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00430">430</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="map_8c-source.html#l00233">_stp_map_key_long_long()</a>. -<p> -Referenced by <a class="el" href="map_8c-source.html#l00896">_stp_list_add_int64()</a>, <a class="el" href="map_8c-source.html#l00872">_stp_list_add_str()</a>, and <a class="el" href="map_8c-source.html#l00884">_stp_list_add_string()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga8" doxytag="map.c::_stp_map_key_long_long"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_key_long_long </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>long </td> - <td class="mdname" nowrap> <em>key1</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>long </td> - <td class="mdname" nowrap> <em>key2</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the map's key to two longs. -<p> -This sets the current element based on a key of two strings. If the keys are not found, a new element will not be created until a <em>_stp_map_set_xxx</em> call. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>key1</em> </td><td>first key </td></tr> - <tr><td valign="top"></td><td valign="top"><em>key2</em> </td><td>second key </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00233">233</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -Referenced by <a class="el" href="map_8c-source.html#l00430">_stp_map_key_long()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga11" doxytag="map.c::_stp_map_key_long_str"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_key_long_str </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>long </td> - <td class="mdname" nowrap> <em>key1</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>char * </td> - <td class="mdname" nowrap> <em>key2</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the map's key to a long and a string. -<p> -This sets the current element based on a key of a long and a string. If the keys are not found, a new element will not be created until a <em>_stp_map_set_xxx</em> call. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>key1</em> </td><td>first key </td></tr> - <tr><td valign="top"></td><td valign="top"><em>key2</em> </td><td>second key </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00373">373</a> of file <a class="el" href="map_8c-source.html">map.c</a>. </td> - </tr> -</table> -<a class="anchor" name="ga12" doxytag="map.c::_stp_map_key_str"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_key_str </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>char * </td> - <td class="mdname" nowrap> <em>key</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the map's key to a string. -<p> -This sets the current element based on a string key. If the key is not found, a new element will not be created until a <em>_stp_map_set_xxx</em> call. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00414">414</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="map_8c-source.html#l00276">_stp_map_key_str_str()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga10" doxytag="map.c::_stp_map_key_str_long"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_key_str_long </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>char * </td> - <td class="mdname" nowrap> <em>key1</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>long </td> - <td class="mdname" nowrap> <em>key2</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the map's key to a string and a long. -<p> -This sets the current element based on a key of a string and a long. If the keys are not found, a new element will not be created until a <em>_stp_map_set_xxx</em> call. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>key1</em> </td><td>first key </td></tr> - <tr><td valign="top"></td><td valign="top"><em>key2</em> </td><td>second key </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00325">325</a> of file <a class="el" href="map_8c-source.html">map.c</a>. </td> - </tr> -</table> -<a class="anchor" name="ga9" doxytag="map.c::_stp_map_key_str_str"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_key_str_str </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>char * </td> - <td class="mdname" nowrap> <em>key1</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>char * </td> - <td class="mdname" nowrap> <em>key2</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the map's key to two strings. -<p> -This sets the current element based on a key of two strings. If the keys are not found, a new element will not be created until a <em>_stp_map_set_xxx</em> call. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>key1</em> </td><td>first key </td></tr> - <tr><td valign="top"></td><td valign="top"><em>key2</em> </td><td>second key </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00276">276</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -Referenced by <a class="el" href="map_8c-source.html#l00414">_stp_map_key_str()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga2" doxytag="map.c::_stp_map_new"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> _stp_map_new </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">unsigned </td> - <td class="mdname" nowrap> <em>max_entries</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>enum <a class="el" href="group__maps.html#ga34">valtype</a> </td> - <td class="mdname" nowrap> <em>type</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Create a new map. -<p> -Maps must be created at module initialization time. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>max_entries</em> </td><td>The maximum number of entries allowed. Currently that number will be preallocated. If more entries are required, the oldest ones will be deleted. This makes it effectively a circular buffer. If max_entries is 0, there will be no maximum and entries will be allocated dynamically. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Type of values stored in this map. </td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>A MAP on success or NULL on failure. </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00057">57</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="alloc_8c-source.html#l00062">_stp_valloc()</a>. -<p> -Referenced by <a class="el" href="map_8c-source.html#l00819">_stp_list_new()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga16" doxytag="map.c::_stp_map_set_int64"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_set_int64 </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>int64_t </td> - <td class="mdname" nowrap> <em>val</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the current element's value to an int64. -<p> -This sets the current element's value to an int64. The map must have been created to hold int64s using <a class="el" href="group__maps.html#ga2">_stp_map_new()</a><p> -If the element doesn't exist, it is created. If no current element (key) is set for the map, this function does nothing. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>new value </td></tr> - </table> -</dl> -<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__maps.html#ga17">_stp_map_add_int64</a> <p> -<a class="el" href="group__maps.html#ga31">_stp_map_set()</a> </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00542">542</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -Referenced by <a class="el" href="map_8c-source.html#l00896">_stp_list_add_int64()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga22" doxytag="map.c::_stp_map_set_stat"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_set_stat </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>stat * </td> - <td class="mdname" nowrap> <em>stats</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the current element's value to a stat. -<p> -This sets the current element's value to an stat struct. The map must have been created to hold stats using <em>_stp_map_new(xxx, STAT)</em>. This function would only be used if we wanted to set stats to something other than the normal initial values (count = 0, sum = 0, etc). It may be deleted if it doesn't turn out to be useful. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__maps.html#ga24">_stp_map_stat_add</a></dd></dl> -If the element doesn't exist, it is created. If no current element (key) is set for the map, this function does nothing. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>stats</em> </td><td>pointer to stats struct. </td></tr> - </table> -</dl> -<dl compact><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Histograms don't work yet. </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00691">691</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="alloc_8c-source.html#l00047">_stp_calloc()</a>, and <a class="el" href="map_8c-source.html#l00118">_stp_map_key_del()</a>. -<p> -Referenced by <a class="el" href="map_8c-source.html#l00771">_stp_map_stat_add()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga19" doxytag="map.c::_stp_map_set_str"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_set_str </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>char * </td> - <td class="mdname" nowrap> <em>val</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the current element's value to a C string. -<p> -This sets the current element's value to an C string. The map must have been created to hold int64s using <em>_stp_map_new(xxx, STRING)</em><p> -If the element doesn't exist, it is created. If no current element (key) is set for the map, this function does nothing. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>new string </td></tr> - </table> -</dl> -<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__maps.html#ga31">_stp_map_set()</a> </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00590">590</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="alloc_8c-source.html#l00031">_stp_alloc()</a>, <a class="el" href="alloc_8c-source.html#l00047">_stp_calloc()</a>, <a class="el" href="alloc_8c-source.html#l00076">_stp_free()</a>, and <a class="el" href="map_8c-source.html#l00118">_stp_map_key_del()</a>. -<p> -Referenced by <a class="el" href="map_8c-source.html#l00872">_stp_list_add_str()</a>, <a class="el" href="map_8c-source.html#l00884">_stp_list_add_string()</a>, and <a class="el" href="map_8c-source.html#l00657">_stp_map_set_string()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga20" doxytag="map.c::_stp_map_set_string"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_set_string </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>String </td> - <td class="mdname" nowrap> <em>str</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set the current element's value to String. -<p> -This sets the current element's value to a String. The map must have been created to hold int64s using <em>_stp_map_new(xxx, STRING)</em><p> -If the element doesn't exist, it is created. If no current element (key) is set for the map, this function does nothing. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>String containing new value. </td></tr> - </table> -</dl> -<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__maps.html#ga31">_stp_map_set()</a> </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00657">657</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="map_8c-source.html#l00590">_stp_map_set_str()</a>. </td> - </tr> -</table> -<a class="anchor" name="ga5" doxytag="map.c::_stp_map_start"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">struct map_node* _stp_map_start </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname1" valign="top" nowrap> <em>map</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Get the first element in a map. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the first element. This is typically used with <a class="el" href="group__maps.html#ga6">_stp_map_iter()</a>. See the <a class="el" href="group__maps.html#ga32">foreach()</a> macro for typical usage. It probably does what you want anyway. </dd></dl> -<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__maps.html#ga32">foreach</a> </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00163">163</a> of file <a class="el" href="map_8c-source.html">map.c</a>. </td> - </tr> -</table> -<a class="anchor" name="ga24" doxytag="map.c::_stp_map_stat_add"></a><p> -<table class="mdTable" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void _stp_map_stat_add </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="group__maps.html#ga1">MAP</a> </td> - <td class="mdname" nowrap> <em>map</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>int64_t </td> - <td class="mdname" nowrap> <em>val</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Add to the current element's statistics. -<p> -Increments the statistics counter by one and the sum by <em>val</em>. Adjusts minimum, maximum, and histogram.<p> -If the element doesn't exist, it is created. If no current element (key) is set for the map, this function does nothing. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>map</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>value to add to the statistics </td></tr> - </table> -</dl> -<dl compact><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>Histograms don't work yet. </dd></dl> - -<p> -Definition at line <a class="el" href="map_8c-source.html#l00771">771</a> of file <a class="el" href="map_8c-source.html">map.c</a>. -<p> -References <a class="el" href="map_8c-source.html#l00691">_stp_map_set_stat()</a>. </td> - </tr> -</table> -</body></html> |