Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
wmem_list.h
Go to the documentation of this file.
1
12#ifndef __WMEM_LIST_H__
13#define __WMEM_LIST_H__
14
15#include <string.h>
16#include <glib.h>
17
18#include "wmem_core.h"
19
20#ifdef __cplusplus
21extern "C" {
22#endif /* __cplusplus */
23
33struct _wmem_list_t;
35
43
51
61WS_DLL_PUBLIC
62unsigned
63wmem_list_count(const wmem_list_t *list);
64
75WS_DLL_PUBLIC
77wmem_list_head(const wmem_list_t *list);
78
90WS_DLL_PUBLIC
92wmem_list_tail(const wmem_list_t *list);
93
105WS_DLL_PUBLIC
108
120WS_DLL_PUBLIC
123
135WS_DLL_PUBLIC
136void *
138
150WS_DLL_PUBLIC
151void
152wmem_list_remove(wmem_list_t *list, void *data);
153
166WS_DLL_PUBLIC
167void
169
181WS_DLL_PUBLIC
183wmem_list_find(const wmem_list_t *list, const void *data);
184
198WS_DLL_PUBLIC
200wmem_list_find_custom(const wmem_list_t *list, const void *data, GCompareFunc func);
201
214WS_DLL_PUBLIC
215void
216wmem_list_prepend(wmem_list_t *list, void *data);
217
229WS_DLL_PUBLIC
230void
231wmem_list_append(wmem_list_t *list, void *data);
232
248WS_DLL_PUBLIC
249void
250wmem_list_insert_sorted(wmem_list_t *list, void* data, GCompareFunc func);
251
268WS_DLL_PUBLIC
269void
270wmem_list_append_sorted(wmem_list_t *list, void* data, GCompareFunc func);
271
281WS_DLL_PUBLIC
284G_GNUC_MALLOC;
285
297WS_DLL_PUBLIC
298void
299wmem_list_foreach(const wmem_list_t *list, GFunc foreach_func, void * user_data);
300
309WS_DLL_PUBLIC
310void
312
316#ifdef __cplusplus
317}
318#endif /* __cplusplus */
319
320#endif /* __WMEM_LIST_H__ */
321
322/*
323 * Editor modelines - https://www.wireshark.org/tools/modelines.html
324 *
325 * Local variables:
326 * c-basic-offset: 4
327 * tab-width: 8
328 * indent-tabs-mode: nil
329 * End:
330 *
331 * vi: set shiftwidth=4 tabstop=8 expandtab:
332 * :indentSize=4:tabSize=8:noTabs=true:
333 */
WS_DLL_PUBLIC void wmem_list_foreach(const wmem_list_t *list, GFunc foreach_func, void *user_data)
Apply a function to each data element in a wmem list.
Definition wmem_list.c:303
WS_DLL_PUBLIC void wmem_list_insert_sorted(wmem_list_t *list, void *data, GCompareFunc func)
Insert a data element into a wmem list in sorted order.
Definition wmem_list.c:175
WS_DLL_PUBLIC void wmem_destroy_list(wmem_list_t *list)
Destroy a wmem list and release its internal resources.
Definition wmem_list.c:287
WS_DLL_PUBLIC wmem_list_frame_t * wmem_list_head(const wmem_list_t *list)
Retrieve the head (first frame) of a wmem list.
Definition wmem_list.c:36
WS_DLL_PUBLIC wmem_list_frame_t * wmem_list_find(const wmem_list_t *list, const void *data)
Find the first frame containing the specified data in a wmem list.
Definition wmem_list.c:105
WS_DLL_PUBLIC void wmem_list_remove(wmem_list_t *list, void *data)
Remove the first occurrence of a data element from a wmem list.
Definition wmem_list.c:66
WS_DLL_PUBLIC wmem_list_frame_t * wmem_list_frame_next(const wmem_list_frame_t *frame)
Retrieve the next frame in a wmem list.
Definition wmem_list.c:48
WS_DLL_PUBLIC wmem_list_frame_t * wmem_list_find_custom(const wmem_list_t *list, const void *data, GCompareFunc func)
Find a frame in a wmem list using a custom comparison function.
Definition wmem_list.c:118
WS_DLL_PUBLIC void wmem_list_append(wmem_list_t *list, void *data)
Appends a data element to the end of a wmem list.
Definition wmem_list.c:154
WS_DLL_PUBLIC wmem_list_frame_t * wmem_list_tail(const wmem_list_t *list)
Retrieve the tail (last frame) of a wmem list.
Definition wmem_list.c:42
WS_DLL_PUBLIC void wmem_list_prepend(wmem_list_t *list, void *data)
Prepend a data element to the beginning of a wmem list.
Definition wmem_list.c:132
WS_DLL_PUBLIC wmem_list_t * wmem_list_new(wmem_allocator_t *allocator) G_GNUC_MALLOC
Create a new wmem list using the specified memory allocator.
Definition wmem_list.c:272
WS_DLL_PUBLIC wmem_list_frame_t * wmem_list_frame_prev(const wmem_list_frame_t *frame)
Retrieve the previous frame in a wmem list.
Definition wmem_list.c:54
WS_DLL_PUBLIC void * wmem_list_frame_data(const wmem_list_frame_t *frame)
Retrieve the data stored in a list frame.
Definition wmem_list.c:60
WS_DLL_PUBLIC unsigned wmem_list_count(const wmem_list_t *list)
Count the number of elements in a wmem list.
Definition wmem_list.c:30
WS_DLL_PUBLIC void wmem_list_remove_frame(wmem_list_t *list, wmem_list_frame_t *frame)
Remove a specific frame from a wmem list.
Definition wmem_list.c:84
WS_DLL_PUBLIC void wmem_list_append_sorted(wmem_list_t *list, void *data, GCompareFunc func)
Insert a data element into a wmem list in sorted order, starting from the tail.
Definition wmem_list.c:222
Internal memory allocator interface used by the wmem subsystem.
Definition wmem_allocator.h:34
Definition wmem_list.c:18
Definition wmem_list.c:23