2 * Definitions for "next tvb" list
4 * Wireshark - Network traffic analyzer
5 * By Gerald Combs <gerald@wireshark.org>
6 * Copyright 1998 Gerald Combs
8 * SPDX-License-Identifier: GPL-2.0-or-later
10 /* The buffers returned by these functions are all allocated with a
11 * packet lifetime or are static buffers and does not have to be freed.
12 * However, take into account that when the packet dissection
13 * completes, these buffers will be automatically reclaimed/freed.
14 * If you need the buffer to remain for a longer scope than packet lifetime
15 * you must copy the content to an wmem_file_scope() buffer.
18 #ifndef __NEXT_TVB_H__
19 #define __NEXT_TVB_H__
21 #include "ws_symbol_export.h"
29 /* For old code that hasn't yet been changed. */
30 #define NTVB_PORT NTVB_UINT
32 typedef struct next_tvb_item
{
33 struct next_tvb_item
*next
;
34 struct next_tvb_item
*previous
;
36 dissector_handle_t handle
;
37 dissector_table_t table
;
45 next_tvb_item_t
*first
;
46 next_tvb_item_t
*last
;
47 wmem_allocator_t
*pool
;
51 WS_DLL_PUBLIC next_tvb_list_t
* next_tvb_list_new(wmem_allocator_t
*pool
);
52 WS_DLL_PUBLIC
void next_tvb_add_handle(next_tvb_list_t
*list
, tvbuff_t
*tvb
, proto_tree
*tree
, dissector_handle_t handle
);
53 WS_DLL_PUBLIC
void next_tvb_add_uint(next_tvb_list_t
*list
, tvbuff_t
*tvb
, proto_tree
*tree
, dissector_table_t table
, uint32_t uint_val
);
54 WS_DLL_PUBLIC
void next_tvb_add_string(next_tvb_list_t
*list
, tvbuff_t
*tvb
, proto_tree
*tree
, dissector_table_t table
, const char *string
);
55 WS_DLL_PUBLIC
void next_tvb_call(next_tvb_list_t
*list
, packet_info
*pinfo
, proto_tree
*tree
, dissector_handle_t handle
, dissector_handle_t data_handle
);
57 #endif /* __NEXT_TVB_H__ */