18 #include "ws_symbol_export.h" 21 #define FD_DEFRAGMENTED 0x0001 24 #define FD_OVERLAP 0x0002 27 #define FD_OVERLAPCONFLICT 0x0004 30 #define FD_MULTIPLETAILS 0x0008 34 #define FD_TOOLONGFRAGMENT 0x0010 37 #define FD_SUBSET_TVB 0x0020 40 #define FD_PARTIAL_REASSEMBLY 0x0040 44 #define FD_BLOCKSEQUENCE 0x0100 50 #define FD_DATALEN_SET 0x0400 95 #define REASSEMBLE_FLAGS_NO_FRAG_NUMBER 0x0001 98 #define REASSEMBLE_FLAGS_802_11_HACK 0x0002 105 #define REASSEMBLE_FLAGS_AGING 0x0001 114 typedef gpointer (*fragment_temporary_key)(
const packet_info *pinfo,
115 const guint32 id,
const void *data);
121 typedef gpointer (*fragment_persistent_key)(
const packet_info *pinfo,
122 const guint32 id,
const void *data);
128 GHashTable *fragment_table;
129 GHashTable *reassembled_table;
130 fragment_temporary_key temporary_key_func;
131 fragment_persistent_key persistent_key_func;
132 GDestroyNotify free_temporary_key_func;
141 GEqualFunc equal_func;
142 fragment_temporary_key temporary_key_func;
143 fragment_persistent_key persistent_key_func;
144 GDestroyNotify free_temporary_key_func;
145 GDestroyNotify free_persistent_key_func;
153 addresses_reassembly_table_functions;
155 addresses_ports_reassembly_table_functions;
197 WS_DLL_PUBLIC fragment_head *
199 const packet_info *pinfo,
const guint32
id,
const void *data,
200 const guint32 frag_offset,
const guint32 frag_data_len,
201 const gboolean more_frags);
207 WS_DLL_PUBLIC fragment_head *
210 const guint32
id,
const void *data,
211 const guint32 frag_offset,
212 const guint32 frag_data_len,
213 const gboolean more_frags);
229 WS_DLL_PUBLIC fragment_head *
232 const void *data,
const guint32 frag_offset,
233 const guint32 frag_data_len,
const gboolean more_frags);
260 WS_DLL_PUBLIC fragment_head *
262 const packet_info *pinfo,
const guint32
id,
const void *data,
263 const guint32 frag_number,
const guint32 frag_data_len,
264 const gboolean more_frags,
const guint32
flags);
270 WS_DLL_PUBLIC fragment_head *
274 const guint32 frag_number,
const guint32 frag_data_len,
275 const gboolean more_frags);
282 WS_DLL_PUBLIC fragment_head *
285 const guint32
id,
const void *data,
286 const guint32 frag_number,
const guint32 frag_data_len,
287 const gboolean more_frags);
293 WS_DLL_PUBLIC fragment_head *
296 const void *data,
const guint32 frag_data_len,
297 const gboolean more_frags);
309 WS_DLL_PUBLIC fragment_head *
311 const int offset,
const packet_info *pinfo,
const guint32
id,
312 const void* data,
const guint32 frag_data_len,
313 const gboolean first,
const gboolean last,
314 const guint32 max_frags);
321 WS_DLL_PUBLIC fragment_head *
323 const int offset,
const packet_info *pinfo,
const guint32
id,
324 const void* data,
const guint32 frag_data_len,
325 const gboolean first,
const gboolean last,
326 const guint32 max_frags,
const guint32 max_age);
334 const guint32
id,
const void *data,
335 const guint32 tot_len);
343 WS_DLL_PUBLIC fragment_head *
345 const guint32
id,
const void *data);
352 const void *data,
const guint32 fragment_offset);
365 const guint32
id,
const void *data,
const guint32 tot_len);
371 WS_DLL_PUBLIC guint32
373 const guint32
id,
const void *data);
391 WS_DLL_PUBLIC fragment_head *
393 const guint32
id,
const void *data);
397 WS_DLL_PUBLIC fragment_head *
400 WS_DLL_PUBLIC fragment_head *
413 const guint32
id,
const void *data);
427 int *hf_fragment_overlap;
428 int *hf_fragment_overlap_conflict;
429 int *hf_fragment_multiple_tails;
430 int *hf_fragment_too_long_fragment;
431 int *hf_fragment_error;
432 int *hf_fragment_count;
433 int *hf_reassembled_in;
434 int *hf_reassembled_length;
435 int *hf_reassembled_data;
442 const char *name, fragment_head *fd_head,
const fragment_items *fit,
443 gboolean *update_col_infop,
proto_tree *tree);
445 WS_DLL_PUBLIC gboolean
446 show_fragment_tree(fragment_head *ipfd_head,
const fragment_items *fit,
449 WS_DLL_PUBLIC gboolean
450 show_fragment_seq_tree(fragment_head *ipfd_head,
const fragment_items *fit,
455 extern void reassembly_tables_init(
void);
460 reassembly_table_cleanup(
void);
Definition: reassemble.h:421
Definition: packet_info.h:44
Definition: reassemble.h:127
Definition: tvbuff-int.h:35
guint32 flags
Definition: reassemble.h:73
Definition: reassemble.h:138
guint32 reassembled_in
Definition: reassemble.h:67
const char * error
Definition: reassemble.h:85
Definition: reassemble.h:52
guint32 fragment_nr_offset
Definition: reassemble.h:57
guint8 reas_in_layer_num
Definition: reassemble.h:70
guint32 datalen
Definition: reassemble.h:61