/* * This file was generated automatically by ExtUtils::ParseXS version 2.18 from the * contents of Icon.xs. Do not edit this file, edit Icon.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ #line 1 "Icon.xs" #include "mod_perl.h" #include "mod_icon.h" typedef char * Apache__Icon; static void icon_add_magic(SV *sv, request_rec *r) { sv_magic(SvRV(sv), Nullsv, '~', (char *)r, sizeof(request_rec)); } #define default_by_path S_ISDIR(r->finfo.st_mode) ? 1 : 0 #define default_r perl_request_rec(NULL) #ifndef PERL_UNUSED_VAR # define PERL_UNUSED_VAR(var) if (0) var = var #endif #line 28 "Icon.c" XS(XS_Apache__Icon_new); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache__Icon_new) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) Perl_croak(aTHX_ "Usage: %s(%s)", "Apache::Icon::new", "class, r=default_r"); PERL_UNUSED_VAR(cv); /* -W */ { char * class = (char *)SvPV_nolen(ST(0)); Apache r; Apache__Icon RETVAL; if (items < 2) r = default_r; else { r = sv2request_rec(ST(1), "Apache", cv); } #line 27 "Icon.xs" RETVAL = class; #line 54 "Icon.c" ST(0) = sv_newmortal(); sv_setref_pv(ST(0), "Apache::Icon", (void*)RETVAL); #line 33 "Icon.xs" icon_add_magic(ST(0), r); #line 59 "Icon.c" } XSRETURN(1); } XS(XS_Apache__Icon_find); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache__Icon_find) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) Perl_croak(aTHX_ "Usage: %s(%s)", "Apache::Icon::find", "r, po=default_by_path"); PERL_UNUSED_VAR(cv); /* -W */ { Apache r; int po; char * RETVAL; dXSTARG; r = sv2request_rec(ST(0), "Apache", cv); if (items < 2) po = default_by_path; else { po = (int)SvIV(ST(1)); } RETVAL = ap_icon_find(r, po); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache__Icon_alt); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache__Icon_alt) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) Perl_croak(aTHX_ "Usage: %s(%s)", "Apache::Icon::alt", "r, po=default_by_path"); PERL_UNUSED_VAR(cv); /* -W */ { Apache r; int po; char * RETVAL; dXSTARG; r = sv2request_rec(ST(0), "Apache", cv); if (items < 2) po = default_by_path; else { po = (int)SvIV(ST(1)); } RETVAL = ap_icon_alt(r, po); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Apache__Icon_default); /* prototype to pass -Wmissing-prototypes */ XS(XS_Apache__Icon_default) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif if (items < 1 || items > 2) Perl_croak(aTHX_ "Usage: %s(%s)", "Apache::Icon::default", "r, name=NULL"); PERL_UNUSED_VAR(cv); /* -W */ { Apache r; char * name; char * RETVAL; dXSTARG; r = sv2request_rec(ST(0), "Apache", cv); if (items < 2) name = NULL; else { name = (char *)SvPV_nolen(ST(1)); } RETVAL = ap_icon_default(r, name); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } #ifdef __cplusplus extern "C" #endif XS(boot_Apache__Icon); /* prototype to pass -Wmissing-prototypes */ XS(boot_Apache__Icon) { #ifdef dVAR dVAR; dXSARGS; #else dXSARGS; #endif char* file = __FILE__; PERL_UNUSED_VAR(cv); /* -W */ PERL_UNUSED_VAR(items); /* -W */ XS_VERSION_BOOTCHECK ; newXS("Apache::Icon::new", XS_Apache__Icon_new, file); newXS("Apache::Icon::find", XS_Apache__Icon_find, file); newXS("Apache::Icon::alt", XS_Apache__Icon_alt, file); newXS("Apache::Icon::default", XS_Apache__Icon_default, file); /* Initialisation Section */ #line 17 "Icon.xs" ap_add_module(&icon_module); #line 187 "Icon.c" /* End of Initialisation Section */ XSRETURN_YES; }