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