checkAPIs.pl: support for new-style dissectors in check_hf_entries
[metze/wireshark/wip.git] / epan / diam_dict.h
1 /*
2  ** diam_dict.h
3  ** Diameter Dictionary Import Routines
4  **
5  ** (c) 2007, Luis E. Garcia Ontanon <luis@ontanon.org>
6  **
7  ** SPDX-License-Identifier: GPL-2.0-or-later
8  */
9
10 #ifndef _DIAM_DICT_H_
11 #define _DIAM_DICT_H_
12
13 struct _ddict_namecode_t {
14         char* name;
15         guint code;
16         struct _ddict_namecode_t* next;
17 };
18
19 typedef struct _ddict_namecode_t ddict_gavp_t;
20 typedef struct _ddict_namecode_t ddict_enum_t;
21 typedef struct _ddict_namecode_t ddict_application_t;
22
23 typedef struct _ddict_vendor_t {
24         char* name;
25         char* desc;
26         guint code;
27         struct _ddict_vendor_t* next;
28 } ddict_vendor_t;
29
30 typedef struct _ddict_avp_t {
31         char* name;
32         char* description;
33         char* vendor;
34         char* type;
35         guint code;
36         ddict_gavp_t* gavps;
37         ddict_enum_t* enums;
38         struct _ddict_avp_t* next;
39 } ddict_avp_t;
40
41 typedef struct _ddict_typedefn_t {
42         char* name;
43         char* parent;
44         struct _ddict_typedefn_t* next;
45 } ddict_typedefn_t;
46
47 typedef struct _ddict_cmd_t {
48         char* name;
49         char* vendor;
50         guint code;
51         struct _ddict_cmd_t* next;
52 } ddict_cmd_t;
53
54 typedef struct _ddict_xmlpi_t {
55         char* name;
56         char* key;
57         char* value;
58         struct _ddict_xmlpi_t* next;
59 } ddict_xmlpi_t;
60
61 typedef struct _ddict_t {
62         ddict_application_t* applications;
63         ddict_vendor_t* vendors;
64         ddict_cmd_t* cmds;
65         ddict_typedefn_t* typedefns;
66         ddict_avp_t* avps;
67         ddict_xmlpi_t* xmlpis;
68 } ddict_t;
69
70 extern void ddict_print(FILE* fh, ddict_t* d);
71 extern ddict_t* ddict_scan(const char* directory, const char* filename, int dbg);
72 extern void ddict_free(ddict_t* d);
73
74 #endif