aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2009-04-06 18:30:04 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2009-04-06 18:30:04 +0000
commit8ecf45961110d5783b7c99715b7c7cf05c5b41ed (patch)
tree926b3b5c94b33b4dbdca1083214be171806a0c9e /plugins
parent680cf63be8e8fc8f77de645f217d33e28cd61513 (diff)
From Gerhard Gappmeier:
This patch updates the plugin to fit the released OPCUA protocol version. svn path=/trunk/; revision=27974
Diffstat (limited to 'plugins')
-rw-r--r--plugins/opcua/ChangeLog13
-rw-r--r--plugins/opcua/README7
-rw-r--r--plugins/opcua/moduleinfo.h2
-rw-r--r--plugins/opcua/moduleinfo.nmake56
-rw-r--r--plugins/opcua/opcua.c152
-rw-r--r--plugins/opcua/opcua_complextypeparser.c1645
-rw-r--r--plugins/opcua/opcua_complextypeparser.h110
-rw-r--r--plugins/opcua/opcua_enumparser.c469
-rw-r--r--plugins/opcua/opcua_enumparser.h24
-rw-r--r--plugins/opcua/opcua_hfindeces.c1236
-rw-r--r--plugins/opcua/opcua_hfindeces.h614
-rw-r--r--plugins/opcua/opcua_identifiers.h2
-rw-r--r--plugins/opcua/opcua_security_layer.c48
-rw-r--r--plugins/opcua/opcua_serviceparser.c333
-rw-r--r--plugins/opcua/opcua_serviceparser.h12
-rw-r--r--plugins/opcua/opcua_servicetable.c317
-rw-r--r--plugins/opcua/opcua_simpletypes.c128
-rw-r--r--plugins/opcua/opcua_transport_layer.c178
-rw-r--r--plugins/opcua/opcua_transport_layer.h8
19 files changed, 2868 insertions, 2486 deletions
diff --git a/plugins/opcua/ChangeLog b/plugins/opcua/ChangeLog
index 1fbc573370..bae7195ea9 100644
--- a/plugins/opcua/ChangeLog
+++ b/plugins/opcua/ChangeLog
@@ -6,3 +6,16 @@ Version 0.0.1:
* initial implementation without security
+Version 1.0.0:
+
+* released implementation that works for OPC UA V1.0.
+ - The protocol is not compatible to the previous version.
+ Transport-layer, security-layer as well as the application-layer
+ data types have changed.
+ - This implementation is compliant to
+ "OPC UA Part 6 - Mappings 1.00 Specification"
+ - The security-layer is always present, but this plugin can only
+ decode communication with security policy
+ http://opcfoundation.org/UA/SecurityPolicy#None, which means
+ that neither encryption nor signing is active.
+
diff --git a/plugins/opcua/README b/plugins/opcua/README
index d062bebe24..df58cd5108 100644
--- a/plugins/opcua/README
+++ b/plugins/opcua/README
@@ -50,9 +50,6 @@ For more information see http://www.opcfoundation.org
Known limitations:
==================
-* In this version the security layer contains only dummy data.
- The plugin decodes the transport layer, skips the security dummy data
- and decodes the application layer.
- Security implementation will follow when it has been implemented in the
- Opc Ua stack.
+* Only the security policy http://opcfoundation.org/UA/SecurityPolicy#None is supported,
+ which means the encryption and signing is turned off.
diff --git a/plugins/opcua/moduleinfo.h b/plugins/opcua/moduleinfo.h
index bdcddac805..19620f61b1 100644
--- a/plugins/opcua/moduleinfo.h
+++ b/plugins/opcua/moduleinfo.h
@@ -13,5 +13,5 @@
#endif
/* Version number of package */
-#define VERSION "0.0.1"
+#define VERSION "1.0.0"
diff --git a/plugins/opcua/moduleinfo.nmake b/plugins/opcua/moduleinfo.nmake
index c4b165ff9d..d4c6d4583c 100644
--- a/plugins/opcua/moduleinfo.nmake
+++ b/plugins/opcua/moduleinfo.nmake
@@ -1,28 +1,28 @@
-#
-# $Id$
-#
-
-# The name
-PACKAGE=opcua
-
-# The version
-MODULE_VERSION_MAJOR=0
-MODULE_VERSION_MINOR=0
-MODULE_VERSION_MICRO=1
-MODULE_VERSION_EXTRA=0
-
-#
-# The RC_VERSION should be comma-separated, not dot-separated,
-# as per Graham Bloice's message in
-#
-# http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html
-#
-# "The RC_VERSION variable in config.nmake should be comma separated.
-# This allows the resources to be built correctly and the version
-# number to be correctly displayed in the explorer properties dialog
-# for the executables, and XP's tooltip, rather than 0.0.0.0."
-#
-
-MODULE_VERSION=$(MODULE_VERSION_MAJOR).$(MODULE_VERSION_MINOR).$(MODULE_VERSION_MICRO).$(MODULE_VERSION_EXTRA)
-RC_MODULE_VERSION=$(MODULE_VERSION_MAJOR),$(MODULE_VERSION_MINOR),$(MODULE_VERSION_MICRO),$(MODULE_VERSION_EXTRA)
-
+#
+# $Id$
+#
+
+# The name
+PACKAGE=opcua
+
+# The version
+MODULE_VERSION_MAJOR=1
+MODULE_VERSION_MINOR=0
+MODULE_VERSION_MICRO=0
+MODULE_VERSION_EXTRA=0
+
+#
+# The RC_VERSION should be comma-separated, not dot-separated,
+# as per Graham Bloice's message in
+#
+# http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html
+#
+# "The RC_VERSION variable in config.nmake should be comma separated.
+# This allows the resources to be built correctly and the version
+# number to be correctly displayed in the explorer properties dialog
+# for the executables, and XP's tooltip, rather than 0.0.0.0."
+#
+
+MODULE_VERSION=$(MODULE_VERSION_MAJOR).$(MODULE_VERSION_MINOR).$(MODULE_VERSION_MICRO).$(MODULE_VERSION_EXTRA)
+RC_MODULE_VERSION=$(MODULE_VERSION_MAJOR),$(MODULE_VERSION_MINOR),$(MODULE_VERSION_MICRO),$(MODULE_VERSION_EXTRA)
+
diff --git a/plugins/opcua/opcua.c b/plugins/opcua/opcua.c
index 0742b5137e..269fe329a5 100644
--- a/plugins/opcua/opcua.c
+++ b/plugins/opcua/opcua.c
@@ -26,6 +26,7 @@
#endif
#include <glib.h>
+#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/dissectors/packet-tcp.h>
#include "opcua_transport_layer.h"
@@ -40,11 +41,14 @@
/* forward reference */
static void dissect_opcua(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static void dissect_opcua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+void proto_reg_handoff_opcua(void);
/* declare parse function pointer */
typedef void (*FctParse)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
static int proto_opcua = -1;
+static dissector_handle_t opcua_handle;
+static range_t *global_tcp_ports_opcua;
/** Official IANA registered port for OPC UA Binary Protocol. */
#define OPCUA_PORT 4840
@@ -58,13 +62,11 @@ enum MessageType
{
MSG_HELLO = 0,
MSG_ACKNOWLEDGE,
- MSG_DISCONNECT,
- MSG_DATA_LAST_CHUNK,
- MSG_DATA,
- MSG_ABORT,
MSG_ERROR,
- MSG_INVALID,
- MSG_UNKNOWN
+ MSG_MESSAGE,
+ MSG_OPENSECURECHANNEL,
+ MSG_CLOSESECURECHANNEL,
+ MSG_INVALID
};
/** OpcUa Transport Message Type Names */
@@ -72,13 +74,11 @@ static char* g_szMessageTypes[] =
{
"Hello message",
"Acknowledge message",
- "Disconnect message",
- "Data message, last chunk in message.",
- "Data message, further chunks must follow.",
- "Abort message",
"Error message",
- "Invalid message",
- "Unknown message"
+ "UA Secure Conversation Message",
+ "OpenSecureChannel message",
+ "CloseSecureChannel message",
+ "Invalid message"
};
@@ -95,11 +95,14 @@ static gint *ett[] =
*/
void proto_register_opcua(void)
{
+ module_t *opcua_module;
+
proto_opcua = proto_register_protocol(
"OpcUa Binary Protocol", /* name */
"OpcUa", /* short name */
"opcua" /* abbrev */
);
+
registerTransportLayerTypes(proto_opcua);
registerSecurityLayerTypes(proto_opcua);
registerApplicationLayerTypes(proto_opcua);
@@ -110,16 +113,15 @@ void proto_register_opcua(void)
registerFieldTypes(proto_opcua);
proto_register_subtree_array(ett, array_length(ett));
-}
-/** Register sub protocol.
- * For TCP port 4840.
- */
-void proto_reg_handoff_opcua(void)
-{
- dissector_handle_t opcua_handle;
- opcua_handle = create_dissector_handle(dissect_opcua, proto_opcua);
- dissector_add("tcp.port", OPCUA_PORT, opcua_handle);
+ range_convert_str(&global_tcp_ports_opcua, ep_strdup_printf("%u", OPCUA_PORT), 65535);
+
+ /* register user preferences */
+ opcua_module = prefs_register_protocol(proto_opcua, proto_reg_handoff_opcua);
+ prefs_register_range_preference(opcua_module, "tcp_ports",
+ "OPC UA TCP Ports",
+ "The TCP ports for the OPC UA TCP Binary Protocol",
+ &global_tcp_ports_opcua, 65535);
}
/** header length that is needed to compute
@@ -168,51 +170,41 @@ static void dissect_opcua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree
}
/* parse message type */
- if (tvb->real_data[0] == 'U' && tvb->real_data[1] == 'A')
+ if (tvb->real_data[0] == 'H' && tvb->real_data[1] == 'E' && tvb->real_data[2] == 'L')
+ {
+ msgtype = MSG_HELLO;
+ pfctParse = parseHello;
+ }
+ else if (tvb->real_data[0] == 'A' && tvb->real_data[1] == 'C' && tvb->real_data[2] == 'K')
+ {
+ msgtype = MSG_ACKNOWLEDGE;
+ pfctParse = parseAcknowledge;
+ }
+ else if (tvb->real_data[0] == 'E' && tvb->real_data[1] == 'R' && tvb->real_data[2] == 'R')
+ {
+ msgtype = MSG_ERROR;
+ pfctParse = parseError;
+ }
+ else if (tvb->real_data[0] == 'M' && tvb->real_data[1] == 'S' && tvb->real_data[2] == 'G')
+ {
+ msgtype = MSG_MESSAGE;
+ pfctParse = parseMessage;
+ }
+ else if (tvb->real_data[0] == 'O' && tvb->real_data[1] == 'P' && tvb->real_data[2] == 'N')
+ {
+ msgtype = MSG_OPENSECURECHANNEL;
+ pfctParse = parseOpenSecureChannel;
+ }
+ else if (tvb->real_data[0] == 'C' && tvb->real_data[1] == 'L' && tvb->real_data[2] == 'O')
{
- if (tvb->real_data[2] == 'T')
- {
- switch(tvb->real_data[3])
- {
- case 'H': msgtype = MSG_HELLO;
- pfctParse = parseHello;
- break;
- case 'A': msgtype = MSG_ACKNOWLEDGE;
- pfctParse = parseAcknowledge;
- break;
- case 'D': msgtype = MSG_DISCONNECT;
- pfctParse = parseDisconnect;
- break;
- default: msgtype = MSG_INVALID;
- break;
- }
- }
- else if (tvb->real_data[2] == 'M')
- {
- switch(tvb->real_data[3])
- {
- case 'G': msgtype = MSG_DATA_LAST_CHUNK;
- pfctParse = parseData;
- break;
- case 'C': msgtype = MSG_DATA;
- pfctParse = parseData;
- break;
- case 'A': msgtype = MSG_ABORT;
- pfctParse = parseAbort;
- break;
- case 'E': msgtype = MSG_ERROR;
- pfctParse = parseError;
- break;
- default: msgtype = MSG_INVALID;
- break;
- }
- }
+ msgtype = MSG_CLOSESECURECHANNEL;
+ pfctParse = parseCloseSecureChannel;
}
else
{
- msgtype = MSG_UNKNOWN;
+ msgtype = MSG_INVALID;
}
-
+
/* Clear out stuff in the info column */
if(check_col(pinfo->cinfo, COL_INFO))
{
@@ -232,10 +224,44 @@ static void dissect_opcua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree
/* call the transport message dissector */
(*pfctParse)(transport_tree, tvb, &offset);
-
}
-}
+}
+
+static void register_tcp_port(guint32 port)
+{
+ if (port != 0)
+ dissector_add("tcp.port", port, opcua_handle);
+}
+
+static void unregister_tcp_port(guint32 port)
+{
+ if (port != 0)
+ dissector_delete("tcp.port", port, opcua_handle);
+}
+
+void proto_reg_handoff_opcua(void)
+{
+ static gboolean opcua_initialized = FALSE;
+ static range_t *tcp_ports_opcua = NULL;
+ if(!opcua_initialized)
+ {
+ opcua_handle = create_dissector_handle(dissect_opcua, proto_opcua);
+ opcua_initialized = TRUE;
+ }
+ else
+ {
+ /* clean up ports and their lists */
+ if (tcp_ports_opcua != NULL)
+ {
+ range_foreach(tcp_ports_opcua, unregister_tcp_port);
+ g_free(tcp_ports_opcua);
+ }
+ }
+ /* If we now have a PDU tree, register for the port or ports we have */
+ tcp_ports_opcua = range_copy(global_tcp_ports_opcua);
+ range_foreach(tcp_ports_opcua, register_tcp_port);
+}
diff --git a/plugins/opcua/opcua_complextypeparser.c b/plugins/opcua/opcua_complextypeparser.c
index 11efbf3cff..9ac6a6f623 100644
--- a/plugins/opcua/opcua_complextypeparser.c
+++ b/plugins/opcua/opcua_complextypeparser.c
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -16,7 +16,7 @@
**
** Description: OpcUa Complex Type Parser
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 01.04.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -32,875 +32,441 @@
#include "opcua_simpletypes.h"
#include "opcua_hfindeces.h"
-
-gint ett_opcua_ReferenceNode = -1;
-void parseReferenceNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_ServerIndex);
- parseExpandedNodeId(subtree, tvb, pOffset, "TargetId");
-}
-
gint ett_opcua_Node = -1;
void parseNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : Node", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_Node);
-
parseNodeId(subtree, tvb, pOffset, "NodeId");
- parseInt32(subtree, tvb, pOffset, hf_opcua_NodeClass);
+ parseNodeClass(subtree, tvb, pOffset);
parseQualifiedName(subtree, tvb, pOffset, "BrowseName");
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
parseLocalizedText(subtree, tvb, pOffset, "Description");
+ 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);
}
-
gint ett_opcua_ObjectNode = -1;
void parseObjectNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ObjectNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectNode);
- /* parse base class members */
- parseNode(subtree, tvb, pOffset, "[Node]");
- /* parse additional members */
parseByte(subtree, tvb, pOffset, hf_opcua_EventNotifier);
}
-
gint ett_opcua_ObjectTypeNode = -1;
void parseObjectTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ObjectTypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectTypeNode);
- /* parse base class members */
- parseNode(subtree, tvb, pOffset, "[Node]");
- /* parse additional members */
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
}
-
gint ett_opcua_VariableNode = -1;
void parseVariableNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : VariableNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_VariableNode);
- /* parse base class members */
- parseNode(subtree, tvb, pOffset, "[Node]");
- /* parse additional members */
parseVariant(subtree, tvb, pOffset, "Value");
parseNodeId(subtree, tvb, pOffset, "DataType");
- parseInt32(subtree, tvb, pOffset, hf_opcua_ArraySize);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
+ /* Array length field ignored: NoOfArrayDimensions */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
parseByte(subtree, tvb, pOffset, hf_opcua_AccessLevel);
parseByte(subtree, tvb, pOffset, hf_opcua_UserAccessLevel);
- parseInt32(subtree, tvb, pOffset, hf_opcua_MinimumSamplingInterval);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_MinimumSamplingInterval);
parseBoolean(subtree, tvb, pOffset, hf_opcua_Historizing);
}
-
gint ett_opcua_VariableTypeNode = -1;
void parseVariableTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : VariableTypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_VariableTypeNode);
- /* parse base class members */
- parseNode(subtree, tvb, pOffset, "[Node]");
- /* parse additional members */
parseVariant(subtree, tvb, pOffset, "Value");
parseNodeId(subtree, tvb, pOffset, "DataType");
- parseInt32(subtree, tvb, pOffset, hf_opcua_ArraySize);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
+ /* Array length field ignored: NoOfArrayDimensions */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
}
-
gint ett_opcua_ReferenceTypeNode = -1;
void parseReferenceTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ReferenceTypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReferenceTypeNode);
- /* parse base class members */
- parseNode(subtree, tvb, pOffset, "[Node]");
- /* parse additional members */
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
parseBoolean(subtree, tvb, pOffset, hf_opcua_Symmetric);
parseLocalizedText(subtree, tvb, pOffset, "InverseName");
}
-
gint ett_opcua_MethodNode = -1;
void parseMethodNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MethodNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MethodNode);
- /* parse base class members */
- parseNode(subtree, tvb, pOffset, "[Node]");
- /* parse additional members */
parseBoolean(subtree, tvb, pOffset, hf_opcua_Executable);
parseBoolean(subtree, tvb, pOffset, hf_opcua_UserExecutable);
}
-
gint ett_opcua_ViewNode = -1;
void parseViewNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ViewNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ViewNode);
- /* parse base class members */
- parseNode(subtree, tvb, pOffset, "[Node]");
- /* parse additional members */
parseBoolean(subtree, tvb, pOffset, hf_opcua_ContainsNoLoops);
parseByte(subtree, tvb, pOffset, hf_opcua_EventNotifier);
}
-
gint ett_opcua_DataTypeNode = -1;
void parseDataTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : DataTypeNode", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DataTypeNode);
- /* parse base class members */
- parseNode(subtree, tvb, pOffset, "[Node]");
- /* parse additional members */
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
}
-
-gint ett_opcua_UriTableEntry = -1;
-void parseUriTableEntry(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : UriTableEntry", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UriTableEntry);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_Index);
- parseString(subtree, tvb, pOffset, hf_opcua_Uri);
-}
-
-gint ett_opcua_NodeSet = -1;
-void parseNodeSet(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_ReferenceNode = -1;
+void parseReferenceNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : NodeSet", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_NodeSet);
-
- parseArrayComplex(subtree, tvb, pOffset, "NamespaceUris", parseUriTableEntry);
- parseArrayComplex(subtree, tvb, pOffset, "ServerUris", parseUriTableEntry);
- parseArrayComplex(subtree, tvb, pOffset, "Nodes", parseExtensionObject);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseExpandedNodeId(subtree, tvb, pOffset, "TargetId");
}
-
gint ett_opcua_Argument = -1;
void parseArgument(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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_ArraySize);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
+ /* Array length field ignored: NoOfArrayDimensions */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
parseLocalizedText(subtree, tvb, pOffset, "Description");
}
-
-gint ett_opcua_Status = -1;
-void parseStatus(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_TimeZoneDataType = -1;
+void parseTimeZoneDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : Status", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_Status);
-
- parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
- parseDiagnosticInfo(subtree, tvb, pOffset, "DiagnosticInfo");
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
-gint ett_opcua_BaseEvent = -1;
-void parseBaseEvent(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_EnumValueInfo = -1;
+void parseEnumValueInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BaseEvent", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BaseEvent);
-
- parseByteString(subtree, tvb, pOffset, hf_opcua_EventId);
- parseNodeId(subtree, tvb, pOffset, "EventType");
- parseNodeId(subtree, tvb, pOffset, "SourceNode");
- parseString(subtree, tvb, pOffset, hf_opcua_SourceName);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_Time);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_ReceiveTime);
- parseLocalizedText(subtree, tvb, pOffset, "Message");
- parseUInt16(subtree, tvb, pOffset, hf_opcua_Severity);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : EnumValueInfo", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EnumValueInfo);
+ parseLocalizedText(subtree, tvb, pOffset, "Name");
+ parseInt32(subtree, tvb, pOffset, hf_opcua_Value);
}
-
-gint ett_opcua_SecurityPolicy = -1;
-void parseSecurityPolicy(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_StatusResult = -1;
+void parseStatusResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : SecurityPolicy", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SecurityPolicy);
-
- parseString(subtree, tvb, pOffset, hf_opcua_Uri);
- parseString(subtree, tvb, pOffset, hf_opcua_Digest);
- parseString(subtree, tvb, pOffset, hf_opcua_SymmetricSignature);
- parseString(subtree, tvb, pOffset, hf_opcua_SymmetricKeyWrap);
- parseString(subtree, tvb, pOffset, hf_opcua_SymmetricEncryption);
- parseInt32(subtree, tvb, pOffset, hf_opcua_SymmetricKeyLength);
- parseString(subtree, tvb, pOffset, hf_opcua_AsymmetricSignature);
- parseString(subtree, tvb, pOffset, hf_opcua_AsymmetricKeyWrap);
- parseString(subtree, tvb, pOffset, hf_opcua_AsymmetricEncryption);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MinimumAsymmetricKeyLength);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MaximumAsymmetricKeyLength);
- parseString(subtree, tvb, pOffset, hf_opcua_DerivedKey);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_DerivedEncryptionKeyLength);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_DerivedSignatureKeyLength);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
}
-
gint ett_opcua_UserTokenPolicy = -1;
void parseUserTokenPolicy(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseString(subtree, tvb, pOffset, hf_opcua_IssuerType);
- parseString(subtree, tvb, pOffset, hf_opcua_IssuerUrl);
+ parseString(subtree, tvb, pOffset, hf_opcua_IssuedTokenType);
+ parseString(subtree, tvb, pOffset, hf_opcua_IssuerEndpointUrl);
+ parseString(subtree, tvb, pOffset, hf_opcua_SecurityPolicyUri);
}
-
-gint ett_opcua_ServerDescription = -1;
-void parseServerDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_ApplicationDescription = -1;
+void parseApplicationDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ServerDescription", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ServerDescription);
-
- parseServerDescriptionType(subtree, tvb, pOffset);
- parseString(subtree, tvb, pOffset, hf_opcua_ServerUri);
- parseLocalizedText(subtree, tvb, pOffset, "ServerName");
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseLocalizedText(subtree, tvb, pOffset, "ApplicationName");
+ parseApplicationType(subtree, tvb, 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);
}
-
gint ett_opcua_EndpointDescription = -1;
void parseEndpointDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : EndpointDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EndpointDescription);
-
- parseServerDescription(subtree, tvb, pOffset, "Server");
parseString(subtree, tvb, pOffset, hf_opcua_EndpointUrl);
+ parseApplicationDescription(subtree, tvb, pOffset, "Server");
parseByteString(subtree, tvb, pOffset, hf_opcua_ServerCertificate);
parseMessageSecurityMode(subtree, tvb, pOffset);
parseString(subtree, tvb, pOffset, hf_opcua_SecurityPolicyUri);
+ /* Array length field ignored: NoOfUserIdentityTokens */
parseArrayComplex(subtree, tvb, pOffset, "UserIdentityTokens", parseUserTokenPolicy);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_SupportedProfiles, parseString);
+ parseString(subtree, tvb, pOffset, hf_opcua_TransportProfileUri);
+ parseByte(subtree, tvb, pOffset, hf_opcua_SecurityLevel);
}
-
-gint ett_opcua_EndpointConfiguration = -1;
-void parseEndpointConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : EndpointConfiguration", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EndpointConfiguration);
-
- parseInt32(subtree, tvb, pOffset, hf_opcua_SendTimeout);
- parseInt32(subtree, tvb, pOffset, hf_opcua_OperationTimeout);
- parseBoolean(subtree, tvb, pOffset, hf_opcua_UseBinaryEncoding);
- parseInt32(subtree, tvb, pOffset, hf_opcua_MaxMessageSize);
- parseInt32(subtree, tvb, pOffset, hf_opcua_MaxArrayLength);
- parseInt32(subtree, tvb, pOffset, hf_opcua_MaxStringLength);
-}
-
gint ett_opcua_UserIdentityToken = -1;
-void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset _U_, char *szFieldName)
+void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : UserIdentityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UserIdentityToken);
- subtree = 0;
+ parseString(subtree, tvb, pOffset, hf_opcua_PolicyId);
}
-
gint ett_opcua_UserNameIdentityToken = -1;
void parseUserNameIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : UserNameIdentityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UserNameIdentityToken);
- /* parse base class members */
- parseUserIdentityToken(subtree, tvb, pOffset, "[UserIdentityToken]");
- /* parse additional members */
parseString(subtree, tvb, pOffset, hf_opcua_UserName);
- parseString(subtree, tvb, pOffset, hf_opcua_Password);
- parseString(subtree, tvb, pOffset, hf_opcua_HashAlgorithm);
+ parseByteString(subtree, tvb, pOffset, hf_opcua_Password);
+ parseString(subtree, tvb, pOffset, hf_opcua_EncryptionAlgorithm);
}
-
gint ett_opcua_X509IdentityToken = -1;
void parseX509IdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : X509IdentityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_X509IdentityToken);
- /* parse base class members */
- parseUserIdentityToken(subtree, tvb, pOffset, "[UserIdentityToken]");
- /* parse additional members */
parseByteString(subtree, tvb, pOffset, hf_opcua_CertificateData);
}
-
-gint ett_opcua_WssIdentityToken = -1;
-void parseWssIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_IssuedIdentityToken = -1;
+void parseIssuedIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : WssIdentityToken", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_WssIdentityToken);
- /* parse base class members */
- parseUserIdentityToken(subtree, tvb, pOffset, "[UserIdentityToken]");
- /* parse additional members */
- parseXmlElement(subtree, tvb, pOffset, hf_opcua_TokenData);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : IssuedIdentityToken", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_IssuedIdentityToken);
+ parseByteString(subtree, tvb, pOffset, hf_opcua_TokenData);
+ parseString(subtree, tvb, pOffset, hf_opcua_EncryptionAlgorithm);
+}
+gint ett_opcua_EndpointConfiguration = -1;
+void parseEndpointConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_MaxStringLength);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_MaxByteStringLength);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_MaxArrayLength);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_MaxMessageSize);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_MaxBufferSize);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_ChannelLifetime);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_SecurityTokenLifetime);
}
-
gint ett_opcua_SupportedProfile = -1;
void parseSupportedProfile(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : SupportedProfile", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SupportedProfile);
-
- parseString(subtree, tvb, pOffset, hf_opcua_ProfileUri);
- parseString(subtree, tvb, pOffset, hf_opcua_ProfileName);
+ parseString(subtree, tvb, pOffset, hf_opcua_OrganizationUri);
+ parseString(subtree, tvb, pOffset, hf_opcua_ProfileId);
+ parseString(subtree, tvb, pOffset, hf_opcua_ComplianceTool);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_ComplianceDate);
parseComplianceLevel(subtree, tvb, pOffset);
+ /* Array length field ignored: NoOfUnsupportedUnitIds */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_UnsupportedUnitIds, parseString);
}
-
gint ett_opcua_BuildInfo = -1;
void parseBuildInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BuildInfo", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BuildInfo);
-
- parseString(subtree, tvb, pOffset, hf_opcua_ApplicationUri);
+ parseString(subtree, tvb, pOffset, hf_opcua_ProductUri);
parseString(subtree, tvb, pOffset, hf_opcua_ManufacturerName);
- parseString(subtree, tvb, pOffset, hf_opcua_ApplicationName);
+ parseString(subtree, tvb, pOffset, hf_opcua_ProductName);
parseString(subtree, tvb, pOffset, hf_opcua_SoftwareVersion);
parseString(subtree, tvb, pOffset, hf_opcua_BuildNumber);
parseDateTime(subtree, tvb, pOffset, hf_opcua_BuildDate);
}
-
gint ett_opcua_SoftwareCertificate = -1;
void parseSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : SoftwareCertificate", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SoftwareCertificate);
-
- parseBuildInfo(subtree, tvb, pOffset, "ServerInfo");
+ parseString(subtree, tvb, pOffset, hf_opcua_ProductName);
+ parseString(subtree, tvb, pOffset, hf_opcua_ProductUri);
+ parseString(subtree, tvb, pOffset, hf_opcua_VendorName);
+ parseByteString(subtree, tvb, pOffset, hf_opcua_VendorProductCertificate);
+ parseString(subtree, tvb, pOffset, hf_opcua_SoftwareVersion);
+ parseString(subtree, tvb, pOffset, hf_opcua_BuildNumber);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_BuildDate);
parseString(subtree, tvb, pOffset, hf_opcua_IssuedBy);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_IssuedDate);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_ExpirationDate);
- parseByteString(subtree, tvb, pOffset, hf_opcua_ApplicationCertificate);
- parseString(subtree, tvb, pOffset, hf_opcua_IssuerCertificateThumbprint);
- parseString(subtree, tvb, pOffset, hf_opcua_IssuerSignatureAlgorithm);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_IssueDate);
+ /* Array length field ignored: NoOfSupportedProfiles */
parseArrayComplex(subtree, tvb, pOffset, "SupportedProfiles", parseSupportedProfile);
}
-
gint ett_opcua_SignedSoftwareCertificate = -1;
void parseSignedSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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_IssuerSignature);
+ parseByteString(subtree, tvb, pOffset, hf_opcua_Signature);
}
-
gint ett_opcua_NodeAttributes = -1;
void parseNodeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
parseLocalizedText(subtree, tvb, pOffset, "Description");
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_WriteMask);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_UserWriteMask);
}
-
gint ett_opcua_ObjectAttributes = -1;
void parseObjectAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ObjectAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectAttributes);
- /* parse base class members */
- parseNodeAttributes(subtree, tvb, pOffset, "[NodeAttributes]");
- /* parse additional members */
parseByte(subtree, tvb, pOffset, hf_opcua_EventNotifier);
}
-
-gint ett_opcua_ObjectTypeAttributes = -1;
-void parseObjectTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ObjectTypeAttributes", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectTypeAttributes);
- /* parse base class members */
- parseNodeAttributes(subtree, tvb, pOffset, "[NodeAttributes]");
- /* parse additional members */
- parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
-}
-
gint ett_opcua_VariableAttributes = -1;
void parseVariableAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : VariableAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_VariableAttributes);
- /* parse base class members */
- parseNodeAttributes(subtree, tvb, pOffset, "[NodeAttributes]");
- /* parse additional members */
parseVariant(subtree, tvb, pOffset, "Value");
parseNodeId(subtree, tvb, pOffset, "DataType");
- parseInt32(subtree, tvb, pOffset, hf_opcua_ArraySize);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
+ /* Array length field ignored: NoOfArrayDimensions */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
parseByte(subtree, tvb, pOffset, hf_opcua_AccessLevel);
parseByte(subtree, tvb, pOffset, hf_opcua_UserAccessLevel);
- parseInt32(subtree, tvb, pOffset, hf_opcua_MinimumSamplingInterval);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_MinimumSamplingInterval);
parseBoolean(subtree, tvb, pOffset, hf_opcua_Historizing);
}
-
+gint ett_opcua_MethodAttributes = -1;
+void parseMethodAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MethodAttributes", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MethodAttributes);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_Executable);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_UserExecutable);
+}
+gint ett_opcua_ObjectTypeAttributes = -1;
+void parseObjectTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ObjectTypeAttributes", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ObjectTypeAttributes);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
+}
gint ett_opcua_VariableTypeAttributes = -1;
void parseVariableTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : VariableTypeAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_VariableTypeAttributes);
- /* parse base class members */
- parseNodeAttributes(subtree, tvb, pOffset, "[NodeAttributes]");
- /* parse additional members */
parseVariant(subtree, tvb, pOffset, "Value");
parseNodeId(subtree, tvb, pOffset, "DataType");
- parseInt32(subtree, tvb, pOffset, hf_opcua_ArraySize);
+ parseInt32(subtree, tvb, pOffset, hf_opcua_ValueRank);
+ /* Array length field ignored: NoOfArrayDimensions */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_ArrayDimensions, parseUInt32);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
}
-
gint ett_opcua_ReferenceTypeAttributes = -1;
void parseReferenceTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ReferenceTypeAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReferenceTypeAttributes);
- /* parse base class members */
- parseNodeAttributes(subtree, tvb, pOffset, "[NodeAttributes]");
- /* parse additional members */
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
parseBoolean(subtree, tvb, pOffset, hf_opcua_Symmetric);
parseLocalizedText(subtree, tvb, pOffset, "InverseName");
}
-
-gint ett_opcua_MethodAttributes = -1;
-void parseMethodAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_DataTypeAttributes = -1;
+void parseDataTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MethodAttributes", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MethodAttributes);
- /* parse base class members */
- parseNodeAttributes(subtree, tvb, pOffset, "[NodeAttributes]");
- /* parse additional members */
- parseBoolean(subtree, tvb, pOffset, hf_opcua_Executable);
- parseBoolean(subtree, tvb, pOffset, hf_opcua_UserExecutable);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : DataTypeAttributes", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DataTypeAttributes);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_IsAbstract);
}
-
gint ett_opcua_ViewAttributes = -1;
void parseViewAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ViewAttributes", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ViewAttributes);
- /* parse base class members */
- parseNodeAttributes(subtree, tvb, pOffset, "[NodeAttributes]");
- /* parse additional members */
parseBoolean(subtree, tvb, pOffset, hf_opcua_ContainsNoLoops);
parseByte(subtree, tvb, pOffset, hf_opcua_EventNotifier);
}
-
gint ett_opcua_AddNodesItem = -1;
void parseAddNodesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
parseExpandedNodeId(subtree, tvb, pOffset, "RequestedNewNodeId");
parseQualifiedName(subtree, tvb, pOffset, "BrowseName");
- parseInt32(subtree, tvb, pOffset, hf_opcua_NodeClass);
+ parseNodeClass(subtree, tvb, pOffset);
parseExtensionObject(subtree, tvb, pOffset, "NodeAttributes");
parseExpandedNodeId(subtree, tvb, pOffset, "TypeDefinition");
}
-
gint ett_opcua_AddReferencesItem = -1;
void parseAddReferencesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsForward);
parseString(subtree, tvb, pOffset, hf_opcua_TargetServerUri);
parseExpandedNodeId(subtree, tvb, pOffset, "TargetNodeId");
- parseInt32(subtree, tvb, pOffset, hf_opcua_TargetNodeClass);
+ parseNodeClass(subtree, tvb, pOffset);
}
-
gint ett_opcua_DeleteNodesItem = -1;
void parseDeleteNodesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
gint ett_opcua_DeleteReferencesItem = -1;
void parseDeleteReferencesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsForward);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_ServerIndex);
parseExpandedNodeId(subtree, tvb, pOffset, "TargetNodeId");
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_DeleteBidirectional);
}
-
-gint ett_opcua_RedundantServerDataType = -1;
-void parseRedundantServerDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : RedundantServerDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RedundantServerDataType);
-
- parseString(subtree, tvb, pOffset, hf_opcua_ServerId);
- parseSByte(subtree, tvb, pOffset, hf_opcua_ServiceLevel);
- parseServerState(subtree, tvb, pOffset);
-}
-
-gint ett_opcua_SamplingRateDiagnosticsDataType = -1;
-void parseSamplingRateDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : SamplingRateDiagnosticsDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SamplingRateDiagnosticsDataType);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SamplingRate);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SamplingErrorCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SampledMonitoredItemsCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxSampledMonitoredItemsCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_DisabledMonitoredItemsSamplingCount);
-}
-
-gint ett_opcua_ServerDiagnosticsSummaryDataType = -1;
-void parseServerDiagnosticsSummaryDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_CumulatedSessionCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SecurityRejectedSessionCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RejectSessionCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionTimeoutCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionAbortCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SamplingRateCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_PublishingRateCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentSubscriptionCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_CumulatedSubscriptionCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SecurityRejectedRequestsCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RejectedRequestsCount);
-}
-
-gint ett_opcua_ServerStatusDataType = -1;
-void parseServerStatusDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseServerState(subtree, tvb, pOffset);
- parseBuildInfo(subtree, tvb, pOffset, "BuildInfo");
-}
-
-gint ett_opcua_ServiceCounterDataType = -1;
-void parseServiceCounterDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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_UnauthorizedCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_ErrorCount);
-}
-
-gint ett_opcua_SessionDiagnosticsDataType = -1;
-void parseSessionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : SessionDiagnosticsDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SessionDiagnosticsDataType);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionId);
- parseString(subtree, tvb, pOffset, hf_opcua_ClientName);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
- parseInt32(subtree, tvb, pOffset, hf_opcua_ActualSessionTimeout);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_ClientConnectionTime);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_ClientLastContactTime);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentSubscriptionsCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentMonitoredItemsCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentPublishRequestsInQueue);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentPublishTimerExpirations);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_KeepAliveCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentRepublishRequestsInQueue);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxRepublishRequestsInQueue);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RepublishCounter);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_PublishingCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_PublishingQueueOverflowCount);
- parseServiceCounterDataType(subtree, tvb, pOffset, "ReadCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "HistoryReadCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "WriteCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "HistoryUpdateCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "CallCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "CreateMonitoredItemsCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "ModifyMonitoredItemsCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "SetMonitoringModeCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "SetTriggeringCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "DeleteMonitoredItemsCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "CreateSubscriptionCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "ModifySubscriptionCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "SetPublishingModeCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "PublishCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "RepublishCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "TransferSubscriptionCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "DeleteSubscriptionsCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "AddNodesCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "AddReferencesCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "DeleteNodesCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "DeleteReferencesCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "BrowseCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "BrowseNextCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "TranslateBrowsePathsToNodeIdsCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "QueryFirstCount");
- parseServiceCounterDataType(subtree, tvb, pOffset, "QueryNextCount");
-}
-
-gint ett_opcua_SessionSecurityDiagnosticsDataType = -1;
-void parseSessionSecurityDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : SessionSecurityDiagnosticsDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SessionSecurityDiagnosticsDataType);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionId);
- parseString(subtree, tvb, pOffset, hf_opcua_ClientUserIdOfSession);
- parseArraySimple(subtree, tvb, pOffset, 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);
- parseString(subtree, tvb, pOffset, hf_opcua_SecurityPolicy);
-}
-
-gint ett_opcua_SubscriptionDiagnosticsDataType = -1;
-void parseSubscriptionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : SubscriptionDiagnosticsDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SubscriptionDiagnosticsDataType);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionId);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
- parseInt32(subtree, tvb, pOffset, hf_opcua_PublishingInterval);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxKeepAliveCount);
- parseByte(subtree, tvb, pOffset, hf_opcua_Priority);
- parseBoolean(subtree, tvb, pOffset, hf_opcua_PublishingEnabled);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_ModifyCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_EnableCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_DisableCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RepublishRequestCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RepublishMessageRequestCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RepublishMessageCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_TransferRequestCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_TransferredToAltClientCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_TransferredToSameClientCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_PublishRequestCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_DataChangeNotificationsCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_EventNotificationsCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_NotificationsCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_LateStateCount);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_KeepAliveStateCount);
-}
-
-gint ett_opcua_Range = -1;
-void parseRange(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
-}
-
-gint ett_opcua_EUInformation = -1;
-void parseEUInformation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
- parseLocalizedText(subtree, tvb, pOffset, "Description");
-}
-
-gint ett_opcua_Annotation = -1;
-void parseAnnotation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseExtensionObject(subtree, tvb, pOffset, "UserIdentity");
- parseDateTime(subtree, tvb, pOffset, hf_opcua_AnnotationTime);
-}
-
-gint ett_opcua_BaseStructureDataType = -1;
-void parseBaseStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BaseStructureDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BaseStructureDataType);
-
- parseInt32(subtree, tvb, pOffset, hf_opcua_Id);
- parseString(subtree, tvb, pOffset, hf_opcua_Name);
-}
-
-gint ett_opcua_DerivedStructureDataType = -1;
-void parseDerivedStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : DerivedStructureDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DerivedStructureDataType);
- /* parse base class members */
- parseBaseStructureDataType(subtree, tvb, pOffset, "[BaseStructureDataType]");
- /* parse additional members */
- parseString(subtree, tvb, pOffset, hf_opcua_Description);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_Timestamp);
-}
-
-gint ett_opcua_ScalarValuesDataType = -1;
-void parseScalarValuesDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ScalarValuesDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ScalarValuesDataType);
-
- parseBoolean(subtree, tvb, pOffset, hf_opcua_Boolean);
- parseSByte(subtree, tvb, pOffset, hf_opcua_SByte);
- parseByte(subtree, tvb, pOffset, hf_opcua_Byte);
- parseInt16(subtree, tvb, pOffset, hf_opcua_Int16);
- parseUInt16(subtree, tvb, pOffset, hf_opcua_UInt16);
- parseInt32(subtree, tvb, pOffset, hf_opcua_Int32);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_UInt32);
- parseInt64(subtree, tvb, pOffset, hf_opcua_Int64);
- parseUInt64(subtree, tvb, pOffset, hf_opcua_UInt64);
- parseFloat(subtree, tvb, pOffset, hf_opcua_Float);
- parseDouble(subtree, tvb, pOffset, hf_opcua_Double);
- parseString(subtree, tvb, pOffset, hf_opcua_String);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_DateTime);
- parseGuid(subtree, tvb, pOffset, hf_opcua_Guid);
- parseByteString(subtree, tvb, pOffset, hf_opcua_ByteString);
- parseXmlElement(subtree, tvb, pOffset, hf_opcua_XmlElement);
- parseNodeId(subtree, tvb, pOffset, "NodeId");
- parseExpandedNodeId(subtree, tvb, pOffset, "ExpandedNodeId");
- parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
- parseDiagnosticInfo(subtree, tvb, pOffset, "DiagnosticInfo");
- parseQualifiedName(subtree, tvb, pOffset, "QualifiedName");
- parseLocalizedText(subtree, tvb, pOffset, "LocalizedText");
- parseExtensionObject(subtree, tvb, pOffset, "ExtensionObject");
- parseDataValue(subtree, tvb, pOffset, "DataValue");
- parseVariant(subtree, tvb, pOffset, "Variant");
- parseBaseStructureDataType(subtree, tvb, pOffset, "Structure");
- parseColorsDataType(subtree, tvb, pOffset);
-}
-
-gint ett_opcua_ArrayValuesDataType = -1;
-void parseArrayValuesDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ArrayValuesDataType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ArrayValuesDataType);
-
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Boolean, parseBoolean);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_SByte, parseSByte);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int16, parseInt16);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt16, parseUInt16);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int32, parseInt32);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt32, parseUInt32);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int64, parseInt64);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt64, parseUInt64);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Float, parseFloat);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Double, parseDouble);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_String, parseString);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_DateTime, parseDateTime);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_Guid, parseGuid);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_ByteString, parseByteString);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_XmlElement, parseXmlElement);
- parseArrayComplex(subtree, tvb, pOffset, "NodeId", parseNodeId);
- parseArrayComplex(subtree, tvb, pOffset, "ExpandedNodeId", parseExpandedNodeId);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_StatusCode, parseStatusCode);
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfo", parseDiagnosticInfo);
- parseArrayComplex(subtree, tvb, pOffset, "QualifiedName", parseQualifiedName);
- parseArrayComplex(subtree, tvb, pOffset, "LocalizedText", parseLocalizedText);
- parseArrayComplex(subtree, tvb, pOffset, "ExtensionObject", parseExtensionObject);
- parseArrayComplex(subtree, tvb, pOffset, "DataValue", parseDataValue);
- parseArrayComplex(subtree, tvb, pOffset, "Variant", parseVariant);
- parseArrayComplex(subtree, tvb, pOffset, "Structure", parseBaseStructureDataType);
- parseArrayEnum(subtree, tvb, pOffset, parseColorsDataType);
-}
-
gint ett_opcua_RequestHeader = -1;
void parseRequestHeader(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : RequestHeader", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RequestHeader);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionId);
+ parseNodeId(subtree, tvb, pOffset, "AuthenticationToken");
parseDateTime(subtree, tvb, pOffset, hf_opcua_Timestamp);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestId);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestHandle);
parseUInt32(subtree, tvb, pOffset, hf_opcua_ReturnDiagnostics);
- parseString(subtree, tvb, pOffset, hf_opcua_AuditLogEntryId);
- parseInt32(subtree, tvb, pOffset, hf_opcua_TimeoutHint);
- parseExtensionObject(subtree, tvb, pOffset, "AdditionalHeaders");
+ parseString(subtree, tvb, pOffset, hf_opcua_AuditEntryId);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_TimeoutHint);
+ parseExtensionObject(subtree, tvb, pOffset, "AdditionalHeader");
}
-
gint ett_opcua_ResponseHeader = -1;
void parseResponseHeader(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ResponseHeader", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ResponseHeader);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionId);
parseDateTime(subtree, tvb, pOffset, hf_opcua_Timestamp);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestId);
+ 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);
- parseExtensionObject(subtree, tvb, pOffset, "AdditionalHeaders");
+ parseExtensionObject(subtree, tvb, pOffset, "AdditionalHeader");
}
-
gint ett_opcua_ServiceFault = -1;
void parseServiceFault(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ServiceFault", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ServiceFault);
-
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
}
-
-gint ett_opcua_ComplexTestType = -1;
-void parseComplexTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ComplexTestType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ComplexTestType);
-
- parseDateTime(subtree, tvb, pOffset, hf_opcua_Value1);
- parseArrayEnum(subtree, tvb, pOffset, parseEnumeratedTestType);
-}
-
-gint ett_opcua_BaseTestType = -1;
-void parseBaseTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BaseTestType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BaseTestType);
-
- parseDateTime(subtree, tvb, pOffset, hf_opcua_Value1);
-}
-
-gint ett_opcua_DerivedTestType = -1;
-void parseDerivedTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : DerivedTestType", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DerivedTestType);
- /* parse base class members */
- parseBaseTestType(subtree, tvb, pOffset, "[BaseTestType]");
- /* parse additional members */
- parseDateTime(subtree, tvb, pOffset, hf_opcua_Value2);
-}
-
gint ett_opcua_ScalarTestType = -1;
void parseScalarTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
parseByte(subtree, tvb, pOffset, hf_opcua_Byte);
@@ -925,700 +491,935 @@ void parseScalarTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *s
parseLocalizedText(subtree, tvb, pOffset, "LocalizedText");
parseExtensionObject(subtree, tvb, pOffset, "ExtensionObject");
parseDataValue(subtree, tvb, pOffset, "DataValue");
- parseVariant(subtree, tvb, pOffset, "Variant");
- parseComplexTestType(subtree, tvb, pOffset, "ComplexValue");
parseEnumeratedTestType(subtree, tvb, pOffset);
}
-
gint ett_opcua_ArrayTestType = -1;
void parseArrayTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ /* Array length field ignored: NoOfSBytes */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_SBytes, parseSByte);
+ /* Array length field ignored: NoOfInt16s */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int16s, parseInt16);
+ /* Array length field ignored: NoOfUInt16s */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt16s, parseUInt16);
+ /* Array length field ignored: NoOfInt32s */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int32s, parseInt32);
+ /* Array length field ignored: NoOfUInt32s */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt32s, parseUInt32);
+ /* Array length field ignored: NoOfInt64s */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Int64s, parseInt64);
+ /* Array length field ignored: NoOfUInt64s */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_UInt64s, parseUInt64);
+ /* Array length field ignored: NoOfFloats */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Floats, parseFloat);
+ /* Array length field ignored: NoOfDoubles */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Doubles, parseDouble);
+ /* Array length field ignored: NoOfStrings */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Strings, parseString);
+ /* Array length field ignored: NoOfDateTimes */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_DateTimes, parseDateTime);
+ /* Array length field ignored: NoOfGuids */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Guids, parseGuid);
+ /* Array length field ignored: NoOfByteStrings */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_ByteStrings, parseByteString);
+ /* Array length field ignored: NoOfXmlElements */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_XmlElements, parseXmlElement);
+ /* Array length field ignored: NoOfNodeIds */
parseArrayComplex(subtree, tvb, pOffset, "NodeIds", parseNodeId);
+ /* Array length field ignored: NoOfExpandedNodeIds */
parseArrayComplex(subtree, tvb, pOffset, "ExpandedNodeIds", parseExpandedNodeId);
+ /* Array length field ignored: NoOfStatusCodes */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_StatusCodes, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ /* Array length field ignored: NoOfQualifiedNames */
parseArrayComplex(subtree, tvb, pOffset, "QualifiedNames", parseQualifiedName);
+ /* Array length field ignored: NoOfLocalizedTexts */
parseArrayComplex(subtree, tvb, pOffset, "LocalizedTexts", parseLocalizedText);
+ /* Array length field ignored: NoOfExtensionObjects */
parseArrayComplex(subtree, tvb, pOffset, "ExtensionObjects", parseExtensionObject);
+ /* Array length field ignored: NoOfDataValues */
parseArrayComplex(subtree, tvb, pOffset, "DataValues", parseDataValue);
+ /* Array length field ignored: NoOfVariants */
parseArrayComplex(subtree, tvb, pOffset, "Variants", parseVariant);
- parseArrayComplex(subtree, tvb, pOffset, "ComplexValues", parseComplexTestType);
+ /* Array length field ignored: NoOfEnumeratedValues */
parseArrayEnum(subtree, tvb, pOffset, parseEnumeratedTestType);
}
-
gint ett_opcua_CompositeTestType = -1;
void parseCompositeTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : CompositeTestType", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CompositeTestType);
-
- parseScalarTestType(subtree, tvb, pOffset, "Input1");
- parseArrayTestType(subtree, tvb, pOffset, "Input2");
+ parseScalarTestType(subtree, tvb, pOffset, "Field1");
+ parseArrayTestType(subtree, tvb, pOffset, "Field2");
}
-
gint ett_opcua_RegisteredServer = -1;
void parseRegisteredServer(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : RegisteredServer", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisteredServer);
-
- parseServerDescriptionType(subtree, tvb, pOffset);
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);
+ parseApplicationType(subtree, tvb, pOffset);
+ parseString(subtree, tvb, pOffset, hf_opcua_GatewayServerUri);
+ /* Array length field ignored: NoOfDiscoveryUrls */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_DiscoveryUrls, parseString);
parseString(subtree, tvb, pOffset, hf_opcua_SemaphoreFilePath);
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsOnline);
}
-
gint ett_opcua_ChannelSecurityToken = -1;
void parseChannelSecurityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ChannelSecurityToken", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ChannelSecurityToken);
-
- parseGuid(subtree, tvb, pOffset, hf_opcua_ChannelId);
- parseString(subtree, tvb, pOffset, hf_opcua_TokenId);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_ChannelId);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_TokenId);
parseDateTime(subtree, tvb, pOffset, hf_opcua_CreatedAt);
- parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetime);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetime);
}
-
gint ett_opcua_SignatureData = -1;
void parseSignatureData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
gint ett_opcua_AddNodesResult = -1;
void parseAddNodesResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
}
-
-gint ett_opcua_BrowsePropertiesPropertyResult = -1;
-void parseBrowsePropertiesPropertyResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_ViewDescription = -1;
+void parseViewDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BrowsePropertiesPropertyResult", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePropertiesPropertyResult);
-
- parseQualifiedName(subtree, tvb, pOffset, "PropertyName");
- parseLocalizedText(subtree, tvb, pOffset, "PropertyDisplayName");
- parseNodeId(subtree, tvb, pOffset, "PropertyNodeId");
- parseStatusCode(subtree, tvb, pOffset, hf_opcua_PropertyStatusCode);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_ViewVersion);
}
-
-gint ett_opcua_BrowsePropertiesResult = -1;
-void parseBrowsePropertiesResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_BrowseDescription = -1;
+void parseBrowseDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BrowsePropertiesResult", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePropertiesResult);
-
- parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
- parseArrayComplex(subtree, tvb, pOffset, "PropertyResults", parseBrowsePropertiesPropertyResult);
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BrowseDescription", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseDescription);
+ parseNodeId(subtree, tvb, pOffset, "NodeId");
+ parseBrowseDirection(subtree, tvb, pOffset);
+ parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_IncludeSubtypes);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_NodeClassMask);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_ResultMask);
}
-
gint ett_opcua_ReferenceDescription = -1;
void parseReferenceDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_ServerIndex);
parseExpandedNodeId(subtree, tvb, pOffset, "NodeId");
parseQualifiedName(subtree, tvb, pOffset, "BrowseName");
parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
- parseInt32(subtree, tvb, pOffset, hf_opcua_NodeClass);
+ parseNodeClass(subtree, tvb, pOffset);
parseExpandedNodeId(subtree, tvb, pOffset, "TypeDefinition");
}
-
-gint ett_opcua_ViewDescription = -1;
-void parseViewDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_BrowseResult = -1;
+void parseBrowseResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseInt32(subtree, tvb, pOffset, hf_opcua_ViewVersion);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+}
+gint ett_opcua_RelativePathElement = -1;
+void parseRelativePathElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_IncludeSubtypes);
+ parseQualifiedName(subtree, tvb, pOffset, "TargetName");
+}
+gint ett_opcua_RelativePath = -1;
+void parseRelativePath(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
gint ett_opcua_BrowsePath = -1;
void parseBrowsePath(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BrowsePath", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePath);
-
parseNodeId(subtree, tvb, pOffset, "StartingNode");
- parseString(subtree, tvb, pOffset, hf_opcua_RelativePath);
+ parseRelativePath(subtree, tvb, pOffset, "RelativePath");
}
-
-gint ett_opcua_TranslateBrowsePathResult = -1;
-void parseTranslateBrowsePathResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_BrowsePathTarget = -1;
+void parseBrowsePathTarget(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : TranslateBrowsePathResult", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TranslateBrowsePathResult);
-
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+}
+gint ett_opcua_BrowsePathResult = -1;
+void parseBrowsePathResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : BrowsePathResult", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePathResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
- parseArrayComplex(subtree, tvb, pOffset, "MatchingNodeIds", parseNodeId);
+ /* Array length field ignored: NoOfTargets */
+ parseArrayComplex(subtree, tvb, pOffset, "Targets", parseBrowsePathTarget);
}
-
-gint ett_opcua_AttributeDescription = -1;
-void parseAttributeDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_QueryDataDescription = -1;
+void parseQueryDataDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : AttributeDescription", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AttributeDescription);
-
- parseString(subtree, tvb, pOffset, hf_opcua_RelativePath);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
parseString(subtree, tvb, pOffset, hf_opcua_IndexRange);
}
-
gint ett_opcua_NodeTypeDescription = -1;
void parseNodeTypeDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : NodeTypeDescription", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_NodeTypeDescription);
-
- parseNodeId(subtree, tvb, pOffset, "TypeDefinitionNode");
+ parseExpandedNodeId(subtree, tvb, pOffset, "TypeDefinitionNode");
parseBoolean(subtree, tvb, pOffset, hf_opcua_IncludeSubTypes);
- parseArrayComplex(subtree, tvb, pOffset, "AttributesToReturn", parseAttributeDescription);
+ /* Array length field ignored: NoOfDataToReturn */
+ parseArrayComplex(subtree, tvb, pOffset, "DataToReturn", parseQueryDataDescription);
}
-
gint ett_opcua_QueryDataSet = -1;
void parseQueryDataSet(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : QueryDataSet", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryDataSet);
-
parseExpandedNodeId(subtree, tvb, pOffset, "NodeId");
- parseNodeId(subtree, tvb, pOffset, "TypeDefinitionNodeId");
+ parseExpandedNodeId(subtree, tvb, pOffset, "TypeDefinitionNode");
+ /* Array length field ignored: NoOfValues */
parseArrayComplex(subtree, tvb, pOffset, "Values", parseVariant);
}
-
gint ett_opcua_NodeReference = -1;
void parseNodeReference(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
gint ett_opcua_ContentFilterElement = -1;
void parseContentFilterElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
gint ett_opcua_ContentFilter = -1;
void parseContentFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
-gint ett_opcua_FilterOperand = -1;
-void parseFilterOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset _U_, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : FilterOperand", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FilterOperand);
- subtree = 0;
-}
-
gint ett_opcua_ElementOperand = -1;
void parseElementOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ElementOperand", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ElementOperand);
- /* parse base class members */
- parseFilterOperand(subtree, tvb, pOffset, "[FilterOperand]");
- /* parse additional members */
parseUInt32(subtree, tvb, pOffset, hf_opcua_Index);
}
-
gint ett_opcua_LiteralOperand = -1;
void parseLiteralOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : LiteralOperand", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_LiteralOperand);
- /* parse base class members */
- parseFilterOperand(subtree, tvb, pOffset, "[FilterOperand]");
- /* parse additional members */
parseVariant(subtree, tvb, pOffset, "Value");
}
-
gint ett_opcua_AttributeOperand = -1;
void parseAttributeOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : AttributeOperand", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AttributeOperand);
- /* parse base class members */
- parseFilterOperand(subtree, tvb, pOffset, "[FilterOperand]");
- /* parse additional members */
parseNodeId(subtree, tvb, pOffset, "NodeId");
parseString(subtree, tvb, pOffset, hf_opcua_Alias);
+ parseRelativePath(subtree, tvb, pOffset, "BrowsePath");
parseUInt32(subtree, tvb, pOffset, hf_opcua_AttributeId);
parseString(subtree, tvb, pOffset, hf_opcua_IndexRange);
}
-
-gint ett_opcua_PropertyOperand = -1;
-void parsePropertyOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : PropertyOperand", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_PropertyOperand);
- /* parse base class members */
- parseFilterOperand(subtree, tvb, pOffset, "[FilterOperand]");
- /* parse additional members */
- parseNodeId(subtree, tvb, pOffset, "NodeId");
- parseString(subtree, tvb, pOffset, hf_opcua_Alias);
- parseQualifiedName(subtree, tvb, pOffset, "Property");
+gint ett_opcua_SimpleAttributeOperand = -1;
+void parseSimpleAttributeOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_AttributeId);
parseString(subtree, tvb, pOffset, hf_opcua_IndexRange);
}
-
+gint ett_opcua_ContentFilterElementResult = -1;
+void parseContentFilterElementResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ /* Array length field ignored: NoOfOperandDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "OperandDiagnosticInfos", parseDiagnosticInfo);
+}
gint ett_opcua_ContentFilterResult = -1;
void parseContentFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ContentFilterResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ContentFilterResult);
-
- parseStatusCode(subtree, tvb, pOffset, hf_opcua_Result);
- parseDiagnosticInfo(subtree, tvb, pOffset, "DiagnosticInfo");
- parseUInt32(subtree, tvb, pOffset, hf_opcua_IndexOfInvalidElement);
+ /* Array length field ignored: NoOfElementResults */
+ parseArrayComplex(subtree, tvb, pOffset, "ElementResults", parseContentFilterElementResult);
+ /* Array length field ignored: NoOfElementDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "ElementDiagnosticInfos", parseDiagnosticInfo);
}
-
-gint ett_opcua_QueryResult = -1;
-void parseQueryResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_ParsingResult = -1;
+void parseParsingResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : QueryResult", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryResult);
-
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : ParsingResult", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ParsingResult);
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_AttributeStatusCodes, parseStatusCode);
- parseArrayComplex(subtree, tvb, pOffset, "AttributeDiagnosticInfos", parseDiagnosticInfo);
+ /* Array length field ignored: NoOfDataStatusCodes */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_DataStatusCodes, parseStatusCode);
+ /* Array length field ignored: NoOfDataDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "DataDiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_ReadValueId = -1;
void parseReadValueId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
parseString(subtree, tvb, pOffset, hf_opcua_IndexRange);
- parseQualifiedName(subtree, tvb, pOffset, "Encoding");
+ parseQualifiedName(subtree, tvb, pOffset, "DataEncoding");
}
-
gint ett_opcua_HistoryReadValueId = -1;
void parseHistoryReadValueId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : HistoryReadValueId", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryReadValueId);
-
parseNodeId(subtree, tvb, pOffset, "NodeId");
- parseQualifiedName(subtree, tvb, pOffset, "Encoding");
+ parseString(subtree, tvb, pOffset, hf_opcua_IndexRange);
+ parseQualifiedName(subtree, tvb, pOffset, "DataEncoding");
parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
}
-
gint ett_opcua_HistoryReadResult = -1;
void parseHistoryReadResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
parseExtensionObject(subtree, tvb, pOffset, "HistoryData");
}
-
-gint ett_opcua_MonitoringFilter = -1;
-void parseMonitoringFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset _U_, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoringFilter", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoringFilter);
- subtree = 0;
-}
-
-gint ett_opcua_EventFilter = -1;
-void parseEventFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : EventFilter", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EventFilter);
- /* parse base class members */
- parseMonitoringFilter(subtree, tvb, pOffset, "[MonitoringFilter]");
- /* parse additional members */
- parseArrayComplex(subtree, tvb, pOffset, "SelectClauses", parseNodeId);
- parseContentFilter(subtree, tvb, pOffset, "WhereClause");
-}
-
gint ett_opcua_ReadEventDetails = -1;
void parseReadEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
parseDateTime(subtree, tvb, pOffset, hf_opcua_EndTime);
parseEventFilter(subtree, tvb, pOffset, "Filter");
}
-
gint ett_opcua_ReadRawModifiedDetails = -1;
void parseReadRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
parseDateTime(subtree, tvb, pOffset, hf_opcua_EndTime);
parseUInt32(subtree, tvb, pOffset, hf_opcua_NumValuesPerNode);
parseBoolean(subtree, tvb, pOffset, hf_opcua_ReturnBounds);
}
-
gint ett_opcua_ReadProcessedDetails = -1;
void parseReadProcessedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseInt32(subtree, tvb, pOffset, hf_opcua_ResampleInterval);
- parseNodeId(subtree, tvb, pOffset, "AggregateType");
+ parseDouble(subtree, tvb, pOffset, hf_opcua_ResampleInterval);
+ /* Array length field ignored: NoOfAggregateType */
+ parseArrayComplex(subtree, tvb, pOffset, "AggregateType", parseNodeId);
+ parseAggregateConfiguration(subtree, tvb, pOffset, "AggregateConfiguration");
}
-
gint ett_opcua_ReadAtTimeDetails = -1;
void parseReadAtTimeDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
gint ett_opcua_HistoryData = -1;
void parseHistoryData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
-gint ett_opcua_EventFieldList = -1;
-void parseEventFieldList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : EventFieldList", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EventFieldList);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_ClientHandle);
- parseArrayComplex(subtree, tvb, pOffset, "EventFields", parseVariant);
-}
-
-gint ett_opcua_EventNotification = -1;
-void parseEventNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : EventNotification", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EventNotification);
-
- parseArrayComplex(subtree, tvb, pOffset, "Events", parseEventFieldList);
-}
-
gint ett_opcua_HistoryEvent = -1;
void parseHistoryEvent(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : HistoryEvent", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryEvent);
-
- parseArrayComplex(subtree, tvb, pOffset, "Notifications", parseEventNotification);
+ /* Array length field ignored: NoOfEvents */
+ parseArrayComplex(subtree, tvb, pOffset, "Events", parseHistoryEventFieldList);
}
-
gint ett_opcua_WriteValue = -1;
void parseWriteValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
parseString(subtree, tvb, pOffset, hf_opcua_IndexRange);
parseDataValue(subtree, tvb, pOffset, "Value");
}
-
-gint ett_opcua_InsertReplaceDetails = -1;
-void parseInsertReplaceDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_HistoryUpdateDetails = -1;
+void parseHistoryUpdateDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : InsertReplaceDetails", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_InsertReplaceDetails);
-
- parseBoolean(subtree, tvb, pOffset, hf_opcua_PerformInsert);
- parseBoolean(subtree, tvb, pOffset, hf_opcua_PerformReplace);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : HistoryUpdateDetails", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateDetails);
parseNodeId(subtree, tvb, pOffset, "NodeId");
+}
+gint ett_opcua_UpdateDataDetails = -1;
+void parseUpdateDataDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : UpdateDataDetails", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UpdateDataDetails);
+ parseHistoryUpdateMode(subtree, tvb, pOffset);
parseHistoryData(subtree, tvb, pOffset, "UpdateValue");
}
-
-gint ett_opcua_InsertEventDetails = -1;
-void parseInsertEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_InsertReplaceEventDetails = -1;
+void parseInsertReplaceEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : InsertEventDetails", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_InsertEventDetails);
-
- parseHistoryEvent(subtree, tvb, pOffset, "HistoryEvent");
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : InsertReplaceEventDetails", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_InsertReplaceEventDetails);
+ parseHistoryUpdateMode(subtree, tvb, pOffset);
+ /* Array length field ignored: NoOfSelectClause */
+ parseArrayComplex(subtree, tvb, pOffset, "SelectClause", parseSimpleAttributeOperand);
+ /* Array length field ignored: NoOfEventData */
+ parseArrayComplex(subtree, tvb, pOffset, "EventData", parseHistoryEventFieldList);
+}
+gint ett_opcua_UpdateEventDetails = -1;
+void parseUpdateEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : UpdateEventDetails", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UpdateEventDetails);
+ parseHistoryUpdateMode(subtree, tvb, pOffset);
+ parseEventFilter(subtree, tvb, pOffset, "Filter");
+ parseHistoryEventFieldList(subtree, tvb, pOffset, "EventData");
}
-
gint ett_opcua_DeleteRawModifiedDetails = -1;
void parseDeleteRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : DeleteRawModifiedDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteRawModifiedDetails);
-
parseBoolean(subtree, tvb, pOffset, hf_opcua_IsDeleteModified);
- parseNodeId(subtree, tvb, pOffset, "NodeId");
parseDateTime(subtree, tvb, pOffset, hf_opcua_StartTime);
parseDateTime(subtree, tvb, pOffset, hf_opcua_EndTime);
}
-
gint ett_opcua_DeleteAtTimeDetails = -1;
void parseDeleteAtTimeDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
gint ett_opcua_DeleteEventDetails = -1;
void parseDeleteEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : DeleteEventDetails", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteEventDetails);
-
- parseEventFilter(subtree, tvb, pOffset, "EventFilter");
- parseDateTime(subtree, tvb, pOffset, hf_opcua_StartTime);
- parseDateTime(subtree, tvb, pOffset, hf_opcua_EndTime);
+ parseByteString(subtree, tvb, pOffset, hf_opcua_EventIds);
}
-
gint ett_opcua_HistoryUpdateResult = -1;
void parseHistoryUpdateResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : HistoryUpdateResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateResult);
-
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_OperationResult, parseStatusCode);
+ /* Array length field ignored: NoOfOperationResults */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_OperationResults, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
-gint ett_opcua_CallRequestItem = -1;
-void parseCallRequestItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_HistoryUpdateEventResult = -1;
+void parseHistoryUpdateEventResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : CallRequestItem", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallRequestItem);
-
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : HistoryUpdateEventResult", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateEventResult);
+ parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
+ parseEventFilterResult(subtree, tvb, pOffset, "EventFilterResult");
+}
+gint ett_opcua_CallMethodRequest = -1;
+void parseCallMethodRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
-gint ett_opcua_CallResultItem = -1;
-void parseCallResultItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_CallMethodResult = -1;
+void parseCallMethodResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : CallResultItem", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallResultItem);
-
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ /* Array length field ignored: NoOfInputArgumentDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "InputArgumentDiagnosticInfos", parseDiagnosticInfo);
+ /* Array length field ignored: NoOfOutputArguments */
parseArrayComplex(subtree, tvb, pOffset, "OutputArguments", parseVariant);
}
-
gint ett_opcua_DataChangeFilter = -1;
void parseDataChangeFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : DataChangeFilter", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DataChangeFilter);
- /* parse base class members */
- parseMonitoringFilter(subtree, tvb, pOffset, "[MonitoringFilter]");
- /* parse additional members */
parseDataChangeTrigger(subtree, tvb, pOffset);
parseUInt32(subtree, tvb, pOffset, hf_opcua_DeadbandType);
parseDouble(subtree, tvb, pOffset, hf_opcua_DeadbandValue);
}
-
-gint ett_opcua_MonitoringFilterResult = -1;
-void parseMonitoringFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset _U_, char *szFieldName)
+gint ett_opcua_EventFilter = -1;
+void parseEventFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoringFilterResult", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoringFilterResult);
- subtree = 0;
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseContentFilter(subtree, tvb, pOffset, "WhereClause");
+}
+gint ett_opcua_AggregateConfiguration = -1;
+void parseAggregateConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : AggregateConfiguration", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AggregateConfiguration);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_UseSeverCapabilitiesDefaults);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_TreatUncertainAsBad);
+ parseByte(subtree, tvb, pOffset, hf_opcua_PercentDataBad);
+ parseByte(subtree, tvb, pOffset, hf_opcua_PercentDataGood);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_SteppedSlopedExtrapolation);
+}
+gint ett_opcua_AggregateFilter = -1;
+void parseAggregateFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
+ parseDouble(subtree, tvb, pOffset, hf_opcua_ProcessingInterval);
+ parseAggregateConfiguration(subtree, tvb, pOffset, "AggregateConfiguration");
}
-
gint ett_opcua_EventFilterResult = -1;
void parseEventFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : EventFilterResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_EventFilterResult);
- /* parse base class members */
- parseMonitoringFilterResult(subtree, tvb, pOffset, "[MonitoringFilterResult]");
- /* parse additional members */
+ /* Array length field ignored: NoOfSelectClauseResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_SelectClauseResults, parseStatusCode);
+ /* Array length field ignored: NoOfSelectClauseDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "SelectClauseDiagnosticInfos", parseDiagnosticInfo);
parseContentFilterResult(subtree, tvb, pOffset, "WhereClauseResult");
}
-
-gint ett_opcua_MonitoringAttributes = -1;
-void parseMonitoringAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_AggregateFilterResult = -1;
+void parseAggregateFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoringAttributes", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoringAttributes);
-
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseAggregateConfiguration(subtree, tvb, pOffset, "RevisedAggregateConfiguration");
+}
+gint ett_opcua_MonitoringParameters = -1;
+void parseMonitoringParameters(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoringParameters", szFieldName);
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoringParameters);
parseUInt32(subtree, tvb, pOffset, hf_opcua_ClientHandle);
- parseInt32(subtree, tvb, pOffset, hf_opcua_SamplingInterval);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_SamplingInterval);
parseExtensionObject(subtree, tvb, pOffset, "Filter");
parseUInt32(subtree, tvb, pOffset, hf_opcua_QueueSize);
parseBoolean(subtree, tvb, pOffset, hf_opcua_DiscardOldest);
}
-
gint ett_opcua_MonitoredItemCreateRequest = -1;
void parseMonitoredItemCreateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoredItemCreateRequest", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoredItemCreateRequest);
-
parseReadValueId(subtree, tvb, pOffset, "ItemToMonitor");
parseMonitoringMode(subtree, tvb, pOffset);
- parseMonitoringAttributes(subtree, tvb, pOffset, "RequestedAttributes");
+ parseMonitoringParameters(subtree, tvb, pOffset, "RequestedParameters");
}
-
gint ett_opcua_MonitoredItemCreateResult = -1;
void parseMonitoredItemCreateResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
- parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedSamplingInterval);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedSamplingInterval);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedQueueSize);
parseExtensionObject(subtree, tvb, pOffset, "FilterResult");
}
-
gint ett_opcua_MonitoredItemModifyRequest = -1;
void parseMonitoredItemModifyRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoredItemModifyRequest", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoredItemModifyRequest);
-
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MonitorItemId);
- parseMonitoringAttributes(subtree, tvb, pOffset, "RequestedAttributes");
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MonitoredItemId);
+ parseMonitoringParameters(subtree, tvb, pOffset, "RequestedParameters");
}
-
gint ett_opcua_MonitoredItemModifyResult = -1;
void parseMonitoredItemModifyResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoredItemModifyResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoredItemModifyResult);
-
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
- parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedSamplingInterval);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedSamplingInterval);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedQueueSize);
parseExtensionObject(subtree, tvb, pOffset, "FilterResult");
}
-
-gint ett_opcua_SubscriptionAcknowledgement = -1;
-void parseSubscriptionAcknowledgement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
-}
-
gint ett_opcua_NotificationMessage = -1;
void parseNotificationMessage(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
+gint ett_opcua_DataChangeNotification = -1;
+void parseDataChangeNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ /* Array length field ignored: NoOfDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+}
gint ett_opcua_MonitoredItemNotification = -1;
void parseMonitoredItemNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
}
-
-gint ett_opcua_DataChangeNotification = -1;
-void parseDataChangeNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+gint ett_opcua_EventNotificationList = -1;
+void parseEventNotificationList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : DataChangeNotification", szFieldName);
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DataChangeNotification);
-
- parseArrayComplex(subtree, tvb, pOffset, "MonitoredItems", parseMonitoredItemNotification);
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+}
+gint ett_opcua_EventFieldList = -1;
+void parseEventFieldList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+}
+gint ett_opcua_HistoryEventFieldList = -1;
+void parseHistoryEventFieldList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+}
+gint ett_opcua_StatusChangeNotification = -1;
+void parseStatusChangeNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
+}
+gint ett_opcua_SubscriptionAcknowledgement = -1;
+void parseSubscriptionAcknowledgement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
}
-
gint ett_opcua_TransferResult = -1;
void parseTransferResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
{
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : TransferResult", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TransferResult);
-
parseStatusCode(subtree, tvb, pOffset, hf_opcua_StatusCode);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_AvailableSequenceNumbersRanges, parseString);
+ /* Array length field ignored: NoOfAvailableSequenceNumbers */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_AvailableSequenceNumbers, parseUInt32);
+}
+gint ett_opcua_RedundantServerDataType = -1;
+void parseRedundantServerDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseServerState(subtree, tvb, pOffset);
+}
+gint ett_opcua_SamplingIntervalDiagnosticsDataType = -1;
+void parseSamplingIntervalDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxMonitoredItemCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_DisabledMonitoredItemCount);
+}
+gint ett_opcua_ServerDiagnosticsSummaryDataType = -1;
+void parseServerDiagnosticsSummaryDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CumulatedSessionCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_SecurityRejectedSessionCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RejectedSessionCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionTimeoutCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionAbortCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentSubscriptionCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CumulatedSubscriptionCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_PublishingIntervalCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_SecurityRejectedRequestsCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RejectedRequestsCount);
+}
+gint ett_opcua_ServerStatusDataType = -1;
+void parseServerStatusDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseServerState(subtree, tvb, pOffset);
+ parseBuildInfo(subtree, tvb, pOffset, "BuildInfo");
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_SecondsTillShutdown);
+ parseLocalizedText(subtree, tvb, pOffset, "ShutdownReason");
+}
+gint ett_opcua_SessionDiagnosticsDataType = -1;
+void parseSessionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseApplicationDescription(subtree, tvb, pOffset, "ClientDescription");
+ 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);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_ActualSessionTimeout);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxResponseMessageSize);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_ClientConnectionTime);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_ClientLastContactTime);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentSubscriptionsCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentMonitoredItemsCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentPublishRequestsInQueue);
+ parseServiceCounterDataType(subtree, tvb, pOffset, "TotalRequestCount");
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_UnauthorizedRequestCount);
+ parseServiceCounterDataType(subtree, tvb, pOffset, "ReadCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "HistoryReadCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "WriteCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "HistoryUpdateCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "CallCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "CreateMonitoredItemsCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "ModifyMonitoredItemsCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "SetMonitoringModeCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "SetTriggeringCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "DeleteMonitoredItemsCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "CreateSubscriptionCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "ModifySubscriptionCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "SetPublishingModeCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "PublishCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "RepublishCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "TransferSubscriptionsCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "DeleteSubscriptionsCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "AddNodesCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "AddReferencesCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "DeleteNodesCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "DeleteReferencesCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "BrowseCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "BrowseNextCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "TranslateBrowsePathsToNodeIdsCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "QueryFirstCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "QueryNextCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "RegisterNodesCount");
+ parseServiceCounterDataType(subtree, tvb, pOffset, "UnregisterNodesCount");
+}
+gint ett_opcua_SessionSecurityDiagnosticsDataType = -1;
+void parseSessionSecurityDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseString(subtree, tvb, pOffset, hf_opcua_AuthenticationMechanism);
+ parseString(subtree, tvb, pOffset, hf_opcua_Encoding);
+ parseString(subtree, tvb, pOffset, hf_opcua_TransportProtocol);
+ parseMessageSecurityMode(subtree, tvb, pOffset);
+ parseString(subtree, tvb, pOffset, hf_opcua_SecurityPolicyUri);
+ parseByteString(subtree, tvb, pOffset, hf_opcua_ClientCertificate);
+}
+gint ett_opcua_ServiceCounterDataType = -1;
+void parseServiceCounterDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+}
+gint ett_opcua_SubscriptionDiagnosticsDataType = -1;
+void parseSubscriptionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseByte(subtree, tvb, pOffset, hf_opcua_Priority);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_PublishingInterval);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxKeepAliveCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxLifetimeCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxNotificationsPerPublish);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_PublishingEnabled);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_ModifyCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_EnableCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_DisableCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RepublishRequestCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RepublishMessageRequestCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RepublishMessageCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_TransferRequestCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_TransferredToAltClientCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_TransferredToSameClientCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_PublishRequestCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_DataChangeNotificationsCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_EventNotificationsCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_NotificationsCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_LatePublishRequestCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentKeepAliveCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CurrentLifetimeCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_UnacknowledgedMessageCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_DiscardedMessageCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MonitoredItemCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_DisabledMonitoredItemCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MonitoringQueueOverflowCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_NextSequenceNumber);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_EventQueueOverFlowCount);
+}
+gint ett_opcua_ModelChangeStructureDataType = -1;
+void parseModelChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
+ parseByte(subtree, tvb, pOffset, hf_opcua_Verb);
+}
+gint ett_opcua_SemanticChangeStructureDataType = -1;
+void parseSemanticChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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");
+}
+gint ett_opcua_Range = -1;
+void parseRange(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+}
+gint ett_opcua_EUInformation = -1;
+void parseEUInformation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseLocalizedText(subtree, tvb, pOffset, "DisplayName");
+ parseLocalizedText(subtree, tvb, pOffset, "Description");
+}
+gint ett_opcua_Annotation = -1;
+void parseAnnotation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_AnnotationTime);
+}
+gint ett_opcua_ProgramDiagnosticDataType = -1;
+void parseProgramDiagnosticDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -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);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_InvocationCreationTime);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_LastTransitionTime);
+ parseString(subtree, tvb, pOffset, hf_opcua_LastMethodCall);
+ parseNodeId(subtree, tvb, pOffset, "LastMethodSessionId");
+ /* Array length field ignored: NoOfLastMethodInputArguments */
+ parseArrayComplex(subtree, tvb, pOffset, "LastMethodInputArguments", parseArgument);
+ /* Array length field ignored: NoOfLastMethodOutputArguments */
+ parseArrayComplex(subtree, tvb, pOffset, "LastMethodOutputArguments", parseArgument);
+ parseDateTime(subtree, tvb, pOffset, hf_opcua_LastMethodCallTime);
+ parseStatusResult(subtree, tvb, pOffset, "LastMethodReturnStatus");
}
/** Setup protocol subtree array */
static gint *ett[] =
{
- &ett_opcua_ReferenceNode,
&ett_opcua_Node,
&ett_opcua_ObjectNode,
&ett_opcua_ObjectTypeNode,
@@ -1628,57 +1429,39 @@ static gint *ett[] =
&ett_opcua_MethodNode,
&ett_opcua_ViewNode,
&ett_opcua_DataTypeNode,
- &ett_opcua_UriTableEntry,
- &ett_opcua_NodeSet,
+ &ett_opcua_ReferenceNode,
&ett_opcua_Argument,
- &ett_opcua_Status,
- &ett_opcua_BaseEvent,
- &ett_opcua_SecurityPolicy,
+ &ett_opcua_TimeZoneDataType,
+ &ett_opcua_EnumValueInfo,
+ &ett_opcua_StatusResult,
&ett_opcua_UserTokenPolicy,
- &ett_opcua_ServerDescription,
+ &ett_opcua_ApplicationDescription,
&ett_opcua_EndpointDescription,
- &ett_opcua_EndpointConfiguration,
&ett_opcua_UserIdentityToken,
&ett_opcua_UserNameIdentityToken,
&ett_opcua_X509IdentityToken,
- &ett_opcua_WssIdentityToken,
+ &ett_opcua_IssuedIdentityToken,
+ &ett_opcua_EndpointConfiguration,
&ett_opcua_SupportedProfile,
&ett_opcua_BuildInfo,
&ett_opcua_SoftwareCertificate,
&ett_opcua_SignedSoftwareCertificate,
&ett_opcua_NodeAttributes,
&ett_opcua_ObjectAttributes,
- &ett_opcua_ObjectTypeAttributes,
&ett_opcua_VariableAttributes,
+ &ett_opcua_MethodAttributes,
+ &ett_opcua_ObjectTypeAttributes,
&ett_opcua_VariableTypeAttributes,
&ett_opcua_ReferenceTypeAttributes,
- &ett_opcua_MethodAttributes,
+ &ett_opcua_DataTypeAttributes,
&ett_opcua_ViewAttributes,
&ett_opcua_AddNodesItem,
&ett_opcua_AddReferencesItem,
&ett_opcua_DeleteNodesItem,
&ett_opcua_DeleteReferencesItem,
- &ett_opcua_RedundantServerDataType,
- &ett_opcua_SamplingRateDiagnosticsDataType,
- &ett_opcua_ServerDiagnosticsSummaryDataType,
- &ett_opcua_ServerStatusDataType,
- &ett_opcua_ServiceCounterDataType,
- &ett_opcua_SessionDiagnosticsDataType,
- &ett_opcua_SessionSecurityDiagnosticsDataType,
- &ett_opcua_SubscriptionDiagnosticsDataType,
- &ett_opcua_Range,
- &ett_opcua_EUInformation,
- &ett_opcua_Annotation,
- &ett_opcua_BaseStructureDataType,
- &ett_opcua_DerivedStructureDataType,
- &ett_opcua_ScalarValuesDataType,
- &ett_opcua_ArrayValuesDataType,
&ett_opcua_RequestHeader,
&ett_opcua_ResponseHeader,
&ett_opcua_ServiceFault,
- &ett_opcua_ComplexTestType,
- &ett_opcua_BaseTestType,
- &ett_opcua_DerivedTestType,
&ett_opcua_ScalarTestType,
&ett_opcua_ArrayTestType,
&ett_opcua_CompositeTestType,
@@ -1686,60 +1469,83 @@ static gint *ett[] =
&ett_opcua_ChannelSecurityToken,
&ett_opcua_SignatureData,
&ett_opcua_AddNodesResult,
- &ett_opcua_BrowsePropertiesPropertyResult,
- &ett_opcua_BrowsePropertiesResult,
- &ett_opcua_ReferenceDescription,
&ett_opcua_ViewDescription,
+ &ett_opcua_BrowseDescription,
+ &ett_opcua_ReferenceDescription,
+ &ett_opcua_BrowseResult,
+ &ett_opcua_RelativePathElement,
+ &ett_opcua_RelativePath,
&ett_opcua_BrowsePath,
- &ett_opcua_TranslateBrowsePathResult,
- &ett_opcua_AttributeDescription,
+ &ett_opcua_BrowsePathTarget,
+ &ett_opcua_BrowsePathResult,
+ &ett_opcua_QueryDataDescription,
&ett_opcua_NodeTypeDescription,
&ett_opcua_QueryDataSet,
&ett_opcua_NodeReference,
&ett_opcua_ContentFilterElement,
&ett_opcua_ContentFilter,
- &ett_opcua_FilterOperand,
&ett_opcua_ElementOperand,
&ett_opcua_LiteralOperand,
&ett_opcua_AttributeOperand,
- &ett_opcua_PropertyOperand,
+ &ett_opcua_SimpleAttributeOperand,
+ &ett_opcua_ContentFilterElementResult,
&ett_opcua_ContentFilterResult,
- &ett_opcua_QueryResult,
+ &ett_opcua_ParsingResult,
&ett_opcua_ReadValueId,
&ett_opcua_HistoryReadValueId,
&ett_opcua_HistoryReadResult,
- &ett_opcua_MonitoringFilter,
- &ett_opcua_EventFilter,
&ett_opcua_ReadEventDetails,
&ett_opcua_ReadRawModifiedDetails,
&ett_opcua_ReadProcessedDetails,
&ett_opcua_ReadAtTimeDetails,
&ett_opcua_HistoryData,
- &ett_opcua_EventFieldList,
- &ett_opcua_EventNotification,
&ett_opcua_HistoryEvent,
&ett_opcua_WriteValue,
- &ett_opcua_InsertReplaceDetails,
- &ett_opcua_InsertEventDetails,
+ &ett_opcua_HistoryUpdateDetails,
+ &ett_opcua_UpdateDataDetails,
+ &ett_opcua_InsertReplaceEventDetails,
+ &ett_opcua_UpdateEventDetails,
&ett_opcua_DeleteRawModifiedDetails,
&ett_opcua_DeleteAtTimeDetails,
&ett_opcua_DeleteEventDetails,
&ett_opcua_HistoryUpdateResult,
- &ett_opcua_CallRequestItem,
- &ett_opcua_CallResultItem,
+ &ett_opcua_HistoryUpdateEventResult,
+ &ett_opcua_CallMethodRequest,
+ &ett_opcua_CallMethodResult,
&ett_opcua_DataChangeFilter,
- &ett_opcua_MonitoringFilterResult,
+ &ett_opcua_EventFilter,
+ &ett_opcua_AggregateConfiguration,
+ &ett_opcua_AggregateFilter,
&ett_opcua_EventFilterResult,
- &ett_opcua_MonitoringAttributes,
+ &ett_opcua_AggregateFilterResult,
+ &ett_opcua_MonitoringParameters,
&ett_opcua_MonitoredItemCreateRequest,
&ett_opcua_MonitoredItemCreateResult,
&ett_opcua_MonitoredItemModifyRequest,
&ett_opcua_MonitoredItemModifyResult,
- &ett_opcua_SubscriptionAcknowledgement,
&ett_opcua_NotificationMessage,
- &ett_opcua_MonitoredItemNotification,
&ett_opcua_DataChangeNotification,
+ &ett_opcua_MonitoredItemNotification,
+ &ett_opcua_EventNotificationList,
+ &ett_opcua_EventFieldList,
+ &ett_opcua_HistoryEventFieldList,
+ &ett_opcua_StatusChangeNotification,
+ &ett_opcua_SubscriptionAcknowledgement,
&ett_opcua_TransferResult,
+ &ett_opcua_RedundantServerDataType,
+ &ett_opcua_SamplingIntervalDiagnosticsDataType,
+ &ett_opcua_ServerDiagnosticsSummaryDataType,
+ &ett_opcua_ServerStatusDataType,
+ &ett_opcua_SessionDiagnosticsDataType,
+ &ett_opcua_SessionSecurityDiagnosticsDataType,
+ &ett_opcua_ServiceCounterDataType,
+ &ett_opcua_SubscriptionDiagnosticsDataType,
+ &ett_opcua_ModelChangeStructureDataType,
+ &ett_opcua_SemanticChangeStructureDataType,
+ &ett_opcua_Range,
+ &ett_opcua_EUInformation,
+ &ett_opcua_Annotation,
+ &ett_opcua_ProgramDiagnosticDataType,
};
void registerComplexTypes(void)
@@ -1747,4 +1553,3 @@ void registerComplexTypes(void)
proto_register_subtree_array(ett, array_length(ett));
}
-
diff --git a/plugins/opcua/opcua_complextypeparser.h b/plugins/opcua/opcua_complextypeparser.h
index ad05992caa..e9208cc881 100644
--- a/plugins/opcua/opcua_complextypeparser.h
+++ b/plugins/opcua/opcua_complextypeparser.h
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -16,7 +16,7 @@
**
** Description: OpcUa Complex Type Parser
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 31.03.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -28,7 +28,7 @@
#include <glib.h>
#include <epan/packet.h>
-void parseReferenceNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+
void parseNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseObjectNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseObjectTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
@@ -38,57 +38,39 @@ void parseReferenceTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char
void parseMethodNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseViewNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseDataTypeNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseUriTableEntry(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseNodeSet(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseReferenceNode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseArgument(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseStatus(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseBaseEvent(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseSecurityPolicy(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseTimeZoneDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseEnumValueInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseStatusResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseUserTokenPolicy(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseServerDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseApplicationDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseEndpointDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseEndpointConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseUserNameIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseX509IdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseWssIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseIssuedIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseEndpointConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseSupportedProfile(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseBuildInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseSignedSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseNodeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseObjectAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseObjectTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseVariableAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseMethodAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseObjectTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseVariableTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseReferenceTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseMethodAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseDataTypeAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseViewAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseAddNodesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseAddReferencesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseDeleteNodesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseDeleteReferencesItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseRedundantServerDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseSamplingRateDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseServerDiagnosticsSummaryDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseServerStatusDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseServiceCounterDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseSessionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseSessionSecurityDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseSubscriptionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseRange(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseEUInformation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseAnnotation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseBaseStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseDerivedStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseScalarValuesDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseArrayValuesDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseRequestHeader(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseResponseHeader(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseServiceFault(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseComplexTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseBaseTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseDerivedTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseScalarTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseArrayTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseCompositeTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
@@ -96,58 +78,82 @@ void parseRegisteredServer(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char
void parseChannelSecurityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseSignatureData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseAddNodesResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseBrowsePropertiesPropertyResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseBrowsePropertiesResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseReferenceDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseViewDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseBrowseDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseReferenceDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseBrowseResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseRelativePathElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseRelativePath(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseBrowsePath(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseTranslateBrowsePathResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseAttributeDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseBrowsePathTarget(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseBrowsePathResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseQueryDataDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseNodeTypeDescription(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseQueryDataSet(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseNodeReference(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseContentFilterElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseContentFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseFilterOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseElementOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseLiteralOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseAttributeOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parsePropertyOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseSimpleAttributeOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseContentFilterElementResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseContentFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseQueryResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseParsingResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseReadValueId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseHistoryReadValueId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseHistoryReadResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseMonitoringFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseEventFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseReadEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseReadRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseReadProcessedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseReadAtTimeDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseHistoryData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseEventFieldList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseEventNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseHistoryEvent(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseWriteValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseInsertReplaceDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseInsertEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseHistoryUpdateDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseUpdateDataDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseInsertReplaceEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseUpdateEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseDeleteRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseDeleteAtTimeDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseDeleteEventDetails(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseHistoryUpdateResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseCallRequestItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseCallResultItem(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseHistoryUpdateEventResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseCallMethodRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseCallMethodResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseDataChangeFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseMonitoringFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseEventFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseAggregateConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseAggregateFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseEventFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseMonitoringAttributes(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseAggregateFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseMonitoringParameters(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseMonitoredItemCreateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseMonitoredItemCreateResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseMonitoredItemModifyRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseMonitoredItemModifyResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseSubscriptionAcknowledgement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseNotificationMessage(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void parseMonitoredItemNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseDataChangeNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseMonitoredItemNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseEventNotificationList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseEventFieldList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseHistoryEventFieldList(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseStatusChangeNotification(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseSubscriptionAcknowledgement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
void parseTransferResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
-void registerComplexTypes(void);
+void parseRedundantServerDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseSamplingIntervalDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseServerDiagnosticsSummaryDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseServerStatusDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseSessionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseSessionSecurityDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseServiceCounterDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseSubscriptionDiagnosticsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseModelChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseSemanticChangeStructureDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseRange(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseEUInformation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseAnnotation(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+void parseProgramDiagnosticDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
+
+void registerComplexTypes();
diff --git a/plugins/opcua/opcua_enumparser.c b/plugins/opcua/opcua_enumparser.c
index a7ce747ef4..e70ef95fe1 100644
--- a/plugins/opcua/opcua_enumparser.c
+++ b/plugins/opcua/opcua_enumparser.c
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -16,7 +16,7 @@
**
** Description: OpcUa Enum Type Parser
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 31.03.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -30,60 +30,89 @@
#include "opcua_enumparser.h"
-
-/** NodeClass enum table */
-static const value_string g_NodeClassTable[] = {
- { 0, "Node" },
- { 1, "Object" },
- { 2, "Variable" },
- { 4, "Method" },
- { 8, "ObjectType" },
- { 16, "VariableType" },
- { 32, "ReferenceType" },
- { 64, "DataType" },
- { 128, "View" },
+/** NodeIdType enum table */
+static const value_string g_NodeIdTypeTable[] = {
+ { 0, "TwoByte" },
+ { 1, "FourByte" },
+ { 2, "Numeric" },
+ { 3, "String" },
+ { 4, "Uri" },
+ { 5, "Guid" },
+ { 6, "ByteString" },
{ 0, NULL }
};
-static int hf_opcua_NodeClass = -1;
+static int hf_opcua_NodeIdType = -1;
-void parseNodeClass(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+void parseNodeIdType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_NodeClass, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_NodeIdType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
+/** DialogConditionChoice enum table */
+static const value_string g_DialogConditionChoiceTable[] = {
+ { 0, "None" },
+ { 1, "Ok" },
+ { 2, "Cancel" },
+ { 4, "Yes" },
+ { 8, "No" },
+ { 16, "Abort" },
+ { 0, NULL }
+};
+static int hf_opcua_DialogConditionChoice = -1;
+void parseDialogConditionChoice(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_tree_add_item(tree, hf_opcua_DialogConditionChoice, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+}
/** IdType enum table */
static const value_string g_IdTypeTable[] = {
{ 0, "Numeric" },
{ 1, "String" },
- { 2, "Uri" },
- { 3, "Guid" },
- { 4, "Opaque" },
+ { 2, "Guid" },
+ { 3, "Opaque" },
{ 0, NULL }
};
static int hf_opcua_IdType = -1;
void parseIdType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_IdType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_IdType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
+/** NodeClass enum table */
+static const value_string g_NodeClassTable[] = {
+ { 0, "Unspecified" },
+ { 1, "Object" },
+ { 2, "Variable" },
+ { 4, "Method" },
+ { 8, "ObjectType" },
+ { 16, "VariableType" },
+ { 32, "ReferenceType" },
+ { 64, "DataType" },
+ { 128, "View" },
+ { 0, NULL }
+};
+static int hf_opcua_NodeClass = -1;
+void parseNodeClass(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_tree_add_item(tree, hf_opcua_NodeClass, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+}
/** MessageSecurityMode enum table */
static const value_string g_MessageSecurityModeTable[] = {
- { 0, "None" },
- { 1, "Sign" },
- { 2, "SignAndEncrypt" },
+ { 0, "Invalid" },
+ { 1, "None" },
+ { 2, "Sign" },
+ { 3, "SignAndEncrypt" },
{ 0, NULL }
};
static int hf_opcua_MessageSecurityMode = -1;
void parseMessageSecurityMode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_MessageSecurityMode, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_MessageSecurityMode, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
/** UserTokenType enum table */
static const value_string g_UserTokenTypeTable[] = {
- { 0, "Default" },
+ { 0, "Anonymous" },
{ 1, "UserName" },
{ 2, "Certificate" },
{ 3, "IssuedToken" },
@@ -93,22 +122,22 @@ static int hf_opcua_UserTokenType = -1;
void parseUserTokenType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_UserTokenType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_UserTokenType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
-/** ServerDescriptionType enum table */
-static const value_string g_ServerDescriptionTypeTable[] = {
- { 0, "Standard" },
- { 1, "Discovery" },
+/** ApplicationType enum table */
+static const value_string g_ApplicationTypeTable[] = {
+ { 0, "Server" },
+ { 1, "Client" },
+ { 2, "ClientAndServer" },
+ { 3, "DiscoveryServer" },
{ 0, NULL }
};
-static int hf_opcua_ServerDescriptionType = -1;
+static int hf_opcua_ApplicationType = -1;
-void parseServerDescriptionType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+void parseApplicationType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_ServerDescriptionType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_ApplicationType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
/** SecurityTokenRequestType enum table */
static const value_string g_SecurityTokenRequestTypeTable[] = {
{ 0, "Issue" },
@@ -119,9 +148,8 @@ static int hf_opcua_SecurityTokenRequestType = -1;
void parseSecurityTokenRequestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_SecurityTokenRequestType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_SecurityTokenRequestType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
/** ComplianceLevel enum table */
static const value_string g_ComplianceLevelTable[] = {
{ 0, "Untested" },
@@ -134,110 +162,80 @@ static int hf_opcua_ComplianceLevel = -1;
void parseComplianceLevel(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_ComplianceLevel, tvb, *pOffset, 4, TRUE); *pOffset+=4;
-}
-
-/** RedundancySupport enum table */
-static const value_string g_RedundancySupportTable[] = {
- { 1, "None" },
- { 2, "Cold" },
- { 3, "Warm" },
- { 4, "Hot" },
- { 0, NULL }
-};
-static int hf_opcua_RedundancySupport = -1;
-
-void parseRedundancySupport(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_tree_add_item(tree, hf_opcua_RedundancySupport, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_ComplianceLevel, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
-/** ServerState enum table */
-static const value_string g_ServerStateTable[] = {
- { 1, "Running" },
- { 2, "Failed" },
- { 3, "NoConfiguration" },
- { 4, "Suspended" },
- { 5, "Shutdown" },
- { 6, "Test" },
- { 7, "CommunicationFault" },
- { 8, "Unknown" },
- { 0, NULL }
-};
-static int hf_opcua_ServerState = -1;
-
-void parseServerState(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_tree_add_item(tree, hf_opcua_ServerState, tvb, *pOffset, 4, TRUE); *pOffset+=4;
-}
-
-/** ExceptionDeviationType enum table */
-static const value_string g_ExceptionDeviationTypeTable[] = {
- { 1, "AbsoluteValue" },
- { 2, "PercentOfRange" },
- { 3, "PercentOfValue" },
- { 0, NULL }
-};
-static int hf_opcua_ExceptionDeviationType = -1;
-
-void parseExceptionDeviationType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_tree_add_item(tree, hf_opcua_ExceptionDeviationType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
-}
-
-/** ColorsDataType enum table */
-static const value_string g_ColorsDataTypeTable[] = {
- { 1, "Red" },
- { 2, "Orange" },
- { 3, "Yellow" },
- { 4, "Green" },
- { 5, "Blue" },
- { 6, "DarkBlue" },
- { 7, "Violet" },
+/** AttributeWriteMask enum table */
+static const value_string g_AttributeWriteMaskTable[] = {
+ { 0, "None" },
+ { 1, "AccessLevel" },
+ { 2, "ArrayDimensions" },
+ { 4, "BrowseName" },
+ { 8, "ContainsNoLoops" },
+ { 16, "DataType" },
+ { 32, "Description" },
+ { 64, "DisplayName" },
+ { 128, "EventNotifier" },
+ { 256, "Executable" },
+ { 512, "Historizing" },
+ { 1024, "InverseName" },
+ { 2048, "IsAbstract" },
+ { 4096, "MinimumSamplingInterval" },
+ { 8192, "NodeClass" },
+ { 16384, "NodeId" },
+ { 32768, "Symmetric" },
+ { 65536, "UserAccessLevel" },
+ { 131072, "UserExecutable" },
+ { 262144, "UserWriteMask" },
+ { 524288, "ValueRank" },
+ { 1048576, "WriteMask" },
+ { 2097152, "ValueForVariableType" },
{ 0, NULL }
};
-static int hf_opcua_ColorsDataType = -1;
+static int hf_opcua_AttributeWriteMask = -1;
-void parseColorsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+void parseAttributeWriteMask(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_ColorsDataType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_AttributeWriteMask, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
-/** DiagnosticsMasks enum table */
-static const value_string g_DiagnosticsMasksTable[] = {
- { 1, "ServiceSymbolicId" },
- { 2, "ServiceLocalizedText" },
- { 4, "ServiceAdditionalInfo" },
- { 8, "ServiceInnerStatusCode" },
- { 16, "ServiceInnerDiagnostics" },
- { 3, "ServiceSymbolicIdAndText" },
- { 15, "ServiceNoInnerStatus" },
- { 31, "ServiceAll" },
- { 32, "OperationSymbolicId" },
- { 64, "OperationLocalizedText" },
- { 128, "OperationAdditionalInfo" },
- { 256, "OperationInnerStatusCode" },
- { 512, "OperationInnerDiagnostics" },
- { 96, "OperationSymbolicIdAndText" },
- { 224, "OperationNoInnerStatus" },
- { 992, "OperationAll" },
- { 33, "SymbolicId" },
- { 66, "LocalizedText" },
- { 132, "AdditionalInfo" },
- { 264, "InnerStatusCode" },
- { 528, "InnerDiagnostics" },
- { 99, "SymbolicIdAndText" },
- { 239, "NoInnerStatus" },
- { 1023, "All" },
+/** NodeAttributesMask enum table */
+static const value_string g_NodeAttributesMaskTable[] = {
+ { 0, "None" },
+ { 1, "AccessLevel" },
+ { 2, "ArrayDimensions" },
+ { 8, "ContainsNoLoops" },
+ { 16, "DataType" },
+ { 32, "Description" },
+ { 64, "DisplayName" },
+ { 128, "EventNotifier" },
+ { 256, "Executable" },
+ { 512, "Historizing" },
+ { 1024, "InverseName" },
+ { 2048, "IsAbstract" },
+ { 4096, "MinimumSamplingInterval" },
+ { 32768, "Symmetric" },
+ { 65536, "UserAccessLevel" },
+ { 131072, "UserExecutable" },
+ { 262144, "UserWriteMask" },
+ { 524288, "ValueRank" },
+ { 1048576, "WriteMask" },
+ { 2097152, "Value" },
+ { 4194303, "All" },
+ { 1335396, "BaseNode" },
+ { 1335524, "Object" },
+ { 1337444, "ObjectTypeOrDataType" },
+ { 4026999, "Variable" },
+ { 3958902, "VariableType" },
+ { 1466724, "Method" },
+ { 1371236, "ReferenceType" },
+ { 1335532, "View" },
{ 0, NULL }
};
-static int hf_opcua_DiagnosticsMasks = -1;
+static int hf_opcua_NodeAttributesMask = -1;
-void parseDiagnosticsMasks(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+void parseNodeAttributesMask(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_DiagnosticsMasks, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_NodeAttributesMask, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
/** EnumeratedTestType enum table */
static const value_string g_EnumeratedTestTypeTable[] = {
{ 1, "Red" },
@@ -249,64 +247,96 @@ static int hf_opcua_EnumeratedTestType = -1;
void parseEnumeratedTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_EnumeratedTestType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_EnumeratedTestType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
/** BrowseDirection enum table */
static const value_string g_BrowseDirectionTable[] = {
- { 1, "Forward" },
- { 2, "Inverse" },
- { 3, "Both" },
+ { 0, "Forward" },
+ { 1, "Inverse" },
+ { 2, "Both" },
{ 0, NULL }
};
static int hf_opcua_BrowseDirection = -1;
void parseBrowseDirection(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_BrowseDirection, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_BrowseDirection, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
+/** BrowseResultMask enum table */
+static const value_string g_BrowseResultMaskTable[] = {
+ { 0, "None" },
+ { 1, "ReferenceTypeId" },
+ { 2, "IsForward" },
+ { 4, "NodeClass" },
+ { 8, "BrowseName" },
+ { 16, "DisplayName" },
+ { 32, "TypeDefinition" },
+ { 63, "All" },
+ { 3, "ReferenceTypeInfo" },
+ { 60, "TargetInfo" },
+ { 0, NULL }
+};
+static int hf_opcua_BrowseResultMask = -1;
+void parseBrowseResultMask(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_tree_add_item(tree, hf_opcua_BrowseResultMask, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+}
/** FilterOperator enum table */
static const value_string g_FilterOperatorTable[] = {
- { 1, "Equals" },
- { 2, "IsNull" },
- { 3, "GreaterThan" },
- { 4, "LessThan" },
- { 5, "GreaterThanOrEqual" },
- { 6, "LessThanOrEqual" },
- { 7, "Like" },
- { 8, "Not" },
- { 9, "Between" },
- { 10, "InList" },
- { 11, "And" },
- { 12, "Or" },
+ { 0, "Equals" },
+ { 1, "IsNull" },
+ { 2, "GreaterThan" },
+ { 3, "LessThan" },
+ { 4, "GreaterThanOrEqual" },
+ { 5, "LessThanOrEqual" },
+ { 6, "Like" },
+ { 7, "Not" },
+ { 8, "Between" },
+ { 9, "InList" },
+ { 10, "And" },
+ { 11, "Or" },
+ { 12, "Cast" },
{ 13, "InView" },
{ 14, "OfType" },
{ 15, "RelatedTo" },
+ { 16, "BitwiseAnd" },
+ { 17, "BitwiseOr" },
{ 0, NULL }
};
static int hf_opcua_FilterOperator = -1;
void parseFilterOperator(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_FilterOperator, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_FilterOperator, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
/** TimestampsToReturn enum table */
static const value_string g_TimestampsToReturnTable[] = {
- { 1, "Source" },
- { 2, "Server" },
- { 3, "Both" },
- { 4, "Neither" },
+ { 0, "Source" },
+ { 1, "Server" },
+ { 2, "Both" },
+ { 3, "Neither" },
{ 0, NULL }
};
static int hf_opcua_TimestampsToReturn = -1;
void parseTimestampsToReturn(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_TimestampsToReturn, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_TimestampsToReturn, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
+/** HistoryUpdateMode enum table */
+static const value_string g_HistoryUpdateModeTable[] = {
+ { 1, "Insert" },
+ { 2, "Replace" },
+ { 3, "InsertReplace" },
+ { 0, NULL }
+};
+static int hf_opcua_HistoryUpdateMode = -1;
+void parseHistoryUpdateMode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_tree_add_item(tree, hf_opcua_HistoryUpdateMode, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+}
/** MonitoringMode enum table */
static const value_string g_MonitoringModeTable[] = {
{ 0, "Disabled" },
@@ -318,9 +348,8 @@ static int hf_opcua_MonitoringMode = -1;
void parseMonitoringMode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_MonitoringMode, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_MonitoringMode, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
/** DataChangeTrigger enum table */
static const value_string g_DataChangeTriggerTable[] = {
{ 0, "Status" },
@@ -332,40 +361,108 @@ static int hf_opcua_DataChangeTrigger = -1;
void parseDataChangeTrigger(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_DataChangeTrigger, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_DataChangeTrigger, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-
/** DeadbandType enum table */
static const value_string g_DeadbandTypeTable[] = {
{ 0, "None" },
{ 1, "Absolute" },
- { 2, "Percentage" },
+ { 2, "Percent" },
{ 0, NULL }
};
static int hf_opcua_DeadbandType = -1;
void parseDeadbandType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_tree_add_item(tree, hf_opcua_DeadbandType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_DeadbandType, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+}
+/** RedundancySupport enum table */
+static const value_string g_RedundancySupportTable[] = {
+ { 0, "None" },
+ { 1, "Cold" },
+ { 2, "Warm" },
+ { 3, "Hot" },
+ { 4, "Transparent" },
+ { 0, NULL }
+};
+static int hf_opcua_RedundancySupport = -1;
+
+void parseRedundancySupport(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_tree_add_item(tree, hf_opcua_RedundancySupport, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+}
+/** ServerState enum table */
+static const value_string g_ServerStateTable[] = {
+ { 0, "Running" },
+ { 1, "Failed" },
+ { 2, "NoConfiguration" },
+ { 3, "Suspended" },
+ { 4, "Shutdown" },
+ { 5, "Test" },
+ { 6, "CommunicationFault" },
+ { 7, "Unknown" },
+ { 0, NULL }
+};
+static int hf_opcua_ServerState = -1;
+
+void parseServerState(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_tree_add_item(tree, hf_opcua_ServerState, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+}
+/** ModelChangeStructureVerbMask enum table */
+static const value_string g_ModelChangeStructureVerbMaskTable[] = {
+ { 1, "NodeAdded" },
+ { 2, "NodeDeleted" },
+ { 4, "ReferenceAdded" },
+ { 8, "ReferenceDeleted" },
+ { 16, "DataTypeChanged" },
+ { 0, NULL }
+};
+static int hf_opcua_ModelChangeStructureVerbMask = -1;
+
+void parseModelChangeStructureVerbMask(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_tree_add_item(tree, hf_opcua_ModelChangeStructureVerbMask, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+}
+/** ExceptionDeviationFormat enum table */
+static const value_string g_ExceptionDeviationFormatTable[] = {
+ { 0, "AbsoluteValue" },
+ { 1, "PercentOfRange" },
+ { 2, "PercentOfValue" },
+ { 3, "PercentOfEURange" },
+ { 4, "Unknown" },
+ { 0, NULL }
+};
+static int hf_opcua_ExceptionDeviationFormat = -1;
+
+void parseExceptionDeviationFormat(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_tree_add_item(tree, hf_opcua_ExceptionDeviationFormat, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
/** header field definitions */
static hf_register_info hf[] =
{
- { &hf_opcua_NodeClass,
- { "NodeClass", "", FT_UINT32, BASE_HEX, VALS(g_NodeClassTable), 0x0, "", HFILL }
+ { &hf_opcua_NodeIdType,
+ { "NodeIdType", "", FT_UINT32, BASE_HEX, VALS(g_NodeIdTypeTable), 0x0, "", HFILL }
+ },
+ { &hf_opcua_DialogConditionChoice,
+ { "DialogConditionChoice", "", FT_UINT32, BASE_HEX, VALS(g_DialogConditionChoiceTable), 0x0, "", HFILL }
},
{ &hf_opcua_IdType,
{ "IdType", "", FT_UINT32, BASE_HEX, VALS(g_IdTypeTable), 0x0, "", HFILL }
},
+ { &hf_opcua_NodeClass,
+ { "NodeClass", "", FT_UINT32, BASE_HEX, VALS(g_NodeClassTable), 0x0, "", HFILL }
+ },
{ &hf_opcua_MessageSecurityMode,
{ "MessageSecurityMode", "", FT_UINT32, BASE_HEX, VALS(g_MessageSecurityModeTable), 0x0, "", HFILL }
},
{ &hf_opcua_UserTokenType,
{ "UserTokenType", "", FT_UINT32, BASE_HEX, VALS(g_UserTokenTypeTable), 0x0, "", HFILL }
},
- { &hf_opcua_ServerDescriptionType,
- { "ServerDescriptionType", "", FT_UINT32, BASE_HEX, VALS(g_ServerDescriptionTypeTable), 0x0, "", HFILL }
+ { &hf_opcua_ApplicationType,
+ { "ApplicationType", "", FT_UINT32, BASE_HEX, VALS(g_ApplicationTypeTable), 0x0, "", HFILL }
},
{ &hf_opcua_SecurityTokenRequestType,
{ "SecurityTokenRequestType", "", FT_UINT32, BASE_HEX, VALS(g_SecurityTokenRequestTypeTable), 0x0, "", HFILL }
@@ -373,20 +470,11 @@ static hf_register_info hf[] =
{ &hf_opcua_ComplianceLevel,
{ "ComplianceLevel", "", FT_UINT32, BASE_HEX, VALS(g_ComplianceLevelTable), 0x0, "", HFILL }
},
- { &hf_opcua_RedundancySupport,
- { "RedundancySupport", "", FT_UINT32, BASE_HEX, VALS(g_RedundancySupportTable), 0x0, "", HFILL }
+ { &hf_opcua_AttributeWriteMask,
+ { "AttributeWriteMask", "", FT_UINT32, BASE_HEX, VALS(g_AttributeWriteMaskTable), 0x0, "", HFILL }
},
- { &hf_opcua_ServerState,
- { "ServerState", "", FT_UINT32, BASE_HEX, VALS(g_ServerStateTable), 0x0, "", HFILL }
- },
- { &hf_opcua_ExceptionDeviationType,
- { "ExceptionDeviationType", "", FT_UINT32, BASE_HEX, VALS(g_ExceptionDeviationTypeTable), 0x0, "", HFILL }
- },
- { &hf_opcua_ColorsDataType,
- { "ColorsDataType", "", FT_UINT32, BASE_HEX, VALS(g_ColorsDataTypeTable), 0x0, "", HFILL }
- },
- { &hf_opcua_DiagnosticsMasks,
- { "DiagnosticsMasks", "", FT_UINT32, BASE_HEX, VALS(g_DiagnosticsMasksTable), 0x0, "", HFILL }
+ { &hf_opcua_NodeAttributesMask,
+ { "NodeAttributesMask", "", FT_UINT32, BASE_HEX, VALS(g_NodeAttributesMaskTable), 0x0, "", HFILL }
},
{ &hf_opcua_EnumeratedTestType,
{ "EnumeratedTestType", "", FT_UINT32, BASE_HEX, VALS(g_EnumeratedTestTypeTable), 0x0, "", HFILL }
@@ -394,12 +482,18 @@ static hf_register_info hf[] =
{ &hf_opcua_BrowseDirection,
{ "BrowseDirection", "", FT_UINT32, BASE_HEX, VALS(g_BrowseDirectionTable), 0x0, "", HFILL }
},
+ { &hf_opcua_BrowseResultMask,
+ { "BrowseResultMask", "", FT_UINT32, BASE_HEX, VALS(g_BrowseResultMaskTable), 0x0, "", HFILL }
+ },
{ &hf_opcua_FilterOperator,
{ "FilterOperator", "", FT_UINT32, BASE_HEX, VALS(g_FilterOperatorTable), 0x0, "", HFILL }
},
{ &hf_opcua_TimestampsToReturn,
{ "TimestampsToReturn", "", FT_UINT32, BASE_HEX, VALS(g_TimestampsToReturnTable), 0x0, "", HFILL }
},
+ { &hf_opcua_HistoryUpdateMode,
+ { "HistoryUpdateMode", "", FT_UINT32, BASE_HEX, VALS(g_HistoryUpdateModeTable), 0x0, "", HFILL }
+ },
{ &hf_opcua_MonitoringMode,
{ "MonitoringMode", "", FT_UINT32, BASE_HEX, VALS(g_MonitoringModeTable), 0x0, "", HFILL }
},
@@ -408,7 +502,19 @@ static hf_register_info hf[] =
},
{ &hf_opcua_DeadbandType,
{ "DeadbandType", "", FT_UINT32, BASE_HEX, VALS(g_DeadbandTypeTable), 0x0, "", HFILL }
- }
+ },
+ { &hf_opcua_RedundancySupport,
+ { "RedundancySupport", "", FT_UINT32, BASE_HEX, VALS(g_RedundancySupportTable), 0x0, "", HFILL }
+ },
+ { &hf_opcua_ServerState,
+ { "ServerState", "", FT_UINT32, BASE_HEX, VALS(g_ServerStateTable), 0x0, "", HFILL }
+ },
+ { &hf_opcua_ModelChangeStructureVerbMask,
+ { "ModelChangeStructureVerbMask", "", FT_UINT32, BASE_HEX, VALS(g_ModelChangeStructureVerbMaskTable), 0x0, "", HFILL }
+ },
+ { &hf_opcua_ExceptionDeviationFormat,
+ { "ExceptionDeviationFormat", "", FT_UINT32, BASE_HEX, VALS(g_ExceptionDeviationFormatTable), 0x0, "", HFILL }
+ },
};
/** Register enum types. */
@@ -416,3 +522,4 @@ void registerEnumTypes(int proto)
{
proto_register_field_array(proto, hf, array_length(hf));
}
+
diff --git a/plugins/opcua/opcua_enumparser.h b/plugins/opcua/opcua_enumparser.h
index f1518a6aeb..17bc3e8a9b 100644
--- a/plugins/opcua/opcua_enumparser.h
+++ b/plugins/opcua/opcua_enumparser.h
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -16,7 +16,7 @@
**
** Description: OpcUa Enum Type Parser
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 31.03.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -28,24 +28,28 @@
#include <glib.h>
#include <epan/packet.h>
-void parseNodeClass(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseNodeIdType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseDialogConditionChoice(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseIdType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseNodeClass(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseMessageSecurityMode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseUserTokenType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseServerDescriptionType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseApplicationType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseSecurityTokenRequestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseComplianceLevel(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseRedundancySupport(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseServerState(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseExceptionDeviationType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseColorsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseDiagnosticsMasks(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseAttributeWriteMask(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseNodeAttributesMask(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseEnumeratedTestType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseDirection(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseBrowseResultMask(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseFilterOperator(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTimestampsToReturn(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseHistoryUpdateMode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseMonitoringMode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDataChangeTrigger(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeadbandType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseRedundancySupport(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseServerState(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseModelChangeStructureVerbMask(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseExceptionDeviationFormat(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void registerEnumTypes(int proto);
-
diff --git a/plugins/opcua/opcua_hfindeces.c b/plugins/opcua/opcua_hfindeces.c
index 40f5252456..5188a432ae 100644
--- a/plugins/opcua/opcua_hfindeces.c
+++ b/plugins/opcua/opcua_hfindeces.c
@@ -1,22 +1,22 @@
/******************************************************************************
** $Id$
-**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+**
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
-**
+**
** This program is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License
** as published by the Free Software Foundation; either version 2
** of the License, or (at your option) any later version.
-**
+**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** Project: OpcUa Wireshark Plugin
**
-** Description: This file contains protocol field information.
+** Description: This file contains protocol field handles.
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 31.03.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -28,559 +28,768 @@
#include <glib.h>
#include <epan/packet.h>
-int hf_opcua_TestId = -1;
-int hf_opcua_Iteration = -1;
-int hf_opcua_ServerUris = -1;
-int hf_opcua_ProfileUris = -1;
+int hf_opcua_AccessLevel = -1;
+int hf_opcua_ActualSessionTimeout = -1;
+int hf_opcua_AddResults = -1;
+int hf_opcua_Algorithm = -1;
+int hf_opcua_Alias = -1;
+int hf_opcua_AnnotationTime = -1;
+int hf_opcua_ApplicationUri = -1;
+int hf_opcua_ArrayDimensions = -1;
+int hf_opcua_AttributeId = -1;
+int hf_opcua_AuditEntryId = -1;
+int hf_opcua_AuthenticationMechanism = -1;
+int hf_opcua_AvailableSequenceNumbers = -1;
+int hf_opcua_Boolean = -1;
+int hf_opcua_Booleans = -1;
+int hf_opcua_BuildDate = -1;
+int hf_opcua_BuildNumber = -1;
+int hf_opcua_Byte = -1;
+int hf_opcua_ByteString = -1;
+int hf_opcua_ByteStrings = -1;
+int hf_opcua_CancelCount = -1;
+int hf_opcua_CertificateData = -1;
+int hf_opcua_ChannelId = -1;
+int hf_opcua_ChannelLifetime = -1;
int hf_opcua_ClientCertificate = -1;
-int hf_opcua_SecureChannelId = -1;
-int hf_opcua_SecurityPolicyUri = -1;
+int hf_opcua_ClientConnectionTime = -1;
+int hf_opcua_ClientHandle = -1;
+int hf_opcua_ClientLastContactTime = -1;
int hf_opcua_ClientNonce = -1;
-int hf_opcua_RequestedLifetime = -1;
-int hf_opcua_ServerCertificate = -1;
-int hf_opcua_ServerNonce = -1;
-int hf_opcua_ClientName = -1;
-int hf_opcua_RequestedSessionTimeout = -1;
-int hf_opcua_SessionId = -1;
-int hf_opcua_RevisedSessionTimeout = -1;
-int hf_opcua_LocaleIds = -1;
-int hf_opcua_CertificateResults = -1;
-int hf_opcua_SequenceNumber = -1;
-int hf_opcua_Results = -1;
-int hf_opcua_MaxResultsToReturn = -1;
-int hf_opcua_IncludeSubtypes = -1;
-int hf_opcua_NodeClassMask = -1;
+int hf_opcua_ClientProtocolVersion = -1;
+int hf_opcua_ClientUserIdHistory = -1;
+int hf_opcua_ClientUserIdOfSession = -1;
+int hf_opcua_ComplianceDate = -1;
+int hf_opcua_ComplianceTool = -1;
+int hf_opcua_ContainsNoLoops = -1;
int hf_opcua_ContinuationPoint = -1;
-int hf_opcua_ReleaseContinuationPoint = -1;
-int hf_opcua_RevisedContinuationPoint = -1;
-int hf_opcua_MaxDescriptionsToReturn = -1;
-int hf_opcua_MaxReferencesToReturn = -1;
-int hf_opcua_MaxReferencedNodesToReturn = -1;
-int hf_opcua_MaxTime = -1;
-int hf_opcua_MaxAge = -1;
-int hf_opcua_ReleaseContinuationPoints = -1;
-int hf_opcua_SubscriptionId = -1;
-int hf_opcua_MonitoredItemIds = -1;
-int hf_opcua_TriggeringItemId = -1;
-int hf_opcua_LinksToAdd = -1;
-int hf_opcua_LinksToRemove = -1;
-int hf_opcua_AddResults = -1;
-int hf_opcua_RemoveResults = -1;
-int hf_opcua_RequestedPublishingInterval = -1;
-int hf_opcua_RequestedLifetimeCounter = -1;
-int hf_opcua_RequestedMaxKeepAliveCount = -1;
-int hf_opcua_PublishingEnabled = -1;
-int hf_opcua_Priority = -1;
-int hf_opcua_RevisedPublishingInterval = -1;
-int hf_opcua_RevisedLifetimeCounter = -1;
-int hf_opcua_RevisedMaxKeepAliveCount = -1;
-int hf_opcua_SubscriptionIds = -1;
-int hf_opcua_AvailableSequenceNumbers = -1;
-int hf_opcua_MoreNotifications = -1;
-int hf_opcua_RetransmitSequenceNumber = -1;
-int hf_opcua_IsInverse = -1;
-int hf_opcua_ServerIndex = -1;
-int hf_opcua_NodeClass = -1;
+int hf_opcua_ContinuationPoints = -1;
+int hf_opcua_CreateClientName = -1;
+int hf_opcua_CreatedAt = -1;
+int hf_opcua_CumulatedSessionCount = -1;
+int hf_opcua_CumulatedSubscriptionCount = -1;
+int hf_opcua_CurrentKeepAliveCount = -1;
+int hf_opcua_CurrentLifetimeCount = -1;
+int hf_opcua_CurrentMonitoredItemsCount = -1;
+int hf_opcua_CurrentPublishRequestsInQueue = -1;
+int hf_opcua_CurrentSessionCount = -1;
+int hf_opcua_CurrentSubscriptionCount = -1;
+int hf_opcua_CurrentSubscriptionsCount = -1;
+int hf_opcua_CurrentTime = -1;
+int hf_opcua_DataChangeNotificationsCount = -1;
+int hf_opcua_DataStatusCodes = -1;
+int hf_opcua_DateTime = -1;
+int hf_opcua_DateTimes = -1;
+int hf_opcua_DaylightSavingInOffset = -1;
+int hf_opcua_DeadbandType = -1;
+int hf_opcua_DeadbandValue = -1;
+int hf_opcua_DeleteBidirectional = -1;
+int hf_opcua_DeleteSubscriptions = -1;
+int hf_opcua_DeleteTargetReferences = -1;
+int hf_opcua_DisableCount = -1;
+int hf_opcua_DisabledMonitoredItemCount = -1;
+int hf_opcua_DiscardOldest = -1;
+int hf_opcua_DiscardedMessageCount = -1;
+int hf_opcua_DiscoveryProfileUri = -1;
+int hf_opcua_DiscoveryUrls = -1;
+int hf_opcua_Double = -1;
+int hf_opcua_Doubles = -1;
+int hf_opcua_EnableCount = -1;
+int hf_opcua_Encoding = -1;
+int hf_opcua_EncryptionAlgorithm = -1;
+int hf_opcua_EndTime = -1;
+int hf_opcua_EndpointUrl = -1;
+int hf_opcua_ErrorCount = -1;
+int hf_opcua_EventIds = -1;
+int hf_opcua_EventNotificationsCount = -1;
int hf_opcua_EventNotifier = -1;
-int hf_opcua_IsAbstract = -1;
-int hf_opcua_ArraySize = -1;
-int hf_opcua_AccessLevel = -1;
-int hf_opcua_UserAccessLevel = -1;
-int hf_opcua_MinimumSamplingInterval = -1;
-int hf_opcua_Historizing = -1;
-int hf_opcua_Symmetric = -1;
+int hf_opcua_EventQueueOverFlowCount = -1;
int hf_opcua_Executable = -1;
-int hf_opcua_UserExecutable = -1;
-int hf_opcua_ContainsNoLoops = -1;
+int hf_opcua_Float = -1;
+int hf_opcua_Floats = -1;
+int hf_opcua_GatewayServerUri = -1;
+int hf_opcua_Guid = -1;
+int hf_opcua_Guids = -1;
+int hf_opcua_High = -1;
+int hf_opcua_Historizing = -1;
+int hf_opcua_IncludeSubTypes = -1;
+int hf_opcua_IncludeSubtypes = -1;
int hf_opcua_Index = -1;
-int hf_opcua_Uri = -1;
-int hf_opcua_Name = -1;
-int hf_opcua_StatusCode = -1;
-int hf_opcua_EventId = -1;
-int hf_opcua_SourceName = -1;
-int hf_opcua_Time = -1;
-int hf_opcua_ReceiveTime = -1;
-int hf_opcua_Severity = -1;
-int hf_opcua_Digest = -1;
-int hf_opcua_SymmetricSignature = -1;
-int hf_opcua_SymmetricKeyWrap = -1;
-int hf_opcua_SymmetricEncryption = -1;
-int hf_opcua_SymmetricKeyLength = -1;
-int hf_opcua_AsymmetricSignature = -1;
-int hf_opcua_AsymmetricKeyWrap = -1;
-int hf_opcua_AsymmetricEncryption = -1;
-int hf_opcua_MinimumAsymmetricKeyLength = -1;
-int hf_opcua_MaximumAsymmetricKeyLength = -1;
-int hf_opcua_DerivedKey = -1;
-int hf_opcua_DerivedEncryptionKeyLength = -1;
-int hf_opcua_DerivedSignatureKeyLength = -1;
-int hf_opcua_IssuerType = -1;
-int hf_opcua_IssuerUrl = -1;
-int hf_opcua_ServerUri = -1;
-int hf_opcua_DiscoveryUrls = -1;
-int hf_opcua_EndpointUrl = -1;
-int hf_opcua_SupportedProfiles = -1;
-int hf_opcua_SendTimeout = -1;
-int hf_opcua_OperationTimeout = -1;
-int hf_opcua_UseBinaryEncoding = -1;
-int hf_opcua_MaxMessageSize = -1;
+int hf_opcua_IndexRange = -1;
+int hf_opcua_InputArgumentResults = -1;
+int hf_opcua_Int16 = -1;
+int hf_opcua_Int16s = -1;
+int hf_opcua_Int32 = -1;
+int hf_opcua_Int32s = -1;
+int hf_opcua_Int64 = -1;
+int hf_opcua_Int64s = -1;
+int hf_opcua_InvocationCreationTime = -1;
+int hf_opcua_IsAbstract = -1;
+int hf_opcua_IsDeleteModified = -1;
+int hf_opcua_IsForward = -1;
+int hf_opcua_IsInverse = -1;
+int hf_opcua_IsOnline = -1;
+int hf_opcua_IsReadModified = -1;
+int hf_opcua_IssueDate = -1;
+int hf_opcua_IssuedBy = -1;
+int hf_opcua_IssuedTokenType = -1;
+int hf_opcua_IssuerEndpointUrl = -1;
+int hf_opcua_Iteration = -1;
+int hf_opcua_LastMethodCall = -1;
+int hf_opcua_LastMethodCallTime = -1;
+int hf_opcua_LastTransitionTime = -1;
+int hf_opcua_LatePublishRequestCount = -1;
+int hf_opcua_LinksToAdd = -1;
+int hf_opcua_LinksToRemove = -1;
+int hf_opcua_LocaleIds = -1;
+int hf_opcua_Low = -1;
+int hf_opcua_ManufacturerName = -1;
+int hf_opcua_MaxAge = -1;
int hf_opcua_MaxArrayLength = -1;
+int hf_opcua_MaxBufferSize = -1;
+int hf_opcua_MaxByteStringLength = -1;
+int hf_opcua_MaxDataSetsToReturn = -1;
+int hf_opcua_MaxKeepAliveCount = -1;
+int hf_opcua_MaxLifetimeCount = -1;
+int hf_opcua_MaxMessageSize = -1;
+int hf_opcua_MaxMonitoredItemCount = -1;
+int hf_opcua_MaxNotificationsPerPublish = -1;
+int hf_opcua_MaxReferencesToReturn = -1;
+int hf_opcua_MaxRequestMessageSize = -1;
+int hf_opcua_MaxResponseMessageSize = -1;
int hf_opcua_MaxStringLength = -1;
-int hf_opcua_UserName = -1;
+int hf_opcua_Message = -1;
+int hf_opcua_MinimumSamplingInterval = -1;
+int hf_opcua_ModifyCount = -1;
+int hf_opcua_MonitoredItemCount = -1;
+int hf_opcua_MonitoredItemId = -1;
+int hf_opcua_MonitoredItemIds = -1;
+int hf_opcua_MonitoringQueueOverflowCount = -1;
+int hf_opcua_MoreNotifications = -1;
+int hf_opcua_Name = -1;
+int hf_opcua_NamespaceUri = -1;
+int hf_opcua_NextSequenceNumber = -1;
+int hf_opcua_NoOfAddDiagnosticInfos = -1;
+int hf_opcua_NoOfAddResults = -1;
+int hf_opcua_NoOfAggregateType = -1;
+int hf_opcua_NoOfArrayDimensions = -1;
+int hf_opcua_NoOfAvailableSequenceNumbers = -1;
+int hf_opcua_NoOfBooleans = -1;
+int hf_opcua_NoOfBrowsePath = -1;
+int hf_opcua_NoOfBrowsePaths = -1;
+int hf_opcua_NoOfByteStrings = -1;
+int hf_opcua_NoOfClientSoftwareCertificates = -1;
+int hf_opcua_NoOfClientUserIdHistory = -1;
+int hf_opcua_NoOfContinuationPoints = -1;
+int hf_opcua_NoOfDataDiagnosticInfos = -1;
+int hf_opcua_NoOfDataStatusCodes = -1;
+int hf_opcua_NoOfDataToReturn = -1;
+int hf_opcua_NoOfDataValues = -1;
+int hf_opcua_NoOfDateTimes = -1;
+int hf_opcua_NoOfDiagnosticInfos = -1;
+int hf_opcua_NoOfDiscoveryUrls = -1;
+int hf_opcua_NoOfDoubles = -1;
+int hf_opcua_NoOfElementDiagnosticInfos = -1;
+int hf_opcua_NoOfElementResults = -1;
+int hf_opcua_NoOfElements = -1;
+int hf_opcua_NoOfEndpoints = -1;
+int hf_opcua_NoOfEnumeratedValues = -1;
+int hf_opcua_NoOfEventData = -1;
+int hf_opcua_NoOfEventFields = -1;
+int hf_opcua_NoOfEvents = -1;
+int hf_opcua_NoOfExpandedNodeIds = -1;
+int hf_opcua_NoOfExtensionObjects = -1;
+int hf_opcua_NoOfFilterOperands = -1;
+int hf_opcua_NoOfFloats = -1;
+int hf_opcua_NoOfGuids = -1;
+int hf_opcua_NoOfHistoryUpdateDetails = -1;
+int hf_opcua_NoOfInputArgumentDiagnosticInfos = -1;
+int hf_opcua_NoOfInputArgumentResults = -1;
+int hf_opcua_NoOfInputArguments = -1;
+int hf_opcua_NoOfInt16s = -1;
+int hf_opcua_NoOfInt32s = -1;
+int hf_opcua_NoOfInt64s = -1;
+int hf_opcua_NoOfItemsToCreate = -1;
+int hf_opcua_NoOfItemsToModify = -1;
+int hf_opcua_NoOfLastMethodInputArguments = -1;
+int hf_opcua_NoOfLastMethodOutputArguments = -1;
+int hf_opcua_NoOfLinksToAdd = -1;
+int hf_opcua_NoOfLinksToRemove = -1;
+int hf_opcua_NoOfLocaleIds = -1;
+int hf_opcua_NoOfLocalizedTexts = -1;
+int hf_opcua_NoOfMethodsToCall = -1;
+int hf_opcua_NoOfMonitoredItemIds = -1;
+int hf_opcua_NoOfMonitoredItems = -1;
+int hf_opcua_NoOfNodeIds = -1;
+int hf_opcua_NoOfNodeTypes = -1;
+int hf_opcua_NoOfNodesToAdd = -1;
+int hf_opcua_NoOfNodesToBrowse = -1;
+int hf_opcua_NoOfNodesToDelete = -1;
+int hf_opcua_NoOfNodesToRead = -1;
+int hf_opcua_NoOfNodesToRegister = -1;
+int hf_opcua_NoOfNodesToUnregister = -1;
+int hf_opcua_NoOfNodesToWrite = -1;
+int hf_opcua_NoOfNotificationData = -1;
+int hf_opcua_NoOfOperandDiagnosticInfos = -1;
+int hf_opcua_NoOfOperandStatusCodes = -1;
+int hf_opcua_NoOfOperationResults = -1;
+int hf_opcua_NoOfOutputArguments = -1;
+int hf_opcua_NoOfParsingResults = -1;
+int hf_opcua_NoOfProfileUris = -1;
+int hf_opcua_NoOfQualifiedNames = -1;
+int hf_opcua_NoOfQueryDataSets = -1;
+int hf_opcua_NoOfReferencedNodeIds = -1;
+int hf_opcua_NoOfReferences = -1;
+int hf_opcua_NoOfReferencesToAdd = -1;
+int hf_opcua_NoOfReferencesToDelete = -1;
+int hf_opcua_NoOfRegisteredNodeIds = -1;
+int hf_opcua_NoOfRemoveDiagnosticInfos = -1;
+int hf_opcua_NoOfRemoveResults = -1;
+int hf_opcua_NoOfReqTimes = -1;
+int hf_opcua_NoOfResults = -1;
+int hf_opcua_NoOfSBytes = -1;
+int hf_opcua_NoOfSelectClause = -1;
+int hf_opcua_NoOfSelectClauseDiagnosticInfos = -1;
+int hf_opcua_NoOfSelectClauseResults = -1;
+int hf_opcua_NoOfSelectClauses = -1;
+int hf_opcua_NoOfServerEndpoints = -1;
+int hf_opcua_NoOfServerNames = -1;
+int hf_opcua_NoOfServerSoftwareCertificates = -1;
+int hf_opcua_NoOfServerUris = -1;
+int hf_opcua_NoOfServers = -1;
+int hf_opcua_NoOfStatusCodes = -1;
+int hf_opcua_NoOfStringTable = -1;
+int hf_opcua_NoOfStrings = -1;
+int hf_opcua_NoOfSubscriptionAcknowledgements = -1;
+int hf_opcua_NoOfSubscriptionIds = -1;
+int hf_opcua_NoOfSupportedProfiles = -1;
+int hf_opcua_NoOfTargets = -1;
+int hf_opcua_NoOfUInt16s = -1;
+int hf_opcua_NoOfUInt32s = -1;
+int hf_opcua_NoOfUInt64s = -1;
+int hf_opcua_NoOfUnsupportedUnitIds = -1;
+int hf_opcua_NoOfUserIdentityTokens = -1;
+int hf_opcua_NoOfValues = -1;
+int hf_opcua_NoOfVariants = -1;
+int hf_opcua_NoOfXmlElements = -1;
+int hf_opcua_NodeClassMask = -1;
+int hf_opcua_NotificationsCount = -1;
+int hf_opcua_NumValuesPerNode = -1;
+int hf_opcua_Offset = -1;
+int hf_opcua_OperandStatusCodes = -1;
+int hf_opcua_OperationResults = -1;
+int hf_opcua_OperationTimeout = -1;
+int hf_opcua_OrganizationUri = -1;
int hf_opcua_Password = -1;
-int hf_opcua_HashAlgorithm = -1;
-int hf_opcua_CertificateData = -1;
-int hf_opcua_TokenData = -1;
-int hf_opcua_ProfileUri = -1;
-int hf_opcua_ProfileName = -1;
-int hf_opcua_ApplicationUri = -1;
-int hf_opcua_ManufacturerName = -1;
-int hf_opcua_ApplicationName = -1;
-int hf_opcua_SoftwareVersion = -1;
-int hf_opcua_BuildNumber = -1;
-int hf_opcua_BuildDate = -1;
-int hf_opcua_IssuedBy = -1;
-int hf_opcua_IssuedDate = -1;
-int hf_opcua_ExpirationDate = -1;
-int hf_opcua_ApplicationCertificate = -1;
-int hf_opcua_IssuerCertificateThumbprint = -1;
-int hf_opcua_IssuerSignatureAlgorithm = -1;
-int hf_opcua_IssuerSignature = -1;
-int hf_opcua_IsForward = -1;
-int hf_opcua_TargetServerUri = -1;
-int hf_opcua_TargetNodeClass = -1;
-int hf_opcua_DeleteTargetReferences = -1;
+int hf_opcua_PercentDataBad = -1;
+int hf_opcua_PercentDataGood = -1;
+int hf_opcua_PolicyId = -1;
+int hf_opcua_Priority = -1;
+int hf_opcua_ProcessingInterval = -1;
+int hf_opcua_ProductName = -1;
+int hf_opcua_ProductUri = -1;
+int hf_opcua_ProfileId = -1;
+int hf_opcua_ProfileUris = -1;
+int hf_opcua_PublishRequestCount = -1;
+int hf_opcua_PublishTime = -1;
+int hf_opcua_PublishingEnabled = -1;
+int hf_opcua_PublishingInterval = -1;
+int hf_opcua_PublishingIntervalCount = -1;
+int hf_opcua_QueueSize = -1;
+int hf_opcua_RejectedRequestsCount = -1;
+int hf_opcua_RejectedSessionCount = -1;
+int hf_opcua_ReleaseContinuationPoint = -1;
+int hf_opcua_ReleaseContinuationPoints = -1;
+int hf_opcua_RemainingPathIndex = -1;
+int hf_opcua_RemoveResults = -1;
+int hf_opcua_RepublishMessageCount = -1;
+int hf_opcua_RepublishMessageRequestCount = -1;
+int hf_opcua_RepublishRequestCount = -1;
+int hf_opcua_ReqTimes = -1;
+int hf_opcua_RequestHandle = -1;
+int hf_opcua_RequestedLifetime = -1;
+int hf_opcua_RequestedLifetimeCount = -1;
+int hf_opcua_RequestedMaxKeepAliveCount = -1;
+int hf_opcua_RequestedMaxReferencesPerNode = -1;
+int hf_opcua_RequestedPublishingInterval = -1;
+int hf_opcua_RequestedSessionTimeout = -1;
+int hf_opcua_ResampleInterval = -1;
+int hf_opcua_ResultMask = -1;
+int hf_opcua_Results = -1;
+int hf_opcua_RetransmitSequenceNumber = -1;
+int hf_opcua_ReturnBounds = -1;
+int hf_opcua_ReturnDiagnostics = -1;
+int hf_opcua_RevisedContinuationPoint = -1;
+int hf_opcua_RevisedLifetime = -1;
+int hf_opcua_RevisedLifetimeCount = -1;
+int hf_opcua_RevisedMaxKeepAliveCount = -1;
+int hf_opcua_RevisedProcessingInterval = -1;
+int hf_opcua_RevisedPublishingInterval = -1;
+int hf_opcua_RevisedQueueSize = -1;
+int hf_opcua_RevisedSamplingInterval = -1;
+int hf_opcua_RevisedSessionTimeout = -1;
+int hf_opcua_RevisedStartTime = -1;
+int hf_opcua_SByte = -1;
+int hf_opcua_SBytes = -1;
+int hf_opcua_SamplingInterval = -1;
+int hf_opcua_SecondsTillShutdown = -1;
+int hf_opcua_SecurityLevel = -1;
+int hf_opcua_SecurityPolicyUri = -1;
+int hf_opcua_SecurityRejectedRequestsCount = -1;
+int hf_opcua_SecurityRejectedSessionCount = -1;
+int hf_opcua_SecurityTokenLifetime = -1;
+int hf_opcua_SelectClauseResults = -1;
+int hf_opcua_SemaphoreFilePath = -1;
+int hf_opcua_SendInitialValues = -1;
+int hf_opcua_SequenceNumber = -1;
+int hf_opcua_ServerCertificate = -1;
int hf_opcua_ServerId = -1;
-int hf_opcua_ServiceLevel = -1;
-int hf_opcua_SamplingRate = -1;
-int hf_opcua_SamplingErrorCount = -1;
-int hf_opcua_SampledMonitoredItemsCount = -1;
-int hf_opcua_MaxSampledMonitoredItemsCount = -1;
-int hf_opcua_DisabledMonitoredItemsSamplingCount = -1;
+int hf_opcua_ServerNonce = -1;
+int hf_opcua_ServerProtocolVersion = -1;
+int hf_opcua_ServerUri = -1;
+int hf_opcua_ServerUris = -1;
int hf_opcua_ServerViewCount = -1;
-int hf_opcua_CurrentSessionCount = -1;
-int hf_opcua_CumulatedSessionCount = -1;
-int hf_opcua_SecurityRejectedSessionCount = -1;
-int hf_opcua_RejectSessionCount = -1;
-int hf_opcua_SessionTimeoutCount = -1;
+int hf_opcua_ServiceLevel = -1;
+int hf_opcua_ServiceResult = -1;
int hf_opcua_SessionAbortCount = -1;
-int hf_opcua_SamplingRateCount = -1;
-int hf_opcua_PublishingRateCount = -1;
-int hf_opcua_CurrentSubscriptionCount = -1;
-int hf_opcua_CumulatedSubscriptionCount = -1;
-int hf_opcua_SecurityRejectedRequestsCount = -1;
-int hf_opcua_RejectedRequestsCount = -1;
+int hf_opcua_SessionName = -1;
+int hf_opcua_SessionTimeoutCount = -1;
+int hf_opcua_Signature = -1;
+int hf_opcua_SoftwareVersion = -1;
+int hf_opcua_SpecifiedAttributes = -1;
int hf_opcua_StartTime = -1;
-int hf_opcua_CurrentTime = -1;
+int hf_opcua_Status = -1;
+int hf_opcua_StatusCode = -1;
+int hf_opcua_StatusCodes = -1;
+int hf_opcua_SteppedSlopedExtrapolation = -1;
+int hf_opcua_String = -1;
+int hf_opcua_StringTable = -1;
+int hf_opcua_Strings = -1;
+int hf_opcua_SubscriptionId = -1;
+int hf_opcua_SubscriptionIds = -1;
+int hf_opcua_Symmetric = -1;
+int hf_opcua_TargetServerUri = -1;
+int hf_opcua_TestId = -1;
+int hf_opcua_TimeoutHint = -1;
+int hf_opcua_Timestamp = -1;
+int hf_opcua_TokenData = -1;
+int hf_opcua_TokenId = -1;
int hf_opcua_TotalCount = -1;
-int hf_opcua_UnauthorizedCount = -1;
-int hf_opcua_ErrorCount = -1;
-int hf_opcua_ActualSessionTimeout = -1;
-int hf_opcua_ClientConnectionTime = -1;
-int hf_opcua_ClientLastContactTime = -1;
-int hf_opcua_CurrentSubscriptionsCount = -1;
-int hf_opcua_CurrentMonitoredItemsCount = -1;
-int hf_opcua_CurrentPublishRequestsInQueue = -1;
-int hf_opcua_CurrentPublishTimerExpirations = -1;
-int hf_opcua_KeepAliveCount = -1;
-int hf_opcua_CurrentRepublishRequestsInQueue = -1;
-int hf_opcua_MaxRepublishRequestsInQueue = -1;
-int hf_opcua_RepublishCounter = -1;
-int hf_opcua_PublishingCount = -1;
-int hf_opcua_PublishingQueueOverflowCount = -1;
-int hf_opcua_ClientUserIdOfSession = -1;
-int hf_opcua_ClientUserIdHistory = -1;
-int hf_opcua_AuthenticationMechanism = -1;
-int hf_opcua_Encoding = -1;
-int hf_opcua_TransportProtocol = -1;
-int hf_opcua_SecurityPolicy = -1;
-int hf_opcua_PublishingInterval = -1;
-int hf_opcua_MaxKeepAliveCount = -1;
-int hf_opcua_ModifyCount = -1;
-int hf_opcua_EnableCount = -1;
-int hf_opcua_DisableCount = -1;
-int hf_opcua_RepublishRequestCount = -1;
-int hf_opcua_RepublishMessageRequestCount = -1;
-int hf_opcua_RepublishMessageCount = -1;
int hf_opcua_TransferRequestCount = -1;
int hf_opcua_TransferredToAltClientCount = -1;
int hf_opcua_TransferredToSameClientCount = -1;
-int hf_opcua_PublishRequestCount = -1;
-int hf_opcua_DataChangeNotificationsCount = -1;
-int hf_opcua_EventNotificationsCount = -1;
-int hf_opcua_NotificationsCount = -1;
-int hf_opcua_LateStateCount = -1;
-int hf_opcua_KeepAliveStateCount = -1;
-int hf_opcua_Low = -1;
-int hf_opcua_High = -1;
-int hf_opcua_NamespaceUri = -1;
-int hf_opcua_UnitId = -1;
-int hf_opcua_Message = -1;
-int hf_opcua_AnnotationTime = -1;
-int hf_opcua_Id = -1;
-int hf_opcua_Description = -1;
-int hf_opcua_Timestamp = -1;
-int hf_opcua_Boolean = -1;
-int hf_opcua_SByte = -1;
-int hf_opcua_Byte = -1;
-int hf_opcua_Int16 = -1;
+int hf_opcua_TransportProfileUri = -1;
+int hf_opcua_TransportProtocol = -1;
+int hf_opcua_TreatUncertainAsBad = -1;
+int hf_opcua_TriggeringItemId = -1;
int hf_opcua_UInt16 = -1;
-int hf_opcua_Int32 = -1;
-int hf_opcua_UInt32 = -1;
-int hf_opcua_Int64 = -1;
-int hf_opcua_UInt64 = -1;
-int hf_opcua_Float = -1;
-int hf_opcua_Double = -1;
-int hf_opcua_String = -1;
-int hf_opcua_DateTime = -1;
-int hf_opcua_Guid = -1;
-int hf_opcua_ByteString = -1;
-int hf_opcua_XmlElement = -1;
-int hf_opcua_RequestId = -1;
-int hf_opcua_ReturnDiagnostics = -1;
-int hf_opcua_AuditLogEntryId = -1;
-int hf_opcua_TimeoutHint = -1;
-int hf_opcua_ServiceResult = -1;
-int hf_opcua_StringTable = -1;
-int hf_opcua_Value1 = -1;
-int hf_opcua_Value2 = -1;
-int hf_opcua_Booleans = -1;
-int hf_opcua_SBytes = -1;
-int hf_opcua_Int16s = -1;
int hf_opcua_UInt16s = -1;
-int hf_opcua_Int32s = -1;
+int hf_opcua_UInt32 = -1;
int hf_opcua_UInt32s = -1;
-int hf_opcua_Int64s = -1;
+int hf_opcua_UInt64 = -1;
int hf_opcua_UInt64s = -1;
-int hf_opcua_Floats = -1;
-int hf_opcua_Doubles = -1;
-int hf_opcua_Strings = -1;
-int hf_opcua_DateTimes = -1;
-int hf_opcua_Guids = -1;
-int hf_opcua_ByteStrings = -1;
-int hf_opcua_XmlElements = -1;
-int hf_opcua_StatusCodes = -1;
-int hf_opcua_SemaphoreFilePath = -1;
-int hf_opcua_IsOnline = -1;
-int hf_opcua_ChannelId = -1;
-int hf_opcua_TokenId = -1;
-int hf_opcua_CreatedAt = -1;
-int hf_opcua_RevisedLifetime = -1;
-int hf_opcua_Algorithm = -1;
-int hf_opcua_Signature = -1;
-int hf_opcua_PropertyStatusCode = -1;
+int hf_opcua_UnacknowledgedMessageCount = -1;
+int hf_opcua_UnauthorizedRequestCount = -1;
+int hf_opcua_UnitId = -1;
+int hf_opcua_UnsupportedUnitIds = -1;
+int hf_opcua_UseBinaryEncoding = -1;
+int hf_opcua_UseSeverCapabilitiesDefaults = -1;
+int hf_opcua_UserAccessLevel = -1;
+int hf_opcua_UserExecutable = -1;
+int hf_opcua_UserName = -1;
+int hf_opcua_UserWriteMask = -1;
+int hf_opcua_Value = -1;
+int hf_opcua_ValueRank = -1;
+int hf_opcua_VendorName = -1;
+int hf_opcua_VendorProductCertificate = -1;
+int hf_opcua_Verb = -1;
int hf_opcua_ViewVersion = -1;
-int hf_opcua_RelativePath = -1;
-int hf_opcua_AttributeId = -1;
-int hf_opcua_IndexRange = -1;
-int hf_opcua_IncludeSubTypes = -1;
-int hf_opcua_Alias = -1;
-int hf_opcua_Result = -1;
-int hf_opcua_IndexOfInvalidElement = -1;
-int hf_opcua_AttributeStatusCodes = -1;
-int hf_opcua_NumValuesPerNode = -1;
-int hf_opcua_EndTime = -1;
-int hf_opcua_IsReadModified = -1;
-int hf_opcua_ReturnBounds = -1;
-int hf_opcua_ResampleInterval = -1;
-int hf_opcua_ReqTimes = -1;
-int hf_opcua_ClientHandle = -1;
-int hf_opcua_PerformInsert = -1;
-int hf_opcua_PerformReplace = -1;
-int hf_opcua_IsDeleteModified = -1;
-int hf_opcua_OperationResult = -1;
-int hf_opcua_InputArgumentResults = -1;
-int hf_opcua_DeadbandType = -1;
-int hf_opcua_DeadbandValue = -1;
-int hf_opcua_SelectClauseResults = -1;
-int hf_opcua_SamplingInterval = -1;
-int hf_opcua_QueueSize = -1;
-int hf_opcua_DiscardOldest = -1;
-int hf_opcua_MonitoredItemId = -1;
-int hf_opcua_RevisedSamplingInterval = -1;
-int hf_opcua_RevisedQueueSize = -1;
-int hf_opcua_MonitorItemId = -1;
-int hf_opcua_PublishTime = -1;
-int hf_opcua_AvailableSequenceNumbersRanges = -1;
+int hf_opcua_WriteMask = -1;
+int hf_opcua_XmlElement = -1;
+int hf_opcua_XmlElements = -1;
/** header field definitions */
static hf_register_info hf[] =
{
-
- { &hf_opcua_TestId, { "TestId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Iteration, { "Iteration", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ServerUris, { "ServerUris", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ProfileUris, { "ProfileUris", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_AccessLevel, { "AccessLevel", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ActualSessionTimeout, { "ActualSessionTimeout", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_AddResults, { "AddResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Algorithm, { "Algorithm", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Alias, { "Alias", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_AnnotationTime, { "AnnotationTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ApplicationUri, { "ApplicationUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ArrayDimensions, { "ArrayDimensions", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_AttributeId, { "AttributeId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_AuditEntryId, { "AuditEntryId", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_AuthenticationMechanism, { "AuthenticationMechanism", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_AvailableSequenceNumbers, { "AvailableSequenceNumbers", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Boolean, { "Boolean", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Booleans, { "Booleans", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_BuildDate, { "BuildDate", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_BuildNumber, { "BuildNumber", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Byte, { "Byte", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ByteString, { "ByteString", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ByteStrings, { "ByteStrings", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CancelCount, { "CancelCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CertificateData, { "CertificateData", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ChannelId, { "ChannelId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ChannelLifetime, { "ChannelLifetime", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_ClientCertificate, { "ClientCertificate", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SecureChannelId, { "SecureChannelId", "", FT_GUID, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SecurityPolicyUri, { "SecurityPolicyUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ClientConnectionTime, { "ClientConnectionTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ClientHandle, { "ClientHandle", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ClientLastContactTime, { "ClientLastContactTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
{ &hf_opcua_ClientNonce, { "ClientNonce", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RequestedLifetime, { "RequestedLifetime", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ServerCertificate, { "ServerCertificate", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ServerNonce, { "ServerNonce", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ClientName, { "ClientName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RequestedSessionTimeout, { "RequestedSessionTimeout", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SessionId, { "SessionId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RevisedSessionTimeout, { "RevisedSessionTimeout", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_LocaleIds, { "LocaleIds", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CertificateResults, { "CertificateResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SequenceNumber, { "SequenceNumber", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Results, { "Results", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxResultsToReturn, { "MaxResultsToReturn", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IncludeSubtypes, { "IncludeSubtypes", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_NodeClassMask, { "NodeClassMask", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ClientProtocolVersion, { "ClientProtocolVersion", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ClientUserIdHistory, { "ClientUserIdHistory", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ClientUserIdOfSession, { "ClientUserIdOfSession", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ComplianceDate, { "ComplianceDate", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ComplianceTool, { "ComplianceTool", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ContainsNoLoops, { "ContainsNoLoops", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
{ &hf_opcua_ContinuationPoint, { "ContinuationPoint", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ReleaseContinuationPoint, { "ReleaseContinuationPoint", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RevisedContinuationPoint, { "RevisedContinuationPoint", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxDescriptionsToReturn, { "MaxDescriptionsToReturn", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxReferencesToReturn, { "MaxReferencesToReturn", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxReferencedNodesToReturn, { "MaxReferencedNodesToReturn", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxTime, { "MaxTime", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxAge, { "MaxAge", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ReleaseContinuationPoints, { "ReleaseContinuationPoints", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SubscriptionId, { "SubscriptionId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MonitoredItemIds, { "MonitoredItemIds", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_TriggeringItemId, { "TriggeringItemId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_LinksToAdd, { "LinksToAdd", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_LinksToRemove, { "LinksToRemove", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AddResults, { "AddResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RemoveResults, { "RemoveResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RequestedPublishingInterval, { "RequestedPublishingInterval", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RequestedLifetimeCounter, { "RequestedLifetimeCounter", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RequestedMaxKeepAliveCount, { "RequestedMaxKeepAliveCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PublishingEnabled, { "PublishingEnabled", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Priority, { "Priority", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RevisedPublishingInterval, { "RevisedPublishingInterval", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RevisedLifetimeCounter, { "RevisedLifetimeCounter", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RevisedMaxKeepAliveCount, { "RevisedMaxKeepAliveCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SubscriptionIds, { "SubscriptionIds", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AvailableSequenceNumbers, { "AvailableSequenceNumbers", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MoreNotifications, { "MoreNotifications", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RetransmitSequenceNumber, { "RetransmitSequenceNumber", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IsInverse, { "IsInverse", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ServerIndex, { "ServerIndex", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_NodeClass, { "NodeClass", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ContinuationPoints, { "ContinuationPoints", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CreateClientName, { "CreateClientName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CreatedAt, { "CreatedAt", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CumulatedSessionCount, { "CumulatedSessionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CumulatedSubscriptionCount, { "CumulatedSubscriptionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CurrentKeepAliveCount, { "CurrentKeepAliveCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CurrentLifetimeCount, { "CurrentLifetimeCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CurrentMonitoredItemsCount, { "CurrentMonitoredItemsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CurrentPublishRequestsInQueue, { "CurrentPublishRequestsInQueue", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CurrentSessionCount, { "CurrentSessionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CurrentSubscriptionCount, { "CurrentSubscriptionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CurrentSubscriptionsCount, { "CurrentSubscriptionsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_CurrentTime, { "CurrentTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DataChangeNotificationsCount, { "DataChangeNotificationsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DataStatusCodes, { "DataStatusCodes", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DateTime, { "DateTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DateTimes, { "DateTimes", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DaylightSavingInOffset, { "DaylightSavingInOffset", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DeadbandType, { "DeadbandType", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DeadbandValue, { "DeadbandValue", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DeleteBidirectional, { "DeleteBidirectional", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DeleteSubscriptions, { "DeleteSubscriptions", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DeleteTargetReferences, { "DeleteTargetReferences", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DisableCount, { "DisableCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DisabledMonitoredItemCount, { "DisabledMonitoredItemCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DiscardOldest, { "DiscardOldest", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DiscardedMessageCount, { "DiscardedMessageCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DiscoveryProfileUri, { "DiscoveryProfileUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_DiscoveryUrls, { "DiscoveryUrls", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Double, { "Double", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Doubles, { "Doubles", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_EnableCount, { "EnableCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Encoding, { "Encoding", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_EncryptionAlgorithm, { "EncryptionAlgorithm", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_EndTime, { "EndTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_EndpointUrl, { "EndpointUrl", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ErrorCount, { "ErrorCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_EventIds, { "EventIds", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_EventNotificationsCount, { "EventNotificationsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_EventNotifier, { "EventNotifier", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IsAbstract, { "IsAbstract", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ArraySize, { "ArraySize", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AccessLevel, { "AccessLevel", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_UserAccessLevel, { "UserAccessLevel", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MinimumSamplingInterval, { "MinimumSamplingInterval", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Historizing, { "Historizing", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Symmetric, { "Symmetric", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_EventQueueOverFlowCount, { "EventQueueOverFlowCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_Executable, { "Executable", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_UserExecutable, { "UserExecutable", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ContainsNoLoops, { "ContainsNoLoops", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Float, { "Float", "", FT_FLOAT, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Floats, { "Floats", "", FT_FLOAT, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_GatewayServerUri, { "GatewayServerUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Guid, { "Guid", "", FT_GUID, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Guids, { "Guids", "", FT_GUID, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_High, { "High", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Historizing, { "Historizing", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IncludeSubTypes, { "IncludeSubTypes", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IncludeSubtypes, { "IncludeSubtypes", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
{ &hf_opcua_Index, { "Index", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Uri, { "Uri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Name, { "Name", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_StatusCode, { "StatusCode", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_EventId, { "EventId", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SourceName, { "SourceName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Time, { "Time", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ReceiveTime, { "ReceiveTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Severity, { "Severity", "", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Digest, { "Digest", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SymmetricSignature, { "SymmetricSignature", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SymmetricKeyWrap, { "SymmetricKeyWrap", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SymmetricEncryption, { "SymmetricEncryption", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SymmetricKeyLength, { "SymmetricKeyLength", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AsymmetricSignature, { "AsymmetricSignature", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AsymmetricKeyWrap, { "AsymmetricKeyWrap", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AsymmetricEncryption, { "AsymmetricEncryption", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MinimumAsymmetricKeyLength, { "MinimumAsymmetricKeyLength", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaximumAsymmetricKeyLength, { "MaximumAsymmetricKeyLength", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DerivedKey, { "DerivedKey", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DerivedEncryptionKeyLength, { "DerivedEncryptionKeyLength", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DerivedSignatureKeyLength, { "DerivedSignatureKeyLength", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IssuerType, { "IssuerType", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IssuerUrl, { "IssuerUrl", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ServerUri, { "ServerUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DiscoveryUrls, { "DiscoveryUrls", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_EndpointUrl, { "EndpointUrl", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SupportedProfiles, { "SupportedProfiles", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SendTimeout, { "SendTimeout", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_OperationTimeout, { "OperationTimeout", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_UseBinaryEncoding, { "UseBinaryEncoding", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxMessageSize, { "MaxMessageSize", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IndexRange, { "IndexRange", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_InputArgumentResults, { "InputArgumentResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Int16, { "Int16", "", FT_INT16, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Int16s, { "Int16s", "", FT_INT16, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Int32, { "Int32", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Int32s, { "Int32s", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Int64, { "Int64", "", FT_INT64, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Int64s, { "Int64s", "", FT_INT64, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_InvocationCreationTime, { "InvocationCreationTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IsAbstract, { "IsAbstract", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IsDeleteModified, { "IsDeleteModified", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IsForward, { "IsForward", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IsInverse, { "IsInverse", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IsOnline, { "IsOnline", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IsReadModified, { "IsReadModified", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IssueDate, { "IssueDate", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IssuedBy, { "IssuedBy", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IssuedTokenType, { "IssuedTokenType", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_IssuerEndpointUrl, { "IssuerEndpointUrl", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Iteration, { "Iteration", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_LastMethodCall, { "LastMethodCall", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_LastMethodCallTime, { "LastMethodCallTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_LastTransitionTime, { "LastTransitionTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_LatePublishRequestCount, { "LatePublishRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_LinksToAdd, { "LinksToAdd", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_LinksToRemove, { "LinksToRemove", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_LocaleIds, { "LocaleIds", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Low, { "Low", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ManufacturerName, { "ManufacturerName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxAge, { "MaxAge", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
{ &hf_opcua_MaxArrayLength, { "MaxArrayLength", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxBufferSize, { "MaxBufferSize", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxByteStringLength, { "MaxByteStringLength", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxDataSetsToReturn, { "MaxDataSetsToReturn", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxKeepAliveCount, { "MaxKeepAliveCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxLifetimeCount, { "MaxLifetimeCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxMessageSize, { "MaxMessageSize", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxMonitoredItemCount, { "MaxMonitoredItemCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxNotificationsPerPublish, { "MaxNotificationsPerPublish", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxReferencesToReturn, { "MaxReferencesToReturn", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxRequestMessageSize, { "MaxRequestMessageSize", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MaxResponseMessageSize, { "MaxResponseMessageSize", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_MaxStringLength, { "MaxStringLength", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_UserName, { "UserName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Password, { "Password", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_HashAlgorithm, { "HashAlgorithm", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CertificateData, { "CertificateData", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_TokenData, { "TokenData", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ProfileUri, { "ProfileUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ProfileName, { "ProfileName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ApplicationUri, { "ApplicationUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ManufacturerName, { "ManufacturerName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ApplicationName, { "ApplicationName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SoftwareVersion, { "SoftwareVersion", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_BuildNumber, { "BuildNumber", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_BuildDate, { "BuildDate", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IssuedBy, { "IssuedBy", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IssuedDate, { "IssuedDate", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ExpirationDate, { "ExpirationDate", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ApplicationCertificate, { "ApplicationCertificate", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IssuerCertificateThumbprint, { "IssuerCertificateThumbprint", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IssuerSignatureAlgorithm, { "IssuerSignatureAlgorithm", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IssuerSignature, { "IssuerSignature", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IsForward, { "IsForward", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_TargetServerUri, { "TargetServerUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_TargetNodeClass, { "TargetNodeClass", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DeleteTargetReferences, { "DeleteTargetReferences", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Message, { "Message", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MinimumSamplingInterval, { "MinimumSamplingInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ModifyCount, { "ModifyCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MonitoredItemCount, { "MonitoredItemCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MonitoredItemId, { "MonitoredItemId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MonitoredItemIds, { "MonitoredItemIds", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MonitoringQueueOverflowCount, { "MonitoringQueueOverflowCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_MoreNotifications, { "MoreNotifications", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Name, { "Name", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NamespaceUri, { "NamespaceUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NextSequenceNumber, { "NextSequenceNumber", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfAddDiagnosticInfos, { "NoOfAddDiagnosticInfos", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfAddResults, { "NoOfAddResults", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfAggregateType, { "NoOfAggregateType", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfArrayDimensions, { "NoOfArrayDimensions", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfAvailableSequenceNumbers, { "NoOfAvailableSequenceNumbers", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfBooleans, { "NoOfBooleans", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfBrowsePath, { "NoOfBrowsePath", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfBrowsePaths, { "NoOfBrowsePaths", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfByteStrings, { "NoOfByteStrings", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfClientSoftwareCertificates, { "NoOfClientSoftwareCertificates", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfClientUserIdHistory, { "NoOfClientUserIdHistory", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfContinuationPoints, { "NoOfContinuationPoints", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfDataDiagnosticInfos, { "NoOfDataDiagnosticInfos", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfDataStatusCodes, { "NoOfDataStatusCodes", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfDataToReturn, { "NoOfDataToReturn", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfDataValues, { "NoOfDataValues", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfDateTimes, { "NoOfDateTimes", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfDiagnosticInfos, { "NoOfDiagnosticInfos", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfDiscoveryUrls, { "NoOfDiscoveryUrls", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfDoubles, { "NoOfDoubles", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfElementDiagnosticInfos, { "NoOfElementDiagnosticInfos", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfElementResults, { "NoOfElementResults", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfElements, { "NoOfElements", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfEndpoints, { "NoOfEndpoints", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfEnumeratedValues, { "NoOfEnumeratedValues", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfEventData, { "NoOfEventData", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfEventFields, { "NoOfEventFields", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfEvents, { "NoOfEvents", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfExpandedNodeIds, { "NoOfExpandedNodeIds", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfExtensionObjects, { "NoOfExtensionObjects", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfFilterOperands, { "NoOfFilterOperands", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfFloats, { "NoOfFloats", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfGuids, { "NoOfGuids", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfHistoryUpdateDetails, { "NoOfHistoryUpdateDetails", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfInputArgumentDiagnosticInfos, { "NoOfInputArgumentDiagnosticInfos", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfInputArgumentResults, { "NoOfInputArgumentResults", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfInputArguments, { "NoOfInputArguments", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfInt16s, { "NoOfInt16s", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfInt32s, { "NoOfInt32s", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfInt64s, { "NoOfInt64s", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfItemsToCreate, { "NoOfItemsToCreate", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfItemsToModify, { "NoOfItemsToModify", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfLastMethodInputArguments, { "NoOfLastMethodInputArguments", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfLastMethodOutputArguments, { "NoOfLastMethodOutputArguments", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfLinksToAdd, { "NoOfLinksToAdd", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfLinksToRemove, { "NoOfLinksToRemove", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfLocaleIds, { "NoOfLocaleIds", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfLocalizedTexts, { "NoOfLocalizedTexts", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfMethodsToCall, { "NoOfMethodsToCall", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfMonitoredItemIds, { "NoOfMonitoredItemIds", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfMonitoredItems, { "NoOfMonitoredItems", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodeIds, { "NoOfNodeIds", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodeTypes, { "NoOfNodeTypes", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodesToAdd, { "NoOfNodesToAdd", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodesToBrowse, { "NoOfNodesToBrowse", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodesToDelete, { "NoOfNodesToDelete", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodesToRead, { "NoOfNodesToRead", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodesToRegister, { "NoOfNodesToRegister", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodesToUnregister, { "NoOfNodesToUnregister", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNodesToWrite, { "NoOfNodesToWrite", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfNotificationData, { "NoOfNotificationData", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfOperandDiagnosticInfos, { "NoOfOperandDiagnosticInfos", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfOperandStatusCodes, { "NoOfOperandStatusCodes", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfOperationResults, { "NoOfOperationResults", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfOutputArguments, { "NoOfOutputArguments", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfParsingResults, { "NoOfParsingResults", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfProfileUris, { "NoOfProfileUris", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfQualifiedNames, { "NoOfQualifiedNames", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfQueryDataSets, { "NoOfQueryDataSets", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfReferencedNodeIds, { "NoOfReferencedNodeIds", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfReferences, { "NoOfReferences", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfReferencesToAdd, { "NoOfReferencesToAdd", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfReferencesToDelete, { "NoOfReferencesToDelete", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfRegisteredNodeIds, { "NoOfRegisteredNodeIds", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfRemoveDiagnosticInfos, { "NoOfRemoveDiagnosticInfos", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfRemoveResults, { "NoOfRemoveResults", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfReqTimes, { "NoOfReqTimes", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfResults, { "NoOfResults", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfSBytes, { "NoOfSBytes", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfSelectClause, { "NoOfSelectClause", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfSelectClauseDiagnosticInfos, { "NoOfSelectClauseDiagnosticInfos", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfSelectClauseResults, { "NoOfSelectClauseResults", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfSelectClauses, { "NoOfSelectClauses", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfServerEndpoints, { "NoOfServerEndpoints", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfServerNames, { "NoOfServerNames", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfServerSoftwareCertificates, { "NoOfServerSoftwareCertificates", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfServerUris, { "NoOfServerUris", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfServers, { "NoOfServers", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfStatusCodes, { "NoOfStatusCodes", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfStringTable, { "NoOfStringTable", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfStrings, { "NoOfStrings", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfSubscriptionAcknowledgements, { "NoOfSubscriptionAcknowledgements", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfSubscriptionIds, { "NoOfSubscriptionIds", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfSupportedProfiles, { "NoOfSupportedProfiles", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfTargets, { "NoOfTargets", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfUInt16s, { "NoOfUInt16s", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfUInt32s, { "NoOfUInt32s", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfUInt64s, { "NoOfUInt64s", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfUnsupportedUnitIds, { "NoOfUnsupportedUnitIds", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfUserIdentityTokens, { "NoOfUserIdentityTokens", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfValues, { "NoOfValues", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfVariants, { "NoOfVariants", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NoOfXmlElements, { "NoOfXmlElements", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NodeClassMask, { "NodeClassMask", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NotificationsCount, { "NotificationsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_NumValuesPerNode, { "NumValuesPerNode", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Offset, { "Offset", "", FT_INT16, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_OperandStatusCodes, { "OperandStatusCodes", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_OperationResults, { "OperationResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_OperationTimeout, { "OperationTimeout", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_OrganizationUri, { "OrganizationUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Password, { "Password", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_PercentDataBad, { "PercentDataBad", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_PercentDataGood, { "PercentDataGood", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_PolicyId, { "PolicyId", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Priority, { "Priority", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ProcessingInterval, { "ProcessingInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ProductName, { "ProductName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ProductUri, { "ProductUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ProfileId, { "ProfileId", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ProfileUris, { "ProfileUris", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_PublishRequestCount, { "PublishRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_PublishTime, { "PublishTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_PublishingEnabled, { "PublishingEnabled", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_PublishingInterval, { "PublishingInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_PublishingIntervalCount, { "PublishingIntervalCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_QueueSize, { "QueueSize", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RejectedRequestsCount, { "RejectedRequestsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RejectedSessionCount, { "RejectedSessionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ReleaseContinuationPoint, { "ReleaseContinuationPoint", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ReleaseContinuationPoints, { "ReleaseContinuationPoints", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RemainingPathIndex, { "RemainingPathIndex", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RemoveResults, { "RemoveResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RepublishMessageCount, { "RepublishMessageCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RepublishMessageRequestCount, { "RepublishMessageRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RepublishRequestCount, { "RepublishRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ReqTimes, { "ReqTimes", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RequestHandle, { "RequestHandle", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RequestedLifetime, { "RequestedLifetime", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RequestedLifetimeCount, { "RequestedLifetimeCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RequestedMaxKeepAliveCount, { "RequestedMaxKeepAliveCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RequestedMaxReferencesPerNode, { "RequestedMaxReferencesPerNode", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RequestedPublishingInterval, { "RequestedPublishingInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RequestedSessionTimeout, { "RequestedSessionTimeout", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ResampleInterval, { "ResampleInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ResultMask, { "ResultMask", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Results, { "Results", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RetransmitSequenceNumber, { "RetransmitSequenceNumber", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ReturnBounds, { "ReturnBounds", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ReturnDiagnostics, { "ReturnDiagnostics", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedContinuationPoint, { "RevisedContinuationPoint", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedLifetime, { "RevisedLifetime", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedLifetimeCount, { "RevisedLifetimeCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedMaxKeepAliveCount, { "RevisedMaxKeepAliveCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedProcessingInterval, { "RevisedProcessingInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedPublishingInterval, { "RevisedPublishingInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedQueueSize, { "RevisedQueueSize", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedSamplingInterval, { "RevisedSamplingInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedSessionTimeout, { "RevisedSessionTimeout", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_RevisedStartTime, { "RevisedStartTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SByte, { "SByte", "", FT_INT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SBytes, { "SBytes", "", FT_INT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SamplingInterval, { "SamplingInterval", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SecondsTillShutdown, { "SecondsTillShutdown", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SecurityLevel, { "SecurityLevel", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SecurityPolicyUri, { "SecurityPolicyUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SecurityRejectedRequestsCount, { "SecurityRejectedRequestsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SecurityRejectedSessionCount, { "SecurityRejectedSessionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SecurityTokenLifetime, { "SecurityTokenLifetime", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SelectClauseResults, { "SelectClauseResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SemaphoreFilePath, { "SemaphoreFilePath", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SendInitialValues, { "SendInitialValues", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SequenceNumber, { "SequenceNumber", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServerCertificate, { "ServerCertificate", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
{ &hf_opcua_ServerId, { "ServerId", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ServiceLevel, { "ServiceLevel", "", FT_INT8, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SamplingRate, { "SamplingRate", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SamplingErrorCount, { "SamplingErrorCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SampledMonitoredItemsCount, { "SampledMonitoredItemsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxSampledMonitoredItemsCount, { "MaxSampledMonitoredItemsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DisabledMonitoredItemsSamplingCount, { "DisabledMonitoredItemsSamplingCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServerNonce, { "ServerNonce", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServerProtocolVersion, { "ServerProtocolVersion", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServerUri, { "ServerUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServerUris, { "ServerUris", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
{ &hf_opcua_ServerViewCount, { "ServerViewCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CurrentSessionCount, { "CurrentSessionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CumulatedSessionCount, { "CumulatedSessionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SecurityRejectedSessionCount, { "SecurityRejectedSessionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RejectSessionCount, { "RejectSessionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SessionTimeoutCount, { "SessionTimeoutCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServiceLevel, { "ServiceLevel", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServiceResult, { "ServiceResult", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
{ &hf_opcua_SessionAbortCount, { "SessionAbortCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SamplingRateCount, { "SamplingRateCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PublishingRateCount, { "PublishingRateCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CurrentSubscriptionCount, { "CurrentSubscriptionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CumulatedSubscriptionCount, { "CumulatedSubscriptionCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SecurityRejectedRequestsCount, { "SecurityRejectedRequestsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RejectedRequestsCount, { "RejectedRequestsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SessionName, { "SessionName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SessionTimeoutCount, { "SessionTimeoutCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Signature, { "Signature", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SoftwareVersion, { "SoftwareVersion", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SpecifiedAttributes, { "SpecifiedAttributes", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_StartTime, { "StartTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CurrentTime, { "CurrentTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Status, { "Status", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_StatusCode, { "StatusCode", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_StatusCodes, { "StatusCodes", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SteppedSlopedExtrapolation, { "SteppedSlopedExtrapolation", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_String, { "String", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_StringTable, { "StringTable", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Strings, { "Strings", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SubscriptionId, { "SubscriptionId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SubscriptionIds, { "SubscriptionIds", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Symmetric, { "Symmetric", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TargetServerUri, { "TargetServerUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TestId, { "TestId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TimeoutHint, { "TimeoutHint", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Timestamp, { "Timestamp", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TokenData, { "TokenData", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TokenId, { "TokenId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_TotalCount, { "TotalCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_UnauthorizedCount, { "UnauthorizedCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ErrorCount, { "ErrorCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ActualSessionTimeout, { "ActualSessionTimeout", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ClientConnectionTime, { "ClientConnectionTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ClientLastContactTime, { "ClientLastContactTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CurrentSubscriptionsCount, { "CurrentSubscriptionsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CurrentMonitoredItemsCount, { "CurrentMonitoredItemsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CurrentPublishRequestsInQueue, { "CurrentPublishRequestsInQueue", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CurrentPublishTimerExpirations, { "CurrentPublishTimerExpirations", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_KeepAliveCount, { "KeepAliveCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CurrentRepublishRequestsInQueue, { "CurrentRepublishRequestsInQueue", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxRepublishRequestsInQueue, { "MaxRepublishRequestsInQueue", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RepublishCounter, { "RepublishCounter", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PublishingCount, { "PublishingCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PublishingQueueOverflowCount, { "PublishingQueueOverflowCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ClientUserIdOfSession, { "ClientUserIdOfSession", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ClientUserIdHistory, { "ClientUserIdHistory", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AuthenticationMechanism, { "AuthenticationMechanism", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Encoding, { "Encoding", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_TransportProtocol, { "TransportProtocol", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SecurityPolicy, { "SecurityPolicy", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PublishingInterval, { "PublishingInterval", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MaxKeepAliveCount, { "MaxKeepAliveCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ModifyCount, { "ModifyCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_EnableCount, { "EnableCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DisableCount, { "DisableCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RepublishRequestCount, { "RepublishRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RepublishMessageRequestCount, { "RepublishMessageRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RepublishMessageCount, { "RepublishMessageCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_TransferRequestCount, { "TransferRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_TransferredToAltClientCount, { "TransferredToAltClientCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_TransferredToSameClientCount, { "TransferredToSameClientCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PublishRequestCount, { "PublishRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DataChangeNotificationsCount, { "DataChangeNotificationsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_EventNotificationsCount, { "EventNotificationsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_NotificationsCount, { "NotificationsCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_LateStateCount, { "LateStateCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_KeepAliveStateCount, { "KeepAliveStateCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Low, { "Low", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_High, { "High", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_NamespaceUri, { "NamespaceUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_UnitId, { "UnitId", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Message, { "Message", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AnnotationTime, { "AnnotationTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Id, { "Id", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Description, { "Description", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Timestamp, { "Timestamp", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Boolean, { "Boolean", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SByte, { "SByte", "", FT_INT8, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Byte, { "Byte", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Int16, { "Int16", "", FT_INT16, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TransportProfileUri, { "TransportProfileUri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TransportProtocol, { "TransportProtocol", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TreatUncertainAsBad, { "TreatUncertainAsBad", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_TriggeringItemId, { "TriggeringItemId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_UInt16, { "UInt16", "", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Int32, { "Int32", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_UInt32, { "UInt32", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Int64, { "Int64", "", FT_INT64, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_UInt64, { "UInt64", "", FT_UINT64, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Float, { "Float", "", FT_FLOAT, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Double, { "Double", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_String, { "String", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DateTime, { "DateTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Guid, { "Guid", "", FT_GUID, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ByteString, { "ByteString", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_XmlElement, { "XmlElement", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RequestId, { "RequestId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ReturnDiagnostics, { "ReturnDiagnostics", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AuditLogEntryId, { "AuditLogEntryId", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_TimeoutHint, { "TimeoutHint", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ServiceResult, { "ServiceResult", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_StringTable, { "StringTable", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Value1, { "Value1", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Value2, { "Value2", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Booleans, { "Booleans", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SBytes, { "SBytes", "", FT_INT8, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Int16s, { "Int16s", "", FT_INT16, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_UInt16s, { "UInt16s", "", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Int32s, { "Int32s", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UInt32, { "UInt32", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_UInt32s, { "UInt32s", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Int64s, { "Int64s", "", FT_INT64, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UInt64, { "UInt64", "", FT_UINT64, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_UInt64s, { "UInt64s", "", FT_UINT64, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Floats, { "Floats", "", FT_FLOAT, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Doubles, { "Doubles", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Strings, { "Strings", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DateTimes, { "DateTimes", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Guids, { "Guids", "", FT_GUID, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ByteStrings, { "ByteStrings", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UnacknowledgedMessageCount, { "UnacknowledgedMessageCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UnauthorizedRequestCount, { "UnauthorizedRequestCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UnitId, { "UnitId", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UnsupportedUnitIds, { "UnsupportedUnitIds", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UseBinaryEncoding, { "UseBinaryEncoding", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UseSeverCapabilitiesDefaults, { "UseSeverCapabilitiesDefaults", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UserAccessLevel, { "UserAccessLevel", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UserExecutable, { "UserExecutable", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UserName, { "UserName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_UserWriteMask, { "UserWriteMask", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Value, { "Value", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ValueRank, { "ValueRank", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_VendorName, { "VendorName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_VendorProductCertificate, { "VendorProductCertificate", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Verb, { "Verb", "", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ViewVersion, { "ViewVersion", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_WriteMask, { "WriteMask", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_XmlElement, { "XmlElement", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
{ &hf_opcua_XmlElements, { "XmlElements", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_StatusCodes, { "StatusCodes", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SemaphoreFilePath, { "SemaphoreFilePath", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IsOnline, { "IsOnline", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ChannelId, { "ChannelId", "", FT_GUID, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_TokenId, { "TokenId", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_CreatedAt, { "CreatedAt", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RevisedLifetime, { "RevisedLifetime", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Algorithm, { "Algorithm", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Signature, { "Signature", "", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PropertyStatusCode, { "PropertyStatusCode", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ViewVersion, { "ViewVersion", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RelativePath, { "RelativePath", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AttributeId, { "AttributeId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IndexRange, { "IndexRange", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IncludeSubTypes, { "IncludeSubTypes", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Alias, { "Alias", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Result, { "Result", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IndexOfInvalidElement, { "IndexOfInvalidElement", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AttributeStatusCodes, { "AttributeStatusCodes", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_NumValuesPerNode, { "NumValuesPerNode", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_EndTime, { "EndTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IsReadModified, { "IsReadModified", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ReturnBounds, { "ReturnBounds", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ResampleInterval, { "ResampleInterval", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ReqTimes, { "ReqTimes", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_ClientHandle, { "ClientHandle", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PerformInsert, { "PerformInsert", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PerformReplace, { "PerformReplace", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_IsDeleteModified, { "IsDeleteModified", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_OperationResult, { "OperationResult", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_InputArgumentResults, { "InputArgumentResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DeadbandType, { "DeadbandType", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DeadbandValue, { "DeadbandValue", "", FT_DOUBLE, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SelectClauseResults, { "SelectClauseResults", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
- { &hf_opcua_SamplingInterval, { "SamplingInterval", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_QueueSize, { "QueueSize", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_DiscardOldest, { "DiscardOldest", "", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MonitoredItemId, { "MonitoredItemId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RevisedSamplingInterval, { "RevisedSamplingInterval", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_RevisedQueueSize, { "RevisedQueueSize", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_MonitorItemId, { "MonitorItemId", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
- { &hf_opcua_PublishTime, { "PublishTime", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_AvailableSequenceNumbersRanges, { "AvailableSequenceNumbersRanges", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } }
};
/** Register field types. */
@@ -588,3 +797,6 @@ void registerFieldTypes(int proto)
{
proto_register_field_array(proto, hf, array_length(hf));
}
+
+
+
diff --git a/plugins/opcua/opcua_hfindeces.h b/plugins/opcua/opcua_hfindeces.h
index cd8a14038f..4e54a3001b 100644
--- a/plugins/opcua/opcua_hfindeces.h
+++ b/plugins/opcua/opcua_hfindeces.h
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -16,7 +16,7 @@
**
** Description: This file contains protocol field handles.
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 31.03.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -28,280 +28,386 @@
#include <glib.h>
#include <epan/packet.h>
-extern int hf_opcua_TestId;
-extern int hf_opcua_Iteration;
-extern int hf_opcua_ServerUris;
-extern int hf_opcua_ProfileUris;
+extern int hf_opcua_AccessLevel;
+extern int hf_opcua_ActualSessionTimeout;
+extern int hf_opcua_AddResults;
+extern int hf_opcua_Algorithm;
+extern int hf_opcua_Alias;
+extern int hf_opcua_AnnotationTime;
+extern int hf_opcua_ApplicationUri;
+extern int hf_opcua_ArrayDimensions;
+extern int hf_opcua_AttributeId;
+extern int hf_opcua_AuditEntryId;
+extern int hf_opcua_AuthenticationMechanism;
+extern int hf_opcua_AvailableSequenceNumbers;
+extern int hf_opcua_Boolean;
+extern int hf_opcua_Booleans;
+extern int hf_opcua_BuildDate;
+extern int hf_opcua_BuildNumber;
+extern int hf_opcua_Byte;
+extern int hf_opcua_ByteString;
+extern int hf_opcua_ByteStrings;
+extern int hf_opcua_CancelCount;
+extern int hf_opcua_CertificateData;
+extern int hf_opcua_ChannelId;
+extern int hf_opcua_ChannelLifetime;
extern int hf_opcua_ClientCertificate;
-extern int hf_opcua_SecureChannelId;
-extern int hf_opcua_SecurityPolicyUri;
+extern int hf_opcua_ClientConnectionTime;
+extern int hf_opcua_ClientHandle;
+extern int hf_opcua_ClientLastContactTime;
extern int hf_opcua_ClientNonce;
-extern int hf_opcua_RequestedLifetime;
-extern int hf_opcua_ServerCertificate;
-extern int hf_opcua_ServerNonce;
-extern int hf_opcua_ClientName;
-extern int hf_opcua_RequestedSessionTimeout;
-extern int hf_opcua_SessionId;
-extern int hf_opcua_RevisedSessionTimeout;
-extern int hf_opcua_LocaleIds;
-extern int hf_opcua_CertificateResults;
-extern int hf_opcua_SequenceNumber;
-extern int hf_opcua_Results;
-extern int hf_opcua_MaxResultsToReturn;
-extern int hf_opcua_IncludeSubtypes;
-extern int hf_opcua_NodeClassMask;
+extern int hf_opcua_ClientProtocolVersion;
+extern int hf_opcua_ClientUserIdHistory;
+extern int hf_opcua_ClientUserIdOfSession;
+extern int hf_opcua_ComplianceDate;
+extern int hf_opcua_ComplianceTool;
+extern int hf_opcua_ContainsNoLoops;
extern int hf_opcua_ContinuationPoint;
-extern int hf_opcua_ReleaseContinuationPoint;
-extern int hf_opcua_RevisedContinuationPoint;
-extern int hf_opcua_MaxDescriptionsToReturn;
-extern int hf_opcua_MaxReferencesToReturn;
-extern int hf_opcua_MaxReferencedNodesToReturn;
-extern int hf_opcua_MaxTime;
-extern int hf_opcua_MaxAge;
-extern int hf_opcua_ReleaseContinuationPoints;
-extern int hf_opcua_SubscriptionId;
-extern int hf_opcua_MonitoredItemIds;
-extern int hf_opcua_TriggeringItemId;
-extern int hf_opcua_LinksToAdd;
-extern int hf_opcua_LinksToRemove;
-extern int hf_opcua_AddResults;
-extern int hf_opcua_RemoveResults;
-extern int hf_opcua_RequestedPublishingInterval;
-extern int hf_opcua_RequestedLifetimeCounter;
-extern int hf_opcua_RequestedMaxKeepAliveCount;
-extern int hf_opcua_PublishingEnabled;
-extern int hf_opcua_Priority;
-extern int hf_opcua_RevisedPublishingInterval;
-extern int hf_opcua_RevisedLifetimeCounter;
-extern int hf_opcua_RevisedMaxKeepAliveCount;
-extern int hf_opcua_SubscriptionIds;
-extern int hf_opcua_AvailableSequenceNumbers;
-extern int hf_opcua_MoreNotifications;
-extern int hf_opcua_RetransmitSequenceNumber;
-extern int hf_opcua_IsInverse;
-extern int hf_opcua_ServerIndex;
-extern int hf_opcua_NodeClass;
+extern int hf_opcua_ContinuationPoints;
+extern int hf_opcua_CreateClientName;
+extern int hf_opcua_CreatedAt;
+extern int hf_opcua_CumulatedSessionCount;
+extern int hf_opcua_CumulatedSubscriptionCount;
+extern int hf_opcua_CurrentKeepAliveCount;
+extern int hf_opcua_CurrentLifetimeCount;
+extern int hf_opcua_CurrentMonitoredItemsCount;
+extern int hf_opcua_CurrentPublishRequestsInQueue;
+extern int hf_opcua_CurrentSessionCount;
+extern int hf_opcua_CurrentSubscriptionCount;
+extern int hf_opcua_CurrentSubscriptionsCount;
+extern int hf_opcua_CurrentTime;
+extern int hf_opcua_DataChangeNotificationsCount;
+extern int hf_opcua_DataStatusCodes;
+extern int hf_opcua_DateTime;
+extern int hf_opcua_DateTimes;
+extern int hf_opcua_DaylightSavingInOffset;
+extern int hf_opcua_DeadbandType;
+extern int hf_opcua_DeadbandValue;
+extern int hf_opcua_DeleteBidirectional;
+extern int hf_opcua_DeleteSubscriptions;
+extern int hf_opcua_DeleteTargetReferences;
+extern int hf_opcua_DisableCount;
+extern int hf_opcua_DisabledMonitoredItemCount;
+extern int hf_opcua_DiscardOldest;
+extern int hf_opcua_DiscardedMessageCount;
+extern int hf_opcua_DiscoveryProfileUri;
+extern int hf_opcua_DiscoveryUrls;
+extern int hf_opcua_Double;
+extern int hf_opcua_Doubles;
+extern int hf_opcua_EnableCount;
+extern int hf_opcua_Encoding;
+extern int hf_opcua_EncryptionAlgorithm;
+extern int hf_opcua_EndTime;
+extern int hf_opcua_EndpointUrl;
+extern int hf_opcua_ErrorCount;
+extern int hf_opcua_EventIds;
+extern int hf_opcua_EventNotificationsCount;
extern int hf_opcua_EventNotifier;
-extern int hf_opcua_IsAbstract;
-extern int hf_opcua_ArraySize;
-extern int hf_opcua_AccessLevel;
-extern int hf_opcua_UserAccessLevel;
-extern int hf_opcua_MinimumSamplingInterval;
-extern int hf_opcua_Historizing;
-extern int hf_opcua_Symmetric;
+extern int hf_opcua_EventQueueOverFlowCount;
extern int hf_opcua_Executable;
-extern int hf_opcua_UserExecutable;
-extern int hf_opcua_ContainsNoLoops;
+extern int hf_opcua_Float;
+extern int hf_opcua_Floats;
+extern int hf_opcua_GatewayServerUri;
+extern int hf_opcua_Guid;
+extern int hf_opcua_Guids;
+extern int hf_opcua_High;
+extern int hf_opcua_Historizing;
+extern int hf_opcua_IncludeSubTypes;
+extern int hf_opcua_IncludeSubtypes;
extern int hf_opcua_Index;
-extern int hf_opcua_Uri;
-extern int hf_opcua_Name;
-extern int hf_opcua_StatusCode;
-extern int hf_opcua_EventId;
-extern int hf_opcua_SourceName;
-extern int hf_opcua_Time;
-extern int hf_opcua_ReceiveTime;
-extern int hf_opcua_Severity;
-extern int hf_opcua_Digest;
-extern int hf_opcua_SymmetricSignature;
-extern int hf_opcua_SymmetricKeyWrap;
-extern int hf_opcua_SymmetricEncryption;
-extern int hf_opcua_SymmetricKeyLength;
-extern int hf_opcua_AsymmetricSignature;
-extern int hf_opcua_AsymmetricKeyWrap;
-extern int hf_opcua_AsymmetricEncryption;
-extern int hf_opcua_MinimumAsymmetricKeyLength;
-extern int hf_opcua_MaximumAsymmetricKeyLength;
-extern int hf_opcua_DerivedKey;
-extern int hf_opcua_DerivedEncryptionKeyLength;
-extern int hf_opcua_DerivedSignatureKeyLength;
-extern int hf_opcua_IssuerType;
-extern int hf_opcua_IssuerUrl;
-extern int hf_opcua_ServerUri;
-extern int hf_opcua_DiscoveryUrls;
-extern int hf_opcua_EndpointUrl;
-extern int hf_opcua_SupportedProfiles;
-extern int hf_opcua_SendTimeout;
-extern int hf_opcua_OperationTimeout;
-extern int hf_opcua_UseBinaryEncoding;
-extern int hf_opcua_MaxMessageSize;
+extern int hf_opcua_IndexRange;
+extern int hf_opcua_InputArgumentResults;
+extern int hf_opcua_Int16;
+extern int hf_opcua_Int16s;
+extern int hf_opcua_Int32;
+extern int hf_opcua_Int32s;
+extern int hf_opcua_Int64;
+extern int hf_opcua_Int64s;
+extern int hf_opcua_InvocationCreationTime;
+extern int hf_opcua_IsAbstract;
+extern int hf_opcua_IsDeleteModified;
+extern int hf_opcua_IsForward;
+extern int hf_opcua_IsInverse;
+extern int hf_opcua_IsOnline;
+extern int hf_opcua_IsReadModified;
+extern int hf_opcua_IssueDate;
+extern int hf_opcua_IssuedBy;
+extern int hf_opcua_IssuedTokenType;
+extern int hf_opcua_IssuerEndpointUrl;
+extern int hf_opcua_Iteration;
+extern int hf_opcua_LastMethodCall;
+extern int hf_opcua_LastMethodCallTime;
+extern int hf_opcua_LastTransitionTime;
+extern int hf_opcua_LatePublishRequestCount;
+extern int hf_opcua_LinksToAdd;
+extern int hf_opcua_LinksToRemove;
+extern int hf_opcua_LocaleIds;
+extern int hf_opcua_Low;
+extern int hf_opcua_ManufacturerName;
+extern int hf_opcua_MaxAge;
extern int hf_opcua_MaxArrayLength;
+extern int hf_opcua_MaxBufferSize;
+extern int hf_opcua_MaxByteStringLength;
+extern int hf_opcua_MaxDataSetsToReturn;
+extern int hf_opcua_MaxKeepAliveCount;
+extern int hf_opcua_MaxLifetimeCount;
+extern int hf_opcua_MaxMessageSize;
+extern int hf_opcua_MaxMonitoredItemCount;
+extern int hf_opcua_MaxNotificationsPerPublish;
+extern int hf_opcua_MaxReferencesToReturn;
+extern int hf_opcua_MaxRequestMessageSize;
+extern int hf_opcua_MaxResponseMessageSize;
extern int hf_opcua_MaxStringLength;
-extern int hf_opcua_UserName;
+extern int hf_opcua_Message;
+extern int hf_opcua_MinimumSamplingInterval;
+extern int hf_opcua_ModifyCount;
+extern int hf_opcua_MonitoredItemCount;
+extern int hf_opcua_MonitoredItemId;
+extern int hf_opcua_MonitoredItemIds;
+extern int hf_opcua_MonitoringQueueOverflowCount;
+extern int hf_opcua_MoreNotifications;
+extern int hf_opcua_Name;
+extern int hf_opcua_NamespaceUri;
+extern int hf_opcua_NextSequenceNumber;
+extern int hf_opcua_NoOfAddDiagnosticInfos;
+extern int hf_opcua_NoOfAddResults;
+extern int hf_opcua_NoOfAggregateType;
+extern int hf_opcua_NoOfArrayDimensions;
+extern int hf_opcua_NoOfAvailableSequenceNumbers;
+extern int hf_opcua_NoOfBooleans;
+extern int hf_opcua_NoOfBrowsePath;
+extern int hf_opcua_NoOfBrowsePaths;
+extern int hf_opcua_NoOfByteStrings;
+extern int hf_opcua_NoOfClientSoftwareCertificates;
+extern int hf_opcua_NoOfClientUserIdHistory;
+extern int hf_opcua_NoOfContinuationPoints;
+extern int hf_opcua_NoOfDataDiagnosticInfos;
+extern int hf_opcua_NoOfDataStatusCodes;
+extern int hf_opcua_NoOfDataToReturn;
+extern int hf_opcua_NoOfDataValues;
+extern int hf_opcua_NoOfDateTimes;
+extern int hf_opcua_NoOfDiagnosticInfos;
+extern int hf_opcua_NoOfDiscoveryUrls;
+extern int hf_opcua_NoOfDoubles;
+extern int hf_opcua_NoOfElementDiagnosticInfos;
+extern int hf_opcua_NoOfElementResults;
+extern int hf_opcua_NoOfElements;
+extern int hf_opcua_NoOfEndpoints;
+extern int hf_opcua_NoOfEnumeratedValues;
+extern int hf_opcua_NoOfEventData;
+extern int hf_opcua_NoOfEventFields;
+extern int hf_opcua_NoOfEvents;
+extern int hf_opcua_NoOfExpandedNodeIds;
+extern int hf_opcua_NoOfExtensionObjects;
+extern int hf_opcua_NoOfFilterOperands;
+extern int hf_opcua_NoOfFloats;
+extern int hf_opcua_NoOfGuids;
+extern int hf_opcua_NoOfHistoryUpdateDetails;
+extern int hf_opcua_NoOfInputArgumentDiagnosticInfos;
+extern int hf_opcua_NoOfInputArgumentResults;
+extern int hf_opcua_NoOfInputArguments;
+extern int hf_opcua_NoOfInt16s;
+extern int hf_opcua_NoOfInt32s;
+extern int hf_opcua_NoOfInt64s;
+extern int hf_opcua_NoOfItemsToCreate;
+extern int hf_opcua_NoOfItemsToModify;
+extern int hf_opcua_NoOfLastMethodInputArguments;
+extern int hf_opcua_NoOfLastMethodOutputArguments;
+extern int hf_opcua_NoOfLinksToAdd;
+extern int hf_opcua_NoOfLinksToRemove;
+extern int hf_opcua_NoOfLocaleIds;
+extern int hf_opcua_NoOfLocalizedTexts;
+extern int hf_opcua_NoOfMethodsToCall;
+extern int hf_opcua_NoOfMonitoredItemIds;
+extern int hf_opcua_NoOfMonitoredItems;
+extern int hf_opcua_NoOfNodeIds;
+extern int hf_opcua_NoOfNodeTypes;
+extern int hf_opcua_NoOfNodesToAdd;
+extern int hf_opcua_NoOfNodesToBrowse;
+extern int hf_opcua_NoOfNodesToDelete;
+extern int hf_opcua_NoOfNodesToRead;
+extern int hf_opcua_NoOfNodesToRegister;
+extern int hf_opcua_NoOfNodesToUnregister;
+extern int hf_opcua_NoOfNodesToWrite;
+extern int hf_opcua_NoOfNotificationData;
+extern int hf_opcua_NoOfOperandDiagnosticInfos;
+extern int hf_opcua_NoOfOperandStatusCodes;
+extern int hf_opcua_NoOfOperationResults;
+extern int hf_opcua_NoOfOutputArguments;
+extern int hf_opcua_NoOfParsingResults;
+extern int hf_opcua_NoOfProfileUris;
+extern int hf_opcua_NoOfQualifiedNames;
+extern int hf_opcua_NoOfQueryDataSets;
+extern int hf_opcua_NoOfReferencedNodeIds;
+extern int hf_opcua_NoOfReferences;
+extern int hf_opcua_NoOfReferencesToAdd;
+extern int hf_opcua_NoOfReferencesToDelete;
+extern int hf_opcua_NoOfRegisteredNodeIds;
+extern int hf_opcua_NoOfRemoveDiagnosticInfos;
+extern int hf_opcua_NoOfRemoveResults;
+extern int hf_opcua_NoOfReqTimes;
+extern int hf_opcua_NoOfResults;
+extern int hf_opcua_NoOfSBytes;
+extern int hf_opcua_NoOfSelectClause;
+extern int hf_opcua_NoOfSelectClauseDiagnosticInfos;
+extern int hf_opcua_NoOfSelectClauseResults;
+extern int hf_opcua_NoOfSelectClauses;
+extern int hf_opcua_NoOfServerEndpoints;
+extern int hf_opcua_NoOfServerNames;
+extern int hf_opcua_NoOfServerSoftwareCertificates;
+extern int hf_opcua_NoOfServerUris;
+extern int hf_opcua_NoOfServers;
+extern int hf_opcua_NoOfStatusCodes;
+extern int hf_opcua_NoOfStringTable;
+extern int hf_opcua_NoOfStrings;
+extern int hf_opcua_NoOfSubscriptionAcknowledgements;
+extern int hf_opcua_NoOfSubscriptionIds;
+extern int hf_opcua_NoOfSupportedProfiles;
+extern int hf_opcua_NoOfTargets;
+extern int hf_opcua_NoOfUInt16s;
+extern int hf_opcua_NoOfUInt32s;
+extern int hf_opcua_NoOfUInt64s;
+extern int hf_opcua_NoOfUnsupportedUnitIds;
+extern int hf_opcua_NoOfUserIdentityTokens;
+extern int hf_opcua_NoOfValues;
+extern int hf_opcua_NoOfVariants;
+extern int hf_opcua_NoOfXmlElements;
+extern int hf_opcua_NodeClassMask;
+extern int hf_opcua_NotificationsCount;
+extern int hf_opcua_NumValuesPerNode;
+extern int hf_opcua_Offset;
+extern int hf_opcua_OperandStatusCodes;
+extern int hf_opcua_OperationResults;
+extern int hf_opcua_OperationTimeout;
+extern int hf_opcua_OrganizationUri;
extern int hf_opcua_Password;
-extern int hf_opcua_HashAlgorithm;
-extern int hf_opcua_CertificateData;
-extern int hf_opcua_TokenData;
-extern int hf_opcua_ProfileUri;
-extern int hf_opcua_ProfileName;
-extern int hf_opcua_ApplicationUri;
-extern int hf_opcua_ManufacturerName;
-extern int hf_opcua_ApplicationName;
-extern int hf_opcua_SoftwareVersion;
-extern int hf_opcua_BuildNumber;
-extern int hf_opcua_BuildDate;
-extern int hf_opcua_IssuedBy;
-extern int hf_opcua_IssuedDate;
-extern int hf_opcua_ExpirationDate;
-extern int hf_opcua_ApplicationCertificate;
-extern int hf_opcua_IssuerCertificateThumbprint;
-extern int hf_opcua_IssuerSignatureAlgorithm;
-extern int hf_opcua_IssuerSignature;
-extern int hf_opcua_IsForward;
-extern int hf_opcua_TargetServerUri;
-extern int hf_opcua_TargetNodeClass;
-extern int hf_opcua_DeleteTargetReferences;
+extern int hf_opcua_PercentDataBad;
+extern int hf_opcua_PercentDataGood;
+extern int hf_opcua_PolicyId;
+extern int hf_opcua_Priority;
+extern int hf_opcua_ProcessingInterval;
+extern int hf_opcua_ProductName;
+extern int hf_opcua_ProductUri;
+extern int hf_opcua_ProfileId;
+extern int hf_opcua_ProfileUris;
+extern int hf_opcua_PublishRequestCount;
+extern int hf_opcua_PublishTime;
+extern int hf_opcua_PublishingEnabled;
+extern int hf_opcua_PublishingInterval;
+extern int hf_opcua_PublishingIntervalCount;
+extern int hf_opcua_QueueSize;
+extern int hf_opcua_RejectedRequestsCount;
+extern int hf_opcua_RejectedSessionCount;
+extern int hf_opcua_ReleaseContinuationPoint;
+extern int hf_opcua_ReleaseContinuationPoints;
+extern int hf_opcua_RemainingPathIndex;
+extern int hf_opcua_RemoveResults;
+extern int hf_opcua_RepublishMessageCount;
+extern int hf_opcua_RepublishMessageRequestCount;
+extern int hf_opcua_RepublishRequestCount;
+extern int hf_opcua_ReqTimes;
+extern int hf_opcua_RequestHandle;
+extern int hf_opcua_RequestedLifetime;
+extern int hf_opcua_RequestedLifetimeCount;
+extern int hf_opcua_RequestedMaxKeepAliveCount;
+extern int hf_opcua_RequestedMaxReferencesPerNode;
+extern int hf_opcua_RequestedPublishingInterval;
+extern int hf_opcua_RequestedSessionTimeout;
+extern int hf_opcua_ResampleInterval;
+extern int hf_opcua_ResultMask;
+extern int hf_opcua_Results;
+extern int hf_opcua_RetransmitSequenceNumber;
+extern int hf_opcua_ReturnBounds;
+extern int hf_opcua_ReturnDiagnostics;
+extern int hf_opcua_RevisedContinuationPoint;
+extern int hf_opcua_RevisedLifetime;
+extern int hf_opcua_RevisedLifetimeCount;
+extern int hf_opcua_RevisedMaxKeepAliveCount;
+extern int hf_opcua_RevisedProcessingInterval;
+extern int hf_opcua_RevisedPublishingInterval;
+extern int hf_opcua_RevisedQueueSize;
+extern int hf_opcua_RevisedSamplingInterval;
+extern int hf_opcua_RevisedSessionTimeout;
+extern int hf_opcua_RevisedStartTime;
+extern int hf_opcua_SByte;
+extern int hf_opcua_SBytes;
+extern int hf_opcua_SamplingInterval;
+extern int hf_opcua_SecondsTillShutdown;
+extern int hf_opcua_SecurityLevel;
+extern int hf_opcua_SecurityPolicyUri;
+extern int hf_opcua_SecurityRejectedRequestsCount;
+extern int hf_opcua_SecurityRejectedSessionCount;
+extern int hf_opcua_SecurityTokenLifetime;
+extern int hf_opcua_SelectClauseResults;
+extern int hf_opcua_SemaphoreFilePath;
+extern int hf_opcua_SendInitialValues;
+extern int hf_opcua_SequenceNumber;
+extern int hf_opcua_ServerCertificate;
extern int hf_opcua_ServerId;
-extern int hf_opcua_ServiceLevel;
-extern int hf_opcua_SamplingRate;
-extern int hf_opcua_SamplingErrorCount;
-extern int hf_opcua_SampledMonitoredItemsCount;
-extern int hf_opcua_MaxSampledMonitoredItemsCount;
-extern int hf_opcua_DisabledMonitoredItemsSamplingCount;
+extern int hf_opcua_ServerNonce;
+extern int hf_opcua_ServerProtocolVersion;
+extern int hf_opcua_ServerUri;
+extern int hf_opcua_ServerUris;
extern int hf_opcua_ServerViewCount;
-extern int hf_opcua_CurrentSessionCount;
-extern int hf_opcua_CumulatedSessionCount;
-extern int hf_opcua_SecurityRejectedSessionCount;
-extern int hf_opcua_RejectSessionCount;
-extern int hf_opcua_SessionTimeoutCount;
+extern int hf_opcua_ServiceLevel;
+extern int hf_opcua_ServiceResult;
extern int hf_opcua_SessionAbortCount;
-extern int hf_opcua_SamplingRateCount;
-extern int hf_opcua_PublishingRateCount;
-extern int hf_opcua_CurrentSubscriptionCount;
-extern int hf_opcua_CumulatedSubscriptionCount;
-extern int hf_opcua_SecurityRejectedRequestsCount;
-extern int hf_opcua_RejectedRequestsCount;
+extern int hf_opcua_SessionName;
+extern int hf_opcua_SessionTimeoutCount;
+extern int hf_opcua_Signature;
+extern int hf_opcua_SoftwareVersion;
+extern int hf_opcua_SpecifiedAttributes;
extern int hf_opcua_StartTime;
-extern int hf_opcua_CurrentTime;
+extern int hf_opcua_Status;
+extern int hf_opcua_StatusCode;
+extern int hf_opcua_StatusCodes;
+extern int hf_opcua_SteppedSlopedExtrapolation;
+extern int hf_opcua_String;
+extern int hf_opcua_StringTable;
+extern int hf_opcua_Strings;
+extern int hf_opcua_SubscriptionId;
+extern int hf_opcua_SubscriptionIds;
+extern int hf_opcua_Symmetric;
+extern int hf_opcua_TargetServerUri;
+extern int hf_opcua_TestId;
+extern int hf_opcua_TimeoutHint;
+extern int hf_opcua_Timestamp;
+extern int hf_opcua_TokenData;
+extern int hf_opcua_TokenId;
extern int hf_opcua_TotalCount;
-extern int hf_opcua_UnauthorizedCount;
-extern int hf_opcua_ErrorCount;
-extern int hf_opcua_ActualSessionTimeout;
-extern int hf_opcua_ClientConnectionTime;
-extern int hf_opcua_ClientLastContactTime;
-extern int hf_opcua_CurrentSubscriptionsCount;
-extern int hf_opcua_CurrentMonitoredItemsCount;
-extern int hf_opcua_CurrentPublishRequestsInQueue;
-extern int hf_opcua_CurrentPublishTimerExpirations;
-extern int hf_opcua_KeepAliveCount;
-extern int hf_opcua_CurrentRepublishRequestsInQueue;
-extern int hf_opcua_MaxRepublishRequestsInQueue;
-extern int hf_opcua_RepublishCounter;
-extern int hf_opcua_PublishingCount;
-extern int hf_opcua_PublishingQueueOverflowCount;
-extern int hf_opcua_ClientUserIdOfSession;
-extern int hf_opcua_ClientUserIdHistory;
-extern int hf_opcua_AuthenticationMechanism;
-extern int hf_opcua_Encoding;
-extern int hf_opcua_TransportProtocol;
-extern int hf_opcua_SecurityPolicy;
-extern int hf_opcua_PublishingInterval;
-extern int hf_opcua_MaxKeepAliveCount;
-extern int hf_opcua_ModifyCount;
-extern int hf_opcua_EnableCount;
-extern int hf_opcua_DisableCount;
-extern int hf_opcua_RepublishRequestCount;
-extern int hf_opcua_RepublishMessageRequestCount;
-extern int hf_opcua_RepublishMessageCount;
extern int hf_opcua_TransferRequestCount;
extern int hf_opcua_TransferredToAltClientCount;
extern int hf_opcua_TransferredToSameClientCount;
-extern int hf_opcua_PublishRequestCount;
-extern int hf_opcua_DataChangeNotificationsCount;
-extern int hf_opcua_EventNotificationsCount;
-extern int hf_opcua_NotificationsCount;
-extern int hf_opcua_LateStateCount;
-extern int hf_opcua_KeepAliveStateCount;
-extern int hf_opcua_Low;
-extern int hf_opcua_High;
-extern int hf_opcua_NamespaceUri;
-extern int hf_opcua_UnitId;
-extern int hf_opcua_Message;
-extern int hf_opcua_AnnotationTime;
-extern int hf_opcua_Id;
-extern int hf_opcua_Description;
-extern int hf_opcua_Timestamp;
-extern int hf_opcua_Boolean;
-extern int hf_opcua_SByte;
-extern int hf_opcua_Byte;
-extern int hf_opcua_Int16;
+extern int hf_opcua_TransportProfileUri;
+extern int hf_opcua_TransportProtocol;
+extern int hf_opcua_TreatUncertainAsBad;
+extern int hf_opcua_TriggeringItemId;
extern int hf_opcua_UInt16;
-extern int hf_opcua_Int32;
-extern int hf_opcua_UInt32;
-extern int hf_opcua_Int64;
-extern int hf_opcua_UInt64;
-extern int hf_opcua_Float;
-extern int hf_opcua_Double;
-extern int hf_opcua_String;
-extern int hf_opcua_DateTime;
-extern int hf_opcua_Guid;
-extern int hf_opcua_ByteString;
-extern int hf_opcua_XmlElement;
-extern int hf_opcua_RequestId;
-extern int hf_opcua_ReturnDiagnostics;
-extern int hf_opcua_AuditLogEntryId;
-extern int hf_opcua_TimeoutHint;
-extern int hf_opcua_ServiceResult;
-extern int hf_opcua_StringTable;
-extern int hf_opcua_Value1;
-extern int hf_opcua_Value2;
-extern int hf_opcua_Booleans;
-extern int hf_opcua_SBytes;
-extern int hf_opcua_Int16s;
extern int hf_opcua_UInt16s;
-extern int hf_opcua_Int32s;
+extern int hf_opcua_UInt32;
extern int hf_opcua_UInt32s;
-extern int hf_opcua_Int64s;
+extern int hf_opcua_UInt64;
extern int hf_opcua_UInt64s;
-extern int hf_opcua_Floats;
-extern int hf_opcua_Doubles;
-extern int hf_opcua_Strings;
-extern int hf_opcua_DateTimes;
-extern int hf_opcua_Guids;
-extern int hf_opcua_ByteStrings;
-extern int hf_opcua_XmlElements;
-extern int hf_opcua_StatusCodes;
-extern int hf_opcua_SemaphoreFilePath;
-extern int hf_opcua_IsOnline;
-extern int hf_opcua_ChannelId;
-extern int hf_opcua_TokenId;
-extern int hf_opcua_CreatedAt;
-extern int hf_opcua_RevisedLifetime;
-extern int hf_opcua_Algorithm;
-extern int hf_opcua_Signature;
-extern int hf_opcua_PropertyStatusCode;
+extern int hf_opcua_UnacknowledgedMessageCount;
+extern int hf_opcua_UnauthorizedRequestCount;
+extern int hf_opcua_UnitId;
+extern int hf_opcua_UnsupportedUnitIds;
+extern int hf_opcua_UseBinaryEncoding;
+extern int hf_opcua_UseSeverCapabilitiesDefaults;
+extern int hf_opcua_UserAccessLevel;
+extern int hf_opcua_UserExecutable;
+extern int hf_opcua_UserName;
+extern int hf_opcua_UserWriteMask;
+extern int hf_opcua_Value;
+extern int hf_opcua_ValueRank;
+extern int hf_opcua_VendorName;
+extern int hf_opcua_VendorProductCertificate;
+extern int hf_opcua_Verb;
extern int hf_opcua_ViewVersion;
-extern int hf_opcua_RelativePath;
-extern int hf_opcua_AttributeId;
-extern int hf_opcua_IndexRange;
-extern int hf_opcua_IncludeSubTypes;
-extern int hf_opcua_Alias;
-extern int hf_opcua_Result;
-extern int hf_opcua_IndexOfInvalidElement;
-extern int hf_opcua_AttributeStatusCodes;
-extern int hf_opcua_NumValuesPerNode;
-extern int hf_opcua_EndTime;
-extern int hf_opcua_IsReadModified;
-extern int hf_opcua_ReturnBounds;
-extern int hf_opcua_ResampleInterval;
-extern int hf_opcua_ReqTimes;
-extern int hf_opcua_ClientHandle;
-extern int hf_opcua_PerformInsert;
-extern int hf_opcua_PerformReplace;
-extern int hf_opcua_IsDeleteModified;
-extern int hf_opcua_OperationResult;
-extern int hf_opcua_InputArgumentResults;
-extern int hf_opcua_DeadbandType;
-extern int hf_opcua_DeadbandValue;
-extern int hf_opcua_SelectClauseResults;
-extern int hf_opcua_SamplingInterval;
-extern int hf_opcua_QueueSize;
-extern int hf_opcua_DiscardOldest;
-extern int hf_opcua_MonitoredItemId;
-extern int hf_opcua_RevisedSamplingInterval;
-extern int hf_opcua_RevisedQueueSize;
-extern int hf_opcua_MonitorItemId;
-extern int hf_opcua_PublishTime;
-extern int hf_opcua_AvailableSequenceNumbersRanges;
+extern int hf_opcua_WriteMask;
+extern int hf_opcua_XmlElement;
+extern int hf_opcua_XmlElements;
/** Register field types. */
void registerFieldTypes(int proto);
+
diff --git a/plugins/opcua/opcua_identifiers.h b/plugins/opcua/opcua_identifiers.h
index d3d66962a6..c63db7b0b6 100644
--- a/plugins/opcua/opcua_identifiers.h
+++ b/plugins/opcua/opcua_identifiers.h
@@ -16,7 +16,7 @@
**
** Description: Parser type definitions.
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 6/10/2007 2:35:22 AM.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
diff --git a/plugins/opcua/opcua_security_layer.c b/plugins/opcua/opcua_security_layer.c
index 44da344b9a..65e82b7e1b 100644
--- a/plugins/opcua/opcua_security_layer.c
+++ b/plugins/opcua/opcua_security_layer.c
@@ -39,24 +39,20 @@ static const value_string g_SecSigTable[] = {
{ 0, NULL }
};
-static int hf_opcua_security_sig = -1;
-static int hf_opcua_security_policy = -1;
-static int hf_opcua_security_channel = -1;
-static int hf_opcua_security_token = -1;
+static int hf_opcua_security_tokenid = -1;
+static int hf_opcua_security_seq = -1;
+static int hf_opcua_security_rqid = -1;
static hf_register_info hf[] =
{
- { &hf_opcua_security_sig,
- { "Security Signature", "security.sig", FT_UINT16, BASE_HEX, VALS(g_SecSigTable), 0x0, "", HFILL }
+ { &hf_opcua_security_tokenid,
+ { "Security Token Id", "security.tokenid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_security_policy,
- { "Security Policy", "security.policy", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL }
+ { &hf_opcua_security_seq,
+ { "Security Sequence Number", "security.seq", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_security_channel,
- { "Secure Channel Id", "security.channel", FT_GUID, BASE_NONE, NULL, 0x0, "", HFILL }
- },
- { &hf_opcua_security_token,
- { "Security Token Id", "security.token", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL }
+ { &hf_opcua_security_rqid,
+ { "Security RequestId", "security.rqid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
}
};
@@ -66,34 +62,14 @@ void registerSecurityLayerTypes(int proto)
proto_register_field_array(proto, hf, array_length(hf));
}
-
/* Security Layer: message parsers
* Only works for Security Policy "NoSecurity" at the moment.
*/
void parseSecurityLayer(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- guint16 Sig;
-
- Sig = tvb_get_letohs(tvb, pOffset[0]);
- proto_tree_add_item(tree, hf_opcua_security_sig, tvb, *pOffset, 2, TRUE); *pOffset+=2;
-
- switch (Sig)
- {
- case 0: /* GetSecurityPolicies */
- break;
- case 1: /* OpenSecureChannel */
- parseGuid(tree, tvb, pOffset, hf_opcua_security_channel);
- parseString(tree, tvb, pOffset, hf_opcua_security_policy);
- break;
- case 2: /* CloseSecureChannel */
- parseGuid(tree, tvb, pOffset, hf_opcua_security_channel);
- parseString(tree, tvb, pOffset, hf_opcua_security_token);
- break;
- case 3: /* Other Services Messages */
- parseGuid(tree, tvb, pOffset, hf_opcua_security_channel);
- parseString(tree, tvb, pOffset, hf_opcua_security_token);
- break;
- }
+ proto_tree_add_item(tree, hf_opcua_security_tokenid, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_security_seq, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_security_rqid, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
diff --git a/plugins/opcua/opcua_serviceparser.c b/plugins/opcua/opcua_serviceparser.c
index 4efba325a8..aa54b02ee1 100644
--- a/plugins/opcua/opcua_serviceparser.c
+++ b/plugins/opcua/opcua_serviceparser.c
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -14,9 +14,9 @@
**
** Project: OpcUa Wireshark Plugin
**
-** Description: OpcUa Service Type Parser
+** Description: OpcUa Complex Type Parser
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 01.04.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -27,13 +27,11 @@
#include <glib.h>
#include <epan/packet.h>
-#include "opcua_serviceparser.h"
#include "opcua_complextypeparser.h"
#include "opcua_enumparser.h"
#include "opcua_simpletypes.h"
#include "opcua_hfindeces.h"
-
gint ett_opcua_TestStackRequest = -1;
void parseTestStackRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -45,7 +43,6 @@ void parseTestStackRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseInt32(subtree, tvb, pOffset, hf_opcua_Iteration);
parseVariant(subtree, tvb, pOffset, "Input");
}
-
gint ett_opcua_TestStackResponse = -1;
void parseTestStackResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -55,7 +52,6 @@ void parseTestStackResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseVariant(subtree, tvb, pOffset, "Output");
}
-
gint ett_opcua_TestStackExRequest = -1;
void parseTestStackExRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -65,9 +61,8 @@ void parseTestStackExRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_TestId);
parseInt32(subtree, tvb, pOffset, hf_opcua_Iteration);
- parseExtensionObject(subtree, tvb, pOffset, "Input");
+ parseCompositeTestType(subtree, tvb, pOffset, "Input");
}
-
gint ett_opcua_TestStackExResponse = -1;
void parseTestStackExResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -75,9 +70,8 @@ void parseTestStackExResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackExResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseExtensionObject(subtree, tvb, pOffset, "Output");
+ parseCompositeTestType(subtree, tvb, pOffset, "Output");
}
-
gint ett_opcua_FindServersRequest = -1;
void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -85,10 +79,12 @@ void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FindServersRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseArrayComplex(subtree, tvb, pOffset, "LocaleIds", parseLocalizedText);
+ parseString(subtree, tvb, pOffset, hf_opcua_EndpointUrl);
+ /* Array length field ignored: NoOfLocaleIds */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
+ /* Array length field ignored: NoOfServerUris */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_ServerUris, parseString);
}
-
gint ett_opcua_FindServersResponse = -1;
void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -96,9 +92,9 @@ void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FindServersResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseArrayComplex(subtree, tvb, pOffset, "Servers", parseServerDescription);
+ /* Array length field ignored: NoOfServers */
+ parseArrayComplex(subtree, tvb, pOffset, "Servers", parseApplicationDescription);
}
-
gint ett_opcua_GetEndpointsRequest = -1;
void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -106,10 +102,12 @@ void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_GetEndpointsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseArrayComplex(subtree, tvb, pOffset, "LocaleIds", parseLocalizedText);
+ parseString(subtree, tvb, pOffset, hf_opcua_EndpointUrl);
+ /* Array length field ignored: NoOfLocaleIds */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
+ /* Array length field ignored: NoOfProfileUris */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_ProfileUris, parseString);
}
-
gint ett_opcua_GetEndpointsResponse = -1;
void parseGetEndpointsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -117,9 +115,9 @@ void parseGetEndpointsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_GetEndpointsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfEndpoints */
parseArrayComplex(subtree, tvb, pOffset, "Endpoints", parseEndpointDescription);
}
-
gint ett_opcua_RegisterServerRequest = -1;
void parseRegisterServerRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -129,7 +127,6 @@ void parseRegisterServerRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseRegisteredServer(subtree, tvb, pOffset, "Server");
}
-
gint ett_opcua_RegisterServerResponse = -1;
void parseRegisterServerResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -138,7 +135,6 @@ void parseRegisterServerResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
}
-
gint ett_opcua_OpenSecureChannelRequest = -1;
void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -146,16 +142,12 @@ void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_OpenSecureChannelRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseByteString(subtree, tvb, pOffset, hf_opcua_ClientCertificate);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_ClientProtocolVersion);
parseSecurityTokenRequestType(subtree, tvb, pOffset);
- parseGuid(subtree, tvb, pOffset, hf_opcua_SecureChannelId);
parseMessageSecurityMode(subtree, tvb, pOffset);
- parseString(subtree, tvb, pOffset, hf_opcua_SecurityPolicyUri);
- parseSecurityPolicy(subtree, tvb, pOffset, "SecurityPolicy");
parseByteString(subtree, tvb, pOffset, hf_opcua_ClientNonce);
- parseInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetime);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetime);
}
-
gint ett_opcua_OpenSecureChannelResponse = -1;
void parseOpenSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -163,11 +155,10 @@ void parseOpenSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_OpenSecureChannelResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseByteString(subtree, tvb, pOffset, hf_opcua_ServerCertificate);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_ServerProtocolVersion);
parseChannelSecurityToken(subtree, tvb, pOffset, "SecurityToken");
parseByteString(subtree, tvb, pOffset, hf_opcua_ServerNonce);
}
-
gint ett_opcua_CloseSecureChannelRequest = -1;
void parseCloseSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -175,9 +166,7 @@ void parseCloseSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSecureChannelRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseGuid(subtree, tvb, pOffset, hf_opcua_SecureChannelId);
}
-
gint ett_opcua_CloseSecureChannelResponse = -1;
void parseCloseSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -186,7 +175,6 @@ void parseCloseSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOff
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
}
-
gint ett_opcua_CreateSessionRequest = -1;
void parseCreateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -194,12 +182,15 @@ void parseCreateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSessionRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseString(subtree, tvb, pOffset, hf_opcua_ClientName);
+ parseApplicationDescription(subtree, tvb, pOffset, "ClientDescription");
+ parseString(subtree, tvb, pOffset, hf_opcua_ServerUri);
+ parseString(subtree, tvb, pOffset, hf_opcua_EndpointUrl);
+ parseString(subtree, tvb, pOffset, hf_opcua_SessionName);
parseByteString(subtree, tvb, pOffset, hf_opcua_ClientNonce);
parseByteString(subtree, tvb, pOffset, hf_opcua_ClientCertificate);
- parseInt32(subtree, tvb, pOffset, hf_opcua_RequestedSessionTimeout);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_RequestedSessionTimeout);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxResponseMessageSize);
}
-
gint ett_opcua_CreateSessionResponse = -1;
void parseCreateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -207,14 +198,18 @@ void parseCreateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSessionResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionId);
- parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedSessionTimeout);
+ parseNodeId(subtree, tvb, pOffset, "SessionId");
+ parseNodeId(subtree, tvb, pOffset, "AuthenticationToken");
+ parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedSessionTimeout);
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);
+ /* Array length field ignored: NoOfServerSoftwareCertificates */
parseArrayComplex(subtree, tvb, pOffset, "ServerSoftwareCertificates", parseSignedSoftwareCertificate);
parseSignatureData(subtree, tvb, pOffset, "ServerSignature");
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxRequestMessageSize);
}
-
gint ett_opcua_ActivateSessionRequest = -1;
void parseActivateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -223,12 +218,13 @@ 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);
+ /* Array length field ignored: NoOfLocaleIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
parseExtensionObject(subtree, tvb, pOffset, "UserIdentityToken");
parseSignatureData(subtree, tvb, pOffset, "UserTokenSignature");
}
-
gint ett_opcua_ActivateSessionResponse = -1;
void parseActivateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -237,10 +233,11 @@ void parseActivateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseByteString(subtree, tvb, pOffset, hf_opcua_ServerNonce);
- parseArraySimple(subtree, tvb, pOffset, hf_opcua_CertificateResults, parseStatusCode);
- parseArrayComplex(subtree, tvb, pOffset, "CertificateDiagnosticInfos", parseDiagnosticInfo);
+ /* Array length field ignored: NoOfResults */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_CloseSessionRequest = -1;
void parseCloseSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -248,8 +245,8 @@ void parseCloseSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSessionRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_DeleteSubscriptions);
}
-
gint ett_opcua_CloseSessionResponse = -1;
void parseCloseSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -258,7 +255,6 @@ void parseCloseSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
}
-
gint ett_opcua_CancelRequest = -1;
void parseCancelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -266,9 +262,8 @@ void parseCancelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CancelRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseUInt32(subtree, tvb, pOffset, hf_opcua_SequenceNumber);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestHandle);
}
-
gint ett_opcua_CancelResponse = -1;
void parseCancelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -276,8 +271,8 @@ void parseCancelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CancelResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_CancelCount);
}
-
gint ett_opcua_AddNodesRequest = -1;
void parseAddNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -285,9 +280,9 @@ void parseAddNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddNodesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfNodesToAdd */
parseArrayComplex(subtree, tvb, pOffset, "NodesToAdd", parseAddNodesItem);
}
-
gint ett_opcua_AddNodesResponse = -1;
void parseAddNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -295,10 +290,11 @@ void parseAddNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddNodesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArrayComplex(subtree, tvb, pOffset, "Results", parseAddNodesResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_AddReferencesRequest = -1;
void parseAddReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -306,9 +302,9 @@ void parseAddReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddReferencesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfReferencesToAdd */
parseArrayComplex(subtree, tvb, pOffset, "ReferencesToAdd", parseAddReferencesItem);
}
-
gint ett_opcua_AddReferencesResponse = -1;
void parseAddReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -316,10 +312,11 @@ void parseAddReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddReferencesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_DeleteNodesRequest = -1;
void parseDeleteNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -327,9 +324,9 @@ void parseDeleteNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteNodesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfNodesToDelete */
parseArrayComplex(subtree, tvb, pOffset, "NodesToDelete", parseDeleteNodesItem);
}
-
gint ett_opcua_DeleteNodesResponse = -1;
void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -337,10 +334,11 @@ void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteNodesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
- parseArrayComplex(subtree, tvb, pOffset, "Diagnostics", parseDiagnosticInfo);
+ /* Array length field ignored: NoOfDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_DeleteReferencesRequest = -1;
void parseDeleteReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -348,9 +346,9 @@ void parseDeleteReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteReferencesRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfReferencesToDelete */
parseArrayComplex(subtree, tvb, pOffset, "ReferencesToDelete", parseDeleteReferencesItem);
}
-
gint ett_opcua_DeleteReferencesResponse = -1;
void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -358,32 +356,11 @@ void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteReferencesResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
-gint ett_opcua_BrowsePropertiesRequest = -1;
-void parseBrowsePropertiesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowsePropertiesRequest");
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePropertiesRequest);
-
- parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseArrayComplex(subtree, tvb, pOffset, "NodesToAccess", parseNodeId);
- parseArrayComplex(subtree, tvb, pOffset, "Properties", parseQualifiedName);
-}
-
-gint ett_opcua_BrowsePropertiesResponse = -1;
-void parseBrowsePropertiesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
- proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowsePropertiesResponse");
- proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePropertiesResponse);
-
- parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseArrayComplex(subtree, tvb, pOffset, "NodeResults", parseBrowsePropertiesResult);
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
-}
-
gint ett_opcua_BrowseRequest = -1;
void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -392,14 +369,10 @@ void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseViewDescription(subtree, tvb, pOffset, "View");
- parseNodeId(subtree, tvb, pOffset, "NodeToBrowse");
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxResultsToReturn);
- parseBrowseDirection(subtree, tvb, pOffset);
- parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
- parseBoolean(subtree, tvb, pOffset, hf_opcua_IncludeSubtypes);
- parseInt32(subtree, tvb, pOffset, hf_opcua_NodeClassMask);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedMaxReferencesPerNode);
+ /* Array length field ignored: NoOfNodesToBrowse */
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToBrowse", parseBrowseDescription);
}
-
gint ett_opcua_BrowseResponse = -1;
void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -407,10 +380,11 @@ void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceDescription);
+ /* Array length field ignored: NoOfResults */
+ parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowseResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_BrowseNextRequest = -1;
void parseBrowseNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -418,10 +392,10 @@ void parseBrowseNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseNextRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoint);
- parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoints);
+ /* Array length field ignored: NoOfContinuationPoints */
+ parseArraySimple(subtree, tvb, pOffset, hf_opcua_ContinuationPoints, parseByteString);
}
-
gint ett_opcua_BrowseNextResponse = -1;
void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -429,10 +403,11 @@ void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseNextResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseByteString(subtree, tvb, pOffset, hf_opcua_RevisedContinuationPoint);
- parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceDescription);
+ /* Array length field ignored: NoOfResults */
+ parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowseResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_TranslateBrowsePathsToNodeIdsRequest = -1;
void parseTranslateBrowsePathsToNodeIdsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -440,9 +415,9 @@ void parseTranslateBrowsePathsToNodeIdsRequest(proto_tree *tree, tvbuff_t *tvb,
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TranslateBrowsePathsToNodeIdsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfBrowsePaths */
parseArrayComplex(subtree, tvb, pOffset, "BrowsePaths", parseBrowsePath);
}
-
gint ett_opcua_TranslateBrowsePathsToNodeIdsResponse = -1;
void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -450,10 +425,49 @@ void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb,
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TranslateBrowsePathsToNodeIdsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseTranslateBrowsePathResult);
+ /* Array length field ignored: NoOfResults */
+ parseArrayComplex(subtree, tvb, pOffset, "Results", parseBrowsePathResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
+gint ett_opcua_RegisterNodesRequest = -1;
+void parseRegisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RegisterNodesRequest");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisterNodesRequest);
+ parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfNodesToRegister */
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToRegister", parseNodeId);
+}
+gint ett_opcua_RegisterNodesResponse = -1;
+void parseRegisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RegisterNodesResponse");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisterNodesResponse);
+
+ parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfRegisteredNodeIds */
+ parseArrayComplex(subtree, tvb, pOffset, "RegisteredNodeIds", parseNodeId);
+}
+gint ett_opcua_UnregisterNodesRequest = -1;
+void parseUnregisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "UnregisterNodesRequest");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UnregisterNodesRequest);
+
+ parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfNodesToUnregister */
+ parseArrayComplex(subtree, tvb, pOffset, "NodesToUnregister", parseNodeId);
+}
+gint ett_opcua_UnregisterNodesResponse = -1;
+void parseUnregisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "UnregisterNodesResponse");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UnregisterNodesResponse);
+
+ parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+}
gint ett_opcua_QueryFirstRequest = -1;
void parseQueryFirstRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -462,14 +476,12 @@ 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);
parseContentFilter(subtree, tvb, pOffset, "Filter");
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxDescriptionsToReturn);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxDataSetsToReturn);
parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxReferencesToReturn);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxReferencedNodesToReturn);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxTime);
}
-
gint ett_opcua_QueryFirstResponse = -1;
void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -477,13 +489,15 @@ void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryFirstResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfQueryDataSets */
parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", parseQueryDataSet);
parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseQueryResult);
- parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfo", parseDiagnosticInfo);
- parseContentFilterResult(subtree, tvb, pOffset, "ContentFilterResult");
+ /* Array length field ignored: NoOfParsingResults */
+ parseArrayComplex(subtree, tvb, pOffset, "ParsingResults", parseParsingResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
+ parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
+ parseContentFilterResult(subtree, tvb, pOffset, "FilterResult");
}
-
gint ett_opcua_QueryNextRequest = -1;
void parseQueryNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -494,7 +508,6 @@ void parseQueryNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoint);
parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
}
-
gint ett_opcua_QueryNextResponse = -1;
void parseQueryNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -502,10 +515,10 @@ void parseQueryNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryNextResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfQueryDataSets */
parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", parseQueryDataSet);
parseByteString(subtree, tvb, pOffset, hf_opcua_RevisedContinuationPoint);
}
-
gint ett_opcua_ReadRequest = -1;
void parseReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -513,11 +526,11 @@ void parseReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseInt32(subtree, tvb, pOffset, hf_opcua_MaxAge);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_MaxAge);
parseTimestampsToReturn(subtree, tvb, pOffset);
+ /* Array length field ignored: NoOfNodesToRead */
parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", parseReadValueId);
}
-
gint ett_opcua_ReadResponse = -1;
void parseReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -525,10 +538,11 @@ void parseReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArrayComplex(subtree, tvb, pOffset, "Results", parseDataValue);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_HistoryReadRequest = -1;
void parseHistoryReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -539,9 +553,9 @@ void parseHistoryReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseExtensionObject(subtree, tvb, pOffset, "HistoryReadDetails");
parseTimestampsToReturn(subtree, tvb, pOffset);
parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoints);
+ /* Array length field ignored: NoOfNodesToRead */
parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", parseHistoryReadValueId);
}
-
gint ett_opcua_HistoryReadResponse = -1;
void parseHistoryReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -549,10 +563,11 @@ void parseHistoryReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryReadResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArrayComplex(subtree, tvb, pOffset, "Results", parseHistoryReadResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_WriteRequest = -1;
void parseWriteRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -560,9 +575,9 @@ void parseWriteRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_WriteRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfNodesToWrite */
parseArrayComplex(subtree, tvb, pOffset, "NodesToWrite", parseWriteValue);
}
-
gint ett_opcua_WriteResponse = -1;
void parseWriteResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -570,10 +585,11 @@ void parseWriteResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_WriteResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_HistoryUpdateRequest = -1;
void parseHistoryUpdateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -581,9 +597,9 @@ void parseHistoryUpdateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfHistoryUpdateDetails */
parseArrayComplex(subtree, tvb, pOffset, "HistoryUpdateDetails", parseExtensionObject);
}
-
gint ett_opcua_HistoryUpdateResponse = -1;
void parseHistoryUpdateResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -591,10 +607,11 @@ void parseHistoryUpdateResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArrayComplex(subtree, tvb, pOffset, "Results", parseHistoryUpdateResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_CallRequest = -1;
void parseCallRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -602,9 +619,9 @@ void parseCallRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseArrayComplex(subtree, tvb, pOffset, "MethodsToCall", parseCallRequestItem);
+ /* Array length field ignored: NoOfMethodsToCall */
+ parseArrayComplex(subtree, tvb, pOffset, "MethodsToCall", parseCallMethodRequest);
}
-
gint ett_opcua_CallResponse = -1;
void parseCallResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -612,10 +629,11 @@ void parseCallResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseArrayComplex(subtree, tvb, pOffset, "Results", parseCallResultItem);
+ /* Array length field ignored: NoOfResults */
+ parseArrayComplex(subtree, tvb, pOffset, "Results", parseCallMethodResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_CreateMonitoredItemsRequest = -1;
void parseCreateMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -625,9 +643,9 @@ void parseCreateMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOf
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseTimestampsToReturn(subtree, tvb, pOffset);
+ /* Array length field ignored: NoOfItemsToCreate */
parseArrayComplex(subtree, tvb, pOffset, "ItemsToCreate", parseMonitoredItemCreateRequest);
}
-
gint ett_opcua_CreateMonitoredItemsResponse = -1;
void parseCreateMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -635,10 +653,11 @@ void parseCreateMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateMonitoredItemsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArrayComplex(subtree, tvb, pOffset, "Results", parseMonitoredItemCreateResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_ModifyMonitoredItemsRequest = -1;
void parseModifyMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -648,9 +667,9 @@ void parseModifyMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOf
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseTimestampsToReturn(subtree, tvb, pOffset);
+ /* Array length field ignored: NoOfItemsToModify */
parseArrayComplex(subtree, tvb, pOffset, "ItemsToModify", parseMonitoredItemModifyRequest);
}
-
gint ett_opcua_ModifyMonitoredItemsResponse = -1;
void parseModifyMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -658,10 +677,11 @@ void parseModifyMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifyMonitoredItemsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArrayComplex(subtree, tvb, pOffset, "Results", parseMonitoredItemModifyResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_SetMonitoringModeRequest = -1;
void parseSetMonitoringModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -671,9 +691,9 @@ void parseSetMonitoringModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffse
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseMonitoringMode(subtree, tvb, pOffset);
+ /* Array length field ignored: NoOfMonitoredItemIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_MonitoredItemIds, parseUInt32);
}
-
gint ett_opcua_SetMonitoringModeResponse = -1;
void parseSetMonitoringModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -681,10 +701,11 @@ void parseSetMonitoringModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetMonitoringModeResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_SetTriggeringRequest = -1;
void parseSetTriggeringRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -694,10 +715,11 @@ void parseSetTriggeringRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
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);
+ /* Array length field ignored: NoOfLinksToRemove */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_LinksToRemove, parseUInt32);
}
-
gint ett_opcua_SetTriggeringResponse = -1;
void parseSetTriggeringResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -705,12 +727,15 @@ void parseSetTriggeringResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetTriggeringResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfAddResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_AddResults, parseStatusCode);
+ /* Array length field ignored: NoOfAddDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "AddDiagnosticInfos", parseDiagnosticInfo);
+ /* Array length field ignored: NoOfRemoveResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_RemoveResults, parseStatusCode);
+ /* Array length field ignored: NoOfRemoveDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "RemoveDiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_DeleteMonitoredItemsRequest = -1;
void parseDeleteMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -719,9 +744,9 @@ 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);
}
-
gint ett_opcua_DeleteMonitoredItemsResponse = -1;
void parseDeleteMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -729,10 +754,11 @@ void parseDeleteMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pO
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteMonitoredItemsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_CreateSubscriptionRequest = -1;
void parseCreateSubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -740,13 +766,13 @@ void parseCreateSubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSubscriptionRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
- parseInt32(subtree, tvb, pOffset, hf_opcua_RequestedPublishingInterval);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetimeCounter);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_RequestedPublishingInterval);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetimeCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedMaxKeepAliveCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxNotificationsPerPublish);
parseBoolean(subtree, tvb, pOffset, hf_opcua_PublishingEnabled);
parseByte(subtree, tvb, pOffset, hf_opcua_Priority);
}
-
gint ett_opcua_CreateSubscriptionResponse = -1;
void parseCreateSubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -755,11 +781,10 @@ void parseCreateSubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOff
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
- parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedPublishingInterval);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetimeCounter);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedPublishingInterval);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetimeCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedMaxKeepAliveCount);
}
-
gint ett_opcua_ModifySubscriptionRequest = -1;
void parseModifySubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -768,12 +793,12 @@ void parseModifySubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
- parseInt32(subtree, tvb, pOffset, hf_opcua_RequestedPublishingInterval);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetimeCounter);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_RequestedPublishingInterval);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetimeCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedMaxKeepAliveCount);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxNotificationsPerPublish);
parseByte(subtree, tvb, pOffset, hf_opcua_Priority);
}
-
gint ett_opcua_ModifySubscriptionResponse = -1;
void parseModifySubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -781,11 +806,10 @@ void parseModifySubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOff
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifySubscriptionResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
- parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedPublishingInterval);
- parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetimeCounter);
+ parseDouble(subtree, tvb, pOffset, hf_opcua_RevisedPublishingInterval);
+ parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetimeCount);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedMaxKeepAliveCount);
}
-
gint ett_opcua_SetPublishingModeRequest = -1;
void parseSetPublishingModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -794,9 +818,9 @@ 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);
}
-
gint ett_opcua_SetPublishingModeResponse = -1;
void parseSetPublishingModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -804,10 +828,11 @@ void parseSetPublishingModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffs
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetPublishingModeResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_PublishRequest = -1;
void parsePublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -815,9 +840,9 @@ void parsePublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_PublishRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfSubscriptionAcknowledgements */
parseArrayComplex(subtree, tvb, pOffset, "SubscriptionAcknowledgements", parseSubscriptionAcknowledgement);
}
-
gint ett_opcua_PublishResponse = -1;
void parsePublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -826,13 +851,15 @@ 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);
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);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_RepublishRequest = -1;
void parseRepublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -843,7 +870,6 @@ void parseRepublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
parseUInt32(subtree, tvb, pOffset, hf_opcua_RetransmitSequenceNumber);
}
-
gint ett_opcua_RepublishResponse = -1;
void parseRepublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -853,7 +879,6 @@ void parseRepublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
parseNotificationMessage(subtree, tvb, pOffset, "NotificationMessage");
}
-
gint ett_opcua_TransferSubscriptionsRequest = -1;
void parseTransferSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -861,9 +886,10 @@ void parseTransferSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pO
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TransferSubscriptionsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfSubscriptionIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
+ parseBoolean(subtree, tvb, pOffset, hf_opcua_SendInitialValues);
}
-
gint ett_opcua_TransferSubscriptionsResponse = -1;
void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -871,10 +897,11 @@ void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *p
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TransferSubscriptionsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArrayComplex(subtree, tvb, pOffset, "Results", parseTransferResult);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
-
gint ett_opcua_DeleteSubscriptionsRequest = -1;
void parseDeleteSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -882,9 +909,9 @@ void parseDeleteSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOff
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteSubscriptionsRequest);
parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
+ /* Array length field ignored: NoOfSubscriptionIds */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
}
-
gint ett_opcua_DeleteSubscriptionsResponse = -1;
void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
@@ -892,7 +919,9 @@ void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOf
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteSubscriptionsResponse);
parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
+ /* Array length field ignored: NoOfResults */
parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
+ /* Array length field ignored: NoOfDiagnosticInfos */
parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
}
@@ -929,14 +958,16 @@ static gint *ett[] =
&ett_opcua_DeleteNodesResponse,
&ett_opcua_DeleteReferencesRequest,
&ett_opcua_DeleteReferencesResponse,
- &ett_opcua_BrowsePropertiesRequest,
- &ett_opcua_BrowsePropertiesResponse,
&ett_opcua_BrowseRequest,
&ett_opcua_BrowseResponse,
&ett_opcua_BrowseNextRequest,
&ett_opcua_BrowseNextResponse,
&ett_opcua_TranslateBrowsePathsToNodeIdsRequest,
&ett_opcua_TranslateBrowsePathsToNodeIdsResponse,
+ &ett_opcua_RegisterNodesRequest,
+ &ett_opcua_RegisterNodesResponse,
+ &ett_opcua_UnregisterNodesRequest,
+ &ett_opcua_UnregisterNodesResponse,
&ett_opcua_QueryFirstRequest,
&ett_opcua_QueryFirstResponse,
&ett_opcua_QueryNextRequest,
diff --git a/plugins/opcua/opcua_serviceparser.h b/plugins/opcua/opcua_serviceparser.h
index b6b57d1f75..a71ecfd96c 100644
--- a/plugins/opcua/opcua_serviceparser.h
+++ b/plugins/opcua/opcua_serviceparser.h
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -16,7 +16,7 @@
**
** Description: OpcUa Service Type Parser
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 31.03.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -58,14 +58,16 @@ void parseDeleteNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseBrowsePropertiesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseBrowsePropertiesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTranslateBrowsePathsToNodeIdsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseRegisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseRegisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseUnregisterNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseUnregisterNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseQueryFirstRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseQueryNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
@@ -104,4 +106,4 @@ void parseTransferSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pO
void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void registerServiceTypes(void);
+void registerServiceTypes();
diff --git a/plugins/opcua/opcua_servicetable.c b/plugins/opcua/opcua_servicetable.c
index bf42699c13..784e78a3c1 100644
--- a/plugins/opcua/opcua_servicetable.c
+++ b/plugins/opcua/opcua_servicetable.c
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -16,7 +16,7 @@
**
** Description: Service table and service dispatcher.
**
-** This file was autogenerated on 8.5.2007 18:53:26.
+** This file was autogenerated on 31.03.2009.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/
@@ -29,167 +29,171 @@
#include <epan/packet.h>
#include "opcua_identifiers.h"
#include "opcua_serviceparser.h"
+#include "opcua_serviceids.h"
ParserEntry g_arParserTable[] = {
- { 1358, parseTestStackRequest },
- { 1363, parseTestStackResponse },
- { 1368, parseTestStackExRequest },
- { 1373, parseTestStackExResponse },
- { 1414, parseFindServersRequest },
- { 1419, parseFindServersResponse },
- { 1424, parseGetEndpointsRequest },
- { 1429, parseGetEndpointsResponse },
- { 1439, parseRegisterServerRequest },
- { 1444, parseRegisterServerResponse },
- { 1454, parseOpenSecureChannelRequest },
- { 1459, parseOpenSecureChannelResponse },
- { 1464, parseCloseSecureChannelRequest },
- { 1469, parseCloseSecureChannelResponse },
- { 1479, parseCreateSessionRequest },
- { 1484, parseCreateSessionResponse },
- { 1489, parseActivateSessionRequest },
- { 1494, parseActivateSessionResponse },
- { 1499, parseCloseSessionRequest },
- { 1504, parseCloseSessionResponse },
- { 1509, parseCancelRequest },
- { 1514, parseCancelResponse },
- { 1524, parseAddNodesRequest },
- { 1529, parseAddNodesResponse },
- { 1534, parseAddReferencesRequest },
- { 1539, parseAddReferencesResponse },
- { 1544, parseDeleteNodesRequest },
- { 1549, parseDeleteNodesResponse },
- { 1554, parseDeleteReferencesRequest },
- { 1559, parseDeleteReferencesResponse },
- { 1574, parseBrowsePropertiesRequest },
- { 1579, parseBrowsePropertiesResponse },
- { 1599, parseBrowseRequest },
- { 1604, parseBrowseResponse },
- { 1609, parseBrowseNextRequest },
- { 1614, parseBrowseNextResponse },
- { 1630, parseTranslateBrowsePathsToNodeIdsRequest },
- { 1635, parseTranslateBrowsePathsToNodeIdsResponse },
- { 1710, parseQueryFirstRequest },
- { 1715, parseQueryFirstResponse },
- { 1720, parseQueryNextRequest },
- { 1725, parseQueryNextResponse },
- { 1740, parseReadRequest },
- { 1745, parseReadResponse },
- { 1790, parseHistoryReadRequest },
- { 1795, parseHistoryReadResponse },
- { 1805, parseWriteRequest },
- { 1810, parseWriteResponse },
- { 1845, parseHistoryUpdateRequest },
- { 1850, parseHistoryUpdateResponse },
- { 1865, parseCallRequest },
- { 1870, parseCallResponse },
- { 1930, parseCreateMonitoredItemsRequest },
- { 1935, parseCreateMonitoredItemsResponse },
- { 1950, parseModifyMonitoredItemsRequest },
- { 1955, parseModifyMonitoredItemsResponse },
- { 1960, parseSetMonitoringModeRequest },
- { 1965, parseSetMonitoringModeResponse },
- { 1970, parseSetTriggeringRequest },
- { 1975, parseSetTriggeringResponse },
- { 1980, parseDeleteMonitoredItemsRequest },
- { 1985, parseDeleteMonitoredItemsResponse },
- { 1990, parseCreateSubscriptionRequest },
- { 1995, parseCreateSubscriptionResponse },
- { 2000, parseModifySubscriptionRequest },
- { 2005, parseModifySubscriptionResponse },
- { 2010, parseSetPublishingModeRequest },
- { 2015, parseSetPublishingModeResponse },
- { 2050, parsePublishRequest },
- { 2055, parsePublishResponse },
- { 2060, parseRepublishRequest },
- { 2065, parseRepublishResponse },
- { 2075, parseTransferSubscriptionsRequest },
- { 2080, parseTransferSubscriptionsResponse },
- { 2085, parseDeleteSubscriptionsRequest },
- { 2090, parseDeleteSubscriptionsResponse }
-
+ { OpcUaId_TestStackRequest_Encoding_DefaultBinary, parseTestStackRequest },
+ { OpcUaId_TestStackResponse_Encoding_DefaultBinary, parseTestStackResponse },
+ { OpcUaId_TestStackExRequest_Encoding_DefaultBinary, parseTestStackExRequest },
+ { OpcUaId_TestStackExResponse_Encoding_DefaultBinary, parseTestStackExResponse },
+ { OpcUaId_FindServersRequest_Encoding_DefaultBinary, parseFindServersRequest },
+ { OpcUaId_FindServersResponse_Encoding_DefaultBinary, parseFindServersResponse },
+ { OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary, parseGetEndpointsRequest },
+ { OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary, parseGetEndpointsResponse },
+ { OpcUaId_RegisterServerRequest_Encoding_DefaultBinary, parseRegisterServerRequest },
+ { OpcUaId_RegisterServerResponse_Encoding_DefaultBinary, parseRegisterServerResponse },
+ { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary, parseOpenSecureChannelRequest },
+ { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary, parseOpenSecureChannelResponse },
+ { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary, parseCloseSecureChannelRequest },
+ { OpcUaId_CloseSecureChannelResponse_Encoding_DefaultBinary, parseCloseSecureChannelResponse },
+ { OpcUaId_CreateSessionRequest_Encoding_DefaultBinary, parseCreateSessionRequest },
+ { OpcUaId_CreateSessionResponse_Encoding_DefaultBinary, parseCreateSessionResponse },
+ { OpcUaId_ActivateSessionRequest_Encoding_DefaultBinary, parseActivateSessionRequest },
+ { OpcUaId_ActivateSessionResponse_Encoding_DefaultBinary, parseActivateSessionResponse },
+ { OpcUaId_CloseSessionRequest_Encoding_DefaultBinary, parseCloseSessionRequest },
+ { OpcUaId_CloseSessionResponse_Encoding_DefaultBinary, parseCloseSessionResponse },
+ { OpcUaId_CancelRequest_Encoding_DefaultBinary, parseCancelRequest },
+ { OpcUaId_CancelResponse_Encoding_DefaultBinary, parseCancelResponse },
+ { OpcUaId_AddNodesRequest_Encoding_DefaultBinary, parseAddNodesRequest },
+ { OpcUaId_AddNodesResponse_Encoding_DefaultBinary, parseAddNodesResponse },
+ { OpcUaId_AddReferencesRequest_Encoding_DefaultBinary, parseAddReferencesRequest },
+ { OpcUaId_AddReferencesResponse_Encoding_DefaultBinary, parseAddReferencesResponse },
+ { OpcUaId_DeleteNodesRequest_Encoding_DefaultBinary, parseDeleteNodesRequest },
+ { OpcUaId_DeleteNodesResponse_Encoding_DefaultBinary, parseDeleteNodesResponse },
+ { OpcUaId_DeleteReferencesRequest_Encoding_DefaultBinary, parseDeleteReferencesRequest },
+ { OpcUaId_DeleteReferencesResponse_Encoding_DefaultBinary, parseDeleteReferencesResponse },
+ { OpcUaId_BrowseRequest_Encoding_DefaultBinary, parseBrowseRequest },
+ { OpcUaId_BrowseResponse_Encoding_DefaultBinary, parseBrowseResponse },
+ { OpcUaId_BrowseNextRequest_Encoding_DefaultBinary, parseBrowseNextRequest },
+ { OpcUaId_BrowseNextResponse_Encoding_DefaultBinary, parseBrowseNextResponse },
+ { OpcUaId_TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary, parseTranslateBrowsePathsToNodeIdsRequest },
+ { OpcUaId_TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary, parseTranslateBrowsePathsToNodeIdsResponse },
+ { OpcUaId_RegisterNodesRequest_Encoding_DefaultBinary, parseRegisterNodesRequest },
+ { OpcUaId_RegisterNodesResponse_Encoding_DefaultBinary, parseRegisterNodesResponse },
+ { OpcUaId_UnregisterNodesRequest_Encoding_DefaultBinary, parseUnregisterNodesRequest },
+ { OpcUaId_UnregisterNodesResponse_Encoding_DefaultBinary, parseUnregisterNodesResponse },
+ { OpcUaId_QueryFirstRequest_Encoding_DefaultBinary, parseQueryFirstRequest },
+ { OpcUaId_QueryFirstResponse_Encoding_DefaultBinary, parseQueryFirstResponse },
+ { OpcUaId_QueryNextRequest_Encoding_DefaultBinary, parseQueryNextRequest },
+ { OpcUaId_QueryNextResponse_Encoding_DefaultBinary, parseQueryNextResponse },
+ { OpcUaId_ReadRequest_Encoding_DefaultBinary, parseReadRequest },
+ { OpcUaId_ReadResponse_Encoding_DefaultBinary, parseReadResponse },
+ { OpcUaId_HistoryReadRequest_Encoding_DefaultBinary, parseHistoryReadRequest },
+ { OpcUaId_HistoryReadResponse_Encoding_DefaultBinary, parseHistoryReadResponse },
+ { OpcUaId_WriteRequest_Encoding_DefaultBinary, parseWriteRequest },
+ { OpcUaId_WriteResponse_Encoding_DefaultBinary, parseWriteResponse },
+ { OpcUaId_HistoryUpdateRequest_Encoding_DefaultBinary, parseHistoryUpdateRequest },
+ { OpcUaId_HistoryUpdateResponse_Encoding_DefaultBinary, parseHistoryUpdateResponse },
+ { OpcUaId_CallRequest_Encoding_DefaultBinary, parseCallRequest },
+ { OpcUaId_CallResponse_Encoding_DefaultBinary, parseCallResponse },
+ { OpcUaId_CreateMonitoredItemsRequest_Encoding_DefaultBinary, parseCreateMonitoredItemsRequest },
+ { OpcUaId_CreateMonitoredItemsResponse_Encoding_DefaultBinary, parseCreateMonitoredItemsResponse },
+ { OpcUaId_ModifyMonitoredItemsRequest_Encoding_DefaultBinary, parseModifyMonitoredItemsRequest },
+ { OpcUaId_ModifyMonitoredItemsResponse_Encoding_DefaultBinary, parseModifyMonitoredItemsResponse },
+ { OpcUaId_SetMonitoringModeRequest_Encoding_DefaultBinary, parseSetMonitoringModeRequest },
+ { OpcUaId_SetMonitoringModeResponse_Encoding_DefaultBinary, parseSetMonitoringModeResponse },
+ { OpcUaId_SetTriggeringRequest_Encoding_DefaultBinary, parseSetTriggeringRequest },
+ { OpcUaId_SetTriggeringResponse_Encoding_DefaultBinary, parseSetTriggeringResponse },
+ { OpcUaId_DeleteMonitoredItemsRequest_Encoding_DefaultBinary, parseDeleteMonitoredItemsRequest },
+ { OpcUaId_DeleteMonitoredItemsResponse_Encoding_DefaultBinary, parseDeleteMonitoredItemsResponse },
+ { OpcUaId_CreateSubscriptionRequest_Encoding_DefaultBinary, parseCreateSubscriptionRequest },
+ { OpcUaId_CreateSubscriptionResponse_Encoding_DefaultBinary, parseCreateSubscriptionResponse },
+ { OpcUaId_ModifySubscriptionRequest_Encoding_DefaultBinary, parseModifySubscriptionRequest },
+ { OpcUaId_ModifySubscriptionResponse_Encoding_DefaultBinary, parseModifySubscriptionResponse },
+ { OpcUaId_SetPublishingModeRequest_Encoding_DefaultBinary, parseSetPublishingModeRequest },
+ { OpcUaId_SetPublishingModeResponse_Encoding_DefaultBinary, parseSetPublishingModeResponse },
+ { OpcUaId_PublishRequest_Encoding_DefaultBinary, parsePublishRequest },
+ { OpcUaId_PublishResponse_Encoding_DefaultBinary, parsePublishResponse },
+ { OpcUaId_RepublishRequest_Encoding_DefaultBinary, parseRepublishRequest },
+ { OpcUaId_RepublishResponse_Encoding_DefaultBinary, parseRepublishResponse },
+ { OpcUaId_TransferSubscriptionsRequest_Encoding_DefaultBinary, parseTransferSubscriptionsRequest },
+ { OpcUaId_TransferSubscriptionsResponse_Encoding_DefaultBinary, parseTransferSubscriptionsResponse },
+ { OpcUaId_DeleteSubscriptionsRequest_Encoding_DefaultBinary, parseDeleteSubscriptionsRequest },
+ { OpcUaId_DeleteSubscriptionsResponse_Encoding_DefaultBinary, parseDeleteSubscriptionsResponse },
};
const int g_NumServices = sizeof(g_arParserTable) / sizeof(ParserEntry);
/** Service type table */
const value_string g_requesttypes[] = {
- { 1358, "TestStackRequest" },
- { 1363, "TestStackResponse" },
- { 1368, "TestStackExRequest" },
- { 1373, "TestStackExResponse" },
- { 1414, "FindServersRequest" },
- { 1419, "FindServersResponse" },
- { 1424, "GetEndpointsRequest" },
- { 1429, "GetEndpointsResponse" },
- { 1439, "RegisterServerRequest" },
- { 1444, "RegisterServerResponse" },
- { 1454, "OpenSecureChannelRequest" },
- { 1459, "OpenSecureChannelResponse" },
- { 1464, "CloseSecureChannelRequest" },
- { 1469, "CloseSecureChannelResponse" },
- { 1479, "CreateSessionRequest" },
- { 1484, "CreateSessionResponse" },
- { 1489, "ActivateSessionRequest" },
- { 1494, "ActivateSessionResponse" },
- { 1499, "CloseSessionRequest" },
- { 1504, "CloseSessionResponse" },
- { 1509, "CancelRequest" },
- { 1514, "CancelResponse" },
- { 1524, "AddNodesRequest" },
- { 1529, "AddNodesResponse" },
- { 1534, "AddReferencesRequest" },
- { 1539, "AddReferencesResponse" },
- { 1544, "DeleteNodesRequest" },
- { 1549, "DeleteNodesResponse" },
- { 1554, "DeleteReferencesRequest" },
- { 1559, "DeleteReferencesResponse" },
- { 1574, "BrowsePropertiesRequest" },
- { 1579, "BrowsePropertiesResponse" },
- { 1599, "BrowseRequest" },
- { 1604, "BrowseResponse" },
- { 1609, "BrowseNextRequest" },
- { 1614, "BrowseNextResponse" },
- { 1630, "TranslateBrowsePathsToNodeIdsRequest" },
- { 1635, "TranslateBrowsePathsToNodeIdsResponse" },
- { 1710, "QueryFirstRequest" },
- { 1715, "QueryFirstResponse" },
- { 1720, "QueryNextRequest" },
- { 1725, "QueryNextResponse" },
- { 1740, "ReadRequest" },
- { 1745, "ReadResponse" },
- { 1790, "HistoryReadRequest" },
- { 1795, "HistoryReadResponse" },
- { 1805, "WriteRequest" },
- { 1810, "WriteResponse" },
- { 1845, "HistoryUpdateRequest" },
- { 1850, "HistoryUpdateResponse" },
- { 1865, "CallRequest" },
- { 1870, "CallResponse" },
- { 1930, "CreateMonitoredItemsRequest" },
- { 1935, "CreateMonitoredItemsResponse" },
- { 1950, "ModifyMonitoredItemsRequest" },
- { 1955, "ModifyMonitoredItemsResponse" },
- { 1960, "SetMonitoringModeRequest" },
- { 1965, "SetMonitoringModeResponse" },
- { 1970, "SetTriggeringRequest" },
- { 1975, "SetTriggeringResponse" },
- { 1980, "DeleteMonitoredItemsRequest" },
- { 1985, "DeleteMonitoredItemsResponse" },
- { 1990, "CreateSubscriptionRequest" },
- { 1995, "CreateSubscriptionResponse" },
- { 2000, "ModifySubscriptionRequest" },
- { 2005, "ModifySubscriptionResponse" },
- { 2010, "SetPublishingModeRequest" },
- { 2015, "SetPublishingModeResponse" },
- { 2050, "PublishRequest" },
- { 2055, "PublishResponse" },
- { 2060, "RepublishRequest" },
- { 2065, "RepublishResponse" },
- { 2075, "TransferSubscriptionsRequest" },
- { 2080, "TransferSubscriptionsResponse" },
- { 2085, "DeleteSubscriptionsRequest" },
- { 2090, "DeleteSubscriptionsResponse" },
- { 0, NULL }
+ { OpcUaId_TestStackRequest_Encoding_DefaultBinary, "TestStackRequest" },
+ { OpcUaId_TestStackResponse_Encoding_DefaultBinary, "TestStackResponse" },
+ { OpcUaId_TestStackExRequest_Encoding_DefaultBinary, "TestStackExRequest" },
+ { OpcUaId_TestStackExResponse_Encoding_DefaultBinary, "TestStackExResponse" },
+ { OpcUaId_FindServersRequest_Encoding_DefaultBinary, "FindServersRequest" },
+ { OpcUaId_FindServersResponse_Encoding_DefaultBinary, "FindServersResponse" },
+ { OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary, "GetEndpointsRequest" },
+ { OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary, "GetEndpointsResponse" },
+ { OpcUaId_RegisterServerRequest_Encoding_DefaultBinary, "RegisterServerRequest" },
+ { OpcUaId_RegisterServerResponse_Encoding_DefaultBinary, "RegisterServerResponse" },
+ { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary, "OpenSecureChannelRequest" },
+ { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary, "OpenSecureChannelResponse" },
+ { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary, "CloseSecureChannelRequest" },
+ { OpcUaId_CloseSecureChannelResponse_Encoding_DefaultBinary, "CloseSecureChannelResponse" },
+ { OpcUaId_CreateSessionRequest_Encoding_DefaultBinary, "CreateSessionRequest" },
+ { OpcUaId_CreateSessionResponse_Encoding_DefaultBinary, "CreateSessionResponse" },
+ { OpcUaId_ActivateSessionRequest_Encoding_DefaultBinary, "ActivateSessionRequest" },
+ { OpcUaId_ActivateSessionResponse_Encoding_DefaultBinary, "ActivateSessionResponse" },
+ { OpcUaId_CloseSessionRequest_Encoding_DefaultBinary, "CloseSessionRequest" },
+ { OpcUaId_CloseSessionResponse_Encoding_DefaultBinary, "CloseSessionResponse" },
+ { OpcUaId_CancelRequest_Encoding_DefaultBinary, "CancelRequest" },
+ { OpcUaId_CancelResponse_Encoding_DefaultBinary, "CancelResponse" },
+ { OpcUaId_AddNodesRequest_Encoding_DefaultBinary, "AddNodesRequest" },
+ { OpcUaId_AddNodesResponse_Encoding_DefaultBinary, "AddNodesResponse" },
+ { OpcUaId_AddReferencesRequest_Encoding_DefaultBinary, "AddReferencesRequest" },
+ { OpcUaId_AddReferencesResponse_Encoding_DefaultBinary, "AddReferencesResponse" },
+ { OpcUaId_DeleteNodesRequest_Encoding_DefaultBinary, "DeleteNodesRequest" },
+ { OpcUaId_DeleteNodesResponse_Encoding_DefaultBinary, "DeleteNodesResponse" },
+ { OpcUaId_DeleteReferencesRequest_Encoding_DefaultBinary, "DeleteReferencesRequest" },
+ { OpcUaId_DeleteReferencesResponse_Encoding_DefaultBinary, "DeleteReferencesResponse" },
+ { OpcUaId_BrowseRequest_Encoding_DefaultBinary, "BrowseRequest" },
+ { OpcUaId_BrowseResponse_Encoding_DefaultBinary, "BrowseResponse" },
+ { OpcUaId_BrowseNextRequest_Encoding_DefaultBinary, "BrowseNextRequest" },
+ { OpcUaId_BrowseNextResponse_Encoding_DefaultBinary, "BrowseNextResponse" },
+ { OpcUaId_TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary, "TranslateBrowsePathsToNodeIdsRequest" },
+ { OpcUaId_TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary, "TranslateBrowsePathsToNodeIdsResponse" },
+ { OpcUaId_RegisterNodesRequest_Encoding_DefaultBinary, "RegisterNodesRequest" },
+ { OpcUaId_RegisterNodesResponse_Encoding_DefaultBinary, "RegisterNodesResponse" },
+ { OpcUaId_UnregisterNodesRequest_Encoding_DefaultBinary, "UnregisterNodesRequest" },
+ { OpcUaId_UnregisterNodesResponse_Encoding_DefaultBinary, "UnregisterNodesResponse" },
+ { OpcUaId_QueryFirstRequest_Encoding_DefaultBinary, "QueryFirstRequest" },
+ { OpcUaId_QueryFirstResponse_Encoding_DefaultBinary, "QueryFirstResponse" },
+ { OpcUaId_QueryNextRequest_Encoding_DefaultBinary, "QueryNextRequest" },
+ { OpcUaId_QueryNextResponse_Encoding_DefaultBinary, "QueryNextResponse" },
+ { OpcUaId_ReadRequest_Encoding_DefaultBinary, "ReadRequest" },
+ { OpcUaId_ReadResponse_Encoding_DefaultBinary, "ReadResponse" },
+ { OpcUaId_HistoryReadRequest_Encoding_DefaultBinary, "HistoryReadRequest" },
+ { OpcUaId_HistoryReadResponse_Encoding_DefaultBinary, "HistoryReadResponse" },
+ { OpcUaId_WriteRequest_Encoding_DefaultBinary, "WriteRequest" },
+ { OpcUaId_WriteResponse_Encoding_DefaultBinary, "WriteResponse" },
+ { OpcUaId_HistoryUpdateRequest_Encoding_DefaultBinary, "HistoryUpdateRequest" },
+ { OpcUaId_HistoryUpdateResponse_Encoding_DefaultBinary, "HistoryUpdateResponse" },
+ { OpcUaId_CallRequest_Encoding_DefaultBinary, "CallRequest" },
+ { OpcUaId_CallResponse_Encoding_DefaultBinary, "CallResponse" },
+ { OpcUaId_CreateMonitoredItemsRequest_Encoding_DefaultBinary, "CreateMonitoredItemsRequest" },
+ { OpcUaId_CreateMonitoredItemsResponse_Encoding_DefaultBinary, "CreateMonitoredItemsResponse" },
+ { OpcUaId_ModifyMonitoredItemsRequest_Encoding_DefaultBinary, "ModifyMonitoredItemsRequest" },
+ { OpcUaId_ModifyMonitoredItemsResponse_Encoding_DefaultBinary, "ModifyMonitoredItemsResponse" },
+ { OpcUaId_SetMonitoringModeRequest_Encoding_DefaultBinary, "SetMonitoringModeRequest" },
+ { OpcUaId_SetMonitoringModeResponse_Encoding_DefaultBinary, "SetMonitoringModeResponse" },
+ { OpcUaId_SetTriggeringRequest_Encoding_DefaultBinary, "SetTriggeringRequest" },
+ { OpcUaId_SetTriggeringResponse_Encoding_DefaultBinary, "SetTriggeringResponse" },
+ { OpcUaId_DeleteMonitoredItemsRequest_Encoding_DefaultBinary, "DeleteMonitoredItemsRequest" },
+ { OpcUaId_DeleteMonitoredItemsResponse_Encoding_DefaultBinary, "DeleteMonitoredItemsResponse" },
+ { OpcUaId_CreateSubscriptionRequest_Encoding_DefaultBinary, "CreateSubscriptionRequest" },
+ { OpcUaId_CreateSubscriptionResponse_Encoding_DefaultBinary, "CreateSubscriptionResponse" },
+ { OpcUaId_ModifySubscriptionRequest_Encoding_DefaultBinary, "ModifySubscriptionRequest" },
+ { OpcUaId_ModifySubscriptionResponse_Encoding_DefaultBinary, "ModifySubscriptionResponse" },
+ { OpcUaId_SetPublishingModeRequest_Encoding_DefaultBinary, "SetPublishingModeRequest" },
+ { OpcUaId_SetPublishingModeResponse_Encoding_DefaultBinary, "SetPublishingModeResponse" },
+ { OpcUaId_PublishRequest_Encoding_DefaultBinary, "PublishRequest" },
+ { OpcUaId_PublishResponse_Encoding_DefaultBinary, "PublishResponse" },
+ { OpcUaId_RepublishRequest_Encoding_DefaultBinary, "RepublishRequest" },
+ { OpcUaId_RepublishResponse_Encoding_DefaultBinary, "RepublishResponse" },
+ { OpcUaId_TransferSubscriptionsRequest_Encoding_DefaultBinary, "TransferSubscriptionsRequest" },
+ { OpcUaId_TransferSubscriptionsResponse_Encoding_DefaultBinary, "TransferSubscriptionsResponse" },
+ { OpcUaId_DeleteSubscriptionsRequest_Encoding_DefaultBinary, "DeleteSubscriptionsRequest" },
+ { OpcUaId_DeleteSubscriptionsResponse_Encoding_DefaultBinary, "DeleteSubscriptionsResponse" },
+ { 0, NULL }
};
/** Dispatch all services to a special parser function. */
@@ -207,3 +211,4 @@ void dispatchService(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int Service
index++;
}
}
+
diff --git a/plugins/opcua/opcua_simpletypes.c b/plugins/opcua/opcua_simpletypes.c
index 5863ca3db4..3549734cc2 100644
--- a/plugins/opcua/opcua_simpletypes.c
+++ b/plugins/opcua/opcua_simpletypes.c
@@ -46,10 +46,13 @@
#define LOCALIZEDTEXT_ENCODINGBYTE_LOCALE 0x01
#define LOCALIZEDTEXT_ENCODINGBYTE_TEXT 0x02
#define NODEID_URIMASK 0x80
+#define NODEID_SERVERINDEXFLAG 0x40
#define DATAVALUE_ENCODINGBYTE_VALUE 0x01
#define DATAVALUE_ENCODINGBYTE_STATUSCODE 0x02
#define DATAVALUE_ENCODINGBYTE_SOURCETIMESTAMP 0x04
#define DATAVALUE_ENCODINGBYTE_SERVERTIMESTAMP 0x08
+#define DATAVALUE_ENCODINGBYTE_SOURCEPICOSECONDS 0x10
+#define DATAVALUE_ENCODINGBYTE_SERVERPICOSECONDS 0x20
#define EXTOBJ_ENCODINGMASK_BINBODY_FLAG 0x01
#define EXTOBJ_ENCODINGMASK_XMLBODY_FLAG 0x02
@@ -65,14 +68,20 @@ static int hf_opcua_datavalue_mask_valueflag = -1;
static int hf_opcua_datavalue_mask_statuscodeflag = -1;
static int hf_opcua_datavalue_mask_sourcetimestampflag = -1;
static int hf_opcua_datavalue_mask_servertimestampflag = -1;
+static int hf_opcua_datavalue_mask_sourcepicoseconds = -1;
+static int hf_opcua_datavalue_mask_serverpicoseconds = -1;
static int hf_opcua_nodeid_encodingmask = -1;
static int hf_opcua_variant_encodingmask = -1;
static int hf_opcua_nodeid_nsid = -1;
static int hf_opcua_nodeid_numeric = -1;
-static int hf_opcua_Locale = -1;
-static int hf_opcua_Text = -1;
+static int hf_opcua_localizedtext_locale = -1;
+static int hf_opcua_localizedtext_text = -1;
+static int hf_opcua_qualifiedname_id = -1;
+static int hf_opcua_qualifiedname_name = -1;
static int hf_opcua_SourceTimestamp = -1;
+static int hf_opcua_SourcePicoseconds = -1;
static int hf_opcua_ServerTimestamp = -1;
+static int hf_opcua_ServerPicoseconds = -1;
static int hf_opcua_diag_symbolicid = -1;
static int hf_opcua_diag_namespace = -1;
static int hf_opcua_diag_localizedtext = -1;
@@ -80,6 +89,9 @@ static int hf_opcua_diag_additionalinfo = -1;
static int hf_opcua_diag_innerstatuscode = -1;
static int hf_opcua_extobj_mask_binbodyflag = -1;
static int hf_opcua_extobj_mask_xmlbodyflag = -1;
+static int hf_opcua_ArraySize = -1;
+static int hf_opcua_Uri = -1;
+static int hf_opcua_ServerIndex = -1;
/** NodeId encoding mask table */
static const value_string g_nodeidmasks[] = {
@@ -117,12 +129,12 @@ typedef enum _OpcUa_BuiltInType
OpcUaType_NodeId = 17,
OpcUaType_ExpandedNodeId = 18,
OpcUaType_StatusCode = 19,
- OpcUaType_DiagnosticInfo = 20,
- OpcUaType_QualifiedName = 21,
- OpcUaType_LocalizedText = 22,
- OpcUaType_ExtensionObject = 23,
- OpcUaType_DataValue = 24,
- OpcUaType_Variant = 25
+ OpcUaType_QualifiedName = 20,
+ OpcUaType_LocalizedText = 21,
+ OpcUaType_ExtensionObject = 22,
+ OpcUaType_DataValue = 23,
+ OpcUaType_Variant = 24,
+ OpcUaType_DiagnosticInfo = 25
}
OpcUa_BuiltInType;
@@ -182,6 +194,7 @@ static const value_string g_VariantTypes[] = {
{ 0x80+25, "Array of Variant" },
{ 0, NULL }
};
+#define VARIANT_ARRAYDIMENSIONS 0x40
#define VARIANT_ARRAYMASK 0x80
/* trees */
@@ -241,27 +254,36 @@ static hf_register_info hf[] =
{ "NodeId EncodingMask", "application.nodeid.encodingmask", FT_UINT8, BASE_HEX, VALS(g_nodeidmasks), 0x0, "", HFILL }
},
{ &hf_opcua_nodeid_nsid,
- { "NodeId Namespace Id", "application.nodeid.nsid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ { "NodeId Namespace Id", "application.nodeid.nsid", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL }
},
{ &hf_opcua_nodeid_numeric,
{ "NodeId Identifier Numeric", "application.nodeid.numeric", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_Locale, { "Locale", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
- { &hf_opcua_Text, { "Text", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_localizedtext_locale, { "Locale", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_localizedtext_text, { "Text", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_qualifiedname_id, { "Id", "", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_qualifiedname_name, { "Name", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
{ &hf_opcua_datavalue_mask_valueflag, { "has value", "", FT_BOOLEAN, 8, NULL, DATAVALUE_ENCODINGBYTE_VALUE, "", HFILL } },
{ &hf_opcua_datavalue_mask_statuscodeflag, { "has statuscode", "", FT_BOOLEAN, 8, NULL, DATAVALUE_ENCODINGBYTE_STATUSCODE, "", HFILL } },
{ &hf_opcua_datavalue_mask_sourcetimestampflag, { "has source timestamp", "", FT_BOOLEAN, 8, NULL, DATAVALUE_ENCODINGBYTE_SOURCETIMESTAMP, "", HFILL } },
{ &hf_opcua_datavalue_mask_servertimestampflag, { "has server timestamp", "", FT_BOOLEAN, 8, NULL, DATAVALUE_ENCODINGBYTE_SERVERTIMESTAMP, "", HFILL } },
+ { &hf_opcua_datavalue_mask_sourcepicoseconds, { "has source picoseconds", "", FT_BOOLEAN, 8, NULL, DATAVALUE_ENCODINGBYTE_SOURCEPICOSECONDS, "", HFILL } },
+ { &hf_opcua_datavalue_mask_serverpicoseconds, { "has server picoseconds", "", FT_BOOLEAN, 8, NULL, DATAVALUE_ENCODINGBYTE_SERVERPICOSECONDS, "", HFILL } },
{ &hf_opcua_variant_encodingmask, { "Variant Type", "", FT_UINT8, BASE_HEX, VALS(g_VariantTypes), 0x0, "", HFILL } },
{ &hf_opcua_SourceTimestamp, { "SourceTimestamp", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_SourcePicoseconds, { "SourcePicoseconds", "", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_ServerTimestamp, { "ServerTimestamp", "", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServerPicoseconds, { "ServerPicoseconds", "", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_diag_symbolicid, { "SymbolicId", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_diag_namespace, { "Namespace", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_diag_localizedtext, { "LocaliezdText", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
{ &hf_opcua_diag_additionalinfo, { "AdditionalInfo", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
{ &hf_opcua_diag_innerstatuscode, { "InnerStatusCode", "", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL } },
{ &hf_opcua_extobj_mask_binbodyflag, { "has binary body", "", FT_BOOLEAN, 8, NULL, EXTOBJ_ENCODINGMASK_BINBODY_FLAG, "", HFILL } },
- { &hf_opcua_extobj_mask_xmlbodyflag, { "has xml body", "", FT_BOOLEAN, 8, NULL, EXTOBJ_ENCODINGMASK_XMLBODY_FLAG, "", HFILL } }
+ { &hf_opcua_extobj_mask_xmlbodyflag, { "has xml body", "", FT_BOOLEAN, 8, NULL, EXTOBJ_ENCODINGMASK_XMLBODY_FLAG, "", HFILL } },
+ { &hf_opcua_ArraySize, { "ArraySize", "", FT_INT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_Uri, { "Uri", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
+ { &hf_opcua_ServerIndex, { "ServerIndex", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } }
};
void registerSimpleTypes(int proto)
@@ -375,12 +397,12 @@ void parseLocalizedText(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *sz
if (EncodingMask & LOCALIZEDTEXT_ENCODINGBYTE_LOCALE)
{
- parseString(subtree, tvb, &iOffset, hf_opcua_Locale);
+ parseString(subtree, tvb, &iOffset, hf_opcua_localizedtext_locale);
}
if (EncodingMask & LOCALIZEDTEXT_ENCODINGBYTE_TEXT)
{
- parseString(subtree, tvb, &iOffset, hf_opcua_Text);
+ parseString(subtree, tvb, &iOffset, hf_opcua_localizedtext_text);
}
*pOffset = iOffset;
@@ -486,8 +508,8 @@ void parseQualifiedName(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *sz
proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s: QualifiedName", szFieldName);
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_qualifiedname);
- parseInt32(subtree, tvb, pOffset, hf_opcua_Id);
- parseString(subtree, tvb, pOffset, hf_opcua_Name);
+ parseUInt16(subtree, tvb, pOffset, hf_opcua_qualifiedname_id);
+ parseString(subtree, tvb, pOffset, hf_opcua_qualifiedname_name);
}
void parseDataValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
@@ -505,6 +527,8 @@ void parseDataValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFiel
proto_tree_add_item(mask_tree, hf_opcua_datavalue_mask_statuscodeflag, tvb, iOffset, 1, TRUE);
proto_tree_add_item(mask_tree, hf_opcua_datavalue_mask_sourcetimestampflag, tvb, iOffset, 1, TRUE);
proto_tree_add_item(mask_tree, hf_opcua_datavalue_mask_servertimestampflag, tvb, iOffset, 1, TRUE);
+ proto_tree_add_item(mask_tree, hf_opcua_datavalue_mask_sourcepicoseconds, tvb, iOffset, 1, TRUE);
+ proto_tree_add_item(mask_tree, hf_opcua_datavalue_mask_serverpicoseconds, tvb, iOffset, 1, TRUE);
iOffset++;
if (EncodingMask & DATAVALUE_ENCODINGBYTE_VALUE)
@@ -519,10 +543,18 @@ void parseDataValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFiel
{
parseDateTime(subtree, tvb, &iOffset, hf_opcua_SourceTimestamp);
}
+ if (EncodingMask & DATAVALUE_ENCODINGBYTE_SOURCEPICOSECONDS)
+ {
+ parseUInt16(subtree, tvb, &iOffset, hf_opcua_SourcePicoseconds);
+ }
if (EncodingMask & DATAVALUE_ENCODINGBYTE_SERVERTIMESTAMP)
{
parseDateTime(subtree, tvb, &iOffset, hf_opcua_ServerTimestamp);
}
+ if (EncodingMask & DATAVALUE_ENCODINGBYTE_SERVERPICOSECONDS)
+ {
+ parseUInt16(subtree, tvb, &iOffset, hf_opcua_ServerPicoseconds);
+ }
*pOffset = iOffset;
}
@@ -533,16 +565,17 @@ void parseVariant(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldN
proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_variant);
gint iOffset = *pOffset;
guint8 EncodingMask;
+ gint32 ArrayLength;
EncodingMask = tvb_get_guint8(tvb, iOffset);
proto_tree_add_item(subtree, hf_opcua_variant_encodingmask, tvb, iOffset, 1, TRUE);
iOffset++;
+ ArrayLength = tvb_get_letohl(tvb, iOffset);
if (EncodingMask & VARIANT_ARRAYMASK)
{
- EncodingMask &= ~VARIANT_ARRAYMASK;
-
- switch(EncodingMask)
+ /* type is encoded in bits 0-5 */
+ switch(EncodingMask & 0x3f)
{
case OpcUaType_Null: break;
case OpcUaType_Boolean: parseArraySimple(subtree, tvb, &iOffset, hf_opcua_Boolean, parseBoolean); break;
@@ -574,7 +607,8 @@ void parseVariant(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldN
}
else
{
- switch(EncodingMask)
+ /* type is encoded in bits 0-5 */
+ switch(EncodingMask & 0x3f)
{
case OpcUaType_Null: break;
case OpcUaType_Boolean: parseBoolean(subtree, tvb, &iOffset, hf_opcua_Boolean); break;
@@ -604,6 +638,18 @@ void parseVariant(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldN
case OpcUaType_Variant: parseVariant(subtree, tvb, &iOffset, "Value"); break;
}
}
+
+ if (EncodingMask & VARIANT_ARRAYDIMENSIONS)
+ {
+ proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "Array Dimensions");
+ proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_array);
+ int i;
+
+ for (i=0; i<ArrayLength; i++)
+ {
+ parseInt32(subtree, tvb, pOffset, hf_opcua_Int32);
+ }
+ }
*pOffset = iOffset;
}
@@ -711,23 +757,22 @@ void parseNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldNa
iOffset+=2;
break;
case 0x02: /* numeric, that does not fit into four bytes */
- proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 4, TRUE);
- iOffset+=4;
+ proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 2, TRUE);
+ iOffset+=2;
proto_tree_add_item(subtree, hf_opcua_nodeid_numeric, tvb, iOffset, 4, TRUE);
iOffset+=4;
break;
case 0x03: /* string */
- proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 4, TRUE);
- iOffset+=4;
+ proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 2, TRUE);
+ iOffset+=2;
parseString(subtree, tvb, &iOffset, hf_opcua_String);
break;
- case 0x04: /* uri */
- parseString(subtree, tvb, &iOffset, hf_opcua_Uri);
- break;
- case 0x05: /* guid */
+ case 0x04: /* guid */
+ proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 2, TRUE);
+ iOffset+=2;
parseGuid(subtree, tvb, &iOffset, hf_opcua_Guid);
break;
- case 0x06: /* byte string */
+ case 0x05: /* byte string */
proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 4, TRUE);
iOffset+=4;
parseByteString(subtree, tvb, &iOffset, hf_opcua_ByteString);
@@ -792,25 +837,24 @@ void parseExpandedNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *s
iOffset+=2;
break;
case 0x02: /* numeric, that does not fit into four bytes */
- proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 4, TRUE);
- iOffset+=4;
+ proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 2, TRUE);
+ iOffset+=2;
proto_tree_add_item(subtree, hf_opcua_nodeid_numeric, tvb, iOffset, 4, TRUE);
iOffset+=4;
break;
case 0x03: /* string */
- proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 4, TRUE);
- iOffset+=4;
+ proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 2, TRUE);
+ iOffset+=2;
parseString(subtree, tvb, &iOffset, hf_opcua_String);
break;
- case 0x04: /* uri */
- parseString(subtree, tvb, &iOffset, hf_opcua_Uri);
- break;
- case 0x05: /* guid */
+ case 0x04: /* guid */
+ proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 2, TRUE);
+ iOffset+=2;
parseGuid(subtree, tvb, &iOffset, hf_opcua_Guid);
break;
- case 0x06: /* byte string */
- proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 4, TRUE);
- iOffset+=4;
+ case 0x05: /* byte string */
+ proto_tree_add_item(subtree, hf_opcua_nodeid_nsid, tvb, iOffset, 2, TRUE);
+ iOffset+=2;
parseByteString(subtree, tvb, &iOffset, hf_opcua_ByteString);
break;
};
@@ -819,6 +863,10 @@ void parseExpandedNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *s
{
parseString(subtree, tvb, &iOffset, hf_opcua_Uri);
}
+ if (EncodingMask & NODEID_SERVERINDEXFLAG)
+ {
+ parseUInt32(subtree, tvb, &iOffset, hf_opcua_ServerIndex);
+ }
*pOffset = iOffset;
}
diff --git a/plugins/opcua/opcua_transport_layer.c b/plugins/opcua/opcua_transport_layer.c
index 6327d8e929..386b51fc91 100644
--- a/plugins/opcua/opcua_transport_layer.c
+++ b/plugins/opcua/opcua_transport_layer.c
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -35,67 +35,86 @@
void dispatchService(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int ServiceId);
-static int hf_opcua_transport_sig = -1;
-static int hf_opcua_transport_len = -1;
+static int hf_opcua_transport_type = -1;
+static int hf_opcua_transport_chunk = -1;
+static int hf_opcua_transport_size = -1;
static int hf_opcua_transport_ver = -1;
-static int hf_opcua_transport_cid = -1;
+static int hf_opcua_transport_scid = -1;
static int hf_opcua_transport_lifetime = -1;
-static int hf_opcua_transport_sbl = -1;
-static int hf_opcua_transport_rbl = -1;
+static int hf_opcua_transport_rbs = -1;
+static int hf_opcua_transport_sbs = -1;
+static int hf_opcua_transport_mms = -1;
+static int hf_opcua_transport_mcc = -1;
static int hf_opcua_transport_endpoint = -1;
-static int hf_opcua_transport_rlifetime = -1;
-static int hf_opcua_transport_rsbl = -1;
-static int hf_opcua_transport_rrbl = -1;
-static int hf_opcua_transport_altendpoint = -1;
+static int hf_opcua_transport_error = -1;
+static int hf_opcua_transport_reason = -1;
+static int hf_opcua_transport_spu = -1;
+static int hf_opcua_transport_scert = -1;
+static int hf_opcua_transport_rcthumb = -1;
+static int hf_opcua_transport_seq = -1;
static int hf_opcua_transport_rqid = -1;
-static int hf_opcua_transport_status = -1;
extern gint ett_opcua_nodeid;
static hf_register_info hf[] =
{
- { &hf_opcua_transport_sig,
+ { &hf_opcua_transport_type,
/* full name , abbreviation , type , display , strings, bitmask, blurb, id, parent, ref_count, bitshift */
- { "Signature", "transport.sig", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL }
+ { "Message Type", "transport.type", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_len,
- { "Message Length", "transport.len", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ { &hf_opcua_transport_chunk,
+ { "Chunk Type", "transport.chunk", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL }
+ },
+ { &hf_opcua_transport_size,
+ { "Message Size", "transport.size", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
{ &hf_opcua_transport_ver,
{ "Version", "transport.ver", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_cid,
- { "ConnectionId", "transport.cid", FT_GUID, BASE_NONE, NULL, 0x0, "", HFILL }
+ { &hf_opcua_transport_scid,
+ { "SecureChannelId", "transport.scid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
{ &hf_opcua_transport_lifetime,
{ "Lifetime", "transport.lifetime", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_sbl,
- { "SendBufferLength", "transport.sbl", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ { &hf_opcua_transport_rbs,
+ { "ReceiveBufferSize", "transport.rbs", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ },
+ { &hf_opcua_transport_sbs,
+ { "SendBufferSize", "transport.sbs", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_rbl,
- { "ReceiveBufferLength", "transport.rbl", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ { &hf_opcua_transport_mms,
+ { "MaxMessageSize", "transport.mms", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ },
+ { &hf_opcua_transport_mcc,
+ { "MaxChunkCount", "transport.mcc", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
{ &hf_opcua_transport_endpoint,
- { "EndPoint", "transport.endpoint", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL }
+ { "EndPointUrl", "transport.endpoint", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL }
+ },
+ { &hf_opcua_transport_error,
+ { "Error", "transport.error", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_rlifetime,
- { "Revised Lifetime", "transport.rlifetime", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ { &hf_opcua_transport_reason,
+ { "Reason", "transport.reason", FT_STRING, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_rsbl,
- { "Revised SendBufferLength", "transport.rsbl", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+/* { &hf_opcua_transport_spul,
+ { "SecurityPolicyUriLength", "transport.spul", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ },*/
+ { &hf_opcua_transport_spu,
+ { "SecurityPolicyUri", "security.spu", FT_STRING, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_rrbl,
- { "Revised ReceiveBufferLength", "transport.rrbl", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ { &hf_opcua_transport_scert,
+ { "SenderCertificate", "security.scert", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_altendpoint,
- { "Alternate EndPoint", "transport.altendpoint", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL }
+ { &hf_opcua_transport_rcthumb,
+ { "ReceiverCertificateThumbprint", "security.rcthumb", FT_BYTES, BASE_HEX, NULL, 0x0, "", HFILL }
+ },
+ { &hf_opcua_transport_seq,
+ { "SequenceNumber", "security.seq", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
{ &hf_opcua_transport_rqid,
- { "RequestId", "transport.rqid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
+ { "RequestId", "security.rqid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
},
- { &hf_opcua_transport_status,
- { "StatusCode", "transport.status", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }
- }
};
/** subtree types */
@@ -134,45 +153,49 @@ void addString(proto_tree *tree,
/* Transport Layer: message parsers */
void parseHello(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- addString(tree, hf_opcua_transport_sig, tvb, *pOffset, 4, tvb->real_data); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_len, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ addString(tree, hf_opcua_transport_type, tvb, *pOffset, 3, tvb->real_data); *pOffset+=3;
+ addString(tree, hf_opcua_transport_chunk, tvb, *pOffset, 1, &tvb->real_data[*pOffset]); *pOffset+=1;
+ proto_tree_add_item(tree, hf_opcua_transport_size, tvb, *pOffset, 4, TRUE); *pOffset+=4;
proto_tree_add_item(tree, hf_opcua_transport_ver, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_cid, tvb, *pOffset, 16, TRUE); *pOffset+=16;
- proto_tree_add_item(tree, hf_opcua_transport_lifetime, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_sbl, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_rbl, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_rbs, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_sbs, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_mms, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_mcc, tvb, *pOffset, 4, TRUE); *pOffset+=4;
parseString(tree, tvb, pOffset, hf_opcua_transport_endpoint);
}
void parseAcknowledge(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- addString(tree, hf_opcua_transport_sig, tvb, *pOffset, 4, tvb->real_data); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_len, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_cid, tvb, *pOffset, 16, TRUE); *pOffset+=16;
- proto_tree_add_item(tree, hf_opcua_transport_rlifetime, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_rsbl, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_rrbl, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- parseString(tree, tvb, pOffset, hf_opcua_transport_altendpoint);
+ addString(tree, hf_opcua_transport_type, tvb, *pOffset, 3, tvb->real_data); *pOffset+=3;
+ addString(tree, hf_opcua_transport_chunk, tvb, *pOffset, 1, &tvb->real_data[*pOffset]); *pOffset+=1;
+ proto_tree_add_item(tree, hf_opcua_transport_size, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_ver, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_rbs, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_sbs, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_mms, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_mcc, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
-void parseDisconnect(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+void parseError(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- addString(tree, hf_opcua_transport_sig, tvb, *pOffset, 4, tvb->real_data); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_len, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_cid, tvb, *pOffset, 16, TRUE); *pOffset+=16;
+ addString(tree, hf_opcua_transport_type, tvb, *pOffset, 3, tvb->real_data); *pOffset+=3;
+ addString(tree, hf_opcua_transport_chunk, tvb, *pOffset, 1, &tvb->real_data[*pOffset]); *pOffset+=1;
+ proto_tree_add_item(tree, hf_opcua_transport_size, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_error, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ parseString(tree, tvb, pOffset, hf_opcua_transport_reason);
}
-void parseData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+void parseMessage(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
proto_item *ti;
proto_tree *encobj_tree;
proto_tree *nodeid_tree;
int ServiceId = 0;
- addString(tree, hf_opcua_transport_sig, tvb, *pOffset, 4, tvb->real_data); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_len, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_cid, tvb, *pOffset, 16, TRUE); *pOffset+=16;
- proto_tree_add_item(tree, hf_opcua_transport_rqid, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ addString(tree, hf_opcua_transport_type, tvb, *pOffset, 3, tvb->real_data); *pOffset+=3;
+ addString(tree, hf_opcua_transport_chunk, tvb, *pOffset, 1, &tvb->real_data[*pOffset]); *pOffset+=1;
+ proto_tree_add_item(tree, hf_opcua_transport_size, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_scid, tvb, *pOffset, 4, TRUE); *pOffset+=4;
/* message data contains the security layer */
parseSecurityLayer(tree, tvb, pOffset);
@@ -188,24 +211,45 @@ void parseData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
/* add nodeid subtree */
ti = proto_tree_add_text(encobj_tree, tvb, 0, -1, "TypeId : ExpandedNodeId");
nodeid_tree = proto_item_add_subtree(ti, ett_opcua_nodeid);
- ServiceId = parseServiceNodeId(nodeid_tree, tvb, pOffset, "NodeId") - 1;
+ ServiceId = parseServiceNodeId(nodeid_tree, tvb, pOffset, "NodeId");
dispatchService(encobj_tree, tvb, pOffset, ServiceId);
}
-void parseAbort(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+void parseOpenSecureChannel(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- addString(tree, hf_opcua_transport_sig, tvb, *pOffset, 4, tvb->real_data); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_len, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_cid, tvb, *pOffset, 16, TRUE); *pOffset+=16;
+ proto_item *ti;
+ proto_tree *encobj_tree;
+ proto_tree *nodeid_tree;
+ int ServiceId = 0;
+
+ addString(tree, hf_opcua_transport_type, tvb, *pOffset, 3, tvb->real_data); *pOffset+=3;
+ addString(tree, hf_opcua_transport_chunk, tvb, *pOffset, 1, &tvb->real_data[*pOffset]); *pOffset+=1;
+ proto_tree_add_item(tree, hf_opcua_transport_size, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_scid, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ parseString(tree, tvb, pOffset, hf_opcua_transport_spu);
+ parseByteString(tree, tvb, pOffset, hf_opcua_transport_scert);
+ parseByteString(tree, tvb, pOffset, hf_opcua_transport_rcthumb);
+ proto_tree_add_item(tree, hf_opcua_transport_seq, tvb, *pOffset, 4, TRUE); *pOffset+=4;
proto_tree_add_item(tree, hf_opcua_transport_rqid, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+
+ /* add encodeable object subtree */
+ ti = proto_tree_add_text(tree, tvb, 0, -1, "Message : Encodeable Object");
+ encobj_tree = proto_item_add_subtree(ti, ett_opcua_extensionobject);
+
+ /* add nodeid subtree */
+ ti = proto_tree_add_text(encobj_tree, tvb, 0, -1, "TypeId : ExpandedNodeId");
+ nodeid_tree = proto_item_add_subtree(ti, ett_opcua_nodeid);
+ ServiceId = parseServiceNodeId(nodeid_tree, tvb, pOffset, "NodeId");
+
+ dispatchService(encobj_tree, tvb, pOffset, ServiceId);
}
-void parseError(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+void parseCloseSecureChannel(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- addString(tree, hf_opcua_transport_sig, tvb, *pOffset, 4, tvb->real_data); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_len, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_cid, tvb, *pOffset, 16, TRUE); *pOffset+=16;
- proto_tree_add_item(tree, hf_opcua_transport_rqid, tvb, *pOffset, 4, TRUE); *pOffset+=4;
- proto_tree_add_item(tree, hf_opcua_transport_status, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ addString(tree, hf_opcua_transport_type, tvb, *pOffset, 3, tvb->real_data); *pOffset+=3;
+ addString(tree, hf_opcua_transport_chunk, tvb, *pOffset, 1, &tvb->real_data[*pOffset]); *pOffset+=1;
+ proto_tree_add_item(tree, hf_opcua_transport_size, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+ proto_tree_add_item(tree, hf_opcua_transport_scid, tvb, *pOffset, 4, TRUE); *pOffset+=4;
}
+
diff --git a/plugins/opcua/opcua_transport_layer.h b/plugins/opcua/opcua_transport_layer.h
index 3ee1efe78f..4fc2a02817 100644
--- a/plugins/opcua/opcua_transport_layer.h
+++ b/plugins/opcua/opcua_transport_layer.h
@@ -1,7 +1,7 @@
/******************************************************************************
** $Id$
**
-** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
+** Copyright (C) 2006-2009 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
@@ -24,9 +24,9 @@
/* Transport Layer: message parsers */
void parseHello(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseAcknowledge(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseDisconnect(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseData(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
-void parseAbort(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void parseError(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseMessage(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseOpenSecureChannel(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
+void parseCloseSecureChannel(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
void registerTransportLayerTypes(int proto);