/******************************************************************************
** Copyright (C) 2006-2014 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 Service Type Parser
**
** This file was autogenerated on 17.06.2014.
** 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_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_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_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_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_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 parseServiceFault(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseGetEndpointsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseRegisterServerRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseRegisterServerResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseOpenSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCloseSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCloseSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCreateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCreateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseActivateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseActivateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCloseSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCloseSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCancelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCancelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseAddNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseAddNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseAddReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseAddReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTranslateBrowsePathsToNodeIdsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseRegisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseRegisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseUnregisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseUnregisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseQueryFirstRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseQueryNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseQueryNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseHistoryReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseHistoryReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseWriteRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseWriteResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseHistoryUpdateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseHistoryUpdateResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCallRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCallResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCreateMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCreateMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseModifyMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseModifyMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseSetMonitoringModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseSetMonitoringModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseSetTriggeringRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseSetTriggeringResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCreateSubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseCreateSubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseModifySubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseModifySubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseSetPublishingModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseSetPublishingModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parsePublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parsePublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseRepublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseRepublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTransferSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTestStackRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTestStackResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTestStackExRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTestStackExResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void registerServiceTypes(void);
