diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2016-03-09 03:17:51 +0000 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2016-03-13 21:30:24 +0000 |
commit | 54a520d4a1151c68d0b4e5f09a8d82466fa499f3 (patch) | |
tree | 7aacae160382098ce651ac862a5dfd5de4beff94 /epan/dissectors/asn1/pres/pres.cnf | |
parent | c1f3c935bdd33090c87f0d2f84842ce9729b747a (diff) |
Move /asn1 to /epan/dissectors
Change-Id: I1208fe3c2ba428995526f561e8f792b8d871e9a9
Reviewed-on: https://code.wireshark.org/review/14388
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/dissectors/asn1/pres/pres.cnf')
-rw-r--r-- | epan/dissectors/asn1/pres/pres.cnf | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/pres/pres.cnf b/epan/dissectors/asn1/pres/pres.cnf new file mode 100644 index 0000000000..01539e9a22 --- /dev/null +++ b/epan/dissectors/asn1/pres/pres.cnf @@ -0,0 +1,101 @@ +# pres.cnf +# pres conformation file + +#.IMPORT ../rtse/rtse-exp.cnf + +#.EXPORTS + +#.PDU +UD-type + +#.NO_EMIT +UDC-type + +#.TYPE_RENAME +CPA-PPDU/normal-mode-parameters T_CPA_PPDU_normal_mode_parameters +CPR-PPDU/normal-mode-parameters T_CPR_PPDU_normal_mode_parameters +ARU-PPDU/normal-mode-parameters T_ARU_PPDU_normal_mode_parameters + +#.FIELD_RENAME +ARU-PPDU/normal-mode-parameters aRU_PPDU_normal_mode_parameters +CPA-PPDU/normal-mode-parameters cPU_PPDU_normal_mode_parameters +CPR-PPDU/normal-mode-parameters cPR_PPDU_normal_mode_parameters + +ARU-PPDU/x400-mode-parameters aRU_PPDU_x400_mode_parameters +CPR-PPDU/x400-mode-parameters cPU_PPDU_x400_mode_parameters +CPA-PPDU/x410-mode-parameters cPR_PPDU_x400_mode_parameters + +ARP-PPDU/provider-reason aRU_PPDU_provider-reason +CPR-PPDU/normal-mode-parameters/provider-reason cPR_PPDU__provider-reason + + + + +#.FN_BODY PDV-list/presentation-data-values/single-ASN1-type + + tvbuff_t *next_tvb; + char *oid; + + oid=find_oid_by_pres_ctx_id(actx->pinfo, presentation_context_identifier); + if(oid){ + next_tvb = tvb_new_subset_remaining(tvb, offset); + call_ber_oid_callback(oid, next_tvb, offset, actx->pinfo, global_tree, actx->private_data); + } else { + proto_tree_add_expert(tree, actx->pinfo, &ei_pres_dissector_not_available, + tvb, offset, -1); + } + +#.FN_BODY PDV-list/presentation-data-values/octet-aligned + + tvbuff_t *next_tvb; + char *oid; + + oid=find_oid_by_pres_ctx_id(actx->pinfo, presentation_context_identifier); + if(oid){ + dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &next_tvb); + call_ber_oid_callback(oid, next_tvb, offset, actx->pinfo, global_tree, actx->private_data); + } else { + proto_tree_add_expert(tree, actx->pinfo, &ei_pres_dissector_not_available, + tvb, offset, -1); + %(DEFAULT_BODY)s + } + + +#.FN_PARS Abstract-syntax-name + FN_VARIANT = _str VAL_PTR = &abstract_syntax_name_oid + +#.FN_PARS Presentation-context-identifier + VAL_PTR = &presentation_context_identifier + +#.FN_BODY Presentation-context-identifier + const char *name; + char *oid; + struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*)actx->private_data; + + %(DEFAULT_BODY)s + + if(session) + session->pres_ctx_id = presentation_context_identifier; + + oid = find_oid_by_pres_ctx_id(actx->pinfo, presentation_context_identifier); + + if(oid && (name = oid_resolved_from_string(wmem_packet_scope(), oid))) { + proto_item_append_text(actx->created_item, " (%%s)", name); + } + +#.FN_PARS Abort-reason + VAL_PTR = &reason + +#.FN_BODY Abort-reason + guint32 reason; + + %(DEFAULT_BODY)s + + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(reason, pres_Abort_reason_vals, "unknown: %%d")); + +#.FN_HDR Context-list/_item + abstract_syntax_name_oid=NULL; +#.END +#.FN_FTR Context-list/_item + register_ctx_id_and_oid(actx->pinfo, presentation_context_identifier, abstract_syntax_name_oid); +#.END |