diff options
Diffstat (limited to 'epan/dissectors/asn1/cmip/cmip.cnf')
-rw-r--r-- | epan/dissectors/asn1/cmip/cmip.cnf | 503 |
1 files changed, 503 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/cmip/cmip.cnf b/epan/dissectors/asn1/cmip/cmip.cnf new file mode 100644 index 0000000000..3f37b9d48e --- /dev/null +++ b/epan/dissectors/asn1/cmip/cmip.cnf @@ -0,0 +1,503 @@ +# cmip.cnf +# CMIP conformation file + +#.IMPORT ../acse/acse-exp.cnf + +#.MODULE +Remote-Operations-Information-Objects cmip.ros +Attribute-ASN1Module cmip.x721 + + +#.OMIT_ASSIGNMENT Remote-Operations-Information-Objects +Bind +Unbind +#.END + +#.NO_EMIT ONLY_VALS +LinkedReplyArgument + +#.TYPE_RENAME + +Invoke/argument InvokeArgument +ReturnResult/result/result ResultArgument +Attribute/value AttributeValue +EventReportArgument/eventInfo EventReportArgumentEventInfo + +#.FIELD_RENAME + +Invoke/linkedId/present linkedIdPresent + +Reject/problem/invoke invokeProblem +Reject/problem/returnError returnErrorProblem +Reject/problem/returnResult returnResultProblem + +ReturnResult/result/result resultArgument + +SetArgument/modificationList/_item/attributeValue attributevalue +ActionTypeId/globalForm actionTypeId_globalForm +AttributeId/globalForm attributeId_globalForm +EventTypeId/globalForm eventTypeId_globalForm +ObjectClass/globalForm objectClass_globalForm +ManagementExtension/identifier managementExtensionidentifier +ServiceUser/identifier serviceUseridentifier +AttributeValueAssertion/value attributeValueAssertionvalue +FilterItem/present filterItempresent +ObjectClass/localForm objectClasslocalForm +AttributeId/localForm attributeIdlocalForm +ActionErrorInfo/errorStatus actionErrorInfo-errorStatus +AttributeError/errorStatus attributeError-errorStatus +AttributeIdError/errorStatus attributeIdError-errorStatus +ActionErrorInfo/errorInfo actionErrorInfo +# SpecificErrorInfo/errorInfo specificErrorInfo +Attribute/id attributeid +CMIPUserInfo/accessControl cmipUserInfoaccessControl +ActionError/actionErrorInfo actionErroractionErrorInfo +EventReportArgument/eventInfo eventReportArgumenteventInfo + +#.EXPORTS +CMIPAbortInfo +CMIPUserInfo +ROS +InvokeIDType +ObjectInstance +ObjectClass +Attribute +RDNSequence +ProbableCause +AdministrativeState +AvailabilityStatus +AttributeList +AdditionalInformation + +#.TABLE_HDR +/* CMIP OPERATIONS */ +static const value_string cmip_Opcode_vals[] = { +#.TABLE_BODY OPERATION + { %(&operationCode)s, "%(_ident)s" }, +#.TABLE_FTR + { 0, NULL } +}; +#.END + +#.TABLE_HDR +/* CMIP ERRORS */ +static const value_string cmip_error_code_vals[] = { +#.TABLE_BODY ERROR + { %(&errorCode)s, "%(_ident)s" }, +#.TABLE_FTR + { 0, NULL } +}; +#.END + +# X.721 + +#.REGISTER +BaseManagedObjectId B "2.9.2.21.7.13" "BaseManagedObjectId(13)" +# X.721 +SimpleNameType B "2.9.3.2.7.1" "discriminatorId(1)" +SimpleNameType B "2.9.3.2.7.2" "logId(2)" +LogRecordId B "2.9.3.2.7.3" "logRecordId(3)" +SystemId B "2.9.3.2.7.4" "systemId(4)" +SystemTitle B "2.9.3.2.7.5" "systemTitle(5)" +AdditionalInformation B "2.9.3.2.7.6" "additionalInformation(6)" +AdditionalText B "2.9.3.2.7.7" "additionalText(7)" +AttributeIdentifierList B "2.9.3.2.7.8" "attributeIdentifierList(8)" +AttributeList B "2.9.3.2.7.9" "attributeList(9)" +AttributeValueChangeDefinition B "2.9.3.2.7.10" "attributeValueChangeDefinition(10)" +BackedUpStatus B "2.9.3.2.7.11" "backedUpStatus(11)" +CorrelatedNotifications B "2.9.3.2.7.12" "correlatedNotifications(12)" +EventTime B "2.9.3.2.7.13" "eventTime(13)" +EventTypeId B "2.9.3.2.7.14" "eventType(14)" +MonitoredAttributes B "2.9.3.2.7.15" "monitoredAttributes(15)" +NotificationIdentifier B "2.9.3.2.7.16" "notificationIdentifier(16)" +PerceivedSeverity B "2.9.3.2.7.17" "perceivedSeverity(17)" +ProbableCause B "2.9.3.2.7.18" "probableCause(18)" +ProposedRepairActions B "2.9.3.2.7.19" "proposedRepairActions(19)" +AttributeValueChangeDefinition B "2.9.3.2.7.20" "relationshipChangeDefinition(20)" +SecurityAlarmCause B "2.9.3.2.7.21" "securityAlarmCause(21)" +SecurityAlarmDetector B "2.9.3.2.7.22" "securityAlarmDetector(22)" +SecurityAlarmSeverity B "2.9.3.2.7.23" "securityAlarmSeverity(23)" +ServiceProvider B "2.9.3.2.7.24" "serviceProvider(24)" +ServiceUser B "2.9.3.2.7.25" "serviceUser(25)" +SourceIndicator B "2.9.3.2.7.26" "sourceIndicator(26)" +SpecificProblems B "2.9.3.2.7.27" "specificProblems(27)" +AttributeValueChangeDefinition B "2.9.3.2.7.28" "stateChangeDefinition(28)" +ThresholdInfo B "2.9.3.2.7.29" "thresholdInfo(29)" +TrendIndication B "2.9.3.2.7.30" "trendIndication(30)" +AdministrativeState B "2.9.3.2.7.31" "administrativeState(31)" +AlarmStatus B "2.9.3.2.7.32" "alarmStatus(32)" +AvailabilityStatus B "2.9.3.2.7.33" "availabilityStatus(33)" +ControlStatus B "2.9.3.2.7.34" "controlStatus(34)" +OperationalState B "2.9.3.2.7.35" "operationalState(35)" +ProceduralStatus B "2.9.3.2.7.36" "proceduralStatus(36)" +StandbyStatus B "2.9.3.2.7.37" "standbyStatus(37)" +UnknownStatus B "2.9.3.2.7.38" "unknownStatus(38)" +UsageState B "2.9.3.2.7.39" "usageState(39)" +BackUpRelationshipObject B "2.9.3.2.7.40" "backUpObject(40)" +BackUpRelationshipObject B "2.9.3.2.7.41" "backedUpObject(41)" +GroupObjects B "2.9.3.2.7.42" "member(42)" +GroupObjects B "2.9.3.2.7.43" "owner(43)" +BackUpRelationshipObject B "2.9.3.2.7.44" "peer(44)" +PrioritisedObject B "2.9.3.2.7.45" "primary(45)" +PrioritisedObject B "2.9.3.2.7.46" "providerObject(46)" +PrioritisedObject B "2.9.3.2.7.47" "secondary(47)" +PrioritisedObject B "2.9.3.2.7.48" "userObject(48)" +ActiveDestination B "2.9.3.2.7.49" "activeDestination(49)" +Allomorphs B "2.9.3.2.7.50" "allomorphs(50)" +BackUpDestinationList B "2.9.3.2.7.51" "backUpDestinationList(51)" +CapacityAlarmThreshold B "2.9.3.2.7.52" "capacityAlarmThreshold(52)" +ConfirmedMode B "2.9.3.2.7.53" "confirmedMode(53)" +CurrentLogSize B "2.9.3.2.7.54" "currentLogSize(54)" +Destination B "2.9.3.2.7.55" "destination(55)" +DiscriminatorConstruct B "2.9.3.2.7.56" "discriminatorConstruct(56)" +IntervalsOfDay B "2.9.3.2.7.57" "intervalsOfDay(57)" +LogFullAction B "2.9.3.2.7.58" "logFullAction(58)" +LoggingTime B "2.9.3.2.7.59" "loggingTime(59)" +#ObjectClass B "2.9.3.2.7.60" "managedObjectClass(60)" +#ObjectInstance B "2.9.3.2.7.61" "managedObjectInstance(61)" +MaxLogSize B "2.9.3.2.7.62" "maxLogSize(62)" +NameBinding B "2.9.3.2.7.63" "nameBinding(63)" +NumberOfRecords B "2.9.3.2.7.64" "numberOfRecords(64)" +ObjectClass B "2.9.3.2.7.65" "objectClass(65)" +Packages B "2.9.3.2.7.66" "packages(66)" +#ObjectInstance B "2.9.3.2.7.66" "schedulerName(67)" +StartTime B "2.9.3.2.7.68" "startTime(68)" +StopTime B "2.9.3.2.7.69" "stopTime(69)" +SupportedFeatures B "2.9.3.2.7.70" "supportedFeatures(70)" +WeekMask B "2.9.3.2.7.71" "weekMask(71)" +# corruptedPDUsReceivedCounter(72) -- corruptedPDUsReceivedCounter attribute type +# incomingConnectionRejectErrorCounter(73) -- incomingConnectionRejectErrorCounte... +# incomingConnectionRequestsCounter(74) -- incomingConnectionRequestsCounter attr... +# incomingDisconnectCounter(75) -- incomingDisconnectCounter attribute type +# ncomingDisconnectErrorCounter(76) -- ncomingDisconnectErrorCounter attribute ty... +# incomingProtocolErrorCounter(77) -- incomingProtocolErrorCounter attribute type +# octetsReceivedCounter(78) -- octetsReceivedCounter attribute type +# octetsRetransmittedErrorCounter(79) -- octetsRetransmittedErrorCounter attribut... +# octetsSentCounter(80) -- octetsSentCounter attribute type +# outgoingConnectionRejectErrorCounter(81) -- outgoingConnectionRejectErrorCounte... +# outgoingConnectionRequestsCounter(82) -- outgoingConnectionRequestsCounter attr... +# outgoingDisconnectCounter(83) -- outgoingDisconnectCounter attribute type +# outgoingDisconnectErrorCounter(84) -- outgoingDisconnectErrorCounter attribute ... +# outgoingProtocolErrorCounter(85) -- outgoingProtocolErrorCounter attribute type +# pdusReceivedCounter(86) -- pdusReceivedCounter attribute type (PDU: Protocol Da... +# pdusRetransmittedErrorCounter(87) -- pdusRetransmittedErrorCounter attribute ty... +# pdusSentCounter(88) -- pdusSentCounter attribute type (PDU: Protocol Data Unit) +# corruptedPDUsReceivedThreshold(89) -- corruptedPDUsReceivedThreshold attribute ... +# incomingConnectionRejectErrorThreshold(90) -- incomingConnectionRejectErrorThre... +# incomingConnectionRequestsThreshold(91) -- incomingConnectionRequestsThreshold ... +# incomingDisconnectErrorThreshold(92) -- incomingDisconnectErrorThreshold attrib... +# incomingProtocolErrorThreshold(93) -- incomingProtocolErrorThreshold attribute ... +# octetsReceivedThreshold(94) -- octetsReceivedThreshold attribute type +# octetsRetransmittedThreshold(95) -- octetsRetransmittedThreshold attribute type +# octetsSentThreshold(96) -- octetsSentThreshold attribute type +# outgoingConnectionRejectErrorThreshold(97) -- outgoingConnectionRejectErrorThre... +# outgoingConnectionRequestsThreshold(98) -- outgoingConnectionRequestsThreshold ... +# outgoingDisconnectErrorThreshold(99) -- outgoingDisconnectErrorThreshold attrib... +# outgoingProtocolErrorThreshold(100) -- outgoingProtocolErrorThreshold attribute... +# pdusReceivedThreshold(101) -- pdusReceivedThreshold attribute type (PDU: Protoc... +# pdusRetransmittedErrorThreshold(102) -- pdusRetransmittedErrorThreshold attribu... +# pdusSentThreshold(103) -- pdusSentThreshold attribute type (PDU: Protocol Data ... +LifecycleState B "2.9.3.2.7.115" "lifecycleState(115)" + + +#.OMIT_ASSIGNMENT +# Removed as they are giving 'defined but not used' warnings currently. +ROSEapdus +CounterThreshold +GaugeThreshold +GaugeThresholdValue +LogAvailability +NotifyThreshold +SchedulingAvailability +TideMarkInfo +TideMark +UnscheduledLogAvailability +Priority +RejectProblem + + +#.PDU + + +#.FN_HDR CMIPAbortInfo + col_append_str(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ABORT"); +#.END + +#.FN_HDR CMIPUserInfo + col_append_str(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE"); +#.END + +#.FN_BODY CMIPAbortSource VAL_PTR = &value + guint32 value; + + %(DEFAULT_BODY)s + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " AbortSource:%%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%%d")); +#.END + +#.FN_BODY Code/local VAL_PTR = &opcode + %(DEFAULT_BODY)s + if(opcode_type== OPCODE_RETURN_ERROR){ + col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s", val_to_str(opcode, cmip_error_code_vals, " Unknown Opcode:%%d")); + }else{ + col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s", val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%%d")); + } +#.END + +#.FN_HDR Invoke + opcode_type=OPCODE_INVOKE; + col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Invoke "); +#.END + +#.FN_HDR ReturnResult + opcode_type=OPCODE_RETURN_RESULT; + col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnResult "); +#.END + +#.FN_HDR ReturnError + opcode_type=OPCODE_RETURN_ERROR; + col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnError "); +#.END + +#.FN_HDR Reject + opcode_type=OPCODE_REJECT; + col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Reject "); +#.END + +#.FN_BODY AttributeId/globalForm FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference + %(DEFAULT_BODY)s + actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE; + +#.FN_BODY AttributeId/localForm VAL_PTR = &actx->external.indirect_reference + %(DEFAULT_BODY)s + actx->external.indirect_ref_present = TRUE; + +#.FN_BODY Attribute/value + if(actx->external.direct_ref_present){ + offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data); + } else if (actx->external.indirect_ref_present && + dissector_try_uint(attribute_id_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) { + offset=tvb_reported_length (tvb); + } else { + offset=dissect_unknown_ber(actx->pinfo, tvb, offset, tree); + } + +#.FN_PARS AttributeValueAssertion/id + FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference + +#.FN_FTR AttributeValueAssertion/id + actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE; + +#.FN_BODY AttributeValueAssertion/value + if (actx->external.direct_ref_present) { + offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data); + } + +#.FN_BODY Invoke/argument + switch(opcode){ + case 0: /* M-eventreport */ + offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, actx, tree, -1); + break; + case 1: /* M-eventreport-confirmed */ + offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, actx, tree, -1); + break; + case 2: /* M-linkedreply */ + offset = dissect_cmip_LinkedReplyArgument(FALSE, tvb, offset, actx, tree, -1); + break; + case 3: /* M-get */ + offset = dissect_cmip_GetArgument(FALSE, tvb, offset,actx, tree, -1); + break; + case 4: /* M-set */ + offset = dissect_cmip_SetArgument(FALSE, tvb, offset,actx, tree, -1); + break; + case 5: /* M-set-confirmed */ + offset = dissect_cmip_SetArgument(FALSE, tvb, offset,actx, tree, -1); + break; + case 6: /* M-action*/ + offset = dissect_cmip_ActionArgument(FALSE, tvb, offset, actx, tree, -1); + break; + case 7: /* M-action-confirmed*/ + offset = dissect_cmip_ActionArgument(FALSE, tvb, offset, actx, tree, -1); + break; + case 8: /* M-create*/ + offset = dissect_cmip_CreateArgument(FALSE, tvb, offset, actx, tree, -1); + break; + case 9: /* M-delete*/ + offset = dissect_cmip_DeleteArgument(FALSE, tvb, offset, actx, tree, -1); + break; + case 10: /* M-cancelget */ + offset = dissect_cmip_InvokeIDType(FALSE, tvb, offset, actx, tree, -1); + break; + } + + +#.FN_BODY ReturnResult/result/result + + switch(opcode){ + case 0: /* M-eventreport*/ + break; /* No return data */ + case 1: /* M-eventreport-confirmed */ + offset = dissect_cmip_EventReportResult(FALSE, tvb, offset, actx, tree, -1); + break; + case 2: /* M-linkedreply*/ + break; /* No return data */ + case 3: /* M-get */ + offset = dissect_cmip_GetResult(FALSE, tvb, offset, actx, tree, -1); + break; + case 4: /* M-set */ + break; /* No return data */ + case 5: /* M-set-confirmed*/ + offset = dissect_cmip_SetResult(FALSE, tvb, offset, actx, tree, -1); + break; + case 6: /* M-action*/ + break; /* No return data */ + case 7: /* M-action-confirmed*/ + offset = dissect_cmip_ActionResult(FALSE, tvb, offset, actx, tree, -1); + break; + case 8: /* M-create*/ + offset = dissect_cmip_CreateResult(FALSE, tvb, offset, actx, tree, -1); + break; + case 9: /* M-delete*/ + offset = dissect_cmip_DeleteResult(FALSE, tvb, offset, actx, tree, -1); + break; + case 10: /* M-cancelget */ + break; /* doe this one return any data? */ + } + /*XXX add more types here */ + +#.FN_BODY ReturnError/parameter + + switch(opcode){ + case 19: /* classInstanceConflict */ + dissect_cmip_BaseManagedObjectId(FALSE, tvb, offset, actx, tree, -1); + break; + case 20: /* complexityLimitation */ + dissect_cmip_ComplexityLimitation(FALSE, tvb, offset, actx, tree, -1); + break; + case 11: /* duplicateManagedObjectInstance */ + dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, -1); + break; + case 7: /* getListError */ + dissect_cmip_GetListError(FALSE, tvb, offset, actx, tree, -1); + break; + case 15: /* invalidArgumentValue */ + dissect_cmip_InvalidArgumentValue(FALSE, tvb, offset, actx, tree, -1); + break; + case 6: /* invalidAttributeValue */ + dissect_cmip_Attribute(FALSE, tvb, offset, actx, tree, -1); + break; + case 4: /* invalidFilter */ + dissect_cmip_CMISFilter(FALSE, tvb, offset, actx, tree, -1); + break; + case 17: /* invalidObjectInstance */ + dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, -1); + break; + case 16: /* invalidScope */ + dissect_cmip_Scope(FALSE, tvb, offset, actx, tree, -1); + break; + case 18: /* missingAttributeValue */ + /* Hmmm SET OF AttributeId */ + dissect_cmip_PAR_missingAttributeValue(FALSE, tvb, offset, actx, tree, -1); + break; + case 9: /* noSuchAction */ + dissect_cmip_NoSuchAction(FALSE, tvb, offset, actx, tree, -1); + break; + case 14: /* noSuchArgument */ + dissect_cmip_NoSuchArgument(FALSE, tvb, offset, actx, tree, -1); + break; + case 5: /* noSuchAttribute */ + dissect_cmip_AttributeId(FALSE, tvb, offset, actx, tree, -1); + break; + case 13: /* noSuchEventType */ + dissect_cmip_NoSuchEventType(FALSE, tvb, offset, actx, tree, -1); + break; + case 22: /* noSuchInvokeId */ + dissect_cmip_InvokeIDType(FALSE, tvb, offset, actx, tree, -1); + break; + case 0: /* noSuchObjectClass */ + dissect_cmip_ObjectClass(FALSE, tvb, offset, actx, tree, -1); + break; + case 1:/* noSuchObjectInstance */ + dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, -1); + break; + case 12: /* noSuchReferenceObject */ + dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, -1); + break; + case 10: /* processingFailure OPTIONAL TRUE*/ + dissect_cmip_ProcessingFailure(FALSE, tvb, offset, actx, tree, -1); + break; + case 8: /* setListError */ + dissect_cmip_SetListError(FALSE, tvb, offset, actx, tree, -1); + break; + case 3:/* syncNotSupported */ + dissect_cmip_CMISSync(FALSE, tvb, offset, actx, tree, -1); + break; + } + +#.FN_PARS ObjectClass/globalForm + FN_VARIANT = _str + +#.FN_PARS ActionTypeId/globalForm + FN_VARIANT = _str HF_INDEX = hf_cmip_actionType_OID VAL_PTR = &object_identifier_id + +#.FN_BODY ActionInfo/actionInfoArg + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_PARS EventTypeId/globalForm + FN_VARIANT = _str HF_INDEX = hf_cmip_eventType_OID VAL_PTR = &object_identifier_id + +#.FN_BODY EventReportArgument/eventInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_BODY EventReply/eventReplyInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_BODY SetArgument/modificationList/_item/attributeValue + if(actx->external.direct_ref_present){ + offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + } else if (actx->external.indirect_ref_present && + dissector_try_uint(attribute_id_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) { + offset=tvb_reported_length (tvb); + } else { + offset=dissect_unknown_ber(actx->pinfo, tvb, offset, tree); + } + +#.FN_PARS SpecificErrorInfo/errorId + FN_VARIANT = _str HF_INDEX = hf_cmip_errorId_OID VAL_PTR = &object_identifier_id + +#.FN_BODY SpecificErrorInfo/errorInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_BODY AttributeError/attributeValue + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_BODY InvalidArgumentValue/eventValue/eventInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_BODY ActionReply/actionReplyInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + + +# X.721 +#.FN_PARS ManagementExtension/identifier FN_VARIANT = _str VAL_PTR = &object_identifier_id + +#.FN_BODY ManagementExtension/information + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_BODY AttributeValueChangeDefinition/_item/oldAttributeValue + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_BODY AttributeValueChangeDefinition/_item/newAttributeValue + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_PARS ServiceUser/identifier FN_VARIANT = _str VAL_PTR = &object_identifier_id + +#.FN_BODY ServiceUser/details + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + +#.FN_PARS SupportedFeatures/_item/featureIdentifier FN_VARIANT = _str VAL_PTR = &object_identifier_id + +#.FN_BODY SupportedFeatures/_item/featureInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data); + + +#.END |