/* * This file was generated automatically by ExtUtils::ParseXS version 2.21 from the * contents of RequestUtil.xs. Do not edit this file, edit RequestUtil.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ #line 1 "RequestUtil.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/RequestUtil/Apache2__RequestUtil.h" #line 38 "RequestUtil.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 "RequestUtil.c" XS(XS_Apache2__RequestRec_default_type); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_default_type) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "r"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); const char * RETVAL; dXSTARG; RETVAL = ap_default_type(r); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache2__RequestRec_get_limit_req_body); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_get_limit_req_body) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "r"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); apr_off_t RETVAL; dXSTARG; RETVAL = ap_get_limit_req_body(r); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_get_server_name); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_get_server_name) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "r"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); const char * RETVAL; dXSTARG; RETVAL = ap_get_server_name(r); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache2__RequestRec_get_server_port); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_get_server_port) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "r"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); apr_port_t RETVAL; dXSTARG; RETVAL = ap_get_server_port(r); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestUtil_get_status_line); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestUtil_get_status_line) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "status"); { int status = (int)SvIV(ST(0)); const char * RETVAL; dXSTARG; RETVAL = ap_get_status_line(status); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache2__RequestRec_is_initial_req); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_is_initial_req) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "r"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); int RETVAL; dXSTARG; RETVAL = ap_is_initial_req(r); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_psignature); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_psignature) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "r, prefix"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); const char * prefix = (const char *)SvPV_nolen(ST(1)); const char * RETVAL; dXSTARG; #line 79 "RequestUtil.xs" RETVAL = ap_psignature(prefix, r); #line 242 "RequestUtil.c" sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache2__RequestRec_add_config); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_add_config) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 2 || items > 5) croak_xs_usage(cv, "r, lines, override=MP_HTTPD_OVERRIDE_HTACCESS, path=NULL, override_options=MP_HTTPD_OVERRIDE_OPTS_UNSET"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * lines = ST(1); int override; char * path; int override_options; if (items < 3) override = MP_HTTPD_OVERRIDE_HTACCESS; else { override = (int)SvIV(ST(2)); } if (items < 4) path = NULL; else { path = (char *)SvPV_nolen(ST(3)); } if (items < 5) override_options = MP_HTTPD_OVERRIDE_OPTS_UNSET; else { override_options = (int)SvIV(ST(4)); } #line 96 "RequestUtil.xs" mpxs_Apache2__RequestRec_add_config(aTHX_ r, lines, override, path, override_options); #line 285 "RequestUtil.c" } XSRETURN_EMPTY; } XS(XS_Apache2__RequestRec_as_string); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_as_string) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "r"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * RETVAL; #line 107 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_as_string(aTHX_ r); #line 307 "RequestUtil.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_child_terminate); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_child_terminate) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "r"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); #line 120 "RequestUtil.xs" mpxs_Apache2__RequestRec_child_terminate(aTHX_ r); #line 329 "RequestUtil.c" } XSRETURN_EMPTY; } XS(XS_Apache2__RequestRec_document_root); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_document_root) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) croak_xs_usage(cv, "r, new_root=Nullsv"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * new_root; const char * RETVAL; dXSTARG; if (items < 2) new_root = Nullsv; else { new_root = ST(1); } #line 132 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_document_root(aTHX_ r, new_root); #line 359 "RequestUtil.c" sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache2__RequestRec_get_handlers); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_get_handlers) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "r, name"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); const char * name = (const char *)SvPV_nolen(ST(1)); SV * RETVAL; #line 146 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_get_handlers(aTHX_ r, name); #line 383 "RequestUtil.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_is_perl_option_enabled); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_is_perl_option_enabled) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "r, name"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); const char * name = (const char *)SvPV_nolen(ST(1)); int RETVAL; dXSTARG; #line 160 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_is_perl_option_enabled(aTHX_ r, name); #line 409 "RequestUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_location); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_location) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "r"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); char * RETVAL; dXSTARG; RETVAL = mpxs_Apache2__RequestRec_location(r); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache2__RequestRec_location_merge); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_location_merge) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "r, location"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); char * location = (char *)SvPV_nolen(ST(1)); int RETVAL; dXSTARG; RETVAL = mpxs_Apache2__RequestRec_location_merge(r, location); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_new); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_new) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 2 || items > 3) croak_xs_usage(cv, "classname, c, base_pool_sv=Nullsv"); { SV * classname = ST(0); Apache2__Connection c; SV * base_pool_sv; SV * RETVAL; if (sv_derived_from(ST(1), "Apache2::Connection")) { IV tmp = SvIV((SV*)SvRV(ST(1))); c = INT2PTR(Apache2__Connection,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "Apache2::RequestRec::new", "c", "Apache2::Connection"); if (items < 3) base_pool_sv = Nullsv; else { base_pool_sv = ST(2); } #line 190 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_new(aTHX_ classname, c, base_pool_sv); #line 494 "RequestUtil.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_no_cache); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_no_cache) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) croak_xs_usage(cv, "r, flag=Nullsv"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * flag; int RETVAL; dXSTARG; if (items < 2) flag = Nullsv; else { flag = ST(1); } #line 204 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_no_cache(aTHX_ r, flag); #line 526 "RequestUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_pnotes); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_pnotes) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 3) croak_xs_usage(cv, "r, key=Nullsv, val=Nullsv"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * key; SV * val; SV * RETVAL; if (items < 2) key = Nullsv; else { key = ST(1); } if (items < 3) val = Nullsv; else { val = ST(2); } #line 219 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_pnotes(aTHX_ r, key, val); #line 563 "RequestUtil.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_push_handlers); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_push_handlers) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 3) croak_xs_usage(cv, "r, name, sv"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); const char * name = (const char *)SvPV_nolen(ST(1)); SV * sv = ST(2); int RETVAL; dXSTARG; #line 234 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_push_handlers(aTHX_ r, name, sv); #line 590 "RequestUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_set_basic_credentials); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_set_basic_credentials) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 3) croak_xs_usage(cv, "r, username, password"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); char * username = (char *)SvPV_nolen(ST(1)); char * password = (char *)SvPV_nolen(ST(2)); mpxs_Apache2__RequestRec_set_basic_credentials(r, username, password); } XSRETURN_EMPTY; } XS(XS_Apache2__RequestRec_set_handlers); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_set_handlers) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 3) croak_xs_usage(cv, "r, name, sv"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); const char * name = (const char *)SvPV_nolen(ST(1)); SV * sv = ST(2); int RETVAL; dXSTARG; #line 258 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_set_handlers(aTHX_ r, name, sv); #line 637 "RequestUtil.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestUtil_request); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestUtil_request) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) croak_xs_usage(cv, "classname, svr=Nullsv"); { SV * classname = ST(0); SV * svr; Apache2__RequestRec RETVAL; if (items < 2) svr = Nullsv; else { svr = ST(1); } #line 272 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestUtil_request(aTHX_ classname, svr); #line 667 "RequestUtil.c" ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "Apache2::RequestRec", (void*)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_slurp_filename); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_slurp_filename) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) croak_xs_usage(cv, "r, tainted=1"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); int tainted; SV * RETVAL; if (items < 2) tainted = 1; else { tainted = (int)SvIV(ST(1)); } #line 286 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_slurp_filename(r, tainted); #line 699 "RequestUtil.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_dir_config); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_dir_config) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 3) croak_xs_usage(cv, "r, key=NULL, sv_val=Nullsv"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); char * key; SV * sv_val; SV * RETVAL; if (items < 2) key = NULL; else { key = (char *)SvPV_nolen(ST(1)); } if (items < 3) sv_val = Nullsv; else { sv_val = ST(2); } #line 301 "RequestUtil.xs" RETVAL = mpxs_Apache2__RequestRec_dir_config(r, key, sv_val); #line 737 "RequestUtil.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } #ifdef __cplusplus extern "C" #endif XS(boot_Apache2__RequestUtil); /* prototype to pass -Wmissing-prototypes */ XS(boot_Apache2__RequestUtil) { #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::RequestRec::default_type", XS_Apache2__RequestRec_default_type, file); (void)newXS("Apache2::RequestRec::get_limit_req_body", XS_Apache2__RequestRec_get_limit_req_body, file); (void)newXS("Apache2::RequestRec::get_server_name", XS_Apache2__RequestRec_get_server_name, file); (void)newXS("Apache2::RequestRec::get_server_port", XS_Apache2__RequestRec_get_server_port, file); (void)newXS("Apache2::RequestUtil::get_status_line", XS_Apache2__RequestUtil_get_status_line, file); (void)newXS("Apache2::RequestRec::is_initial_req", XS_Apache2__RequestRec_is_initial_req, file); (void)newXS("Apache2::RequestRec::psignature", XS_Apache2__RequestRec_psignature, file); (void)newXS("Apache2::RequestRec::add_config", XS_Apache2__RequestRec_add_config, file); (void)newXS("Apache2::RequestRec::as_string", XS_Apache2__RequestRec_as_string, file); (void)newXS("Apache2::RequestRec::child_terminate", XS_Apache2__RequestRec_child_terminate, file); (void)newXS("Apache2::RequestRec::document_root", XS_Apache2__RequestRec_document_root, file); (void)newXS("Apache2::RequestRec::get_handlers", XS_Apache2__RequestRec_get_handlers, file); (void)newXS("Apache2::RequestRec::is_perl_option_enabled", XS_Apache2__RequestRec_is_perl_option_enabled, file); (void)newXS("Apache2::RequestRec::location", XS_Apache2__RequestRec_location, file); (void)newXS("Apache2::RequestRec::location_merge", XS_Apache2__RequestRec_location_merge, file); (void)newXS("Apache2::RequestRec::new", XS_Apache2__RequestRec_new, file); (void)newXS("Apache2::RequestRec::no_cache", XS_Apache2__RequestRec_no_cache, file); (void)newXS("Apache2::RequestRec::pnotes", XS_Apache2__RequestRec_pnotes, file); (void)newXS("Apache2::RequestRec::push_handlers", XS_Apache2__RequestRec_push_handlers, file); (void)newXS("Apache2::RequestRec::set_basic_credentials", XS_Apache2__RequestRec_set_basic_credentials, file); (void)newXS("Apache2::RequestRec::set_handlers", XS_Apache2__RequestRec_set_handlers, file); (void)newXS("Apache2::RequestUtil::request", XS_Apache2__RequestUtil_request, file); (void)newXS("Apache2::RequestRec::slurp_filename", XS_Apache2__RequestRec_slurp_filename, file); (void)newXS("Apache2::RequestRec::dir_config", XS_Apache2__RequestRec_dir_config, file); /* Initialisation Section */ #line 310 "RequestUtil.xs" items = items; /* -Wall */ #line 795 "RequestUtil.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; }