diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-04-20 11:36:16 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-04-20 11:36:16 +0000 |
commit | d359286841fb9221400bcc64bf8bbcc88e3127fd (patch) | |
tree | 7ed0620519b78e1ad0b8f6a83d488e1dd856bb3f /reassemble.h | |
parent | 4af58d8967aecdaea73d618ea7d6310183e6ffd2 (diff) | |
download | wireshark-d359286841fb9221400bcc64bf8bbcc88e3127fd.tar.gz wireshark-d359286841fb9221400bcc64bf8bbcc88e3127fd.tar.bz2 wireshark-d359286841fb9221400bcc64bf8bbcc88e3127fd.zip |
Add a pointer to an hf_ value for a "reassembled_in" field (which can be
null) to the "fragment_items" structure, and don't pass that value into
"process_reassembled_data()", just have it use the value in the
"fragment_items" structure passed to it.
Make "process_reassembled_data()" capable of handling reassembly done by
"fragment_add_seq_check()", and use it in the ATP and 802.11 dissectors;
give them "reassembled_in" fields. Make "process_reassembled_data()"
handle only the case of a completed reassembly (fd_head != NULL) so that
we can use it in those dissectors without gunking the code up too much.
svn path=/trunk/; revision=7513
Diffstat (limited to 'reassemble.h')
-rw-r--r-- | reassemble.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/reassemble.h b/reassemble.h index 269c4087d0..1e3781ceb5 100644 --- a/reassemble.h +++ b/reassemble.h @@ -1,7 +1,7 @@ /* reassemble.h * Declarations of outines for {fragment,segment} reassembly * - * $Id: reassemble.h,v 1.17 2003/04/20 08:06:01 guy Exp $ + * $Id: reassemble.h,v 1.18 2003/04/20 11:36:16 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -194,14 +194,16 @@ fragment_delete(packet_info *pinfo, guint32 id, GHashTable *fragment_table); /* * This function adds fragment_data structure to a reassembled-packet - * hash table, using the frame data structure as the key. + * hash table, using the frame numbers of each of the frames from + * which it was reassembled as keys, and sets the "reassembled_in" + * frame number. */ extern void fragment_reassembled(fragment_data *fd_head, packet_info *pinfo, GHashTable *reassembled_table); -/* hf_fragment and hf_fragment_error should be FT_FRAMENUM, - the others should be FT_BOOLEAN +/* hf_fragment, hf_fragment_error, and hf_reassembled_in should be + FT_FRAMENUM, the others should be FT_BOOLEAN */ typedef struct _fragment_items { gint *ett_fragment; @@ -214,14 +216,15 @@ typedef struct _fragment_items { int *hf_fragment_multiple_tails; int *hf_fragment_too_long_fragment; int *hf_fragment_error; + int *hf_reassembled_in; char *tag; } fragment_items; extern tvbuff_t * process_reassembled_data(tvbuff_t *tvb, packet_info *pinfo, char *name, - fragment_data *fd_head, const fragment_items *frag_items, - int hf_reassembled_in, gboolean *update_col_infop, proto_tree *tree); + fragment_data *fd_head, const fragment_items *fit, + gboolean *update_col_infop, proto_tree *tree); extern gboolean show_fragment_tree(fragment_data *ipfd_head, const fragment_items *fit, |