/* * This file was generated automatically by ExtUtils::ParseXS version 2.21 from the * contents of Bucket.xs. Do not edit this file, edit Bucket.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ #line 1 "Bucket.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 "APR/Bucket/APR__Bucket.h" #line 38 "Bucket.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 "Bucket.c" XS(XS_APR__Bucket_eos_create); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_eos_create) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "list"); { APR__BucketAlloc list; APR__Bucket RETVAL; if (sv_derived_from(ST(0), "APR::BucketAlloc")) { IV tmp = SvIV((SV*)SvRV(ST(0))); list = INT2PTR(APR__BucketAlloc,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::eos_create", "list", "APR::BucketAlloc"); RETVAL = apr_bucket_eos_create(list); ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "APR::Bucket", (void*)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_flush_create); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_flush_create) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "list"); { APR__BucketAlloc list; APR__Bucket RETVAL; if (sv_derived_from(ST(0), "APR::BucketAlloc")) { IV tmp = SvIV((SV*)SvRV(ST(0))); list = INT2PTR(APR__BucketAlloc,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::flush_create", "list", "APR::BucketAlloc"); RETVAL = apr_bucket_flush_create(list); ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "APR::Bucket", (void*)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_insert_after); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_insert_after) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "a, b"); { APR__Bucket a; APR__Bucket b; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); a = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::insert_after", "a", "APR::Bucket"); if (sv_derived_from(ST(1), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(1))); b = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::insert_after", "b", "APR::Bucket"); mpxs_APR__Bucket_insert_after(a, b); } XSRETURN_EMPTY; } XS(XS_APR__Bucket_insert_before); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_insert_before) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "a, b"); { APR__Bucket a; APR__Bucket b; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); a = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::insert_before", "a", "APR::Bucket"); if (sv_derived_from(ST(1), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(1))); b = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::insert_before", "b", "APR::Bucket"); mpxs_APR__Bucket_insert_before(a, b); } XSRETURN_EMPTY; } XS(XS_APR__Bucket_is_eos); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_is_eos) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "bucket"); { APR__Bucket bucket; int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); bucket = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::is_eos", "bucket", "APR::Bucket"); RETVAL = mpxs_APR__Bucket_is_eos(bucket); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_is_flush); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_is_flush) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "bucket"); { APR__Bucket bucket; int RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); bucket = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::is_flush", "bucket", "APR::Bucket"); RETVAL = mpxs_APR__Bucket_is_flush(bucket); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_new); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_new) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 3 || items > 5) croak_xs_usage(cv, "classname, list, sv, offset=0, len=0"); { SV * classname = ST(0); APR__BucketAlloc list; SV * sv = ST(2); apr_off_t offset; apr_size_t len; APR__Bucket RETVAL; if (sv_derived_from(ST(1), "APR::BucketAlloc")) { IV tmp = SvIV((SV*)SvRV(ST(1))); list = INT2PTR(APR__BucketAlloc,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::new", "list", "APR::BucketAlloc"); if (items < 4) offset = 0; else { offset = (apr_off_t)SvIV(ST(3)); } if (items < 5) len = 0; else { len = (apr_size_t)SvUV(ST(4)); } #line 84 "Bucket.xs" RETVAL = mpxs_APR__Bucket_new(aTHX_ classname, list, sv, offset, len); #line 333 "Bucket.c" ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "APR::Bucket", (void*)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_read); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_read) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 2 || items > 3) croak_xs_usage(cv, "bucket, buffer, block=APR_BLOCK_READ"); { APR__Bucket bucket; SV * buffer = ST(1); apr_read_type_e block; apr_size_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); bucket = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::read", "bucket", "APR::Bucket"); if (items < 3) block = APR_BLOCK_READ; else { block = (apr_read_type_e)SvIV(ST(2)); } #line 99 "Bucket.xs" RETVAL = mpxs_APR__Bucket_read(aTHX_ bucket, buffer, block); #line 375 "Bucket.c" XSprePUSH; PUSHu((UV)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_remove); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_remove) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "bucket"); { APR__Bucket bucket; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); bucket = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::remove", "bucket", "APR::Bucket"); mpxs_APR__Bucket_remove(bucket); } XSRETURN_EMPTY; } XS(XS_APR__Bucket_setaside); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_setaside) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 2) croak_xs_usage(cv, "b_sv, p_sv"); { SV * b_sv = ST(0); SV * p_sv = ST(1); apr_status_t RETVAL; dXSTARG; #line 120 "Bucket.xs" RETVAL = mpxs_APR__Bucket_setaside(aTHX_ b_sv, p_sv); #line 428 "Bucket.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_delete); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_delete) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "bucket"); { APR__Bucket bucket; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); bucket = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::delete", "bucket", "APR::Bucket"); #line 133 "Bucket.xs" mpxs_APR__Bucket_delete(bucket); #line 458 "Bucket.c" } XSRETURN_EMPTY; } XS(XS_APR__Bucket_destroy); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_destroy) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "bucket"); { APR__Bucket bucket; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); bucket = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::destroy", "bucket", "APR::Bucket"); #line 144 "Bucket.xs" mpxs_APR__Bucket_destroy(bucket); #line 487 "Bucket.c" } XSRETURN_EMPTY; } XS(XS_APR__Bucket_type); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_type) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Bucket obj; APR__BucketType RETVAL; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::type", "obj", "APR::Bucket"); #line 156 "Bucket.xs" RETVAL = (APR__BucketType) obj->type; #line 518 "Bucket.c" ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "APR::BucketType", (void*)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_length); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_length) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Bucket obj; apr_size_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::length", "obj", "APR::Bucket"); #line 170 "Bucket.xs" RETVAL = (apr_size_t) obj->length; #line 552 "Bucket.c" XSprePUSH; PUSHu((UV)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_start); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_start) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Bucket obj; apr_off_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::start", "obj", "APR::Bucket"); #line 184 "Bucket.xs" RETVAL = (apr_off_t) obj->start; #line 585 "Bucket.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Bucket_data); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Bucket_data) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Bucket obj; void * RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Bucket")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Bucket,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Bucket::data", "obj", "APR::Bucket"); #line 198 "Bucket.xs" RETVAL = (void *) obj->data; #line 618 "Bucket.c" XSprePUSH; PUSHi(PTR2IV(RETVAL)); } XSRETURN(1); } #ifdef __cplusplus extern "C" #endif XS(boot_APR__Bucket); /* prototype to pass -Wmissing-prototypes */ XS(boot_APR__Bucket) { #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("APR::Bucket::eos_create", XS_APR__Bucket_eos_create, file); (void)newXS("APR::Bucket::flush_create", XS_APR__Bucket_flush_create, file); (void)newXS("APR::Bucket::insert_after", XS_APR__Bucket_insert_after, file); (void)newXS("APR::Bucket::insert_before", XS_APR__Bucket_insert_before, file); (void)newXS("APR::Bucket::is_eos", XS_APR__Bucket_is_eos, file); (void)newXS("APR::Bucket::is_flush", XS_APR__Bucket_is_flush, file); (void)newXS("APR::Bucket::new", XS_APR__Bucket_new, file); (void)newXS("APR::Bucket::read", XS_APR__Bucket_read, file); (void)newXS("APR::Bucket::remove", XS_APR__Bucket_remove, file); (void)newXS("APR::Bucket::setaside", XS_APR__Bucket_setaside, file); (void)newXS("APR::Bucket::delete", XS_APR__Bucket_delete, file); (void)newXS("APR::Bucket::destroy", XS_APR__Bucket_destroy, file); (void)newXS("APR::Bucket::type", XS_APR__Bucket_type, file); (void)newXS("APR::Bucket::length", XS_APR__Bucket_length, file); (void)newXS("APR::Bucket::start", XS_APR__Bucket_start, file); (void)newXS("APR::Bucket::data", XS_APR__Bucket_data, file); /* Initialisation Section */ #line 207 "Bucket.xs" items = items; /* -Wall */ #line 667 "Bucket.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; }