aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/pres/pres.cnf
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2016-03-09 03:17:51 +0000
committerJoão Valverde <j@v6e.pt>2016-03-13 21:30:24 +0000
commit54a520d4a1151c68d0b4e5f09a8d82466fa499f3 (patch)
tree7aacae160382098ce651ac862a5dfd5de4beff94 /epan/dissectors/asn1/pres/pres.cnf
parentc1f3c935bdd33090c87f0d2f84842ce9729b747a (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.cnf101
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