summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-cmip.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
commite4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch)
tree68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/packet-cmip.c
parentInitial commit. (diff)
downloadwireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz
wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/packet-cmip.c')
-rw-r--r--epan/dissectors/packet-cmip.c5796
1 files changed, 5796 insertions, 0 deletions
diff --git a/epan/dissectors/packet-cmip.c b/epan/dissectors/packet-cmip.c
new file mode 100644
index 00000000..b3aaa2b9
--- /dev/null
+++ b/epan/dissectors/packet-cmip.c
@@ -0,0 +1,5796 @@
+/* Do not modify this file. Changes will be overwritten. */
+/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
+/* packet-cmip.c */
+/* asn2wrs.py -b -L -p cmip -c ./cmip.cnf -s ./packet-cmip-template -D . -O ../.. CMIP-1.asn CMIP-A-ABORT-Information.asn CMIP-A-ASSOCIATE-Information.asn ../x721/Attribute-ASN1Module.asn ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn */
+
+/* packet-cmip.c
+ * Routines for X.711 CMIP packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-x509if.h"
+#include "packet-cmip.h"
+
+#define PNAME "X711 CMIP"
+#define PSNAME "CMIP"
+#define PFNAME "cmip"
+
+void proto_register_cmip(void);
+void proto_reg_handoff_cmip(void);
+
+/* XXX some stuff we need until we can get rid of it */
+#include "packet-ses.h"
+#include "packet-pres.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_cmip = -1;
+static int hf_cmip_actionType_OID = -1;
+static int hf_cmip_eventType_OID = -1;
+static int hf_cmip_attributeId_OID = -1;
+static int hf_cmip_errorId_OID = -1;
+
+static int hf_cmip_BaseManagedObjectId_PDU = -1; /* BaseManagedObjectId */
+static int hf_cmip_EventTypeId_PDU = -1; /* EventTypeId */
+static int hf_cmip_ObjectClass_PDU = -1; /* ObjectClass */
+static int hf_cmip_ActiveDestination_PDU = -1; /* ActiveDestination */
+static int hf_cmip_AdditionalText_PDU = -1; /* AdditionalText */
+static int hf_cmip_AdditionalInformation_PDU = -1; /* AdditionalInformation */
+static int hf_cmip_Allomorphs_PDU = -1; /* Allomorphs */
+static int hf_cmip_AdministrativeState_PDU = -1; /* AdministrativeState */
+static int hf_cmip_AttributeIdentifierList_PDU = -1; /* AttributeIdentifierList */
+static int hf_cmip_AttributeList_PDU = -1; /* AttributeList */
+static int hf_cmip_AttributeValueChangeDefinition_PDU = -1; /* AttributeValueChangeDefinition */
+static int hf_cmip_AlarmStatus_PDU = -1; /* AlarmStatus */
+static int hf_cmip_AvailabilityStatus_PDU = -1; /* AvailabilityStatus */
+static int hf_cmip_BackedUpStatus_PDU = -1; /* BackedUpStatus */
+static int hf_cmip_BackUpDestinationList_PDU = -1; /* BackUpDestinationList */
+static int hf_cmip_BackUpRelationshipObject_PDU = -1; /* BackUpRelationshipObject */
+static int hf_cmip_CapacityAlarmThreshold_PDU = -1; /* CapacityAlarmThreshold */
+static int hf_cmip_ConfirmedMode_PDU = -1; /* ConfirmedMode */
+static int hf_cmip_ControlStatus_PDU = -1; /* ControlStatus */
+static int hf_cmip_CorrelatedNotifications_PDU = -1; /* CorrelatedNotifications */
+static int hf_cmip_CurrentLogSize_PDU = -1; /* CurrentLogSize */
+static int hf_cmip_Destination_PDU = -1; /* Destination */
+static int hf_cmip_DiscriminatorConstruct_PDU = -1; /* DiscriminatorConstruct */
+static int hf_cmip_EventTime_PDU = -1; /* EventTime */
+static int hf_cmip_GroupObjects_PDU = -1; /* GroupObjects */
+static int hf_cmip_IntervalsOfDay_PDU = -1; /* IntervalsOfDay */
+static int hf_cmip_LifecycleState_PDU = -1; /* LifecycleState */
+static int hf_cmip_LogFullAction_PDU = -1; /* LogFullAction */
+static int hf_cmip_LoggingTime_PDU = -1; /* LoggingTime */
+static int hf_cmip_LogRecordId_PDU = -1; /* LogRecordId */
+static int hf_cmip_MaxLogSize_PDU = -1; /* MaxLogSize */
+static int hf_cmip_MonitoredAttributes_PDU = -1; /* MonitoredAttributes */
+static int hf_cmip_NameBinding_PDU = -1; /* NameBinding */
+static int hf_cmip_NotificationIdentifier_PDU = -1; /* NotificationIdentifier */
+static int hf_cmip_NumberOfRecords_PDU = -1; /* NumberOfRecords */
+static int hf_cmip_OperationalState_PDU = -1; /* OperationalState */
+static int hf_cmip_Packages_PDU = -1; /* Packages */
+static int hf_cmip_PerceivedSeverity_PDU = -1; /* PerceivedSeverity */
+static int hf_cmip_PrioritisedObject_PDU = -1; /* PrioritisedObject */
+static int hf_cmip_ProbableCause_PDU = -1; /* ProbableCause */
+static int hf_cmip_ProceduralStatus_PDU = -1; /* ProceduralStatus */
+static int hf_cmip_ProposedRepairActions_PDU = -1; /* ProposedRepairActions */
+static int hf_cmip_SecurityAlarmCause_PDU = -1; /* SecurityAlarmCause */
+static int hf_cmip_SecurityAlarmSeverity_PDU = -1; /* SecurityAlarmSeverity */
+static int hf_cmip_SecurityAlarmDetector_PDU = -1; /* SecurityAlarmDetector */
+static int hf_cmip_ServiceProvider_PDU = -1; /* ServiceProvider */
+static int hf_cmip_ServiceUser_PDU = -1; /* ServiceUser */
+static int hf_cmip_SimpleNameType_PDU = -1; /* SimpleNameType */
+static int hf_cmip_SourceIndicator_PDU = -1; /* SourceIndicator */
+static int hf_cmip_SpecificProblems_PDU = -1; /* SpecificProblems */
+static int hf_cmip_StandbyStatus_PDU = -1; /* StandbyStatus */
+static int hf_cmip_StartTime_PDU = -1; /* StartTime */
+static int hf_cmip_StopTime_PDU = -1; /* StopTime */
+static int hf_cmip_SupportedFeatures_PDU = -1; /* SupportedFeatures */
+static int hf_cmip_SystemId_PDU = -1; /* SystemId */
+static int hf_cmip_SystemTitle_PDU = -1; /* SystemTitle */
+static int hf_cmip_ThresholdInfo_PDU = -1; /* ThresholdInfo */
+static int hf_cmip_TrendIndication_PDU = -1; /* TrendIndication */
+static int hf_cmip_UnknownStatus_PDU = -1; /* UnknownStatus */
+static int hf_cmip_UsageState_PDU = -1; /* UsageState */
+static int hf_cmip_WeekMask_PDU = -1; /* WeekMask */
+static int hf_cmip_PAR_missingAttributeValue_item = -1; /* AttributeId */
+static int hf_cmip_managedObjectClass = -1; /* ObjectClass */
+static int hf_cmip_managedObjectInstance = -1; /* ObjectInstance */
+static int hf_cmip_currentTime = -1; /* GeneralizedTime */
+static int hf_cmip_actionErroractionErrorInfo = -1; /* ActionErrorInfo */
+static int hf_cmip_actionErrorInfo_errorStatus = -1; /* T_actionErrorInfo_errorStatus */
+static int hf_cmip_actionErrorInfo = -1; /* T_actionErrorInfo */
+static int hf_cmip_actionType = -1; /* ActionTypeId */
+static int hf_cmip_actionArgument = -1; /* NoSuchArgument */
+static int hf_cmip_argumentValue = -1; /* InvalidArgumentValue */
+static int hf_cmip_actionInfoArg = -1; /* T_actionInfoArg */
+static int hf_cmip_actionReplyInfo = -1; /* T_actionReplyInfo */
+static int hf_cmip_actionReply = -1; /* ActionReply */
+static int hf_cmip_actionTypeId_globalForm = -1; /* T_actionTypeId_globalForm */
+static int hf_cmip_localForm = -1; /* INTEGER */
+static int hf_cmip_attributeid = -1; /* AttributeId */
+static int hf_cmip_value = -1; /* AttributeValue */
+static int hf_cmip_attributeError_errorStatus = -1; /* T_attributeError_errorStatus */
+static int hf_cmip_modifyOperator = -1; /* ModifyOperator */
+static int hf_cmip_attributeId = -1; /* AttributeId */
+static int hf_cmip_attributeValue = -1; /* T_attributeValue */
+static int hf_cmip_attributeId_globalForm = -1; /* T_attributeId_globalForm */
+static int hf_cmip_attributeIdlocalForm = -1; /* T_attributeIdlocalForm */
+static int hf_cmip_attributeIdError_errorStatus = -1; /* T_attributeIdError_errorStatus */
+static int hf_cmip_id = -1; /* T_id */
+static int hf_cmip_attributeValueAssertionvalue = -1; /* T_attributeValueAssertionvalue */
+static int hf_cmip_baseManagedObjectClass = -1; /* ObjectClass */
+static int hf_cmip_baseManagedObjectInstance = -1; /* ObjectInstance */
+static int hf_cmip_item = -1; /* FilterItem */
+static int hf_cmip_and = -1; /* SET_OF_CMISFilter */
+static int hf_cmip_and_item = -1; /* CMISFilter */
+static int hf_cmip_or = -1; /* SET_OF_CMISFilter */
+static int hf_cmip_or_item = -1; /* CMISFilter */
+static int hf_cmip_not = -1; /* CMISFilter */
+static int hf_cmip_scope = -1; /* Scope */
+static int hf_cmip_filter = -1; /* CMISFilter */
+static int hf_cmip_sync = -1; /* CMISSync */
+static int hf_cmip_managedOrSuperiorObjectInstance = -1; /* T_managedOrSuperiorObjectInstance */
+static int hf_cmip_superiorObjectInstance = -1; /* ObjectInstance */
+static int hf_cmip_accessControl = -1; /* AccessControl */
+static int hf_cmip_referenceObjectInstance = -1; /* ObjectInstance */
+static int hf_cmip_attributeList = -1; /* SET_OF_Attribute */
+static int hf_cmip_attributeList_item = -1; /* Attribute */
+static int hf_cmip_deleteErrorInfo = -1; /* T_deleteErrorInfo */
+static int hf_cmip_eventType = -1; /* EventTypeId */
+static int hf_cmip_eventReplyInfo = -1; /* T_eventReplyInfo */
+static int hf_cmip_eventTime = -1; /* GeneralizedTime */
+static int hf_cmip_eventReportArgumenteventInfo = -1; /* EventReportArgumentEventInfo */
+static int hf_cmip_eventReply = -1; /* EventReply */
+static int hf_cmip_eventTypeId_globalForm = -1; /* T_eventTypeId_globalForm */
+static int hf_cmip_equality = -1; /* Attribute */
+static int hf_cmip_substrings = -1; /* T_substrings */
+static int hf_cmip_substrings_item = -1; /* T_substrings_item */
+static int hf_cmip_initialString = -1; /* Attribute */
+static int hf_cmip_anyString = -1; /* Attribute */
+static int hf_cmip_finalString = -1; /* Attribute */
+static int hf_cmip_greaterOrEqual = -1; /* Attribute */
+static int hf_cmip_lessOrEqual = -1; /* Attribute */
+static int hf_cmip_filterItempresent = -1; /* AttributeId */
+static int hf_cmip_subsetOf = -1; /* Attribute */
+static int hf_cmip_supersetOf = -1; /* Attribute */
+static int hf_cmip_nonNullSetIntersection = -1; /* Attribute */
+static int hf_cmip_attributeIdError = -1; /* AttributeIdError */
+static int hf_cmip_attribute = -1; /* Attribute */
+static int hf_cmip_getInfoList = -1; /* SET_OF_GetInfoStatus */
+static int hf_cmip_getInfoList_item = -1; /* GetInfoStatus */
+static int hf_cmip_actionValue = -1; /* ActionInfo */
+static int hf_cmip_eventValue = -1; /* T_eventValue */
+static int hf_cmip_eventInfo = -1; /* T_eventInfo */
+static int hf_cmip_getResult = -1; /* GetResult */
+static int hf_cmip_getListError = -1; /* GetListError */
+static int hf_cmip_setResult = -1; /* SetResult */
+static int hf_cmip_setListError = -1; /* SetListError */
+static int hf_cmip_actionResult = -1; /* ActionResult */
+static int hf_cmip_processingFailure = -1; /* ProcessingFailure */
+static int hf_cmip_deleteResult = -1; /* DeleteResult */
+static int hf_cmip_actionError = -1; /* ActionError */
+static int hf_cmip_deleteError = -1; /* DeleteError */
+static int hf_cmip_actionId = -1; /* T_actionId */
+static int hf_cmip_eventId = -1; /* T_eventId */
+static int hf_cmip_objectClass_globalForm = -1; /* T_objectClass_globalForm */
+static int hf_cmip_objectClasslocalForm = -1; /* INTEGER */
+static int hf_cmip_distinguishedName = -1; /* DistinguishedName */
+static int hf_cmip_nonSpecificForm = -1; /* OCTET_STRING */
+static int hf_cmip_localDistinguishedName = -1; /* RDNSequence */
+static int hf_cmip_specificErrorInfo = -1; /* SpecificErrorInfo */
+static int hf_cmip_RDNSequence_item = -1; /* RelativeDistinguishedName */
+static int hf_cmip_RelativeDistinguishedName_item = -1; /* AttributeValueAssertion */
+static int hf_cmip_namedNumbers = -1; /* T_namedNumbers */
+static int hf_cmip_individualLevels = -1; /* INTEGER */
+static int hf_cmip_baseToNthLevel = -1; /* INTEGER */
+static int hf_cmip_attributeError = -1; /* AttributeError */
+static int hf_cmip_setInfoList = -1; /* SET_OF_SetInfoStatus */
+static int hf_cmip_setInfoList_item = -1; /* SetInfoStatus */
+static int hf_cmip_errorId = -1; /* T_errorId */
+static int hf_cmip_errorInfo = -1; /* T_errorInfo */
+static int hf_cmip_abortSource = -1; /* CMIPAbortSource */
+static int hf_cmip_userInfo = -1; /* EXTERNAL */
+static int hf_cmip_protocolVersion = -1; /* ProtocolVersion */
+static int hf_cmip_functionalUnits = -1; /* FunctionalUnits */
+static int hf_cmip_cmipUserInfoaccessControl = -1; /* EXTERNAL */
+static int hf_cmip_AdditionalInformation_item = -1; /* ManagementExtension */
+static int hf_cmip_Allomorphs_item = -1; /* ObjectClass */
+static int hf_cmip_AttributeIdentifierList_item = -1; /* AttributeId */
+static int hf_cmip_AttributeList_item = -1; /* Attribute */
+static int hf_cmip_AttributeValueChangeDefinition_item = -1; /* AttributeValueChangeDefinition_item */
+static int hf_cmip_oldAttributeValue = -1; /* T_oldAttributeValue */
+static int hf_cmip_newAttributeValue = -1; /* T_newAttributeValue */
+static int hf_cmip_AlarmStatus_item = -1; /* AlarmStatus_item */
+static int hf_cmip_AvailabilityStatus_item = -1; /* AvailabilityStatus_item */
+static int hf_cmip_BackUpDestinationList_item = -1; /* AE_title */
+static int hf_cmip_objectName = -1; /* ObjectInstance */
+static int hf_cmip_noObject = -1; /* NULL */
+static int hf_cmip_CapacityAlarmThreshold_item = -1; /* INTEGER_0_100 */
+static int hf_cmip_ControlStatus_item = -1; /* ControlStatus_item */
+static int hf_cmip_CorrelatedNotifications_item = -1; /* CorrelatedNotifications_item */
+static int hf_cmip_correlatedNotifications = -1; /* SET_OF_NotificationIdentifier */
+static int hf_cmip_correlatedNotifications_item = -1; /* NotificationIdentifier */
+static int hf_cmip_sourceObjectInst = -1; /* ObjectInstance */
+static int hf_cmip_single = -1; /* AE_title */
+static int hf_cmip_multiple = -1; /* SET_OF_AE_title */
+static int hf_cmip_multiple_item = -1; /* AE_title */
+static int hf_cmip_GroupObjects_item = -1; /* ObjectInstance */
+static int hf_cmip_IntervalsOfDay_item = -1; /* IntervalsOfDay_item */
+static int hf_cmip_intervalStart = -1; /* Time24 */
+static int hf_cmip_intervalEnd = -1; /* Time24 */
+static int hf_cmip_managementExtensionidentifier = -1; /* T_managementExtensionidentifier */
+static int hf_cmip_significance = -1; /* BOOLEAN */
+static int hf_cmip_information = -1; /* T_information */
+static int hf_cmip_MonitoredAttributes_item = -1; /* Attribute */
+static int hf_cmip_integer = -1; /* INTEGER */
+static int hf_cmip_real = -1; /* REAL */
+static int hf_cmip_Packages_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_cmip_PrioritisedObject_item = -1; /* PrioritisedObject_item */
+static int hf_cmip_object = -1; /* ObjectInstance */
+static int hf_cmip_priority = -1; /* T_priority */
+static int hf_cmip_globalValue = -1; /* OBJECT_IDENTIFIER */
+static int hf_cmip_localValue = -1; /* INTEGER */
+static int hf_cmip_ProceduralStatus_item = -1; /* ProceduralStatus_item */
+static int hf_cmip_ProposedRepairActions_item = -1; /* SpecificIdentifier */
+static int hf_cmip_mechanism = -1; /* OBJECT_IDENTIFIER */
+static int hf_cmip_application = -1; /* AE_title */
+static int hf_cmip_serviceUseridentifier = -1; /* T_serviceUseridentifier */
+static int hf_cmip_details = -1; /* T_details */
+static int hf_cmip_number = -1; /* INTEGER */
+static int hf_cmip_string = -1; /* GraphicString */
+static int hf_cmip_oi = -1; /* OBJECT_IDENTIFIER */
+static int hf_cmip_int = -1; /* INTEGER */
+static int hf_cmip_SpecificProblems_item = -1; /* SpecificIdentifier */
+static int hf_cmip_specific = -1; /* GeneralizedTime */
+static int hf_cmip_continual = -1; /* NULL */
+static int hf_cmip_SupportedFeatures_item = -1; /* SupportedFeatures_item */
+static int hf_cmip_featureIdentifier = -1; /* T_featureIdentifier */
+static int hf_cmip_featureInfo = -1; /* T_featureInfo */
+static int hf_cmip_name = -1; /* GraphicString */
+static int hf_cmip_nothing = -1; /* NULL */
+static int hf_cmip_oid = -1; /* OBJECT_IDENTIFIER */
+static int hf_cmip_hour = -1; /* INTEGER_0_23 */
+static int hf_cmip_minute = -1; /* INTEGER_0_59 */
+static int hf_cmip_triggeredThreshold = -1; /* AttributeId */
+static int hf_cmip_observedValue = -1; /* ObservedValue */
+static int hf_cmip_thresholdLevel = -1; /* ThresholdLevelInd */
+static int hf_cmip_armTime = -1; /* GeneralizedTime */
+static int hf_cmip_up = -1; /* T_up */
+static int hf_cmip_high = -1; /* ObservedValue */
+static int hf_cmip_low = -1; /* ObservedValue */
+static int hf_cmip_down = -1; /* T_down */
+static int hf_cmip_WeekMask_item = -1; /* WeekMask_item */
+static int hf_cmip_daysOfWeek = -1; /* T_daysOfWeek */
+static int hf_cmip_intervalsOfDay = -1; /* IntervalsOfDay */
+static int hf_cmip_local = -1; /* T_local */
+static int hf_cmip_global = -1; /* OBJECT_IDENTIFIER */
+static int hf_cmip_invoke = -1; /* Invoke */
+static int hf_cmip_returnResult = -1; /* ReturnResult */
+static int hf_cmip_returnError = -1; /* ReturnError */
+static int hf_cmip_reject = -1; /* Reject */
+static int hf_cmip_invokeId = -1; /* InvokeId */
+static int hf_cmip_linkedId = -1; /* T_linkedId */
+static int hf_cmip_linkedIdPresent = -1; /* T_linkedIdPresent */
+static int hf_cmip_absent = -1; /* NULL */
+static int hf_cmip_opcode = -1; /* Code */
+static int hf_cmip_argument = -1; /* InvokeArgument */
+static int hf_cmip_result = -1; /* T_result */
+static int hf_cmip_resultArgument = -1; /* ResultArgument */
+static int hf_cmip_errcode = -1; /* Code */
+static int hf_cmip_parameter = -1; /* T_parameter */
+static int hf_cmip_problem = -1; /* T_problem */
+static int hf_cmip_general = -1; /* GeneralProblem */
+static int hf_cmip_invokeProblem = -1; /* InvokeProblem */
+static int hf_cmip_returnResultProblem = -1; /* ReturnResultProblem */
+static int hf_cmip_returnErrorProblem = -1; /* ReturnErrorProblem */
+static int hf_cmip_present = -1; /* INTEGER */
+static int hf_cmip_synchronization = -1; /* CMISSync */
+static int hf_cmip_actionInfo = -1; /* ActionInfo */
+static int hf_cmip_attributeIdList = -1; /* SET_OF_AttributeId */
+static int hf_cmip_attributeIdList_item = -1; /* AttributeId */
+static int hf_cmip_modificationList = -1; /* T_modificationList */
+static int hf_cmip_modificationList_item = -1; /* T_modificationList_item */
+static int hf_cmip_attributevalue = -1; /* T_attributevalue */
+static int hf_cmip_InvokeId_present = -1; /* InvokeId_present */
+/* named bits */
+static int hf_cmip_FunctionalUnits_multipleObjectSelection = -1;
+static int hf_cmip_FunctionalUnits_filter = -1;
+static int hf_cmip_FunctionalUnits_multipleReply = -1;
+static int hf_cmip_FunctionalUnits_extendedService = -1;
+static int hf_cmip_FunctionalUnits_cancelGet = -1;
+static int hf_cmip_ProtocolVersion_version1 = -1;
+static int hf_cmip_ProtocolVersion_version2 = -1;
+static int hf_cmip_T_daysOfWeek_sunday = -1;
+static int hf_cmip_T_daysOfWeek_monday = -1;
+static int hf_cmip_T_daysOfWeek_tuesday = -1;
+static int hf_cmip_T_daysOfWeek_wednesday = -1;
+static int hf_cmip_T_daysOfWeek_thursday = -1;
+static int hf_cmip_T_daysOfWeek_friday = -1;
+static int hf_cmip_T_daysOfWeek_saturday = -1;
+
+/* Initialize the subtree pointers */
+static gint ett_cmip = -1;
+static gint ett_cmip_PAR_missingAttributeValue = -1;
+static gint ett_cmip_ActionArgument = -1;
+static gint ett_cmip_ActionError = -1;
+static gint ett_cmip_ActionErrorInfo = -1;
+static gint ett_cmip_T_actionErrorInfo = -1;
+static gint ett_cmip_ActionInfo = -1;
+static gint ett_cmip_ActionReply = -1;
+static gint ett_cmip_ActionResult = -1;
+static gint ett_cmip_ActionTypeId = -1;
+static gint ett_cmip_Attribute = -1;
+static gint ett_cmip_AttributeError = -1;
+static gint ett_cmip_AttributeId = -1;
+static gint ett_cmip_AttributeIdError = -1;
+static gint ett_cmip_AttributeValueAssertion = -1;
+static gint ett_cmip_BaseManagedObjectId = -1;
+static gint ett_cmip_CMISFilter = -1;
+static gint ett_cmip_SET_OF_CMISFilter = -1;
+static gint ett_cmip_ComplexityLimitation = -1;
+static gint ett_cmip_CreateArgument = -1;
+static gint ett_cmip_T_managedOrSuperiorObjectInstance = -1;
+static gint ett_cmip_SET_OF_Attribute = -1;
+static gint ett_cmip_CreateResult = -1;
+static gint ett_cmip_DeleteArgument = -1;
+static gint ett_cmip_DeleteError = -1;
+static gint ett_cmip_DeleteResult = -1;
+static gint ett_cmip_EventReply = -1;
+static gint ett_cmip_EventReportArgument = -1;
+static gint ett_cmip_EventReportResult = -1;
+static gint ett_cmip_EventTypeId = -1;
+static gint ett_cmip_FilterItem = -1;
+static gint ett_cmip_T_substrings = -1;
+static gint ett_cmip_T_substrings_item = -1;
+static gint ett_cmip_GetArgument = -1;
+static gint ett_cmip_GetInfoStatus = -1;
+static gint ett_cmip_GetListError = -1;
+static gint ett_cmip_SET_OF_GetInfoStatus = -1;
+static gint ett_cmip_GetResult = -1;
+static gint ett_cmip_InvalidArgumentValue = -1;
+static gint ett_cmip_T_eventValue = -1;
+static gint ett_cmip_LinkedReplyArgument = -1;
+static gint ett_cmip_NoSuchAction = -1;
+static gint ett_cmip_NoSuchArgument = -1;
+static gint ett_cmip_T_actionId = -1;
+static gint ett_cmip_T_eventId = -1;
+static gint ett_cmip_NoSuchEventType = -1;
+static gint ett_cmip_ObjectClass = -1;
+static gint ett_cmip_ObjectInstance = -1;
+static gint ett_cmip_ProcessingFailure = -1;
+static gint ett_cmip_RDNSequence = -1;
+static gint ett_cmip_RelativeDistinguishedName = -1;
+static gint ett_cmip_Scope = -1;
+static gint ett_cmip_SetArgument = -1;
+static gint ett_cmip_SetInfoStatus = -1;
+static gint ett_cmip_SetListError = -1;
+static gint ett_cmip_SET_OF_SetInfoStatus = -1;
+static gint ett_cmip_SetResult = -1;
+static gint ett_cmip_SpecificErrorInfo = -1;
+static gint ett_cmip_CMIPAbortInfo = -1;
+static gint ett_cmip_FunctionalUnits = -1;
+static gint ett_cmip_CMIPUserInfo = -1;
+static gint ett_cmip_ProtocolVersion = -1;
+static gint ett_cmip_AdditionalInformation = -1;
+static gint ett_cmip_Allomorphs = -1;
+static gint ett_cmip_AttributeIdentifierList = -1;
+static gint ett_cmip_AttributeList = -1;
+static gint ett_cmip_AttributeValueChangeDefinition = -1;
+static gint ett_cmip_AttributeValueChangeDefinition_item = -1;
+static gint ett_cmip_AlarmStatus = -1;
+static gint ett_cmip_AvailabilityStatus = -1;
+static gint ett_cmip_BackUpDestinationList = -1;
+static gint ett_cmip_BackUpRelationshipObject = -1;
+static gint ett_cmip_CapacityAlarmThreshold = -1;
+static gint ett_cmip_ControlStatus = -1;
+static gint ett_cmip_CorrelatedNotifications = -1;
+static gint ett_cmip_CorrelatedNotifications_item = -1;
+static gint ett_cmip_SET_OF_NotificationIdentifier = -1;
+static gint ett_cmip_Destination = -1;
+static gint ett_cmip_SET_OF_AE_title = -1;
+static gint ett_cmip_GroupObjects = -1;
+static gint ett_cmip_IntervalsOfDay = -1;
+static gint ett_cmip_IntervalsOfDay_item = -1;
+static gint ett_cmip_ManagementExtension = -1;
+static gint ett_cmip_MonitoredAttributes = -1;
+static gint ett_cmip_ObservedValue = -1;
+static gint ett_cmip_Packages = -1;
+static gint ett_cmip_PrioritisedObject = -1;
+static gint ett_cmip_PrioritisedObject_item = -1;
+static gint ett_cmip_ProbableCause = -1;
+static gint ett_cmip_ProceduralStatus = -1;
+static gint ett_cmip_ProposedRepairActions = -1;
+static gint ett_cmip_SecurityAlarmDetector = -1;
+static gint ett_cmip_ServiceUser = -1;
+static gint ett_cmip_SimpleNameType = -1;
+static gint ett_cmip_SpecificIdentifier = -1;
+static gint ett_cmip_SpecificProblems = -1;
+static gint ett_cmip_StopTime = -1;
+static gint ett_cmip_SupportedFeatures = -1;
+static gint ett_cmip_SupportedFeatures_item = -1;
+static gint ett_cmip_SystemId = -1;
+static gint ett_cmip_SystemTitle = -1;
+static gint ett_cmip_Time24 = -1;
+static gint ett_cmip_ThresholdInfo = -1;
+static gint ett_cmip_ThresholdLevelInd = -1;
+static gint ett_cmip_T_up = -1;
+static gint ett_cmip_T_down = -1;
+static gint ett_cmip_WeekMask = -1;
+static gint ett_cmip_WeekMask_item = -1;
+static gint ett_cmip_T_daysOfWeek = -1;
+static gint ett_cmip_Code = -1;
+static gint ett_cmip_ROS = -1;
+static gint ett_cmip_Invoke = -1;
+static gint ett_cmip_T_linkedId = -1;
+static gint ett_cmip_ReturnResult = -1;
+static gint ett_cmip_T_result = -1;
+static gint ett_cmip_ReturnError = -1;
+static gint ett_cmip_Reject = -1;
+static gint ett_cmip_T_problem = -1;
+static gint ett_cmip_InvokeId = -1;
+static gint ett_cmip_SET_OF_AttributeId = -1;
+static gint ett_cmip_T_modificationList = -1;
+static gint ett_cmip_T_modificationList_item = -1;
+
+static expert_field ei_wrong_spdu_type = EI_INIT;
+
+static guint32 opcode;
+
+static dissector_handle_t cmip_handle = NULL;
+
+/* Dissector table */
+static dissector_table_t attribute_id_dissector_table;
+
+
+/* CMIP OPERATIONS */
+static const value_string cmip_Opcode_vals[] = {
+ { 6, "m_Action" },
+ { 7, "m_Action_Confirmed" },
+ { 10, "m_CancelGet" },
+ { 8, "m_Create" },
+ { 9, "m_Delete" },
+ { 0, "m_EventReport" },
+ { 1, "m_EventReport_Confirmed" },
+ { 3, "m_Get" },
+ { 2, "m_Linked_Reply" },
+ { 4, "m_Set" },
+ { 5, "m_Set_Confirmed" },
+ { 0, NULL }
+};
+
+
+/* CMIP ERRORS */
+static const value_string cmip_error_code_vals[] = {
+ { 2, "accessDenied" },
+ { 19, "classInstanceConflict" },
+ { 20, "complexityLimitation" },
+ { 11, "duplicateManagedObjectInstance" },
+ { 7, "getListError" },
+ { 15, "invalidArgumentValue" },
+ { 6, "invalidAttributeValue" },
+ { 4, "invalidFilter" },
+ { 17, "invalidObjectInstance" },
+ { 16, "invalidScope" },
+ { 18, "missingAttributeValue" },
+ { 21, "mistypedOperation" },
+ { 9, "noSuchAction" },
+ { 14, "noSuchArgument" },
+ { 5, "noSuchAttribute" },
+ { 13, "noSuchEventType" },
+ { 22, "noSuchInvokeId" },
+ { 0, "noSuchObjectClass" },
+ { 1, "noSuchObjectInstance" },
+ { 12, "noSuchReferenceObject" },
+ { 23, "operationCancelled" },
+ { 10, "processingFailure" },
+ { 8, "setListError" },
+ { 3, "syncNotSupported" },
+ { 0, NULL }
+};
+
+
+static int opcode_type;
+#define OPCODE_INVOKE 1
+#define OPCODE_RETURN_RESULT 2
+#define OPCODE_RETURN_ERROR 3
+#define OPCODE_REJECT 4
+
+static const char *object_identifier_id;
+
+#define smi2AttributeID "2.9.3.2.7"
+#define smi2AttributeGroup "2.9.3.2.8"
+#define arfProbableCause "2.9.3.2.0.0"
+#define adapterError arfProbableCause".1"
+#define applicationSubsystemFailure arfProbableCause".2"
+#define bandwidthReduced arfProbableCause".3"
+#define callEstablishmentError arfProbableCause".4"
+#define communicationsProtocolError arfProbableCause".5"
+#define communicationsSubsystemFailure arfProbableCause".6"
+#define configurationOrCustomizationError arfProbableCause".7"
+#define congestion arfProbableCause".8"
+#define corruptData arfProbableCause".9"
+#define cpuCyclesLimitExceeded arfProbableCause".10"
+#define dataSetOrModemError arfProbableCause".11"
+#define degradedSignal arfProbableCause".12"
+#define dTE_DCEInterfaceError arfProbableCause".13"
+#define enclosureDoorOpen arfProbableCause".14"
+#define equipmentMalfunction arfProbableCause".15"
+#define excessiveVibration arfProbableCause".16"
+#define fileError arfProbableCause".17"
+#define fireDetected arfProbableCause".18"
+#define floodDetected arfProbableCause".19"
+#define framingError arfProbableCause".20"
+#define heatingOrVentilationOrCoolingSystemProblem arfProbableCause".21"
+#define humidityUnacceptable arfProbableCause".22"
+#define inputOutputDeviceError arfProbableCause".23"
+#define inputDeviceError arfProbableCause".24"
+#define lANError arfProbableCause".25"
+#define leakDetected arfProbableCause".26"
+#define localNodeTransmissionError arfProbableCause".27"
+#define lossOfFrame arfProbableCause".28"
+#define lossOfSignal arfProbableCause".29"
+#define materialSupplyExhausted arfProbableCause".30"
+#define multiplexerProblem arfProbableCause".31"
+#define outOfMemory arfProbableCause".32"
+#define ouputDeviceError arfProbableCause".33"
+#define performanceDegraded arfProbableCause".34"
+#define powerProblem arfProbableCause".35"
+#define pressureUnacceptable arfProbableCause".36"
+#define processorProblem arfProbableCause".37"
+#define pumpFailure arfProbableCause".38"
+#define queueSizeExceeded arfProbableCause".39"
+#define receiveFailure arfProbableCause".40"
+#define receiverFailure arfProbableCause".41"
+#define remoteNodeTransmissionError arfProbableCause".42"
+#define resourceAtOrNearingCapacity arfProbableCause".43"
+#define responseTimeExcessive arfProbableCause".44"
+#define retransmissionRateExcessive arfProbableCause".45"
+#define softwareError arfProbableCause".46"
+#define softwareProgramAbnormallyTerminated arfProbableCause".47"
+#define softwareProgramError arfProbableCause".48"
+#define storageCapacityProblem arfProbableCause".49"
+#define temperatureUnacceptable arfProbableCause".50"
+#define thresholdCrossed arfProbableCause".51"
+#define timingProblem arfProbableCause".52"
+#define toxicLeakDetected arfProbableCause".53"
+#define transmitFailure arfProbableCause".54"
+#define transmitterFailure arfProbableCause".55"
+#define underlyingResourceUnavailable arfProbableCause".56"
+#define versionMismatch arfProbableCause".57"
+#define arfProposedRepairAction "2.9.3.2.0.2"
+#define noActionRequired arfProposedRepairAction".1"
+#define repairActionRequired arfProposedRepairAction".2"
+#define securityAlarmCause "2.9.3.2.0.1"
+#define authenticationFailure securityAlarmCause".1"
+#define breachOfConfidentiality securityAlarmCause".2"
+#define cableTamper securityAlarmCause".3"
+#define delayedInformation securityAlarmCause".4"
+#define denialOfService securityAlarmCause".5"
+#define duplicateInformation securityAlarmCause".6"
+#define informationMissing securityAlarmCause".7"
+#define informationModificationDetected securityAlarmCause".8"
+#define informationOutOfSequence securityAlarmCause".9"
+#define intrusionDetection securityAlarmCause".10"
+#define keyExpired securityAlarmCause".11"
+#define nonRepudiationFailure securityAlarmCause".12"
+#define outOfHoursActivity securityAlarmCause".13"
+#define outOfService securityAlarmCause".14"
+#define proceduralError securityAlarmCause".15"
+#define unauthorizedAccessAttempt securityAlarmCause".16"
+#define unexpectedInformation securityAlarmCause".17"
+#define unspecifiedReason securityAlarmCause".18"
+#define defaultDiscriminatorConstruct []
+#define noInvokeId NULL
+/*--- Cyclic dependencies ---*/
+
+/* CMISFilter -> CMISFilter/and -> CMISFilter */
+/* CMISFilter -> CMISFilter */
+static int dissect_cmip_CMISFilter(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+
+#define MAX_RECURSION_DEPTH 100 // Arbitrarily chosen.
+
+
+static int
+dissect_cmip_T_attributeId_globalForm(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
+
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_attributeIdlocalForm(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &actx->external.indirect_reference);
+
+ actx->external.indirect_ref_present = TRUE;
+
+
+ return offset;
+}
+
+
+static const value_string cmip_AttributeId_vals[] = {
+ { 0, "globalForm" },
+ { 1, "localForm" },
+ { 0, NULL }
+};
+
+static const ber_choice_t AttributeId_choice[] = {
+ { 0, &hf_cmip_attributeId_globalForm, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_T_attributeId_globalForm },
+ { 1, &hf_cmip_attributeIdlocalForm, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_attributeIdlocalForm },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_AttributeId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ AttributeId_choice, hf_index, ett_cmip_AttributeId,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t PAR_missingAttributeValue_set_of[1] = {
+ { &hf_cmip_PAR_missingAttributeValue_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+};
+
+static int
+dissect_cmip_PAR_missingAttributeValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ PAR_missingAttributeValue_set_of, hf_index, ett_cmip_PAR_missingAttributeValue);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_AccessControl(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_objectClass_globalForm(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_INTEGER(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+const value_string cmip_ObjectClass_vals[] = {
+ { 0, "globalForm" },
+ { 1, "localForm" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ObjectClass_choice[] = {
+ { 0, &hf_cmip_objectClass_globalForm, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_T_objectClass_globalForm },
+ { 1, &hf_cmip_objectClasslocalForm, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+int
+dissect_cmip_ObjectClass(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ ObjectClass_choice, hf_index, ett_cmip_ObjectClass,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_id(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
+
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_attributeValueAssertionvalue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ if (actx->external.direct_ref_present) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
+ }
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeValueAssertion_sequence[] = {
+ { &hf_cmip_id , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_id },
+ { &hf_cmip_attributeValueAssertionvalue, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributeValueAssertionvalue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_AttributeValueAssertion(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ AttributeValueAssertion_sequence, hf_index, ett_cmip_AttributeValueAssertion);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RelativeDistinguishedName_set_of[1] = {
+ { &hf_cmip_RelativeDistinguishedName_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_AttributeValueAssertion },
+};
+
+static int
+dissect_cmip_RelativeDistinguishedName(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ RelativeDistinguishedName_set_of, hf_index, ett_cmip_RelativeDistinguishedName);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RDNSequence_sequence_of[1] = {
+ { &hf_cmip_RDNSequence_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_cmip_RelativeDistinguishedName },
+};
+
+int
+dissect_cmip_RDNSequence(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ RDNSequence_sequence_of, hf_index, ett_cmip_RDNSequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_DistinguishedName(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_cmip_RDNSequence(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_OCTET_STRING(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+const value_string cmip_ObjectInstance_vals[] = {
+ { 2, "distinguishedName" },
+ { 3, "nonSpecificForm" },
+ { 4, "localDistinguishedName" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ObjectInstance_choice[] = {
+ { 2, &hf_cmip_distinguishedName, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_DistinguishedName },
+ { 3, &hf_cmip_nonSpecificForm, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_OCTET_STRING },
+ { 4, &hf_cmip_localDistinguishedName, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_RDNSequence },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+int
+dissect_cmip_ObjectInstance(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ ObjectInstance_choice, hf_index, ett_cmip_ObjectInstance,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_CMISSync_vals[] = {
+ { 0, "bestEffort" },
+ { 1, "atomic" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_CMISSync(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_namedNumbers_vals[] = {
+ { 0, "baseObject" },
+ { 1, "firstLevelOnly" },
+ { 2, "wholeSubtree" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_T_namedNumbers(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_Scope_vals[] = {
+ { 0, "namedNumbers" },
+ { 1, "individualLevels" },
+ { 2, "baseToNthLevel" },
+ { 0, NULL }
+};
+
+static const ber_choice_t Scope_choice[] = {
+ { 0, &hf_cmip_namedNumbers , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_T_namedNumbers },
+ { 1, &hf_cmip_individualLevels, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
+ { 2, &hf_cmip_baseToNthLevel , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_Scope(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ Scope_choice, hf_index, ett_cmip_Scope,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_AttributeValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ 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);
+ }
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t Attribute_sequence[] = {
+ { &hf_cmip_attributeid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+ { &hf_cmip_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_AttributeValue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+int
+dissect_cmip_Attribute(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ Attribute_sequence, hf_index, ett_cmip_Attribute);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_substrings_item_vals[] = {
+ { 0, "initialString" },
+ { 1, "anyString" },
+ { 2, "finalString" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_substrings_item_choice[] = {
+ { 0, &hf_cmip_initialString , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 1, &hf_cmip_anyString , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 2, &hf_cmip_finalString , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_substrings_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ T_substrings_item_choice, hf_index, ett_cmip_T_substrings_item,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_substrings_sequence_of[1] = {
+ { &hf_cmip_substrings_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_substrings_item },
+};
+
+static int
+dissect_cmip_T_substrings(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ T_substrings_sequence_of, hf_index, ett_cmip_T_substrings);
+
+ return offset;
+}
+
+
+static const value_string cmip_FilterItem_vals[] = {
+ { 0, "equality" },
+ { 1, "substrings" },
+ { 2, "greaterOrEqual" },
+ { 3, "lessOrEqual" },
+ { 4, "present" },
+ { 5, "subsetOf" },
+ { 6, "supersetOf" },
+ { 7, "nonNullSetIntersection" },
+ { 0, NULL }
+};
+
+static const ber_choice_t FilterItem_choice[] = {
+ { 0, &hf_cmip_equality , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 1, &hf_cmip_substrings , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_substrings },
+ { 2, &hf_cmip_greaterOrEqual , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 3, &hf_cmip_lessOrEqual , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 4, &hf_cmip_filterItempresent, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_AttributeId },
+ { 5, &hf_cmip_subsetOf , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 6, &hf_cmip_supersetOf , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 7, &hf_cmip_nonNullSetIntersection, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_FilterItem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ FilterItem_choice, hf_index, ett_cmip_FilterItem,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_CMISFilter_set_of[1] = {
+ { &hf_cmip_and_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
+};
+
+static int
+dissect_cmip_SET_OF_CMISFilter(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_CMISFilter_set_of, hf_index, ett_cmip_SET_OF_CMISFilter);
+
+ return offset;
+}
+
+
+static const value_string cmip_CMISFilter_vals[] = {
+ { 8, "item" },
+ { 9, "and" },
+ { 10, "or" },
+ { 11, "not" },
+ { 0, NULL }
+};
+
+static const ber_choice_t CMISFilter_choice[] = {
+ { 8, &hf_cmip_item , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_cmip_FilterItem },
+ { 9, &hf_cmip_and , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_CMISFilter },
+ { 10, &hf_cmip_or , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_CMISFilter },
+ { 11, &hf_cmip_not , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_cmip_CMISFilter },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_CMISFilter(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ const int proto_id = GPOINTER_TO_INT(wmem_list_frame_data(wmem_list_tail(actx->pinfo->layers)));
+ const unsigned cycle_size = 3;
+ unsigned recursion_depth = p_get_proto_depth(actx->pinfo, proto_id);
+ DISSECTOR_ASSERT(recursion_depth <= MAX_RECURSION_DEPTH);
+ p_set_proto_depth(actx->pinfo, proto_id, recursion_depth + cycle_size);
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ CMISFilter_choice, hf_index, ett_cmip_CMISFilter,
+ NULL);
+
+ p_set_proto_depth(actx->pinfo, proto_id, recursion_depth - cycle_size);
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_actionTypeId_globalForm(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
+
+ return offset;
+}
+
+
+static const value_string cmip_ActionTypeId_vals[] = {
+ { 2, "globalForm" },
+ { 3, "localForm" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ActionTypeId_choice[] = {
+ { 2, &hf_cmip_actionTypeId_globalForm, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_T_actionTypeId_globalForm },
+ { 3, &hf_cmip_localForm , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ActionTypeId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ ActionTypeId_choice, hf_index, ett_cmip_ActionTypeId,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_actionInfoArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t ActionInfo_sequence[] = {
+ { &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ActionTypeId },
+ { &hf_cmip_actionInfoArg , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_T_actionInfoArg },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ActionInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ActionInfo_sequence, hf_index, ett_cmip_ActionInfo);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ActionArgument_sequence[] = {
+ { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
+ { &hf_cmip_synchronization, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
+ { &hf_cmip_scope , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
+ { &hf_cmip_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
+ { &hf_cmip_actionInfo , BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_cmip_ActionInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ActionArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ActionArgument_sequence, hf_index, ett_cmip_ActionArgument);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_GeneralizedTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_actionErrorInfo_errorStatus_vals[] = {
+ { 2, "accessDenied" },
+ { 9, "noSuchAction" },
+ { 14, "noSuchArgument" },
+ { 15, "invalidArgumentValue" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_T_actionErrorInfo_errorStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_actionId_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ActionTypeId },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_actionId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_actionId_sequence, hf_index, ett_cmip_T_actionId);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_eventTypeId_globalForm(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
+
+ return offset;
+}
+
+
+static const value_string cmip_EventTypeId_vals[] = {
+ { 6, "globalForm" },
+ { 7, "localForm" },
+ { 0, NULL }
+};
+
+static const ber_choice_t EventTypeId_choice[] = {
+ { 6, &hf_cmip_eventTypeId_globalForm, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_T_eventTypeId_globalForm },
+ { 7, &hf_cmip_localForm , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_EventTypeId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ EventTypeId_choice, hf_index, ett_cmip_EventTypeId,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_eventId_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_eventId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_eventId_sequence, hf_index, ett_cmip_T_eventId);
+
+ return offset;
+}
+
+
+static const value_string cmip_NoSuchArgument_vals[] = {
+ { 0, "actionId" },
+ { 1, "eventId" },
+ { 0, NULL }
+};
+
+static const ber_choice_t NoSuchArgument_choice[] = {
+ { 0, &hf_cmip_actionId , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_T_actionId },
+ { 1, &hf_cmip_eventId , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_eventId },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_NoSuchArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ NoSuchArgument_choice, hf_index, ett_cmip_NoSuchArgument,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_eventInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_eventValue_sequence[] = {
+ { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
+ { &hf_cmip_eventInfo , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_T_eventInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_eventValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_eventValue_sequence, hf_index, ett_cmip_T_eventValue);
+
+ return offset;
+}
+
+
+static const value_string cmip_InvalidArgumentValue_vals[] = {
+ { 0, "actionValue" },
+ { 1, "eventValue" },
+ { 0, NULL }
+};
+
+static const ber_choice_t InvalidArgumentValue_choice[] = {
+ { 0, &hf_cmip_actionValue , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_ActionInfo },
+ { 1, &hf_cmip_eventValue , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_eventValue },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_InvalidArgumentValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ InvalidArgumentValue_choice, hf_index, ett_cmip_InvalidArgumentValue,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_actionErrorInfo_vals[] = {
+ { 0, "actionType" },
+ { 1, "actionArgument" },
+ { 2, "argumentValue" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_actionErrorInfo_choice[] = {
+ { 0, &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_cmip_ActionTypeId },
+ { 1, &hf_cmip_actionArgument , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_NoSuchArgument },
+ { 2, &hf_cmip_argumentValue , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_InvalidArgumentValue },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_actionErrorInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ T_actionErrorInfo_choice, hf_index, ett_cmip_T_actionErrorInfo,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ActionErrorInfo_sequence[] = {
+ { &hf_cmip_actionErrorInfo_errorStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_cmip_T_actionErrorInfo_errorStatus },
+ { &hf_cmip_actionErrorInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_actionErrorInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ActionErrorInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ActionErrorInfo_sequence, hf_index, ett_cmip_ActionErrorInfo);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ActionError_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_actionErroractionErrorInfo, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_ActionErrorInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ActionError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ActionError_sequence, hf_index, ett_cmip_ActionError);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_actionReplyInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t ActionReply_sequence[] = {
+ { &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ActionTypeId },
+ { &hf_cmip_actionReplyInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_T_actionReplyInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ActionReply(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ActionReply_sequence, hf_index, ett_cmip_ActionReply);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ActionResult_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_actionReply , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_ActionReply },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ActionResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ActionResult_sequence, hf_index, ett_cmip_ActionResult);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_attributeError_errorStatus_vals[] = {
+ { 2, "accessDenied" },
+ { 5, "noSuchAttribute" },
+ { 6, "invalidAttributeValue" },
+ { 24, "invalidOperation" },
+ { 25, "invalidOperator" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_T_attributeError_errorStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_ModifyOperator_vals[] = {
+ { 0, "replace" },
+ { 1, "addValues" },
+ { 2, "removeValues" },
+ { 3, "setToDefault" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_ModifyOperator(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_attributeValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeError_sequence[] = {
+ { &hf_cmip_attributeError_errorStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributeError_errorStatus },
+ { &hf_cmip_modifyOperator , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_ModifyOperator },
+ { &hf_cmip_attributeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+ { &hf_cmip_attributeValue , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributeValue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_AttributeError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ AttributeError_sequence, hf_index, ett_cmip_AttributeError);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_attributeIdError_errorStatus_vals[] = {
+ { 2, "accessDenied" },
+ { 5, "noSuchAttribute" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_T_attributeIdError_errorStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeIdError_sequence[] = {
+ { &hf_cmip_attributeIdError_errorStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributeIdError_errorStatus },
+ { &hf_cmip_attributeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_AttributeIdError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ AttributeIdError_sequence, hf_index, ett_cmip_AttributeIdError);
+
+ return offset;
+}
+
+
+static const ber_sequence_t BaseManagedObjectId_sequence[] = {
+ { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_BaseManagedObjectId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ BaseManagedObjectId_sequence, hf_index, ett_cmip_BaseManagedObjectId);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ComplexityLimitation_set[] = {
+ { &hf_cmip_scope , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
+ { &hf_cmip_filter , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
+ { &hf_cmip_sync , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ComplexityLimitation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ ComplexityLimitation_set, hf_index, ett_cmip_ComplexityLimitation);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_managedOrSuperiorObjectInstance_vals[] = {
+ { 0, "managedObjectInstance" },
+ { 1, "superiorObjectInstance" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_managedOrSuperiorObjectInstance_choice[] = {
+ { 0, &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_cmip_ObjectInstance },
+ { 1, &hf_cmip_superiorObjectInstance, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_cmip_ObjectInstance },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_managedOrSuperiorObjectInstance(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ T_managedOrSuperiorObjectInstance_choice, hf_index, ett_cmip_T_managedOrSuperiorObjectInstance,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_Attribute_set_of[1] = {
+ { &hf_cmip_attributeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Attribute },
+};
+
+static int
+dissect_cmip_SET_OF_Attribute(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_Attribute_set_of, hf_index, ett_cmip_SET_OF_Attribute);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CreateArgument_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedOrSuperiorObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_managedOrSuperiorObjectInstance },
+ { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
+ { &hf_cmip_referenceObjectInstance, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_attributeList , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_Attribute },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_CreateArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ CreateArgument_sequence, hf_index, ett_cmip_CreateArgument);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CreateResult_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_attributeList , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_Attribute },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_CreateResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ CreateResult_sequence, hf_index, ett_cmip_CreateResult);
+
+ return offset;
+}
+
+
+static const ber_sequence_t DeleteArgument_sequence[] = {
+ { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
+ { &hf_cmip_synchronization, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
+ { &hf_cmip_scope , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
+ { &hf_cmip_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_DeleteArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ DeleteArgument_sequence, hf_index, ett_cmip_DeleteArgument);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_deleteErrorInfo_vals[] = {
+ { 2, "accessDenied" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_T_deleteErrorInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t DeleteError_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_deleteErrorInfo, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_T_deleteErrorInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_DeleteError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ DeleteError_sequence, hf_index, ett_cmip_DeleteError);
+
+ return offset;
+}
+
+
+static const ber_sequence_t DeleteResult_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_DeleteResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ DeleteResult_sequence, hf_index, ett_cmip_DeleteResult);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_eventReplyInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t EventReply_sequence[] = {
+ { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
+ { &hf_cmip_eventReplyInfo , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_T_eventReplyInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_EventReply(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ EventReply_sequence, hf_index, ett_cmip_EventReply);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_EventReportArgumentEventInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t EventReportArgument_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_eventTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
+ { &hf_cmip_eventReportArgumenteventInfo, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_EventReportArgumentEventInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_EventReportArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ EventReportArgument_sequence, hf_index, ett_cmip_EventReportArgument);
+
+ return offset;
+}
+
+
+static const ber_sequence_t EventReportResult_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_eventReply , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_EventReply },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_EventReportResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ EventReportResult_sequence, hf_index, ett_cmip_EventReportResult);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_AttributeId_set_of[1] = {
+ { &hf_cmip_attributeIdList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+};
+
+static int
+dissect_cmip_SET_OF_AttributeId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_AttributeId_set_of, hf_index, ett_cmip_SET_OF_AttributeId);
+
+ return offset;
+}
+
+
+static const ber_sequence_t GetArgument_sequence[] = {
+ { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
+ { &hf_cmip_synchronization, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
+ { &hf_cmip_scope , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
+ { &hf_cmip_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
+ { &hf_cmip_attributeIdList, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_AttributeId },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_GetArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ GetArgument_sequence, hf_index, ett_cmip_GetArgument);
+
+ return offset;
+}
+
+
+static const value_string cmip_GetInfoStatus_vals[] = {
+ { 0, "attributeIdError" },
+ { 1, "attribute" },
+ { 0, NULL }
+};
+
+static const ber_choice_t GetInfoStatus_choice[] = {
+ { 0, &hf_cmip_attributeIdError, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_AttributeIdError },
+ { 1, &hf_cmip_attribute , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_GetInfoStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ GetInfoStatus_choice, hf_index, ett_cmip_GetInfoStatus,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_GetInfoStatus_set_of[1] = {
+ { &hf_cmip_getInfoList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_GetInfoStatus },
+};
+
+static int
+dissect_cmip_SET_OF_GetInfoStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_GetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_GetInfoStatus);
+
+ return offset;
+}
+
+
+static const ber_sequence_t GetListError_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_getInfoList , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_GetInfoStatus },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_GetListError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ GetListError_sequence, hf_index, ett_cmip_GetListError);
+
+ return offset;
+}
+
+
+static const ber_sequence_t GetResult_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_attributeList , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_Attribute },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_GetResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ GetResult_sequence, hf_index, ett_cmip_GetResult);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_NULL(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
+static const value_string cmip_InvokeId_vals[] = {
+ { 0, "present" },
+ { 1, "absent" },
+ { 0, NULL }
+};
+
+static const ber_choice_t InvokeId_choice[] = {
+ { 0, &hf_cmip_present , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
+ { 1, &hf_cmip_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_InvokeId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ InvokeId_choice, hf_index, ett_cmip_InvokeId,
+ NULL);
+
+ return offset;
+}
+
+
+
+int
+dissect_cmip_InvokeIDType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_cmip_InvokeId(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SetResult_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_attributeList , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_Attribute },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SetResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ SetResult_sequence, hf_index, ett_cmip_SetResult);
+
+ return offset;
+}
+
+
+static const value_string cmip_SetInfoStatus_vals[] = {
+ { 0, "attributeError" },
+ { 1, "attribute" },
+ { 0, NULL }
+};
+
+static const ber_choice_t SetInfoStatus_choice[] = {
+ { 0, &hf_cmip_attributeError , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_AttributeError },
+ { 1, &hf_cmip_attribute , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SetInfoStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ SetInfoStatus_choice, hf_index, ett_cmip_SetInfoStatus,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_SetInfoStatus_set_of[1] = {
+ { &hf_cmip_setInfoList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_SetInfoStatus },
+};
+
+static int
+dissect_cmip_SET_OF_SetInfoStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_SetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_SetInfoStatus);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SetListError_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { &hf_cmip_setInfoList , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_SetInfoStatus },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SetListError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ SetListError_sequence, hf_index, ett_cmip_SetListError);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_errorId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_cmip_errorId_OID, &object_identifier_id);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_errorInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t SpecificErrorInfo_sequence[] = {
+ { &hf_cmip_errorId , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_errorId },
+ { &hf_cmip_errorInfo , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_T_errorInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SpecificErrorInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ SpecificErrorInfo_sequence, hf_index, ett_cmip_SpecificErrorInfo);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ProcessingFailure_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_specificErrorInfo, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_cmip_SpecificErrorInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ProcessingFailure(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ProcessingFailure_sequence, hf_index, ett_cmip_ProcessingFailure);
+
+ return offset;
+}
+
+
+static const ber_choice_t LinkedReplyArgument_choice[] = {
+ { 0, &hf_cmip_getResult , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_GetResult },
+ { 1, &hf_cmip_getListError , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_GetListError },
+ { 2, &hf_cmip_setResult , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_SetResult },
+ { 3, &hf_cmip_setListError , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_SetListError },
+ { 4, &hf_cmip_actionResult , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_ActionResult },
+ { 5, &hf_cmip_processingFailure, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_cmip_ProcessingFailure },
+ { 6, &hf_cmip_deleteResult , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_DeleteResult },
+ { 7, &hf_cmip_actionError , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_cmip_ActionError },
+ { 8, &hf_cmip_deleteError , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_cmip_DeleteError },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_LinkedReplyArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ LinkedReplyArgument_choice, hf_index, ett_cmip_LinkedReplyArgument,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t NoSuchAction_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ActionTypeId },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_NoSuchAction(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ NoSuchAction_sequence, hf_index, ett_cmip_NoSuchAction);
+
+ return offset;
+}
+
+
+static const ber_sequence_t NoSuchEventType_sequence[] = {
+ { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_NoSuchEventType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ NoSuchEventType_sequence, hf_index, ett_cmip_NoSuchEventType);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_attributevalue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ 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);
+ }
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_modificationList_item_sequence[] = {
+ { &hf_cmip_modifyOperator , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_ModifyOperator },
+ { &hf_cmip_attributeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+ { &hf_cmip_attributevalue , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributevalue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_modificationList_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_modificationList_item_sequence, hf_index, ett_cmip_T_modificationList_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_modificationList_set_of[1] = {
+ { &hf_cmip_modificationList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_T_modificationList_item },
+};
+
+static int
+dissect_cmip_T_modificationList(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ T_modificationList_set_of, hf_index, ett_cmip_T_modificationList);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SetArgument_sequence[] = {
+ { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+ { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
+ { &hf_cmip_synchronization, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
+ { &hf_cmip_scope , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
+ { &hf_cmip_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
+ { &hf_cmip_modificationList, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_cmip_T_modificationList },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SetArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ SetArgument_sequence, hf_index, ett_cmip_SetArgument);
+
+ return offset;
+}
+
+
+static const value_string cmip_CMIPAbortSource_vals[] = {
+ { 0, "cmiseServiceUser" },
+ { 1, "cmiseServiceProvider" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_CMIPAbortSource(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ guint32 value;
+
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &value);
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " AbortSource:%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%d"));
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_EXTERNAL(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CMIPAbortInfo_sequence[] = {
+ { &hf_cmip_abortSource , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_CMIPAbortSource },
+ { &hf_cmip_userInfo , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_EXTERNAL },
+ { NULL, 0, 0, 0, NULL }
+};
+
+int
+dissect_cmip_CMIPAbortInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ABORT");
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ CMIPAbortInfo_sequence, hf_index, ett_cmip_CMIPAbortInfo);
+
+ return offset;
+}
+
+
+static int * const FunctionalUnits_bits[] = {
+ &hf_cmip_FunctionalUnits_multipleObjectSelection,
+ &hf_cmip_FunctionalUnits_filter,
+ &hf_cmip_FunctionalUnits_multipleReply,
+ &hf_cmip_FunctionalUnits_extendedService,
+ &hf_cmip_FunctionalUnits_cancelGet,
+ NULL
+};
+
+static int
+dissect_cmip_FunctionalUnits(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
+ FunctionalUnits_bits, 5, hf_index, ett_cmip_FunctionalUnits,
+ NULL);
+
+ return offset;
+}
+
+
+static int * const ProtocolVersion_bits[] = {
+ &hf_cmip_ProtocolVersion_version1,
+ &hf_cmip_ProtocolVersion_version2,
+ NULL
+};
+
+static int
+dissect_cmip_ProtocolVersion(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
+ ProtocolVersion_bits, 2, hf_index, ett_cmip_ProtocolVersion,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CMIPUserInfo_sequence[] = {
+ { &hf_cmip_protocolVersion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_ProtocolVersion },
+ { &hf_cmip_functionalUnits, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_FunctionalUnits },
+ { &hf_cmip_cmipUserInfoaccessControl, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_EXTERNAL },
+ { &hf_cmip_userInfo , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_EXTERNAL },
+ { NULL, 0, 0, 0, NULL }
+};
+
+int
+dissect_cmip_CMIPUserInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE");
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ CMIPUserInfo_sequence, hf_index, ett_cmip_CMIPUserInfo);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_AE_title_set_of[1] = {
+ { &hf_cmip_multiple_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_title },
+};
+
+static int
+dissect_cmip_SET_OF_AE_title(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_AE_title_set_of, hf_index, ett_cmip_SET_OF_AE_title);
+
+ return offset;
+}
+
+
+static const value_string cmip_Destination_vals[] = {
+ { 0, "single" },
+ { 1, "multiple" },
+ { 0, NULL }
+};
+
+static const ber_choice_t Destination_choice[] = {
+ { 0, &hf_cmip_single , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_title },
+ { 1, &hf_cmip_multiple , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_cmip_SET_OF_AE_title },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_Destination(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ Destination_choice, hf_index, ett_cmip_Destination,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_ActiveDestination(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_cmip_Destination(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_AdditionalText(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_managementExtensionidentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_BOOLEAN(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_information(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t ManagementExtension_sequence[] = {
+ { &hf_cmip_managementExtensionidentifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_managementExtensionidentifier },
+ { &hf_cmip_significance , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_BOOLEAN },
+ { &hf_cmip_information , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_T_information },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ManagementExtension(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ManagementExtension_sequence, hf_index, ett_cmip_ManagementExtension);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AdditionalInformation_set_of[1] = {
+ { &hf_cmip_AdditionalInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_ManagementExtension },
+};
+
+int
+dissect_cmip_AdditionalInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ AdditionalInformation_set_of, hf_index, ett_cmip_AdditionalInformation);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Allomorphs_set_of[1] = {
+ { &hf_cmip_Allomorphs_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
+};
+
+static int
+dissect_cmip_Allomorphs(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ Allomorphs_set_of, hf_index, ett_cmip_Allomorphs);
+
+ return offset;
+}
+
+
+const value_string cmip_AdministrativeState_vals[] = {
+ { 0, "locked" },
+ { 1, "unlocked" },
+ { 2, "shuttingDown" },
+ { 0, NULL }
+};
+
+
+int
+dissect_cmip_AdministrativeState(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeIdentifierList_set_of[1] = {
+ { &hf_cmip_AttributeIdentifierList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+};
+
+static int
+dissect_cmip_AttributeIdentifierList(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ AttributeIdentifierList_set_of, hf_index, ett_cmip_AttributeIdentifierList);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeList_set_of[1] = {
+ { &hf_cmip_AttributeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Attribute },
+};
+
+int
+dissect_cmip_AttributeList(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ AttributeList_set_of, hf_index, ett_cmip_AttributeList);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_oldAttributeValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_newAttributeValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeValueChangeDefinition_item_sequence[] = {
+ { &hf_cmip_attributeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+ { &hf_cmip_oldAttributeValue, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_T_oldAttributeValue },
+ { &hf_cmip_newAttributeValue, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_T_newAttributeValue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_AttributeValueChangeDefinition_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ AttributeValueChangeDefinition_item_sequence, hf_index, ett_cmip_AttributeValueChangeDefinition_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeValueChangeDefinition_set_of[1] = {
+ { &hf_cmip_AttributeValueChangeDefinition_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_AttributeValueChangeDefinition_item },
+};
+
+static int
+dissect_cmip_AttributeValueChangeDefinition(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ AttributeValueChangeDefinition_set_of, hf_index, ett_cmip_AttributeValueChangeDefinition);
+
+ return offset;
+}
+
+
+static const value_string cmip_AlarmStatus_item_vals[] = {
+ { 0, "underRepair" },
+ { 1, "critical" },
+ { 2, "major" },
+ { 3, "minor" },
+ { 4, "alarmOutstanding" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_AlarmStatus_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AlarmStatus_set_of[1] = {
+ { &hf_cmip_AlarmStatus_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_AlarmStatus_item },
+};
+
+static int
+dissect_cmip_AlarmStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ AlarmStatus_set_of, hf_index, ett_cmip_AlarmStatus);
+
+ return offset;
+}
+
+
+static const value_string cmip_AvailabilityStatus_item_vals[] = {
+ { 0, "inTest" },
+ { 1, "failed" },
+ { 2, "powerOff" },
+ { 3, "offLine" },
+ { 4, "offDuty" },
+ { 5, "dependency" },
+ { 6, "degraded" },
+ { 7, "notInstalled" },
+ { 8, "logFull" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_AvailabilityStatus_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AvailabilityStatus_set_of[1] = {
+ { &hf_cmip_AvailabilityStatus_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_AvailabilityStatus_item },
+};
+
+int
+dissect_cmip_AvailabilityStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ AvailabilityStatus_set_of, hf_index, ett_cmip_AvailabilityStatus);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_BackedUpStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t BackUpDestinationList_sequence_of[1] = {
+ { &hf_cmip_BackUpDestinationList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_title },
+};
+
+static int
+dissect_cmip_BackUpDestinationList(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ BackUpDestinationList_sequence_of, hf_index, ett_cmip_BackUpDestinationList);
+
+ return offset;
+}
+
+
+static const value_string cmip_BackUpRelationshipObject_vals[] = {
+ { 0, "objectName" },
+ { 1, "noObject" },
+ { 0, NULL }
+};
+
+static const ber_choice_t BackUpRelationshipObject_choice[] = {
+ { 0, &hf_cmip_objectName , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_cmip_ObjectInstance },
+ { 1, &hf_cmip_noObject , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_BackUpRelationshipObject(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ BackUpRelationshipObject_choice, hf_index, ett_cmip_BackUpRelationshipObject,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_INTEGER_0_100(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CapacityAlarmThreshold_set_of[1] = {
+ { &hf_cmip_CapacityAlarmThreshold_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER_0_100 },
+};
+
+static int
+dissect_cmip_CapacityAlarmThreshold(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ CapacityAlarmThreshold_set_of, hf_index, ett_cmip_CapacityAlarmThreshold);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_ConfirmedMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_ControlStatus_item_vals[] = {
+ { 0, "subjectToTest" },
+ { 1, "partOfServicesLocked" },
+ { 2, "reservedForTest" },
+ { 3, "suspended" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_ControlStatus_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ControlStatus_set_of[1] = {
+ { &hf_cmip_ControlStatus_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_ControlStatus_item },
+};
+
+static int
+dissect_cmip_ControlStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ ControlStatus_set_of, hf_index, ett_cmip_ControlStatus);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_NotificationIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_NotificationIdentifier_set_of[1] = {
+ { &hf_cmip_correlatedNotifications_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_NotificationIdentifier },
+};
+
+static int
+dissect_cmip_SET_OF_NotificationIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_NotificationIdentifier_set_of, hf_index, ett_cmip_SET_OF_NotificationIdentifier);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CorrelatedNotifications_item_sequence[] = {
+ { &hf_cmip_correlatedNotifications, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_cmip_SET_OF_NotificationIdentifier },
+ { &hf_cmip_sourceObjectInst, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_CorrelatedNotifications_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ CorrelatedNotifications_item_sequence, hf_index, ett_cmip_CorrelatedNotifications_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CorrelatedNotifications_set_of[1] = {
+ { &hf_cmip_CorrelatedNotifications_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_CorrelatedNotifications_item },
+};
+
+static int
+dissect_cmip_CorrelatedNotifications(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ CorrelatedNotifications_set_of, hf_index, ett_cmip_CorrelatedNotifications);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_CurrentLogSize(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_DiscriminatorConstruct(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_cmip_CMISFilter(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_EventTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
+static const ber_sequence_t GroupObjects_set_of[1] = {
+ { &hf_cmip_GroupObjects_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+};
+
+static int
+dissect_cmip_GroupObjects(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ GroupObjects_set_of, hf_index, ett_cmip_GroupObjects);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_INTEGER_0_23(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_INTEGER_0_59(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Time24_sequence[] = {
+ { &hf_cmip_hour , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER_0_23 },
+ { &hf_cmip_minute , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER_0_59 },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_Time24(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ Time24_sequence, hf_index, ett_cmip_Time24);
+
+ return offset;
+}
+
+
+static const ber_sequence_t IntervalsOfDay_item_sequence[] = {
+ { &hf_cmip_intervalStart , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Time24 },
+ { &hf_cmip_intervalEnd , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Time24 },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_IntervalsOfDay_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ IntervalsOfDay_item_sequence, hf_index, ett_cmip_IntervalsOfDay_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t IntervalsOfDay_set_of[1] = {
+ { &hf_cmip_IntervalsOfDay_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_IntervalsOfDay_item },
+};
+
+static int
+dissect_cmip_IntervalsOfDay(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ IntervalsOfDay_set_of, hf_index, ett_cmip_IntervalsOfDay);
+
+ return offset;
+}
+
+
+static const value_string cmip_LifecycleState_vals[] = {
+ { 0, "planned" },
+ { 1, "installed" },
+ { 2, "pendingRemoval" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_LifecycleState(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_LogFullAction_vals[] = {
+ { 0, "wrap" },
+ { 1, "halt" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_LogFullAction(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_LoggingTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_GraphicString(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_SimpleNameType_vals[] = {
+ { 0, "number" },
+ { 1, "string" },
+ { 0, NULL }
+};
+
+static const ber_choice_t SimpleNameType_choice[] = {
+ { 0, &hf_cmip_number , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
+ { 1, &hf_cmip_string , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_cmip_GraphicString },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SimpleNameType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ SimpleNameType_choice, hf_index, ett_cmip_SimpleNameType,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_LogRecordId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_cmip_SimpleNameType(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const value_string cmip_MaxLogSize_vals[] = {
+ { 0, "unlimited" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_MaxLogSize(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MonitoredAttributes_set_of[1] = {
+ { &hf_cmip_MonitoredAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Attribute },
+};
+
+static int
+dissect_cmip_MonitoredAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ MonitoredAttributes_set_of, hf_index, ett_cmip_MonitoredAttributes);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_NameBinding(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_NumberOfRecords(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_REAL(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_real(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_ObservedValue_vals[] = {
+ { 0, "integer" },
+ { 1, "real" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ObservedValue_choice[] = {
+ { 0, &hf_cmip_integer , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
+ { 1, &hf_cmip_real , BER_CLASS_UNI, BER_UNI_TAG_REAL, BER_FLAGS_NOOWNTAG, dissect_cmip_REAL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ObservedValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ ObservedValue_choice, hf_index, ett_cmip_ObservedValue,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_OperationalState_vals[] = {
+ { 0, "disabled" },
+ { 1, "enabled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_OperationalState(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_OBJECT_IDENTIFIER(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Packages_set_of[1] = {
+ { &hf_cmip_Packages_item , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
+};
+
+static int
+dissect_cmip_Packages(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ Packages_set_of, hf_index, ett_cmip_Packages);
+
+ return offset;
+}
+
+
+static const value_string cmip_PerceivedSeverity_vals[] = {
+ { 0, "indeterminate" },
+ { 1, "critical" },
+ { 2, "major" },
+ { 3, "minor" },
+ { 4, "warning" },
+ { 5, "cleared" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_PerceivedSeverity(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_priority_vals[] = {
+ { 0, "highest" },
+ { 127, "lowest" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_T_priority(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t PrioritisedObject_item_sequence[] = {
+ { &hf_cmip_object , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
+ { &hf_cmip_priority , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_T_priority },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_PrioritisedObject_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ PrioritisedObject_item_sequence, hf_index, ett_cmip_PrioritisedObject_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t PrioritisedObject_set_of[1] = {
+ { &hf_cmip_PrioritisedObject_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_PrioritisedObject_item },
+};
+
+static int
+dissect_cmip_PrioritisedObject(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ PrioritisedObject_set_of, hf_index, ett_cmip_PrioritisedObject);
+
+ return offset;
+}
+
+
+const value_string cmip_ProbableCause_vals[] = {
+ { 0, "globalValue" },
+ { 1, "localValue" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ProbableCause_choice[] = {
+ { 0, &hf_cmip_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
+ { 1, &hf_cmip_localValue , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+int
+dissect_cmip_ProbableCause(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ ProbableCause_choice, hf_index, ett_cmip_ProbableCause,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_ProceduralStatus_item_vals[] = {
+ { 0, "initializationRequired" },
+ { 1, "notInitialized" },
+ { 2, "initializing" },
+ { 3, "reporting" },
+ { 4, "terminating" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_ProceduralStatus_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ProceduralStatus_set_of[1] = {
+ { &hf_cmip_ProceduralStatus_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_ProceduralStatus_item },
+};
+
+static int
+dissect_cmip_ProceduralStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ ProceduralStatus_set_of, hf_index, ett_cmip_ProceduralStatus);
+
+ return offset;
+}
+
+
+static const value_string cmip_SpecificIdentifier_vals[] = {
+ { 0, "oi" },
+ { 1, "int" },
+ { 0, NULL }
+};
+
+static const ber_choice_t SpecificIdentifier_choice[] = {
+ { 0, &hf_cmip_oi , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
+ { 1, &hf_cmip_int , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SpecificIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ SpecificIdentifier_choice, hf_index, ett_cmip_SpecificIdentifier,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ProposedRepairActions_set_of[1] = {
+ { &hf_cmip_ProposedRepairActions_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_SpecificIdentifier },
+};
+
+static int
+dissect_cmip_ProposedRepairActions(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ ProposedRepairActions_set_of, hf_index, ett_cmip_ProposedRepairActions);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_SecurityAlarmCause(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_SecurityAlarmSeverity(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_cmip_PerceivedSeverity(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const value_string cmip_SecurityAlarmDetector_vals[] = {
+ { 0, "mechanism" },
+ { 1, "object" },
+ { 2, "application" },
+ { 0, NULL }
+};
+
+static const ber_choice_t SecurityAlarmDetector_choice[] = {
+ { 0, &hf_cmip_mechanism , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_OBJECT_IDENTIFIER },
+ { 1, &hf_cmip_object , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_ObjectInstance },
+ { 2, &hf_cmip_application , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acse_AE_title },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SecurityAlarmDetector(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ SecurityAlarmDetector_choice, hf_index, ett_cmip_SecurityAlarmDetector,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_serviceUseridentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_details(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t ServiceUser_sequence[] = {
+ { &hf_cmip_serviceUseridentifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_serviceUseridentifier },
+ { &hf_cmip_details , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_T_details },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ServiceUser(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ServiceUser_sequence, hf_index, ett_cmip_ServiceUser);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_ServiceProvider(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_cmip_ServiceUser(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const value_string cmip_SourceIndicator_vals[] = {
+ { 0, "resourceOperation" },
+ { 1, "managementOperation" },
+ { 2, "unknown" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_SourceIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SpecificProblems_set_of[1] = {
+ { &hf_cmip_SpecificProblems_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_SpecificIdentifier },
+};
+
+static int
+dissect_cmip_SpecificProblems(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SpecificProblems_set_of, hf_index, ett_cmip_SpecificProblems);
+
+ return offset;
+}
+
+
+static const value_string cmip_StandbyStatus_vals[] = {
+ { 0, "hotStandby" },
+ { 1, "coldStandby" },
+ { 2, "providingService" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_StandbyStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_StartTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
+static const value_string cmip_StopTime_vals[] = {
+ { 0, "specific" },
+ { 1, "continual" },
+ { 0, NULL }
+};
+
+static const ber_choice_t StopTime_choice[] = {
+ { 0, &hf_cmip_specific , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_cmip_GeneralizedTime },
+ { 1, &hf_cmip_continual , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_StopTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ StopTime_choice, hf_index, ett_cmip_StopTime,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_featureIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_featureInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t SupportedFeatures_item_sequence[] = {
+ { &hf_cmip_featureIdentifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_featureIdentifier },
+ { &hf_cmip_featureInfo , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_T_featureInfo },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SupportedFeatures_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ SupportedFeatures_item_sequence, hf_index, ett_cmip_SupportedFeatures_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SupportedFeatures_set_of[1] = {
+ { &hf_cmip_SupportedFeatures_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_SupportedFeatures_item },
+};
+
+static int
+dissect_cmip_SupportedFeatures(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ SupportedFeatures_set_of, hf_index, ett_cmip_SupportedFeatures);
+
+ return offset;
+}
+
+
+static const value_string cmip_SystemId_vals[] = {
+ { 0, "name" },
+ { 1, "number" },
+ { 2, "nothing" },
+ { 0, NULL }
+};
+
+static const ber_choice_t SystemId_choice[] = {
+ { 0, &hf_cmip_name , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_cmip_GraphicString },
+ { 1, &hf_cmip_number , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
+ { 2, &hf_cmip_nothing , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SystemId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ SystemId_choice, hf_index, ett_cmip_SystemId,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_SystemTitle_vals[] = {
+ { 0, "distinguishedName" },
+ { 1, "oid" },
+ { 2, "nothing" },
+ { 0, NULL }
+};
+
+static const ber_choice_t SystemTitle_choice[] = {
+ { 0, &hf_cmip_distinguishedName, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_DistinguishedName },
+ { 1, &hf_cmip_oid , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
+ { 2, &hf_cmip_nothing , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_SystemTitle(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ SystemTitle_choice, hf_index, ett_cmip_SystemTitle,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_up_sequence[] = {
+ { &hf_cmip_high , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
+ { &hf_cmip_low , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_up(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_up_sequence, hf_index, ett_cmip_T_up);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_down_sequence[] = {
+ { &hf_cmip_high , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
+ { &hf_cmip_low , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_down(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_down_sequence, hf_index, ett_cmip_T_down);
+
+ return offset;
+}
+
+
+static const value_string cmip_ThresholdLevelInd_vals[] = {
+ { 1, "up" },
+ { 2, "down" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ThresholdLevelInd_choice[] = {
+ { 1, &hf_cmip_up , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_up },
+ { 2, &hf_cmip_down , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_T_down },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ThresholdLevelInd(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ ThresholdLevelInd_choice, hf_index, ett_cmip_ThresholdLevelInd,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ThresholdInfo_sequence[] = {
+ { &hf_cmip_triggeredThreshold, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
+ { &hf_cmip_observedValue , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
+ { &hf_cmip_thresholdLevel , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ThresholdLevelInd },
+ { &hf_cmip_armTime , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ThresholdInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ThresholdInfo_sequence, hf_index, ett_cmip_ThresholdInfo);
+
+ return offset;
+}
+
+
+static const value_string cmip_TrendIndication_vals[] = {
+ { 0, "lessSevere" },
+ { 1, "noChange" },
+ { 2, "moreSevere" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_TrendIndication(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_UnknownStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_UsageState_vals[] = {
+ { 0, "idle" },
+ { 1, "active" },
+ { 2, "busy" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_UsageState(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static int * const T_daysOfWeek_bits[] = {
+ &hf_cmip_T_daysOfWeek_sunday,
+ &hf_cmip_T_daysOfWeek_monday,
+ &hf_cmip_T_daysOfWeek_tuesday,
+ &hf_cmip_T_daysOfWeek_wednesday,
+ &hf_cmip_T_daysOfWeek_thursday,
+ &hf_cmip_T_daysOfWeek_friday,
+ &hf_cmip_T_daysOfWeek_saturday,
+ NULL
+};
+
+static int
+dissect_cmip_T_daysOfWeek(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
+ T_daysOfWeek_bits, 7, hf_index, ett_cmip_T_daysOfWeek,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t WeekMask_item_sequence[] = {
+ { &hf_cmip_daysOfWeek , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_cmip_T_daysOfWeek },
+ { &hf_cmip_intervalsOfDay , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_cmip_IntervalsOfDay },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_WeekMask_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ WeekMask_item_sequence, hf_index, ett_cmip_WeekMask_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t WeekMask_set_of[1] = {
+ { &hf_cmip_WeekMask_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_WeekMask_item },
+};
+
+static int
+dissect_cmip_WeekMask(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
+ WeekMask_set_of, hf_index, ett_cmip_WeekMask);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_local(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &opcode);
+
+ if(opcode_type== OPCODE_RETURN_ERROR){
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, cmip_error_code_vals, " Unknown Opcode:%d"));
+ }else{
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%d"));
+ }
+
+ return offset;
+}
+
+
+static const value_string cmip_Code_vals[] = {
+ { 0, "local" },
+ { 1, "global" },
+ { 0, NULL }
+};
+
+static const ber_choice_t Code_choice[] = {
+ { 0, &hf_cmip_local , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_T_local },
+ { 1, &hf_cmip_global , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_Code(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ Code_choice, hf_index, ett_cmip_Code,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_InvokeId_present(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_linkedIdPresent(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_cmip_InvokeId_present(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_linkedId_vals[] = {
+ { 0, "present" },
+ { 1, "absent" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_linkedId_choice[] = {
+ { 0, &hf_cmip_linkedIdPresent, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_T_linkedIdPresent },
+ { 1, &hf_cmip_absent , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_NULL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_linkedId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ T_linkedId_choice, hf_index, ett_cmip_T_linkedId,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_InvokeArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ 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;
+ }
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t Invoke_sequence[] = {
+ { &hf_cmip_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_InvokeId },
+ { &hf_cmip_linkedId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_linkedId },
+ { &hf_cmip_opcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Code },
+ { &hf_cmip_argument , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_InvokeArgument },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_Invoke(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ opcode_type=OPCODE_INVOKE;
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Invoke ");
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ Invoke_sequence, hf_index, ett_cmip_Invoke);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_ResultArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+
+ 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 */
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_result_sequence[] = {
+ { &hf_cmip_opcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Code },
+ { &hf_cmip_resultArgument , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_ResultArgument },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_result(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_result_sequence, hf_index, ett_cmip_T_result);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ReturnResult_sequence[] = {
+ { &hf_cmip_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_InvokeId },
+ { &hf_cmip_result , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_T_result },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ReturnResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ opcode_type=OPCODE_RETURN_RESULT;
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnResult ");
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ReturnResult_sequence, hf_index, ett_cmip_ReturnResult);
+
+ return offset;
+}
+
+
+
+static int
+dissect_cmip_T_parameter(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+
+ 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;
+ }
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t ReturnError_sequence[] = {
+ { &hf_cmip_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_InvokeId },
+ { &hf_cmip_errcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Code },
+ { &hf_cmip_parameter , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_T_parameter },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_ReturnError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ opcode_type=OPCODE_RETURN_ERROR;
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnError ");
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ ReturnError_sequence, hf_index, ett_cmip_ReturnError);
+
+ return offset;
+}
+
+
+static const value_string cmip_GeneralProblem_vals[] = {
+ { 0, "unrecognizedPDU" },
+ { 1, "mistypedPDU" },
+ { 2, "badlyStructuredPDU" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_GeneralProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_InvokeProblem_vals[] = {
+ { 0, "duplicateInvocation" },
+ { 1, "unrecognizedOperation" },
+ { 2, "mistypedArgument" },
+ { 3, "resourceLimitation" },
+ { 4, "releaseInProgress" },
+ { 5, "unrecognizedLinkedId" },
+ { 6, "linkedResponseUnexpected" },
+ { 7, "unexpectedLinkedOperation" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_InvokeProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_ReturnResultProblem_vals[] = {
+ { 0, "unrecognizedInvocation" },
+ { 1, "resultResponseUnexpected" },
+ { 2, "mistypedResult" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_ReturnResultProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_ReturnErrorProblem_vals[] = {
+ { 0, "unrecognizedInvocation" },
+ { 1, "errorResponseUnexpected" },
+ { 2, "unrecognizedError" },
+ { 3, "unexpectedError" },
+ { 4, "mistypedParameter" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_cmip_ReturnErrorProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string cmip_T_problem_vals[] = {
+ { 0, "general" },
+ { 1, "invoke" },
+ { 2, "returnResult" },
+ { 3, "returnError" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_problem_choice[] = {
+ { 0, &hf_cmip_general , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_GeneralProblem },
+ { 1, &hf_cmip_invokeProblem , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_InvokeProblem },
+ { 2, &hf_cmip_returnResultProblem, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_ReturnResultProblem },
+ { 3, &hf_cmip_returnErrorProblem, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_ReturnErrorProblem },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_T_problem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ T_problem_choice, hf_index, ett_cmip_T_problem,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Reject_sequence[] = {
+ { &hf_cmip_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_InvokeId },
+ { &hf_cmip_problem , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_problem },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_cmip_Reject(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ opcode_type=OPCODE_REJECT;
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Reject ");
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ Reject_sequence, hf_index, ett_cmip_Reject);
+
+ return offset;
+}
+
+
+const value_string cmip_ROS_vals[] = {
+ { 1, "invoke" },
+ { 2, "returnResult" },
+ { 3, "returnError" },
+ { 4, "reject" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ROS_choice[] = {
+ { 1, &hf_cmip_invoke , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_Invoke },
+ { 2, &hf_cmip_returnResult , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_ReturnResult },
+ { 3, &hf_cmip_returnError , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_ReturnError },
+ { 4, &hf_cmip_reject , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_Reject },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+int
+dissect_cmip_ROS(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ ROS_choice, hf_index, ett_cmip_ROS,
+ NULL);
+
+ return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_BaseManagedObjectId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_BaseManagedObjectId(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_BaseManagedObjectId_PDU);
+ return offset;
+}
+static int dissect_EventTypeId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_EventTypeId(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_EventTypeId_PDU);
+ return offset;
+}
+static int dissect_ObjectClass_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ObjectClass(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ObjectClass_PDU);
+ return offset;
+}
+static int dissect_ActiveDestination_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ActiveDestination(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ActiveDestination_PDU);
+ return offset;
+}
+static int dissect_AdditionalText_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_AdditionalText(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_AdditionalText_PDU);
+ return offset;
+}
+static int dissect_AdditionalInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_AdditionalInformation(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_AdditionalInformation_PDU);
+ return offset;
+}
+static int dissect_Allomorphs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_Allomorphs(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_Allomorphs_PDU);
+ return offset;
+}
+static int dissect_AdministrativeState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_AdministrativeState(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_AdministrativeState_PDU);
+ return offset;
+}
+static int dissect_AttributeIdentifierList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_AttributeIdentifierList(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_AttributeIdentifierList_PDU);
+ return offset;
+}
+static int dissect_AttributeList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_AttributeList(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_AttributeList_PDU);
+ return offset;
+}
+static int dissect_AttributeValueChangeDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_AttributeValueChangeDefinition(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_AttributeValueChangeDefinition_PDU);
+ return offset;
+}
+static int dissect_AlarmStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_AlarmStatus(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_AlarmStatus_PDU);
+ return offset;
+}
+static int dissect_AvailabilityStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_AvailabilityStatus(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_AvailabilityStatus_PDU);
+ return offset;
+}
+static int dissect_BackedUpStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_BackedUpStatus(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_BackedUpStatus_PDU);
+ return offset;
+}
+static int dissect_BackUpDestinationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_BackUpDestinationList(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_BackUpDestinationList_PDU);
+ return offset;
+}
+static int dissect_BackUpRelationshipObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_BackUpRelationshipObject(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_BackUpRelationshipObject_PDU);
+ return offset;
+}
+static int dissect_CapacityAlarmThreshold_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_CapacityAlarmThreshold(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_CapacityAlarmThreshold_PDU);
+ return offset;
+}
+static int dissect_ConfirmedMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ConfirmedMode(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ConfirmedMode_PDU);
+ return offset;
+}
+static int dissect_ControlStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ControlStatus(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ControlStatus_PDU);
+ return offset;
+}
+static int dissect_CorrelatedNotifications_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_CorrelatedNotifications(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_CorrelatedNotifications_PDU);
+ return offset;
+}
+static int dissect_CurrentLogSize_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_CurrentLogSize(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_CurrentLogSize_PDU);
+ return offset;
+}
+static int dissect_Destination_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_Destination(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_Destination_PDU);
+ return offset;
+}
+static int dissect_DiscriminatorConstruct_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_DiscriminatorConstruct(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_DiscriminatorConstruct_PDU);
+ return offset;
+}
+static int dissect_EventTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_EventTime(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_EventTime_PDU);
+ return offset;
+}
+static int dissect_GroupObjects_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_GroupObjects(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_GroupObjects_PDU);
+ return offset;
+}
+static int dissect_IntervalsOfDay_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_IntervalsOfDay(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_IntervalsOfDay_PDU);
+ return offset;
+}
+static int dissect_LifecycleState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_LifecycleState(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_LifecycleState_PDU);
+ return offset;
+}
+static int dissect_LogFullAction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_LogFullAction(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_LogFullAction_PDU);
+ return offset;
+}
+static int dissect_LoggingTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_LoggingTime(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_LoggingTime_PDU);
+ return offset;
+}
+static int dissect_LogRecordId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_LogRecordId(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_LogRecordId_PDU);
+ return offset;
+}
+static int dissect_MaxLogSize_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_MaxLogSize(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_MaxLogSize_PDU);
+ return offset;
+}
+static int dissect_MonitoredAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_MonitoredAttributes(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_MonitoredAttributes_PDU);
+ return offset;
+}
+static int dissect_NameBinding_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_NameBinding(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_NameBinding_PDU);
+ return offset;
+}
+static int dissect_NotificationIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_NotificationIdentifier(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_NotificationIdentifier_PDU);
+ return offset;
+}
+static int dissect_NumberOfRecords_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_NumberOfRecords(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_NumberOfRecords_PDU);
+ return offset;
+}
+static int dissect_OperationalState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_OperationalState(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_OperationalState_PDU);
+ return offset;
+}
+static int dissect_Packages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_Packages(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_Packages_PDU);
+ return offset;
+}
+static int dissect_PerceivedSeverity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_PerceivedSeverity(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_PerceivedSeverity_PDU);
+ return offset;
+}
+static int dissect_PrioritisedObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_PrioritisedObject(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_PrioritisedObject_PDU);
+ return offset;
+}
+static int dissect_ProbableCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ProbableCause(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ProbableCause_PDU);
+ return offset;
+}
+static int dissect_ProceduralStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ProceduralStatus(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ProceduralStatus_PDU);
+ return offset;
+}
+static int dissect_ProposedRepairActions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ProposedRepairActions(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ProposedRepairActions_PDU);
+ return offset;
+}
+static int dissect_SecurityAlarmCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SecurityAlarmCause(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SecurityAlarmCause_PDU);
+ return offset;
+}
+static int dissect_SecurityAlarmSeverity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SecurityAlarmSeverity(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SecurityAlarmSeverity_PDU);
+ return offset;
+}
+static int dissect_SecurityAlarmDetector_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SecurityAlarmDetector(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SecurityAlarmDetector_PDU);
+ return offset;
+}
+static int dissect_ServiceProvider_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ServiceProvider(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ServiceProvider_PDU);
+ return offset;
+}
+static int dissect_ServiceUser_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ServiceUser(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ServiceUser_PDU);
+ return offset;
+}
+static int dissect_SimpleNameType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SimpleNameType(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SimpleNameType_PDU);
+ return offset;
+}
+static int dissect_SourceIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SourceIndicator(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SourceIndicator_PDU);
+ return offset;
+}
+static int dissect_SpecificProblems_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SpecificProblems(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SpecificProblems_PDU);
+ return offset;
+}
+static int dissect_StandbyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_StandbyStatus(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_StandbyStatus_PDU);
+ return offset;
+}
+static int dissect_StartTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_StartTime(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_StartTime_PDU);
+ return offset;
+}
+static int dissect_StopTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_StopTime(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_StopTime_PDU);
+ return offset;
+}
+static int dissect_SupportedFeatures_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SupportedFeatures(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SupportedFeatures_PDU);
+ return offset;
+}
+static int dissect_SystemId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SystemId(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SystemId_PDU);
+ return offset;
+}
+static int dissect_SystemTitle_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_SystemTitle(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_SystemTitle_PDU);
+ return offset;
+}
+static int dissect_ThresholdInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_ThresholdInfo(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_ThresholdInfo_PDU);
+ return offset;
+}
+static int dissect_TrendIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_TrendIndication(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_TrendIndication_PDU);
+ return offset;
+}
+static int dissect_UnknownStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_UnknownStatus(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_UnknownStatus_PDU);
+ return offset;
+}
+static int dissect_UsageState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_UsageState(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_UsageState_PDU);
+ return offset;
+}
+static int dissect_WeekMask_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_cmip_WeekMask(FALSE, tvb, offset, &asn1_ctx, tree, hf_cmip_WeekMask_PDU);
+ return offset;
+}
+
+
+
+
+
+/* XXX this one should be broken out later and moved into the conformance file */
+static int
+dissect_cmip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ struct SESSION_DATA_STRUCTURE* session;
+ proto_item *item;
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ session = (struct SESSION_DATA_STRUCTURE*)data;
+
+ if(session->spdu_type == 0 ) {
+ proto_tree_add_expert_format(parent_tree, pinfo, &ei_wrong_spdu_type, tvb, 0, -1,
+ "Internal error: wrong spdu type %x from session dissector.", session->spdu_type);
+ return 0;
+ }
+
+ asn1_ctx.private_data = session;
+
+ item = proto_tree_add_item(parent_tree, proto_cmip, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_cmip);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CMIP");
+ col_clear(pinfo->cinfo, COL_INFO);
+ switch(session->spdu_type){
+ case SES_CONNECTION_REQUEST:
+ case SES_CONNECTION_ACCEPT:
+ case SES_DISCONNECT:
+ case SES_FINISH:
+ case SES_REFUSE:
+ dissect_cmip_CMIPUserInfo(FALSE,tvb,0,&asn1_ctx,tree,-1);
+ break;
+ case SES_ABORT:
+ dissect_cmip_CMIPAbortInfo(FALSE,tvb,0,&asn1_ctx,tree,-1);
+ break;
+ case SES_DATA_TRANSFER:
+ dissect_cmip_ROS(FALSE,tvb,0,&asn1_ctx,tree,-1);
+ break;
+ default:
+ ;
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_cmip ----------------------------------------------*/
+void proto_register_cmip(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_cmip_actionType_OID,
+ { "actionType", "cmip.actionType_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_eventType_OID,
+ { "eventType", "cmip.eventType_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_attributeId_OID,
+ { "attributeId", "cmip.attributeId_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_errorId_OID,
+ { "errorId", "cmip.errorId_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_cmip_BaseManagedObjectId_PDU,
+ { "BaseManagedObjectId", "cmip.BaseManagedObjectId_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_EventTypeId_PDU,
+ { "EventTypeId", "cmip.EventTypeId",
+ FT_UINT32, BASE_DEC, VALS(cmip_EventTypeId_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_ObjectClass_PDU,
+ { "ObjectClass", "cmip.ObjectClass",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_ActiveDestination_PDU,
+ { "ActiveDestination", "cmip.ActiveDestination",
+ FT_UINT32, BASE_DEC, VALS(cmip_Destination_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_AdditionalText_PDU,
+ { "AdditionalText", "cmip.AdditionalText",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_AdditionalInformation_PDU,
+ { "AdditionalInformation", "cmip.AdditionalInformation",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_Allomorphs_PDU,
+ { "Allomorphs", "cmip.Allomorphs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_AdministrativeState_PDU,
+ { "AdministrativeState", "cmip.AdministrativeState",
+ FT_UINT32, BASE_DEC, VALS(cmip_AdministrativeState_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_AttributeIdentifierList_PDU,
+ { "AttributeIdentifierList", "cmip.AttributeIdentifierList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_AttributeList_PDU,
+ { "AttributeList", "cmip.AttributeList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_AttributeValueChangeDefinition_PDU,
+ { "AttributeValueChangeDefinition", "cmip.AttributeValueChangeDefinition",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_AlarmStatus_PDU,
+ { "AlarmStatus", "cmip.AlarmStatus",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_AvailabilityStatus_PDU,
+ { "AvailabilityStatus", "cmip.AvailabilityStatus",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_BackedUpStatus_PDU,
+ { "BackedUpStatus", "cmip.BackedUpStatus",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_BackUpDestinationList_PDU,
+ { "BackUpDestinationList", "cmip.BackUpDestinationList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_BackUpRelationshipObject_PDU,
+ { "BackUpRelationshipObject", "cmip.BackUpRelationshipObject",
+ FT_UINT32, BASE_DEC, VALS(cmip_BackUpRelationshipObject_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_CapacityAlarmThreshold_PDU,
+ { "CapacityAlarmThreshold", "cmip.CapacityAlarmThreshold",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_ConfirmedMode_PDU,
+ { "ConfirmedMode", "cmip.ConfirmedMode",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_ControlStatus_PDU,
+ { "ControlStatus", "cmip.ControlStatus",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_CorrelatedNotifications_PDU,
+ { "CorrelatedNotifications", "cmip.CorrelatedNotifications",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_CurrentLogSize_PDU,
+ { "CurrentLogSize", "cmip.CurrentLogSize",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_Destination_PDU,
+ { "Destination", "cmip.Destination",
+ FT_UINT32, BASE_DEC, VALS(cmip_Destination_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_DiscriminatorConstruct_PDU,
+ { "DiscriminatorConstruct", "cmip.DiscriminatorConstruct",
+ FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_EventTime_PDU,
+ { "EventTime", "cmip.EventTime",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_GroupObjects_PDU,
+ { "GroupObjects", "cmip.GroupObjects",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_IntervalsOfDay_PDU,
+ { "IntervalsOfDay", "cmip.IntervalsOfDay",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_LifecycleState_PDU,
+ { "LifecycleState", "cmip.LifecycleState",
+ FT_UINT32, BASE_DEC, VALS(cmip_LifecycleState_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_LogFullAction_PDU,
+ { "LogFullAction", "cmip.LogFullAction",
+ FT_UINT32, BASE_DEC, VALS(cmip_LogFullAction_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_LoggingTime_PDU,
+ { "LoggingTime", "cmip.LoggingTime",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_LogRecordId_PDU,
+ { "LogRecordId", "cmip.LogRecordId",
+ FT_UINT32, BASE_DEC, VALS(cmip_SimpleNameType_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_MaxLogSize_PDU,
+ { "MaxLogSize", "cmip.MaxLogSize",
+ FT_INT32, BASE_DEC, VALS(cmip_MaxLogSize_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_MonitoredAttributes_PDU,
+ { "MonitoredAttributes", "cmip.MonitoredAttributes",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_NameBinding_PDU,
+ { "NameBinding", "cmip.NameBinding",
+ FT_OID, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_NotificationIdentifier_PDU,
+ { "NotificationIdentifier", "cmip.NotificationIdentifier",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_NumberOfRecords_PDU,
+ { "NumberOfRecords", "cmip.NumberOfRecords",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_OperationalState_PDU,
+ { "OperationalState", "cmip.OperationalState",
+ FT_UINT32, BASE_DEC, VALS(cmip_OperationalState_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_Packages_PDU,
+ { "Packages", "cmip.Packages",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_PerceivedSeverity_PDU,
+ { "PerceivedSeverity", "cmip.PerceivedSeverity",
+ FT_UINT32, BASE_DEC, VALS(cmip_PerceivedSeverity_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_PrioritisedObject_PDU,
+ { "PrioritisedObject", "cmip.PrioritisedObject",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_ProbableCause_PDU,
+ { "ProbableCause", "cmip.ProbableCause",
+ FT_UINT32, BASE_DEC, VALS(cmip_ProbableCause_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_ProceduralStatus_PDU,
+ { "ProceduralStatus", "cmip.ProceduralStatus",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_ProposedRepairActions_PDU,
+ { "ProposedRepairActions", "cmip.ProposedRepairActions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_SecurityAlarmCause_PDU,
+ { "SecurityAlarmCause", "cmip.SecurityAlarmCause",
+ FT_OID, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_SecurityAlarmSeverity_PDU,
+ { "SecurityAlarmSeverity", "cmip.SecurityAlarmSeverity",
+ FT_UINT32, BASE_DEC, VALS(cmip_PerceivedSeverity_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_SecurityAlarmDetector_PDU,
+ { "SecurityAlarmDetector", "cmip.SecurityAlarmDetector",
+ FT_UINT32, BASE_DEC, VALS(cmip_SecurityAlarmDetector_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_ServiceProvider_PDU,
+ { "ServiceProvider", "cmip.ServiceProvider_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_ServiceUser_PDU,
+ { "ServiceUser", "cmip.ServiceUser_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_SimpleNameType_PDU,
+ { "SimpleNameType", "cmip.SimpleNameType",
+ FT_UINT32, BASE_DEC, VALS(cmip_SimpleNameType_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_SourceIndicator_PDU,
+ { "SourceIndicator", "cmip.SourceIndicator",
+ FT_UINT32, BASE_DEC, VALS(cmip_SourceIndicator_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_SpecificProblems_PDU,
+ { "SpecificProblems", "cmip.SpecificProblems",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_StandbyStatus_PDU,
+ { "StandbyStatus", "cmip.StandbyStatus",
+ FT_INT32, BASE_DEC, VALS(cmip_StandbyStatus_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_StartTime_PDU,
+ { "StartTime", "cmip.StartTime",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_StopTime_PDU,
+ { "StopTime", "cmip.StopTime",
+ FT_UINT32, BASE_DEC, VALS(cmip_StopTime_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_SupportedFeatures_PDU,
+ { "SupportedFeatures", "cmip.SupportedFeatures",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_SystemId_PDU,
+ { "SystemId", "cmip.SystemId",
+ FT_UINT32, BASE_DEC, VALS(cmip_SystemId_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_SystemTitle_PDU,
+ { "SystemTitle", "cmip.SystemTitle",
+ FT_UINT32, BASE_DEC, VALS(cmip_SystemTitle_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_ThresholdInfo_PDU,
+ { "ThresholdInfo", "cmip.ThresholdInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_TrendIndication_PDU,
+ { "TrendIndication", "cmip.TrendIndication",
+ FT_UINT32, BASE_DEC, VALS(cmip_TrendIndication_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_UnknownStatus_PDU,
+ { "UnknownStatus", "cmip.UnknownStatus",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_UsageState_PDU,
+ { "UsageState", "cmip.UsageState",
+ FT_UINT32, BASE_DEC, VALS(cmip_UsageState_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_WeekMask_PDU,
+ { "WeekMask", "cmip.WeekMask",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_PAR_missingAttributeValue_item,
+ { "AttributeId", "cmip.AttributeId",
+ FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_managedObjectClass,
+ { "managedObjectClass", "cmip.managedObjectClass",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
+ "ObjectClass", HFILL }},
+ { &hf_cmip_managedObjectInstance,
+ { "managedObjectInstance", "cmip.managedObjectInstance",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
+ "ObjectInstance", HFILL }},
+ { &hf_cmip_currentTime,
+ { "currentTime", "cmip.currentTime",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ "GeneralizedTime", HFILL }},
+ { &hf_cmip_actionErroractionErrorInfo,
+ { "actionErrorInfo", "cmip.actionErrorInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_actionErrorInfo_errorStatus,
+ { "errorStatus", "cmip.errorStatus",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_actionErrorInfo_errorStatus_vals), 0,
+ "T_actionErrorInfo_errorStatus", HFILL }},
+ { &hf_cmip_actionErrorInfo,
+ { "errorInfo", "cmip.errorInfo",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_actionErrorInfo_vals), 0,
+ "T_actionErrorInfo", HFILL }},
+ { &hf_cmip_actionType,
+ { "actionType", "cmip.actionType",
+ FT_UINT32, BASE_DEC, VALS(cmip_ActionTypeId_vals), 0,
+ "ActionTypeId", HFILL }},
+ { &hf_cmip_actionArgument,
+ { "actionArgument", "cmip.actionArgument",
+ FT_UINT32, BASE_DEC, VALS(cmip_NoSuchArgument_vals), 0,
+ "NoSuchArgument", HFILL }},
+ { &hf_cmip_argumentValue,
+ { "argumentValue", "cmip.argumentValue",
+ FT_UINT32, BASE_DEC, VALS(cmip_InvalidArgumentValue_vals), 0,
+ "InvalidArgumentValue", HFILL }},
+ { &hf_cmip_actionInfoArg,
+ { "actionInfoArg", "cmip.actionInfoArg_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_actionReplyInfo,
+ { "actionReplyInfo", "cmip.actionReplyInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_actionReply,
+ { "actionReply", "cmip.actionReply_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_actionTypeId_globalForm,
+ { "globalForm", "cmip.globalForm",
+ FT_OID, BASE_NONE, NULL, 0,
+ "T_actionTypeId_globalForm", HFILL }},
+ { &hf_cmip_localForm,
+ { "localForm", "cmip.localForm",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_cmip_attributeid,
+ { "id", "cmip.attributeid",
+ FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
+ "AttributeId", HFILL }},
+ { &hf_cmip_value,
+ { "value", "cmip.value_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "AttributeValue", HFILL }},
+ { &hf_cmip_attributeError_errorStatus,
+ { "errorStatus", "cmip.errorStatus",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_attributeError_errorStatus_vals), 0,
+ "T_attributeError_errorStatus", HFILL }},
+ { &hf_cmip_modifyOperator,
+ { "modifyOperator", "cmip.modifyOperator",
+ FT_INT32, BASE_DEC, VALS(cmip_ModifyOperator_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_attributeId,
+ { "attributeId", "cmip.attributeId",
+ FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_attributeValue,
+ { "attributeValue", "cmip.attributeValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_attributeId_globalForm,
+ { "globalForm", "cmip.globalForm",
+ FT_OID, BASE_NONE, NULL, 0,
+ "T_attributeId_globalForm", HFILL }},
+ { &hf_cmip_attributeIdlocalForm,
+ { "localForm", "cmip.localForm",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "T_attributeIdlocalForm", HFILL }},
+ { &hf_cmip_attributeIdError_errorStatus,
+ { "errorStatus", "cmip.errorStatus",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_attributeIdError_errorStatus_vals), 0,
+ "T_attributeIdError_errorStatus", HFILL }},
+ { &hf_cmip_id,
+ { "id", "cmip.id",
+ FT_OID, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_attributeValueAssertionvalue,
+ { "value", "cmip.value_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_attributeValueAssertionvalue", HFILL }},
+ { &hf_cmip_baseManagedObjectClass,
+ { "baseManagedObjectClass", "cmip.baseManagedObjectClass",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
+ "ObjectClass", HFILL }},
+ { &hf_cmip_baseManagedObjectInstance,
+ { "baseManagedObjectInstance", "cmip.baseManagedObjectInstance",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
+ "ObjectInstance", HFILL }},
+ { &hf_cmip_item,
+ { "item", "cmip.item",
+ FT_UINT32, BASE_DEC, VALS(cmip_FilterItem_vals), 0,
+ "FilterItem", HFILL }},
+ { &hf_cmip_and,
+ { "and", "cmip.and",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SET_OF_CMISFilter", HFILL }},
+ { &hf_cmip_and_item,
+ { "CMISFilter", "cmip.CMISFilter",
+ FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_or,
+ { "or", "cmip.or",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SET_OF_CMISFilter", HFILL }},
+ { &hf_cmip_or_item,
+ { "CMISFilter", "cmip.CMISFilter",
+ FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_not,
+ { "not", "cmip.not",
+ FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
+ "CMISFilter", HFILL }},
+ { &hf_cmip_scope,
+ { "scope", "cmip.scope",
+ FT_UINT32, BASE_DEC, VALS(cmip_Scope_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_filter,
+ { "filter", "cmip.filter",
+ FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
+ "CMISFilter", HFILL }},
+ { &hf_cmip_sync,
+ { "sync", "cmip.sync",
+ FT_UINT32, BASE_DEC, VALS(cmip_CMISSync_vals), 0,
+ "CMISSync", HFILL }},
+ { &hf_cmip_managedOrSuperiorObjectInstance,
+ { "managedOrSuperiorObjectInstance", "cmip.managedOrSuperiorObjectInstance",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_managedOrSuperiorObjectInstance_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_superiorObjectInstance,
+ { "superiorObjectInstance", "cmip.superiorObjectInstance",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
+ "ObjectInstance", HFILL }},
+ { &hf_cmip_accessControl,
+ { "accessControl", "cmip.accessControl_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_referenceObjectInstance,
+ { "referenceObjectInstance", "cmip.referenceObjectInstance",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
+ "ObjectInstance", HFILL }},
+ { &hf_cmip_attributeList,
+ { "attributeList", "cmip.attributeList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SET_OF_Attribute", HFILL }},
+ { &hf_cmip_attributeList_item,
+ { "Attribute", "cmip.Attribute_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_deleteErrorInfo,
+ { "deleteErrorInfo", "cmip.deleteErrorInfo",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_deleteErrorInfo_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_eventType,
+ { "eventType", "cmip.eventType",
+ FT_UINT32, BASE_DEC, VALS(cmip_EventTypeId_vals), 0,
+ "EventTypeId", HFILL }},
+ { &hf_cmip_eventReplyInfo,
+ { "eventReplyInfo", "cmip.eventReplyInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_eventTime,
+ { "eventTime", "cmip.eventTime",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ "GeneralizedTime", HFILL }},
+ { &hf_cmip_eventReportArgumenteventInfo,
+ { "eventInfo", "cmip.eventInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EventReportArgumentEventInfo", HFILL }},
+ { &hf_cmip_eventReply,
+ { "eventReply", "cmip.eventReply_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_eventTypeId_globalForm,
+ { "globalForm", "cmip.globalForm",
+ FT_OID, BASE_NONE, NULL, 0,
+ "T_eventTypeId_globalForm", HFILL }},
+ { &hf_cmip_equality,
+ { "equality", "cmip.equality_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_substrings,
+ { "substrings", "cmip.substrings",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_substrings_item,
+ { "substrings item", "cmip.substrings_item",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_substrings_item_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_initialString,
+ { "initialString", "cmip.initialString_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_anyString,
+ { "anyString", "cmip.anyString_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_finalString,
+ { "finalString", "cmip.finalString_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_greaterOrEqual,
+ { "greaterOrEqual", "cmip.greaterOrEqual_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_lessOrEqual,
+ { "lessOrEqual", "cmip.lessOrEqual_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_filterItempresent,
+ { "present", "cmip.filterItempresent",
+ FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
+ "AttributeId", HFILL }},
+ { &hf_cmip_subsetOf,
+ { "subsetOf", "cmip.subsetOf_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_supersetOf,
+ { "supersetOf", "cmip.supersetOf_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_nonNullSetIntersection,
+ { "nonNullSetIntersection", "cmip.nonNullSetIntersection_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Attribute", HFILL }},
+ { &hf_cmip_attributeIdError,
+ { "attributeIdError", "cmip.attributeIdError_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_attribute,
+ { "attribute", "cmip.attribute_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_getInfoList,
+ { "getInfoList", "cmip.getInfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SET_OF_GetInfoStatus", HFILL }},
+ { &hf_cmip_getInfoList_item,
+ { "GetInfoStatus", "cmip.GetInfoStatus",
+ FT_UINT32, BASE_DEC, VALS(cmip_GetInfoStatus_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_actionValue,
+ { "actionValue", "cmip.actionValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ActionInfo", HFILL }},
+ { &hf_cmip_eventValue,
+ { "eventValue", "cmip.eventValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_eventInfo,
+ { "eventInfo", "cmip.eventInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_getResult,
+ { "getResult", "cmip.getResult_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_getListError,
+ { "getListError", "cmip.getListError_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_setResult,
+ { "setResult", "cmip.setResult_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_setListError,
+ { "setListError", "cmip.setListError_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_actionResult,
+ { "actionResult", "cmip.actionResult_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_processingFailure,
+ { "processingFailure", "cmip.processingFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_deleteResult,
+ { "deleteResult", "cmip.deleteResult_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_actionError,
+ { "actionError", "cmip.actionError_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_deleteError,
+ { "deleteError", "cmip.deleteError_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_actionId,
+ { "actionId", "cmip.actionId_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_eventId,
+ { "eventId", "cmip.eventId_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_objectClass_globalForm,
+ { "globalForm", "cmip.globalForm",
+ FT_OID, BASE_NONE, NULL, 0,
+ "T_objectClass_globalForm", HFILL }},
+ { &hf_cmip_objectClasslocalForm,
+ { "localForm", "cmip.localForm",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_cmip_distinguishedName,
+ { "distinguishedName", "cmip.distinguishedName",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_nonSpecificForm,
+ { "nonSpecificForm", "cmip.nonSpecificForm",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
+ { &hf_cmip_localDistinguishedName,
+ { "localDistinguishedName", "cmip.localDistinguishedName",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RDNSequence", HFILL }},
+ { &hf_cmip_specificErrorInfo,
+ { "specificErrorInfo", "cmip.specificErrorInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_RDNSequence_item,
+ { "RelativeDistinguishedName", "cmip.RelativeDistinguishedName",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_RelativeDistinguishedName_item,
+ { "AttributeValueAssertion", "cmip.AttributeValueAssertion_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_namedNumbers,
+ { "namedNumbers", "cmip.namedNumbers",
+ FT_INT32, BASE_DEC, VALS(cmip_T_namedNumbers_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_individualLevels,
+ { "individualLevels", "cmip.individualLevels",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_cmip_baseToNthLevel,
+ { "baseToNthLevel", "cmip.baseToNthLevel",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_cmip_attributeError,
+ { "attributeError", "cmip.attributeError_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_setInfoList,
+ { "setInfoList", "cmip.setInfoList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SET_OF_SetInfoStatus", HFILL }},
+ { &hf_cmip_setInfoList_item,
+ { "SetInfoStatus", "cmip.SetInfoStatus",
+ FT_UINT32, BASE_DEC, VALS(cmip_SetInfoStatus_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_errorId,
+ { "errorId", "cmip.errorId",
+ FT_OID, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_errorInfo,
+ { "errorInfo", "cmip.errorInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_abortSource,
+ { "abortSource", "cmip.abortSource",
+ FT_UINT32, BASE_DEC, VALS(cmip_CMIPAbortSource_vals), 0,
+ "CMIPAbortSource", HFILL }},
+ { &hf_cmip_userInfo,
+ { "userInfo", "cmip.userInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EXTERNAL", HFILL }},
+ { &hf_cmip_protocolVersion,
+ { "protocolVersion", "cmip.protocolVersion",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_functionalUnits,
+ { "functionalUnits", "cmip.functionalUnits",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_cmipUserInfoaccessControl,
+ { "accessControl", "cmip.accessControl_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EXTERNAL", HFILL }},
+ { &hf_cmip_AdditionalInformation_item,
+ { "ManagementExtension", "cmip.ManagementExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_Allomorphs_item,
+ { "ObjectClass", "cmip.ObjectClass",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_AttributeIdentifierList_item,
+ { "AttributeId", "cmip.AttributeId",
+ FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_AttributeList_item,
+ { "Attribute", "cmip.Attribute_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_AttributeValueChangeDefinition_item,
+ { "AttributeValueChangeDefinition item", "cmip.AttributeValueChangeDefinition_item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_oldAttributeValue,
+ { "oldAttributeValue", "cmip.oldAttributeValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_newAttributeValue,
+ { "newAttributeValue", "cmip.newAttributeValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_AlarmStatus_item,
+ { "AlarmStatus item", "cmip.AlarmStatus_item",
+ FT_INT32, BASE_DEC, VALS(cmip_AlarmStatus_item_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_AvailabilityStatus_item,
+ { "AvailabilityStatus item", "cmip.AvailabilityStatus_item",
+ FT_INT32, BASE_DEC, VALS(cmip_AvailabilityStatus_item_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_BackUpDestinationList_item,
+ { "AE-title", "cmip.AE_title",
+ FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_objectName,
+ { "objectName", "cmip.objectName",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
+ "ObjectInstance", HFILL }},
+ { &hf_cmip_noObject,
+ { "noObject", "cmip.noObject_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_CapacityAlarmThreshold_item,
+ { "CapacityAlarmThreshold item", "cmip.CapacityAlarmThreshold_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_100", HFILL }},
+ { &hf_cmip_ControlStatus_item,
+ { "ControlStatus item", "cmip.ControlStatus_item",
+ FT_INT32, BASE_DEC, VALS(cmip_ControlStatus_item_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_CorrelatedNotifications_item,
+ { "CorrelatedNotifications item", "cmip.CorrelatedNotifications_item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_correlatedNotifications,
+ { "correlatedNotifications", "cmip.correlatedNotifications",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SET_OF_NotificationIdentifier", HFILL }},
+ { &hf_cmip_correlatedNotifications_item,
+ { "NotificationIdentifier", "cmip.NotificationIdentifier",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_sourceObjectInst,
+ { "sourceObjectInst", "cmip.sourceObjectInst",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
+ "ObjectInstance", HFILL }},
+ { &hf_cmip_single,
+ { "single", "cmip.single",
+ FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
+ "AE_title", HFILL }},
+ { &hf_cmip_multiple,
+ { "multiple", "cmip.multiple",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SET_OF_AE_title", HFILL }},
+ { &hf_cmip_multiple_item,
+ { "AE-title", "cmip.AE_title",
+ FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_GroupObjects_item,
+ { "ObjectInstance", "cmip.ObjectInstance",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_IntervalsOfDay_item,
+ { "IntervalsOfDay item", "cmip.IntervalsOfDay_item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_intervalStart,
+ { "intervalStart", "cmip.intervalStart_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Time24", HFILL }},
+ { &hf_cmip_intervalEnd,
+ { "intervalEnd", "cmip.intervalEnd_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Time24", HFILL }},
+ { &hf_cmip_managementExtensionidentifier,
+ { "identifier", "cmip.identifier",
+ FT_OID, BASE_NONE, NULL, 0,
+ "T_managementExtensionidentifier", HFILL }},
+ { &hf_cmip_significance,
+ { "significance", "cmip.significance",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_cmip_information,
+ { "information", "cmip.information_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_MonitoredAttributes_item,
+ { "Attribute", "cmip.Attribute_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_integer,
+ { "integer", "cmip.integer",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_real,
+ { "real", "cmip.real",
+ FT_DOUBLE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_Packages_item,
+ { "Packages item", "cmip.Packages_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "OBJECT_IDENTIFIER", HFILL }},
+ { &hf_cmip_PrioritisedObject_item,
+ { "PrioritisedObject item", "cmip.PrioritisedObject_item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_object,
+ { "object", "cmip.object",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
+ "ObjectInstance", HFILL }},
+ { &hf_cmip_priority,
+ { "priority", "cmip.priority",
+ FT_INT32, BASE_DEC, VALS(cmip_T_priority_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_globalValue,
+ { "globalValue", "cmip.globalValue",
+ FT_OID, BASE_NONE, NULL, 0,
+ "OBJECT_IDENTIFIER", HFILL }},
+ { &hf_cmip_localValue,
+ { "localValue", "cmip.localValue",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_cmip_ProceduralStatus_item,
+ { "ProceduralStatus item", "cmip.ProceduralStatus_item",
+ FT_INT32, BASE_DEC, VALS(cmip_ProceduralStatus_item_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_ProposedRepairActions_item,
+ { "SpecificIdentifier", "cmip.SpecificIdentifier",
+ FT_UINT32, BASE_DEC, VALS(cmip_SpecificIdentifier_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_mechanism,
+ { "mechanism", "cmip.mechanism",
+ FT_OID, BASE_NONE, NULL, 0,
+ "OBJECT_IDENTIFIER", HFILL }},
+ { &hf_cmip_application,
+ { "application", "cmip.application",
+ FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
+ "AE_title", HFILL }},
+ { &hf_cmip_serviceUseridentifier,
+ { "identifier", "cmip.identifier",
+ FT_OID, BASE_NONE, NULL, 0,
+ "T_serviceUseridentifier", HFILL }},
+ { &hf_cmip_details,
+ { "details", "cmip.details_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_number,
+ { "number", "cmip.number",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_cmip_string,
+ { "string", "cmip.string",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "GraphicString", HFILL }},
+ { &hf_cmip_oi,
+ { "oi", "cmip.oi",
+ FT_OID, BASE_NONE, NULL, 0,
+ "OBJECT_IDENTIFIER", HFILL }},
+ { &hf_cmip_int,
+ { "int", "cmip.int",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_cmip_SpecificProblems_item,
+ { "SpecificIdentifier", "cmip.SpecificIdentifier",
+ FT_UINT32, BASE_DEC, VALS(cmip_SpecificIdentifier_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_specific,
+ { "specific", "cmip.specific",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ "GeneralizedTime", HFILL }},
+ { &hf_cmip_continual,
+ { "continual", "cmip.continual_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_SupportedFeatures_item,
+ { "SupportedFeatures item", "cmip.SupportedFeatures_item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_featureIdentifier,
+ { "featureIdentifier", "cmip.featureIdentifier",
+ FT_OID, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_featureInfo,
+ { "featureInfo", "cmip.featureInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_name,
+ { "name", "cmip.name",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "GraphicString", HFILL }},
+ { &hf_cmip_nothing,
+ { "nothing", "cmip.nothing_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_oid,
+ { "oid", "cmip.oid",
+ FT_OID, BASE_NONE, NULL, 0,
+ "OBJECT_IDENTIFIER", HFILL }},
+ { &hf_cmip_hour,
+ { "hour", "cmip.hour",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_23", HFILL }},
+ { &hf_cmip_minute,
+ { "minute", "cmip.minute",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_59", HFILL }},
+ { &hf_cmip_triggeredThreshold,
+ { "triggeredThreshold", "cmip.triggeredThreshold",
+ FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
+ "AttributeId", HFILL }},
+ { &hf_cmip_observedValue,
+ { "observedValue", "cmip.observedValue",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObservedValue_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_thresholdLevel,
+ { "thresholdLevel", "cmip.thresholdLevel",
+ FT_UINT32, BASE_DEC, VALS(cmip_ThresholdLevelInd_vals), 0,
+ "ThresholdLevelInd", HFILL }},
+ { &hf_cmip_armTime,
+ { "armTime", "cmip.armTime",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ "GeneralizedTime", HFILL }},
+ { &hf_cmip_up,
+ { "up", "cmip.up_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_high,
+ { "high", "cmip.high",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObservedValue_vals), 0,
+ "ObservedValue", HFILL }},
+ { &hf_cmip_low,
+ { "low", "cmip.low",
+ FT_UINT32, BASE_DEC, VALS(cmip_ObservedValue_vals), 0,
+ "ObservedValue", HFILL }},
+ { &hf_cmip_down,
+ { "down", "cmip.down_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_WeekMask_item,
+ { "WeekMask item", "cmip.WeekMask_item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_daysOfWeek,
+ { "daysOfWeek", "cmip.daysOfWeek",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_intervalsOfDay,
+ { "intervalsOfDay", "cmip.intervalsOfDay",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_local,
+ { "local", "cmip.local",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_global,
+ { "global", "cmip.global",
+ FT_OID, BASE_NONE, NULL, 0,
+ "OBJECT_IDENTIFIER", HFILL }},
+ { &hf_cmip_invoke,
+ { "invoke", "cmip.invoke_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_returnResult,
+ { "returnResult", "cmip.returnResult_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_returnError,
+ { "returnError", "cmip.returnError_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_reject,
+ { "reject", "cmip.reject_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_invokeId,
+ { "invokeId", "cmip.invokeId",
+ FT_UINT32, BASE_DEC, VALS(cmip_InvokeId_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_linkedId,
+ { "linkedId", "cmip.linkedId",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_linkedId_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_linkedIdPresent,
+ { "present", "cmip.linkedIdPresent",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "T_linkedIdPresent", HFILL }},
+ { &hf_cmip_absent,
+ { "absent", "cmip.absent_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_opcode,
+ { "opcode", "cmip.opcode",
+ FT_UINT32, BASE_DEC, VALS(cmip_Code_vals), 0,
+ "Code", HFILL }},
+ { &hf_cmip_argument,
+ { "argument", "cmip.argument_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "InvokeArgument", HFILL }},
+ { &hf_cmip_result,
+ { "result", "cmip.result_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_resultArgument,
+ { "result", "cmip.result_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ResultArgument", HFILL }},
+ { &hf_cmip_errcode,
+ { "errcode", "cmip.errcode",
+ FT_UINT32, BASE_DEC, VALS(cmip_Code_vals), 0,
+ "Code", HFILL }},
+ { &hf_cmip_parameter,
+ { "parameter", "cmip.parameter_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_problem,
+ { "problem", "cmip.problem",
+ FT_UINT32, BASE_DEC, VALS(cmip_T_problem_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_general,
+ { "general", "cmip.general",
+ FT_INT32, BASE_DEC, VALS(cmip_GeneralProblem_vals), 0,
+ "GeneralProblem", HFILL }},
+ { &hf_cmip_invokeProblem,
+ { "invoke", "cmip.invoke",
+ FT_INT32, BASE_DEC, VALS(cmip_InvokeProblem_vals), 0,
+ "InvokeProblem", HFILL }},
+ { &hf_cmip_returnResultProblem,
+ { "returnResult", "cmip.returnResult",
+ FT_INT32, BASE_DEC, VALS(cmip_ReturnResultProblem_vals), 0,
+ "ReturnResultProblem", HFILL }},
+ { &hf_cmip_returnErrorProblem,
+ { "returnError", "cmip.returnError",
+ FT_INT32, BASE_DEC, VALS(cmip_ReturnErrorProblem_vals), 0,
+ "ReturnErrorProblem", HFILL }},
+ { &hf_cmip_present,
+ { "present", "cmip.present",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "INTEGER", HFILL }},
+ { &hf_cmip_synchronization,
+ { "synchronization", "cmip.synchronization",
+ FT_UINT32, BASE_DEC, VALS(cmip_CMISSync_vals), 0,
+ "CMISSync", HFILL }},
+ { &hf_cmip_actionInfo,
+ { "actionInfo", "cmip.actionInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_attributeIdList,
+ { "attributeIdList", "cmip.attributeIdList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SET_OF_AttributeId", HFILL }},
+ { &hf_cmip_attributeIdList_item,
+ { "AttributeId", "cmip.AttributeId",
+ FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
+ NULL, HFILL }},
+ { &hf_cmip_modificationList,
+ { "modificationList", "cmip.modificationList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_modificationList_item,
+ { "modificationList item", "cmip.modificationList_item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_modificationList_item", HFILL }},
+ { &hf_cmip_attributevalue,
+ { "attributeValue", "cmip.attributeValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_InvokeId_present,
+ { "InvokeId.present", "cmip.InvokeId_present",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "InvokeId_present", HFILL }},
+ { &hf_cmip_FunctionalUnits_multipleObjectSelection,
+ { "multipleObjectSelection", "cmip.FunctionalUnits.multipleObjectSelection",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_cmip_FunctionalUnits_filter,
+ { "filter", "cmip.FunctionalUnits.filter",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_cmip_FunctionalUnits_multipleReply,
+ { "multipleReply", "cmip.FunctionalUnits.multipleReply",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_cmip_FunctionalUnits_extendedService,
+ { "extendedService", "cmip.FunctionalUnits.extendedService",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_cmip_FunctionalUnits_cancelGet,
+ { "cancelGet", "cmip.FunctionalUnits.cancelGet",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
+ { &hf_cmip_ProtocolVersion_version1,
+ { "version1", "cmip.ProtocolVersion.version1",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_cmip_ProtocolVersion_version2,
+ { "version2", "cmip.ProtocolVersion.version2",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_cmip_T_daysOfWeek_sunday,
+ { "sunday", "cmip.T.daysOfWeek.sunday",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_cmip_T_daysOfWeek_monday,
+ { "monday", "cmip.T.daysOfWeek.monday",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_cmip_T_daysOfWeek_tuesday,
+ { "tuesday", "cmip.T.daysOfWeek.tuesday",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_cmip_T_daysOfWeek_wednesday,
+ { "wednesday", "cmip.T.daysOfWeek.wednesday",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_cmip_T_daysOfWeek_thursday,
+ { "thursday", "cmip.T.daysOfWeek.thursday",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
+ { &hf_cmip_T_daysOfWeek_friday,
+ { "friday", "cmip.T.daysOfWeek.friday",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ NULL, HFILL }},
+ { &hf_cmip_T_daysOfWeek_saturday,
+ { "saturday", "cmip.T.daysOfWeek.saturday",
+ FT_BOOLEAN, 8, NULL, 0x02,
+ NULL, HFILL }},
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_cmip,
+ &ett_cmip_PAR_missingAttributeValue,
+ &ett_cmip_ActionArgument,
+ &ett_cmip_ActionError,
+ &ett_cmip_ActionErrorInfo,
+ &ett_cmip_T_actionErrorInfo,
+ &ett_cmip_ActionInfo,
+ &ett_cmip_ActionReply,
+ &ett_cmip_ActionResult,
+ &ett_cmip_ActionTypeId,
+ &ett_cmip_Attribute,
+ &ett_cmip_AttributeError,
+ &ett_cmip_AttributeId,
+ &ett_cmip_AttributeIdError,
+ &ett_cmip_AttributeValueAssertion,
+ &ett_cmip_BaseManagedObjectId,
+ &ett_cmip_CMISFilter,
+ &ett_cmip_SET_OF_CMISFilter,
+ &ett_cmip_ComplexityLimitation,
+ &ett_cmip_CreateArgument,
+ &ett_cmip_T_managedOrSuperiorObjectInstance,
+ &ett_cmip_SET_OF_Attribute,
+ &ett_cmip_CreateResult,
+ &ett_cmip_DeleteArgument,
+ &ett_cmip_DeleteError,
+ &ett_cmip_DeleteResult,
+ &ett_cmip_EventReply,
+ &ett_cmip_EventReportArgument,
+ &ett_cmip_EventReportResult,
+ &ett_cmip_EventTypeId,
+ &ett_cmip_FilterItem,
+ &ett_cmip_T_substrings,
+ &ett_cmip_T_substrings_item,
+ &ett_cmip_GetArgument,
+ &ett_cmip_GetInfoStatus,
+ &ett_cmip_GetListError,
+ &ett_cmip_SET_OF_GetInfoStatus,
+ &ett_cmip_GetResult,
+ &ett_cmip_InvalidArgumentValue,
+ &ett_cmip_T_eventValue,
+ &ett_cmip_LinkedReplyArgument,
+ &ett_cmip_NoSuchAction,
+ &ett_cmip_NoSuchArgument,
+ &ett_cmip_T_actionId,
+ &ett_cmip_T_eventId,
+ &ett_cmip_NoSuchEventType,
+ &ett_cmip_ObjectClass,
+ &ett_cmip_ObjectInstance,
+ &ett_cmip_ProcessingFailure,
+ &ett_cmip_RDNSequence,
+ &ett_cmip_RelativeDistinguishedName,
+ &ett_cmip_Scope,
+ &ett_cmip_SetArgument,
+ &ett_cmip_SetInfoStatus,
+ &ett_cmip_SetListError,
+ &ett_cmip_SET_OF_SetInfoStatus,
+ &ett_cmip_SetResult,
+ &ett_cmip_SpecificErrorInfo,
+ &ett_cmip_CMIPAbortInfo,
+ &ett_cmip_FunctionalUnits,
+ &ett_cmip_CMIPUserInfo,
+ &ett_cmip_ProtocolVersion,
+ &ett_cmip_AdditionalInformation,
+ &ett_cmip_Allomorphs,
+ &ett_cmip_AttributeIdentifierList,
+ &ett_cmip_AttributeList,
+ &ett_cmip_AttributeValueChangeDefinition,
+ &ett_cmip_AttributeValueChangeDefinition_item,
+ &ett_cmip_AlarmStatus,
+ &ett_cmip_AvailabilityStatus,
+ &ett_cmip_BackUpDestinationList,
+ &ett_cmip_BackUpRelationshipObject,
+ &ett_cmip_CapacityAlarmThreshold,
+ &ett_cmip_ControlStatus,
+ &ett_cmip_CorrelatedNotifications,
+ &ett_cmip_CorrelatedNotifications_item,
+ &ett_cmip_SET_OF_NotificationIdentifier,
+ &ett_cmip_Destination,
+ &ett_cmip_SET_OF_AE_title,
+ &ett_cmip_GroupObjects,
+ &ett_cmip_IntervalsOfDay,
+ &ett_cmip_IntervalsOfDay_item,
+ &ett_cmip_ManagementExtension,
+ &ett_cmip_MonitoredAttributes,
+ &ett_cmip_ObservedValue,
+ &ett_cmip_Packages,
+ &ett_cmip_PrioritisedObject,
+ &ett_cmip_PrioritisedObject_item,
+ &ett_cmip_ProbableCause,
+ &ett_cmip_ProceduralStatus,
+ &ett_cmip_ProposedRepairActions,
+ &ett_cmip_SecurityAlarmDetector,
+ &ett_cmip_ServiceUser,
+ &ett_cmip_SimpleNameType,
+ &ett_cmip_SpecificIdentifier,
+ &ett_cmip_SpecificProblems,
+ &ett_cmip_StopTime,
+ &ett_cmip_SupportedFeatures,
+ &ett_cmip_SupportedFeatures_item,
+ &ett_cmip_SystemId,
+ &ett_cmip_SystemTitle,
+ &ett_cmip_Time24,
+ &ett_cmip_ThresholdInfo,
+ &ett_cmip_ThresholdLevelInd,
+ &ett_cmip_T_up,
+ &ett_cmip_T_down,
+ &ett_cmip_WeekMask,
+ &ett_cmip_WeekMask_item,
+ &ett_cmip_T_daysOfWeek,
+ &ett_cmip_Code,
+ &ett_cmip_ROS,
+ &ett_cmip_Invoke,
+ &ett_cmip_T_linkedId,
+ &ett_cmip_ReturnResult,
+ &ett_cmip_T_result,
+ &ett_cmip_ReturnError,
+ &ett_cmip_Reject,
+ &ett_cmip_T_problem,
+ &ett_cmip_InvokeId,
+ &ett_cmip_SET_OF_AttributeId,
+ &ett_cmip_T_modificationList,
+ &ett_cmip_T_modificationList_item,
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_wrong_spdu_type, { "cmip.wrong_spdu_type", PI_PROTOCOL, PI_ERROR, "Internal error: wrong spdu type", EXPFILL }},
+ };
+
+ expert_module_t* expert_cmip;
+
+ /* Register protocol */
+ proto_cmip = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ cmip_handle = register_dissector("cmip", dissect_cmip, proto_cmip);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_cmip, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_cmip = expert_register_protocol(proto_cmip);
+ expert_register_field_array(expert_cmip, ei, array_length(ei));
+
+ register_ber_oid_dissector("2.9.2.21.7.13", dissect_BaseManagedObjectId_PDU, proto_cmip, "BaseManagedObjectId(13)");
+ register_ber_oid_dissector("2.9.3.2.7.1", dissect_SimpleNameType_PDU, proto_cmip, "discriminatorId(1)");
+ register_ber_oid_dissector("2.9.3.2.7.2", dissect_SimpleNameType_PDU, proto_cmip, "logId(2)");
+ register_ber_oid_dissector("2.9.3.2.7.3", dissect_LogRecordId_PDU, proto_cmip, "logRecordId(3)");
+ register_ber_oid_dissector("2.9.3.2.7.4", dissect_SystemId_PDU, proto_cmip, "systemId(4)");
+ register_ber_oid_dissector("2.9.3.2.7.5", dissect_SystemTitle_PDU, proto_cmip, "systemTitle(5)");
+ register_ber_oid_dissector("2.9.3.2.7.6", dissect_AdditionalInformation_PDU, proto_cmip, "additionalInformation(6)");
+ register_ber_oid_dissector("2.9.3.2.7.7", dissect_AdditionalText_PDU, proto_cmip, "additionalText(7)");
+ register_ber_oid_dissector("2.9.3.2.7.8", dissect_AttributeIdentifierList_PDU, proto_cmip, "attributeIdentifierList(8)");
+ register_ber_oid_dissector("2.9.3.2.7.9", dissect_AttributeList_PDU, proto_cmip, "attributeList(9)");
+ register_ber_oid_dissector("2.9.3.2.7.10", dissect_AttributeValueChangeDefinition_PDU, proto_cmip, "attributeValueChangeDefinition(10)");
+ register_ber_oid_dissector("2.9.3.2.7.11", dissect_BackedUpStatus_PDU, proto_cmip, "backedUpStatus(11)");
+ register_ber_oid_dissector("2.9.3.2.7.12", dissect_CorrelatedNotifications_PDU, proto_cmip, "correlatedNotifications(12)");
+ register_ber_oid_dissector("2.9.3.2.7.13", dissect_EventTime_PDU, proto_cmip, "eventTime(13)");
+ register_ber_oid_dissector("2.9.3.2.7.14", dissect_EventTypeId_PDU, proto_cmip, "eventType(14)");
+ register_ber_oid_dissector("2.9.3.2.7.15", dissect_MonitoredAttributes_PDU, proto_cmip, "monitoredAttributes(15)");
+ register_ber_oid_dissector("2.9.3.2.7.16", dissect_NotificationIdentifier_PDU, proto_cmip, "notificationIdentifier(16)");
+ register_ber_oid_dissector("2.9.3.2.7.17", dissect_PerceivedSeverity_PDU, proto_cmip, "perceivedSeverity(17)");
+ register_ber_oid_dissector("2.9.3.2.7.18", dissect_ProbableCause_PDU, proto_cmip, "probableCause(18)");
+ register_ber_oid_dissector("2.9.3.2.7.19", dissect_ProposedRepairActions_PDU, proto_cmip, "proposedRepairActions(19)");
+ register_ber_oid_dissector("2.9.3.2.7.20", dissect_AttributeValueChangeDefinition_PDU, proto_cmip, "relationshipChangeDefinition(20)");
+ register_ber_oid_dissector("2.9.3.2.7.21", dissect_SecurityAlarmCause_PDU, proto_cmip, "securityAlarmCause(21)");
+ register_ber_oid_dissector("2.9.3.2.7.22", dissect_SecurityAlarmDetector_PDU, proto_cmip, "securityAlarmDetector(22)");
+ register_ber_oid_dissector("2.9.3.2.7.23", dissect_SecurityAlarmSeverity_PDU, proto_cmip, "securityAlarmSeverity(23)");
+ register_ber_oid_dissector("2.9.3.2.7.24", dissect_ServiceProvider_PDU, proto_cmip, "serviceProvider(24)");
+ register_ber_oid_dissector("2.9.3.2.7.25", dissect_ServiceUser_PDU, proto_cmip, "serviceUser(25)");
+ register_ber_oid_dissector("2.9.3.2.7.26", dissect_SourceIndicator_PDU, proto_cmip, "sourceIndicator(26)");
+ register_ber_oid_dissector("2.9.3.2.7.27", dissect_SpecificProblems_PDU, proto_cmip, "specificProblems(27)");
+ register_ber_oid_dissector("2.9.3.2.7.28", dissect_AttributeValueChangeDefinition_PDU, proto_cmip, "stateChangeDefinition(28)");
+ register_ber_oid_dissector("2.9.3.2.7.29", dissect_ThresholdInfo_PDU, proto_cmip, "thresholdInfo(29)");
+ register_ber_oid_dissector("2.9.3.2.7.30", dissect_TrendIndication_PDU, proto_cmip, "trendIndication(30)");
+ register_ber_oid_dissector("2.9.3.2.7.31", dissect_AdministrativeState_PDU, proto_cmip, "administrativeState(31)");
+ register_ber_oid_dissector("2.9.3.2.7.32", dissect_AlarmStatus_PDU, proto_cmip, "alarmStatus(32)");
+ register_ber_oid_dissector("2.9.3.2.7.33", dissect_AvailabilityStatus_PDU, proto_cmip, "availabilityStatus(33)");
+ register_ber_oid_dissector("2.9.3.2.7.34", dissect_ControlStatus_PDU, proto_cmip, "controlStatus(34)");
+ register_ber_oid_dissector("2.9.3.2.7.35", dissect_OperationalState_PDU, proto_cmip, "operationalState(35)");
+ register_ber_oid_dissector("2.9.3.2.7.36", dissect_ProceduralStatus_PDU, proto_cmip, "proceduralStatus(36)");
+ register_ber_oid_dissector("2.9.3.2.7.37", dissect_StandbyStatus_PDU, proto_cmip, "standbyStatus(37)");
+ register_ber_oid_dissector("2.9.3.2.7.38", dissect_UnknownStatus_PDU, proto_cmip, "unknownStatus(38)");
+ register_ber_oid_dissector("2.9.3.2.7.39", dissect_UsageState_PDU, proto_cmip, "usageState(39)");
+ register_ber_oid_dissector("2.9.3.2.7.40", dissect_BackUpRelationshipObject_PDU, proto_cmip, "backUpObject(40)");
+ register_ber_oid_dissector("2.9.3.2.7.41", dissect_BackUpRelationshipObject_PDU, proto_cmip, "backedUpObject(41)");
+ register_ber_oid_dissector("2.9.3.2.7.42", dissect_GroupObjects_PDU, proto_cmip, "member(42)");
+ register_ber_oid_dissector("2.9.3.2.7.43", dissect_GroupObjects_PDU, proto_cmip, "owner(43)");
+ register_ber_oid_dissector("2.9.3.2.7.44", dissect_BackUpRelationshipObject_PDU, proto_cmip, "peer(44)");
+ register_ber_oid_dissector("2.9.3.2.7.45", dissect_PrioritisedObject_PDU, proto_cmip, "primary(45)");
+ register_ber_oid_dissector("2.9.3.2.7.46", dissect_PrioritisedObject_PDU, proto_cmip, "providerObject(46)");
+ register_ber_oid_dissector("2.9.3.2.7.47", dissect_PrioritisedObject_PDU, proto_cmip, "secondary(47)");
+ register_ber_oid_dissector("2.9.3.2.7.48", dissect_PrioritisedObject_PDU, proto_cmip, "userObject(48)");
+ register_ber_oid_dissector("2.9.3.2.7.49", dissect_ActiveDestination_PDU, proto_cmip, "activeDestination(49)");
+ register_ber_oid_dissector("2.9.3.2.7.50", dissect_Allomorphs_PDU, proto_cmip, "allomorphs(50)");
+ register_ber_oid_dissector("2.9.3.2.7.51", dissect_BackUpDestinationList_PDU, proto_cmip, "backUpDestinationList(51)");
+ register_ber_oid_dissector("2.9.3.2.7.52", dissect_CapacityAlarmThreshold_PDU, proto_cmip, "capacityAlarmThreshold(52)");
+ register_ber_oid_dissector("2.9.3.2.7.53", dissect_ConfirmedMode_PDU, proto_cmip, "confirmedMode(53)");
+ register_ber_oid_dissector("2.9.3.2.7.54", dissect_CurrentLogSize_PDU, proto_cmip, "currentLogSize(54)");
+ register_ber_oid_dissector("2.9.3.2.7.55", dissect_Destination_PDU, proto_cmip, "destination(55)");
+ register_ber_oid_dissector("2.9.3.2.7.56", dissect_DiscriminatorConstruct_PDU, proto_cmip, "discriminatorConstruct(56)");
+ register_ber_oid_dissector("2.9.3.2.7.57", dissect_IntervalsOfDay_PDU, proto_cmip, "intervalsOfDay(57)");
+ register_ber_oid_dissector("2.9.3.2.7.58", dissect_LogFullAction_PDU, proto_cmip, "logFullAction(58)");
+ register_ber_oid_dissector("2.9.3.2.7.59", dissect_LoggingTime_PDU, proto_cmip, "loggingTime(59)");
+ register_ber_oid_dissector("2.9.3.2.7.62", dissect_MaxLogSize_PDU, proto_cmip, "maxLogSize(62)");
+ register_ber_oid_dissector("2.9.3.2.7.63", dissect_NameBinding_PDU, proto_cmip, "nameBinding(63)");
+ register_ber_oid_dissector("2.9.3.2.7.64", dissect_NumberOfRecords_PDU, proto_cmip, "numberOfRecords(64)");
+ register_ber_oid_dissector("2.9.3.2.7.65", dissect_ObjectClass_PDU, proto_cmip, "objectClass(65)");
+ register_ber_oid_dissector("2.9.3.2.7.66", dissect_Packages_PDU, proto_cmip, "packages(66)");
+ register_ber_oid_dissector("2.9.3.2.7.68", dissect_StartTime_PDU, proto_cmip, "startTime(68)");
+ register_ber_oid_dissector("2.9.3.2.7.69", dissect_StopTime_PDU, proto_cmip, "stopTime(69)");
+ register_ber_oid_dissector("2.9.3.2.7.70", dissect_SupportedFeatures_PDU, proto_cmip, "supportedFeatures(70)");
+ register_ber_oid_dissector("2.9.3.2.7.71", dissect_WeekMask_PDU, proto_cmip, "weekMask(71)");
+ register_ber_oid_dissector("2.9.3.2.7.115", dissect_LifecycleState_PDU, proto_cmip, "lifecycleState(115)");
+
+ oid_add_from_string("discriminatorId(1)","2.9.3.2.7.1");
+
+ attribute_id_dissector_table = register_dissector_table("cmip.attribute_id", "CMIP Attribute Id", proto_cmip, FT_UINT32, BASE_DEC);
+
+}
+
+
+/*--- proto_reg_handoff_cmip -------------------------------------------*/
+void proto_reg_handoff_cmip(void) {
+ register_ber_oid_dissector_handle("2.9.0.0.2", cmip_handle, proto_cmip, "cmip");
+ register_ber_oid_dissector_handle("2.9.1.1.4", cmip_handle, proto_cmip, "joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
+
+ oid_add_from_string("2.9.3.2.3.1","managedObjectClass(3) alarmRecord(1)");
+ oid_add_from_string("2.9.3.2.3.2","managedObjectClass(3) attributeValueChangeRecord(2)");
+ oid_add_from_string("2.9.3.2.3.3","managedObjectClass(3) discriminator(3)");
+ oid_add_from_string("2.9.3.2.3.4","managedObjectClass(3) eventForwardingDiscriminator(4)");
+ oid_add_from_string("2.9.3.2.3.5","managedObjectClass(3) eventLogRecord(5)");
+ oid_add_from_string("2.9.3.2.3.6","managedObjectClass(3) log(6)");
+ oid_add_from_string("2.9.3.2.3.7","managedObjectClass(3) logRecord(7)");
+ oid_add_from_string("2.9.3.2.3.8","managedObjectClass(3) objectCreationRecord(8)");
+ oid_add_from_string("2.9.3.2.3.9","managedObjectClass(3) objectDeletionRecord(9)");
+ oid_add_from_string("2.9.3.2.3.10","managedObjectClass(3) relationshipChangeRecord(10)");
+ oid_add_from_string("2.9.3.2.3.11","managedObjectClass(3) securityAlarmReportRecord(11)");
+ oid_add_from_string("2.9.3.2.3.12","managedObjectClass(3) stateChangeRecord(12)");
+ oid_add_from_string("2.9.3.2.3.13","managedObjectClass(3) system(13)");
+ oid_add_from_string("2.9.3.2.3.14","managedObjectClass(3) top(14)");
+ oid_add_from_string("2.9.3.2.4.14","administrativeStatePackage(14)");
+ oid_add_from_string("2.9.1.1.4","joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
+
+/*#include "packet-cmip-dis-tab.c" */
+}
+