Wireshark-dev: [Wireshark-dev] OPCUA Update

From: Gerhard Gappmeier <gerhard.gappmeier@xxxxxxxxxxx>
Date: Wed, 1 Apr 2009 18:32:45 +0200
Hi all,


the most OPC UA Specifications are released meanwhile.
Also Part 6 which describes the protocol.
So it was overdue to update the wireshark opcua plugin.


Really a lot changed since the last update: transport, security and application layer, so this is a big update.


I attached the patch that will update the code.
It's only tested on Linux, but buildbot while verify the other platforms anyway.


I also attached a sample capture file for fuzzy testing.


What is really missing is a configuration option in Edit->preferences
where you can configure the port. Default is port 4840,
which is also the registered port for OPCUA.
But a lot of servers will run on other ports, so a configuration option would be nice.


Maybe somebody can help at this point, because I have no clue about the
wireshark GUI stuff.


--
mit freundlichen Grüßen / best regards


Gerhard Gappmeier
ascolab GmbH - automation systems communication laboratory
Tel.: +49 9131 691 123
Fax: +49 9131 691 128
Web: http://www.ascolab.com
GPG-Key: http://www.ascolab.com/gpg/gg.asc



Attachment: cppserver.cap
Description: Binary data

Index: opcua_simpletypes.c
===================================================================
--- opcua_simpletypes.c	(Revision 27851)
+++ opcua_simpletypes.c	(Arbeitskopie)
@@ -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_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_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 @@
     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 @@
     { 0x80+25, "Array of Variant" },
     { 0, NULL }
 };
+#define VARIANT_ARRAYDIMENSIONS 0x40
 #define VARIANT_ARRAYMASK 0x80
 
 /* trees */
@@ -241,27 +254,36 @@
     {  "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 @@
 
     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 @@
     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 @@
     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 @@
     {
         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 @@
     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 @@
     }
     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,7 +638,19 @@
         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 @@
         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 @@
         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 @@
     {
         parseString(subtree, tvb, &iOffset, hf_opcua_Uri);
     }
+    if (EncodingMask & NODEID_SERVERINDEXFLAG)
+    {
+        parseUInt32(subtree, tvb, &iOffset, hf_opcua_ServerIndex);
+    }
 
     *pOffset = iOffset;
 }
Index: opcua.c
===================================================================
--- opcua.c	(Revision 27851)
+++ opcua.c	(Arbeitskopie)
@@ -46,7 +46,7 @@
 
 static int proto_opcua = -1;
 /** Official IANA registered port for OPC UA Binary Protocol. */
-#define OPCUA_PORT 4840
+#define OPCUA_PORT 4841
 
 /** subtree types */
 gint ett_opcua_transport = -1;
@@ -58,13 +58,11 @@
 {
     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 +70,11 @@
 {
     "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"
 };
 
 
@@ -168,51 +164,41 @@
     }
 
     /* 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')
     {
-        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_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')
+    {
+        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,7 +218,6 @@
 
         /* call the transport message dissector */
         (*pfctParse)(transport_tree, tvb, &offset);
-
     }
 }    
 
Index: opcua_enumparser.c
===================================================================
--- opcua_enumparser.c	(Revision 27851)
+++ opcua_enumparser.c	(Arbeitskopie)
@@ -1,7 +1,5 @@
 /******************************************************************************
-** $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 +14,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,10 +28,56 @@
 
 #include "opcua_enumparser.h"
 
+/** 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_NodeIdType = -1;
 
+void parseNodeIdType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+    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, "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;
+}
 /** NodeClass enum table */
 static const value_string g_NodeClassTable[] = {
-  { 0, "Node" },
+  { 0, "Unspecified" },
   { 1, "Object" },
   { 2, "Variable" },
   { 4, "Method" },
@@ -48,42 +92,25 @@
 
 void parseNodeClass(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_NodeClass, 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" },
-  { 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;
-}
-
 /** 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 +120,22 @@
 
 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 +146,8 @@
 
 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 +160,80 @@
 
 void parseComplianceLevel(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
 {
-	proto_tree_add_item(tree, hf_opcua_ComplianceLevel, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+    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" },
+/** 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_RedundancySupport = -1;
+static int hf_opcua_AttributeWriteMask = -1;
 
-void parseRedundancySupport(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_RedundancySupport, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+    proto_tree_add_item(tree, hf_opcua_AttributeWriteMask, 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" },
+/** 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_ServerState = -1;
+static int hf_opcua_NodeAttributesMask = -1;
 
-void parseServerState(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_ServerState, tvb, *pOffset, 4, TRUE); *pOffset+=4;
+    proto_tree_add_item(tree, hf_opcua_NodeAttributesMask, 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" },
-  { 0, NULL }
-};
-static int hf_opcua_ColorsDataType = -1;
-
-void parseColorsDataType(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
-	proto_tree_add_item(tree, hf_opcua_ColorsDataType, 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" },
-  { 0, NULL }
-};
-static int hf_opcua_DiagnosticsMasks = -1;
-
-void parseDiagnosticsMasks(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
-{
-	proto_tree_add_item(tree, hf_opcua_DiagnosticsMasks, tvb, *pOffset, 4, TRUE); *pOffset+=4;
-}
-
 /** EnumeratedTestType enum table */
 static const value_string g_EnumeratedTestTypeTable[] = {
   { 1, "Red" },
@@ -249,64 +245,96 @@
 
 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 +346,8 @@
 
 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 +359,108 @@
 
 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,33 +468,30 @@
     { &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_NodeAttributesMask,
+    {  "NodeAttributesMask", "", FT_UINT32, BASE_HEX,  VALS(g_NodeAttributesMaskTable), 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_EnumeratedTestType,
     {  "EnumeratedTestType", "", FT_UINT32, BASE_HEX,  VALS(g_EnumeratedTestTypeTable), 0x0, "", HFILL }
     },
     { &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 +500,19 @@
     },
     { &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 +520,4 @@
 {
     proto_register_field_array(proto, hf, array_length(hf));
 }
+
Index: opcua_enumparser.h
===================================================================
--- opcua_enumparser.h	(Revision 27851)
+++ opcua_enumparser.h	(Arbeitskopie)
@@ -1,7 +1,5 @@
 /******************************************************************************
-** $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 +14,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 +26,28 @@
 #include <glib.h>
 #include <epan/packet.h>
 
+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 parseIdType(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);
-
Index: opcua_transport_layer.c
===================================================================
--- opcua_transport_layer.c	(Revision 27851)
+++ opcua_transport_layer.c	(Arbeitskopie)
@@ -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_rbl,
-    {  "ReceiveBufferLength", "transport.rbl",      FT_UINT32, BASE_DEC,  NULL, 0x0,    "",    HFILL }
+    { &hf_opcua_transport_sbs,
+    {  "SendBufferSize",      "transport.sbs",      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_rlifetime,
-    {  "Revised Lifetime",    "transport.rlifetime", FT_UINT32, BASE_DEC,  NULL, 0x0,    "",    HFILL }
+    { &hf_opcua_transport_error,
+    {  "Error",               "transport.error",    FT_UINT32, BASE_HEX,  NULL, 0x0,    "",    HFILL }
     },
-    { &hf_opcua_transport_rsbl,
-    {  "Revised SendBufferLength", "transport.rsbl", FT_UINT32, BASE_DEC,  NULL, 0x0,    "",    HFILL }
+    { &hf_opcua_transport_reason,
+    {  "Reason",              "transport.reason",   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_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_altendpoint,
-    {  "Alternate EndPoint",  "transport.altendpoint", FT_STRING, BASE_NONE, NULL, 0x0,    "",    HFILL }
+    { &hf_opcua_transport_scert,
+    {  "SenderCertificate",   "security.scert",    FT_BYTES,  BASE_HEX,  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 @@
 /* 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 @@
     /* 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;
 }
+
Index: opcua_transport_layer.h
===================================================================
--- opcua_transport_layer.h	(Revision 27851)
+++ opcua_transport_layer.h	(Arbeitskopie)
@@ -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);
 
Index: opcua_servicetable.c
===================================================================
--- opcua_servicetable.c	(Revision 27851)
+++ opcua_servicetable.c	(Arbeitskopie)
@@ -1,7 +1,5 @@
 /******************************************************************************
-** $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 +14,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!
 **
 ******************************************************************************/
@@ -25,171 +23,175 @@
 # include "config.h"
 #endif
 
-#include <glib.h>
+#include <gmodule.h>
 #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 +209,4 @@
         index++;
     }
 }
+
Index: opcua_identifiers.h
===================================================================
--- opcua_identifiers.h	(Revision 27851)
+++ opcua_identifiers.h	(Arbeitskopie)
@@ -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!
 **
 ******************************************************************************/
@@ -25,7 +25,7 @@
 # include "config.h"
 #endif
 
-#include <glib.h>
+#include <gmodule.h>
 #include <epan/packet.h>
 
 /* declare service parser function prototype */
Index: opcua_serviceparser.c
===================================================================
--- opcua_serviceparser.c	(Revision 27851)
+++ opcua_serviceparser.c	(Arbeitskopie)
@@ -1,7 +1,5 @@
 /******************************************************************************
-** $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 +12,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!
 **
 ******************************************************************************/
@@ -25,15 +23,13 @@
 # include "config.h"
 #endif
 
-#include <glib.h>
+#include <gmodule.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 +41,6 @@
   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 +50,6 @@
   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 +59,8 @@
   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 +68,8 @@
   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 +77,12 @@
   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 +90,9 @@
   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 +100,12 @@
   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 +113,9 @@
   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 +125,6 @@
   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 +133,6 @@
 
   parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
 }
-
 gint ett_opcua_OpenSecureChannelRequest = -1;
 void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
 {
@@ -146,16 +140,12 @@
   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 +153,10 @@
   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 +164,7 @@
   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 +173,6 @@
 
   parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
 }
-
 gint ett_opcua_CreateSessionRequest = -1;
 void parseCreateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
 {
@@ -194,12 +180,15 @@
   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 +196,18 @@
   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 +216,13 @@
 
   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 +231,11 @@
 
   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 +243,8 @@
   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 +253,6 @@
 
   parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
 }
-
 gint ett_opcua_CancelRequest = -1;
 void parseCancelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
 {
@@ -266,9 +260,8 @@
   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 +269,8 @@
   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 +278,9 @@
   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 +288,11 @@
   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 +300,9 @@
   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 +310,11 @@
   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 +322,9 @@
   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 +332,11 @@
   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 +344,9 @@
   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 +354,11 @@
   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 +367,10 @@
 
   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 +378,11 @@
   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 +390,10 @@
   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 +401,11 @@
   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 +413,9 @@
   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 +423,49 @@
   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 +474,12 @@
 
   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 +487,15 @@
   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 +506,6 @@
   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 +513,10 @@
   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 +524,11 @@
   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 +536,11 @@
   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 +551,9 @@
   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 +561,11 @@
   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 +573,9 @@
   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 +583,11 @@
   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 +595,9 @@
   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 +605,11 @@
   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 +617,9 @@
   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 +627,11 @@
   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 +641,9 @@
   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 +651,11 @@
   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 +665,9 @@
   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 +675,11 @@
   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 +689,9 @@
   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 +699,11 @@
   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 +713,11 @@
   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 +725,15 @@
   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 +742,9 @@
 
   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 +752,11 @@
   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 +764,13 @@
   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 +779,10 @@
 
   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 +791,12 @@
 
   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 +804,10 @@
   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 +816,9 @@
 
   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 +826,11 @@
   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 +838,9 @@
   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 +849,15 @@
 
   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 +868,6 @@
   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 +877,6 @@
   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 +884,10 @@
   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 +895,11 @@
   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 +907,9 @@
   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 +917,9 @@
   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 +956,16 @@
   &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,
Index: opcua_serviceparser.h
===================================================================
--- opcua_serviceparser.h	(Revision 27851)
+++ opcua_serviceparser.h	(Arbeitskopie)
@@ -1,7 +1,5 @@
 /******************************************************************************
-** $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 +14,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!
 **
 ******************************************************************************/
@@ -25,7 +23,7 @@
 # include "config.h"
 #endif
 
-#include <glib.h>
+#include <gmodule.h>
 #include <epan/packet.h>
 
 void parseTestStackRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
@@ -58,14 +56,16 @@
 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 +104,4 @@
 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();
Index: README
===================================================================
--- README	(Revision 27851)
+++ README	(Arbeitskopie)
@@ -50,9 +50,6 @@
 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.
   
Index: opcua_complextypeparser.c
===================================================================
--- opcua_complextypeparser.c	(Revision 27851)
+++ opcua_complextypeparser.c	(Arbeitskopie)
@@ -1,7 +1,5 @@
 /******************************************************************************
-** $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 +14,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!
 **
 ******************************************************************************/
@@ -25,882 +23,448 @@
 # include "config.h"
 #endif
 
-#include <glib.h>
+#include <gmodule.h>
 #include <epan/packet.h>
 #include "opcua_complextypeparser.h"
 #include "opcua_enumparser.h"
 #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)
+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 : 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);
+  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_NodeSet = -1;
-void parseNodeSet(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);
-}
-
 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 +489,935 @@
   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)
+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 : 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");
+  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 +1427,39 @@
   &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 +1467,83 @@
   &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 +1551,3 @@
   proto_register_subtree_array(ett, array_length(ett));
 }
 
-
Index: opcua_hfindeces.c
===================================================================
--- opcua_hfindeces.c	(Revision 27851)
+++ opcua_hfindeces.c	(Arbeitskopie)
@@ -1,22 +1,20 @@
 /******************************************************************************
-** $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!
 **
 ******************************************************************************/
@@ -25,562 +23,771 @@
 # include "config.h"
 #endif
 
-#include <glib.h>
+#include <gmodule.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_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_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_EventQueueOverFlowCount = -1;
+int hf_opcua_Executable = -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_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_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_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_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_ContinuationPoint = -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_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_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_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_RequestedLifetimeCounter = -1;
-int hf_opcua_RequestedMaxKeepAliveCount = -1;
-int hf_opcua_PublishingEnabled = -1;
-int hf_opcua_Priority = -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_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_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_Executable = -1;
-int hf_opcua_UserExecutable = -1;
-int hf_opcua_ContainsNoLoops = -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_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_ServerNonce = -1;
+int hf_opcua_ServerProtocolVersion = -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_MaxArrayLength = -1;
-int hf_opcua_MaxStringLength = -1;
-int hf_opcua_UserName = -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_ServerId = -1;
+int hf_opcua_ServerUris = -1;
+int hf_opcua_ServerViewCount = -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_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_ServiceResult = -1;
+int hf_opcua_SessionAbortCount = -1;
+int hf_opcua_SessionName = -1;
 int hf_opcua_SessionTimeoutCount = -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_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_UInt16s = -1;
 int hf_opcua_UInt32 = -1;
-int hf_opcua_Int64 = -1;
+int hf_opcua_UInt32s = -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_UInt64s = -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_WriteMask = -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_UInt32s = -1;
-int hf_opcua_Int64s = -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_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;
 
 /** 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_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_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_EventQueueOverFlowCount, { "EventQueueOverFlowCount", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
+   { &hf_opcua_Executable, { "Executable", "", 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_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_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_ContinuationPoint, { "ContinuationPoint", "", FT_BYTES, BASE_HEX, 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_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_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_RemainingPathIndex, { "RemainingPathIndex", "", FT_UINT32, BASE_DEC, 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_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_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_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_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_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_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_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_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_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_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_MaxArrayLength, { "MaxArrayLength", "", FT_INT32, 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_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_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_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_SessionName, { "SessionName", "", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL } },
    { &hf_opcua_SessionTimeoutCount, { "SessionTimeoutCount", "", FT_UINT32, BASE_DEC, 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_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_UInt16s, { "UInt16s", "", FT_UINT16, 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_UInt32s, { "UInt32s", "", FT_UINT32, 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_UInt64s, { "UInt64s", "", FT_UINT64, BASE_DEC, 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_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_UInt32s, { "UInt32s", "", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
-   { &hf_opcua_Int64s, { "Int64s", "", FT_INT64, 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_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 +795,6 @@
 {
     proto_register_field_array(proto, hf, array_length(hf));
 }
+
+
+
Index: opcua_complextypeparser.h
===================================================================
--- opcua_complextypeparser.h	(Revision 27851)
+++ opcua_complextypeparser.h	(Arbeitskopie)
@@ -1,7 +1,5 @@
 /******************************************************************************
-** $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 +14,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!
 **
 ******************************************************************************/
@@ -25,10 +23,10 @@
 # include "config.h"
 #endif
 
-#include <glib.h>
+#include <gmodule.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 +36,39 @@
 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 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 parseVariableAttributes(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 +76,82 @@
 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 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 parseViewDescription(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 parseDataChangeNotification(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 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();
Index: opcua_hfindeces.h
===================================================================
--- opcua_hfindeces.h	(Revision 27851)
+++ opcua_hfindeces.h	(Arbeitskopie)
@@ -1,7 +1,5 @@
 /******************************************************************************
-** $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 +14,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!
 **
 ******************************************************************************/
@@ -25,283 +23,389 @@
 # include "config.h"
 #endif
 
-#include <glib.h>
+#include <gmodule.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_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_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_EventQueueOverFlowCount;
+extern int hf_opcua_Executable;
+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_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_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_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_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_ContinuationPoint;
+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_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_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_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_RequestedLifetimeCounter;
-extern int hf_opcua_RequestedMaxKeepAliveCount;
-extern int hf_opcua_PublishingEnabled;
-extern int hf_opcua_Priority;
+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_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_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_Executable;
-extern int hf_opcua_UserExecutable;
-extern int hf_opcua_ContainsNoLoops;
-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_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_ServerNonce;
+extern int hf_opcua_ServerProtocolVersion;
 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_MaxArrayLength;
-extern int hf_opcua_MaxStringLength;
-extern int hf_opcua_UserName;
-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_ServerId;
+extern int hf_opcua_ServerUris;
+extern int hf_opcua_ServerViewCount;
 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_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_ServiceResult;
+extern int hf_opcua_SessionAbortCount;
+extern int hf_opcua_SessionName;
 extern int hf_opcua_SessionTimeoutCount;
-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_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_UInt16s;
 extern int hf_opcua_UInt32;
-extern int hf_opcua_Int64;
+extern int hf_opcua_UInt32s;
 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_UInt64s;
+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_WriteMask;
 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_UInt32s;
-extern int hf_opcua_Int64s;
-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_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;
 
 /** Register field types. */
 void registerFieldTypes(int proto);
+
Index: opcua_security_layer.c
===================================================================
--- opcua_security_layer.c	(Revision 27851)
+++ opcua_security_layer.c	(Arbeitskopie)
@@ -39,24 +39,20 @@
   { 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 @@
     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;
 }
 
 
Index: opcua_serviceids.h
===================================================================
--- opcua_serviceids.h	(Revision 0)
+++ opcua_serviceids.h	(Revision 0)
@@ -0,0 +1,81 @@
+#define OpcUaId_TestStackRequest_Encoding_DefaultBinary 410
+#define OpcUaId_TestStackResponse_Encoding_DefaultBinary 413
+#define OpcUaId_TestStackExRequest_Encoding_DefaultBinary 416
+#define OpcUaId_TestStackExResponse_Encoding_DefaultBinary 419
+#define OpcUaId_FindServersRequest_Encoding_DefaultBinary 422
+#define OpcUaId_FindServersResponse_Encoding_DefaultBinary 425
+#define OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary 428
+#define OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary 431
+#define OpcUaId_RegisterServerRequest_Encoding_DefaultBinary 437
+#define OpcUaId_RegisterServerResponse_Encoding_DefaultBinary 440
+#define OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary 446
+#define OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary 449
+#define OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary 452
+#define OpcUaId_CloseSecureChannelResponse_Encoding_DefaultBinary 455
+#define OpcUaId_CreateSessionRequest_Encoding_DefaultBinary 461
+#define OpcUaId_CreateSessionResponse_Encoding_DefaultBinary 464
+#define OpcUaId_ActivateSessionRequest_Encoding_DefaultBinary 467
+#define OpcUaId_ActivateSessionResponse_Encoding_DefaultBinary 470
+#define OpcUaId_CloseSessionRequest_Encoding_DefaultBinary 473
+#define OpcUaId_CloseSessionResponse_Encoding_DefaultBinary 476
+#define OpcUaId_CancelRequest_Encoding_DefaultBinary 479
+#define OpcUaId_CancelResponse_Encoding_DefaultBinary 482
+#define OpcUaId_AddNodesRequest_Encoding_DefaultBinary 488
+#define OpcUaId_AddNodesResponse_Encoding_DefaultBinary 491
+#define OpcUaId_AddReferencesRequest_Encoding_DefaultBinary 494
+#define OpcUaId_AddReferencesResponse_Encoding_DefaultBinary 497
+#define OpcUaId_DeleteNodesRequest_Encoding_DefaultBinary 500
+#define OpcUaId_DeleteNodesResponse_Encoding_DefaultBinary 503
+#define OpcUaId_DeleteReferencesRequest_Encoding_DefaultBinary 506
+#define OpcUaId_DeleteReferencesResponse_Encoding_DefaultBinary 509
+#define OpcUaId_BrowseRequest_Encoding_DefaultBinary 527
+#define OpcUaId_BrowseResponse_Encoding_DefaultBinary 530
+#define OpcUaId_BrowseNextRequest_Encoding_DefaultBinary 533
+#define OpcUaId_BrowseNextResponse_Encoding_DefaultBinary 536
+#define OpcUaId_TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary 554
+#define OpcUaId_TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary 557
+#define OpcUaId_RegisterNodesRequest_Encoding_DefaultBinary 560
+#define OpcUaId_RegisterNodesResponse_Encoding_DefaultBinary 563
+#define OpcUaId_UnregisterNodesRequest_Encoding_DefaultBinary 566
+#define OpcUaId_UnregisterNodesResponse_Encoding_DefaultBinary 569
+#define OpcUaId_QueryFirstRequest_Encoding_DefaultBinary 615
+#define OpcUaId_QueryFirstResponse_Encoding_DefaultBinary 618
+#define OpcUaId_QueryNextRequest_Encoding_DefaultBinary 621
+#define OpcUaId_QueryNextResponse_Encoding_DefaultBinary 624
+#define OpcUaId_ReadRequest_Encoding_DefaultBinary 631
+#define OpcUaId_ReadResponse_Encoding_DefaultBinary 634
+#define OpcUaId_HistoryReadRequest_Encoding_DefaultBinary 664
+#define OpcUaId_HistoryReadResponse_Encoding_DefaultBinary 667
+#define OpcUaId_WriteRequest_Encoding_DefaultBinary 673
+#define OpcUaId_WriteResponse_Encoding_DefaultBinary 676
+#define OpcUaId_HistoryUpdateRequest_Encoding_DefaultBinary 700
+#define OpcUaId_HistoryUpdateResponse_Encoding_DefaultBinary 703
+#define OpcUaId_CallMethodRequest_Encoding_DefaultBinary 706
+#define OpcUaId_CallRequest_Encoding_DefaultBinary 712
+#define OpcUaId_CallResponse_Encoding_DefaultBinary 715
+#define OpcUaId_MonitoredItemCreateRequest_Encoding_DefaultBinary 745
+#define OpcUaId_CreateMonitoredItemsRequest_Encoding_DefaultBinary 751
+#define OpcUaId_CreateMonitoredItemsResponse_Encoding_DefaultBinary 754
+#define OpcUaId_MonitoredItemModifyRequest_Encoding_DefaultBinary 757
+#define OpcUaId_ModifyMonitoredItemsRequest_Encoding_DefaultBinary 763
+#define OpcUaId_ModifyMonitoredItemsResponse_Encoding_DefaultBinary 766
+#define OpcUaId_SetMonitoringModeRequest_Encoding_DefaultBinary 769
+#define OpcUaId_SetMonitoringModeResponse_Encoding_DefaultBinary 772
+#define OpcUaId_SetTriggeringRequest_Encoding_DefaultBinary 775
+#define OpcUaId_SetTriggeringResponse_Encoding_DefaultBinary 778
+#define OpcUaId_DeleteMonitoredItemsRequest_Encoding_DefaultBinary 781
+#define OpcUaId_DeleteMonitoredItemsResponse_Encoding_DefaultBinary 784
+#define OpcUaId_CreateSubscriptionRequest_Encoding_DefaultBinary 787
+#define OpcUaId_CreateSubscriptionResponse_Encoding_DefaultBinary 790
+#define OpcUaId_ModifySubscriptionRequest_Encoding_DefaultBinary 793
+#define OpcUaId_ModifySubscriptionResponse_Encoding_DefaultBinary 796
+#define OpcUaId_SetPublishingModeRequest_Encoding_DefaultBinary 799
+#define OpcUaId_SetPublishingModeResponse_Encoding_DefaultBinary 802
+#define OpcUaId_PublishRequest_Encoding_DefaultBinary 826
+#define OpcUaId_PublishResponse_Encoding_DefaultBinary 829
+#define OpcUaId_RepublishRequest_Encoding_DefaultBinary 832
+#define OpcUaId_RepublishResponse_Encoding_DefaultBinary 835
+#define OpcUaId_TransferSubscriptionsRequest_Encoding_DefaultBinary 841
+#define OpcUaId_TransferSubscriptionsResponse_Encoding_DefaultBinary 844
+#define OpcUaId_DeleteSubscriptionsRequest_Encoding_DefaultBinary 847
+#define OpcUaId_DeleteSubscriptionsResponse_Encoding_DefaultBinary 850

Eigenschaftsänderungen: opcua_serviceids.h
___________________________________________________________________
Hinzugefügt: svn:eol-style
   + native