wireshark/epan/dissectors/asn1/pres/pres.cnf

102 lines
2.8 KiB
INI

# 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