1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark 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 */
8 #line 1 "packet-cmip-template.c"
10 * Routines for X.711 CMIP packet dissection
11 * Ronnie Sahlberg 2004
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
39 #include <epan/packet.h>
40 #include <epan/conversation.h>
45 #include "packet-ber.h"
46 #include "packet-acse.h"
47 #include "packet-x509if.h"
48 #include "packet-cmip.h"
50 #define PNAME "X711 CMIP"
54 /* XXX some stuff we need until we can get rid of it */
55 #include "packet-ses.h"
56 #include "packet-pres.h"
58 /* Initialize the protocol and registered fields */
60 static int hf_cmip_actionType_OID = -1;
61 static int hf_cmip_eventType_OID = -1;
62 static int hf_cmip_attributeId_OID = -1;
63 static int hf_cmip_errorId_OID = -1;
64 static int hf_DiscriminatorConstruct = -1;
65 static int hf_Destination = -1;
66 static int hf_NameBinding = -1;
67 static int hf_ObjectClass = -1;
68 static int hf_OperationalState = -1;
70 /*--- Included file: packet-cmip-hf.c ---*/
71 #line 1 "packet-cmip-hf.c"
72 static int hf_cmip_modifyOperator = -1; /* ModifyOperator */
73 static int hf_cmip_attributeId = -1; /* T_attributeId */
74 static int hf_cmip_attributeValue = -1; /* T_attributeValue */
75 static int hf_cmip_managedObjectClass = -1; /* ObjectClass */
76 static int hf_cmip_managedObjectInstance = -1; /* ObjectInstance */
77 static int hf_cmip_currentTime = -1; /* GeneralizedTime */
78 static int hf_cmip_getInfoList = -1; /* SET_OF_GetInfoStatus */
79 static int hf_cmip_getInfoList_item = -1; /* GetInfoStatus */
80 static int hf_cmip_attributeIdError = -1; /* AttributeIdError */
81 static int hf_cmip_attribute = -1; /* Attribute */
82 static int hf_cmip_errorStatus = -1; /* T_errorStatus */
83 static int hf_cmip_attributeId1 = -1; /* AttributeId */
84 static int hf_cmip_setInfoList = -1; /* SET_OF_SetInfoStatus */
85 static int hf_cmip_setInfoList_item = -1; /* SetInfoStatus */
86 static int hf_cmip_actionErrorInfo = -1; /* ActionErrorInfo */
87 static int hf_cmip_specificErrorInfo = -1; /* SpecificErrorInfo */
88 static int hf_cmip_RDNSequence_item = -1; /* RelativeDistinguishedName */
89 static int hf_cmip_RelativeDistinguishedName_item = -1; /* AttributeValueAssertion */
90 static int hf_cmip_deleteErrorInfo = -1; /* T_deleteErrorInfo */
91 static int hf_cmip_attributeError = -1; /* AttributeError */
92 static int hf_cmip_errorId = -1; /* T_errorId */
93 static int hf_cmip_errorInfo = -1; /* T_errorInfo */
94 static int hf_cmip_actionType = -1; /* T_actionType */
95 static int hf_cmip_eventType = -1; /* T_eventType */
96 static int hf_cmip_actionId = -1; /* NoSuchArgumentAction */
97 static int hf_cmip_eventId = -1; /* NoSuchArgumentEvent */
98 static int hf_cmip_eventType1 = -1; /* T_eventType1 */
99 static int hf_cmip_eventInfo = -1; /* T_eventInfo */
100 static int hf_cmip_actionValue = -1; /* ActionInfo */
101 static int hf_cmip_eventValue = -1; /* InvalidArgumentValueEventValue */
102 static int hf_cmip_actionType1 = -1; /* T_actionType1 */
103 static int hf_cmip_actionArgument = -1; /* NoSuchArgument */
104 static int hf_cmip_argumentValue = -1; /* InvalidArgumentValue */
105 static int hf_cmip_errorStatus1 = -1; /* T_errorStatus1 */
106 static int hf_cmip_errorInfo1 = -1; /* ErrorInfo */
107 static int hf_cmip_errorStatus2 = -1; /* T_errorStatus2 */
108 static int hf_cmip_attributeId2 = -1; /* T_attributeId1 */
109 static int hf_cmip_attributeValue1 = -1; /* T_attributeValue1 */
110 static int hf_cmip_attributeList = -1; /* SET_OF_Attribute */
111 static int hf_cmip_attributeList_item = -1; /* Attribute */
112 static int hf_cmip_baseManagedObjectClass = -1; /* ObjectClass */
113 static int hf_cmip_baseManagedObjectInstance = -1; /* ObjectInstance */
114 static int hf_cmip_accessControl = -1; /* AccessControl */
115 static int hf_cmip_synchronization = -1; /* CMISSync */
116 static int hf_cmip_scope = -1; /* Scope */
117 static int hf_cmip_filter = -1; /* CMISFilter */
118 static int hf_cmip_modificationList = -1; /* SET_OF_ModificationItem */
119 static int hf_cmip_modificationList_item = -1; /* ModificationItem */
120 static int hf_cmip_getResult = -1; /* GetResult */
121 static int hf_cmip_getListError = -1; /* GetListError */
122 static int hf_cmip_setResult = -1; /* SetResult */
123 static int hf_cmip_setListError = -1; /* SetListError */
124 static int hf_cmip_actionResult = -1; /* ActionResult */
125 static int hf_cmip_processingFailure = -1; /* ProcessingFailure */
126 static int hf_cmip_deleteResult = -1; /* DeleteResult */
127 static int hf_cmip_actionError = -1; /* ActionError */
128 static int hf_cmip_deleteError = -1; /* DeleteError */
129 static int hf_cmip_eventType2 = -1; /* T_eventType2 */
130 static int hf_cmip_eventReplyInfo = -1; /* T_eventReplyInfo */
131 static int hf_cmip_eventReply = -1; /* EventReply */
132 static int hf_cmip_eventTime = -1; /* GeneralizedTime */
133 static int hf_cmip_eventType3 = -1; /* T_eventType3 */
134 static int hf_cmip_eventInfo1 = -1; /* T_eventInfo1 */
135 static int hf_cmip_managedOrSuperiorObjectInstance = -1; /* T_managedOrSuperiorObjectInstance */
136 static int hf_cmip_superiorObjectInstance = -1; /* ObjectInstance */
137 static int hf_cmip_referenceObjectInstance = -1; /* ObjectInstance */
138 static int hf_cmip_actionType2 = -1; /* T_actionType2 */
139 static int hf_cmip_actionReplyInfo = -1; /* T_actionReplyInfo */
140 static int hf_cmip_actionReply = -1; /* ActionReply */
141 static int hf_cmip_actionInfo = -1; /* ActionInfo */
142 static int hf_cmip_actionType3 = -1; /* T_actionType3 */
143 static int hf_cmip_actionInfoArg = -1; /* T_actionInfoArg */
144 static int hf_cmip_ocglobalForm = -1; /* T_ocglobalForm */
145 static int hf_cmip_oclocalForm = -1; /* T_oclocalForm */
146 static int hf_cmip_distinguishedName = -1; /* DistinguishedName */
147 static int hf_cmip_nonSpecificForm = -1; /* OCTET_STRING */
148 static int hf_cmip_localDistinguishedName = -1; /* RDNSequence */
149 static int hf_cmip_globalForm = -1; /* T_globalForm */
150 static int hf_cmip_localForm = -1; /* T_localForm */
151 static int hf_cmip_id = -1; /* AttributeId */
152 static int hf_cmip_value = -1; /* T_value */
153 static int hf_cmip_id1 = -1; /* T_id */
154 static int hf_cmip_value1 = -1; /* T_value1 */
155 static int hf_cmip_equality = -1; /* Attribute */
156 static int hf_cmip_substrings = -1; /* T_substrings */
157 static int hf_cmip_substrings_item = -1; /* T_substrings_item */
158 static int hf_cmip_initialString = -1; /* Attribute */
159 static int hf_cmip_anyString = -1; /* Attribute */
160 static int hf_cmip_finalString = -1; /* Attribute */
161 static int hf_cmip_greaterOrEqual = -1; /* Attribute */
162 static int hf_cmip_lessOrEqual = -1; /* Attribute */
163 static int hf_cmip_present = -1; /* AttributeId */
164 static int hf_cmip_subsetOf = -1; /* Attribute */
165 static int hf_cmip_supersetOf = -1; /* Attribute */
166 static int hf_cmip_nonNullSetIntersection = -1; /* Attribute */
167 static int hf_cmip_single = -1; /* AE_title */
168 static int hf_cmip_multiple = -1; /* SET_OF_AE_title */
169 static int hf_cmip_multiple_item = -1; /* AE_title */
170 static int hf_cmip_ae_title_form1 = -1; /* AE_title_form1 */
171 static int hf_cmip_ae_title_form2 = -1; /* AE_title_form2 */
172 static int hf_cmip_rdnSequence = -1; /* RDNSequence */
173 static int hf_cmip_item = -1; /* FilterItem */
174 static int hf_cmip_and = -1; /* SET_OF_CMISFilter */
175 static int hf_cmip_and_item = -1; /* CMISFilter */
176 static int hf_cmip_or = -1; /* SET_OF_CMISFilter */
177 static int hf_cmip_or_item = -1; /* CMISFilter */
178 static int hf_cmip_not = -1; /* CMISFilter */
179 static int hf_cmip_namedNumbers = -1; /* T_namedNumbers */
180 static int hf_cmip_individualLevels = -1; /* INTEGER */
181 static int hf_cmip_baseToNthLevel = -1; /* INTEGER */
182 static int hf_cmip_attributeIdList = -1; /* SET_OF_AttributeId */
183 static int hf_cmip_attributeIdList_item = -1; /* AttributeId */
184 static int hf_cmip_opcode = -1; /* Opcode */
185 static int hf_cmip_argument = -1; /* Argument */
186 static int hf_cmip_present1 = -1; /* InvokeID */
187 static int hf_cmip_absent = -1; /* NULL */
188 static int hf_cmip_invokeId = -1; /* InvokeId */
189 static int hf_cmip_linkedId = -1; /* InvokeLinkedId */
190 static int hf_cmip_rRBody = -1; /* ReturnResultBody */
191 static int hf_cmip_generalProblem = -1; /* GeneralProblem */
192 static int hf_cmip_invokeProblem = -1; /* InvokeProblem */
193 static int hf_cmip_returnResultProblem = -1; /* ReturnResultProblem */
194 static int hf_cmip_returnErrorProblem = -1; /* ReturnErrorProblem */
195 static int hf_cmip_rejectProblem = -1; /* RejectProb */
196 static int hf_cmip_invoke = -1; /* Invoke */
197 static int hf_cmip_returnResult = -1; /* ReturnResult */
198 static int hf_cmip_returnError = -1; /* ReturnError */
199 static int hf_cmip_reject = -1; /* Reject */
200 static int hf_cmip_abortSource = -1; /* CMIPAbortSource */
201 static int hf_cmip_userInfo = -1; /* EXTERNAL */
202 static int hf_cmip_protocolVersion = -1; /* ProtocolVersion */
203 static int hf_cmip_functionalUnits = -1; /* FunctionalUnits */
204 static int hf_cmip_accessControl1 = -1; /* EXTERNAL */
206 static int hf_cmip_FunctionalUnits_multipleObjectSelection = -1;
207 static int hf_cmip_FunctionalUnits_filter = -1;
208 static int hf_cmip_FunctionalUnits_multipleReply = -1;
209 static int hf_cmip_FunctionalUnits_extendedService = -1;
210 static int hf_cmip_FunctionalUnits_cancelGet = -1;
211 static int hf_cmip_ProtocolVersion_version1 = -1;
212 static int hf_cmip_ProtocolVersion_version2 = -1;
214 /*--- End of included file: packet-cmip-hf.c ---*/
215 #line 62 "packet-cmip-template.c"
217 /* Initialize the subtree pointers */
218 static gint ett_cmip = -1;
220 /*--- Included file: packet-cmip-ett.c ---*/
221 #line 1 "packet-cmip-ett.c"
222 static gint ett_cmip_ModificationItem = -1;
223 static gint ett_cmip_GetListError = -1;
224 static gint ett_cmip_SET_OF_GetInfoStatus = -1;
225 static gint ett_cmip_GetInfoStatus = -1;
226 static gint ett_cmip_AttributeIdError = -1;
227 static gint ett_cmip_SetListError = -1;
228 static gint ett_cmip_SET_OF_SetInfoStatus = -1;
229 static gint ett_cmip_ActionError = -1;
230 static gint ett_cmip_ProcessingFailure = -1;
231 static gint ett_cmip_RDNSequence = -1;
232 static gint ett_cmip_RelativeDistinguishedName = -1;
233 static gint ett_cmip_DeleteError = -1;
234 static gint ett_cmip_SetInfoStatus = -1;
235 static gint ett_cmip_SpecificErrorInfo = -1;
236 static gint ett_cmip_NoSuchArgumentAction = -1;
237 static gint ett_cmip_NoSuchArgumentEvent = -1;
238 static gint ett_cmip_NoSuchArgument = -1;
239 static gint ett_cmip_InvalidArgumentValueEventValue = -1;
240 static gint ett_cmip_InvalidArgumentValue = -1;
241 static gint ett_cmip_ErrorInfo = -1;
242 static gint ett_cmip_ActionErrorInfo = -1;
243 static gint ett_cmip_AttributeError = -1;
244 static gint ett_cmip_SetResult = -1;
245 static gint ett_cmip_SET_OF_Attribute = -1;
246 static gint ett_cmip_SetArgument = -1;
247 static gint ett_cmip_SET_OF_ModificationItem = -1;
248 static gint ett_cmip_LinkedReplyArgument = -1;
249 static gint ett_cmip_EventReply = -1;
250 static gint ett_cmip_EventReportResult = -1;
251 static gint ett_cmip_EventReportArgument = -1;
252 static gint ett_cmip_DeleteArgument = -1;
253 static gint ett_cmip_DeleteResult = -1;
254 static gint ett_cmip_CreateArgument = -1;
255 static gint ett_cmip_T_managedOrSuperiorObjectInstance = -1;
256 static gint ett_cmip_CreateResult = -1;
257 static gint ett_cmip_ActionReply = -1;
258 static gint ett_cmip_ActionResult = -1;
259 static gint ett_cmip_ActionArgument = -1;
260 static gint ett_cmip_ActionInfo = -1;
261 static gint ett_cmip_ObjectClass = -1;
262 static gint ett_cmip_ObjectInstance = -1;
263 static gint ett_cmip_BaseManagedObjectId = -1;
264 static gint ett_cmip_AttributeId = -1;
265 static gint ett_cmip_Attribute = -1;
266 static gint ett_cmip_AttributeValueAssertion = -1;
267 static gint ett_cmip_FilterItem = -1;
268 static gint ett_cmip_T_substrings = -1;
269 static gint ett_cmip_T_substrings_item = -1;
270 static gint ett_cmip_Destination = -1;
271 static gint ett_cmip_SET_OF_AE_title = -1;
272 static gint ett_cmip_AE_title = -1;
273 static gint ett_cmip_Name = -1;
274 static gint ett_cmip_CMISFilter = -1;
275 static gint ett_cmip_SET_OF_CMISFilter = -1;
276 static gint ett_cmip_Scope = -1;
277 static gint ett_cmip_GetArgument = -1;
278 static gint ett_cmip_SET_OF_AttributeId = -1;
279 static gint ett_cmip_GetResult = -1;
280 static gint ett_cmip_ReturnResultBody = -1;
281 static gint ett_cmip_InvokeId = -1;
282 static gint ett_cmip_Invoke = -1;
283 static gint ett_cmip_ReturnResult = -1;
284 static gint ett_cmip_ReturnError = -1;
285 static gint ett_cmip_RejectProb = -1;
286 static gint ett_cmip_Reject = -1;
287 static gint ett_cmip_ROS = -1;
288 static gint ett_cmip_CMIPAbortInfo = -1;
289 static gint ett_cmip_FunctionalUnits = -1;
290 static gint ett_cmip_CMIPUserInfo = -1;
291 static gint ett_cmip_ProtocolVersion = -1;
293 /*--- End of included file: packet-cmip-ett.c ---*/
294 #line 66 "packet-cmip-template.c"
296 static guint32 opcode;
298 static int opcode_type;
299 #define OPCODE_INVOKE 1
300 #define OPCODE_RETURN_RESULT 2
301 #define OPCODE_RETURN_ERROR 3
302 #define OPCODE_REJECT 4
304 static int attributeform;
305 #define ATTRIBUTE_LOCAL_FORM 0
306 #define ATTRIBUTE_GLOBAL_FORM 1
307 static const char *attribute_identifier_id;
309 static const char *attributevalueassertion_id;
311 static const char *object_identifier_id;
313 static int objectclassform;
314 #define OBJECTCLASS_LOCAL_FORM 0
315 #define OBJECTCLASS_GLOBAL_FORM 1
316 static const char *objectclass_identifier_id;
319 /*--- Included file: packet-cmip-fn.c ---*/
320 #line 1 "packet-cmip-fn.c"
321 /*--- Cyclic dependencies ---*/
323 /* CMISFilter -> CMISFilter/and -> CMISFilter */
324 /* CMISFilter -> CMISFilter */
325 static int dissect_cmip_CMISFilter(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
327 static int dissect_filter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
328 return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_filter);
330 static int dissect_and_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
331 return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_and_item);
333 static int dissect_or_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
334 return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_or_item);
336 static int dissect_not(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
337 return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_not);
341 /*--- Fields for imported types ---*/
343 static int dissect_userInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
344 return dissect_acse_EXTERNAL(FALSE, tvb, offset, pinfo, tree, hf_cmip_userInfo);
346 static int dissect_accessControl1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
347 return dissect_acse_EXTERNAL(FALSE, tvb, offset, pinfo, tree, hf_cmip_accessControl1);
351 static const value_string cmip_ModifyOperator_vals[] = {
354 { 2, "removeValues" },
355 { 3, "setToDefault" },
361 dissect_cmip_ModifyOperator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
362 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
367 static int dissect_modifyOperator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
368 return dissect_cmip_ModifyOperator(TRUE, tvb, offset, pinfo, tree, hf_cmip_modifyOperator);
374 dissect_cmip_T_attributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
375 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_attributeId_OID, &object_identifier_id);
379 static int dissect_attributeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
380 return dissect_cmip_T_attributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId);
386 dissect_cmip_T_attributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
388 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
394 static int dissect_attributeValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
395 return dissect_cmip_T_attributeValue(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeValue);
399 static const ber_sequence_t ModificationItem_sequence[] = {
400 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyOperator_impl },
401 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeId },
402 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attributeValue },
407 dissect_cmip_ModificationItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
408 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
409 ModificationItem_sequence, hf_index, ett_cmip_ModificationItem);
413 static int dissect_modificationList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
414 return dissect_cmip_ModificationItem(FALSE, tvb, offset, pinfo, tree, hf_cmip_modificationList_item);
420 dissect_cmip_T_ocglobalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
422 objectclassform = OBJECTCLASS_GLOBAL_FORM;
424 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &objectclass_identifier_id);
428 static int dissect_ocglobalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
429 return dissect_cmip_T_ocglobalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_ocglobalForm);
435 dissect_cmip_T_oclocalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
437 objectclassform = OBJECTCLASS_LOCAL_FORM;
440 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
445 static int dissect_oclocalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
446 return dissect_cmip_T_oclocalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_oclocalForm);
450 const value_string cmip_ObjectClass_vals[] = {
451 { 0, "ocglobalForm" },
452 { 1, "oclocalForm" },
456 static const ber_choice_t ObjectClass_choice[] = {
457 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ocglobalForm_impl },
458 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_oclocalForm_impl },
463 dissect_cmip_ObjectClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
464 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
465 ObjectClass_choice, hf_index, ett_cmip_ObjectClass,
470 static int dissect_managedObjectClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
471 return dissect_cmip_ObjectClass(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedObjectClass);
473 static int dissect_baseManagedObjectClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
474 return dissect_cmip_ObjectClass(FALSE, tvb, offset, pinfo, tree, hf_cmip_baseManagedObjectClass);
480 dissect_cmip_T_id(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
481 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &attributevalueassertion_id);
485 static int dissect_id1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
486 return dissect_cmip_T_id(FALSE, tvb, offset, pinfo, tree, hf_cmip_id1);
492 dissect_cmip_T_value1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
494 offset=call_ber_oid_callback(attributevalueassertion_id, tvb, offset, pinfo, tree);
500 static int dissect_value1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
501 return dissect_cmip_T_value1(FALSE, tvb, offset, pinfo, tree, hf_cmip_value1);
505 static const ber_sequence_t AttributeValueAssertion_sequence[] = {
506 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_id1 },
507 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_value1 },
512 dissect_cmip_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
513 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
514 AttributeValueAssertion_sequence, hf_index, ett_cmip_AttributeValueAssertion);
518 static int dissect_RelativeDistinguishedName_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
519 return dissect_cmip_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_cmip_RelativeDistinguishedName_item);
523 static const ber_sequence_t RelativeDistinguishedName_set_of[1] = {
524 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RelativeDistinguishedName_item },
528 dissect_cmip_RelativeDistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
529 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
530 RelativeDistinguishedName_set_of, hf_index, ett_cmip_RelativeDistinguishedName);
534 static int dissect_RDNSequence_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
535 return dissect_cmip_RelativeDistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_cmip_RDNSequence_item);
539 static const ber_sequence_t RDNSequence_sequence_of[1] = {
540 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_RDNSequence_item },
544 dissect_cmip_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
545 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
546 RDNSequence_sequence_of, hf_index, ett_cmip_RDNSequence);
550 static int dissect_localDistinguishedName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
551 return dissect_cmip_RDNSequence(TRUE, tvb, offset, pinfo, tree, hf_cmip_localDistinguishedName);
553 static int dissect_rdnSequence(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
554 return dissect_cmip_RDNSequence(FALSE, tvb, offset, pinfo, tree, hf_cmip_rdnSequence);
560 dissect_cmip_DistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
561 offset = dissect_cmip_RDNSequence(implicit_tag, tvb, offset, pinfo, tree, hf_index);
565 static int dissect_distinguishedName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
566 return dissect_cmip_DistinguishedName(TRUE, tvb, offset, pinfo, tree, hf_cmip_distinguishedName);
572 dissect_cmip_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
573 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
578 static int dissect_nonSpecificForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
579 return dissect_cmip_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_cmip_nonSpecificForm);
583 const value_string cmip_ObjectInstance_vals[] = {
584 { 2, "distinguishedName" },
585 { 3, "nonSpecificForm" },
586 { 4, "localDistinguishedName" },
590 static const ber_choice_t ObjectInstance_choice[] = {
591 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_distinguishedName_impl },
592 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_nonSpecificForm_impl },
593 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_localDistinguishedName_impl },
598 dissect_cmip_ObjectInstance(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
599 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
600 ObjectInstance_choice, hf_index, ett_cmip_ObjectInstance,
605 static int dissect_managedObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
606 return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedObjectInstance);
608 static int dissect_baseManagedObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
609 return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_baseManagedObjectInstance);
611 static int dissect_superiorObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
612 return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_superiorObjectInstance);
614 static int dissect_referenceObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
615 return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_referenceObjectInstance);
621 dissect_cmip_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
622 offset = dissect_ber_GeneralizedTime(implicit_tag, pinfo, tree, tvb, offset, hf_index);
626 static int dissect_currentTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
627 return dissect_cmip_GeneralizedTime(TRUE, tvb, offset, pinfo, tree, hf_cmip_currentTime);
629 static int dissect_eventTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
630 return dissect_cmip_GeneralizedTime(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventTime);
634 static const value_string cmip_T_errorStatus_vals[] = {
635 { 2, "accessDenied" },
636 { 5, "noSuchAttribute" },
642 dissect_cmip_T_errorStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
643 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
648 static int dissect_errorStatus(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
649 return dissect_cmip_T_errorStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus);
655 dissect_cmip_T_globalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
657 attributeform = ATTRIBUTE_GLOBAL_FORM;
658 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &attribute_identifier_id);
665 static int dissect_globalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
666 return dissect_cmip_T_globalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_globalForm);
672 dissect_cmip_T_localForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
674 attributeform = ATTRIBUTE_LOCAL_FORM;
675 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_localForm, NULL);
681 static int dissect_localForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
682 return dissect_cmip_T_localForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_localForm);
686 static const value_string cmip_AttributeId_vals[] = {
692 static const ber_choice_t AttributeId_choice[] = {
693 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_globalForm_impl },
694 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_localForm_impl },
699 dissect_cmip_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
700 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
701 AttributeId_choice, hf_index, ett_cmip_AttributeId,
706 static int dissect_attributeId1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
707 return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId1);
709 static int dissect_id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
710 return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_id);
712 static int dissect_present(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
713 return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_present);
715 static int dissect_attributeIdList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
716 return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeIdList_item);
720 static const ber_sequence_t AttributeIdError_sequence[] = {
721 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_errorStatus },
722 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attributeId1 },
727 dissect_cmip_AttributeIdError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
728 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
729 AttributeIdError_sequence, hf_index, ett_cmip_AttributeIdError);
733 static int dissect_attributeIdError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
734 return dissect_cmip_AttributeIdError(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeIdError);
740 dissect_cmip_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
742 /*XXX handle local form here */
743 if(attributeform==ATTRIBUTE_GLOBAL_FORM){
744 offset=call_ber_oid_callback(attribute_identifier_id, tvb, offset, pinfo, tree);
750 static int dissect_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
751 return dissect_cmip_T_value(FALSE, tvb, offset, pinfo, tree, hf_cmip_value);
755 static const ber_sequence_t Attribute_sequence[] = {
756 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_id },
757 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_value },
762 dissect_cmip_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
763 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
764 Attribute_sequence, hf_index, ett_cmip_Attribute);
768 static int dissect_attribute_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
769 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_attribute);
771 static int dissect_attributeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
772 return dissect_cmip_Attribute(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeList_item);
774 static int dissect_equality_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
775 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_equality);
777 static int dissect_initialString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
778 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_initialString);
780 static int dissect_anyString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
781 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_anyString);
783 static int dissect_finalString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
784 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_finalString);
786 static int dissect_greaterOrEqual_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
787 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_greaterOrEqual);
789 static int dissect_lessOrEqual_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
790 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_lessOrEqual);
792 static int dissect_subsetOf_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
793 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_subsetOf);
795 static int dissect_supersetOf_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
796 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_supersetOf);
798 static int dissect_nonNullSetIntersection_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
799 return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_nonNullSetIntersection);
803 static const value_string cmip_GetInfoStatus_vals[] = {
804 { 0, "attributeIdError" },
809 static const ber_choice_t GetInfoStatus_choice[] = {
810 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attributeIdError_impl },
811 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_attribute_impl },
816 dissect_cmip_GetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
817 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
818 GetInfoStatus_choice, hf_index, ett_cmip_GetInfoStatus,
823 static int dissect_getInfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
824 return dissect_cmip_GetInfoStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_getInfoList_item);
828 static const ber_sequence_t SET_OF_GetInfoStatus_set_of[1] = {
829 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_getInfoList_item },
833 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_) {
834 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
835 SET_OF_GetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_GetInfoStatus);
839 static int dissect_getInfoList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
840 return dissect_cmip_SET_OF_GetInfoStatus(TRUE, tvb, offset, pinfo, tree, hf_cmip_getInfoList);
844 static const ber_sequence_t GetListError_sequence[] = {
845 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
846 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
847 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
848 { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_getInfoList_impl },
853 dissect_cmip_GetListError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
854 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
855 GetListError_sequence, hf_index, ett_cmip_GetListError);
859 static int dissect_getListError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
860 return dissect_cmip_GetListError(TRUE, tvb, offset, pinfo, tree, hf_cmip_getListError);
864 static const value_string cmip_T_errorStatus2_vals[] = {
865 { 2, "accessDenied" },
866 { 5, "noSuchAttribute" },
867 { 6, "invalidAttributeValue" },
868 { 24, "invalidOperation" },
869 { 25, "invalidOperator" },
875 dissect_cmip_T_errorStatus2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
876 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
881 static int dissect_errorStatus2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
882 return dissect_cmip_T_errorStatus2(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus2);
888 dissect_cmip_T_attributeId1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
889 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_attributeId_OID, &object_identifier_id);
893 static int dissect_attributeId2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
894 return dissect_cmip_T_attributeId1(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId2);
900 dissect_cmip_T_attributeValue1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
902 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
908 static int dissect_attributeValue1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
909 return dissect_cmip_T_attributeValue1(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeValue1);
913 static const ber_sequence_t AttributeError_sequence[] = {
914 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_errorStatus2 },
915 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifyOperator_impl },
916 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeId2 },
917 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attributeValue1 },
922 dissect_cmip_AttributeError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
923 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
924 AttributeError_sequence, hf_index, ett_cmip_AttributeError);
928 static int dissect_attributeError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
929 return dissect_cmip_AttributeError(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeError);
933 static const value_string cmip_SetInfoStatus_vals[] = {
934 { 0, "attributeError" },
939 static const ber_choice_t SetInfoStatus_choice[] = {
940 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attributeError_impl },
941 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_attribute_impl },
946 dissect_cmip_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_choice(pinfo, tree, tvb, offset,
948 SetInfoStatus_choice, hf_index, ett_cmip_SetInfoStatus,
953 static int dissect_setInfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
954 return dissect_cmip_SetInfoStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_setInfoList_item);
958 static const ber_sequence_t SET_OF_SetInfoStatus_set_of[1] = {
959 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_setInfoList_item },
963 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_) {
964 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
965 SET_OF_SetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_SetInfoStatus);
969 static int dissect_setInfoList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
970 return dissect_cmip_SET_OF_SetInfoStatus(TRUE, tvb, offset, pinfo, tree, hf_cmip_setInfoList);
974 static const ber_sequence_t SetListError_sequence[] = {
975 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
976 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
977 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
978 { BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_setInfoList_impl },
983 dissect_cmip_SetListError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
984 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
985 SetListError_sequence, hf_index, ett_cmip_SetListError);
989 static int dissect_setListError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
990 return dissect_cmip_SetListError(TRUE, tvb, offset, pinfo, tree, hf_cmip_setListError);
994 static const value_string cmip_T_errorStatus1_vals[] = {
995 { 2, "accessDenied" },
996 { 9, "noSuchAction" },
997 { 14, "noSuchArgument" },
998 { 15, "invalidArgumentValue" },
1004 dissect_cmip_T_errorStatus1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1005 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1010 static int dissect_errorStatus1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1011 return dissect_cmip_T_errorStatus1(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus1);
1017 dissect_cmip_T_actionType1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1018 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1022 static int dissect_actionType1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1023 return dissect_cmip_T_actionType1(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType1);
1029 dissect_cmip_T_actionType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1030 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1034 static int dissect_actionType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1035 return dissect_cmip_T_actionType(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType);
1039 static const ber_sequence_t NoSuchArgumentAction_sequence[] = {
1040 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1041 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_actionType },
1046 dissect_cmip_NoSuchArgumentAction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1047 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1048 NoSuchArgumentAction_sequence, hf_index, ett_cmip_NoSuchArgumentAction);
1052 static int dissect_actionId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1053 return dissect_cmip_NoSuchArgumentAction(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionId);
1059 dissect_cmip_T_eventType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1060 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1064 static int dissect_eventType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1065 return dissect_cmip_T_eventType(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType);
1069 static const ber_sequence_t NoSuchArgumentEvent_sequence[] = {
1070 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1071 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_eventType },
1076 dissect_cmip_NoSuchArgumentEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1077 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1078 NoSuchArgumentEvent_sequence, hf_index, ett_cmip_NoSuchArgumentEvent);
1082 static int dissect_eventId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1083 return dissect_cmip_NoSuchArgumentEvent(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventId);
1087 static const value_string cmip_NoSuchArgument_vals[] = {
1093 static const ber_choice_t NoSuchArgument_choice[] = {
1094 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actionId_impl },
1095 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_eventId_impl },
1096 { 0, 0, 0, 0, NULL }
1100 dissect_cmip_NoSuchArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1101 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1102 NoSuchArgument_choice, hf_index, ett_cmip_NoSuchArgument,
1107 static int dissect_actionArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1108 return dissect_cmip_NoSuchArgument(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionArgument);
1114 dissect_cmip_T_actionType3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1115 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1119 static int dissect_actionType3(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1120 return dissect_cmip_T_actionType3(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType3);
1126 dissect_cmip_T_actionInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1127 #line 190 "cmip.cnf"
1128 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1134 static int dissect_actionInfoArg(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1135 return dissect_cmip_T_actionInfoArg(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionInfoArg);
1139 static const ber_sequence_t ActionInfo_sequence[] = {
1140 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_actionType3 },
1141 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_actionInfoArg },
1146 dissect_cmip_ActionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1147 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1148 ActionInfo_sequence, hf_index, ett_cmip_ActionInfo);
1152 static int dissect_actionValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1153 return dissect_cmip_ActionInfo(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionValue);
1155 static int dissect_actionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1156 return dissect_cmip_ActionInfo(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionInfo);
1162 dissect_cmip_T_eventType1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1163 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1167 static int dissect_eventType1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1168 return dissect_cmip_T_eventType1(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType1);
1174 dissect_cmip_T_eventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1175 #line 241 "cmip.cnf"
1176 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1182 static int dissect_eventInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1183 return dissect_cmip_T_eventInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventInfo);
1187 static const ber_sequence_t InvalidArgumentValueEventValue_sequence[] = {
1188 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_eventType1 },
1189 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_eventInfo },
1194 dissect_cmip_InvalidArgumentValueEventValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1195 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1196 InvalidArgumentValueEventValue_sequence, hf_index, ett_cmip_InvalidArgumentValueEventValue);
1200 static int dissect_eventValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1201 return dissect_cmip_InvalidArgumentValueEventValue(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventValue);
1205 static const value_string cmip_InvalidArgumentValue_vals[] = {
1206 { 0, "actionValue" },
1207 { 1, "eventValue" },
1211 static const ber_choice_t InvalidArgumentValue_choice[] = {
1212 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actionValue_impl },
1213 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_eventValue_impl },
1214 { 0, 0, 0, 0, NULL }
1218 dissect_cmip_InvalidArgumentValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1219 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1220 InvalidArgumentValue_choice, hf_index, ett_cmip_InvalidArgumentValue,
1225 static int dissect_argumentValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1226 return dissect_cmip_InvalidArgumentValue(FALSE, tvb, offset, pinfo, tree, hf_cmip_argumentValue);
1230 static const value_string cmip_ErrorInfo_vals[] = {
1231 { 0, "actionType" },
1232 { 1, "actionArgument" },
1233 { 2, "argumentValue" },
1237 static const ber_choice_t ErrorInfo_choice[] = {
1238 { 0, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_actionType1 },
1239 { 1, BER_CLASS_CON, 0, 0, dissect_actionArgument },
1240 { 2, BER_CLASS_CON, 1, 0, dissect_argumentValue },
1241 { 0, 0, 0, 0, NULL }
1245 dissect_cmip_ErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1246 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1247 ErrorInfo_choice, hf_index, ett_cmip_ErrorInfo,
1252 static int dissect_errorInfo1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1253 return dissect_cmip_ErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorInfo1);
1257 static const ber_sequence_t ActionErrorInfo_sequence[] = {
1258 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_errorStatus1 },
1259 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_errorInfo1 },
1264 dissect_cmip_ActionErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1265 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1266 ActionErrorInfo_sequence, hf_index, ett_cmip_ActionErrorInfo);
1270 static int dissect_actionErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1271 return dissect_cmip_ActionErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionErrorInfo);
1275 static const ber_sequence_t ActionError_sequence[] = {
1276 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1277 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1278 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1279 { BER_CLASS_CON, 6, 0, dissect_actionErrorInfo },
1284 dissect_cmip_ActionError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1285 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1286 ActionError_sequence, hf_index, ett_cmip_ActionError);
1290 static int dissect_actionError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1291 return dissect_cmip_ActionError(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionError);
1297 dissect_cmip_T_errorId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1298 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_errorId_OID, &object_identifier_id);
1302 static int dissect_errorId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1303 return dissect_cmip_T_errorId(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorId);
1309 dissect_cmip_T_errorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1310 #line 220 "cmip.cnf"
1311 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1317 static int dissect_errorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1318 return dissect_cmip_T_errorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorInfo);
1322 static const ber_sequence_t SpecificErrorInfo_sequence[] = {
1323 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_errorId },
1324 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_errorInfo },
1329 dissect_cmip_SpecificErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1330 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1331 SpecificErrorInfo_sequence, hf_index, ett_cmip_SpecificErrorInfo);
1335 static int dissect_specificErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1336 return dissect_cmip_SpecificErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_specificErrorInfo);
1340 static const ber_sequence_t ProcessingFailure_sequence[] = {
1341 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1342 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1343 { BER_CLASS_CON, 5, 0, dissect_specificErrorInfo },
1348 dissect_cmip_ProcessingFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1349 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1350 ProcessingFailure_sequence, hf_index, ett_cmip_ProcessingFailure);
1354 static int dissect_processingFailure_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1355 return dissect_cmip_ProcessingFailure(TRUE, tvb, offset, pinfo, tree, hf_cmip_processingFailure);
1359 static const value_string cmip_T_deleteErrorInfo_vals[] = {
1360 { 2, "accessDenied" },
1366 dissect_cmip_T_deleteErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1367 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1372 static int dissect_deleteErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1373 return dissect_cmip_T_deleteErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_deleteErrorInfo);
1377 static const ber_sequence_t DeleteError_sequence[] = {
1378 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1379 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1380 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1381 { BER_CLASS_CON, 6, 0, dissect_deleteErrorInfo },
1386 dissect_cmip_DeleteError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1387 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1388 DeleteError_sequence, hf_index, ett_cmip_DeleteError);
1392 static int dissect_deleteError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1393 return dissect_cmip_DeleteError(TRUE, tvb, offset, pinfo, tree, hf_cmip_deleteError);
1397 static const ber_sequence_t SET_OF_Attribute_set_of[1] = {
1398 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributeList_item },
1402 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_) {
1403 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1404 SET_OF_Attribute_set_of, hf_index, ett_cmip_SET_OF_Attribute);
1408 static int dissect_attributeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1409 return dissect_cmip_SET_OF_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeList);
1413 static const ber_sequence_t SetResult_sequence[] = {
1414 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1415 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1416 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1417 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeList_impl },
1422 dissect_cmip_SetResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1423 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1424 SetResult_sequence, hf_index, ett_cmip_SetResult);
1428 static int dissect_setResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1429 return dissect_cmip_SetResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_setResult);
1435 dissect_cmip_AccessControl(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1436 offset = dissect_acse_EXTERNAL(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1440 static int dissect_accessControl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1441 return dissect_cmip_AccessControl(FALSE, tvb, offset, pinfo, tree, hf_cmip_accessControl);
1445 static const value_string cmip_CMISSync_vals[] = {
1446 { 0, "bestEffort" },
1453 dissect_cmip_CMISSync(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1454 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1459 static int dissect_synchronization_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1460 return dissect_cmip_CMISSync(TRUE, tvb, offset, pinfo, tree, hf_cmip_synchronization);
1464 static const value_string cmip_T_namedNumbers_vals[] = {
1465 { 0, "baseObject" },
1466 { 1, "firstLevelOnly" },
1467 { 2, "wholeSubtree" },
1473 dissect_cmip_T_namedNumbers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1474 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1479 static int dissect_namedNumbers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1480 return dissect_cmip_T_namedNumbers(FALSE, tvb, offset, pinfo, tree, hf_cmip_namedNumbers);
1486 dissect_cmip_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1487 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1492 static int dissect_individualLevels_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1493 return dissect_cmip_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_cmip_individualLevels);
1495 static int dissect_baseToNthLevel_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1496 return dissect_cmip_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_cmip_baseToNthLevel);
1500 static const value_string cmip_Scope_vals[] = {
1501 { 0, "namedNumbers" },
1502 { 1, "individualLevels" },
1503 { 2, "baseToNthLevel" },
1507 static const ber_choice_t Scope_choice[] = {
1508 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_namedNumbers },
1509 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_individualLevels_impl },
1510 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_baseToNthLevel_impl },
1511 { 0, 0, 0, 0, NULL }
1515 dissect_cmip_Scope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1516 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1517 Scope_choice, hf_index, ett_cmip_Scope,
1522 static int dissect_scope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1523 return dissect_cmip_Scope(FALSE, tvb, offset, pinfo, tree, hf_cmip_scope);
1527 static const value_string cmip_T_substrings_item_vals[] = {
1528 { 0, "initialString" },
1530 { 2, "finalString" },
1534 static const ber_choice_t T_substrings_item_choice[] = {
1535 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_initialString_impl },
1536 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_anyString_impl },
1537 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_finalString_impl },
1538 { 0, 0, 0, 0, NULL }
1542 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_) {
1543 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1544 T_substrings_item_choice, hf_index, ett_cmip_T_substrings_item,
1549 static int dissect_substrings_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1550 return dissect_cmip_T_substrings_item(FALSE, tvb, offset, pinfo, tree, hf_cmip_substrings_item);
1554 static const ber_sequence_t T_substrings_sequence_of[1] = {
1555 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_substrings_item },
1559 dissect_cmip_T_substrings(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1560 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1561 T_substrings_sequence_of, hf_index, ett_cmip_T_substrings);
1565 static int dissect_substrings_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1566 return dissect_cmip_T_substrings(TRUE, tvb, offset, pinfo, tree, hf_cmip_substrings);
1570 static const value_string cmip_FilterItem_vals[] = {
1572 { 1, "substrings" },
1573 { 2, "greaterOrEqual" },
1574 { 3, "lessOrEqual" },
1577 { 6, "supersetOf" },
1578 { 7, "nonNullSetIntersection" },
1582 static const ber_choice_t FilterItem_choice[] = {
1583 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_equality_impl },
1584 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_substrings_impl },
1585 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_greaterOrEqual_impl },
1586 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_lessOrEqual_impl },
1587 { 4, BER_CLASS_CON, 4, 0, dissect_present },
1588 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_subsetOf_impl },
1589 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_supersetOf_impl },
1590 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_nonNullSetIntersection_impl },
1591 { 0, 0, 0, 0, NULL }
1595 dissect_cmip_FilterItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1596 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1597 FilterItem_choice, hf_index, ett_cmip_FilterItem,
1602 static int dissect_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1603 return dissect_cmip_FilterItem(FALSE, tvb, offset, pinfo, tree, hf_cmip_item);
1607 static const ber_sequence_t SET_OF_CMISFilter_set_of[1] = {
1608 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_and_item },
1612 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_) {
1613 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1614 SET_OF_CMISFilter_set_of, hf_index, ett_cmip_SET_OF_CMISFilter);
1618 static int dissect_and_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1619 return dissect_cmip_SET_OF_CMISFilter(TRUE, tvb, offset, pinfo, tree, hf_cmip_and);
1621 static int dissect_or_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1622 return dissect_cmip_SET_OF_CMISFilter(TRUE, tvb, offset, pinfo, tree, hf_cmip_or);
1626 static const value_string cmip_CMISFilter_vals[] = {
1634 static const ber_choice_t CMISFilter_choice[] = {
1635 { 8, BER_CLASS_CON, 8, 0, dissect_item },
1636 { 9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_and_impl },
1637 { 10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_or_impl },
1638 { 11, BER_CLASS_CON, 11, 0, dissect_not },
1639 { 0, 0, 0, 0, NULL }
1643 dissect_cmip_CMISFilter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1644 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1645 CMISFilter_choice, hf_index, ett_cmip_CMISFilter,
1652 static const ber_sequence_t SET_OF_ModificationItem_set_of[1] = {
1653 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_modificationList_item },
1657 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_) {
1658 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1659 SET_OF_ModificationItem_set_of, hf_index, ett_cmip_SET_OF_ModificationItem);
1663 static int dissect_modificationList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1664 return dissect_cmip_SET_OF_ModificationItem(TRUE, tvb, offset, pinfo, tree, hf_cmip_modificationList);
1668 static const ber_sequence_t SetArgument_sequence[] = {
1669 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
1670 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
1671 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
1672 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_synchronization_impl },
1673 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_scope },
1674 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_filter },
1675 { BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_modificationList_impl },
1680 dissect_cmip_SetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1681 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1682 SetArgument_sequence, hf_index, ett_cmip_SetArgument);
1688 static const ber_sequence_t GetResult_sequence[] = {
1689 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1690 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1691 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1692 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeList_impl },
1697 dissect_cmip_GetResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1698 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1699 GetResult_sequence, hf_index, ett_cmip_GetResult);
1703 static int dissect_getResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1704 return dissect_cmip_GetResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_getResult);
1710 dissect_cmip_T_actionType2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1711 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
1715 static int dissect_actionType2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1716 return dissect_cmip_T_actionType2(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType2);
1722 dissect_cmip_T_actionReplyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1723 #line 196 "cmip.cnf"
1724 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1730 static int dissect_actionReplyInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1731 return dissect_cmip_T_actionReplyInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionReplyInfo);
1735 static const ber_sequence_t ActionReply_sequence[] = {
1736 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_actionType2 },
1737 { BER_CLASS_CON, 4, 0, dissect_actionReplyInfo },
1742 dissect_cmip_ActionReply(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1743 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1744 ActionReply_sequence, hf_index, ett_cmip_ActionReply);
1748 static int dissect_actionReply_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1749 return dissect_cmip_ActionReply(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionReply);
1753 static const ber_sequence_t ActionResult_sequence[] = {
1754 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1755 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1756 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1757 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_actionReply_impl },
1762 dissect_cmip_ActionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1763 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1764 ActionResult_sequence, hf_index, ett_cmip_ActionResult);
1768 static int dissect_actionResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1769 return dissect_cmip_ActionResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionResult);
1773 static const ber_sequence_t DeleteResult_sequence[] = {
1774 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1775 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1776 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1781 dissect_cmip_DeleteResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1782 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1783 DeleteResult_sequence, hf_index, ett_cmip_DeleteResult);
1787 static int dissect_deleteResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1788 return dissect_cmip_DeleteResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_deleteResult);
1792 static const value_string cmip_LinkedReplyArgument_vals[] = {
1794 { 1, "getListError" },
1796 { 3, "setListError" },
1797 { 4, "actionResult" },
1798 { 5, "processingFailure" },
1799 { 6, "deleteResult" },
1800 { 7, "actionError" },
1801 { 8, "deleteError" },
1805 static const ber_choice_t LinkedReplyArgument_choice[] = {
1806 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_getResult_impl },
1807 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_getListError_impl },
1808 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_setResult_impl },
1809 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_setListError_impl },
1810 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_actionResult_impl },
1811 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_processingFailure_impl },
1812 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_deleteResult_impl },
1813 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_actionError_impl },
1814 { 8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_deleteError_impl },
1815 { 0, 0, 0, 0, NULL }
1819 dissect_cmip_LinkedReplyArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1820 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1821 LinkedReplyArgument_choice, hf_index, ett_cmip_LinkedReplyArgument,
1830 dissect_cmip_T_eventType2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1831 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1835 static int dissect_eventType2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1836 return dissect_cmip_T_eventType2(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType2);
1842 dissect_cmip_T_eventReplyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1843 #line 208 "cmip.cnf"
1844 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1850 static int dissect_eventReplyInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1851 return dissect_cmip_T_eventReplyInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventReplyInfo);
1855 static const ber_sequence_t EventReply_sequence[] = {
1856 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_eventType2 },
1857 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_eventReplyInfo },
1862 dissect_cmip_EventReply(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1863 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1864 EventReply_sequence, hf_index, ett_cmip_EventReply);
1868 static int dissect_eventReply(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1869 return dissect_cmip_EventReply(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventReply);
1873 static const ber_sequence_t EventReportResult_sequence[] = {
1874 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1875 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1876 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
1877 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_eventReply },
1882 dissect_cmip_EventReportResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1883 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1884 EventReportResult_sequence, hf_index, ett_cmip_EventReportResult);
1892 dissect_cmip_T_eventType3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1893 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
1897 static int dissect_eventType3(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1898 return dissect_cmip_T_eventType3(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType3);
1904 dissect_cmip_T_eventInfo1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1905 #line 202 "cmip.cnf"
1906 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
1912 static int dissect_eventInfo1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1913 return dissect_cmip_T_eventInfo1(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventInfo1);
1917 static const ber_sequence_t EventReportArgument_sequence[] = {
1918 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1919 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
1920 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventTime_impl },
1921 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_eventType3 },
1922 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_eventInfo1 },
1927 dissect_cmip_EventReportArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1928 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1929 EventReportArgument_sequence, hf_index, ett_cmip_EventReportArgument);
1935 static const ber_sequence_t DeleteArgument_sequence[] = {
1936 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
1937 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
1938 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
1939 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_synchronization_impl },
1940 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_scope },
1941 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_filter },
1946 dissect_cmip_DeleteArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1947 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1948 DeleteArgument_sequence, hf_index, ett_cmip_DeleteArgument);
1954 static const value_string cmip_T_managedOrSuperiorObjectInstance_vals[] = {
1955 { 0, "managedObjectInstance" },
1956 { 1, "superiorObjectInstance" },
1960 static const ber_choice_t T_managedOrSuperiorObjectInstance_choice[] = {
1961 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_managedObjectInstance },
1962 { 1, BER_CLASS_CON, 8, 0, dissect_superiorObjectInstance },
1963 { 0, 0, 0, 0, NULL }
1967 dissect_cmip_T_managedOrSuperiorObjectInstance(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1968 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1969 T_managedOrSuperiorObjectInstance_choice, hf_index, ett_cmip_T_managedOrSuperiorObjectInstance,
1974 static int dissect_managedOrSuperiorObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1975 return dissect_cmip_T_managedOrSuperiorObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedOrSuperiorObjectInstance);
1979 static const ber_sequence_t CreateArgument_sequence[] = {
1980 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1981 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedOrSuperiorObjectInstance },
1982 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
1983 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_referenceObjectInstance },
1984 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeList_impl },
1989 dissect_cmip_CreateArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1990 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1991 CreateArgument_sequence, hf_index, ett_cmip_CreateArgument);
1997 static const ber_sequence_t CreateResult_sequence[] = {
1998 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectClass },
1999 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_managedObjectInstance },
2000 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentTime_impl },
2001 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeList_impl },
2006 dissect_cmip_CreateResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2007 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2008 CreateResult_sequence, hf_index, ett_cmip_CreateResult);
2014 static const ber_sequence_t ActionArgument_sequence[] = {
2015 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
2016 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
2017 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
2018 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_synchronization_impl },
2019 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_scope },
2020 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_filter },
2021 { BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_actionInfo_impl },
2026 dissect_cmip_ActionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2027 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2028 ActionArgument_sequence, hf_index, ett_cmip_ActionArgument);
2034 static const ber_sequence_t BaseManagedObjectId_sequence[] = {
2035 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
2036 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
2041 dissect_cmip_BaseManagedObjectId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2042 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2043 BaseManagedObjectId_sequence, hf_index, ett_cmip_BaseManagedObjectId);
2049 static const value_string cmip_AdministrativeState_vals[] = {
2052 { 2, "shuttingDown" },
2058 dissect_cmip_AdministrativeState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2059 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2068 dissect_cmip_DiscriminatorConstruct(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2069 offset = dissect_cmip_CMISFilter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2075 static const value_string cmip_Name_vals[] = {
2076 { 0, "rdnSequence" },
2080 static const ber_choice_t Name_choice[] = {
2081 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_rdnSequence },
2082 { 0, 0, 0, 0, NULL }
2086 dissect_cmip_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2087 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2088 Name_choice, hf_index, ett_cmip_Name,
2097 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_) {
2098 offset = dissect_cmip_Name(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2102 static int dissect_ae_title_form1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2103 return dissect_cmip_AE_title_form1(FALSE, tvb, offset, pinfo, tree, hf_cmip_ae_title_form1);
2109 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_) {
2110 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2114 static int dissect_ae_title_form2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2115 return dissect_cmip_AE_title_form2(FALSE, tvb, offset, pinfo, tree, hf_cmip_ae_title_form2);
2119 static const value_string cmip_AE_title_vals[] = {
2120 { 0, "ae-title-form1" },
2121 { 1, "ae-title-form2" },
2125 static const ber_choice_t AE_title_choice[] = {
2126 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ae_title_form1 },
2127 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ae_title_form2 },
2128 { 0, 0, 0, 0, NULL }
2132 dissect_cmip_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2133 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2134 AE_title_choice, hf_index, ett_cmip_AE_title,
2139 static int dissect_single(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2140 return dissect_cmip_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_single);
2142 static int dissect_multiple_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2143 return dissect_cmip_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_multiple_item);
2147 static const ber_sequence_t SET_OF_AE_title_set_of[1] = {
2148 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_multiple_item },
2152 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_) {
2153 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2154 SET_OF_AE_title_set_of, hf_index, ett_cmip_SET_OF_AE_title);
2158 static int dissect_multiple(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2159 return dissect_cmip_SET_OF_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_multiple);
2163 static const value_string cmip_Destination_vals[] = {
2169 static const ber_choice_t Destination_choice[] = {
2170 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_single },
2171 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_multiple },
2172 { 0, 0, 0, 0, NULL }
2176 dissect_cmip_Destination(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2177 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2178 Destination_choice, hf_index, ett_cmip_Destination,
2185 static const value_string cmip_OperationalState_vals[] = {
2193 dissect_cmip_OperationalState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2194 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2203 dissect_cmip_NameBinding(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2204 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2210 static const ber_sequence_t SET_OF_AttributeId_set_of[1] = {
2211 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attributeIdList_item },
2215 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_) {
2216 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2217 SET_OF_AttributeId_set_of, hf_index, ett_cmip_SET_OF_AttributeId);
2221 static int dissect_attributeIdList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2222 return dissect_cmip_SET_OF_AttributeId(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeIdList);
2226 static const ber_sequence_t GetArgument_sequence[] = {
2227 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectClass },
2228 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_baseManagedObjectInstance },
2229 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_accessControl },
2230 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_synchronization_impl },
2231 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_scope },
2232 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_filter },
2233 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributeIdList_impl },
2238 dissect_cmip_GetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2239 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2240 GetArgument_sequence, hf_index, ett_cmip_GetArgument);
2248 dissect_cmip_Argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2249 #line 105 "cmip.cnf"
2250 switch(opcode_type){
2253 case 0: /* M-eventreport */
2254 offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1);
2256 case 1: /* M-eventreport-confirmed */
2257 offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1);
2259 case 2: /* M-linkedreply */
2260 offset = dissect_cmip_LinkedReplyArgument(FALSE, tvb, offset, pinfo, tree, -1);
2263 offset = dissect_cmip_GetArgument(FALSE, tvb, offset, pinfo, tree, -1);
2266 offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1);
2268 case 5: /* M-set-confirmed */
2269 offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1);
2271 case 6: /* M-action*/
2272 offset = dissect_cmip_ActionArgument(FALSE, tvb, offset, pinfo, tree, -1);
2274 case 7: /* M-action-confirmed*/
2275 offset = dissect_cmip_ActionArgument(FALSE, tvb, offset, pinfo, tree, -1);
2277 case 8: /* M-create*/
2278 offset = dissect_cmip_CreateArgument(FALSE, tvb, offset, pinfo, tree, -1);
2280 case 9: /* M-delete*/
2281 offset = dissect_cmip_DeleteArgument(FALSE, tvb, offset, pinfo, tree, -1);
2283 case 10: /* M-cancelget */
2284 offset = dissect_cmip_InvokeIDType(FALSE, tvb, offset, pinfo, tree, -1);
2288 case OPCODE_RETURN_RESULT:
2290 case 0: /* M-eventreport*/
2291 break; /* No return data */
2292 case 1: /* M-eventreport-confirmed */
2293 offset = dissect_cmip_EventReportResult(FALSE, tvb, offset, pinfo, tree, -1);
2295 case 2: /* M-linkedreply*/
2296 break; /* No return data */
2298 offset = dissect_cmip_GetResult(FALSE, tvb, offset, pinfo, tree, -1);
2301 break; /* No return data */
2302 case 5: /* M-set-confirmed*/
2303 offset = dissect_cmip_SetResult(FALSE, tvb, offset, pinfo, tree, -1);
2305 case 6: /* M-action*/
2306 break; /* No return data */
2307 case 7: /* M-action-confirmed*/
2308 offset = dissect_cmip_ActionResult(FALSE, tvb, offset, pinfo, tree, -1);
2310 case 8: /* M-create*/
2311 offset = dissect_cmip_CreateResult(FALSE, tvb, offset, pinfo, tree, -1);
2313 case 9: /* M-delete*/
2314 offset = dissect_cmip_DeleteResult(FALSE, tvb, offset, pinfo, tree, -1);
2316 case 10: /* M-cancelget */
2317 break; /* doe this one return any data? */
2320 /*XXX add more types here */
2327 static int dissect_argument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2328 return dissect_cmip_Argument(FALSE, tvb, offset, pinfo, tree, hf_cmip_argument);
2332 static const value_string cmip_Opcode_vals[] = {
2333 { 0, "m-EventReport" },
2334 { 1, "m-EventReport-Confirmed" },
2335 { 2, "m-Linked-Reply" },
2338 { 5, "m-Set-Confirmed" },
2340 { 7, "m-Action-Confirmed" },
2343 { 10, "m-CancelGet" },
2349 dissect_cmip_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2351 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2354 if(check_col(pinfo->cinfo, COL_INFO)){
2355 col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s", val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%d"));
2361 static int dissect_opcode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2362 return dissect_cmip_Opcode(FALSE, tvb, offset, pinfo, tree, hf_cmip_opcode);
2366 static const ber_sequence_t ReturnResultBody_sequence[] = {
2367 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_opcode },
2368 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_argument },
2373 dissect_cmip_ReturnResultBody(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2374 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2375 ReturnResultBody_sequence, hf_index, ett_cmip_ReturnResultBody);
2379 static int dissect_rRBody(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2380 return dissect_cmip_ReturnResultBody(FALSE, tvb, offset, pinfo, tree, hf_cmip_rRBody);
2386 dissect_cmip_InvokeID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2387 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2392 static int dissect_present1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2393 return dissect_cmip_InvokeID(FALSE, tvb, offset, pinfo, tree, hf_cmip_present1);
2399 dissect_cmip_InvokeLinkedId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2400 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2405 static int dissect_linkedId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2406 return dissect_cmip_InvokeLinkedId(TRUE, tvb, offset, pinfo, tree, hf_cmip_linkedId);
2412 dissect_cmip_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2413 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
2417 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2418 return dissect_cmip_NULL(FALSE, tvb, offset, pinfo, tree, hf_cmip_absent);
2422 static const value_string cmip_InvokeId_vals[] = {
2428 static const ber_choice_t InvokeId_choice[] = {
2429 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_present1 },
2430 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
2431 { 0, 0, 0, 0, NULL }
2435 dissect_cmip_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2436 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2437 InvokeId_choice, hf_index, ett_cmip_InvokeId,
2442 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2443 return dissect_cmip_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_invokeId);
2449 dissect_cmip_InvokeIDType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2450 offset = dissect_cmip_InvokeId(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2456 static const ber_sequence_t Invoke_sequence[] = {
2457 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
2458 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_linkedId_impl },
2459 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_opcode },
2460 { BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_argument },
2465 dissect_cmip_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2467 opcode_type=OPCODE_INVOKE;
2468 if(check_col(pinfo->cinfo, COL_INFO)){
2469 col_prepend_fstr(pinfo->cinfo, COL_INFO, "Invoke ");
2472 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2473 Invoke_sequence, hf_index, ett_cmip_Invoke);
2477 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2478 return dissect_cmip_Invoke(TRUE, tvb, offset, pinfo, tree, hf_cmip_invoke);
2482 static const ber_sequence_t ReturnResult_sequence[] = {
2483 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
2484 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_rRBody },
2489 dissect_cmip_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2491 opcode_type=OPCODE_RETURN_RESULT;
2492 if(check_col(pinfo->cinfo, COL_INFO)){
2493 col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnResult ");
2496 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2497 ReturnResult_sequence, hf_index, ett_cmip_ReturnResult);
2501 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2502 return dissect_cmip_ReturnResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnResult);
2506 static const ber_sequence_t ReturnError_sequence[] = {
2507 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
2512 dissect_cmip_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2514 opcode_type=OPCODE_RETURN_ERROR;
2515 if(check_col(pinfo->cinfo, COL_INFO)){
2516 col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnError ");
2519 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2520 ReturnError_sequence, hf_index, ett_cmip_ReturnError);
2524 static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2525 return dissect_cmip_ReturnError(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnError);
2529 static const value_string cmip_GeneralProblem_vals[] = {
2530 { 0, "unrecognizedPDU" },
2531 { 1, "mistypedPDU" },
2532 { 2, "badlyStructuredPDU" },
2538 dissect_cmip_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2539 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2544 static int dissect_generalProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2545 return dissect_cmip_GeneralProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_generalProblem);
2549 static const value_string cmip_InvokeProblem_vals[] = {
2550 { 0, "duplicateInvocation" },
2551 { 1, "unrecognizedOperation" },
2552 { 2, "mistypedArgument" },
2553 { 3, "resourceLimitation" },
2554 { 4, "releaseInProgress" },
2555 { 5, "unrecognizedLinkedId" },
2556 { 6, "linkedResponseUnexpected" },
2557 { 7, "unexpectedLinkedOperation" },
2563 dissect_cmip_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2564 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2569 static int dissect_invokeProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2570 return dissect_cmip_InvokeProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_invokeProblem);
2574 static const value_string cmip_ReturnResultProblem_vals[] = {
2575 { 0, "unrecognizedInvocation" },
2576 { 1, "resultResponseUnexpected" },
2577 { 2, "mistypedResult" },
2583 dissect_cmip_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2584 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2589 static int dissect_returnResultProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2590 return dissect_cmip_ReturnResultProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnResultProblem);
2594 static const value_string cmip_ReturnErrorProblem_vals[] = {
2595 { 0, "unrecognizedInvocation" },
2596 { 1, "errorResponseUnexpected" },
2597 { 2, "unrecognizedError" },
2598 { 3, "unexpectedError" },
2599 { 4, "mistypedParameter" },
2605 dissect_cmip_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2606 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2611 static int dissect_returnErrorProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2612 return dissect_cmip_ReturnErrorProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnErrorProblem);
2616 static const value_string cmip_RejectProblem_vals[] = {
2617 { 0, "general-unrecognizedPDU" },
2618 { 1, "general-mistypedPDU" },
2619 { 2, "general-badlyStructuredPDU" },
2620 { 10, "invoke-duplicateInvocation" },
2621 { 11, "invoke-unrecognizedOperation" },
2622 { 12, "invoke-mistypedArgument" },
2623 { 13, "invoke-resourceLimitation" },
2624 { 14, "invoke-releaseInProgress" },
2625 { 15, "invoke-unrecognizedLinkedId" },
2626 { 16, "invoke-linkedResponseUnexpected" },
2627 { 17, "invoke-unexpectedLinkedOperation" },
2628 { 20, "returnResult-unrecognizedInvocation" },
2629 { 21, "returnResult-resultResponseUnexpected" },
2630 { 22, "returnResult-mistypedResult" },
2631 { 30, "returnError-unrecognizedInvocation" },
2632 { 31, "returnError-errorResponseUnexpected" },
2633 { 32, "returnError-unrecognizedError" },
2634 { 33, "returnError-unexpectedError" },
2635 { 34, "returnError-mistypedParameter" },
2641 dissect_cmip_RejectProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2642 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2649 static const value_string cmip_RejectProb_vals[] = {
2650 { 0, "generalProblem" },
2651 { 1, "invokeProblem" },
2652 { 2, "returnResultProblem" },
2653 { 3, "returnErrorProblem" },
2657 static const ber_choice_t RejectProb_choice[] = {
2658 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_generalProblem_impl },
2659 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invokeProblem_impl },
2660 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResultProblem_impl },
2661 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnErrorProblem_impl },
2662 { 0, 0, 0, 0, NULL }
2666 dissect_cmip_RejectProb(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2667 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2668 RejectProb_choice, hf_index, ett_cmip_RejectProb,
2673 static int dissect_rejectProblem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2674 return dissect_cmip_RejectProb(FALSE, tvb, offset, pinfo, tree, hf_cmip_rejectProblem);
2678 static const ber_sequence_t Reject_sequence[] = {
2679 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
2680 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_rejectProblem },
2685 dissect_cmip_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2687 opcode_type=OPCODE_REJECT;
2688 if(check_col(pinfo->cinfo, COL_INFO)){
2689 col_prepend_fstr(pinfo->cinfo, COL_INFO, "Reject ");
2692 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2693 Reject_sequence, hf_index, ett_cmip_Reject);
2697 static int dissect_reject_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2698 return dissect_cmip_Reject(TRUE, tvb, offset, pinfo, tree, hf_cmip_reject);
2702 const value_string cmip_ROS_vals[] = {
2704 { 2, "returnResult" },
2705 { 3, "returnError" },
2710 static const ber_choice_t ROS_choice[] = {
2711 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
2712 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
2713 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
2714 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
2715 { 0, 0, 0, 0, NULL }
2719 dissect_cmip_ROS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2720 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2721 ROS_choice, hf_index, ett_cmip_ROS,
2728 static const value_string cmip_CMIPAbortSource_vals[] = {
2729 { 0, "cmiseServiceUser" },
2730 { 1, "cmiseServiceProvider" },
2736 dissect_cmip_CMIPAbortSource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2740 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2743 if(check_col(pinfo->cinfo, COL_INFO)){
2744 col_append_fstr(pinfo->cinfo, COL_INFO, " AbortSource:%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%d"));
2750 static int dissect_abortSource_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2751 return dissect_cmip_CMIPAbortSource(TRUE, tvb, offset, pinfo, tree, hf_cmip_abortSource);
2755 static const ber_sequence_t CMIPAbortInfo_sequence[] = {
2756 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_abortSource_impl },
2757 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_userInfo },
2762 dissect_cmip_CMIPAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2764 if(check_col(pinfo->cinfo, COL_INFO)){
2765 col_append_fstr(pinfo->cinfo, COL_INFO, "CMIP-A-ABORT");
2768 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2769 CMIPAbortInfo_sequence, hf_index, ett_cmip_CMIPAbortInfo);
2775 static const asn_namedbit FunctionalUnits_bits[] = {
2776 { 0, &hf_cmip_FunctionalUnits_multipleObjectSelection, -1, -1, "multipleObjectSelection", NULL },
2777 { 1, &hf_cmip_FunctionalUnits_filter, -1, -1, "filter", NULL },
2778 { 2, &hf_cmip_FunctionalUnits_multipleReply, -1, -1, "multipleReply", NULL },
2779 { 3, &hf_cmip_FunctionalUnits_extendedService, -1, -1, "extendedService", NULL },
2780 { 4, &hf_cmip_FunctionalUnits_cancelGet, -1, -1, "cancelGet", NULL },
2781 { 0, NULL, 0, 0, NULL, NULL }
2785 dissect_cmip_FunctionalUnits(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2786 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2787 FunctionalUnits_bits, hf_index, ett_cmip_FunctionalUnits,
2792 static int dissect_functionalUnits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2793 return dissect_cmip_FunctionalUnits(TRUE, tvb, offset, pinfo, tree, hf_cmip_functionalUnits);
2797 static const asn_namedbit ProtocolVersion_bits[] = {
2798 { 0, &hf_cmip_ProtocolVersion_version1, -1, -1, "version1", NULL },
2799 { 1, &hf_cmip_ProtocolVersion_version2, -1, -1, "version2", NULL },
2800 { 0, NULL, 0, 0, NULL, NULL }
2804 dissect_cmip_ProtocolVersion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2805 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2806 ProtocolVersion_bits, hf_index, ett_cmip_ProtocolVersion,
2811 static int dissect_protocolVersion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2812 return dissect_cmip_ProtocolVersion(TRUE, tvb, offset, pinfo, tree, hf_cmip_protocolVersion);
2816 static const ber_sequence_t CMIPUserInfo_sequence[] = {
2817 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_protocolVersion_impl },
2818 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_functionalUnits_impl },
2819 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_accessControl1 },
2820 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_userInfo },
2825 dissect_cmip_CMIPUserInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2827 if(check_col(pinfo->cinfo, COL_INFO)){
2828 col_append_fstr(pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE");
2831 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2832 CMIPUserInfo_sequence, hf_index, ett_cmip_CMIPUserInfo);
2838 /*--- End of included file: packet-cmip-fn.c ---*/
2839 #line 90 "packet-cmip-template.c"
2843 dissect_cmip_attribute_35(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2846 dissect_cmip_OperationalState(FALSE, tvb, 0, pinfo, parent_tree, hf_OperationalState);
2851 dissect_cmip_attribute_55(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2854 dissect_cmip_Destination(FALSE, tvb, 0, pinfo, parent_tree,hf_Destination);
2859 dissect_cmip_attribute_56(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2862 dissect_cmip_DiscriminatorConstruct(FALSE, tvb, 0, pinfo, parent_tree, hf_DiscriminatorConstruct);
2867 dissect_cmip_attribute_63(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2870 dissect_cmip_NameBinding(FALSE, tvb, 0, pinfo, parent_tree, hf_NameBinding);
2875 dissect_cmip_attribute_65(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2878 dissect_cmip_ObjectClass(FALSE, tvb, 0, pinfo, parent_tree, hf_ObjectClass);
2883 /* XXX this one should be broken out later and moved into the conformance file */
2885 dissect_cmip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
2887 static struct SESSION_DATA_STRUCTURE* session = NULL;
2888 proto_item *item = NULL;
2889 proto_tree *tree = NULL;
2892 /* do we have spdu type from the session dissector? */
2893 if( !pinfo->private_data ){
2895 proto_tree_add_text(tree, tvb, 0, -1,
2896 "Internal error:can't get spdu type from session dissector.");
2900 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
2901 if(session->spdu_type == 0 ){
2903 proto_tree_add_text(tree, tvb, 0, -1,
2904 "Internal error:wrong spdu type %x from session dissector.",session->spdu_type);
2911 item = proto_tree_add_item(parent_tree, proto_cmip, tvb, 0, -1, FALSE);
2912 tree = proto_item_add_subtree(item, ett_cmip);
2915 if (check_col(pinfo->cinfo, COL_PROTOCOL))
2916 col_set_str(pinfo->cinfo, COL_PROTOCOL, "CMIP");
2917 if (check_col(pinfo->cinfo, COL_INFO))
2918 col_clear(pinfo->cinfo, COL_INFO);
2919 switch(session->spdu_type){
2920 case SES_CONNECTION_REQUEST:
2921 case SES_CONNECTION_ACCEPT:
2922 case SES_DISCONNECT:
2925 dissect_cmip_CMIPUserInfo(FALSE,tvb,0,pinfo,tree,-1);
2928 dissect_cmip_CMIPAbortInfo(FALSE,tvb,0,pinfo,tree,-1);
2930 case SES_DATA_TRANSFER:
2931 dissect_cmip_ROS(FALSE,tvb,0,pinfo,tree,-1);
2938 /*--- proto_register_cmip ----------------------------------------------*/
2939 void proto_register_cmip(void) {
2941 /* List of fields */
2942 static hf_register_info hf[] = {
2943 { &hf_cmip_actionType_OID,
2944 { "actionType", "cmip.actionType_OID",
2945 FT_STRING, BASE_NONE, NULL, 0,
2946 "actionType", HFILL }},
2947 { &hf_cmip_eventType_OID,
2948 { "eventType", "cmip.eventType_OID",
2949 FT_STRING, BASE_NONE, NULL, 0,
2950 "eventType", HFILL }},
2951 { &hf_cmip_attributeId_OID,
2952 { "attributeId", "cmip.attributeId_OID",
2953 FT_STRING, BASE_NONE, NULL, 0,
2954 "attributeId", HFILL }},
2955 { &hf_cmip_errorId_OID,
2956 { "errorId", "cmip.errorId_OID",
2957 FT_STRING, BASE_NONE, NULL, 0,
2958 "errorId", HFILL }},
2959 { &hf_DiscriminatorConstruct,
2960 { "DiscriminatorConstruct", "cmip.DiscriminatorConstruct",
2961 FT_UINT32, BASE_DEC, NULL, 0,
2964 { "Destination", "cmip.Destination",
2965 FT_UINT32, BASE_DEC, NULL, 0,
2968 { "NameBinding", "cmip.NameBinding",
2969 FT_STRING, BASE_NONE, NULL, 0,
2972 { "ObjectClass", "cmip.ObjectClass",
2973 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
2975 { &hf_OperationalState,
2976 { "OperationalState", "cmip.OperationalState",
2977 FT_UINT32, BASE_DEC, VALS(cmip_OperationalState_vals), 0,
2981 /*--- Included file: packet-cmip-hfarr.c ---*/
2982 #line 1 "packet-cmip-hfarr.c"
2983 { &hf_cmip_modifyOperator,
2984 { "modifyOperator", "cmip.modifyOperator",
2985 FT_INT32, BASE_DEC, VALS(cmip_ModifyOperator_vals), 0,
2987 { &hf_cmip_attributeId,
2988 { "attributeId", "cmip.attributeId",
2989 FT_OID, BASE_NONE, NULL, 0,
2990 "ModificationItem/attributeId", HFILL }},
2991 { &hf_cmip_attributeValue,
2992 { "attributeValue", "cmip.attributeValue",
2993 FT_NONE, BASE_NONE, NULL, 0,
2994 "ModificationItem/attributeValue", HFILL }},
2995 { &hf_cmip_managedObjectClass,
2996 { "managedObjectClass", "cmip.managedObjectClass",
2997 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
2999 { &hf_cmip_managedObjectInstance,
3000 { "managedObjectInstance", "cmip.managedObjectInstance",
3001 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
3003 { &hf_cmip_currentTime,
3004 { "currentTime", "cmip.currentTime",
3005 FT_STRING, BASE_NONE, NULL, 0,
3007 { &hf_cmip_getInfoList,
3008 { "getInfoList", "cmip.getInfoList",
3009 FT_UINT32, BASE_DEC, NULL, 0,
3010 "GetListError/getInfoList", HFILL }},
3011 { &hf_cmip_getInfoList_item,
3012 { "Item", "cmip.getInfoList_item",
3013 FT_UINT32, BASE_DEC, VALS(cmip_GetInfoStatus_vals), 0,
3014 "GetListError/getInfoList/_item", HFILL }},
3015 { &hf_cmip_attributeIdError,
3016 { "attributeIdError", "cmip.attributeIdError",
3017 FT_NONE, BASE_NONE, NULL, 0,
3018 "GetInfoStatus/attributeIdError", HFILL }},
3019 { &hf_cmip_attribute,
3020 { "attribute", "cmip.attribute",
3021 FT_NONE, BASE_NONE, NULL, 0,
3023 { &hf_cmip_errorStatus,
3024 { "errorStatus", "cmip.errorStatus",
3025 FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus_vals), 0,
3026 "AttributeIdError/errorStatus", HFILL }},
3027 { &hf_cmip_attributeId1,
3028 { "attributeId", "cmip.attributeId",
3029 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
3030 "AttributeIdError/attributeId", HFILL }},
3031 { &hf_cmip_setInfoList,
3032 { "setInfoList", "cmip.setInfoList",
3033 FT_UINT32, BASE_DEC, NULL, 0,
3034 "SetListError/setInfoList", HFILL }},
3035 { &hf_cmip_setInfoList_item,
3036 { "Item", "cmip.setInfoList_item",
3037 FT_UINT32, BASE_DEC, VALS(cmip_SetInfoStatus_vals), 0,
3038 "SetListError/setInfoList/_item", HFILL }},
3039 { &hf_cmip_actionErrorInfo,
3040 { "actionErrorInfo", "cmip.actionErrorInfo",
3041 FT_NONE, BASE_NONE, NULL, 0,
3042 "ActionError/actionErrorInfo", HFILL }},
3043 { &hf_cmip_specificErrorInfo,
3044 { "specificErrorInfo", "cmip.specificErrorInfo",
3045 FT_NONE, BASE_NONE, NULL, 0,
3046 "ProcessingFailure/specificErrorInfo", HFILL }},
3047 { &hf_cmip_RDNSequence_item,
3048 { "Item", "cmip.RDNSequence_item",
3049 FT_UINT32, BASE_DEC, NULL, 0,
3050 "RDNSequence/_item", HFILL }},
3051 { &hf_cmip_RelativeDistinguishedName_item,
3052 { "Item", "cmip.RelativeDistinguishedName_item",
3053 FT_NONE, BASE_NONE, NULL, 0,
3054 "RelativeDistinguishedName/_item", HFILL }},
3055 { &hf_cmip_deleteErrorInfo,
3056 { "deleteErrorInfo", "cmip.deleteErrorInfo",
3057 FT_UINT32, BASE_DEC, VALS(cmip_T_deleteErrorInfo_vals), 0,
3058 "DeleteError/deleteErrorInfo", HFILL }},
3059 { &hf_cmip_attributeError,
3060 { "attributeError", "cmip.attributeError",
3061 FT_NONE, BASE_NONE, NULL, 0,
3062 "SetInfoStatus/attributeError", HFILL }},
3064 { "errorId", "cmip.errorId",
3065 FT_OID, BASE_NONE, NULL, 0,
3066 "SpecificErrorInfo/errorId", HFILL }},
3067 { &hf_cmip_errorInfo,
3068 { "errorInfo", "cmip.errorInfo",
3069 FT_NONE, BASE_NONE, NULL, 0,
3070 "SpecificErrorInfo/errorInfo", HFILL }},
3071 { &hf_cmip_actionType,
3072 { "actionType", "cmip.actionType",
3073 FT_OID, BASE_NONE, NULL, 0,
3074 "NoSuchArgumentAction/actionType", HFILL }},
3075 { &hf_cmip_eventType,
3076 { "eventType", "cmip.eventType",
3077 FT_OID, BASE_NONE, NULL, 0,
3078 "NoSuchArgumentEvent/eventType", HFILL }},
3079 { &hf_cmip_actionId,
3080 { "actionId", "cmip.actionId",
3081 FT_NONE, BASE_NONE, NULL, 0,
3082 "NoSuchArgument/actionId", HFILL }},
3084 { "eventId", "cmip.eventId",
3085 FT_NONE, BASE_NONE, NULL, 0,
3086 "NoSuchArgument/eventId", HFILL }},
3087 { &hf_cmip_eventType1,
3088 { "eventType", "cmip.eventType",
3089 FT_OID, BASE_NONE, NULL, 0,
3090 "InvalidArgumentValueEventValue/eventType", HFILL }},
3091 { &hf_cmip_eventInfo,
3092 { "eventInfo", "cmip.eventInfo",
3093 FT_NONE, BASE_NONE, NULL, 0,
3094 "InvalidArgumentValueEventValue/eventInfo", HFILL }},
3095 { &hf_cmip_actionValue,
3096 { "actionValue", "cmip.actionValue",
3097 FT_NONE, BASE_NONE, NULL, 0,
3098 "InvalidArgumentValue/actionValue", HFILL }},
3099 { &hf_cmip_eventValue,
3100 { "eventValue", "cmip.eventValue",
3101 FT_NONE, BASE_NONE, NULL, 0,
3102 "InvalidArgumentValue/eventValue", HFILL }},
3103 { &hf_cmip_actionType1,
3104 { "actionType", "cmip.actionType",
3105 FT_OID, BASE_NONE, NULL, 0,
3106 "ErrorInfo/actionType", HFILL }},
3107 { &hf_cmip_actionArgument,
3108 { "actionArgument", "cmip.actionArgument",
3109 FT_UINT32, BASE_DEC, VALS(cmip_NoSuchArgument_vals), 0,
3110 "ErrorInfo/actionArgument", HFILL }},
3111 { &hf_cmip_argumentValue,
3112 { "argumentValue", "cmip.argumentValue",
3113 FT_UINT32, BASE_DEC, VALS(cmip_InvalidArgumentValue_vals), 0,
3114 "ErrorInfo/argumentValue", HFILL }},
3115 { &hf_cmip_errorStatus1,
3116 { "errorStatus", "cmip.errorStatus",
3117 FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus1_vals), 0,
3118 "ActionErrorInfo/errorStatus", HFILL }},
3119 { &hf_cmip_errorInfo1,
3120 { "errorInfo", "cmip.errorInfo",
3121 FT_UINT32, BASE_DEC, VALS(cmip_ErrorInfo_vals), 0,
3122 "ActionErrorInfo/errorInfo", HFILL }},
3123 { &hf_cmip_errorStatus2,
3124 { "errorStatus", "cmip.errorStatus",
3125 FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus2_vals), 0,
3126 "AttributeError/errorStatus", HFILL }},
3127 { &hf_cmip_attributeId2,
3128 { "attributeId", "cmip.attributeId",
3129 FT_OID, BASE_NONE, NULL, 0,
3130 "AttributeError/attributeId", HFILL }},
3131 { &hf_cmip_attributeValue1,
3132 { "attributeValue", "cmip.attributeValue",
3133 FT_NONE, BASE_NONE, NULL, 0,
3134 "AttributeError/attributeValue", HFILL }},
3135 { &hf_cmip_attributeList,
3136 { "attributeList", "cmip.attributeList",
3137 FT_UINT32, BASE_DEC, NULL, 0,
3139 { &hf_cmip_attributeList_item,
3140 { "Item", "cmip.attributeList_item",
3141 FT_NONE, BASE_NONE, NULL, 0,
3143 { &hf_cmip_baseManagedObjectClass,
3144 { "baseManagedObjectClass", "cmip.baseManagedObjectClass",
3145 FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
3147 { &hf_cmip_baseManagedObjectInstance,
3148 { "baseManagedObjectInstance", "cmip.baseManagedObjectInstance",
3149 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
3151 { &hf_cmip_accessControl,
3152 { "accessControl", "cmip.accessControl",
3153 FT_NONE, BASE_NONE, NULL, 0,
3155 { &hf_cmip_synchronization,
3156 { "synchronization", "cmip.synchronization",
3157 FT_UINT32, BASE_DEC, VALS(cmip_CMISSync_vals), 0,
3160 { "scope", "cmip.scope",
3161 FT_UINT32, BASE_DEC, VALS(cmip_Scope_vals), 0,
3164 { "filter", "cmip.filter",
3165 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
3167 { &hf_cmip_modificationList,
3168 { "modificationList", "cmip.modificationList",
3169 FT_UINT32, BASE_DEC, NULL, 0,
3170 "SetArgument/modificationList", HFILL }},
3171 { &hf_cmip_modificationList_item,
3172 { "Item", "cmip.modificationList_item",
3173 FT_NONE, BASE_NONE, NULL, 0,
3174 "SetArgument/modificationList/_item", HFILL }},
3175 { &hf_cmip_getResult,
3176 { "getResult", "cmip.getResult",
3177 FT_NONE, BASE_NONE, NULL, 0,
3178 "LinkedReplyArgument/getResult", HFILL }},
3179 { &hf_cmip_getListError,
3180 { "getListError", "cmip.getListError",
3181 FT_NONE, BASE_NONE, NULL, 0,
3182 "LinkedReplyArgument/getListError", HFILL }},
3183 { &hf_cmip_setResult,
3184 { "setResult", "cmip.setResult",
3185 FT_NONE, BASE_NONE, NULL, 0,
3186 "LinkedReplyArgument/setResult", HFILL }},
3187 { &hf_cmip_setListError,
3188 { "setListError", "cmip.setListError",
3189 FT_NONE, BASE_NONE, NULL, 0,
3190 "LinkedReplyArgument/setListError", HFILL }},
3191 { &hf_cmip_actionResult,
3192 { "actionResult", "cmip.actionResult",
3193 FT_NONE, BASE_NONE, NULL, 0,
3194 "LinkedReplyArgument/actionResult", HFILL }},
3195 { &hf_cmip_processingFailure,
3196 { "processingFailure", "cmip.processingFailure",
3197 FT_NONE, BASE_NONE, NULL, 0,
3198 "LinkedReplyArgument/processingFailure", HFILL }},
3199 { &hf_cmip_deleteResult,
3200 { "deleteResult", "cmip.deleteResult",
3201 FT_NONE, BASE_NONE, NULL, 0,
3202 "LinkedReplyArgument/deleteResult", HFILL }},
3203 { &hf_cmip_actionError,
3204 { "actionError", "cmip.actionError",
3205 FT_NONE, BASE_NONE, NULL, 0,
3206 "LinkedReplyArgument/actionError", HFILL }},
3207 { &hf_cmip_deleteError,
3208 { "deleteError", "cmip.deleteError",
3209 FT_NONE, BASE_NONE, NULL, 0,
3210 "LinkedReplyArgument/deleteError", HFILL }},
3211 { &hf_cmip_eventType2,
3212 { "eventType", "cmip.eventType",
3213 FT_OID, BASE_NONE, NULL, 0,
3214 "EventReply/eventType", HFILL }},
3215 { &hf_cmip_eventReplyInfo,
3216 { "eventReplyInfo", "cmip.eventReplyInfo",
3217 FT_NONE, BASE_NONE, NULL, 0,
3218 "EventReply/eventReplyInfo", HFILL }},
3219 { &hf_cmip_eventReply,
3220 { "eventReply", "cmip.eventReply",
3221 FT_NONE, BASE_NONE, NULL, 0,
3222 "EventReportResult/eventReply", HFILL }},
3223 { &hf_cmip_eventTime,
3224 { "eventTime", "cmip.eventTime",
3225 FT_STRING, BASE_NONE, NULL, 0,
3226 "EventReportArgument/eventTime", HFILL }},
3227 { &hf_cmip_eventType3,
3228 { "eventType", "cmip.eventType",
3229 FT_OID, BASE_NONE, NULL, 0,
3230 "EventReportArgument/eventType", HFILL }},
3231 { &hf_cmip_eventInfo1,
3232 { "eventInfo", "cmip.eventInfo",
3233 FT_NONE, BASE_NONE, NULL, 0,
3234 "EventReportArgument/eventInfo", HFILL }},
3235 { &hf_cmip_managedOrSuperiorObjectInstance,
3236 { "managedOrSuperiorObjectInstance", "cmip.managedOrSuperiorObjectInstance",
3237 FT_UINT32, BASE_DEC, VALS(cmip_T_managedOrSuperiorObjectInstance_vals), 0,
3238 "CreateArgument/managedOrSuperiorObjectInstance", HFILL }},
3239 { &hf_cmip_superiorObjectInstance,
3240 { "superiorObjectInstance", "cmip.superiorObjectInstance",
3241 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
3242 "CreateArgument/managedOrSuperiorObjectInstance/superiorObjectInstance", HFILL }},
3243 { &hf_cmip_referenceObjectInstance,
3244 { "referenceObjectInstance", "cmip.referenceObjectInstance",
3245 FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
3246 "CreateArgument/referenceObjectInstance", HFILL }},
3247 { &hf_cmip_actionType2,
3248 { "actionType", "cmip.actionType",
3249 FT_OID, BASE_NONE, NULL, 0,
3250 "ActionReply/actionType", HFILL }},
3251 { &hf_cmip_actionReplyInfo,
3252 { "actionReplyInfo", "cmip.actionReplyInfo",
3253 FT_NONE, BASE_NONE, NULL, 0,
3254 "ActionReply/actionReplyInfo", HFILL }},
3255 { &hf_cmip_actionReply,
3256 { "actionReply", "cmip.actionReply",
3257 FT_NONE, BASE_NONE, NULL, 0,
3258 "ActionResult/actionReply", HFILL }},
3259 { &hf_cmip_actionInfo,
3260 { "actionInfo", "cmip.actionInfo",
3261 FT_NONE, BASE_NONE, NULL, 0,
3262 "ActionArgument/actionInfo", HFILL }},
3263 { &hf_cmip_actionType3,
3264 { "actionType", "cmip.actionType",
3265 FT_OID, BASE_NONE, NULL, 0,
3266 "ActionInfo/actionType", HFILL }},
3267 { &hf_cmip_actionInfoArg,
3268 { "actionInfoArg", "cmip.actionInfoArg",
3269 FT_NONE, BASE_NONE, NULL, 0,
3270 "ActionInfo/actionInfoArg", HFILL }},
3271 { &hf_cmip_ocglobalForm,
3272 { "ocglobalForm", "cmip.ocglobalForm",
3273 FT_OID, BASE_NONE, NULL, 0,
3274 "ObjectClass/ocglobalForm", HFILL }},
3275 { &hf_cmip_oclocalForm,
3276 { "oclocalForm", "cmip.oclocalForm",
3277 FT_INT32, BASE_DEC, NULL, 0,
3278 "ObjectClass/oclocalForm", HFILL }},
3279 { &hf_cmip_distinguishedName,
3280 { "distinguishedName", "cmip.distinguishedName",
3281 FT_UINT32, BASE_DEC, NULL, 0,
3282 "ObjectInstance/distinguishedName", HFILL }},
3283 { &hf_cmip_nonSpecificForm,
3284 { "nonSpecificForm", "cmip.nonSpecificForm",
3285 FT_BYTES, BASE_HEX, NULL, 0,
3286 "ObjectInstance/nonSpecificForm", HFILL }},
3287 { &hf_cmip_localDistinguishedName,
3288 { "localDistinguishedName", "cmip.localDistinguishedName",
3289 FT_UINT32, BASE_DEC, NULL, 0,
3290 "ObjectInstance/localDistinguishedName", HFILL }},
3291 { &hf_cmip_globalForm,
3292 { "globalForm", "cmip.globalForm",
3293 FT_OID, BASE_NONE, NULL, 0,
3294 "AttributeId/globalForm", HFILL }},
3295 { &hf_cmip_localForm,
3296 { "localForm", "cmip.localForm",
3297 FT_INT32, BASE_DEC, NULL, 0,
3298 "AttributeId/localForm", HFILL }},
3301 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
3302 "Attribute/id", HFILL }},
3304 { "value", "cmip.value",
3305 FT_NONE, BASE_NONE, NULL, 0,
3306 "Attribute/value", HFILL }},
3309 FT_OID, BASE_NONE, NULL, 0,
3310 "AttributeValueAssertion/id", HFILL }},
3312 { "value", "cmip.value",
3313 FT_NONE, BASE_NONE, NULL, 0,
3314 "AttributeValueAssertion/value", HFILL }},
3315 { &hf_cmip_equality,
3316 { "equality", "cmip.equality",
3317 FT_NONE, BASE_NONE, NULL, 0,
3318 "FilterItem/equality", HFILL }},
3319 { &hf_cmip_substrings,
3320 { "substrings", "cmip.substrings",
3321 FT_UINT32, BASE_DEC, NULL, 0,
3322 "FilterItem/substrings", HFILL }},
3323 { &hf_cmip_substrings_item,
3324 { "Item", "cmip.substrings_item",
3325 FT_UINT32, BASE_DEC, VALS(cmip_T_substrings_item_vals), 0,
3326 "FilterItem/substrings/_item", HFILL }},
3327 { &hf_cmip_initialString,
3328 { "initialString", "cmip.initialString",
3329 FT_NONE, BASE_NONE, NULL, 0,
3330 "FilterItem/substrings/_item/initialString", HFILL }},
3331 { &hf_cmip_anyString,
3332 { "anyString", "cmip.anyString",
3333 FT_NONE, BASE_NONE, NULL, 0,
3334 "FilterItem/substrings/_item/anyString", HFILL }},
3335 { &hf_cmip_finalString,
3336 { "finalString", "cmip.finalString",
3337 FT_NONE, BASE_NONE, NULL, 0,
3338 "FilterItem/substrings/_item/finalString", HFILL }},
3339 { &hf_cmip_greaterOrEqual,
3340 { "greaterOrEqual", "cmip.greaterOrEqual",
3341 FT_NONE, BASE_NONE, NULL, 0,
3342 "FilterItem/greaterOrEqual", HFILL }},
3343 { &hf_cmip_lessOrEqual,
3344 { "lessOrEqual", "cmip.lessOrEqual",
3345 FT_NONE, BASE_NONE, NULL, 0,
3346 "FilterItem/lessOrEqual", HFILL }},
3348 { "present", "cmip.present",
3349 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
3350 "FilterItem/present", HFILL }},
3351 { &hf_cmip_subsetOf,
3352 { "subsetOf", "cmip.subsetOf",
3353 FT_NONE, BASE_NONE, NULL, 0,
3354 "FilterItem/subsetOf", HFILL }},
3355 { &hf_cmip_supersetOf,
3356 { "supersetOf", "cmip.supersetOf",
3357 FT_NONE, BASE_NONE, NULL, 0,
3358 "FilterItem/supersetOf", HFILL }},
3359 { &hf_cmip_nonNullSetIntersection,
3360 { "nonNullSetIntersection", "cmip.nonNullSetIntersection",
3361 FT_NONE, BASE_NONE, NULL, 0,
3362 "FilterItem/nonNullSetIntersection", HFILL }},
3364 { "single", "cmip.single",
3365 FT_UINT32, BASE_DEC, VALS(cmip_AE_title_vals), 0,
3366 "Destination/single", HFILL }},
3367 { &hf_cmip_multiple,
3368 { "multiple", "cmip.multiple",
3369 FT_UINT32, BASE_DEC, NULL, 0,
3370 "Destination/multiple", HFILL }},
3371 { &hf_cmip_multiple_item,
3372 { "Item", "cmip.multiple_item",
3373 FT_UINT32, BASE_DEC, VALS(cmip_AE_title_vals), 0,
3374 "Destination/multiple/_item", HFILL }},
3375 { &hf_cmip_ae_title_form1,
3376 { "ae-title-form1", "cmip.ae_title_form1",
3377 FT_UINT32, BASE_DEC, VALS(cmip_Name_vals), 0,
3378 "AE-title/ae-title-form1", HFILL }},
3379 { &hf_cmip_ae_title_form2,
3380 { "ae-title-form2", "cmip.ae_title_form2",
3381 FT_OID, BASE_NONE, NULL, 0,
3382 "AE-title/ae-title-form2", HFILL }},
3383 { &hf_cmip_rdnSequence,
3384 { "rdnSequence", "cmip.rdnSequence",
3385 FT_UINT32, BASE_DEC, NULL, 0,
3386 "Name/rdnSequence", HFILL }},
3388 { "item", "cmip.item",
3389 FT_UINT32, BASE_DEC, VALS(cmip_FilterItem_vals), 0,
3390 "CMISFilter/item", HFILL }},
3392 { "and", "cmip.and",
3393 FT_UINT32, BASE_DEC, NULL, 0,
3394 "CMISFilter/and", HFILL }},
3395 { &hf_cmip_and_item,
3396 { "Item", "cmip.and_item",
3397 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
3398 "CMISFilter/and/_item", HFILL }},
3401 FT_UINT32, BASE_DEC, NULL, 0,
3402 "CMISFilter/or", HFILL }},
3404 { "Item", "cmip.or_item",
3405 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
3406 "CMISFilter/or/_item", HFILL }},
3408 { "not", "cmip.not",
3409 FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
3410 "CMISFilter/not", HFILL }},
3411 { &hf_cmip_namedNumbers,
3412 { "namedNumbers", "cmip.namedNumbers",
3413 FT_INT32, BASE_DEC, VALS(cmip_T_namedNumbers_vals), 0,
3414 "Scope/namedNumbers", HFILL }},
3415 { &hf_cmip_individualLevels,
3416 { "individualLevels", "cmip.individualLevels",
3417 FT_INT32, BASE_DEC, NULL, 0,
3418 "Scope/individualLevels", HFILL }},
3419 { &hf_cmip_baseToNthLevel,
3420 { "baseToNthLevel", "cmip.baseToNthLevel",
3421 FT_INT32, BASE_DEC, NULL, 0,
3422 "Scope/baseToNthLevel", HFILL }},
3423 { &hf_cmip_attributeIdList,
3424 { "attributeIdList", "cmip.attributeIdList",
3425 FT_UINT32, BASE_DEC, NULL, 0,
3426 "GetArgument/attributeIdList", HFILL }},
3427 { &hf_cmip_attributeIdList_item,
3428 { "Item", "cmip.attributeIdList_item",
3429 FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
3430 "GetArgument/attributeIdList/_item", HFILL }},
3432 { "opcode", "cmip.opcode",
3433 FT_INT32, BASE_DEC, VALS(cmip_Opcode_vals), 0,
3435 { &hf_cmip_argument,
3436 { "argument", "cmip.argument",
3437 FT_NONE, BASE_NONE, NULL, 0,
3439 { &hf_cmip_present1,
3440 { "present", "cmip.present",
3441 FT_INT32, BASE_DEC, NULL, 0,
3442 "InvokeId/present", HFILL }},
3444 { "absent", "cmip.absent",
3445 FT_NONE, BASE_NONE, NULL, 0,
3446 "InvokeId/absent", HFILL }},
3447 { &hf_cmip_invokeId,
3448 { "invokeId", "cmip.invokeId",
3449 FT_UINT32, BASE_DEC, VALS(cmip_InvokeId_vals), 0,
3451 { &hf_cmip_linkedId,
3452 { "linkedId", "cmip.linkedId",
3453 FT_INT32, BASE_DEC, NULL, 0,
3454 "Invoke/linkedId", HFILL }},
3456 { "rRBody", "cmip.rRBody",
3457 FT_NONE, BASE_NONE, NULL, 0,
3458 "ReturnResult/rRBody", HFILL }},
3459 { &hf_cmip_generalProblem,
3460 { "generalProblem", "cmip.generalProblem",
3461 FT_INT32, BASE_DEC, VALS(cmip_GeneralProblem_vals), 0,
3462 "RejectProb/generalProblem", HFILL }},
3463 { &hf_cmip_invokeProblem,
3464 { "invokeProblem", "cmip.invokeProblem",
3465 FT_INT32, BASE_DEC, VALS(cmip_InvokeProblem_vals), 0,
3466 "RejectProb/invokeProblem", HFILL }},
3467 { &hf_cmip_returnResultProblem,
3468 { "returnResultProblem", "cmip.returnResultProblem",
3469 FT_INT32, BASE_DEC, VALS(cmip_ReturnResultProblem_vals), 0,
3470 "RejectProb/returnResultProblem", HFILL }},
3471 { &hf_cmip_returnErrorProblem,
3472 { "returnErrorProblem", "cmip.returnErrorProblem",
3473 FT_INT32, BASE_DEC, VALS(cmip_ReturnErrorProblem_vals), 0,
3474 "RejectProb/returnErrorProblem", HFILL }},
3475 { &hf_cmip_rejectProblem,
3476 { "rejectProblem", "cmip.rejectProblem",
3477 FT_UINT32, BASE_DEC, VALS(cmip_RejectProb_vals), 0,
3478 "Reject/rejectProblem", HFILL }},
3480 { "invoke", "cmip.invoke",
3481 FT_NONE, BASE_NONE, NULL, 0,
3482 "ROS/invoke", HFILL }},
3483 { &hf_cmip_returnResult,
3484 { "returnResult", "cmip.returnResult",
3485 FT_NONE, BASE_NONE, NULL, 0,
3486 "ROS/returnResult", HFILL }},
3487 { &hf_cmip_returnError,
3488 { "returnError", "cmip.returnError",
3489 FT_NONE, BASE_NONE, NULL, 0,
3490 "ROS/returnError", HFILL }},
3492 { "reject", "cmip.reject",
3493 FT_NONE, BASE_NONE, NULL, 0,
3494 "ROS/reject", HFILL }},
3495 { &hf_cmip_abortSource,
3496 { "abortSource", "cmip.abortSource",
3497 FT_UINT32, BASE_DEC, VALS(cmip_CMIPAbortSource_vals), 0,
3498 "CMIPAbortInfo/abortSource", HFILL }},
3499 { &hf_cmip_userInfo,
3500 { "userInfo", "cmip.userInfo",
3501 FT_NONE, BASE_NONE, NULL, 0,
3503 { &hf_cmip_protocolVersion,
3504 { "protocolVersion", "cmip.protocolVersion",
3505 FT_BYTES, BASE_HEX, NULL, 0,
3506 "CMIPUserInfo/protocolVersion", HFILL }},
3507 { &hf_cmip_functionalUnits,
3508 { "functionalUnits", "cmip.functionalUnits",
3509 FT_BYTES, BASE_HEX, NULL, 0,
3510 "CMIPUserInfo/functionalUnits", HFILL }},
3511 { &hf_cmip_accessControl1,
3512 { "accessControl", "cmip.accessControl",
3513 FT_NONE, BASE_NONE, NULL, 0,
3514 "CMIPUserInfo/accessControl", HFILL }},
3515 { &hf_cmip_FunctionalUnits_multipleObjectSelection,
3516 { "multipleObjectSelection", "cmip.multipleObjectSelection",
3517 FT_BOOLEAN, 8, NULL, 0x80,
3519 { &hf_cmip_FunctionalUnits_filter,
3520 { "filter", "cmip.filter",
3521 FT_BOOLEAN, 8, NULL, 0x40,
3523 { &hf_cmip_FunctionalUnits_multipleReply,
3524 { "multipleReply", "cmip.multipleReply",
3525 FT_BOOLEAN, 8, NULL, 0x20,
3527 { &hf_cmip_FunctionalUnits_extendedService,
3528 { "extendedService", "cmip.extendedService",
3529 FT_BOOLEAN, 8, NULL, 0x10,
3531 { &hf_cmip_FunctionalUnits_cancelGet,
3532 { "cancelGet", "cmip.cancelGet",
3533 FT_BOOLEAN, 8, NULL, 0x08,
3535 { &hf_cmip_ProtocolVersion_version1,
3536 { "version1", "cmip.version1",
3537 FT_BOOLEAN, 8, NULL, 0x80,
3539 { &hf_cmip_ProtocolVersion_version2,
3540 { "version2", "cmip.version2",
3541 FT_BOOLEAN, 8, NULL, 0x40,
3544 /*--- End of included file: packet-cmip-hfarr.c ---*/
3545 #line 231 "packet-cmip-template.c"
3548 /* List of subtrees */
3549 static gint *ett[] = {
3552 /*--- Included file: packet-cmip-ettarr.c ---*/
3553 #line 1 "packet-cmip-ettarr.c"
3554 &ett_cmip_ModificationItem,
3555 &ett_cmip_GetListError,
3556 &ett_cmip_SET_OF_GetInfoStatus,
3557 &ett_cmip_GetInfoStatus,
3558 &ett_cmip_AttributeIdError,
3559 &ett_cmip_SetListError,
3560 &ett_cmip_SET_OF_SetInfoStatus,
3561 &ett_cmip_ActionError,
3562 &ett_cmip_ProcessingFailure,
3563 &ett_cmip_RDNSequence,
3564 &ett_cmip_RelativeDistinguishedName,
3565 &ett_cmip_DeleteError,
3566 &ett_cmip_SetInfoStatus,
3567 &ett_cmip_SpecificErrorInfo,
3568 &ett_cmip_NoSuchArgumentAction,
3569 &ett_cmip_NoSuchArgumentEvent,
3570 &ett_cmip_NoSuchArgument,
3571 &ett_cmip_InvalidArgumentValueEventValue,
3572 &ett_cmip_InvalidArgumentValue,
3573 &ett_cmip_ErrorInfo,
3574 &ett_cmip_ActionErrorInfo,
3575 &ett_cmip_AttributeError,
3576 &ett_cmip_SetResult,
3577 &ett_cmip_SET_OF_Attribute,
3578 &ett_cmip_SetArgument,
3579 &ett_cmip_SET_OF_ModificationItem,
3580 &ett_cmip_LinkedReplyArgument,
3581 &ett_cmip_EventReply,
3582 &ett_cmip_EventReportResult,
3583 &ett_cmip_EventReportArgument,
3584 &ett_cmip_DeleteArgument,
3585 &ett_cmip_DeleteResult,
3586 &ett_cmip_CreateArgument,
3587 &ett_cmip_T_managedOrSuperiorObjectInstance,
3588 &ett_cmip_CreateResult,
3589 &ett_cmip_ActionReply,
3590 &ett_cmip_ActionResult,
3591 &ett_cmip_ActionArgument,
3592 &ett_cmip_ActionInfo,
3593 &ett_cmip_ObjectClass,
3594 &ett_cmip_ObjectInstance,
3595 &ett_cmip_BaseManagedObjectId,
3596 &ett_cmip_AttributeId,
3597 &ett_cmip_Attribute,
3598 &ett_cmip_AttributeValueAssertion,
3599 &ett_cmip_FilterItem,
3600 &ett_cmip_T_substrings,
3601 &ett_cmip_T_substrings_item,
3602 &ett_cmip_Destination,
3603 &ett_cmip_SET_OF_AE_title,
3606 &ett_cmip_CMISFilter,
3607 &ett_cmip_SET_OF_CMISFilter,
3609 &ett_cmip_GetArgument,
3610 &ett_cmip_SET_OF_AttributeId,
3611 &ett_cmip_GetResult,
3612 &ett_cmip_ReturnResultBody,
3615 &ett_cmip_ReturnResult,
3616 &ett_cmip_ReturnError,
3617 &ett_cmip_RejectProb,
3620 &ett_cmip_CMIPAbortInfo,
3621 &ett_cmip_FunctionalUnits,
3622 &ett_cmip_CMIPUserInfo,
3623 &ett_cmip_ProtocolVersion,
3625 /*--- End of included file: packet-cmip-ettarr.c ---*/
3626 #line 237 "packet-cmip-template.c"
3629 /* Register protocol */
3630 proto_cmip = proto_register_protocol(PNAME, PSNAME, PFNAME);
3632 /* Register fields and subtrees */
3633 proto_register_field_array(proto_cmip, hf, array_length(hf));
3634 proto_register_subtree_array(ett, array_length(ett));
3639 /*--- proto_reg_handoff_cmip -------------------------------------------*/
3640 void proto_reg_handoff_cmip(void) {
3641 register_ber_oid_dissector("2.9.0.0.2", dissect_cmip, proto_cmip, "cmip");
3642 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)");
3643 register_ber_oid_dissector("2.9.3.2.7.35", dissect_cmip_attribute_35, proto_cmip, "smi2AttributeID (7) operationalState(35)");
3644 register_ber_oid_dissector("2.9.3.2.7.55", dissect_cmip_attribute_55, proto_cmip, "smi2AttributeID (7) destination(55)");
3645 register_ber_oid_dissector("2.9.3.2.7.56", dissect_cmip_attribute_56, proto_cmip, "smi2AttributeID (7) discriminatorConstruct(56)");
3646 register_ber_oid_dissector("2.9.3.2.7.63", dissect_cmip_attribute_63, proto_cmip, "smi2AttributeID (7) nameBinding(63)");
3647 register_ber_oid_dissector("2.9.3.2.7.65", dissect_cmip_attribute_65, proto_cmip, "smi2AttributeID (7) objectClass(65)");
3649 register_ber_oid_name("2.9.3.2.3.4","eventForwardingDiscriminator(4)");
3650 register_ber_oid_name("2.9.1.1.4","joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");