APR::Pool T_POOLOBJ APR::BucketAlloc T_PTROBJ APR::Request::Apache2 T_APREQ_HANDLE_APACHE2 APR::Request::Cookie T_APREQ_COOKIE APR::Request::Param::Table T_APREQ_TABLE APR::Brigade T_PTROBJ APR::Table T_HASHOBJ APR::Request::CGI T_APREQ_HANDLE_CGI APR::Request::Param T_APREQ_PARAM APR::Request::Error T_APREQ_ERROR Apache2::RequestRec T_APACHEOBJ APR::Request::Cookie::Table T_HASHOBJ APR::Request T_APREQ_HANDLE APR::Request::Parser T_PTROBJ APR::Request::Hook T_PTROBJ apr_status_t T_IV const void * T_PTR const char * T_PV apreq_xs_subclass_t T_SUBCLASS const apr_size_t T_UV apr_size_t T_UV unsigned char T_UV apreq_parser_function_t T_APREQ_PARSER_FUNCTION apreq_hook_function_t T_APREQ_HOOK_FUNCTION INPUT T_APREQ_HANDLE $var = apreq_xs_sv2handle(aTHX_ $arg) T_HASHOBJ if (sv_derived_from($arg, \"${ntype}\")) { if (SVt_PVHV == SvTYPE(SvRV($arg))) { SV *hv = SvRV($arg); MAGIC *mg; if (SvMAGICAL(hv)) { if ((mg = mg_find(hv, PERL_MAGIC_tied))) { $var = INT2PTR(void *, MgObjIV(mg)); } else { Perl_warn(aTHX_ \"Not a tied hash: (magic=%c)\", mg); $var = NULL; } } else { Perl_warn(aTHX_ \"SV is not tied\"); $var = NULL; } } else { $var = INT2PTR(void *, SvObjIV($arg)); } } else { Perl_croak(aTHX_ \"argument is not a blessed reference \" \"(expecting an %s derived object)\", \"${ntype}\"); } T_APREQ_ERROR $var = (HV *)SvRV($arg) T_APREQ_HANDLE_APACHE2 $var = apreq_xs_sv2handle(aTHX_ $arg) T_APREQ_COOKIE $var = apreq_xs_sv2cookie(aTHX_ $arg) T_SUBCLASS if (SvROK($arg) || !sv_derived_from($arg, \"$Package\")) Perl_croak(aTHX_ \"Usage: argument is not a subclass of $Package\"); $var = SvPV_nolen($arg) T_APREQ_HANDLE_CGI $var = apreq_xs_sv2handle(aTHX_ $arg) T_APREQ_PARAM $var = apreq_xs_sv2param(aTHX_ $arg) T_APREQ_TABLE if (sv_derived_from($arg, \"${ntype}\")) { if (SVt_PVHV == SvTYPE(SvRV($arg))) { SV *hv = SvRV($arg); MAGIC *mg; if (SvMAGICAL(hv)) { if ((mg = mg_find(hv, PERL_MAGIC_tied))) { $var = INT2PTR(void *,MgObjIV(mg)); } else { Perl_warn(aTHX_ \"Not a tied hash: (magic=%c)\", mg); $var = NULL; } } else { Perl_warn(aTHX_ \"SV is not tied\"); $var = NULL; } } else { $var = INT2PTR(void *, SvObjIV($arg)); } } else { Perl_croak(aTHX_ \"argument is not a blessed reference \" \"(expecting an %s derived object)\", \"${ntype}\"); } T_APREQ_PARSER_FUNCTION $var = INT2PTR(apreq_parser_function_t, SvObjIV($arg)) T_APREQ_HOOK_FUNCTION $var = INT2PTR(apreq_hook_function_t, SvObjIV($arg)) OUTPUT T_APREQ_HANDLE $arg = apreq_xs_handle2sv(aTHX_ $var, class, parent); T_APREQ_TABLE $arg = apreq_xs_table2sv(aTHX_ $var, \"${ntype}\", parent, PARAM_CLASS, sizeof(PARAM_CLASS)-1); T_HASHOBJ { SV *hv = (SV*)newHV(); SV *rsv = $arg; sv_setref_pv(rsv, \"${ntype}\", $var); sv_magic(hv, rsv, PERL_MAGIC_tied, Nullch, 0); $arg = SvREFCNT_inc(sv_bless(sv_2mortal(newRV_noinc(hv)), gv_stashpv(\"${ntype}\", TRUE))); } T_APREQ_ERROR $arg = sv_bless(newRV_noinc((SV*)$var), gv_stashpvn(\"${ntype}\", sizeof(\"${ntype}\") - 1, FALSE); T_APREQ_HANDLE_APACHE2 $arg = apreq_xs_handle2sv(aTHX_ $var, class, SvRV(ST(1))); SvMAGIC(SvRV($arg))->mg_ptr = (void *)r; T_APREQ_COOKIE $arg = apreq_xs_cookie2sv(aTHX_ $var, class, parent); T_APREQ_HANDLE_CGI $arg = apreq_xs_handle2sv(aTHX_ $var, class, SvRV(ST(1))); T_APREQ_PARAM $arg = apreq_xs_param2sv(aTHX_ $var, class, parent); T_APREQ_PARSER_FUNCTION $arg = sv_setref_pv(newSV(0), class, $var); T_APREQ_HOOK_FUNCTION $arg = sv_setref_pv(newSV(0), class, $var);