/* * This file was generated automatically by ExtUtils::ParseXS version 2.21 from the * contents of RequestIO.xs. Do not edit this file, edit RequestIO.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ #line 1 "RequestIO.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/RequestIO/Apache2__RequestIO.h" #line 38 "RequestIO.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 "RequestIO.c" XS(XS_Apache2__RequestRec_discard_request_body); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_discard_request_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); int RETVAL; dXSTARG; RETVAL = ap_discard_request_body(r); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_get_client_block); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_get_client_block) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 3) croak_xs_usage(cv, "r, buffer, bufsiz"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * buffer = ST(1); apr_size_t bufsiz = (apr_size_t)SvUV(ST(2)); long RETVAL; dXSTARG; #line 45 "RequestIO.xs" RETVAL = mpxs_ap_get_client_block(aTHX_ r, buffer, bufsiz); #line 133 "RequestIO.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_printf); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_printf) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif PERL_UNUSED_VAR(cv); /* -W */ { int RETVAL; dXSTARG; #line 57 "RequestIO.xs" RETVAL = mpxs_ap_rprintf(aTHX_ items, MARK+1, SP); #line 155 "RequestIO.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_puts); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_puts) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif PERL_UNUSED_VAR(cv); /* -W */ { int RETVAL; dXSTARG; #line 69 "RequestIO.xs" RETVAL = mpxs_ap_rvputs(aTHX_ items, MARK+1, SP); #line 177 "RequestIO.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_setup_client_block); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_setup_client_block) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) croak_xs_usage(cv, "r, read_policy=REQUEST_CHUNKED_ERROR"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); int read_policy; int RETVAL; dXSTARG; if (items < 2) read_policy = REQUEST_CHUNKED_ERROR; else { read_policy = (int)SvIV(ST(1)); } #line 83 "RequestIO.xs" RETVAL = ap_setup_client_block(r, read_policy); #line 208 "RequestIO.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_should_client_block); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_should_client_block) { #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_should_client_block(r); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_FILENO); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_FILENO) { #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; #line 103 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_FILENO(aTHX_ r); #line 254 "RequestIO.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_GETC); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_GETC) { #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 116 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_GETC(aTHX_ r); #line 277 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_OPEN); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_OPEN) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 2 || items > 3) croak_xs_usage(cv, "self, arg1, arg2=Nullsv"); { SV * self = ST(0); SV * arg1 = ST(1); SV * arg2; int RETVAL; dXSTARG; if (items < 3) arg2 = Nullsv; else { arg2 = ST(2); } #line 131 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_OPEN(aTHX_ self, arg1, arg2); #line 310 "RequestIO.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_print); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_print) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif PERL_UNUSED_VAR(cv); /* -W */ { SV * RETVAL; #line 143 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_print(aTHX_ items, MARK+1, SP); #line 331 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_read); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_read) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 3 || items > 4) croak_xs_usage(cv, "r, buffer, len, offset=0"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * buffer = ST(1); apr_size_t len = (apr_size_t)SvUV(ST(2)); apr_off_t offset; SV * RETVAL; if (items < 4) offset = 0; else { offset = (apr_off_t)SvIV(ST(3)); } #line 159 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_read(aTHX_ r, buffer, len, offset); #line 364 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_rflush); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_rflush) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif PERL_UNUSED_VAR(cv); /* -W */ { #line 171 "RequestIO.xs" mpxs_Apache2__RequestRec_rflush(aTHX_ items, MARK+1, SP); #line 384 "RequestIO.c" } XSRETURN_EMPTY; } XS(XS_Apache2__RequestRec_sendfile); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_sendfile) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 4) croak_xs_usage(cv, "r, filename=r->filename, offset=0, len=0"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); const char * filename; apr_off_t offset; apr_size_t len; apr_status_t RETVAL; dXSTARG; if (items < 2) filename = r->filename; else { filename = (const char *)SvPV_nolen(ST(1)); } if (items < 3) offset = 0; else { offset = (apr_off_t)SvIV(ST(2)); } if (items < 4) len = 0; else { len = (apr_size_t)SvUV(ST(3)); } #line 185 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_sendfile(aTHX_ r, filename, offset, len); #line 428 "RequestIO.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_write); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_write) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 2 || items > 4) croak_xs_usage(cv, "r, buffer, len=-1, offset=0"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * buffer = ST(1); apr_size_t len; apr_off_t offset; apr_size_t RETVAL; dXSTARG; if (items < 3) len = -1; else { len = (apr_size_t)SvUV(ST(2)); } if (items < 4) offset = 0; else { offset = (apr_off_t)SvIV(ST(3)); } #line 201 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_write(aTHX_ r, buffer, len, offset); #line 467 "RequestIO.c" XSprePUSH; PUSHu((UV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_BINMODE); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_BINMODE) { #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 214 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_BINMODE(r); #line 490 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_WRITE); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_WRITE) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 2 || items > 4) croak_xs_usage(cv, "r, buffer, len=-1, offset=0"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * buffer = ST(1); apr_size_t len; apr_off_t offset; apr_size_t RETVAL; dXSTARG; if (items < 3) len = -1; else { len = (apr_size_t)SvUV(ST(2)); } if (items < 4) offset = 0; else { offset = (apr_off_t)SvIV(ST(3)); } #line 230 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_WRITE(r, buffer, len, offset); #line 530 "RequestIO.c" XSprePUSH; PUSHu((UV)RETVAL); } XSRETURN(1); } XS(XS_Apache2__RequestRec_PRINT); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_PRINT) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif PERL_UNUSED_VAR(cv); /* -W */ { SV * RETVAL; #line 242 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_PRINT(aTHX_ items, MARK+1, SP); #line 551 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_READ); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_READ) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 3 || items > 4) croak_xs_usage(cv, "r, buffer, len, offset=0"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); SV * buffer = ST(1); apr_size_t len = (apr_size_t)SvUV(ST(2)); apr_off_t offset; SV * RETVAL; if (items < 4) offset = 0; else { offset = (apr_off_t)SvIV(ST(3)); } #line 258 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_READ(r, buffer, len, offset); #line 584 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_TIEHANDLE); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_TIEHANDLE) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) croak_xs_usage(cv, "stashsv, sv=Nullsv"); { SV * stashsv = ST(0); SV * sv; SV * RETVAL; if (items < 2) sv = Nullsv; else { sv = ST(1); } #line 272 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_TIEHANDLE(stashsv, sv); #line 615 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_CLOSE); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_CLOSE) { #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 285 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_CLOSE(r); #line 639 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_UNTIE); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_UNTIE) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "r, refcnt"); { Apache2__RequestRec r = modperl_xs_sv2request_rec(aTHX_ ST(0), "Apache2::RequestRec", cv); int refcnt = (int)SvIV(ST(1)); SV * RETVAL; #line 299 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_UNTIE(r, refcnt); #line 664 "RequestIO.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_Apache2__RequestRec_PRINTF); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache2__RequestRec_PRINTF) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif PERL_UNUSED_VAR(cv); /* -W */ { apr_size_t RETVAL; dXSTARG; #line 311 "RequestIO.xs" RETVAL = mpxs_Apache2__RequestRec_PRINTF(aTHX_ items, MARK+1, SP); #line 687 "RequestIO.c" XSprePUSH; PUSHu((UV)RETVAL); } XSRETURN(1); } #ifdef __cplusplus extern "C" #endif XS(boot_Apache2__RequestIO); /* prototype to pass -Wmissing-prototypes */ XS(boot_Apache2__RequestIO) { #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::discard_request_body", XS_Apache2__RequestRec_discard_request_body, file); (void)newXS("Apache2::RequestRec::get_client_block", XS_Apache2__RequestRec_get_client_block, file); (void)newXS("Apache2::RequestRec::printf", XS_Apache2__RequestRec_printf, file); (void)newXS("Apache2::RequestRec::puts", XS_Apache2__RequestRec_puts, file); (void)newXS("Apache2::RequestRec::setup_client_block", XS_Apache2__RequestRec_setup_client_block, file); (void)newXS("Apache2::RequestRec::should_client_block", XS_Apache2__RequestRec_should_client_block, file); (void)newXS("Apache2::RequestRec::FILENO", XS_Apache2__RequestRec_FILENO, file); (void)newXS("Apache2::RequestRec::GETC", XS_Apache2__RequestRec_GETC, file); (void)newXS("Apache2::RequestRec::OPEN", XS_Apache2__RequestRec_OPEN, file); (void)newXS("Apache2::RequestRec::print", XS_Apache2__RequestRec_print, file); (void)newXS("Apache2::RequestRec::read", XS_Apache2__RequestRec_read, file); (void)newXS("Apache2::RequestRec::rflush", XS_Apache2__RequestRec_rflush, file); (void)newXS("Apache2::RequestRec::sendfile", XS_Apache2__RequestRec_sendfile, file); (void)newXS("Apache2::RequestRec::write", XS_Apache2__RequestRec_write, file); (void)newXS("Apache2::RequestRec::BINMODE", XS_Apache2__RequestRec_BINMODE, file); (void)newXS("Apache2::RequestRec::WRITE", XS_Apache2__RequestRec_WRITE, file); (void)newXS("Apache2::RequestRec::PRINT", XS_Apache2__RequestRec_PRINT, file); (void)newXS("Apache2::RequestRec::READ", XS_Apache2__RequestRec_READ, file); (void)newXS("Apache2::RequestRec::TIEHANDLE", XS_Apache2__RequestRec_TIEHANDLE, file); (void)newXS("Apache2::RequestRec::CLOSE", XS_Apache2__RequestRec_CLOSE, file); (void)newXS("Apache2::RequestRec::UNTIE", XS_Apache2__RequestRec_UNTIE, file); (void)newXS("Apache2::RequestRec::PRINTF", XS_Apache2__RequestRec_PRINTF, file); /* Initialisation Section */ #line 320 "RequestIO.xs" items = items; /* -Wall */ #line 742 "RequestIO.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; }