1 /******************************************************************************
2 ** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved.
3 ** Web: http://www.ascolab.com
5 ** SPDX-License-Identifier: GPL-2.0-or-later
7 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
8 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
10 ** Project: OpcUa Wireshark Plugin
12 ** Description: OpcUa Enum Type Parser
14 ** This file was autogenerated on 13.10.2015.
15 ** DON'T MODIFY THIS FILE!
17 ******************************************************************************/
21 #include <epan/packet.h>
23 #include "opcua_enumparser.h"
25 int ett_opcua_array_NodeIdType
;
26 int ett_opcua_array_NamingRuleType
;
27 int ett_opcua_array_OpenFileMode
;
28 int ett_opcua_array_TrustListMasks
;
29 int ett_opcua_array_IdType
;
30 int ett_opcua_array_NodeClass
;
31 int ett_opcua_array_ApplicationType
;
32 int ett_opcua_array_MessageSecurityMode
;
33 int ett_opcua_array_UserTokenType
;
34 int ett_opcua_array_SecurityTokenRequestType
;
35 int ett_opcua_array_NodeAttributesMask
;
36 int ett_opcua_array_AttributeWriteMask
;
37 int ett_opcua_array_BrowseDirection
;
38 int ett_opcua_array_BrowseResultMask
;
39 int ett_opcua_array_ComplianceLevel
;
40 int ett_opcua_array_FilterOperator
;
41 int ett_opcua_array_TimestampsToReturn
;
42 int ett_opcua_array_HistoryUpdateType
;
43 int ett_opcua_array_PerformUpdateType
;
44 int ett_opcua_array_MonitoringMode
;
45 int ett_opcua_array_DataChangeTrigger
;
46 int ett_opcua_array_DeadbandType
;
47 int ett_opcua_array_EnumeratedTestType
;
48 int ett_opcua_array_RedundancySupport
;
49 int ett_opcua_array_ServerState
;
50 int ett_opcua_array_ModelChangeStructureVerbMask
;
51 int ett_opcua_array_AxisScaleEnumeration
;
52 int ett_opcua_array_ExceptionDeviationFormat
;
54 /** NodeIdType enum table */
55 static const value_string g_NodeIdTypeTable
[] = {
64 static int hf_opcua_NodeIdType
;
66 void parseNodeIdType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
68 proto_tree_add_item(tree
, hf_opcua_NodeIdType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
70 /** NamingRuleType enum table */
71 static const value_string g_NamingRuleTypeTable
[] = {
77 static int hf_opcua_NamingRuleType
;
79 void parseNamingRuleType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
81 proto_tree_add_item(tree
, hf_opcua_NamingRuleType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
83 /** OpenFileMode enum table */
84 static const value_string g_OpenFileModeTable
[] = {
87 { 4, "EraseExisting" },
91 static int hf_opcua_OpenFileMode
;
93 void parseOpenFileMode(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
95 proto_tree_add_item(tree
, hf_opcua_OpenFileMode
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
97 /** TrustListMasks enum table */
98 static const value_string g_TrustListMasksTable
[] = {
100 { 1, "TrustedCertificates" },
101 { 2, "TrustedCrls" },
102 { 4, "IssuerCertificates" },
107 static int hf_opcua_TrustListMasks
;
109 void parseTrustListMasks(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
111 proto_tree_add_item(tree
, hf_opcua_TrustListMasks
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
113 /** IdType enum table */
114 static const value_string g_IdTypeTable
[] = {
121 static int hf_opcua_IdType
;
123 void parseIdType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
125 proto_tree_add_item(tree
, hf_opcua_IdType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
127 /** NodeClass enum table */
128 static const value_string g_NodeClassTable
[] = {
129 { 0, "Unspecified" },
134 { 16, "VariableType" },
135 { 32, "ReferenceType" },
140 static int hf_opcua_NodeClass
;
142 void parseNodeClass(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
144 proto_tree_add_item(tree
, hf_opcua_NodeClass
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
146 /** ApplicationType enum table */
147 static const value_string g_ApplicationTypeTable
[] = {
150 { 2, "ClientAndServer" },
151 { 3, "DiscoveryServer" },
154 static int hf_opcua_ApplicationType
;
156 void parseApplicationType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
158 proto_tree_add_item(tree
, hf_opcua_ApplicationType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
160 /** MessageSecurityMode enum table */
161 static const value_string g_MessageSecurityModeTable
[] = {
165 { 3, "SignAndEncrypt" },
168 static int hf_opcua_MessageSecurityMode
;
170 void parseMessageSecurityMode(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
172 proto_tree_add_item(tree
, hf_opcua_MessageSecurityMode
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
174 /** UserTokenType enum table */
175 static const value_string g_UserTokenTypeTable
[] = {
178 { 2, "Certificate" },
179 { 3, "IssuedToken" },
183 static int hf_opcua_UserTokenType
;
185 void parseUserTokenType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
187 proto_tree_add_item(tree
, hf_opcua_UserTokenType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
189 /** SecurityTokenRequestType enum table */
190 static const value_string g_SecurityTokenRequestTypeTable
[] = {
195 static int hf_opcua_SecurityTokenRequestType
;
197 void parseSecurityTokenRequestType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
199 proto_tree_add_item(tree
, hf_opcua_SecurityTokenRequestType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
201 /** NodeAttributesMask enum table */
202 static const value_string g_NodeAttributesMaskTable
[] = {
204 { 1, "AccessLevel" },
205 { 2, "ArrayDimensions" },
207 { 8, "ContainsNoLoops" },
209 { 32, "Description" },
210 { 64, "DisplayName" },
211 { 128, "EventNotifier" },
212 { 256, "Executable" },
213 { 512, "Historizing" },
214 { 1024, "InverseName" },
215 { 2048, "IsAbstract" },
216 { 4096, "MinimumSamplingInterval" },
217 { 8192, "NodeClass" },
219 { 32768, "Symmetric" },
220 { 65536, "UserAccessLevel" },
221 { 131072, "UserExecutable" },
222 { 262144, "UserWriteMask" },
223 { 524288, "ValueRank" },
224 { 1048576, "WriteMask" },
225 { 2097152, "Value" },
227 { 1335396, "BaseNode" },
228 { 1335524, "Object" },
229 { 1337444, "ObjectTypeOrDataType" },
230 { 4026999, "Variable" },
231 { 3958902, "VariableType" },
232 { 1466724, "Method" },
233 { 1371236, "ReferenceType" },
237 static int hf_opcua_NodeAttributesMask
;
239 void parseNodeAttributesMask(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
241 proto_tree_add_item(tree
, hf_opcua_NodeAttributesMask
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
243 /** AttributeWriteMask enum table */
244 static const value_string g_AttributeWriteMaskTable
[] = {
246 { 1, "AccessLevel" },
247 { 2, "ArrayDimensions" },
249 { 8, "ContainsNoLoops" },
251 { 32, "Description" },
252 { 64, "DisplayName" },
253 { 128, "EventNotifier" },
254 { 256, "Executable" },
255 { 512, "Historizing" },
256 { 1024, "InverseName" },
257 { 2048, "IsAbstract" },
258 { 4096, "MinimumSamplingInterval" },
259 { 8192, "NodeClass" },
261 { 32768, "Symmetric" },
262 { 65536, "UserAccessLevel" },
263 { 131072, "UserExecutable" },
264 { 262144, "UserWriteMask" },
265 { 524288, "ValueRank" },
266 { 1048576, "WriteMask" },
267 { 2097152, "ValueForVariableType" },
268 { 4194304, "DataTypeDefinition" },
269 { 8388608, "RolePermissions" },
270 { 16777216, "AccessRestrictions" },
271 { 33554432, "AccessLevelEx" },
274 static int hf_opcua_AttributeWriteMask
;
276 void parseAttributeWriteMask(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
278 proto_tree_add_item(tree
, hf_opcua_AttributeWriteMask
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
280 /** BrowseDirection enum table */
281 static const value_string g_BrowseDirectionTable
[] = {
288 static int hf_opcua_BrowseDirection
;
290 void parseBrowseDirection(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
292 proto_tree_add_item(tree
, hf_opcua_BrowseDirection
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
295 /** ComplianceLevel enum table */
296 static const value_string g_ComplianceLevelTable
[] = {
303 static int hf_opcua_ComplianceLevel
;
305 void parseComplianceLevel(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
307 proto_tree_add_item(tree
, hf_opcua_ComplianceLevel
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
309 /** FilterOperator enum table */
310 static const value_string g_FilterOperatorTable
[] = {
313 { 2, "GreaterThan" },
315 { 4, "GreaterThanOrEqual" },
316 { 5, "LessThanOrEqual" },
327 { 16, "BitwiseAnd" },
331 static int hf_opcua_FilterOperator
;
333 void parseFilterOperator(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
335 proto_tree_add_item(tree
, hf_opcua_FilterOperator
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
337 /** TimestampsToReturn enum table */
338 static const value_string g_TimestampsToReturnTable
[] = {
346 static int hf_opcua_TimestampsToReturn
;
348 void parseTimestampsToReturn(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
350 proto_tree_add_item(tree
, hf_opcua_TimestampsToReturn
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
352 /** HistoryUpdateType enum table */
353 static const value_string g_HistoryUpdateTypeTable
[] = {
360 static int hf_opcua_HistoryUpdateType
;
362 void parseHistoryUpdateType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
364 proto_tree_add_item(tree
, hf_opcua_HistoryUpdateType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
366 /** PerformUpdateType enum table */
367 static const value_string g_PerformUpdateTypeTable
[] = {
374 static int hf_opcua_PerformUpdateType
;
376 void parsePerformUpdateType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
378 proto_tree_add_item(tree
, hf_opcua_PerformUpdateType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
380 /** MonitoringMode enum table */
381 static const value_string g_MonitoringModeTable
[] = {
387 static int hf_opcua_MonitoringMode
;
389 void parseMonitoringMode(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
391 proto_tree_add_item(tree
, hf_opcua_MonitoringMode
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
393 /** DataChangeTrigger enum table */
394 static const value_string g_DataChangeTriggerTable
[] = {
396 { 1, "StatusValue" },
397 { 2, "StatusValueTimestamp" },
400 static int hf_opcua_DataChangeTrigger
;
402 void parseDataChangeTrigger(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
404 proto_tree_add_item(tree
, hf_opcua_DataChangeTrigger
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
406 /** DeadbandType enum table */
407 static const value_string g_DeadbandTypeTable
[] = {
413 static int hf_opcua_DeadbandType
;
415 void parseDeadbandType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
417 proto_tree_add_item(tree
, hf_opcua_DeadbandType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
419 /** EnumeratedTestType enum table */
420 static const value_string g_EnumeratedTestTypeTable
[] = {
426 static int hf_opcua_EnumeratedTestType
;
428 void parseEnumeratedTestType(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
430 proto_tree_add_item(tree
, hf_opcua_EnumeratedTestType
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
432 /** RedundancySupport enum table */
433 static const value_string g_RedundancySupportTable
[] = {
438 { 4, "Transparent" },
439 { 5, "HotAndMirrored" },
442 static int hf_opcua_RedundancySupport
;
444 void parseRedundancySupport(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
446 proto_tree_add_item(tree
, hf_opcua_RedundancySupport
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
448 /** ServerState enum table */
449 static const value_string g_ServerStateTable
[] = {
452 { 2, "NoConfiguration" },
456 { 6, "CommunicationFault" },
460 static int hf_opcua_ServerState
;
462 void parseServerState(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
464 proto_tree_add_item(tree
, hf_opcua_ServerState
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
466 /** ModelChangeStructureVerbMask enum table */
467 static const value_string g_ModelChangeStructureVerbMaskTable
[] = {
469 { 2, "NodeDeleted" },
470 { 4, "ReferenceAdded" },
471 { 8, "ReferenceDeleted" },
472 { 16, "DataTypeChanged" },
475 static int hf_opcua_ModelChangeStructureVerbMask
;
477 void parseModelChangeStructureVerbMask(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
479 proto_tree_add_item(tree
, hf_opcua_ModelChangeStructureVerbMask
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
481 /** AxisScaleEnumeration enum table */
482 static const value_string g_AxisScaleEnumerationTable
[] = {
488 static int hf_opcua_AxisScaleEnumeration
;
490 void parseAxisScaleEnumeration(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
492 proto_tree_add_item(tree
, hf_opcua_AxisScaleEnumeration
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
494 /** ExceptionDeviationFormat enum table */
495 static const value_string g_ExceptionDeviationFormatTable
[] = {
496 { 0, "AbsoluteValue" },
497 { 1, "PercentOfValue" },
498 { 2, "PercentOfRange" },
499 { 3, "PercentOfEURange" },
503 static int hf_opcua_ExceptionDeviationFormat
;
505 void parseExceptionDeviationFormat(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
507 proto_tree_add_item(tree
, hf_opcua_ExceptionDeviationFormat
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+=4;
509 /** AttributeId enum table */
510 static const value_string g_AttributeIdTable
[] = {
517 {7, "UserWriteMask"},
521 {11, "ContainsNoLoops"},
522 {12, "EventNotifier"},
526 {16, "ArrayDimensions"},
528 {18, "UserAccessLevel"},
529 {19, "MinimumSamplingInterval"},
532 {22, "UserExecutable"},
533 {23, "DataTypeDefinition"},
534 {24, "RolePermissions"},
535 {25, "UserRolePermissions"},
536 {26, "AccessRestrictions"},
537 {27, "AccessLevelEx"},
540 static int hf_opcua_AttributeId
;
542 void parseAttributeId(proto_tree
*tree
, tvbuff_t
*tvb
, packet_info
*pinfo _U_
, int *pOffset
)
544 proto_tree_add_item(tree
, hf_opcua_AttributeId
, tvb
, *pOffset
, 4, ENC_LITTLE_ENDIAN
); *pOffset
+= 4;
547 /** Setup enum subtree array */
550 &ett_opcua_array_NodeIdType
,
551 &ett_opcua_array_NamingRuleType
,
552 &ett_opcua_array_OpenFileMode
,
553 &ett_opcua_array_TrustListMasks
,
554 &ett_opcua_array_IdType
,
555 &ett_opcua_array_NodeClass
,
556 &ett_opcua_array_ApplicationType
,
557 &ett_opcua_array_MessageSecurityMode
,
558 &ett_opcua_array_UserTokenType
,
559 &ett_opcua_array_SecurityTokenRequestType
,
560 &ett_opcua_array_NodeAttributesMask
,
561 &ett_opcua_array_AttributeWriteMask
,
562 &ett_opcua_array_BrowseDirection
,
563 &ett_opcua_array_BrowseResultMask
,
564 &ett_opcua_array_ComplianceLevel
,
565 &ett_opcua_array_FilterOperator
,
566 &ett_opcua_array_TimestampsToReturn
,
567 &ett_opcua_array_HistoryUpdateType
,
568 &ett_opcua_array_PerformUpdateType
,
569 &ett_opcua_array_MonitoringMode
,
570 &ett_opcua_array_DataChangeTrigger
,
571 &ett_opcua_array_DeadbandType
,
572 &ett_opcua_array_EnumeratedTestType
,
573 &ett_opcua_array_RedundancySupport
,
574 &ett_opcua_array_ServerState
,
575 &ett_opcua_array_ModelChangeStructureVerbMask
,
576 &ett_opcua_array_AxisScaleEnumeration
,
577 &ett_opcua_array_ExceptionDeviationFormat
,
580 /** Register enum types. */
581 void registerEnumTypes(int proto
)
583 /** header field definitions */
584 static hf_register_info hf
[] =
586 { &hf_opcua_NodeIdType
,
587 { "NodeIdType", "opcua.NodeIdType", FT_UINT32
, BASE_HEX
, VALS(g_NodeIdTypeTable
), 0x0, NULL
, HFILL
}
589 { &hf_opcua_NamingRuleType
,
590 { "NamingRuleType", "opcua.NamingRuleType", FT_UINT32
, BASE_HEX
, VALS(g_NamingRuleTypeTable
), 0x0, NULL
, HFILL
}
592 { &hf_opcua_OpenFileMode
,
593 { "OpenFileMode", "opcua.OpenFileMode", FT_UINT32
, BASE_HEX
, VALS(g_OpenFileModeTable
), 0x0, NULL
, HFILL
}
595 { &hf_opcua_TrustListMasks
,
596 { "TrustListMasks", "opcua.TrustListMasks", FT_UINT32
, BASE_HEX
, VALS(g_TrustListMasksTable
), 0x0, NULL
, HFILL
}
599 { "IdType", "opcua.IdType", FT_UINT32
, BASE_HEX
, VALS(g_IdTypeTable
), 0x0, NULL
, HFILL
}
601 { &hf_opcua_NodeClass
,
602 { "NodeClass", "opcua.NodeClass", FT_UINT32
, BASE_HEX
, VALS(g_NodeClassTable
), 0x0, NULL
, HFILL
}
604 { &hf_opcua_ApplicationType
,
605 { "ApplicationType", "opcua.ApplicationType", FT_UINT32
, BASE_HEX
, VALS(g_ApplicationTypeTable
), 0x0, NULL
, HFILL
}
607 { &hf_opcua_MessageSecurityMode
,
608 { "MessageSecurityMode", "opcua.MessageSecurityMode", FT_UINT32
, BASE_HEX
, VALS(g_MessageSecurityModeTable
), 0x0, NULL
, HFILL
}
610 { &hf_opcua_UserTokenType
,
611 { "UserTokenType", "opcua.UserTokenType", FT_UINT32
, BASE_HEX
, VALS(g_UserTokenTypeTable
), 0x0, NULL
, HFILL
}
613 { &hf_opcua_SecurityTokenRequestType
,
614 { "SecurityTokenRequestType", "opcua.SecurityTokenRequestType", FT_UINT32
, BASE_HEX
, VALS(g_SecurityTokenRequestTypeTable
), 0x0, NULL
, HFILL
}
616 { &hf_opcua_NodeAttributesMask
,
617 { "NodeAttributesMask", "opcua.NodeAttributesMask", FT_UINT32
, BASE_HEX
, VALS(g_NodeAttributesMaskTable
), 0x0, NULL
, HFILL
}
619 { &hf_opcua_AttributeWriteMask
,
620 { "AttributeWriteMask", "opcua.AttributeWriteMask", FT_UINT32
, BASE_HEX
, VALS(g_AttributeWriteMaskTable
), 0x0, NULL
, HFILL
}
622 { &hf_opcua_BrowseDirection
,
623 { "BrowseDirection", "opcua.BrowseDirection", FT_UINT32
, BASE_HEX
, VALS(g_BrowseDirectionTable
), 0x0, NULL
, HFILL
}
625 { &hf_opcua_ComplianceLevel
,
626 { "ComplianceLevel", "opcua.ComplianceLevel", FT_UINT32
, BASE_HEX
, VALS(g_ComplianceLevelTable
), 0x0, NULL
, HFILL
}
628 { &hf_opcua_FilterOperator
,
629 { "FilterOperator", "opcua.FilterOperator", FT_UINT32
, BASE_HEX
, VALS(g_FilterOperatorTable
), 0x0, NULL
, HFILL
}
631 { &hf_opcua_TimestampsToReturn
,
632 { "TimestampsToReturn", "opcua.TimestampsToReturn", FT_UINT32
, BASE_HEX
, VALS(g_TimestampsToReturnTable
), 0x0, NULL
, HFILL
}
634 { &hf_opcua_HistoryUpdateType
,
635 { "HistoryUpdateType", "opcua.HistoryUpdateType", FT_UINT32
, BASE_HEX
, VALS(g_HistoryUpdateTypeTable
), 0x0, NULL
, HFILL
}
637 { &hf_opcua_PerformUpdateType
,
638 { "PerformUpdateType", "opcua.PerformUpdateType", FT_UINT32
, BASE_HEX
, VALS(g_PerformUpdateTypeTable
), 0x0, NULL
, HFILL
}
640 { &hf_opcua_MonitoringMode
,
641 { "MonitoringMode", "opcua.MonitoringMode", FT_UINT32
, BASE_HEX
, VALS(g_MonitoringModeTable
), 0x0, NULL
, HFILL
}
643 { &hf_opcua_DataChangeTrigger
,
644 { "DataChangeTrigger", "opcua.DataChangeTrigger", FT_UINT32
, BASE_HEX
, VALS(g_DataChangeTriggerTable
), 0x0, NULL
, HFILL
}
646 { &hf_opcua_DeadbandType
,
647 { "DeadbandType", "opcua.DeadbandType", FT_UINT32
, BASE_HEX
, VALS(g_DeadbandTypeTable
), 0x0, NULL
, HFILL
}
649 { &hf_opcua_EnumeratedTestType
,
650 { "EnumeratedTestType", "opcua.EnumeratedTestType", FT_UINT32
, BASE_HEX
, VALS(g_EnumeratedTestTypeTable
), 0x0, NULL
, HFILL
}
652 { &hf_opcua_RedundancySupport
,
653 { "RedundancySupport", "opcua.RedundancySupport", FT_UINT32
, BASE_HEX
, VALS(g_RedundancySupportTable
), 0x0, NULL
, HFILL
}
655 { &hf_opcua_ServerState
,
656 { "ServerState", "opcua.ServerState", FT_UINT32
, BASE_HEX
, VALS(g_ServerStateTable
), 0x0, NULL
, HFILL
}
658 { &hf_opcua_ModelChangeStructureVerbMask
,
659 { "ModelChangeStructureVerbMask", "opcua.ModelChangeStructureVerbMask", FT_UINT32
, BASE_HEX
, VALS(g_ModelChangeStructureVerbMaskTable
), 0x0, NULL
, HFILL
}
661 { &hf_opcua_AxisScaleEnumeration
,
662 { "AxisScaleEnumeration", "opcua.AxisScaleEnumeration", FT_UINT32
, BASE_HEX
, VALS(g_AxisScaleEnumerationTable
), 0x0, NULL
, HFILL
}
664 { &hf_opcua_ExceptionDeviationFormat
,
665 { "ExceptionDeviationFormat", "opcua.ExceptionDeviationFormat", FT_UINT32
, BASE_HEX
, VALS(g_ExceptionDeviationFormatTable
), 0x0, NULL
, HFILL
}
667 { &hf_opcua_AttributeId
,
668 { "AttributeId", "opcua.AttributeId", FT_UINT32
, BASE_HEX
, VALS(g_AttributeIdTable
), 0x0, NULL
, HFILL
}
672 proto_register_field_array(proto
, hf
, array_length(hf
));
673 proto_register_subtree_array(ett
, array_length(ett
));