fizx-ordered_json 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +29 -0
- data/CHANGELOG +22 -0
- data/README +4 -0
- data/Rakefile +35 -0
- data/ext/Makefile +149 -0
- data/ext/json-c-0.8/AUTHORS +2 -0
- data/ext/json-c-0.8/COPYING +19 -0
- data/ext/json-c-0.8/ChangeLog +73 -0
- data/ext/json-c-0.8/INSTALL +229 -0
- data/ext/json-c-0.8/Makefile.am +43 -0
- data/ext/json-c-0.8/Makefile.in +734 -0
- data/ext/json-c-0.8/NEWS +1 -0
- data/ext/json-c-0.8/README +20 -0
- data/ext/json-c-0.8/aclocal.m4 +8794 -0
- data/ext/json-c-0.8/arraylist.c +93 -0
- data/ext/json-c-0.8/arraylist.h +45 -0
- data/ext/json-c-0.8/bits.h +27 -0
- data/ext/json-c-0.8/config.guess +1526 -0
- data/ext/json-c-0.8/config.h.in +121 -0
- data/ext/json-c-0.8/config.sub +1658 -0
- data/ext/json-c-0.8/configure +14243 -0
- data/ext/json-c-0.8/configure.in +33 -0
- data/ext/json-c-0.8/debug.c +98 -0
- data/ext/json-c-0.8/debug.h +42 -0
- data/ext/json-c-0.8/depcomp +530 -0
- data/ext/json-c-0.8/doc/html/annotated.html +40 -0
- data/ext/json-c-0.8/doc/html/arraylist_8h.html +234 -0
- data/ext/json-c-0.8/doc/html/bits_8h.html +144 -0
- data/ext/json-c-0.8/doc/html/config_8h.html +606 -0
- data/ext/json-c-0.8/doc/html/debug_8h.html +386 -0
- data/ext/json-c-0.8/doc/html/doxygen.css +473 -0
- data/ext/json-c-0.8/doc/html/doxygen.png +0 -0
- data/ext/json-c-0.8/doc/html/files.html +42 -0
- data/ext/json-c-0.8/doc/html/functions.html +206 -0
- data/ext/json-c-0.8/doc/html/functions_vars.html +206 -0
- data/ext/json-c-0.8/doc/html/globals.html +445 -0
- data/ext/json-c-0.8/doc/html/globals_defs.html +200 -0
- data/ext/json-c-0.8/doc/html/globals_enum.html +50 -0
- data/ext/json-c-0.8/doc/html/globals_eval.html +135 -0
- data/ext/json-c-0.8/doc/html/globals_func.html +194 -0
- data/ext/json-c-0.8/doc/html/globals_type.html +58 -0
- data/ext/json-c-0.8/doc/html/globals_vars.html +50 -0
- data/ext/json-c-0.8/doc/html/index.html +25 -0
- data/ext/json-c-0.8/doc/html/json_8h.html +26 -0
- data/ext/json-c-0.8/doc/html/json__object_8h.html +1042 -0
- data/ext/json-c-0.8/doc/html/json__object__private_8h.html +69 -0
- data/ext/json-c-0.8/doc/html/json__tokener_8h.html +360 -0
- data/ext/json-c-0.8/doc/html/json__util_8h.html +100 -0
- data/ext/json-c-0.8/doc/html/linkhash_8h.html +734 -0
- data/ext/json-c-0.8/doc/html/printbuf_8h.html +171 -0
- data/ext/json-c-0.8/doc/html/structarray__list.html +104 -0
- data/ext/json-c-0.8/doc/html/structjson__object.html +141 -0
- data/ext/json-c-0.8/doc/html/structjson__object__iter.html +87 -0
- data/ext/json-c-0.8/doc/html/structjson__tokener.html +206 -0
- data/ext/json-c-0.8/doc/html/structjson__tokener__srec.html +104 -0
- data/ext/json-c-0.8/doc/html/structlh__entry.html +105 -0
- data/ext/json-c-0.8/doc/html/structlh__table.html +275 -0
- data/ext/json-c-0.8/doc/html/structprintbuf.html +87 -0
- data/ext/json-c-0.8/doc/html/tab_b.gif +0 -0
- data/ext/json-c-0.8/doc/html/tab_l.gif +0 -0
- data/ext/json-c-0.8/doc/html/tab_r.gif +0 -0
- data/ext/json-c-0.8/doc/html/tabs.css +102 -0
- data/ext/json-c-0.8/doc/html/unionjson__object_1_1data.html +140 -0
- data/ext/json-c-0.8/install-sh +519 -0
- data/ext/json-c-0.8/json.h +31 -0
- data/ext/json-c-0.8/json.pc.in +11 -0
- data/ext/json-c-0.8/json_object.c +511 -0
- data/ext/json-c-0.8/json_object.h +310 -0
- data/ext/json-c-0.8/json_object_private.h +44 -0
- data/ext/json-c-0.8/json_tokener.c +517 -0
- data/ext/json-c-0.8/json_tokener.h +90 -0
- data/ext/json-c-0.8/json_util.c +122 -0
- data/ext/json-c-0.8/json_util.h +23 -0
- data/ext/json-c-0.8/linkhash.c +218 -0
- data/ext/json-c-0.8/linkhash.h +264 -0
- data/ext/json-c-0.8/ltmain.sh +7880 -0
- data/ext/json-c-0.8/missing +360 -0
- data/ext/json-c-0.8/printbuf.c +145 -0
- data/ext/json-c-0.8/printbuf.h +38 -0
- data/ext/json-c-0.8/test1.c +164 -0
- data/ext/json-c-0.8/test2.c +20 -0
- data/ext/json-c-0.8/test3.c +22 -0
- data/ext/ordered_json_c.c +199 -0
- data/lib/ordered_json.rb +26 -0
- data/ordered_json.gemspec +102 -0
- data/test/crashing_example.rb +1 -0
- data/test/ordered_json_test.rb +86 -0
- data/test/pretty.json +11 -0
- metadata +91 -50
|
@@ -0,0 +1,734 @@
|
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
2
|
+
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
|
3
|
+
<title>json-c: linkhash.h File Reference</title>
|
|
4
|
+
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
5
|
+
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
6
|
+
</head><body>
|
|
7
|
+
<!-- Generated by Doxygen 1.5.6 -->
|
|
8
|
+
<div class="navigation" id="top">
|
|
9
|
+
<div class="tabs">
|
|
10
|
+
<ul>
|
|
11
|
+
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
12
|
+
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
|
13
|
+
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
14
|
+
</ul>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="contents">
|
|
18
|
+
<h1>linkhash.h File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
|
|
19
|
+
<tr><td></td></tr>
|
|
20
|
+
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
|
|
21
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structlh__entry.html">lh_entry</a></td></tr>
|
|
22
|
+
|
|
23
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structlh__table.html">lh_table</a></td></tr>
|
|
24
|
+
|
|
25
|
+
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
|
|
26
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#032f1bd115df254dda325437203ce5fb">LH_PRIME</a> 0x9e370001UL</td></tr>
|
|
27
|
+
|
|
28
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#93fad7f8ae44575dc89c9567859972d2">LH_EMPTY</a> (void*)-1</td></tr>
|
|
29
|
+
|
|
30
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#c69428f2de0a6fb080b6fb373d506aa7">LH_FREED</a> (void*)-2</td></tr>
|
|
31
|
+
|
|
32
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#d7dd67da915065dce2c6f44cb03e2d82">lh_foreach</a>(table, entry) for(entry = table->head; entry; entry = entry->next)</td></tr>
|
|
33
|
+
|
|
34
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#bcbb0df08b4976d0649b826b6bacfca1">lh_foreach_safe</a>(table, entry, tmp) for(entry = table->head; entry && ((tmp = entry->next) || 1); entry = tmp)</td></tr>
|
|
35
|
+
|
|
36
|
+
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
|
|
37
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void( </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#671553d0ee3c2a123190ba0f8ed2b635">lh_entry_free_fn</a> )(struct <a class="el" href="structlh__entry.html">lh_entry</a> *e)</td></tr>
|
|
38
|
+
|
|
39
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned long( </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#c98c7f2da501dac5d4c2c82a54766adf">lh_hash_fn</a> )(void *k)</td></tr>
|
|
40
|
+
|
|
41
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int( </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#eb87d0816391f41e24503e03d3388ee7">lh_equal_fn</a> )(void *k1, void *k2)</td></tr>
|
|
42
|
+
|
|
43
|
+
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
|
44
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#5f10f2b3b5d039df62843cca47648be6">lh_ptr_hash</a> (void *k)</td></tr>
|
|
45
|
+
|
|
46
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#e28261eca104a1ed4f17cdcf95a301e9">lh_ptr_equal</a> (void *k1, void *k2)</td></tr>
|
|
47
|
+
|
|
48
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#b2da225709b6c281237272ea2e9a06ec">lh_char_hash</a> (void *k)</td></tr>
|
|
49
|
+
|
|
50
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#f5a1a520aae9265d6a43344ebad66360">lh_char_equal</a> (void *k1, void *k2)</td></tr>
|
|
51
|
+
|
|
52
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structlh__table.html">lh_table</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#0f78fd4bdf3c9d38c6aec5ee67398735">lh_table_new</a> (int size, char *name, <a class="el" href="linkhash_8h.html#671553d0ee3c2a123190ba0f8ed2b635">lh_entry_free_fn</a> *free_fn, <a class="el" href="linkhash_8h.html#c98c7f2da501dac5d4c2c82a54766adf">lh_hash_fn</a> *hash_fn, <a class="el" href="linkhash_8h.html#eb87d0816391f41e24503e03d3388ee7">lh_equal_fn</a> *equal_fn)</td></tr>
|
|
53
|
+
|
|
54
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structlh__table.html">lh_table</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#8b9233611ca1a1fc4cf6148a5c1ce835">lh_kchar_table_new</a> (int size, char *name, <a class="el" href="linkhash_8h.html#671553d0ee3c2a123190ba0f8ed2b635">lh_entry_free_fn</a> *free_fn)</td></tr>
|
|
55
|
+
|
|
56
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structlh__table.html">lh_table</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#41e1ab4268642b1ada0705f9db12b056">lh_kptr_table_new</a> (int size, char *name, <a class="el" href="linkhash_8h.html#671553d0ee3c2a123190ba0f8ed2b635">lh_entry_free_fn</a> *free_fn)</td></tr>
|
|
57
|
+
|
|
58
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#81653acf740cf8c9fe672e6cd16df0cf">lh_table_free</a> (struct <a class="el" href="structlh__table.html">lh_table</a> *t)</td></tr>
|
|
59
|
+
|
|
60
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#b6e6c0febd5004225ab696885add39d7">lh_table_insert</a> (struct <a class="el" href="structlh__table.html">lh_table</a> *t, void *k, void *v)</td></tr>
|
|
61
|
+
|
|
62
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structlh__entry.html">lh_entry</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#e4d3bc64c3ef197f41fd0cfe69bcd7d3">lh_table_lookup_entry</a> (struct <a class="el" href="structlh__table.html">lh_table</a> *t, void *k)</td></tr>
|
|
63
|
+
|
|
64
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#3d515bc4f83f7888148e74c059b9fdb0">lh_table_lookup</a> (struct <a class="el" href="structlh__table.html">lh_table</a> *t, void *k)</td></tr>
|
|
65
|
+
|
|
66
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#e5885a71c3457190fb1dc2d6e20dde3b">lh_table_delete_entry</a> (struct <a class="el" href="structlh__table.html">lh_table</a> *t, struct <a class="el" href="structlh__entry.html">lh_entry</a> *e)</td></tr>
|
|
67
|
+
|
|
68
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#50345919448c005943fab628336288ff">lh_table_delete</a> (struct <a class="el" href="structlh__table.html">lh_table</a> *t, void *k)</td></tr>
|
|
69
|
+
|
|
70
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#1294160fa0e80cee04cd745a401f43a4">lh_abort</a> (const char *msg,...)</td></tr>
|
|
71
|
+
|
|
72
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="linkhash_8h.html#5322eccf3394af7dc1ebb22af8f8c562">lh_table_resize</a> (struct <a class="el" href="structlh__table.html">lh_table</a> *t, int new_size)</td></tr>
|
|
73
|
+
|
|
74
|
+
</table>
|
|
75
|
+
<hr><h2>Define Documentation</h2>
|
|
76
|
+
<a class="anchor" name="93fad7f8ae44575dc89c9567859972d2"></a><!-- doxytag: member="linkhash.h::LH_EMPTY" ref="93fad7f8ae44575dc89c9567859972d2" args="" -->
|
|
77
|
+
<div class="memitem">
|
|
78
|
+
<div class="memproto">
|
|
79
|
+
<table class="memname">
|
|
80
|
+
<tr>
|
|
81
|
+
<td class="memname">#define LH_EMPTY (void*)-1 </td>
|
|
82
|
+
</tr>
|
|
83
|
+
</table>
|
|
84
|
+
</div>
|
|
85
|
+
<div class="memdoc">
|
|
86
|
+
|
|
87
|
+
<p>
|
|
88
|
+
sentinel pointer value for empty slots
|
|
89
|
+
</div>
|
|
90
|
+
</div><p>
|
|
91
|
+
<a class="anchor" name="d7dd67da915065dce2c6f44cb03e2d82"></a><!-- doxytag: member="linkhash.h::lh_foreach" ref="d7dd67da915065dce2c6f44cb03e2d82" args="(table, entry)" -->
|
|
92
|
+
<div class="memitem">
|
|
93
|
+
<div class="memproto">
|
|
94
|
+
<table class="memname">
|
|
95
|
+
<tr>
|
|
96
|
+
<td class="memname">#define lh_foreach </td>
|
|
97
|
+
<td>(</td>
|
|
98
|
+
<td class="paramtype">table, <tr>
|
|
99
|
+
<td class="paramkey"></td>
|
|
100
|
+
<td></td>
|
|
101
|
+
<td class="paramtype">entry </td>
|
|
102
|
+
<td class="paramname"> </td>
|
|
103
|
+
<td> ) </td>
|
|
104
|
+
<td> for(entry = table->head; entry; entry = entry->next)</td>
|
|
105
|
+
</tr>
|
|
106
|
+
</table>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="memdoc">
|
|
109
|
+
|
|
110
|
+
<p>
|
|
111
|
+
Convenience list iterator.
|
|
112
|
+
</div>
|
|
113
|
+
</div><p>
|
|
114
|
+
<a class="anchor" name="bcbb0df08b4976d0649b826b6bacfca1"></a><!-- doxytag: member="linkhash.h::lh_foreach_safe" ref="bcbb0df08b4976d0649b826b6bacfca1" args="(table, entry, tmp)" -->
|
|
115
|
+
<div class="memitem">
|
|
116
|
+
<div class="memproto">
|
|
117
|
+
<table class="memname">
|
|
118
|
+
<tr>
|
|
119
|
+
<td class="memname">#define lh_foreach_safe </td>
|
|
120
|
+
<td>(</td>
|
|
121
|
+
<td class="paramtype">table, <tr>
|
|
122
|
+
<td class="paramkey"></td>
|
|
123
|
+
<td></td>
|
|
124
|
+
<td class="paramtype">entry, <tr>
|
|
125
|
+
<td class="paramkey"></td>
|
|
126
|
+
<td></td>
|
|
127
|
+
<td class="paramtype">tmp </td>
|
|
128
|
+
<td class="paramname"> </td>
|
|
129
|
+
<td> ) </td>
|
|
130
|
+
<td> for(entry = table->head; entry && ((tmp = entry->next) || 1); entry = tmp)</td>
|
|
131
|
+
</tr>
|
|
132
|
+
</table>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="memdoc">
|
|
135
|
+
|
|
136
|
+
<p>
|
|
137
|
+
lh_foreach_safe allows calling of deletion routine while iterating.
|
|
138
|
+
</div>
|
|
139
|
+
</div><p>
|
|
140
|
+
<a class="anchor" name="c69428f2de0a6fb080b6fb373d506aa7"></a><!-- doxytag: member="linkhash.h::LH_FREED" ref="c69428f2de0a6fb080b6fb373d506aa7" args="" -->
|
|
141
|
+
<div class="memitem">
|
|
142
|
+
<div class="memproto">
|
|
143
|
+
<table class="memname">
|
|
144
|
+
<tr>
|
|
145
|
+
<td class="memname">#define LH_FREED (void*)-2 </td>
|
|
146
|
+
</tr>
|
|
147
|
+
</table>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="memdoc">
|
|
150
|
+
|
|
151
|
+
<p>
|
|
152
|
+
sentinel pointer value for freed slots
|
|
153
|
+
</div>
|
|
154
|
+
</div><p>
|
|
155
|
+
<a class="anchor" name="032f1bd115df254dda325437203ce5fb"></a><!-- doxytag: member="linkhash.h::LH_PRIME" ref="032f1bd115df254dda325437203ce5fb" args="" -->
|
|
156
|
+
<div class="memitem">
|
|
157
|
+
<div class="memproto">
|
|
158
|
+
<table class="memname">
|
|
159
|
+
<tr>
|
|
160
|
+
<td class="memname">#define LH_PRIME 0x9e370001UL </td>
|
|
161
|
+
</tr>
|
|
162
|
+
</table>
|
|
163
|
+
</div>
|
|
164
|
+
<div class="memdoc">
|
|
165
|
+
|
|
166
|
+
<p>
|
|
167
|
+
golden prime used in hash functions
|
|
168
|
+
</div>
|
|
169
|
+
</div><p>
|
|
170
|
+
<hr><h2>Typedef Documentation</h2>
|
|
171
|
+
<a class="anchor" name="671553d0ee3c2a123190ba0f8ed2b635"></a><!-- doxytag: member="linkhash.h::lh_entry_free_fn" ref="671553d0ee3c2a123190ba0f8ed2b635" args=")(struct lh_entry *e)" -->
|
|
172
|
+
<div class="memitem">
|
|
173
|
+
<div class="memproto">
|
|
174
|
+
<table class="memname">
|
|
175
|
+
<tr>
|
|
176
|
+
<td class="memname">typedef void( <a class="el" href="linkhash_8h.html#671553d0ee3c2a123190ba0f8ed2b635">lh_entry_free_fn</a>)(struct <a class="el" href="structlh__entry.html">lh_entry</a> *e) </td>
|
|
177
|
+
</tr>
|
|
178
|
+
</table>
|
|
179
|
+
</div>
|
|
180
|
+
<div class="memdoc">
|
|
181
|
+
|
|
182
|
+
<p>
|
|
183
|
+
callback function prototypes
|
|
184
|
+
</div>
|
|
185
|
+
</div><p>
|
|
186
|
+
<a class="anchor" name="eb87d0816391f41e24503e03d3388ee7"></a><!-- doxytag: member="linkhash.h::lh_equal_fn" ref="eb87d0816391f41e24503e03d3388ee7" args=")(void *k1, void *k2)" -->
|
|
187
|
+
<div class="memitem">
|
|
188
|
+
<div class="memproto">
|
|
189
|
+
<table class="memname">
|
|
190
|
+
<tr>
|
|
191
|
+
<td class="memname">typedef int( <a class="el" href="linkhash_8h.html#eb87d0816391f41e24503e03d3388ee7">lh_equal_fn</a>)(void *k1, void *k2) </td>
|
|
192
|
+
</tr>
|
|
193
|
+
</table>
|
|
194
|
+
</div>
|
|
195
|
+
<div class="memdoc">
|
|
196
|
+
|
|
197
|
+
<p>
|
|
198
|
+
callback function prototypes
|
|
199
|
+
</div>
|
|
200
|
+
</div><p>
|
|
201
|
+
<a class="anchor" name="c98c7f2da501dac5d4c2c82a54766adf"></a><!-- doxytag: member="linkhash.h::lh_hash_fn" ref="c98c7f2da501dac5d4c2c82a54766adf" args=")(void *k)" -->
|
|
202
|
+
<div class="memitem">
|
|
203
|
+
<div class="memproto">
|
|
204
|
+
<table class="memname">
|
|
205
|
+
<tr>
|
|
206
|
+
<td class="memname">typedef unsigned long( <a class="el" href="linkhash_8h.html#c98c7f2da501dac5d4c2c82a54766adf">lh_hash_fn</a>)(void *k) </td>
|
|
207
|
+
</tr>
|
|
208
|
+
</table>
|
|
209
|
+
</div>
|
|
210
|
+
<div class="memdoc">
|
|
211
|
+
|
|
212
|
+
<p>
|
|
213
|
+
callback function prototypes
|
|
214
|
+
</div>
|
|
215
|
+
</div><p>
|
|
216
|
+
<hr><h2>Function Documentation</h2>
|
|
217
|
+
<a class="anchor" name="1294160fa0e80cee04cd745a401f43a4"></a><!-- doxytag: member="linkhash.h::lh_abort" ref="1294160fa0e80cee04cd745a401f43a4" args="(const char *msg,...)" -->
|
|
218
|
+
<div class="memitem">
|
|
219
|
+
<div class="memproto">
|
|
220
|
+
<table class="memname">
|
|
221
|
+
<tr>
|
|
222
|
+
<td class="memname">void lh_abort </td>
|
|
223
|
+
<td>(</td>
|
|
224
|
+
<td class="paramtype">const char * </td>
|
|
225
|
+
<td class="paramname"> <em>msg</em>, </td>
|
|
226
|
+
</tr>
|
|
227
|
+
<tr>
|
|
228
|
+
<td class="paramkey"></td>
|
|
229
|
+
<td></td>
|
|
230
|
+
<td class="paramtype"> </td>
|
|
231
|
+
<td class="paramname"> <em>...</em></td><td> </td>
|
|
232
|
+
</tr>
|
|
233
|
+
<tr>
|
|
234
|
+
<td></td>
|
|
235
|
+
<td>)</td>
|
|
236
|
+
<td></td><td></td><td></td>
|
|
237
|
+
</tr>
|
|
238
|
+
</table>
|
|
239
|
+
</div>
|
|
240
|
+
<div class="memdoc">
|
|
241
|
+
|
|
242
|
+
<p>
|
|
243
|
+
|
|
244
|
+
</div>
|
|
245
|
+
</div><p>
|
|
246
|
+
<a class="anchor" name="f5a1a520aae9265d6a43344ebad66360"></a><!-- doxytag: member="linkhash.h::lh_char_equal" ref="f5a1a520aae9265d6a43344ebad66360" args="(void *k1, void *k2)" -->
|
|
247
|
+
<div class="memitem">
|
|
248
|
+
<div class="memproto">
|
|
249
|
+
<table class="memname">
|
|
250
|
+
<tr>
|
|
251
|
+
<td class="memname">int lh_char_equal </td>
|
|
252
|
+
<td>(</td>
|
|
253
|
+
<td class="paramtype">void * </td>
|
|
254
|
+
<td class="paramname"> <em>k1</em>, </td>
|
|
255
|
+
</tr>
|
|
256
|
+
<tr>
|
|
257
|
+
<td class="paramkey"></td>
|
|
258
|
+
<td></td>
|
|
259
|
+
<td class="paramtype">void * </td>
|
|
260
|
+
<td class="paramname"> <em>k2</em></td><td> </td>
|
|
261
|
+
</tr>
|
|
262
|
+
<tr>
|
|
263
|
+
<td></td>
|
|
264
|
+
<td>)</td>
|
|
265
|
+
<td></td><td></td><td></td>
|
|
266
|
+
</tr>
|
|
267
|
+
</table>
|
|
268
|
+
</div>
|
|
269
|
+
<div class="memdoc">
|
|
270
|
+
|
|
271
|
+
<p>
|
|
272
|
+
|
|
273
|
+
</div>
|
|
274
|
+
</div><p>
|
|
275
|
+
<a class="anchor" name="b2da225709b6c281237272ea2e9a06ec"></a><!-- doxytag: member="linkhash.h::lh_char_hash" ref="b2da225709b6c281237272ea2e9a06ec" args="(void *k)" -->
|
|
276
|
+
<div class="memitem">
|
|
277
|
+
<div class="memproto">
|
|
278
|
+
<table class="memname">
|
|
279
|
+
<tr>
|
|
280
|
+
<td class="memname">unsigned long lh_char_hash </td>
|
|
281
|
+
<td>(</td>
|
|
282
|
+
<td class="paramtype">void * </td>
|
|
283
|
+
<td class="paramname"> <em>k</em> </td>
|
|
284
|
+
<td> ) </td>
|
|
285
|
+
<td></td>
|
|
286
|
+
</tr>
|
|
287
|
+
</table>
|
|
288
|
+
</div>
|
|
289
|
+
<div class="memdoc">
|
|
290
|
+
|
|
291
|
+
<p>
|
|
292
|
+
|
|
293
|
+
</div>
|
|
294
|
+
</div><p>
|
|
295
|
+
<a class="anchor" name="8b9233611ca1a1fc4cf6148a5c1ce835"></a><!-- doxytag: member="linkhash.h::lh_kchar_table_new" ref="8b9233611ca1a1fc4cf6148a5c1ce835" args="(int size, char *name, lh_entry_free_fn *free_fn)" -->
|
|
296
|
+
<div class="memitem">
|
|
297
|
+
<div class="memproto">
|
|
298
|
+
<table class="memname">
|
|
299
|
+
<tr>
|
|
300
|
+
<td class="memname">struct <a class="el" href="structlh__table.html">lh_table</a>* lh_kchar_table_new </td>
|
|
301
|
+
<td>(</td>
|
|
302
|
+
<td class="paramtype">int </td>
|
|
303
|
+
<td class="paramname"> <em>size</em>, </td>
|
|
304
|
+
</tr>
|
|
305
|
+
<tr>
|
|
306
|
+
<td class="paramkey"></td>
|
|
307
|
+
<td></td>
|
|
308
|
+
<td class="paramtype">char * </td>
|
|
309
|
+
<td class="paramname"> <em>name</em>, </td>
|
|
310
|
+
</tr>
|
|
311
|
+
<tr>
|
|
312
|
+
<td class="paramkey"></td>
|
|
313
|
+
<td></td>
|
|
314
|
+
<td class="paramtype"><a class="el" href="linkhash_8h.html#671553d0ee3c2a123190ba0f8ed2b635">lh_entry_free_fn</a> * </td>
|
|
315
|
+
<td class="paramname"> <em>free_fn</em></td><td> </td>
|
|
316
|
+
</tr>
|
|
317
|
+
<tr>
|
|
318
|
+
<td></td>
|
|
319
|
+
<td>)</td>
|
|
320
|
+
<td></td><td></td><td><code> [read]</code></td>
|
|
321
|
+
</tr>
|
|
322
|
+
</table>
|
|
323
|
+
</div>
|
|
324
|
+
<div class="memdoc">
|
|
325
|
+
|
|
326
|
+
<p>
|
|
327
|
+
Convenience function to create a new linkhash table with char keys. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
328
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
329
|
+
<tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>initial table size. </td></tr>
|
|
330
|
+
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>table name. </td></tr>
|
|
331
|
+
<tr><td valign="top"></td><td valign="top"><em>free_fn</em> </td><td>callback function used to free memory for entries. </td></tr>
|
|
332
|
+
</table>
|
|
333
|
+
</dl>
|
|
334
|
+
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer onto the linkhash table. </dd></dl>
|
|
335
|
+
|
|
336
|
+
</div>
|
|
337
|
+
</div><p>
|
|
338
|
+
<a class="anchor" name="41e1ab4268642b1ada0705f9db12b056"></a><!-- doxytag: member="linkhash.h::lh_kptr_table_new" ref="41e1ab4268642b1ada0705f9db12b056" args="(int size, char *name, lh_entry_free_fn *free_fn)" -->
|
|
339
|
+
<div class="memitem">
|
|
340
|
+
<div class="memproto">
|
|
341
|
+
<table class="memname">
|
|
342
|
+
<tr>
|
|
343
|
+
<td class="memname">struct <a class="el" href="structlh__table.html">lh_table</a>* lh_kptr_table_new </td>
|
|
344
|
+
<td>(</td>
|
|
345
|
+
<td class="paramtype">int </td>
|
|
346
|
+
<td class="paramname"> <em>size</em>, </td>
|
|
347
|
+
</tr>
|
|
348
|
+
<tr>
|
|
349
|
+
<td class="paramkey"></td>
|
|
350
|
+
<td></td>
|
|
351
|
+
<td class="paramtype">char * </td>
|
|
352
|
+
<td class="paramname"> <em>name</em>, </td>
|
|
353
|
+
</tr>
|
|
354
|
+
<tr>
|
|
355
|
+
<td class="paramkey"></td>
|
|
356
|
+
<td></td>
|
|
357
|
+
<td class="paramtype"><a class="el" href="linkhash_8h.html#671553d0ee3c2a123190ba0f8ed2b635">lh_entry_free_fn</a> * </td>
|
|
358
|
+
<td class="paramname"> <em>free_fn</em></td><td> </td>
|
|
359
|
+
</tr>
|
|
360
|
+
<tr>
|
|
361
|
+
<td></td>
|
|
362
|
+
<td>)</td>
|
|
363
|
+
<td></td><td></td><td><code> [read]</code></td>
|
|
364
|
+
</tr>
|
|
365
|
+
</table>
|
|
366
|
+
</div>
|
|
367
|
+
<div class="memdoc">
|
|
368
|
+
|
|
369
|
+
<p>
|
|
370
|
+
Convenience function to create a new linkhash table with ptr keys. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
371
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
372
|
+
<tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>initial table size. </td></tr>
|
|
373
|
+
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>table name. </td></tr>
|
|
374
|
+
<tr><td valign="top"></td><td valign="top"><em>free_fn</em> </td><td>callback function used to free memory for entries. </td></tr>
|
|
375
|
+
</table>
|
|
376
|
+
</dl>
|
|
377
|
+
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer onto the linkhash table. </dd></dl>
|
|
378
|
+
|
|
379
|
+
</div>
|
|
380
|
+
</div><p>
|
|
381
|
+
<a class="anchor" name="e28261eca104a1ed4f17cdcf95a301e9"></a><!-- doxytag: member="linkhash.h::lh_ptr_equal" ref="e28261eca104a1ed4f17cdcf95a301e9" args="(void *k1, void *k2)" -->
|
|
382
|
+
<div class="memitem">
|
|
383
|
+
<div class="memproto">
|
|
384
|
+
<table class="memname">
|
|
385
|
+
<tr>
|
|
386
|
+
<td class="memname">int lh_ptr_equal </td>
|
|
387
|
+
<td>(</td>
|
|
388
|
+
<td class="paramtype">void * </td>
|
|
389
|
+
<td class="paramname"> <em>k1</em>, </td>
|
|
390
|
+
</tr>
|
|
391
|
+
<tr>
|
|
392
|
+
<td class="paramkey"></td>
|
|
393
|
+
<td></td>
|
|
394
|
+
<td class="paramtype">void * </td>
|
|
395
|
+
<td class="paramname"> <em>k2</em></td><td> </td>
|
|
396
|
+
</tr>
|
|
397
|
+
<tr>
|
|
398
|
+
<td></td>
|
|
399
|
+
<td>)</td>
|
|
400
|
+
<td></td><td></td><td></td>
|
|
401
|
+
</tr>
|
|
402
|
+
</table>
|
|
403
|
+
</div>
|
|
404
|
+
<div class="memdoc">
|
|
405
|
+
|
|
406
|
+
<p>
|
|
407
|
+
|
|
408
|
+
</div>
|
|
409
|
+
</div><p>
|
|
410
|
+
<a class="anchor" name="5f10f2b3b5d039df62843cca47648be6"></a><!-- doxytag: member="linkhash.h::lh_ptr_hash" ref="5f10f2b3b5d039df62843cca47648be6" args="(void *k)" -->
|
|
411
|
+
<div class="memitem">
|
|
412
|
+
<div class="memproto">
|
|
413
|
+
<table class="memname">
|
|
414
|
+
<tr>
|
|
415
|
+
<td class="memname">unsigned long lh_ptr_hash </td>
|
|
416
|
+
<td>(</td>
|
|
417
|
+
<td class="paramtype">void * </td>
|
|
418
|
+
<td class="paramname"> <em>k</em> </td>
|
|
419
|
+
<td> ) </td>
|
|
420
|
+
<td></td>
|
|
421
|
+
</tr>
|
|
422
|
+
</table>
|
|
423
|
+
</div>
|
|
424
|
+
<div class="memdoc">
|
|
425
|
+
|
|
426
|
+
<p>
|
|
427
|
+
Pre-defined hash and equality functions
|
|
428
|
+
</div>
|
|
429
|
+
</div><p>
|
|
430
|
+
<a class="anchor" name="50345919448c005943fab628336288ff"></a><!-- doxytag: member="linkhash.h::lh_table_delete" ref="50345919448c005943fab628336288ff" args="(struct lh_table *t, void *k)" -->
|
|
431
|
+
<div class="memitem">
|
|
432
|
+
<div class="memproto">
|
|
433
|
+
<table class="memname">
|
|
434
|
+
<tr>
|
|
435
|
+
<td class="memname">int lh_table_delete </td>
|
|
436
|
+
<td>(</td>
|
|
437
|
+
<td class="paramtype">struct <a class="el" href="structlh__table.html">lh_table</a> * </td>
|
|
438
|
+
<td class="paramname"> <em>t</em>, </td>
|
|
439
|
+
</tr>
|
|
440
|
+
<tr>
|
|
441
|
+
<td class="paramkey"></td>
|
|
442
|
+
<td></td>
|
|
443
|
+
<td class="paramtype">void * </td>
|
|
444
|
+
<td class="paramname"> <em>k</em></td><td> </td>
|
|
445
|
+
</tr>
|
|
446
|
+
<tr>
|
|
447
|
+
<td></td>
|
|
448
|
+
<td>)</td>
|
|
449
|
+
<td></td><td></td><td></td>
|
|
450
|
+
</tr>
|
|
451
|
+
</table>
|
|
452
|
+
</div>
|
|
453
|
+
<div class="memdoc">
|
|
454
|
+
|
|
455
|
+
<p>
|
|
456
|
+
Delete a record from the table. If a callback free function is provided then it is called for the for the item being deleted. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
457
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
458
|
+
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the table to delete from. </td></tr>
|
|
459
|
+
<tr><td valign="top"></td><td valign="top"><em>k</em> </td><td>a pointer to the key to delete. </td></tr>
|
|
460
|
+
</table>
|
|
461
|
+
</dl>
|
|
462
|
+
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if the item was deleted. <p>
|
|
463
|
+
-1 if it was not found. </dd></dl>
|
|
464
|
+
|
|
465
|
+
</div>
|
|
466
|
+
</div><p>
|
|
467
|
+
<a class="anchor" name="e5885a71c3457190fb1dc2d6e20dde3b"></a><!-- doxytag: member="linkhash.h::lh_table_delete_entry" ref="e5885a71c3457190fb1dc2d6e20dde3b" args="(struct lh_table *t, struct lh_entry *e)" -->
|
|
468
|
+
<div class="memitem">
|
|
469
|
+
<div class="memproto">
|
|
470
|
+
<table class="memname">
|
|
471
|
+
<tr>
|
|
472
|
+
<td class="memname">int lh_table_delete_entry </td>
|
|
473
|
+
<td>(</td>
|
|
474
|
+
<td class="paramtype">struct <a class="el" href="structlh__table.html">lh_table</a> * </td>
|
|
475
|
+
<td class="paramname"> <em>t</em>, </td>
|
|
476
|
+
</tr>
|
|
477
|
+
<tr>
|
|
478
|
+
<td class="paramkey"></td>
|
|
479
|
+
<td></td>
|
|
480
|
+
<td class="paramtype">struct <a class="el" href="structlh__entry.html">lh_entry</a> * </td>
|
|
481
|
+
<td class="paramname"> <em>e</em></td><td> </td>
|
|
482
|
+
</tr>
|
|
483
|
+
<tr>
|
|
484
|
+
<td></td>
|
|
485
|
+
<td>)</td>
|
|
486
|
+
<td></td><td></td><td></td>
|
|
487
|
+
</tr>
|
|
488
|
+
</table>
|
|
489
|
+
</div>
|
|
490
|
+
<div class="memdoc">
|
|
491
|
+
|
|
492
|
+
<p>
|
|
493
|
+
Delete a record from the table. If a callback free function is provided then it is called for the for the item being deleted. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
494
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
495
|
+
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the table to delete from. </td></tr>
|
|
496
|
+
<tr><td valign="top"></td><td valign="top"><em>e</em> </td><td>a pointer to the entry to delete. </td></tr>
|
|
497
|
+
</table>
|
|
498
|
+
</dl>
|
|
499
|
+
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if the item was deleted. <p>
|
|
500
|
+
-1 if it was not found. </dd></dl>
|
|
501
|
+
|
|
502
|
+
</div>
|
|
503
|
+
</div><p>
|
|
504
|
+
<a class="anchor" name="81653acf740cf8c9fe672e6cd16df0cf"></a><!-- doxytag: member="linkhash.h::lh_table_free" ref="81653acf740cf8c9fe672e6cd16df0cf" args="(struct lh_table *t)" -->
|
|
505
|
+
<div class="memitem">
|
|
506
|
+
<div class="memproto">
|
|
507
|
+
<table class="memname">
|
|
508
|
+
<tr>
|
|
509
|
+
<td class="memname">void lh_table_free </td>
|
|
510
|
+
<td>(</td>
|
|
511
|
+
<td class="paramtype">struct <a class="el" href="structlh__table.html">lh_table</a> * </td>
|
|
512
|
+
<td class="paramname"> <em>t</em> </td>
|
|
513
|
+
<td> ) </td>
|
|
514
|
+
<td></td>
|
|
515
|
+
</tr>
|
|
516
|
+
</table>
|
|
517
|
+
</div>
|
|
518
|
+
<div class="memdoc">
|
|
519
|
+
|
|
520
|
+
<p>
|
|
521
|
+
Free a linkhash table. If a callback free function is provided then it is called for all entries in the table. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
522
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
523
|
+
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>table to free. </td></tr>
|
|
524
|
+
</table>
|
|
525
|
+
</dl>
|
|
526
|
+
|
|
527
|
+
</div>
|
|
528
|
+
</div><p>
|
|
529
|
+
<a class="anchor" name="b6e6c0febd5004225ab696885add39d7"></a><!-- doxytag: member="linkhash.h::lh_table_insert" ref="b6e6c0febd5004225ab696885add39d7" args="(struct lh_table *t, void *k, void *v)" -->
|
|
530
|
+
<div class="memitem">
|
|
531
|
+
<div class="memproto">
|
|
532
|
+
<table class="memname">
|
|
533
|
+
<tr>
|
|
534
|
+
<td class="memname">int lh_table_insert </td>
|
|
535
|
+
<td>(</td>
|
|
536
|
+
<td class="paramtype">struct <a class="el" href="structlh__table.html">lh_table</a> * </td>
|
|
537
|
+
<td class="paramname"> <em>t</em>, </td>
|
|
538
|
+
</tr>
|
|
539
|
+
<tr>
|
|
540
|
+
<td class="paramkey"></td>
|
|
541
|
+
<td></td>
|
|
542
|
+
<td class="paramtype">void * </td>
|
|
543
|
+
<td class="paramname"> <em>k</em>, </td>
|
|
544
|
+
</tr>
|
|
545
|
+
<tr>
|
|
546
|
+
<td class="paramkey"></td>
|
|
547
|
+
<td></td>
|
|
548
|
+
<td class="paramtype">void * </td>
|
|
549
|
+
<td class="paramname"> <em>v</em></td><td> </td>
|
|
550
|
+
</tr>
|
|
551
|
+
<tr>
|
|
552
|
+
<td></td>
|
|
553
|
+
<td>)</td>
|
|
554
|
+
<td></td><td></td><td></td>
|
|
555
|
+
</tr>
|
|
556
|
+
</table>
|
|
557
|
+
</div>
|
|
558
|
+
<div class="memdoc">
|
|
559
|
+
|
|
560
|
+
<p>
|
|
561
|
+
Insert a record into the table. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
562
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
563
|
+
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the table to insert into. </td></tr>
|
|
564
|
+
<tr><td valign="top"></td><td valign="top"><em>k</em> </td><td>a pointer to the key to insert. </td></tr>
|
|
565
|
+
<tr><td valign="top"></td><td valign="top"><em>v</em> </td><td>a pointer to the value to insert. </td></tr>
|
|
566
|
+
</table>
|
|
567
|
+
</dl>
|
|
568
|
+
|
|
569
|
+
</div>
|
|
570
|
+
</div><p>
|
|
571
|
+
<a class="anchor" name="3d515bc4f83f7888148e74c059b9fdb0"></a><!-- doxytag: member="linkhash.h::lh_table_lookup" ref="3d515bc4f83f7888148e74c059b9fdb0" args="(struct lh_table *t, void *k)" -->
|
|
572
|
+
<div class="memitem">
|
|
573
|
+
<div class="memproto">
|
|
574
|
+
<table class="memname">
|
|
575
|
+
<tr>
|
|
576
|
+
<td class="memname">void* lh_table_lookup </td>
|
|
577
|
+
<td>(</td>
|
|
578
|
+
<td class="paramtype">struct <a class="el" href="structlh__table.html">lh_table</a> * </td>
|
|
579
|
+
<td class="paramname"> <em>t</em>, </td>
|
|
580
|
+
</tr>
|
|
581
|
+
<tr>
|
|
582
|
+
<td class="paramkey"></td>
|
|
583
|
+
<td></td>
|
|
584
|
+
<td class="paramtype">void * </td>
|
|
585
|
+
<td class="paramname"> <em>k</em></td><td> </td>
|
|
586
|
+
</tr>
|
|
587
|
+
<tr>
|
|
588
|
+
<td></td>
|
|
589
|
+
<td>)</td>
|
|
590
|
+
<td></td><td></td><td></td>
|
|
591
|
+
</tr>
|
|
592
|
+
</table>
|
|
593
|
+
</div>
|
|
594
|
+
<div class="memdoc">
|
|
595
|
+
|
|
596
|
+
<p>
|
|
597
|
+
Lookup a record into the table <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
598
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
599
|
+
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the table to lookup </td></tr>
|
|
600
|
+
<tr><td valign="top"></td><td valign="top"><em>k</em> </td><td>a pointer to the key to lookup </td></tr>
|
|
601
|
+
</table>
|
|
602
|
+
</dl>
|
|
603
|
+
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the found value or NULL if it does not exist. </dd></dl>
|
|
604
|
+
|
|
605
|
+
</div>
|
|
606
|
+
</div><p>
|
|
607
|
+
<a class="anchor" name="e4d3bc64c3ef197f41fd0cfe69bcd7d3"></a><!-- doxytag: member="linkhash.h::lh_table_lookup_entry" ref="e4d3bc64c3ef197f41fd0cfe69bcd7d3" args="(struct lh_table *t, void *k)" -->
|
|
608
|
+
<div class="memitem">
|
|
609
|
+
<div class="memproto">
|
|
610
|
+
<table class="memname">
|
|
611
|
+
<tr>
|
|
612
|
+
<td class="memname">struct <a class="el" href="structlh__entry.html">lh_entry</a>* lh_table_lookup_entry </td>
|
|
613
|
+
<td>(</td>
|
|
614
|
+
<td class="paramtype">struct <a class="el" href="structlh__table.html">lh_table</a> * </td>
|
|
615
|
+
<td class="paramname"> <em>t</em>, </td>
|
|
616
|
+
</tr>
|
|
617
|
+
<tr>
|
|
618
|
+
<td class="paramkey"></td>
|
|
619
|
+
<td></td>
|
|
620
|
+
<td class="paramtype">void * </td>
|
|
621
|
+
<td class="paramname"> <em>k</em></td><td> </td>
|
|
622
|
+
</tr>
|
|
623
|
+
<tr>
|
|
624
|
+
<td></td>
|
|
625
|
+
<td>)</td>
|
|
626
|
+
<td></td><td></td><td><code> [read]</code></td>
|
|
627
|
+
</tr>
|
|
628
|
+
</table>
|
|
629
|
+
</div>
|
|
630
|
+
<div class="memdoc">
|
|
631
|
+
|
|
632
|
+
<p>
|
|
633
|
+
Lookup a record into the table. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
634
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
635
|
+
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the table to lookup </td></tr>
|
|
636
|
+
<tr><td valign="top"></td><td valign="top"><em>k</em> </td><td>a pointer to the key to lookup </td></tr>
|
|
637
|
+
</table>
|
|
638
|
+
</dl>
|
|
639
|
+
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the record structure of the value or NULL if it does not exist. </dd></dl>
|
|
640
|
+
|
|
641
|
+
</div>
|
|
642
|
+
</div><p>
|
|
643
|
+
<a class="anchor" name="0f78fd4bdf3c9d38c6aec5ee67398735"></a><!-- doxytag: member="linkhash.h::lh_table_new" ref="0f78fd4bdf3c9d38c6aec5ee67398735" args="(int size, char *name, lh_entry_free_fn *free_fn, lh_hash_fn *hash_fn, lh_equal_fn *equal_fn)" -->
|
|
644
|
+
<div class="memitem">
|
|
645
|
+
<div class="memproto">
|
|
646
|
+
<table class="memname">
|
|
647
|
+
<tr>
|
|
648
|
+
<td class="memname">struct <a class="el" href="structlh__table.html">lh_table</a>* lh_table_new </td>
|
|
649
|
+
<td>(</td>
|
|
650
|
+
<td class="paramtype">int </td>
|
|
651
|
+
<td class="paramname"> <em>size</em>, </td>
|
|
652
|
+
</tr>
|
|
653
|
+
<tr>
|
|
654
|
+
<td class="paramkey"></td>
|
|
655
|
+
<td></td>
|
|
656
|
+
<td class="paramtype">char * </td>
|
|
657
|
+
<td class="paramname"> <em>name</em>, </td>
|
|
658
|
+
</tr>
|
|
659
|
+
<tr>
|
|
660
|
+
<td class="paramkey"></td>
|
|
661
|
+
<td></td>
|
|
662
|
+
<td class="paramtype"><a class="el" href="linkhash_8h.html#671553d0ee3c2a123190ba0f8ed2b635">lh_entry_free_fn</a> * </td>
|
|
663
|
+
<td class="paramname"> <em>free_fn</em>, </td>
|
|
664
|
+
</tr>
|
|
665
|
+
<tr>
|
|
666
|
+
<td class="paramkey"></td>
|
|
667
|
+
<td></td>
|
|
668
|
+
<td class="paramtype"><a class="el" href="linkhash_8h.html#c98c7f2da501dac5d4c2c82a54766adf">lh_hash_fn</a> * </td>
|
|
669
|
+
<td class="paramname"> <em>hash_fn</em>, </td>
|
|
670
|
+
</tr>
|
|
671
|
+
<tr>
|
|
672
|
+
<td class="paramkey"></td>
|
|
673
|
+
<td></td>
|
|
674
|
+
<td class="paramtype"><a class="el" href="linkhash_8h.html#eb87d0816391f41e24503e03d3388ee7">lh_equal_fn</a> * </td>
|
|
675
|
+
<td class="paramname"> <em>equal_fn</em></td><td> </td>
|
|
676
|
+
</tr>
|
|
677
|
+
<tr>
|
|
678
|
+
<td></td>
|
|
679
|
+
<td>)</td>
|
|
680
|
+
<td></td><td></td><td><code> [read]</code></td>
|
|
681
|
+
</tr>
|
|
682
|
+
</table>
|
|
683
|
+
</div>
|
|
684
|
+
<div class="memdoc">
|
|
685
|
+
|
|
686
|
+
<p>
|
|
687
|
+
Create a new linkhash table. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
688
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
|
689
|
+
<tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>initial table size. The table is automatically resized although this incurs a performance penalty. </td></tr>
|
|
690
|
+
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>the table name. </td></tr>
|
|
691
|
+
<tr><td valign="top"></td><td valign="top"><em>free_fn</em> </td><td>callback function used to free memory for entries when lh_table_free or lh_table_delete is called. If NULL is provided, then memory for keys and values must be freed by the caller. </td></tr>
|
|
692
|
+
<tr><td valign="top"></td><td valign="top"><em>hash_fn</em> </td><td>function used to hash keys. 2 standard ones are defined: lh_ptr_hash and lh_char_hash for hashing pointer values and C strings respectively. </td></tr>
|
|
693
|
+
<tr><td valign="top"></td><td valign="top"><em>equal_fn</em> </td><td>comparison function to compare keys. 2 standard ones defined: lh_ptr_hash and lh_char_hash for comparing pointer values and C strings respectively. </td></tr>
|
|
694
|
+
</table>
|
|
695
|
+
</dl>
|
|
696
|
+
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer onto the linkhash table. </dd></dl>
|
|
697
|
+
|
|
698
|
+
</div>
|
|
699
|
+
</div><p>
|
|
700
|
+
<a class="anchor" name="5322eccf3394af7dc1ebb22af8f8c562"></a><!-- doxytag: member="linkhash.h::lh_table_resize" ref="5322eccf3394af7dc1ebb22af8f8c562" args="(struct lh_table *t, int new_size)" -->
|
|
701
|
+
<div class="memitem">
|
|
702
|
+
<div class="memproto">
|
|
703
|
+
<table class="memname">
|
|
704
|
+
<tr>
|
|
705
|
+
<td class="memname">void lh_table_resize </td>
|
|
706
|
+
<td>(</td>
|
|
707
|
+
<td class="paramtype">struct <a class="el" href="structlh__table.html">lh_table</a> * </td>
|
|
708
|
+
<td class="paramname"> <em>t</em>, </td>
|
|
709
|
+
</tr>
|
|
710
|
+
<tr>
|
|
711
|
+
<td class="paramkey"></td>
|
|
712
|
+
<td></td>
|
|
713
|
+
<td class="paramtype">int </td>
|
|
714
|
+
<td class="paramname"> <em>new_size</em></td><td> </td>
|
|
715
|
+
</tr>
|
|
716
|
+
<tr>
|
|
717
|
+
<td></td>
|
|
718
|
+
<td>)</td>
|
|
719
|
+
<td></td><td></td><td></td>
|
|
720
|
+
</tr>
|
|
721
|
+
</table>
|
|
722
|
+
</div>
|
|
723
|
+
<div class="memdoc">
|
|
724
|
+
|
|
725
|
+
<p>
|
|
726
|
+
|
|
727
|
+
</div>
|
|
728
|
+
</div><p>
|
|
729
|
+
</div>
|
|
730
|
+
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jan 5 15:01:30 2009 for json-c by
|
|
731
|
+
<a href="http://www.doxygen.org/index.html">
|
|
732
|
+
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
|
733
|
+
</body>
|
|
734
|
+
</html>
|