aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/smrse
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2007-05-13 20:58:29 +0000
committerAnders Broman <anders.broman@ericsson.com>2007-05-13 20:58:29 +0000
commitc01f3829742dacd6d94dc50be54537661bad0581 (patch)
treeeb3da0d69d5bc62ca587ebd999b6beacd693f168 /asn1/smrse
parentb80cb43018aa49bac3e24cabca009ca0471cd579 (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.c21
-rw-r--r--asn1/smrse/smrse.cnf4
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;
}