forked from osmocom/wireshark
e6dac92931
svn path=/trunk/; revision=34159
106 lines
3 KiB
INI
106 lines
3 KiB
INI
# pres.cnf
|
|
# pres conformation file
|
|
|
|
# $Id$
|
|
|
|
#.IMPORT ../rtse/rtse-exp.cnf
|
|
|
|
#.EXPORTS
|
|
|
|
#.PDU
|
|
UD-type
|
|
UDC-type
|
|
|
|
#.NO_EMIT
|
|
|
|
#.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);
|
|
} else {
|
|
if (!pres_try_users_table(presentation_context_identifier, tvb, offset, actx->pinfo)) {
|
|
proto_item *ti = proto_tree_add_text(tree, tvb, offset, -1,"dissector is not available");
|
|
expert_add_info_format(actx->pinfo, ti, PI_UNDECODED, PI_WARN, "Dissector is not available");
|
|
}
|
|
}
|
|
#.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);
|
|
} else {
|
|
if (!pres_try_users_table(presentation_context_identifier, tvb, offset, actx->pinfo)) {
|
|
proto_item *ti = proto_tree_add_text(tree, tvb, offset, -1,"dissector is not available");
|
|
expert_add_info_format(actx->pinfo, ti, PI_UNDECODED, PI_WARN, "Dissector is not available");
|
|
}
|
|
%(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;
|
|
|
|
%(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(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
|