aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-sctp.h
diff options
context:
space:
mode:
authorMichael Tüxen <tuexen@fh-muenster.de>2007-02-09 16:38:57 +0000
committerMichael Tüxen <tuexen@fh-muenster.de>2007-02-09 16:38:57 +0000
commitf20299ba4bb7805f600c544226112a38f030034e (patch)
treeb0382add700c9a7ff3307c14bca92c1ebcc5102f /epan/dissectors/packet-sctp.h
parent2532bc2a1a2130b1960084b74046fc15968770a5 (diff)
Add support for SCTP reassembly from Robin Seggelmann.
You must enable this feature via Edit/Preferences/Protocols/SCTP svn path=/trunk/; revision=20756
Diffstat (limited to 'epan/dissectors/packet-sctp.h')
-rw-r--r--epan/dissectors/packet-sctp.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/epan/dissectors/packet-sctp.h b/epan/dissectors/packet-sctp.h
index 29927801a8..9cb08f1c8f 100644
--- a/epan/dissectors/packet-sctp.h
+++ b/epan/dissectors/packet-sctp.h
@@ -37,7 +37,6 @@ struct _sctp_info {
gboolean crc32c_correct;
gboolean checksum_zero;
gboolean vtag_reflected;
- /* FIXME: do we need the ports and addresses to be here? */
guint16 sport;
guint16 dport;
address ip_src;
@@ -47,4 +46,35 @@ struct _sctp_info {
tvbuff_t *tvb[MAXIMUM_NUMBER_OF_TVBS];
};
+typedef struct _sctp_fragment {
+ guint32 frame_num;
+ guint32 tsn;
+ guint32 len;
+ unsigned char *data;
+ struct _sctp_fragment *next;
+} sctp_fragment;
+
+typedef struct _sctp_frag_be {
+ sctp_fragment* fragment;
+ struct _sctp_frag_be *next;
+} sctp_frag_be;
+
+typedef struct _sctp_complete_msg {
+ guint32 begin;
+ guint32 end;
+ sctp_fragment* reassembled_in;
+ guint32 len;
+ unsigned char *data;
+ struct _sctp_complete_msg *next;
+} sctp_complete_msg;
+
+typedef struct _sctp_frag_msg {
+ sctp_frag_be* begins;
+ sctp_frag_be* ends;
+ sctp_fragment* fragments;
+ sctp_complete_msg* messages;
+ struct _sctp_frag_msg* next;
+} sctp_frag_msg;
+
+
#endif