1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Ethereal dissector compiler */
4 /* ../../tools/asn2eth.py -X -b -e -p cmip -c cmip.cnf -s packet-cmip-template CMIP.asn */
6 /* Input file: packet-cmip-template.c */
9 * Routines for X.711 CMIP packet dissection
10 * Ronnie Sahlberg 2004
14 * Ethereal - Network traffic analyzer
15 * By Gerald Combs <gerald@ethereal.com>
16 * Copyright 1998 Gerald Combs
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version 2
21 * of the License, or (at your option) any later version.
23 * This program is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
28 * You should have received a copy of the GNU General Public License
29 * along with this program; if not, write to the Free Software
30 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
38 #include <epan/packet.h>
39 #include <epan/conversation.h>
44 #include "packet-ber.h"
45 #include "packet-acse.h"
46 #include "packet-x509if.h"
47 #include "packet-cmip.h"
49 #define PNAME "X711 CMIP"
53 /* XXX some stuff we need until we can get rid of it */
54 #include "packet-ses.h"
55 #include "packet-pres.h"
57 /* Initialize the protocol and registered fields */
59 static int hf_cmip_actionType_OID = -1;
60 static int hf_cmip_eventType_OID = -1;
61 static int hf_cmip_attributeId_OID = -1;
62 static int hf_cmip_errorId_OID = -1;
63 static int hf_DiscriminatorConstruct = -1;
64 static int hf_Destination = -1;
65 static int hf_NameBinding = -1;
66 static int hf_ObjectClass = -1;
67 static int hf_OperationalState = -1;
69 /*--- Included file: packet-cmip-hf.c ---*/
71 static int hf_cmip_modifyOperator = -1; /* ModifyOperator */
72 static int hf_cmip_attributeId = -1; /* T_attributeId */
73 static int hf_cmip_attributeValue = -1; /* T_attributeValue */
74 static int hf_cmip_managedObjectClass = -1; /* ObjectClass */
75 static int hf_cmip_managedObjectInstance = -1; /* ObjectInstance */
76 static int hf_cmip_currentTime = -1; /* GeneralizedTime */
77 static int hf_cmip_getInfoList = -1; /* SET_OF_GetInfoStatus */
78 static int hf_cmip_getInfoList_item = -1; /* GetInfoStatus */
79 static int hf_cmip_attributeIdError = -1; /* AttributeIdError */
80 static int hf_cmip_attribute = -1; /* Attribute */
81 static int hf_cmip_errorStatus = -1; /* T_errorStatus */
82 static int hf_cmip_attributeId1 = -1; /* AttributeId */
83 static int hf_cmip_setInfoList = -1; /* SET_OF_SetInfoStatus */
84 static int hf_cmip_setInfoList_item = -1; /* SetInfoStatus */
85 static int hf_cmip_actionErrorInfo = -1; /* ActionErrorInfo */
86 static int hf_cmip_specificErrorInfo = -1; /* SpecificErrorInfo */
87 static int hf_cmip_RDNSequence_item = -1; /* RelativeDistinguishedName */
88 static int hf_cmip_RelativeDistinguishedName_item = -1; /* AttributeValueAssertion */
89 static int hf_cmip_deleteErrorInfo = -1; /* T_deleteErrorInfo */
90 static int hf_cmip_attributeError = -1; /* AttributeError */
91 static int hf_cmip_errorId = -1; /* T_errorId */
92 static int hf_cmip_errorInfo = -1; /* T_errorInfo */
93 static int hf_cmip_actionType = -1; /* T_actionType */
94 static int hf_cmip_eventType = -1; /* T_eventType */
95 static int hf_cmip_actionId = -1; /* NoSuchArgumentAction */
96 static int hf_cmip_eventId = -1; /* NoSuchArgumentEvent */
97 static int hf_cmip_eventType1 = -1; /* T_eventType1 */
98 static int hf_cmip_eventInfo = -1; /* T_eventInfo */
99 static int hf_cmip_actionValue = -1; /* ActionInfo */
100 static int hf_cmip_eventValue = -1; /* InvalidArgumentValueEventValue */
101 static int hf_cmip_actionType1 = -1; /* T_actionType1 */
102 static int hf_cmip_actionArgument = -1; /* NoSuchArgument */
103 static int hf_cmip_argumentValue = -1; /* InvalidArgumentValue */
104 static int hf_cmip_errorStatus1 = -1; /* T_errorStatus1 */
105 static int hf_cmip_errorInfo1 = -1; /* ErrorInfo */
106 static int hf_cmip_errorStatus2 = -1; /* T_errorStatus2 */
107 static int hf_cmip_attributeId2 = -1; /* T_attributeId1 */
108 static int hf_cmip_attributeValue1 = -1; /* T_attributeValue1 */
109 static int hf_cmip_attributeList = -1; /* SET_OF_Attribute */
110 static int hf_cmip_attributeList_item = -1; /* Attribute */
111 static int hf_cmip_baseManagedObjectClass = -1; /* ObjectClass */
112 static int hf_cmip_baseManagedObjectInstance = -1; /* ObjectInstance */
113 static int hf_cmip_accessControl = -1; /* AccessControl */
114 static int hf_cmip_synchronization = -1; /* CMISSync */
115 static int hf_cmip_scope = -1; /* Scope */
116 static int hf_cmip_filter = -1; /* CMISFilter */
117 static int hf_cmip_modificationList = -1; /* SET_OF_ModificationItem */
118 static int hf_cmip_modificationList_item = -1; /* ModificationItem */
119 static int hf_cmip_getResult = -1; /* GetResult */
120 static int hf_cmip_getListError = -1; /* GetListError */
121 static int hf_cmip_setResult = -1; /* SetResult */
122 static int hf_cmip_setListError = -1; /* SetListError */
123 static int hf_cmip_actionResult = -1; /* ActionResult */
124 static int hf_cmip_processingFailure = -1; /* ProcessingFailure */
125 static int hf_cmip_deleteResult = -1; /* DeleteResult */
126 static int hf_cmip_actionError = -1; /* ActionError */
127 static int hf_cmip_deleteError = -1; /* DeleteError */
128 static int hf_cmip_eventType2 = -1; /* T_eventType2 */
129 static int hf_cmip_eventReplyInfo = -1; /* T_eventReplyInfo */
130 static int hf_cmip_eventReply = -1; /* EventReply */
131 static int hf_cmip_eventTime = -1; /* GeneralizedTime */
132 static int hf_cmip_eventType3 = -1; /* T_eventType3 */
133 static int hf_cmip_eventInfo1 = -1; /* T_eventInfo1 */
134 static int hf_cmip_managedOrSuperiorObjectInstance = -1; /* T_managedOrSuperiorObjectInstance */
135 static int hf_cmip_superiorObjectInstance = -1; /* ObjectInstance */
136 static int hf_cmip_referenceObjectInstance = -1; /* ObjectInstance */
137 static int hf_cmip_actionType2 = -1; /* T_actionType2 */
138 static int hf_cmip_actionReplyInfo = -1; /* T_actionReplyInfo */
139 static int hf_cmip_actionReply = -1; /* ActionReply */
140 static int hf_cmip_actionInfo = -1; /* ActionInfo */
141 static int hf_cmip_actionType3 = -1; /* T_actionType3 */
142 static int hf_cmip_actionInfoArg = -1; /* T_actionInfoArg */
143 static int hf_cmip_ocglobalForm = -1; /* T_ocglobalForm */
144 static int hf_cmip_oclocalForm = -1; /* T_oclocalForm */
145 static int hf_cmip_distinguishedName = -1; /* DistinguishedName */
146 static int hf_cmip_nonSpecificForm = -1; /* OCTET_STRING */
147 static int hf_cmip_localDistinguishedName = -1; /* RDNSequence */
148 static int hf_cmip_globalForm = -1; /* T_globalForm */
149 static int hf_cmip_localForm = -1; /* T_localForm */
150 static int hf_cmip_id = -1; /* AttributeId */
151 static int hf_cmip_value = -1; /* T_value */
152 static int hf_cmip_id1 = -1; /* T_id */
153 static int hf_cmip_value1 = -1; /* T_value1 */
154 static int hf_cmip_equality = -1; /* Attribute */
155 static int hf_cmip_substrings = -1; /* T_substrings */
156 static int hf_cmip_substrings_item = -1; /* T_substrings_item */
157 static int hf_cmip_initialString = -1; /* Attribute */
158 static int hf_cmip_anyString = -1; /* Attribute */
159 static int hf_cmip_finalString = -1; /* Attribute */
160 static int hf_cmip_greaterOrEqual = -1; /* Attribute */
161 static int hf_cmip_lessOrEqual = -1; /* Attribute */
162 static int hf_cmip_present = -1; /* AttributeId */
163 static int hf_cmip_subsetOf = -1; /* Attribute */
164 static int hf_cmip_supersetOf = -1; /* Attribute */
165 static int hf_cmip_nonNullSetIntersection = -1; /* Attribute */
166 static int hf_cmip_single = -1; /* AE_title */
167 static int hf_cmip_multiple = -1; /* SET_OF_AE_title */
168 static int hf_cmip_multiple_item = -1; /* AE_title */
169 static int hf_cmip_ae_title_form1 = -1; /* AE_title_form1 */
170 static int hf_cmip_ae_title_form2 = -1; /* AE_title_form2 */
171 static int hf_cmip_rdnSequence = -1; /* RDNSequence */
172 static int hf_cmip_item = -1; /* FilterItem */
173 static int hf_cmip_and = -1; /* SET_OF_CMISFilter */
174 static int hf_cmip_and_item = -1; /* CMISFilter */
175 static int hf_cmip_or = -1; /* SET_OF_CMISFilter */
176 static int hf_cmip_or_item = -1; /* CMISFilter */
177 static int hf_cmip_not = -1; /* CMISFilter */
178 static int hf_cmip_namedNumbers = -1; /* T_namedNumbers */
179 static int hf_cmip_individualLevels = -1; /* INTEGER */
180 static int hf_cmip_baseToNthLevel = -1; /* INTEGER */
181 static int hf_cmip_attributeIdList = -1; /* SET_OF_AttributeId */
182 static int hf_cmip_attributeIdList_item = -1; /* AttributeId */
183 static int hf_cmip_opcode = -1; /* Opcode */
184 static int hf_cmip_argument = -1; /* Argument */
185 static int hf_cmip_present1 = -1; /* InvokeID */
186 static int hf_cmip_absent = -1; /* NULL */
187 static int hf_cmip_invokeId = -1; /* InvokeId */
188 static int hf_cmip_linkedId = -1; /* InvokeLinkedId */
189 static int hf_cmip_rRBody = -1; /* ReturnResultBody */
190 static int hf_cmip_generalProblem = -1; /* GeneralProblem */
191 static int hf_cmip_invokeProblem = -1; /* InvokeProblem */
192 static int hf_cmip_returnResultProblem = -1; /* ReturnResultProblem */
193 static int hf_cmip_returnErrorProblem = -1; /* ReturnErrorProblem */
194 static int hf_cmip_rejectProblem = -1; /* RejectProb */
195 static int hf_cmip_invoke = -1; /* Invoke */
196 static int hf_cmip_returnResult = -1; /* ReturnResult */
197 static int hf_cmip_returnError = -1; /* ReturnError */
198 static int hf_cmip_reject = -1; /* Reject */
199 static int hf_cmip_abortSource = -1; /* CMIPAbortSource */
200 static int hf_cmip_userInfo = -1; /* EXTERNAL */
201 static int hf_cmip_protocolVersion = -1; /* ProtocolVersion */
202 static int hf_cmip_functionalUnits = -1; /* FunctionalUnits */
203 static int hf_cmip_accessControl1 = -1; /* EXTERNAL */
205 static int hf_cmip_FunctionalUnits_multipleObjectSelection = -1;
206 static int hf_cmip_FunctionalUnits_filter = -1;
207 static int hf_cmip_FunctionalUnits_multipleReply = -1;
208 static int hf_cmip_FunctionalUnits_extendedService = -1;
209 static int hf_cmip_FunctionalUnits_cancelGet = -1;
210 static int hf_cmip_ProtocolVersion_version1 = -1;
211 static int hf_cmip_ProtocolVersion_version2 = -1;
213 /*--- End of included file: packet-cmip-hf.c ---*/
216 /* Initialize the subtree pointers */
217 static gint ett_cmip = -1;
219 /*--- Included file: packet-cmip-ett.c ---*/
221 static gint ett_cmip_ModificationItem = -1;
222 static gint ett_cmip_GetListError = -1;
223 static gint ett_cmip_SET_OF_GetInfoStatus = -1;
224 static gint ett_cmip_GetInfoStatus = -1;
225 static gint ett_cmip_AttributeIdError = -1;
226 static gint ett_cmip_SetListError = -1;
227 static gint ett_cmip_SET_OF_SetInfoStatus = -1;
228 static gint ett_cmip_ActionError = -1;
229 static gint ett_cmip_ProcessingFailure = -1;
230 static gint ett_cmip_RDNSequence = -1;
231 static gint ett_cmip_RelativeDistinguishedName = -1;
232 static gint ett_cmip_DeleteError = -1;
233 static gint ett_cmip_SetInfoStatus = -1;
234 static gint ett_cmip_SpecificErrorInfo = -1;
235 static gint ett_cmip_NoSuchArgumentAction = -1;
236 static gint ett_cmip_NoSuchArgumentEvent = -1;
237 static gint ett_cmip_NoSuchArgument = -1;
238 static gint ett_cmip_InvalidArgumentValueEventValue = -1;
239 static gint ett_cmip_InvalidArgumentValue = -1;
240 static gint ett_cmip_ErrorInfo = -1;
241 static gint ett_cmip_ActionErrorInfo = -1;
242 static gint ett_cmip_AttributeError = -1;
243 static gint ett_cmip_SetResult = -1;
244 static gint ett_cmip_SET_OF_Attribute = -1;
245 static gint ett_cmip_SetArgument = -1;
246 static gint ett_cmip_SET_OF_ModificationItem = -1;
247 static gint ett_cmip_LinkedReplyArgument = -1;
248 static gint ett_cmip_EventReply = -1;
249 static gint ett_cmip_EventReportResult = -1;
250 static gint ett_cmip_EventReportArgument = -1;
251 static gint ett_cmip_DeleteArgument = -1;
252 static gint ett_cmip_DeleteResult = -1;
253 static gint ett_cmip_CreateArgument = -1;
254 static gint ett_cmip_T_managedOrSuperiorObjectInstance = -1;
255 static gint ett_cmip_CreateResult = -1;
256 static gint ett_cmip_ActionReply = -1;
257 static gint ett_cmip_ActionResult = -1;
258 static gint ett_cmip_ActionArgument = -1;
259 static gint ett_cmip_ActionInfo = -1;
260 static gint ett_cmip_ObjectClass = -1;
261 static gint ett_cmip_ObjectInstance = -1;
262 static gint ett_cmip_BaseManagedObjectId = -1;
263 static gint ett_cmip_AttributeId = -1;
264 static gint ett_cmip_Attribute = -1;
265 static gint ett_cmip_AttributeValueAssertion = -1;
266 static gint ett_cmip_FilterItem = -1;
267 static gint ett_cmip_T_substrings = -1;
268 static gint ett_cmip_T_substrings_item = -1;
269 static gint ett_cmip_Destination = -1;
270 static gint ett_cmip_SET_OF_AE_title = -1;
271 static gint ett_cmip_AE_title = -1;
272 static gint ett_cmip_Name = -1;
273 static gint ett_cmip_CMISFilter = -1;
274 static gint ett_cmip_SET_OF_CMISFilter = -1;
275 static gint ett_cmip_Scope = -1;
276 static gint ett_cmip_GetArgument = -1;
277 static gint ett_cmip_SET_OF_AttributeId = -1;
278 static gint ett_cmip_GetResult = -1;
279 static gint ett_cmip_ReturnResultBody = -1;
280 static gint ett_cmip_InvokeId = -1;
281 static gint ett_cmip_Invoke = -1;
282 static gint ett_cmip_ReturnResult = -1;
283 static gint ett_cmip_ReturnError = -1;
284 static gint ett_cmip_RejectProb = -1;
285 static gint ett_cmip_Reject = -1;
286 static gint ett_cmip_ROS = -1;
287 static gint ett_cmip_CMIPAbortInfo = -1;
288 static gint ett_cmip_FunctionalUnits = -1;
289 static gint ett_cmip_CMIPUserInfo = -1;
290 static gint ett_cmip_ProtocolVersion = -1;
292 /*--- End of included file: packet-cmip-ett.c ---*/
295 static guint32 opcode;
297 static int opcode_type;
298 #define OPCODE_INVOKE 1
299 #define OPCODE_RETURN_RESULT 2
300 #define OPCODE_RETURN_ERROR 3
301 #define OPCODE_REJECT 4
303 static int attributeform;
304 #define ATTRIBUTE_LOCAL_FORM 0
305 #define ATTRIBUTE_GLOBAL_FORM 1
306 static const char *attribute_identifier_id;
308 static const char *attributevalueassertion_id;
310 static const char *object_identifier_id;
312 static int objectclassform;
313 #define OBJECTCLASS_LOCAL_FORM 0
314 #define OBJECTCLASS_GLOBAL_FORM 1
315 static const char *objectclass_identifier_id;
318 /*--- Included file: packet-cmip-fn.c ---*/
320 /*--- Cyclic dependencies ---*/
322 /* CMISFilter -> CMISFilter/and -> CMISFilter */
323 /* CMISFilter -> CMISFilter */
324 static int dissect_cmip_CMISFilter(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
326 static int dissect_filter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
327 return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_filter);
329 static int dissect_and_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
330 return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_and_item);
332 static int dissect_or_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
333 return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_or_item);
335 static int dissect_not(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
336 return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_not);
340 /*--- Fields for imported types ---*/
342 static int dissect_userInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
343 return dissect_acse_EXTERNAL(FALSE, tvb, offset, pinfo, tree, hf_cmip_userInfo);
345 static int dissect_accessControl1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
346 return dissect_acse_EXTERNAL(FALSE, tvb, offset, pinfo, tree, hf_cmip_accessControl1);
350 static const value_string cmip_ModifyOperator_vals[] = {
353 { 2, "removeValues" },
354 { 3, "setToDefault" },
360 dissect_cmip_ModifyOperator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
361 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
366 static int dissect_modifyOperator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
367 return dissect_cmip_ModifyOperator(TRUE, tvb, offset, pinfo, tree, hf_cmip_modifyOperator);
373 dissect_cmip_T_attributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
374 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_attributeId_OID, &object_identifier_id);
378 static int dissect_attributeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
379 return dissect_cmip_T_attributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId);
385 dissect_cmip_T_attributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
386 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
391 static int dissect_attributeValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
392 return dissect_cmip_T_attributeValue(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeValue);
396 static const ber_sequence_t ModificationItem_sequence[] = {
397 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyOperator_impl },
398 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeId },
399 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attributeValue },
404 dissect_cmip_ModificationItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
405 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
406 ModificationItem_sequence, hf_index, ett_cmip_ModificationItem);
410 static int dissect_modificationList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
411 return dissect_cmip_ModificationItem(FALSE, tvb, offset, pinfo, tree, hf_cmip_modificationList_item);
417 dissect_cmip_T_ocglobalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
418 objectclassform = OBJECTCLASS_GLOBAL_FORM;
419 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &objectclass_identifier_id);
423 static int dissect_ocglobalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
424 return dissect_cmip_T_ocglobalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_ocglobalForm);
430 dissect_cmip_T_oclocalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
431 objectclassform = OBJECTCLASS_LOCAL_FORM;
433 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
438 static int dissect_oclocalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
439 return dissect_cmip_T_oclocalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_oclocalForm);
443 const value_string cmip_ObjectClass_vals[] = {
444 { 0, "ocglobalForm" },
445 { 1, "oclocalForm" },
449 static const ber_choice_t ObjectClass_choice[] = {
450 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ocglobalForm_impl },
451 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_oclocalForm_impl },
456 dissect_cmip_ObjectClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
457 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
458 ObjectClass_choice, hf_index, ett_cmip_ObjectClass,
463 static int dissect_managedObjectClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
464 return dissect_cmip_ObjectClass(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedObjectClass);
466 static int dissect_baseManagedObjectClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
467 return dissect_cmip_ObjectClass(FALSE, tvb, offset, pinfo, tree, hf_cmip_baseManagedObjectClass);
473 dissect_cmip_T_id(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
474 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &attributevalueassertion_id);
478 static int dissect_id1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
479 return dissect_cmip_T_id(FALSE, tvb, offset, pinfo, tree, hf_cmip_id1);
485 dissect_cmip_T_value1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
486 offset=call_ber_oid_callback(attributevalueassertion_id, tvb, offset, pinfo, tree);
491 static int dissect_value1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
492 return dissect_cmip_T_value1(FALSE, tvb, offset, pinfo, tree, hf_cmip_value1);
496 static const ber_sequence_t AttributeValueAssertion_sequence[] = {
497 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_id1 },
498 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_value1 },
503 dissect_cmip_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
504 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
505 AttributeValueAssertion_sequence, hf_index, ett_cmip_AttributeValueAssertion);
509 static int dissect_RelativeDistinguishedName_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
510 return dissect_cmip_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_cmip_RelativeDistinguishedName_item);
514 static const ber_sequence_t RelativeDistinguishedName_set_of[1] = {
515 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RelativeDistinguishedName_item },
519 dissect_cmip_RelativeDistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
520 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
521 RelativeDistinguishedName_set_of, hf_index, ett_cmip_RelativeDistinguishedName);
525 static int dissect_RDNSequence_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
526 return dissect_cmip_RelativeDistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_cmip_RDNSequence_item);
530 static const ber_sequence_t RDNSequence_sequence_of[1] = {
531 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_RDNSequence_item },
535 dissect_cmip_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
536 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
537 RDNSequence_sequence_of, hf_index, ett_cmip_RDNSequence);
541 static int dissect_localDistinguishedName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
542 return dissect_cmip_RDNSequence(TRUE, tvb, offset, pinfo, tree, hf_cmip_localDistinguishedName);
544 static int dissect_rdnSequence(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
545 return dissect_cmip_RDNSequence(FALSE, tvb, offset, pinfo, tree, hf_cmip_rdnSequence);
551 dissect_cmip_DistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
552 offset = dissect_cmip_RDNSequence(implicit_tag, tvb, offset, pinfo, tree, hf_index);
556 static int dissect_distinguishedName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
557 return dissect_cmip_DistinguishedName(TRUE, tvb, offset, pinfo, tree, hf_cmip_distinguishedName);
563 dissect_cmip_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
564 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
569 static int dissect_nonSpecificForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
570 return dissect_cmip_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_cmip_nonSpecificForm);
574 const value_string cmip_ObjectInstance_vals[] = {
575 { 2, "distinguishedName" },
576 { 3, "nonSpecificForm" },
577 { 4, "localDistinguishedName" },
581 static const ber_choice_t ObjectInstance_choice[] = {
582 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_distinguishedName_impl },
583 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_nonSpecificForm_impl },
584 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_localDistinguishedName_impl },
589 dissect_cmip_ObjectInstance(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
590 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
591 ObjectInstance_choice, hf_index, ett_cmip_ObjectInstance,
596 static int dissect_managedObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
597 return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedObjectInstance);
599 static int dissect_baseManagedObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
600 return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_baseManagedObjectInstance);
602 static int dissect_superiorObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
603 return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_superiorObjectInstance);
605 static int dissect_referenceObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
606 return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_referenceObjectInstance);
612 dissect_cmip_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
613 offset = dissect_ber_GeneralizedTime(implicit_tag, pinfo, tree, tvb, offset, hf_index);
617 static int dissect_currentTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
618 return dissect_cmip_GeneralizedTime(TRUE, tvb, offset, pinfo, tree, hf_cmip_currentTime);
620 static int dissect_eventTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
621 return dissect_cmip_GeneralizedTime(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventTime);
625 static const value_string cmip_T_errorStatus_vals[] = {
626 { 2, "accessDenied" },
627 { 5, "noSuchAttribute" },
633 dissect_cmip_T_errorStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
634 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
639 static int dissect_errorStatus(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
640 return dissect_cmip_T_errorStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus);
646 dissect_cmip_T_globalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
647 attributeform = ATTRIBUTE_GLOBAL_FORM;
648 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &attribute_identifier_id);
654 static int dissect_globalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
655 return dissect_cmip_T_globalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_globalForm);
661 dissect_cmip_T_localForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
662 attributeform = ATTRIBUTE_LOCAL_FORM;
663 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_localForm, NULL);
668 static int dissect_localForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
669 return dissect_cmip_T_localForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_localForm);
673 static const value_string cmip_AttributeId_vals[] = {
679 static const ber_choice_t AttributeId_choice[] = {
680 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_globalForm_impl },
681 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_localForm_impl },
686 dissect_cmip_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
687 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
688 AttributeId_choice, hf_index, ett_cmip_AttributeId,
693 static int dissect_attributeId1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
694 return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId1);
696 static int dissect_id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
697 return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_id);
699 static int dissect_present(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
700 return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_present);
702 static int dissect_attributeIdList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
703 return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeIdList_item);
707 static const ber_sequence_t AttributeIdError_sequence[] = {
708 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_errorStatus },
709 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attributeId1 },
714 dissect_cmip_AttributeIdError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
715 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
716 AttributeIdError_sequence, hf_index, ett_cmip_AttributeIdError);
720 static int dissect_attributeIdError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
721 return dissect_cmip_AttributeIdError(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeIdError);
727 dissect_cmip_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
728 /*XXX handle local form here */
729 if(attributeform==ATTRIBUTE_GLOBAL_FORM){
730 offset=call_ber_oid_callback(attribute_identifier_id, tvb, offset, pinfo, tree);
735 static int dissect_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
736 return dissect_cmip_T_value(FALSE, tvb, offset, pinfo, tree, hf_cmip_value);
740 static const ber_sequence_t Attribute_sequence[] = {
741 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_id },
742 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_value },
747 dissect_cmip_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
748 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
749 Attribute_sequence, hf_index, ett_cmip_Attribute);
753 static int dissect_attribute_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
754 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_attribute);
756 static int dissect_attributeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
757 return dissect_cmip_Attribute(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeList_item);
759 static int dissect_equality_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
760 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_equality);
762 static int dissect_initialString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
763 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_initialString);
765 static int dissect_anyString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
766 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_anyString);
768 static int dissect_finalString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
769 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_finalString);
771 static int dissect_greaterOrEqual_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
772 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_greaterOrEqual);
774 static int dissect_lessOrEqual_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
775 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_lessOrEqual);
777 static int dissect_subsetOf_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
778 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_subsetOf);
780 static int dissect_supersetOf_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
781 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_supersetOf);
783 static int dissect_nonNullSetIntersection_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
784 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_nonNullSetIntersection);
788 static const value_string cmip_GetInfoStatus_vals[] = {
789 { 0, "attributeIdError" },
794 static const ber_choice_t GetInfoStatus_choice[] = {
795 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attributeIdError_impl },
796 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_attribute_impl },
801 dissect_cmip_GetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
802 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
803 GetInfoStatus_choice, hf_index, ett_cmip_GetInfoStatus,
808 static int dissect_getInfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
809 return dissect_cmip_GetInfoStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_getInfoList_item);
813 static const ber_sequence_t SET_OF_GetInfoStatus_set_of[1] = {
814 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_getInfoList_item },
818 dissect_cmip_SET_OF_GetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
819 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
820 SET_OF_GetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_GetInfoStatus);
824 static int dissect_getInfoList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
825 return dissect_cmip_SET_OF_GetInfoStatus(TRUE, tvb, offset, pinfo, tree, hf_cmip_getInfoList);
829 static const ber_sequence_t GetListError_sequence[] = {
830 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
831 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
832 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
833 { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_getInfoList_impl },
838 dissect_cmip_GetListError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
839 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
840 GetListError_sequence, hf_index, ett_cmip_GetListError);
844 static int dissect_getListError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
845 return dissect_cmip_GetListError(TRUE, tvb, offset, pinfo, tree, hf_cmip_getListError);
849 static const value_string cmip_T_errorStatus2_vals[] = {
850 { 2, "accessDenied" },
851 { 5, "noSuchAttribute" },
852 { 6, "invalidAttributeValue" },
853 { 24, "invalidOperation" },
854 { 25, "invalidOperator" },
860 dissect_cmip_T_errorStatus2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
861 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
866 static int dissect_errorStatus2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
867 return dissect_cmip_T_errorStatus2(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus2);
873 dissect_cmip_T_attributeId1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
874 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_attributeId_OID, &object_identifier_id);
878 static int dissect_attributeId2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
879 return dissect_cmip_T_attributeId1(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId2);
885 dissect_cmip_T_attributeValue1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
886 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
891 static int dissect_attributeValue1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
892 return dissect_cmip_T_attributeValue1(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeValue1);
896 static const ber_sequence_t AttributeError_sequence[] = {
897 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_errorStatus2 },
898 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyOperator_impl },
899 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeId2 },
900 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attributeValue1 },
905 dissect_cmip_AttributeError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
906 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
907 AttributeError_sequence, hf_index, ett_cmip_AttributeError);
911 static int dissect_attributeError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
912 return dissect_cmip_AttributeError(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeError);
916 static const value_string cmip_SetInfoStatus_vals[] = {
917 { 0, "attributeError" },
922 static const ber_choice_t SetInfoStatus_choice[] = {
923 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attributeError_impl },
924 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_attribute_impl },
929 dissect_cmip_SetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
930 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
931 SetInfoStatus_choice, hf_index, ett_cmip_SetInfoStatus,
936 static int dissect_setInfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
937 return dissect_cmip_SetInfoStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_setInfoList_item);
941 static const ber_sequence_t SET_OF_SetInfoStatus_set_of[1] = {
942 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_setInfoList_item },
946 dissect_cmip_SET_OF_SetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
947 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
948 SET_OF_SetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_SetInfoStatus);
952 static int dissect_setInfoList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
953 return dissect_cmip_SET_OF_SetInfoStatus(TRUE, tvb, offset, pinfo, tree, hf_cmip_setInfoList);
957 static const ber_sequence_t SetListError_sequence[] = {
958 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
959 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
960 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
961 { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_setInfoList_impl },
966 dissect_cmip_SetListError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
967 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
968 SetListError_sequence, hf_index, ett_cmip_SetListError);
972 static int dissect_setListError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
973 return dissect_cmip_SetListError(TRUE, tvb, offset, pinfo, tree, hf_cmip_setListError);
977 static const value_string cmip_T_errorStatus1_vals[] = {
978 { 2, "accessDenied" },
979 { 9, "noSuchAction" },
980 { 14, "noSuchArgument" },
981 { 15, "invalidArgumentValue" },
987 dissect_cmip_T_errorStatus1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
988 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
993 static int dissect_errorStatus1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
994 return dissect_cmip_T_errorStatus1(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus1);
1000 dissect_cmip_T_actionType1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1001 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1005 static int dissect_actionType1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1006 return dissect_cmip_T_actionType1(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType1);
1012 dissect_cmip_T_actionType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1013 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1017 static int dissect_actionType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1018 return dissect_cmip_T_actionType(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType);
1022 static const ber_sequence_t NoSuchArgumentAction_sequence[] = {
1023 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1024 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_actionType },
1029 dissect_cmip_NoSuchArgumentAction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1030 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1031 NoSuchArgumentAction_sequence, hf_index, ett_cmip_NoSuchArgumentAction);
1035 static int dissect_actionId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1036 return dissect_cmip_NoSuchArgumentAction(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionId);
1042 dissect_cmip_T_eventType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1043 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1047 static int dissect_eventType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1048 return dissect_cmip_T_eventType(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType);
1052 static const ber_sequence_t NoSuchArgumentEvent_sequence[] = {
1053 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1054 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_eventType },
1059 dissect_cmip_NoSuchArgumentEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1060 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1061 NoSuchArgumentEvent_sequence, hf_index, ett_cmip_NoSuchArgumentEvent);
1065 static int dissect_eventId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1066 return dissect_cmip_NoSuchArgumentEvent(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventId);
1070 static const value_string cmip_NoSuchArgument_vals[] = {
1076 static const ber_choice_t NoSuchArgument_choice[] = {
1077 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actionId_impl },
1078 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_eventId_impl },
1079 { 0, 0, 0, 0, NULL }
1083 dissect_cmip_NoSuchArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1084 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1085 NoSuchArgument_choice, hf_index, ett_cmip_NoSuchArgument,
1090 static int dissect_actionArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1091 return dissect_cmip_NoSuchArgument(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionArgument);
1097 dissect_cmip_T_actionType3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1098 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1102 static int dissect_actionType3(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1103 return dissect_cmip_T_actionType3(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType3);
1109 dissect_cmip_T_actionInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1110 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1115 static int dissect_actionInfoArg(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1116 return dissect_cmip_T_actionInfoArg(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionInfoArg);
1120 static const ber_sequence_t ActionInfo_sequence[] = {
1121 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_actionType3 },
1122 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_actionInfoArg },
1127 dissect_cmip_ActionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1128 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1129 ActionInfo_sequence, hf_index, ett_cmip_ActionInfo);
1133 static int dissect_actionValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1134 return dissect_cmip_ActionInfo(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionValue);
1136 static int dissect_actionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1137 return dissect_cmip_ActionInfo(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionInfo);
1143 dissect_cmip_T_eventType1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1144 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1148 static int dissect_eventType1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1149 return dissect_cmip_T_eventType1(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType1);
1155 dissect_cmip_T_eventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1156 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1161 static int dissect_eventInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1162 return dissect_cmip_T_eventInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventInfo);
1166 static const ber_sequence_t InvalidArgumentValueEventValue_sequence[] = {
1167 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_eventType1 },
1168 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_eventInfo },
1173 dissect_cmip_InvalidArgumentValueEventValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1174 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1175 InvalidArgumentValueEventValue_sequence, hf_index, ett_cmip_InvalidArgumentValueEventValue);
1179 static int dissect_eventValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1180 return dissect_cmip_InvalidArgumentValueEventValue(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventValue);
1184 static const value_string cmip_InvalidArgumentValue_vals[] = {
1185 { 0, "actionValue" },
1186 { 1, "eventValue" },
1190 static const ber_choice_t InvalidArgumentValue_choice[] = {
1191 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actionValue_impl },
1192 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_eventValue_impl },
1193 { 0, 0, 0, 0, NULL }
1197 dissect_cmip_InvalidArgumentValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1198 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1199 InvalidArgumentValue_choice, hf_index, ett_cmip_InvalidArgumentValue,
1204 static int dissect_argumentValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1205 return dissect_cmip_InvalidArgumentValue(FALSE, tvb, offset, pinfo, tree, hf_cmip_argumentValue);
1209 static const value_string cmip_ErrorInfo_vals[] = {
1210 { 0, "actionType" },
1211 { 1, "actionArgument" },
1212 { 2, "argumentValue" },
1216 static const ber_choice_t ErrorInfo_choice[] = {
1217 { 0, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_actionType1 },
1218 { 1, BER_CLASS_CON, 0, 0, dissect_actionArgument },
1219 { 2, BER_CLASS_CON, 1, 0, dissect_argumentValue },
1220 { 0, 0, 0, 0, NULL }
1224 dissect_cmip_ErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1225 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1226 ErrorInfo_choice, hf_index, ett_cmip_ErrorInfo,
1231 static int dissect_errorInfo1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1232 return dissect_cmip_ErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorInfo1);
1236 static const ber_sequence_t ActionErrorInfo_sequence[] = {
1237 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_errorStatus1 },
1238 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_errorInfo1 },
1243 dissect_cmip_ActionErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1244 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1245 ActionErrorInfo_sequence, hf_index, ett_cmip_ActionErrorInfo);
1249 static int dissect_actionErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1250 return dissect_cmip_ActionErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionErrorInfo);
1254 static const ber_sequence_t ActionError_sequence[] = {
1255 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1256 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1257 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1258 { BER_CLASS_CON, 6, 0, dissect_actionErrorInfo },
1263 dissect_cmip_ActionError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1264 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1265 ActionError_sequence, hf_index, ett_cmip_ActionError);
1269 static int dissect_actionError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1270 return dissect_cmip_ActionError(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionError);
1276 dissect_cmip_T_errorId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1277 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_errorId_OID, &object_identifier_id);
1281 static int dissect_errorId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1282 return dissect_cmip_T_errorId(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorId);
1288 dissect_cmip_T_errorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1289 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1294 static int dissect_errorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1295 return dissect_cmip_T_errorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorInfo);
1299 static const ber_sequence_t SpecificErrorInfo_sequence[] = {
1300 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_errorId },
1301 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_errorInfo },
1306 dissect_cmip_SpecificErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1307 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1308 SpecificErrorInfo_sequence, hf_index, ett_cmip_SpecificErrorInfo);
1312 static int dissect_specificErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1313 return dissect_cmip_SpecificErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_specificErrorInfo);
1317 static const ber_sequence_t ProcessingFailure_sequence[] = {
1318 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1319 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1320 { BER_CLASS_CON, 5, 0, dissect_specificErrorInfo },
1325 dissect_cmip_ProcessingFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1326 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1327 ProcessingFailure_sequence, hf_index, ett_cmip_ProcessingFailure);
1331 static int dissect_processingFailure_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1332 return dissect_cmip_ProcessingFailure(TRUE, tvb, offset, pinfo, tree, hf_cmip_processingFailure);
1336 static const value_string cmip_T_deleteErrorInfo_vals[] = {
1337 { 2, "accessDenied" },
1343 dissect_cmip_T_deleteErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1344 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1349 static int dissect_deleteErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1350 return dissect_cmip_T_deleteErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_deleteErrorInfo);
1354 static const ber_sequence_t DeleteError_sequence[] = {
1355 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1356 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1357 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1358 { BER_CLASS_CON, 6, 0, dissect_deleteErrorInfo },
1363 dissect_cmip_DeleteError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1364 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1365 DeleteError_sequence, hf_index, ett_cmip_DeleteError);
1369 static int dissect_deleteError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1370 return dissect_cmip_DeleteError(TRUE, tvb, offset, pinfo, tree, hf_cmip_deleteError);
1374 static const ber_sequence_t SET_OF_Attribute_set_of[1] = {
1375 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributeList_item },
1379 dissect_cmip_SET_OF_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1380 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1381 SET_OF_Attribute_set_of, hf_index, ett_cmip_SET_OF_Attribute);
1385 static int dissect_attributeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1386 return dissect_cmip_SET_OF_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeList);
1390 static const ber_sequence_t SetResult_sequence[] = {
1391 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1392 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1393 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1394 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeList_impl },
1399 dissect_cmip_SetResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1400 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1401 SetResult_sequence, hf_index, ett_cmip_SetResult);
1405 static int dissect_setResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1406 return dissect_cmip_SetResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_setResult);
1412 dissect_cmip_AccessControl(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1413 offset = dissect_acse_EXTERNAL(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1417 static int dissect_accessControl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1418 return dissect_cmip_AccessControl(FALSE, tvb, offset, pinfo, tree, hf_cmip_accessControl);
1422 static const value_string cmip_CMISSync_vals[] = {
1423 { 0, "bestEffort" },
1430 dissect_cmip_CMISSync(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1431 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1436 static int dissect_synchronization_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1437 return dissect_cmip_CMISSync(TRUE, tvb, offset, pinfo, tree, hf_cmip_synchronization);
1441 static const value_string cmip_T_namedNumbers_vals[] = {
1442 { 0, "baseObject" },
1443 { 1, "firstLevelOnly" },
1444 { 2, "wholeSubtree" },
1450 dissect_cmip_T_namedNumbers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1451 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1456 static int dissect_namedNumbers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1457 return dissect_cmip_T_namedNumbers(FALSE, tvb, offset, pinfo, tree, hf_cmip_namedNumbers);
1463 dissect_cmip_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1464 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1469 static int dissect_individualLevels_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1470 return dissect_cmip_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_cmip_individualLevels);
1472 static int dissect_baseToNthLevel_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1473 return dissect_cmip_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_cmip_baseToNthLevel);
1477 static const value_string cmip_Scope_vals[] = {
1478 { 0, "namedNumbers" },
1479 { 1, "individualLevels" },
1480 { 2, "baseToNthLevel" },
1484 static const ber_choice_t Scope_choice[] = {
1485 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_namedNumbers },
1486 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_individualLevels_impl },
1487 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_baseToNthLevel_impl },
1488 { 0, 0, 0, 0, NULL }
1492 dissect_cmip_Scope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1493 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1494 Scope_choice, hf_index, ett_cmip_Scope,
1499 static int dissect_scope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1500 return dissect_cmip_Scope(FALSE, tvb, offset, pinfo, tree, hf_cmip_scope);
1504 static const value_string cmip_T_substrings_item_vals[] = {
1505 { 0, "initialString" },
1507 { 2, "finalString" },
1511 static const ber_choice_t T_substrings_item_choice[] = {
1512 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_initialString_impl },
1513 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_anyString_impl },
1514 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_finalString_impl },
1515 { 0, 0, 0, 0, NULL }
1519 dissect_cmip_T_substrings_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1520 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1521 T_substrings_item_choice, hf_index, ett_cmip_T_substrings_item,
1526 static int dissect_substrings_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1527 return dissect_cmip_T_substrings_item(FALSE, tvb, offset, pinfo, tree, hf_cmip_substrings_item);
1531 static const ber_sequence_t T_substrings_sequence_of[1] = {
1532 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_substrings_item },
1536 dissect_cmip_T_substrings(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1537 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1538 T_substrings_sequence_of, hf_index, ett_cmip_T_substrings);
1542 static int dissect_substrings_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1543 return dissect_cmip_T_substrings(TRUE, tvb, offset, pinfo, tree, hf_cmip_substrings);
1547 static const value_string cmip_FilterItem_vals[] = {
1549 { 1, "substrings" },
1550 { 2, "greaterOrEqual" },
1551 { 3, "lessOrEqual" },
1554 { 6, "supersetOf" },
1555 { 7, "nonNullSetIntersection" },
1559 static const ber_choice_t FilterItem_choice[] = {
1560 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_equality_impl },
1561 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_substrings_impl },
1562 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_greaterOrEqual_impl },
1563 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_lessOrEqual_impl },
1564 { 4, BER_CLASS_CON, 4, 0, dissect_present },
1565 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_subsetOf_impl },
1566 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_supersetOf_impl },
1567 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_nonNullSetIntersection_impl },
1568 { 0, 0, 0, 0, NULL }
1572 dissect_cmip_FilterItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1573 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1574 FilterItem_choice, hf_index, ett_cmip_FilterItem,
1579 static int dissect_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1580 return dissect_cmip_FilterItem(FALSE, tvb, offset, pinfo, tree, hf_cmip_item);
1584 static const ber_sequence_t SET_OF_CMISFilter_set_of[1] = {
1585 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_and_item },
1589 dissect_cmip_SET_OF_CMISFilter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1590 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1591 SET_OF_CMISFilter_set_of, hf_index, ett_cmip_SET_OF_CMISFilter);
1595 static int dissect_and_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1596 return dissect_cmip_SET_OF_CMISFilter(TRUE, tvb, offset, pinfo, tree, hf_cmip_and);
1598 static int dissect_or_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1599 return dissect_cmip_SET_OF_CMISFilter(TRUE, tvb, offset, pinfo, tree, hf_cmip_or);
1603 static const value_string cmip_CMISFilter_vals[] = {
1611 static const ber_choice_t CMISFilter_choice[] = {
1612 { 8, BER_CLASS_CON, 8, 0, dissect_item },
1613 { 9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_and_impl },
1614 { 10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_or_impl },
1615 { 11, BER_CLASS_CON, 11, 0, dissect_not },
1616 { 0, 0, 0, 0, NULL }
1620 dissect_cmip_CMISFilter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1621 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1622 CMISFilter_choice, hf_index, ett_cmip_CMISFilter,
1629 static const ber_sequence_t SET_OF_ModificationItem_set_of[1] = {
1630 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_modificationList_item },
1634 dissect_cmip_SET_OF_ModificationItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1635 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1636 SET_OF_ModificationItem_set_of, hf_index, ett_cmip_SET_OF_ModificationItem);
1640 static int dissect_modificationList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1641 return dissect_cmip_SET_OF_ModificationItem(TRUE, tvb, offset, pinfo, tree, hf_cmip_modificationList);
1645 static const ber_sequence_t SetArgument_sequence[] = {
1646 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
1647 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
1648 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
1649 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_synchronization_impl },
1650 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_scope },
1651 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_filter },
1652 { BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_modificationList_impl },
1657 dissect_cmip_SetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1658 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1659 SetArgument_sequence, hf_index, ett_cmip_SetArgument);
1665 static const ber_sequence_t GetResult_sequence[] = {
1666 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1667 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1668 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1669 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeList_impl },
1674 dissect_cmip_GetResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1675 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1676 GetResult_sequence, hf_index, ett_cmip_GetResult);
1680 static int dissect_getResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1681 return dissect_cmip_GetResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_getResult);
1687 dissect_cmip_T_actionType2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1688 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1692 static int dissect_actionType2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1693 return dissect_cmip_T_actionType2(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType2);
1699 dissect_cmip_T_actionReplyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1700 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1705 static int dissect_actionReplyInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1706 return dissect_cmip_T_actionReplyInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionReplyInfo);
1710 static const ber_sequence_t ActionReply_sequence[] = {
1711 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_actionType2 },
1712 { BER_CLASS_CON, 4, 0, dissect_actionReplyInfo },
1717 dissect_cmip_ActionReply(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1718 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1719 ActionReply_sequence, hf_index, ett_cmip_ActionReply);
1723 static int dissect_actionReply_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1724 return dissect_cmip_ActionReply(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionReply);
1728 static const ber_sequence_t ActionResult_sequence[] = {
1729 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1730 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1731 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1732 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_actionReply_impl },
1737 dissect_cmip_ActionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1738 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1739 ActionResult_sequence, hf_index, ett_cmip_ActionResult);
1743 static int dissect_actionResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1744 return dissect_cmip_ActionResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionResult);
1748 static const ber_sequence_t DeleteResult_sequence[] = {
1749 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1750 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1751 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1756 dissect_cmip_DeleteResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1757 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1758 DeleteResult_sequence, hf_index, ett_cmip_DeleteResult);
1762 static int dissect_deleteResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1763 return dissect_cmip_DeleteResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_deleteResult);
1767 static const value_string cmip_LinkedReplyArgument_vals[] = {
1769 { 1, "getListError" },
1771 { 3, "setListError" },
1772 { 4, "actionResult" },
1773 { 5, "processingFailure" },
1774 { 6, "deleteResult" },
1775 { 7, "actionError" },
1776 { 8, "deleteError" },
1780 static const ber_choice_t LinkedReplyArgument_choice[] = {
1781 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_getResult_impl },
1782 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_getListError_impl },
1783 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_setResult_impl },
1784 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_setListError_impl },
1785 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_actionResult_impl },
1786 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_processingFailure_impl },
1787 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_deleteResult_impl },
1788 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_actionError_impl },
1789 { 8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_deleteError_impl },
1790 { 0, 0, 0, 0, NULL }
1794 dissect_cmip_LinkedReplyArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1795 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1796 LinkedReplyArgument_choice, hf_index, ett_cmip_LinkedReplyArgument,
1805 dissect_cmip_T_eventType2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1806 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1810 static int dissect_eventType2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1811 return dissect_cmip_T_eventType2(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType2);
1817 dissect_cmip_T_eventReplyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1818 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1823 static int dissect_eventReplyInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1824 return dissect_cmip_T_eventReplyInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventReplyInfo);
1828 static const ber_sequence_t EventReply_sequence[] = {
1829 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_eventType2 },
1830 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_eventReplyInfo },
1835 dissect_cmip_EventReply(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1836 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1837 EventReply_sequence, hf_index, ett_cmip_EventReply);
1841 static int dissect_eventReply(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1842 return dissect_cmip_EventReply(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventReply);
1846 static const ber_sequence_t EventReportResult_sequence[] = {
1847 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1848 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1849 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1850 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_eventReply },
1855 dissect_cmip_EventReportResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1856 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1857 EventReportResult_sequence, hf_index, ett_cmip_EventReportResult);
1865 dissect_cmip_T_eventType3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1866 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1870 static int dissect_eventType3(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1871 return dissect_cmip_T_eventType3(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType3);
1877 dissect_cmip_T_eventInfo1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1878 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1883 static int dissect_eventInfo1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1884 return dissect_cmip_T_eventInfo1(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventInfo1);
1888 static const ber_sequence_t EventReportArgument_sequence[] = {
1889 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1890 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1891 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventTime_impl },
1892 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_eventType3 },
1893 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_eventInfo1 },
1898 dissect_cmip_EventReportArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1899 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1900 EventReportArgument_sequence, hf_index, ett_cmip_EventReportArgument);
1906 static const ber_sequence_t DeleteArgument_sequence[] = {
1907 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
1908 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
1909 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
1910 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_synchronization_impl },
1911 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_scope },
1912 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_filter },
1917 dissect_cmip_DeleteArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1918 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1919 DeleteArgument_sequence, hf_index, ett_cmip_DeleteArgument);
1925 static const value_string cmip_T_managedOrSuperiorObjectInstance_vals[] = {
1926 { 0, "managedObjectInstance" },
1927 { 1, "superiorObjectInstance" },
1931 static const ber_choice_t T_managedOrSuperiorObjectInstance_choice[] = {
1932 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_managedObjectInstance },
1933 { 1, BER_CLASS_CON, 8, 0, dissect_superiorObjectInstance },
1934 { 0, 0, 0, 0, NULL }
1938 dissect_cmip_T_managedOrSuperiorObjectInstance(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1939 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1940 T_managedOrSuperiorObjectInstance_choice, hf_index, ett_cmip_T_managedOrSuperiorObjectInstance,
1945 static int dissect_managedOrSuperiorObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1946 return dissect_cmip_T_managedOrSuperiorObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedOrSuperiorObjectInstance);
1950 static const ber_sequence_t CreateArgument_sequence[] = {
1951 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1952 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedOrSuperiorObjectInstance },
1953 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
1954 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_referenceObjectInstance },
1955 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeList_impl },
1960 dissect_cmip_CreateArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1961 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1962 CreateArgument_sequence, hf_index, ett_cmip_CreateArgument);
1968 static const ber_sequence_t CreateResult_sequence[] = {
1969 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1970 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1971 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1972 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeList_impl },
1977 dissect_cmip_CreateResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1978 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1979 CreateResult_sequence, hf_index, ett_cmip_CreateResult);
1985 static const ber_sequence_t ActionArgument_sequence[] = {
1986 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
1987 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
1988 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
1989 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_synchronization_impl },
1990 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_scope },
1991 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_filter },
1992 { BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_actionInfo_impl },
1997 dissect_cmip_ActionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1998 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1999 ActionArgument_sequence, hf_index, ett_cmip_ActionArgument);
2005 static const ber_sequence_t BaseManagedObjectId_sequence[] = {
2006 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
2007 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
2012 dissect_cmip_BaseManagedObjectId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2013 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2014 BaseManagedObjectId_sequence, hf_index, ett_cmip_BaseManagedObjectId);
2020 static const value_string cmip_AdministrativeState_vals[] = {
2023 { 2, "shuttingDown" },
2029 dissect_cmip_AdministrativeState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2030 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2039 dissect_cmip_DiscriminatorConstruct(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2040 offset = dissect_cmip_CMISFilter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2046 static const value_string cmip_Name_vals[] = {
2047 { 0, "rdnSequence" },
2051 static const ber_choice_t Name_choice[] = {
2052 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_rdnSequence },
2053 { 0, 0, 0, 0, NULL }
2057 dissect_cmip_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2058 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2059 Name_choice, hf_index, ett_cmip_Name,
2068 dissect_cmip_AE_title_form1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2069 offset = dissect_cmip_Name(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2073 static int dissect_ae_title_form1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2074 return dissect_cmip_AE_title_form1(FALSE, tvb, offset, pinfo, tree, hf_cmip_ae_title_form1);
2080 dissect_cmip_AE_title_form2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2081 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2085 static int dissect_ae_title_form2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2086 return dissect_cmip_AE_title_form2(FALSE, tvb, offset, pinfo, tree, hf_cmip_ae_title_form2);
2090 static const value_string cmip_AE_title_vals[] = {
2091 { 0, "ae-title-form1" },
2092 { 1, "ae-title-form2" },
2096 static const ber_choice_t AE_title_choice[] = {
2097 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ae_title_form1 },
2098 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ae_title_form2 },
2099 { 0, 0, 0, 0, NULL }
2103 dissect_cmip_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2104 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2105 AE_title_choice, hf_index, ett_cmip_AE_title,
2110 static int dissect_single(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2111 return dissect_cmip_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_single);
2113 static int dissect_multiple_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2114 return dissect_cmip_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_multiple_item);
2118 static const ber_sequence_t SET_OF_AE_title_set_of[1] = {
2119 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_multiple_item },
2123 dissect_cmip_SET_OF_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2124 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2125 SET_OF_AE_title_set_of, hf_index, ett_cmip_SET_OF_AE_title);
2129 static int dissect_multiple(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2130 return dissect_cmip_SET_OF_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_multiple);
2134 static const value_string cmip_Destination_vals[] = {
2140 static const ber_choice_t Destination_choice[] = {
2141 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_single },
2142 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_multiple },
2143 { 0, 0, 0, 0, NULL }
2147 dissect_cmip_Destination(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2148 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2149 Destination_choice, hf_index, ett_cmip_Destination,
2156 static const value_string cmip_OperationalState_vals[] = {
2164 dissect_cmip_OperationalState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2165 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2174 dissect_cmip_NameBinding(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2175 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2181 static const ber_sequence_t SET_OF_AttributeId_set_of[1] = {
2182 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attributeIdList_item },
2186 dissect_cmip_SET_OF_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2187 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2188 SET_OF_AttributeId_set_of, hf_index, ett_cmip_SET_OF_AttributeId);
2192 static int dissect_attributeIdList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2193 return dissect_cmip_SET_OF_AttributeId(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeIdList);
2197 static const ber_sequence_t GetArgument_sequence[] = {
2198 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
2199 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
2200 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
2201 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_synchronization_impl },
2202 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_scope },
2203 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_filter },
2204 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeIdList_impl },
2209 dissect_cmip_GetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2210 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2211 GetArgument_sequence, hf_index, ett_cmip_GetArgument);
2219 dissect_cmip_Argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2220 switch(opcode_type){
2223 case 0: /* M-eventreport */
2224 offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1);
2226 case 1: /* M-eventreport-confirmed */
2227 offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1);
2229 case 2: /* M-linkedreply */
2230 offset = dissect_cmip_LinkedReplyArgument(FALSE, tvb, offset, pinfo, tree, -1);
2233 offset = dissect_cmip_GetArgument(FALSE, tvb, offset, pinfo, tree, -1);
2236 offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1);
2238 case 5: /* M-set-confirmed */
2239 offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1);
2241 case 6: /* M-action*/
2242 offset = dissect_cmip_ActionArgument(FALSE, tvb, offset, pinfo, tree, -1);
2244 case 7: /* M-action-confirmed*/
2245 offset = dissect_cmip_ActionArgument(FALSE, tvb, offset, pinfo, tree, -1);
2247 case 8: /* M-create*/
2248 offset = dissect_cmip_CreateArgument(FALSE, tvb, offset, pinfo, tree, -1);
2250 case 9: /* M-delete*/
2251 offset = dissect_cmip_DeleteArgument(FALSE, tvb, offset, pinfo, tree, -1);
2253 case 10: /* M-cancelget */
2254 offset = dissect_cmip_InvokeIDType(FALSE, tvb, offset, pinfo, tree, -1);
2258 case OPCODE_RETURN_RESULT:
2260 case 0: /* M-eventreport*/
2261 break; /* No return data */
2262 case 1: /* M-eventreport-confirmed */
2263 offset = dissect_cmip_EventReportResult(FALSE, tvb, offset, pinfo, tree, -1);
2265 case 2: /* M-linkedreply*/
2266 break; /* No return data */
2268 offset = dissect_cmip_GetResult(FALSE, tvb, offset, pinfo, tree, -1);
2271 break; /* No return data */
2272 case 5: /* M-set-confirmed*/
2273 offset = dissect_cmip_SetResult(FALSE, tvb, offset, pinfo, tree, -1);
2275 case 6: /* M-action*/
2276 break; /* No return data */
2277 case 7: /* M-action-confirmed*/
2278 offset = dissect_cmip_ActionResult(FALSE, tvb, offset, pinfo, tree, -1);
2280 case 8: /* M-create*/
2281 offset = dissect_cmip_CreateResult(FALSE, tvb, offset, pinfo, tree, -1);
2283 case 9: /* M-delete*/
2284 offset = dissect_cmip_DeleteResult(FALSE, tvb, offset, pinfo, tree, -1);
2286 case 10: /* M-cancelget */
2287 break; /* doe this one return any data? */
2290 /*XXX add more types here */
2296 static int dissect_argument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2297 return dissect_cmip_Argument(FALSE, tvb, offset, pinfo, tree, hf_cmip_argument);
2301 static const value_string cmip_Opcode_vals[] = {
2302 { 0, "m-EventReport" },
2303 { 1, "m-EventReport-Confirmed" },
2304 { 2, "m-Linked-Reply" },
2307 { 5, "m-Set-Confirmed" },
2309 { 7, "m-Action-Confirmed" },
2312 { 10, "m-CancelGet" },
2318 dissect_cmip_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2319 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2322 if(check_col(pinfo->cinfo, COL_INFO)){
2323 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s", val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%d"));
2328 static int dissect_opcode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2329 return dissect_cmip_Opcode(FALSE, tvb, offset, pinfo, tree, hf_cmip_opcode);
2333 static const ber_sequence_t ReturnResultBody_sequence[] = {
2334 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_opcode },
2335 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_argument },
2340 dissect_cmip_ReturnResultBody(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2341 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2342 ReturnResultBody_sequence, hf_index, ett_cmip_ReturnResultBody);
2346 static int dissect_rRBody(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2347 return dissect_cmip_ReturnResultBody(FALSE, tvb, offset, pinfo, tree, hf_cmip_rRBody);
2353 dissect_cmip_InvokeID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2354 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2359 static int dissect_present1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2360 return dissect_cmip_InvokeID(FALSE, tvb, offset, pinfo, tree, hf_cmip_present1);
2366 dissect_cmip_InvokeLinkedId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2367 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2372 static int dissect_linkedId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2373 return dissect_cmip_InvokeLinkedId(TRUE, tvb, offset, pinfo, tree, hf_cmip_linkedId);
2379 dissect_cmip_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2380 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
2384 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2385 return dissect_cmip_NULL(FALSE, tvb, offset, pinfo, tree, hf_cmip_absent);
2389 static const value_string cmip_InvokeId_vals[] = {
2395 static const ber_choice_t InvokeId_choice[] = {
2396 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_present1 },
2397 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
2398 { 0, 0, 0, 0, NULL }
2402 dissect_cmip_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2403 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2404 InvokeId_choice, hf_index, ett_cmip_InvokeId,
2409 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2410 return dissect_cmip_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_invokeId);
2416 dissect_cmip_InvokeIDType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2417 offset = dissect_cmip_InvokeId(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2423 static const ber_sequence_t Invoke_sequence[] = {
2424 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
2425 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_linkedId_impl },
2426 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_opcode },
2427 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_argument },
2432 dissect_cmip_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2433 opcode_type=OPCODE_INVOKE;
2434 if(check_col(pinfo->cinfo, COL_INFO)){
2435 col_prepend_fstr(pinfo->cinfo, COL_INFO, "Invoke ");
2437 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2438 Invoke_sequence, hf_index, ett_cmip_Invoke);
2442 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2443 return dissect_cmip_Invoke(TRUE, tvb, offset, pinfo, tree, hf_cmip_invoke);
2447 static const ber_sequence_t ReturnResult_sequence[] = {
2448 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
2449 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_rRBody },
2454 dissect_cmip_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2455 opcode_type=OPCODE_RETURN_RESULT;
2456 if(check_col(pinfo->cinfo, COL_INFO)){
2457 col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnResult ");
2459 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2460 ReturnResult_sequence, hf_index, ett_cmip_ReturnResult);
2464 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2465 return dissect_cmip_ReturnResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnResult);
2469 static const ber_sequence_t ReturnError_sequence[] = {
2470 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
2475 dissect_cmip_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2476 opcode_type=OPCODE_RETURN_ERROR;
2477 if(check_col(pinfo->cinfo, COL_INFO)){
2478 col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnError ");
2480 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2481 ReturnError_sequence, hf_index, ett_cmip_ReturnError);
2485 static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2486 return dissect_cmip_ReturnError(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnError);
2490 static const value_string cmip_GeneralProblem_vals[] = {
2491 { 0, "unrecognizedPDU" },
2492 { 1, "mistypedPDU" },
2493 { 2, "badlyStructuredPDU" },
2499 dissect_cmip_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2500 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2505 static int dissect_generalProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2506 return dissect_cmip_GeneralProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_generalProblem);
2510 static const value_string cmip_InvokeProblem_vals[] = {
2511 { 0, "duplicateInvocation" },
2512 { 1, "unrecognizedOperation" },
2513 { 2, "mistypedArgument" },
2514 { 3, "resourceLimitation" },
2515 { 4, "releaseInProgress" },
2516 { 5, "unrecognizedLinkedId" },
2517 { 6, "linkedResponseUnexpected" },
2518 { 7, "unexpectedLinkedOperation" },
2524 dissect_cmip_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2525 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2530 static int dissect_invokeProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2531 return dissect_cmip_InvokeProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_invokeProblem);
2535 static const value_string cmip_ReturnResultProblem_vals[] = {
2536 { 0, "unrecognizedInvocation" },
2537 { 1, "resultResponseUnexpected" },
2538 { 2, "mistypedResult" },
2544 dissect_cmip_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2545 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2550 static int dissect_returnResultProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2551 return dissect_cmip_ReturnResultProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnResultProblem);
2555 static const value_string cmip_ReturnErrorProblem_vals[] = {
2556 { 0, "unrecognizedInvocation" },
2557 { 1, "errorResponseUnexpected" },
2558 { 2, "unrecognizedError" },
2559 { 3, "unexpectedError" },
2560 { 4, "mistypedParameter" },
2566 dissect_cmip_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2567 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2572 static int dissect_returnErrorProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2573 return dissect_cmip_ReturnErrorProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnErrorProblem);
2577 static const value_string cmip_RejectProblem_vals[] = {
2578 { 0, "general-unrecognizedPDU" },
2579 { 1, "general-mistypedPDU" },
2580 { 2, "general-badlyStructuredPDU" },
2581 { 10, "invoke-duplicateInvocation" },
2582 { 11, "invoke-unrecognizedOperation" },
2583 { 12, "invoke-mistypedArgument" },
2584 { 13, "invoke-resourceLimitation" },
2585 { 14, "invoke-releaseInProgress" },
2586 { 15, "invoke-unrecognizedLinkedId" },
2587 { 16, "invoke-linkedResponseUnexpected" },
2588 { 17, "invoke-unexpectedLinkedOperation" },
2589 { 20, "returnResult-unrecognizedInvocation" },
2590 { 21, "returnResult-resultResponseUnexpected" },
2591 { 22, "returnResult-mistypedResult" },
2592 { 30, "returnError-unrecognizedInvocation" },
2593 { 31, "returnError-errorResponseUnexpected" },
2594 { 32, "returnError-unrecognizedError" },
2595 { 33, "returnError-unexpectedError" },
2596 { 34, "returnError-mistypedParameter" },
2602 dissect_cmip_RejectProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2603 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2610 static const value_string cmip_RejectProb_vals[] = {
2611 { 0, "generalProblem" },
2612 { 1, "invokeProblem" },
2613 { 2, "returnResultProblem" },
2614 { 3, "returnErrorProblem" },
2618 static const ber_choice_t RejectProb_choice[] = {
2619 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_generalProblem_impl },
2620 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invokeProblem_impl },
2621 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResultProblem_impl },
2622 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnErrorProblem_impl },
2623 { 0, 0, 0, 0, NULL }
2627 dissect_cmip_RejectProb(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2628 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2629 RejectProb_choice, hf_index, ett_cmip_RejectProb,
2634 static int dissect_rejectProblem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2635 return dissect_cmip_RejectProb(FALSE, tvb, offset, pinfo, tree, hf_cmip_rejectProblem);
2639 static const ber_sequence_t Reject_sequence[] = {
2640 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
2641 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_rejectProblem },
2646 dissect_cmip_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2647 opcode_type=OPCODE_REJECT;
2648 if(check_col(pinfo->cinfo, COL_INFO)){
2649 col_prepend_fstr(pinfo->cinfo, COL_INFO, "Reject ");
2651 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2652 Reject_sequence, hf_index, ett_cmip_Reject);
2656 static int dissect_reject_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2657 return dissect_cmip_Reject(TRUE, tvb, offset, pinfo, tree, hf_cmip_reject);
2661 const value_string cmip_ROS_vals[] = {
2663 { 2, "returnResult" },
2664 { 3, "returnError" },
2669 static const ber_choice_t ROS_choice[] = {
2670 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
2671 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
2672 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
2673 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
2674 { 0, 0, 0, 0, NULL }
2678 dissect_cmip_ROS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2679 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2680 ROS_choice, hf_index, ett_cmip_ROS,
2687 static const value_string cmip_CMIPAbortSource_vals[] = {
2688 { 0, "cmiseServiceUser" },
2689 { 1, "cmiseServiceProvider" },
2695 dissect_cmip_CMIPAbortSource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2698 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2701 if(check_col(pinfo->cinfo, COL_INFO)){
2702 col_append_fstr(pinfo->cinfo, COL_INFO, " AbortSource:%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%d"));
2707 static int dissect_abortSource_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2708 return dissect_cmip_CMIPAbortSource(TRUE, tvb, offset, pinfo, tree, hf_cmip_abortSource);
2712 static const ber_sequence_t CMIPAbortInfo_sequence[] = {
2713 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_abortSource_impl },
2714 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_userInfo },
2719 dissect_cmip_CMIPAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2720 if(check_col(pinfo->cinfo, COL_INFO)){
2721 col_append_fstr(pinfo->cinfo, COL_INFO, "CMIP-A-ABORT");
2723 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2724 CMIPAbortInfo_sequence, hf_index, ett_cmip_CMIPAbortInfo);
2730 static const asn_namedbit FunctionalUnits_bits[] = {
2731 { 0, &hf_cmip_FunctionalUnits_multipleObjectSelection, -1, -1, "multipleObjectSelection", NULL },
2732 { 1, &hf_cmip_FunctionalUnits_filter, -1, -1, "filter", NULL },
2733 { 2, &hf_cmip_FunctionalUnits_multipleReply, -1, -1, "multipleReply", NULL },
2734 { 3, &hf_cmip_FunctionalUnits_extendedService, -1, -1, "extendedService", NULL },
2735 { 4, &hf_cmip_FunctionalUnits_cancelGet, -1, -1, "cancelGet", NULL },
2736 { 0, NULL, 0, 0, NULL, NULL }
2740 dissect_cmip_FunctionalUnits(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2741 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2742 FunctionalUnits_bits, hf_index, ett_cmip_FunctionalUnits,
2747 static int dissect_functionalUnits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2748 return dissect_cmip_FunctionalUnits(TRUE, tvb, offset, pinfo, tree, hf_cmip_functionalUnits);
2752 static const asn_namedbit ProtocolVersion_bits[] = {
2753 { 0, &hf_cmip_ProtocolVersion_version1, -1, -1, "version1", NULL },
2754 { 1, &hf_cmip_ProtocolVersion_version2, -1, -1, "version2", NULL },
2755 { 0, NULL, 0, 0, NULL, NULL }
2759 dissect_cmip_ProtocolVersion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2760 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2761 ProtocolVersion_bits, hf_index, ett_cmip_ProtocolVersion,
2766 static int dissect_protocolVersion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2767 return dissect_cmip_ProtocolVersion(TRUE, tvb, offset, pinfo, tree, hf_cmip_protocolVersion);
2771 static const ber_sequence_t CMIPUserInfo_sequence[] = {
2772 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_protocolVersion_impl },
2773 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_functionalUnits_impl },
2774 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_accessControl1 },
2775 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_userInfo },
2780 dissect_cmip_CMIPUserInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2781 if(check_col(pinfo->cinfo, COL_INFO)){
2782 col_append_fstr(pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE");
2784 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2785 CMIPUserInfo_sequence, hf_index, ett_cmip_CMIPUserInfo);
2791 /*--- End of included file: packet-cmip-fn.c ---*/
2796 dissect_cmip_attribute_35(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2799 dissect_cmip_OperationalState(FALSE, tvb, 0, pinfo, parent_tree, hf_OperationalState);
2804 dissect_cmip_attribute_55(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2807 dissect_cmip_Destination(FALSE, tvb, 0, pinfo, parent_tree,hf_Destination);
2812 dissect_cmip_attribute_56(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2815 dissect_cmip_DiscriminatorConstruct(FALSE, tvb, 0, pinfo, parent_tree, hf_DiscriminatorConstruct);
2820 dissect_cmip_attribute_63(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2823 dissect_cmip_NameBinding(FALSE, tvb, 0, pinfo, parent_tree, hf_NameBinding);
2828 dissect_cmip_attribute_65(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2831 dissect_cmip_ObjectClass(FALSE, tvb, 0, pinfo, parent_tree, hf_ObjectClass);
2836 /* XXX this one should be broken out later and moved into the conformance file */
2838 dissect_cmip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2840 static struct SESSION_DATA_STRUCTURE* session = NULL;
2841 proto_item *item = NULL;
2842 proto_tree *tree = NULL;
2845 /* do we have spdu type from the session dissector? */
2846 if( !pinfo->private_data ){
2848 proto_tree_add_text(tree, tvb, 0, -1,
2849 "Internal error:can't get spdu type from session dissector.");
2853 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
2854 if(session->spdu_type == 0 ){
2856 proto_tree_add_text(tree, tvb, 0, -1,
2857 "Internal error:wrong spdu type %x from session dissector.",session->spdu_type);
2864 item = proto_tree_add_item(parent_tree, proto_cmip, tvb, 0, -1, FALSE);
2865 tree = proto_item_add_subtree(item, ett_cmip);
2868 if (check_col(pinfo->cinfo, COL_PROTOCOL))
2869 col_set_str(pinfo->cinfo, COL_PROTOCOL, "CMIP");
2870 if (check_col(pinfo->cinfo, COL_INFO))
2871 col_clear(pinfo->cinfo, COL_INFO);
2872 switch(session->spdu_type){
2873 case SES_CONNECTION_REQUEST:
2874 case SES_CONNECTION_ACCEPT:
2875 case SES_DISCONNECT:
2878 dissect_cmip_CMIPUserInfo(FALSE,tvb,0,pinfo,tree,-1);
2881 dissect_cmip_CMIPAbortInfo(FALSE,tvb,0,pinfo,tree,-1);
2883 case SES_DATA_TRANSFER:
2884 dissect_cmip_ROS(FALSE,tvb,0,pinfo,tree,-1);
2891 /*--- proto_register_cmip ----------------------------------------------*/
2892 void proto_register_cmip(void) {
2894 /* List of fields */
2895 static hf_register_info hf[] = {
2896 { &hf_cmip_actionType_OID,
2897 { "actionType", "cmip.actionType_OID",
2898 FT_STRING, BASE_NONE, NULL, 0,
2899 "actionType", HFILL }},
2900 { &hf_cmip_eventType_OID,
2901 { "eventType", "cmip.eventType_OID",
2902 FT_STRING, BASE_NONE, NULL, 0,
2903 "eventType", HFILL }},
2904 { &hf_cmip_attributeId_OID,
2905 { "attributeId", "cmip.attributeId_OID",
2906 FT_STRING, BASE_NONE, NULL, 0,
2907 "attributeId", HFILL }},
2908 { &hf_cmip_errorId_OID,
2909 { "errorId", "cmip.errorId_OID",
2910 FT_STRING, BASE_NONE, NULL, 0,
2911 "errorId", HFILL }},
2912 { &hf_DiscriminatorConstruct,
2913 { "DiscriminatorConstruct", "cmip.DiscriminatorConstruct",
2914 FT_UINT32, BASE_DEC, NULL, 0,
2917 { "Destination", "cmip.Destination",
2918 FT_UINT32, BASE_DEC, NULL, 0,
2921 { "NameBinding", "cmip.NameBinding",
2922 FT_STRING, BASE_NONE, NULL, 0,
2925 { "ObjectClass", "cmip.ObjectClass",
2926 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
2928 { &hf_OperationalState,
2929 { "OperationalState", "cmip.OperationalState",
2930 FT_UINT32, BASE_DEC, VALS(cmip_OperationalState_vals), 0,
2934 /*--- Included file: packet-cmip-hfarr.c ---*/
2936 { &hf_cmip_modifyOperator,
2937 { "modifyOperator", "cmip.modifyOperator",
2938 FT_INT32, BASE_DEC, VALS(cmip_ModifyOperator_vals), 0,
2940 { &hf_cmip_attributeId,
2941 { "attributeId", "cmip.attributeId",
2942 FT_STRING, BASE_NONE, NULL, 0,
2943 "ModificationItem/attributeId", HFILL }},
2944 { &hf_cmip_attributeValue,
2945 { "attributeValue", "cmip.attributeValue",
2946 FT_NONE, BASE_NONE, NULL, 0,
2947 "ModificationItem/attributeValue", HFILL }},
2948 { &hf_cmip_managedObjectClass,
2949 { "managedObjectClass", "cmip.managedObjectClass",
2950 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
2952 { &hf_cmip_managedObjectInstance,
2953 { "managedObjectInstance", "cmip.managedObjectInstance",
2954 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
2956 { &hf_cmip_currentTime,
2957 { "currentTime", "cmip.currentTime",
2958 FT_STRING, BASE_NONE, NULL, 0,
2960 { &hf_cmip_getInfoList,
2961 { "getInfoList", "cmip.getInfoList",
2962 FT_UINT32, BASE_DEC, NULL, 0,
2963 "GetListError/getInfoList", HFILL }},
2964 { &hf_cmip_getInfoList_item,
2965 { "Item", "cmip.getInfoList_item",
2966 FT_UINT32, BASE_DEC, VALS(cmip_GetInfoStatus_vals), 0,
2967 "GetListError/getInfoList/_item", HFILL }},
2968 { &hf_cmip_attributeIdError,
2969 { "attributeIdError", "cmip.attributeIdError",
2970 FT_NONE, BASE_NONE, NULL, 0,
2971 "GetInfoStatus/attributeIdError", HFILL }},
2972 { &hf_cmip_attribute,
2973 { "attribute", "cmip.attribute",
2974 FT_NONE, BASE_NONE, NULL, 0,
2976 { &hf_cmip_errorStatus,
2977 { "errorStatus", "cmip.errorStatus",
2978 FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus_vals), 0,
2979 "AttributeIdError/errorStatus", HFILL }},
2980 { &hf_cmip_attributeId1,
2981 { "attributeId", "cmip.attributeId",
2982 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
2983 "AttributeIdError/attributeId", HFILL }},
2984 { &hf_cmip_setInfoList,
2985 { "setInfoList", "cmip.setInfoList",
2986 FT_UINT32, BASE_DEC, NULL, 0,
2987 "SetListError/setInfoList", HFILL }},
2988 { &hf_cmip_setInfoList_item,
2989 { "Item", "cmip.setInfoList_item",
2990 FT_UINT32, BASE_DEC, VALS(cmip_SetInfoStatus_vals), 0,
2991 "SetListError/setInfoList/_item", HFILL }},
2992 { &hf_cmip_actionErrorInfo,
2993 { "actionErrorInfo", "cmip.actionErrorInfo",
2994 FT_NONE, BASE_NONE, NULL, 0,
2995 "ActionError/actionErrorInfo", HFILL }},
2996 { &hf_cmip_specificErrorInfo,
2997 { "specificErrorInfo", "cmip.specificErrorInfo",
2998 FT_NONE, BASE_NONE, NULL, 0,
2999 "ProcessingFailure/specificErrorInfo", HFILL }},
3000 { &hf_cmip_RDNSequence_item,
3001 { "Item", "cmip.RDNSequence_item",
3002 FT_UINT32, BASE_DEC, NULL, 0,
3003 "RDNSequence/_item", HFILL }},
3004 { &hf_cmip_RelativeDistinguishedName_item,
3005 { "Item", "cmip.RelativeDistinguishedName_item",
3006 FT_NONE, BASE_NONE, NULL, 0,
3007 "RelativeDistinguishedName/_item", HFILL }},
3008 { &hf_cmip_deleteErrorInfo,
3009 { "deleteErrorInfo", "cmip.deleteErrorInfo",
3010 FT_UINT32, BASE_DEC, VALS(cmip_T_deleteErrorInfo_vals), 0,
3011 "DeleteError/deleteErrorInfo", HFILL }},
3012 { &hf_cmip_attributeError,
3013 { "attributeError", "cmip.attributeError",
3014 FT_NONE, BASE_NONE, NULL, 0,
3015 "SetInfoStatus/attributeError", HFILL }},
3017 { "errorId", "cmip.errorId",
3018 FT_STRING, BASE_NONE, NULL, 0,
3019 "SpecificErrorInfo/errorId", HFILL }},
3020 { &hf_cmip_errorInfo,
3021 { "errorInfo", "cmip.errorInfo",
3022 FT_NONE, BASE_NONE, NULL, 0,
3023 "SpecificErrorInfo/errorInfo", HFILL }},
3024 { &hf_cmip_actionType,
3025 { "actionType", "cmip.actionType",
3026 FT_STRING, BASE_NONE, NULL, 0,
3027 "NoSuchArgumentAction/actionType", HFILL }},
3028 { &hf_cmip_eventType,
3029 { "eventType", "cmip.eventType",
3030 FT_STRING, BASE_NONE, NULL, 0,
3031 "NoSuchArgumentEvent/eventType", HFILL }},
3032 { &hf_cmip_actionId,
3033 { "actionId", "cmip.actionId",
3034 FT_NONE, BASE_NONE, NULL, 0,
3035 "NoSuchArgument/actionId", HFILL }},
3037 { "eventId", "cmip.eventId",
3038 FT_NONE, BASE_NONE, NULL, 0,
3039 "NoSuchArgument/eventId", HFILL }},
3040 { &hf_cmip_eventType1,
3041 { "eventType", "cmip.eventType",
3042 FT_STRING, BASE_NONE, NULL, 0,
3043 "InvalidArgumentValueEventValue/eventType", HFILL }},
3044 { &hf_cmip_eventInfo,
3045 { "eventInfo", "cmip.eventInfo",
3046 FT_NONE, BASE_NONE, NULL, 0,
3047 "InvalidArgumentValueEventValue/eventInfo", HFILL }},
3048 { &hf_cmip_actionValue,
3049 { "actionValue", "cmip.actionValue",
3050 FT_NONE, BASE_NONE, NULL, 0,
3051 "InvalidArgumentValue/actionValue", HFILL }},
3052 { &hf_cmip_eventValue,
3053 { "eventValue", "cmip.eventValue",
3054 FT_NONE, BASE_NONE, NULL, 0,
3055 "InvalidArgumentValue/eventValue", HFILL }},
3056 { &hf_cmip_actionType1,
3057 { "actionType", "cmip.actionType",
3058 FT_STRING, BASE_NONE, NULL, 0,
3059 "ErrorInfo/actionType", HFILL }},
3060 { &hf_cmip_actionArgument,
3061 { "actionArgument", "cmip.actionArgument",
3062 FT_UINT32, BASE_DEC, VALS(cmip_NoSuchArgument_vals), 0,
3063 "ErrorInfo/actionArgument", HFILL }},
3064 { &hf_cmip_argumentValue,
3065 { "argumentValue", "cmip.argumentValue",
3066 FT_UINT32, BASE_DEC, VALS(cmip_InvalidArgumentValue_vals), 0,
3067 "ErrorInfo/argumentValue", HFILL }},
3068 { &hf_cmip_errorStatus1,
3069 { "errorStatus", "cmip.errorStatus",
3070 FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus1_vals), 0,
3071 "ActionErrorInfo/errorStatus", HFILL }},
3072 { &hf_cmip_errorInfo1,
3073 { "errorInfo", "cmip.errorInfo",
3074 FT_UINT32, BASE_DEC, VALS(cmip_ErrorInfo_vals), 0,
3075 "ActionErrorInfo/errorInfo", HFILL }},
3076 { &hf_cmip_errorStatus2,
3077 { "errorStatus", "cmip.errorStatus",
3078 FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus2_vals), 0,
3079 "AttributeError/errorStatus", HFILL }},
3080 { &hf_cmip_attributeId2,
3081 { "attributeId", "cmip.attributeId",
3082 FT_STRING, BASE_NONE, NULL, 0,
3083 "AttributeError/attributeId", HFILL }},
3084 { &hf_cmip_attributeValue1,
3085 { "attributeValue", "cmip.attributeValue",
3086 FT_NONE, BASE_NONE, NULL, 0,
3087 "AttributeError/attributeValue", HFILL }},
3088 { &hf_cmip_attributeList,
3089 { "attributeList", "cmip.attributeList",
3090 FT_UINT32, BASE_DEC, NULL, 0,
3092 { &hf_cmip_attributeList_item,
3093 { "Item", "cmip.attributeList_item",
3094 FT_NONE, BASE_NONE, NULL, 0,
3096 { &hf_cmip_baseManagedObjectClass,
3097 { "baseManagedObjectClass", "cmip.baseManagedObjectClass",
3098 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
3100 { &hf_cmip_baseManagedObjectInstance,
3101 { "baseManagedObjectInstance", "cmip.baseManagedObjectInstance",
3102 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
3104 { &hf_cmip_accessControl,
3105 { "accessControl", "cmip.accessControl",
3106 FT_NONE, BASE_NONE, NULL, 0,
3108 { &hf_cmip_synchronization,
3109 { "synchronization", "cmip.synchronization",
3110 FT_UINT32, BASE_DEC, VALS(cmip_CMISSync_vals), 0,
3113 { "scope", "cmip.scope",
3114 FT_UINT32, BASE_DEC, VALS(cmip_Scope_vals), 0,
3117 { "filter", "cmip.filter",
3118 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
3120 { &hf_cmip_modificationList,
3121 { "modificationList", "cmip.modificationList",
3122 FT_UINT32, BASE_DEC, NULL, 0,
3123 "SetArgument/modificationList", HFILL }},
3124 { &hf_cmip_modificationList_item,
3125 { "Item", "cmip.modificationList_item",
3126 FT_NONE, BASE_NONE, NULL, 0,
3127 "SetArgument/modificationList/_item", HFILL }},
3128 { &hf_cmip_getResult,
3129 { "getResult", "cmip.getResult",
3130 FT_NONE, BASE_NONE, NULL, 0,
3131 "LinkedReplyArgument/getResult", HFILL }},
3132 { &hf_cmip_getListError,
3133 { "getListError", "cmip.getListError",
3134 FT_NONE, BASE_NONE, NULL, 0,
3135 "LinkedReplyArgument/getListError", HFILL }},
3136 { &hf_cmip_setResult,
3137 { "setResult", "cmip.setResult",
3138 FT_NONE, BASE_NONE, NULL, 0,
3139 "LinkedReplyArgument/setResult", HFILL }},
3140 { &hf_cmip_setListError,
3141 { "setListError", "cmip.setListError",
3142 FT_NONE, BASE_NONE, NULL, 0,
3143 "LinkedReplyArgument/setListError", HFILL }},
3144 { &hf_cmip_actionResult,
3145 { "actionResult", "cmip.actionResult",
3146 FT_NONE, BASE_NONE, NULL, 0,
3147 "LinkedReplyArgument/actionResult", HFILL }},
3148 { &hf_cmip_processingFailure,
3149 { "processingFailure", "cmip.processingFailure",
3150 FT_NONE, BASE_NONE, NULL, 0,
3151 "LinkedReplyArgument/processingFailure", HFILL }},
3152 { &hf_cmip_deleteResult,
3153 { "deleteResult", "cmip.deleteResult",
3154 FT_NONE, BASE_NONE, NULL, 0,
3155 "LinkedReplyArgument/deleteResult", HFILL }},
3156 { &hf_cmip_actionError,
3157 { "actionError", "cmip.actionError",
3158 FT_NONE, BASE_NONE, NULL, 0,
3159 "LinkedReplyArgument/actionError", HFILL }},
3160 { &hf_cmip_deleteError,
3161 { "deleteError", "cmip.deleteError",
3162 FT_NONE, BASE_NONE, NULL, 0,
3163 "LinkedReplyArgument/deleteError", HFILL }},
3164 { &hf_cmip_eventType2,
3165 { "eventType", "cmip.eventType",
3166 FT_STRING, BASE_NONE, NULL, 0,
3167 "EventReply/eventType", HFILL }},
3168 { &hf_cmip_eventReplyInfo,
3169 { "eventReplyInfo", "cmip.eventReplyInfo",
3170 FT_NONE, BASE_NONE, NULL, 0,
3171 "EventReply/eventReplyInfo", HFILL }},
3172 { &hf_cmip_eventReply,
3173 { "eventReply", "cmip.eventReply",
3174 FT_NONE, BASE_NONE, NULL, 0,
3175 "EventReportResult/eventReply", HFILL }},
3176 { &hf_cmip_eventTime,
3177 { "eventTime", "cmip.eventTime",
3178 FT_STRING, BASE_NONE, NULL, 0,
3179 "EventReportArgument/eventTime", HFILL }},
3180 { &hf_cmip_eventType3,
3181 { "eventType", "cmip.eventType",
3182 FT_STRING, BASE_NONE, NULL, 0,
3183 "EventReportArgument/eventType", HFILL }},
3184 { &hf_cmip_eventInfo1,
3185 { "eventInfo", "cmip.eventInfo",
3186 FT_NONE, BASE_NONE, NULL, 0,
3187 "EventReportArgument/eventInfo", HFILL }},
3188 { &hf_cmip_managedOrSuperiorObjectInstance,
3189 { "managedOrSuperiorObjectInstance", "cmip.managedOrSuperiorObjectInstance",
3190 FT_UINT32, BASE_DEC, VALS(cmip_T_managedOrSuperiorObjectInstance_vals), 0,
3191 "CreateArgument/managedOrSuperiorObjectInstance", HFILL }},
3192 { &hf_cmip_superiorObjectInstance,
3193 { "superiorObjectInstance", "cmip.superiorObjectInstance",
3194 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
3195 "CreateArgument/managedOrSuperiorObjectInstance/superiorObjectInstance", HFILL }},
3196 { &hf_cmip_referenceObjectInstance,
3197 { "referenceObjectInstance", "cmip.referenceObjectInstance",
3198 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
3199 "CreateArgument/referenceObjectInstance", HFILL }},
3200 { &hf_cmip_actionType2,
3201 { "actionType", "cmip.actionType",
3202 FT_STRING, BASE_NONE, NULL, 0,
3203 "ActionReply/actionType", HFILL }},
3204 { &hf_cmip_actionReplyInfo,
3205 { "actionReplyInfo", "cmip.actionReplyInfo",
3206 FT_NONE, BASE_NONE, NULL, 0,
3207 "ActionReply/actionReplyInfo", HFILL }},
3208 { &hf_cmip_actionReply,
3209 { "actionReply", "cmip.actionReply",
3210 FT_NONE, BASE_NONE, NULL, 0,
3211 "ActionResult/actionReply", HFILL }},
3212 { &hf_cmip_actionInfo,
3213 { "actionInfo", "cmip.actionInfo",
3214 FT_NONE, BASE_NONE, NULL, 0,
3215 "ActionArgument/actionInfo", HFILL }},
3216 { &hf_cmip_actionType3,
3217 { "actionType", "cmip.actionType",
3218 FT_STRING, BASE_NONE, NULL, 0,
3219 "ActionInfo/actionType", HFILL }},
3220 { &hf_cmip_actionInfoArg,
3221 { "actionInfoArg", "cmip.actionInfoArg",
3222 FT_NONE, BASE_NONE, NULL, 0,
3223 "ActionInfo/actionInfoArg", HFILL }},
3224 { &hf_cmip_ocglobalForm,
3225 { "ocglobalForm", "cmip.ocglobalForm",
3226 FT_STRING, BASE_NONE, NULL, 0,
3227 "ObjectClass/ocglobalForm", HFILL }},
3228 { &hf_cmip_oclocalForm,
3229 { "oclocalForm", "cmip.oclocalForm",
3230 FT_INT32, BASE_DEC, NULL, 0,
3231 "ObjectClass/oclocalForm", HFILL }},
3232 { &hf_cmip_distinguishedName,
3233 { "distinguishedName", "cmip.distinguishedName",
3234 FT_UINT32, BASE_DEC, NULL, 0,
3235 "ObjectInstance/distinguishedName", HFILL }},
3236 { &hf_cmip_nonSpecificForm,
3237 { "nonSpecificForm", "cmip.nonSpecificForm",
3238 FT_BYTES, BASE_HEX, NULL, 0,
3239 "ObjectInstance/nonSpecificForm", HFILL }},
3240 { &hf_cmip_localDistinguishedName,
3241 { "localDistinguishedName", "cmip.localDistinguishedName",
3242 FT_UINT32, BASE_DEC, NULL, 0,
3243 "ObjectInstance/localDistinguishedName", HFILL }},
3244 { &hf_cmip_globalForm,
3245 { "globalForm", "cmip.globalForm",
3246 FT_STRING, BASE_NONE, NULL, 0,
3247 "AttributeId/globalForm", HFILL }},
3248 { &hf_cmip_localForm,
3249 { "localForm", "cmip.localForm",
3250 FT_INT32, BASE_DEC, NULL, 0,
3251 "AttributeId/localForm", HFILL }},
3254 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
3255 "Attribute/id", HFILL }},
3257 { "value", "cmip.value",
3258 FT_NONE, BASE_NONE, NULL, 0,
3259 "Attribute/value", HFILL }},
3262 FT_STRING, BASE_NONE, NULL, 0,
3263 "AttributeValueAssertion/id", HFILL }},
3265 { "value", "cmip.value",
3266 FT_NONE, BASE_NONE, NULL, 0,
3267 "AttributeValueAssertion/value", HFILL }},
3268 { &hf_cmip_equality,
3269 { "equality", "cmip.equality",
3270 FT_NONE, BASE_NONE, NULL, 0,
3271 "FilterItem/equality", HFILL }},
3272 { &hf_cmip_substrings,
3273 { "substrings", "cmip.substrings",
3274 FT_UINT32, BASE_DEC, NULL, 0,
3275 "FilterItem/substrings", HFILL }},
3276 { &hf_cmip_substrings_item,
3277 { "Item", "cmip.substrings_item",
3278 FT_UINT32, BASE_DEC, VALS(cmip_T_substrings_item_vals), 0,
3279 "FilterItem/substrings/_item", HFILL }},
3280 { &hf_cmip_initialString,
3281 { "initialString", "cmip.initialString",
3282 FT_NONE, BASE_NONE, NULL, 0,
3283 "FilterItem/substrings/_item/initialString", HFILL }},
3284 { &hf_cmip_anyString,
3285 { "anyString", "cmip.anyString",
3286 FT_NONE, BASE_NONE, NULL, 0,
3287 "FilterItem/substrings/_item/anyString", HFILL }},
3288 { &hf_cmip_finalString,
3289 { "finalString", "cmip.finalString",
3290 FT_NONE, BASE_NONE, NULL, 0,
3291 "FilterItem/substrings/_item/finalString", HFILL }},
3292 { &hf_cmip_greaterOrEqual,
3293 { "greaterOrEqual", "cmip.greaterOrEqual",
3294 FT_NONE, BASE_NONE, NULL, 0,
3295 "FilterItem/greaterOrEqual", HFILL }},
3296 { &hf_cmip_lessOrEqual,
3297 { "lessOrEqual", "cmip.lessOrEqual",
3298 FT_NONE, BASE_NONE, NULL, 0,
3299 "FilterItem/lessOrEqual", HFILL }},
3301 { "present", "cmip.present",
3302 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
3303 "FilterItem/present", HFILL }},
3304 { &hf_cmip_subsetOf,
3305 { "subsetOf", "cmip.subsetOf",
3306 FT_NONE, BASE_NONE, NULL, 0,
3307 "FilterItem/subsetOf", HFILL }},
3308 { &hf_cmip_supersetOf,
3309 { "supersetOf", "cmip.supersetOf",
3310 FT_NONE, BASE_NONE, NULL, 0,
3311 "FilterItem/supersetOf", HFILL }},
3312 { &hf_cmip_nonNullSetIntersection,
3313 { "nonNullSetIntersection", "cmip.nonNullSetIntersection",
3314 FT_NONE, BASE_NONE, NULL, 0,
3315 "FilterItem/nonNullSetIntersection", HFILL }},
3317 { "single", "cmip.single",
3318 FT_UINT32, BASE_DEC, VALS(cmip_AE_title_vals), 0,
3319 "Destination/single", HFILL }},
3320 { &hf_cmip_multiple,
3321 { "multiple", "cmip.multiple",
3322 FT_UINT32, BASE_DEC, NULL, 0,
3323 "Destination/multiple", HFILL }},
3324 { &hf_cmip_multiple_item,
3325 { "Item", "cmip.multiple_item",
3326 FT_UINT32, BASE_DEC, VALS(cmip_AE_title_vals), 0,
3327 "Destination/multiple/_item", HFILL }},
3328 { &hf_cmip_ae_title_form1,
3329 { "ae-title-form1", "cmip.ae_title_form1",
3330 FT_UINT32, BASE_DEC, VALS(cmip_Name_vals), 0,
3331 "AE-title/ae-title-form1", HFILL }},
3332 { &hf_cmip_ae_title_form2,
3333 { "ae-title-form2", "cmip.ae_title_form2",
3334 FT_STRING, BASE_NONE, NULL, 0,
3335 "AE-title/ae-title-form2", HFILL }},
3336 { &hf_cmip_rdnSequence,
3337 { "rdnSequence", "cmip.rdnSequence",
3338 FT_UINT32, BASE_DEC, NULL, 0,
3339 "Name/rdnSequence", HFILL }},
3341 { "item", "cmip.item",
3342 FT_UINT32, BASE_DEC, VALS(cmip_FilterItem_vals), 0,
3343 "CMISFilter/item", HFILL }},
3345 { "and", "cmip.and",
3346 FT_UINT32, BASE_DEC, NULL, 0,
3347 "CMISFilter/and", HFILL }},
3348 { &hf_cmip_and_item,
3349 { "Item", "cmip.and_item",
3350 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
3351 "CMISFilter/and/_item", HFILL }},
3354 FT_UINT32, BASE_DEC, NULL, 0,
3355 "CMISFilter/or", HFILL }},
3357 { "Item", "cmip.or_item",
3358 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
3359 "CMISFilter/or/_item", HFILL }},
3361 { "not", "cmip.not",
3362 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
3363 "CMISFilter/not", HFILL }},
3364 { &hf_cmip_namedNumbers,
3365 { "namedNumbers", "cmip.namedNumbers",
3366 FT_INT32, BASE_DEC, VALS(cmip_T_namedNumbers_vals), 0,
3367 "Scope/namedNumbers", HFILL }},
3368 { &hf_cmip_individualLevels,
3369 { "individualLevels", "cmip.individualLevels",
3370 FT_INT32, BASE_DEC, NULL, 0,
3371 "Scope/individualLevels", HFILL }},
3372 { &hf_cmip_baseToNthLevel,
3373 { "baseToNthLevel", "cmip.baseToNthLevel",
3374 FT_INT32, BASE_DEC, NULL, 0,
3375 "Scope/baseToNthLevel", HFILL }},
3376 { &hf_cmip_attributeIdList,
3377 { "attributeIdList", "cmip.attributeIdList",
3378 FT_UINT32, BASE_DEC, NULL, 0,
3379 "GetArgument/attributeIdList", HFILL }},
3380 { &hf_cmip_attributeIdList_item,
3381 { "Item", "cmip.attributeIdList_item",
3382 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
3383 "GetArgument/attributeIdList/_item", HFILL }},
3385 { "opcode", "cmip.opcode",
3386 FT_INT32, BASE_DEC, VALS(cmip_Opcode_vals), 0,
3388 { &hf_cmip_argument,
3389 { "argument", "cmip.argument",
3390 FT_NONE, BASE_NONE, NULL, 0,
3392 { &hf_cmip_present1,
3393 { "present", "cmip.present",
3394 FT_INT32, BASE_DEC, NULL, 0,
3395 "InvokeId/present", HFILL }},
3397 { "absent", "cmip.absent",
3398 FT_NONE, BASE_NONE, NULL, 0,
3399 "InvokeId/absent", HFILL }},
3400 { &hf_cmip_invokeId,
3401 { "invokeId", "cmip.invokeId",
3402 FT_UINT32, BASE_DEC, VALS(cmip_InvokeId_vals), 0,
3404 { &hf_cmip_linkedId,
3405 { "linkedId", "cmip.linkedId",
3406 FT_INT32, BASE_DEC, NULL, 0,
3407 "Invoke/linkedId", HFILL }},
3409 { "rRBody", "cmip.rRBody",
3410 FT_NONE, BASE_NONE, NULL, 0,
3411 "ReturnResult/rRBody", HFILL }},
3412 { &hf_cmip_generalProblem,
3413 { "generalProblem", "cmip.generalProblem",
3414 FT_INT32, BASE_DEC, VALS(cmip_GeneralProblem_vals), 0,
3415 "RejectProb/generalProblem", HFILL }},
3416 { &hf_cmip_invokeProblem,
3417 { "invokeProblem", "cmip.invokeProblem",
3418 FT_INT32, BASE_DEC, VALS(cmip_InvokeProblem_vals), 0,
3419 "RejectProb/invokeProblem", HFILL }},
3420 { &hf_cmip_returnResultProblem,
3421 { "returnResultProblem", "cmip.returnResultProblem",
3422 FT_INT32, BASE_DEC, VALS(cmip_ReturnResultProblem_vals), 0,
3423 "RejectProb/returnResultProblem", HFILL }},
3424 { &hf_cmip_returnErrorProblem,
3425 { "returnErrorProblem", "cmip.returnErrorProblem",
3426 FT_INT32, BASE_DEC, VALS(cmip_ReturnErrorProblem_vals), 0,
3427 "RejectProb/returnErrorProblem", HFILL }},
3428 { &hf_cmip_rejectProblem,
3429 { "rejectProblem", "cmip.rejectProblem",
3430 FT_UINT32, BASE_DEC, VALS(cmip_RejectProb_vals), 0,
3431 "Reject/rejectProblem", HFILL }},
3433 { "invoke", "cmip.invoke",
3434 FT_NONE, BASE_NONE, NULL, 0,
3435 "ROS/invoke", HFILL }},
3436 { &hf_cmip_returnResult,
3437 { "returnResult", "cmip.returnResult",
3438 FT_NONE, BASE_NONE, NULL, 0,
3439 "ROS/returnResult", HFILL }},
3440 { &hf_cmip_returnError,
3441 { "returnError", "cmip.returnError",
3442 FT_NONE, BASE_NONE, NULL, 0,
3443 "ROS/returnError", HFILL }},
3445 { "reject", "cmip.reject",
3446 FT_NONE, BASE_NONE, NULL, 0,
3447 "ROS/reject", HFILL }},
3448 { &hf_cmip_abortSource,
3449 { "abortSource", "cmip.abortSource",
3450 FT_UINT32, BASE_DEC, VALS(cmip_CMIPAbortSource_vals), 0,
3451 "CMIPAbortInfo/abortSource", HFILL }},
3452 { &hf_cmip_userInfo,
3453 { "userInfo", "cmip.userInfo",
3454 FT_NONE, BASE_NONE, NULL, 0,
3456 { &hf_cmip_protocolVersion,
3457 { "protocolVersion", "cmip.protocolVersion",
3458 FT_BYTES, BASE_HEX, NULL, 0,
3459 "CMIPUserInfo/protocolVersion", HFILL }},
3460 { &hf_cmip_functionalUnits,
3461 { "functionalUnits", "cmip.functionalUnits",
3462 FT_BYTES, BASE_HEX, NULL, 0,
3463 "CMIPUserInfo/functionalUnits", HFILL }},
3464 { &hf_cmip_accessControl1,
3465 { "accessControl", "cmip.accessControl",
3466 FT_NONE, BASE_NONE, NULL, 0,
3467 "CMIPUserInfo/accessControl", HFILL }},
3468 { &hf_cmip_FunctionalUnits_multipleObjectSelection,
3469 { "multipleObjectSelection", "cmip.multipleObjectSelection",
3470 FT_BOOLEAN, 8, NULL, 0x80,
3472 { &hf_cmip_FunctionalUnits_filter,
3473 { "filter", "cmip.filter",
3474 FT_BOOLEAN, 8, NULL, 0x40,
3476 { &hf_cmip_FunctionalUnits_multipleReply,
3477 { "multipleReply", "cmip.multipleReply",
3478 FT_BOOLEAN, 8, NULL, 0x20,
3480 { &hf_cmip_FunctionalUnits_extendedService,
3481 { "extendedService", "cmip.extendedService",
3482 FT_BOOLEAN, 8, NULL, 0x10,
3484 { &hf_cmip_FunctionalUnits_cancelGet,
3485 { "cancelGet", "cmip.cancelGet",
3486 FT_BOOLEAN, 8, NULL, 0x08,
3488 { &hf_cmip_ProtocolVersion_version1,
3489 { "version1", "cmip.version1",
3490 FT_BOOLEAN, 8, NULL, 0x80,
3492 { &hf_cmip_ProtocolVersion_version2,
3493 { "version2", "cmip.version2",
3494 FT_BOOLEAN, 8, NULL, 0x40,
3497 /*--- End of included file: packet-cmip-hfarr.c ---*/
3501 /* List of subtrees */
3502 static gint *ett[] = {
3505 /*--- Included file: packet-cmip-ettarr.c ---*/
3507 &ett_cmip_ModificationItem,
3508 &ett_cmip_GetListError,
3509 &ett_cmip_SET_OF_GetInfoStatus,
3510 &ett_cmip_GetInfoStatus,
3511 &ett_cmip_AttributeIdError,
3512 &ett_cmip_SetListError,
3513 &ett_cmip_SET_OF_SetInfoStatus,
3514 &ett_cmip_ActionError,
3515 &ett_cmip_ProcessingFailure,
3516 &ett_cmip_RDNSequence,
3517 &ett_cmip_RelativeDistinguishedName,
3518 &ett_cmip_DeleteError,
3519 &ett_cmip_SetInfoStatus,
3520 &ett_cmip_SpecificErrorInfo,
3521 &ett_cmip_NoSuchArgumentAction,
3522 &ett_cmip_NoSuchArgumentEvent,
3523 &ett_cmip_NoSuchArgument,
3524 &ett_cmip_InvalidArgumentValueEventValue,
3525 &ett_cmip_InvalidArgumentValue,
3526 &ett_cmip_ErrorInfo,
3527 &ett_cmip_ActionErrorInfo,
3528 &ett_cmip_AttributeError,
3529 &ett_cmip_SetResult,
3530 &ett_cmip_SET_OF_Attribute,
3531 &ett_cmip_SetArgument,
3532 &ett_cmip_SET_OF_ModificationItem,
3533 &ett_cmip_LinkedReplyArgument,
3534 &ett_cmip_EventReply,
3535 &ett_cmip_EventReportResult,
3536 &ett_cmip_EventReportArgument,
3537 &ett_cmip_DeleteArgument,
3538 &ett_cmip_DeleteResult,
3539 &ett_cmip_CreateArgument,
3540 &ett_cmip_T_managedOrSuperiorObjectInstance,
3541 &ett_cmip_CreateResult,
3542 &ett_cmip_ActionReply,
3543 &ett_cmip_ActionResult,
3544 &ett_cmip_ActionArgument,
3545 &ett_cmip_ActionInfo,
3546 &ett_cmip_ObjectClass,
3547 &ett_cmip_ObjectInstance,
3548 &ett_cmip_BaseManagedObjectId,
3549 &ett_cmip_AttributeId,
3550 &ett_cmip_Attribute,
3551 &ett_cmip_AttributeValueAssertion,
3552 &ett_cmip_FilterItem,
3553 &ett_cmip_T_substrings,
3554 &ett_cmip_T_substrings_item,
3555 &ett_cmip_Destination,
3556 &ett_cmip_SET_OF_AE_title,
3559 &ett_cmip_CMISFilter,
3560 &ett_cmip_SET_OF_CMISFilter,
3562 &ett_cmip_GetArgument,
3563 &ett_cmip_SET_OF_AttributeId,
3564 &ett_cmip_GetResult,
3565 &ett_cmip_ReturnResultBody,
3568 &ett_cmip_ReturnResult,
3569 &ett_cmip_ReturnError,
3570 &ett_cmip_RejectProb,
3573 &ett_cmip_CMIPAbortInfo,
3574 &ett_cmip_FunctionalUnits,
3575 &ett_cmip_CMIPUserInfo,
3576 &ett_cmip_ProtocolVersion,
3578 /*--- End of included file: packet-cmip-ettarr.c ---*/
3582 /* Register protocol */
3583 proto_cmip = proto_register_protocol(PNAME, PSNAME, PFNAME);
3585 /* Register fields and subtrees */
3586 proto_register_field_array(proto_cmip, hf, array_length(hf));
3587 proto_register_subtree_array(ett, array_length(ett));
3592 /*--- proto_reg_handoff_cmip -------------------------------------------*/
3593 void proto_reg_handoff_cmip(void) {
3594 register_ber_oid_dissector("2.9.0.0.2", dissect_cmip, proto_cmip, "cmip");
3595 register_ber_oid_dissector("2.9.1.1.4", dissect_cmip, proto_cmip, "joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
3596 register_ber_oid_dissector("2.9.3.2.7.35", dissect_cmip_attribute_35, proto_cmip, "smi2AttributeID (7) operationalState(35)");
3597 register_ber_oid_dissector("2.9.3.2.7.55", dissect_cmip_attribute_55, proto_cmip, "smi2AttributeID (7) destination(55)");
3598 register_ber_oid_dissector("2.9.3.2.7.56", dissect_cmip_attribute_56, proto_cmip, "smi2AttributeID (7) discriminatorConstruct(56)");
3599 register_ber_oid_dissector("2.9.3.2.7.63", dissect_cmip_attribute_63, proto_cmip, "smi2AttributeID (7) nameBinding(63)");
3600 register_ber_oid_dissector("2.9.3.2.7.65", dissect_cmip_attribute_65, proto_cmip, "smi2AttributeID (7) objectClass(65)");
3602 register_ber_oid_name("2.9.3.2.3.4","eventForwardingDiscriminator(4)");
3603 register_ber_oid_name("2.9.1.1.4","joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");