Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-cmip.c
blob0943059a203643daf7febea164bcdc7299064f92
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-cmip.c */
4 /* asn2wrs.py -b -q -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 */
6 /* packet-cmip.c
7 * Routines for X.711 CMIP packet dissection
8 * Ronnie Sahlberg 2004
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
17 #include "config.h"
19 #include <epan/packet.h>
20 #include <epan/expert.h>
21 #include <epan/oids.h>
22 #include <epan/asn1.h>
23 #include <epan/proto_data.h>
24 #include <wsutil/array.h>
25 #include "packet-ber.h"
26 #include "packet-acse.h"
27 #include "packet-x509if.h"
28 #include "packet-cmip.h"
30 #define PNAME "X711 CMIP"
31 #define PSNAME "CMIP"
32 #define PFNAME "cmip"
34 void proto_register_cmip(void);
35 void proto_reg_handoff_cmip(void);
37 /* XXX some stuff we need until we can get rid of it */
38 #include "packet-ses.h"
39 #include "packet-pres.h"
41 /* Initialize the protocol and registered fields */
42 static int proto_cmip;
43 static int hf_cmip_actionType_OID;
44 static int hf_cmip_eventType_OID;
45 static int hf_cmip_attributeId_OID;
46 static int hf_cmip_errorId_OID;
48 static int hf_cmip_BaseManagedObjectId_PDU; /* BaseManagedObjectId */
49 static int hf_cmip_EventTypeId_PDU; /* EventTypeId */
50 static int hf_cmip_ObjectClass_PDU; /* ObjectClass */
51 static int hf_cmip_ActiveDestination_PDU; /* ActiveDestination */
52 static int hf_cmip_AdditionalText_PDU; /* AdditionalText */
53 static int hf_cmip_AdditionalInformation_PDU; /* AdditionalInformation */
54 static int hf_cmip_Allomorphs_PDU; /* Allomorphs */
55 static int hf_cmip_AdministrativeState_PDU; /* AdministrativeState */
56 static int hf_cmip_AttributeIdentifierList_PDU; /* AttributeIdentifierList */
57 static int hf_cmip_AttributeList_PDU; /* AttributeList */
58 static int hf_cmip_AttributeValueChangeDefinition_PDU; /* AttributeValueChangeDefinition */
59 static int hf_cmip_AlarmStatus_PDU; /* AlarmStatus */
60 static int hf_cmip_AvailabilityStatus_PDU; /* AvailabilityStatus */
61 static int hf_cmip_BackedUpStatus_PDU; /* BackedUpStatus */
62 static int hf_cmip_BackUpDestinationList_PDU; /* BackUpDestinationList */
63 static int hf_cmip_BackUpRelationshipObject_PDU; /* BackUpRelationshipObject */
64 static int hf_cmip_CapacityAlarmThreshold_PDU; /* CapacityAlarmThreshold */
65 static int hf_cmip_ConfirmedMode_PDU; /* ConfirmedMode */
66 static int hf_cmip_ControlStatus_PDU; /* ControlStatus */
67 static int hf_cmip_CorrelatedNotifications_PDU; /* CorrelatedNotifications */
68 static int hf_cmip_CurrentLogSize_PDU; /* CurrentLogSize */
69 static int hf_cmip_Destination_PDU; /* Destination */
70 static int hf_cmip_DiscriminatorConstruct_PDU; /* DiscriminatorConstruct */
71 static int hf_cmip_EventTime_PDU; /* EventTime */
72 static int hf_cmip_GroupObjects_PDU; /* GroupObjects */
73 static int hf_cmip_IntervalsOfDay_PDU; /* IntervalsOfDay */
74 static int hf_cmip_LifecycleState_PDU; /* LifecycleState */
75 static int hf_cmip_LogFullAction_PDU; /* LogFullAction */
76 static int hf_cmip_LoggingTime_PDU; /* LoggingTime */
77 static int hf_cmip_LogRecordId_PDU; /* LogRecordId */
78 static int hf_cmip_MaxLogSize_PDU; /* MaxLogSize */
79 static int hf_cmip_MonitoredAttributes_PDU; /* MonitoredAttributes */
80 static int hf_cmip_NameBinding_PDU; /* NameBinding */
81 static int hf_cmip_NotificationIdentifier_PDU; /* NotificationIdentifier */
82 static int hf_cmip_NumberOfRecords_PDU; /* NumberOfRecords */
83 static int hf_cmip_OperationalState_PDU; /* OperationalState */
84 static int hf_cmip_Packages_PDU; /* Packages */
85 static int hf_cmip_PerceivedSeverity_PDU; /* PerceivedSeverity */
86 static int hf_cmip_PrioritisedObject_PDU; /* PrioritisedObject */
87 static int hf_cmip_ProbableCause_PDU; /* ProbableCause */
88 static int hf_cmip_ProceduralStatus_PDU; /* ProceduralStatus */
89 static int hf_cmip_ProposedRepairActions_PDU; /* ProposedRepairActions */
90 static int hf_cmip_SecurityAlarmCause_PDU; /* SecurityAlarmCause */
91 static int hf_cmip_SecurityAlarmSeverity_PDU; /* SecurityAlarmSeverity */
92 static int hf_cmip_SecurityAlarmDetector_PDU; /* SecurityAlarmDetector */
93 static int hf_cmip_ServiceProvider_PDU; /* ServiceProvider */
94 static int hf_cmip_ServiceUser_PDU; /* ServiceUser */
95 static int hf_cmip_SimpleNameType_PDU; /* SimpleNameType */
96 static int hf_cmip_SourceIndicator_PDU; /* SourceIndicator */
97 static int hf_cmip_SpecificProblems_PDU; /* SpecificProblems */
98 static int hf_cmip_StandbyStatus_PDU; /* StandbyStatus */
99 static int hf_cmip_StartTime_PDU; /* StartTime */
100 static int hf_cmip_StopTime_PDU; /* StopTime */
101 static int hf_cmip_SupportedFeatures_PDU; /* SupportedFeatures */
102 static int hf_cmip_SystemId_PDU; /* SystemId */
103 static int hf_cmip_SystemTitle_PDU; /* SystemTitle */
104 static int hf_cmip_ThresholdInfo_PDU; /* ThresholdInfo */
105 static int hf_cmip_TrendIndication_PDU; /* TrendIndication */
106 static int hf_cmip_UnknownStatus_PDU; /* UnknownStatus */
107 static int hf_cmip_UsageState_PDU; /* UsageState */
108 static int hf_cmip_WeekMask_PDU; /* WeekMask */
109 static int hf_cmip_PAR_missingAttributeValue_item; /* AttributeId */
110 static int hf_cmip_managedObjectClass; /* ObjectClass */
111 static int hf_cmip_managedObjectInstance; /* ObjectInstance */
112 static int hf_cmip_currentTime; /* GeneralizedTime */
113 static int hf_cmip_actionErroractionErrorInfo; /* ActionErrorInfo */
114 static int hf_cmip_actionErrorInfo_errorStatus; /* T_actionErrorInfo_errorStatus */
115 static int hf_cmip_actionErrorInfo; /* T_actionErrorInfo */
116 static int hf_cmip_actionType; /* ActionTypeId */
117 static int hf_cmip_actionArgument; /* NoSuchArgument */
118 static int hf_cmip_argumentValue; /* InvalidArgumentValue */
119 static int hf_cmip_actionInfoArg; /* T_actionInfoArg */
120 static int hf_cmip_actionReplyInfo; /* T_actionReplyInfo */
121 static int hf_cmip_actionReply; /* ActionReply */
122 static int hf_cmip_actionTypeId_globalForm; /* T_actionTypeId_globalForm */
123 static int hf_cmip_localForm; /* INTEGER */
124 static int hf_cmip_attributeid; /* AttributeId */
125 static int hf_cmip_value; /* AttributeValue */
126 static int hf_cmip_attributeError_errorStatus; /* T_attributeError_errorStatus */
127 static int hf_cmip_modifyOperator; /* ModifyOperator */
128 static int hf_cmip_attributeId; /* AttributeId */
129 static int hf_cmip_attributeValue; /* T_attributeValue */
130 static int hf_cmip_attributeId_globalForm; /* T_attributeId_globalForm */
131 static int hf_cmip_attributeIdlocalForm; /* T_attributeIdlocalForm */
132 static int hf_cmip_attributeIdError_errorStatus; /* T_attributeIdError_errorStatus */
133 static int hf_cmip_id; /* T_id */
134 static int hf_cmip_attributeValueAssertionvalue; /* T_attributeValueAssertionvalue */
135 static int hf_cmip_baseManagedObjectClass; /* ObjectClass */
136 static int hf_cmip_baseManagedObjectInstance; /* ObjectInstance */
137 static int hf_cmip_item; /* FilterItem */
138 static int hf_cmip_and; /* SET_OF_CMISFilter */
139 static int hf_cmip_and_item; /* CMISFilter */
140 static int hf_cmip_or; /* SET_OF_CMISFilter */
141 static int hf_cmip_or_item; /* CMISFilter */
142 static int hf_cmip_not; /* CMISFilter */
143 static int hf_cmip_scope; /* Scope */
144 static int hf_cmip_filter; /* CMISFilter */
145 static int hf_cmip_sync; /* CMISSync */
146 static int hf_cmip_managedOrSuperiorObjectInstance; /* T_managedOrSuperiorObjectInstance */
147 static int hf_cmip_superiorObjectInstance; /* ObjectInstance */
148 static int hf_cmip_accessControl; /* AccessControl */
149 static int hf_cmip_referenceObjectInstance; /* ObjectInstance */
150 static int hf_cmip_attributeList; /* SET_OF_Attribute */
151 static int hf_cmip_attributeList_item; /* Attribute */
152 static int hf_cmip_deleteErrorInfo; /* T_deleteErrorInfo */
153 static int hf_cmip_eventType; /* EventTypeId */
154 static int hf_cmip_eventReplyInfo; /* T_eventReplyInfo */
155 static int hf_cmip_eventTime; /* GeneralizedTime */
156 static int hf_cmip_eventReportArgumenteventInfo; /* EventReportArgumentEventInfo */
157 static int hf_cmip_eventReply; /* EventReply */
158 static int hf_cmip_eventTypeId_globalForm; /* T_eventTypeId_globalForm */
159 static int hf_cmip_equality; /* Attribute */
160 static int hf_cmip_substrings; /* T_substrings */
161 static int hf_cmip_substrings_item; /* T_substrings_item */
162 static int hf_cmip_initialString; /* Attribute */
163 static int hf_cmip_anyString; /* Attribute */
164 static int hf_cmip_finalString; /* Attribute */
165 static int hf_cmip_greaterOrEqual; /* Attribute */
166 static int hf_cmip_lessOrEqual; /* Attribute */
167 static int hf_cmip_filterItempresent; /* AttributeId */
168 static int hf_cmip_subsetOf; /* Attribute */
169 static int hf_cmip_supersetOf; /* Attribute */
170 static int hf_cmip_nonNullSetIntersection; /* Attribute */
171 static int hf_cmip_attributeIdError; /* AttributeIdError */
172 static int hf_cmip_attribute; /* Attribute */
173 static int hf_cmip_getInfoList; /* SET_OF_GetInfoStatus */
174 static int hf_cmip_getInfoList_item; /* GetInfoStatus */
175 static int hf_cmip_actionValue; /* ActionInfo */
176 static int hf_cmip_eventValue; /* T_eventValue */
177 static int hf_cmip_eventInfo; /* T_eventInfo */
178 static int hf_cmip_getResult; /* GetResult */
179 static int hf_cmip_getListError; /* GetListError */
180 static int hf_cmip_setResult; /* SetResult */
181 static int hf_cmip_setListError; /* SetListError */
182 static int hf_cmip_actionResult; /* ActionResult */
183 static int hf_cmip_processingFailure; /* ProcessingFailure */
184 static int hf_cmip_deleteResult; /* DeleteResult */
185 static int hf_cmip_actionError; /* ActionError */
186 static int hf_cmip_deleteError; /* DeleteError */
187 static int hf_cmip_actionId; /* T_actionId */
188 static int hf_cmip_eventId; /* T_eventId */
189 static int hf_cmip_objectClass_globalForm; /* T_objectClass_globalForm */
190 static int hf_cmip_objectClasslocalForm; /* INTEGER */
191 static int hf_cmip_distinguishedName; /* DistinguishedName */
192 static int hf_cmip_nonSpecificForm; /* OCTET_STRING */
193 static int hf_cmip_localDistinguishedName; /* RDNSequence */
194 static int hf_cmip_specificErrorInfo; /* SpecificErrorInfo */
195 static int hf_cmip_RDNSequence_item; /* RelativeDistinguishedName */
196 static int hf_cmip_RelativeDistinguishedName_item; /* AttributeValueAssertion */
197 static int hf_cmip_namedNumbers; /* T_namedNumbers */
198 static int hf_cmip_individualLevels; /* INTEGER */
199 static int hf_cmip_baseToNthLevel; /* INTEGER */
200 static int hf_cmip_attributeError; /* AttributeError */
201 static int hf_cmip_setInfoList; /* SET_OF_SetInfoStatus */
202 static int hf_cmip_setInfoList_item; /* SetInfoStatus */
203 static int hf_cmip_errorId; /* T_errorId */
204 static int hf_cmip_errorInfo; /* T_errorInfo */
205 static int hf_cmip_abortSource; /* CMIPAbortSource */
206 static int hf_cmip_userInfo; /* EXTERNAL */
207 static int hf_cmip_protocolVersion; /* ProtocolVersion */
208 static int hf_cmip_functionalUnits; /* FunctionalUnits */
209 static int hf_cmip_cmipUserInfoaccessControl; /* EXTERNAL */
210 static int hf_cmip_AdditionalInformation_item; /* ManagementExtension */
211 static int hf_cmip_Allomorphs_item; /* ObjectClass */
212 static int hf_cmip_AttributeIdentifierList_item; /* AttributeId */
213 static int hf_cmip_AttributeList_item; /* Attribute */
214 static int hf_cmip_AttributeValueChangeDefinition_item; /* AttributeValueChangeDefinition_item */
215 static int hf_cmip_oldAttributeValue; /* T_oldAttributeValue */
216 static int hf_cmip_newAttributeValue; /* T_newAttributeValue */
217 static int hf_cmip_AlarmStatus_item; /* AlarmStatus_item */
218 static int hf_cmip_AvailabilityStatus_item; /* AvailabilityStatus_item */
219 static int hf_cmip_BackUpDestinationList_item; /* AE_title */
220 static int hf_cmip_objectName; /* ObjectInstance */
221 static int hf_cmip_noObject; /* NULL */
222 static int hf_cmip_CapacityAlarmThreshold_item; /* INTEGER_0_100 */
223 static int hf_cmip_ControlStatus_item; /* ControlStatus_item */
224 static int hf_cmip_CorrelatedNotifications_item; /* CorrelatedNotifications_item */
225 static int hf_cmip_correlatedNotifications; /* SET_OF_NotificationIdentifier */
226 static int hf_cmip_correlatedNotifications_item; /* NotificationIdentifier */
227 static int hf_cmip_sourceObjectInst; /* ObjectInstance */
228 static int hf_cmip_single; /* AE_title */
229 static int hf_cmip_multiple; /* SET_OF_AE_title */
230 static int hf_cmip_multiple_item; /* AE_title */
231 static int hf_cmip_GroupObjects_item; /* ObjectInstance */
232 static int hf_cmip_IntervalsOfDay_item; /* IntervalsOfDay_item */
233 static int hf_cmip_intervalStart; /* Time24 */
234 static int hf_cmip_intervalEnd; /* Time24 */
235 static int hf_cmip_managementExtensionidentifier; /* T_managementExtensionidentifier */
236 static int hf_cmip_significance; /* BOOLEAN */
237 static int hf_cmip_information; /* T_information */
238 static int hf_cmip_MonitoredAttributes_item; /* Attribute */
239 static int hf_cmip_integer; /* INTEGER */
240 static int hf_cmip_real; /* REAL */
241 static int hf_cmip_Packages_item; /* OBJECT_IDENTIFIER */
242 static int hf_cmip_PrioritisedObject_item; /* PrioritisedObject_item */
243 static int hf_cmip_object; /* ObjectInstance */
244 static int hf_cmip_priority; /* T_priority */
245 static int hf_cmip_globalValue; /* OBJECT_IDENTIFIER */
246 static int hf_cmip_localValue; /* INTEGER */
247 static int hf_cmip_ProceduralStatus_item; /* ProceduralStatus_item */
248 static int hf_cmip_ProposedRepairActions_item; /* SpecificIdentifier */
249 static int hf_cmip_mechanism; /* OBJECT_IDENTIFIER */
250 static int hf_cmip_application; /* AE_title */
251 static int hf_cmip_serviceUseridentifier; /* T_serviceUseridentifier */
252 static int hf_cmip_details; /* T_details */
253 static int hf_cmip_number; /* INTEGER */
254 static int hf_cmip_string; /* GraphicString */
255 static int hf_cmip_oi; /* OBJECT_IDENTIFIER */
256 static int hf_cmip_int; /* INTEGER */
257 static int hf_cmip_SpecificProblems_item; /* SpecificIdentifier */
258 static int hf_cmip_specific; /* GeneralizedTime */
259 static int hf_cmip_continual; /* NULL */
260 static int hf_cmip_SupportedFeatures_item; /* SupportedFeatures_item */
261 static int hf_cmip_featureIdentifier; /* T_featureIdentifier */
262 static int hf_cmip_featureInfo; /* T_featureInfo */
263 static int hf_cmip_name; /* GraphicString */
264 static int hf_cmip_nothing; /* NULL */
265 static int hf_cmip_oid; /* OBJECT_IDENTIFIER */
266 static int hf_cmip_hour; /* INTEGER_0_23 */
267 static int hf_cmip_minute; /* INTEGER_0_59 */
268 static int hf_cmip_triggeredThreshold; /* AttributeId */
269 static int hf_cmip_observedValue; /* ObservedValue */
270 static int hf_cmip_thresholdLevel; /* ThresholdLevelInd */
271 static int hf_cmip_armTime; /* GeneralizedTime */
272 static int hf_cmip_up; /* T_up */
273 static int hf_cmip_high; /* ObservedValue */
274 static int hf_cmip_low; /* ObservedValue */
275 static int hf_cmip_down; /* T_down */
276 static int hf_cmip_WeekMask_item; /* WeekMask_item */
277 static int hf_cmip_daysOfWeek; /* T_daysOfWeek */
278 static int hf_cmip_intervalsOfDay; /* IntervalsOfDay */
279 static int hf_cmip_local; /* T_local */
280 static int hf_cmip_global; /* OBJECT_IDENTIFIER */
281 static int hf_cmip_invoke; /* Invoke */
282 static int hf_cmip_returnResult; /* ReturnResult */
283 static int hf_cmip_returnError; /* ReturnError */
284 static int hf_cmip_reject; /* Reject */
285 static int hf_cmip_invokeId; /* InvokeId */
286 static int hf_cmip_linkedId; /* T_linkedId */
287 static int hf_cmip_linkedIdPresent; /* T_linkedIdPresent */
288 static int hf_cmip_absent; /* NULL */
289 static int hf_cmip_opcode; /* Code */
290 static int hf_cmip_argument; /* InvokeArgument */
291 static int hf_cmip_result; /* T_result */
292 static int hf_cmip_resultArgument; /* ResultArgument */
293 static int hf_cmip_errcode; /* Code */
294 static int hf_cmip_parameter; /* T_parameter */
295 static int hf_cmip_problem; /* T_problem */
296 static int hf_cmip_general; /* GeneralProblem */
297 static int hf_cmip_invokeProblem; /* InvokeProblem */
298 static int hf_cmip_returnResultProblem; /* ReturnResultProblem */
299 static int hf_cmip_returnErrorProblem; /* ReturnErrorProblem */
300 static int hf_cmip_present; /* INTEGER */
301 static int hf_cmip_synchronization; /* CMISSync */
302 static int hf_cmip_actionInfo; /* ActionInfo */
303 static int hf_cmip_attributeIdList; /* SET_OF_AttributeId */
304 static int hf_cmip_attributeIdList_item; /* AttributeId */
305 static int hf_cmip_modificationList; /* T_modificationList */
306 static int hf_cmip_modificationList_item; /* T_modificationList_item */
307 static int hf_cmip_attributevalue; /* T_attributevalue */
308 static int hf_cmip_InvokeId_present; /* InvokeId_present */
309 /* named bits */
310 static int hf_cmip_FunctionalUnits_multipleObjectSelection;
311 static int hf_cmip_FunctionalUnits_filter;
312 static int hf_cmip_FunctionalUnits_multipleReply;
313 static int hf_cmip_FunctionalUnits_extendedService;
314 static int hf_cmip_FunctionalUnits_cancelGet;
315 static int hf_cmip_ProtocolVersion_version1;
316 static int hf_cmip_ProtocolVersion_version2;
317 static int hf_cmip_T_daysOfWeek_sunday;
318 static int hf_cmip_T_daysOfWeek_monday;
319 static int hf_cmip_T_daysOfWeek_tuesday;
320 static int hf_cmip_T_daysOfWeek_wednesday;
321 static int hf_cmip_T_daysOfWeek_thursday;
322 static int hf_cmip_T_daysOfWeek_friday;
323 static int hf_cmip_T_daysOfWeek_saturday;
325 /* Initialize the subtree pointers */
326 static int ett_cmip;
327 static int ett_cmip_PAR_missingAttributeValue;
328 static int ett_cmip_ActionArgument;
329 static int ett_cmip_ActionError;
330 static int ett_cmip_ActionErrorInfo;
331 static int ett_cmip_T_actionErrorInfo;
332 static int ett_cmip_ActionInfo;
333 static int ett_cmip_ActionReply;
334 static int ett_cmip_ActionResult;
335 static int ett_cmip_ActionTypeId;
336 static int ett_cmip_Attribute;
337 static int ett_cmip_AttributeError;
338 static int ett_cmip_AttributeId;
339 static int ett_cmip_AttributeIdError;
340 static int ett_cmip_AttributeValueAssertion;
341 static int ett_cmip_BaseManagedObjectId;
342 static int ett_cmip_CMISFilter;
343 static int ett_cmip_SET_OF_CMISFilter;
344 static int ett_cmip_ComplexityLimitation;
345 static int ett_cmip_CreateArgument;
346 static int ett_cmip_T_managedOrSuperiorObjectInstance;
347 static int ett_cmip_SET_OF_Attribute;
348 static int ett_cmip_CreateResult;
349 static int ett_cmip_DeleteArgument;
350 static int ett_cmip_DeleteError;
351 static int ett_cmip_DeleteResult;
352 static int ett_cmip_EventReply;
353 static int ett_cmip_EventReportArgument;
354 static int ett_cmip_EventReportResult;
355 static int ett_cmip_EventTypeId;
356 static int ett_cmip_FilterItem;
357 static int ett_cmip_T_substrings;
358 static int ett_cmip_T_substrings_item;
359 static int ett_cmip_GetArgument;
360 static int ett_cmip_GetInfoStatus;
361 static int ett_cmip_GetListError;
362 static int ett_cmip_SET_OF_GetInfoStatus;
363 static int ett_cmip_GetResult;
364 static int ett_cmip_InvalidArgumentValue;
365 static int ett_cmip_T_eventValue;
366 static int ett_cmip_LinkedReplyArgument;
367 static int ett_cmip_NoSuchAction;
368 static int ett_cmip_NoSuchArgument;
369 static int ett_cmip_T_actionId;
370 static int ett_cmip_T_eventId;
371 static int ett_cmip_NoSuchEventType;
372 static int ett_cmip_ObjectClass;
373 static int ett_cmip_ObjectInstance;
374 static int ett_cmip_ProcessingFailure;
375 static int ett_cmip_RDNSequence;
376 static int ett_cmip_RelativeDistinguishedName;
377 static int ett_cmip_Scope;
378 static int ett_cmip_SetArgument;
379 static int ett_cmip_SetInfoStatus;
380 static int ett_cmip_SetListError;
381 static int ett_cmip_SET_OF_SetInfoStatus;
382 static int ett_cmip_SetResult;
383 static int ett_cmip_SpecificErrorInfo;
384 static int ett_cmip_CMIPAbortInfo;
385 static int ett_cmip_FunctionalUnits;
386 static int ett_cmip_CMIPUserInfo;
387 static int ett_cmip_ProtocolVersion;
388 static int ett_cmip_AdditionalInformation;
389 static int ett_cmip_Allomorphs;
390 static int ett_cmip_AttributeIdentifierList;
391 static int ett_cmip_AttributeList;
392 static int ett_cmip_AttributeValueChangeDefinition;
393 static int ett_cmip_AttributeValueChangeDefinition_item;
394 static int ett_cmip_AlarmStatus;
395 static int ett_cmip_AvailabilityStatus;
396 static int ett_cmip_BackUpDestinationList;
397 static int ett_cmip_BackUpRelationshipObject;
398 static int ett_cmip_CapacityAlarmThreshold;
399 static int ett_cmip_ControlStatus;
400 static int ett_cmip_CorrelatedNotifications;
401 static int ett_cmip_CorrelatedNotifications_item;
402 static int ett_cmip_SET_OF_NotificationIdentifier;
403 static int ett_cmip_Destination;
404 static int ett_cmip_SET_OF_AE_title;
405 static int ett_cmip_GroupObjects;
406 static int ett_cmip_IntervalsOfDay;
407 static int ett_cmip_IntervalsOfDay_item;
408 static int ett_cmip_ManagementExtension;
409 static int ett_cmip_MonitoredAttributes;
410 static int ett_cmip_ObservedValue;
411 static int ett_cmip_Packages;
412 static int ett_cmip_PrioritisedObject;
413 static int ett_cmip_PrioritisedObject_item;
414 static int ett_cmip_ProbableCause;
415 static int ett_cmip_ProceduralStatus;
416 static int ett_cmip_ProposedRepairActions;
417 static int ett_cmip_SecurityAlarmDetector;
418 static int ett_cmip_ServiceUser;
419 static int ett_cmip_SimpleNameType;
420 static int ett_cmip_SpecificIdentifier;
421 static int ett_cmip_SpecificProblems;
422 static int ett_cmip_StopTime;
423 static int ett_cmip_SupportedFeatures;
424 static int ett_cmip_SupportedFeatures_item;
425 static int ett_cmip_SystemId;
426 static int ett_cmip_SystemTitle;
427 static int ett_cmip_Time24;
428 static int ett_cmip_ThresholdInfo;
429 static int ett_cmip_ThresholdLevelInd;
430 static int ett_cmip_T_up;
431 static int ett_cmip_T_down;
432 static int ett_cmip_WeekMask;
433 static int ett_cmip_WeekMask_item;
434 static int ett_cmip_T_daysOfWeek;
435 static int ett_cmip_Code;
436 static int ett_cmip_ROS;
437 static int ett_cmip_Invoke;
438 static int ett_cmip_T_linkedId;
439 static int ett_cmip_ReturnResult;
440 static int ett_cmip_T_result;
441 static int ett_cmip_ReturnError;
442 static int ett_cmip_Reject;
443 static int ett_cmip_T_problem;
444 static int ett_cmip_InvokeId;
445 static int ett_cmip_SET_OF_AttributeId;
446 static int ett_cmip_T_modificationList;
447 static int ett_cmip_T_modificationList_item;
449 static expert_field ei_wrong_spdu_type;
451 static uint32_t opcode;
453 static dissector_handle_t cmip_handle;
455 /* Dissector table */
456 static dissector_table_t attribute_id_dissector_table;
459 /* CMIP OPERATIONS */
460 static const value_string cmip_Opcode_vals[] = {
461 { 6, "m_Action" },
462 { 7, "m_Action_Confirmed" },
463 { 10, "m_CancelGet" },
464 { 8, "m_Create" },
465 { 9, "m_Delete" },
466 { 0, "m_EventReport" },
467 { 1, "m_EventReport_Confirmed" },
468 { 3, "m_Get" },
469 { 2, "m_Linked_Reply" },
470 { 4, "m_Set" },
471 { 5, "m_Set_Confirmed" },
472 { 0, NULL }
476 /* CMIP ERRORS */
477 static const value_string cmip_error_code_vals[] = {
478 { 2, "accessDenied" },
479 { 19, "classInstanceConflict" },
480 { 20, "complexityLimitation" },
481 { 11, "duplicateManagedObjectInstance" },
482 { 7, "getListError" },
483 { 15, "invalidArgumentValue" },
484 { 6, "invalidAttributeValue" },
485 { 4, "invalidFilter" },
486 { 17, "invalidObjectInstance" },
487 { 16, "invalidScope" },
488 { 18, "missingAttributeValue" },
489 { 21, "mistypedOperation" },
490 { 9, "noSuchAction" },
491 { 14, "noSuchArgument" },
492 { 5, "noSuchAttribute" },
493 { 13, "noSuchEventType" },
494 { 22, "noSuchInvokeId" },
495 { 0, "noSuchObjectClass" },
496 { 1, "noSuchObjectInstance" },
497 { 12, "noSuchReferenceObject" },
498 { 23, "operationCancelled" },
499 { 10, "processingFailure" },
500 { 8, "setListError" },
501 { 3, "syncNotSupported" },
502 { 0, NULL }
506 static int opcode_type;
507 #define OPCODE_INVOKE 1
508 #define OPCODE_RETURN_RESULT 2
509 #define OPCODE_RETURN_ERROR 3
510 #define OPCODE_REJECT 4
512 static const char *object_identifier_id;
514 #define smi2AttributeID "2.9.3.2.7"
515 #define smi2AttributeGroup "2.9.3.2.8"
516 #define arfProbableCause "2.9.3.2.0.0"
517 #define adapterError arfProbableCause".1"
518 #define applicationSubsystemFailure arfProbableCause".2"
519 #define bandwidthReduced arfProbableCause".3"
520 #define callEstablishmentError arfProbableCause".4"
521 #define communicationsProtocolError arfProbableCause".5"
522 #define communicationsSubsystemFailure arfProbableCause".6"
523 #define configurationOrCustomizationError arfProbableCause".7"
524 #define congestion arfProbableCause".8"
525 #define corruptData arfProbableCause".9"
526 #define cpuCyclesLimitExceeded arfProbableCause".10"
527 #define dataSetOrModemError arfProbableCause".11"
528 #define degradedSignal arfProbableCause".12"
529 #define dTE_DCEInterfaceError arfProbableCause".13"
530 #define enclosureDoorOpen arfProbableCause".14"
531 #define equipmentMalfunction arfProbableCause".15"
532 #define excessiveVibration arfProbableCause".16"
533 #define fileError arfProbableCause".17"
534 #define fireDetected arfProbableCause".18"
535 #define floodDetected arfProbableCause".19"
536 #define framingError arfProbableCause".20"
537 #define heatingOrVentilationOrCoolingSystemProblem arfProbableCause".21"
538 #define humidityUnacceptable arfProbableCause".22"
539 #define inputOutputDeviceError arfProbableCause".23"
540 #define inputDeviceError arfProbableCause".24"
541 #define lANError arfProbableCause".25"
542 #define leakDetected arfProbableCause".26"
543 #define localNodeTransmissionError arfProbableCause".27"
544 #define lossOfFrame arfProbableCause".28"
545 #define lossOfSignal arfProbableCause".29"
546 #define materialSupplyExhausted arfProbableCause".30"
547 #define multiplexerProblem arfProbableCause".31"
548 #define outOfMemory arfProbableCause".32"
549 #define ouputDeviceError arfProbableCause".33"
550 #define performanceDegraded arfProbableCause".34"
551 #define powerProblem arfProbableCause".35"
552 #define pressureUnacceptable arfProbableCause".36"
553 #define processorProblem arfProbableCause".37"
554 #define pumpFailure arfProbableCause".38"
555 #define queueSizeExceeded arfProbableCause".39"
556 #define receiveFailure arfProbableCause".40"
557 #define receiverFailure arfProbableCause".41"
558 #define remoteNodeTransmissionError arfProbableCause".42"
559 #define resourceAtOrNearingCapacity arfProbableCause".43"
560 #define responseTimeExcessive arfProbableCause".44"
561 #define retransmissionRateExcessive arfProbableCause".45"
562 #define softwareError arfProbableCause".46"
563 #define softwareProgramAbnormallyTerminated arfProbableCause".47"
564 #define softwareProgramError arfProbableCause".48"
565 #define storageCapacityProblem arfProbableCause".49"
566 #define temperatureUnacceptable arfProbableCause".50"
567 #define thresholdCrossed arfProbableCause".51"
568 #define timingProblem arfProbableCause".52"
569 #define toxicLeakDetected arfProbableCause".53"
570 #define transmitFailure arfProbableCause".54"
571 #define transmitterFailure arfProbableCause".55"
572 #define underlyingResourceUnavailable arfProbableCause".56"
573 #define versionMismatch arfProbableCause".57"
574 #define arfProposedRepairAction "2.9.3.2.0.2"
575 #define noActionRequired arfProposedRepairAction".1"
576 #define repairActionRequired arfProposedRepairAction".2"
577 #define securityAlarmCause "2.9.3.2.0.1"
578 #define authenticationFailure securityAlarmCause".1"
579 #define breachOfConfidentiality securityAlarmCause".2"
580 #define cableTamper securityAlarmCause".3"
581 #define delayedInformation securityAlarmCause".4"
582 #define denialOfService securityAlarmCause".5"
583 #define duplicateInformation securityAlarmCause".6"
584 #define informationMissing securityAlarmCause".7"
585 #define informationModificationDetected securityAlarmCause".8"
586 #define informationOutOfSequence securityAlarmCause".9"
587 #define intrusionDetection securityAlarmCause".10"
588 #define keyExpired securityAlarmCause".11"
589 #define nonRepudiationFailure securityAlarmCause".12"
590 #define outOfHoursActivity securityAlarmCause".13"
591 #define outOfService securityAlarmCause".14"
592 #define proceduralError securityAlarmCause".15"
593 #define unauthorizedAccessAttempt securityAlarmCause".16"
594 #define unexpectedInformation securityAlarmCause".17"
595 #define unspecifiedReason securityAlarmCause".18"
596 #define defaultDiscriminatorConstruct []
597 #define noInvokeId NULL
598 /*--- Cyclic dependencies ---*/
600 /* CMISFilter -> CMISFilter/and -> CMISFilter */
601 /* CMISFilter -> CMISFilter */
602 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_);
607 static int
608 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_) {
609 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
611 actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;
614 return offset;
619 static int
620 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_) {
621 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
622 &actx->external.indirect_reference);
624 actx->external.indirect_ref_present = true;
627 return offset;
631 static const value_string cmip_AttributeId_vals[] = {
632 { 0, "globalForm" },
633 { 1, "localForm" },
634 { 0, NULL }
637 static const ber_choice_t AttributeId_choice[] = {
638 { 0, &hf_cmip_attributeId_globalForm, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_T_attributeId_globalForm },
639 { 1, &hf_cmip_attributeIdlocalForm, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_attributeIdlocalForm },
640 { 0, NULL, 0, 0, 0, NULL }
643 static int
644 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_) {
645 offset = dissect_ber_choice(actx, tree, tvb, offset,
646 AttributeId_choice, hf_index, ett_cmip_AttributeId,
647 NULL);
649 return offset;
653 static const ber_sequence_t PAR_missingAttributeValue_set_of[1] = {
654 { &hf_cmip_PAR_missingAttributeValue_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
657 static int
658 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_) {
659 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
660 PAR_missingAttributeValue_set_of, hf_index, ett_cmip_PAR_missingAttributeValue);
662 return offset;
667 static int
668 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_) {
669 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
671 return offset;
676 static int
677 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_) {
678 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
680 return offset;
685 static int
686 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_) {
687 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
688 NULL);
690 return offset;
694 const value_string cmip_ObjectClass_vals[] = {
695 { 0, "globalForm" },
696 { 1, "localForm" },
697 { 0, NULL }
700 static const ber_choice_t ObjectClass_choice[] = {
701 { 0, &hf_cmip_objectClass_globalForm, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_T_objectClass_globalForm },
702 { 1, &hf_cmip_objectClasslocalForm, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
703 { 0, NULL, 0, 0, 0, NULL }
707 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_) {
708 offset = dissect_ber_choice(actx, tree, tvb, offset,
709 ObjectClass_choice, hf_index, ett_cmip_ObjectClass,
710 NULL);
712 return offset;
717 static int
718 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_) {
719 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
721 actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;
723 return offset;
728 static int
729 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_) {
730 if (actx->external.direct_ref_present) {
731 offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
735 return offset;
739 static const ber_sequence_t AttributeValueAssertion_sequence[] = {
740 { &hf_cmip_id , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_id },
741 { &hf_cmip_attributeValueAssertionvalue, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributeValueAssertionvalue },
742 { NULL, 0, 0, 0, NULL }
745 static int
746 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_) {
747 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
748 AttributeValueAssertion_sequence, hf_index, ett_cmip_AttributeValueAssertion);
750 return offset;
754 static const ber_sequence_t RelativeDistinguishedName_set_of[1] = {
755 { &hf_cmip_RelativeDistinguishedName_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_AttributeValueAssertion },
758 static int
759 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_) {
760 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
761 RelativeDistinguishedName_set_of, hf_index, ett_cmip_RelativeDistinguishedName);
763 return offset;
767 static const ber_sequence_t RDNSequence_sequence_of[1] = {
768 { &hf_cmip_RDNSequence_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_cmip_RelativeDistinguishedName },
772 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_) {
773 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
774 RDNSequence_sequence_of, hf_index, ett_cmip_RDNSequence);
776 return offset;
781 static int
782 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_) {
783 offset = dissect_cmip_RDNSequence(implicit_tag, tvb, offset, actx, tree, hf_index);
785 return offset;
790 static int
791 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_) {
792 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
793 NULL);
795 return offset;
799 const value_string cmip_ObjectInstance_vals[] = {
800 { 2, "distinguishedName" },
801 { 3, "nonSpecificForm" },
802 { 4, "localDistinguishedName" },
803 { 0, NULL }
806 static const ber_choice_t ObjectInstance_choice[] = {
807 { 2, &hf_cmip_distinguishedName, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_DistinguishedName },
808 { 3, &hf_cmip_nonSpecificForm, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_OCTET_STRING },
809 { 4, &hf_cmip_localDistinguishedName, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_RDNSequence },
810 { 0, NULL, 0, 0, 0, NULL }
814 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_) {
815 offset = dissect_ber_choice(actx, tree, tvb, offset,
816 ObjectInstance_choice, hf_index, ett_cmip_ObjectInstance,
817 NULL);
819 return offset;
823 static const value_string cmip_CMISSync_vals[] = {
824 { 0, "bestEffort" },
825 { 1, "atomic" },
826 { 0, NULL }
830 static int
831 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_) {
832 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
833 NULL);
835 return offset;
839 static const value_string cmip_T_namedNumbers_vals[] = {
840 { 0, "baseObject" },
841 { 1, "firstLevelOnly" },
842 { 2, "wholeSubtree" },
843 { 0, NULL }
847 static int
848 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_) {
849 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
850 NULL);
852 return offset;
856 static const value_string cmip_Scope_vals[] = {
857 { 0, "namedNumbers" },
858 { 1, "individualLevels" },
859 { 2, "baseToNthLevel" },
860 { 0, NULL }
863 static const ber_choice_t Scope_choice[] = {
864 { 0, &hf_cmip_namedNumbers , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_T_namedNumbers },
865 { 1, &hf_cmip_individualLevels, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
866 { 2, &hf_cmip_baseToNthLevel , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
867 { 0, NULL, 0, 0, 0, NULL }
870 static int
871 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_) {
872 offset = dissect_ber_choice(actx, tree, tvb, offset,
873 Scope_choice, hf_index, ett_cmip_Scope,
874 NULL);
876 return offset;
881 static int
882 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_) {
883 if(actx->external.direct_ref_present){
884 offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
885 } else if (actx->external.indirect_ref_present &&
886 dissector_try_uint(attribute_id_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
887 offset=tvb_reported_length (tvb);
888 } else {
889 offset=dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
893 return offset;
897 static const ber_sequence_t Attribute_sequence[] = {
898 { &hf_cmip_attributeid , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
899 { &hf_cmip_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_AttributeValue },
900 { NULL, 0, 0, 0, NULL }
904 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_) {
905 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
906 Attribute_sequence, hf_index, ett_cmip_Attribute);
908 return offset;
912 static const value_string cmip_T_substrings_item_vals[] = {
913 { 0, "initialString" },
914 { 1, "anyString" },
915 { 2, "finalString" },
916 { 0, NULL }
919 static const ber_choice_t T_substrings_item_choice[] = {
920 { 0, &hf_cmip_initialString , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
921 { 1, &hf_cmip_anyString , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
922 { 2, &hf_cmip_finalString , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
923 { 0, NULL, 0, 0, 0, NULL }
926 static int
927 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_) {
928 offset = dissect_ber_choice(actx, tree, tvb, offset,
929 T_substrings_item_choice, hf_index, ett_cmip_T_substrings_item,
930 NULL);
932 return offset;
936 static const ber_sequence_t T_substrings_sequence_of[1] = {
937 { &hf_cmip_substrings_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_substrings_item },
940 static int
941 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_) {
942 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
943 T_substrings_sequence_of, hf_index, ett_cmip_T_substrings);
945 return offset;
949 static const value_string cmip_FilterItem_vals[] = {
950 { 0, "equality" },
951 { 1, "substrings" },
952 { 2, "greaterOrEqual" },
953 { 3, "lessOrEqual" },
954 { 4, "present" },
955 { 5, "subsetOf" },
956 { 6, "supersetOf" },
957 { 7, "nonNullSetIntersection" },
958 { 0, NULL }
961 static const ber_choice_t FilterItem_choice[] = {
962 { 0, &hf_cmip_equality , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
963 { 1, &hf_cmip_substrings , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_substrings },
964 { 2, &hf_cmip_greaterOrEqual , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
965 { 3, &hf_cmip_lessOrEqual , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
966 { 4, &hf_cmip_filterItempresent, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_AttributeId },
967 { 5, &hf_cmip_subsetOf , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
968 { 6, &hf_cmip_supersetOf , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
969 { 7, &hf_cmip_nonNullSetIntersection, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
970 { 0, NULL, 0, 0, 0, NULL }
973 static int
974 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_) {
975 offset = dissect_ber_choice(actx, tree, tvb, offset,
976 FilterItem_choice, hf_index, ett_cmip_FilterItem,
977 NULL);
979 return offset;
983 static const ber_sequence_t SET_OF_CMISFilter_set_of[1] = {
984 { &hf_cmip_and_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
987 static int
988 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_) {
989 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
990 SET_OF_CMISFilter_set_of, hf_index, ett_cmip_SET_OF_CMISFilter);
992 return offset;
996 static const value_string cmip_CMISFilter_vals[] = {
997 { 8, "item" },
998 { 9, "and" },
999 { 10, "or" },
1000 { 11, "not" },
1001 { 0, NULL }
1004 static const ber_choice_t CMISFilter_choice[] = {
1005 { 8, &hf_cmip_item , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_cmip_FilterItem },
1006 { 9, &hf_cmip_and , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_CMISFilter },
1007 { 10, &hf_cmip_or , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_CMISFilter },
1008 { 11, &hf_cmip_not , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_cmip_CMISFilter },
1009 { 0, NULL, 0, 0, 0, NULL }
1012 static int
1013 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_) {
1014 // CMISFilter -> CMISFilter/and -> CMISFilter
1015 actx->pinfo->dissection_depth += 2;
1016 increment_dissection_depth(actx->pinfo);
1017 offset = dissect_ber_choice(actx, tree, tvb, offset,
1018 CMISFilter_choice, hf_index, ett_cmip_CMISFilter,
1019 NULL);
1021 actx->pinfo->dissection_depth -= 2;
1022 decrement_dissection_depth(actx->pinfo);
1023 return offset;
1028 static int
1029 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_) {
1030 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1032 return offset;
1036 static const value_string cmip_ActionTypeId_vals[] = {
1037 { 2, "globalForm" },
1038 { 3, "localForm" },
1039 { 0, NULL }
1042 static const ber_choice_t ActionTypeId_choice[] = {
1043 { 2, &hf_cmip_actionTypeId_globalForm, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_T_actionTypeId_globalForm },
1044 { 3, &hf_cmip_localForm , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
1045 { 0, NULL, 0, 0, 0, NULL }
1048 static int
1049 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_) {
1050 offset = dissect_ber_choice(actx, tree, tvb, offset,
1051 ActionTypeId_choice, hf_index, ett_cmip_ActionTypeId,
1052 NULL);
1054 return offset;
1059 static int
1060 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_) {
1061 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
1064 return offset;
1068 static const ber_sequence_t ActionInfo_sequence[] = {
1069 { &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ActionTypeId },
1070 { &hf_cmip_actionInfoArg , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_T_actionInfoArg },
1071 { NULL, 0, 0, 0, NULL }
1074 static int
1075 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_) {
1076 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1077 ActionInfo_sequence, hf_index, ett_cmip_ActionInfo);
1079 return offset;
1083 static const ber_sequence_t ActionArgument_sequence[] = {
1084 { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1085 { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1086 { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
1087 { &hf_cmip_synchronization, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
1088 { &hf_cmip_scope , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
1089 { &hf_cmip_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
1090 { &hf_cmip_actionInfo , BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_cmip_ActionInfo },
1091 { NULL, 0, 0, 0, NULL }
1094 static int
1095 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_) {
1096 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1097 ActionArgument_sequence, hf_index, ett_cmip_ActionArgument);
1099 return offset;
1104 static int
1105 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_) {
1106 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
1108 return offset;
1112 static const value_string cmip_T_actionErrorInfo_errorStatus_vals[] = {
1113 { 2, "accessDenied" },
1114 { 9, "noSuchAction" },
1115 { 14, "noSuchArgument" },
1116 { 15, "invalidArgumentValue" },
1117 { 0, NULL }
1121 static int
1122 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_) {
1123 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1124 NULL);
1126 return offset;
1130 static const ber_sequence_t T_actionId_sequence[] = {
1131 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1132 { &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ActionTypeId },
1133 { NULL, 0, 0, 0, NULL }
1136 static int
1137 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_) {
1138 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1139 T_actionId_sequence, hf_index, ett_cmip_T_actionId);
1141 return offset;
1146 static int
1147 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_) {
1148 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1150 return offset;
1154 static const value_string cmip_EventTypeId_vals[] = {
1155 { 6, "globalForm" },
1156 { 7, "localForm" },
1157 { 0, NULL }
1160 static const ber_choice_t EventTypeId_choice[] = {
1161 { 6, &hf_cmip_eventTypeId_globalForm, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_T_eventTypeId_globalForm },
1162 { 7, &hf_cmip_localForm , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_cmip_INTEGER },
1163 { 0, NULL, 0, 0, 0, NULL }
1166 static int
1167 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_) {
1168 offset = dissect_ber_choice(actx, tree, tvb, offset,
1169 EventTypeId_choice, hf_index, ett_cmip_EventTypeId,
1170 NULL);
1172 return offset;
1176 static const ber_sequence_t T_eventId_sequence[] = {
1177 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1178 { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
1179 { NULL, 0, 0, 0, NULL }
1182 static int
1183 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_) {
1184 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1185 T_eventId_sequence, hf_index, ett_cmip_T_eventId);
1187 return offset;
1191 static const value_string cmip_NoSuchArgument_vals[] = {
1192 { 0, "actionId" },
1193 { 1, "eventId" },
1194 { 0, NULL }
1197 static const ber_choice_t NoSuchArgument_choice[] = {
1198 { 0, &hf_cmip_actionId , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_T_actionId },
1199 { 1, &hf_cmip_eventId , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_eventId },
1200 { 0, NULL, 0, 0, 0, NULL }
1203 static int
1204 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_) {
1205 offset = dissect_ber_choice(actx, tree, tvb, offset,
1206 NoSuchArgument_choice, hf_index, ett_cmip_NoSuchArgument,
1207 NULL);
1209 return offset;
1214 static int
1215 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_) {
1216 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
1219 return offset;
1223 static const ber_sequence_t T_eventValue_sequence[] = {
1224 { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
1225 { &hf_cmip_eventInfo , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_T_eventInfo },
1226 { NULL, 0, 0, 0, NULL }
1229 static int
1230 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_) {
1231 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1232 T_eventValue_sequence, hf_index, ett_cmip_T_eventValue);
1234 return offset;
1238 static const value_string cmip_InvalidArgumentValue_vals[] = {
1239 { 0, "actionValue" },
1240 { 1, "eventValue" },
1241 { 0, NULL }
1244 static const ber_choice_t InvalidArgumentValue_choice[] = {
1245 { 0, &hf_cmip_actionValue , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_ActionInfo },
1246 { 1, &hf_cmip_eventValue , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_eventValue },
1247 { 0, NULL, 0, 0, 0, NULL }
1250 static int
1251 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_) {
1252 offset = dissect_ber_choice(actx, tree, tvb, offset,
1253 InvalidArgumentValue_choice, hf_index, ett_cmip_InvalidArgumentValue,
1254 NULL);
1256 return offset;
1260 static const value_string cmip_T_actionErrorInfo_vals[] = {
1261 { 0, "actionType" },
1262 { 1, "actionArgument" },
1263 { 2, "argumentValue" },
1264 { 0, NULL }
1267 static const ber_choice_t T_actionErrorInfo_choice[] = {
1268 { 0, &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_cmip_ActionTypeId },
1269 { 1, &hf_cmip_actionArgument , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_NoSuchArgument },
1270 { 2, &hf_cmip_argumentValue , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_InvalidArgumentValue },
1271 { 0, NULL, 0, 0, 0, NULL }
1274 static int
1275 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_) {
1276 offset = dissect_ber_choice(actx, tree, tvb, offset,
1277 T_actionErrorInfo_choice, hf_index, ett_cmip_T_actionErrorInfo,
1278 NULL);
1280 return offset;
1284 static const ber_sequence_t ActionErrorInfo_sequence[] = {
1285 { &hf_cmip_actionErrorInfo_errorStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_cmip_T_actionErrorInfo_errorStatus },
1286 { &hf_cmip_actionErrorInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_actionErrorInfo },
1287 { NULL, 0, 0, 0, NULL }
1290 static int
1291 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_) {
1292 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1293 ActionErrorInfo_sequence, hf_index, ett_cmip_ActionErrorInfo);
1295 return offset;
1299 static const ber_sequence_t ActionError_sequence[] = {
1300 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1301 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1302 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1303 { &hf_cmip_actionErroractionErrorInfo, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_ActionErrorInfo },
1304 { NULL, 0, 0, 0, NULL }
1307 static int
1308 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_) {
1309 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1310 ActionError_sequence, hf_index, ett_cmip_ActionError);
1312 return offset;
1317 static int
1318 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_) {
1319 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
1323 return offset;
1327 static const ber_sequence_t ActionReply_sequence[] = {
1328 { &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ActionTypeId },
1329 { &hf_cmip_actionReplyInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_T_actionReplyInfo },
1330 { NULL, 0, 0, 0, NULL }
1333 static int
1334 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_) {
1335 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1336 ActionReply_sequence, hf_index, ett_cmip_ActionReply);
1338 return offset;
1342 static const ber_sequence_t ActionResult_sequence[] = {
1343 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1344 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1345 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1346 { &hf_cmip_actionReply , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_ActionReply },
1347 { NULL, 0, 0, 0, NULL }
1350 static int
1351 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_) {
1352 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1353 ActionResult_sequence, hf_index, ett_cmip_ActionResult);
1355 return offset;
1359 static const value_string cmip_T_attributeError_errorStatus_vals[] = {
1360 { 2, "accessDenied" },
1361 { 5, "noSuchAttribute" },
1362 { 6, "invalidAttributeValue" },
1363 { 24, "invalidOperation" },
1364 { 25, "invalidOperator" },
1365 { 0, NULL }
1369 static int
1370 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_) {
1371 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1372 NULL);
1374 return offset;
1378 static const value_string cmip_ModifyOperator_vals[] = {
1379 { 0, "replace" },
1380 { 1, "addValues" },
1381 { 2, "removeValues" },
1382 { 3, "setToDefault" },
1383 { 0, NULL }
1387 static int
1388 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_) {
1389 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1390 NULL);
1392 return offset;
1397 static int
1398 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_) {
1399 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
1402 return offset;
1406 static const ber_sequence_t AttributeError_sequence[] = {
1407 { &hf_cmip_attributeError_errorStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributeError_errorStatus },
1408 { &hf_cmip_modifyOperator , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_ModifyOperator },
1409 { &hf_cmip_attributeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
1410 { &hf_cmip_attributeValue , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributeValue },
1411 { NULL, 0, 0, 0, NULL }
1414 static int
1415 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_) {
1416 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1417 AttributeError_sequence, hf_index, ett_cmip_AttributeError);
1419 return offset;
1423 static const value_string cmip_T_attributeIdError_errorStatus_vals[] = {
1424 { 2, "accessDenied" },
1425 { 5, "noSuchAttribute" },
1426 { 0, NULL }
1430 static int
1431 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_) {
1432 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1433 NULL);
1435 return offset;
1439 static const ber_sequence_t AttributeIdError_sequence[] = {
1440 { &hf_cmip_attributeIdError_errorStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributeIdError_errorStatus },
1441 { &hf_cmip_attributeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
1442 { NULL, 0, 0, 0, NULL }
1445 static int
1446 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_) {
1447 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1448 AttributeIdError_sequence, hf_index, ett_cmip_AttributeIdError);
1450 return offset;
1454 static const ber_sequence_t BaseManagedObjectId_sequence[] = {
1455 { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1456 { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1457 { NULL, 0, 0, 0, NULL }
1460 static int
1461 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_) {
1462 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1463 BaseManagedObjectId_sequence, hf_index, ett_cmip_BaseManagedObjectId);
1465 return offset;
1469 static const ber_sequence_t ComplexityLimitation_set[] = {
1470 { &hf_cmip_scope , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
1471 { &hf_cmip_filter , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
1472 { &hf_cmip_sync , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
1473 { NULL, 0, 0, 0, NULL }
1476 static int
1477 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_) {
1478 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1479 ComplexityLimitation_set, hf_index, ett_cmip_ComplexityLimitation);
1481 return offset;
1485 static const value_string cmip_T_managedOrSuperiorObjectInstance_vals[] = {
1486 { 0, "managedObjectInstance" },
1487 { 1, "superiorObjectInstance" },
1488 { 0, NULL }
1491 static const ber_choice_t T_managedOrSuperiorObjectInstance_choice[] = {
1492 { 0, &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_cmip_ObjectInstance },
1493 { 1, &hf_cmip_superiorObjectInstance, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_cmip_ObjectInstance },
1494 { 0, NULL, 0, 0, 0, NULL }
1497 static int
1498 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_) {
1499 offset = dissect_ber_choice(actx, tree, tvb, offset,
1500 T_managedOrSuperiorObjectInstance_choice, hf_index, ett_cmip_T_managedOrSuperiorObjectInstance,
1501 NULL);
1503 return offset;
1507 static const ber_sequence_t SET_OF_Attribute_set_of[1] = {
1508 { &hf_cmip_attributeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Attribute },
1511 static int
1512 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_) {
1513 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1514 SET_OF_Attribute_set_of, hf_index, ett_cmip_SET_OF_Attribute);
1516 return offset;
1520 static const ber_sequence_t CreateArgument_sequence[] = {
1521 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1522 { &hf_cmip_managedOrSuperiorObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_managedOrSuperiorObjectInstance },
1523 { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
1524 { &hf_cmip_referenceObjectInstance, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1525 { &hf_cmip_attributeList , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_Attribute },
1526 { NULL, 0, 0, 0, NULL }
1529 static int
1530 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_) {
1531 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1532 CreateArgument_sequence, hf_index, ett_cmip_CreateArgument);
1534 return offset;
1538 static const ber_sequence_t CreateResult_sequence[] = {
1539 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1540 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1541 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1542 { &hf_cmip_attributeList , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_Attribute },
1543 { NULL, 0, 0, 0, NULL }
1546 static int
1547 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_) {
1548 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1549 CreateResult_sequence, hf_index, ett_cmip_CreateResult);
1551 return offset;
1555 static const ber_sequence_t DeleteArgument_sequence[] = {
1556 { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1557 { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1558 { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
1559 { &hf_cmip_synchronization, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
1560 { &hf_cmip_scope , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
1561 { &hf_cmip_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
1562 { NULL, 0, 0, 0, NULL }
1565 static int
1566 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_) {
1567 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1568 DeleteArgument_sequence, hf_index, ett_cmip_DeleteArgument);
1570 return offset;
1574 static const value_string cmip_T_deleteErrorInfo_vals[] = {
1575 { 2, "accessDenied" },
1576 { 0, NULL }
1580 static int
1581 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_) {
1582 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1583 NULL);
1585 return offset;
1589 static const ber_sequence_t DeleteError_sequence[] = {
1590 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1591 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1592 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1593 { &hf_cmip_deleteErrorInfo, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_T_deleteErrorInfo },
1594 { NULL, 0, 0, 0, NULL }
1597 static int
1598 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_) {
1599 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1600 DeleteError_sequence, hf_index, ett_cmip_DeleteError);
1602 return offset;
1606 static const ber_sequence_t DeleteResult_sequence[] = {
1607 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1608 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1609 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1610 { NULL, 0, 0, 0, NULL }
1613 static int
1614 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_) {
1615 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1616 DeleteResult_sequence, hf_index, ett_cmip_DeleteResult);
1618 return offset;
1623 static int
1624 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_) {
1625 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
1628 return offset;
1632 static const ber_sequence_t EventReply_sequence[] = {
1633 { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
1634 { &hf_cmip_eventReplyInfo , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_T_eventReplyInfo },
1635 { NULL, 0, 0, 0, NULL }
1638 static int
1639 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_) {
1640 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1641 EventReply_sequence, hf_index, ett_cmip_EventReply);
1643 return offset;
1648 static int
1649 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_) {
1650 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
1653 return offset;
1657 static const ber_sequence_t EventReportArgument_sequence[] = {
1658 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1659 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1660 { &hf_cmip_eventTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1661 { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
1662 { &hf_cmip_eventReportArgumenteventInfo, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_EventReportArgumentEventInfo },
1663 { NULL, 0, 0, 0, NULL }
1666 static int
1667 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_) {
1668 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1669 EventReportArgument_sequence, hf_index, ett_cmip_EventReportArgument);
1671 return offset;
1675 static const ber_sequence_t EventReportResult_sequence[] = {
1676 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1677 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1678 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1679 { &hf_cmip_eventReply , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_EventReply },
1680 { NULL, 0, 0, 0, NULL }
1683 static int
1684 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_) {
1685 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1686 EventReportResult_sequence, hf_index, ett_cmip_EventReportResult);
1688 return offset;
1692 static const ber_sequence_t SET_OF_AttributeId_set_of[1] = {
1693 { &hf_cmip_attributeIdList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
1696 static int
1697 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_) {
1698 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1699 SET_OF_AttributeId_set_of, hf_index, ett_cmip_SET_OF_AttributeId);
1701 return offset;
1705 static const ber_sequence_t GetArgument_sequence[] = {
1706 { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1707 { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1708 { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
1709 { &hf_cmip_synchronization, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
1710 { &hf_cmip_scope , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
1711 { &hf_cmip_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
1712 { &hf_cmip_attributeIdList, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_AttributeId },
1713 { NULL, 0, 0, 0, NULL }
1716 static int
1717 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_) {
1718 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1719 GetArgument_sequence, hf_index, ett_cmip_GetArgument);
1721 return offset;
1725 static const value_string cmip_GetInfoStatus_vals[] = {
1726 { 0, "attributeIdError" },
1727 { 1, "attribute" },
1728 { 0, NULL }
1731 static const ber_choice_t GetInfoStatus_choice[] = {
1732 { 0, &hf_cmip_attributeIdError, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_AttributeIdError },
1733 { 1, &hf_cmip_attribute , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
1734 { 0, NULL, 0, 0, 0, NULL }
1737 static int
1738 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_) {
1739 offset = dissect_ber_choice(actx, tree, tvb, offset,
1740 GetInfoStatus_choice, hf_index, ett_cmip_GetInfoStatus,
1741 NULL);
1743 return offset;
1747 static const ber_sequence_t SET_OF_GetInfoStatus_set_of[1] = {
1748 { &hf_cmip_getInfoList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_GetInfoStatus },
1751 static int
1752 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_) {
1753 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1754 SET_OF_GetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_GetInfoStatus);
1756 return offset;
1760 static const ber_sequence_t GetListError_sequence[] = {
1761 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1762 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1763 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1764 { &hf_cmip_getInfoList , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_GetInfoStatus },
1765 { NULL, 0, 0, 0, NULL }
1768 static int
1769 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_) {
1770 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1771 GetListError_sequence, hf_index, ett_cmip_GetListError);
1773 return offset;
1777 static const ber_sequence_t GetResult_sequence[] = {
1778 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1779 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1780 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1781 { &hf_cmip_attributeList , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_Attribute },
1782 { NULL, 0, 0, 0, NULL }
1785 static int
1786 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_) {
1787 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1788 GetResult_sequence, hf_index, ett_cmip_GetResult);
1790 return offset;
1795 static int
1796 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_) {
1797 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1799 return offset;
1803 static const value_string cmip_InvokeId_vals[] = {
1804 { 0, "present" },
1805 { 1, "absent" },
1806 { 0, NULL }
1809 static const ber_choice_t InvokeId_choice[] = {
1810 { 0, &hf_cmip_present , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
1811 { 1, &hf_cmip_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
1812 { 0, NULL, 0, 0, 0, NULL }
1815 static int
1816 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_) {
1817 offset = dissect_ber_choice(actx, tree, tvb, offset,
1818 InvokeId_choice, hf_index, ett_cmip_InvokeId,
1819 NULL);
1821 return offset;
1827 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_) {
1828 offset = dissect_cmip_InvokeId(implicit_tag, tvb, offset, actx, tree, hf_index);
1830 return offset;
1834 static const ber_sequence_t SetResult_sequence[] = {
1835 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1836 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1837 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1838 { &hf_cmip_attributeList , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_Attribute },
1839 { NULL, 0, 0, 0, NULL }
1842 static int
1843 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_) {
1844 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1845 SetResult_sequence, hf_index, ett_cmip_SetResult);
1847 return offset;
1851 static const value_string cmip_SetInfoStatus_vals[] = {
1852 { 0, "attributeError" },
1853 { 1, "attribute" },
1854 { 0, NULL }
1857 static const ber_choice_t SetInfoStatus_choice[] = {
1858 { 0, &hf_cmip_attributeError , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_AttributeError },
1859 { 1, &hf_cmip_attribute , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_Attribute },
1860 { 0, NULL, 0, 0, 0, NULL }
1863 static int
1864 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_) {
1865 offset = dissect_ber_choice(actx, tree, tvb, offset,
1866 SetInfoStatus_choice, hf_index, ett_cmip_SetInfoStatus,
1867 NULL);
1869 return offset;
1873 static const ber_sequence_t SET_OF_SetInfoStatus_set_of[1] = {
1874 { &hf_cmip_setInfoList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_SetInfoStatus },
1877 static int
1878 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_) {
1879 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1880 SET_OF_SetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_SetInfoStatus);
1882 return offset;
1886 static const ber_sequence_t SetListError_sequence[] = {
1887 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1888 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1889 { &hf_cmip_currentTime , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
1890 { &hf_cmip_setInfoList , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_SET_OF_SetInfoStatus },
1891 { NULL, 0, 0, 0, NULL }
1894 static int
1895 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_) {
1896 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1897 SetListError_sequence, hf_index, ett_cmip_SetListError);
1899 return offset;
1904 static int
1905 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_) {
1906 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_cmip_errorId_OID, &object_identifier_id);
1908 return offset;
1913 static int
1914 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_) {
1915 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
1918 return offset;
1922 static const ber_sequence_t SpecificErrorInfo_sequence[] = {
1923 { &hf_cmip_errorId , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_errorId },
1924 { &hf_cmip_errorInfo , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_T_errorInfo },
1925 { NULL, 0, 0, 0, NULL }
1928 static int
1929 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_) {
1930 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1931 SpecificErrorInfo_sequence, hf_index, ett_cmip_SpecificErrorInfo);
1933 return offset;
1937 static const ber_sequence_t ProcessingFailure_sequence[] = {
1938 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1939 { &hf_cmip_managedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
1940 { &hf_cmip_specificErrorInfo, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_cmip_SpecificErrorInfo },
1941 { NULL, 0, 0, 0, NULL }
1944 static int
1945 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_) {
1946 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1947 ProcessingFailure_sequence, hf_index, ett_cmip_ProcessingFailure);
1949 return offset;
1953 static const ber_choice_t LinkedReplyArgument_choice[] = {
1954 { 0, &hf_cmip_getResult , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_GetResult },
1955 { 1, &hf_cmip_getListError , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_GetListError },
1956 { 2, &hf_cmip_setResult , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_SetResult },
1957 { 3, &hf_cmip_setListError , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_SetListError },
1958 { 4, &hf_cmip_actionResult , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_ActionResult },
1959 { 5, &hf_cmip_processingFailure, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_cmip_ProcessingFailure },
1960 { 6, &hf_cmip_deleteResult , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cmip_DeleteResult },
1961 { 7, &hf_cmip_actionError , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_cmip_ActionError },
1962 { 8, &hf_cmip_deleteError , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_cmip_DeleteError },
1963 { 0, NULL, 0, 0, 0, NULL }
1966 static int
1967 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_) {
1968 offset = dissect_ber_choice(actx, tree, tvb, offset,
1969 LinkedReplyArgument_choice, hf_index, ett_cmip_LinkedReplyArgument,
1970 NULL);
1972 return offset;
1976 static const ber_sequence_t NoSuchAction_sequence[] = {
1977 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1978 { &hf_cmip_actionType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ActionTypeId },
1979 { NULL, 0, 0, 0, NULL }
1982 static int
1983 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_) {
1984 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1985 NoSuchAction_sequence, hf_index, ett_cmip_NoSuchAction);
1987 return offset;
1991 static const ber_sequence_t NoSuchEventType_sequence[] = {
1992 { &hf_cmip_managedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
1993 { &hf_cmip_eventType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_EventTypeId },
1994 { NULL, 0, 0, 0, NULL }
1997 static int
1998 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_) {
1999 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2000 NoSuchEventType_sequence, hf_index, ett_cmip_NoSuchEventType);
2002 return offset;
2007 static int
2008 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_) {
2009 if(actx->external.direct_ref_present){
2010 offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
2011 } else if (actx->external.indirect_ref_present &&
2012 dissector_try_uint(attribute_id_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
2013 offset=tvb_reported_length (tvb);
2014 } else {
2015 offset=dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
2019 return offset;
2023 static const ber_sequence_t T_modificationList_item_sequence[] = {
2024 { &hf_cmip_modifyOperator , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_ModifyOperator },
2025 { &hf_cmip_attributeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
2026 { &hf_cmip_attributevalue , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_T_attributevalue },
2027 { NULL, 0, 0, 0, NULL }
2030 static int
2031 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_) {
2032 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2033 T_modificationList_item_sequence, hf_index, ett_cmip_T_modificationList_item);
2035 return offset;
2039 static const ber_sequence_t T_modificationList_set_of[1] = {
2040 { &hf_cmip_modificationList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_T_modificationList_item },
2043 static int
2044 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_) {
2045 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2046 T_modificationList_set_of, hf_index, ett_cmip_T_modificationList);
2048 return offset;
2052 static const ber_sequence_t SetArgument_sequence[] = {
2053 { &hf_cmip_baseManagedObjectClass, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
2054 { &hf_cmip_baseManagedObjectInstance, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
2055 { &hf_cmip_accessControl , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_AccessControl },
2056 { &hf_cmip_synchronization, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_CMISSync },
2057 { &hf_cmip_scope , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Scope },
2058 { &hf_cmip_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_CMISFilter },
2059 { &hf_cmip_modificationList, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_cmip_T_modificationList },
2060 { NULL, 0, 0, 0, NULL }
2063 static int
2064 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_) {
2065 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2066 SetArgument_sequence, hf_index, ett_cmip_SetArgument);
2068 return offset;
2072 static const value_string cmip_CMIPAbortSource_vals[] = {
2073 { 0, "cmiseServiceUser" },
2074 { 1, "cmiseServiceProvider" },
2075 { 0, NULL }
2079 static int
2080 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_) {
2081 uint32_t value;
2083 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2084 &value);
2086 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " AbortSource:%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%d"));
2088 return offset;
2093 static int
2094 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_) {
2095 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
2097 return offset;
2101 static const ber_sequence_t CMIPAbortInfo_sequence[] = {
2102 { &hf_cmip_abortSource , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_CMIPAbortSource },
2103 { &hf_cmip_userInfo , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_EXTERNAL },
2104 { NULL, 0, 0, 0, NULL }
2108 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_) {
2109 col_append_str(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ABORT");
2110 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2111 CMIPAbortInfo_sequence, hf_index, ett_cmip_CMIPAbortInfo);
2113 return offset;
2117 static int * const FunctionalUnits_bits[] = {
2118 &hf_cmip_FunctionalUnits_multipleObjectSelection,
2119 &hf_cmip_FunctionalUnits_filter,
2120 &hf_cmip_FunctionalUnits_multipleReply,
2121 &hf_cmip_FunctionalUnits_extendedService,
2122 &hf_cmip_FunctionalUnits_cancelGet,
2123 NULL
2126 static int
2127 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_) {
2128 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2129 FunctionalUnits_bits, 5, hf_index, ett_cmip_FunctionalUnits,
2130 NULL);
2132 return offset;
2136 static int * const ProtocolVersion_bits[] = {
2137 &hf_cmip_ProtocolVersion_version1,
2138 &hf_cmip_ProtocolVersion_version2,
2139 NULL
2142 static int
2143 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_) {
2144 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2145 ProtocolVersion_bits, 2, hf_index, ett_cmip_ProtocolVersion,
2146 NULL);
2148 return offset;
2152 static const ber_sequence_t CMIPUserInfo_sequence[] = {
2153 { &hf_cmip_protocolVersion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_ProtocolVersion },
2154 { &hf_cmip_functionalUnits, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_FunctionalUnits },
2155 { &hf_cmip_cmipUserInfoaccessControl, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_EXTERNAL },
2156 { &hf_cmip_userInfo , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_EXTERNAL },
2157 { NULL, 0, 0, 0, NULL }
2161 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_) {
2162 col_append_str(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE");
2163 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2164 CMIPUserInfo_sequence, hf_index, ett_cmip_CMIPUserInfo);
2166 return offset;
2170 static const ber_sequence_t SET_OF_AE_title_set_of[1] = {
2171 { &hf_cmip_multiple_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_title },
2174 static int
2175 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_) {
2176 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2177 SET_OF_AE_title_set_of, hf_index, ett_cmip_SET_OF_AE_title);
2179 return offset;
2183 static const value_string cmip_Destination_vals[] = {
2184 { 0, "single" },
2185 { 1, "multiple" },
2186 { 0, NULL }
2189 static const ber_choice_t Destination_choice[] = {
2190 { 0, &hf_cmip_single , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_title },
2191 { 1, &hf_cmip_multiple , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_cmip_SET_OF_AE_title },
2192 { 0, NULL, 0, 0, 0, NULL }
2195 static int
2196 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_) {
2197 offset = dissect_ber_choice(actx, tree, tvb, offset,
2198 Destination_choice, hf_index, ett_cmip_Destination,
2199 NULL);
2201 return offset;
2206 static int
2207 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_) {
2208 offset = dissect_cmip_Destination(implicit_tag, tvb, offset, actx, tree, hf_index);
2210 return offset;
2215 static int
2216 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_) {
2217 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
2218 actx, tree, tvb, offset, hf_index,
2219 NULL);
2221 return offset;
2226 static int
2227 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_) {
2228 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
2230 return offset;
2235 static int
2236 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_) {
2237 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2239 return offset;
2244 static int
2245 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_) {
2246 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
2249 return offset;
2253 static const ber_sequence_t ManagementExtension_sequence[] = {
2254 { &hf_cmip_managementExtensionidentifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_managementExtensionidentifier },
2255 { &hf_cmip_significance , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_BOOLEAN },
2256 { &hf_cmip_information , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_T_information },
2257 { NULL, 0, 0, 0, NULL }
2260 static int
2261 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_) {
2262 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2263 ManagementExtension_sequence, hf_index, ett_cmip_ManagementExtension);
2265 return offset;
2269 static const ber_sequence_t AdditionalInformation_set_of[1] = {
2270 { &hf_cmip_AdditionalInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_ManagementExtension },
2274 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_) {
2275 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2276 AdditionalInformation_set_of, hf_index, ett_cmip_AdditionalInformation);
2278 return offset;
2282 static const ber_sequence_t Allomorphs_set_of[1] = {
2283 { &hf_cmip_Allomorphs_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectClass },
2286 static int
2287 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_) {
2288 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2289 Allomorphs_set_of, hf_index, ett_cmip_Allomorphs);
2291 return offset;
2295 const value_string cmip_AdministrativeState_vals[] = {
2296 { 0, "locked" },
2297 { 1, "unlocked" },
2298 { 2, "shuttingDown" },
2299 { 0, NULL }
2304 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_) {
2305 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2306 NULL);
2308 return offset;
2312 static const ber_sequence_t AttributeIdentifierList_set_of[1] = {
2313 { &hf_cmip_AttributeIdentifierList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
2316 static int
2317 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_) {
2318 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2319 AttributeIdentifierList_set_of, hf_index, ett_cmip_AttributeIdentifierList);
2321 return offset;
2325 static const ber_sequence_t AttributeList_set_of[1] = {
2326 { &hf_cmip_AttributeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Attribute },
2330 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_) {
2331 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2332 AttributeList_set_of, hf_index, ett_cmip_AttributeList);
2334 return offset;
2339 static int
2340 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_) {
2341 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
2344 return offset;
2349 static int
2350 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_) {
2351 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
2354 return offset;
2358 static const ber_sequence_t AttributeValueChangeDefinition_item_sequence[] = {
2359 { &hf_cmip_attributeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
2360 { &hf_cmip_oldAttributeValue, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_T_oldAttributeValue },
2361 { &hf_cmip_newAttributeValue, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_T_newAttributeValue },
2362 { NULL, 0, 0, 0, NULL }
2365 static int
2366 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_) {
2367 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2368 AttributeValueChangeDefinition_item_sequence, hf_index, ett_cmip_AttributeValueChangeDefinition_item);
2370 return offset;
2374 static const ber_sequence_t AttributeValueChangeDefinition_set_of[1] = {
2375 { &hf_cmip_AttributeValueChangeDefinition_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_AttributeValueChangeDefinition_item },
2378 static int
2379 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_) {
2380 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2381 AttributeValueChangeDefinition_set_of, hf_index, ett_cmip_AttributeValueChangeDefinition);
2383 return offset;
2387 static const value_string cmip_AlarmStatus_item_vals[] = {
2388 { 0, "underRepair" },
2389 { 1, "critical" },
2390 { 2, "major" },
2391 { 3, "minor" },
2392 { 4, "alarmOutstanding" },
2393 { 0, NULL }
2397 static int
2398 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_) {
2399 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2400 NULL);
2402 return offset;
2406 static const ber_sequence_t AlarmStatus_set_of[1] = {
2407 { &hf_cmip_AlarmStatus_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_AlarmStatus_item },
2410 static int
2411 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_) {
2412 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2413 AlarmStatus_set_of, hf_index, ett_cmip_AlarmStatus);
2415 return offset;
2419 static const value_string cmip_AvailabilityStatus_item_vals[] = {
2420 { 0, "inTest" },
2421 { 1, "failed" },
2422 { 2, "powerOff" },
2423 { 3, "offLine" },
2424 { 4, "offDuty" },
2425 { 5, "dependency" },
2426 { 6, "degraded" },
2427 { 7, "notInstalled" },
2428 { 8, "logFull" },
2429 { 0, NULL }
2433 static int
2434 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_) {
2435 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2436 NULL);
2438 return offset;
2442 static const ber_sequence_t AvailabilityStatus_set_of[1] = {
2443 { &hf_cmip_AvailabilityStatus_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_AvailabilityStatus_item },
2447 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_) {
2448 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2449 AvailabilityStatus_set_of, hf_index, ett_cmip_AvailabilityStatus);
2451 return offset;
2456 static int
2457 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_) {
2458 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2460 return offset;
2464 static const ber_sequence_t BackUpDestinationList_sequence_of[1] = {
2465 { &hf_cmip_BackUpDestinationList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_title },
2468 static int
2469 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_) {
2470 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2471 BackUpDestinationList_sequence_of, hf_index, ett_cmip_BackUpDestinationList);
2473 return offset;
2477 static const value_string cmip_BackUpRelationshipObject_vals[] = {
2478 { 0, "objectName" },
2479 { 1, "noObject" },
2480 { 0, NULL }
2483 static const ber_choice_t BackUpRelationshipObject_choice[] = {
2484 { 0, &hf_cmip_objectName , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_cmip_ObjectInstance },
2485 { 1, &hf_cmip_noObject , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
2486 { 0, NULL, 0, 0, 0, NULL }
2489 static int
2490 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_) {
2491 offset = dissect_ber_choice(actx, tree, tvb, offset,
2492 BackUpRelationshipObject_choice, hf_index, ett_cmip_BackUpRelationshipObject,
2493 NULL);
2495 return offset;
2500 static int
2501 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_) {
2502 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2503 NULL);
2505 return offset;
2509 static const ber_sequence_t CapacityAlarmThreshold_set_of[1] = {
2510 { &hf_cmip_CapacityAlarmThreshold_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER_0_100 },
2513 static int
2514 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_) {
2515 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2516 CapacityAlarmThreshold_set_of, hf_index, ett_cmip_CapacityAlarmThreshold);
2518 return offset;
2523 static int
2524 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_) {
2525 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2527 return offset;
2531 static const value_string cmip_ControlStatus_item_vals[] = {
2532 { 0, "subjectToTest" },
2533 { 1, "partOfServicesLocked" },
2534 { 2, "reservedForTest" },
2535 { 3, "suspended" },
2536 { 0, NULL }
2540 static int
2541 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_) {
2542 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2543 NULL);
2545 return offset;
2549 static const ber_sequence_t ControlStatus_set_of[1] = {
2550 { &hf_cmip_ControlStatus_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_ControlStatus_item },
2553 static int
2554 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_) {
2555 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2556 ControlStatus_set_of, hf_index, ett_cmip_ControlStatus);
2558 return offset;
2563 static int
2564 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_) {
2565 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2566 NULL);
2568 return offset;
2572 static const ber_sequence_t SET_OF_NotificationIdentifier_set_of[1] = {
2573 { &hf_cmip_correlatedNotifications_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_NotificationIdentifier },
2576 static int
2577 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_) {
2578 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2579 SET_OF_NotificationIdentifier_set_of, hf_index, ett_cmip_SET_OF_NotificationIdentifier);
2581 return offset;
2585 static const ber_sequence_t CorrelatedNotifications_item_sequence[] = {
2586 { &hf_cmip_correlatedNotifications, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_cmip_SET_OF_NotificationIdentifier },
2587 { &hf_cmip_sourceObjectInst, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
2588 { NULL, 0, 0, 0, NULL }
2591 static int
2592 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_) {
2593 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2594 CorrelatedNotifications_item_sequence, hf_index, ett_cmip_CorrelatedNotifications_item);
2596 return offset;
2600 static const ber_sequence_t CorrelatedNotifications_set_of[1] = {
2601 { &hf_cmip_CorrelatedNotifications_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_CorrelatedNotifications_item },
2604 static int
2605 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_) {
2606 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2607 CorrelatedNotifications_set_of, hf_index, ett_cmip_CorrelatedNotifications);
2609 return offset;
2614 static int
2615 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_) {
2616 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2617 NULL);
2619 return offset;
2624 static int
2625 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_) {
2626 offset = dissect_cmip_CMISFilter(implicit_tag, tvb, offset, actx, tree, hf_index);
2628 return offset;
2633 static int
2634 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_) {
2635 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2637 return offset;
2641 static const ber_sequence_t GroupObjects_set_of[1] = {
2642 { &hf_cmip_GroupObjects_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
2645 static int
2646 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_) {
2647 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2648 GroupObjects_set_of, hf_index, ett_cmip_GroupObjects);
2650 return offset;
2655 static int
2656 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_) {
2657 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2658 NULL);
2660 return offset;
2665 static int
2666 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_) {
2667 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2668 NULL);
2670 return offset;
2674 static const ber_sequence_t Time24_sequence[] = {
2675 { &hf_cmip_hour , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER_0_23 },
2676 { &hf_cmip_minute , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER_0_59 },
2677 { NULL, 0, 0, 0, NULL }
2680 static int
2681 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_) {
2682 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2683 Time24_sequence, hf_index, ett_cmip_Time24);
2685 return offset;
2689 static const ber_sequence_t IntervalsOfDay_item_sequence[] = {
2690 { &hf_cmip_intervalStart , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Time24 },
2691 { &hf_cmip_intervalEnd , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Time24 },
2692 { NULL, 0, 0, 0, NULL }
2695 static int
2696 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_) {
2697 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2698 IntervalsOfDay_item_sequence, hf_index, ett_cmip_IntervalsOfDay_item);
2700 return offset;
2704 static const ber_sequence_t IntervalsOfDay_set_of[1] = {
2705 { &hf_cmip_IntervalsOfDay_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_IntervalsOfDay_item },
2708 static int
2709 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_) {
2710 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2711 IntervalsOfDay_set_of, hf_index, ett_cmip_IntervalsOfDay);
2713 return offset;
2717 static const value_string cmip_LifecycleState_vals[] = {
2718 { 0, "planned" },
2719 { 1, "installed" },
2720 { 2, "pendingRemoval" },
2721 { 0, NULL }
2725 static int
2726 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_) {
2727 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2728 NULL);
2730 return offset;
2734 static const value_string cmip_LogFullAction_vals[] = {
2735 { 0, "wrap" },
2736 { 1, "halt" },
2737 { 0, NULL }
2741 static int
2742 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_) {
2743 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2744 NULL);
2746 return offset;
2751 static int
2752 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_) {
2753 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2755 return offset;
2760 static int
2761 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_) {
2762 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
2763 actx, tree, tvb, offset, hf_index,
2764 NULL);
2766 return offset;
2770 static const value_string cmip_SimpleNameType_vals[] = {
2771 { 0, "number" },
2772 { 1, "string" },
2773 { 0, NULL }
2776 static const ber_choice_t SimpleNameType_choice[] = {
2777 { 0, &hf_cmip_number , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
2778 { 1, &hf_cmip_string , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_cmip_GraphicString },
2779 { 0, NULL, 0, 0, 0, NULL }
2782 static int
2783 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_) {
2784 offset = dissect_ber_choice(actx, tree, tvb, offset,
2785 SimpleNameType_choice, hf_index, ett_cmip_SimpleNameType,
2786 NULL);
2788 return offset;
2793 static int
2794 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_) {
2795 offset = dissect_cmip_SimpleNameType(implicit_tag, tvb, offset, actx, tree, hf_index);
2797 return offset;
2801 static const value_string cmip_MaxLogSize_vals[] = {
2802 { 0, "unlimited" },
2803 { 0, NULL }
2807 static int
2808 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_) {
2809 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2810 NULL);
2812 return offset;
2816 static const ber_sequence_t MonitoredAttributes_set_of[1] = {
2817 { &hf_cmip_MonitoredAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_Attribute },
2820 static int
2821 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_) {
2822 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2823 MonitoredAttributes_set_of, hf_index, ett_cmip_MonitoredAttributes);
2825 return offset;
2830 static int
2831 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_) {
2832 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2834 return offset;
2839 static int
2840 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_) {
2841 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2842 NULL);
2844 return offset;
2849 static int
2850 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_) {
2851 offset = dissect_ber_real(implicit_tag, actx, tree, tvb, offset, hf_index,
2852 NULL);
2854 return offset;
2858 static const value_string cmip_ObservedValue_vals[] = {
2859 { 0, "integer" },
2860 { 1, "real" },
2861 { 0, NULL }
2864 static const ber_choice_t ObservedValue_choice[] = {
2865 { 0, &hf_cmip_integer , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
2866 { 1, &hf_cmip_real , BER_CLASS_UNI, BER_UNI_TAG_REAL, BER_FLAGS_NOOWNTAG, dissect_cmip_REAL },
2867 { 0, NULL, 0, 0, 0, NULL }
2870 static int
2871 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_) {
2872 offset = dissect_ber_choice(actx, tree, tvb, offset,
2873 ObservedValue_choice, hf_index, ett_cmip_ObservedValue,
2874 NULL);
2876 return offset;
2880 static const value_string cmip_OperationalState_vals[] = {
2881 { 0, "disabled" },
2882 { 1, "enabled" },
2883 { 0, NULL }
2887 static int
2888 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_) {
2889 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2890 NULL);
2892 return offset;
2897 static int
2898 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_) {
2899 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2901 return offset;
2905 static const ber_sequence_t Packages_set_of[1] = {
2906 { &hf_cmip_Packages_item , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
2909 static int
2910 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_) {
2911 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2912 Packages_set_of, hf_index, ett_cmip_Packages);
2914 return offset;
2918 static const value_string cmip_PerceivedSeverity_vals[] = {
2919 { 0, "indeterminate" },
2920 { 1, "critical" },
2921 { 2, "major" },
2922 { 3, "minor" },
2923 { 4, "warning" },
2924 { 5, "cleared" },
2925 { 0, NULL }
2929 static int
2930 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_) {
2931 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2932 NULL);
2934 return offset;
2938 static const value_string cmip_T_priority_vals[] = {
2939 { 0, "highest" },
2940 { 127, "lowest" },
2941 { 0, NULL }
2945 static int
2946 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_) {
2947 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2948 NULL);
2950 return offset;
2954 static const ber_sequence_t PrioritisedObject_item_sequence[] = {
2955 { &hf_cmip_object , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObjectInstance },
2956 { &hf_cmip_priority , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_T_priority },
2957 { NULL, 0, 0, 0, NULL }
2960 static int
2961 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_) {
2962 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2963 PrioritisedObject_item_sequence, hf_index, ett_cmip_PrioritisedObject_item);
2965 return offset;
2969 static const ber_sequence_t PrioritisedObject_set_of[1] = {
2970 { &hf_cmip_PrioritisedObject_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_PrioritisedObject_item },
2973 static int
2974 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_) {
2975 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2976 PrioritisedObject_set_of, hf_index, ett_cmip_PrioritisedObject);
2978 return offset;
2982 const value_string cmip_ProbableCause_vals[] = {
2983 { 0, "globalValue" },
2984 { 1, "localValue" },
2985 { 0, NULL }
2988 static const ber_choice_t ProbableCause_choice[] = {
2989 { 0, &hf_cmip_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
2990 { 1, &hf_cmip_localValue , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
2991 { 0, NULL, 0, 0, 0, NULL }
2995 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_) {
2996 offset = dissect_ber_choice(actx, tree, tvb, offset,
2997 ProbableCause_choice, hf_index, ett_cmip_ProbableCause,
2998 NULL);
3000 return offset;
3004 static const value_string cmip_ProceduralStatus_item_vals[] = {
3005 { 0, "initializationRequired" },
3006 { 1, "notInitialized" },
3007 { 2, "initializing" },
3008 { 3, "reporting" },
3009 { 4, "terminating" },
3010 { 0, NULL }
3014 static int
3015 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_) {
3016 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3017 NULL);
3019 return offset;
3023 static const ber_sequence_t ProceduralStatus_set_of[1] = {
3024 { &hf_cmip_ProceduralStatus_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_ProceduralStatus_item },
3027 static int
3028 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_) {
3029 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3030 ProceduralStatus_set_of, hf_index, ett_cmip_ProceduralStatus);
3032 return offset;
3036 static const value_string cmip_SpecificIdentifier_vals[] = {
3037 { 0, "oi" },
3038 { 1, "int" },
3039 { 0, NULL }
3042 static const ber_choice_t SpecificIdentifier_choice[] = {
3043 { 0, &hf_cmip_oi , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
3044 { 1, &hf_cmip_int , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
3045 { 0, NULL, 0, 0, 0, NULL }
3048 static int
3049 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_) {
3050 offset = dissect_ber_choice(actx, tree, tvb, offset,
3051 SpecificIdentifier_choice, hf_index, ett_cmip_SpecificIdentifier,
3052 NULL);
3054 return offset;
3058 static const ber_sequence_t ProposedRepairActions_set_of[1] = {
3059 { &hf_cmip_ProposedRepairActions_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_SpecificIdentifier },
3062 static int
3063 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_) {
3064 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3065 ProposedRepairActions_set_of, hf_index, ett_cmip_ProposedRepairActions);
3067 return offset;
3072 static int
3073 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_) {
3074 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
3076 return offset;
3081 static int
3082 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_) {
3083 offset = dissect_cmip_PerceivedSeverity(implicit_tag, tvb, offset, actx, tree, hf_index);
3085 return offset;
3089 static const value_string cmip_SecurityAlarmDetector_vals[] = {
3090 { 0, "mechanism" },
3091 { 1, "object" },
3092 { 2, "application" },
3093 { 0, NULL }
3096 static const ber_choice_t SecurityAlarmDetector_choice[] = {
3097 { 0, &hf_cmip_mechanism , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_OBJECT_IDENTIFIER },
3098 { 1, &hf_cmip_object , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_ObjectInstance },
3099 { 2, &hf_cmip_application , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acse_AE_title },
3100 { 0, NULL, 0, 0, 0, NULL }
3103 static int
3104 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_) {
3105 offset = dissect_ber_choice(actx, tree, tvb, offset,
3106 SecurityAlarmDetector_choice, hf_index, ett_cmip_SecurityAlarmDetector,
3107 NULL);
3109 return offset;
3114 static int
3115 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_) {
3116 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
3118 return offset;
3123 static int
3124 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_) {
3125 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
3128 return offset;
3132 static const ber_sequence_t ServiceUser_sequence[] = {
3133 { &hf_cmip_serviceUseridentifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_serviceUseridentifier },
3134 { &hf_cmip_details , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_T_details },
3135 { NULL, 0, 0, 0, NULL }
3138 static int
3139 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_) {
3140 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3141 ServiceUser_sequence, hf_index, ett_cmip_ServiceUser);
3143 return offset;
3148 static int
3149 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_) {
3150 offset = dissect_cmip_ServiceUser(implicit_tag, tvb, offset, actx, tree, hf_index);
3152 return offset;
3156 static const value_string cmip_SourceIndicator_vals[] = {
3157 { 0, "resourceOperation" },
3158 { 1, "managementOperation" },
3159 { 2, "unknown" },
3160 { 0, NULL }
3164 static int
3165 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_) {
3166 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3167 NULL);
3169 return offset;
3173 static const ber_sequence_t SpecificProblems_set_of[1] = {
3174 { &hf_cmip_SpecificProblems_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_SpecificIdentifier },
3177 static int
3178 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_) {
3179 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3180 SpecificProblems_set_of, hf_index, ett_cmip_SpecificProblems);
3182 return offset;
3186 static const value_string cmip_StandbyStatus_vals[] = {
3187 { 0, "hotStandby" },
3188 { 1, "coldStandby" },
3189 { 2, "providingService" },
3190 { 0, NULL }
3194 static int
3195 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_) {
3196 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3197 NULL);
3199 return offset;
3204 static int
3205 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_) {
3206 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
3208 return offset;
3212 static const value_string cmip_StopTime_vals[] = {
3213 { 0, "specific" },
3214 { 1, "continual" },
3215 { 0, NULL }
3218 static const ber_choice_t StopTime_choice[] = {
3219 { 0, &hf_cmip_specific , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_cmip_GeneralizedTime },
3220 { 1, &hf_cmip_continual , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
3221 { 0, NULL, 0, 0, 0, NULL }
3224 static int
3225 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_) {
3226 offset = dissect_ber_choice(actx, tree, tvb, offset,
3227 StopTime_choice, hf_index, ett_cmip_StopTime,
3228 NULL);
3230 return offset;
3235 static int
3236 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_) {
3237 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
3239 return offset;
3244 static int
3245 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_) {
3246 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
3249 return offset;
3253 static const ber_sequence_t SupportedFeatures_item_sequence[] = {
3254 { &hf_cmip_featureIdentifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_T_featureIdentifier },
3255 { &hf_cmip_featureInfo , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_T_featureInfo },
3256 { NULL, 0, 0, 0, NULL }
3259 static int
3260 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_) {
3261 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3262 SupportedFeatures_item_sequence, hf_index, ett_cmip_SupportedFeatures_item);
3264 return offset;
3268 static const ber_sequence_t SupportedFeatures_set_of[1] = {
3269 { &hf_cmip_SupportedFeatures_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_SupportedFeatures_item },
3272 static int
3273 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_) {
3274 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3275 SupportedFeatures_set_of, hf_index, ett_cmip_SupportedFeatures);
3277 return offset;
3281 static const value_string cmip_SystemId_vals[] = {
3282 { 0, "name" },
3283 { 1, "number" },
3284 { 2, "nothing" },
3285 { 0, NULL }
3288 static const ber_choice_t SystemId_choice[] = {
3289 { 0, &hf_cmip_name , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_cmip_GraphicString },
3290 { 1, &hf_cmip_number , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_INTEGER },
3291 { 2, &hf_cmip_nothing , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
3292 { 0, NULL, 0, 0, 0, NULL }
3295 static int
3296 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_) {
3297 offset = dissect_ber_choice(actx, tree, tvb, offset,
3298 SystemId_choice, hf_index, ett_cmip_SystemId,
3299 NULL);
3301 return offset;
3305 static const value_string cmip_SystemTitle_vals[] = {
3306 { 0, "distinguishedName" },
3307 { 1, "oid" },
3308 { 2, "nothing" },
3309 { 0, NULL }
3312 static const ber_choice_t SystemTitle_choice[] = {
3313 { 0, &hf_cmip_distinguishedName, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_DistinguishedName },
3314 { 1, &hf_cmip_oid , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
3315 { 2, &hf_cmip_nothing , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_cmip_NULL },
3316 { 0, NULL, 0, 0, 0, NULL }
3319 static int
3320 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_) {
3321 offset = dissect_ber_choice(actx, tree, tvb, offset,
3322 SystemTitle_choice, hf_index, ett_cmip_SystemTitle,
3323 NULL);
3325 return offset;
3329 static const ber_sequence_t T_up_sequence[] = {
3330 { &hf_cmip_high , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
3331 { &hf_cmip_low , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
3332 { NULL, 0, 0, 0, NULL }
3335 static int
3336 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_) {
3337 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3338 T_up_sequence, hf_index, ett_cmip_T_up);
3340 return offset;
3344 static const ber_sequence_t T_down_sequence[] = {
3345 { &hf_cmip_high , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
3346 { &hf_cmip_low , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
3347 { NULL, 0, 0, 0, NULL }
3350 static int
3351 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_) {
3352 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3353 T_down_sequence, hf_index, ett_cmip_T_down);
3355 return offset;
3359 static const value_string cmip_ThresholdLevelInd_vals[] = {
3360 { 1, "up" },
3361 { 2, "down" },
3362 { 0, NULL }
3365 static const ber_choice_t ThresholdLevelInd_choice[] = {
3366 { 1, &hf_cmip_up , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_T_up },
3367 { 2, &hf_cmip_down , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_T_down },
3368 { 0, NULL, 0, 0, 0, NULL }
3371 static int
3372 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_) {
3373 offset = dissect_ber_choice(actx, tree, tvb, offset,
3374 ThresholdLevelInd_choice, hf_index, ett_cmip_ThresholdLevelInd,
3375 NULL);
3377 return offset;
3381 static const ber_sequence_t ThresholdInfo_sequence[] = {
3382 { &hf_cmip_triggeredThreshold, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_AttributeId },
3383 { &hf_cmip_observedValue , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ObservedValue },
3384 { &hf_cmip_thresholdLevel , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_ThresholdLevelInd },
3385 { &hf_cmip_armTime , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cmip_GeneralizedTime },
3386 { NULL, 0, 0, 0, NULL }
3389 static int
3390 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_) {
3391 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3392 ThresholdInfo_sequence, hf_index, ett_cmip_ThresholdInfo);
3394 return offset;
3398 static const value_string cmip_TrendIndication_vals[] = {
3399 { 0, "lessSevere" },
3400 { 1, "noChange" },
3401 { 2, "moreSevere" },
3402 { 0, NULL }
3406 static int
3407 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_) {
3408 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3409 NULL);
3411 return offset;
3416 static int
3417 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_) {
3418 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
3420 return offset;
3424 static const value_string cmip_UsageState_vals[] = {
3425 { 0, "idle" },
3426 { 1, "active" },
3427 { 2, "busy" },
3428 { 0, NULL }
3432 static int
3433 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_) {
3434 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3435 NULL);
3437 return offset;
3441 static int * const T_daysOfWeek_bits[] = {
3442 &hf_cmip_T_daysOfWeek_sunday,
3443 &hf_cmip_T_daysOfWeek_monday,
3444 &hf_cmip_T_daysOfWeek_tuesday,
3445 &hf_cmip_T_daysOfWeek_wednesday,
3446 &hf_cmip_T_daysOfWeek_thursday,
3447 &hf_cmip_T_daysOfWeek_friday,
3448 &hf_cmip_T_daysOfWeek_saturday,
3449 NULL
3452 static int
3453 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_) {
3454 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3455 T_daysOfWeek_bits, 7, hf_index, ett_cmip_T_daysOfWeek,
3456 NULL);
3458 return offset;
3462 static const ber_sequence_t WeekMask_item_sequence[] = {
3463 { &hf_cmip_daysOfWeek , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_cmip_T_daysOfWeek },
3464 { &hf_cmip_intervalsOfDay , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_cmip_IntervalsOfDay },
3465 { NULL, 0, 0, 0, NULL }
3468 static int
3469 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_) {
3470 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3471 WeekMask_item_sequence, hf_index, ett_cmip_WeekMask_item);
3473 return offset;
3477 static const ber_sequence_t WeekMask_set_of[1] = {
3478 { &hf_cmip_WeekMask_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_cmip_WeekMask_item },
3481 static int
3482 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_) {
3483 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3484 WeekMask_set_of, hf_index, ett_cmip_WeekMask);
3486 return offset;
3491 static int
3492 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_) {
3493 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3494 &opcode);
3496 if(opcode_type== OPCODE_RETURN_ERROR){
3497 col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, cmip_error_code_vals, " Unknown Opcode:%d"));
3498 }else{
3499 col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%d"));
3502 return offset;
3506 static const value_string cmip_Code_vals[] = {
3507 { 0, "local" },
3508 { 1, "global" },
3509 { 0, NULL }
3512 static const ber_choice_t Code_choice[] = {
3513 { 0, &hf_cmip_local , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_cmip_T_local },
3514 { 1, &hf_cmip_global , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_cmip_OBJECT_IDENTIFIER },
3515 { 0, NULL, 0, 0, 0, NULL }
3518 static int
3519 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_) {
3520 offset = dissect_ber_choice(actx, tree, tvb, offset,
3521 Code_choice, hf_index, ett_cmip_Code,
3522 NULL);
3524 return offset;
3529 static int
3530 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_) {
3531 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3532 NULL);
3534 return offset;
3539 static int
3540 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_) {
3541 offset = dissect_cmip_InvokeId_present(implicit_tag, tvb, offset, actx, tree, hf_index);
3543 return offset;
3547 static const value_string cmip_T_linkedId_vals[] = {
3548 { 0, "present" },
3549 { 1, "absent" },
3550 { 0, NULL }
3553 static const ber_choice_t T_linkedId_choice[] = {
3554 { 0, &hf_cmip_linkedIdPresent, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_T_linkedIdPresent },
3555 { 1, &hf_cmip_absent , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_NULL },
3556 { 0, NULL, 0, 0, 0, NULL }
3559 static int
3560 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_) {
3561 offset = dissect_ber_choice(actx, tree, tvb, offset,
3562 T_linkedId_choice, hf_index, ett_cmip_T_linkedId,
3563 NULL);
3565 return offset;
3570 static int
3571 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_) {
3572 switch(opcode){
3573 case 0: /* M-eventreport */
3574 offset = dissect_cmip_EventReportArgument(false, tvb, offset, actx, tree, -1);
3575 break;
3576 case 1: /* M-eventreport-confirmed */
3577 offset = dissect_cmip_EventReportArgument(false, tvb, offset, actx, tree, -1);
3578 break;
3579 case 2: /* M-linkedreply */
3580 offset = dissect_cmip_LinkedReplyArgument(false, tvb, offset, actx, tree, -1);
3581 break;
3582 case 3: /* M-get */
3583 offset = dissect_cmip_GetArgument(false, tvb, offset,actx, tree, -1);
3584 break;
3585 case 4: /* M-set */
3586 offset = dissect_cmip_SetArgument(false, tvb, offset,actx, tree, -1);
3587 break;
3588 case 5: /* M-set-confirmed */
3589 offset = dissect_cmip_SetArgument(false, tvb, offset,actx, tree, -1);
3590 break;
3591 case 6: /* M-action*/
3592 offset = dissect_cmip_ActionArgument(false, tvb, offset, actx, tree, -1);
3593 break;
3594 case 7: /* M-action-confirmed*/
3595 offset = dissect_cmip_ActionArgument(false, tvb, offset, actx, tree, -1);
3596 break;
3597 case 8: /* M-create*/
3598 offset = dissect_cmip_CreateArgument(false, tvb, offset, actx, tree, -1);
3599 break;
3600 case 9: /* M-delete*/
3601 offset = dissect_cmip_DeleteArgument(false, tvb, offset, actx, tree, -1);
3602 break;
3603 case 10: /* M-cancelget */
3604 offset = dissect_cmip_InvokeIDType(false, tvb, offset, actx, tree, -1);
3605 break;
3610 return offset;
3614 static const ber_sequence_t Invoke_sequence[] = {
3615 { &hf_cmip_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_InvokeId },
3616 { &hf_cmip_linkedId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_linkedId },
3617 { &hf_cmip_opcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Code },
3618 { &hf_cmip_argument , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_InvokeArgument },
3619 { NULL, 0, 0, 0, NULL }
3622 static int
3623 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_) {
3624 opcode_type=OPCODE_INVOKE;
3625 col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Invoke ");
3626 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3627 Invoke_sequence, hf_index, ett_cmip_Invoke);
3629 return offset;
3634 static int
3635 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_) {
3637 switch(opcode){
3638 case 0: /* M-eventreport*/
3639 break; /* No return data */
3640 case 1: /* M-eventreport-confirmed */
3641 offset = dissect_cmip_EventReportResult(false, tvb, offset, actx, tree, -1);
3642 break;
3643 case 2: /* M-linkedreply*/
3644 break; /* No return data */
3645 case 3: /* M-get */
3646 offset = dissect_cmip_GetResult(false, tvb, offset, actx, tree, -1);
3647 break;
3648 case 4: /* M-set */
3649 break; /* No return data */
3650 case 5: /* M-set-confirmed*/
3651 offset = dissect_cmip_SetResult(false, tvb, offset, actx, tree, -1);
3652 break;
3653 case 6: /* M-action*/
3654 break; /* No return data */
3655 case 7: /* M-action-confirmed*/
3656 offset = dissect_cmip_ActionResult(false, tvb, offset, actx, tree, -1);
3657 break;
3658 case 8: /* M-create*/
3659 offset = dissect_cmip_CreateResult(false, tvb, offset, actx, tree, -1);
3660 break;
3661 case 9: /* M-delete*/
3662 offset = dissect_cmip_DeleteResult(false, tvb, offset, actx, tree, -1);
3663 break;
3664 case 10: /* M-cancelget */
3665 break; /* doe this one return any data? */
3667 /*XXX add more types here */
3670 return offset;
3674 static const ber_sequence_t T_result_sequence[] = {
3675 { &hf_cmip_opcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Code },
3676 { &hf_cmip_resultArgument , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_cmip_ResultArgument },
3677 { NULL, 0, 0, 0, NULL }
3680 static int
3681 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_) {
3682 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3683 T_result_sequence, hf_index, ett_cmip_T_result);
3685 return offset;
3689 static const ber_sequence_t ReturnResult_sequence[] = {
3690 { &hf_cmip_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_InvokeId },
3691 { &hf_cmip_result , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_T_result },
3692 { NULL, 0, 0, 0, NULL }
3695 static int
3696 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_) {
3697 opcode_type=OPCODE_RETURN_RESULT;
3698 col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnResult ");
3699 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3700 ReturnResult_sequence, hf_index, ett_cmip_ReturnResult);
3702 return offset;
3707 static int
3708 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_) {
3710 switch(opcode){
3711 case 19: /* classInstanceConflict */
3712 dissect_cmip_BaseManagedObjectId(false, tvb, offset, actx, tree, -1);
3713 break;
3714 case 20: /* complexityLimitation */
3715 dissect_cmip_ComplexityLimitation(false, tvb, offset, actx, tree, -1);
3716 break;
3717 case 11: /* duplicateManagedObjectInstance */
3718 dissect_cmip_ObjectInstance(false, tvb, offset, actx, tree, -1);
3719 break;
3720 case 7: /* getListError */
3721 dissect_cmip_GetListError(false, tvb, offset, actx, tree, -1);
3722 break;
3723 case 15: /* invalidArgumentValue */
3724 dissect_cmip_InvalidArgumentValue(false, tvb, offset, actx, tree, -1);
3725 break;
3726 case 6: /* invalidAttributeValue */
3727 dissect_cmip_Attribute(false, tvb, offset, actx, tree, -1);
3728 break;
3729 case 4: /* invalidFilter */
3730 dissect_cmip_CMISFilter(false, tvb, offset, actx, tree, -1);
3731 break;
3732 case 17: /* invalidObjectInstance */
3733 dissect_cmip_ObjectInstance(false, tvb, offset, actx, tree, -1);
3734 break;
3735 case 16: /* invalidScope */
3736 dissect_cmip_Scope(false, tvb, offset, actx, tree, -1);
3737 break;
3738 case 18: /* missingAttributeValue */
3739 /* Hmmm SET OF AttributeId */
3740 dissect_cmip_PAR_missingAttributeValue(false, tvb, offset, actx, tree, -1);
3741 break;
3742 case 9: /* noSuchAction */
3743 dissect_cmip_NoSuchAction(false, tvb, offset, actx, tree, -1);
3744 break;
3745 case 14: /* noSuchArgument */
3746 dissect_cmip_NoSuchArgument(false, tvb, offset, actx, tree, -1);
3747 break;
3748 case 5: /* noSuchAttribute */
3749 dissect_cmip_AttributeId(false, tvb, offset, actx, tree, -1);
3750 break;
3751 case 13: /* noSuchEventType */
3752 dissect_cmip_NoSuchEventType(false, tvb, offset, actx, tree, -1);
3753 break;
3754 case 22: /* noSuchInvokeId */
3755 dissect_cmip_InvokeIDType(false, tvb, offset, actx, tree, -1);
3756 break;
3757 case 0: /* noSuchObjectClass */
3758 dissect_cmip_ObjectClass(false, tvb, offset, actx, tree, -1);
3759 break;
3760 case 1:/* noSuchObjectInstance */
3761 dissect_cmip_ObjectInstance(false, tvb, offset, actx, tree, -1);
3762 break;
3763 case 12: /* noSuchReferenceObject */
3764 dissect_cmip_ObjectInstance(false, tvb, offset, actx, tree, -1);
3765 break;
3766 case 10: /* processingFailure OPTIONAL true*/
3767 dissect_cmip_ProcessingFailure(false, tvb, offset, actx, tree, -1);
3768 break;
3769 case 8: /* setListError */
3770 dissect_cmip_SetListError(false, tvb, offset, actx, tree, -1);
3771 break;
3772 case 3:/* syncNotSupported */
3773 dissect_cmip_CMISSync(false, tvb, offset, actx, tree, -1);
3774 break;
3778 return offset;
3782 static const ber_sequence_t ReturnError_sequence[] = {
3783 { &hf_cmip_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_InvokeId },
3784 { &hf_cmip_errcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_Code },
3785 { &hf_cmip_parameter , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_cmip_T_parameter },
3786 { NULL, 0, 0, 0, NULL }
3789 static int
3790 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_) {
3791 opcode_type=OPCODE_RETURN_ERROR;
3792 col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnError ");
3793 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3794 ReturnError_sequence, hf_index, ett_cmip_ReturnError);
3796 return offset;
3800 static const value_string cmip_GeneralProblem_vals[] = {
3801 { 0, "unrecognizedPDU" },
3802 { 1, "mistypedPDU" },
3803 { 2, "badlyStructuredPDU" },
3804 { 0, NULL }
3808 static int
3809 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_) {
3810 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3811 NULL);
3813 return offset;
3817 static const value_string cmip_InvokeProblem_vals[] = {
3818 { 0, "duplicateInvocation" },
3819 { 1, "unrecognizedOperation" },
3820 { 2, "mistypedArgument" },
3821 { 3, "resourceLimitation" },
3822 { 4, "releaseInProgress" },
3823 { 5, "unrecognizedLinkedId" },
3824 { 6, "linkedResponseUnexpected" },
3825 { 7, "unexpectedLinkedOperation" },
3826 { 0, NULL }
3830 static int
3831 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_) {
3832 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3833 NULL);
3835 return offset;
3839 static const value_string cmip_ReturnResultProblem_vals[] = {
3840 { 0, "unrecognizedInvocation" },
3841 { 1, "resultResponseUnexpected" },
3842 { 2, "mistypedResult" },
3843 { 0, NULL }
3847 static int
3848 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_) {
3849 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3850 NULL);
3852 return offset;
3856 static const value_string cmip_ReturnErrorProblem_vals[] = {
3857 { 0, "unrecognizedInvocation" },
3858 { 1, "errorResponseUnexpected" },
3859 { 2, "unrecognizedError" },
3860 { 3, "unexpectedError" },
3861 { 4, "mistypedParameter" },
3862 { 0, NULL }
3866 static int
3867 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_) {
3868 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3869 NULL);
3871 return offset;
3875 static const value_string cmip_T_problem_vals[] = {
3876 { 0, "general" },
3877 { 1, "invoke" },
3878 { 2, "returnResult" },
3879 { 3, "returnError" },
3880 { 0, NULL }
3883 static const ber_choice_t T_problem_choice[] = {
3884 { 0, &hf_cmip_general , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cmip_GeneralProblem },
3885 { 1, &hf_cmip_invokeProblem , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_InvokeProblem },
3886 { 2, &hf_cmip_returnResultProblem, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_ReturnResultProblem },
3887 { 3, &hf_cmip_returnErrorProblem, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_ReturnErrorProblem },
3888 { 0, NULL, 0, 0, 0, NULL }
3891 static int
3892 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_) {
3893 offset = dissect_ber_choice(actx, tree, tvb, offset,
3894 T_problem_choice, hf_index, ett_cmip_T_problem,
3895 NULL);
3897 return offset;
3901 static const ber_sequence_t Reject_sequence[] = {
3902 { &hf_cmip_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_InvokeId },
3903 { &hf_cmip_problem , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_cmip_T_problem },
3904 { NULL, 0, 0, 0, NULL }
3907 static int
3908 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_) {
3909 opcode_type=OPCODE_REJECT;
3910 col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Reject ");
3911 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3912 Reject_sequence, hf_index, ett_cmip_Reject);
3914 return offset;
3918 const value_string cmip_ROS_vals[] = {
3919 { 1, "invoke" },
3920 { 2, "returnResult" },
3921 { 3, "returnError" },
3922 { 4, "reject" },
3923 { 0, NULL }
3926 static const ber_choice_t ROS_choice[] = {
3927 { 1, &hf_cmip_invoke , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_cmip_Invoke },
3928 { 2, &hf_cmip_returnResult , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_cmip_ReturnResult },
3929 { 3, &hf_cmip_returnError , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_cmip_ReturnError },
3930 { 4, &hf_cmip_reject , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_cmip_Reject },
3931 { 0, NULL, 0, 0, 0, NULL }
3935 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_) {
3936 offset = dissect_ber_choice(actx, tree, tvb, offset,
3937 ROS_choice, hf_index, ett_cmip_ROS,
3938 NULL);
3940 return offset;
3943 /*--- PDUs ---*/
3945 static int dissect_BaseManagedObjectId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3946 int offset = 0;
3947 asn1_ctx_t asn1_ctx;
3948 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
3949 offset = dissect_cmip_BaseManagedObjectId(false, tvb, offset, &asn1_ctx, tree, hf_cmip_BaseManagedObjectId_PDU);
3950 return offset;
3952 static int dissect_EventTypeId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3953 int offset = 0;
3954 asn1_ctx_t asn1_ctx;
3955 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
3956 offset = dissect_cmip_EventTypeId(false, tvb, offset, &asn1_ctx, tree, hf_cmip_EventTypeId_PDU);
3957 return offset;
3959 static int dissect_ObjectClass_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3960 int offset = 0;
3961 asn1_ctx_t asn1_ctx;
3962 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
3963 offset = dissect_cmip_ObjectClass(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ObjectClass_PDU);
3964 return offset;
3966 static int dissect_ActiveDestination_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3967 int offset = 0;
3968 asn1_ctx_t asn1_ctx;
3969 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
3970 offset = dissect_cmip_ActiveDestination(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ActiveDestination_PDU);
3971 return offset;
3973 static int dissect_AdditionalText_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3974 int offset = 0;
3975 asn1_ctx_t asn1_ctx;
3976 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
3977 offset = dissect_cmip_AdditionalText(false, tvb, offset, &asn1_ctx, tree, hf_cmip_AdditionalText_PDU);
3978 return offset;
3980 static int dissect_AdditionalInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3981 int offset = 0;
3982 asn1_ctx_t asn1_ctx;
3983 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
3984 offset = dissect_cmip_AdditionalInformation(false, tvb, offset, &asn1_ctx, tree, hf_cmip_AdditionalInformation_PDU);
3985 return offset;
3987 static int dissect_Allomorphs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3988 int offset = 0;
3989 asn1_ctx_t asn1_ctx;
3990 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
3991 offset = dissect_cmip_Allomorphs(false, tvb, offset, &asn1_ctx, tree, hf_cmip_Allomorphs_PDU);
3992 return offset;
3994 static int dissect_AdministrativeState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3995 int offset = 0;
3996 asn1_ctx_t asn1_ctx;
3997 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
3998 offset = dissect_cmip_AdministrativeState(false, tvb, offset, &asn1_ctx, tree, hf_cmip_AdministrativeState_PDU);
3999 return offset;
4001 static int dissect_AttributeIdentifierList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4002 int offset = 0;
4003 asn1_ctx_t asn1_ctx;
4004 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4005 offset = dissect_cmip_AttributeIdentifierList(false, tvb, offset, &asn1_ctx, tree, hf_cmip_AttributeIdentifierList_PDU);
4006 return offset;
4008 static int dissect_AttributeList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4009 int offset = 0;
4010 asn1_ctx_t asn1_ctx;
4011 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4012 offset = dissect_cmip_AttributeList(false, tvb, offset, &asn1_ctx, tree, hf_cmip_AttributeList_PDU);
4013 return offset;
4015 static int dissect_AttributeValueChangeDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4016 int offset = 0;
4017 asn1_ctx_t asn1_ctx;
4018 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4019 offset = dissect_cmip_AttributeValueChangeDefinition(false, tvb, offset, &asn1_ctx, tree, hf_cmip_AttributeValueChangeDefinition_PDU);
4020 return offset;
4022 static int dissect_AlarmStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4023 int offset = 0;
4024 asn1_ctx_t asn1_ctx;
4025 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4026 offset = dissect_cmip_AlarmStatus(false, tvb, offset, &asn1_ctx, tree, hf_cmip_AlarmStatus_PDU);
4027 return offset;
4029 static int dissect_AvailabilityStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4030 int offset = 0;
4031 asn1_ctx_t asn1_ctx;
4032 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4033 offset = dissect_cmip_AvailabilityStatus(false, tvb, offset, &asn1_ctx, tree, hf_cmip_AvailabilityStatus_PDU);
4034 return offset;
4036 static int dissect_BackedUpStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4037 int offset = 0;
4038 asn1_ctx_t asn1_ctx;
4039 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4040 offset = dissect_cmip_BackedUpStatus(false, tvb, offset, &asn1_ctx, tree, hf_cmip_BackedUpStatus_PDU);
4041 return offset;
4043 static int dissect_BackUpDestinationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4044 int offset = 0;
4045 asn1_ctx_t asn1_ctx;
4046 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4047 offset = dissect_cmip_BackUpDestinationList(false, tvb, offset, &asn1_ctx, tree, hf_cmip_BackUpDestinationList_PDU);
4048 return offset;
4050 static int dissect_BackUpRelationshipObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4051 int offset = 0;
4052 asn1_ctx_t asn1_ctx;
4053 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4054 offset = dissect_cmip_BackUpRelationshipObject(false, tvb, offset, &asn1_ctx, tree, hf_cmip_BackUpRelationshipObject_PDU);
4055 return offset;
4057 static int dissect_CapacityAlarmThreshold_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4058 int offset = 0;
4059 asn1_ctx_t asn1_ctx;
4060 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4061 offset = dissect_cmip_CapacityAlarmThreshold(false, tvb, offset, &asn1_ctx, tree, hf_cmip_CapacityAlarmThreshold_PDU);
4062 return offset;
4064 static int dissect_ConfirmedMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4065 int offset = 0;
4066 asn1_ctx_t asn1_ctx;
4067 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4068 offset = dissect_cmip_ConfirmedMode(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ConfirmedMode_PDU);
4069 return offset;
4071 static int dissect_ControlStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4072 int offset = 0;
4073 asn1_ctx_t asn1_ctx;
4074 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4075 offset = dissect_cmip_ControlStatus(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ControlStatus_PDU);
4076 return offset;
4078 static int dissect_CorrelatedNotifications_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4079 int offset = 0;
4080 asn1_ctx_t asn1_ctx;
4081 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4082 offset = dissect_cmip_CorrelatedNotifications(false, tvb, offset, &asn1_ctx, tree, hf_cmip_CorrelatedNotifications_PDU);
4083 return offset;
4085 static int dissect_CurrentLogSize_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4086 int offset = 0;
4087 asn1_ctx_t asn1_ctx;
4088 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4089 offset = dissect_cmip_CurrentLogSize(false, tvb, offset, &asn1_ctx, tree, hf_cmip_CurrentLogSize_PDU);
4090 return offset;
4092 static int dissect_Destination_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4093 int offset = 0;
4094 asn1_ctx_t asn1_ctx;
4095 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4096 offset = dissect_cmip_Destination(false, tvb, offset, &asn1_ctx, tree, hf_cmip_Destination_PDU);
4097 return offset;
4099 static int dissect_DiscriminatorConstruct_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4100 int offset = 0;
4101 asn1_ctx_t asn1_ctx;
4102 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4103 offset = dissect_cmip_DiscriminatorConstruct(false, tvb, offset, &asn1_ctx, tree, hf_cmip_DiscriminatorConstruct_PDU);
4104 return offset;
4106 static int dissect_EventTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4107 int offset = 0;
4108 asn1_ctx_t asn1_ctx;
4109 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4110 offset = dissect_cmip_EventTime(false, tvb, offset, &asn1_ctx, tree, hf_cmip_EventTime_PDU);
4111 return offset;
4113 static int dissect_GroupObjects_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4114 int offset = 0;
4115 asn1_ctx_t asn1_ctx;
4116 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4117 offset = dissect_cmip_GroupObjects(false, tvb, offset, &asn1_ctx, tree, hf_cmip_GroupObjects_PDU);
4118 return offset;
4120 static int dissect_IntervalsOfDay_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4121 int offset = 0;
4122 asn1_ctx_t asn1_ctx;
4123 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4124 offset = dissect_cmip_IntervalsOfDay(false, tvb, offset, &asn1_ctx, tree, hf_cmip_IntervalsOfDay_PDU);
4125 return offset;
4127 static int dissect_LifecycleState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4128 int offset = 0;
4129 asn1_ctx_t asn1_ctx;
4130 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4131 offset = dissect_cmip_LifecycleState(false, tvb, offset, &asn1_ctx, tree, hf_cmip_LifecycleState_PDU);
4132 return offset;
4134 static int dissect_LogFullAction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4135 int offset = 0;
4136 asn1_ctx_t asn1_ctx;
4137 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4138 offset = dissect_cmip_LogFullAction(false, tvb, offset, &asn1_ctx, tree, hf_cmip_LogFullAction_PDU);
4139 return offset;
4141 static int dissect_LoggingTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4142 int offset = 0;
4143 asn1_ctx_t asn1_ctx;
4144 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4145 offset = dissect_cmip_LoggingTime(false, tvb, offset, &asn1_ctx, tree, hf_cmip_LoggingTime_PDU);
4146 return offset;
4148 static int dissect_LogRecordId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4149 int offset = 0;
4150 asn1_ctx_t asn1_ctx;
4151 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4152 offset = dissect_cmip_LogRecordId(false, tvb, offset, &asn1_ctx, tree, hf_cmip_LogRecordId_PDU);
4153 return offset;
4155 static int dissect_MaxLogSize_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4156 int offset = 0;
4157 asn1_ctx_t asn1_ctx;
4158 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4159 offset = dissect_cmip_MaxLogSize(false, tvb, offset, &asn1_ctx, tree, hf_cmip_MaxLogSize_PDU);
4160 return offset;
4162 static int dissect_MonitoredAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4163 int offset = 0;
4164 asn1_ctx_t asn1_ctx;
4165 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4166 offset = dissect_cmip_MonitoredAttributes(false, tvb, offset, &asn1_ctx, tree, hf_cmip_MonitoredAttributes_PDU);
4167 return offset;
4169 static int dissect_NameBinding_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4170 int offset = 0;
4171 asn1_ctx_t asn1_ctx;
4172 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4173 offset = dissect_cmip_NameBinding(false, tvb, offset, &asn1_ctx, tree, hf_cmip_NameBinding_PDU);
4174 return offset;
4176 static int dissect_NotificationIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4177 int offset = 0;
4178 asn1_ctx_t asn1_ctx;
4179 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4180 offset = dissect_cmip_NotificationIdentifier(false, tvb, offset, &asn1_ctx, tree, hf_cmip_NotificationIdentifier_PDU);
4181 return offset;
4183 static int dissect_NumberOfRecords_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4184 int offset = 0;
4185 asn1_ctx_t asn1_ctx;
4186 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4187 offset = dissect_cmip_NumberOfRecords(false, tvb, offset, &asn1_ctx, tree, hf_cmip_NumberOfRecords_PDU);
4188 return offset;
4190 static int dissect_OperationalState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4191 int offset = 0;
4192 asn1_ctx_t asn1_ctx;
4193 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4194 offset = dissect_cmip_OperationalState(false, tvb, offset, &asn1_ctx, tree, hf_cmip_OperationalState_PDU);
4195 return offset;
4197 static int dissect_Packages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4198 int offset = 0;
4199 asn1_ctx_t asn1_ctx;
4200 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4201 offset = dissect_cmip_Packages(false, tvb, offset, &asn1_ctx, tree, hf_cmip_Packages_PDU);
4202 return offset;
4204 static int dissect_PerceivedSeverity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4205 int offset = 0;
4206 asn1_ctx_t asn1_ctx;
4207 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4208 offset = dissect_cmip_PerceivedSeverity(false, tvb, offset, &asn1_ctx, tree, hf_cmip_PerceivedSeverity_PDU);
4209 return offset;
4211 static int dissect_PrioritisedObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4212 int offset = 0;
4213 asn1_ctx_t asn1_ctx;
4214 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4215 offset = dissect_cmip_PrioritisedObject(false, tvb, offset, &asn1_ctx, tree, hf_cmip_PrioritisedObject_PDU);
4216 return offset;
4218 static int dissect_ProbableCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4219 int offset = 0;
4220 asn1_ctx_t asn1_ctx;
4221 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4222 offset = dissect_cmip_ProbableCause(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ProbableCause_PDU);
4223 return offset;
4225 static int dissect_ProceduralStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4226 int offset = 0;
4227 asn1_ctx_t asn1_ctx;
4228 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4229 offset = dissect_cmip_ProceduralStatus(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ProceduralStatus_PDU);
4230 return offset;
4232 static int dissect_ProposedRepairActions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4233 int offset = 0;
4234 asn1_ctx_t asn1_ctx;
4235 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4236 offset = dissect_cmip_ProposedRepairActions(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ProposedRepairActions_PDU);
4237 return offset;
4239 static int dissect_SecurityAlarmCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4240 int offset = 0;
4241 asn1_ctx_t asn1_ctx;
4242 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4243 offset = dissect_cmip_SecurityAlarmCause(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SecurityAlarmCause_PDU);
4244 return offset;
4246 static int dissect_SecurityAlarmSeverity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4247 int offset = 0;
4248 asn1_ctx_t asn1_ctx;
4249 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4250 offset = dissect_cmip_SecurityAlarmSeverity(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SecurityAlarmSeverity_PDU);
4251 return offset;
4253 static int dissect_SecurityAlarmDetector_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4254 int offset = 0;
4255 asn1_ctx_t asn1_ctx;
4256 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4257 offset = dissect_cmip_SecurityAlarmDetector(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SecurityAlarmDetector_PDU);
4258 return offset;
4260 static int dissect_ServiceProvider_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4261 int offset = 0;
4262 asn1_ctx_t asn1_ctx;
4263 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4264 offset = dissect_cmip_ServiceProvider(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ServiceProvider_PDU);
4265 return offset;
4267 static int dissect_ServiceUser_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4268 int offset = 0;
4269 asn1_ctx_t asn1_ctx;
4270 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4271 offset = dissect_cmip_ServiceUser(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ServiceUser_PDU);
4272 return offset;
4274 static int dissect_SimpleNameType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4275 int offset = 0;
4276 asn1_ctx_t asn1_ctx;
4277 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4278 offset = dissect_cmip_SimpleNameType(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SimpleNameType_PDU);
4279 return offset;
4281 static int dissect_SourceIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4282 int offset = 0;
4283 asn1_ctx_t asn1_ctx;
4284 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4285 offset = dissect_cmip_SourceIndicator(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SourceIndicator_PDU);
4286 return offset;
4288 static int dissect_SpecificProblems_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4289 int offset = 0;
4290 asn1_ctx_t asn1_ctx;
4291 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4292 offset = dissect_cmip_SpecificProblems(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SpecificProblems_PDU);
4293 return offset;
4295 static int dissect_StandbyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4296 int offset = 0;
4297 asn1_ctx_t asn1_ctx;
4298 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4299 offset = dissect_cmip_StandbyStatus(false, tvb, offset, &asn1_ctx, tree, hf_cmip_StandbyStatus_PDU);
4300 return offset;
4302 static int dissect_StartTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4303 int offset = 0;
4304 asn1_ctx_t asn1_ctx;
4305 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4306 offset = dissect_cmip_StartTime(false, tvb, offset, &asn1_ctx, tree, hf_cmip_StartTime_PDU);
4307 return offset;
4309 static int dissect_StopTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4310 int offset = 0;
4311 asn1_ctx_t asn1_ctx;
4312 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4313 offset = dissect_cmip_StopTime(false, tvb, offset, &asn1_ctx, tree, hf_cmip_StopTime_PDU);
4314 return offset;
4316 static int dissect_SupportedFeatures_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4317 int offset = 0;
4318 asn1_ctx_t asn1_ctx;
4319 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4320 offset = dissect_cmip_SupportedFeatures(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SupportedFeatures_PDU);
4321 return offset;
4323 static int dissect_SystemId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4324 int offset = 0;
4325 asn1_ctx_t asn1_ctx;
4326 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4327 offset = dissect_cmip_SystemId(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SystemId_PDU);
4328 return offset;
4330 static int dissect_SystemTitle_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4331 int offset = 0;
4332 asn1_ctx_t asn1_ctx;
4333 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4334 offset = dissect_cmip_SystemTitle(false, tvb, offset, &asn1_ctx, tree, hf_cmip_SystemTitle_PDU);
4335 return offset;
4337 static int dissect_ThresholdInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4338 int offset = 0;
4339 asn1_ctx_t asn1_ctx;
4340 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4341 offset = dissect_cmip_ThresholdInfo(false, tvb, offset, &asn1_ctx, tree, hf_cmip_ThresholdInfo_PDU);
4342 return offset;
4344 static int dissect_TrendIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4345 int offset = 0;
4346 asn1_ctx_t asn1_ctx;
4347 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4348 offset = dissect_cmip_TrendIndication(false, tvb, offset, &asn1_ctx, tree, hf_cmip_TrendIndication_PDU);
4349 return offset;
4351 static int dissect_UnknownStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4352 int offset = 0;
4353 asn1_ctx_t asn1_ctx;
4354 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4355 offset = dissect_cmip_UnknownStatus(false, tvb, offset, &asn1_ctx, tree, hf_cmip_UnknownStatus_PDU);
4356 return offset;
4358 static int dissect_UsageState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4359 int offset = 0;
4360 asn1_ctx_t asn1_ctx;
4361 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4362 offset = dissect_cmip_UsageState(false, tvb, offset, &asn1_ctx, tree, hf_cmip_UsageState_PDU);
4363 return offset;
4365 static int dissect_WeekMask_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4366 int offset = 0;
4367 asn1_ctx_t asn1_ctx;
4368 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4369 offset = dissect_cmip_WeekMask(false, tvb, offset, &asn1_ctx, tree, hf_cmip_WeekMask_PDU);
4370 return offset;
4377 /* XXX this one should be broken out later and moved into the conformance file */
4378 static int
4379 dissect_cmip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
4381 struct SESSION_DATA_STRUCTURE* session;
4382 proto_item *item;
4383 proto_tree *tree;
4384 asn1_ctx_t asn1_ctx;
4385 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4387 /* Reject the packet if data is NULL */
4388 if (data == NULL)
4389 return 0;
4390 session = (struct SESSION_DATA_STRUCTURE*)data;
4392 if(session->spdu_type == 0 ) {
4393 proto_tree_add_expert_format(parent_tree, pinfo, &ei_wrong_spdu_type, tvb, 0, -1,
4394 "Internal error: wrong spdu type %x from session dissector.", session->spdu_type);
4395 return 0;
4398 asn1_ctx.private_data = session;
4400 item = proto_tree_add_item(parent_tree, proto_cmip, tvb, 0, -1, ENC_NA);
4401 tree = proto_item_add_subtree(item, ett_cmip);
4403 col_set_str(pinfo->cinfo, COL_PROTOCOL, "CMIP");
4404 col_clear(pinfo->cinfo, COL_INFO);
4405 switch(session->spdu_type){
4406 case SES_CONNECTION_REQUEST:
4407 case SES_CONNECTION_ACCEPT:
4408 case SES_DISCONNECT:
4409 case SES_FINISH:
4410 case SES_REFUSE:
4411 dissect_cmip_CMIPUserInfo(false,tvb,0,&asn1_ctx,tree,-1);
4412 break;
4413 case SES_ABORT:
4414 dissect_cmip_CMIPAbortInfo(false,tvb,0,&asn1_ctx,tree,-1);
4415 break;
4416 case SES_DATA_TRANSFER:
4417 dissect_cmip_ROS(false,tvb,0,&asn1_ctx,tree,-1);
4418 break;
4419 default:
4423 return tvb_captured_length(tvb);
4426 /*--- proto_register_cmip ----------------------------------------------*/
4427 void proto_register_cmip(void) {
4429 /* List of fields */
4430 static hf_register_info hf[] = {
4431 { &hf_cmip_actionType_OID,
4432 { "actionType", "cmip.actionType_OID",
4433 FT_STRING, BASE_NONE, NULL, 0,
4434 NULL, HFILL }},
4435 { &hf_cmip_eventType_OID,
4436 { "eventType", "cmip.eventType_OID",
4437 FT_STRING, BASE_NONE, NULL, 0,
4438 NULL, HFILL }},
4439 { &hf_cmip_attributeId_OID,
4440 { "attributeId", "cmip.attributeId_OID",
4441 FT_STRING, BASE_NONE, NULL, 0,
4442 NULL, HFILL }},
4443 { &hf_cmip_errorId_OID,
4444 { "errorId", "cmip.errorId_OID",
4445 FT_STRING, BASE_NONE, NULL, 0,
4446 NULL, HFILL }},
4448 { &hf_cmip_BaseManagedObjectId_PDU,
4449 { "BaseManagedObjectId", "cmip.BaseManagedObjectId_element",
4450 FT_NONE, BASE_NONE, NULL, 0,
4451 NULL, HFILL }},
4452 { &hf_cmip_EventTypeId_PDU,
4453 { "EventTypeId", "cmip.EventTypeId",
4454 FT_UINT32, BASE_DEC, VALS(cmip_EventTypeId_vals), 0,
4455 NULL, HFILL }},
4456 { &hf_cmip_ObjectClass_PDU,
4457 { "ObjectClass", "cmip.ObjectClass",
4458 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
4459 NULL, HFILL }},
4460 { &hf_cmip_ActiveDestination_PDU,
4461 { "ActiveDestination", "cmip.ActiveDestination",
4462 FT_UINT32, BASE_DEC, VALS(cmip_Destination_vals), 0,
4463 NULL, HFILL }},
4464 { &hf_cmip_AdditionalText_PDU,
4465 { "AdditionalText", "cmip.AdditionalText",
4466 FT_STRING, BASE_NONE, NULL, 0,
4467 NULL, HFILL }},
4468 { &hf_cmip_AdditionalInformation_PDU,
4469 { "AdditionalInformation", "cmip.AdditionalInformation",
4470 FT_UINT32, BASE_DEC, NULL, 0,
4471 NULL, HFILL }},
4472 { &hf_cmip_Allomorphs_PDU,
4473 { "Allomorphs", "cmip.Allomorphs",
4474 FT_UINT32, BASE_DEC, NULL, 0,
4475 NULL, HFILL }},
4476 { &hf_cmip_AdministrativeState_PDU,
4477 { "AdministrativeState", "cmip.AdministrativeState",
4478 FT_UINT32, BASE_DEC, VALS(cmip_AdministrativeState_vals), 0,
4479 NULL, HFILL }},
4480 { &hf_cmip_AttributeIdentifierList_PDU,
4481 { "AttributeIdentifierList", "cmip.AttributeIdentifierList",
4482 FT_UINT32, BASE_DEC, NULL, 0,
4483 NULL, HFILL }},
4484 { &hf_cmip_AttributeList_PDU,
4485 { "AttributeList", "cmip.AttributeList",
4486 FT_UINT32, BASE_DEC, NULL, 0,
4487 NULL, HFILL }},
4488 { &hf_cmip_AttributeValueChangeDefinition_PDU,
4489 { "AttributeValueChangeDefinition", "cmip.AttributeValueChangeDefinition",
4490 FT_UINT32, BASE_DEC, NULL, 0,
4491 NULL, HFILL }},
4492 { &hf_cmip_AlarmStatus_PDU,
4493 { "AlarmStatus", "cmip.AlarmStatus",
4494 FT_UINT32, BASE_DEC, NULL, 0,
4495 NULL, HFILL }},
4496 { &hf_cmip_AvailabilityStatus_PDU,
4497 { "AvailabilityStatus", "cmip.AvailabilityStatus",
4498 FT_UINT32, BASE_DEC, NULL, 0,
4499 NULL, HFILL }},
4500 { &hf_cmip_BackedUpStatus_PDU,
4501 { "BackedUpStatus", "cmip.BackedUpStatus",
4502 FT_BOOLEAN, BASE_NONE, NULL, 0,
4503 NULL, HFILL }},
4504 { &hf_cmip_BackUpDestinationList_PDU,
4505 { "BackUpDestinationList", "cmip.BackUpDestinationList",
4506 FT_UINT32, BASE_DEC, NULL, 0,
4507 NULL, HFILL }},
4508 { &hf_cmip_BackUpRelationshipObject_PDU,
4509 { "BackUpRelationshipObject", "cmip.BackUpRelationshipObject",
4510 FT_UINT32, BASE_DEC, VALS(cmip_BackUpRelationshipObject_vals), 0,
4511 NULL, HFILL }},
4512 { &hf_cmip_CapacityAlarmThreshold_PDU,
4513 { "CapacityAlarmThreshold", "cmip.CapacityAlarmThreshold",
4514 FT_UINT32, BASE_DEC, NULL, 0,
4515 NULL, HFILL }},
4516 { &hf_cmip_ConfirmedMode_PDU,
4517 { "ConfirmedMode", "cmip.ConfirmedMode",
4518 FT_BOOLEAN, BASE_NONE, NULL, 0,
4519 NULL, HFILL }},
4520 { &hf_cmip_ControlStatus_PDU,
4521 { "ControlStatus", "cmip.ControlStatus",
4522 FT_UINT32, BASE_DEC, NULL, 0,
4523 NULL, HFILL }},
4524 { &hf_cmip_CorrelatedNotifications_PDU,
4525 { "CorrelatedNotifications", "cmip.CorrelatedNotifications",
4526 FT_UINT32, BASE_DEC, NULL, 0,
4527 NULL, HFILL }},
4528 { &hf_cmip_CurrentLogSize_PDU,
4529 { "CurrentLogSize", "cmip.CurrentLogSize",
4530 FT_INT32, BASE_DEC, NULL, 0,
4531 NULL, HFILL }},
4532 { &hf_cmip_Destination_PDU,
4533 { "Destination", "cmip.Destination",
4534 FT_UINT32, BASE_DEC, VALS(cmip_Destination_vals), 0,
4535 NULL, HFILL }},
4536 { &hf_cmip_DiscriminatorConstruct_PDU,
4537 { "DiscriminatorConstruct", "cmip.DiscriminatorConstruct",
4538 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
4539 NULL, HFILL }},
4540 { &hf_cmip_EventTime_PDU,
4541 { "EventTime", "cmip.EventTime",
4542 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
4543 NULL, HFILL }},
4544 { &hf_cmip_GroupObjects_PDU,
4545 { "GroupObjects", "cmip.GroupObjects",
4546 FT_UINT32, BASE_DEC, NULL, 0,
4547 NULL, HFILL }},
4548 { &hf_cmip_IntervalsOfDay_PDU,
4549 { "IntervalsOfDay", "cmip.IntervalsOfDay",
4550 FT_UINT32, BASE_DEC, NULL, 0,
4551 NULL, HFILL }},
4552 { &hf_cmip_LifecycleState_PDU,
4553 { "LifecycleState", "cmip.LifecycleState",
4554 FT_UINT32, BASE_DEC, VALS(cmip_LifecycleState_vals), 0,
4555 NULL, HFILL }},
4556 { &hf_cmip_LogFullAction_PDU,
4557 { "LogFullAction", "cmip.LogFullAction",
4558 FT_UINT32, BASE_DEC, VALS(cmip_LogFullAction_vals), 0,
4559 NULL, HFILL }},
4560 { &hf_cmip_LoggingTime_PDU,
4561 { "LoggingTime", "cmip.LoggingTime",
4562 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
4563 NULL, HFILL }},
4564 { &hf_cmip_LogRecordId_PDU,
4565 { "LogRecordId", "cmip.LogRecordId",
4566 FT_UINT32, BASE_DEC, VALS(cmip_SimpleNameType_vals), 0,
4567 NULL, HFILL }},
4568 { &hf_cmip_MaxLogSize_PDU,
4569 { "MaxLogSize", "cmip.MaxLogSize",
4570 FT_INT32, BASE_DEC, VALS(cmip_MaxLogSize_vals), 0,
4571 NULL, HFILL }},
4572 { &hf_cmip_MonitoredAttributes_PDU,
4573 { "MonitoredAttributes", "cmip.MonitoredAttributes",
4574 FT_UINT32, BASE_DEC, NULL, 0,
4575 NULL, HFILL }},
4576 { &hf_cmip_NameBinding_PDU,
4577 { "NameBinding", "cmip.NameBinding",
4578 FT_OID, BASE_NONE, NULL, 0,
4579 NULL, HFILL }},
4580 { &hf_cmip_NotificationIdentifier_PDU,
4581 { "NotificationIdentifier", "cmip.NotificationIdentifier",
4582 FT_INT32, BASE_DEC, NULL, 0,
4583 NULL, HFILL }},
4584 { &hf_cmip_NumberOfRecords_PDU,
4585 { "NumberOfRecords", "cmip.NumberOfRecords",
4586 FT_INT32, BASE_DEC, NULL, 0,
4587 NULL, HFILL }},
4588 { &hf_cmip_OperationalState_PDU,
4589 { "OperationalState", "cmip.OperationalState",
4590 FT_UINT32, BASE_DEC, VALS(cmip_OperationalState_vals), 0,
4591 NULL, HFILL }},
4592 { &hf_cmip_Packages_PDU,
4593 { "Packages", "cmip.Packages",
4594 FT_UINT32, BASE_DEC, NULL, 0,
4595 NULL, HFILL }},
4596 { &hf_cmip_PerceivedSeverity_PDU,
4597 { "PerceivedSeverity", "cmip.PerceivedSeverity",
4598 FT_UINT32, BASE_DEC, VALS(cmip_PerceivedSeverity_vals), 0,
4599 NULL, HFILL }},
4600 { &hf_cmip_PrioritisedObject_PDU,
4601 { "PrioritisedObject", "cmip.PrioritisedObject",
4602 FT_UINT32, BASE_DEC, NULL, 0,
4603 NULL, HFILL }},
4604 { &hf_cmip_ProbableCause_PDU,
4605 { "ProbableCause", "cmip.ProbableCause",
4606 FT_UINT32, BASE_DEC, VALS(cmip_ProbableCause_vals), 0,
4607 NULL, HFILL }},
4608 { &hf_cmip_ProceduralStatus_PDU,
4609 { "ProceduralStatus", "cmip.ProceduralStatus",
4610 FT_UINT32, BASE_DEC, NULL, 0,
4611 NULL, HFILL }},
4612 { &hf_cmip_ProposedRepairActions_PDU,
4613 { "ProposedRepairActions", "cmip.ProposedRepairActions",
4614 FT_UINT32, BASE_DEC, NULL, 0,
4615 NULL, HFILL }},
4616 { &hf_cmip_SecurityAlarmCause_PDU,
4617 { "SecurityAlarmCause", "cmip.SecurityAlarmCause",
4618 FT_OID, BASE_NONE, NULL, 0,
4619 NULL, HFILL }},
4620 { &hf_cmip_SecurityAlarmSeverity_PDU,
4621 { "SecurityAlarmSeverity", "cmip.SecurityAlarmSeverity",
4622 FT_UINT32, BASE_DEC, VALS(cmip_PerceivedSeverity_vals), 0,
4623 NULL, HFILL }},
4624 { &hf_cmip_SecurityAlarmDetector_PDU,
4625 { "SecurityAlarmDetector", "cmip.SecurityAlarmDetector",
4626 FT_UINT32, BASE_DEC, VALS(cmip_SecurityAlarmDetector_vals), 0,
4627 NULL, HFILL }},
4628 { &hf_cmip_ServiceProvider_PDU,
4629 { "ServiceProvider", "cmip.ServiceProvider_element",
4630 FT_NONE, BASE_NONE, NULL, 0,
4631 NULL, HFILL }},
4632 { &hf_cmip_ServiceUser_PDU,
4633 { "ServiceUser", "cmip.ServiceUser_element",
4634 FT_NONE, BASE_NONE, NULL, 0,
4635 NULL, HFILL }},
4636 { &hf_cmip_SimpleNameType_PDU,
4637 { "SimpleNameType", "cmip.SimpleNameType",
4638 FT_UINT32, BASE_DEC, VALS(cmip_SimpleNameType_vals), 0,
4639 NULL, HFILL }},
4640 { &hf_cmip_SourceIndicator_PDU,
4641 { "SourceIndicator", "cmip.SourceIndicator",
4642 FT_UINT32, BASE_DEC, VALS(cmip_SourceIndicator_vals), 0,
4643 NULL, HFILL }},
4644 { &hf_cmip_SpecificProblems_PDU,
4645 { "SpecificProblems", "cmip.SpecificProblems",
4646 FT_UINT32, BASE_DEC, NULL, 0,
4647 NULL, HFILL }},
4648 { &hf_cmip_StandbyStatus_PDU,
4649 { "StandbyStatus", "cmip.StandbyStatus",
4650 FT_INT32, BASE_DEC, VALS(cmip_StandbyStatus_vals), 0,
4651 NULL, HFILL }},
4652 { &hf_cmip_StartTime_PDU,
4653 { "StartTime", "cmip.StartTime",
4654 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
4655 NULL, HFILL }},
4656 { &hf_cmip_StopTime_PDU,
4657 { "StopTime", "cmip.StopTime",
4658 FT_UINT32, BASE_DEC, VALS(cmip_StopTime_vals), 0,
4659 NULL, HFILL }},
4660 { &hf_cmip_SupportedFeatures_PDU,
4661 { "SupportedFeatures", "cmip.SupportedFeatures",
4662 FT_UINT32, BASE_DEC, NULL, 0,
4663 NULL, HFILL }},
4664 { &hf_cmip_SystemId_PDU,
4665 { "SystemId", "cmip.SystemId",
4666 FT_UINT32, BASE_DEC, VALS(cmip_SystemId_vals), 0,
4667 NULL, HFILL }},
4668 { &hf_cmip_SystemTitle_PDU,
4669 { "SystemTitle", "cmip.SystemTitle",
4670 FT_UINT32, BASE_DEC, VALS(cmip_SystemTitle_vals), 0,
4671 NULL, HFILL }},
4672 { &hf_cmip_ThresholdInfo_PDU,
4673 { "ThresholdInfo", "cmip.ThresholdInfo_element",
4674 FT_NONE, BASE_NONE, NULL, 0,
4675 NULL, HFILL }},
4676 { &hf_cmip_TrendIndication_PDU,
4677 { "TrendIndication", "cmip.TrendIndication",
4678 FT_UINT32, BASE_DEC, VALS(cmip_TrendIndication_vals), 0,
4679 NULL, HFILL }},
4680 { &hf_cmip_UnknownStatus_PDU,
4681 { "UnknownStatus", "cmip.UnknownStatus",
4682 FT_BOOLEAN, BASE_NONE, NULL, 0,
4683 NULL, HFILL }},
4684 { &hf_cmip_UsageState_PDU,
4685 { "UsageState", "cmip.UsageState",
4686 FT_UINT32, BASE_DEC, VALS(cmip_UsageState_vals), 0,
4687 NULL, HFILL }},
4688 { &hf_cmip_WeekMask_PDU,
4689 { "WeekMask", "cmip.WeekMask",
4690 FT_UINT32, BASE_DEC, NULL, 0,
4691 NULL, HFILL }},
4692 { &hf_cmip_PAR_missingAttributeValue_item,
4693 { "AttributeId", "cmip.AttributeId",
4694 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
4695 NULL, HFILL }},
4696 { &hf_cmip_managedObjectClass,
4697 { "managedObjectClass", "cmip.managedObjectClass",
4698 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
4699 "ObjectClass", HFILL }},
4700 { &hf_cmip_managedObjectInstance,
4701 { "managedObjectInstance", "cmip.managedObjectInstance",
4702 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
4703 "ObjectInstance", HFILL }},
4704 { &hf_cmip_currentTime,
4705 { "currentTime", "cmip.currentTime",
4706 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
4707 "GeneralizedTime", HFILL }},
4708 { &hf_cmip_actionErroractionErrorInfo,
4709 { "actionErrorInfo", "cmip.actionErrorInfo_element",
4710 FT_NONE, BASE_NONE, NULL, 0,
4711 NULL, HFILL }},
4712 { &hf_cmip_actionErrorInfo_errorStatus,
4713 { "errorStatus", "cmip.errorStatus",
4714 FT_UINT32, BASE_DEC, VALS(cmip_T_actionErrorInfo_errorStatus_vals), 0,
4715 "T_actionErrorInfo_errorStatus", HFILL }},
4716 { &hf_cmip_actionErrorInfo,
4717 { "errorInfo", "cmip.errorInfo",
4718 FT_UINT32, BASE_DEC, VALS(cmip_T_actionErrorInfo_vals), 0,
4719 "T_actionErrorInfo", HFILL }},
4720 { &hf_cmip_actionType,
4721 { "actionType", "cmip.actionType",
4722 FT_UINT32, BASE_DEC, VALS(cmip_ActionTypeId_vals), 0,
4723 "ActionTypeId", HFILL }},
4724 { &hf_cmip_actionArgument,
4725 { "actionArgument", "cmip.actionArgument",
4726 FT_UINT32, BASE_DEC, VALS(cmip_NoSuchArgument_vals), 0,
4727 "NoSuchArgument", HFILL }},
4728 { &hf_cmip_argumentValue,
4729 { "argumentValue", "cmip.argumentValue",
4730 FT_UINT32, BASE_DEC, VALS(cmip_InvalidArgumentValue_vals), 0,
4731 "InvalidArgumentValue", HFILL }},
4732 { &hf_cmip_actionInfoArg,
4733 { "actionInfoArg", "cmip.actionInfoArg_element",
4734 FT_NONE, BASE_NONE, NULL, 0,
4735 NULL, HFILL }},
4736 { &hf_cmip_actionReplyInfo,
4737 { "actionReplyInfo", "cmip.actionReplyInfo_element",
4738 FT_NONE, BASE_NONE, NULL, 0,
4739 NULL, HFILL }},
4740 { &hf_cmip_actionReply,
4741 { "actionReply", "cmip.actionReply_element",
4742 FT_NONE, BASE_NONE, NULL, 0,
4743 NULL, HFILL }},
4744 { &hf_cmip_actionTypeId_globalForm,
4745 { "globalForm", "cmip.globalForm",
4746 FT_OID, BASE_NONE, NULL, 0,
4747 "T_actionTypeId_globalForm", HFILL }},
4748 { &hf_cmip_localForm,
4749 { "localForm", "cmip.localForm",
4750 FT_INT32, BASE_DEC, NULL, 0,
4751 "INTEGER", HFILL }},
4752 { &hf_cmip_attributeid,
4753 { "id", "cmip.attributeid",
4754 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
4755 "AttributeId", HFILL }},
4756 { &hf_cmip_value,
4757 { "value", "cmip.value_element",
4758 FT_NONE, BASE_NONE, NULL, 0,
4759 "AttributeValue", HFILL }},
4760 { &hf_cmip_attributeError_errorStatus,
4761 { "errorStatus", "cmip.errorStatus",
4762 FT_UINT32, BASE_DEC, VALS(cmip_T_attributeError_errorStatus_vals), 0,
4763 "T_attributeError_errorStatus", HFILL }},
4764 { &hf_cmip_modifyOperator,
4765 { "modifyOperator", "cmip.modifyOperator",
4766 FT_INT32, BASE_DEC, VALS(cmip_ModifyOperator_vals), 0,
4767 NULL, HFILL }},
4768 { &hf_cmip_attributeId,
4769 { "attributeId", "cmip.attributeId",
4770 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
4771 NULL, HFILL }},
4772 { &hf_cmip_attributeValue,
4773 { "attributeValue", "cmip.attributeValue_element",
4774 FT_NONE, BASE_NONE, NULL, 0,
4775 NULL, HFILL }},
4776 { &hf_cmip_attributeId_globalForm,
4777 { "globalForm", "cmip.globalForm",
4778 FT_OID, BASE_NONE, NULL, 0,
4779 "T_attributeId_globalForm", HFILL }},
4780 { &hf_cmip_attributeIdlocalForm,
4781 { "localForm", "cmip.localForm",
4782 FT_INT32, BASE_DEC, NULL, 0,
4783 "T_attributeIdlocalForm", HFILL }},
4784 { &hf_cmip_attributeIdError_errorStatus,
4785 { "errorStatus", "cmip.errorStatus",
4786 FT_UINT32, BASE_DEC, VALS(cmip_T_attributeIdError_errorStatus_vals), 0,
4787 "T_attributeIdError_errorStatus", HFILL }},
4788 { &hf_cmip_id,
4789 { "id", "cmip.id",
4790 FT_OID, BASE_NONE, NULL, 0,
4791 NULL, HFILL }},
4792 { &hf_cmip_attributeValueAssertionvalue,
4793 { "value", "cmip.value_element",
4794 FT_NONE, BASE_NONE, NULL, 0,
4795 "T_attributeValueAssertionvalue", HFILL }},
4796 { &hf_cmip_baseManagedObjectClass,
4797 { "baseManagedObjectClass", "cmip.baseManagedObjectClass",
4798 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
4799 "ObjectClass", HFILL }},
4800 { &hf_cmip_baseManagedObjectInstance,
4801 { "baseManagedObjectInstance", "cmip.baseManagedObjectInstance",
4802 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
4803 "ObjectInstance", HFILL }},
4804 { &hf_cmip_item,
4805 { "item", "cmip.item",
4806 FT_UINT32, BASE_DEC, VALS(cmip_FilterItem_vals), 0,
4807 "FilterItem", HFILL }},
4808 { &hf_cmip_and,
4809 { "and", "cmip.and",
4810 FT_UINT32, BASE_DEC, NULL, 0,
4811 "SET_OF_CMISFilter", HFILL }},
4812 { &hf_cmip_and_item,
4813 { "CMISFilter", "cmip.CMISFilter",
4814 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
4815 NULL, HFILL }},
4816 { &hf_cmip_or,
4817 { "or", "cmip.or",
4818 FT_UINT32, BASE_DEC, NULL, 0,
4819 "SET_OF_CMISFilter", HFILL }},
4820 { &hf_cmip_or_item,
4821 { "CMISFilter", "cmip.CMISFilter",
4822 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
4823 NULL, HFILL }},
4824 { &hf_cmip_not,
4825 { "not", "cmip.not",
4826 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
4827 "CMISFilter", HFILL }},
4828 { &hf_cmip_scope,
4829 { "scope", "cmip.scope",
4830 FT_UINT32, BASE_DEC, VALS(cmip_Scope_vals), 0,
4831 NULL, HFILL }},
4832 { &hf_cmip_filter,
4833 { "filter", "cmip.filter",
4834 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
4835 "CMISFilter", HFILL }},
4836 { &hf_cmip_sync,
4837 { "sync", "cmip.sync",
4838 FT_UINT32, BASE_DEC, VALS(cmip_CMISSync_vals), 0,
4839 "CMISSync", HFILL }},
4840 { &hf_cmip_managedOrSuperiorObjectInstance,
4841 { "managedOrSuperiorObjectInstance", "cmip.managedOrSuperiorObjectInstance",
4842 FT_UINT32, BASE_DEC, VALS(cmip_T_managedOrSuperiorObjectInstance_vals), 0,
4843 NULL, HFILL }},
4844 { &hf_cmip_superiorObjectInstance,
4845 { "superiorObjectInstance", "cmip.superiorObjectInstance",
4846 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
4847 "ObjectInstance", HFILL }},
4848 { &hf_cmip_accessControl,
4849 { "accessControl", "cmip.accessControl_element",
4850 FT_NONE, BASE_NONE, NULL, 0,
4851 NULL, HFILL }},
4852 { &hf_cmip_referenceObjectInstance,
4853 { "referenceObjectInstance", "cmip.referenceObjectInstance",
4854 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
4855 "ObjectInstance", HFILL }},
4856 { &hf_cmip_attributeList,
4857 { "attributeList", "cmip.attributeList",
4858 FT_UINT32, BASE_DEC, NULL, 0,
4859 "SET_OF_Attribute", HFILL }},
4860 { &hf_cmip_attributeList_item,
4861 { "Attribute", "cmip.Attribute_element",
4862 FT_NONE, BASE_NONE, NULL, 0,
4863 NULL, HFILL }},
4864 { &hf_cmip_deleteErrorInfo,
4865 { "deleteErrorInfo", "cmip.deleteErrorInfo",
4866 FT_UINT32, BASE_DEC, VALS(cmip_T_deleteErrorInfo_vals), 0,
4867 NULL, HFILL }},
4868 { &hf_cmip_eventType,
4869 { "eventType", "cmip.eventType",
4870 FT_UINT32, BASE_DEC, VALS(cmip_EventTypeId_vals), 0,
4871 "EventTypeId", HFILL }},
4872 { &hf_cmip_eventReplyInfo,
4873 { "eventReplyInfo", "cmip.eventReplyInfo_element",
4874 FT_NONE, BASE_NONE, NULL, 0,
4875 NULL, HFILL }},
4876 { &hf_cmip_eventTime,
4877 { "eventTime", "cmip.eventTime",
4878 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
4879 "GeneralizedTime", HFILL }},
4880 { &hf_cmip_eventReportArgumenteventInfo,
4881 { "eventInfo", "cmip.eventInfo_element",
4882 FT_NONE, BASE_NONE, NULL, 0,
4883 "EventReportArgumentEventInfo", HFILL }},
4884 { &hf_cmip_eventReply,
4885 { "eventReply", "cmip.eventReply_element",
4886 FT_NONE, BASE_NONE, NULL, 0,
4887 NULL, HFILL }},
4888 { &hf_cmip_eventTypeId_globalForm,
4889 { "globalForm", "cmip.globalForm",
4890 FT_OID, BASE_NONE, NULL, 0,
4891 "T_eventTypeId_globalForm", HFILL }},
4892 { &hf_cmip_equality,
4893 { "equality", "cmip.equality_element",
4894 FT_NONE, BASE_NONE, NULL, 0,
4895 "Attribute", HFILL }},
4896 { &hf_cmip_substrings,
4897 { "substrings", "cmip.substrings",
4898 FT_UINT32, BASE_DEC, NULL, 0,
4899 NULL, HFILL }},
4900 { &hf_cmip_substrings_item,
4901 { "substrings item", "cmip.substrings_item",
4902 FT_UINT32, BASE_DEC, VALS(cmip_T_substrings_item_vals), 0,
4903 NULL, HFILL }},
4904 { &hf_cmip_initialString,
4905 { "initialString", "cmip.initialString_element",
4906 FT_NONE, BASE_NONE, NULL, 0,
4907 "Attribute", HFILL }},
4908 { &hf_cmip_anyString,
4909 { "anyString", "cmip.anyString_element",
4910 FT_NONE, BASE_NONE, NULL, 0,
4911 "Attribute", HFILL }},
4912 { &hf_cmip_finalString,
4913 { "finalString", "cmip.finalString_element",
4914 FT_NONE, BASE_NONE, NULL, 0,
4915 "Attribute", HFILL }},
4916 { &hf_cmip_greaterOrEqual,
4917 { "greaterOrEqual", "cmip.greaterOrEqual_element",
4918 FT_NONE, BASE_NONE, NULL, 0,
4919 "Attribute", HFILL }},
4920 { &hf_cmip_lessOrEqual,
4921 { "lessOrEqual", "cmip.lessOrEqual_element",
4922 FT_NONE, BASE_NONE, NULL, 0,
4923 "Attribute", HFILL }},
4924 { &hf_cmip_filterItempresent,
4925 { "present", "cmip.filterItempresent",
4926 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
4927 "AttributeId", HFILL }},
4928 { &hf_cmip_subsetOf,
4929 { "subsetOf", "cmip.subsetOf_element",
4930 FT_NONE, BASE_NONE, NULL, 0,
4931 "Attribute", HFILL }},
4932 { &hf_cmip_supersetOf,
4933 { "supersetOf", "cmip.supersetOf_element",
4934 FT_NONE, BASE_NONE, NULL, 0,
4935 "Attribute", HFILL }},
4936 { &hf_cmip_nonNullSetIntersection,
4937 { "nonNullSetIntersection", "cmip.nonNullSetIntersection_element",
4938 FT_NONE, BASE_NONE, NULL, 0,
4939 "Attribute", HFILL }},
4940 { &hf_cmip_attributeIdError,
4941 { "attributeIdError", "cmip.attributeIdError_element",
4942 FT_NONE, BASE_NONE, NULL, 0,
4943 NULL, HFILL }},
4944 { &hf_cmip_attribute,
4945 { "attribute", "cmip.attribute_element",
4946 FT_NONE, BASE_NONE, NULL, 0,
4947 NULL, HFILL }},
4948 { &hf_cmip_getInfoList,
4949 { "getInfoList", "cmip.getInfoList",
4950 FT_UINT32, BASE_DEC, NULL, 0,
4951 "SET_OF_GetInfoStatus", HFILL }},
4952 { &hf_cmip_getInfoList_item,
4953 { "GetInfoStatus", "cmip.GetInfoStatus",
4954 FT_UINT32, BASE_DEC, VALS(cmip_GetInfoStatus_vals), 0,
4955 NULL, HFILL }},
4956 { &hf_cmip_actionValue,
4957 { "actionValue", "cmip.actionValue_element",
4958 FT_NONE, BASE_NONE, NULL, 0,
4959 "ActionInfo", HFILL }},
4960 { &hf_cmip_eventValue,
4961 { "eventValue", "cmip.eventValue_element",
4962 FT_NONE, BASE_NONE, NULL, 0,
4963 NULL, HFILL }},
4964 { &hf_cmip_eventInfo,
4965 { "eventInfo", "cmip.eventInfo_element",
4966 FT_NONE, BASE_NONE, NULL, 0,
4967 NULL, HFILL }},
4968 { &hf_cmip_getResult,
4969 { "getResult", "cmip.getResult_element",
4970 FT_NONE, BASE_NONE, NULL, 0,
4971 NULL, HFILL }},
4972 { &hf_cmip_getListError,
4973 { "getListError", "cmip.getListError_element",
4974 FT_NONE, BASE_NONE, NULL, 0,
4975 NULL, HFILL }},
4976 { &hf_cmip_setResult,
4977 { "setResult", "cmip.setResult_element",
4978 FT_NONE, BASE_NONE, NULL, 0,
4979 NULL, HFILL }},
4980 { &hf_cmip_setListError,
4981 { "setListError", "cmip.setListError_element",
4982 FT_NONE, BASE_NONE, NULL, 0,
4983 NULL, HFILL }},
4984 { &hf_cmip_actionResult,
4985 { "actionResult", "cmip.actionResult_element",
4986 FT_NONE, BASE_NONE, NULL, 0,
4987 NULL, HFILL }},
4988 { &hf_cmip_processingFailure,
4989 { "processingFailure", "cmip.processingFailure_element",
4990 FT_NONE, BASE_NONE, NULL, 0,
4991 NULL, HFILL }},
4992 { &hf_cmip_deleteResult,
4993 { "deleteResult", "cmip.deleteResult_element",
4994 FT_NONE, BASE_NONE, NULL, 0,
4995 NULL, HFILL }},
4996 { &hf_cmip_actionError,
4997 { "actionError", "cmip.actionError_element",
4998 FT_NONE, BASE_NONE, NULL, 0,
4999 NULL, HFILL }},
5000 { &hf_cmip_deleteError,
5001 { "deleteError", "cmip.deleteError_element",
5002 FT_NONE, BASE_NONE, NULL, 0,
5003 NULL, HFILL }},
5004 { &hf_cmip_actionId,
5005 { "actionId", "cmip.actionId_element",
5006 FT_NONE, BASE_NONE, NULL, 0,
5007 NULL, HFILL }},
5008 { &hf_cmip_eventId,
5009 { "eventId", "cmip.eventId_element",
5010 FT_NONE, BASE_NONE, NULL, 0,
5011 NULL, HFILL }},
5012 { &hf_cmip_objectClass_globalForm,
5013 { "globalForm", "cmip.globalForm",
5014 FT_OID, BASE_NONE, NULL, 0,
5015 "T_objectClass_globalForm", HFILL }},
5016 { &hf_cmip_objectClasslocalForm,
5017 { "localForm", "cmip.localForm",
5018 FT_INT32, BASE_DEC, NULL, 0,
5019 "INTEGER", HFILL }},
5020 { &hf_cmip_distinguishedName,
5021 { "distinguishedName", "cmip.distinguishedName",
5022 FT_UINT32, BASE_DEC, NULL, 0,
5023 NULL, HFILL }},
5024 { &hf_cmip_nonSpecificForm,
5025 { "nonSpecificForm", "cmip.nonSpecificForm",
5026 FT_BYTES, BASE_NONE, NULL, 0,
5027 "OCTET_STRING", HFILL }},
5028 { &hf_cmip_localDistinguishedName,
5029 { "localDistinguishedName", "cmip.localDistinguishedName",
5030 FT_UINT32, BASE_DEC, NULL, 0,
5031 "RDNSequence", HFILL }},
5032 { &hf_cmip_specificErrorInfo,
5033 { "specificErrorInfo", "cmip.specificErrorInfo_element",
5034 FT_NONE, BASE_NONE, NULL, 0,
5035 NULL, HFILL }},
5036 { &hf_cmip_RDNSequence_item,
5037 { "RelativeDistinguishedName", "cmip.RelativeDistinguishedName",
5038 FT_UINT32, BASE_DEC, NULL, 0,
5039 NULL, HFILL }},
5040 { &hf_cmip_RelativeDistinguishedName_item,
5041 { "AttributeValueAssertion", "cmip.AttributeValueAssertion_element",
5042 FT_NONE, BASE_NONE, NULL, 0,
5043 NULL, HFILL }},
5044 { &hf_cmip_namedNumbers,
5045 { "namedNumbers", "cmip.namedNumbers",
5046 FT_INT32, BASE_DEC, VALS(cmip_T_namedNumbers_vals), 0,
5047 NULL, HFILL }},
5048 { &hf_cmip_individualLevels,
5049 { "individualLevels", "cmip.individualLevels",
5050 FT_INT32, BASE_DEC, NULL, 0,
5051 "INTEGER", HFILL }},
5052 { &hf_cmip_baseToNthLevel,
5053 { "baseToNthLevel", "cmip.baseToNthLevel",
5054 FT_INT32, BASE_DEC, NULL, 0,
5055 "INTEGER", HFILL }},
5056 { &hf_cmip_attributeError,
5057 { "attributeError", "cmip.attributeError_element",
5058 FT_NONE, BASE_NONE, NULL, 0,
5059 NULL, HFILL }},
5060 { &hf_cmip_setInfoList,
5061 { "setInfoList", "cmip.setInfoList",
5062 FT_UINT32, BASE_DEC, NULL, 0,
5063 "SET_OF_SetInfoStatus", HFILL }},
5064 { &hf_cmip_setInfoList_item,
5065 { "SetInfoStatus", "cmip.SetInfoStatus",
5066 FT_UINT32, BASE_DEC, VALS(cmip_SetInfoStatus_vals), 0,
5067 NULL, HFILL }},
5068 { &hf_cmip_errorId,
5069 { "errorId", "cmip.errorId",
5070 FT_OID, BASE_NONE, NULL, 0,
5071 NULL, HFILL }},
5072 { &hf_cmip_errorInfo,
5073 { "errorInfo", "cmip.errorInfo_element",
5074 FT_NONE, BASE_NONE, NULL, 0,
5075 NULL, HFILL }},
5076 { &hf_cmip_abortSource,
5077 { "abortSource", "cmip.abortSource",
5078 FT_UINT32, BASE_DEC, VALS(cmip_CMIPAbortSource_vals), 0,
5079 "CMIPAbortSource", HFILL }},
5080 { &hf_cmip_userInfo,
5081 { "userInfo", "cmip.userInfo_element",
5082 FT_NONE, BASE_NONE, NULL, 0,
5083 "EXTERNAL", HFILL }},
5084 { &hf_cmip_protocolVersion,
5085 { "protocolVersion", "cmip.protocolVersion",
5086 FT_BYTES, BASE_NONE, NULL, 0,
5087 NULL, HFILL }},
5088 { &hf_cmip_functionalUnits,
5089 { "functionalUnits", "cmip.functionalUnits",
5090 FT_BYTES, BASE_NONE, NULL, 0,
5091 NULL, HFILL }},
5092 { &hf_cmip_cmipUserInfoaccessControl,
5093 { "accessControl", "cmip.accessControl_element",
5094 FT_NONE, BASE_NONE, NULL, 0,
5095 "EXTERNAL", HFILL }},
5096 { &hf_cmip_AdditionalInformation_item,
5097 { "ManagementExtension", "cmip.ManagementExtension_element",
5098 FT_NONE, BASE_NONE, NULL, 0,
5099 NULL, HFILL }},
5100 { &hf_cmip_Allomorphs_item,
5101 { "ObjectClass", "cmip.ObjectClass",
5102 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
5103 NULL, HFILL }},
5104 { &hf_cmip_AttributeIdentifierList_item,
5105 { "AttributeId", "cmip.AttributeId",
5106 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
5107 NULL, HFILL }},
5108 { &hf_cmip_AttributeList_item,
5109 { "Attribute", "cmip.Attribute_element",
5110 FT_NONE, BASE_NONE, NULL, 0,
5111 NULL, HFILL }},
5112 { &hf_cmip_AttributeValueChangeDefinition_item,
5113 { "AttributeValueChangeDefinition item", "cmip.AttributeValueChangeDefinition_item_element",
5114 FT_NONE, BASE_NONE, NULL, 0,
5115 NULL, HFILL }},
5116 { &hf_cmip_oldAttributeValue,
5117 { "oldAttributeValue", "cmip.oldAttributeValue_element",
5118 FT_NONE, BASE_NONE, NULL, 0,
5119 NULL, HFILL }},
5120 { &hf_cmip_newAttributeValue,
5121 { "newAttributeValue", "cmip.newAttributeValue_element",
5122 FT_NONE, BASE_NONE, NULL, 0,
5123 NULL, HFILL }},
5124 { &hf_cmip_AlarmStatus_item,
5125 { "AlarmStatus item", "cmip.AlarmStatus_item",
5126 FT_INT32, BASE_DEC, VALS(cmip_AlarmStatus_item_vals), 0,
5127 NULL, HFILL }},
5128 { &hf_cmip_AvailabilityStatus_item,
5129 { "AvailabilityStatus item", "cmip.AvailabilityStatus_item",
5130 FT_INT32, BASE_DEC, VALS(cmip_AvailabilityStatus_item_vals), 0,
5131 NULL, HFILL }},
5132 { &hf_cmip_BackUpDestinationList_item,
5133 { "AE-title", "cmip.AE_title",
5134 FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
5135 NULL, HFILL }},
5136 { &hf_cmip_objectName,
5137 { "objectName", "cmip.objectName",
5138 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
5139 "ObjectInstance", HFILL }},
5140 { &hf_cmip_noObject,
5141 { "noObject", "cmip.noObject_element",
5142 FT_NONE, BASE_NONE, NULL, 0,
5143 NULL, HFILL }},
5144 { &hf_cmip_CapacityAlarmThreshold_item,
5145 { "CapacityAlarmThreshold item", "cmip.CapacityAlarmThreshold_item",
5146 FT_UINT32, BASE_DEC, NULL, 0,
5147 "INTEGER_0_100", HFILL }},
5148 { &hf_cmip_ControlStatus_item,
5149 { "ControlStatus item", "cmip.ControlStatus_item",
5150 FT_INT32, BASE_DEC, VALS(cmip_ControlStatus_item_vals), 0,
5151 NULL, HFILL }},
5152 { &hf_cmip_CorrelatedNotifications_item,
5153 { "CorrelatedNotifications item", "cmip.CorrelatedNotifications_item_element",
5154 FT_NONE, BASE_NONE, NULL, 0,
5155 NULL, HFILL }},
5156 { &hf_cmip_correlatedNotifications,
5157 { "correlatedNotifications", "cmip.correlatedNotifications",
5158 FT_UINT32, BASE_DEC, NULL, 0,
5159 "SET_OF_NotificationIdentifier", HFILL }},
5160 { &hf_cmip_correlatedNotifications_item,
5161 { "NotificationIdentifier", "cmip.NotificationIdentifier",
5162 FT_INT32, BASE_DEC, NULL, 0,
5163 NULL, HFILL }},
5164 { &hf_cmip_sourceObjectInst,
5165 { "sourceObjectInst", "cmip.sourceObjectInst",
5166 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
5167 "ObjectInstance", HFILL }},
5168 { &hf_cmip_single,
5169 { "single", "cmip.single",
5170 FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
5171 "AE_title", HFILL }},
5172 { &hf_cmip_multiple,
5173 { "multiple", "cmip.multiple",
5174 FT_UINT32, BASE_DEC, NULL, 0,
5175 "SET_OF_AE_title", HFILL }},
5176 { &hf_cmip_multiple_item,
5177 { "AE-title", "cmip.AE_title",
5178 FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
5179 NULL, HFILL }},
5180 { &hf_cmip_GroupObjects_item,
5181 { "ObjectInstance", "cmip.ObjectInstance",
5182 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
5183 NULL, HFILL }},
5184 { &hf_cmip_IntervalsOfDay_item,
5185 { "IntervalsOfDay item", "cmip.IntervalsOfDay_item_element",
5186 FT_NONE, BASE_NONE, NULL, 0,
5187 NULL, HFILL }},
5188 { &hf_cmip_intervalStart,
5189 { "intervalStart", "cmip.intervalStart_element",
5190 FT_NONE, BASE_NONE, NULL, 0,
5191 "Time24", HFILL }},
5192 { &hf_cmip_intervalEnd,
5193 { "intervalEnd", "cmip.intervalEnd_element",
5194 FT_NONE, BASE_NONE, NULL, 0,
5195 "Time24", HFILL }},
5196 { &hf_cmip_managementExtensionidentifier,
5197 { "identifier", "cmip.identifier",
5198 FT_OID, BASE_NONE, NULL, 0,
5199 "T_managementExtensionidentifier", HFILL }},
5200 { &hf_cmip_significance,
5201 { "significance", "cmip.significance",
5202 FT_BOOLEAN, BASE_NONE, NULL, 0,
5203 "BOOLEAN", HFILL }},
5204 { &hf_cmip_information,
5205 { "information", "cmip.information_element",
5206 FT_NONE, BASE_NONE, NULL, 0,
5207 NULL, HFILL }},
5208 { &hf_cmip_MonitoredAttributes_item,
5209 { "Attribute", "cmip.Attribute_element",
5210 FT_NONE, BASE_NONE, NULL, 0,
5211 NULL, HFILL }},
5212 { &hf_cmip_integer,
5213 { "integer", "cmip.integer",
5214 FT_INT32, BASE_DEC, NULL, 0,
5215 NULL, HFILL }},
5216 { &hf_cmip_real,
5217 { "real", "cmip.real",
5218 FT_DOUBLE, BASE_NONE, NULL, 0,
5219 NULL, HFILL }},
5220 { &hf_cmip_Packages_item,
5221 { "Packages item", "cmip.Packages_item",
5222 FT_OID, BASE_NONE, NULL, 0,
5223 "OBJECT_IDENTIFIER", HFILL }},
5224 { &hf_cmip_PrioritisedObject_item,
5225 { "PrioritisedObject item", "cmip.PrioritisedObject_item_element",
5226 FT_NONE, BASE_NONE, NULL, 0,
5227 NULL, HFILL }},
5228 { &hf_cmip_object,
5229 { "object", "cmip.object",
5230 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
5231 "ObjectInstance", HFILL }},
5232 { &hf_cmip_priority,
5233 { "priority", "cmip.priority",
5234 FT_INT32, BASE_DEC, VALS(cmip_T_priority_vals), 0,
5235 NULL, HFILL }},
5236 { &hf_cmip_globalValue,
5237 { "globalValue", "cmip.globalValue",
5238 FT_OID, BASE_NONE, NULL, 0,
5239 "OBJECT_IDENTIFIER", HFILL }},
5240 { &hf_cmip_localValue,
5241 { "localValue", "cmip.localValue",
5242 FT_INT32, BASE_DEC, NULL, 0,
5243 "INTEGER", HFILL }},
5244 { &hf_cmip_ProceduralStatus_item,
5245 { "ProceduralStatus item", "cmip.ProceduralStatus_item",
5246 FT_INT32, BASE_DEC, VALS(cmip_ProceduralStatus_item_vals), 0,
5247 NULL, HFILL }},
5248 { &hf_cmip_ProposedRepairActions_item,
5249 { "SpecificIdentifier", "cmip.SpecificIdentifier",
5250 FT_UINT32, BASE_DEC, VALS(cmip_SpecificIdentifier_vals), 0,
5251 NULL, HFILL }},
5252 { &hf_cmip_mechanism,
5253 { "mechanism", "cmip.mechanism",
5254 FT_OID, BASE_NONE, NULL, 0,
5255 "OBJECT_IDENTIFIER", HFILL }},
5256 { &hf_cmip_application,
5257 { "application", "cmip.application",
5258 FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
5259 "AE_title", HFILL }},
5260 { &hf_cmip_serviceUseridentifier,
5261 { "identifier", "cmip.identifier",
5262 FT_OID, BASE_NONE, NULL, 0,
5263 "T_serviceUseridentifier", HFILL }},
5264 { &hf_cmip_details,
5265 { "details", "cmip.details_element",
5266 FT_NONE, BASE_NONE, NULL, 0,
5267 NULL, HFILL }},
5268 { &hf_cmip_number,
5269 { "number", "cmip.number",
5270 FT_INT32, BASE_DEC, NULL, 0,
5271 "INTEGER", HFILL }},
5272 { &hf_cmip_string,
5273 { "string", "cmip.string",
5274 FT_STRING, BASE_NONE, NULL, 0,
5275 "GraphicString", HFILL }},
5276 { &hf_cmip_oi,
5277 { "oi", "cmip.oi",
5278 FT_OID, BASE_NONE, NULL, 0,
5279 "OBJECT_IDENTIFIER", HFILL }},
5280 { &hf_cmip_int,
5281 { "int", "cmip.int",
5282 FT_INT32, BASE_DEC, NULL, 0,
5283 "INTEGER", HFILL }},
5284 { &hf_cmip_SpecificProblems_item,
5285 { "SpecificIdentifier", "cmip.SpecificIdentifier",
5286 FT_UINT32, BASE_DEC, VALS(cmip_SpecificIdentifier_vals), 0,
5287 NULL, HFILL }},
5288 { &hf_cmip_specific,
5289 { "specific", "cmip.specific",
5290 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
5291 "GeneralizedTime", HFILL }},
5292 { &hf_cmip_continual,
5293 { "continual", "cmip.continual_element",
5294 FT_NONE, BASE_NONE, NULL, 0,
5295 NULL, HFILL }},
5296 { &hf_cmip_SupportedFeatures_item,
5297 { "SupportedFeatures item", "cmip.SupportedFeatures_item_element",
5298 FT_NONE, BASE_NONE, NULL, 0,
5299 NULL, HFILL }},
5300 { &hf_cmip_featureIdentifier,
5301 { "featureIdentifier", "cmip.featureIdentifier",
5302 FT_OID, BASE_NONE, NULL, 0,
5303 NULL, HFILL }},
5304 { &hf_cmip_featureInfo,
5305 { "featureInfo", "cmip.featureInfo_element",
5306 FT_NONE, BASE_NONE, NULL, 0,
5307 NULL, HFILL }},
5308 { &hf_cmip_name,
5309 { "name", "cmip.name",
5310 FT_STRING, BASE_NONE, NULL, 0,
5311 "GraphicString", HFILL }},
5312 { &hf_cmip_nothing,
5313 { "nothing", "cmip.nothing_element",
5314 FT_NONE, BASE_NONE, NULL, 0,
5315 NULL, HFILL }},
5316 { &hf_cmip_oid,
5317 { "oid", "cmip.oid",
5318 FT_OID, BASE_NONE, NULL, 0,
5319 "OBJECT_IDENTIFIER", HFILL }},
5320 { &hf_cmip_hour,
5321 { "hour", "cmip.hour",
5322 FT_UINT32, BASE_DEC, NULL, 0,
5323 "INTEGER_0_23", HFILL }},
5324 { &hf_cmip_minute,
5325 { "minute", "cmip.minute",
5326 FT_UINT32, BASE_DEC, NULL, 0,
5327 "INTEGER_0_59", HFILL }},
5328 { &hf_cmip_triggeredThreshold,
5329 { "triggeredThreshold", "cmip.triggeredThreshold",
5330 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
5331 "AttributeId", HFILL }},
5332 { &hf_cmip_observedValue,
5333 { "observedValue", "cmip.observedValue",
5334 FT_UINT32, BASE_DEC, VALS(cmip_ObservedValue_vals), 0,
5335 NULL, HFILL }},
5336 { &hf_cmip_thresholdLevel,
5337 { "thresholdLevel", "cmip.thresholdLevel",
5338 FT_UINT32, BASE_DEC, VALS(cmip_ThresholdLevelInd_vals), 0,
5339 "ThresholdLevelInd", HFILL }},
5340 { &hf_cmip_armTime,
5341 { "armTime", "cmip.armTime",
5342 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
5343 "GeneralizedTime", HFILL }},
5344 { &hf_cmip_up,
5345 { "up", "cmip.up_element",
5346 FT_NONE, BASE_NONE, NULL, 0,
5347 NULL, HFILL }},
5348 { &hf_cmip_high,
5349 { "high", "cmip.high",
5350 FT_UINT32, BASE_DEC, VALS(cmip_ObservedValue_vals), 0,
5351 "ObservedValue", HFILL }},
5352 { &hf_cmip_low,
5353 { "low", "cmip.low",
5354 FT_UINT32, BASE_DEC, VALS(cmip_ObservedValue_vals), 0,
5355 "ObservedValue", HFILL }},
5356 { &hf_cmip_down,
5357 { "down", "cmip.down_element",
5358 FT_NONE, BASE_NONE, NULL, 0,
5359 NULL, HFILL }},
5360 { &hf_cmip_WeekMask_item,
5361 { "WeekMask item", "cmip.WeekMask_item_element",
5362 FT_NONE, BASE_NONE, NULL, 0,
5363 NULL, HFILL }},
5364 { &hf_cmip_daysOfWeek,
5365 { "daysOfWeek", "cmip.daysOfWeek",
5366 FT_BYTES, BASE_NONE, NULL, 0,
5367 NULL, HFILL }},
5368 { &hf_cmip_intervalsOfDay,
5369 { "intervalsOfDay", "cmip.intervalsOfDay",
5370 FT_UINT32, BASE_DEC, NULL, 0,
5371 NULL, HFILL }},
5372 { &hf_cmip_local,
5373 { "local", "cmip.local",
5374 FT_INT32, BASE_DEC, NULL, 0,
5375 NULL, HFILL }},
5376 { &hf_cmip_global,
5377 { "global", "cmip.global",
5378 FT_OID, BASE_NONE, NULL, 0,
5379 "OBJECT_IDENTIFIER", HFILL }},
5380 { &hf_cmip_invoke,
5381 { "invoke", "cmip.invoke_element",
5382 FT_NONE, BASE_NONE, NULL, 0,
5383 NULL, HFILL }},
5384 { &hf_cmip_returnResult,
5385 { "returnResult", "cmip.returnResult_element",
5386 FT_NONE, BASE_NONE, NULL, 0,
5387 NULL, HFILL }},
5388 { &hf_cmip_returnError,
5389 { "returnError", "cmip.returnError_element",
5390 FT_NONE, BASE_NONE, NULL, 0,
5391 NULL, HFILL }},
5392 { &hf_cmip_reject,
5393 { "reject", "cmip.reject_element",
5394 FT_NONE, BASE_NONE, NULL, 0,
5395 NULL, HFILL }},
5396 { &hf_cmip_invokeId,
5397 { "invokeId", "cmip.invokeId",
5398 FT_UINT32, BASE_DEC, VALS(cmip_InvokeId_vals), 0,
5399 NULL, HFILL }},
5400 { &hf_cmip_linkedId,
5401 { "linkedId", "cmip.linkedId",
5402 FT_UINT32, BASE_DEC, VALS(cmip_T_linkedId_vals), 0,
5403 NULL, HFILL }},
5404 { &hf_cmip_linkedIdPresent,
5405 { "present", "cmip.linkedIdPresent",
5406 FT_INT32, BASE_DEC, NULL, 0,
5407 "T_linkedIdPresent", HFILL }},
5408 { &hf_cmip_absent,
5409 { "absent", "cmip.absent_element",
5410 FT_NONE, BASE_NONE, NULL, 0,
5411 NULL, HFILL }},
5412 { &hf_cmip_opcode,
5413 { "opcode", "cmip.opcode",
5414 FT_UINT32, BASE_DEC, VALS(cmip_Code_vals), 0,
5415 "Code", HFILL }},
5416 { &hf_cmip_argument,
5417 { "argument", "cmip.argument_element",
5418 FT_NONE, BASE_NONE, NULL, 0,
5419 "InvokeArgument", HFILL }},
5420 { &hf_cmip_result,
5421 { "result", "cmip.result_element",
5422 FT_NONE, BASE_NONE, NULL, 0,
5423 NULL, HFILL }},
5424 { &hf_cmip_resultArgument,
5425 { "result", "cmip.result_element",
5426 FT_NONE, BASE_NONE, NULL, 0,
5427 "ResultArgument", HFILL }},
5428 { &hf_cmip_errcode,
5429 { "errcode", "cmip.errcode",
5430 FT_UINT32, BASE_DEC, VALS(cmip_Code_vals), 0,
5431 "Code", HFILL }},
5432 { &hf_cmip_parameter,
5433 { "parameter", "cmip.parameter_element",
5434 FT_NONE, BASE_NONE, NULL, 0,
5435 NULL, HFILL }},
5436 { &hf_cmip_problem,
5437 { "problem", "cmip.problem",
5438 FT_UINT32, BASE_DEC, VALS(cmip_T_problem_vals), 0,
5439 NULL, HFILL }},
5440 { &hf_cmip_general,
5441 { "general", "cmip.general",
5442 FT_INT32, BASE_DEC, VALS(cmip_GeneralProblem_vals), 0,
5443 "GeneralProblem", HFILL }},
5444 { &hf_cmip_invokeProblem,
5445 { "invoke", "cmip.invoke",
5446 FT_INT32, BASE_DEC, VALS(cmip_InvokeProblem_vals), 0,
5447 "InvokeProblem", HFILL }},
5448 { &hf_cmip_returnResultProblem,
5449 { "returnResult", "cmip.returnResult",
5450 FT_INT32, BASE_DEC, VALS(cmip_ReturnResultProblem_vals), 0,
5451 "ReturnResultProblem", HFILL }},
5452 { &hf_cmip_returnErrorProblem,
5453 { "returnError", "cmip.returnError",
5454 FT_INT32, BASE_DEC, VALS(cmip_ReturnErrorProblem_vals), 0,
5455 "ReturnErrorProblem", HFILL }},
5456 { &hf_cmip_present,
5457 { "present", "cmip.present",
5458 FT_INT32, BASE_DEC, NULL, 0,
5459 "INTEGER", HFILL }},
5460 { &hf_cmip_synchronization,
5461 { "synchronization", "cmip.synchronization",
5462 FT_UINT32, BASE_DEC, VALS(cmip_CMISSync_vals), 0,
5463 "CMISSync", HFILL }},
5464 { &hf_cmip_actionInfo,
5465 { "actionInfo", "cmip.actionInfo_element",
5466 FT_NONE, BASE_NONE, NULL, 0,
5467 NULL, HFILL }},
5468 { &hf_cmip_attributeIdList,
5469 { "attributeIdList", "cmip.attributeIdList",
5470 FT_UINT32, BASE_DEC, NULL, 0,
5471 "SET_OF_AttributeId", HFILL }},
5472 { &hf_cmip_attributeIdList_item,
5473 { "AttributeId", "cmip.AttributeId",
5474 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
5475 NULL, HFILL }},
5476 { &hf_cmip_modificationList,
5477 { "modificationList", "cmip.modificationList",
5478 FT_UINT32, BASE_DEC, NULL, 0,
5479 NULL, HFILL }},
5480 { &hf_cmip_modificationList_item,
5481 { "modificationList item", "cmip.modificationList_item_element",
5482 FT_NONE, BASE_NONE, NULL, 0,
5483 "T_modificationList_item", HFILL }},
5484 { &hf_cmip_attributevalue,
5485 { "attributeValue", "cmip.attributeValue_element",
5486 FT_NONE, BASE_NONE, NULL, 0,
5487 NULL, HFILL }},
5488 { &hf_cmip_InvokeId_present,
5489 { "InvokeId.present", "cmip.InvokeId_present",
5490 FT_INT32, BASE_DEC, NULL, 0,
5491 "InvokeId_present", HFILL }},
5492 { &hf_cmip_FunctionalUnits_multipleObjectSelection,
5493 { "multipleObjectSelection", "cmip.FunctionalUnits.multipleObjectSelection",
5494 FT_BOOLEAN, 8, NULL, 0x80,
5495 NULL, HFILL }},
5496 { &hf_cmip_FunctionalUnits_filter,
5497 { "filter", "cmip.FunctionalUnits.filter",
5498 FT_BOOLEAN, 8, NULL, 0x40,
5499 NULL, HFILL }},
5500 { &hf_cmip_FunctionalUnits_multipleReply,
5501 { "multipleReply", "cmip.FunctionalUnits.multipleReply",
5502 FT_BOOLEAN, 8, NULL, 0x20,
5503 NULL, HFILL }},
5504 { &hf_cmip_FunctionalUnits_extendedService,
5505 { "extendedService", "cmip.FunctionalUnits.extendedService",
5506 FT_BOOLEAN, 8, NULL, 0x10,
5507 NULL, HFILL }},
5508 { &hf_cmip_FunctionalUnits_cancelGet,
5509 { "cancelGet", "cmip.FunctionalUnits.cancelGet",
5510 FT_BOOLEAN, 8, NULL, 0x08,
5511 NULL, HFILL }},
5512 { &hf_cmip_ProtocolVersion_version1,
5513 { "version1", "cmip.ProtocolVersion.version1",
5514 FT_BOOLEAN, 8, NULL, 0x80,
5515 NULL, HFILL }},
5516 { &hf_cmip_ProtocolVersion_version2,
5517 { "version2", "cmip.ProtocolVersion.version2",
5518 FT_BOOLEAN, 8, NULL, 0x40,
5519 NULL, HFILL }},
5520 { &hf_cmip_T_daysOfWeek_sunday,
5521 { "sunday", "cmip.T.daysOfWeek.sunday",
5522 FT_BOOLEAN, 8, NULL, 0x80,
5523 NULL, HFILL }},
5524 { &hf_cmip_T_daysOfWeek_monday,
5525 { "monday", "cmip.T.daysOfWeek.monday",
5526 FT_BOOLEAN, 8, NULL, 0x40,
5527 NULL, HFILL }},
5528 { &hf_cmip_T_daysOfWeek_tuesday,
5529 { "tuesday", "cmip.T.daysOfWeek.tuesday",
5530 FT_BOOLEAN, 8, NULL, 0x20,
5531 NULL, HFILL }},
5532 { &hf_cmip_T_daysOfWeek_wednesday,
5533 { "wednesday", "cmip.T.daysOfWeek.wednesday",
5534 FT_BOOLEAN, 8, NULL, 0x10,
5535 NULL, HFILL }},
5536 { &hf_cmip_T_daysOfWeek_thursday,
5537 { "thursday", "cmip.T.daysOfWeek.thursday",
5538 FT_BOOLEAN, 8, NULL, 0x08,
5539 NULL, HFILL }},
5540 { &hf_cmip_T_daysOfWeek_friday,
5541 { "friday", "cmip.T.daysOfWeek.friday",
5542 FT_BOOLEAN, 8, NULL, 0x04,
5543 NULL, HFILL }},
5544 { &hf_cmip_T_daysOfWeek_saturday,
5545 { "saturday", "cmip.T.daysOfWeek.saturday",
5546 FT_BOOLEAN, 8, NULL, 0x02,
5547 NULL, HFILL }},
5550 /* List of subtrees */
5551 static int *ett[] = {
5552 &ett_cmip,
5553 &ett_cmip_PAR_missingAttributeValue,
5554 &ett_cmip_ActionArgument,
5555 &ett_cmip_ActionError,
5556 &ett_cmip_ActionErrorInfo,
5557 &ett_cmip_T_actionErrorInfo,
5558 &ett_cmip_ActionInfo,
5559 &ett_cmip_ActionReply,
5560 &ett_cmip_ActionResult,
5561 &ett_cmip_ActionTypeId,
5562 &ett_cmip_Attribute,
5563 &ett_cmip_AttributeError,
5564 &ett_cmip_AttributeId,
5565 &ett_cmip_AttributeIdError,
5566 &ett_cmip_AttributeValueAssertion,
5567 &ett_cmip_BaseManagedObjectId,
5568 &ett_cmip_CMISFilter,
5569 &ett_cmip_SET_OF_CMISFilter,
5570 &ett_cmip_ComplexityLimitation,
5571 &ett_cmip_CreateArgument,
5572 &ett_cmip_T_managedOrSuperiorObjectInstance,
5573 &ett_cmip_SET_OF_Attribute,
5574 &ett_cmip_CreateResult,
5575 &ett_cmip_DeleteArgument,
5576 &ett_cmip_DeleteError,
5577 &ett_cmip_DeleteResult,
5578 &ett_cmip_EventReply,
5579 &ett_cmip_EventReportArgument,
5580 &ett_cmip_EventReportResult,
5581 &ett_cmip_EventTypeId,
5582 &ett_cmip_FilterItem,
5583 &ett_cmip_T_substrings,
5584 &ett_cmip_T_substrings_item,
5585 &ett_cmip_GetArgument,
5586 &ett_cmip_GetInfoStatus,
5587 &ett_cmip_GetListError,
5588 &ett_cmip_SET_OF_GetInfoStatus,
5589 &ett_cmip_GetResult,
5590 &ett_cmip_InvalidArgumentValue,
5591 &ett_cmip_T_eventValue,
5592 &ett_cmip_LinkedReplyArgument,
5593 &ett_cmip_NoSuchAction,
5594 &ett_cmip_NoSuchArgument,
5595 &ett_cmip_T_actionId,
5596 &ett_cmip_T_eventId,
5597 &ett_cmip_NoSuchEventType,
5598 &ett_cmip_ObjectClass,
5599 &ett_cmip_ObjectInstance,
5600 &ett_cmip_ProcessingFailure,
5601 &ett_cmip_RDNSequence,
5602 &ett_cmip_RelativeDistinguishedName,
5603 &ett_cmip_Scope,
5604 &ett_cmip_SetArgument,
5605 &ett_cmip_SetInfoStatus,
5606 &ett_cmip_SetListError,
5607 &ett_cmip_SET_OF_SetInfoStatus,
5608 &ett_cmip_SetResult,
5609 &ett_cmip_SpecificErrorInfo,
5610 &ett_cmip_CMIPAbortInfo,
5611 &ett_cmip_FunctionalUnits,
5612 &ett_cmip_CMIPUserInfo,
5613 &ett_cmip_ProtocolVersion,
5614 &ett_cmip_AdditionalInformation,
5615 &ett_cmip_Allomorphs,
5616 &ett_cmip_AttributeIdentifierList,
5617 &ett_cmip_AttributeList,
5618 &ett_cmip_AttributeValueChangeDefinition,
5619 &ett_cmip_AttributeValueChangeDefinition_item,
5620 &ett_cmip_AlarmStatus,
5621 &ett_cmip_AvailabilityStatus,
5622 &ett_cmip_BackUpDestinationList,
5623 &ett_cmip_BackUpRelationshipObject,
5624 &ett_cmip_CapacityAlarmThreshold,
5625 &ett_cmip_ControlStatus,
5626 &ett_cmip_CorrelatedNotifications,
5627 &ett_cmip_CorrelatedNotifications_item,
5628 &ett_cmip_SET_OF_NotificationIdentifier,
5629 &ett_cmip_Destination,
5630 &ett_cmip_SET_OF_AE_title,
5631 &ett_cmip_GroupObjects,
5632 &ett_cmip_IntervalsOfDay,
5633 &ett_cmip_IntervalsOfDay_item,
5634 &ett_cmip_ManagementExtension,
5635 &ett_cmip_MonitoredAttributes,
5636 &ett_cmip_ObservedValue,
5637 &ett_cmip_Packages,
5638 &ett_cmip_PrioritisedObject,
5639 &ett_cmip_PrioritisedObject_item,
5640 &ett_cmip_ProbableCause,
5641 &ett_cmip_ProceduralStatus,
5642 &ett_cmip_ProposedRepairActions,
5643 &ett_cmip_SecurityAlarmDetector,
5644 &ett_cmip_ServiceUser,
5645 &ett_cmip_SimpleNameType,
5646 &ett_cmip_SpecificIdentifier,
5647 &ett_cmip_SpecificProblems,
5648 &ett_cmip_StopTime,
5649 &ett_cmip_SupportedFeatures,
5650 &ett_cmip_SupportedFeatures_item,
5651 &ett_cmip_SystemId,
5652 &ett_cmip_SystemTitle,
5653 &ett_cmip_Time24,
5654 &ett_cmip_ThresholdInfo,
5655 &ett_cmip_ThresholdLevelInd,
5656 &ett_cmip_T_up,
5657 &ett_cmip_T_down,
5658 &ett_cmip_WeekMask,
5659 &ett_cmip_WeekMask_item,
5660 &ett_cmip_T_daysOfWeek,
5661 &ett_cmip_Code,
5662 &ett_cmip_ROS,
5663 &ett_cmip_Invoke,
5664 &ett_cmip_T_linkedId,
5665 &ett_cmip_ReturnResult,
5666 &ett_cmip_T_result,
5667 &ett_cmip_ReturnError,
5668 &ett_cmip_Reject,
5669 &ett_cmip_T_problem,
5670 &ett_cmip_InvokeId,
5671 &ett_cmip_SET_OF_AttributeId,
5672 &ett_cmip_T_modificationList,
5673 &ett_cmip_T_modificationList_item,
5676 static ei_register_info ei[] = {
5677 { &ei_wrong_spdu_type, { "cmip.wrong_spdu_type", PI_PROTOCOL, PI_ERROR, "Internal error: wrong spdu type", EXPFILL }},
5680 expert_module_t* expert_cmip;
5682 /* Register protocol */
5683 proto_cmip = proto_register_protocol(PNAME, PSNAME, PFNAME);
5684 cmip_handle = register_dissector("cmip", dissect_cmip, proto_cmip);
5686 /* Register fields and subtrees */
5687 proto_register_field_array(proto_cmip, hf, array_length(hf));
5688 proto_register_subtree_array(ett, array_length(ett));
5689 expert_cmip = expert_register_protocol(proto_cmip);
5690 expert_register_field_array(expert_cmip, ei, array_length(ei));
5692 register_ber_oid_dissector("2.9.2.21.7.13", dissect_BaseManagedObjectId_PDU, proto_cmip, "BaseManagedObjectId(13)");
5693 register_ber_oid_dissector("2.9.3.2.7.1", dissect_SimpleNameType_PDU, proto_cmip, "discriminatorId(1)");
5694 register_ber_oid_dissector("2.9.3.2.7.2", dissect_SimpleNameType_PDU, proto_cmip, "logId(2)");
5695 register_ber_oid_dissector("2.9.3.2.7.3", dissect_LogRecordId_PDU, proto_cmip, "logRecordId(3)");
5696 register_ber_oid_dissector("2.9.3.2.7.4", dissect_SystemId_PDU, proto_cmip, "systemId(4)");
5697 register_ber_oid_dissector("2.9.3.2.7.5", dissect_SystemTitle_PDU, proto_cmip, "systemTitle(5)");
5698 register_ber_oid_dissector("2.9.3.2.7.6", dissect_AdditionalInformation_PDU, proto_cmip, "additionalInformation(6)");
5699 register_ber_oid_dissector("2.9.3.2.7.7", dissect_AdditionalText_PDU, proto_cmip, "additionalText(7)");
5700 register_ber_oid_dissector("2.9.3.2.7.8", dissect_AttributeIdentifierList_PDU, proto_cmip, "attributeIdentifierList(8)");
5701 register_ber_oid_dissector("2.9.3.2.7.9", dissect_AttributeList_PDU, proto_cmip, "attributeList(9)");
5702 register_ber_oid_dissector("2.9.3.2.7.10", dissect_AttributeValueChangeDefinition_PDU, proto_cmip, "attributeValueChangeDefinition(10)");
5703 register_ber_oid_dissector("2.9.3.2.7.11", dissect_BackedUpStatus_PDU, proto_cmip, "backedUpStatus(11)");
5704 register_ber_oid_dissector("2.9.3.2.7.12", dissect_CorrelatedNotifications_PDU, proto_cmip, "correlatedNotifications(12)");
5705 register_ber_oid_dissector("2.9.3.2.7.13", dissect_EventTime_PDU, proto_cmip, "eventTime(13)");
5706 register_ber_oid_dissector("2.9.3.2.7.14", dissect_EventTypeId_PDU, proto_cmip, "eventType(14)");
5707 register_ber_oid_dissector("2.9.3.2.7.15", dissect_MonitoredAttributes_PDU, proto_cmip, "monitoredAttributes(15)");
5708 register_ber_oid_dissector("2.9.3.2.7.16", dissect_NotificationIdentifier_PDU, proto_cmip, "notificationIdentifier(16)");
5709 register_ber_oid_dissector("2.9.3.2.7.17", dissect_PerceivedSeverity_PDU, proto_cmip, "perceivedSeverity(17)");
5710 register_ber_oid_dissector("2.9.3.2.7.18", dissect_ProbableCause_PDU, proto_cmip, "probableCause(18)");
5711 register_ber_oid_dissector("2.9.3.2.7.19", dissect_ProposedRepairActions_PDU, proto_cmip, "proposedRepairActions(19)");
5712 register_ber_oid_dissector("2.9.3.2.7.20", dissect_AttributeValueChangeDefinition_PDU, proto_cmip, "relationshipChangeDefinition(20)");
5713 register_ber_oid_dissector("2.9.3.2.7.21", dissect_SecurityAlarmCause_PDU, proto_cmip, "securityAlarmCause(21)");
5714 register_ber_oid_dissector("2.9.3.2.7.22", dissect_SecurityAlarmDetector_PDU, proto_cmip, "securityAlarmDetector(22)");
5715 register_ber_oid_dissector("2.9.3.2.7.23", dissect_SecurityAlarmSeverity_PDU, proto_cmip, "securityAlarmSeverity(23)");
5716 register_ber_oid_dissector("2.9.3.2.7.24", dissect_ServiceProvider_PDU, proto_cmip, "serviceProvider(24)");
5717 register_ber_oid_dissector("2.9.3.2.7.25", dissect_ServiceUser_PDU, proto_cmip, "serviceUser(25)");
5718 register_ber_oid_dissector("2.9.3.2.7.26", dissect_SourceIndicator_PDU, proto_cmip, "sourceIndicator(26)");
5719 register_ber_oid_dissector("2.9.3.2.7.27", dissect_SpecificProblems_PDU, proto_cmip, "specificProblems(27)");
5720 register_ber_oid_dissector("2.9.3.2.7.28", dissect_AttributeValueChangeDefinition_PDU, proto_cmip, "stateChangeDefinition(28)");
5721 register_ber_oid_dissector("2.9.3.2.7.29", dissect_ThresholdInfo_PDU, proto_cmip, "thresholdInfo(29)");
5722 register_ber_oid_dissector("2.9.3.2.7.30", dissect_TrendIndication_PDU, proto_cmip, "trendIndication(30)");
5723 register_ber_oid_dissector("2.9.3.2.7.31", dissect_AdministrativeState_PDU, proto_cmip, "administrativeState(31)");
5724 register_ber_oid_dissector("2.9.3.2.7.32", dissect_AlarmStatus_PDU, proto_cmip, "alarmStatus(32)");
5725 register_ber_oid_dissector("2.9.3.2.7.33", dissect_AvailabilityStatus_PDU, proto_cmip, "availabilityStatus(33)");
5726 register_ber_oid_dissector("2.9.3.2.7.34", dissect_ControlStatus_PDU, proto_cmip, "controlStatus(34)");
5727 register_ber_oid_dissector("2.9.3.2.7.35", dissect_OperationalState_PDU, proto_cmip, "operationalState(35)");
5728 register_ber_oid_dissector("2.9.3.2.7.36", dissect_ProceduralStatus_PDU, proto_cmip, "proceduralStatus(36)");
5729 register_ber_oid_dissector("2.9.3.2.7.37", dissect_StandbyStatus_PDU, proto_cmip, "standbyStatus(37)");
5730 register_ber_oid_dissector("2.9.3.2.7.38", dissect_UnknownStatus_PDU, proto_cmip, "unknownStatus(38)");
5731 register_ber_oid_dissector("2.9.3.2.7.39", dissect_UsageState_PDU, proto_cmip, "usageState(39)");
5732 register_ber_oid_dissector("2.9.3.2.7.40", dissect_BackUpRelationshipObject_PDU, proto_cmip, "backUpObject(40)");
5733 register_ber_oid_dissector("2.9.3.2.7.41", dissect_BackUpRelationshipObject_PDU, proto_cmip, "backedUpObject(41)");
5734 register_ber_oid_dissector("2.9.3.2.7.42", dissect_GroupObjects_PDU, proto_cmip, "member(42)");
5735 register_ber_oid_dissector("2.9.3.2.7.43", dissect_GroupObjects_PDU, proto_cmip, "owner(43)");
5736 register_ber_oid_dissector("2.9.3.2.7.44", dissect_BackUpRelationshipObject_PDU, proto_cmip, "peer(44)");
5737 register_ber_oid_dissector("2.9.3.2.7.45", dissect_PrioritisedObject_PDU, proto_cmip, "primary(45)");
5738 register_ber_oid_dissector("2.9.3.2.7.46", dissect_PrioritisedObject_PDU, proto_cmip, "providerObject(46)");
5739 register_ber_oid_dissector("2.9.3.2.7.47", dissect_PrioritisedObject_PDU, proto_cmip, "secondary(47)");
5740 register_ber_oid_dissector("2.9.3.2.7.48", dissect_PrioritisedObject_PDU, proto_cmip, "userObject(48)");
5741 register_ber_oid_dissector("2.9.3.2.7.49", dissect_ActiveDestination_PDU, proto_cmip, "activeDestination(49)");
5742 register_ber_oid_dissector("2.9.3.2.7.50", dissect_Allomorphs_PDU, proto_cmip, "allomorphs(50)");
5743 register_ber_oid_dissector("2.9.3.2.7.51", dissect_BackUpDestinationList_PDU, proto_cmip, "backUpDestinationList(51)");
5744 register_ber_oid_dissector("2.9.3.2.7.52", dissect_CapacityAlarmThreshold_PDU, proto_cmip, "capacityAlarmThreshold(52)");
5745 register_ber_oid_dissector("2.9.3.2.7.53", dissect_ConfirmedMode_PDU, proto_cmip, "confirmedMode(53)");
5746 register_ber_oid_dissector("2.9.3.2.7.54", dissect_CurrentLogSize_PDU, proto_cmip, "currentLogSize(54)");
5747 register_ber_oid_dissector("2.9.3.2.7.55", dissect_Destination_PDU, proto_cmip, "destination(55)");
5748 register_ber_oid_dissector("2.9.3.2.7.56", dissect_DiscriminatorConstruct_PDU, proto_cmip, "discriminatorConstruct(56)");
5749 register_ber_oid_dissector("2.9.3.2.7.57", dissect_IntervalsOfDay_PDU, proto_cmip, "intervalsOfDay(57)");
5750 register_ber_oid_dissector("2.9.3.2.7.58", dissect_LogFullAction_PDU, proto_cmip, "logFullAction(58)");
5751 register_ber_oid_dissector("2.9.3.2.7.59", dissect_LoggingTime_PDU, proto_cmip, "loggingTime(59)");
5752 register_ber_oid_dissector("2.9.3.2.7.62", dissect_MaxLogSize_PDU, proto_cmip, "maxLogSize(62)");
5753 register_ber_oid_dissector("2.9.3.2.7.63", dissect_NameBinding_PDU, proto_cmip, "nameBinding(63)");
5754 register_ber_oid_dissector("2.9.3.2.7.64", dissect_NumberOfRecords_PDU, proto_cmip, "numberOfRecords(64)");
5755 register_ber_oid_dissector("2.9.3.2.7.65", dissect_ObjectClass_PDU, proto_cmip, "objectClass(65)");
5756 register_ber_oid_dissector("2.9.3.2.7.66", dissect_Packages_PDU, proto_cmip, "packages(66)");
5757 register_ber_oid_dissector("2.9.3.2.7.68", dissect_StartTime_PDU, proto_cmip, "startTime(68)");
5758 register_ber_oid_dissector("2.9.3.2.7.69", dissect_StopTime_PDU, proto_cmip, "stopTime(69)");
5759 register_ber_oid_dissector("2.9.3.2.7.70", dissect_SupportedFeatures_PDU, proto_cmip, "supportedFeatures(70)");
5760 register_ber_oid_dissector("2.9.3.2.7.71", dissect_WeekMask_PDU, proto_cmip, "weekMask(71)");
5761 register_ber_oid_dissector("2.9.3.2.7.115", dissect_LifecycleState_PDU, proto_cmip, "lifecycleState(115)");
5763 oid_add_from_string("discriminatorId(1)","2.9.3.2.7.1");
5765 attribute_id_dissector_table = register_dissector_table("cmip.attribute_id", "CMIP Attribute Id", proto_cmip, FT_UINT32, BASE_DEC);
5770 /*--- proto_reg_handoff_cmip -------------------------------------------*/
5771 void proto_reg_handoff_cmip(void) {
5772 register_ber_oid_dissector_handle("2.9.0.0.2", cmip_handle, proto_cmip, "cmip");
5773 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)");
5775 oid_add_from_string("2.9.3.2.3.1","managedObjectClass(3) alarmRecord(1)");
5776 oid_add_from_string("2.9.3.2.3.2","managedObjectClass(3) attributeValueChangeRecord(2)");
5777 oid_add_from_string("2.9.3.2.3.3","managedObjectClass(3) discriminator(3)");
5778 oid_add_from_string("2.9.3.2.3.4","managedObjectClass(3) eventForwardingDiscriminator(4)");
5779 oid_add_from_string("2.9.3.2.3.5","managedObjectClass(3) eventLogRecord(5)");
5780 oid_add_from_string("2.9.3.2.3.6","managedObjectClass(3) log(6)");
5781 oid_add_from_string("2.9.3.2.3.7","managedObjectClass(3) logRecord(7)");
5782 oid_add_from_string("2.9.3.2.3.8","managedObjectClass(3) objectCreationRecord(8)");
5783 oid_add_from_string("2.9.3.2.3.9","managedObjectClass(3) objectDeletionRecord(9)");
5784 oid_add_from_string("2.9.3.2.3.10","managedObjectClass(3) relationshipChangeRecord(10)");
5785 oid_add_from_string("2.9.3.2.3.11","managedObjectClass(3) securityAlarmReportRecord(11)");
5786 oid_add_from_string("2.9.3.2.3.12","managedObjectClass(3) stateChangeRecord(12)");
5787 oid_add_from_string("2.9.3.2.3.13","managedObjectClass(3) system(13)");
5788 oid_add_from_string("2.9.3.2.3.14","managedObjectClass(3) top(14)");
5789 oid_add_from_string("2.9.3.2.4.14","administrativeStatePackage(14)");
5790 oid_add_from_string("2.9.1.1.4","joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
5792 /*#include "packet-cmip-dis-tab.c" */