/******************************************************************************
** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License
** as published by the Free Software Foundation; either version 2
** of the License, or (at your option) any later version.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** Project: OpcUa Wireshark Plugin
**
** Description: OpcUa Complex Type Parser
**
** This file was autogenerated on 13.10.2015.
** DON'T MODIFY THIS FILE!
** XXX - well, except that you may have to.  See the README.
**
******************************************************************************/

#include <glib.h>
#include <epan/packet.h>

extern gint ett_opcua_TrustListDataType;
extern gint ett_opcua_array_TrustListDataType;
extern gint ett_opcua_Node;
extern gint ett_opcua_array_Node;
extern gint ett_opcua_InstanceNode;
extern gint ett_opcua_array_InstanceNode;
extern gint ett_opcua_TypeNode;
extern gint ett_opcua_array_TypeNode;
extern gint ett_opcua_ObjectNode;
extern gint ett_opcua_array_ObjectNode;
extern gint ett_opcua_ObjectTypeNode;
extern gint ett_opcua_array_ObjectTypeNode;
extern gint ett_opcua_VariableNode;
extern gint ett_opcua_array_VariableNode;
extern gint ett_opcua_VariableTypeNode;
extern gint ett_opcua_array_VariableTypeNode;
extern gint ett_opcua_ReferenceTypeNode;
extern gint ett_opcua_array_ReferenceTypeNode;
extern gint ett_opcua_MethodNode;
extern gint ett_opcua_array_MethodNode;
extern gint ett_opcua_ViewNode;
extern gint ett_opcua_array_ViewNode;
extern gint ett_opcua_DataTypeNode;
extern gint ett_opcua_array_DataTypeNode;
extern gint ett_opcua_ReferenceNode;
extern gint ett_opcua_array_ReferenceNode;
extern gint ett_opcua_Argument;
extern gint ett_opcua_array_Argument;
extern gint ett_opcua_EnumValueType;
extern gint ett_opcua_array_EnumValueType;
extern gint ett_opcua_OptionSet;
extern gint ett_opcua_array_OptionSet;
extern gint ett_opcua_TimeZoneDataType;
extern gint ett_opcua_array_TimeZoneDataType;
extern gint ett_opcua_ApplicationDescription;
extern gint ett_opcua_array_ApplicationDescription;
extern gint ett_opcua_RequestHeader;
extern gint ett_opcua_array_RequestHeader;
extern gint ett_opcua_ResponseHeader;
extern gint ett_opcua_array_ResponseHeader;
extern gint ett_opcua_ServerOnNetwork;
extern gint ett_opcua_array_ServerOnNetwork;
extern gint ett_opcua_UserTokenPolicy;
extern gint ett_opcua_array_UserTokenPolicy;
extern gint ett_opcua_EndpointDescription;
extern gint ett_opcua_array_EndpointDescription;
extern gint ett_opcua_RegisteredServer;
extern gint ett_opcua_array_RegisteredServer;
extern gint ett_opcua_MdnsDiscoveryConfiguration;
extern gint ett_opcua_array_MdnsDiscoveryConfiguration;
extern gint ett_opcua_ChannelSecurityToken;
extern gint ett_opcua_array_ChannelSecurityToken;
extern gint ett_opcua_SignedSoftwareCertificate;
extern gint ett_opcua_array_SignedSoftwareCertificate;
extern gint ett_opcua_SignatureData;
extern gint ett_opcua_array_SignatureData;
extern gint ett_opcua_UserIdentityToken;
extern gint ett_opcua_array_UserIdentityToken;
extern gint ett_opcua_AnonymousIdentityToken;
extern gint ett_opcua_array_AnonymousIdentityToken;
extern gint ett_opcua_UserNameIdentityToken;
extern gint ett_opcua_array_UserNameIdentityToken;
extern gint ett_opcua_X509IdentityToken;
extern gint ett_opcua_array_X509IdentityToken;
extern gint ett_opcua_KerberosIdentityToken;
extern gint ett_opcua_array_KerberosIdentityToken;
extern gint ett_opcua_IssuedIdentityToken;
extern gint ett_opcua_array_IssuedIdentityToken;
extern gint ett_opcua_NodeAttributes;
extern gint ett_opcua_array_NodeAttributes;
extern gint ett_opcua_ObjectAttributes;
extern gint ett_opcua_array_ObjectAttributes;
extern gint ett_opcua_VariableAttributes;
extern gint ett_opcua_array_VariableAttributes;
extern gint ett_opcua_MethodAttributes;
extern gint ett_opcua_array_MethodAttributes;
extern gint ett_opcua_ObjectTypeAttributes;
extern gint ett_opcua_array_ObjectTypeAttributes;
extern gint ett_opcua_VariableTypeAttributes;
extern gint ett_opcua_array_VariableTypeAttributes;
extern gint ett_opcua_ReferenceTypeAttributes;
extern gint ett_opcua_array_ReferenceTypeAttributes;
extern gint ett_opcua_DataTypeAttributes;
extern gint ett_opcua_array_DataTypeAttributes;
extern gint ett_opcua_ViewAttributes;
extern gint ett_opcua_array_ViewAttributes;
extern gint ett_opcua_AddNodesItem;
extern gint ett_opcua_array_AddNodesItem;
extern gint ett_opcua_AddNodesResult;
extern gint ett_opcua_array_AddNodesResult;
extern gint ett_opcua_AddReferencesItem;
extern gint ett_opcua_array_AddReferencesItem;
extern gint ett_opcua_DeleteNodesItem;
extern gint ett_opcua_array_DeleteNodesItem;
extern gint ett_opcua_DeleteReferencesItem;
extern gint ett_opcua_array_DeleteReferencesItem;
extern gint ett_opcua_ViewDescription;
extern gint ett_opcua_array_ViewDescription;
extern gint ett_opcua_BrowseDescription;
extern gint ett_opcua_array_BrowseDescription;
extern gint ett_opcua_ReferenceDescription;
extern gint ett_opcua_array_ReferenceDescription;
extern gint ett_opcua_BrowseResult;
extern gint ett_opcua_array_BrowseResult;
extern gint ett_opcua_RelativePathElement;
extern gint ett_opcua_array_RelativePathElement;
extern gint ett_opcua_RelativePath;
extern gint ett_opcua_array_RelativePath;
extern gint ett_opcua_BrowsePath;
extern gint ett_opcua_array_BrowsePath;
extern gint ett_opcua_BrowsePathTarget;
extern gint ett_opcua_array_BrowsePathTarget;
extern gint ett_opcua_BrowsePathResult;
extern gint ett_opcua_array_BrowsePathResult;
extern gint ett_opcua_EndpointConfiguration;
extern gint ett_opcua_array_EndpointConfiguration;
extern gint ett_opcua_SupportedProfile;
extern gint ett_opcua_array_SupportedProfile;
extern gint ett_opcua_SoftwareCertificate;
extern gint ett_opcua_array_SoftwareCertificate;
extern gint ett_opcua_QueryDataDescription;
extern gint ett_opcua_array_QueryDataDescription;
extern gint ett_opcua_NodeTypeDescription;
extern gint ett_opcua_array_NodeTypeDescription;
extern gint ett_opcua_QueryDataSet;
extern gint ett_opcua_array_QueryDataSet;
extern gint ett_opcua_NodeReference;
extern gint ett_opcua_array_NodeReference;
extern gint ett_opcua_ContentFilterElement;
extern gint ett_opcua_array_ContentFilterElement;
extern gint ett_opcua_ContentFilter;
extern gint ett_opcua_array_ContentFilter;
extern gint ett_opcua_ElementOperand;
extern gint ett_opcua_array_ElementOperand;
extern gint ett_opcua_LiteralOperand;
extern gint ett_opcua_array_LiteralOperand;
extern gint ett_opcua_AttributeOperand;
extern gint ett_opcua_array_AttributeOperand;
extern gint ett_opcua_SimpleAttributeOperand;
extern gint ett_opcua_array_SimpleAttributeOperand;
extern gint ett_opcua_ContentFilterElementResult;
extern gint ett_opcua_array_ContentFilterElementResult;
extern gint ett_opcua_ContentFilterResult;
extern gint ett_opcua_array_ContentFilterResult;
extern gint ett_opcua_ParsingResult;
extern gint ett_opcua_array_ParsingResult;
extern gint ett_opcua_ReadValueId;
extern gint ett_opcua_array_ReadValueId;
extern gint ett_opcua_HistoryReadValueId;
extern gint ett_opcua_array_HistoryReadValueId;
extern gint ett_opcua_HistoryReadResult;
extern gint ett_opcua_array_HistoryReadResult;
extern gint ett_opcua_ReadEventDetails;
extern gint ett_opcua_array_ReadEventDetails;
extern gint ett_opcua_ReadRawModifiedDetails;
extern gint ett_opcua_array_ReadRawModifiedDetails;
extern gint ett_opcua_ReadProcessedDetails;
extern gint ett_opcua_array_ReadProcessedDetails;
extern gint ett_opcua_ReadAtTimeDetails;
extern gint ett_opcua_array_ReadAtTimeDetails;
extern gint ett_opcua_HistoryData;
extern gint ett_opcua_array_HistoryData;
extern gint ett_opcua_ModificationInfo;
extern gint ett_opcua_array_ModificationInfo;
extern gint ett_opcua_HistoryModifiedData;
extern gint ett_opcua_array_HistoryModifiedData;
extern gint ett_opcua_HistoryEvent;
extern gint ett_opcua_array_HistoryEvent;
extern gint ett_opcua_WriteValue;
extern gint ett_opcua_array_WriteValue;
extern gint ett_opcua_HistoryUpdateDetails;
extern gint ett_opcua_array_HistoryUpdateDetails;
extern gint ett_opcua_UpdateDataDetails;
extern gint ett_opcua_array_UpdateDataDetails;
extern gint ett_opcua_UpdateStructureDataDetails;
extern gint ett_opcua_array_UpdateStructureDataDetails;
extern gint ett_opcua_UpdateEventDetails;
extern gint ett_opcua_array_UpdateEventDetails;
extern gint ett_opcua_DeleteRawModifiedDetails;
extern gint ett_opcua_array_DeleteRawModifiedDetails;
extern gint ett_opcua_DeleteAtTimeDetails;
extern gint ett_opcua_array_DeleteAtTimeDetails;
extern gint ett_opcua_DeleteEventDetails;
extern gint ett_opcua_array_DeleteEventDetails;
extern gint ett_opcua_HistoryUpdateResult;
extern gint ett_opcua_array_HistoryUpdateResult;
extern gint ett_opcua_CallMethodRequest;
extern gint ett_opcua_array_CallMethodRequest;
extern gint ett_opcua_CallMethodResult;
extern gint ett_opcua_array_CallMethodResult;
extern gint ett_opcua_DataChangeFilter;
extern gint ett_opcua_array_DataChangeFilter;
extern gint ett_opcua_EventFilter;
extern gint ett_opcua_array_EventFilter;
extern gint ett_opcua_AggregateConfiguration;
extern gint ett_opcua_array_AggregateConfiguration;
extern gint ett_opcua_AggregateFilter;
extern gint ett_opcua_array_AggregateFilter;
extern gint ett_opcua_EventFilterResult;
extern gint ett_opcua_array_EventFilterResult;
extern gint ett_opcua_AggregateFilterResult;
extern gint ett_opcua_array_AggregateFilterResult;
extern gint ett_opcua_MonitoringParameters;
extern gint ett_opcua_array_MonitoringParameters;
extern gint ett_opcua_MonitoredItemCreateRequest;
extern gint ett_opcua_array_MonitoredItemCreateRequest;
extern gint ett_opcua_MonitoredItemCreateResult;
extern gint ett_opcua_array_MonitoredItemCreateResult;
extern gint ett_opcua_MonitoredItemModifyRequest;
extern gint ett_opcua_array_MonitoredItemModifyRequest;
extern gint ett_opcua_MonitoredItemModifyResult;
extern gint ett_opcua_array_MonitoredItemModifyResult;
extern gint ett_opcua_NotificationMessage;
extern gint ett_opcua_array_NotificationMessage;
extern gint ett_opcua_DataChangeNotification;
extern gint ett_opcua_array_DataChangeNotification;
extern gint ett_opcua_MonitoredItemNotification;
extern gint ett_opcua_array_MonitoredItemNotification;
extern gint ett_opcua_EventNotificationList;
extern gint ett_opcua_array_EventNotificationList;
extern gint ett_opcua_EventFieldList;
extern gint ett_opcua_array_EventFieldList;
extern gint ett_opcua_HistoryEventFieldList;
extern gint ett_opcua_array_HistoryEventFieldList;
extern gint ett_opcua_StatusChangeNotification;
extern gint ett_opcua_array_StatusChangeNotification;
extern gint ett_opcua_SubscriptionAcknowledgement;
extern gint ett_opcua_array_SubscriptionAcknowledgement;
extern gint ett_opcua_TransferResult;
extern gint ett_opcua_array_TransferResult;
extern gint ett_opcua_ScalarTestType;
extern gint ett_opcua_array_ScalarTestType;
extern gint ett_opcua_ArrayTestType;
extern gint ett_opcua_array_ArrayTestType;
extern gint ett_opcua_CompositeTestType;
extern gint ett_opcua_array_CompositeTestType;
extern gint ett_opcua_BuildInfo;
extern gint ett_opcua_array_BuildInfo;
extern gint ett_opcua_RedundantServerDataType;
extern gint ett_opcua_array_RedundantServerDataType;
extern gint ett_opcua_EndpointUrlListDataType;
extern gint ett_opcua_array_EndpointUrlListDataType;
extern gint ett_opcua_NetworkGroupDataType;
extern gint ett_opcua_array_NetworkGroupDataType;
extern gint ett_opcua_SamplingIntervalDiagnosticsDataType;
extern gint ett_opcua_array_SamplingIntervalDiagnosticsDataType;
extern gint ett_opcua_ServerDiagnosticsSummaryDataType;
extern gint ett_opcua_array_ServerDiagnosticsSummaryDataType;
extern gint ett_opcua_ServerStatusDataType;
extern gint ett_opcua_array_ServerStatusDataType;
extern gint ett_opcua_SessionDiagnosticsDataType;
extern gint ett_opcua_array_SessionDiagnosticsDataType;
extern gint ett_opcua_SessionSecurityDiagnosticsDataType;
extern gint ett_opcua_array_SessionSecurityDiagnosticsDataType;
extern gint ett_opcua_ServiceCounterDataType;
extern gint ett_opcua_array_ServiceCounterDataType;
extern gint ett_opcua_StatusResult;
extern gint ett_opcua_array_StatusResult;
extern gint ett_opcua_SubscriptionDiagnosticsDataType;
extern gint ett_opcua_array_SubscriptionDiagnosticsDataType;
extern gint ett_opcua_ModelChangeStructureDataType;
extern gint ett_opcua_array_ModelChangeStructureDataType;
extern gint ett_opcua_SemanticChangeStructureDataType;
extern gint ett_opcua_array_SemanticChangeStructureDataType;
extern gint ett_opcua_Range;
extern gint ett_opcua_array_Range;
extern gint ett_opcua_EUInformation;
extern gint ett_opcua_array_EUInformation;
extern gint ett_opcua_ComplexNumberType;
extern gint ett_opcua_array_ComplexNumberType;
extern gint ett_opcua_DoubleComplexNumberType;
extern gint ett_opcua_array_DoubleComplexNumberType;
extern gint ett_opcua_AxisInformation;
extern gint ett_opcua_array_AxisInformation;
extern gint ett_opcua_XVType;
extern gint ett_opcua_array_XVType;
extern gint ett_opcua_ProgramDiagnosticDataType;
extern gint ett_opcua_array_ProgramDiagnosticDataType;
extern gint ett_opcua_Annotation;
extern gint ett_opcua_array_Annotation;

void parseTrustListDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseInstanceNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseTypeNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseObjectNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseObjectTypeNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseVariableNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseVariableTypeNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReferenceTypeNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMethodNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseViewNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDataTypeNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReferenceNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseArgument(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEnumValueType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseOptionSet(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseTimeZoneDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseApplicationDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseRequestHeader(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseResponseHeader(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseServerOnNetwork(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseUserTokenPolicy(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEndpointDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseRegisteredServer(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMdnsDiscoveryConfiguration(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseChannelSecurityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSignedSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSignatureData(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAnonymousIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseUserNameIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseX509IdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseKerberosIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseIssuedIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseNodeAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseObjectAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseVariableAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMethodAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseObjectTypeAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseVariableTypeAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReferenceTypeAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDataTypeAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseViewAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAddNodesItem(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAddNodesResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAddReferencesItem(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDeleteNodesItem(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDeleteReferencesItem(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseViewDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseBrowseDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReferenceDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseBrowseResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseRelativePathElement(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseRelativePath(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseBrowsePath(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseBrowsePathTarget(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseBrowsePathResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEndpointConfiguration(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSupportedProfile(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseQueryDataDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseNodeTypeDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseQueryDataSet(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseNodeReference(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseContentFilterElement(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseContentFilter(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseElementOperand(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseLiteralOperand(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAttributeOperand(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSimpleAttributeOperand(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseContentFilterElementResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseContentFilterResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseParsingResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReadValueId(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseHistoryReadValueId(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseHistoryReadResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReadEventDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReadRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReadProcessedDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseReadAtTimeDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseHistoryData(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseModificationInfo(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseHistoryModifiedData(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseHistoryEvent(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseWriteValue(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseHistoryUpdateDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseUpdateDataDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseUpdateStructureDataDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseUpdateEventDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDeleteRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDeleteAtTimeDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDeleteEventDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseHistoryUpdateResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseCallMethodRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseCallMethodResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDataChangeFilter(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEventFilter(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAggregateConfiguration(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAggregateFilter(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEventFilterResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAggregateFilterResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMonitoringParameters(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMonitoredItemCreateRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMonitoredItemCreateResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMonitoredItemModifyRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMonitoredItemModifyResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseNotificationMessage(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDataChangeNotification(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseMonitoredItemNotification(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEventNotificationList(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEventFieldList(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseHistoryEventFieldList(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseStatusChangeNotification(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSubscriptionAcknowledgement(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseTransferResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseScalarTestType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseArrayTestType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseCompositeTestType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseBuildInfo(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseRedundantServerDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEndpointUrlListDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseNetworkGroupDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSamplingIntervalDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseServerDiagnosticsSummaryDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseServerStatusDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSessionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSessionSecurityDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseServiceCounterDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseStatusResult(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSubscriptionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseModelChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseSemanticChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseRange(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseEUInformation(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseComplexNumberType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseDoubleComplexNumberType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAxisInformation(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseXVType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseProgramDiagnosticDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);
void parseAnnotation(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName);

void registerComplexTypes(void);
