![Jeff Morriss](/assets/img/avatar_default.png)
This patch adds support for displaying OPC UA ExtensionObjects. An ExtensionObject is a mechanism to transport user defined structures as serialized blobs. Some types of ExtensionObjects are already defined by the OPC Foundation's OPC UA Specifications. These types can be implemented by this dissector, because they are well-known. Real user-defined or vendor-defined types are unlikely to be implemented by a passive dissector, because this would require browsing of the UA server's address space to retrieve the type information. Currently only the following types are supported: * DataChangeNotification * EventNotification Others OPC defined types will follow. From me: fix warnings: "format not a string literal and no format arguments" svn path=/trunk/; revision=34906
49 lines
1.7 KiB
C
49 lines
1.7 KiB
C
/******************************************************************************
|
|
** $Id$
|
|
**
|
|
** Copyright (C) 2006-2007 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: Parser type definitions.
|
|
**
|
|
** This file was autogenerated on 6/10/2007 2:35:22 AM.
|
|
** DON'T MODIFY THIS FILE!
|
|
** XXX - well, except that you may have to. See the README.
|
|
**
|
|
******************************************************************************/
|
|
|
|
#include <glib.h>
|
|
#include <epan/packet.h>
|
|
|
|
/* declare service parser function prototype */
|
|
typedef void (*fctServiceParser)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
|
|
/* declare enum parser function prototype */
|
|
typedef void (*fctEnumParser)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset);
|
|
/* declare type parser function prototype */
|
|
typedef void (*fctComplexTypeParser)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
|
|
/* declare type parser function prototype */
|
|
typedef void (*fctSimpleTypeParser)(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
|
|
|
|
typedef struct _ParserEntry
|
|
{
|
|
int iRequestId;
|
|
fctServiceParser pParser;
|
|
} ParserEntry;
|
|
|
|
typedef struct _ExtensionObjectParserEntry
|
|
{
|
|
int iRequestId;
|
|
fctComplexTypeParser pParser;
|
|
gchar *typeName;
|
|
} ExtensionObjectParserEntry;
|