/* * This file was generated automatically by ExtUtils::ParseXS version 2.21 from the * contents of ServerUtil.xs. Do not edit this file, edit ServerUtil.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ #line 1 "ServerUtil.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/ServerUtil/Apache2__ServerUtil.h" #line 38 "ServerUtil.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 "ServerUtil.c" XS(XS_Apache2__ServerRec_error_log2stderr); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_error_log2stderr) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "s"); { Apache2__ServerRec s; if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::error_log2stderr", "s", "Apache2::ServerRec"); ap_error_log2stderr(s); } XSRETURN_EMPTY; } XS(XS_Apache2__ServerUtil_exists_config_define); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerUtil_exists_config_define) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "name"); { const char * name = (const char *)SvPV_nolen(ST(0)); int RETVAL; dXSTARG; RETVAL = ap_exists_config_define(name); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__ServerUtil_server_root_relative); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerUtil_server_root_relative) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) croak_xs_usage(cv, "p, fname=\"\""); { APR__Pool p; const char * fname; char * RETVAL; dXSTARG; if (SvROK(ST(0)) && sv_derived_from(ST(0), "APR::Pool")) { IV tmp = SvIV((SV*)SvRV(ST(0))); if (tmp == 0) { Perl_croak(aTHX_ "invalid pool object (already destroyed?)"); } p = INT2PTR(APR__Pool, tmp); } else { Perl_croak(aTHX_ SvROK(ST(0)) ? "p is not of type APR::Pool" : "p is not a blessed reference"); }; if (items < 2) fname = ""; else { fname = (const char *)SvPV_nolen(ST(1)); } #line 51 "ServerUtil.xs" RETVAL = ap_server_root_relative(p, fname); #line 179 "ServerUtil.c" sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache2__ServerRec_add_config); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_add_config) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "s, lines"); { Apache2__ServerRec s; SV * lines = ST(1); if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::add_config", "s", "Apache2::ServerRec"); #line 65 "ServerUtil.xs" mpxs_Apache2__ServerRec_add_config(aTHX_ s, lines); #line 210 "ServerUtil.c" } XSRETURN_EMPTY; } XS(XS_Apache2__ServerRec_get_handlers); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_get_handlers) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "s, name"); { Apache2__ServerRec s; const char * name = (const char *)SvPV_nolen(ST(1)); SV * RETVAL; if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::get_handlers", "s", "Apache2::ServerRec"); #line 77 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerRec_get_handlers(aTHX_ s, name); #line 242 "ServerUtil.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__ServerRec_is_perl_option_enabled); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_is_perl_option_enabled) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "s, name"); { Apache2__ServerRec s; const char * name = (const char *)SvPV_nolen(ST(1)); int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::is_perl_option_enabled", "s", "Apache2::ServerRec"); #line 91 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerRec_is_perl_option_enabled(aTHX_ s, name); #line 277 "ServerUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__ServerRec_push_handlers); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_push_handlers) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 3) croak_xs_usage(cv, "s, name, sv"); { Apache2__ServerRec s; const char * name = (const char *)SvPV_nolen(ST(1)); SV * sv = ST(2); int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::push_handlers", "s", "Apache2::ServerRec"); #line 106 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerRec_push_handlers(aTHX_ s, name, sv); #line 312 "ServerUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__ServerRec_set_handlers); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_set_handlers) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 3) croak_xs_usage(cv, "s, name, sv"); { Apache2__ServerRec s; const char * name = (const char *)SvPV_nolen(ST(1)); SV * sv = ST(2); int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::set_handlers", "s", "Apache2::ServerRec"); #line 121 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerRec_set_handlers(aTHX_ s, name, sv); #line 347 "ServerUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__ServerUtil_server_shutdown_cleanup_register); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerUtil_server_shutdown_cleanup_register) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) croak_xs_usage(cv, "cv, arg=Nullsv"); { SV * cv = ST(0); SV * arg; if (items < 2) arg = Nullsv; else { arg = ST(1); } #line 135 "ServerUtil.xs" mpxs_Apache2__ServerUtil_server_shutdown_cleanup_register(aTHX_ cv, arg); #line 375 "ServerUtil.c" } XSRETURN_EMPTY; } XS(XS_Apache2__ServerRec_add_version_component); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_add_version_component) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "s, component"); { Apache2__ServerRec s; const char * component = (const char *)SvPV_nolen(ST(1)); if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::add_version_component", "s", "Apache2::ServerRec"); #line 147 "ServerUtil.xs" mpxs_Apache2__ServerRec_add_version_component(s, component); #line 405 "ServerUtil.c" } XSRETURN_EMPTY; } XS(XS_Apache2__ServerUtil_group_id); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerUtil_group_id) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 0 || items > 1) croak_xs_usage(cv, "classname=Nullsv"); { SV * classname; gid_t RETVAL; dXSTARG; if (items < 1) classname = Nullsv; else { classname = ST(0); } #line 158 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerUtil_group_id(classname); #line 434 "ServerUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__ServerRec_dir_config); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_dir_config) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 3) croak_xs_usage(cv, "s, key=NULL, sv_val=Nullsv"); { Apache2__ServerRec s; char * key; SV * sv_val; SV * RETVAL; if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::dir_config", "s", "Apache2::ServerRec"); if (items < 2) key = NULL; else { key = (char *)SvPV_nolen(ST(1)); } if (items < 3) sv_val = Nullsv; else { sv_val = ST(2); } #line 173 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerRec_dir_config(s, key, sv_val); #line 480 "ServerUtil.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__ServerRec_method_register); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerRec_method_register) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "s, methname"); { Apache2__ServerRec s; const char * methname = (const char *)SvPV_nolen(ST(1)); int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "Apache2::ServerRec")) { IV tmp = SvIV((SV*)SvRV(ST(0))); s = INT2PTR(Apache2__ServerRec,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::ServerRec::method_register", "s", "Apache2::ServerRec"); #line 187 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerRec_method_register(s, methname); #line 515 "ServerUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__ServerUtil_server); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerUtil_server) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 0 || items > 1) croak_xs_usage(cv, "classname=Nullsv"); { SV * classname; Apache2__ServerRec RETVAL; if (items < 1) classname = Nullsv; else { classname = ST(0); } #line 200 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerUtil_server(classname); #line 544 "ServerUtil.c" ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "Apache2::ServerRec", (void*)RETVAL); } XSRETURN(1); } XS(XS_Apache2__ServerUtil_user_id); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerUtil_user_id) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 0 || items > 1) croak_xs_usage(cv, "classname=Nullsv"); { SV * classname; uid_t RETVAL; dXSTARG; if (items < 1) classname = Nullsv; else { classname = ST(0); } #line 213 "ServerUtil.xs" RETVAL = mpxs_Apache2__ServerUtil_user_id(classname); #line 575 "ServerUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__ServerUtil_restart_count); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__ServerUtil_restart_count) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 0) croak_xs_usage(cv, ""); { int RETVAL; dXSTARG; RETVAL = mpxs_Apache2__ServerUtil_restart_count(); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } #ifdef __cplusplus extern "C" #endif XS(boot_Apache2__ServerUtil); /* prototype to pass -Wmissing-prototypes */ XS(boot_Apache2__ServerUtil) { #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::ServerRec::error_log2stderr", XS_Apache2__ServerRec_error_log2stderr, file); (void)newXS("Apache2::ServerUtil::exists_config_define", XS_Apache2__ServerUtil_exists_config_define, file); (void)newXS("Apache2::ServerUtil::server_root_relative", XS_Apache2__ServerUtil_server_root_relative, file); (void)newXS("Apache2::ServerRec::add_config", XS_Apache2__ServerRec_add_config, file); (void)newXS("Apache2::ServerRec::get_handlers", XS_Apache2__ServerRec_get_handlers, file); (void)newXS("Apache2::ServerRec::is_perl_option_enabled", XS_Apache2__ServerRec_is_perl_option_enabled, file); (void)newXS("Apache2::ServerRec::push_handlers", XS_Apache2__ServerRec_push_handlers, file); (void)newXS("Apache2::ServerRec::set_handlers", XS_Apache2__ServerRec_set_handlers, file); (void)newXS("Apache2::ServerUtil::server_shutdown_cleanup_register", XS_Apache2__ServerUtil_server_shutdown_cleanup_register, file); (void)newXS("Apache2::ServerRec::add_version_component", XS_Apache2__ServerRec_add_version_component, file); (void)newXS("Apache2::ServerUtil::group_id", XS_Apache2__ServerUtil_group_id, file); (void)newXS("Apache2::ServerRec::dir_config", XS_Apache2__ServerRec_dir_config, file); (void)newXS("Apache2::ServerRec::method_register", XS_Apache2__ServerRec_method_register, file); (void)newXS("Apache2::ServerUtil::server", XS_Apache2__ServerUtil_server, file); (void)newXS("Apache2::ServerUtil::user_id", XS_Apache2__ServerUtil_user_id, file); (void)newXS("Apache2::ServerUtil::restart_count", XS_Apache2__ServerUtil_restart_count, file); /* Initialisation Section */ #line 228 "ServerUtil.xs" mpxs_Apache2__ServerUtil_BOOT(aTHX); items = items; /* -Wall */ #line 646 "ServerUtil.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; }