aboutsummaryrefslogtreecommitdiffstats
path: root/reassemble.h
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2002-02-03 23:28:38 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2002-02-03 23:28:38 +0000
commit0f2e7e0f19929c31cd735e5e7e40f46e64b6e6b3 (patch)
tree7f45504021710e00966a9304ade9cd4b0c07ed21 /reassemble.h
parentd04f1e9982b12cea60babedc1d72ea726f447b04 (diff)
From Ricardo Barroetave�a: support dissectors that are handed
reassembled TCP data being able to indicate that they need still more reassembly, so that, for example, a dissector can indicate that it needs reassembly in order to dissect a header that says how long the PDU is and, when that reassembly is done and it dissects the header, it can then indicate that it needs more reassembly to get the entire PDU. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4694 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'reassemble.h')
-rw-r--r--reassemble.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/reassemble.h b/reassemble.h
index cdfd15b07c..15f95195e9 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.3 2001/12/15 05:40:32 guy Exp $
+ * $Id: reassemble.h,v 1.4 2002/02/03 23:28:38 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -41,6 +41,12 @@
/* fragment contains data past the end of the datagram */
#define FD_TOOLONGFRAGMENT 0x0010
+/* fragment data not alloced, fd->data pointing to fd_head->data+fd->offset */
+#define FD_NOT_MALLOCED 0x0020
+
+/* this flag is used to request fragment_add to continue the reassembly process */
+#define FD_PARTIAL_REASSEMBLY 0x0040
+
/* fragment offset is indicated by sequence number and not byte offset
into the defragmented packet */
#define FD_BLOCKSEQUENCE 0x0100
@@ -96,6 +102,16 @@ fragment_data *fragment_add_seq(tvbuff_t *tvb, int offset, packet_info *pinfo,
void
fragment_set_tot_len(packet_info *pinfo, guint32 id, GHashTable *fragment_table,
guint32 tot_len);
+/*
+ * This function will set the partial reassembly flag(FD_PARTIAL_REASSEMBLY) for a fh.
+ * When this function is called, the fh MUST already exist, i.e.
+ * the fh MUST be created by the initial call to fragment_add() before
+ * this function is called. Also note that this function MUST be called to indicate
+ * a fh will be extended (increase the already stored data). After calling this function,
+ * and if FD_DEFRAGMENTED is set, the reassembly process will be continued.
+ */
+void
+fragment_set_partial_reassembly(packet_info *pinfo, guint32 id, GHashTable *fragment_table);
/* This function is used to check if there is partial or completed reassembly state
* matching this packet. I.e. Are there reassembly going on or not for this packet?