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
36typedef struct _wmem_list_t wmem_list_t;
38
48WS_DLL_PUBLIC
49unsigned
50wmem_list_count(const wmem_list_t *list);
51
62WS_DLL_PUBLIC
64wmem_list_head(const wmem_list_t *list);
65
77WS_DLL_PUBLIC
79wmem_list_tail(const wmem_list_t *list);
80
92WS_DLL_PUBLIC
95
107WS_DLL_PUBLIC
110
122WS_DLL_PUBLIC
123void *
125
137WS_DLL_PUBLIC
138void
139wmem_list_remove(wmem_list_t *list, void *data);
140
153WS_DLL_PUBLIC
154void
156
168WS_DLL_PUBLIC
170wmem_list_find(const wmem_list_t *list, const void *data);
171
185WS_DLL_PUBLIC
187wmem_list_find_custom(const wmem_list_t *list, const void *data, GCompareFunc func);
188
201WS_DLL_PUBLIC
202void
203wmem_list_prepend(wmem_list_t *list, void *data);
204
216WS_DLL_PUBLIC
217void
218wmem_list_append(wmem_list_t *list, void *data);
219
235WS_DLL_PUBLIC
236void
237wmem_list_insert_sorted(wmem_list_t *list, void* data, GCompareFunc func);
238
255WS_DLL_PUBLIC
256void
257wmem_list_append_sorted(wmem_list_t *list, void* data, GCompareFunc func);
258
268WS_DLL_PUBLIC
271G_GNUC_MALLOC;
272
284WS_DLL_PUBLIC
285void
286wmem_list_foreach(const wmem_list_t *list, GFunc foreach_func, void * user_data);
287
296WS_DLL_PUBLIC
297void
299
303#ifdef __cplusplus
304}
305#endif /* __cplusplus */
306
307#endif /* __WMEM_LIST_H__ */
308
309/*
310 * Editor modelines - https://www.wireshark.org/tools/modelines.html
311 *
312 * Local variables:
313 * c-basic-offset: 4
314 * tab-width: 8
315 * indent-tabs-mode: nil
316 * End:
317 *
318 * vi: set shiftwidth=4 tabstop=8 expandtab:
319 * :indentSize=4:tabSize=8:noTabs=true:
320 */
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
Definition wmem_allocator.h:27
Definition wmem_list.c:18
Definition wmem_list.c:23