1      * Summary: string dictionary
2      * Description: dictionary of reusable strings, just used to avoid
3      *         allocation and freeing operations.
4      *
5      * Copy: See Copyright for the status of this software.
6      *
7      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
8
9      /if not defined(XML_DICT_H__)
10      /define XML_DICT_H__
11
12      * The dictionary.
13
14     d xmlDictPtr      s               *   based(######typedef######)
15
16      /include "libxmlrpg/xmlversion"
17      /include "libxmlrpg/xmlTypesC"
18      /include "libxmlrpg/tree"
19
20      * Initializer
21
22     d xmlInitializeDict...
23     d                 pr                  extproc('xmlInitializeDict')
24     d                                     like(xmlCint)
25
26      * Constructor and destructor.
27
28     d xmlDictCreate   pr                  extproc('xmlDictCreate')
29     d                                     like(xmlDictPtr)
30
31     d xmlDictSetLimit...
32     d                 pr                  extproc('xmlDictSetLimit')
33     d                                     like(xmlCsize_t)
34     d  dict                               value like(xmlDictPtr)
35     d  limit                              value like(xmlCsize_t)
36
37     d xmlDictGetUsage...
38     d                 pr                  extproc('xmlDictGetUsage')
39     d                                     like(xmlCsize_t)
40     d  dict                               value like(xmlDictPtr)
41
42     d xmlDictCreateSub...
43     d                 pr                  extproc('xmlDictCreateSub')
44     d                                     like(xmlDictPtr)
45     d  sub                                value like(xmlDictPtr)
46
47     d xmlDictReference...
48     d                 pr                  extproc('xmlDictGetReference')
49     d                                     like(xmlCint)
50     d  dict                               value like(xmlDictPtr)
51
52     d xmlDictFree     pr                  extproc('xmlDictFree')
53     d  dict                               value like(xmlDictPtr)
54
55      * Lookup of entry in the dictionary.
56
57     d xmlDictLookup   pr              *   extproc('xmlDictLookup')             const xmlChar *
58     d  dict                               value like(xmlDictPtr)
59     d  name                           *   value options(*string)               const xmlChar *
60     d  len                                value like(xmlCint)
61
62     d xmlDictExists   pr              *   extproc('xmlDictExists')             const xmlChar *
63     d  dict                               value like(xmlDictPtr)
64     d  name                           *   value options(*string)               const xmlChar *
65     d  len                                value like(xmlCint)
66
67     d xmlDictQLookup  pr              *   extproc('xmlDictQLookup')            const xmlChar *
68     d  dict                               value like(xmlDictPtr)
69     d  name                           *   value options(*string)               const xmlChar *
70     d  name                           *   value options(*string)               const xmlChar *
71
72     d xmlDictOwns     pr                  extproc('xmlDictOwns')
73     d                                     like(xmlCint)
74     d  dict                               value like(xmlDictPtr)
75     d  str                            *   value options(*string)               const xmlChar *
76
77     d xmlDictSize     pr                  extproc('xmlDictSize')
78     d                                     like(xmlCint)
79     d  dict                               value like(xmlDictPtr)
80
81      * Cleanup function
82
83     d xmlDictCleanup  pr                  extproc('xmlDictCleanup')
84
85      /endif                                                                    ! XML_DICT_H__
86