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      /include "libxmlrpg/xmlversion"
13      /include "libxmlrpg/xmlTypesC"
14      /include "libxmlrpg/tree"
15
16      * The dictionary.
17
18     d xmlDictPtr      s               *   based(######typedef######)
19
20      * Initializer
21
22     d xmlInitializeDict...
23     d                 pr            10i 0 extproc('xmlInitializeDict')
24
25      * Constructor and destructor.
26
27     d xmlDictCreate   pr                  extproc('xmlDictCreate')
28     d                                     like(xmlDictPtr)
29
30     d xmlDictSetLimit...
31     d                 pr                  extproc('xmlDictSetLimit')
32     d                                     like(xmlCsize_t)
33     d  dict                               value like(xmlDictPtr)
34     d  limit                              value like(xmlCsize_t)
35
36     d xmlDictGetUsage...
37     d                 pr                  extproc('xmlDictGetUsage')
38     d                                     like(xmlCsize_t)
39     d  dict                               value like(xmlDictPtr)
40
41     d xmlDictCreateSub...
42     d                 pr                  extproc('xmlDictCreateSub')
43     d                                     like(xmlDictPtr)
44     d  sub                                value like(xmlDictPtr)
45
46     d xmlDictReference...
47     d                 pr            10i 0 extproc('xmlDictGetReference')
48     d  dict                               value like(xmlDictPtr)
49
50     d xmlDictFree     pr                  extproc('xmlDictFree')
51     d  dict                               value like(xmlDictPtr)
52
53      * Lookup of entry in the dictionary.
54
55     d xmlDictLookup   pr              *   extproc('xmlDictLookup')             const xmlChar *
56     d  dict                               value like(xmlDictPtr)
57     d  name                           *   value options(*string)               const xmlChar *
58     d  len                          10i 0 value
59
60     d xmlDictExists   pr              *   extproc('xmlDictExists')             const xmlChar *
61     d  dict                               value like(xmlDictPtr)
62     d  name                           *   value options(*string)               const xmlChar *
63     d  len                          10i 0 value
64
65     d xmlDictQLookup  pr              *   extproc('xmlDictQLookup')            const xmlChar *
66     d  dict                               value like(xmlDictPtr)
67     d  name                           *   value options(*string)               const xmlChar *
68     d  name                           *   value options(*string)               const xmlChar *
69
70     d xmlDictOwns     pr            10i 0 extproc('xmlDictOwns')
71     d  dict                               value like(xmlDictPtr)
72     d  str                            *   value options(*string)               const xmlChar *
73
74     d xmlDictSize     pr            10i 0 extproc('xmlDictSize')
75     d  dict                               value like(xmlDictPtr)
76
77      * Cleanup function
78
79     d xmlDictCleanup  pr                  extproc('xmlDictCleanup')
80
81      /endif                                                                    ! XML_DICT_H__
82