diff options
author | Anders Broman <anders.broman@ericsson.com> | 2007-05-13 20:58:29 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2007-05-13 20:58:29 +0000 |
commit | c01f3829742dacd6d94dc50be54537661bad0581 (patch) | |
tree | eb3da0d69d5bc62ca587ebd999b6beacd693f168 /asn1/smrse | |
parent | b80cb43018aa49bac3e24cabca009ca0471cd579 (diff) |
Second step in introducing asn context to BER dissectors just like in PER.
svn path=/trunk/; revision=21753
Diffstat (limited to 'asn1/smrse')
-rw-r--r-- | asn1/smrse/packet-smrse-template.c | 21 | ||||
-rw-r--r-- | asn1/smrse/smrse.cnf | 4 |
2 files changed, 14 insertions, 11 deletions
diff --git a/asn1/smrse/packet-smrse-template.c b/asn1/smrse/packet-smrse-template.c index 4549f55eca..8b1e26a8cd 100644 --- a/asn1/smrse/packet-smrse-template.c +++ b/asn1/smrse/packet-smrse-template.c @@ -30,6 +30,7 @@ #include <glib.h> #include <epan/packet.h> #include <epan/conversation.h> +#include <epan/asn1.h> #include <stdio.h> #include <string.h> @@ -81,6 +82,8 @@ dissect_smrse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) guint8 reserved, tag; guint16 length; int offset=0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); reserved=tvb_get_guint8(tvb, 0); length=tvb_get_ntohs(tvb,1); @@ -111,31 +114,31 @@ dissect_smrse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) offset=4; break; case 3: - offset=dissect_smrse_SMR_Bind(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_SMR_Bind(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; case 4: - offset=dissect_smrse_SMR_Bind_Confirm(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_SMR_Bind_Confirm(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; case 5: - offset=dissect_smrse_SMR_Bind_Failure(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_SMR_Bind_Failure(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; case 6: - offset=dissect_smrse_SMR_Unbind(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_SMR_Unbind(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; case 7: - offset=dissect_smrse_RPDataMT(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_RPDataMT(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; case 8: - offset=dissect_smrse_RPDataMO(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_RPDataMO(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; case 9: - offset=dissect_smrse_RPAck(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_RPAck(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; case 10: - offset=dissect_smrse_RPError(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_RPError(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; case 11: - offset=dissect_smrse_RPAlertSC(FALSE, tvb, 4, pinfo, tree, -1); + offset=dissect_smrse_RPAlertSC(FALSE, tvb, 4, &asn1_ctx, tree, -1); break; } diff --git a/asn1/smrse/smrse.cnf b/asn1/smrse/smrse.cnf index e746de4b16..60fb53f018 100644 --- a/asn1/smrse/smrse.cnf +++ b/asn1/smrse/smrse.cnf @@ -27,8 +27,8 @@ start_offset=offset; /* skip the tag and length */ - offset=dissect_ber_identifier(pinfo, tree, tvb, offset, &class, &pc, &tag); - offset=dissect_ber_length(pinfo, tree, tvb, offset, &len, &ind); + offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &class, &pc, &tag); + offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind); if(len>10){ len=10; } |