/* * This file was generated automatically by ExtUtils::ParseXS version 2.21 from the * contents of Module.xs. Do not edit this file, edit Module.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ #line 1 "Module.xs" /* * *********** WARNING ************** * This file generated by ModPerl::WrapXS/0.01 * Any changes made here will be lost * *********************************** * 01: lib/ModPerl/WrapXS.pm:540 * 02: lib/ModPerl/WrapXS.pm:1174 * 03: Makefile.PL:423 * 04: Makefile.PL:325 * 05: Makefile.PL:56 */ #define MP_IN_XS #include "mod_perl.h" #include "modperl_xs_sv_convert.h" #include "modperl_xs_util.h" #include "modperl_xs_typedefs.h" #include "Apache2/Module/Apache2__Module.h" #line 38 "Module.c" #ifndef PERL_UNUSED_VAR # define PERL_UNUSED_VAR(var) if (0) var = var #endif #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE #define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params) /* prototype to pass -Wmissing-prototypes */ STATIC void S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params); STATIC void S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params) { const GV *const gv = CvGV(cv); PERL_ARGS_ASSERT_CROAK_XS_USAGE; if (gv) { const char *const gvname = GvNAME(gv); const HV *const stash = GvSTASH(gv); const char *const hvname = stash ? HvNAME(stash) : NULL; if (hvname) Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params); else Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params); } else { /* Pants. I don't think that it should be possible to get here. */ Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params); } } #undef PERL_ARGS_ASSERT_CROAK_XS_USAGE #ifdef PERL_IMPLICIT_CONTEXT #define croak_xs_usage(a,b) S_croak_xs_usage(aTHX_ a,b) #else #define croak_xs_usage S_croak_xs_usage #endif #endif /* NOTE: the prototype of newXSproto() is different in versions of perls, * so we define a portable version of newXSproto() */ #ifdef newXS_flags #define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0) #else #define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv) #endif /* !defined(newXS_flags) */ #line 90 "Module.c" XS(XS_Apache2__Module_find_linked_module); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_find_linked_module) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "name"); { const char * name = (const char *)SvPV_nolen(ST(0)); Apache2__Module RETVAL; RETVAL = ap_find_linked_module(name); ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "Apache2::Module", (void*)RETVAL); } XSRETURN(1); } XS(XS_Apache2__Module_remove_loaded_module); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_remove_loaded_module) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "mod"); { Apache2__Module mod; if (sv_derived_from(ST(0), "Apache2::Module")) { IV tmp = SvIV((SV*)SvRV(ST(0))); mod = INT2PTR(Apache2__Module,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::remove_loaded_module", "mod", "Apache2::Module"); ap_remove_loaded_module(mod); } XSRETURN_EMPTY; } XS(XS_Apache2__Module_add); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_add) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "package, cmds"); { char * package = (char *)SvPV_nolen(ST(0)); SV * cmds = ST(1); #line 51 "Module.xs" mpxs_Apache2__Module_add(aTHX_ package, cmds); #line 157 "Module.c" } XSRETURN_EMPTY; } XS(XS_Apache2__Module_ap_api_major_version); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_ap_api_major_version) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "mod"); { Apache2__Module mod; int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "Apache2::Module")) { IV tmp = SvIV((SV*)SvRV(ST(0))); mod = INT2PTR(Apache2__Module,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::ap_api_major_version", "mod", "Apache2::Module"); #line 62 "Module.xs" RETVAL = mpxs_Apache2__Module_ap_api_major_version(aTHX_ mod); #line 189 "Module.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__Module_ap_api_minor_version); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_ap_api_minor_version) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "mod"); { Apache2__Module mod; int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "Apache2::Module")) { IV tmp = SvIV((SV*)SvRV(ST(0))); mod = INT2PTR(Apache2__Module,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::ap_api_minor_version", "mod", "Apache2::Module"); #line 75 "Module.xs" RETVAL = mpxs_Apache2__Module_ap_api_minor_version(aTHX_ mod); #line 222 "Module.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__Module_get_config); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_get_config) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 2 || items > 3) croak_xs_usage(cv, "pmodule, s, v=NULL"); { SV * pmodule = ST(0); Apache2__ServerRec s; Apache2__ConfVector v; SV * RETVAL; if (sv_derived_from(ST(1), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(1))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::get_config", "s", "Apache2::ServerRec"); if (items < 3) v = NULL; else { if (sv_derived_from(ST(2), "Apache2::ConfVector")) { IV tmp = SvIV((SV*)SvRV(ST(2))); v = INT2PTR(Apache2__ConfVector,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::get_config", "v", "Apache2::ConfVector"); } #line 90 "Module.xs" RETVAL = mpxs_Apache2__Module_get_config(aTHX_ pmodule, s, v); #line 269 "Module.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__Module_loaded); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_loaded) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "name"); { char * name = (char *)SvPV_nolen(ST(0)); int RETVAL; dXSTARG; #line 103 "Module.xs" RETVAL = mpxs_Apache2__Module_loaded(aTHX_ name); #line 294 "Module.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__Module_top_module); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_top_module) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 0) croak_xs_usage(cv, ""); { Apache2__Module RETVAL; RETVAL = mpxs_Apache2__Module_top_module(); ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "Apache2::Module", (void*)RETVAL); } XSRETURN(1); } XS(XS_Apache2__Module_module_index); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_module_index) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { Apache2__Module obj; int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "Apache2::Module")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(Apache2__Module,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::module_index", "obj", "Apache2::Module"); #line 123 "Module.xs" RETVAL = (int) obj->module_index; #line 348 "Module.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__Module_name); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_name) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { Apache2__Module obj; const char * RETVAL; dXSTARG; if (sv_derived_from(ST(0), "Apache2::Module")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(Apache2__Module,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::name", "obj", "Apache2::Module"); #line 137 "Module.xs" RETVAL = (const char *) obj->name; #line 381 "Module.c" sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache2__Module_next); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_next) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { Apache2__Module obj; Apache2__Module RETVAL; if (sv_derived_from(ST(0), "Apache2::Module")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(Apache2__Module,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::next", "obj", "Apache2::Module"); #line 151 "Module.xs" RETVAL = (Apache2__Module) obj->next; #line 413 "Module.c" ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "Apache2::Module", (void*)RETVAL); } XSRETURN(1); } XS(XS_Apache2__Module_cmds); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__Module_cmds) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { Apache2__Module obj; Apache2__Command RETVAL; if (sv_derived_from(ST(0), "Apache2::Module")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(Apache2__Module,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::Module::cmds", "obj", "Apache2::Module"); #line 165 "Module.xs" RETVAL = (Apache2__Command) obj->cmds; #line 446 "Module.c" ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "Apache2::Command", (void*)RETVAL); } XSRETURN(1); } #ifdef __cplusplus extern "C" #endif XS(boot_Apache2__Module); /* prototype to pass -Wmissing-prototypes */ XS(boot_Apache2__Module) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif #if (PERL_REVISION == 5 && PERL_VERSION < 9) char* file = __FILE__; #else const char* file = __FILE__; #endif PERL_UNUSED_VAR(cv); /* -W */ PERL_UNUSED_VAR(items); /* -W */ XS_VERSION_BOOTCHECK ; (void)newXS("Apache2::Module::find_linked_module", XS_Apache2__Module_find_linked_module, file); (void)newXS("Apache2::Module::remove_loaded_module", XS_Apache2__Module_remove_loaded_module, file); (void)newXS("Apache2::Module::add", XS_Apache2__Module_add, file); (void)newXS("Apache2::Module::ap_api_major_version", XS_Apache2__Module_ap_api_major_version, file); (void)newXS("Apache2::Module::ap_api_minor_version", XS_Apache2__Module_ap_api_minor_version, file); (void)newXS("Apache2::Module::get_config", XS_Apache2__Module_get_config, file); (void)newXS("Apache2::Module::loaded", XS_Apache2__Module_loaded, file); (void)newXS("Apache2::Module::top_module", XS_Apache2__Module_top_module, file); (void)newXS("Apache2::Module::module_index", XS_Apache2__Module_module_index, file); (void)newXS("Apache2::Module::name", XS_Apache2__Module_name, file); (void)newXS("Apache2::Module::next", XS_Apache2__Module_next, file); (void)newXS("Apache2::Module::cmds", XS_Apache2__Module_cmds, file); /* Initialisation Section */ #line 174 "Module.xs" items = items; /* -Wall */ #line 492 "Module.c" /* End of Initialisation Section */ #if (PERL_REVISION == 5 && PERL_VERSION >= 9) if (PL_unitcheckav) call_list(PL_scopestack_ix, PL_unitcheckav); #endif XSRETURN_YES; }