diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/wmem_scopes.h | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/wmem_scopes.h')
-rw-r--r-- | epan/wmem_scopes.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/epan/wmem_scopes.h b/epan/wmem_scopes.h new file mode 100644 index 00000000..fdeb0db0 --- /dev/null +++ b/epan/wmem_scopes.h @@ -0,0 +1,93 @@ +/** @file + * Definitions for the Wireshark Memory Manager Scopes + * Copyright 2012, Evan Huus <eapache@gmail.com> + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __WMEM_SCOPES_H__ +#define __WMEM_SCOPES_H__ + +#include <wsutil/wmem/wmem.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * @brief Fetch the current epan scope. + * + * Allocated memory is freed when wmem_leave_epan_scope() is called, which is normally at program exit. + */ +WS_DLL_PUBLIC +wmem_allocator_t * +wmem_epan_scope(void); + +/** + * @brief Fetch the current packet scope. + * + * Allocated memory is freed when wmem_leave_packet_scope() is called, which is normally at the end of packet dissection. + * N.B. Please use pinfo->pool in new code when possible. See + * <https://www.wireshark.org/lists/wireshark-dev/202107/msg00052.html> + */ +WS_DLL_PUBLIC +wmem_allocator_t * +wmem_packet_scope(void); + +WS_DLL_LOCAL +void +wmem_enter_packet_scope(void); + +WS_DLL_LOCAL +void +wmem_leave_packet_scope(void); + +/** + * @brief Fetch the current file scope. + * + * Allocated memory is freed when wmem_leave_file_scope() is called, which is normally when a capture file is closed. + */ +WS_DLL_PUBLIC +wmem_allocator_t * +wmem_file_scope(void); + +WS_DLL_LOCAL +void +wmem_enter_file_scope(void); + +WS_DLL_LOCAL +void +wmem_leave_file_scope(void); + +/* Scope Management */ + +WS_DLL_PUBLIC +void +wmem_init_scopes(void); + +WS_DLL_PUBLIC +void +wmem_cleanup_scopes(void); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __WMEM_SCOPES_H__ */ + +/* + * Editor modelines - https://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ |