diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-05-11 08:42:23 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-05-11 08:42:23 +0000 |
commit | 1fe00a4c4463253e434d7dd5037cffaf66e63cad (patch) | |
tree | a21ddb315a2efdb4beedb91a52ff3750b1e71acb /asn1/rnsap/packet-rnsap-template.c | |
parent | 6a92b2a472944da55d398bd15bff2bc086a26a1d (diff) | |
download | wireshark-1fe00a4c4463253e434d7dd5037cffaf66e63cad.tar.gz |
Make it possible to dissect private IE's
svn path=/trunk/; revision=42570
Diffstat (limited to 'asn1/rnsap/packet-rnsap-template.c')
-rw-r--r-- | asn1/rnsap/packet-rnsap-template.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/asn1/rnsap/packet-rnsap-template.c b/asn1/rnsap/packet-rnsap-template.c index 62cddff8ac..90ed3702f0 100644 --- a/asn1/rnsap/packet-rnsap-template.c +++ b/asn1/rnsap/packet-rnsap-template.c @@ -38,6 +38,7 @@ #include <epan/asn1.h> #include "packet-per.h" +#include "packet-ber.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -69,6 +70,8 @@ static guint32 ProcedureCode; static guint32 ProtocolIE_ID; static guint32 ddMode; static const gchar *ProcedureID; +static const char *obj_id = NULL; + /* Dissector tables */ static dissector_table_t rnsap_ies_dissector_table; @@ -79,6 +82,7 @@ static dissector_table_t rnsap_proc_uout_dissector_table; static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); +static int dissect_PrivateIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); @@ -95,6 +99,11 @@ static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_in return (dissector_try_uint(rnsap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; } +static int dissect_PrivateIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + return (call_ber_oid_callback(obj_id, tvb, 0, pinfo, tree)) ? tvb_length(tvb) : 0; +} + static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { if (!ProcedureID) return 0; |