1 /******************************************************************************
2 ** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved.
3 ** Web: http://www.ascolab.com
5 ** This program is free software; you can redistribute it and/or
6 ** modify it under the terms of the GNU General Public License
7 ** as published by the Free Software Foundation; either version 2
8 ** of the License, or (at your option) any later version.
10 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
11 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13 ** Project: OpcUa Wireshark Plugin
15 ** Description: OpcUa Enum Type Parser
17 ** This file was autogenerated on 13.10.2015.
18 ** DON'T MODIFY THIS FILE!
20 ******************************************************************************/
24 #include <epan/packet.h>
26 #include "opcua_enumparser.h"
28 gint ett_opcua_array_NodeIdType = -1;
29 gint ett_opcua_array_NamingRuleType = -1;
30 gint ett_opcua_array_OpenFileMode = -1;
31 gint ett_opcua_array_TrustListMasks = -1;
32 gint ett_opcua_array_IdType = -1;
33 gint ett_opcua_array_NodeClass = -1;
34 gint ett_opcua_array_ApplicationType = -1;
35 gint ett_opcua_array_MessageSecurityMode = -1;
36 gint ett_opcua_array_UserTokenType = -1;
37 gint ett_opcua_array_SecurityTokenRequestType = -1;
38 gint ett_opcua_array_NodeAttributesMask = -1;
39 gint ett_opcua_array_AttributeWriteMask = -1;
40 gint ett_opcua_array_BrowseDirection = -1;
41 gint ett_opcua_array_BrowseResultMask = -1;
42 gint ett_opcua_array_ComplianceLevel = -1;
43 gint ett_opcua_array_FilterOperator = -1;
44 gint ett_opcua_array_TimestampsToReturn = -1;
45 gint ett_opcua_array_HistoryUpdateType = -1;
46 gint ett_opcua_array_PerformUpdateType = -1;
47 gint ett_opcua_array_MonitoringMode = -1;
48 gint ett_opcua_array_DataChangeTrigger = -1;
49 gint ett_opcua_array_DeadbandType = -1;
50 gint ett_opcua_array_EnumeratedTestType = -1;
51 gint ett_opcua_array_RedundancySupport = -1;
52 gint ett_opcua_array_ServerState = -1;
53 gint ett_opcua_array_ModelChangeStructureVerbMask = -1;
54 gint ett_opcua_array_AxisScaleEnumeration = -1;
55 gint ett_opcua_array_ExceptionDeviationFormat = -1;
57 /** NodeIdType enum table */
58 static const value_string g_NodeIdTypeTable[] = {
67 static int hf_opcua_NodeIdType = -1;
69 void parseNodeIdType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
71 proto_tree_add_item(tree, hf_opcua_NodeIdType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
73 /** NamingRuleType enum table */
74 static const value_string g_NamingRuleTypeTable[] = {
80 static int hf_opcua_NamingRuleType = -1;
82 void parseNamingRuleType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
84 proto_tree_add_item(tree, hf_opcua_NamingRuleType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
86 /** OpenFileMode enum table */
87 static const value_string g_OpenFileModeTable[] = {
90 { 4, "EraseExisting" },
94 static int hf_opcua_OpenFileMode = -1;
96 void parseOpenFileMode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
98 proto_tree_add_item(tree, hf_opcua_OpenFileMode, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
100 /** TrustListMasks enum table */
101 static const value_string g_TrustListMasksTable[] = {
103 { 1, "TrustedCertificates" },
104 { 2, "TrustedCrls" },
105 { 4, "IssuerCertificates" },
110 static int hf_opcua_TrustListMasks = -1;
112 void parseTrustListMasks(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
114 proto_tree_add_item(tree, hf_opcua_TrustListMasks, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
116 /** IdType enum table */
117 static const value_string g_IdTypeTable[] = {
124 static int hf_opcua_IdType = -1;
126 void parseIdType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
128 proto_tree_add_item(tree, hf_opcua_IdType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
130 /** NodeClass enum table */
131 static const value_string g_NodeClassTable[] = {
132 { 0, "Unspecified" },
137 { 16, "VariableType" },
138 { 32, "ReferenceType" },
143 static int hf_opcua_NodeClass = -1;
145 void parseNodeClass(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
147 proto_tree_add_item(tree, hf_opcua_NodeClass, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
149 /** ApplicationType enum table */
150 static const value_string g_ApplicationTypeTable[] = {
153 { 2, "ClientAndServer" },
154 { 3, "DiscoveryServer" },
157 static int hf_opcua_ApplicationType = -1;
159 void parseApplicationType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
161 proto_tree_add_item(tree, hf_opcua_ApplicationType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
163 /** MessageSecurityMode enum table */
164 static const value_string g_MessageSecurityModeTable[] = {
168 { 3, "SignAndEncrypt" },
171 static int hf_opcua_MessageSecurityMode = -1;
173 void parseMessageSecurityMode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
175 proto_tree_add_item(tree, hf_opcua_MessageSecurityMode, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
177 /** UserTokenType enum table */
178 static const value_string g_UserTokenTypeTable[] = {
181 { 2, "Certificate" },
182 { 3, "IssuedToken" },
186 static int hf_opcua_UserTokenType = -1;
188 void parseUserTokenType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
190 proto_tree_add_item(tree, hf_opcua_UserTokenType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
192 /** SecurityTokenRequestType enum table */
193 static const value_string g_SecurityTokenRequestTypeTable[] = {
198 static int hf_opcua_SecurityTokenRequestType = -1;
200 void parseSecurityTokenRequestType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
202 proto_tree_add_item(tree, hf_opcua_SecurityTokenRequestType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
204 /** NodeAttributesMask enum table */
205 static const value_string g_NodeAttributesMaskTable[] = {
207 { 1, "AccessLevel" },
208 { 2, "ArrayDimensions" },
210 { 8, "ContainsNoLoops" },
212 { 32, "Description" },
213 { 64, "DisplayName" },
214 { 128, "EventNotifier" },
215 { 256, "Executable" },
216 { 512, "Historizing" },
217 { 1024, "InverseName" },
218 { 2048, "IsAbstract" },
219 { 4096, "MinimumSamplingInterval" },
220 { 8192, "NodeClass" },
222 { 32768, "Symmetric" },
223 { 65536, "UserAccessLevel" },
224 { 131072, "UserExecutable" },
225 { 262144, "UserWriteMask" },
226 { 524288, "ValueRank" },
227 { 1048576, "WriteMask" },
228 { 2097152, "Value" },
230 { 1335396, "BaseNode" },
231 { 1335524, "Object" },
232 { 1337444, "ObjectTypeOrDataType" },
233 { 4026999, "Variable" },
234 { 3958902, "VariableType" },
235 { 1466724, "Method" },
236 { 1371236, "ReferenceType" },
240 static int hf_opcua_NodeAttributesMask = -1;
242 void parseNodeAttributesMask(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
244 proto_tree_add_item(tree, hf_opcua_NodeAttributesMask, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
246 /** AttributeWriteMask enum table */
247 static const value_string g_AttributeWriteMaskTable[] = {
249 { 1, "AccessLevel" },
250 { 2, "ArrayDimensions" },
252 { 8, "ContainsNoLoops" },
254 { 32, "Description" },
255 { 64, "DisplayName" },
256 { 128, "EventNotifier" },
257 { 256, "Executable" },
258 { 512, "Historizing" },
259 { 1024, "InverseName" },
260 { 2048, "IsAbstract" },
261 { 4096, "MinimumSamplingInterval" },
262 { 8192, "NodeClass" },
264 { 32768, "Symmetric" },
265 { 65536, "UserAccessLevel" },
266 { 131072, "UserExecutable" },
267 { 262144, "UserWriteMask" },
268 { 524288, "ValueRank" },
269 { 1048576, "WriteMask" },
270 { 2097152, "ValueForVariableType" },
273 static int hf_opcua_AttributeWriteMask = -1;
275 void parseAttributeWriteMask(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
277 proto_tree_add_item(tree, hf_opcua_AttributeWriteMask, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
279 /** BrowseDirection enum table */
280 static const value_string g_BrowseDirectionTable[] = {
286 static int hf_opcua_BrowseDirection = -1;
288 void parseBrowseDirection(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
290 proto_tree_add_item(tree, hf_opcua_BrowseDirection, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
293 /** ComplianceLevel enum table */
294 static const value_string g_ComplianceLevelTable[] = {
301 static int hf_opcua_ComplianceLevel = -1;
303 void parseComplianceLevel(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
305 proto_tree_add_item(tree, hf_opcua_ComplianceLevel, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
307 /** FilterOperator enum table */
308 static const value_string g_FilterOperatorTable[] = {
311 { 2, "GreaterThan" },
313 { 4, "GreaterThanOrEqual" },
314 { 5, "LessThanOrEqual" },
325 { 16, "BitwiseAnd" },
329 static int hf_opcua_FilterOperator = -1;
331 void parseFilterOperator(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
333 proto_tree_add_item(tree, hf_opcua_FilterOperator, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
335 /** TimestampsToReturn enum table */
336 static const value_string g_TimestampsToReturnTable[] = {
343 static int hf_opcua_TimestampsToReturn = -1;
345 void parseTimestampsToReturn(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
347 proto_tree_add_item(tree, hf_opcua_TimestampsToReturn, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
349 /** HistoryUpdateType enum table */
350 static const value_string g_HistoryUpdateTypeTable[] = {
357 static int hf_opcua_HistoryUpdateType = -1;
359 void parseHistoryUpdateType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
361 proto_tree_add_item(tree, hf_opcua_HistoryUpdateType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
363 /** PerformUpdateType enum table */
364 static const value_string g_PerformUpdateTypeTable[] = {
371 static int hf_opcua_PerformUpdateType = -1;
373 void parsePerformUpdateType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
375 proto_tree_add_item(tree, hf_opcua_PerformUpdateType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
377 /** MonitoringMode enum table */
378 static const value_string g_MonitoringModeTable[] = {
384 static int hf_opcua_MonitoringMode = -1;
386 void parseMonitoringMode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
388 proto_tree_add_item(tree, hf_opcua_MonitoringMode, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
390 /** DataChangeTrigger enum table */
391 static const value_string g_DataChangeTriggerTable[] = {
393 { 1, "StatusValue" },
394 { 2, "StatusValueTimestamp" },
397 static int hf_opcua_DataChangeTrigger = -1;
399 void parseDataChangeTrigger(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
401 proto_tree_add_item(tree, hf_opcua_DataChangeTrigger, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
403 /** DeadbandType enum table */
404 static const value_string g_DeadbandTypeTable[] = {
410 static int hf_opcua_DeadbandType = -1;
412 void parseDeadbandType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
414 proto_tree_add_item(tree, hf_opcua_DeadbandType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
416 /** EnumeratedTestType enum table */
417 static const value_string g_EnumeratedTestTypeTable[] = {
423 static int hf_opcua_EnumeratedTestType = -1;
425 void parseEnumeratedTestType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
427 proto_tree_add_item(tree, hf_opcua_EnumeratedTestType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
429 /** RedundancySupport enum table */
430 static const value_string g_RedundancySupportTable[] = {
435 { 4, "Transparent" },
436 { 5, "HotAndMirrored" },
439 static int hf_opcua_RedundancySupport = -1;
441 void parseRedundancySupport(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
443 proto_tree_add_item(tree, hf_opcua_RedundancySupport, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
445 /** ServerState enum table */
446 static const value_string g_ServerStateTable[] = {
449 { 2, "NoConfiguration" },
453 { 6, "CommunicationFault" },
457 static int hf_opcua_ServerState = -1;
459 void parseServerState(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
461 proto_tree_add_item(tree, hf_opcua_ServerState, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
463 /** ModelChangeStructureVerbMask enum table */
464 static const value_string g_ModelChangeStructureVerbMaskTable[] = {
466 { 2, "NodeDeleted" },
467 { 4, "ReferenceAdded" },
468 { 8, "ReferenceDeleted" },
469 { 16, "DataTypeChanged" },
472 static int hf_opcua_ModelChangeStructureVerbMask = -1;
474 void parseModelChangeStructureVerbMask(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
476 proto_tree_add_item(tree, hf_opcua_ModelChangeStructureVerbMask, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
478 /** AxisScaleEnumeration enum table */
479 static const value_string g_AxisScaleEnumerationTable[] = {
485 static int hf_opcua_AxisScaleEnumeration = -1;
487 void parseAxisScaleEnumeration(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
489 proto_tree_add_item(tree, hf_opcua_AxisScaleEnumeration, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
491 /** ExceptionDeviationFormat enum table */
492 static const value_string g_ExceptionDeviationFormatTable[] = {
493 { 0, "AbsoluteValue" },
494 { 1, "PercentOfValue" },
495 { 2, "PercentOfRange" },
496 { 3, "PercentOfEURange" },
500 static int hf_opcua_ExceptionDeviationFormat = -1;
502 void parseExceptionDeviationFormat(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
504 proto_tree_add_item(tree, hf_opcua_ExceptionDeviationFormat, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
506 /** AttributeId enum table */
507 static const value_string g_AttributeIdTable[] = {
514 {7, "UserWriteMask"},
518 {11, "ContainsNoLoops"},
519 {12, "EventNotifier"},
523 {16, "ArrayDimensions"},
525 {18, "UserAccessLevel"},
526 {19, "MinimumSamplingInterval"},
529 {22, "UserExecutable"},
532 static int hf_opcua_AttributeId = -1;
534 void parseAttributeId(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset)
536 proto_tree_add_item(tree, hf_opcua_AttributeId, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset += 4;
539 /** Setup enum subtree array */
542 &ett_opcua_array_NodeIdType,
543 &ett_opcua_array_NamingRuleType,
544 &ett_opcua_array_OpenFileMode,
545 &ett_opcua_array_TrustListMasks,
546 &ett_opcua_array_IdType,
547 &ett_opcua_array_NodeClass,
548 &ett_opcua_array_ApplicationType,
549 &ett_opcua_array_MessageSecurityMode,
550 &ett_opcua_array_UserTokenType,
551 &ett_opcua_array_SecurityTokenRequestType,
552 &ett_opcua_array_NodeAttributesMask,
553 &ett_opcua_array_AttributeWriteMask,
554 &ett_opcua_array_BrowseDirection,
555 &ett_opcua_array_BrowseResultMask,
556 &ett_opcua_array_ComplianceLevel,
557 &ett_opcua_array_FilterOperator,
558 &ett_opcua_array_TimestampsToReturn,
559 &ett_opcua_array_HistoryUpdateType,
560 &ett_opcua_array_PerformUpdateType,
561 &ett_opcua_array_MonitoringMode,
562 &ett_opcua_array_DataChangeTrigger,
563 &ett_opcua_array_DeadbandType,
564 &ett_opcua_array_EnumeratedTestType,
565 &ett_opcua_array_RedundancySupport,
566 &ett_opcua_array_ServerState,
567 &ett_opcua_array_ModelChangeStructureVerbMask,
568 &ett_opcua_array_AxisScaleEnumeration,
569 &ett_opcua_array_ExceptionDeviationFormat,
572 /** Register enum types. */
573 void registerEnumTypes(int proto)
575 /** header field definitions */
576 static hf_register_info hf[] =
578 { &hf_opcua_NodeIdType,
579 { "NodeIdType", "opcua.NodeIdType", FT_UINT32, BASE_HEX, VALS(g_NodeIdTypeTable), 0x0, NULL, HFILL }
581 { &hf_opcua_NamingRuleType,
582 { "NamingRuleType", "opcua.NamingRuleType", FT_UINT32, BASE_HEX, VALS(g_NamingRuleTypeTable), 0x0, NULL, HFILL }
584 { &hf_opcua_OpenFileMode,
585 { "OpenFileMode", "opcua.OpenFileMode", FT_UINT32, BASE_HEX, VALS(g_OpenFileModeTable), 0x0, NULL, HFILL }
587 { &hf_opcua_TrustListMasks,
588 { "TrustListMasks", "opcua.TrustListMasks", FT_UINT32, BASE_HEX, VALS(g_TrustListMasksTable), 0x0, NULL, HFILL }
591 { "IdType", "opcua.IdType", FT_UINT32, BASE_HEX, VALS(g_IdTypeTable), 0x0, NULL, HFILL }
593 { &hf_opcua_NodeClass,
594 { "NodeClass", "opcua.NodeClass", FT_UINT32, BASE_HEX, VALS(g_NodeClassTable), 0x0, NULL, HFILL }
596 { &hf_opcua_ApplicationType,
597 { "ApplicationType", "opcua.ApplicationType", FT_UINT32, BASE_HEX, VALS(g_ApplicationTypeTable), 0x0, NULL, HFILL }
599 { &hf_opcua_MessageSecurityMode,
600 { "MessageSecurityMode", "opcua.MessageSecurityMode", FT_UINT32, BASE_HEX, VALS(g_MessageSecurityModeTable), 0x0, NULL, HFILL }
602 { &hf_opcua_UserTokenType,
603 { "UserTokenType", "opcua.UserTokenType", FT_UINT32, BASE_HEX, VALS(g_UserTokenTypeTable), 0x0, NULL, HFILL }
605 { &hf_opcua_SecurityTokenRequestType,
606 { "SecurityTokenRequestType", "opcua.SecurityTokenRequestType", FT_UINT32, BASE_HEX, VALS(g_SecurityTokenRequestTypeTable), 0x0, NULL, HFILL }
608 { &hf_opcua_NodeAttributesMask,
609 { "NodeAttributesMask", "opcua.NodeAttributesMask", FT_UINT32, BASE_HEX, VALS(g_NodeAttributesMaskTable), 0x0, NULL, HFILL }
611 { &hf_opcua_AttributeWriteMask,
612 { "AttributeWriteMask", "opcua.AttributeWriteMask", FT_UINT32, BASE_HEX, VALS(g_AttributeWriteMaskTable), 0x0, NULL, HFILL }
614 { &hf_opcua_BrowseDirection,
615 { "BrowseDirection", "opcua.BrowseDirection", FT_UINT32, BASE_HEX, VALS(g_BrowseDirectionTable), 0x0, NULL, HFILL }
617 { &hf_opcua_ComplianceLevel,
618 { "ComplianceLevel", "opcua.ComplianceLevel", FT_UINT32, BASE_HEX, VALS(g_ComplianceLevelTable), 0x0, NULL, HFILL }
620 { &hf_opcua_FilterOperator,
621 { "FilterOperator", "opcua.FilterOperator", FT_UINT32, BASE_HEX, VALS(g_FilterOperatorTable), 0x0, NULL, HFILL }
623 { &hf_opcua_TimestampsToReturn,
624 { "TimestampsToReturn", "opcua.TimestampsToReturn", FT_UINT32, BASE_HEX, VALS(g_TimestampsToReturnTable), 0x0, NULL, HFILL }
626 { &hf_opcua_HistoryUpdateType,
627 { "HistoryUpdateType", "opcua.HistoryUpdateType", FT_UINT32, BASE_HEX, VALS(g_HistoryUpdateTypeTable), 0x0, NULL, HFILL }
629 { &hf_opcua_PerformUpdateType,
630 { "PerformUpdateType", "opcua.PerformUpdateType", FT_UINT32, BASE_HEX, VALS(g_PerformUpdateTypeTable), 0x0, NULL, HFILL }
632 { &hf_opcua_MonitoringMode,
633 { "MonitoringMode", "opcua.MonitoringMode", FT_UINT32, BASE_HEX, VALS(g_MonitoringModeTable), 0x0, NULL, HFILL }
635 { &hf_opcua_DataChangeTrigger,
636 { "DataChangeTrigger", "opcua.DataChangeTrigger", FT_UINT32, BASE_HEX, VALS(g_DataChangeTriggerTable), 0x0, NULL, HFILL }
638 { &hf_opcua_DeadbandType,
639 { "DeadbandType", "opcua.DeadbandType", FT_UINT32, BASE_HEX, VALS(g_DeadbandTypeTable), 0x0, NULL, HFILL }
641 { &hf_opcua_EnumeratedTestType,
642 { "EnumeratedTestType", "opcua.EnumeratedTestType", FT_UINT32, BASE_HEX, VALS(g_EnumeratedTestTypeTable), 0x0, NULL, HFILL }
644 { &hf_opcua_RedundancySupport,
645 { "RedundancySupport", "opcua.RedundancySupport", FT_UINT32, BASE_HEX, VALS(g_RedundancySupportTable), 0x0, NULL, HFILL }
647 { &hf_opcua_ServerState,
648 { "ServerState", "opcua.ServerState", FT_UINT32, BASE_HEX, VALS(g_ServerStateTable), 0x0, NULL, HFILL }
650 { &hf_opcua_ModelChangeStructureVerbMask,
651 { "ModelChangeStructureVerbMask", "opcua.ModelChangeStructureVerbMask", FT_UINT32, BASE_HEX, VALS(g_ModelChangeStructureVerbMaskTable), 0x0, NULL, HFILL }
653 { &hf_opcua_AxisScaleEnumeration,
654 { "AxisScaleEnumeration", "opcua.AxisScaleEnumeration", FT_UINT32, BASE_HEX, VALS(g_AxisScaleEnumerationTable), 0x0, NULL, HFILL }
656 { &hf_opcua_ExceptionDeviationFormat,
657 { "ExceptionDeviationFormat", "opcua.ExceptionDeviationFormat", FT_UINT32, BASE_HEX, VALS(g_ExceptionDeviationFormatTable), 0x0, NULL, HFILL }
659 { &hf_opcua_AttributeId,
660 { "AttributeId", "opcua.AttributeId", FT_UINT32, BASE_HEX, VALS(g_AttributeIdTable), 0x0, NULL, HFILL }
664 proto_register_field_array(proto, hf, array_length(hf));
665 proto_register_subtree_array(ett, array_length(ett));