Wireshark  4.3.0
The Wireshark network protocol analyzer
wmem_multimap.h
Go to the documentation of this file.
1 
14 #ifndef __WMEM_MULTIMAP_H__
15 #define __WMEM_MULTIMAP_H__
16 
17 #include <glib.h>
18 
19 #include "wmem_core.h"
20 #include "wmem_list.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif /* __cplusplus */
25 
50 typedef struct _wmem_multimap_t wmem_multimap_t;
51 
61 WS_DLL_PUBLIC
64  GHashFunc hash_func, GEqualFunc eql_func)
65 G_GNUC_MALLOC;
66 
79 WS_DLL_PUBLIC
82  GHashFunc hash_func, GEqualFunc eql_func)
83 G_GNUC_MALLOC;
84 
91 WS_DLL_PUBLIC
94 
100 WS_DLL_PUBLIC
101 unsigned
103 
114 WS_DLL_PUBLIC
115 unsigned
116 wmem_multimap_count(wmem_multimap_t *map, const void *key);
117 
133 WS_DLL_PUBLIC
134 bool
135 wmem_multimap_insert32(wmem_multimap_t *map, const void *key, uint32_t frame_num, void *value);
136 
144 WS_DLL_PUBLIC
145 void *
146 wmem_multimap_lookup32(wmem_multimap_t *map, const void *key, const uint32_t frame_num);
147 
158 WS_DLL_PUBLIC
159 void *
160 wmem_multimap_lookup32_le(wmem_multimap_t *map, const void *key, const uint32_t frame_num);
161 
171 WS_DLL_PUBLIC
172 void *
173 wmem_multimap_remove32(wmem_multimap_t *map, const void *key, const uint32_t frame_num);
174 
178 #ifdef __cplusplus
179 }
180 #endif /* __cplusplus */
181 
182 #endif /* __WMEM_MULTIMAP_H__ */
183 
184 /*
185  * Editor modelines - https://www.wireshark.org/tools/modelines.html
186  *
187  * Local variables:
188  * c-basic-offset: 4
189  * tab-width: 8
190  * indent-tabs-mode: nil
191  * End:
192  *
193  * vi: set shiftwidth=4 tabstop=8 expandtab:
194  * :indentSize=4:tabSize=8:noTabs=true:
195  */
WS_DLL_PUBLIC unsigned wmem_multimap_count(wmem_multimap_t *map, const void *key)
Definition: wmem_multimap.c:115
WS_DLL_PUBLIC unsigned wmem_multimap_size(wmem_multimap_t *map)
Definition: wmem_multimap.c:106
WS_DLL_PUBLIC bool wmem_multimap_insert32(wmem_multimap_t *map, const void *key, uint32_t frame_num, void *value)
Definition: wmem_multimap.c:126
WS_DLL_PUBLIC void * wmem_multimap_lookup32(wmem_multimap_t *map, const void *key, const uint32_t frame_num)
Definition: wmem_multimap.c:142
WS_DLL_PUBLIC wmem_multimap_t * wmem_multimap_new(wmem_allocator_t *allocator, GHashFunc hash_func, GEqualFunc eql_func) G_GNUC_MALLOC
Definition: wmem_multimap.c:35
WS_DLL_PUBLIC wmem_multimap_t * wmem_multimap_new_autoreset(wmem_allocator_t *metadata_scope, wmem_allocator_t *data_scope, GHashFunc hash_func, GEqualFunc eql_func) G_GNUC_MALLOC
Definition: wmem_multimap.c:75
WS_DLL_PUBLIC void * wmem_multimap_lookup32_le(wmem_multimap_t *map, const void *key, const uint32_t frame_num)
Definition: wmem_multimap.c:153
WS_DLL_PUBLIC void * wmem_multimap_remove32(wmem_multimap_t *map, const void *key, const uint32_t frame_num)
Definition: wmem_multimap.c:164
WS_DLL_PUBLIC wmem_list_t * wmem_multimap_get_keys(wmem_allocator_t *list_allocator, wmem_multimap_t *map)
Definition: wmem_multimap.c:93
Definition: wmem_allocator.h:27
Definition: wmem_list.c:23
Definition: wmem_multimap.c:23