/* * This file was generated automatically by ExtUtils::ParseXS version 2.21 from the * contents of Finfo.xs. Do not edit this file, edit Finfo.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ #line 1 "Finfo.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/Finfo/APR__Finfo.h" #line 38 "Finfo.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 "Finfo.c" XS(XS_APR__Finfo_stat); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_stat) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 3) croak_xs_usage(cv, "fname, wanted, p_sv"); { const char * fname = (const char *)SvPV_nolen(ST(0)); apr_int32_t wanted = (apr_int32_t)SvIV(ST(1)); SV * p_sv = ST(2); SV * RETVAL; #line 38 "Finfo.xs" RETVAL = mpxs_APR__Finfo_stat(aTHX_ fname, wanted, p_sv); #line 110 "Finfo.c" ST(0) = RETVAL; sv_2mortal(ST(0)); } XSRETURN(1); } XS(XS_APR__Finfo_valid); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_valid) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_int32_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::valid", "obj", "APR::Finfo"); #line 52 "Finfo.xs" RETVAL = (apr_int32_t) obj->valid; #line 144 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_protection); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_protection) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_fileperms_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::protection", "obj", "APR::Finfo"); #line 66 "Finfo.xs" RETVAL = (apr_fileperms_t) obj->protection; #line 177 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_filetype); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_filetype) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_filetype_e RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::filetype", "obj", "APR::Finfo"); #line 80 "Finfo.xs" RETVAL = (apr_filetype_e) obj->filetype; #line 210 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_user); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_user) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_uid_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::user", "obj", "APR::Finfo"); #line 94 "Finfo.xs" RETVAL = (apr_uid_t) obj->user; #line 243 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_group); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_group) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_gid_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::group", "obj", "APR::Finfo"); #line 108 "Finfo.xs" RETVAL = (apr_gid_t) obj->group; #line 276 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_inode); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_inode) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_ino_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::inode", "obj", "APR::Finfo"); #line 122 "Finfo.xs" RETVAL = (apr_ino_t) obj->inode; #line 309 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_device); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_device) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_dev_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::device", "obj", "APR::Finfo"); #line 136 "Finfo.xs" RETVAL = (apr_dev_t) obj->device; #line 342 "Finfo.c" XSprePUSH; PUSHn((NV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_nlink); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_nlink) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_int32_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::nlink", "obj", "APR::Finfo"); #line 150 "Finfo.xs" RETVAL = (apr_int32_t) obj->nlink; #line 375 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_size); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_size) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_off_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::size", "obj", "APR::Finfo"); #line 164 "Finfo.xs" RETVAL = (apr_off_t) obj->size; #line 408 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_csize); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_csize) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_off_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::csize", "obj", "APR::Finfo"); #line 178 "Finfo.xs" RETVAL = (apr_off_t) obj->csize; #line 441 "Finfo.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_APR__Finfo_atime); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_atime) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_time_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::atime", "obj", "APR::Finfo"); #line 192 "Finfo.xs" RETVAL = (apr_time_t) obj->atime; #line 474 "Finfo.c" XSprePUSH; PUSHn((NV)(apr_time_sec(RETVAL))); } XSRETURN(1); } XS(XS_APR__Finfo_mtime); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_mtime) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_time_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::mtime", "obj", "APR::Finfo"); #line 206 "Finfo.xs" RETVAL = (apr_time_t) obj->mtime; #line 507 "Finfo.c" XSprePUSH; PUSHn((NV)(apr_time_sec(RETVAL))); } XSRETURN(1); } XS(XS_APR__Finfo_ctime); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_ctime) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; apr_time_t RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::ctime", "obj", "APR::Finfo"); #line 220 "Finfo.xs" RETVAL = (apr_time_t) obj->ctime; #line 540 "Finfo.c" XSprePUSH; PUSHn((NV)(apr_time_sec(RETVAL))); } XSRETURN(1); } XS(XS_APR__Finfo_fname); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_fname) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; const char * RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::fname", "obj", "APR::Finfo"); #line 234 "Finfo.xs" RETVAL = (const char *) obj->fname; #line 573 "Finfo.c" sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_APR__Finfo_name); /* prototype to pass -Wmissing-prototypes */ XS(XS_APR__Finfo_name) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items != 1) croak_xs_usage(cv, "obj"); { APR__Finfo obj; const char * RETVAL; dXSTARG; if (sv_derived_from(ST(0), "APR::Finfo")) { IV tmp = SvIV((SV*)SvRV(ST(0))); obj = INT2PTR(APR__Finfo,tmp); } else Perl_croak(aTHX_ "%s: %s is not of type %s", "APR::Finfo::name", "obj", "APR::Finfo"); #line 248 "Finfo.xs" RETVAL = (const char *) obj->name; #line 606 "Finfo.c" sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } #ifdef __cplusplus extern "C" #endif XS(boot_APR__Finfo); /* prototype to pass -Wmissing-prototypes */ XS(boot_APR__Finfo) { #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::Finfo::stat", XS_APR__Finfo_stat, file); (void)newXS("APR::Finfo::valid", XS_APR__Finfo_valid, file); (void)newXS("APR::Finfo::protection", XS_APR__Finfo_protection, file); (void)newXS("APR::Finfo::filetype", XS_APR__Finfo_filetype, file); (void)newXS("APR::Finfo::user", XS_APR__Finfo_user, file); (void)newXS("APR::Finfo::group", XS_APR__Finfo_group, file); (void)newXS("APR::Finfo::inode", XS_APR__Finfo_inode, file); (void)newXS("APR::Finfo::device", XS_APR__Finfo_device, file); (void)newXS("APR::Finfo::nlink", XS_APR__Finfo_nlink, file); (void)newXS("APR::Finfo::size", XS_APR__Finfo_size, file); (void)newXS("APR::Finfo::csize", XS_APR__Finfo_csize, file); (void)newXS("APR::Finfo::atime", XS_APR__Finfo_atime, file); (void)newXS("APR::Finfo::mtime", XS_APR__Finfo_mtime, file); (void)newXS("APR::Finfo::ctime", XS_APR__Finfo_ctime, file); (void)newXS("APR::Finfo::fname", XS_APR__Finfo_fname, file); (void)newXS("APR::Finfo::name", XS_APR__Finfo_name, file); /* Initialisation Section */ #line 257 "Finfo.xs" items = items; /* -Wall */ #line 655 "Finfo.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; }