diff options
author | Anders Broman <anders.broman@ericsson.com> | 2011-12-15 17:28:43 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2011-12-15 17:28:43 +0000 |
commit | b2678b43d1329ff7e330312c37bf004b453a9550 (patch) | |
tree | 59bfcf08f45aa56ff971817b8c69c5d9eb2f866d /epan/dissectors/packet-rohc.h | |
parent | d3e76bdeb03af9b945e45766d8dcfc11dc0a6807 (diff) |
From Per Liedberg:
RoHC dissection improvment.
svn path=/trunk/; revision=40210
Diffstat (limited to 'epan/dissectors/packet-rohc.h')
-rw-r--r-- | epan/dissectors/packet-rohc.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/epan/dissectors/packet-rohc.h b/epan/dissectors/packet-rohc.h index 9b2aae5e55..6b0a7a07e4 100644 --- a/epan/dissectors/packet-rohc.h +++ b/epan/dissectors/packet-rohc.h @@ -32,6 +32,8 @@ #ifndef PACKET_ROHC_H #define PACKET_ROHC_H +#define MAX_CID 15 + enum rohc_mode { UNIDIRECTIONAL = 1, @@ -39,19 +41,37 @@ enum rohc_mode RELIABLE_BIDIRECTIONAL = 3 }; +enum rohc_d_mode +{ + NO_CONTEXT = 1, + STATIC_CONTEXT = 2, + FULL_CONTEXT = 3 +}; typedef struct rohc_info { gboolean rohc_compression; - unsigned short rohc_ip_version; + guint16 rohc_ip_version; gboolean cid_inclusion_info; gboolean large_cid_present; enum rohc_mode mode; gboolean rnd; gboolean udp_checkum_present; - unsigned short profile; + guint16 profile; proto_item *last_created_item; } rohc_info; + +typedef struct rohc_context +{ + guint16 rohc_ip_version[MAX_CID+1]; + gboolean large_cid_present[MAX_CID+1]; + enum rohc_mode mode[MAX_CID+1]; + enum rohc_d_mode d_mode[MAX_CID+1]; + gboolean rnd[MAX_CID+1]; + gboolean udp_checkum_present[MAX_CID+1]; + guint16 profile[MAX_CID+1]; +} rohc_context; + int dissect_rohc_ir_packet(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset, guint8 cid, gboolean is_add_cid, rohc_info *p_rohc_info); int dissect_rohc_ir_dyn_packet(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, int offset, guint8 cid, gboolean is_add_cid, rohc_info *p_rohc_info); |