Wireshark  4.3.0
The Wireshark network protocol analyzer
next_tvb.h
Go to the documentation of this file.
1 
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.
16  */
17 
18 #ifndef __NEXT_TVB_H__
19 #define __NEXT_TVB_H__
20 
21 #include "ws_symbol_export.h"
22 
23 typedef enum {
24  NTVB_HANDLE,
25  NTVB_UINT,
26  NTVB_STRING
27 } next_tvb_call_e;
28 
29 /* For old code that hasn't yet been changed. */
30 #define NTVB_PORT NTVB_UINT
31 
32 typedef struct next_tvb_item {
33  struct next_tvb_item *next;
34  struct next_tvb_item *previous;
35  next_tvb_call_e type;
36  dissector_handle_t handle;
37  dissector_table_t table;
38  guint32 uint_val;
39  const gchar *string;
40  tvbuff_t *tvb;
41  proto_tree *tree;
43 
44 typedef struct {
45  next_tvb_item_t *first;
46  next_tvb_item_t *last;
47  wmem_allocator_t *pool;
48  int count;
50 
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, guint32 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 gchar *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);
56 
57 #endif /* __NEXT_TVB_H__ */
Definition: packet_info.h:44
Definition: proto.h:904
Definition: wmem_allocator.h:27
Definition: packet.c:763
Definition: packet.c:86
Definition: next_tvb.h:32
Definition: next_tvb.h:44
Definition: tvbuff-int.h:35