aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-09-06 18:08:45 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-09-06 18:08:45 +0000
commit4029a91b8baa109f854cfab6f3d9db9b8d05737c (patch)
treec02a674d9b98689cc3796f7084ca8a02e5d1d7c1 /asn1
parent75dc6f1a66f3c31ba0714babc2102aaf4a892bf0 (diff)
Ftam - Use some mofe FN_PAR:s
PRES Dissect PDU type based on SS-user data from SES(Info from asn1 file). svn path=/trunk/; revision=15703
Diffstat (limited to 'asn1')
-rw-r--r--asn1/ftam/ftam.cnf11
-rw-r--r--asn1/pres/packet-pres-template.c48
2 files changed, 47 insertions, 12 deletions
diff --git a/asn1/ftam/ftam.cnf b/asn1/ftam/ftam.cnf
index 558397c502..2092f2e3bc 100644
--- a/asn1/ftam/ftam.cnf
+++ b/asn1/ftam/ftam.cnf
@@ -58,10 +58,10 @@ Object-Size-Attribute/actual-values actual_values7
Object-Availability-Attribute/actual-values actual_values8
Legal-Qualification-Attribute/actual-values actual_values9
+#.FN_PARS Extension-Attribute/extension-attribute-identifier
+ VAL_PTR = object_identifier_id
+
-#.FN_BODY Extension-Attribute/extension-attribute-identifier
- offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
- hf_index, object_identifier_id);
#.FN_BODY Contents-Type-Attribute/document-type/parameter
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
@@ -69,9 +69,8 @@ Legal-Qualification-Attribute/actual-values actual_values9
#.FN_BODY Extension-Attribute/extension-attribute
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
-#.FN_BODY Attribute-Extensions-Pattern/extension-set-attribute-Patterns/extension-attribute-identifier
- offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
- hf_index, object_identifier_id);
+#.FN_PARS Attribute-Extensions-Pattern/extension-set-attribute-Patterns/extension-attribute-identifier
+ VAL_PTR = object_identifier_id
#.FN_BODY Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-Pattern
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
diff --git a/asn1/pres/packet-pres-template.c b/asn1/pres/packet-pres-template.c
index cbfbe60692..b153943bd6 100644
--- a/asn1/pres/packet-pres-template.c
+++ b/asn1/pres/packet-pres-template.c
@@ -69,6 +69,12 @@ typedef struct _pres_ctx_oid_t {
} pres_ctx_oid_t;
static GHashTable *pres_ctx_oid_table = NULL;
+static int hf_pres_CP_type = -1;
+static int hf_pres_CPA_PPDU = -1;
+static int hf_pres_Abort_type = -1;
+static int hf_pres_CPR_PPDU = -1;
+static int hf_pres_Typed_data_type = -1;
+
#include "packet-pres-hf.c"
/* Initialize the subtree pointers */
@@ -175,21 +181,30 @@ dissect_ppdu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
}
switch(session->spdu_type){
- case SES_REFUSE:
- break;
case SES_CONNECTION_REQUEST:
- offset = dissect_pres_CP_type(FALSE, tvb, offset, pinfo, pres_tree, -1);
+ offset = dissect_pres_CP_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_CP_type);
break;
case SES_CONNECTION_ACCEPT:
- offset = dissect_pres_CPA_PPDU(FALSE, tvb, offset, pinfo, pres_tree, -1);
+ offset = dissect_pres_CPA_PPDU(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_CPA_PPDU);
break;
case SES_ABORT:
- offset = dissect_pres_Abort_type(FALSE, tvb, offset, pinfo, pres_tree, -1);
+ case SES_ABORT_ACCEPT:
+ offset = dissect_pres_Abort_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_Abort_type);
break;
case SES_DATA_TRANSFER:
- offset = dissect_pres_CPC_type(FALSE, tvb, offset, pinfo, pres_tree, -1);
+ offset = dissect_pres_CPC_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_user_data);
+ break;
+ case SES_TYPED_DATA:
+ offset = dissect_pres_Typed_data_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_Typed_data_type);
+ break;
+ case SES_RESYNCHRONIZE:
+ offset = dissect_pres_RS_PPDU(FALSE, tvb, offset, pinfo, pres_tree, -1);
+ break;
+ case SES_RESYNCHRONIZE_ACK:
+ offset = dissect_pres_RSA_PPDU(FALSE, tvb, offset, pinfo, pres_tree, -1);
break;
default:
+ offset = dissect_pres_CPC_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_user_data);
break;
}
@@ -235,6 +250,27 @@ void proto_register_pres(void) {
/* List of fields */
static hf_register_info hf[] = {
+ { &hf_pres_CP_type,
+ { "CP-type", "pres.cptype",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "", HFILL }},
+ { &hf_pres_CPA_PPDU,
+ { "CPA-PPDU", "pres.cpapdu",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "", HFILL }},
+ { &hf_pres_Abort_type,
+ { "Abort type", "pres.aborttype",
+ FT_UINT32, BASE_DEC, VALS(pres_Abort_type_vals), 0,
+ "", HFILL }},
+ { &hf_pres_CPR_PPDU,
+ { "CPR-PPDU", "pres.cprtype",
+ FT_UINT32, BASE_DEC, VALS(pres_CPR_PPDU_vals), 0,
+ "", HFILL }},
+ { &hf_pres_Typed_data_type,
+ { "Typed data type", "pres.Typed_data_type",
+ FT_UINT32, BASE_DEC, VALS(pres_Typed_data_type_vals), 0,
+ "", HFILL }},
+
#include "packet-pres-hfarr.c"
};