xref: /openbsd-src/lib/libexpat/tests/dummy.h (revision bd8f1dc3b0e01803a74947836eef57849c13acb0)
1*bd8f1dc3Sbluhm /* Dummy handler functions for the Expat test suite
2*bd8f1dc3Sbluhm                             __  __            _
3*bd8f1dc3Sbluhm                          ___\ \/ /_ __   __ _| |_
4*bd8f1dc3Sbluhm                         / _ \\  /| '_ \ / _` | __|
5*bd8f1dc3Sbluhm                        |  __//  \| |_) | (_| | |_
6*bd8f1dc3Sbluhm                         \___/_/\_\ .__/ \__,_|\__|
7*bd8f1dc3Sbluhm                                  |_| XML parser
8*bd8f1dc3Sbluhm 
9*bd8f1dc3Sbluhm    Copyright (c) 2001-2006 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
10*bd8f1dc3Sbluhm    Copyright (c) 2003      Greg Stein <gstein@users.sourceforge.net>
11*bd8f1dc3Sbluhm    Copyright (c) 2005-2007 Steven Solie <steven@solie.ca>
12*bd8f1dc3Sbluhm    Copyright (c) 2005-2012 Karl Waclawek <karl@waclawek.net>
13*bd8f1dc3Sbluhm    Copyright (c) 2016-2022 Sebastian Pipping <sebastian@pipping.org>
14*bd8f1dc3Sbluhm    Copyright (c) 2017-2022 Rhodri James <rhodri@wildebeest.org.uk>
15*bd8f1dc3Sbluhm    Copyright (c) 2017      Joe Orton <jorton@redhat.com>
16*bd8f1dc3Sbluhm    Copyright (c) 2017      José Gutiérrez de la Concha <jose@zeroc.com>
17*bd8f1dc3Sbluhm    Copyright (c) 2018      Marco Maggi <marco.maggi-ipsu@poste.it>
18*bd8f1dc3Sbluhm    Copyright (c) 2019      David Loffredo <loffredo@steptools.com>
19*bd8f1dc3Sbluhm    Copyright (c) 2020      Tim Gates <tim.gates@iress.com>
20*bd8f1dc3Sbluhm    Copyright (c) 2021      Donghee Na <donghee.na@python.org>
21*bd8f1dc3Sbluhm    Licensed under the MIT license:
22*bd8f1dc3Sbluhm 
23*bd8f1dc3Sbluhm    Permission is  hereby granted,  free of charge,  to any  person obtaining
24*bd8f1dc3Sbluhm    a  copy  of  this  software   and  associated  documentation  files  (the
25*bd8f1dc3Sbluhm    "Software"),  to  deal in  the  Software  without restriction,  including
26*bd8f1dc3Sbluhm    without  limitation the  rights  to use,  copy,  modify, merge,  publish,
27*bd8f1dc3Sbluhm    distribute, sublicense, and/or sell copies of the Software, and to permit
28*bd8f1dc3Sbluhm    persons  to whom  the Software  is  furnished to  do so,  subject to  the
29*bd8f1dc3Sbluhm    following conditions:
30*bd8f1dc3Sbluhm 
31*bd8f1dc3Sbluhm    The above copyright  notice and this permission notice  shall be included
32*bd8f1dc3Sbluhm    in all copies or substantial portions of the Software.
33*bd8f1dc3Sbluhm 
34*bd8f1dc3Sbluhm    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND,
35*bd8f1dc3Sbluhm    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF
36*bd8f1dc3Sbluhm    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
37*bd8f1dc3Sbluhm    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
38*bd8f1dc3Sbluhm    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR
39*bd8f1dc3Sbluhm    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
40*bd8f1dc3Sbluhm    USE OR OTHER DEALINGS IN THE SOFTWARE.
41*bd8f1dc3Sbluhm */
42*bd8f1dc3Sbluhm 
43*bd8f1dc3Sbluhm #ifdef __cplusplus
44*bd8f1dc3Sbluhm extern "C" {
45*bd8f1dc3Sbluhm #endif
46*bd8f1dc3Sbluhm 
47*bd8f1dc3Sbluhm #ifndef XML_DUMMY_H
48*bd8f1dc3Sbluhm #  define XML_DUMMY_H
49*bd8f1dc3Sbluhm 
50*bd8f1dc3Sbluhm #  define DUMMY_START_DOCTYPE_HANDLER_FLAG (1UL << 0)
51*bd8f1dc3Sbluhm #  define DUMMY_END_DOCTYPE_HANDLER_FLAG (1UL << 1)
52*bd8f1dc3Sbluhm #  define DUMMY_ENTITY_DECL_HANDLER_FLAG (1UL << 2)
53*bd8f1dc3Sbluhm #  define DUMMY_NOTATION_DECL_HANDLER_FLAG (1UL << 3)
54*bd8f1dc3Sbluhm #  define DUMMY_ELEMENT_DECL_HANDLER_FLAG (1UL << 4)
55*bd8f1dc3Sbluhm #  define DUMMY_ATTLIST_DECL_HANDLER_FLAG (1UL << 5)
56*bd8f1dc3Sbluhm #  define DUMMY_COMMENT_HANDLER_FLAG (1UL << 6)
57*bd8f1dc3Sbluhm #  define DUMMY_PI_HANDLER_FLAG (1UL << 7)
58*bd8f1dc3Sbluhm #  define DUMMY_START_ELEMENT_HANDLER_FLAG (1UL << 8)
59*bd8f1dc3Sbluhm #  define DUMMY_START_CDATA_HANDLER_FLAG (1UL << 9)
60*bd8f1dc3Sbluhm #  define DUMMY_END_CDATA_HANDLER_FLAG (1UL << 10)
61*bd8f1dc3Sbluhm #  define DUMMY_UNPARSED_ENTITY_DECL_HANDLER_FLAG (1UL << 11)
62*bd8f1dc3Sbluhm #  define DUMMY_START_NS_DECL_HANDLER_FLAG (1UL << 12)
63*bd8f1dc3Sbluhm #  define DUMMY_END_NS_DECL_HANDLER_FLAG (1UL << 13)
64*bd8f1dc3Sbluhm #  define DUMMY_START_DOCTYPE_DECL_HANDLER_FLAG (1UL << 14)
65*bd8f1dc3Sbluhm #  define DUMMY_END_DOCTYPE_DECL_HANDLER_FLAG (1UL << 15)
66*bd8f1dc3Sbluhm #  define DUMMY_SKIP_HANDLER_FLAG (1UL << 16)
67*bd8f1dc3Sbluhm #  define DUMMY_DEFAULT_HANDLER_FLAG (1UL << 17)
68*bd8f1dc3Sbluhm 
69*bd8f1dc3Sbluhm extern void init_dummy_handlers(void);
70*bd8f1dc3Sbluhm extern unsigned long get_dummy_handler_flags(void);
71*bd8f1dc3Sbluhm 
72*bd8f1dc3Sbluhm extern void XMLCALL dummy_xdecl_handler(void *userData, const XML_Char *version,
73*bd8f1dc3Sbluhm                                         const XML_Char *encoding,
74*bd8f1dc3Sbluhm                                         int standalone);
75*bd8f1dc3Sbluhm 
76*bd8f1dc3Sbluhm extern void XMLCALL dummy_start_doctype_handler(void *userData,
77*bd8f1dc3Sbluhm                                                 const XML_Char *doctypeName,
78*bd8f1dc3Sbluhm                                                 const XML_Char *sysid,
79*bd8f1dc3Sbluhm                                                 const XML_Char *pubid,
80*bd8f1dc3Sbluhm                                                 int has_internal_subset);
81*bd8f1dc3Sbluhm 
82*bd8f1dc3Sbluhm extern void XMLCALL dummy_end_doctype_handler(void *userData);
83*bd8f1dc3Sbluhm 
84*bd8f1dc3Sbluhm extern void XMLCALL dummy_entity_decl_handler(
85*bd8f1dc3Sbluhm     void *userData, const XML_Char *entityName, int is_parameter_entity,
86*bd8f1dc3Sbluhm     const XML_Char *value, int value_length, const XML_Char *base,
87*bd8f1dc3Sbluhm     const XML_Char *systemId, const XML_Char *publicId,
88*bd8f1dc3Sbluhm     const XML_Char *notationName);
89*bd8f1dc3Sbluhm 
90*bd8f1dc3Sbluhm extern void XMLCALL dummy_notation_decl_handler(void *userData,
91*bd8f1dc3Sbluhm                                                 const XML_Char *notationName,
92*bd8f1dc3Sbluhm                                                 const XML_Char *base,
93*bd8f1dc3Sbluhm                                                 const XML_Char *systemId,
94*bd8f1dc3Sbluhm                                                 const XML_Char *publicId);
95*bd8f1dc3Sbluhm 
96*bd8f1dc3Sbluhm extern void XMLCALL dummy_element_decl_handler(void *userData,
97*bd8f1dc3Sbluhm                                                const XML_Char *name,
98*bd8f1dc3Sbluhm                                                XML_Content *model);
99*bd8f1dc3Sbluhm 
100*bd8f1dc3Sbluhm extern void XMLCALL dummy_attlist_decl_handler(
101*bd8f1dc3Sbluhm     void *userData, const XML_Char *elname, const XML_Char *attname,
102*bd8f1dc3Sbluhm     const XML_Char *att_type, const XML_Char *dflt, int isrequired);
103*bd8f1dc3Sbluhm 
104*bd8f1dc3Sbluhm extern void XMLCALL dummy_comment_handler(void *userData, const XML_Char *data);
105*bd8f1dc3Sbluhm 
106*bd8f1dc3Sbluhm extern void XMLCALL dummy_pi_handler(void *userData, const XML_Char *target,
107*bd8f1dc3Sbluhm                                      const XML_Char *data);
108*bd8f1dc3Sbluhm 
109*bd8f1dc3Sbluhm extern void XMLCALL dummy_start_element(void *userData, const XML_Char *name,
110*bd8f1dc3Sbluhm                                         const XML_Char **atts);
111*bd8f1dc3Sbluhm 
112*bd8f1dc3Sbluhm extern void XMLCALL dummy_end_element(void *userData, const XML_Char *name);
113*bd8f1dc3Sbluhm 
114*bd8f1dc3Sbluhm extern void XMLCALL dummy_start_cdata_handler(void *userData);
115*bd8f1dc3Sbluhm 
116*bd8f1dc3Sbluhm extern void XMLCALL dummy_end_cdata_handler(void *userData);
117*bd8f1dc3Sbluhm 
118*bd8f1dc3Sbluhm extern void XMLCALL dummy_cdata_handler(void *userData, const XML_Char *s,
119*bd8f1dc3Sbluhm                                         int len);
120*bd8f1dc3Sbluhm 
121*bd8f1dc3Sbluhm extern void XMLCALL dummy_start_namespace_decl_handler(void *userData,
122*bd8f1dc3Sbluhm                                                        const XML_Char *prefix,
123*bd8f1dc3Sbluhm                                                        const XML_Char *uri);
124*bd8f1dc3Sbluhm 
125*bd8f1dc3Sbluhm extern void XMLCALL dummy_end_namespace_decl_handler(void *userData,
126*bd8f1dc3Sbluhm                                                      const XML_Char *prefix);
127*bd8f1dc3Sbluhm 
128*bd8f1dc3Sbluhm extern void XMLCALL dummy_unparsed_entity_decl_handler(
129*bd8f1dc3Sbluhm     void *userData, const XML_Char *entityName, const XML_Char *base,
130*bd8f1dc3Sbluhm     const XML_Char *systemId, const XML_Char *publicId,
131*bd8f1dc3Sbluhm     const XML_Char *notationName);
132*bd8f1dc3Sbluhm 
133*bd8f1dc3Sbluhm extern void XMLCALL dummy_default_handler(void *userData, const XML_Char *s,
134*bd8f1dc3Sbluhm                                           int len);
135*bd8f1dc3Sbluhm 
136*bd8f1dc3Sbluhm extern void XMLCALL dummy_start_doctype_decl_handler(
137*bd8f1dc3Sbluhm     void *userData, const XML_Char *doctypeName, const XML_Char *sysid,
138*bd8f1dc3Sbluhm     const XML_Char *pubid, int has_internal_subset);
139*bd8f1dc3Sbluhm 
140*bd8f1dc3Sbluhm extern void XMLCALL dummy_end_doctype_decl_handler(void *userData);
141*bd8f1dc3Sbluhm 
142*bd8f1dc3Sbluhm extern void XMLCALL dummy_skip_handler(void *userData,
143*bd8f1dc3Sbluhm                                        const XML_Char *entityName,
144*bd8f1dc3Sbluhm                                        int is_parameter_entity);
145*bd8f1dc3Sbluhm 
146*bd8f1dc3Sbluhm #endif /* XML_DUMMY_H */
147*bd8f1dc3Sbluhm 
148*bd8f1dc3Sbluhm #ifdef __cplusplus
149*bd8f1dc3Sbluhm }
150*bd8f1dc3Sbluhm #endif
151