aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorHannes Mezger <hannes.mezger@ascolab.com>2014-06-12 16:54:25 +0200
committerAnders Broman <a.broman58@gmail.com>2014-06-17 17:12:21 +0000
commit647255d6279fe6fea6ad43388a52e55afd5549e0 (patch)
treefd4a921ab767185d5564e104789cf42e84807e74 /plugins
parent91c29ec2057c7e25a61da92f6bdbc32efa856525 (diff)
Unify how opcua arrays are displayed
- Display 'Array of <fieldname>' instead of 'Array of Simple Type' - Display array indexes for simple types - Display data type in simple type arrays Change-Id: Id2cc746898f97ce329c6afb9cc49f1907a9f18e4 Reviewed-on: https://code.wireshark.org/review/2161 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/opcua/opcua_complextypeparser.c466
-rw-r--r--plugins/opcua/opcua_identifiers.h2
-rw-r--r--plugins/opcua/opcua_serviceparser.c178
-rw-r--r--plugins/opcua/opcua_simpletypes.c183
-rw-r--r--plugins/opcua/opcua_simpletypes.h40
5 files changed, 450 insertions, 419 deletions
diff --git a/plugins/opcua/opcua_complextypeparser.c b/plugins/opcua/opcua_complextypeparser.c
index f8a9a815b3..d32b6c49ce 100644
--- a/plugins/opcua/opcua_complextypeparser.c
+++ b/plugins/opcua/opcua_complextypeparser.c
@@ -14,7 +14,7 @@
**
** Description: OpcUa Complex Type Parser
**
-** This file was autogenerated on 10.06.2014.
+** This file was autogenerated on 17.06.2014.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -31,7 +31,7 @@
gint ett_opcua_Node = -1;
void parseNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : Node", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: Node", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_Node);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -41,13 +41,13 @@ void parseNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFie
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_InstanceNode = -1;
void parseInstanceNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : InstanceNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: InstanceNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_InstanceNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -57,13 +57,13 @@ void parseInstanceNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const cha
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_TypeNode = -1;
void parseTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : TypeNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: TypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TypeNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -73,13 +73,13 @@ void parseTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *s
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ObjectNode = -1;
void parseObjectNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ObjectNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ObjectNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -89,14 +89,14 @@ void parseObjectNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
parseByte(subtree, tvb, pOffset, hf_opcua_EventNotifier);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ObjectTypeNode = -1;
void parseObjectTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ObjectTypeNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ObjectTypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectTypeNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -106,14 +106,14 @@ void parseObjectTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const c
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_VariableNode = -1;
void parseVariableNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : VariableNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: VariableNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_VariableNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -123,12 +123,12 @@ void parseVariableNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const cha
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
parseVariant(subtree, tvb, pOffset, "Value");
parseNodeId(subtree, tvb, pOffset, "DataType");
parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
/* Array length field ignored: NoOfArrayDimensions */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "ArrayDimensions", "UInt32", hf_opcua_ArrayDimensions, parseUInt32);
parseByte(subtree, tvb, pOffset, hf_opcua_AccessLevel);
parseByte(subtree, tvb, pOffset, hf_opcua_UserAccessLevel);
parseDouble(subtree, tvb, pOffset, hf_opcua_MinimumSamplingInterval);
@@ -138,7 +138,7 @@ void parseVariableNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const cha
gint ett_opcua_VariableTypeNode = -1;
void parseVariableTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : VariableTypeNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: VariableTypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_VariableTypeNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -148,19 +148,19 @@ void parseVariableTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
parseVariant(subtree, tvb, pOffset, "Value");
parseNodeId(subtree, tvb, pOffset, "DataType");
parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
/* Array length field ignored: NoOfArrayDimensions */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "ArrayDimensions", "UInt32", hf_opcua_ArrayDimensions, parseUInt32);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ReferenceTypeNode = -1;
void parseReferenceTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReferenceTypeNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReferenceTypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReferenceTypeNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -170,7 +170,7 @@ void parseReferenceTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
parseBoolean(subtree, tvb, pOffset, hf_opcua_Symmetric);
parseLocalizedText(subtree, tvb, pOffset, "InverseName");
@@ -179,7 +179,7 @@ void parseReferenceTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
gint ett_opcua_MethodNode = -1;
void parseMethodNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : MethodNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: MethodNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MethodNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -189,7 +189,7 @@ void parseMethodNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
parseBoolean(subtree, tvb, pOffset, hf_opcua_Executable);
parseBoolean(subtree, tvb, pOffset, hf_opcua_UserExecutable);
proto_item_set_end(ti, tvb, *pOffset);
@@ -197,7 +197,7 @@ void parseMethodNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char
gint ett_opcua_ViewNode = -1;
void parseViewNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ViewNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ViewNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ViewNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -207,7 +207,7 @@ void parseViewNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *s
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
parseBoolean(subtree, tvb, pOffset, hf_opcua_ContainsNoLoops);
parseByte(subtree, tvb, pOffset, hf_opcua_EventNotifier);
proto_item_set_end(ti, tvb, *pOffset);
@@ -215,7 +215,7 @@ void parseViewNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *s
gint ett_opcua_DataTypeNode = -1;
void parseDataTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DataTypeNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DataTypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DataTypeNode);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeClass(subtree, tvb, pOffset);
@@ -225,14 +225,14 @@ void parseDataTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const cha
parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceNode);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceNode", parseReferenceNode);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ReferenceNode = -1;
void parseReferenceNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReferenceNode", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReferenceNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReferenceNode);
parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsInverse);
@@ -242,20 +242,20 @@ void parseReferenceNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const ch
gint ett_opcua_Argument = -1;
void parseArgument(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : Argument", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: Argument", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_Argument);
parseString(subtree, tvb, pOffset, hf_opcua_Name);
parseNodeId(subtree, tvb, pOffset, "DataType");
parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
/* Array length field ignored: NoOfArrayDimensions */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "ArrayDimensions", "UInt32", hf_opcua_ArrayDimensions, parseUInt32);
parseLocalizedText(subtree, tvb, pOffset, "Description");
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_EnumValueType = -1;
void parseEnumValueType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EnumValueType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EnumValueType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EnumValueType);
parseInt64(subtree, tvb, pOffset, hf_opcua_Value);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -265,7 +265,7 @@ void parseEnumValueType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const ch
gint ett_opcua_TimeZoneDataType = -1;
void parseTimeZoneDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : TimeZoneDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: TimeZoneDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TimeZoneDataType);
parseInt16(subtree, tvb, pOffset, hf_opcua_Offset);
parseBoolean(subtree, tvb, pOffset, hf_opcua_DaylightSavingInOffset);
@@ -274,7 +274,7 @@ void parseTimeZoneDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_ApplicationDescription = -1;
void parseApplicationDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ApplicationDescription", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ApplicationDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ApplicationDescription);
parseString(subtree, tvb, pOffset, hf_opcua_ApplicationUri);
parseString(subtree, tvb, pOffset, hf_opcua_ProductUri);
@@ -283,13 +283,13 @@ void parseApplicationDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
parseString(subtree, tvb, pOffset, hf_opcua_GatewayServerUri);
parseString(subtree, tvb, pOffset, hf_opcua_DiscoveryProfileUri);
/* Array length field ignored: NoOfDiscoveryUrls */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_DiscoveryUrls, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "DiscoveryUrls", "String", hf_opcua_DiscoveryUrls, parseString);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RequestHeader = -1;
void parseRequestHeader(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : RequestHeader", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: RequestHeader", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RequestHeader);
parseNodeId(subtree, tvb, pOffset, "AuthenticationToken");
parseDateTime(subtree, tvb, pOffset, hf_opcua_Timestamp);
@@ -303,21 +303,21 @@ void parseRequestHeader(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const ch
gint ett_opcua_ResponseHeader = -1;
void parseResponseHeader(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ResponseHeader", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ResponseHeader", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ResponseHeader);
parseDateTime(subtree, tvb, pOffset, hf_opcua_Timestamp);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestHandle);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_ServiceResult);
parseDiagnosticInfo(subtree, tvb, pOffset, "ServiceDiagnostics");
/* Array length field ignored: NoOfStringTable */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_StringTable, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "StringTable", "String", hf_opcua_StringTable, parseString);
parseExtensionObject(subtree, tvb, pOffset, "AdditionalHeader");
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_UserTokenPolicy = -1;
void parseUserTokenPolicy(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : UserTokenPolicy", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: UserTokenPolicy", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UserTokenPolicy);
parseString(subtree, tvb, pOffset, hf_opcua_PolicyId);
parseUserTokenType(subtree, tvb, pOffset);
@@ -329,7 +329,7 @@ void parseUserTokenPolicy(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_EndpointDescription = -1;
void parseEndpointDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EndpointDescription", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EndpointDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EndpointDescription);
parseString(subtree, tvb, pOffset, hf_opcua_EndpointUrl);
parseApplicationDescription(subtree, tvb, pOffset, "Server");
@@ -337,7 +337,7 @@ void parseEndpointDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, co
parseMessageSecurityMode(subtree, tvb, pOffset);
parseString(subtree, tvb, pOffset, hf_opcua_SecurityPolicyUri);
/* Array length field ignored: NoOfUserIdentityTokens */
- parseArrayComplex(subtree, tvb, pOffset, "UserIdentityTokens", parseUserTokenPolicy);
+ parseArrayComplex(subtree, tvb, pOffset, "UserIdentityTokens", "UserTokenPolicy", parseUserTokenPolicy);
parseString(subtree, tvb, pOffset, hf_opcua_TransportProfileUri);
parseByte(subtree, tvb, pOffset, hf_opcua_SecurityLevel);
proto_item_set_end(ti, tvb, *pOffset);
@@ -345,16 +345,16 @@ void parseEndpointDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, co
gint ett_opcua_RegisteredServer = -1;
void parseRegisteredServer(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : RegisteredServer", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: RegisteredServer", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisteredServer);
parseString(subtree, tvb, pOffset, hf_opcua_ServerUri);
parseString(subtree, tvb, pOffset, hf_opcua_ProductUri);
/* Array length field ignored: NoOfServerNames */
- parseArrayComplex(subtree, tvb, pOffset, "ServerNames", parseLocalizedText);
+ parseArrayComplex(subtree, tvb, pOffset, "ServerNames", "LocalizedText", parseLocalizedText);
parseApplicationType(subtree, tvb, pOffset);
parseString(subtree, tvb, pOffset, hf_opcua_GatewayServerUri);
/* Array length field ignored: NoOfDiscoveryUrls */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_DiscoveryUrls, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "DiscoveryUrls", "String", hf_opcua_DiscoveryUrls, parseString);
parseString(subtree, tvb, pOffset, hf_opcua_SemaphoreFilePath);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsOnline);
proto_item_set_end(ti, tvb, *pOffset);
@@ -362,7 +362,7 @@ void parseRegisteredServer(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_ChannelSecurityToken = -1;
void parseChannelSecurityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ChannelSecurityToken", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ChannelSecurityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ChannelSecurityToken);
parseUInt32(subtree, tvb, pOffset, hf_opcua_ChannelId);
parseUInt32(subtree, tvb, pOffset, hf_opcua_TokenId);
@@ -373,7 +373,7 @@ void parseChannelSecurityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, c
gint ett_opcua_SignedSoftwareCertificate = -1;
void parseSignedSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SignedSoftwareCertificate", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SignedSoftwareCertificate", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SignedSoftwareCertificate);
parseByteString(subtree, tvb, pOffset, hf_opcua_CertificateData);
parseByteString(subtree, tvb, pOffset, hf_opcua_Signature);
@@ -382,7 +382,7 @@ void parseSignedSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
gint ett_opcua_SignatureData = -1;
void parseSignatureData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SignatureData", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SignatureData", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SignatureData);
parseString(subtree, tvb, pOffset, hf_opcua_Algorithm);
parseByteString(subtree, tvb, pOffset, hf_opcua_Signature);
@@ -391,7 +391,7 @@ void parseSignatureData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const ch
gint ett_opcua_UserIdentityToken = -1;
void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : UserIdentityToken", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: UserIdentityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UserIdentityToken);
parseString(subtree, tvb, pOffset, hf_opcua_PolicyId);
proto_item_set_end(ti, tvb, *pOffset);
@@ -399,7 +399,7 @@ void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
gint ett_opcua_AnonymousIdentityToken = -1;
void parseAnonymousIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AnonymousIdentityToken", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AnonymousIdentityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AnonymousIdentityToken);
parseString(subtree, tvb, pOffset, hf_opcua_PolicyId);
proto_item_set_end(ti, tvb, *pOffset);
@@ -407,7 +407,7 @@ void parseAnonymousIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
gint ett_opcua_UserNameIdentityToken = -1;
void parseUserNameIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : UserNameIdentityToken", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: UserNameIdentityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UserNameIdentityToken);
parseString(subtree, tvb, pOffset, hf_opcua_PolicyId);
parseString(subtree, tvb, pOffset, hf_opcua_UserName);
@@ -418,7 +418,7 @@ void parseUserNameIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
gint ett_opcua_X509IdentityToken = -1;
void parseX509IdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : X509IdentityToken", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: X509IdentityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_X509IdentityToken);
parseString(subtree, tvb, pOffset, hf_opcua_PolicyId);
parseByteString(subtree, tvb, pOffset, hf_opcua_CertificateData);
@@ -427,7 +427,7 @@ void parseX509IdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
gint ett_opcua_IssuedIdentityToken = -1;
void parseIssuedIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : IssuedIdentityToken", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: IssuedIdentityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_IssuedIdentityToken);
parseString(subtree, tvb, pOffset, hf_opcua_PolicyId);
parseByteString(subtree, tvb, pOffset, hf_opcua_TokenData);
@@ -437,7 +437,7 @@ void parseIssuedIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, co
gint ett_opcua_NodeAttributes = -1;
void parseNodeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : NodeAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: NodeAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_NodeAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -449,7 +449,7 @@ void parseNodeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const c
gint ett_opcua_ObjectAttributes = -1;
void parseObjectAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ObjectAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ObjectAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -462,7 +462,7 @@ void parseObjectAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_VariableAttributes = -1;
void parseVariableAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : VariableAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: VariableAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_VariableAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -473,7 +473,7 @@ void parseVariableAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, con
parseNodeId(subtree, tvb, pOffset, "DataType");
parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
/* Array length field ignored: NoOfArrayDimensions */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "ArrayDimensions", "UInt32", hf_opcua_ArrayDimensions, parseUInt32);
parseByte(subtree, tvb, pOffset, hf_opcua_AccessLevel);
parseByte(subtree, tvb, pOffset, hf_opcua_UserAccessLevel);
parseDouble(subtree, tvb, pOffset, hf_opcua_MinimumSamplingInterval);
@@ -483,7 +483,7 @@ void parseVariableAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, con
gint ett_opcua_MethodAttributes = -1;
void parseMethodAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : MethodAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: MethodAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MethodAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -497,7 +497,7 @@ void parseMethodAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_ObjectTypeAttributes = -1;
void parseObjectTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ObjectTypeAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ObjectTypeAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectTypeAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -510,7 +510,7 @@ void parseObjectTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, c
gint ett_opcua_VariableTypeAttributes = -1;
void parseVariableTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : VariableTypeAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: VariableTypeAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_VariableTypeAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -521,14 +521,14 @@ void parseVariableTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
parseNodeId(subtree, tvb, pOffset, "DataType");
parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
/* Array length field ignored: NoOfArrayDimensions */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "ArrayDimensions", "UInt32", hf_opcua_ArrayDimensions, parseUInt32);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ReferenceTypeAttributes = -1;
void parseReferenceTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReferenceTypeAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReferenceTypeAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReferenceTypeAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -543,7 +543,7 @@ void parseReferenceTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset
gint ett_opcua_DataTypeAttributes = -1;
void parseDataTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DataTypeAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DataTypeAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DataTypeAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -556,7 +556,7 @@ void parseDataTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, con
gint ett_opcua_ViewAttributes = -1;
void parseViewAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ViewAttributes", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ViewAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ViewAttributes);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SpecifiedAttributes);
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
@@ -570,7 +570,7 @@ void parseViewAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const c
gint ett_opcua_AddNodesItem = -1;
void parseAddNodesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AddNodesItem", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AddNodesItem", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddNodesItem);
parseExpandedNodeId(subtree, tvb, pOffset, "ParentNodeId");
parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
@@ -584,7 +584,7 @@ void parseAddNodesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const cha
gint ett_opcua_AddNodesResult = -1;
void parseAddNodesResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AddNodesResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AddNodesResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddNodesResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
parseNodeId(subtree, tvb, pOffset, "AddedNodeId");
@@ -593,7 +593,7 @@ void parseAddNodesResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const c
gint ett_opcua_AddReferencesItem = -1;
void parseAddReferencesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AddReferencesItem", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AddReferencesItem", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddReferencesItem);
parseNodeId(subtree, tvb, pOffset, "SourceNodeId");
parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
@@ -606,7 +606,7 @@ void parseAddReferencesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
gint ett_opcua_DeleteNodesItem = -1;
void parseDeleteNodesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DeleteNodesItem", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DeleteNodesItem", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteNodesItem);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseBoolean(subtree, tvb, pOffset, hf_opcua_DeleteTargetReferences);
@@ -615,7 +615,7 @@ void parseDeleteNodesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_DeleteReferencesItem = -1;
void parseDeleteReferencesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DeleteReferencesItem", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DeleteReferencesItem", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteReferencesItem);
parseNodeId(subtree, tvb, pOffset, "SourceNodeId");
parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
@@ -627,7 +627,7 @@ void parseDeleteReferencesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, c
gint ett_opcua_ViewDescription = -1;
void parseViewDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ViewDescription", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ViewDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ViewDescription);
parseNodeId(subtree, tvb, pOffset, "ViewId");
parseDateTime(subtree, tvb, pOffset, hf_opcua_Timestamp);
@@ -637,7 +637,7 @@ void parseViewDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_BrowseDescription = -1;
void parseBrowseDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : BrowseDescription", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: BrowseDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseDescription);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseBrowseDirection(subtree, tvb, pOffset);
@@ -650,7 +650,7 @@ void parseBrowseDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
gint ett_opcua_ReferenceDescription = -1;
void parseReferenceDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReferenceDescription", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReferenceDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReferenceDescription);
parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsForward);
@@ -664,18 +664,18 @@ void parseReferenceDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, c
gint ett_opcua_BrowseResult = -1;
void parseBrowseResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : BrowseResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: BrowseResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
/* Array length field ignored: NoOfReferences */
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceDescription);
+ parseArrayComplex(subtree, tvb, pOffset, "References", "ReferenceDescription", parseReferenceDescription);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RelativePathElement = -1;
void parseRelativePathElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : RelativePathElement", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: RelativePathElement", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RelativePathElement);
parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsInverse);
@@ -686,16 +686,16 @@ void parseRelativePathElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, co
gint ett_opcua_RelativePath = -1;
void parseRelativePath(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : RelativePath", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: RelativePath", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RelativePath);
/* Array length field ignored: NoOfElements */
- parseArrayComplex(subtree, tvb, pOffset, "Elements", parseRelativePathElement);
+ parseArrayComplex(subtree, tvb, pOffset, "Elements", "RelativePathElement", parseRelativePathElement);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowsePath = -1;
void parseBrowsePath(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : BrowsePath", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: BrowsePath", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePath);
parseNodeId(subtree, tvb, pOffset, "StartingNode");
parseRelativePath(subtree, tvb, pOffset, "RelativePath");
@@ -704,7 +704,7 @@ void parseBrowsePath(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char
gint ett_opcua_BrowsePathTarget = -1;
void parseBrowsePathTarget(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : BrowsePathTarget", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: BrowsePathTarget", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePathTarget);
parseExpandedNodeId(subtree, tvb, pOffset, "TargetId");
parseUInt32(subtree, tvb, pOffset, hf_opcua_RemainingPathIndex);
@@ -713,17 +713,17 @@ void parseBrowsePathTarget(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_BrowsePathResult = -1;
void parseBrowsePathResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : BrowsePathResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: BrowsePathResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePathResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
/* Array length field ignored: NoOfTargets */
- parseArrayComplex(subtree, tvb, pOffset, "Targets", parseBrowsePathTarget);
+ parseArrayComplex(subtree, tvb, pOffset, "Targets", "BrowsePathTarget", parseBrowsePathTarget);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_EndpointConfiguration = -1;
void parseEndpointConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EndpointConfiguration", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EndpointConfiguration", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EndpointConfiguration);
parseInt32(subtree, tvb, pOffset, hf_opcua_OperationTimeout);
parseBoolean(subtree, tvb, pOffset, hf_opcua_UseBinaryEncoding);
@@ -739,7 +739,7 @@ void parseEndpointConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
gint ett_opcua_SupportedProfile = -1;
void parseSupportedProfile(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SupportedProfile", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SupportedProfile", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SupportedProfile);
parseString(subtree, tvb, pOffset, hf_opcua_OrganizationUri);
parseString(subtree, tvb, pOffset, hf_opcua_ProfileId);
@@ -747,13 +747,13 @@ void parseSupportedProfile(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
parseDateTime(subtree, tvb, pOffset, hf_opcua_ComplianceDate);
parseComplianceLevel(subtree, tvb, pOffset);
/* Array length field ignored: NoOfUnsupportedUnitIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_UnsupportedUnitIds, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "UnsupportedUnitIds", "String", hf_opcua_UnsupportedUnitIds, parseString);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SoftwareCertificate = -1;
void parseSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SoftwareCertificate", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SoftwareCertificate", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SoftwareCertificate);
parseString(subtree, tvb, pOffset, hf_opcua_ProductName);
parseString(subtree, tvb, pOffset, hf_opcua_ProductUri);
@@ -765,13 +765,13 @@ void parseSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, co
parseString(subtree, tvb, pOffset, hf_opcua_IssuedBy);
parseDateTime(subtree, tvb, pOffset, hf_opcua_IssueDate);
/* Array length field ignored: NoOfSupportedProfiles */
- parseArrayComplex(subtree, tvb, pOffset, "SupportedProfiles", parseSupportedProfile);
+ parseArrayComplex(subtree, tvb, pOffset, "SupportedProfiles", "SupportedProfile", parseSupportedProfile);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_QueryDataDescription = -1;
void parseQueryDataDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : QueryDataDescription", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: QueryDataDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryDataDescription);
parseRelativePath(subtree, tvb, pOffset, "RelativePath");
parseUInt32(subtree, tvb, pOffset, hf_opcua_AttributeId);
@@ -781,60 +781,60 @@ void parseQueryDataDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, c
gint ett_opcua_NodeTypeDescription = -1;
void parseNodeTypeDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : NodeTypeDescription", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: NodeTypeDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_NodeTypeDescription);
parseExpandedNodeId(subtree, tvb, pOffset, "TypeDefinitionNode");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IncludeSubTypes);
/* Array length field ignored: NoOfDataToReturn */
- parseArrayComplex(subtree, tvb, pOffset, "DataToReturn", parseQueryDataDescription);
+ parseArrayComplex(subtree, tvb, pOffset, "DataToReturn", "QueryDataDescription", parseQueryDataDescription);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_QueryDataSet = -1;
void parseQueryDataSet(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : QueryDataSet", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: QueryDataSet", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryDataSet);
parseExpandedNodeId(subtree, tvb, pOffset, "NodeId");
parseExpandedNodeId(subtree, tvb, pOffset, "TypeDefinitionNode");
/* Array length field ignored: NoOfValues */
- parseArrayComplex(subtree, tvb, pOffset, "Values", parseVariant);
+ parseArrayComplex(subtree, tvb, pOffset, "Values", "Variant", parseVariant);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_NodeReference = -1;
void parseNodeReference(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : NodeReference", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: NodeReference", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_NodeReference);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsForward);
/* Array length field ignored: NoOfReferencedNodeIds */
- parseArrayComplex(subtree, tvb, pOffset, "ReferencedNodeIds", parseNodeId);
+ parseArrayComplex(subtree, tvb, pOffset, "ReferencedNodeIds", "NodeId", parseNodeId);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ContentFilterElement = -1;
void parseContentFilterElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ContentFilterElement", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ContentFilterElement", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ContentFilterElement);
parseFilterOperator(subtree, tvb, pOffset);
/* Array length field ignored: NoOfFilterOperands */
- parseArrayComplex(subtree, tvb, pOffset, "FilterOperands", parseExtensionObject);
+ parseArrayComplex(subtree, tvb, pOffset, "FilterOperands", "ExtensionObject", parseExtensionObject);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ContentFilter = -1;
void parseContentFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ContentFilter", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ContentFilter", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ContentFilter);
/* Array length field ignored: NoOfElements */
- parseArrayComplex(subtree, tvb, pOffset, "Elements", parseContentFilterElement);
+ parseArrayComplex(subtree, tvb, pOffset, "Elements", "ContentFilterElement", parseContentFilterElement);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ElementOperand = -1;
void parseElementOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ElementOperand", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ElementOperand", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ElementOperand);
parseUInt32(subtree, tvb, pOffset, hf_opcua_Index);
proto_item_set_end(ti, tvb, *pOffset);
@@ -842,7 +842,7 @@ void parseElementOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const c
gint ett_opcua_LiteralOperand = -1;
void parseLiteralOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : LiteralOperand", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: LiteralOperand", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_LiteralOperand);
parseVariant(subtree, tvb, pOffset, "Value");
proto_item_set_end(ti, tvb, *pOffset);
@@ -850,7 +850,7 @@ void parseLiteralOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const c
gint ett_opcua_AttributeOperand = -1;
void parseAttributeOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AttributeOperand", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AttributeOperand", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AttributeOperand);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseString(subtree, tvb, pOffset, hf_opcua_Alias);
@@ -862,11 +862,11 @@ void parseAttributeOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_SimpleAttributeOperand = -1;
void parseSimpleAttributeOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SimpleAttributeOperand", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SimpleAttributeOperand", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SimpleAttributeOperand);
parseNodeId(subtree, tvb, pOffset, "TypeDefinitionId");
/* Array length field ignored: NoOfBrowsePath */
- parseArrayComplex(subtree, tvb, pOffset, "BrowsePath", parseQualifiedName);
+ parseArrayComplex(subtree, tvb, pOffset, "BrowsePath", "QualifiedName", parseQualifiedName);
parseUInt32(subtree, tvb, pOffset, hf_opcua_AttributeId);
parseString(subtree, tvb, pOffset, hf_opcua_IndexRange);
proto_item_set_end(ti, tvb, *pOffset);
@@ -874,42 +874,42 @@ void parseSimpleAttributeOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
gint ett_opcua_ContentFilterElementResult = -1;
void parseContentFilterElementResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ContentFilterElementResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ContentFilterElementResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ContentFilterElementResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
/* Array length field ignored: NoOfOperandStatusCodes */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_OperandStatusCodes, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "OperandStatusCodes", "StatusCode", hf_opcua_OperandStatusCodes, parseStatusCode);
/* Array length field ignored: NoOfOperandDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "OperandDiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "OperandDiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ContentFilterResult = -1;
void parseContentFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ContentFilterResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ContentFilterResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ContentFilterResult);
/* Array length field ignored: NoOfElementResults */
- parseArrayComplex(subtree, tvb, pOffset, "ElementResults", parseContentFilterElementResult);
+ parseArrayComplex(subtree, tvb, pOffset, "ElementResults", "ContentFilterElementResult", parseContentFilterElementResult);
/* Array length field ignored: NoOfElementDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "ElementDiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "ElementDiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ParsingResult = -1;
void parseParsingResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ParsingResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ParsingResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ParsingResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
/* Array length field ignored: NoOfDataStatusCodes */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_DataStatusCodes, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "DataStatusCodes", "StatusCode", hf_opcua_DataStatusCodes, parseStatusCode);
/* Array length field ignored: NoOfDataDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DataDiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DataDiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ReadValueId = -1;
void parseReadValueId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReadValueId", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReadValueId", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadValueId);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseUInt32(subtree, tvb, pOffset, hf_opcua_AttributeId);
@@ -920,7 +920,7 @@ void parseReadValueId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char
gint ett_opcua_HistoryReadValueId = -1;
void parseHistoryReadValueId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : HistoryReadValueId", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: HistoryReadValueId", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryReadValueId);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseString(subtree, tvb, pOffset, hf_opcua_IndexRange);
@@ -931,7 +931,7 @@ void parseHistoryReadValueId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, con
gint ett_opcua_HistoryReadResult = -1;
void parseHistoryReadResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : HistoryReadResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: HistoryReadResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryReadResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
@@ -941,7 +941,7 @@ void parseHistoryReadResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
gint ett_opcua_ReadEventDetails = -1;
void parseReadEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReadEventDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReadEventDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadEventDetails);
parseUInt32(subtree, tvb, pOffset, hf_opcua_NumValuesPerNode);
parseDateTime(subtree, tvb, pOffset, hf_opcua_StartTime);
@@ -952,7 +952,7 @@ void parseReadEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_ReadRawModifiedDetails = -1;
void parseReadRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReadRawModifiedDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReadRawModifiedDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadRawModifiedDetails);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsReadModified);
parseDateTime(subtree, tvb, pOffset, hf_opcua_StartTime);
@@ -964,39 +964,39 @@ void parseReadRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
gint ett_opcua_ReadProcessedDetails = -1;
void parseReadProcessedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReadProcessedDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReadProcessedDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadProcessedDetails);
parseDateTime(subtree, tvb, pOffset, hf_opcua_StartTime);
parseDateTime(subtree, tvb, pOffset, hf_opcua_EndTime);
parseDouble(subtree, tvb, pOffset, hf_opcua_ProcessingInterval);
/* Array length field ignored: NoOfAggregateType */
- parseArrayComplex(subtree, tvb, pOffset, "AggregateType", parseNodeId);
+ parseArrayComplex(subtree, tvb, pOffset, "AggregateType", "NodeId", parseNodeId);
parseAggregateConfiguration(subtree, tvb, pOffset, "AggregateConfiguration");
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ReadAtTimeDetails = -1;
void parseReadAtTimeDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ReadAtTimeDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ReadAtTimeDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadAtTimeDetails);
/* Array length field ignored: NoOfReqTimes */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ReqTimes, parseDateTime);
+ parseArraySimple(subtree, tvb, pOffset, "ReqTimes", "DateTime", hf_opcua_ReqTimes, parseDateTime);
parseBoolean(subtree, tvb, pOffset, hf_opcua_UseSimpleBounds);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryData = -1;
void parseHistoryData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : HistoryData", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: HistoryData", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryData);
/* Array length field ignored: NoOfDataValues */
- parseArrayComplex(subtree, tvb, pOffset, "DataValues", parseDataValue);
+ parseArrayComplex(subtree, tvb, pOffset, "DataValues", "DataValue", parseDataValue);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ModificationInfo = -1;
void parseModificationInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ModificationInfo", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ModificationInfo", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModificationInfo);
parseDateTime(subtree, tvb, pOffset, hf_opcua_ModificationTime);
parseHistoryUpdateType(subtree, tvb, pOffset);
@@ -1006,27 +1006,27 @@ void parseModificationInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_HistoryModifiedData = -1;
void parseHistoryModifiedData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : HistoryModifiedData", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: HistoryModifiedData", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryModifiedData);
/* Array length field ignored: NoOfDataValues */
- parseArrayComplex(subtree, tvb, pOffset, "DataValues", parseDataValue);
+ parseArrayComplex(subtree, tvb, pOffset, "DataValues", "DataValue", parseDataValue);
/* Array length field ignored: NoOfModificationInfos */
- parseArrayComplex(subtree, tvb, pOffset, "ModificationInfos", parseModificationInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "ModificationInfos", "ModificationInfo", parseModificationInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryEvent = -1;
void parseHistoryEvent(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : HistoryEvent", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: HistoryEvent", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryEvent);
/* Array length field ignored: NoOfEvents */
- parseArrayComplex(subtree, tvb, pOffset, "Events", parseHistoryEventFieldList);
+ parseArrayComplex(subtree, tvb, pOffset, "Events", "HistoryEventFieldList", parseHistoryEventFieldList);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_WriteValue = -1;
void parseWriteValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : WriteValue", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: WriteValue", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_WriteValue);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseUInt32(subtree, tvb, pOffset, hf_opcua_AttributeId);
@@ -1037,7 +1037,7 @@ void parseWriteValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char
gint ett_opcua_HistoryUpdateDetails = -1;
void parseHistoryUpdateDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : HistoryUpdateDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: HistoryUpdateDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateDetails);
parseNodeId(subtree, tvb, pOffset, "NodeId");
proto_item_set_end(ti, tvb, *pOffset);
@@ -1045,41 +1045,41 @@ void parseHistoryUpdateDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, c
gint ett_opcua_UpdateDataDetails = -1;
void parseUpdateDataDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : UpdateDataDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: UpdateDataDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UpdateDataDetails);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parsePerformUpdateType(subtree, tvb, pOffset);
/* Array length field ignored: NoOfUpdateValues */
- parseArrayComplex(subtree, tvb, pOffset, "UpdateValues", parseDataValue);
+ parseArrayComplex(subtree, tvb, pOffset, "UpdateValues", "DataValue", parseDataValue);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_UpdateStructureDataDetails = -1;
void parseUpdateStructureDataDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : UpdateStructureDataDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: UpdateStructureDataDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UpdateStructureDataDetails);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parsePerformUpdateType(subtree, tvb, pOffset);
/* Array length field ignored: NoOfUpdateValues */
- parseArrayComplex(subtree, tvb, pOffset, "UpdateValues", parseDataValue);
+ parseArrayComplex(subtree, tvb, pOffset, "UpdateValues", "DataValue", parseDataValue);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_UpdateEventDetails = -1;
void parseUpdateEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : UpdateEventDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: UpdateEventDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UpdateEventDetails);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parsePerformUpdateType(subtree, tvb, pOffset);
parseEventFilter(subtree, tvb, pOffset, "Filter");
/* Array length field ignored: NoOfEventData */
- parseArrayComplex(subtree, tvb, pOffset, "EventData", parseHistoryEventFieldList);
+ parseArrayComplex(subtree, tvb, pOffset, "EventData", "HistoryEventFieldList", parseHistoryEventFieldList);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteRawModifiedDetails = -1;
void parseDeleteRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DeleteRawModifiedDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DeleteRawModifiedDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteRawModifiedDetails);
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsDeleteModified);
@@ -1090,64 +1090,64 @@ void parseDeleteRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
gint ett_opcua_DeleteAtTimeDetails = -1;
void parseDeleteAtTimeDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DeleteAtTimeDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DeleteAtTimeDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteAtTimeDetails);
parseNodeId(subtree, tvb, pOffset, "NodeId");
/* Array length field ignored: NoOfReqTimes */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ReqTimes, parseDateTime);
+ parseArraySimple(subtree, tvb, pOffset, "ReqTimes", "DateTime", hf_opcua_ReqTimes, parseDateTime);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteEventDetails = -1;
void parseDeleteEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DeleteEventDetails", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DeleteEventDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteEventDetails);
parseNodeId(subtree, tvb, pOffset, "NodeId");
/* Array length field ignored: NoOfEventIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_EventIds, parseByteString);
+ parseArraySimple(subtree, tvb, pOffset, "EventIds", "ByteString", hf_opcua_EventIds, parseByteString);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryUpdateResult = -1;
void parseHistoryUpdateResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : HistoryUpdateResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: HistoryUpdateResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
/* Array length field ignored: NoOfOperationResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_OperationResults, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "OperationResults", "StatusCode", hf_opcua_OperationResults, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CallMethodRequest = -1;
void parseCallMethodRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : CallMethodRequest", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: CallMethodRequest", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallMethodRequest);
parseNodeId(subtree, tvb, pOffset, "ObjectId");
parseNodeId(subtree, tvb, pOffset, "MethodId");
/* Array length field ignored: NoOfInputArguments */
- parseArrayComplex(subtree, tvb, pOffset, "InputArguments", parseVariant);
+ parseArrayComplex(subtree, tvb, pOffset, "InputArguments", "Variant", parseVariant);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CallMethodResult = -1;
void parseCallMethodResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : CallMethodResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: CallMethodResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallMethodResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
/* Array length field ignored: NoOfInputArgumentResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_InputArgumentResults, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "InputArgumentResults", "StatusCode", hf_opcua_InputArgumentResults, parseStatusCode);
/* Array length field ignored: NoOfInputArgumentDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "InputArgumentDiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "InputArgumentDiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
/* Array length field ignored: NoOfOutputArguments */
- parseArrayComplex(subtree, tvb, pOffset, "OutputArguments", parseVariant);
+ parseArrayComplex(subtree, tvb, pOffset, "OutputArguments", "Variant", parseVariant);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DataChangeFilter = -1;
void parseDataChangeFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DataChangeFilter", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DataChangeFilter", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DataChangeFilter);
parseDataChangeTrigger(subtree, tvb, pOffset);
parseUInt32(subtree, tvb, pOffset, hf_opcua_DeadbandType);
@@ -1157,17 +1157,17 @@ void parseDataChangeFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_EventFilter = -1;
void parseEventFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EventFilter", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EventFilter", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EventFilter);
/* Array length field ignored: NoOfSelectClauses */
- parseArrayComplex(subtree, tvb, pOffset, "SelectClauses", parseSimpleAttributeOperand);
+ parseArrayComplex(subtree, tvb, pOffset, "SelectClauses", "SimpleAttributeOperand", parseSimpleAttributeOperand);
parseContentFilter(subtree, tvb, pOffset, "WhereClause");
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AggregateConfiguration = -1;
void parseAggregateConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AggregateConfiguration", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AggregateConfiguration", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AggregateConfiguration);
parseBoolean(subtree, tvb, pOffset, hf_opcua_UseServerCapabilitiesDefaults);
parseBoolean(subtree, tvb, pOffset, hf_opcua_TreatUncertainAsBad);
@@ -1179,7 +1179,7 @@ void parseAggregateConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
gint ett_opcua_AggregateFilter = -1;
void parseAggregateFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AggregateFilter", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AggregateFilter", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AggregateFilter);
parseDateTime(subtree, tvb, pOffset, hf_opcua_StartTime);
parseNodeId(subtree, tvb, pOffset, "AggregateType");
@@ -1190,19 +1190,19 @@ void parseAggregateFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
gint ett_opcua_EventFilterResult = -1;
void parseEventFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EventFilterResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EventFilterResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EventFilterResult);
/* Array length field ignored: NoOfSelectClauseResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_SelectClauseResults, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "SelectClauseResults", "StatusCode", hf_opcua_SelectClauseResults, parseStatusCode);
/* Array length field ignored: NoOfSelectClauseDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "SelectClauseDiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "SelectClauseDiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
parseContentFilterResult(subtree, tvb, pOffset, "WhereClauseResult");
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AggregateFilterResult = -1;
void parseAggregateFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AggregateFilterResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AggregateFilterResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AggregateFilterResult);
parseDateTime(subtree, tvb, pOffset, hf_opcua_RevisedStartTime);
parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedProcessingInterval);
@@ -1212,7 +1212,7 @@ void parseAggregateFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
gint ett_opcua_MonitoringParameters = -1;
void parseMonitoringParameters(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : MonitoringParameters", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: MonitoringParameters", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoringParameters);
parseUInt32(subtree, tvb, pOffset, hf_opcua_ClientHandle);
parseDouble(subtree, tvb, pOffset, hf_opcua_SamplingInterval);
@@ -1224,7 +1224,7 @@ void parseMonitoringParameters(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, c
gint ett_opcua_MonitoredItemCreateRequest = -1;
void parseMonitoredItemCreateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : MonitoredItemCreateRequest", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: MonitoredItemCreateRequest", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoredItemCreateRequest);
parseReadValueId(subtree, tvb, pOffset, "ItemToMonitor");
parseMonitoringMode(subtree, tvb, pOffset);
@@ -1234,7 +1234,7 @@ void parseMonitoredItemCreateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOff
gint ett_opcua_MonitoredItemCreateResult = -1;
void parseMonitoredItemCreateResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : MonitoredItemCreateResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: MonitoredItemCreateResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoredItemCreateResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MonitoredItemId);
@@ -1246,7 +1246,7 @@ void parseMonitoredItemCreateResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
gint ett_opcua_MonitoredItemModifyRequest = -1;
void parseMonitoredItemModifyRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : MonitoredItemModifyRequest", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: MonitoredItemModifyRequest", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoredItemModifyRequest);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MonitoredItemId);
parseMonitoringParameters(subtree, tvb, pOffset, "RequestedParameters");
@@ -1255,7 +1255,7 @@ void parseMonitoredItemModifyRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOff
gint ett_opcua_MonitoredItemModifyResult = -1;
void parseMonitoredItemModifyResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : MonitoredItemModifyResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: MonitoredItemModifyResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoredItemModifyResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedSamplingInterval);
@@ -1266,29 +1266,29 @@ void parseMonitoredItemModifyResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
gint ett_opcua_NotificationMessage = -1;
void parseNotificationMessage(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : NotificationMessage", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: NotificationMessage", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_NotificationMessage);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SequenceNumber);
parseDateTime(subtree, tvb, pOffset, hf_opcua_PublishTime);
/* Array length field ignored: NoOfNotificationData */
- parseArrayComplex(subtree, tvb, pOffset, "NotificationData", parseExtensionObject);
+ parseArrayComplex(subtree, tvb, pOffset, "NotificationData", "ExtensionObject", parseExtensionObject);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DataChangeNotification = -1;
void parseDataChangeNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DataChangeNotification", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DataChangeNotification", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DataChangeNotification);
/* Array length field ignored: NoOfMonitoredItems */
- parseArrayComplex(subtree, tvb, pOffset, "MonitoredItems", parseMonitoredItemNotification);
+ parseArrayComplex(subtree, tvb, pOffset, "MonitoredItems", "MonitoredItemNotification", parseMonitoredItemNotification);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_MonitoredItemNotification = -1;
void parseMonitoredItemNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : MonitoredItemNotification", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: MonitoredItemNotification", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoredItemNotification);
parseUInt32(subtree, tvb, pOffset, hf_opcua_ClientHandle);
parseDataValue(subtree, tvb, pOffset, "Value");
@@ -1297,35 +1297,35 @@ void parseMonitoredItemNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
gint ett_opcua_EventNotificationList = -1;
void parseEventNotificationList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EventNotificationList", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EventNotificationList", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EventNotificationList);
/* Array length field ignored: NoOfEvents */
- parseArrayComplex(subtree, tvb, pOffset, "Events", parseEventFieldList);
+ parseArrayComplex(subtree, tvb, pOffset, "Events", "EventFieldList", parseEventFieldList);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_EventFieldList = -1;
void parseEventFieldList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EventFieldList", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EventFieldList", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EventFieldList);
parseUInt32(subtree, tvb, pOffset, hf_opcua_ClientHandle);
/* Array length field ignored: NoOfEventFields */
- parseArrayComplex(subtree, tvb, pOffset, "EventFields", parseVariant);
+ parseArrayComplex(subtree, tvb, pOffset, "EventFields", "Variant", parseVariant);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryEventFieldList = -1;
void parseHistoryEventFieldList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : HistoryEventFieldList", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: HistoryEventFieldList", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryEventFieldList);
/* Array length field ignored: NoOfEventFields */
- parseArrayComplex(subtree, tvb, pOffset, "EventFields", parseVariant);
+ parseArrayComplex(subtree, tvb, pOffset, "EventFields", "Variant", parseVariant);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_StatusChangeNotification = -1;
void parseStatusChangeNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : StatusChangeNotification", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: StatusChangeNotification", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_StatusChangeNotification);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_Status);
parseDiagnosticInfo(subtree, tvb, pOffset, "DiagnosticInfo");
@@ -1334,7 +1334,7 @@ void parseStatusChangeNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
gint ett_opcua_SubscriptionAcknowledgement = -1;
void parseSubscriptionAcknowledgement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SubscriptionAcknowledgement", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SubscriptionAcknowledgement", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SubscriptionAcknowledgement);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseUInt32(subtree, tvb, pOffset, hf_opcua_SequenceNumber);
@@ -1343,17 +1343,17 @@ void parseSubscriptionAcknowledgement(proto_tree *tree, tvbuff_t *tvb, gint *pOf
gint ett_opcua_TransferResult = -1;
void parseTransferResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : TransferResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: TransferResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TransferResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
/* Array length field ignored: NoOfAvailableSequenceNumbers */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_AvailableSequenceNumbers, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "AvailableSequenceNumbers", "UInt32", hf_opcua_AvailableSequenceNumbers, parseUInt32);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ScalarTestType = -1;
void parseScalarTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ScalarTestType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ScalarTestType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ScalarTestType);
parseBoolean(subtree, tvb, pOffset, hf_opcua_Boolean);
parseSByte(subtree, tvb, pOffset, hf_opcua_SByte);
@@ -1385,64 +1385,64 @@ void parseScalarTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const c
gint ett_opcua_ArrayTestType = -1;
void parseArrayTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ArrayTestType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ArrayTestType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ArrayTestType);
/* Array length field ignored: NoOfBooleans */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Booleans, parseBoolean);
+ parseArraySimple(subtree, tvb, pOffset, "Booleans", "Boolean", hf_opcua_Booleans, parseBoolean);
/* Array length field ignored: NoOfSBytes */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_SBytes, parseSByte);
+ parseArraySimple(subtree, tvb, pOffset, "SBytes", "SByte", hf_opcua_SBytes, parseSByte);
/* Array length field ignored: NoOfInt16s */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int16s, parseInt16);
+ parseArraySimple(subtree, tvb, pOffset, "Int16s", "Int16", hf_opcua_Int16s, parseInt16);
/* Array length field ignored: NoOfUInt16s */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt16s, parseUInt16);
+ parseArraySimple(subtree, tvb, pOffset, "UInt16s", "UInt16", hf_opcua_UInt16s, parseUInt16);
/* Array length field ignored: NoOfInt32s */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int32s, parseInt32);
+ parseArraySimple(subtree, tvb, pOffset, "Int32s", "Int32", hf_opcua_Int32s, parseInt32);
/* Array length field ignored: NoOfUInt32s */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt32s, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "UInt32s", "UInt32", hf_opcua_UInt32s, parseUInt32);
/* Array length field ignored: NoOfInt64s */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int64s, parseInt64);
+ parseArraySimple(subtree, tvb, pOffset, "Int64s", "Int64", hf_opcua_Int64s, parseInt64);
/* Array length field ignored: NoOfUInt64s */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt64s, parseUInt64);
+ parseArraySimple(subtree, tvb, pOffset, "UInt64s", "UInt64", hf_opcua_UInt64s, parseUInt64);
/* Array length field ignored: NoOfFloats */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Floats, parseFloat);
+ parseArraySimple(subtree, tvb, pOffset, "Floats", "Float", hf_opcua_Floats, parseFloat);
/* Array length field ignored: NoOfDoubles */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Doubles, parseDouble);
+ parseArraySimple(subtree, tvb, pOffset, "Doubles", "Double", hf_opcua_Doubles, parseDouble);
/* Array length field ignored: NoOfStrings */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Strings, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "Strings", "String", hf_opcua_Strings, parseString);
/* Array length field ignored: NoOfDateTimes */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_DateTimes, parseDateTime);
+ parseArraySimple(subtree, tvb, pOffset, "DateTimes", "DateTime", hf_opcua_DateTimes, parseDateTime);
/* Array length field ignored: NoOfGuids */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Guids, parseGuid);
+ parseArraySimple(subtree, tvb, pOffset, "Guids", "Guid", hf_opcua_Guids, parseGuid);
/* Array length field ignored: NoOfByteStrings */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ByteStrings, parseByteString);
+ parseArraySimple(subtree, tvb, pOffset, "ByteStrings", "ByteString", hf_opcua_ByteStrings, parseByteString);
/* Array length field ignored: NoOfXmlElements */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_XmlElements, parseXmlElement);
+ parseArraySimple(subtree, tvb, pOffset, "XmlElements", "XmlElement", hf_opcua_XmlElements, parseXmlElement);
/* Array length field ignored: NoOfNodeIds */
- parseArrayComplex(subtree, tvb, pOffset, "NodeIds", parseNodeId);
+ parseArrayComplex(subtree, tvb, pOffset, "NodeIds", "NodeId", parseNodeId);
/* Array length field ignored: NoOfExpandedNodeIds */
- parseArrayComplex(subtree, tvb, pOffset, "ExpandedNodeIds", parseExpandedNodeId);
+ parseArrayComplex(subtree, tvb, pOffset, "ExpandedNodeIds", "ExpandedNodeId", parseExpandedNodeId);
/* Array length field ignored: NoOfStatusCodes */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_StatusCodes, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "StatusCodes", "StatusCode", hf_opcua_StatusCodes, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
/* Array length field ignored: NoOfQualifiedNames */
- parseArrayComplex(subtree, tvb, pOffset, "QualifiedNames", parseQualifiedName);
+ parseArrayComplex(subtree, tvb, pOffset, "QualifiedNames", "QualifiedName", parseQualifiedName);
/* Array length field ignored: NoOfLocalizedTexts */
- parseArrayComplex(subtree, tvb, pOffset, "LocalizedTexts", parseLocalizedText);
+ parseArrayComplex(subtree, tvb, pOffset, "LocalizedTexts", "LocalizedText", parseLocalizedText);
/* Array length field ignored: NoOfExtensionObjects */
- parseArrayComplex(subtree, tvb, pOffset, "ExtensionObjects", parseExtensionObject);
+ parseArrayComplex(subtree, tvb, pOffset, "ExtensionObjects", "ExtensionObject", parseExtensionObject);
/* Array length field ignored: NoOfDataValues */
- parseArrayComplex(subtree, tvb, pOffset, "DataValues", parseDataValue);
+ parseArrayComplex(subtree, tvb, pOffset, "DataValues", "DataValue", parseDataValue);
/* Array length field ignored: NoOfVariants */
- parseArrayComplex(subtree, tvb, pOffset, "Variants", parseVariant);
+ parseArrayComplex(subtree, tvb, pOffset, "Variants", "Variant", parseVariant);
/* Array length field ignored: NoOfEnumeratedValues */
- parseArrayEnum(subtree, tvb, pOffset, parseEnumeratedTestType);
+ parseArrayEnum(subtree, tvb, pOffset, "EnumeratedValues", "EnumeratedTestType", parseEnumeratedTestType);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CompositeTestType = -1;
void parseCompositeTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : CompositeTestType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: CompositeTestType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CompositeTestType);
parseScalarTestType(subtree, tvb, pOffset, "Field1");
parseArrayTestType(subtree, tvb, pOffset, "Field2");
@@ -1451,7 +1451,7 @@ void parseCompositeTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
gint ett_opcua_BuildInfo = -1;
void parseBuildInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : BuildInfo", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: BuildInfo", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BuildInfo);
parseString(subtree, tvb, pOffset, hf_opcua_ProductUri);
parseString(subtree, tvb, pOffset, hf_opcua_ManufacturerName);
@@ -1464,7 +1464,7 @@ void parseBuildInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *
gint ett_opcua_RedundantServerDataType = -1;
void parseRedundantServerDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : RedundantServerDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: RedundantServerDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RedundantServerDataType);
parseString(subtree, tvb, pOffset, hf_opcua_ServerId);
parseByte(subtree, tvb, pOffset, hf_opcua_ServiceLevel);
@@ -1474,26 +1474,26 @@ void parseRedundantServerDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset
gint ett_opcua_EndpointUrlListDataType = -1;
void parseEndpointUrlListDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EndpointUrlListDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EndpointUrlListDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EndpointUrlListDataType);
/* Array length field ignored: NoOfEndpointUrlList */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_EndpointUrlList, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "EndpointUrlList", "String", hf_opcua_EndpointUrlList, parseString);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_NetworkGroupDataType = -1;
void parseNetworkGroupDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : NetworkGroupDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: NetworkGroupDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_NetworkGroupDataType);
parseString(subtree, tvb, pOffset, hf_opcua_ServerUri);
/* Array length field ignored: NoOfNetworkPaths */
- parseArrayComplex(subtree, tvb, pOffset, "NetworkPaths", parseEndpointUrlListDataType);
+ parseArrayComplex(subtree, tvb, pOffset, "NetworkPaths", "EndpointUrlListDataType", parseEndpointUrlListDataType);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SamplingIntervalDiagnosticsDataType = -1;
void parseSamplingIntervalDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SamplingIntervalDiagnosticsDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SamplingIntervalDiagnosticsDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SamplingIntervalDiagnosticsDataType);
parseDouble(subtree, tvb, pOffset, hf_opcua_SamplingInterval);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MonitoredItemCount);
@@ -1504,7 +1504,7 @@ void parseSamplingIntervalDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, g
gint ett_opcua_ServerDiagnosticsSummaryDataType = -1;
void parseServerDiagnosticsSummaryDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ServerDiagnosticsSummaryDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ServerDiagnosticsSummaryDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ServerDiagnosticsSummaryDataType);
parseUInt32(subtree, tvb, pOffset, hf_opcua_ServerViewCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentSessionCount);
@@ -1523,7 +1523,7 @@ void parseServerDiagnosticsSummaryDataType(proto_tree *tree, tvbuff_t *tvb, gint
gint ett_opcua_ServerStatusDataType = -1;
void parseServerStatusDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ServerStatusDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ServerStatusDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ServerStatusDataType);
parseDateTime(subtree, tvb, pOffset, hf_opcua_StartTime);
parseDateTime(subtree, tvb, pOffset, hf_opcua_CurrentTime);
@@ -1536,7 +1536,7 @@ void parseServerStatusDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, c
gint ett_opcua_SessionDiagnosticsDataType = -1;
void parseSessionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SessionDiagnosticsDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SessionDiagnosticsDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SessionDiagnosticsDataType);
parseNodeId(subtree, tvb, pOffset, "SessionId");
parseString(subtree, tvb, pOffset, hf_opcua_SessionName);
@@ -1544,7 +1544,7 @@ void parseSessionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOff
parseString(subtree, tvb, pOffset, hf_opcua_ServerUri);
parseString(subtree, tvb, pOffset, hf_opcua_EndpointUrl);
/* Array length field ignored: NoOfLocaleIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "LocaleIds", "String", hf_opcua_LocaleIds, parseString);
parseDouble(subtree, tvb, pOffset, hf_opcua_ActualSessionTimeout);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxResponseMessageSize);
parseDateTime(subtree, tvb, pOffset, hf_opcua_ClientConnectionTime);
@@ -1587,12 +1587,12 @@ void parseSessionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOff
gint ett_opcua_SessionSecurityDiagnosticsDataType = -1;
void parseSessionSecurityDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SessionSecurityDiagnosticsDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SessionSecurityDiagnosticsDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SessionSecurityDiagnosticsDataType);
parseNodeId(subtree, tvb, pOffset, "SessionId");
parseString(subtree, tvb, pOffset, hf_opcua_ClientUserIdOfSession);
/* Array length field ignored: NoOfClientUserIdHistory */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ClientUserIdHistory, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "ClientUserIdHistory", "String", hf_opcua_ClientUserIdHistory, parseString);
parseString(subtree, tvb, pOffset, hf_opcua_AuthenticationMechanism);
parseString(subtree, tvb, pOffset, hf_opcua_Encoding);
parseString(subtree, tvb, pOffset, hf_opcua_TransportProtocol);
@@ -1604,7 +1604,7 @@ void parseSessionSecurityDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gi
gint ett_opcua_ServiceCounterDataType = -1;
void parseServiceCounterDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ServiceCounterDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ServiceCounterDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ServiceCounterDataType);
parseUInt32(subtree, tvb, pOffset, hf_opcua_TotalCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_ErrorCount);
@@ -1613,7 +1613,7 @@ void parseServiceCounterDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
gint ett_opcua_StatusResult = -1;
void parseStatusResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : StatusResult", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: StatusResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_StatusResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
parseDiagnosticInfo(subtree, tvb, pOffset, "DiagnosticInfo");
@@ -1622,7 +1622,7 @@ void parseStatusResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const cha
gint ett_opcua_SubscriptionDiagnosticsDataType = -1;
void parseSubscriptionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SubscriptionDiagnosticsDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SubscriptionDiagnosticsDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SubscriptionDiagnosticsDataType);
parseNodeId(subtree, tvb, pOffset, "SessionId");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
@@ -1660,7 +1660,7 @@ void parseSubscriptionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint
gint ett_opcua_ModelChangeStructureDataType = -1;
void parseModelChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ModelChangeStructureDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ModelChangeStructureDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModelChangeStructureDataType);
parseNodeId(subtree, tvb, pOffset, "Affected");
parseNodeId(subtree, tvb, pOffset, "AffectedType");
@@ -1670,7 +1670,7 @@ void parseModelChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pO
gint ett_opcua_SemanticChangeStructureDataType = -1;
void parseSemanticChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : SemanticChangeStructureDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: SemanticChangeStructureDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SemanticChangeStructureDataType);
parseNodeId(subtree, tvb, pOffset, "Affected");
parseNodeId(subtree, tvb, pOffset, "AffectedType");
@@ -1679,7 +1679,7 @@ void parseSemanticChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint
gint ett_opcua_Range = -1;
void parseRange(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : Range", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: Range", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_Range);
parseDouble(subtree, tvb, pOffset, hf_opcua_Low);
parseDouble(subtree, tvb, pOffset, hf_opcua_High);
@@ -1688,7 +1688,7 @@ void parseRange(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFi
gint ett_opcua_EUInformation = -1;
void parseEUInformation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : EUInformation", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: EUInformation", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EUInformation);
parseString(subtree, tvb, pOffset, hf_opcua_NamespaceUri);
parseInt32(subtree, tvb, pOffset, hf_opcua_UnitId);
@@ -1699,7 +1699,7 @@ void parseEUInformation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const ch
gint ett_opcua_ComplexNumberType = -1;
void parseComplexNumberType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ComplexNumberType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ComplexNumberType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ComplexNumberType);
parseFloat(subtree, tvb, pOffset, hf_opcua_Real);
parseFloat(subtree, tvb, pOffset, hf_opcua_Imaginary);
@@ -1708,7 +1708,7 @@ void parseComplexNumberType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, cons
gint ett_opcua_DoubleComplexNumberType = -1;
void parseDoubleComplexNumberType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : DoubleComplexNumberType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: DoubleComplexNumberType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DoubleComplexNumberType);
parseDouble(subtree, tvb, pOffset, hf_opcua_Real);
parseDouble(subtree, tvb, pOffset, hf_opcua_Imaginary);
@@ -1717,20 +1717,20 @@ void parseDoubleComplexNumberType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset
gint ett_opcua_AxisInformation = -1;
void parseAxisInformation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : AxisInformation", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: AxisInformation", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AxisInformation);
parseEUInformation(subtree, tvb, pOffset, "EngineeringUnits");
parseRange(subtree, tvb, pOffset, "EURange");
parseLocalizedText(subtree, tvb, pOffset, "Title");
parseAxisScaleEnumeration(subtree, tvb, pOffset);
/* Array length field ignored: NoOfAxisSteps */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_AxisSteps, parseDouble);
+ parseArraySimple(subtree, tvb, pOffset, "AxisSteps", "Double", hf_opcua_AxisSteps, parseDouble);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_XVType = -1;
void parseXVType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : XVType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: XVType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_XVType);
parseDouble(subtree, tvb, pOffset, hf_opcua_X);
parseFloat(subtree, tvb, pOffset, hf_opcua_Value);
@@ -1739,7 +1739,7 @@ void parseXVType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szF
gint ett_opcua_ProgramDiagnosticDataType = -1;
void parseProgramDiagnosticDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ProgramDiagnosticDataType", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ProgramDiagnosticDataType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ProgramDiagnosticDataType);
parseNodeId(subtree, tvb, pOffset, "CreateSessionId");
parseString(subtree, tvb, pOffset, hf_opcua_CreateClientName);
@@ -1748,9 +1748,9 @@ void parseProgramDiagnosticDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
parseString(subtree, tvb, pOffset, hf_opcua_LastMethodCall);
parseNodeId(subtree, tvb, pOffset, "LastMethodSessionId");
/* Array length field ignored: NoOfLastMethodInputArguments */
- parseArrayComplex(subtree, tvb, pOffset, "LastMethodInputArguments", parseArgument);
+ parseArrayComplex(subtree, tvb, pOffset, "LastMethodInputArguments", "Argument", parseArgument);
/* Array length field ignored: NoOfLastMethodOutputArguments */
- parseArrayComplex(subtree, tvb, pOffset, "LastMethodOutputArguments", parseArgument);
+ parseArrayComplex(subtree, tvb, pOffset, "LastMethodOutputArguments", "Argument", parseArgument);
parseDateTime(subtree, tvb, pOffset, hf_opcua_LastMethodCallTime);
parseStatusResult(subtree, tvb, pOffset, "LastMethodReturnStatus");
proto_item_set_end(ti, tvb, *pOffset);
@@ -1758,7 +1758,7 @@ void parseProgramDiagnosticDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
gint ett_opcua_Annotation = -1;
void parseAnnotation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : Annotation", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: Annotation", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_Annotation);
parseString(subtree, tvb, pOffset, hf_opcua_Message);
parseString(subtree, tvb, pOffset, hf_opcua_UserName);
diff --git a/plugins/opcua/opcua_identifiers.h b/plugins/opcua/opcua_identifiers.h
index 5ec96e85a4..32da44f4c3 100644
--- a/plugins/opcua/opcua_identifiers.h
+++ b/plugins/opcua/opcua_identifiers.h
@@ -30,7 +30,7 @@ typedef void (*fctEnumParser)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
/* declare type parser function prototype */
typedef void (*fctComplexTypeParser)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName);
/* declare type parser function prototype */
-typedef void (*fctSimpleTypeParser)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+typedef proto_item* (*fctSimpleTypeParser)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
typedef struct _ParserEntry
{
diff --git a/plugins/opcua/opcua_serviceparser.c b/plugins/opcua/opcua_serviceparser.c
index 08c3880fe5..0a46a819f0 100644
--- a/plugins/opcua/opcua_serviceparser.c
+++ b/plugins/opcua/opcua_serviceparser.c
@@ -1,5 +1,5 @@
/******************************************************************************
-** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
+** 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
@@ -14,7 +14,7 @@
**
** Description: OpcUa Complex Type Parser
**
-** This file was autogenerated on 12.02.2013.
+** This file was autogenerated on 17.06.2014.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -47,9 +47,9 @@ void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseString(subtree, tvb, pOffset, hf_opcua_EndpointUrl);
/* Array length field ignored: NoOfLocaleIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "LocaleIds", "String", hf_opcua_LocaleIds, parseString);
/* Array length field ignored: NoOfServerUris */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ServerUris, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "ServerUris", "String", hf_opcua_ServerUris, parseString);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_FindServersResponse = -1;
@@ -60,7 +60,7 @@ void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfServers */
- parseArrayComplex(subtree, tvb, pOffset, "Servers", parseApplicationDescription);
+ parseArrayComplex(subtree, tvb, pOffset, "Servers", "ApplicationDescription", parseApplicationDescription);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_GetEndpointsRequest = -1;
@@ -72,9 +72,9 @@ void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseString(subtree, tvb, pOffset, hf_opcua_EndpointUrl);
/* Array length field ignored: NoOfLocaleIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "LocaleIds", "String", hf_opcua_LocaleIds, parseString);
/* Array length field ignored: NoOfProfileUris */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ProfileUris, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "ProfileUris", "String", hf_opcua_ProfileUris, parseString);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_GetEndpointsResponse = -1;
@@ -85,7 +85,7 @@ void parseGetEndpointsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfEndpoints */
- parseArrayComplex(subtree, tvb, pOffset, "Endpoints", parseEndpointDescription);
+ parseArrayComplex(subtree, tvb, pOffset, "Endpoints", "EndpointDescription", parseEndpointDescription);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RegisterServerRequest = -1;
@@ -181,9 +181,9 @@ void parseCreateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseByteString(subtree, tvb, pOffset, hf_opcua_ServerNonce);
parseByteString(subtree, tvb, pOffset, hf_opcua_ServerCertificate);
/* Array length field ignored: NoOfServerEndpoints */
- parseArrayComplex(subtree, tvb, pOffset, "ServerEndpoints", parseEndpointDescription);
+ parseArrayComplex(subtree, tvb, pOffset, "ServerEndpoints", "EndpointDescription", parseEndpointDescription);
/* Array length field ignored: NoOfServerSoftwareCertificates */
- parseArrayComplex(subtree, tvb, pOffset, "ServerSoftwareCertificates", parseSignedSoftwareCertificate);
+ parseArrayComplex(subtree, tvb, pOffset, "ServerSoftwareCertificates", "SignedSoftwareCertificate", parseSignedSoftwareCertificate);
parseSignatureData(subtree, tvb, pOffset, "ServerSignature");
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxRequestMessageSize);
proto_item_set_end(ti, tvb, *pOffset);
@@ -197,9 +197,9 @@ void parseActivateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseSignatureData(subtree, tvb, pOffset, "ClientSignature");
/* Array length field ignored: NoOfClientSoftwareCertificates */
- parseArrayComplex(subtree, tvb, pOffset, "ClientSoftwareCertificates", parseSignedSoftwareCertificate);
+ parseArrayComplex(subtree, tvb, pOffset, "ClientSoftwareCertificates", "SignedSoftwareCertificate", parseSignedSoftwareCertificate);
/* Array length field ignored: NoOfLocaleIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
+ parseArraySimple(subtree, tvb, pOffset, "LocaleIds", "String", hf_opcua_LocaleIds, parseString);
parseExtensionObject(subtree, tvb, pOffset, "UserIdentityToken");
parseSignatureData(subtree, tvb, pOffset, "UserTokenSignature");
proto_item_set_end(ti, tvb, *pOffset);
@@ -213,9 +213,9 @@ void parseActivateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseByteString(subtree, tvb, pOffset, hf_opcua_ServerNonce);
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CloseSessionRequest = -1;
@@ -265,7 +265,7 @@ void parseAddNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToAdd */
- parseArrayComplex(subtree, tvb, pOffset, "NodesToAdd", parseAddNodesItem);
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToAdd", "AddNodesItem", parseAddNodesItem);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AddNodesResponse = -1;
@@ -276,9 +276,9 @@ void parseAddNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseAddNodesResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "AddNodesResult", parseAddNodesResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AddReferencesRequest = -1;
@@ -289,7 +289,7 @@ void parseAddReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfReferencesToAdd */
- parseArrayComplex(subtree, tvb, pOffset, "ReferencesToAdd", parseAddReferencesItem);
+ parseArrayComplex(subtree, tvb, pOffset, "ReferencesToAdd", "AddReferencesItem", parseAddReferencesItem);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_AddReferencesResponse = -1;
@@ -300,9 +300,9 @@ void parseAddReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteNodesRequest = -1;
@@ -313,7 +313,7 @@ void parseDeleteNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToDelete */
- parseArrayComplex(subtree, tvb, pOffset, "NodesToDelete", parseDeleteNodesItem);
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToDelete", "DeleteNodesItem", parseDeleteNodesItem);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteNodesResponse = -1;
@@ -324,9 +324,9 @@ void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteReferencesRequest = -1;
@@ -337,7 +337,7 @@ void parseDeleteReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfReferencesToDelete */
- parseArrayComplex(subtree, tvb, pOffset, "ReferencesToDelete", parseDeleteReferencesItem);
+ parseArrayComplex(subtree, tvb, pOffset, "ReferencesToDelete", "DeleteReferencesItem", parseDeleteReferencesItem);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteReferencesResponse = -1;
@@ -348,9 +348,9 @@ void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowseRequest = -1;
@@ -363,7 +363,7 @@ void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseViewDescription(subtree, tvb, pOffset, "View");
parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedMaxReferencesPerNode);
/* Array length field ignored: NoOfNodesToBrowse */
- parseArrayComplex(subtree, tvb, pOffset, "NodesToBrowse", parseBrowseDescription);
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToBrowse", "BrowseDescription", parseBrowseDescription);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowseResponse = -1;
@@ -374,9 +374,9 @@ void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowseResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "BrowseResult", parseBrowseResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowseNextRequest = -1;
@@ -388,7 +388,7 @@ void parseBrowseNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
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);
+ parseArraySimple(subtree, tvb, pOffset, "ContinuationPoints", "ByteString", hf_opcua_ContinuationPoints, parseByteString);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_BrowseNextResponse = -1;
@@ -399,9 +399,9 @@ void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowseResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "BrowseResult", parseBrowseResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_TranslateBrowsePathsToNodeIdsRequest = -1;
@@ -412,7 +412,7 @@ void parseTranslateBrowsePathsToNodeIdsRequest(proto_tree *tree, tvbuff_t *tvb,
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfBrowsePaths */
- parseArrayComplex(subtree, tvb, pOffset, "BrowsePaths", parseBrowsePath);
+ parseArrayComplex(subtree, tvb, pOffset, "BrowsePaths", "BrowsePath", parseBrowsePath);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_TranslateBrowsePathsToNodeIdsResponse = -1;
@@ -423,9 +423,9 @@ void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb,
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowsePathResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "BrowsePathResult", parseBrowsePathResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RegisterNodesRequest = -1;
@@ -436,7 +436,7 @@ void parseRegisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToRegister */
- parseArrayComplex(subtree, tvb, pOffset, "NodesToRegister", parseNodeId);
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToRegister", "NodeId", parseNodeId);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RegisterNodesResponse = -1;
@@ -447,7 +447,7 @@ void parseRegisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfRegisteredNodeIds */
- parseArrayComplex(subtree, tvb, pOffset, "RegisteredNodeIds", parseNodeId);
+ parseArrayComplex(subtree, tvb, pOffset, "RegisteredNodeIds", "NodeId", parseNodeId);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_UnregisterNodesRequest = -1;
@@ -458,7 +458,7 @@ void parseUnregisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToUnregister */
- parseArrayComplex(subtree, tvb, pOffset, "NodesToUnregister", parseNodeId);
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToUnregister", "NodeId", parseNodeId);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_UnregisterNodesResponse = -1;
@@ -479,7 +479,7 @@ void parseQueryFirstRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseViewDescription(subtree, tvb, pOffset, "View");
/* Array length field ignored: NoOfNodeTypes */
- parseArrayComplex(subtree, tvb, pOffset, "NodeTypes", parseNodeTypeDescription);
+ parseArrayComplex(subtree, tvb, pOffset, "NodeTypes", "NodeTypeDescription", parseNodeTypeDescription);
parseContentFilter(subtree, tvb, pOffset, "Filter");
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxDataSetsToReturn);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxReferencesToReturn);
@@ -493,12 +493,12 @@ void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfQueryDataSets */
- parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", parseQueryDataSet);
+ parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", "QueryDataSet", parseQueryDataSet);
parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
/* Array length field ignored: NoOfParsingResults */
- parseArrayComplex(subtree, tvb, pOffset, "ParsingResults", parseParsingResult);
+ parseArrayComplex(subtree, tvb, pOffset, "ParsingResults", "ParsingResult", parseParsingResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
parseContentFilterResult(subtree, tvb, pOffset, "FilterResult");
proto_item_set_end(ti, tvb, *pOffset);
}
@@ -521,7 +521,7 @@ void parseQueryNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfQueryDataSets */
- parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", parseQueryDataSet);
+ parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", "QueryDataSet", parseQueryDataSet);
parseByteString(subtree, tvb, pOffset, hf_opcua_RevisedContinuationPoint);
proto_item_set_end(ti, tvb, *pOffset);
}
@@ -535,7 +535,7 @@ void parseReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseDouble(subtree, tvb, pOffset, hf_opcua_MaxAge);
parseTimestampsToReturn(subtree, tvb, pOffset);
/* Array length field ignored: NoOfNodesToRead */
- parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", parseReadValueId);
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", "ReadValueId", parseReadValueId);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ReadResponse = -1;
@@ -546,9 +546,9 @@ void parseReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseDataValue);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "DataValue", parseDataValue);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryReadRequest = -1;
@@ -562,7 +562,7 @@ void parseHistoryReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseTimestampsToReturn(subtree, tvb, pOffset);
parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoints);
/* Array length field ignored: NoOfNodesToRead */
- parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", parseHistoryReadValueId);
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", "HistoryReadValueId", parseHistoryReadValueId);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryReadResponse = -1;
@@ -573,9 +573,9 @@ void parseHistoryReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseHistoryReadResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "HistoryReadResult", parseHistoryReadResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_WriteRequest = -1;
@@ -586,7 +586,7 @@ void parseWriteRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfNodesToWrite */
- parseArrayComplex(subtree, tvb, pOffset, "NodesToWrite", parseWriteValue);
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToWrite", "WriteValue", parseWriteValue);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_WriteResponse = -1;
@@ -597,9 +597,9 @@ void parseWriteResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryUpdateRequest = -1;
@@ -610,7 +610,7 @@ void parseHistoryUpdateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfHistoryUpdateDetails */
- parseArrayComplex(subtree, tvb, pOffset, "HistoryUpdateDetails", parseExtensionObject);
+ parseArrayComplex(subtree, tvb, pOffset, "HistoryUpdateDetails", "ExtensionObject", parseExtensionObject);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_HistoryUpdateResponse = -1;
@@ -621,9 +621,9 @@ void parseHistoryUpdateResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseHistoryUpdateResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "HistoryUpdateResult", parseHistoryUpdateResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CallRequest = -1;
@@ -634,7 +634,7 @@ void parseCallRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfMethodsToCall */
- parseArrayComplex(subtree, tvb, pOffset, "MethodsToCall", parseCallMethodRequest);
+ parseArrayComplex(subtree, tvb, pOffset, "MethodsToCall", "CallMethodRequest", parseCallMethodRequest);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CallResponse = -1;
@@ -645,9 +645,9 @@ void parseCallResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseCallMethodResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "CallMethodResult", parseCallMethodResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateMonitoredItemsRequest = -1;
@@ -660,7 +660,7 @@ void parseCreateMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOf
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseTimestampsToReturn(subtree, tvb, pOffset);
/* Array length field ignored: NoOfItemsToCreate */
- parseArrayComplex(subtree, tvb, pOffset, "ItemsToCreate", parseMonitoredItemCreateRequest);
+ parseArrayComplex(subtree, tvb, pOffset, "ItemsToCreate", "MonitoredItemCreateRequest", parseMonitoredItemCreateRequest);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateMonitoredItemsResponse = -1;
@@ -671,9 +671,9 @@ void parseCreateMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseMonitoredItemCreateResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "MonitoredItemCreateResult", parseMonitoredItemCreateResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ModifyMonitoredItemsRequest = -1;
@@ -686,7 +686,7 @@ void parseModifyMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOf
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseTimestampsToReturn(subtree, tvb, pOffset);
/* Array length field ignored: NoOfItemsToModify */
- parseArrayComplex(subtree, tvb, pOffset, "ItemsToModify", parseMonitoredItemModifyRequest);
+ parseArrayComplex(subtree, tvb, pOffset, "ItemsToModify", "MonitoredItemModifyRequest", parseMonitoredItemModifyRequest);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_ModifyMonitoredItemsResponse = -1;
@@ -697,9 +697,9 @@ void parseModifyMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseMonitoredItemModifyResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "MonitoredItemModifyResult", parseMonitoredItemModifyResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetMonitoringModeRequest = -1;
@@ -712,7 +712,7 @@ void parseSetMonitoringModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseMonitoringMode(subtree, tvb, pOffset);
/* Array length field ignored: NoOfMonitoredItemIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_MonitoredItemIds, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "MonitoredItemIds", "UInt32", hf_opcua_MonitoredItemIds, parseUInt32);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetMonitoringModeResponse = -1;
@@ -723,9 +723,9 @@ void parseSetMonitoringModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetTriggeringRequest = -1;
@@ -738,9 +738,9 @@ void parseSetTriggeringRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseUInt32(subtree, tvb, pOffset, hf_opcua_TriggeringItemId);
/* Array length field ignored: NoOfLinksToAdd */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_LinksToAdd, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "LinksToAdd", "UInt32", hf_opcua_LinksToAdd, parseUInt32);
/* Array length field ignored: NoOfLinksToRemove */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_LinksToRemove, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "LinksToRemove", "UInt32", hf_opcua_LinksToRemove, parseUInt32);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetTriggeringResponse = -1;
@@ -751,13 +751,13 @@ void parseSetTriggeringResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfAddResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_AddResults, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "AddResults", "StatusCode", hf_opcua_AddResults, parseStatusCode);
/* Array length field ignored: NoOfAddDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "AddDiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "AddDiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
/* Array length field ignored: NoOfRemoveResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_RemoveResults, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "RemoveResults", "StatusCode", hf_opcua_RemoveResults, parseStatusCode);
/* Array length field ignored: NoOfRemoveDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "RemoveDiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "RemoveDiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteMonitoredItemsRequest = -1;
@@ -769,7 +769,7 @@ void parseDeleteMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOf
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);
+ parseArraySimple(subtree, tvb, pOffset, "MonitoredItemIds", "UInt32", hf_opcua_MonitoredItemIds, parseUInt32);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteMonitoredItemsResponse = -1;
@@ -780,9 +780,9 @@ void parseDeleteMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_CreateSubscriptionRequest = -1;
@@ -849,7 +849,7 @@ void parseSetPublishingModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
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);
+ parseArraySimple(subtree, tvb, pOffset, "SubscriptionIds", "UInt32", hf_opcua_SubscriptionIds, parseUInt32);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_SetPublishingModeResponse = -1;
@@ -860,9 +860,9 @@ void parseSetPublishingModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_PublishRequest = -1;
@@ -873,7 +873,7 @@ void parsePublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfSubscriptionAcknowledgements */
- parseArrayComplex(subtree, tvb, pOffset, "SubscriptionAcknowledgements", parseSubscriptionAcknowledgement);
+ parseArrayComplex(subtree, tvb, pOffset, "SubscriptionAcknowledgements", "SubscriptionAcknowledgement", parseSubscriptionAcknowledgement);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_PublishResponse = -1;
@@ -885,13 +885,13 @@ void parsePublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
/* Array length field ignored: NoOfAvailableSequenceNumbers */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_AvailableSequenceNumbers, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "AvailableSequenceNumbers", "UInt32", hf_opcua_AvailableSequenceNumbers, parseUInt32);
parseBoolean(subtree, tvb, pOffset, hf_opcua_MoreNotifications);
parseNotificationMessage(subtree, tvb, pOffset, "NotificationMessage");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_RepublishRequest = -1;
@@ -923,7 +923,7 @@ void parseTransferSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pO
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfSubscriptionIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "SubscriptionIds", "UInt32", hf_opcua_SubscriptionIds, parseUInt32);
parseBoolean(subtree, tvb, pOffset, hf_opcua_SendInitialValues);
proto_item_set_end(ti, tvb, *pOffset);
}
@@ -935,9 +935,9 @@ void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *p
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseTransferResult);
+ parseArrayComplex(subtree, tvb, pOffset, "Results", "TransferResult", parseTransferResult);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteSubscriptionsRequest = -1;
@@ -948,7 +948,7 @@ void parseDeleteSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOff
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
/* Array length field ignored: NoOfSubscriptionIds */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
+ parseArraySimple(subtree, tvb, pOffset, "SubscriptionIds", "UInt32", hf_opcua_SubscriptionIds, parseUInt32);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_DeleteSubscriptionsResponse = -1;
@@ -959,9 +959,9 @@ void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOf
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
/* Array length field ignored: NoOfResults */
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ parseArraySimple(subtree, tvb, pOffset, "Results", "StatusCode", hf_opcua_Results, parseStatusCode);
/* Array length field ignored: NoOfDiagnosticInfos */
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo);
proto_item_set_end(ti, tvb, *pOffset);
}
gint ett_opcua_TestStackRequest = -1;
diff --git a/plugins/opcua/opcua_simpletypes.c b/plugins/opcua/opcua_simpletypes.c
index b9fcd38f42..24600f5223 100644
--- a/plugins/opcua/opcua_simpletypes.c
+++ b/plugins/opcua/opcua_simpletypes.c
@@ -382,53 +382,72 @@ void registerSimpleTypes(int proto)
proto_register_subtree_array(ett, array_length(ett));
}
-void parseBoolean(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseBoolean(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 1, ENC_LITTLE_ENDIAN); *pOffset+=1;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 1, ENC_LITTLE_ENDIAN);
+ *pOffset+=1;
+ return item;
}
-void parseByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 1, ENC_LITTLE_ENDIAN); *pOffset+=1;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 1, ENC_LITTLE_ENDIAN);
+ *pOffset+=1;
+ return item;
}
-void parseSByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseSByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 1, ENC_LITTLE_ENDIAN); *pOffset+=1;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 1, ENC_LITTLE_ENDIAN);
+ *pOffset+=1;
+ return item;
}
-void parseUInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseUInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 2, ENC_LITTLE_ENDIAN); *pOffset+=2;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 2, ENC_LITTLE_ENDIAN);
+ *pOffset+=2;
+ return item;
}
-void parseInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 2, ENC_LITTLE_ENDIAN); *pOffset+=2;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 2, ENC_LITTLE_ENDIAN);
+ *pOffset+=2;
+ return item;
}
-void parseUInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseUInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN);
+ *pOffset+=4;
+ return item;
}
-void parseInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN);
+ *pOffset+=4;
+ return item;
}
-void parseUInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseUInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 8, ENC_LITTLE_ENDIAN); *pOffset+=8;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 8, ENC_LITTLE_ENDIAN);
+ *pOffset+=8;
+ return item;
}
-void parseInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 8, ENC_LITTLE_ENDIAN); *pOffset+=8;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 8, ENC_LITTLE_ENDIAN);
+ *pOffset+=8;
+ return item;
}
-void parseString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
+ proto_item *item = NULL;
char *szValue;
gint iOffset = *pOffset;
gint32 iLen = tvb_get_letohl(tvb, *pOffset);
@@ -436,33 +455,34 @@ void parseString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
if (iLen == -1)
{
- proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
+ item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
proto_item_append_text(item, "[OpcUa Null String]");
proto_item_set_end(item, tvb, *pOffset + 4);
}
else if (iLen == 0)
{
- proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
+ item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
proto_item_append_text(item, "[OpcUa Empty String]");
proto_item_set_end(item, tvb, *pOffset + 4);
}
else if (iLen > 0)
{
- proto_tree_add_item(tree, hfIndex, tvb, iOffset, iLen, ENC_UTF_8|ENC_NA);
+ item = proto_tree_add_item(tree, hfIndex, tvb, iOffset, iLen, ENC_UTF_8|ENC_NA);
iOffset += iLen; /* eat the whole string */
}
else
{
- proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
+ item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
szValue = wmem_strdup_printf(wmem_packet_scope(), "[Invalid String] Invalid length: %d", iLen);
proto_item_append_text(item, "%s", szValue);
proto_item_set_end(item, tvb, *pOffset + 4);
}
*pOffset = iOffset;
+ return item;
}
-void parseStatusCode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseStatusCode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
proto_item *item = NULL;
guint32 uStatusCode = 0;
@@ -509,6 +529,7 @@ void parseStatusCode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex
}
*pOffset += 4;
+ return item;
}
void parseLocalizedText(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
@@ -545,13 +566,16 @@ void parseLocalizedText(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const ch
*pOffset = iOffset;
}
-void parseGuid(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseGuid(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, GUID_LEN, ENC_NA); *pOffset+=GUID_LEN;
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, GUID_LEN, ENC_NA);
+ *pOffset+=GUID_LEN;
+ return item;
}
-void parseByteString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseByteString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
+ proto_item *item = NULL;
char *szValue;
int iOffset = *pOffset;
gint32 iLen = tvb_get_letohl(tvb, iOffset);
@@ -559,52 +583,57 @@ void parseByteString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex
if (iLen == -1)
{
- proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
+ item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
proto_item_append_text(item, "[OpcUa Null ByteString]");
proto_item_set_end(item, tvb, *pOffset + 4);
}
else if (iLen == 0)
{
- proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
+ item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
proto_item_append_text(item, "[OpcUa Empty ByteString]");
proto_item_set_end(item, tvb, *pOffset + 4);
}
else if (iLen > 0)
{
- proto_tree_add_item(tree, hfIndex, tvb, iOffset, iLen, ENC_NA);
+ item = proto_tree_add_item(tree, hfIndex, tvb, iOffset, iLen, ENC_NA);
iOffset += iLen; /* eat the whole bytestring */
}
else
{
- proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
+ item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, 0, ENC_NA);
szValue = wmem_strdup_printf(wmem_packet_scope(), "[Invalid ByteString] Invalid length: %d", iLen);
proto_item_append_text(item, "%s", szValue);
proto_item_set_end(item, tvb, *pOffset + 4);
}
*pOffset = iOffset;
+ return item;
}
-void parseXmlElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseXmlElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- parseByteString(tree, tvb, pOffset, hfIndex);
+ return parseByteString(tree, tvb, pOffset, hfIndex);
}
-void parseFloat(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseFloat(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, (int)sizeof(gfloat), ENC_LITTLE_ENDIAN);
- *pOffset += (int)sizeof(gfloat);
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, (int)sizeof(gfloat), ENC_LITTLE_ENDIAN);
+ *pOffset += (int)sizeof(gfloat);
+ return item;
}
-void parseDouble(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseDouble(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- proto_tree_add_item(tree, hfIndex, tvb, *pOffset, (int)sizeof(gdouble), ENC_LITTLE_ENDIAN);
- *pOffset += (int)sizeof(gdouble);
+ proto_item *item = proto_tree_add_item(tree, hfIndex, tvb, *pOffset, (int)sizeof(gdouble), ENC_LITTLE_ENDIAN);
+ *pOffset += (int)sizeof(gdouble);
+ return item;
}
-void parseDateTime(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
+proto_item* parseDateTime(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex)
{
- *pOffset = dissect_nt_64bit_time(tvb, tree, *pOffset, hfIndex);
+ proto_item *item = NULL;
+ *pOffset = dissect_nt_64bit_time_ex(tvb, tree, *pOffset, hfIndex, &item);
+ return item;
}
void parseDiagnosticInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName)
@@ -738,31 +767,31 @@ void parseVariant(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *sz
switch(EncodingMask & 0x3f)
{
case OpcUaType_Null: break;
- case OpcUaType_Boolean: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Boolean, parseBoolean); break;
- case OpcUaType_SByte: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_SByte, parseSByte); break;
- case OpcUaType_Byte: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Byte, parseByte); break;
- case OpcUaType_Int16: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Int16, parseInt16); break;
- case OpcUaType_UInt16: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_UInt16, parseUInt16); break;
- case OpcUaType_Int32: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Int32, parseInt32); break;
- case OpcUaType_UInt32: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_UInt32, parseUInt32); break;
- case OpcUaType_Int64: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Int64, parseInt64); break;
- case OpcUaType_UInt64: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_UInt64, parseUInt64); break;
- case OpcUaType_Float: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Float, parseFloat); break;
- case OpcUaType_Double: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Double, parseDouble); break;
- case OpcUaType_String: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_String, parseString); break;
- case OpcUaType_DateTime: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_DateTime, parseDateTime); break;
- case OpcUaType_Guid: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Guid, parseGuid); break;
- case OpcUaType_ByteString: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_ByteString, parseByteString); break;
- case OpcUaType_XmlElement: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_XmlElement, parseXmlElement); break;
- case OpcUaType_NodeId: parseArrayComplex(subtree, tvb, &iOffset, "NodeId", parseNodeId); break;
- case OpcUaType_ExpandedNodeId: parseArrayComplex(subtree, tvb, &iOffset, "ExpandedNodeId", parseExpandedNodeId); break;
- case OpcUaType_StatusCode: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_StatusCode, parseStatusCode); break;
- case OpcUaType_DiagnosticInfo: parseArrayComplex(subtree, tvb, &iOffset, "DiagnosticInfo", parseDiagnosticInfo); break;
- case OpcUaType_QualifiedName: parseArrayComplex(subtree, tvb, &iOffset, "QualifiedName", parseQualifiedName); break;
- case OpcUaType_LocalizedText: parseArrayComplex(subtree, tvb, &iOffset, "LocalizedText", parseLocalizedText); break;
- case OpcUaType_ExtensionObject: parseArrayComplex(subtree, tvb, &iOffset, "ExtensionObject", parseExtensionObject); break;
- case OpcUaType_DataValue: parseArrayComplex(subtree, tvb, &iOffset, "DataValue", parseDataValue); break;
- case OpcUaType_Variant: parseArrayComplex(subtree, tvb, &iOffset, "Variant", parseVariant); break;
+ case OpcUaType_Boolean: parseArraySimple(subtree, tvb, &iOffset, "Boolean", "Boolean", hf_opcua_Boolean, parseBoolean); break;
+ case OpcUaType_SByte: parseArraySimple(subtree, tvb, &iOffset, "SByte", "SByte", hf_opcua_SByte, parseSByte); break;
+ case OpcUaType_Byte: parseArraySimple(subtree, tvb, &iOffset, "Byte", "Byte", hf_opcua_Byte, parseByte); break;
+ case OpcUaType_Int16: parseArraySimple(subtree, tvb, &iOffset, "Int16", "Int16", hf_opcua_Int16, parseInt16); break;
+ case OpcUaType_UInt16: parseArraySimple(subtree, tvb, &iOffset, "UInt16", "UInt16", hf_opcua_UInt16, parseUInt16); break;
+ case OpcUaType_Int32: parseArraySimple(subtree, tvb, &iOffset, "Int32", "Int32", hf_opcua_Int32, parseInt32); break;
+ case OpcUaType_UInt32: parseArraySimple(subtree, tvb, &iOffset, "UInt32", "UInt32", hf_opcua_UInt32, parseUInt32); break;
+ case OpcUaType_Int64: parseArraySimple(subtree, tvb, &iOffset, "Int64", "Int64", hf_opcua_Int64, parseInt64); break;
+ case OpcUaType_UInt64: parseArraySimple(subtree, tvb, &iOffset, "UInt64", "UInt64", hf_opcua_UInt64, parseUInt64); break;
+ case OpcUaType_Float: parseArraySimple(subtree, tvb, &iOffset, "Float", "Float", hf_opcua_Float, parseFloat); break;
+ case OpcUaType_Double: parseArraySimple(subtree, tvb, &iOffset, "Double", "Double", hf_opcua_Double, parseDouble); break;
+ case OpcUaType_String: parseArraySimple(subtree, tvb, &iOffset, "String", "String", hf_opcua_String, parseString); break;
+ case OpcUaType_DateTime: parseArraySimple(subtree, tvb, &iOffset, "DateTime", "DateTime", hf_opcua_DateTime, parseDateTime); break;
+ case OpcUaType_Guid: parseArraySimple(subtree, tvb, &iOffset, "Guid", "Guid", hf_opcua_Guid, parseGuid); break;
+ case OpcUaType_ByteString: parseArraySimple(subtree, tvb, &iOffset, "ByteString", "ByteString", hf_opcua_ByteString, parseByteString); break;
+ case OpcUaType_XmlElement: parseArraySimple(subtree, tvb, &iOffset, "XmlElement", "XmlElement", hf_opcua_XmlElement, parseXmlElement); break;
+ case OpcUaType_NodeId: parseArrayComplex(subtree, tvb, &iOffset, "NodeId", "NodeId", parseNodeId); break;
+ case OpcUaType_ExpandedNodeId: parseArrayComplex(subtree, tvb, &iOffset, "ExpandedNodeId", "ExpandedNodeId", parseExpandedNodeId); break;
+ case OpcUaType_StatusCode: parseArraySimple(subtree, tvb, &iOffset, "StatusCode", "StatusCode", hf_opcua_StatusCode, parseStatusCode); break;
+ case OpcUaType_DiagnosticInfo: parseArrayComplex(subtree, tvb, &iOffset, "DiagnosticInfo", "DiagnosticInfo", parseDiagnosticInfo); break;
+ case OpcUaType_QualifiedName: parseArrayComplex(subtree, tvb, &iOffset, "QualifiedName", "QualifiedName", parseQualifiedName); break;
+ case OpcUaType_LocalizedText: parseArrayComplex(subtree, tvb, &iOffset, "LocalizedText", "LocalizedText", parseLocalizedText); break;
+ case OpcUaType_ExtensionObject: parseArrayComplex(subtree, tvb, &iOffset, "ExtensionObject", "ExtensionObject", parseExtensionObject); break;
+ case OpcUaType_DataValue: parseArrayComplex(subtree, tvb, &iOffset, "DataValue", "DataValue", parseDataValue); break;
+ case OpcUaType_Variant: parseArrayComplex(subtree, tvb, &iOffset, "Variant", "Variant", parseVariant); break;
}
if (EncodingMask & VARIANT_ARRAYDIMENSIONS)
@@ -833,10 +862,9 @@ void parseVariant(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *sz
* All arrays have one 4 byte signed integer length information,
* followed by n data elements.
*/
-void parseArraySimple(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex, fctSimpleTypeParser pParserFunction)
+void parseArraySimple(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName, const char *szTypeName, int hfIndex, fctSimpleTypeParser pParserFunction)
{
- static const char szFieldName[] = "Array of Simple Type";
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: Array of %s", szFieldName, szTypeName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_array);
int i;
gint32 iLen;
@@ -856,7 +884,11 @@ void parseArraySimple(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfInde
*pOffset += 4;
for (i=0; i<iLen; i++)
{
- (*pParserFunction)(subtree, tvb, pOffset, hfIndex);
+ proto_item *arrayItem = (*pParserFunction)(subtree, tvb, pOffset, hfIndex);
+ if (arrayItem != NULL)
+ {
+ proto_item_prepend_text(arrayItem, "[%i]: ", i);
+ }
}
proto_item_set_end(ti, tvb, *pOffset);
}
@@ -865,10 +897,9 @@ void parseArraySimple(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfInde
* All arrays have one 4 byte signed integer length information,
* followed by n data elements.
*/
-void parseArrayEnum(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, fctEnumParser pParserFunction)
+void parseArrayEnum(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName, const char *szTypeName, fctEnumParser pParserFunction)
{
- static const char szFieldName[] = "Array of Enum Type";
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: Array of %s", szFieldName, szTypeName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_array);
int i;
gint32 iLen;
@@ -897,9 +928,9 @@ void parseArrayEnum(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, fctEnumParse
* All arrays have one 4 byte signed integer length information,
* followed by n data elements.
*/
-void parseArrayComplex(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName, fctComplexTypeParser pParserFunction)
+void parseArrayComplex(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName, const char *szTypeName, fctComplexTypeParser pParserFunction)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "Array of %s", szFieldName);
+ proto_item *ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: Array of %s", szFieldName, szTypeName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_array);
int i;
gint32 iLen;
@@ -987,7 +1018,7 @@ void parseExtensionObject(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const
proto_item *ti_inner;
/* add extension object subtree */
- ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s : ExtensionObject", szFieldName);
+ ti = proto_tree_add_text(tree, tvb, *pOffset, -1, "%s: ExtensionObject", szFieldName);
extobj_tree = proto_item_add_subtree(ti, ett_opcua_extensionobject);
/* add nodeid subtree */
diff --git a/plugins/opcua/opcua_simpletypes.h b/plugins/opcua/opcua_simpletypes.h
index 35315a692a..0c3cc45446 100644
--- a/plugins/opcua/opcua_simpletypes.h
+++ b/plugins/opcua/opcua_simpletypes.h
@@ -22,23 +22,23 @@
#include "opcua_identifiers.h"
/* simple types */
-void parseBoolean(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseSByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseUInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseUInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseUInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseGuid(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseByteString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseXmlElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseFloat(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseDouble(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseDateTime(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
-void parseStatusCode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseBoolean(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseSByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseUInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseUInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseUInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseGuid(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseByteString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseXmlElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseFloat(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseDouble(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseDateTime(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
+proto_item* parseStatusCode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
/* complex types */
void parseLocalizedText(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName);
void parseNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName);
@@ -48,9 +48,9 @@ void parseQualifiedName(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const ch
void parseDataValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName);
void parseVariant(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName);
void parseExpandedNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName);
-void parseArraySimple(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex, fctSimpleTypeParser pParserFunction);
-void parseArrayEnum(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, fctEnumParser pParserFunction);
-void parseArrayComplex(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName, fctComplexTypeParser pParserFunction);
+void parseArraySimple(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName, const char *szTypeName, int hfIndex, fctSimpleTypeParser pParserFunction);
+void parseArrayEnum(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName, const char *szTypeName, fctEnumParser pParserFunction);
+void parseArrayComplex(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, const char *szFieldName, const char *szTypeName, fctComplexTypeParser pParserFunction);
void registerSimpleTypes(int proto);
guint32 getExtensionObjectType(tvbuff_t *tvb, gint *pOffset);