aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/disp
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/disp
parentb80cb43018aa49bac3e24cabca009ca0471cd579 (diff)
Second step in introducing asn context to BER dissectors just like in PER.
svn path=/trunk/; revision=21753
Diffstat (limited to 'asn1/disp')
-rw-r--r--asn1/disp/disp.cnf28
-rw-r--r--asn1/disp/packet-disp-template.c8
2 files changed, 20 insertions, 16 deletions
diff --git a/asn1/disp/disp.cnf b/asn1/disp/disp.cnf
index 058d99a911..a135dc5820 100644
--- a/asn1/disp/disp.cnf
+++ b/asn1/disp/disp.cnf
@@ -40,8 +40,8 @@ ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb"
%(DEFAULT_BODY)s
- if (check_col(pinfo->cinfo, COL_INFO)) {
- col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_T_standard_vals, "standard(%%d"));
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_T_standard_vals, "standard(%%d"));
}
#.FN_PARS RefreshInformation
@@ -52,8 +52,8 @@ ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb"
%(DEFAULT_BODY)s
- if (check_col(pinfo->cinfo, COL_INFO)) {
- col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_RefreshInformation_vals, "unknown(%%d)"));
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_RefreshInformation_vals, "unknown(%%d)"));
}
#.FN_PARS StandardUpdate
@@ -64,8 +64,8 @@ ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb"
%(DEFAULT_BODY)s
- if (check_col(pinfo->cinfo, COL_INFO)) {
- col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_StandardUpdate_vals, "unknown(%%d)"));
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_StandardUpdate_vals, "unknown(%%d)"));
}
#.FN_PARS CoordinateShadowUpdateResult
@@ -76,8 +76,8 @@ ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb"
%(DEFAULT_BODY)s
- if (check_col(pinfo->cinfo, COL_INFO)) {
- col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_CoordinateShadowUpdateResult_vals, "unknown(%%d)"));
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_CoordinateShadowUpdateResult_vals, "unknown(%%d)"));
}
#.FN_PARS RequestShadowUpdateResult
@@ -88,8 +88,8 @@ ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb"
%(DEFAULT_BODY)s
- if (check_col(pinfo->cinfo, COL_INFO)) {
- col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_RequestShadowUpdateResult_vals, "unknown(%%d)"));
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_RequestShadowUpdateResult_vals, "unknown(%%d)"));
}
#.FN_PARS UpdateShadowResult
@@ -100,8 +100,8 @@ ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb"
%(DEFAULT_BODY)s
- if (check_col(pinfo->cinfo, COL_INFO)) {
- col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_UpdateShadowResult_vals, "unknown(%%d)"));
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_UpdateShadowResult_vals, "unknown(%%d)"));
}
#.FN_PARS ShadowProblem
@@ -112,6 +112,6 @@ ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb"
%(DEFAULT_BODY)s
- if (check_col(pinfo->cinfo, COL_INFO)) {
- col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, disp_ShadowProblem_vals, "ShadowProblem(%%d)"));
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, disp_ShadowProblem_vals, "ShadowProblem(%%d)"));
}
diff --git a/asn1/disp/packet-disp-template.c b/asn1/disp/packet-disp-template.c
index 300bfba385..97b7465c5d 100644
--- a/asn1/disp/packet-disp-template.c
+++ b/asn1/disp/packet-disp-template.c
@@ -32,6 +32,7 @@
#include <epan/prefs.h>
#include <epan/conversation.h>
#include <epan/oid_resolv.h>
+#include <epan/asn1.h>
#include <stdio.h>
#include <string.h>
@@ -87,8 +88,11 @@ dissect_disp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
int old_offset;
proto_item *item=NULL;
proto_tree *tree=NULL;
- int (*disp_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) = NULL;
+ int (*disp_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) = NULL;
char *disp_op_name;
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
/* do we have operation information from the ROS dissector? */
if( !pinfo->private_data ){
@@ -184,7 +188,7 @@ dissect_disp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
while (tvb_reported_length_remaining(tvb, offset) > 0){
old_offset=offset;
- offset=(*disp_dissector)(FALSE, tvb, offset, pinfo , tree, -1);
+ offset=(*disp_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
if(offset == old_offset){
proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte DISP PDU");
offset = tvb_length(tvb);