Make files more generic.
[obnox/wireshark/wip.git] / plugins / opcua / opcua_simpletypes.h
1 /******************************************************************************
2 ** $Id$
3 **
4 ** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
5 ** Web: http://www.ascolab.com
6 ** 
7 ** This program is free software; you can redistribute it and/or
8 ** modify it under the terms of the GNU General Public License
9 ** as published by the Free Software Foundation; either version 2
10 ** of the License, or (at your option) any later version.
11 ** 
12 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
13 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
14 ** 
15 ** Project: OpcUa Wireshark Plugin
16 **
17 ** Description: Implementation of OpcUa built-in type parsers.
18 **              This contains all the simple types and some complex types.
19 **
20 ** Author: Gerhard Gappmeier <gerhard.gappmeier@ascolab.com>
21 ** Last change by: $Author: gergap $
22 **
23 ******************************************************************************/
24 #include "opcua_identifiers.h"
25
26 /* simple types */
27 void parseBoolean(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
28 void parseByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
29 void parseSByte(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
30 void parseUInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
31 void parseInt16(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
32 void parseUInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
33 void parseInt32(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
34 void parseUInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
35 void parseInt64(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
36 void parseString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
37 void parseGuid(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
38 void parseByteString(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
39 void parseXmlElement(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
40 void parseFloat(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
41 void parseDouble(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
42 void parseDateTime(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
43 void parseStatusCode(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex);
44 /* complex types */
45 void parseLocalizedText(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
46 void parseNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
47 void parseDiagnosticInfo(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
48 void parseExtensionObject(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
49 void parseQualifiedName(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
50 void parseDataValue(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
51 void parseVariant(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
52 void parseExpandedNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName);
53 void parseArraySimple(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, int hfIndex, fctSimpleTypeParser pParserFunction);
54 void parseArrayEnum(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, fctEnumParser pParserFunction);
55 void parseArrayComplex(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName, fctComplexTypeParser pParserFunction);
56 void registerSimpleTypes(int proto);