1 /*
2  * This file was generated automatically by ExtUtils::ParseXS version 3.34 from the
3  * contents of Parsetexi.xs. Do not edit this file, edit Parsetexi.xs instead.
4  *
5  *    ANY CHANGES MADE HERE WILL BE LOST!
6  *
7  */
8 
9 #line 1 "parsetexi/Parsetexi.xs"
10 /* Avoid namespace conflicts. */
11 #define context perl_context
12 
13 #define PERL_NO_GET_CONTEXT
14 #include "EXTERN.h"
15 #include "perl.h"
16 #include "XSUB.h"
17 
18 #undef context
19 
20 #include "ppport.h"
21 
22 #include "parser.h"
23 #include "api.h"
24 #include "indices.h"
25 #include "input.h"
26 
27 #line 28 "parsetexi/Parsetexi.c"
28 #ifndef PERL_UNUSED_VAR
29 #  define PERL_UNUSED_VAR(var) if (0) var = var
30 #endif
31 
32 #ifndef dVAR
33 #  define dVAR		dNOOP
34 #endif
35 
36 
37 /* This stuff is not part of the API! You have been warned. */
38 #ifndef PERL_VERSION_DECIMAL
39 #  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
40 #endif
41 #ifndef PERL_DECIMAL_VERSION
42 #  define PERL_DECIMAL_VERSION \
43 	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
44 #endif
45 #ifndef PERL_VERSION_GE
46 #  define PERL_VERSION_GE(r,v,s) \
47 	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
48 #endif
49 #ifndef PERL_VERSION_LE
50 #  define PERL_VERSION_LE(r,v,s) \
51 	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
52 #endif
53 
54 /* XS_INTERNAL is the explicit static-linkage variant of the default
55  * XS macro.
56  *
57  * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
58  * "STATIC", ie. it exports XSUB symbols. You probably don't want that
59  * for anything but the BOOT XSUB.
60  *
61  * See XSUB.h in core!
62  */
63 
64 
65 /* TODO: This might be compatible further back than 5.10.0. */
66 #if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
67 #  undef XS_EXTERNAL
68 #  undef XS_INTERNAL
69 #  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
70 #    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
71 #    define XS_INTERNAL(name) STATIC XSPROTO(name)
72 #  endif
73 #  if defined(__SYMBIAN32__)
74 #    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
75 #    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
76 #  endif
77 #  ifndef XS_EXTERNAL
78 #    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
79 #      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
80 #      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
81 #    else
82 #      ifdef __cplusplus
83 #        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
84 #        define XS_INTERNAL(name) static XSPROTO(name)
85 #      else
86 #        define XS_EXTERNAL(name) XSPROTO(name)
87 #        define XS_INTERNAL(name) STATIC XSPROTO(name)
88 #      endif
89 #    endif
90 #  endif
91 #endif
92 
93 /* perl >= 5.10.0 && perl <= 5.15.1 */
94 
95 
96 /* The XS_EXTERNAL macro is used for functions that must not be static
97  * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
98  * macro defined, the best we can do is assume XS is the same.
99  * Dito for XS_INTERNAL.
100  */
101 #ifndef XS_EXTERNAL
102 #  define XS_EXTERNAL(name) XS(name)
103 #endif
104 #ifndef XS_INTERNAL
105 #  define XS_INTERNAL(name) XS(name)
106 #endif
107 
108 /* Now, finally, after all this mess, we want an ExtUtils::ParseXS
109  * internal macro that we're free to redefine for varying linkage due
110  * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
111  * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
112  */
113 
114 #undef XS_EUPXS
115 #if defined(PERL_EUPXS_ALWAYS_EXPORT)
116 #  define XS_EUPXS(name) XS_EXTERNAL(name)
117 #else
118    /* default to internal */
119 #  define XS_EUPXS(name) XS_INTERNAL(name)
120 #endif
121 
122 #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
123 #define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
124 
125 /* prototype to pass -Wmissing-prototypes */
126 STATIC void
127 S_croak_xs_usage(const CV *const cv, const char *const params);
128 
129 STATIC void
S_croak_xs_usage(const CV * const cv,const char * const params)130 S_croak_xs_usage(const CV *const cv, const char *const params)
131 {
132     const GV *const gv = CvGV(cv);
133 
134     PERL_ARGS_ASSERT_CROAK_XS_USAGE;
135 
136     if (gv) {
137         const char *const gvname = GvNAME(gv);
138         const HV *const stash = GvSTASH(gv);
139         const char *const hvname = stash ? HvNAME(stash) : NULL;
140 
141         if (hvname)
142 	    Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
143         else
144 	    Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
145     } else {
146         /* Pants. I don't think that it should be possible to get here. */
147 	Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
148     }
149 }
150 #undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE
151 
152 #define croak_xs_usage        S_croak_xs_usage
153 
154 #endif
155 
156 /* NOTE: the prototype of newXSproto() is different in versions of perls,
157  * so we define a portable version of newXSproto()
158  */
159 #ifdef newXS_flags
160 #define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
161 #else
162 #define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
163 #endif /* !defined(newXS_flags) */
164 
165 #if PERL_VERSION_LE(5, 21, 5)
166 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
167 #else
168 #  define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b)
169 #endif
170 
171 #line 172 "parsetexi/Parsetexi.c"
172 
173 XS_EUPXS(XS_Texinfo__Parser_init); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_init)174 XS_EUPXS(XS_Texinfo__Parser_init)
175 {
176     dVAR; dXSARGS;
177     if (items != 2)
178        croak_xs_usage(cv,  "texinfo_uninstalled, srcdir");
179     {
180 	int	texinfo_uninstalled = (int)SvIV(ST(0))
181 ;
182 	char *	srcdir = (char *)SvPV_nolen(ST(1))
183 ;
184 	int	RETVAL;
185 	dXSTARG;
186 
187 	RETVAL = init(texinfo_uninstalled, srcdir);
188 	XSprePUSH; PUSHi((IV)RETVAL);
189     }
190     XSRETURN(1);
191 }
192 
193 
194 XS_EUPXS(XS_Texinfo__Parser_dump_errors); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_dump_errors)195 XS_EUPXS(XS_Texinfo__Parser_dump_errors)
196 {
197     dVAR; dXSARGS;
198     if (items != 0)
199        croak_xs_usage(cv,  "");
200     {
201 	char *	RETVAL;
202 	dXSTARG;
203 
204 	RETVAL = dump_errors();
205 	sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
206     }
207     XSRETURN(1);
208 }
209 
210 
211 XS_EUPXS(XS_Texinfo__Parser_wipe_errors); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_wipe_errors)212 XS_EUPXS(XS_Texinfo__Parser_wipe_errors)
213 {
214     dVAR; dXSARGS;
215     if (items != 0)
216        croak_xs_usage(cv,  "");
217     {
218 
219 	wipe_errors();
220     }
221     XSRETURN_EMPTY;
222 }
223 
224 
225 XS_EUPXS(XS_Texinfo__Parser_parse_file); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_parse_file)226 XS_EUPXS(XS_Texinfo__Parser_parse_file)
227 {
228     dVAR; dXSARGS;
229     if (items != 1)
230        croak_xs_usage(cv,  "filename");
231     {
232 	char *	filename = (char *)SvPV_nolen(ST(0))
233 ;
234 	int	RETVAL;
235 	dXSTARG;
236 
237 	RETVAL = parse_file(filename);
238 	XSprePUSH; PUSHi((IV)RETVAL);
239     }
240     XSRETURN(1);
241 }
242 
243 
244 XS_EUPXS(XS_Texinfo__Parser_parse_string); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_parse_string)245 XS_EUPXS(XS_Texinfo__Parser_parse_string)
246 {
247     dVAR; dXSARGS;
248     if (items != 1)
249        croak_xs_usage(cv,  "string");
250     {
251 	char *	string = (char *)SvPV_nolen(ST(0))
252 ;
253 
254 	parse_string(string);
255     }
256     XSRETURN_EMPTY;
257 }
258 
259 
260 XS_EUPXS(XS_Texinfo__Parser_parse_text); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_parse_text)261 XS_EUPXS(XS_Texinfo__Parser_parse_text)
262 {
263     dVAR; dXSARGS;
264     if (items != 1)
265        croak_xs_usage(cv,  "string");
266     {
267 	char *	string = (char *)SvPV_nolen(ST(0))
268 ;
269 
270 	parse_text(string);
271     }
272     XSRETURN_EMPTY;
273 }
274 
275 
276 XS_EUPXS(XS_Texinfo__Parser_store_value); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_store_value)277 XS_EUPXS(XS_Texinfo__Parser_store_value)
278 {
279     dVAR; dXSARGS;
280     if (items != 2)
281        croak_xs_usage(cv,  "name, value");
282     {
283 	char *	name = (char *)SvPV_nolen(ST(0))
284 ;
285 	char *	value = (char *)SvPV_nolen(ST(1))
286 ;
287 
288 	store_value(name, value);
289     }
290     XSRETURN_EMPTY;
291 }
292 
293 
294 XS_EUPXS(XS_Texinfo__Parser_wipe_values); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_wipe_values)295 XS_EUPXS(XS_Texinfo__Parser_wipe_values)
296 {
297     dVAR; dXSARGS;
298     if (items != 0)
299        croak_xs_usage(cv,  "");
300     {
301 
302 	wipe_values();
303     }
304     XSRETURN_EMPTY;
305 }
306 
307 
308 XS_EUPXS(XS_Texinfo__Parser_reset_context_stack); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_reset_context_stack)309 XS_EUPXS(XS_Texinfo__Parser_reset_context_stack)
310 {
311     dVAR; dXSARGS;
312     if (items != 0)
313        croak_xs_usage(cv,  "");
314     {
315 
316 	reset_context_stack();
317     }
318     XSRETURN_EMPTY;
319 }
320 
321 
322 XS_EUPXS(XS_Texinfo__Parser_init_index_commands); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_init_index_commands)323 XS_EUPXS(XS_Texinfo__Parser_init_index_commands)
324 {
325     dVAR; dXSARGS;
326     if (items != 0)
327        croak_xs_usage(cv,  "");
328     {
329 
330 	init_index_commands();
331     }
332     XSRETURN_EMPTY;
333 }
334 
335 
336 XS_EUPXS(XS_Texinfo__Parser_add_include_directory); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_add_include_directory)337 XS_EUPXS(XS_Texinfo__Parser_add_include_directory)
338 {
339     dVAR; dXSARGS;
340     if (items != 1)
341        croak_xs_usage(cv,  "filename");
342     {
343 	char *	filename = (char *)SvPV_nolen(ST(0))
344 ;
345 
346 	add_include_directory(filename);
347     }
348     XSRETURN_EMPTY;
349 }
350 
351 
352 XS_EUPXS(XS_Texinfo__Parser_build_texinfo_tree); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_build_texinfo_tree)353 XS_EUPXS(XS_Texinfo__Parser_build_texinfo_tree)
354 {
355     dVAR; dXSARGS;
356     if (items != 0)
357        croak_xs_usage(cv,  "");
358     {
359 	HV *	RETVAL;
360 
361 	RETVAL = build_texinfo_tree();
362 	{
363 	    SV * RETVALSV;
364 	    RETVALSV = newRV((SV*)RETVAL);
365 	    RETVALSV = sv_2mortal(RETVALSV);
366 	    ST(0) = RETVALSV;
367 	}
368     }
369     XSRETURN(1);
370 }
371 
372 
373 XS_EUPXS(XS_Texinfo__Parser_build_label_list); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_build_label_list)374 XS_EUPXS(XS_Texinfo__Parser_build_label_list)
375 {
376     dVAR; dXSARGS;
377     if (items != 0)
378        croak_xs_usage(cv,  "");
379     {
380 	AV *	RETVAL;
381 
382 	RETVAL = build_label_list();
383 	{
384 	    SV * RETVALSV;
385 	    RETVALSV = newRV((SV*)RETVAL);
386 	    RETVALSV = sv_2mortal(RETVALSV);
387 	    ST(0) = RETVALSV;
388 	}
389     }
390     XSRETURN(1);
391 }
392 
393 
394 XS_EUPXS(XS_Texinfo__Parser_build_internal_xref_list); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_build_internal_xref_list)395 XS_EUPXS(XS_Texinfo__Parser_build_internal_xref_list)
396 {
397     dVAR; dXSARGS;
398     if (items != 0)
399        croak_xs_usage(cv,  "");
400     {
401 	AV *	RETVAL;
402 
403 	RETVAL = build_internal_xref_list();
404 	{
405 	    SV * RETVALSV;
406 	    RETVALSV = newRV((SV*)RETVAL);
407 	    RETVALSV = sv_2mortal(RETVALSV);
408 	    ST(0) = RETVALSV;
409 	}
410     }
411     XSRETURN(1);
412 }
413 
414 
415 XS_EUPXS(XS_Texinfo__Parser_build_float_list); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_build_float_list)416 XS_EUPXS(XS_Texinfo__Parser_build_float_list)
417 {
418     dVAR; dXSARGS;
419     if (items != 0)
420        croak_xs_usage(cv,  "");
421     {
422 	HV *	RETVAL;
423 
424 	RETVAL = build_float_list();
425 	{
426 	    SV * RETVALSV;
427 	    RETVALSV = newRV((SV*)RETVAL);
428 	    RETVALSV = sv_2mortal(RETVALSV);
429 	    ST(0) = RETVALSV;
430 	}
431     }
432     XSRETURN(1);
433 }
434 
435 
436 XS_EUPXS(XS_Texinfo__Parser_build_index_data); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_build_index_data)437 XS_EUPXS(XS_Texinfo__Parser_build_index_data)
438 {
439     dVAR; dXSARGS;
440     if (items != 0)
441        croak_xs_usage(cv,  "");
442     {
443 	HV *	RETVAL;
444 
445 	RETVAL = build_index_data();
446 	{
447 	    SV * RETVALSV;
448 	    RETVALSV = newRV((SV*)RETVAL);
449 	    RETVALSV = sv_2mortal(RETVALSV);
450 	    ST(0) = RETVALSV;
451 	}
452     }
453     XSRETURN(1);
454 }
455 
456 
457 XS_EUPXS(XS_Texinfo__Parser_build_global_info); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_build_global_info)458 XS_EUPXS(XS_Texinfo__Parser_build_global_info)
459 {
460     dVAR; dXSARGS;
461     if (items != 0)
462        croak_xs_usage(cv,  "");
463     {
464 	HV *	RETVAL;
465 
466 	RETVAL = build_global_info();
467 	{
468 	    SV * RETVALSV;
469 	    RETVALSV = newRV((SV*)RETVAL);
470 	    RETVALSV = sv_2mortal(RETVALSV);
471 	    ST(0) = RETVALSV;
472 	}
473     }
474     XSRETURN(1);
475 }
476 
477 
478 XS_EUPXS(XS_Texinfo__Parser_build_global_info2); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_build_global_info2)479 XS_EUPXS(XS_Texinfo__Parser_build_global_info2)
480 {
481     dVAR; dXSARGS;
482     if (items != 0)
483        croak_xs_usage(cv,  "");
484     {
485 	HV *	RETVAL;
486 
487 	RETVAL = build_global_info2();
488 	{
489 	    SV * RETVALSV;
490 	    RETVALSV = newRV((SV*)RETVAL);
491 	    RETVALSV = sv_2mortal(RETVALSV);
492 	    ST(0) = RETVALSV;
493 	}
494     }
495     XSRETURN(1);
496 }
497 
498 
499 XS_EUPXS(XS_Texinfo__Parser_reset_parser); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_reset_parser)500 XS_EUPXS(XS_Texinfo__Parser_reset_parser)
501 {
502     dVAR; dXSARGS;
503     if (items != 0)
504        croak_xs_usage(cv,  "");
505     {
506 
507 	reset_parser();
508     }
509     XSRETURN_EMPTY;
510 }
511 
512 
513 XS_EUPXS(XS_Texinfo__Parser_clear_expanded_formats); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_clear_expanded_formats)514 XS_EUPXS(XS_Texinfo__Parser_clear_expanded_formats)
515 {
516     dVAR; dXSARGS;
517     if (items != 0)
518        croak_xs_usage(cv,  "");
519     {
520 
521 	clear_expanded_formats();
522     }
523     XSRETURN_EMPTY;
524 }
525 
526 
527 XS_EUPXS(XS_Texinfo__Parser_add_expanded_format); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_add_expanded_format)528 XS_EUPXS(XS_Texinfo__Parser_add_expanded_format)
529 {
530     dVAR; dXSARGS;
531     if (items != 1)
532        croak_xs_usage(cv,  "format");
533     {
534 	char *	format = (char *)SvPV_nolen(ST(0))
535 ;
536 
537 	add_expanded_format(format);
538     }
539     XSRETURN_EMPTY;
540 }
541 
542 
543 XS_EUPXS(XS_Texinfo__Parser_conf_set_show_menu); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_conf_set_show_menu)544 XS_EUPXS(XS_Texinfo__Parser_conf_set_show_menu)
545 {
546     dVAR; dXSARGS;
547     if (items != 1)
548        croak_xs_usage(cv,  "i");
549     {
550 	int	i = (int)SvIV(ST(0))
551 ;
552 
553 	conf_set_show_menu(i);
554     }
555     XSRETURN_EMPTY;
556 }
557 
558 
559 XS_EUPXS(XS_Texinfo__Parser_conf_set_CPP_LINE_DIRECTIVES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_conf_set_CPP_LINE_DIRECTIVES)560 XS_EUPXS(XS_Texinfo__Parser_conf_set_CPP_LINE_DIRECTIVES)
561 {
562     dVAR; dXSARGS;
563     if (items != 1)
564        croak_xs_usage(cv,  "i");
565     {
566 	int	i = (int)SvIV(ST(0))
567 ;
568 
569 	conf_set_CPP_LINE_DIRECTIVES(i);
570     }
571     XSRETURN_EMPTY;
572 }
573 
574 
575 XS_EUPXS(XS_Texinfo__Parser_conf_set_IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_conf_set_IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME)576 XS_EUPXS(XS_Texinfo__Parser_conf_set_IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME)
577 {
578     dVAR; dXSARGS;
579     if (items != 1)
580        croak_xs_usage(cv,  "i");
581     {
582 	int	i = (int)SvIV(ST(0))
583 ;
584 
585 	conf_set_IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME(i);
586     }
587     XSRETURN_EMPTY;
588 }
589 
590 
591 XS_EUPXS(XS_Texinfo__Parser_set_novalidate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_set_novalidate)592 XS_EUPXS(XS_Texinfo__Parser_set_novalidate)
593 {
594     dVAR; dXSARGS;
595     if (items != 1)
596        croak_xs_usage(cv,  "i");
597     {
598 	int	i = (int)SvIV(ST(0))
599 ;
600 
601 	set_novalidate(i);
602     }
603     XSRETURN_EMPTY;
604 }
605 
606 
607 XS_EUPXS(XS_Texinfo__Parser_set_documentlanguage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_set_documentlanguage)608 XS_EUPXS(XS_Texinfo__Parser_set_documentlanguage)
609 {
610     dVAR; dXSARGS;
611     if (items != 1)
612        croak_xs_usage(cv,  "value");
613     {
614 	char *	value = (char *)SvPV_nolen(ST(0))
615 ;
616 
617 	set_documentlanguage(value);
618     }
619     XSRETURN_EMPTY;
620 }
621 
622 
623 XS_EUPXS(XS_Texinfo__Parser_set_debug); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Texinfo__Parser_set_debug)624 XS_EUPXS(XS_Texinfo__Parser_set_debug)
625 {
626     dVAR; dXSARGS;
627     if (items != 1)
628        croak_xs_usage(cv,  "i");
629     {
630 	int	i = (int)SvIV(ST(0))
631 ;
632 
633 	set_debug(i);
634     }
635     XSRETURN_EMPTY;
636 }
637 
638 #ifdef __cplusplus
639 extern "C"
640 #endif
641 XS_EXTERNAL(boot_Texinfo__Parser); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_Texinfo__Parser)642 XS_EXTERNAL(boot_Texinfo__Parser)
643 {
644 #if PERL_VERSION_LE(5, 21, 5)
645     dVAR; dXSARGS;
646 #else
647     dVAR; dXSBOOTARGSXSAPIVERCHK;
648 #endif
649 #if (PERL_REVISION == 5 && PERL_VERSION < 9)
650     char* file = __FILE__;
651 #else
652     const char* file = __FILE__;
653 #endif
654 
655     PERL_UNUSED_VAR(file);
656 
657     PERL_UNUSED_VAR(cv); /* -W */
658     PERL_UNUSED_VAR(items); /* -W */
659 #if PERL_VERSION_LE(5, 21, 5)
660     XS_VERSION_BOOTCHECK;
661 #  ifdef XS_APIVERSION_BOOTCHECK
662     XS_APIVERSION_BOOTCHECK;
663 #  endif
664 #endif
665 
666         (void)newXSproto_portable("Texinfo::Parser::init", XS_Texinfo__Parser_init, file, "$$");
667         (void)newXSproto_portable("Texinfo::Parser::dump_errors", XS_Texinfo__Parser_dump_errors, file, "");
668         (void)newXSproto_portable("Texinfo::Parser::wipe_errors", XS_Texinfo__Parser_wipe_errors, file, "");
669         (void)newXSproto_portable("Texinfo::Parser::parse_file", XS_Texinfo__Parser_parse_file, file, "$");
670         (void)newXSproto_portable("Texinfo::Parser::parse_string", XS_Texinfo__Parser_parse_string, file, "$");
671         (void)newXSproto_portable("Texinfo::Parser::parse_text", XS_Texinfo__Parser_parse_text, file, "$");
672         (void)newXSproto_portable("Texinfo::Parser::store_value", XS_Texinfo__Parser_store_value, file, "$$");
673         (void)newXSproto_portable("Texinfo::Parser::wipe_values", XS_Texinfo__Parser_wipe_values, file, "");
674         (void)newXSproto_portable("Texinfo::Parser::reset_context_stack", XS_Texinfo__Parser_reset_context_stack, file, "");
675         (void)newXSproto_portable("Texinfo::Parser::init_index_commands", XS_Texinfo__Parser_init_index_commands, file, "");
676         (void)newXSproto_portable("Texinfo::Parser::add_include_directory", XS_Texinfo__Parser_add_include_directory, file, "$");
677         (void)newXSproto_portable("Texinfo::Parser::build_texinfo_tree", XS_Texinfo__Parser_build_texinfo_tree, file, "");
678         (void)newXSproto_portable("Texinfo::Parser::build_label_list", XS_Texinfo__Parser_build_label_list, file, "");
679         (void)newXSproto_portable("Texinfo::Parser::build_internal_xref_list", XS_Texinfo__Parser_build_internal_xref_list, file, "");
680         (void)newXSproto_portable("Texinfo::Parser::build_float_list", XS_Texinfo__Parser_build_float_list, file, "");
681         (void)newXSproto_portable("Texinfo::Parser::build_index_data", XS_Texinfo__Parser_build_index_data, file, "");
682         (void)newXSproto_portable("Texinfo::Parser::build_global_info", XS_Texinfo__Parser_build_global_info, file, "");
683         (void)newXSproto_portable("Texinfo::Parser::build_global_info2", XS_Texinfo__Parser_build_global_info2, file, "");
684         (void)newXSproto_portable("Texinfo::Parser::reset_parser", XS_Texinfo__Parser_reset_parser, file, "");
685         (void)newXSproto_portable("Texinfo::Parser::clear_expanded_formats", XS_Texinfo__Parser_clear_expanded_formats, file, "");
686         (void)newXSproto_portable("Texinfo::Parser::add_expanded_format", XS_Texinfo__Parser_add_expanded_format, file, "$");
687         (void)newXSproto_portable("Texinfo::Parser::conf_set_show_menu", XS_Texinfo__Parser_conf_set_show_menu, file, "$");
688         (void)newXSproto_portable("Texinfo::Parser::conf_set_CPP_LINE_DIRECTIVES", XS_Texinfo__Parser_conf_set_CPP_LINE_DIRECTIVES, file, "$");
689         (void)newXSproto_portable("Texinfo::Parser::conf_set_IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME", XS_Texinfo__Parser_conf_set_IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME, file, "$");
690         (void)newXSproto_portable("Texinfo::Parser::set_novalidate", XS_Texinfo__Parser_set_novalidate, file, "$");
691         (void)newXSproto_portable("Texinfo::Parser::set_documentlanguage", XS_Texinfo__Parser_set_documentlanguage, file, "$");
692         (void)newXSproto_portable("Texinfo::Parser::set_debug", XS_Texinfo__Parser_set_debug, file, "$");
693 #if PERL_VERSION_LE(5, 21, 5)
694 #  if PERL_VERSION_GE(5, 9, 0)
695     if (PL_unitcheckav)
696         call_list(PL_scopestack_ix, PL_unitcheckav);
697 #  endif
698     XSRETURN_YES;
699 #else
700     Perl_xs_boot_epilog(aTHX_ ax);
701 #endif
702 }
703 
704