summaryrefslogtreecommitdiff
path: root/plugins/opcua/opcua_serviceparser.c
diff options
context:
space:
mode:
authorEvan Huus <eapache@gmail.com>2013-02-15 15:24:39 +0000
committerEvan Huus <eapache@gmail.com>2013-02-15 15:24:39 +0000
commitf95978cf08f9d29407becbc3ac8d1491254f76ac (patch)
treeb08745b9d9b401a1d832ab505055538e7e19ccdd /plugins/opcua/opcua_serviceparser.c
parentfb530b1a72e8ef64c38b73e39d51c96d0e6ff98c (diff)
downloadwireshark-f95978cf08f9d29407becbc3ac8d1491254f76ac.tar.gz
From Hannes Mezger via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8327
Updates to the OPCUA plugin so that subtrees of the dissector select the appropriate number of bytes. Also fix dissection of the array dimensions field for matrix values and the highlighting for empty string fields. svn path=/trunk/; revision=47673
Diffstat (limited to 'plugins/opcua/opcua_serviceparser.c')
-rw-r--r--plugins/opcua/opcua_serviceparser.c316
1 files changed, 197 insertions, 119 deletions
diff --git a/plugins/opcua/opcua_serviceparser.c b/plugins/opcua/opcua_serviceparser.c
index 25ce95b623..b431bbb7b8 100644
--- a/plugins/opcua/opcua_serviceparser.c
+++ b/plugins/opcua/opcua_serviceparser.c
@@ -16,7 +16,7 @@
**
** Description: OpcUa Complex Type Parser
**
-** This file was autogenerated on 01.04.2009.
+** This file was autogenerated on 12.02.2013.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -30,50 +30,10 @@
#include "opcua_simpletypes.h"
#include "opcua_hfindeces.h"
-gint ett_opcua_TestStackRequest = -1;
-void parseTestStackRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TestStackRequest");
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackRequest);
-
- parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseUInt32(subtree, tvb, pOffset, hf_opcua_TestId);
- parseInt32(subtree, tvb, pOffset, hf_opcua_Iteration);
- parseVariant(subtree, tvb, pOffset, "Input");
-}
-gint ett_opcua_TestStackResponse = -1;
-void parseTestStackResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TestStackResponse");
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackResponse);
-
- parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseVariant(subtree, tvb, pOffset, "Output");
-}
-gint ett_opcua_TestStackExRequest = -1;
-void parseTestStackExRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TestStackExRequest");
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackExRequest);
-
- parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseUInt32(subtree, tvb, pOffset, hf_opcua_TestId);
- parseInt32(subtree, tvb, pOffset, hf_opcua_Iteration);
- parseCompositeTestType(subtree, tvb, pOffset, "Input");
-}
-gint ett_opcua_TestStackExResponse = -1;
-void parseTestStackExResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TestStackExResponse");
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackExResponse);
-
- parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseCompositeTestType(subtree, tvb, pOffset, "Output");
-}
gint ett_opcua_FindServersRequest = -1;
void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "FindServersRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "FindServersRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FindServersRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -82,21 +42,23 @@ void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
/* Array length field ignored: NoOfServerUris */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_ServerUris, parseString);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_FindServersResponse = -1;
void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "FindServersResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "FindServersResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FindServersResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfServers */
parseArrayComplex(subtree, tvb, pOffset, "Servers", parseApplicationDescription);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_GetEndpointsRequest = -1;
void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "GetEndpointsRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "GetEndpointsRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_GetEndpointsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -105,38 +67,42 @@ void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
/* Array length field ignored: NoOfProfileUris */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_ProfileUris, parseString);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_GetEndpointsResponse = -1;
void parseGetEndpointsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "GetEndpointsResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "GetEndpointsResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_GetEndpointsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfEndpoints */
parseArrayComplex(subtree, tvb, pOffset, "Endpoints", parseEndpointDescription);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RegisterServerRequest = -1;
void parseRegisterServerRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RegisterServerRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "RegisterServerRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisterServerRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseRegisteredServer(subtree, tvb, pOffset, "Server");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RegisterServerResponse = -1;
void parseRegisterServerResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RegisterServerResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "RegisterServerResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisterServerResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_OpenSecureChannelRequest = -1;
void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "OpenSecureChannelRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "OpenSecureChannelRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_OpenSecureChannelRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -145,38 +111,42 @@ void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
parseMessageSecurityMode(subtree, tvb, pOffset);
parseByteString(subtree, tvb, pOffset, hf_opcua_ClientNonce);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetime);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_OpenSecureChannelResponse = -1;
void parseOpenSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "OpenSecureChannelResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "OpenSecureChannelResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_OpenSecureChannelResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_ServerProtocolVersion);
parseChannelSecurityToken(subtree, tvb, pOffset, "SecurityToken");
parseByteString(subtree, tvb, pOffset, hf_opcua_ServerNonce);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CloseSecureChannelRequest = -1;
void parseCloseSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CloseSecureChannelRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CloseSecureChannelRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSecureChannelRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CloseSecureChannelResponse = -1;
void parseCloseSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CloseSecureChannelResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CloseSecureChannelResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSecureChannelResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateSessionRequest = -1;
void parseCreateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateSessionRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CreateSessionRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSessionRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -188,11 +158,12 @@ void parseCreateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseByteString(subtree, tvb, pOffset, hf_opcua_ClientCertificate);
parseDouble(subtree, tvb, pOffset, hf_opcua_RequestedSessionTimeout);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxResponseMessageSize);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateSessionResponse = -1;
void parseCreateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateSessionResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CreateSessionResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSessionResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -207,11 +178,12 @@ void parseCreateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArrayComplex(subtree, tvb, pOffset, "ServerSoftwareCertificates", parseSignedSoftwareCertificate);
parseSignatureData(subtree, tvb, pOffset, "ServerSignature");
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxRequestMessageSize);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ActivateSessionRequest = -1;
void parseActivateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ActivateSessionRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "ActivateSessionRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ActivateSessionRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -222,11 +194,12 @@ void parseActivateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
parseExtensionObject(subtree, tvb, pOffset, "UserIdentityToken");
parseSignatureData(subtree, tvb, pOffset, "UserTokenSignature");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ActivateSessionResponse = -1;
void parseActivateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ActivateSessionResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "ActivateSessionResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ActivateSessionResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -235,56 +208,62 @@ void parseActivateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CloseSessionRequest = -1;
void parseCloseSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CloseSessionRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CloseSessionRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSessionRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseBoolean(subtree, tvb, pOffset, hf_opcua_DeleteSubscriptions);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CloseSessionResponse = -1;
void parseCloseSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CloseSessionResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CloseSessionResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSessionResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CancelRequest = -1;
void parseCancelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CancelRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CancelRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CancelRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestHandle);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CancelResponse = -1;
void parseCancelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CancelResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CancelResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CancelResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_CancelCount);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AddNodesRequest = -1;
void parseAddNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "AddNodesRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "AddNodesRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddNodesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToAdd */
parseArrayComplex(subtree, tvb, pOffset, "NodesToAdd", parseAddNodesItem);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AddNodesResponse = -1;
void parseAddNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "AddNodesResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "AddNodesResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddNodesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -292,21 +271,23 @@ void parseAddNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArrayComplex(subtree, tvb, pOffset, "Results", parseAddNodesResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AddReferencesRequest = -1;
void parseAddReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "AddReferencesRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "AddReferencesRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddReferencesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfReferencesToAdd */
parseArrayComplex(subtree, tvb, pOffset, "ReferencesToAdd", parseAddReferencesItem);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AddReferencesResponse = -1;
void parseAddReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "AddReferencesResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "AddReferencesResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddReferencesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -314,21 +295,23 @@ void parseAddReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteNodesRequest = -1;
void parseDeleteNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteNodesRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "DeleteNodesRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteNodesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToDelete */
parseArrayComplex(subtree, tvb, pOffset, "NodesToDelete", parseDeleteNodesItem);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteNodesResponse = -1;
void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteNodesResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "DeleteNodesResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteNodesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -336,21 +319,23 @@ void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteReferencesRequest = -1;
void parseDeleteReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteReferencesRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "DeleteReferencesRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteReferencesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfReferencesToDelete */
parseArrayComplex(subtree, tvb, pOffset, "ReferencesToDelete", parseDeleteReferencesItem);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteReferencesResponse = -1;
void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteReferencesResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "DeleteReferencesResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteReferencesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -358,11 +343,12 @@ void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowseRequest = -1;
void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowseRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "BrowseRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -370,11 +356,12 @@ void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedMaxReferencesPerNode);
/* Array length field ignored: NoOfNodesToBrowse */
parseArrayComplex(subtree, tvb, pOffset, "NodesToBrowse", parseBrowseDescription);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowseResponse = -1;
void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowseResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "BrowseResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -382,22 +369,24 @@ void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowseResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowseNextRequest = -1;
void parseBrowseNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowseNextRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "BrowseNextRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseNextRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoints);
/* Array length field ignored: NoOfContinuationPoints */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_ContinuationPoints, parseByteString);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowseNextResponse = -1;
void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowseNextResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "BrowseNextResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseNextResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -405,21 +394,23 @@ void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowseResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_TranslateBrowsePathsToNodeIdsRequest = -1;
void parseTranslateBrowsePathsToNodeIdsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TranslateBrowsePathsToNodeIdsRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "TranslateBrowsePathsToNodeIdsRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TranslateBrowsePathsToNodeIdsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfBrowsePaths */
parseArrayComplex(subtree, tvb, pOffset, "BrowsePaths", parseBrowsePath);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_TranslateBrowsePathsToNodeIdsResponse = -1;
void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TranslateBrowsePathsToNodeIdsResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "TranslateBrowsePathsToNodeIdsResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TranslateBrowsePathsToNodeIdsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -427,49 +418,54 @@ void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb,
parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowsePathResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RegisterNodesRequest = -1;
void parseRegisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RegisterNodesRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "RegisterNodesRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisterNodesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToRegister */
parseArrayComplex(subtree, tvb, pOffset, "NodesToRegister", parseNodeId);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RegisterNodesResponse = -1;
void parseRegisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RegisterNodesResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "RegisterNodesResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisterNodesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfRegisteredNodeIds */
parseArrayComplex(subtree, tvb, pOffset, "RegisteredNodeIds", parseNodeId);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_UnregisterNodesRequest = -1;
void parseUnregisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "UnregisterNodesRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "UnregisterNodesRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UnregisterNodesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToUnregister */
parseArrayComplex(subtree, tvb, pOffset, "NodesToUnregister", parseNodeId);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_UnregisterNodesResponse = -1;
void parseUnregisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "UnregisterNodesResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "UnregisterNodesResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UnregisterNodesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_QueryFirstRequest = -1;
void parseQueryFirstRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "QueryFirstRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "QueryFirstRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryFirstRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -479,11 +475,12 @@ void parseQueryFirstRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseContentFilter(subtree, tvb, pOffset, "Filter");
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxDataSetsToReturn);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxReferencesToReturn);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_QueryFirstResponse = -1;
void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "QueryFirstResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "QueryFirstResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryFirstResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -495,32 +492,35 @@ void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
parseContentFilterResult(subtree, tvb, pOffset, "FilterResult");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_QueryNextRequest = -1;
void parseQueryNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "QueryNextRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "QueryNextRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryNextRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoint);
parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_QueryNextResponse = -1;
void parseQueryNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "QueryNextResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "QueryNextResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryNextResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfQueryDataSets */
parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", parseQueryDataSet);
parseByteString(subtree, tvb, pOffset, hf_opcua_RevisedContinuationPoint);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ReadRequest = -1;
void parseReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ReadRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "ReadRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -528,11 +528,12 @@ void parseReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseTimestampsToReturn(subtree, tvb, pOffset);
/* Array length field ignored: NoOfNodesToRead */
parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", parseReadValueId);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ReadResponse = -1;
void parseReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ReadResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "ReadResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -540,11 +541,12 @@ void parseReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArrayComplex(subtree, tvb, pOffset, "Results", parseDataValue);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryReadRequest = -1;
void parseHistoryReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "HistoryReadRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "HistoryReadRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryReadRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -553,11 +555,12 @@ void parseHistoryReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoints);
/* Array length field ignored: NoOfNodesToRead */
parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", parseHistoryReadValueId);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryReadResponse = -1;
void parseHistoryReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "HistoryReadResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "HistoryReadResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryReadResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -565,21 +568,23 @@ void parseHistoryReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArrayComplex(subtree, tvb, pOffset, "Results", parseHistoryReadResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_WriteRequest = -1;
void parseWriteRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "WriteRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "WriteRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_WriteRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToWrite */
parseArrayComplex(subtree, tvb, pOffset, "NodesToWrite", parseWriteValue);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_WriteResponse = -1;
void parseWriteResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "WriteResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "WriteResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_WriteResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -587,21 +592,23 @@ void parseWriteResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryUpdateRequest = -1;
void parseHistoryUpdateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "HistoryUpdateRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "HistoryUpdateRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfHistoryUpdateDetails */
parseArrayComplex(subtree, tvb, pOffset, "HistoryUpdateDetails", parseExtensionObject);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryUpdateResponse = -1;
void parseHistoryUpdateResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "HistoryUpdateResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "HistoryUpdateResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -609,21 +616,23 @@ void parseHistoryUpdateResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArrayComplex(subtree, tvb, pOffset, "Results", parseHistoryUpdateResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CallRequest = -1;
void parseCallRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CallRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CallRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfMethodsToCall */
parseArrayComplex(subtree, tvb, pOffset, "MethodsToCall", parseCallMethodRequest);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CallResponse = -1;
void parseCallResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CallResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CallResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -631,11 +640,12 @@ void parseCallResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArrayComplex(subtree, tvb, pOffset, "Results", parseCallMethodResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateMonitoredItemsRequest = -1;
void parseCreateMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateMonitoredItemsRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CreateMonitoredItemsRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateMonitoredItemsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -643,11 +653,12 @@ void parseCreateMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOf
parseTimestampsToReturn(subtree, tvb, pOffset);
/* Array length field ignored: NoOfItemsToCreate */
parseArrayComplex(subtree, tvb, pOffset, "ItemsToCreate", parseMonitoredItemCreateRequest);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateMonitoredItemsResponse = -1;
void parseCreateMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateMonitoredItemsResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CreateMonitoredItemsResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateMonitoredItemsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -655,11 +666,12 @@ void parseCreateMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
parseArrayComplex(subtree, tvb, pOffset, "Results", parseMonitoredItemCreateResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ModifyMonitoredItemsRequest = -1;
void parseModifyMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ModifyMonitoredItemsRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "ModifyMonitoredItemsRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifyMonitoredItemsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -667,11 +679,12 @@ void parseModifyMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOf
parseTimestampsToReturn(subtree, tvb, pOffset);
/* Array length field ignored: NoOfItemsToModify */
parseArrayComplex(subtree, tvb, pOffset, "ItemsToModify", parseMonitoredItemModifyRequest);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ModifyMonitoredItemsResponse = -1;
void parseModifyMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ModifyMonitoredItemsResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "ModifyMonitoredItemsResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifyMonitoredItemsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -679,11 +692,12 @@ void parseModifyMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
parseArrayComplex(subtree, tvb, pOffset, "Results", parseMonitoredItemModifyResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetMonitoringModeRequest = -1;
void parseSetMonitoringModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetMonitoringModeRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "SetMonitoringModeRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetMonitoringModeRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -691,11 +705,12 @@ void parseSetMonitoringModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
parseMonitoringMode(subtree, tvb, pOffset);
/* Array length field ignored: NoOfMonitoredItemIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_MonitoredItemIds, parseUInt32);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetMonitoringModeResponse = -1;
void parseSetMonitoringModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetMonitoringModeResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "SetMonitoringModeResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetMonitoringModeResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -703,11 +718,12 @@ void parseSetMonitoringModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetTriggeringRequest = -1;
void parseSetTriggeringRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetTriggeringRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "SetTriggeringRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetTriggeringRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -717,11 +733,12 @@ void parseSetTriggeringRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_LinksToAdd, parseUInt32);
/* Array length field ignored: NoOfLinksToRemove */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_LinksToRemove, parseUInt32);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetTriggeringResponse = -1;
void parseSetTriggeringResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetTriggeringResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "SetTriggeringResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetTriggeringResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -733,22 +750,24 @@ void parseSetTriggeringResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_RemoveResults, parseStatusCode);
/* Array length field ignored: NoOfRemoveDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "RemoveDiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteMonitoredItemsRequest = -1;
void parseDeleteMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteMonitoredItemsRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "DeleteMonitoredItemsRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteMonitoredItemsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
/* Array length field ignored: NoOfMonitoredItemIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_MonitoredItemIds, parseUInt32);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteMonitoredItemsResponse = -1;
void parseDeleteMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteMonitoredItemsResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "DeleteMonitoredItemsResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteMonitoredItemsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -756,11 +775,12 @@ void parseDeleteMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateSubscriptionRequest = -1;
void parseCreateSubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateSubscriptionRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CreateSubscriptionRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSubscriptionRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -770,11 +790,12 @@ void parseCreateSubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxNotificationsPerPublish);
parseBoolean(subtree, tvb, pOffset, hf_opcua_PublishingEnabled);
parseByte(subtree, tvb, pOffset, hf_opcua_Priority);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateSubscriptionResponse = -1;
void parseCreateSubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateSubscriptionResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "CreateSubscriptionResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSubscriptionResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -782,11 +803,12 @@ void parseCreateSubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOff
parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedPublishingInterval);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetimeCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedMaxKeepAliveCount);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ModifySubscriptionRequest = -1;
void parseModifySubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ModifySubscriptionRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "ModifySubscriptionRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifySubscriptionRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
@@ -796,33 +818,36 @@ void parseModifySubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedMaxKeepAliveCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxNotificationsPerPublish);
parseByte(subtree, tvb, pOffset, hf_opcua_Priority);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ModifySubscriptionResponse = -1;
void parseModifySubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ModifySubscriptionResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "ModifySubscriptionResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifySubscriptionResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedPublishingInterval);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetimeCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedMaxKeepAliveCount);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetPublishingModeRequest = -1;
void parseSetPublishingModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetPublishingModeRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "SetPublishingModeRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetPublishingModeRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseBoolean(subtree, tvb, pOffset, hf_opcua_PublishingEnabled);
/* Array length field ignored: NoOfSubscriptionIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetPublishingModeResponse = -1;
void parseSetPublishingModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetPublishingModeResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "SetPublishingModeResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetPublishingModeResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -830,21 +855,23 @@ void parseSetPublishingModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_PublishRequest = -1;
void parsePublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "PublishRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "PublishRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_PublishRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfSubscriptionAcknowledgements */
parseArrayComplex(subtree, tvb, pOffset, "SubscriptionAcknowledgements", parseSubscriptionAcknowledgement);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_PublishResponse = -1;
void parsePublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "PublishResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "PublishResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_PublishResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -857,41 +884,45 @@ void parsePublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RepublishRequest = -1;
void parseRepublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RepublishRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "RepublishRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RepublishRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RetransmitSequenceNumber);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RepublishResponse = -1;
void parseRepublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RepublishResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "RepublishResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RepublishResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseNotificationMessage(subtree, tvb, pOffset, "NotificationMessage");
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_TransferSubscriptionsRequest = -1;
void parseTransferSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TransferSubscriptionsRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "TransferSubscriptionsRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TransferSubscriptionsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfSubscriptionIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
parseBoolean(subtree, tvb, pOffset, hf_opcua_SendInitialValues);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_TransferSubscriptionsResponse = -1;
void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TransferSubscriptionsResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "TransferSubscriptionsResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TransferSubscriptionsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -899,21 +930,23 @@ void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *p
parseArrayComplex(subtree, tvb, pOffset, "Results", parseTransferResult);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteSubscriptionsRequest = -1;
void parseDeleteSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteSubscriptionsRequest");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "DeleteSubscriptionsRequest");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteSubscriptionsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfSubscriptionIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
+ proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteSubscriptionsResponse = -1;
void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteSubscriptionsResponse");
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "DeleteSubscriptionsResponse");
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteSubscriptionsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
@@ -921,15 +954,56 @@ void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOf
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item_set_end(ti, tvb, *pOffset);
+}
+gint ett_opcua_TestStackRequest = -1;
+void parseTestStackRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "TestStackRequest");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackRequest);
+
+ parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_TestId);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_Iteration);
+ parseVariant(subtree, tvb, pOffset, "Input");
+ proto_item_set_end(ti, tvb, *pOffset);
+}
+gint ett_opcua_TestStackResponse = -1;
+void parseTestStackResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "TestStackResponse");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackResponse);
+
+ parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ parseVariant(subtree, tvb, pOffset, "Output");
+ proto_item_set_end(ti, tvb, *pOffset);
+}
+gint ett_opcua_TestStackExRequest = -1;
+void parseTestStackExRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "TestStackExRequest");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackExRequest);
+
+ parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_TestId);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_Iteration);
+ parseCompositeTestType(subtree, tvb, pOffset, "Input");
+ proto_item_set_end(ti, tvb, *pOffset);
+}
+gint ett_opcua_TestStackExResponse = -1;
+void parseTestStackExResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "TestStackExResponse");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackExResponse);
+
+ parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ parseCompositeTestType(subtree, tvb, pOffset, "Output");
+ proto_item_set_end(ti, tvb, *pOffset);
}
/** Setup protocol subtree array */
static gint *ett[] =
{
- &ett_opcua_TestStackRequest,
- &ett_opcua_TestStackResponse,
- &ett_opcua_TestStackExRequest,
- &ett_opcua_TestStackExResponse,
&ett_opcua_FindServersRequest,
&ett_opcua_FindServersResponse,
&ett_opcua_GetEndpointsRequest,
@@ -1004,6 +1078,10 @@ static gint *ett[] =
&ett_opcua_TransferSubscriptionsResponse,
&ett_opcua_DeleteSubscriptionsRequest,
&ett_opcua_DeleteSubscriptionsResponse,
+ &ett_opcua_TestStackRequest,
+ &ett_opcua_TestStackResponse,
+ &ett_opcua_TestStackExRequest,
+ &ett_opcua_TestStackExResponse,
};
void registerServiceTypes(void)