Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
wmem_queue.h
1 /* wmem_queue.h
2  * Definitions for the Wireshark Memory Manager Queue
3  * Copyright 2013, Evan Huus <eapache@gmail.com>
4  *
5  * Wireshark - Network traffic analyzer
6  * By Gerald Combs <gerald@wireshark.org>
7  * Copyright 1998 Gerald Combs
8  *
9  * SPDX-License-Identifier: GPL-2.0-or-later
10  */
11 
12 #ifndef __WMEM_QUEUE_H__
13 #define __WMEM_QUEUE_H__
14 
15 #include <string.h>
16 #include <glib.h>
17 
18 #include "wmem_core.h"
19 #include "wmem_list.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif /* __cplusplus */
24 
34 /* Wmem queue is implemented as a dumb wrapper over Wmem list and stack */
36 
37 #define wmem_queue_count(X) wmem_list_count(X)
38 
39 #define wmem_queue_peek(QUEUE) wmem_stack_peek(QUEUE)
40 
41 #define wmem_queue_pop(QUEUE) wmem_stack_pop(QUEUE)
42 
43 #define wmem_queue_push(QUEUE, DATA) wmem_list_append((QUEUE), (DATA))
44 
45 #define wmem_queue_new(ALLOCATOR) wmem_list_new(ALLOCATOR)
46 
47 #define wmem_destroy_queue(QUEUE) wmem_destroy_list(QUEUE)
48 
52 #ifdef __cplusplus
53 }
54 #endif /* __cplusplus */
55 
56 #endif /* __WMEM_QUEUE_H__ */
57 
58 /*
59  * Editor modelines - http://www.wireshark.org/tools/modelines.html
60  *
61  * Local variables:
62  * c-basic-offset: 4
63  * tab-width: 8
64  * indent-tabs-mode: nil
65  * End:
66  *
67  * vi: set shiftwidth=4 tabstop=8 expandtab:
68  * :indentSize=4:tabSize=8:noTabs=true:
69  */
Definition: wmem_list.c:23