diff options
author | Anders Broman <anders.broman@ericsson.com> | 2005-09-06 18:08:45 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2005-09-06 18:08:45 +0000 |
commit | 4029a91b8baa109f854cfab6f3d9db9b8d05737c (patch) | |
tree | c02a674d9b98689cc3796f7084ca8a02e5d1d7c1 /asn1 | |
parent | 75dc6f1a66f3c31ba0714babc2102aaf4a892bf0 (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.cnf | 11 | ||||
-rw-r--r-- | asn1/pres/packet-pres-template.c | 48 |
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" }; |