From: Gurusamy Sarathy Date: Sun, 27 Jun 1999 14:28:49 +0000 (+0000) Subject: somewhat untested PERL_OBJECT cleanups (C++isms mostly X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0cb9638729211ea71a75ae8756c03ba21553bd53;p=p5sagit%2Fp5-mst-13.2.git somewhat untested PERL_OBJECT cleanups (C++isms mostly gone from the public API); PERL_OBJECT builds again on windows TODO: namespace-clean the typedefs in iperlsys.h and elsewhere; remove C++ remnants from public headers p4raw-id: //depot/perl@3553 --- diff --git a/XSUB.h b/XSUB.h index 74e8f02..70e7d84 100644 --- a/XSUB.h +++ b/XSUB.h @@ -1,13 +1,9 @@ #define ST(off) PL_stack_base[ax + (off)] -#ifdef PERL_OBJECT -# define XS(name) void name(CV* cv, CPerlObj* pPerl) +#if defined(CYGWIN32) && defined(USE_DYNAMIC_LOADING) +# define XS(name) __declspec(dllexport) void name(pTHXo_ CV* cv) #else -# if defined(CYGWIN32) && defined(USE_DYNAMIC_LOADING) -# define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv) -# else -# define XS(name) void name(pTHX_ CV* cv) -# endif +# define XS(name) void name(pTHXo_ CV* cv) #endif #define dXSARGS \ @@ -148,10 +144,12 @@ #ifdef PERL_OBJECT # include "objXSUB.h" -# undef PERL_OBJECT_THIS -# define PERL_OBJECT_THIS pPerl -# undef PERL_OBJECT_THIS_ -# define PERL_OBJECT_THIS_ pPerl, +# undef aTHXo +# define aTHXo pPerl +# undef aTHXo_ +# define aTHXo_ aTHXo, +# undef _aTHXo +# define _aTHXo ,aTHXo # undef SAVEDESTRUCTOR # define SAVEDESTRUCTOR(f,p) \ @@ -162,8 +160,6 @@ # undef errno # define errno ErrorNo() # endif -# undef ErrorNo -# define ErrorNo pPerl->ErrorNo # undef NtCrypt # define NtCrypt pPerl->NtCrypt # undef NtGetLib @@ -176,6 +172,8 @@ # define NtGetBin pPerl->NtGetBin # undef NtGetDebugScriptStr # define NtGetDebugScriptStr pPerl->NtGetDebugScriptStr +# undef fprintf +# define fprintf pPerl->fprintf # endif /* WIN32 */ # ifndef NO_XSLOCKS diff --git a/bytecode.pl b/bytecode.pl index 955db20..e12acbb 100644 --- a/bytecode.pl +++ b/bytecode.pl @@ -67,9 +67,20 @@ print BYTERUN_C $c_header, <<'EOT'; #include "EXTERN.h" #include "perl.h" +#define NO_XSLOCKS +#include "XSUB.h" + +#ifdef PERL_OBJECT +#undef CALL_FPTR +#define CALL_FPTR(fptr) (pPerl->*fptr) +#undef PL_ppaddr +#define PL_ppaddr (*get_ppaddr()) +#endif + #include "byterun.h" #include "bytecode.h" + static int optype_size[] = { EOT my $i = 0; @@ -89,7 +100,7 @@ static void **bytecode_obj_list; static I32 bytecode_obj_list_fill = -1; void * -bset_obj_store(void *obj, I32 ix) +bset_obj_store(pTHXo_ void *obj, I32 ix) { if (ix > bytecode_obj_list_fill) { if (bytecode_obj_list_fill == -1) @@ -103,7 +114,7 @@ bset_obj_store(void *obj, I32 ix) } void -byterun(pTHX_ struct bytestream bs) +byterun(pTHXo_ struct bytestream bs) { dTHR; int insn; @@ -237,6 +248,8 @@ print BYTERUN_H <<'EOT'; EOT print BYTERUN_H <<'EOT'; +EXT void byterun(pTHXo_ struct bytestream bs); + #define INIT_SPECIALSV_LIST STMT_START { \ EOT for ($i = 0; $i < @specialsv; $i++) { diff --git a/cv.h b/cv.h index d862aeb..e060dc8 100644 --- a/cv.h +++ b/cv.h @@ -21,7 +21,7 @@ struct xpvcv { HV * xcv_stash; OP * xcv_start; OP * xcv_root; - void (*xcv_xsub) (pTHX_ CV*); + void (*xcv_xsub) (pTHXo_ CV*); ANY xcv_xsubany; GV * xcv_gv; GV * xcv_filegv; diff --git a/embed.h b/embed.h index 02a2cc2..767b707 100644 --- a/embed.h +++ b/embed.h @@ -12,6 +12,8 @@ #if !defined(PERL_OBJECT) #if !defined(PERL_IMPLICIT_CONTEXT) +#if defined(PERL_OBJECT) +#endif #define amagic_call Perl_amagic_call #define Gv_AMupdate Perl_Gv_AMupdate #define append_elem Perl_append_elem @@ -80,6 +82,7 @@ #define get_op_names Perl_get_op_names #define get_no_modify Perl_get_no_modify #define get_opargs Perl_get_opargs +#define get_ppaddr Perl_get_ppaddr #define cxinc Perl_cxinc #define deb Perl_deb #define deb_growlevel Perl_deb_growlevel @@ -409,6 +412,9 @@ #define pad_reset Perl_pad_reset #define pad_swipe Perl_pad_swipe #define peep Perl_peep +#if defined(PERL_OBJECT) +#else +#endif #define call_atexit Perl_call_atexit #define call_argv Perl_call_argv #define call_method Perl_call_method @@ -648,8 +654,12 @@ #define runops_standard Perl_runops_standard #define runops_debug Perl_runops_debug #if defined(WIN32) +#if defined(PERL_OBJECT) +#define ErrorNo Perl_ErrorNo +#else #define ErrorNo Perl_ErrorNo #endif +#endif #define sv_catpvf_mg Perl_sv_catpvf_mg #define sv_catpv_mg Perl_sv_catpv_mg #define sv_catpvn_mg Perl_sv_catpvn_mg @@ -682,10 +692,12 @@ #define tmps_grow Perl_tmps_grow #define sv_rvweaken Perl_sv_rvweaken #define magic_killbackrefs Perl_magic_killbackrefs -#if defined(PERL_IN_AV_C) +#if defined(PERL_OBJECT) +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) #define avhv_index_sv S_avhv_index_sv #endif -#if defined(PERL_IN_DOOP_C) +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) #define do_trans_CC_simple S_do_trans_CC_simple #define do_trans_CC_count S_do_trans_CC_count #define do_trans_CC_complex S_do_trans_CC_complex @@ -697,10 +709,10 @@ #define do_trans_UC_trivial S_do_trans_UC_trivial #define do_trans_CU_trivial S_do_trans_CU_trivial #endif -#if defined(PERL_IN_GV_C) +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) #define gv_init_sv S_gv_init_sv #endif -#if defined(PERL_IN_HV_C) +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) #define hsplit S_hsplit #define hfreeentries S_hfreeentries #define more_he S_more_he @@ -709,14 +721,14 @@ #define save_hek S_save_hek #define hv_magic_check S_hv_magic_check #endif -#if defined(PERL_IN_MG_C) +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) #define save_magic S_save_magic #define magic_methpack S_magic_methpack #define magic_methcall S_magic_methcall #define unwind_handler_stack S_unwind_handler_stack #define restore_magic S_restore_magic #endif -#if defined(PERL_IN_OP_C) +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) #define list_assignment S_list_assignment #define bad_type S_bad_type #define modkids S_modkids @@ -738,7 +750,7 @@ #define Slab_Alloc S_Slab_Alloc # endif #endif -#if defined(PERL_IN_PERL_C) +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) #define find_beginning S_find_beginning #define forbid_setid S_forbid_setid #define incpush S_incpush @@ -755,7 +767,6 @@ #define open_script S_open_script #define usage S_usage #define validate_suid S_validate_suid -#define read_e_script S_read_e_script # if defined(IAMSUID) #define fd_on_nosuid_fs S_fd_on_nosuid_fs # endif @@ -768,7 +779,7 @@ #define init_main_thread S_init_main_thread # endif #endif -#if defined(PERL_IN_PP_C) +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) #define doencodes S_doencodes #define refto S_refto #define seed S_seed @@ -776,7 +787,7 @@ #define is_an_int S_is_an_int #define div128 S_div128 #endif -#if defined(PERL_IN_PP_CTL_C) +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) #define docatch S_docatch #define docatch_body S_docatch_body #define dofindlabel S_dofindlabel @@ -799,20 +810,20 @@ #define amagic_cmp S_amagic_cmp #define amagic_cmp_locale S_amagic_cmp_locale #endif -#if defined(PERL_IN_PP_HOT_C) +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) #define get_db_sub S_get_db_sub # if defined(USE_THREADS) #define unset_cvowner S_unset_cvowner # endif #endif -#if defined(PERL_IN_PP_SYS_C) +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) #define doform S_doform #define emulate_eaccess S_emulate_eaccess # if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) #define dooneliner S_dooneliner # endif #endif -#if defined(PERL_IN_REGCOMP_C) +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) #define reg S_reg #define reganode S_reganode #define regatom S_regatom @@ -837,7 +848,7 @@ #define regpposixcc S_regpposixcc #define clear_re S_clear_re #endif -#if defined(PERL_IN_REGEXEC_C) +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) #define regmatch S_regmatch #define regrepeat S_regrepeat #define regrepeat_hard S_regrepeat_hard @@ -852,13 +863,13 @@ #define reghop S_reghop #define reghopmaybe S_reghopmaybe #endif -#if defined(PERL_IN_RUN_C) +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) #define debprof S_debprof #endif -#if defined(PERL_IN_SCOPE_C) +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) #define save_scalar_at S_save_scalar_at #endif -#if defined(PERL_IN_SV_C) +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) #define asIV S_asIV #define asUV S_asUV #define more_sv S_more_sv @@ -893,7 +904,7 @@ #define del_sv S_del_sv # endif #endif -#if defined(PERL_IN_TOKE_C) +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) #define check_uni S_check_uni #define force_next S_force_next #define force_version S_force_version @@ -939,13 +950,14 @@ #define win32_textfilter S_win32_textfilter # endif #endif -#if defined(PERL_IN_UNIVERSAL_C) +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) #define isa_lookup S_isa_lookup #endif -#if defined(PERL_IN_UTIL_C) +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) #define mess_alloc S_mess_alloc #define do_croak S_do_croak #define do_warn S_do_warn +#define do_die S_do_die # if defined(LEAKTEST) #define xstat S_xstat # endif @@ -1330,6 +1342,8 @@ #else /* PERL_IMPLICIT_CONTEXT */ +#if defined(PERL_OBJECT) +#endif #define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d) #define Gv_AMupdate(a) Perl_Gv_AMupdate(aTHX_ a) #define append_elem(a,b,c) Perl_append_elem(aTHX_ a,b,c) @@ -1388,6 +1402,7 @@ #define get_op_names() Perl_get_op_names(aTHX) #define get_no_modify() Perl_get_no_modify(aTHX) #define get_opargs() Perl_get_opargs(aTHX) +#define get_ppaddr() Perl_get_ppaddr(aTHX) #define cxinc() Perl_cxinc(aTHX) #define deb_growlevel() Perl_deb_growlevel(aTHX) #define debprofdump() Perl_debprofdump(aTHX) @@ -1713,6 +1728,9 @@ #define pad_reset() Perl_pad_reset(aTHX) #define pad_swipe(a) Perl_pad_swipe(aTHX_ a) #define peep(a) Perl_peep(aTHX_ a) +#if defined(PERL_OBJECT) +#else +#endif #define call_atexit(a,b) Perl_call_atexit(aTHX_ a,b) #define call_argv(a,b,c) Perl_call_argv(aTHX_ a,b,c) #define call_method(a,b) Perl_call_method(aTHX_ a,b) @@ -1948,8 +1966,12 @@ #define runops_standard() Perl_runops_standard(aTHX) #define runops_debug() Perl_runops_debug(aTHX) #if defined(WIN32) +#if defined(PERL_OBJECT) +#define ErrorNo() Perl_ErrorNo(aTHX) +#else #define ErrorNo() Perl_ErrorNo(aTHX) #endif +#endif #define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b) #define sv_catpvn_mg(a,b,c) Perl_sv_catpvn_mg(aTHX_ a,b,c) #define sv_catsv_mg(a,b) Perl_sv_catsv_mg(aTHX_ a,b) @@ -1978,10 +2000,12 @@ #define tmps_grow(a) Perl_tmps_grow(aTHX_ a) #define sv_rvweaken(a) Perl_sv_rvweaken(aTHX_ a) #define magic_killbackrefs(a,b) Perl_magic_killbackrefs(aTHX_ a,b) -#if defined(PERL_IN_AV_C) +#if defined(PERL_OBJECT) +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) #define avhv_index_sv(a) S_avhv_index_sv(aTHX_ a) #endif -#if defined(PERL_IN_DOOP_C) +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) #define do_trans_CC_simple(a) S_do_trans_CC_simple(aTHX_ a) #define do_trans_CC_count(a) S_do_trans_CC_count(aTHX_ a) #define do_trans_CC_complex(a) S_do_trans_CC_complex(aTHX_ a) @@ -1993,10 +2017,10 @@ #define do_trans_UC_trivial(a) S_do_trans_UC_trivial(aTHX_ a) #define do_trans_CU_trivial(a) S_do_trans_CU_trivial(aTHX_ a) #endif -#if defined(PERL_IN_GV_C) +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) #define gv_init_sv(a,b) S_gv_init_sv(aTHX_ a,b) #endif -#if defined(PERL_IN_HV_C) +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) #define hsplit(a) S_hsplit(aTHX_ a) #define hfreeentries(a) S_hfreeentries(aTHX_ a) #define more_he() S_more_he(aTHX) @@ -2005,14 +2029,14 @@ #define save_hek(a,b,c) S_save_hek(aTHX_ a,b,c) #define hv_magic_check(a,b,c) S_hv_magic_check(aTHX_ a,b,c) #endif -#if defined(PERL_IN_MG_C) +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) #define save_magic(a,b) S_save_magic(aTHX_ a,b) #define magic_methpack(a,b,c) S_magic_methpack(aTHX_ a,b,c) #define magic_methcall(a,b,c,d,e,f) S_magic_methcall(aTHX_ a,b,c,d,e,f) #define unwind_handler_stack(a) S_unwind_handler_stack(aTHX_ a) #define restore_magic(a) S_restore_magic(aTHX_ a) #endif -#if defined(PERL_IN_OP_C) +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) #define list_assignment(a) S_list_assignment(aTHX_ a) #define bad_type(a,b,c,d) S_bad_type(aTHX_ a,b,c,d) #define modkids(a,b) S_modkids(aTHX_ a,b) @@ -2034,7 +2058,7 @@ #define Slab_Alloc(a,b) S_Slab_Alloc(aTHX_ a,b) # endif #endif -#if defined(PERL_IN_PERL_C) +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) #define find_beginning() S_find_beginning(aTHX) #define forbid_setid(a) S_forbid_setid(aTHX_ a) #define incpush(a,b) S_incpush(aTHX_ a,b) @@ -2051,7 +2075,6 @@ #define open_script(a,b,c,d) S_open_script(aTHX_ a,b,c,d) #define usage(a) S_usage(aTHX_ a) #define validate_suid(a,b,c) S_validate_suid(aTHX_ a,b,c) -#define read_e_script(a,b,c) S_read_e_script(aTHX_ a,b,c) # if defined(IAMSUID) #define fd_on_nosuid_fs(a) S_fd_on_nosuid_fs(aTHX_ a) # endif @@ -2064,7 +2087,7 @@ #define init_main_thread() S_init_main_thread(aTHX) # endif #endif -#if defined(PERL_IN_PP_C) +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) #define doencodes(a,b,c) S_doencodes(aTHX_ a,b,c) #define refto(a) S_refto(aTHX_ a) #define seed() S_seed(aTHX) @@ -2072,7 +2095,7 @@ #define is_an_int(a,b) S_is_an_int(aTHX_ a,b) #define div128(a,b) S_div128(aTHX_ a,b) #endif -#if defined(PERL_IN_PP_CTL_C) +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) #define docatch(a) S_docatch(aTHX_ a) #define docatch_body(a) S_docatch_body(aTHX_ a) #define dofindlabel(a,b,c,d) S_dofindlabel(aTHX_ a,b,c,d) @@ -2095,20 +2118,20 @@ #define amagic_cmp(a,b) S_amagic_cmp(aTHX_ a,b) #define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b) #endif -#if defined(PERL_IN_PP_HOT_C) +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) #define get_db_sub(a,b) S_get_db_sub(aTHX_ a,b) # if defined(USE_THREADS) #define unset_cvowner(a) S_unset_cvowner(aTHX_ a) # endif #endif -#if defined(PERL_IN_PP_SYS_C) +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) #define doform(a,b,c) S_doform(aTHX_ a,b,c) #define emulate_eaccess(a,b) S_emulate_eaccess(aTHX_ a,b) # if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) #define dooneliner(a,b) S_dooneliner(aTHX_ a,b) # endif #endif -#if defined(PERL_IN_REGCOMP_C) +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) #define reg(a,b) S_reg(aTHX_ a,b) #define reganode(a,b) S_reganode(aTHX_ a,b) #define regatom(a) S_regatom(aTHX_ a) @@ -2132,7 +2155,7 @@ #define regpposixcc(a) S_regpposixcc(aTHX_ a) #define clear_re(a) S_clear_re(aTHX_ a) #endif -#if defined(PERL_IN_REGEXEC_C) +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) #define regmatch(a) S_regmatch(aTHX_ a) #define regrepeat(a,b) S_regrepeat(aTHX_ a,b) #define regrepeat_hard(a,b,c) S_regrepeat_hard(aTHX_ a,b,c) @@ -2147,13 +2170,13 @@ #define reghop(a,b) S_reghop(aTHX_ a,b) #define reghopmaybe(a,b) S_reghopmaybe(aTHX_ a,b) #endif -#if defined(PERL_IN_RUN_C) +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) #define debprof(a) S_debprof(aTHX_ a) #endif -#if defined(PERL_IN_SCOPE_C) +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) #define save_scalar_at(a) S_save_scalar_at(aTHX_ a) #endif -#if defined(PERL_IN_SV_C) +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) #define asIV(a) S_asIV(aTHX_ a) #define asUV(a) S_asUV(aTHX_ a) #define more_sv() S_more_sv(aTHX) @@ -2188,7 +2211,7 @@ #define del_sv(a) S_del_sv(aTHX_ a) # endif #endif -#if defined(PERL_IN_TOKE_C) +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) #define check_uni() S_check_uni(aTHX) #define force_next(a) S_force_next(aTHX_ a) #define force_version(a) S_force_version(aTHX_ a) @@ -2234,13 +2257,14 @@ #define win32_textfilter(a,b,c) S_win32_textfilter(aTHX_ a,b,c) # endif #endif -#if defined(PERL_IN_UNIVERSAL_C) +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) #define isa_lookup(a,b,c,d) S_isa_lookup(aTHX_ a,b,c,d) #endif -#if defined(PERL_IN_UTIL_C) +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) #define mess_alloc() S_mess_alloc(aTHX) #define do_croak(a,b) S_do_croak(aTHX_ a,b) #define do_warn(a,b) S_do_warn(aTHX_ a,b) +#define do_die(a,b) S_do_die(aTHX_ a,b) # if defined(LEAKTEST) #define xstat(a) S_xstat(aTHX_ a) # endif @@ -2626,1321 +2650,2549 @@ #endif /* PERL_IMPLICIT_CONTEXT */ #else /* PERL_OBJECT */ -#define Perl_amagic_call CPerlObj::amagic_call -#define Perl_Gv_AMupdate CPerlObj::Gv_AMupdate -#define Perl_append_elem CPerlObj::append_elem -#define Perl_append_list CPerlObj::append_list -#define Perl_apply CPerlObj::apply -#define Perl_assertref CPerlObj::assertref -#define Perl_avhv_exists_ent CPerlObj::avhv_exists_ent -#define Perl_avhv_fetch_ent CPerlObj::avhv_fetch_ent -#define Perl_avhv_iternext CPerlObj::avhv_iternext -#define Perl_avhv_iterval CPerlObj::avhv_iterval -#define Perl_avhv_keys CPerlObj::avhv_keys -#define Perl_av_clear CPerlObj::av_clear -#define Perl_av_extend CPerlObj::av_extend -#define Perl_av_fake CPerlObj::av_fake -#define Perl_av_fetch CPerlObj::av_fetch -#define Perl_av_fill CPerlObj::av_fill -#define Perl_av_len CPerlObj::av_len -#define Perl_av_make CPerlObj::av_make -#define Perl_av_pop CPerlObj::av_pop -#define Perl_av_push CPerlObj::av_push -#define Perl_av_reify CPerlObj::av_reify -#define Perl_av_shift CPerlObj::av_shift -#define Perl_av_store CPerlObj::av_store -#define Perl_av_undef CPerlObj::av_undef -#define Perl_av_unshift CPerlObj::av_unshift -#define Perl_bind_match CPerlObj::bind_match -#define Perl_block_end CPerlObj::block_end -#define Perl_block_gimme CPerlObj::block_gimme -#define Perl_block_start CPerlObj::block_start -#define Perl_boot_core_UNIVERSAL CPerlObj::boot_core_UNIVERSAL -#define Perl_call_list CPerlObj::call_list -#define Perl_cando CPerlObj::cando -#define Perl_cast_ulong CPerlObj::cast_ulong -#define Perl_cast_i32 CPerlObj::cast_i32 -#define Perl_cast_iv CPerlObj::cast_iv -#define Perl_cast_uv CPerlObj::cast_uv +#if defined(PERL_OBJECT) +#endif +#define Perl_amagic_call CPerlObj::Perl_amagic_call +#define amagic_call Perl_amagic_call +#define Perl_Gv_AMupdate CPerlObj::Perl_Gv_AMupdate +#define Gv_AMupdate Perl_Gv_AMupdate +#define Perl_append_elem CPerlObj::Perl_append_elem +#define append_elem Perl_append_elem +#define Perl_append_list CPerlObj::Perl_append_list +#define append_list Perl_append_list +#define Perl_apply CPerlObj::Perl_apply +#define apply Perl_apply +#define Perl_assertref CPerlObj::Perl_assertref +#define assertref Perl_assertref +#define Perl_avhv_exists_ent CPerlObj::Perl_avhv_exists_ent +#define avhv_exists_ent Perl_avhv_exists_ent +#define Perl_avhv_fetch_ent CPerlObj::Perl_avhv_fetch_ent +#define avhv_fetch_ent Perl_avhv_fetch_ent +#define Perl_avhv_iternext CPerlObj::Perl_avhv_iternext +#define avhv_iternext Perl_avhv_iternext +#define Perl_avhv_iterval CPerlObj::Perl_avhv_iterval +#define avhv_iterval Perl_avhv_iterval +#define Perl_avhv_keys CPerlObj::Perl_avhv_keys +#define avhv_keys Perl_avhv_keys +#define Perl_av_clear CPerlObj::Perl_av_clear +#define av_clear Perl_av_clear +#define Perl_av_extend CPerlObj::Perl_av_extend +#define av_extend Perl_av_extend +#define Perl_av_fake CPerlObj::Perl_av_fake +#define av_fake Perl_av_fake +#define Perl_av_fetch CPerlObj::Perl_av_fetch +#define av_fetch Perl_av_fetch +#define Perl_av_fill CPerlObj::Perl_av_fill +#define av_fill Perl_av_fill +#define Perl_av_len CPerlObj::Perl_av_len +#define av_len Perl_av_len +#define Perl_av_make CPerlObj::Perl_av_make +#define av_make Perl_av_make +#define Perl_av_pop CPerlObj::Perl_av_pop +#define av_pop Perl_av_pop +#define Perl_av_push CPerlObj::Perl_av_push +#define av_push Perl_av_push +#define Perl_av_reify CPerlObj::Perl_av_reify +#define av_reify Perl_av_reify +#define Perl_av_shift CPerlObj::Perl_av_shift +#define av_shift Perl_av_shift +#define Perl_av_store CPerlObj::Perl_av_store +#define av_store Perl_av_store +#define Perl_av_undef CPerlObj::Perl_av_undef +#define av_undef Perl_av_undef +#define Perl_av_unshift CPerlObj::Perl_av_unshift +#define av_unshift Perl_av_unshift +#define Perl_bind_match CPerlObj::Perl_bind_match +#define bind_match Perl_bind_match +#define Perl_block_end CPerlObj::Perl_block_end +#define block_end Perl_block_end +#define Perl_block_gimme CPerlObj::Perl_block_gimme +#define block_gimme Perl_block_gimme +#define Perl_block_start CPerlObj::Perl_block_start +#define block_start Perl_block_start +#define Perl_boot_core_UNIVERSAL CPerlObj::Perl_boot_core_UNIVERSAL +#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL +#define Perl_call_list CPerlObj::Perl_call_list +#define call_list Perl_call_list +#define Perl_cando CPerlObj::Perl_cando +#define cando Perl_cando +#define Perl_cast_ulong CPerlObj::Perl_cast_ulong +#define cast_ulong Perl_cast_ulong +#define Perl_cast_i32 CPerlObj::Perl_cast_i32 +#define cast_i32 Perl_cast_i32 +#define Perl_cast_iv CPerlObj::Perl_cast_iv +#define cast_iv Perl_cast_iv +#define Perl_cast_uv CPerlObj::Perl_cast_uv +#define cast_uv Perl_cast_uv #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) -#define Perl_my_chsize CPerlObj::my_chsize +#define Perl_my_chsize CPerlObj::Perl_my_chsize +#define my_chsize Perl_my_chsize #endif #if defined(USE_THREADS) -#define Perl_condpair_magic CPerlObj::condpair_magic +#define Perl_condpair_magic CPerlObj::Perl_condpair_magic +#define condpair_magic Perl_condpair_magic #endif -#define Perl_convert CPerlObj::convert -#define Perl_croak CPerlObj::croak +#define Perl_convert CPerlObj::Perl_convert +#define convert Perl_convert +#define Perl_croak CPerlObj::Perl_croak +#define croak Perl_croak #if defined(PERL_IMPLICIT_CONTEXT) -#define Perl_croak_nocontext CPerlObj::croak_nocontext -#define Perl_die_nocontext CPerlObj::die_nocontext -#define Perl_form_nocontext CPerlObj::form_nocontext -#define Perl_warn_nocontext CPerlObj::warn_nocontext -#define Perl_newSVpvf_nocontext CPerlObj::newSVpvf_nocontext -#define Perl_sv_catpvf_nocontext CPerlObj::sv_catpvf_nocontext -#define Perl_sv_setpvf_nocontext CPerlObj::sv_setpvf_nocontext -#define Perl_sv_catpvf_mg_nocontext CPerlObj::sv_catpvf_mg_nocontext -#define Perl_sv_setpvf_mg_nocontext CPerlObj::sv_setpvf_mg_nocontext -#endif -#define Perl_cv_ckproto CPerlObj::cv_ckproto -#define Perl_cv_clone CPerlObj::cv_clone -#define Perl_cv_const_sv CPerlObj::cv_const_sv -#define Perl_op_const_sv CPerlObj::op_const_sv -#define Perl_cv_undef CPerlObj::cv_undef -#define Perl_cx_dump CPerlObj::cx_dump -#define Perl_filter_add CPerlObj::filter_add -#define Perl_filter_del CPerlObj::filter_del -#define Perl_filter_read CPerlObj::filter_read -#define Perl_get_op_descs CPerlObj::get_op_descs -#define Perl_get_op_names CPerlObj::get_op_names -#define Perl_get_no_modify CPerlObj::get_no_modify -#define Perl_get_opargs CPerlObj::get_opargs -#define Perl_cxinc CPerlObj::cxinc -#define Perl_deb CPerlObj::deb -#define Perl_deb_growlevel CPerlObj::deb_growlevel -#define Perl_debprofdump CPerlObj::debprofdump -#define Perl_debop CPerlObj::debop -#define Perl_debstack CPerlObj::debstack -#define Perl_debstackptrs CPerlObj::debstackptrs -#define Perl_delimcpy CPerlObj::delimcpy -#define Perl_deprecate CPerlObj::deprecate -#define Perl_die CPerlObj::die -#define Perl_die_where CPerlObj::die_where -#define Perl_dounwind CPerlObj::dounwind -#define Perl_do_aexec CPerlObj::do_aexec -#define Perl_do_binmode CPerlObj::do_binmode -#define Perl_do_chop CPerlObj::do_chop -#define Perl_do_close CPerlObj::do_close -#define Perl_do_eof CPerlObj::do_eof -#define Perl_do_exec CPerlObj::do_exec +#define Perl_croak_nocontext CPerlObj::Perl_croak_nocontext +#define croak_nocontext Perl_croak_nocontext +#define Perl_die_nocontext CPerlObj::Perl_die_nocontext +#define die_nocontext Perl_die_nocontext +#define Perl_form_nocontext CPerlObj::Perl_form_nocontext +#define form_nocontext Perl_form_nocontext +#define Perl_warn_nocontext CPerlObj::Perl_warn_nocontext +#define warn_nocontext Perl_warn_nocontext +#define Perl_newSVpvf_nocontext CPerlObj::Perl_newSVpvf_nocontext +#define newSVpvf_nocontext Perl_newSVpvf_nocontext +#define Perl_sv_catpvf_nocontext CPerlObj::Perl_sv_catpvf_nocontext +#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext +#define Perl_sv_setpvf_nocontext CPerlObj::Perl_sv_setpvf_nocontext +#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext +#define Perl_sv_catpvf_mg_nocontext CPerlObj::Perl_sv_catpvf_mg_nocontext +#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext +#define Perl_sv_setpvf_mg_nocontext CPerlObj::Perl_sv_setpvf_mg_nocontext +#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext +#endif +#define Perl_cv_ckproto CPerlObj::Perl_cv_ckproto +#define cv_ckproto Perl_cv_ckproto +#define Perl_cv_clone CPerlObj::Perl_cv_clone +#define cv_clone Perl_cv_clone +#define Perl_cv_const_sv CPerlObj::Perl_cv_const_sv +#define cv_const_sv Perl_cv_const_sv +#define Perl_op_const_sv CPerlObj::Perl_op_const_sv +#define op_const_sv Perl_op_const_sv +#define Perl_cv_undef CPerlObj::Perl_cv_undef +#define cv_undef Perl_cv_undef +#define Perl_cx_dump CPerlObj::Perl_cx_dump +#define cx_dump Perl_cx_dump +#define Perl_filter_add CPerlObj::Perl_filter_add +#define filter_add Perl_filter_add +#define Perl_filter_del CPerlObj::Perl_filter_del +#define filter_del Perl_filter_del +#define Perl_filter_read CPerlObj::Perl_filter_read +#define filter_read Perl_filter_read +#define Perl_get_op_descs CPerlObj::Perl_get_op_descs +#define get_op_descs Perl_get_op_descs +#define Perl_get_op_names CPerlObj::Perl_get_op_names +#define get_op_names Perl_get_op_names +#define Perl_get_no_modify CPerlObj::Perl_get_no_modify +#define get_no_modify Perl_get_no_modify +#define Perl_get_opargs CPerlObj::Perl_get_opargs +#define get_opargs Perl_get_opargs +#define Perl_get_ppaddr CPerlObj::Perl_get_ppaddr +#define get_ppaddr Perl_get_ppaddr +#define Perl_cxinc CPerlObj::Perl_cxinc +#define cxinc Perl_cxinc +#define Perl_deb CPerlObj::Perl_deb +#define deb Perl_deb +#define Perl_deb_growlevel CPerlObj::Perl_deb_growlevel +#define deb_growlevel Perl_deb_growlevel +#define Perl_debprofdump CPerlObj::Perl_debprofdump +#define debprofdump Perl_debprofdump +#define Perl_debop CPerlObj::Perl_debop +#define debop Perl_debop +#define Perl_debstack CPerlObj::Perl_debstack +#define debstack Perl_debstack +#define Perl_debstackptrs CPerlObj::Perl_debstackptrs +#define debstackptrs Perl_debstackptrs +#define Perl_delimcpy CPerlObj::Perl_delimcpy +#define delimcpy Perl_delimcpy +#define Perl_deprecate CPerlObj::Perl_deprecate +#define deprecate Perl_deprecate +#define Perl_die CPerlObj::Perl_die +#define die Perl_die +#define Perl_die_where CPerlObj::Perl_die_where +#define die_where Perl_die_where +#define Perl_dounwind CPerlObj::Perl_dounwind +#define dounwind Perl_dounwind +#define Perl_do_aexec CPerlObj::Perl_do_aexec +#define do_aexec Perl_do_aexec +#define Perl_do_binmode CPerlObj::Perl_do_binmode +#define do_binmode Perl_do_binmode +#define Perl_do_chop CPerlObj::Perl_do_chop +#define do_chop Perl_do_chop +#define Perl_do_close CPerlObj::Perl_do_close +#define do_close Perl_do_close +#define Perl_do_eof CPerlObj::Perl_do_eof +#define do_eof Perl_do_eof +#define Perl_do_exec CPerlObj::Perl_do_exec +#define do_exec Perl_do_exec #if !defined(WIN32) -#define Perl_do_exec3 CPerlObj::do_exec3 +#define Perl_do_exec3 CPerlObj::Perl_do_exec3 +#define do_exec3 Perl_do_exec3 #endif -#define Perl_do_execfree CPerlObj::do_execfree +#define Perl_do_execfree CPerlObj::Perl_do_execfree +#define do_execfree Perl_do_execfree #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) -#define Perl_do_ipcctl CPerlObj::do_ipcctl -#define Perl_do_ipcget CPerlObj::do_ipcget -#define Perl_do_msgrcv CPerlObj::do_msgrcv -#define Perl_do_msgsnd CPerlObj::do_msgsnd -#define Perl_do_semop CPerlObj::do_semop -#define Perl_do_shmio CPerlObj::do_shmio -#endif -#define Perl_do_join CPerlObj::do_join -#define Perl_do_kv CPerlObj::do_kv -#define Perl_do_open CPerlObj::do_open -#define Perl_do_pipe CPerlObj::do_pipe -#define Perl_do_print CPerlObj::do_print -#define Perl_do_readline CPerlObj::do_readline -#define Perl_do_chomp CPerlObj::do_chomp -#define Perl_do_seek CPerlObj::do_seek -#define Perl_do_sprintf CPerlObj::do_sprintf -#define Perl_do_sysseek CPerlObj::do_sysseek -#define Perl_do_tell CPerlObj::do_tell -#define Perl_do_trans CPerlObj::do_trans -#define Perl_do_vecset CPerlObj::do_vecset -#define Perl_do_vop CPerlObj::do_vop -#define Perl_dofile CPerlObj::dofile -#define Perl_dowantarray CPerlObj::dowantarray -#define Perl_dump_all CPerlObj::dump_all -#define Perl_dump_eval CPerlObj::dump_eval +#define Perl_do_ipcctl CPerlObj::Perl_do_ipcctl +#define do_ipcctl Perl_do_ipcctl +#define Perl_do_ipcget CPerlObj::Perl_do_ipcget +#define do_ipcget Perl_do_ipcget +#define Perl_do_msgrcv CPerlObj::Perl_do_msgrcv +#define do_msgrcv Perl_do_msgrcv +#define Perl_do_msgsnd CPerlObj::Perl_do_msgsnd +#define do_msgsnd Perl_do_msgsnd +#define Perl_do_semop CPerlObj::Perl_do_semop +#define do_semop Perl_do_semop +#define Perl_do_shmio CPerlObj::Perl_do_shmio +#define do_shmio Perl_do_shmio +#endif +#define Perl_do_join CPerlObj::Perl_do_join +#define do_join Perl_do_join +#define Perl_do_kv CPerlObj::Perl_do_kv +#define do_kv Perl_do_kv +#define Perl_do_open CPerlObj::Perl_do_open +#define do_open Perl_do_open +#define Perl_do_pipe CPerlObj::Perl_do_pipe +#define do_pipe Perl_do_pipe +#define Perl_do_print CPerlObj::Perl_do_print +#define do_print Perl_do_print +#define Perl_do_readline CPerlObj::Perl_do_readline +#define do_readline Perl_do_readline +#define Perl_do_chomp CPerlObj::Perl_do_chomp +#define do_chomp Perl_do_chomp +#define Perl_do_seek CPerlObj::Perl_do_seek +#define do_seek Perl_do_seek +#define Perl_do_sprintf CPerlObj::Perl_do_sprintf +#define do_sprintf Perl_do_sprintf +#define Perl_do_sysseek CPerlObj::Perl_do_sysseek +#define do_sysseek Perl_do_sysseek +#define Perl_do_tell CPerlObj::Perl_do_tell +#define do_tell Perl_do_tell +#define Perl_do_trans CPerlObj::Perl_do_trans +#define do_trans Perl_do_trans +#define Perl_do_vecset CPerlObj::Perl_do_vecset +#define do_vecset Perl_do_vecset +#define Perl_do_vop CPerlObj::Perl_do_vop +#define do_vop Perl_do_vop +#define Perl_dofile CPerlObj::Perl_dofile +#define dofile Perl_dofile +#define Perl_dowantarray CPerlObj::Perl_dowantarray +#define dowantarray Perl_dowantarray +#define Perl_dump_all CPerlObj::Perl_dump_all +#define dump_all Perl_dump_all +#define Perl_dump_eval CPerlObj::Perl_dump_eval +#define dump_eval Perl_dump_eval #if defined(DUMP_FDS) -#define Perl_dump_fds CPerlObj::dump_fds -#endif -#define Perl_dump_form CPerlObj::dump_form -#define Perl_gv_dump CPerlObj::gv_dump -#define Perl_op_dump CPerlObj::op_dump -#define Perl_pmop_dump CPerlObj::pmop_dump -#define Perl_dump_packsubs CPerlObj::dump_packsubs -#define Perl_dump_sub CPerlObj::dump_sub -#define Perl_fbm_compile CPerlObj::fbm_compile -#define Perl_fbm_instr CPerlObj::fbm_instr -#define Perl_find_script CPerlObj::find_script +#define Perl_dump_fds CPerlObj::Perl_dump_fds +#define dump_fds Perl_dump_fds +#endif +#define Perl_dump_form CPerlObj::Perl_dump_form +#define dump_form Perl_dump_form +#define Perl_gv_dump CPerlObj::Perl_gv_dump +#define gv_dump Perl_gv_dump +#define Perl_op_dump CPerlObj::Perl_op_dump +#define op_dump Perl_op_dump +#define Perl_pmop_dump CPerlObj::Perl_pmop_dump +#define pmop_dump Perl_pmop_dump +#define Perl_dump_packsubs CPerlObj::Perl_dump_packsubs +#define dump_packsubs Perl_dump_packsubs +#define Perl_dump_sub CPerlObj::Perl_dump_sub +#define dump_sub Perl_dump_sub +#define Perl_fbm_compile CPerlObj::Perl_fbm_compile +#define fbm_compile Perl_fbm_compile +#define Perl_fbm_instr CPerlObj::Perl_fbm_instr +#define fbm_instr Perl_fbm_instr +#define Perl_find_script CPerlObj::Perl_find_script +#define find_script Perl_find_script #if defined(USE_THREADS) -#define Perl_find_threadsv CPerlObj::find_threadsv +#define Perl_find_threadsv CPerlObj::Perl_find_threadsv +#define find_threadsv Perl_find_threadsv #endif -#define Perl_force_list CPerlObj::force_list -#define Perl_fold_constants CPerlObj::fold_constants -#define Perl_form CPerlObj::form -#define Perl_free_tmps CPerlObj::free_tmps -#define Perl_gen_constant_list CPerlObj::gen_constant_list +#define Perl_force_list CPerlObj::Perl_force_list +#define force_list Perl_force_list +#define Perl_fold_constants CPerlObj::Perl_fold_constants +#define fold_constants Perl_fold_constants +#define Perl_form CPerlObj::Perl_form +#define form Perl_form +#define Perl_free_tmps CPerlObj::Perl_free_tmps +#define free_tmps Perl_free_tmps +#define Perl_gen_constant_list CPerlObj::Perl_gen_constant_list +#define gen_constant_list Perl_gen_constant_list #if !defined(HAS_GETENV_LEN) -#define Perl_getenv_len CPerlObj::getenv_len -#endif -#define Perl_gp_free CPerlObj::gp_free -#define Perl_gp_ref CPerlObj::gp_ref -#define Perl_gv_AVadd CPerlObj::gv_AVadd -#define Perl_gv_HVadd CPerlObj::gv_HVadd -#define Perl_gv_IOadd CPerlObj::gv_IOadd -#define Perl_gv_autoload4 CPerlObj::gv_autoload4 -#define Perl_gv_check CPerlObj::gv_check -#define Perl_gv_efullname CPerlObj::gv_efullname -#define Perl_gv_efullname3 CPerlObj::gv_efullname3 -#define Perl_gv_fetchfile CPerlObj::gv_fetchfile -#define Perl_gv_fetchmeth CPerlObj::gv_fetchmeth -#define Perl_gv_fetchmethod CPerlObj::gv_fetchmethod -#define Perl_gv_fetchmethod_autoload CPerlObj::gv_fetchmethod_autoload -#define Perl_gv_fetchpv CPerlObj::gv_fetchpv -#define Perl_gv_fullname CPerlObj::gv_fullname -#define Perl_gv_fullname3 CPerlObj::gv_fullname3 -#define Perl_gv_init CPerlObj::gv_init -#define Perl_gv_stashpv CPerlObj::gv_stashpv -#define Perl_gv_stashpvn CPerlObj::gv_stashpvn -#define Perl_gv_stashsv CPerlObj::gv_stashsv -#define Perl_hv_clear CPerlObj::hv_clear -#define Perl_hv_delayfree_ent CPerlObj::hv_delayfree_ent -#define Perl_hv_delete CPerlObj::hv_delete -#define Perl_hv_delete_ent CPerlObj::hv_delete_ent -#define Perl_hv_exists CPerlObj::hv_exists -#define Perl_hv_exists_ent CPerlObj::hv_exists_ent -#define Perl_hv_fetch CPerlObj::hv_fetch -#define Perl_hv_fetch_ent CPerlObj::hv_fetch_ent -#define Perl_hv_free_ent CPerlObj::hv_free_ent -#define Perl_hv_iterinit CPerlObj::hv_iterinit -#define Perl_hv_iterkey CPerlObj::hv_iterkey -#define Perl_hv_iterkeysv CPerlObj::hv_iterkeysv -#define Perl_hv_iternext CPerlObj::hv_iternext -#define Perl_hv_iternextsv CPerlObj::hv_iternextsv -#define Perl_hv_iterval CPerlObj::hv_iterval -#define Perl_hv_ksplit CPerlObj::hv_ksplit -#define Perl_hv_magic CPerlObj::hv_magic -#define Perl_hv_store CPerlObj::hv_store -#define Perl_hv_store_ent CPerlObj::hv_store_ent -#define Perl_hv_undef CPerlObj::hv_undef -#define Perl_ibcmp CPerlObj::ibcmp -#define Perl_ibcmp_locale CPerlObj::ibcmp_locale -#define Perl_ingroup CPerlObj::ingroup -#define Perl_init_stacks CPerlObj::init_stacks -#define Perl_intro_my CPerlObj::intro_my -#define Perl_instr CPerlObj::instr -#define Perl_io_close CPerlObj::io_close -#define Perl_invert CPerlObj::invert -#define Perl_is_uni_alnum CPerlObj::is_uni_alnum -#define Perl_is_uni_idfirst CPerlObj::is_uni_idfirst -#define Perl_is_uni_alpha CPerlObj::is_uni_alpha -#define Perl_is_uni_space CPerlObj::is_uni_space -#define Perl_is_uni_digit CPerlObj::is_uni_digit -#define Perl_is_uni_upper CPerlObj::is_uni_upper -#define Perl_is_uni_lower CPerlObj::is_uni_lower -#define Perl_is_uni_print CPerlObj::is_uni_print -#define Perl_to_uni_upper CPerlObj::to_uni_upper -#define Perl_to_uni_title CPerlObj::to_uni_title -#define Perl_to_uni_lower CPerlObj::to_uni_lower -#define Perl_is_uni_alnum_lc CPerlObj::is_uni_alnum_lc -#define Perl_is_uni_idfirst_lc CPerlObj::is_uni_idfirst_lc -#define Perl_is_uni_alpha_lc CPerlObj::is_uni_alpha_lc -#define Perl_is_uni_space_lc CPerlObj::is_uni_space_lc -#define Perl_is_uni_digit_lc CPerlObj::is_uni_digit_lc -#define Perl_is_uni_upper_lc CPerlObj::is_uni_upper_lc -#define Perl_is_uni_lower_lc CPerlObj::is_uni_lower_lc -#define Perl_is_uni_print_lc CPerlObj::is_uni_print_lc -#define Perl_to_uni_upper_lc CPerlObj::to_uni_upper_lc -#define Perl_to_uni_title_lc CPerlObj::to_uni_title_lc -#define Perl_to_uni_lower_lc CPerlObj::to_uni_lower_lc -#define Perl_is_utf8_alnum CPerlObj::is_utf8_alnum -#define Perl_is_utf8_idfirst CPerlObj::is_utf8_idfirst -#define Perl_is_utf8_alpha CPerlObj::is_utf8_alpha -#define Perl_is_utf8_space CPerlObj::is_utf8_space -#define Perl_is_utf8_digit CPerlObj::is_utf8_digit -#define Perl_is_utf8_upper CPerlObj::is_utf8_upper -#define Perl_is_utf8_lower CPerlObj::is_utf8_lower -#define Perl_is_utf8_print CPerlObj::is_utf8_print -#define Perl_is_utf8_mark CPerlObj::is_utf8_mark -#define Perl_jmaybe CPerlObj::jmaybe -#define Perl_keyword CPerlObj::keyword -#define Perl_leave_scope CPerlObj::leave_scope -#define Perl_lex_end CPerlObj::lex_end -#define Perl_lex_start CPerlObj::lex_start -#define Perl_linklist CPerlObj::linklist -#define Perl_list CPerlObj::list -#define Perl_listkids CPerlObj::listkids -#define Perl_localize CPerlObj::localize -#define Perl_looks_like_number CPerlObj::looks_like_number -#define Perl_magic_clearenv CPerlObj::magic_clearenv -#define Perl_magic_clear_all_env CPerlObj::magic_clear_all_env -#define Perl_magic_clearpack CPerlObj::magic_clearpack -#define Perl_magic_clearsig CPerlObj::magic_clearsig -#define Perl_magic_existspack CPerlObj::magic_existspack -#define Perl_magic_freeregexp CPerlObj::magic_freeregexp -#define Perl_magic_get CPerlObj::magic_get -#define Perl_magic_getarylen CPerlObj::magic_getarylen -#define Perl_magic_getdefelem CPerlObj::magic_getdefelem -#define Perl_magic_getglob CPerlObj::magic_getglob -#define Perl_magic_getnkeys CPerlObj::magic_getnkeys -#define Perl_magic_getpack CPerlObj::magic_getpack -#define Perl_magic_getpos CPerlObj::magic_getpos -#define Perl_magic_getsig CPerlObj::magic_getsig -#define Perl_magic_getsubstr CPerlObj::magic_getsubstr -#define Perl_magic_gettaint CPerlObj::magic_gettaint -#define Perl_magic_getuvar CPerlObj::magic_getuvar -#define Perl_magic_getvec CPerlObj::magic_getvec -#define Perl_magic_len CPerlObj::magic_len -#if defined(USE_THREADS) -#define Perl_magic_mutexfree CPerlObj::magic_mutexfree -#endif -#define Perl_magic_nextpack CPerlObj::magic_nextpack -#define Perl_magic_regdata_cnt CPerlObj::magic_regdata_cnt -#define Perl_magic_regdatum_get CPerlObj::magic_regdatum_get -#define Perl_magic_set CPerlObj::magic_set -#define Perl_magic_setamagic CPerlObj::magic_setamagic -#define Perl_magic_setarylen CPerlObj::magic_setarylen -#define Perl_magic_setbm CPerlObj::magic_setbm -#define Perl_magic_setdbline CPerlObj::magic_setdbline -#if defined(USE_LOCALE_COLLATE) -#define Perl_magic_setcollxfrm CPerlObj::magic_setcollxfrm -#endif -#define Perl_magic_setdefelem CPerlObj::magic_setdefelem -#define Perl_magic_setenv CPerlObj::magic_setenv -#define Perl_magic_setfm CPerlObj::magic_setfm -#define Perl_magic_setisa CPerlObj::magic_setisa -#define Perl_magic_setglob CPerlObj::magic_setglob -#define Perl_magic_setmglob CPerlObj::magic_setmglob -#define Perl_magic_setnkeys CPerlObj::magic_setnkeys -#define Perl_magic_setpack CPerlObj::magic_setpack -#define Perl_magic_setpos CPerlObj::magic_setpos -#define Perl_magic_setsig CPerlObj::magic_setsig -#define Perl_magic_setsubstr CPerlObj::magic_setsubstr -#define Perl_magic_settaint CPerlObj::magic_settaint -#define Perl_magic_setuvar CPerlObj::magic_setuvar -#define Perl_magic_setvec CPerlObj::magic_setvec -#define Perl_magic_set_all_env CPerlObj::magic_set_all_env -#define Perl_magic_sizepack CPerlObj::magic_sizepack -#define Perl_magic_wipepack CPerlObj::magic_wipepack -#define Perl_magicname CPerlObj::magicname -#if defined(MYMALLOC) -#define Perl_malloced_size CPerlObj::malloced_size +#define Perl_getenv_len CPerlObj::Perl_getenv_len +#define getenv_len Perl_getenv_len #endif -#define Perl_markstack_grow CPerlObj::markstack_grow -#if defined(USE_LOCALE_COLLATE) -#define Perl_mem_collxfrm CPerlObj::mem_collxfrm -#endif -#define Perl_mess CPerlObj::mess -#define Perl_mg_clear CPerlObj::mg_clear -#define Perl_mg_copy CPerlObj::mg_copy -#define Perl_mg_find CPerlObj::mg_find -#define Perl_mg_free CPerlObj::mg_free -#define Perl_mg_get CPerlObj::mg_get -#define Perl_mg_length CPerlObj::mg_length -#define Perl_mg_magical CPerlObj::mg_magical -#define Perl_mg_set CPerlObj::mg_set -#define Perl_mg_size CPerlObj::mg_size -#define Perl_mod CPerlObj::mod -#define Perl_moreswitches CPerlObj::moreswitches -#define Perl_my CPerlObj::my -#ifdef USE_LOCALE_NUMERIC -#define Perl_my_atof CPerlObj::my_atof +#define Perl_gp_free CPerlObj::Perl_gp_free +#define gp_free Perl_gp_free +#define Perl_gp_ref CPerlObj::Perl_gp_ref +#define gp_ref Perl_gp_ref +#define Perl_gv_AVadd CPerlObj::Perl_gv_AVadd +#define gv_AVadd Perl_gv_AVadd +#define Perl_gv_HVadd CPerlObj::Perl_gv_HVadd +#define gv_HVadd Perl_gv_HVadd +#define Perl_gv_IOadd CPerlObj::Perl_gv_IOadd +#define gv_IOadd Perl_gv_IOadd +#define Perl_gv_autoload4 CPerlObj::Perl_gv_autoload4 +#define gv_autoload4 Perl_gv_autoload4 +#define Perl_gv_check CPerlObj::Perl_gv_check +#define gv_check Perl_gv_check +#define Perl_gv_efullname CPerlObj::Perl_gv_efullname +#define gv_efullname Perl_gv_efullname +#define Perl_gv_efullname3 CPerlObj::Perl_gv_efullname3 +#define gv_efullname3 Perl_gv_efullname3 +#define Perl_gv_fetchfile CPerlObj::Perl_gv_fetchfile +#define gv_fetchfile Perl_gv_fetchfile +#define Perl_gv_fetchmeth CPerlObj::Perl_gv_fetchmeth +#define gv_fetchmeth Perl_gv_fetchmeth +#define Perl_gv_fetchmethod CPerlObj::Perl_gv_fetchmethod +#define gv_fetchmethod Perl_gv_fetchmethod +#define Perl_gv_fetchmethod_autoload CPerlObj::Perl_gv_fetchmethod_autoload +#define gv_fetchmethod_autoload Perl_gv_fetchmethod_autoload +#define Perl_gv_fetchpv CPerlObj::Perl_gv_fetchpv +#define gv_fetchpv Perl_gv_fetchpv +#define Perl_gv_fullname CPerlObj::Perl_gv_fullname +#define gv_fullname Perl_gv_fullname +#define Perl_gv_fullname3 CPerlObj::Perl_gv_fullname3 +#define gv_fullname3 Perl_gv_fullname3 +#define Perl_gv_init CPerlObj::Perl_gv_init +#define gv_init Perl_gv_init +#define Perl_gv_stashpv CPerlObj::Perl_gv_stashpv +#define gv_stashpv Perl_gv_stashpv +#define Perl_gv_stashpvn CPerlObj::Perl_gv_stashpvn +#define gv_stashpvn Perl_gv_stashpvn +#define Perl_gv_stashsv CPerlObj::Perl_gv_stashsv +#define gv_stashsv Perl_gv_stashsv +#define Perl_hv_clear CPerlObj::Perl_hv_clear +#define hv_clear Perl_hv_clear +#define Perl_hv_delayfree_ent CPerlObj::Perl_hv_delayfree_ent +#define hv_delayfree_ent Perl_hv_delayfree_ent +#define Perl_hv_delete CPerlObj::Perl_hv_delete +#define hv_delete Perl_hv_delete +#define Perl_hv_delete_ent CPerlObj::Perl_hv_delete_ent +#define hv_delete_ent Perl_hv_delete_ent +#define Perl_hv_exists CPerlObj::Perl_hv_exists +#define hv_exists Perl_hv_exists +#define Perl_hv_exists_ent CPerlObj::Perl_hv_exists_ent +#define hv_exists_ent Perl_hv_exists_ent +#define Perl_hv_fetch CPerlObj::Perl_hv_fetch +#define hv_fetch Perl_hv_fetch +#define Perl_hv_fetch_ent CPerlObj::Perl_hv_fetch_ent +#define hv_fetch_ent Perl_hv_fetch_ent +#define Perl_hv_free_ent CPerlObj::Perl_hv_free_ent +#define hv_free_ent Perl_hv_free_ent +#define Perl_hv_iterinit CPerlObj::Perl_hv_iterinit +#define hv_iterinit Perl_hv_iterinit +#define Perl_hv_iterkey CPerlObj::Perl_hv_iterkey +#define hv_iterkey Perl_hv_iterkey +#define Perl_hv_iterkeysv CPerlObj::Perl_hv_iterkeysv +#define hv_iterkeysv Perl_hv_iterkeysv +#define Perl_hv_iternext CPerlObj::Perl_hv_iternext +#define hv_iternext Perl_hv_iternext +#define Perl_hv_iternextsv CPerlObj::Perl_hv_iternextsv +#define hv_iternextsv Perl_hv_iternextsv +#define Perl_hv_iterval CPerlObj::Perl_hv_iterval +#define hv_iterval Perl_hv_iterval +#define Perl_hv_ksplit CPerlObj::Perl_hv_ksplit +#define hv_ksplit Perl_hv_ksplit +#define Perl_hv_magic CPerlObj::Perl_hv_magic +#define hv_magic Perl_hv_magic +#define Perl_hv_store CPerlObj::Perl_hv_store +#define hv_store Perl_hv_store +#define Perl_hv_store_ent CPerlObj::Perl_hv_store_ent +#define hv_store_ent Perl_hv_store_ent +#define Perl_hv_undef CPerlObj::Perl_hv_undef +#define hv_undef Perl_hv_undef +#define Perl_ibcmp CPerlObj::Perl_ibcmp +#define ibcmp Perl_ibcmp +#define Perl_ibcmp_locale CPerlObj::Perl_ibcmp_locale +#define ibcmp_locale Perl_ibcmp_locale +#define Perl_ingroup CPerlObj::Perl_ingroup +#define ingroup Perl_ingroup +#define Perl_init_stacks CPerlObj::Perl_init_stacks +#define init_stacks Perl_init_stacks +#define Perl_intro_my CPerlObj::Perl_intro_my +#define intro_my Perl_intro_my +#define Perl_instr CPerlObj::Perl_instr +#define instr Perl_instr +#define Perl_io_close CPerlObj::Perl_io_close +#define io_close Perl_io_close +#define Perl_invert CPerlObj::Perl_invert +#define invert Perl_invert +#define Perl_is_uni_alnum CPerlObj::Perl_is_uni_alnum +#define is_uni_alnum Perl_is_uni_alnum +#define Perl_is_uni_idfirst CPerlObj::Perl_is_uni_idfirst +#define is_uni_idfirst Perl_is_uni_idfirst +#define Perl_is_uni_alpha CPerlObj::Perl_is_uni_alpha +#define is_uni_alpha Perl_is_uni_alpha +#define Perl_is_uni_space CPerlObj::Perl_is_uni_space +#define is_uni_space Perl_is_uni_space +#define Perl_is_uni_digit CPerlObj::Perl_is_uni_digit +#define is_uni_digit Perl_is_uni_digit +#define Perl_is_uni_upper CPerlObj::Perl_is_uni_upper +#define is_uni_upper Perl_is_uni_upper +#define Perl_is_uni_lower CPerlObj::Perl_is_uni_lower +#define is_uni_lower Perl_is_uni_lower +#define Perl_is_uni_print CPerlObj::Perl_is_uni_print +#define is_uni_print Perl_is_uni_print +#define Perl_to_uni_upper CPerlObj::Perl_to_uni_upper +#define to_uni_upper Perl_to_uni_upper +#define Perl_to_uni_title CPerlObj::Perl_to_uni_title +#define to_uni_title Perl_to_uni_title +#define Perl_to_uni_lower CPerlObj::Perl_to_uni_lower +#define to_uni_lower Perl_to_uni_lower +#define Perl_is_uni_alnum_lc CPerlObj::Perl_is_uni_alnum_lc +#define is_uni_alnum_lc Perl_is_uni_alnum_lc +#define Perl_is_uni_idfirst_lc CPerlObj::Perl_is_uni_idfirst_lc +#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc +#define Perl_is_uni_alpha_lc CPerlObj::Perl_is_uni_alpha_lc +#define is_uni_alpha_lc Perl_is_uni_alpha_lc +#define Perl_is_uni_space_lc CPerlObj::Perl_is_uni_space_lc +#define is_uni_space_lc Perl_is_uni_space_lc +#define Perl_is_uni_digit_lc CPerlObj::Perl_is_uni_digit_lc +#define is_uni_digit_lc Perl_is_uni_digit_lc +#define Perl_is_uni_upper_lc CPerlObj::Perl_is_uni_upper_lc +#define is_uni_upper_lc Perl_is_uni_upper_lc +#define Perl_is_uni_lower_lc CPerlObj::Perl_is_uni_lower_lc +#define is_uni_lower_lc Perl_is_uni_lower_lc +#define Perl_is_uni_print_lc CPerlObj::Perl_is_uni_print_lc +#define is_uni_print_lc Perl_is_uni_print_lc +#define Perl_to_uni_upper_lc CPerlObj::Perl_to_uni_upper_lc +#define to_uni_upper_lc Perl_to_uni_upper_lc +#define Perl_to_uni_title_lc CPerlObj::Perl_to_uni_title_lc +#define to_uni_title_lc Perl_to_uni_title_lc +#define Perl_to_uni_lower_lc CPerlObj::Perl_to_uni_lower_lc +#define to_uni_lower_lc Perl_to_uni_lower_lc +#define Perl_is_utf8_alnum CPerlObj::Perl_is_utf8_alnum +#define is_utf8_alnum Perl_is_utf8_alnum +#define Perl_is_utf8_idfirst CPerlObj::Perl_is_utf8_idfirst +#define is_utf8_idfirst Perl_is_utf8_idfirst +#define Perl_is_utf8_alpha CPerlObj::Perl_is_utf8_alpha +#define is_utf8_alpha Perl_is_utf8_alpha +#define Perl_is_utf8_space CPerlObj::Perl_is_utf8_space +#define is_utf8_space Perl_is_utf8_space +#define Perl_is_utf8_digit CPerlObj::Perl_is_utf8_digit +#define is_utf8_digit Perl_is_utf8_digit +#define Perl_is_utf8_upper CPerlObj::Perl_is_utf8_upper +#define is_utf8_upper Perl_is_utf8_upper +#define Perl_is_utf8_lower CPerlObj::Perl_is_utf8_lower +#define is_utf8_lower Perl_is_utf8_lower +#define Perl_is_utf8_print CPerlObj::Perl_is_utf8_print +#define is_utf8_print Perl_is_utf8_print +#define Perl_is_utf8_mark CPerlObj::Perl_is_utf8_mark +#define is_utf8_mark Perl_is_utf8_mark +#define Perl_jmaybe CPerlObj::Perl_jmaybe +#define jmaybe Perl_jmaybe +#define Perl_keyword CPerlObj::Perl_keyword +#define keyword Perl_keyword +#define Perl_leave_scope CPerlObj::Perl_leave_scope +#define leave_scope Perl_leave_scope +#define Perl_lex_end CPerlObj::Perl_lex_end +#define lex_end Perl_lex_end +#define Perl_lex_start CPerlObj::Perl_lex_start +#define lex_start Perl_lex_start +#define Perl_linklist CPerlObj::Perl_linklist +#define linklist Perl_linklist +#define Perl_list CPerlObj::Perl_list +#define list Perl_list +#define Perl_listkids CPerlObj::Perl_listkids +#define listkids Perl_listkids +#define Perl_localize CPerlObj::Perl_localize +#define localize Perl_localize +#define Perl_looks_like_number CPerlObj::Perl_looks_like_number +#define looks_like_number Perl_looks_like_number +#define Perl_magic_clearenv CPerlObj::Perl_magic_clearenv +#define magic_clearenv Perl_magic_clearenv +#define Perl_magic_clear_all_env CPerlObj::Perl_magic_clear_all_env +#define magic_clear_all_env Perl_magic_clear_all_env +#define Perl_magic_clearpack CPerlObj::Perl_magic_clearpack +#define magic_clearpack Perl_magic_clearpack +#define Perl_magic_clearsig CPerlObj::Perl_magic_clearsig +#define magic_clearsig Perl_magic_clearsig +#define Perl_magic_existspack CPerlObj::Perl_magic_existspack +#define magic_existspack Perl_magic_existspack +#define Perl_magic_freeregexp CPerlObj::Perl_magic_freeregexp +#define magic_freeregexp Perl_magic_freeregexp +#define Perl_magic_get CPerlObj::Perl_magic_get +#define magic_get Perl_magic_get +#define Perl_magic_getarylen CPerlObj::Perl_magic_getarylen +#define magic_getarylen Perl_magic_getarylen +#define Perl_magic_getdefelem CPerlObj::Perl_magic_getdefelem +#define magic_getdefelem Perl_magic_getdefelem +#define Perl_magic_getglob CPerlObj::Perl_magic_getglob +#define magic_getglob Perl_magic_getglob +#define Perl_magic_getnkeys CPerlObj::Perl_magic_getnkeys +#define magic_getnkeys Perl_magic_getnkeys +#define Perl_magic_getpack CPerlObj::Perl_magic_getpack +#define magic_getpack Perl_magic_getpack +#define Perl_magic_getpos CPerlObj::Perl_magic_getpos +#define magic_getpos Perl_magic_getpos +#define Perl_magic_getsig CPerlObj::Perl_magic_getsig +#define magic_getsig Perl_magic_getsig +#define Perl_magic_getsubstr CPerlObj::Perl_magic_getsubstr +#define magic_getsubstr Perl_magic_getsubstr +#define Perl_magic_gettaint CPerlObj::Perl_magic_gettaint +#define magic_gettaint Perl_magic_gettaint +#define Perl_magic_getuvar CPerlObj::Perl_magic_getuvar +#define magic_getuvar Perl_magic_getuvar +#define Perl_magic_getvec CPerlObj::Perl_magic_getvec +#define magic_getvec Perl_magic_getvec +#define Perl_magic_len CPerlObj::Perl_magic_len +#define magic_len Perl_magic_len +#if defined(USE_THREADS) +#define Perl_magic_mutexfree CPerlObj::Perl_magic_mutexfree +#define magic_mutexfree Perl_magic_mutexfree +#endif +#define Perl_magic_nextpack CPerlObj::Perl_magic_nextpack +#define magic_nextpack Perl_magic_nextpack +#define Perl_magic_regdata_cnt CPerlObj::Perl_magic_regdata_cnt +#define magic_regdata_cnt Perl_magic_regdata_cnt +#define Perl_magic_regdatum_get CPerlObj::Perl_magic_regdatum_get +#define magic_regdatum_get Perl_magic_regdatum_get +#define Perl_magic_set CPerlObj::Perl_magic_set +#define magic_set Perl_magic_set +#define Perl_magic_setamagic CPerlObj::Perl_magic_setamagic +#define magic_setamagic Perl_magic_setamagic +#define Perl_magic_setarylen CPerlObj::Perl_magic_setarylen +#define magic_setarylen Perl_magic_setarylen +#define Perl_magic_setbm CPerlObj::Perl_magic_setbm +#define magic_setbm Perl_magic_setbm +#define Perl_magic_setdbline CPerlObj::Perl_magic_setdbline +#define magic_setdbline Perl_magic_setdbline +#if defined(USE_LOCALE_COLLATE) +#define Perl_magic_setcollxfrm CPerlObj::Perl_magic_setcollxfrm +#define magic_setcollxfrm Perl_magic_setcollxfrm +#endif +#define Perl_magic_setdefelem CPerlObj::Perl_magic_setdefelem +#define magic_setdefelem Perl_magic_setdefelem +#define Perl_magic_setenv CPerlObj::Perl_magic_setenv +#define magic_setenv Perl_magic_setenv +#define Perl_magic_setfm CPerlObj::Perl_magic_setfm +#define magic_setfm Perl_magic_setfm +#define Perl_magic_setisa CPerlObj::Perl_magic_setisa +#define magic_setisa Perl_magic_setisa +#define Perl_magic_setglob CPerlObj::Perl_magic_setglob +#define magic_setglob Perl_magic_setglob +#define Perl_magic_setmglob CPerlObj::Perl_magic_setmglob +#define magic_setmglob Perl_magic_setmglob +#define Perl_magic_setnkeys CPerlObj::Perl_magic_setnkeys +#define magic_setnkeys Perl_magic_setnkeys +#define Perl_magic_setpack CPerlObj::Perl_magic_setpack +#define magic_setpack Perl_magic_setpack +#define Perl_magic_setpos CPerlObj::Perl_magic_setpos +#define magic_setpos Perl_magic_setpos +#define Perl_magic_setsig CPerlObj::Perl_magic_setsig +#define magic_setsig Perl_magic_setsig +#define Perl_magic_setsubstr CPerlObj::Perl_magic_setsubstr +#define magic_setsubstr Perl_magic_setsubstr +#define Perl_magic_settaint CPerlObj::Perl_magic_settaint +#define magic_settaint Perl_magic_settaint +#define Perl_magic_setuvar CPerlObj::Perl_magic_setuvar +#define magic_setuvar Perl_magic_setuvar +#define Perl_magic_setvec CPerlObj::Perl_magic_setvec +#define magic_setvec Perl_magic_setvec +#define Perl_magic_set_all_env CPerlObj::Perl_magic_set_all_env +#define magic_set_all_env Perl_magic_set_all_env +#define Perl_magic_sizepack CPerlObj::Perl_magic_sizepack +#define magic_sizepack Perl_magic_sizepack +#define Perl_magic_wipepack CPerlObj::Perl_magic_wipepack +#define magic_wipepack Perl_magic_wipepack +#define Perl_magicname CPerlObj::Perl_magicname +#define magicname Perl_magicname +#if defined(MYMALLOC) +#define Perl_malloced_size CPerlObj::Perl_malloced_size +#define malloced_size Perl_malloced_size +#endif +#define Perl_markstack_grow CPerlObj::Perl_markstack_grow +#define markstack_grow Perl_markstack_grow +#if defined(USE_LOCALE_COLLATE) +#define Perl_mem_collxfrm CPerlObj::Perl_mem_collxfrm +#define mem_collxfrm Perl_mem_collxfrm +#endif +#define Perl_mess CPerlObj::Perl_mess +#define mess Perl_mess +#define Perl_mg_clear CPerlObj::Perl_mg_clear +#define mg_clear Perl_mg_clear +#define Perl_mg_copy CPerlObj::Perl_mg_copy +#define mg_copy Perl_mg_copy +#define Perl_mg_find CPerlObj::Perl_mg_find +#define mg_find Perl_mg_find +#define Perl_mg_free CPerlObj::Perl_mg_free +#define mg_free Perl_mg_free +#define Perl_mg_get CPerlObj::Perl_mg_get +#define mg_get Perl_mg_get +#define Perl_mg_length CPerlObj::Perl_mg_length +#define mg_length Perl_mg_length +#define Perl_mg_magical CPerlObj::Perl_mg_magical +#define mg_magical Perl_mg_magical +#define Perl_mg_set CPerlObj::Perl_mg_set +#define mg_set Perl_mg_set +#define Perl_mg_size CPerlObj::Perl_mg_size +#define mg_size Perl_mg_size +#define Perl_mod CPerlObj::Perl_mod +#define mod Perl_mod +#define Perl_moreswitches CPerlObj::Perl_moreswitches +#define moreswitches Perl_moreswitches +#define Perl_my CPerlObj::Perl_my +#define my Perl_my +#ifdef USE_LOCALE_NUMERIC +#define Perl_my_atof CPerlObj::Perl_my_atof +#define my_atof Perl_my_atof #endif #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY) -#define Perl_my_bcopy CPerlObj::my_bcopy +#define Perl_my_bcopy CPerlObj::Perl_my_bcopy +#define my_bcopy Perl_my_bcopy #endif #if !defined(HAS_BZERO) && !defined(HAS_MEMSET) -#define Perl_my_bzero CPerlObj::my_bzero +#define Perl_my_bzero CPerlObj::Perl_my_bzero +#define my_bzero Perl_my_bzero #endif -#define Perl_my_exit CPerlObj::my_exit -#define Perl_my_failure_exit CPerlObj::my_failure_exit -#define Perl_my_fflush_all CPerlObj::my_fflush_all -#define Perl_my_lstat CPerlObj::my_lstat +#define Perl_my_exit CPerlObj::Perl_my_exit +#define my_exit Perl_my_exit +#define Perl_my_failure_exit CPerlObj::Perl_my_failure_exit +#define my_failure_exit Perl_my_failure_exit +#define Perl_my_fflush_all CPerlObj::Perl_my_fflush_all +#define my_fflush_all Perl_my_fflush_all +#define Perl_my_lstat CPerlObj::Perl_my_lstat +#define my_lstat Perl_my_lstat #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) -#define Perl_my_memcmp CPerlObj::my_memcmp +#define Perl_my_memcmp CPerlObj::Perl_my_memcmp +#define my_memcmp Perl_my_memcmp #endif #if !defined(HAS_MEMSET) -#define Perl_my_memset CPerlObj::my_memset +#define Perl_my_memset CPerlObj::Perl_my_memset +#define my_memset Perl_my_memset #endif #if !defined(PERL_OBJECT) -#define Perl_my_pclose CPerlObj::my_pclose -#define Perl_my_popen CPerlObj::my_popen +#define Perl_my_pclose CPerlObj::Perl_my_pclose +#define my_pclose Perl_my_pclose +#define Perl_my_popen CPerlObj::Perl_my_popen +#define my_popen Perl_my_popen #endif -#define Perl_my_setenv CPerlObj::my_setenv -#define Perl_my_stat CPerlObj::my_stat +#define Perl_my_setenv CPerlObj::Perl_my_setenv +#define my_setenv Perl_my_setenv +#define Perl_my_stat CPerlObj::Perl_my_stat +#define my_stat Perl_my_stat #if defined(MYSWAP) -#define Perl_my_swap CPerlObj::my_swap -#define Perl_my_htonl CPerlObj::my_htonl -#define Perl_my_ntohl CPerlObj::my_ntohl -#endif -#define Perl_my_unexec CPerlObj::my_unexec -#define Perl_newANONLIST CPerlObj::newANONLIST -#define Perl_newANONHASH CPerlObj::newANONHASH -#define Perl_newANONSUB CPerlObj::newANONSUB -#define Perl_newASSIGNOP CPerlObj::newASSIGNOP -#define Perl_newCONDOP CPerlObj::newCONDOP -#define Perl_newCONSTSUB CPerlObj::newCONSTSUB -#define Perl_newFORM CPerlObj::newFORM -#define Perl_newFOROP CPerlObj::newFOROP -#define Perl_newLOGOP CPerlObj::newLOGOP -#define Perl_newLOOPEX CPerlObj::newLOOPEX -#define Perl_newLOOPOP CPerlObj::newLOOPOP -#define Perl_newNULLLIST CPerlObj::newNULLLIST -#define Perl_newOP CPerlObj::newOP -#define Perl_newPROG CPerlObj::newPROG -#define Perl_newRANGE CPerlObj::newRANGE -#define Perl_newSLICEOP CPerlObj::newSLICEOP -#define Perl_newSTATEOP CPerlObj::newSTATEOP -#define Perl_newSUB CPerlObj::newSUB -#define Perl_newXS CPerlObj::newXS -#define Perl_newAV CPerlObj::newAV -#define Perl_newAVREF CPerlObj::newAVREF -#define Perl_newBINOP CPerlObj::newBINOP -#define Perl_newCVREF CPerlObj::newCVREF -#define Perl_newGVOP CPerlObj::newGVOP -#define Perl_newGVgen CPerlObj::newGVgen -#define Perl_newGVREF CPerlObj::newGVREF -#define Perl_newHVREF CPerlObj::newHVREF -#define Perl_newHV CPerlObj::newHV -#define Perl_newHVhv CPerlObj::newHVhv -#define Perl_newIO CPerlObj::newIO -#define Perl_newLISTOP CPerlObj::newLISTOP -#define Perl_newPMOP CPerlObj::newPMOP -#define Perl_newPVOP CPerlObj::newPVOP -#define Perl_newRV CPerlObj::newRV -#define Perl_newRV_noinc CPerlObj::newRV_noinc -#define Perl_newSV CPerlObj::newSV -#define Perl_newSVREF CPerlObj::newSVREF -#define Perl_newSVOP CPerlObj::newSVOP -#define Perl_newSViv CPerlObj::newSViv -#define Perl_newSVnv CPerlObj::newSVnv -#define Perl_newSVpv CPerlObj::newSVpv -#define Perl_newSVpvn CPerlObj::newSVpvn -#define Perl_newSVpvf CPerlObj::newSVpvf -#define Perl_newSVrv CPerlObj::newSVrv -#define Perl_newSVsv CPerlObj::newSVsv -#define Perl_newUNOP CPerlObj::newUNOP -#define Perl_newWHILEOP CPerlObj::newWHILEOP -#if defined(USE_THREADS) -#define Perl_new_struct_thread CPerlObj::new_struct_thread -#endif -#define Perl_new_stackinfo CPerlObj::new_stackinfo -#define Perl_nextargv CPerlObj::nextargv -#define Perl_ninstr CPerlObj::ninstr -#define Perl_oopsCV CPerlObj::oopsCV -#define Perl_op_free CPerlObj::op_free -#define Perl_package CPerlObj::package -#define Perl_pad_alloc CPerlObj::pad_alloc -#define Perl_pad_allocmy CPerlObj::pad_allocmy -#define Perl_pad_findmy CPerlObj::pad_findmy -#define Perl_oopsAV CPerlObj::oopsAV -#define Perl_oopsHV CPerlObj::oopsHV -#define Perl_pad_leavemy CPerlObj::pad_leavemy -#define Perl_pad_sv CPerlObj::pad_sv -#define Perl_pad_free CPerlObj::pad_free -#define Perl_pad_reset CPerlObj::pad_reset -#define Perl_pad_swipe CPerlObj::pad_swipe -#define Perl_peep CPerlObj::peep -#define Perl_call_atexit CPerlObj::call_atexit -#define Perl_call_argv CPerlObj::call_argv -#define Perl_call_method CPerlObj::call_method -#define Perl_call_pv CPerlObj::call_pv -#define Perl_call_sv CPerlObj::call_sv -#define Perl_eval_pv CPerlObj::eval_pv -#define Perl_eval_sv CPerlObj::eval_sv -#define Perl_get_sv CPerlObj::get_sv -#define Perl_get_av CPerlObj::get_av -#define Perl_get_hv CPerlObj::get_hv -#define Perl_get_cv CPerlObj::get_cv -#define Perl_init_i18nl10n CPerlObj::init_i18nl10n -#define Perl_init_i18nl14n CPerlObj::init_i18nl14n -#define Perl_new_collate CPerlObj::new_collate -#define Perl_new_ctype CPerlObj::new_ctype -#define Perl_new_numeric CPerlObj::new_numeric -#define Perl_set_numeric_local CPerlObj::set_numeric_local -#define Perl_set_numeric_radix CPerlObj::set_numeric_radix -#define Perl_set_numeric_standard CPerlObj::set_numeric_standard -#define Perl_require_pv CPerlObj::require_pv -#define Perl_pidgone CPerlObj::pidgone -#define Perl_pmflag CPerlObj::pmflag -#define Perl_pmruntime CPerlObj::pmruntime -#define Perl_pmtrans CPerlObj::pmtrans -#define Perl_pop_return CPerlObj::pop_return -#define Perl_pop_scope CPerlObj::pop_scope -#define Perl_prepend_elem CPerlObj::prepend_elem -#define Perl_push_return CPerlObj::push_return -#define Perl_push_scope CPerlObj::push_scope -#define Perl_ref CPerlObj::ref -#define Perl_refkids CPerlObj::refkids -#define Perl_regdump CPerlObj::regdump -#define Perl_pregexec CPerlObj::pregexec -#define Perl_pregfree CPerlObj::pregfree -#define Perl_pregcomp CPerlObj::pregcomp -#define Perl_regexec_flags CPerlObj::regexec_flags -#define Perl_regnext CPerlObj::regnext -#define Perl_regprop CPerlObj::regprop -#define Perl_repeatcpy CPerlObj::repeatcpy -#define Perl_rninstr CPerlObj::rninstr -#define Perl_rsignal CPerlObj::rsignal -#define Perl_rsignal_restore CPerlObj::rsignal_restore -#define Perl_rsignal_save CPerlObj::rsignal_save -#define Perl_rsignal_state CPerlObj::rsignal_state -#define Perl_rxres_free CPerlObj::rxres_free -#define Perl_rxres_restore CPerlObj::rxres_restore -#define Perl_rxres_save CPerlObj::rxres_save -#if !defined(HAS_RENAME) -#define Perl_same_dirent CPerlObj::same_dirent -#endif -#define Perl_savepv CPerlObj::savepv -#define Perl_savepvn CPerlObj::savepvn -#define Perl_savestack_grow CPerlObj::savestack_grow -#define Perl_save_aelem CPerlObj::save_aelem -#define Perl_save_alloc CPerlObj::save_alloc -#define Perl_save_aptr CPerlObj::save_aptr -#define Perl_save_ary CPerlObj::save_ary -#define Perl_save_clearsv CPerlObj::save_clearsv -#define Perl_save_delete CPerlObj::save_delete -#define Perl_save_destructor CPerlObj::save_destructor -#define Perl_save_freesv CPerlObj::save_freesv -#define Perl_save_freeop CPerlObj::save_freeop -#define Perl_save_freepv CPerlObj::save_freepv -#define Perl_save_generic_svref CPerlObj::save_generic_svref -#define Perl_save_gp CPerlObj::save_gp -#define Perl_save_hash CPerlObj::save_hash -#define Perl_save_helem CPerlObj::save_helem -#define Perl_save_hints CPerlObj::save_hints -#define Perl_save_hptr CPerlObj::save_hptr -#define Perl_save_I16 CPerlObj::save_I16 -#define Perl_save_I32 CPerlObj::save_I32 -#define Perl_save_int CPerlObj::save_int -#define Perl_save_item CPerlObj::save_item -#define Perl_save_iv CPerlObj::save_iv -#define Perl_save_list CPerlObj::save_list -#define Perl_save_long CPerlObj::save_long -#define Perl_save_nogv CPerlObj::save_nogv -#define Perl_save_op CPerlObj::save_op -#define Perl_save_scalar CPerlObj::save_scalar -#define Perl_save_pptr CPerlObj::save_pptr -#define Perl_save_re_context CPerlObj::save_re_context -#define Perl_save_sptr CPerlObj::save_sptr -#define Perl_save_svref CPerlObj::save_svref -#define Perl_save_threadsv CPerlObj::save_threadsv -#define Perl_sawparens CPerlObj::sawparens -#define Perl_scalar CPerlObj::scalar -#define Perl_scalarkids CPerlObj::scalarkids -#define Perl_scalarseq CPerlObj::scalarseq -#define Perl_scalarvoid CPerlObj::scalarvoid -#define Perl_scan_bin CPerlObj::scan_bin -#define Perl_scan_hex CPerlObj::scan_hex -#define Perl_scan_num CPerlObj::scan_num -#define Perl_scan_oct CPerlObj::scan_oct -#define Perl_scope CPerlObj::scope -#define Perl_screaminstr CPerlObj::screaminstr -#if !defined(VMS) -#define Perl_setenv_getix CPerlObj::setenv_getix -#endif -#define Perl_setdefout CPerlObj::setdefout -#define Perl_sharepvn CPerlObj::sharepvn -#define Perl_share_hek CPerlObj::share_hek -#define Perl_sighandler CPerlObj::sighandler -#define Perl_stack_grow CPerlObj::stack_grow -#define Perl_start_subparse CPerlObj::start_subparse -#define Perl_sub_crush_depth CPerlObj::sub_crush_depth -#define Perl_sv_2bool CPerlObj::sv_2bool -#define Perl_sv_2cv CPerlObj::sv_2cv -#define Perl_sv_2io CPerlObj::sv_2io -#define Perl_sv_2iv CPerlObj::sv_2iv -#define Perl_sv_2mortal CPerlObj::sv_2mortal -#define Perl_sv_2nv CPerlObj::sv_2nv -#define Perl_sv_2pv CPerlObj::sv_2pv -#define Perl_sv_2uv CPerlObj::sv_2uv -#define Perl_sv_iv CPerlObj::sv_iv -#define Perl_sv_uv CPerlObj::sv_uv -#define Perl_sv_nv CPerlObj::sv_nv -#define Perl_sv_pvn CPerlObj::sv_pvn -#define Perl_sv_true CPerlObj::sv_true -#define Perl_sv_add_arena CPerlObj::sv_add_arena -#define Perl_sv_backoff CPerlObj::sv_backoff -#define Perl_sv_bless CPerlObj::sv_bless -#define Perl_sv_catpvf CPerlObj::sv_catpvf -#define Perl_sv_catpv CPerlObj::sv_catpv -#define Perl_sv_catpvn CPerlObj::sv_catpvn -#define Perl_sv_catsv CPerlObj::sv_catsv -#define Perl_sv_chop CPerlObj::sv_chop -#define Perl_sv_clean_all CPerlObj::sv_clean_all -#define Perl_sv_clean_objs CPerlObj::sv_clean_objs -#define Perl_sv_clear CPerlObj::sv_clear -#define Perl_sv_cmp CPerlObj::sv_cmp -#define Perl_sv_cmp_locale CPerlObj::sv_cmp_locale -#if defined(USE_LOCALE_COLLATE) -#define Perl_sv_collxfrm CPerlObj::sv_collxfrm -#endif -#define Perl_sv_compile_2op CPerlObj::sv_compile_2op -#define Perl_sv_dec CPerlObj::sv_dec -#define Perl_sv_dump CPerlObj::sv_dump -#define Perl_sv_derived_from CPerlObj::sv_derived_from -#define Perl_sv_eq CPerlObj::sv_eq -#define Perl_sv_free CPerlObj::sv_free -#define Perl_sv_free_arenas CPerlObj::sv_free_arenas -#define Perl_sv_gets CPerlObj::sv_gets -#define Perl_sv_grow CPerlObj::sv_grow -#define Perl_sv_inc CPerlObj::sv_inc -#define Perl_sv_insert CPerlObj::sv_insert -#define Perl_sv_isa CPerlObj::sv_isa -#define Perl_sv_isobject CPerlObj::sv_isobject -#define Perl_sv_len CPerlObj::sv_len -#define Perl_sv_len_utf8 CPerlObj::sv_len_utf8 -#define Perl_sv_magic CPerlObj::sv_magic -#define Perl_sv_mortalcopy CPerlObj::sv_mortalcopy -#define Perl_sv_newmortal CPerlObj::sv_newmortal -#define Perl_sv_newref CPerlObj::sv_newref -#define Perl_sv_peek CPerlObj::sv_peek -#define Perl_sv_pos_u2b CPerlObj::sv_pos_u2b -#define Perl_sv_pos_b2u CPerlObj::sv_pos_b2u -#define Perl_sv_pvn_force CPerlObj::sv_pvn_force -#define Perl_sv_reftype CPerlObj::sv_reftype -#define Perl_sv_replace CPerlObj::sv_replace -#define Perl_sv_report_used CPerlObj::sv_report_used -#define Perl_sv_reset CPerlObj::sv_reset -#define Perl_sv_setpvf CPerlObj::sv_setpvf -#define Perl_sv_setiv CPerlObj::sv_setiv -#define Perl_sv_setpviv CPerlObj::sv_setpviv -#define Perl_sv_setuv CPerlObj::sv_setuv -#define Perl_sv_setnv CPerlObj::sv_setnv -#define Perl_sv_setref_iv CPerlObj::sv_setref_iv -#define Perl_sv_setref_nv CPerlObj::sv_setref_nv -#define Perl_sv_setref_pv CPerlObj::sv_setref_pv -#define Perl_sv_setref_pvn CPerlObj::sv_setref_pvn -#define Perl_sv_setpv CPerlObj::sv_setpv -#define Perl_sv_setpvn CPerlObj::sv_setpvn -#define Perl_sv_setsv CPerlObj::sv_setsv -#define Perl_sv_taint CPerlObj::sv_taint -#define Perl_sv_tainted CPerlObj::sv_tainted -#define Perl_sv_unmagic CPerlObj::sv_unmagic -#define Perl_sv_unref CPerlObj::sv_unref -#define Perl_sv_untaint CPerlObj::sv_untaint -#define Perl_sv_upgrade CPerlObj::sv_upgrade -#define Perl_sv_usepvn CPerlObj::sv_usepvn -#define Perl_sv_vcatpvfn CPerlObj::sv_vcatpvfn -#define Perl_sv_vsetpvfn CPerlObj::sv_vsetpvfn -#define Perl_swash_init CPerlObj::swash_init -#define Perl_swash_fetch CPerlObj::swash_fetch -#define Perl_taint_env CPerlObj::taint_env -#define Perl_taint_proper CPerlObj::taint_proper -#define Perl_to_utf8_lower CPerlObj::to_utf8_lower -#define Perl_to_utf8_upper CPerlObj::to_utf8_upper -#define Perl_to_utf8_title CPerlObj::to_utf8_title -#if defined(UNLINK_ALL_VERSIONS) -#define Perl_unlnk CPerlObj::unlnk +#define Perl_my_swap CPerlObj::Perl_my_swap +#define my_swap Perl_my_swap +#define Perl_my_htonl CPerlObj::Perl_my_htonl +#define my_htonl Perl_my_htonl +#define Perl_my_ntohl CPerlObj::Perl_my_ntohl +#define my_ntohl Perl_my_ntohl #endif +#define Perl_my_unexec CPerlObj::Perl_my_unexec +#define my_unexec Perl_my_unexec +#define Perl_newANONLIST CPerlObj::Perl_newANONLIST +#define newANONLIST Perl_newANONLIST +#define Perl_newANONHASH CPerlObj::Perl_newANONHASH +#define newANONHASH Perl_newANONHASH +#define Perl_newANONSUB CPerlObj::Perl_newANONSUB +#define newANONSUB Perl_newANONSUB +#define Perl_newASSIGNOP CPerlObj::Perl_newASSIGNOP +#define newASSIGNOP Perl_newASSIGNOP +#define Perl_newCONDOP CPerlObj::Perl_newCONDOP +#define newCONDOP Perl_newCONDOP +#define Perl_newCONSTSUB CPerlObj::Perl_newCONSTSUB +#define newCONSTSUB Perl_newCONSTSUB +#define Perl_newFORM CPerlObj::Perl_newFORM +#define newFORM Perl_newFORM +#define Perl_newFOROP CPerlObj::Perl_newFOROP +#define newFOROP Perl_newFOROP +#define Perl_newLOGOP CPerlObj::Perl_newLOGOP +#define newLOGOP Perl_newLOGOP +#define Perl_newLOOPEX CPerlObj::Perl_newLOOPEX +#define newLOOPEX Perl_newLOOPEX +#define Perl_newLOOPOP CPerlObj::Perl_newLOOPOP +#define newLOOPOP Perl_newLOOPOP +#define Perl_newNULLLIST CPerlObj::Perl_newNULLLIST +#define newNULLLIST Perl_newNULLLIST +#define Perl_newOP CPerlObj::Perl_newOP +#define newOP Perl_newOP +#define Perl_newPROG CPerlObj::Perl_newPROG +#define newPROG Perl_newPROG +#define Perl_newRANGE CPerlObj::Perl_newRANGE +#define newRANGE Perl_newRANGE +#define Perl_newSLICEOP CPerlObj::Perl_newSLICEOP +#define newSLICEOP Perl_newSLICEOP +#define Perl_newSTATEOP CPerlObj::Perl_newSTATEOP +#define newSTATEOP Perl_newSTATEOP +#define Perl_newSUB CPerlObj::Perl_newSUB +#define newSUB Perl_newSUB +#define Perl_newXS CPerlObj::Perl_newXS +#define newXS Perl_newXS +#define Perl_newAV CPerlObj::Perl_newAV +#define newAV Perl_newAV +#define Perl_newAVREF CPerlObj::Perl_newAVREF +#define newAVREF Perl_newAVREF +#define Perl_newBINOP CPerlObj::Perl_newBINOP +#define newBINOP Perl_newBINOP +#define Perl_newCVREF CPerlObj::Perl_newCVREF +#define newCVREF Perl_newCVREF +#define Perl_newGVOP CPerlObj::Perl_newGVOP +#define newGVOP Perl_newGVOP +#define Perl_newGVgen CPerlObj::Perl_newGVgen +#define newGVgen Perl_newGVgen +#define Perl_newGVREF CPerlObj::Perl_newGVREF +#define newGVREF Perl_newGVREF +#define Perl_newHVREF CPerlObj::Perl_newHVREF +#define newHVREF Perl_newHVREF +#define Perl_newHV CPerlObj::Perl_newHV +#define newHV Perl_newHV +#define Perl_newHVhv CPerlObj::Perl_newHVhv +#define newHVhv Perl_newHVhv +#define Perl_newIO CPerlObj::Perl_newIO +#define newIO Perl_newIO +#define Perl_newLISTOP CPerlObj::Perl_newLISTOP +#define newLISTOP Perl_newLISTOP +#define Perl_newPMOP CPerlObj::Perl_newPMOP +#define newPMOP Perl_newPMOP +#define Perl_newPVOP CPerlObj::Perl_newPVOP +#define newPVOP Perl_newPVOP +#define Perl_newRV CPerlObj::Perl_newRV +#define newRV Perl_newRV +#define Perl_newRV_noinc CPerlObj::Perl_newRV_noinc +#define newRV_noinc Perl_newRV_noinc +#define Perl_newSV CPerlObj::Perl_newSV +#define newSV Perl_newSV +#define Perl_newSVREF CPerlObj::Perl_newSVREF +#define newSVREF Perl_newSVREF +#define Perl_newSVOP CPerlObj::Perl_newSVOP +#define newSVOP Perl_newSVOP +#define Perl_newSViv CPerlObj::Perl_newSViv +#define newSViv Perl_newSViv +#define Perl_newSVnv CPerlObj::Perl_newSVnv +#define newSVnv Perl_newSVnv +#define Perl_newSVpv CPerlObj::Perl_newSVpv +#define newSVpv Perl_newSVpv +#define Perl_newSVpvn CPerlObj::Perl_newSVpvn +#define newSVpvn Perl_newSVpvn +#define Perl_newSVpvf CPerlObj::Perl_newSVpvf +#define newSVpvf Perl_newSVpvf +#define Perl_newSVrv CPerlObj::Perl_newSVrv +#define newSVrv Perl_newSVrv +#define Perl_newSVsv CPerlObj::Perl_newSVsv +#define newSVsv Perl_newSVsv +#define Perl_newUNOP CPerlObj::Perl_newUNOP +#define newUNOP Perl_newUNOP +#define Perl_newWHILEOP CPerlObj::Perl_newWHILEOP +#define newWHILEOP Perl_newWHILEOP #if defined(USE_THREADS) -#define Perl_unlock_condpair CPerlObj::unlock_condpair -#endif -#define Perl_unsharepvn CPerlObj::unsharepvn -#define Perl_unshare_hek CPerlObj::unshare_hek -#define Perl_utilize CPerlObj::utilize -#define Perl_utf16_to_utf8 CPerlObj::utf16_to_utf8 -#define Perl_utf16_to_utf8_reversed CPerlObj::utf16_to_utf8_reversed -#define Perl_utf8_distance CPerlObj::utf8_distance -#define Perl_utf8_hop CPerlObj::utf8_hop -#define Perl_utf8_to_uv CPerlObj::utf8_to_uv -#define Perl_uv_to_utf8 CPerlObj::uv_to_utf8 -#define Perl_vivify_defelem CPerlObj::vivify_defelem -#define Perl_vivify_ref CPerlObj::vivify_ref -#define Perl_wait4pid CPerlObj::wait4pid -#define Perl_warn CPerlObj::warn -#define Perl_warner CPerlObj::warner -#define Perl_watch CPerlObj::watch -#define Perl_whichsig CPerlObj::whichsig -#define Perl_yyerror CPerlObj::yyerror -#if defined(USE_PURE_BISON) -#define Perl_yylex CPerlObj::yylex -#else -#define Perl_yylex CPerlObj::yylex -#endif -#define Perl_yyparse CPerlObj::yyparse -#define Perl_yywarn CPerlObj::yywarn -#if defined(MYMALLOC) -#define Perl_dump_mstats CPerlObj::dump_mstats -#endif -#define Perl_safesysmalloc CPerlObj::safesysmalloc -#define Perl_safesyscalloc CPerlObj::safesyscalloc -#define Perl_safesysrealloc CPerlObj::safesysrealloc -#define Perl_safesysfree CPerlObj::safesysfree -#if defined(LEAKTEST) -#define Perl_safexmalloc CPerlObj::safexmalloc -#define Perl_safexcalloc CPerlObj::safexcalloc -#define Perl_safexrealloc CPerlObj::safexrealloc -#define Perl_safexfree CPerlObj::safexfree -#endif -#if defined(PERL_GLOBAL_STRUCT) -#define Perl_GetVars CPerlObj::GetVars -#endif -#define Perl_yydestruct CPerlObj::yydestruct -#define Perl_runops_standard CPerlObj::runops_standard -#define Perl_runops_debug CPerlObj::runops_debug -#if defined(WIN32) -#define Perl_ErrorNo CPerlObj::ErrorNo -#endif -#define Perl_sv_catpvf_mg CPerlObj::sv_catpvf_mg -#define Perl_sv_catpv_mg CPerlObj::sv_catpv_mg -#define Perl_sv_catpvn_mg CPerlObj::sv_catpvn_mg -#define Perl_sv_catsv_mg CPerlObj::sv_catsv_mg -#define Perl_sv_setpvf_mg CPerlObj::sv_setpvf_mg -#define Perl_sv_setiv_mg CPerlObj::sv_setiv_mg -#define Perl_sv_setpviv_mg CPerlObj::sv_setpviv_mg -#define Perl_sv_setuv_mg CPerlObj::sv_setuv_mg -#define Perl_sv_setnv_mg CPerlObj::sv_setnv_mg -#define Perl_sv_setpv_mg CPerlObj::sv_setpv_mg -#define Perl_sv_setpvn_mg CPerlObj::sv_setpvn_mg -#define Perl_sv_setsv_mg CPerlObj::sv_setsv_mg -#define Perl_sv_usepvn_mg CPerlObj::sv_usepvn_mg -#define Perl_get_vtbl CPerlObj::get_vtbl -#define Perl_pv_display CPerlObj::pv_display -#define Perl_dump_indent CPerlObj::dump_indent -#define Perl_do_gv_dump CPerlObj::do_gv_dump -#define Perl_do_gvgv_dump CPerlObj::do_gvgv_dump -#define Perl_do_hv_dump CPerlObj::do_hv_dump -#define Perl_do_magic_dump CPerlObj::do_magic_dump -#define Perl_do_op_dump CPerlObj::do_op_dump -#define Perl_do_pmop_dump CPerlObj::do_pmop_dump -#define Perl_do_sv_dump CPerlObj::do_sv_dump -#define Perl_magic_dump CPerlObj::magic_dump -#define Perl_default_protect CPerlObj::default_protect -#define Perl_reginitcolors CPerlObj::reginitcolors -#define Perl_sv_2pv_nolen CPerlObj::sv_2pv_nolen -#define Perl_sv_pv CPerlObj::sv_pv -#define Perl_sv_force_normal CPerlObj::sv_force_normal -#define Perl_tmps_grow CPerlObj::tmps_grow -#define Perl_sv_rvweaken CPerlObj::sv_rvweaken -#define Perl_magic_killbackrefs CPerlObj::magic_killbackrefs -#if defined(PERL_IN_AV_C) -#define S_avhv_index_sv CPerlObj::avhv_index_sv -#endif -#if defined(PERL_IN_DOOP_C) -#define S_do_trans_CC_simple CPerlObj::do_trans_CC_simple -#define S_do_trans_CC_count CPerlObj::do_trans_CC_count -#define S_do_trans_CC_complex CPerlObj::do_trans_CC_complex -#define S_do_trans_UU_simple CPerlObj::do_trans_UU_simple -#define S_do_trans_UU_count CPerlObj::do_trans_UU_count -#define S_do_trans_UU_complex CPerlObj::do_trans_UU_complex -#define S_do_trans_UC_simple CPerlObj::do_trans_UC_simple -#define S_do_trans_CU_simple CPerlObj::do_trans_CU_simple -#define S_do_trans_UC_trivial CPerlObj::do_trans_UC_trivial -#define S_do_trans_CU_trivial CPerlObj::do_trans_CU_trivial -#endif -#if defined(PERL_IN_GV_C) -#define S_gv_init_sv CPerlObj::gv_init_sv -#endif -#if defined(PERL_IN_HV_C) -#define S_hsplit CPerlObj::hsplit -#define S_hfreeentries CPerlObj::hfreeentries -#define S_more_he CPerlObj::more_he -#define S_new_he CPerlObj::new_he -#define S_del_he CPerlObj::del_he -#define S_save_hek CPerlObj::save_hek -#define S_hv_magic_check CPerlObj::hv_magic_check -#endif -#if defined(PERL_IN_MG_C) -#define S_save_magic CPerlObj::save_magic -#define S_magic_methpack CPerlObj::magic_methpack -#define S_magic_methcall CPerlObj::magic_methcall -#define S_unwind_handler_stack CPerlObj::unwind_handler_stack -#define S_restore_magic CPerlObj::restore_magic -#endif -#if defined(PERL_IN_OP_C) -#define S_list_assignment CPerlObj::list_assignment -#define S_bad_type CPerlObj::bad_type -#define S_modkids CPerlObj::modkids -#define S_no_bareword_allowed CPerlObj::no_bareword_allowed -#define S_no_fh_allowed CPerlObj::no_fh_allowed -#define S_scalarboolean CPerlObj::scalarboolean -#define S_too_few_arguments CPerlObj::too_few_arguments -#define S_too_many_arguments CPerlObj::too_many_arguments -#define S_null CPerlObj::null -#define S_pad_findlex CPerlObj::pad_findlex -#define S_newDEFSVOP CPerlObj::newDEFSVOP -#define S_new_logop CPerlObj::new_logop -#define S_simplify_sort CPerlObj::simplify_sort -#define S_is_handle_constructor CPerlObj::is_handle_constructor -#define S_gv_ename CPerlObj::gv_ename -#define S_cv_clone2 CPerlObj::cv_clone2 -#define S_scalar_mod_type CPerlObj::scalar_mod_type -# if defined(PL_OP_SLAB_ALLOC) -#define S_Slab_Alloc CPerlObj::Slab_Alloc -# endif -#endif -#if defined(PERL_IN_PERL_C) -#define S_find_beginning CPerlObj::find_beginning -#define S_forbid_setid CPerlObj::forbid_setid -#define S_incpush CPerlObj::incpush -#define S_init_interp CPerlObj::init_interp -#define S_init_ids CPerlObj::init_ids -#define S_init_debugger CPerlObj::init_debugger -#define S_init_lexer CPerlObj::init_lexer -#define S_init_main_stash CPerlObj::init_main_stash -#define S_init_perllib CPerlObj::init_perllib -#define S_init_postdump_symbols CPerlObj::init_postdump_symbols -#define S_init_predump_symbols CPerlObj::init_predump_symbols -#define S_my_exit_jump CPerlObj::my_exit_jump -#define S_nuke_stacks CPerlObj::nuke_stacks -#define S_open_script CPerlObj::open_script -#define S_usage CPerlObj::usage -#define S_validate_suid CPerlObj::validate_suid -#define S_read_e_script CPerlObj::read_e_script -# if defined(IAMSUID) -#define S_fd_on_nosuid_fs CPerlObj::fd_on_nosuid_fs -# endif -#define S_parse_body CPerlObj::parse_body -#define S_run_body CPerlObj::run_body -#define S_call_body CPerlObj::call_body -#define S_call_xbody CPerlObj::call_xbody -#define S_call_list_body CPerlObj::call_list_body -# if defined(USE_THREADS) -#define S_init_main_thread CPerlObj::init_main_thread -# endif +#define Perl_new_struct_thread CPerlObj::Perl_new_struct_thread +#define new_struct_thread Perl_new_struct_thread #endif -#if defined(PERL_IN_PP_C) -#define S_doencodes CPerlObj::doencodes -#define S_refto CPerlObj::refto -#define S_seed CPerlObj::seed -#define S_mul128 CPerlObj::mul128 -#define S_is_an_int CPerlObj::is_an_int -#define S_div128 CPerlObj::div128 -#endif -#if defined(PERL_IN_PP_CTL_C) -#define S_docatch CPerlObj::docatch -#define S_docatch_body CPerlObj::docatch_body -#define S_dofindlabel CPerlObj::dofindlabel -#define S_doparseform CPerlObj::doparseform -#define S_dopoptoeval CPerlObj::dopoptoeval -#define S_dopoptolabel CPerlObj::dopoptolabel -#define S_dopoptoloop CPerlObj::dopoptoloop -#define S_dopoptosub CPerlObj::dopoptosub -#define S_dopoptosub_at CPerlObj::dopoptosub_at -#define S_free_closures CPerlObj::free_closures -#define S_save_lines CPerlObj::save_lines -#define S_doeval CPerlObj::doeval -#define S_doopen_pmc CPerlObj::doopen_pmc -#define S_qsortsv CPerlObj::qsortsv -#define S_sortcv CPerlObj::sortcv -#define S_sv_ncmp CPerlObj::sv_ncmp -#define S_sv_i_ncmp CPerlObj::sv_i_ncmp -#define S_amagic_ncmp CPerlObj::amagic_ncmp -#define S_amagic_i_ncmp CPerlObj::amagic_i_ncmp -#define S_amagic_cmp CPerlObj::amagic_cmp -#define S_amagic_cmp_locale CPerlObj::amagic_cmp_locale -#endif -#if defined(PERL_IN_PP_HOT_C) -#define S_get_db_sub CPerlObj::get_db_sub -# if defined(USE_THREADS) -#define S_unset_cvowner CPerlObj::unset_cvowner -# endif +#define Perl_new_stackinfo CPerlObj::Perl_new_stackinfo +#define new_stackinfo Perl_new_stackinfo +#define Perl_nextargv CPerlObj::Perl_nextargv +#define nextargv Perl_nextargv +#define Perl_ninstr CPerlObj::Perl_ninstr +#define ninstr Perl_ninstr +#define Perl_oopsCV CPerlObj::Perl_oopsCV +#define oopsCV Perl_oopsCV +#define Perl_op_free CPerlObj::Perl_op_free +#define op_free Perl_op_free +#define Perl_package CPerlObj::Perl_package +#define package Perl_package +#define Perl_pad_alloc CPerlObj::Perl_pad_alloc +#define pad_alloc Perl_pad_alloc +#define Perl_pad_allocmy CPerlObj::Perl_pad_allocmy +#define pad_allocmy Perl_pad_allocmy +#define Perl_pad_findmy CPerlObj::Perl_pad_findmy +#define pad_findmy Perl_pad_findmy +#define Perl_oopsAV CPerlObj::Perl_oopsAV +#define oopsAV Perl_oopsAV +#define Perl_oopsHV CPerlObj::Perl_oopsHV +#define oopsHV Perl_oopsHV +#define Perl_pad_leavemy CPerlObj::Perl_pad_leavemy +#define pad_leavemy Perl_pad_leavemy +#define Perl_pad_sv CPerlObj::Perl_pad_sv +#define pad_sv Perl_pad_sv +#define Perl_pad_free CPerlObj::Perl_pad_free +#define pad_free Perl_pad_free +#define Perl_pad_reset CPerlObj::Perl_pad_reset +#define pad_reset Perl_pad_reset +#define Perl_pad_swipe CPerlObj::Perl_pad_swipe +#define pad_swipe Perl_pad_swipe +#define Perl_peep CPerlObj::Perl_peep +#define peep Perl_peep +#if defined(PERL_OBJECT) +#define perl_construct CPerlObj::perl_construct +#define perl_destruct CPerlObj::perl_destruct +#define perl_free CPerlObj::perl_free +#define perl_run CPerlObj::perl_run +#define perl_parse CPerlObj::perl_parse +#else +#define perl_alloc CPerlObj::perl_alloc +#define perl_construct CPerlObj::perl_construct +#define perl_destruct CPerlObj::perl_destruct +#define perl_free CPerlObj::perl_free +#define perl_run CPerlObj::perl_run +#define perl_parse CPerlObj::perl_parse +#endif +#define Perl_call_atexit CPerlObj::Perl_call_atexit +#define call_atexit Perl_call_atexit +#define Perl_call_argv CPerlObj::Perl_call_argv +#define call_argv Perl_call_argv +#define Perl_call_method CPerlObj::Perl_call_method +#define call_method Perl_call_method +#define Perl_call_pv CPerlObj::Perl_call_pv +#define call_pv Perl_call_pv +#define Perl_call_sv CPerlObj::Perl_call_sv +#define call_sv Perl_call_sv +#define Perl_eval_pv CPerlObj::Perl_eval_pv +#define eval_pv Perl_eval_pv +#define Perl_eval_sv CPerlObj::Perl_eval_sv +#define eval_sv Perl_eval_sv +#define Perl_get_sv CPerlObj::Perl_get_sv +#define get_sv Perl_get_sv +#define Perl_get_av CPerlObj::Perl_get_av +#define get_av Perl_get_av +#define Perl_get_hv CPerlObj::Perl_get_hv +#define get_hv Perl_get_hv +#define Perl_get_cv CPerlObj::Perl_get_cv +#define get_cv Perl_get_cv +#define Perl_init_i18nl10n CPerlObj::Perl_init_i18nl10n +#define init_i18nl10n Perl_init_i18nl10n +#define Perl_init_i18nl14n CPerlObj::Perl_init_i18nl14n +#define init_i18nl14n Perl_init_i18nl14n +#define Perl_new_collate CPerlObj::Perl_new_collate +#define new_collate Perl_new_collate +#define Perl_new_ctype CPerlObj::Perl_new_ctype +#define new_ctype Perl_new_ctype +#define Perl_new_numeric CPerlObj::Perl_new_numeric +#define new_numeric Perl_new_numeric +#define Perl_set_numeric_local CPerlObj::Perl_set_numeric_local +#define set_numeric_local Perl_set_numeric_local +#define Perl_set_numeric_radix CPerlObj::Perl_set_numeric_radix +#define set_numeric_radix Perl_set_numeric_radix +#define Perl_set_numeric_standard CPerlObj::Perl_set_numeric_standard +#define set_numeric_standard Perl_set_numeric_standard +#define Perl_require_pv CPerlObj::Perl_require_pv +#define require_pv Perl_require_pv +#define Perl_pidgone CPerlObj::Perl_pidgone +#define pidgone Perl_pidgone +#define Perl_pmflag CPerlObj::Perl_pmflag +#define pmflag Perl_pmflag +#define Perl_pmruntime CPerlObj::Perl_pmruntime +#define pmruntime Perl_pmruntime +#define Perl_pmtrans CPerlObj::Perl_pmtrans +#define pmtrans Perl_pmtrans +#define Perl_pop_return CPerlObj::Perl_pop_return +#define pop_return Perl_pop_return +#define Perl_pop_scope CPerlObj::Perl_pop_scope +#define pop_scope Perl_pop_scope +#define Perl_prepend_elem CPerlObj::Perl_prepend_elem +#define prepend_elem Perl_prepend_elem +#define Perl_push_return CPerlObj::Perl_push_return +#define push_return Perl_push_return +#define Perl_push_scope CPerlObj::Perl_push_scope +#define push_scope Perl_push_scope +#define Perl_ref CPerlObj::Perl_ref +#define ref Perl_ref +#define Perl_refkids CPerlObj::Perl_refkids +#define refkids Perl_refkids +#define Perl_regdump CPerlObj::Perl_regdump +#define regdump Perl_regdump +#define Perl_pregexec CPerlObj::Perl_pregexec +#define pregexec Perl_pregexec +#define Perl_pregfree CPerlObj::Perl_pregfree +#define pregfree Perl_pregfree +#define Perl_pregcomp CPerlObj::Perl_pregcomp +#define pregcomp Perl_pregcomp +#define Perl_regexec_flags CPerlObj::Perl_regexec_flags +#define regexec_flags Perl_regexec_flags +#define Perl_regnext CPerlObj::Perl_regnext +#define regnext Perl_regnext +#define Perl_regprop CPerlObj::Perl_regprop +#define regprop Perl_regprop +#define Perl_repeatcpy CPerlObj::Perl_repeatcpy +#define repeatcpy Perl_repeatcpy +#define Perl_rninstr CPerlObj::Perl_rninstr +#define rninstr Perl_rninstr +#define Perl_rsignal CPerlObj::Perl_rsignal +#define rsignal Perl_rsignal +#define Perl_rsignal_restore CPerlObj::Perl_rsignal_restore +#define rsignal_restore Perl_rsignal_restore +#define Perl_rsignal_save CPerlObj::Perl_rsignal_save +#define rsignal_save Perl_rsignal_save +#define Perl_rsignal_state CPerlObj::Perl_rsignal_state +#define rsignal_state Perl_rsignal_state +#define Perl_rxres_free CPerlObj::Perl_rxres_free +#define rxres_free Perl_rxres_free +#define Perl_rxres_restore CPerlObj::Perl_rxres_restore +#define rxres_restore Perl_rxres_restore +#define Perl_rxres_save CPerlObj::Perl_rxres_save +#define rxres_save Perl_rxres_save +#if !defined(HAS_RENAME) +#define Perl_same_dirent CPerlObj::Perl_same_dirent +#define same_dirent Perl_same_dirent #endif -#if defined(PERL_IN_PP_SYS_C) -#define S_doform CPerlObj::doform -#define S_emulate_eaccess CPerlObj::emulate_eaccess -# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) -#define S_dooneliner CPerlObj::dooneliner -# endif +#define Perl_savepv CPerlObj::Perl_savepv +#define savepv Perl_savepv +#define Perl_savepvn CPerlObj::Perl_savepvn +#define savepvn Perl_savepvn +#define Perl_savestack_grow CPerlObj::Perl_savestack_grow +#define savestack_grow Perl_savestack_grow +#define Perl_save_aelem CPerlObj::Perl_save_aelem +#define save_aelem Perl_save_aelem +#define Perl_save_alloc CPerlObj::Perl_save_alloc +#define save_alloc Perl_save_alloc +#define Perl_save_aptr CPerlObj::Perl_save_aptr +#define save_aptr Perl_save_aptr +#define Perl_save_ary CPerlObj::Perl_save_ary +#define save_ary Perl_save_ary +#define Perl_save_clearsv CPerlObj::Perl_save_clearsv +#define save_clearsv Perl_save_clearsv +#define Perl_save_delete CPerlObj::Perl_save_delete +#define save_delete Perl_save_delete +#define Perl_save_destructor CPerlObj::Perl_save_destructor +#define save_destructor Perl_save_destructor +#define Perl_save_freesv CPerlObj::Perl_save_freesv +#define save_freesv Perl_save_freesv +#define Perl_save_freeop CPerlObj::Perl_save_freeop +#define save_freeop Perl_save_freeop +#define Perl_save_freepv CPerlObj::Perl_save_freepv +#define save_freepv Perl_save_freepv +#define Perl_save_generic_svref CPerlObj::Perl_save_generic_svref +#define save_generic_svref Perl_save_generic_svref +#define Perl_save_gp CPerlObj::Perl_save_gp +#define save_gp Perl_save_gp +#define Perl_save_hash CPerlObj::Perl_save_hash +#define save_hash Perl_save_hash +#define Perl_save_helem CPerlObj::Perl_save_helem +#define save_helem Perl_save_helem +#define Perl_save_hints CPerlObj::Perl_save_hints +#define save_hints Perl_save_hints +#define Perl_save_hptr CPerlObj::Perl_save_hptr +#define save_hptr Perl_save_hptr +#define Perl_save_I16 CPerlObj::Perl_save_I16 +#define save_I16 Perl_save_I16 +#define Perl_save_I32 CPerlObj::Perl_save_I32 +#define save_I32 Perl_save_I32 +#define Perl_save_int CPerlObj::Perl_save_int +#define save_int Perl_save_int +#define Perl_save_item CPerlObj::Perl_save_item +#define save_item Perl_save_item +#define Perl_save_iv CPerlObj::Perl_save_iv +#define save_iv Perl_save_iv +#define Perl_save_list CPerlObj::Perl_save_list +#define save_list Perl_save_list +#define Perl_save_long CPerlObj::Perl_save_long +#define save_long Perl_save_long +#define Perl_save_nogv CPerlObj::Perl_save_nogv +#define save_nogv Perl_save_nogv +#define Perl_save_op CPerlObj::Perl_save_op +#define save_op Perl_save_op +#define Perl_save_scalar CPerlObj::Perl_save_scalar +#define save_scalar Perl_save_scalar +#define Perl_save_pptr CPerlObj::Perl_save_pptr +#define save_pptr Perl_save_pptr +#define Perl_save_re_context CPerlObj::Perl_save_re_context +#define save_re_context Perl_save_re_context +#define Perl_save_sptr CPerlObj::Perl_save_sptr +#define save_sptr Perl_save_sptr +#define Perl_save_svref CPerlObj::Perl_save_svref +#define save_svref Perl_save_svref +#define Perl_save_threadsv CPerlObj::Perl_save_threadsv +#define save_threadsv Perl_save_threadsv +#define Perl_sawparens CPerlObj::Perl_sawparens +#define sawparens Perl_sawparens +#define Perl_scalar CPerlObj::Perl_scalar +#define scalar Perl_scalar +#define Perl_scalarkids CPerlObj::Perl_scalarkids +#define scalarkids Perl_scalarkids +#define Perl_scalarseq CPerlObj::Perl_scalarseq +#define scalarseq Perl_scalarseq +#define Perl_scalarvoid CPerlObj::Perl_scalarvoid +#define scalarvoid Perl_scalarvoid +#define Perl_scan_bin CPerlObj::Perl_scan_bin +#define scan_bin Perl_scan_bin +#define Perl_scan_hex CPerlObj::Perl_scan_hex +#define scan_hex Perl_scan_hex +#define Perl_scan_num CPerlObj::Perl_scan_num +#define scan_num Perl_scan_num +#define Perl_scan_oct CPerlObj::Perl_scan_oct +#define scan_oct Perl_scan_oct +#define Perl_scope CPerlObj::Perl_scope +#define scope Perl_scope +#define Perl_screaminstr CPerlObj::Perl_screaminstr +#define screaminstr Perl_screaminstr +#if !defined(VMS) +#define Perl_setenv_getix CPerlObj::Perl_setenv_getix +#define setenv_getix Perl_setenv_getix #endif -#if defined(PERL_IN_REGCOMP_C) -#define S_reg CPerlObj::reg -#define S_reganode CPerlObj::reganode -#define S_regatom CPerlObj::regatom -#define S_regbranch CPerlObj::regbranch -#define S_regc CPerlObj::regc -#define S_reguni CPerlObj::reguni -#define S_regclass CPerlObj::regclass -#define S_regclassutf8 CPerlObj::regclassutf8 -#define S_regcurly CPerlObj::regcurly -#define S_reg_node CPerlObj::reg_node -#define S_regpiece CPerlObj::regpiece -#define S_reginsert CPerlObj::reginsert -#define S_regoptail CPerlObj::regoptail -#define S_regtail CPerlObj::regtail -#define S_regwhite CPerlObj::regwhite -#define S_nextchar CPerlObj::nextchar -#define S_dumpuntil CPerlObj::dumpuntil -#define S_scan_commit CPerlObj::scan_commit -#define S_study_chunk CPerlObj::study_chunk -#define S_add_data CPerlObj::add_data -#define S_re_croak2 CPerlObj::re_croak2 -#define S_regpposixcc CPerlObj::regpposixcc -#define S_clear_re CPerlObj::clear_re -#endif -#if defined(PERL_IN_REGEXEC_C) -#define S_regmatch CPerlObj::regmatch -#define S_regrepeat CPerlObj::regrepeat -#define S_regrepeat_hard CPerlObj::regrepeat_hard -#define S_regtry CPerlObj::regtry -#define S_reginclass CPerlObj::reginclass -#define S_reginclassutf8 CPerlObj::reginclassutf8 -#define S_regcppush CPerlObj::regcppush -#define S_regcppop CPerlObj::regcppop -#define S_regcp_set_to CPerlObj::regcp_set_to -#define S_cache_re CPerlObj::cache_re -#define S_restore_pos CPerlObj::restore_pos -#define S_reghop CPerlObj::reghop -#define S_reghopmaybe CPerlObj::reghopmaybe -#endif -#if defined(PERL_IN_RUN_C) -#define S_debprof CPerlObj::debprof -#endif -#if defined(PERL_IN_SCOPE_C) -#define S_save_scalar_at CPerlObj::save_scalar_at -#endif -#if defined(PERL_IN_SV_C) -#define S_asIV CPerlObj::asIV -#define S_asUV CPerlObj::asUV -#define S_more_sv CPerlObj::more_sv -#define S_more_xiv CPerlObj::more_xiv -#define S_more_xnv CPerlObj::more_xnv -#define S_more_xpv CPerlObj::more_xpv -#define S_more_xrv CPerlObj::more_xrv -#define S_new_xiv CPerlObj::new_xiv -#define S_new_xnv CPerlObj::new_xnv -#define S_new_xpv CPerlObj::new_xpv -#define S_new_xrv CPerlObj::new_xrv -#define S_del_xiv CPerlObj::del_xiv -#define S_del_xnv CPerlObj::del_xnv -#define S_del_xpv CPerlObj::del_xpv -#define S_del_xrv CPerlObj::del_xrv -#define S_sv_unglob CPerlObj::sv_unglob -#define S_do_report_used CPerlObj::do_report_used -#define S_do_clean_objs CPerlObj::do_clean_objs -#define S_do_clean_named_objs CPerlObj::do_clean_named_objs -#define S_do_clean_all CPerlObj::do_clean_all -#define S_not_a_number CPerlObj::not_a_number -#define S_visit CPerlObj::visit -# if defined(PURIFY) -#define S_reg_add CPerlObj::reg_add -#define S_reg_remove CPerlObj::reg_remove -# else -#define S_my_safemalloc CPerlObj::my_safemalloc -# endif -#define S_sv_add_backref CPerlObj::sv_add_backref -#define S_sv_del_backref CPerlObj::sv_del_backref -# if defined(DEBUGGING) -#define S_del_sv CPerlObj::del_sv -# endif +#define Perl_setdefout CPerlObj::Perl_setdefout +#define setdefout Perl_setdefout +#define Perl_sharepvn CPerlObj::Perl_sharepvn +#define sharepvn Perl_sharepvn +#define Perl_share_hek CPerlObj::Perl_share_hek +#define share_hek Perl_share_hek +#define Perl_sighandler CPerlObj::Perl_sighandler +#define sighandler Perl_sighandler +#define Perl_stack_grow CPerlObj::Perl_stack_grow +#define stack_grow Perl_stack_grow +#define Perl_start_subparse CPerlObj::Perl_start_subparse +#define start_subparse Perl_start_subparse +#define Perl_sub_crush_depth CPerlObj::Perl_sub_crush_depth +#define sub_crush_depth Perl_sub_crush_depth +#define Perl_sv_2bool CPerlObj::Perl_sv_2bool +#define sv_2bool Perl_sv_2bool +#define Perl_sv_2cv CPerlObj::Perl_sv_2cv +#define sv_2cv Perl_sv_2cv +#define Perl_sv_2io CPerlObj::Perl_sv_2io +#define sv_2io Perl_sv_2io +#define Perl_sv_2iv CPerlObj::Perl_sv_2iv +#define sv_2iv Perl_sv_2iv +#define Perl_sv_2mortal CPerlObj::Perl_sv_2mortal +#define sv_2mortal Perl_sv_2mortal +#define Perl_sv_2nv CPerlObj::Perl_sv_2nv +#define sv_2nv Perl_sv_2nv +#define Perl_sv_2pv CPerlObj::Perl_sv_2pv +#define sv_2pv Perl_sv_2pv +#define Perl_sv_2uv CPerlObj::Perl_sv_2uv +#define sv_2uv Perl_sv_2uv +#define Perl_sv_iv CPerlObj::Perl_sv_iv +#define sv_iv Perl_sv_iv +#define Perl_sv_uv CPerlObj::Perl_sv_uv +#define sv_uv Perl_sv_uv +#define Perl_sv_nv CPerlObj::Perl_sv_nv +#define sv_nv Perl_sv_nv +#define Perl_sv_pvn CPerlObj::Perl_sv_pvn +#define sv_pvn Perl_sv_pvn +#define Perl_sv_true CPerlObj::Perl_sv_true +#define sv_true Perl_sv_true +#define Perl_sv_add_arena CPerlObj::Perl_sv_add_arena +#define sv_add_arena Perl_sv_add_arena +#define Perl_sv_backoff CPerlObj::Perl_sv_backoff +#define sv_backoff Perl_sv_backoff +#define Perl_sv_bless CPerlObj::Perl_sv_bless +#define sv_bless Perl_sv_bless +#define Perl_sv_catpvf CPerlObj::Perl_sv_catpvf +#define sv_catpvf Perl_sv_catpvf +#define Perl_sv_catpv CPerlObj::Perl_sv_catpv +#define sv_catpv Perl_sv_catpv +#define Perl_sv_catpvn CPerlObj::Perl_sv_catpvn +#define sv_catpvn Perl_sv_catpvn +#define Perl_sv_catsv CPerlObj::Perl_sv_catsv +#define sv_catsv Perl_sv_catsv +#define Perl_sv_chop CPerlObj::Perl_sv_chop +#define sv_chop Perl_sv_chop +#define Perl_sv_clean_all CPerlObj::Perl_sv_clean_all +#define sv_clean_all Perl_sv_clean_all +#define Perl_sv_clean_objs CPerlObj::Perl_sv_clean_objs +#define sv_clean_objs Perl_sv_clean_objs +#define Perl_sv_clear CPerlObj::Perl_sv_clear +#define sv_clear Perl_sv_clear +#define Perl_sv_cmp CPerlObj::Perl_sv_cmp +#define sv_cmp Perl_sv_cmp +#define Perl_sv_cmp_locale CPerlObj::Perl_sv_cmp_locale +#define sv_cmp_locale Perl_sv_cmp_locale +#if defined(USE_LOCALE_COLLATE) +#define Perl_sv_collxfrm CPerlObj::Perl_sv_collxfrm +#define sv_collxfrm Perl_sv_collxfrm #endif -#if defined(PERL_IN_TOKE_C) -#define S_check_uni CPerlObj::check_uni -#define S_force_next CPerlObj::force_next -#define S_force_version CPerlObj::force_version -#define S_force_word CPerlObj::force_word -#define S_tokeq CPerlObj::tokeq -#define S_scan_const CPerlObj::scan_const -#define S_scan_formline CPerlObj::scan_formline -#define S_scan_heredoc CPerlObj::scan_heredoc -#define S_scan_ident CPerlObj::scan_ident -#define S_scan_inputsymbol CPerlObj::scan_inputsymbol -#define S_scan_pat CPerlObj::scan_pat -#define S_scan_str CPerlObj::scan_str -#define S_scan_subst CPerlObj::scan_subst -#define S_scan_trans CPerlObj::scan_trans -#define S_scan_word CPerlObj::scan_word -#define S_skipspace CPerlObj::skipspace -#define S_checkcomma CPerlObj::checkcomma -#define S_force_ident CPerlObj::force_ident -#define S_incline CPerlObj::incline -#define S_intuit_method CPerlObj::intuit_method -#define S_intuit_more CPerlObj::intuit_more -#define S_lop CPerlObj::lop -#define S_missingterm CPerlObj::missingterm -#define S_no_op CPerlObj::no_op -#define S_set_csh CPerlObj::set_csh -#define S_sublex_done CPerlObj::sublex_done -#define S_sublex_push CPerlObj::sublex_push -#define S_sublex_start CPerlObj::sublex_start -#define S_filter_gets CPerlObj::filter_gets -#define S_new_constant CPerlObj::new_constant -#define S_ao CPerlObj::ao -#define S_depcom CPerlObj::depcom -#define S_incl_perldb CPerlObj::incl_perldb -#define S_utf16_textfilter CPerlObj::utf16_textfilter -#define S_utf16rev_textfilter CPerlObj::utf16rev_textfilter -#define S_restore_rsfp CPerlObj::restore_rsfp -#define S_restore_expect CPerlObj::restore_expect -#define S_restore_lex_expect CPerlObj::restore_lex_expect -# if defined(CRIPPLED_CC) -#define S_uni CPerlObj::uni -# endif -# if defined(WIN32) -#define S_win32_textfilter CPerlObj::win32_textfilter -# endif +#define Perl_sv_compile_2op CPerlObj::Perl_sv_compile_2op +#define sv_compile_2op Perl_sv_compile_2op +#define Perl_sv_dec CPerlObj::Perl_sv_dec +#define sv_dec Perl_sv_dec +#define Perl_sv_dump CPerlObj::Perl_sv_dump +#define sv_dump Perl_sv_dump +#define Perl_sv_derived_from CPerlObj::Perl_sv_derived_from +#define sv_derived_from Perl_sv_derived_from +#define Perl_sv_eq CPerlObj::Perl_sv_eq +#define sv_eq Perl_sv_eq +#define Perl_sv_free CPerlObj::Perl_sv_free +#define sv_free Perl_sv_free +#define Perl_sv_free_arenas CPerlObj::Perl_sv_free_arenas +#define sv_free_arenas Perl_sv_free_arenas +#define Perl_sv_gets CPerlObj::Perl_sv_gets +#define sv_gets Perl_sv_gets +#define Perl_sv_grow CPerlObj::Perl_sv_grow +#define sv_grow Perl_sv_grow +#define Perl_sv_inc CPerlObj::Perl_sv_inc +#define sv_inc Perl_sv_inc +#define Perl_sv_insert CPerlObj::Perl_sv_insert +#define sv_insert Perl_sv_insert +#define Perl_sv_isa CPerlObj::Perl_sv_isa +#define sv_isa Perl_sv_isa +#define Perl_sv_isobject CPerlObj::Perl_sv_isobject +#define sv_isobject Perl_sv_isobject +#define Perl_sv_len CPerlObj::Perl_sv_len +#define sv_len Perl_sv_len +#define Perl_sv_len_utf8 CPerlObj::Perl_sv_len_utf8 +#define sv_len_utf8 Perl_sv_len_utf8 +#define Perl_sv_magic CPerlObj::Perl_sv_magic +#define sv_magic Perl_sv_magic +#define Perl_sv_mortalcopy CPerlObj::Perl_sv_mortalcopy +#define sv_mortalcopy Perl_sv_mortalcopy +#define Perl_sv_newmortal CPerlObj::Perl_sv_newmortal +#define sv_newmortal Perl_sv_newmortal +#define Perl_sv_newref CPerlObj::Perl_sv_newref +#define sv_newref Perl_sv_newref +#define Perl_sv_peek CPerlObj::Perl_sv_peek +#define sv_peek Perl_sv_peek +#define Perl_sv_pos_u2b CPerlObj::Perl_sv_pos_u2b +#define sv_pos_u2b Perl_sv_pos_u2b +#define Perl_sv_pos_b2u CPerlObj::Perl_sv_pos_b2u +#define sv_pos_b2u Perl_sv_pos_b2u +#define Perl_sv_pvn_force CPerlObj::Perl_sv_pvn_force +#define sv_pvn_force Perl_sv_pvn_force +#define Perl_sv_reftype CPerlObj::Perl_sv_reftype +#define sv_reftype Perl_sv_reftype +#define Perl_sv_replace CPerlObj::Perl_sv_replace +#define sv_replace Perl_sv_replace +#define Perl_sv_report_used CPerlObj::Perl_sv_report_used +#define sv_report_used Perl_sv_report_used +#define Perl_sv_reset CPerlObj::Perl_sv_reset +#define sv_reset Perl_sv_reset +#define Perl_sv_setpvf CPerlObj::Perl_sv_setpvf +#define sv_setpvf Perl_sv_setpvf +#define Perl_sv_setiv CPerlObj::Perl_sv_setiv +#define sv_setiv Perl_sv_setiv +#define Perl_sv_setpviv CPerlObj::Perl_sv_setpviv +#define sv_setpviv Perl_sv_setpviv +#define Perl_sv_setuv CPerlObj::Perl_sv_setuv +#define sv_setuv Perl_sv_setuv +#define Perl_sv_setnv CPerlObj::Perl_sv_setnv +#define sv_setnv Perl_sv_setnv +#define Perl_sv_setref_iv CPerlObj::Perl_sv_setref_iv +#define sv_setref_iv Perl_sv_setref_iv +#define Perl_sv_setref_nv CPerlObj::Perl_sv_setref_nv +#define sv_setref_nv Perl_sv_setref_nv +#define Perl_sv_setref_pv CPerlObj::Perl_sv_setref_pv +#define sv_setref_pv Perl_sv_setref_pv +#define Perl_sv_setref_pvn CPerlObj::Perl_sv_setref_pvn +#define sv_setref_pvn Perl_sv_setref_pvn +#define Perl_sv_setpv CPerlObj::Perl_sv_setpv +#define sv_setpv Perl_sv_setpv +#define Perl_sv_setpvn CPerlObj::Perl_sv_setpvn +#define sv_setpvn Perl_sv_setpvn +#define Perl_sv_setsv CPerlObj::Perl_sv_setsv +#define sv_setsv Perl_sv_setsv +#define Perl_sv_taint CPerlObj::Perl_sv_taint +#define sv_taint Perl_sv_taint +#define Perl_sv_tainted CPerlObj::Perl_sv_tainted +#define sv_tainted Perl_sv_tainted +#define Perl_sv_unmagic CPerlObj::Perl_sv_unmagic +#define sv_unmagic Perl_sv_unmagic +#define Perl_sv_unref CPerlObj::Perl_sv_unref +#define sv_unref Perl_sv_unref +#define Perl_sv_untaint CPerlObj::Perl_sv_untaint +#define sv_untaint Perl_sv_untaint +#define Perl_sv_upgrade CPerlObj::Perl_sv_upgrade +#define sv_upgrade Perl_sv_upgrade +#define Perl_sv_usepvn CPerlObj::Perl_sv_usepvn +#define sv_usepvn Perl_sv_usepvn +#define Perl_sv_vcatpvfn CPerlObj::Perl_sv_vcatpvfn +#define sv_vcatpvfn Perl_sv_vcatpvfn +#define Perl_sv_vsetpvfn CPerlObj::Perl_sv_vsetpvfn +#define sv_vsetpvfn Perl_sv_vsetpvfn +#define Perl_swash_init CPerlObj::Perl_swash_init +#define swash_init Perl_swash_init +#define Perl_swash_fetch CPerlObj::Perl_swash_fetch +#define swash_fetch Perl_swash_fetch +#define Perl_taint_env CPerlObj::Perl_taint_env +#define taint_env Perl_taint_env +#define Perl_taint_proper CPerlObj::Perl_taint_proper +#define taint_proper Perl_taint_proper +#define Perl_to_utf8_lower CPerlObj::Perl_to_utf8_lower +#define to_utf8_lower Perl_to_utf8_lower +#define Perl_to_utf8_upper CPerlObj::Perl_to_utf8_upper +#define to_utf8_upper Perl_to_utf8_upper +#define Perl_to_utf8_title CPerlObj::Perl_to_utf8_title +#define to_utf8_title Perl_to_utf8_title +#if defined(UNLINK_ALL_VERSIONS) +#define Perl_unlnk CPerlObj::Perl_unlnk +#define unlnk Perl_unlnk #endif -#if defined(PERL_IN_UNIVERSAL_C) -#define S_isa_lookup CPerlObj::isa_lookup +#if defined(USE_THREADS) +#define Perl_unlock_condpair CPerlObj::Perl_unlock_condpair +#define unlock_condpair Perl_unlock_condpair #endif -#if defined(PERL_IN_UTIL_C) -#define S_mess_alloc CPerlObj::mess_alloc -#define S_do_croak CPerlObj::do_croak -#define S_do_warn CPerlObj::do_warn -# if defined(LEAKTEST) -#define S_xstat CPerlObj::xstat +#define Perl_unsharepvn CPerlObj::Perl_unsharepvn +#define unsharepvn Perl_unsharepvn +#define Perl_unshare_hek CPerlObj::Perl_unshare_hek +#define unshare_hek Perl_unshare_hek +#define Perl_utilize CPerlObj::Perl_utilize +#define utilize Perl_utilize +#define Perl_utf16_to_utf8 CPerlObj::Perl_utf16_to_utf8 +#define utf16_to_utf8 Perl_utf16_to_utf8 +#define Perl_utf16_to_utf8_reversed CPerlObj::Perl_utf16_to_utf8_reversed +#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed +#define Perl_utf8_distance CPerlObj::Perl_utf8_distance +#define utf8_distance Perl_utf8_distance +#define Perl_utf8_hop CPerlObj::Perl_utf8_hop +#define utf8_hop Perl_utf8_hop +#define Perl_utf8_to_uv CPerlObj::Perl_utf8_to_uv +#define utf8_to_uv Perl_utf8_to_uv +#define Perl_uv_to_utf8 CPerlObj::Perl_uv_to_utf8 +#define uv_to_utf8 Perl_uv_to_utf8 +#define Perl_vivify_defelem CPerlObj::Perl_vivify_defelem +#define vivify_defelem Perl_vivify_defelem +#define Perl_vivify_ref CPerlObj::Perl_vivify_ref +#define vivify_ref Perl_vivify_ref +#define Perl_wait4pid CPerlObj::Perl_wait4pid +#define wait4pid Perl_wait4pid +#define Perl_warn CPerlObj::Perl_warn +#define warn Perl_warn +#define Perl_warner CPerlObj::Perl_warner +#define warner Perl_warner +#define Perl_watch CPerlObj::Perl_watch +#define watch Perl_watch +#define Perl_whichsig CPerlObj::Perl_whichsig +#define whichsig Perl_whichsig +#define Perl_yyerror CPerlObj::Perl_yyerror +#define yyerror Perl_yyerror +#if defined(USE_PURE_BISON) +#define Perl_yylex CPerlObj::Perl_yylex +#define yylex Perl_yylex +#else +#define Perl_yylex CPerlObj::Perl_yylex +#define yylex Perl_yylex +#endif +#define Perl_yyparse CPerlObj::Perl_yyparse +#define yyparse Perl_yyparse +#define Perl_yywarn CPerlObj::Perl_yywarn +#define yywarn Perl_yywarn +#if defined(MYMALLOC) +#define Perl_dump_mstats CPerlObj::Perl_dump_mstats +#define dump_mstats Perl_dump_mstats +#define Perl_malloc CPerlObj::Perl_malloc +#define malloc Perl_malloc +#define Perl_calloc CPerlObj::Perl_calloc +#define calloc Perl_calloc +#define Perl_realloc CPerlObj::Perl_realloc +#define realloc Perl_realloc +#define Perl_mfree CPerlObj::Perl_mfree +#define mfree Perl_mfree +#endif +#define Perl_safesysmalloc CPerlObj::Perl_safesysmalloc +#define safesysmalloc Perl_safesysmalloc +#define Perl_safesyscalloc CPerlObj::Perl_safesyscalloc +#define safesyscalloc Perl_safesyscalloc +#define Perl_safesysrealloc CPerlObj::Perl_safesysrealloc +#define safesysrealloc Perl_safesysrealloc +#define Perl_safesysfree CPerlObj::Perl_safesysfree +#define safesysfree Perl_safesysfree +#if defined(LEAKTEST) +#define Perl_safexmalloc CPerlObj::Perl_safexmalloc +#define safexmalloc Perl_safexmalloc +#define Perl_safexcalloc CPerlObj::Perl_safexcalloc +#define safexcalloc Perl_safexcalloc +#define Perl_safexrealloc CPerlObj::Perl_safexrealloc +#define safexrealloc Perl_safexrealloc +#define Perl_safexfree CPerlObj::Perl_safexfree +#define safexfree Perl_safexfree +#endif +#if defined(PERL_GLOBAL_STRUCT) +#define Perl_GetVars CPerlObj::Perl_GetVars +#define GetVars Perl_GetVars +#endif +#define Perl_yydestruct CPerlObj::Perl_yydestruct +#define yydestruct Perl_yydestruct +#define Perl_runops_standard CPerlObj::Perl_runops_standard +#define runops_standard Perl_runops_standard +#define Perl_runops_debug CPerlObj::Perl_runops_debug +#define runops_debug Perl_runops_debug +#if defined(WIN32) +#if defined(PERL_OBJECT) +#define Perl_ErrorNo CPerlObj::Perl_ErrorNo +#define ErrorNo Perl_ErrorNo +#else +#define Perl_ErrorNo CPerlObj::Perl_ErrorNo +#define ErrorNo Perl_ErrorNo +#endif +#endif +#define Perl_sv_catpvf_mg CPerlObj::Perl_sv_catpvf_mg +#define sv_catpvf_mg Perl_sv_catpvf_mg +#define Perl_sv_catpv_mg CPerlObj::Perl_sv_catpv_mg +#define sv_catpv_mg Perl_sv_catpv_mg +#define Perl_sv_catpvn_mg CPerlObj::Perl_sv_catpvn_mg +#define sv_catpvn_mg Perl_sv_catpvn_mg +#define Perl_sv_catsv_mg CPerlObj::Perl_sv_catsv_mg +#define sv_catsv_mg Perl_sv_catsv_mg +#define Perl_sv_setpvf_mg CPerlObj::Perl_sv_setpvf_mg +#define sv_setpvf_mg Perl_sv_setpvf_mg +#define Perl_sv_setiv_mg CPerlObj::Perl_sv_setiv_mg +#define sv_setiv_mg Perl_sv_setiv_mg +#define Perl_sv_setpviv_mg CPerlObj::Perl_sv_setpviv_mg +#define sv_setpviv_mg Perl_sv_setpviv_mg +#define Perl_sv_setuv_mg CPerlObj::Perl_sv_setuv_mg +#define sv_setuv_mg Perl_sv_setuv_mg +#define Perl_sv_setnv_mg CPerlObj::Perl_sv_setnv_mg +#define sv_setnv_mg Perl_sv_setnv_mg +#define Perl_sv_setpv_mg CPerlObj::Perl_sv_setpv_mg +#define sv_setpv_mg Perl_sv_setpv_mg +#define Perl_sv_setpvn_mg CPerlObj::Perl_sv_setpvn_mg +#define sv_setpvn_mg Perl_sv_setpvn_mg +#define Perl_sv_setsv_mg CPerlObj::Perl_sv_setsv_mg +#define sv_setsv_mg Perl_sv_setsv_mg +#define Perl_sv_usepvn_mg CPerlObj::Perl_sv_usepvn_mg +#define sv_usepvn_mg Perl_sv_usepvn_mg +#define Perl_get_vtbl CPerlObj::Perl_get_vtbl +#define get_vtbl Perl_get_vtbl +#define Perl_pv_display CPerlObj::Perl_pv_display +#define pv_display Perl_pv_display +#define Perl_dump_indent CPerlObj::Perl_dump_indent +#define dump_indent Perl_dump_indent +#define Perl_do_gv_dump CPerlObj::Perl_do_gv_dump +#define do_gv_dump Perl_do_gv_dump +#define Perl_do_gvgv_dump CPerlObj::Perl_do_gvgv_dump +#define do_gvgv_dump Perl_do_gvgv_dump +#define Perl_do_hv_dump CPerlObj::Perl_do_hv_dump +#define do_hv_dump Perl_do_hv_dump +#define Perl_do_magic_dump CPerlObj::Perl_do_magic_dump +#define do_magic_dump Perl_do_magic_dump +#define Perl_do_op_dump CPerlObj::Perl_do_op_dump +#define do_op_dump Perl_do_op_dump +#define Perl_do_pmop_dump CPerlObj::Perl_do_pmop_dump +#define do_pmop_dump Perl_do_pmop_dump +#define Perl_do_sv_dump CPerlObj::Perl_do_sv_dump +#define do_sv_dump Perl_do_sv_dump +#define Perl_magic_dump CPerlObj::Perl_magic_dump +#define magic_dump Perl_magic_dump +#define Perl_default_protect CPerlObj::Perl_default_protect +#define default_protect Perl_default_protect +#define Perl_reginitcolors CPerlObj::Perl_reginitcolors +#define reginitcolors Perl_reginitcolors +#define Perl_sv_2pv_nolen CPerlObj::Perl_sv_2pv_nolen +#define sv_2pv_nolen Perl_sv_2pv_nolen +#define Perl_sv_pv CPerlObj::Perl_sv_pv +#define sv_pv Perl_sv_pv +#define Perl_sv_force_normal CPerlObj::Perl_sv_force_normal +#define sv_force_normal Perl_sv_force_normal +#define Perl_tmps_grow CPerlObj::Perl_tmps_grow +#define tmps_grow Perl_tmps_grow +#define Perl_sv_rvweaken CPerlObj::Perl_sv_rvweaken +#define sv_rvweaken Perl_sv_rvweaken +#define Perl_magic_killbackrefs CPerlObj::Perl_magic_killbackrefs +#define magic_killbackrefs Perl_magic_killbackrefs +#if defined(PERL_OBJECT) +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) +#define S_avhv_index_sv CPerlObj::S_avhv_index_sv +#define avhv_index_sv S_avhv_index_sv +#endif +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) +#define S_do_trans_CC_simple CPerlObj::S_do_trans_CC_simple +#define do_trans_CC_simple S_do_trans_CC_simple +#define S_do_trans_CC_count CPerlObj::S_do_trans_CC_count +#define do_trans_CC_count S_do_trans_CC_count +#define S_do_trans_CC_complex CPerlObj::S_do_trans_CC_complex +#define do_trans_CC_complex S_do_trans_CC_complex +#define S_do_trans_UU_simple CPerlObj::S_do_trans_UU_simple +#define do_trans_UU_simple S_do_trans_UU_simple +#define S_do_trans_UU_count CPerlObj::S_do_trans_UU_count +#define do_trans_UU_count S_do_trans_UU_count +#define S_do_trans_UU_complex CPerlObj::S_do_trans_UU_complex +#define do_trans_UU_complex S_do_trans_UU_complex +#define S_do_trans_UC_simple CPerlObj::S_do_trans_UC_simple +#define do_trans_UC_simple S_do_trans_UC_simple +#define S_do_trans_CU_simple CPerlObj::S_do_trans_CU_simple +#define do_trans_CU_simple S_do_trans_CU_simple +#define S_do_trans_UC_trivial CPerlObj::S_do_trans_UC_trivial +#define do_trans_UC_trivial S_do_trans_UC_trivial +#define S_do_trans_CU_trivial CPerlObj::S_do_trans_CU_trivial +#define do_trans_CU_trivial S_do_trans_CU_trivial +#endif +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) +#define S_gv_init_sv CPerlObj::S_gv_init_sv +#define gv_init_sv S_gv_init_sv +#endif +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) +#define S_hsplit CPerlObj::S_hsplit +#define hsplit S_hsplit +#define S_hfreeentries CPerlObj::S_hfreeentries +#define hfreeentries S_hfreeentries +#define S_more_he CPerlObj::S_more_he +#define more_he S_more_he +#define S_new_he CPerlObj::S_new_he +#define new_he S_new_he +#define S_del_he CPerlObj::S_del_he +#define del_he S_del_he +#define S_save_hek CPerlObj::S_save_hek +#define save_hek S_save_hek +#define S_hv_magic_check CPerlObj::S_hv_magic_check +#define hv_magic_check S_hv_magic_check +#endif +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) +#define S_save_magic CPerlObj::S_save_magic +#define save_magic S_save_magic +#define S_magic_methpack CPerlObj::S_magic_methpack +#define magic_methpack S_magic_methpack +#define S_magic_methcall CPerlObj::S_magic_methcall +#define magic_methcall S_magic_methcall +#define S_unwind_handler_stack CPerlObj::S_unwind_handler_stack +#define unwind_handler_stack S_unwind_handler_stack +#define S_restore_magic CPerlObj::S_restore_magic +#define restore_magic S_restore_magic +#endif +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) +#define S_list_assignment CPerlObj::S_list_assignment +#define list_assignment S_list_assignment +#define S_bad_type CPerlObj::S_bad_type +#define bad_type S_bad_type +#define S_modkids CPerlObj::S_modkids +#define modkids S_modkids +#define S_no_bareword_allowed CPerlObj::S_no_bareword_allowed +#define no_bareword_allowed S_no_bareword_allowed +#define S_no_fh_allowed CPerlObj::S_no_fh_allowed +#define no_fh_allowed S_no_fh_allowed +#define S_scalarboolean CPerlObj::S_scalarboolean +#define scalarboolean S_scalarboolean +#define S_too_few_arguments CPerlObj::S_too_few_arguments +#define too_few_arguments S_too_few_arguments +#define S_too_many_arguments CPerlObj::S_too_many_arguments +#define too_many_arguments S_too_many_arguments +#define S_null CPerlObj::S_null +#define null S_null +#define S_pad_findlex CPerlObj::S_pad_findlex +#define pad_findlex S_pad_findlex +#define S_newDEFSVOP CPerlObj::S_newDEFSVOP +#define newDEFSVOP S_newDEFSVOP +#define S_new_logop CPerlObj::S_new_logop +#define new_logop S_new_logop +#define S_simplify_sort CPerlObj::S_simplify_sort +#define simplify_sort S_simplify_sort +#define S_is_handle_constructor CPerlObj::S_is_handle_constructor +#define is_handle_constructor S_is_handle_constructor +#define S_gv_ename CPerlObj::S_gv_ename +#define gv_ename S_gv_ename +#define S_cv_clone2 CPerlObj::S_cv_clone2 +#define cv_clone2 S_cv_clone2 +#define S_scalar_mod_type CPerlObj::S_scalar_mod_type +#define scalar_mod_type S_scalar_mod_type +# if defined(PL_OP_SLAB_ALLOC) +#define S_Slab_Alloc CPerlObj::S_Slab_Alloc +#define Slab_Alloc S_Slab_Alloc # endif #endif -#define Perl_ck_anoncode CPerlObj::ck_anoncode -#define Perl_ck_bitop CPerlObj::ck_bitop -#define Perl_ck_concat CPerlObj::ck_concat -#define Perl_ck_defined CPerlObj::ck_defined -#define Perl_ck_delete CPerlObj::ck_delete -#define Perl_ck_eof CPerlObj::ck_eof -#define Perl_ck_eval CPerlObj::ck_eval -#define Perl_ck_exec CPerlObj::ck_exec -#define Perl_ck_exists CPerlObj::ck_exists -#define Perl_ck_ftst CPerlObj::ck_ftst -#define Perl_ck_fun CPerlObj::ck_fun -#define Perl_ck_fun_locale CPerlObj::ck_fun_locale -#define Perl_ck_glob CPerlObj::ck_glob -#define Perl_ck_grep CPerlObj::ck_grep -#define Perl_ck_index CPerlObj::ck_index -#define Perl_ck_lengthconst CPerlObj::ck_lengthconst -#define Perl_ck_lfun CPerlObj::ck_lfun -#define Perl_ck_listiob CPerlObj::ck_listiob -#define Perl_ck_match CPerlObj::ck_match -#define Perl_ck_null CPerlObj::ck_null -#define Perl_ck_repeat CPerlObj::ck_repeat -#define Perl_ck_require CPerlObj::ck_require -#define Perl_ck_rfun CPerlObj::ck_rfun -#define Perl_ck_rvconst CPerlObj::ck_rvconst -#define Perl_ck_scmp CPerlObj::ck_scmp -#define Perl_ck_select CPerlObj::ck_select -#define Perl_ck_shift CPerlObj::ck_shift -#define Perl_ck_sort CPerlObj::ck_sort -#define Perl_ck_spair CPerlObj::ck_spair -#define Perl_ck_split CPerlObj::ck_split -#define Perl_ck_subr CPerlObj::ck_subr -#define Perl_ck_svconst CPerlObj::ck_svconst -#define Perl_ck_trunc CPerlObj::ck_trunc -#define Perl_pp_aassign CPerlObj::pp_aassign -#define Perl_pp_abs CPerlObj::pp_abs -#define Perl_pp_accept CPerlObj::pp_accept -#define Perl_pp_add CPerlObj::pp_add -#define Perl_pp_aelem CPerlObj::pp_aelem -#define Perl_pp_aelemfast CPerlObj::pp_aelemfast -#define Perl_pp_alarm CPerlObj::pp_alarm -#define Perl_pp_and CPerlObj::pp_and -#define Perl_pp_andassign CPerlObj::pp_andassign -#define Perl_pp_anoncode CPerlObj::pp_anoncode -#define Perl_pp_anonhash CPerlObj::pp_anonhash -#define Perl_pp_anonlist CPerlObj::pp_anonlist -#define Perl_pp_aslice CPerlObj::pp_aslice -#define Perl_pp_atan2 CPerlObj::pp_atan2 -#define Perl_pp_av2arylen CPerlObj::pp_av2arylen -#define Perl_pp_backtick CPerlObj::pp_backtick -#define Perl_pp_bind CPerlObj::pp_bind -#define Perl_pp_binmode CPerlObj::pp_binmode -#define Perl_pp_bit_and CPerlObj::pp_bit_and -#define Perl_pp_bit_or CPerlObj::pp_bit_or -#define Perl_pp_bit_xor CPerlObj::pp_bit_xor -#define Perl_pp_bless CPerlObj::pp_bless -#define Perl_pp_caller CPerlObj::pp_caller -#define Perl_pp_chdir CPerlObj::pp_chdir -#define Perl_pp_chmod CPerlObj::pp_chmod -#define Perl_pp_chomp CPerlObj::pp_chomp -#define Perl_pp_chop CPerlObj::pp_chop -#define Perl_pp_chown CPerlObj::pp_chown -#define Perl_pp_chr CPerlObj::pp_chr -#define Perl_pp_chroot CPerlObj::pp_chroot -#define Perl_pp_close CPerlObj::pp_close -#define Perl_pp_closedir CPerlObj::pp_closedir -#define Perl_pp_complement CPerlObj::pp_complement -#define Perl_pp_concat CPerlObj::pp_concat -#define Perl_pp_cond_expr CPerlObj::pp_cond_expr -#define Perl_pp_connect CPerlObj::pp_connect -#define Perl_pp_const CPerlObj::pp_const -#define Perl_pp_cos CPerlObj::pp_cos -#define Perl_pp_crypt CPerlObj::pp_crypt -#define Perl_pp_dbmclose CPerlObj::pp_dbmclose -#define Perl_pp_dbmopen CPerlObj::pp_dbmopen -#define Perl_pp_dbstate CPerlObj::pp_dbstate -#define Perl_pp_defined CPerlObj::pp_defined -#define Perl_pp_delete CPerlObj::pp_delete -#define Perl_pp_die CPerlObj::pp_die -#define Perl_pp_divide CPerlObj::pp_divide -#define Perl_pp_dofile CPerlObj::pp_dofile -#define Perl_pp_dump CPerlObj::pp_dump -#define Perl_pp_each CPerlObj::pp_each -#define Perl_pp_egrent CPerlObj::pp_egrent -#define Perl_pp_ehostent CPerlObj::pp_ehostent -#define Perl_pp_enetent CPerlObj::pp_enetent -#define Perl_pp_enter CPerlObj::pp_enter -#define Perl_pp_entereval CPerlObj::pp_entereval -#define Perl_pp_enteriter CPerlObj::pp_enteriter -#define Perl_pp_enterloop CPerlObj::pp_enterloop -#define Perl_pp_entersub CPerlObj::pp_entersub -#define Perl_pp_entertry CPerlObj::pp_entertry -#define Perl_pp_enterwrite CPerlObj::pp_enterwrite -#define Perl_pp_eof CPerlObj::pp_eof -#define Perl_pp_eprotoent CPerlObj::pp_eprotoent -#define Perl_pp_epwent CPerlObj::pp_epwent -#define Perl_pp_eq CPerlObj::pp_eq -#define Perl_pp_eservent CPerlObj::pp_eservent -#define Perl_pp_exec CPerlObj::pp_exec -#define Perl_pp_exists CPerlObj::pp_exists -#define Perl_pp_exit CPerlObj::pp_exit -#define Perl_pp_exp CPerlObj::pp_exp -#define Perl_pp_fcntl CPerlObj::pp_fcntl -#define Perl_pp_fileno CPerlObj::pp_fileno -#define Perl_pp_flip CPerlObj::pp_flip -#define Perl_pp_flock CPerlObj::pp_flock -#define Perl_pp_flop CPerlObj::pp_flop -#define Perl_pp_fork CPerlObj::pp_fork -#define Perl_pp_formline CPerlObj::pp_formline -#define Perl_pp_ftatime CPerlObj::pp_ftatime -#define Perl_pp_ftbinary CPerlObj::pp_ftbinary -#define Perl_pp_ftblk CPerlObj::pp_ftblk -#define Perl_pp_ftchr CPerlObj::pp_ftchr -#define Perl_pp_ftctime CPerlObj::pp_ftctime -#define Perl_pp_ftdir CPerlObj::pp_ftdir -#define Perl_pp_fteexec CPerlObj::pp_fteexec -#define Perl_pp_fteowned CPerlObj::pp_fteowned -#define Perl_pp_fteread CPerlObj::pp_fteread -#define Perl_pp_ftewrite CPerlObj::pp_ftewrite -#define Perl_pp_ftfile CPerlObj::pp_ftfile -#define Perl_pp_ftis CPerlObj::pp_ftis -#define Perl_pp_ftlink CPerlObj::pp_ftlink -#define Perl_pp_ftmtime CPerlObj::pp_ftmtime -#define Perl_pp_ftpipe CPerlObj::pp_ftpipe -#define Perl_pp_ftrexec CPerlObj::pp_ftrexec -#define Perl_pp_ftrowned CPerlObj::pp_ftrowned -#define Perl_pp_ftrread CPerlObj::pp_ftrread -#define Perl_pp_ftrwrite CPerlObj::pp_ftrwrite -#define Perl_pp_ftsgid CPerlObj::pp_ftsgid -#define Perl_pp_ftsize CPerlObj::pp_ftsize -#define Perl_pp_ftsock CPerlObj::pp_ftsock -#define Perl_pp_ftsuid CPerlObj::pp_ftsuid -#define Perl_pp_ftsvtx CPerlObj::pp_ftsvtx -#define Perl_pp_fttext CPerlObj::pp_fttext -#define Perl_pp_fttty CPerlObj::pp_fttty -#define Perl_pp_ftzero CPerlObj::pp_ftzero -#define Perl_pp_ge CPerlObj::pp_ge -#define Perl_pp_gelem CPerlObj::pp_gelem -#define Perl_pp_getc CPerlObj::pp_getc -#define Perl_pp_getlogin CPerlObj::pp_getlogin -#define Perl_pp_getpeername CPerlObj::pp_getpeername -#define Perl_pp_getpgrp CPerlObj::pp_getpgrp -#define Perl_pp_getppid CPerlObj::pp_getppid -#define Perl_pp_getpriority CPerlObj::pp_getpriority -#define Perl_pp_getsockname CPerlObj::pp_getsockname -#define Perl_pp_ggrent CPerlObj::pp_ggrent -#define Perl_pp_ggrgid CPerlObj::pp_ggrgid -#define Perl_pp_ggrnam CPerlObj::pp_ggrnam -#define Perl_pp_ghbyaddr CPerlObj::pp_ghbyaddr -#define Perl_pp_ghbyname CPerlObj::pp_ghbyname -#define Perl_pp_ghostent CPerlObj::pp_ghostent -#define Perl_pp_glob CPerlObj::pp_glob -#define Perl_pp_gmtime CPerlObj::pp_gmtime -#define Perl_pp_gnbyaddr CPerlObj::pp_gnbyaddr -#define Perl_pp_gnbyname CPerlObj::pp_gnbyname -#define Perl_pp_gnetent CPerlObj::pp_gnetent -#define Perl_pp_goto CPerlObj::pp_goto -#define Perl_pp_gpbyname CPerlObj::pp_gpbyname -#define Perl_pp_gpbynumber CPerlObj::pp_gpbynumber -#define Perl_pp_gprotoent CPerlObj::pp_gprotoent -#define Perl_pp_gpwent CPerlObj::pp_gpwent -#define Perl_pp_gpwnam CPerlObj::pp_gpwnam -#define Perl_pp_gpwuid CPerlObj::pp_gpwuid -#define Perl_pp_grepstart CPerlObj::pp_grepstart -#define Perl_pp_grepwhile CPerlObj::pp_grepwhile -#define Perl_pp_gsbyname CPerlObj::pp_gsbyname -#define Perl_pp_gsbyport CPerlObj::pp_gsbyport -#define Perl_pp_gservent CPerlObj::pp_gservent -#define Perl_pp_gsockopt CPerlObj::pp_gsockopt -#define Perl_pp_gt CPerlObj::pp_gt -#define Perl_pp_gv CPerlObj::pp_gv -#define Perl_pp_gvsv CPerlObj::pp_gvsv -#define Perl_pp_helem CPerlObj::pp_helem -#define Perl_pp_hex CPerlObj::pp_hex -#define Perl_pp_hslice CPerlObj::pp_hslice -#define Perl_pp_i_add CPerlObj::pp_i_add -#define Perl_pp_i_divide CPerlObj::pp_i_divide -#define Perl_pp_i_eq CPerlObj::pp_i_eq -#define Perl_pp_i_ge CPerlObj::pp_i_ge -#define Perl_pp_i_gt CPerlObj::pp_i_gt -#define Perl_pp_i_le CPerlObj::pp_i_le -#define Perl_pp_i_lt CPerlObj::pp_i_lt -#define Perl_pp_i_modulo CPerlObj::pp_i_modulo -#define Perl_pp_i_multiply CPerlObj::pp_i_multiply -#define Perl_pp_i_ncmp CPerlObj::pp_i_ncmp -#define Perl_pp_i_ne CPerlObj::pp_i_ne -#define Perl_pp_i_negate CPerlObj::pp_i_negate -#define Perl_pp_i_subtract CPerlObj::pp_i_subtract -#define Perl_pp_index CPerlObj::pp_index -#define Perl_pp_int CPerlObj::pp_int -#define Perl_pp_ioctl CPerlObj::pp_ioctl -#define Perl_pp_iter CPerlObj::pp_iter -#define Perl_pp_join CPerlObj::pp_join -#define Perl_pp_keys CPerlObj::pp_keys -#define Perl_pp_kill CPerlObj::pp_kill -#define Perl_pp_last CPerlObj::pp_last -#define Perl_pp_lc CPerlObj::pp_lc -#define Perl_pp_lcfirst CPerlObj::pp_lcfirst -#define Perl_pp_le CPerlObj::pp_le -#define Perl_pp_leave CPerlObj::pp_leave -#define Perl_pp_leaveeval CPerlObj::pp_leaveeval -#define Perl_pp_leaveloop CPerlObj::pp_leaveloop -#define Perl_pp_leavesub CPerlObj::pp_leavesub -#define Perl_pp_leavetry CPerlObj::pp_leavetry -#define Perl_pp_leavewrite CPerlObj::pp_leavewrite -#define Perl_pp_left_shift CPerlObj::pp_left_shift -#define Perl_pp_length CPerlObj::pp_length -#define Perl_pp_lineseq CPerlObj::pp_lineseq -#define Perl_pp_link CPerlObj::pp_link -#define Perl_pp_list CPerlObj::pp_list -#define Perl_pp_listen CPerlObj::pp_listen -#define Perl_pp_localtime CPerlObj::pp_localtime -#define Perl_pp_lock CPerlObj::pp_lock -#define Perl_pp_log CPerlObj::pp_log -#define Perl_pp_lslice CPerlObj::pp_lslice -#define Perl_pp_lstat CPerlObj::pp_lstat -#define Perl_pp_lt CPerlObj::pp_lt -#define Perl_pp_mapstart CPerlObj::pp_mapstart -#define Perl_pp_mapwhile CPerlObj::pp_mapwhile -#define Perl_pp_match CPerlObj::pp_match -#define Perl_pp_method CPerlObj::pp_method -#define Perl_pp_mkdir CPerlObj::pp_mkdir -#define Perl_pp_modulo CPerlObj::pp_modulo -#define Perl_pp_msgctl CPerlObj::pp_msgctl -#define Perl_pp_msgget CPerlObj::pp_msgget -#define Perl_pp_msgrcv CPerlObj::pp_msgrcv -#define Perl_pp_msgsnd CPerlObj::pp_msgsnd -#define Perl_pp_multiply CPerlObj::pp_multiply -#define Perl_pp_ncmp CPerlObj::pp_ncmp -#define Perl_pp_ne CPerlObj::pp_ne -#define Perl_pp_negate CPerlObj::pp_negate -#define Perl_pp_next CPerlObj::pp_next -#define Perl_pp_nextstate CPerlObj::pp_nextstate -#define Perl_pp_not CPerlObj::pp_not -#define Perl_pp_null CPerlObj::pp_null -#define Perl_pp_oct CPerlObj::pp_oct -#define Perl_pp_open CPerlObj::pp_open -#define Perl_pp_open_dir CPerlObj::pp_open_dir -#define Perl_pp_or CPerlObj::pp_or -#define Perl_pp_orassign CPerlObj::pp_orassign -#define Perl_pp_ord CPerlObj::pp_ord -#define Perl_pp_pack CPerlObj::pp_pack -#define Perl_pp_padany CPerlObj::pp_padany -#define Perl_pp_padav CPerlObj::pp_padav -#define Perl_pp_padhv CPerlObj::pp_padhv -#define Perl_pp_padsv CPerlObj::pp_padsv -#define Perl_pp_pipe_op CPerlObj::pp_pipe_op -#define Perl_pp_pop CPerlObj::pp_pop -#define Perl_pp_pos CPerlObj::pp_pos -#define Perl_pp_postdec CPerlObj::pp_postdec -#define Perl_pp_postinc CPerlObj::pp_postinc -#define Perl_pp_pow CPerlObj::pp_pow -#define Perl_pp_predec CPerlObj::pp_predec -#define Perl_pp_preinc CPerlObj::pp_preinc -#define Perl_pp_print CPerlObj::pp_print -#define Perl_pp_prototype CPerlObj::pp_prototype -#define Perl_pp_prtf CPerlObj::pp_prtf -#define Perl_pp_push CPerlObj::pp_push -#define Perl_pp_pushmark CPerlObj::pp_pushmark -#define Perl_pp_pushre CPerlObj::pp_pushre -#define Perl_pp_qr CPerlObj::pp_qr -#define Perl_pp_quotemeta CPerlObj::pp_quotemeta -#define Perl_pp_rand CPerlObj::pp_rand -#define Perl_pp_range CPerlObj::pp_range -#define Perl_pp_rcatline CPerlObj::pp_rcatline -#define Perl_pp_read CPerlObj::pp_read -#define Perl_pp_readdir CPerlObj::pp_readdir -#define Perl_pp_readline CPerlObj::pp_readline -#define Perl_pp_readlink CPerlObj::pp_readlink -#define Perl_pp_recv CPerlObj::pp_recv -#define Perl_pp_redo CPerlObj::pp_redo -#define Perl_pp_ref CPerlObj::pp_ref -#define Perl_pp_refgen CPerlObj::pp_refgen -#define Perl_pp_regcmaybe CPerlObj::pp_regcmaybe -#define Perl_pp_regcomp CPerlObj::pp_regcomp -#define Perl_pp_regcreset CPerlObj::pp_regcreset -#define Perl_pp_rename CPerlObj::pp_rename -#define Perl_pp_repeat CPerlObj::pp_repeat -#define Perl_pp_require CPerlObj::pp_require -#define Perl_pp_reset CPerlObj::pp_reset -#define Perl_pp_return CPerlObj::pp_return -#define Perl_pp_reverse CPerlObj::pp_reverse -#define Perl_pp_rewinddir CPerlObj::pp_rewinddir -#define Perl_pp_right_shift CPerlObj::pp_right_shift -#define Perl_pp_rindex CPerlObj::pp_rindex -#define Perl_pp_rmdir CPerlObj::pp_rmdir -#define Perl_pp_rv2av CPerlObj::pp_rv2av -#define Perl_pp_rv2cv CPerlObj::pp_rv2cv -#define Perl_pp_rv2gv CPerlObj::pp_rv2gv -#define Perl_pp_rv2hv CPerlObj::pp_rv2hv -#define Perl_pp_rv2sv CPerlObj::pp_rv2sv -#define Perl_pp_sassign CPerlObj::pp_sassign -#define Perl_pp_scalar CPerlObj::pp_scalar -#define Perl_pp_schomp CPerlObj::pp_schomp -#define Perl_pp_schop CPerlObj::pp_schop -#define Perl_pp_scmp CPerlObj::pp_scmp -#define Perl_pp_scope CPerlObj::pp_scope -#define Perl_pp_seek CPerlObj::pp_seek -#define Perl_pp_seekdir CPerlObj::pp_seekdir -#define Perl_pp_select CPerlObj::pp_select -#define Perl_pp_semctl CPerlObj::pp_semctl -#define Perl_pp_semget CPerlObj::pp_semget -#define Perl_pp_semop CPerlObj::pp_semop -#define Perl_pp_send CPerlObj::pp_send -#define Perl_pp_seq CPerlObj::pp_seq -#define Perl_pp_setpgrp CPerlObj::pp_setpgrp -#define Perl_pp_setpriority CPerlObj::pp_setpriority -#define Perl_pp_sge CPerlObj::pp_sge -#define Perl_pp_sgrent CPerlObj::pp_sgrent -#define Perl_pp_sgt CPerlObj::pp_sgt -#define Perl_pp_shift CPerlObj::pp_shift -#define Perl_pp_shmctl CPerlObj::pp_shmctl -#define Perl_pp_shmget CPerlObj::pp_shmget -#define Perl_pp_shmread CPerlObj::pp_shmread -#define Perl_pp_shmwrite CPerlObj::pp_shmwrite -#define Perl_pp_shostent CPerlObj::pp_shostent -#define Perl_pp_shutdown CPerlObj::pp_shutdown -#define Perl_pp_sin CPerlObj::pp_sin -#define Perl_pp_sle CPerlObj::pp_sle -#define Perl_pp_sleep CPerlObj::pp_sleep -#define Perl_pp_slt CPerlObj::pp_slt -#define Perl_pp_sne CPerlObj::pp_sne -#define Perl_pp_snetent CPerlObj::pp_snetent -#define Perl_pp_socket CPerlObj::pp_socket -#define Perl_pp_sockpair CPerlObj::pp_sockpair -#define Perl_pp_sort CPerlObj::pp_sort -#define Perl_pp_splice CPerlObj::pp_splice -#define Perl_pp_split CPerlObj::pp_split -#define Perl_pp_sprintf CPerlObj::pp_sprintf -#define Perl_pp_sprotoent CPerlObj::pp_sprotoent -#define Perl_pp_spwent CPerlObj::pp_spwent -#define Perl_pp_sqrt CPerlObj::pp_sqrt -#define Perl_pp_srand CPerlObj::pp_srand -#define Perl_pp_srefgen CPerlObj::pp_srefgen -#define Perl_pp_sselect CPerlObj::pp_sselect -#define Perl_pp_sservent CPerlObj::pp_sservent -#define Perl_pp_ssockopt CPerlObj::pp_ssockopt -#define Perl_pp_stat CPerlObj::pp_stat -#define Perl_pp_stringify CPerlObj::pp_stringify -#define Perl_pp_stub CPerlObj::pp_stub -#define Perl_pp_study CPerlObj::pp_study -#define Perl_pp_subst CPerlObj::pp_subst -#define Perl_pp_substcont CPerlObj::pp_substcont -#define Perl_pp_substr CPerlObj::pp_substr -#define Perl_pp_subtract CPerlObj::pp_subtract -#define Perl_pp_symlink CPerlObj::pp_symlink -#define Perl_pp_syscall CPerlObj::pp_syscall -#define Perl_pp_sysopen CPerlObj::pp_sysopen -#define Perl_pp_sysread CPerlObj::pp_sysread -#define Perl_pp_sysseek CPerlObj::pp_sysseek -#define Perl_pp_system CPerlObj::pp_system -#define Perl_pp_syswrite CPerlObj::pp_syswrite -#define Perl_pp_tell CPerlObj::pp_tell -#define Perl_pp_telldir CPerlObj::pp_telldir -#define Perl_pp_threadsv CPerlObj::pp_threadsv -#define Perl_pp_tie CPerlObj::pp_tie -#define Perl_pp_tied CPerlObj::pp_tied -#define Perl_pp_time CPerlObj::pp_time -#define Perl_pp_tms CPerlObj::pp_tms -#define Perl_pp_trans CPerlObj::pp_trans -#define Perl_pp_truncate CPerlObj::pp_truncate -#define Perl_pp_uc CPerlObj::pp_uc -#define Perl_pp_ucfirst CPerlObj::pp_ucfirst -#define Perl_pp_umask CPerlObj::pp_umask -#define Perl_pp_undef CPerlObj::pp_undef -#define Perl_pp_unlink CPerlObj::pp_unlink -#define Perl_pp_unpack CPerlObj::pp_unpack -#define Perl_pp_unshift CPerlObj::pp_unshift -#define Perl_pp_unstack CPerlObj::pp_unstack -#define Perl_pp_untie CPerlObj::pp_untie -#define Perl_pp_utime CPerlObj::pp_utime -#define Perl_pp_values CPerlObj::pp_values -#define Perl_pp_vec CPerlObj::pp_vec -#define Perl_pp_wait CPerlObj::pp_wait -#define Perl_pp_waitpid CPerlObj::pp_waitpid -#define Perl_pp_wantarray CPerlObj::pp_wantarray -#define Perl_pp_warn CPerlObj::pp_warn -#define Perl_pp_xor CPerlObj::pp_xor +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) +#define S_find_beginning CPerlObj::S_find_beginning +#define find_beginning S_find_beginning +#define S_forbid_setid CPerlObj::S_forbid_setid +#define forbid_setid S_forbid_setid +#define S_incpush CPerlObj::S_incpush +#define incpush S_incpush +#define S_init_interp CPerlObj::S_init_interp +#define init_interp S_init_interp +#define S_init_ids CPerlObj::S_init_ids +#define init_ids S_init_ids +#define S_init_debugger CPerlObj::S_init_debugger +#define init_debugger S_init_debugger +#define S_init_lexer CPerlObj::S_init_lexer +#define init_lexer S_init_lexer +#define S_init_main_stash CPerlObj::S_init_main_stash +#define init_main_stash S_init_main_stash +#define S_init_perllib CPerlObj::S_init_perllib +#define init_perllib S_init_perllib +#define S_init_postdump_symbols CPerlObj::S_init_postdump_symbols +#define init_postdump_symbols S_init_postdump_symbols +#define S_init_predump_symbols CPerlObj::S_init_predump_symbols +#define init_predump_symbols S_init_predump_symbols +#define S_my_exit_jump CPerlObj::S_my_exit_jump +#define my_exit_jump S_my_exit_jump +#define S_nuke_stacks CPerlObj::S_nuke_stacks +#define nuke_stacks S_nuke_stacks +#define S_open_script CPerlObj::S_open_script +#define open_script S_open_script +#define S_usage CPerlObj::S_usage +#define usage S_usage +#define S_validate_suid CPerlObj::S_validate_suid +#define validate_suid S_validate_suid +# if defined(IAMSUID) +#define S_fd_on_nosuid_fs CPerlObj::S_fd_on_nosuid_fs +#define fd_on_nosuid_fs S_fd_on_nosuid_fs +# endif +#define S_parse_body CPerlObj::S_parse_body +#define parse_body S_parse_body +#define S_run_body CPerlObj::S_run_body +#define run_body S_run_body +#define S_call_body CPerlObj::S_call_body +#define call_body S_call_body +#define S_call_xbody CPerlObj::S_call_xbody +#define call_xbody S_call_xbody +#define S_call_list_body CPerlObj::S_call_list_body +#define call_list_body S_call_list_body +# if defined(USE_THREADS) +#define S_init_main_thread CPerlObj::S_init_main_thread +#define init_main_thread S_init_main_thread +# endif +#endif +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) +#define S_doencodes CPerlObj::S_doencodes +#define doencodes S_doencodes +#define S_refto CPerlObj::S_refto +#define refto S_refto +#define S_seed CPerlObj::S_seed +#define seed S_seed +#define S_mul128 CPerlObj::S_mul128 +#define mul128 S_mul128 +#define S_is_an_int CPerlObj::S_is_an_int +#define is_an_int S_is_an_int +#define S_div128 CPerlObj::S_div128 +#define div128 S_div128 +#endif +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) +#define S_docatch CPerlObj::S_docatch +#define docatch S_docatch +#define S_docatch_body CPerlObj::S_docatch_body +#define docatch_body S_docatch_body +#define S_dofindlabel CPerlObj::S_dofindlabel +#define dofindlabel S_dofindlabel +#define S_doparseform CPerlObj::S_doparseform +#define doparseform S_doparseform +#define S_dopoptoeval CPerlObj::S_dopoptoeval +#define dopoptoeval S_dopoptoeval +#define S_dopoptolabel CPerlObj::S_dopoptolabel +#define dopoptolabel S_dopoptolabel +#define S_dopoptoloop CPerlObj::S_dopoptoloop +#define dopoptoloop S_dopoptoloop +#define S_dopoptosub CPerlObj::S_dopoptosub +#define dopoptosub S_dopoptosub +#define S_dopoptosub_at CPerlObj::S_dopoptosub_at +#define dopoptosub_at S_dopoptosub_at +#define S_free_closures CPerlObj::S_free_closures +#define free_closures S_free_closures +#define S_save_lines CPerlObj::S_save_lines +#define save_lines S_save_lines +#define S_doeval CPerlObj::S_doeval +#define doeval S_doeval +#define S_doopen_pmc CPerlObj::S_doopen_pmc +#define doopen_pmc S_doopen_pmc +#define S_qsortsv CPerlObj::S_qsortsv +#define qsortsv S_qsortsv +#define S_sortcv CPerlObj::S_sortcv +#define sortcv S_sortcv +#define S_sv_ncmp CPerlObj::S_sv_ncmp +#define sv_ncmp S_sv_ncmp +#define S_sv_i_ncmp CPerlObj::S_sv_i_ncmp +#define sv_i_ncmp S_sv_i_ncmp +#define S_amagic_ncmp CPerlObj::S_amagic_ncmp +#define amagic_ncmp S_amagic_ncmp +#define S_amagic_i_ncmp CPerlObj::S_amagic_i_ncmp +#define amagic_i_ncmp S_amagic_i_ncmp +#define S_amagic_cmp CPerlObj::S_amagic_cmp +#define amagic_cmp S_amagic_cmp +#define S_amagic_cmp_locale CPerlObj::S_amagic_cmp_locale +#define amagic_cmp_locale S_amagic_cmp_locale +#endif +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) +#define S_get_db_sub CPerlObj::S_get_db_sub +#define get_db_sub S_get_db_sub +# if defined(USE_THREADS) +#define S_unset_cvowner CPerlObj::S_unset_cvowner +#define unset_cvowner S_unset_cvowner +# endif +#endif +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) +#define S_doform CPerlObj::S_doform +#define doform S_doform +#define S_emulate_eaccess CPerlObj::S_emulate_eaccess +#define emulate_eaccess S_emulate_eaccess +# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) +#define S_dooneliner CPerlObj::S_dooneliner +#define dooneliner S_dooneliner +# endif +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) +#define S_reg CPerlObj::S_reg +#define reg S_reg +#define S_reganode CPerlObj::S_reganode +#define reganode S_reganode +#define S_regatom CPerlObj::S_regatom +#define regatom S_regatom +#define S_regbranch CPerlObj::S_regbranch +#define regbranch S_regbranch +#define S_regc CPerlObj::S_regc +#define regc S_regc +#define S_reguni CPerlObj::S_reguni +#define reguni S_reguni +#define S_regclass CPerlObj::S_regclass +#define regclass S_regclass +#define S_regclassutf8 CPerlObj::S_regclassutf8 +#define regclassutf8 S_regclassutf8 +#define S_regcurly CPerlObj::S_regcurly +#define regcurly S_regcurly +#define S_reg_node CPerlObj::S_reg_node +#define reg_node S_reg_node +#define S_regpiece CPerlObj::S_regpiece +#define regpiece S_regpiece +#define S_reginsert CPerlObj::S_reginsert +#define reginsert S_reginsert +#define S_regoptail CPerlObj::S_regoptail +#define regoptail S_regoptail +#define S_regtail CPerlObj::S_regtail +#define regtail S_regtail +#define S_regwhite CPerlObj::S_regwhite +#define regwhite S_regwhite +#define S_nextchar CPerlObj::S_nextchar +#define nextchar S_nextchar +#define S_dumpuntil CPerlObj::S_dumpuntil +#define dumpuntil S_dumpuntil +#define S_scan_commit CPerlObj::S_scan_commit +#define scan_commit S_scan_commit +#define S_study_chunk CPerlObj::S_study_chunk +#define study_chunk S_study_chunk +#define S_add_data CPerlObj::S_add_data +#define add_data S_add_data +#define S_re_croak2 CPerlObj::S_re_croak2 +#define re_croak2 S_re_croak2 +#define S_regpposixcc CPerlObj::S_regpposixcc +#define regpposixcc S_regpposixcc +#define S_clear_re CPerlObj::S_clear_re +#define clear_re S_clear_re +#endif +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) +#define S_regmatch CPerlObj::S_regmatch +#define regmatch S_regmatch +#define S_regrepeat CPerlObj::S_regrepeat +#define regrepeat S_regrepeat +#define S_regrepeat_hard CPerlObj::S_regrepeat_hard +#define regrepeat_hard S_regrepeat_hard +#define S_regtry CPerlObj::S_regtry +#define regtry S_regtry +#define S_reginclass CPerlObj::S_reginclass +#define reginclass S_reginclass +#define S_reginclassutf8 CPerlObj::S_reginclassutf8 +#define reginclassutf8 S_reginclassutf8 +#define S_regcppush CPerlObj::S_regcppush +#define regcppush S_regcppush +#define S_regcppop CPerlObj::S_regcppop +#define regcppop S_regcppop +#define S_regcp_set_to CPerlObj::S_regcp_set_to +#define regcp_set_to S_regcp_set_to +#define S_cache_re CPerlObj::S_cache_re +#define cache_re S_cache_re +#define S_restore_pos CPerlObj::S_restore_pos +#define restore_pos S_restore_pos +#define S_reghop CPerlObj::S_reghop +#define reghop S_reghop +#define S_reghopmaybe CPerlObj::S_reghopmaybe +#define reghopmaybe S_reghopmaybe +#endif +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) +#define S_debprof CPerlObj::S_debprof +#define debprof S_debprof +#endif +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) +#define S_save_scalar_at CPerlObj::S_save_scalar_at +#define save_scalar_at S_save_scalar_at +#endif +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) +#define S_asIV CPerlObj::S_asIV +#define asIV S_asIV +#define S_asUV CPerlObj::S_asUV +#define asUV S_asUV +#define S_more_sv CPerlObj::S_more_sv +#define more_sv S_more_sv +#define S_more_xiv CPerlObj::S_more_xiv +#define more_xiv S_more_xiv +#define S_more_xnv CPerlObj::S_more_xnv +#define more_xnv S_more_xnv +#define S_more_xpv CPerlObj::S_more_xpv +#define more_xpv S_more_xpv +#define S_more_xrv CPerlObj::S_more_xrv +#define more_xrv S_more_xrv +#define S_new_xiv CPerlObj::S_new_xiv +#define new_xiv S_new_xiv +#define S_new_xnv CPerlObj::S_new_xnv +#define new_xnv S_new_xnv +#define S_new_xpv CPerlObj::S_new_xpv +#define new_xpv S_new_xpv +#define S_new_xrv CPerlObj::S_new_xrv +#define new_xrv S_new_xrv +#define S_del_xiv CPerlObj::S_del_xiv +#define del_xiv S_del_xiv +#define S_del_xnv CPerlObj::S_del_xnv +#define del_xnv S_del_xnv +#define S_del_xpv CPerlObj::S_del_xpv +#define del_xpv S_del_xpv +#define S_del_xrv CPerlObj::S_del_xrv +#define del_xrv S_del_xrv +#define S_sv_unglob CPerlObj::S_sv_unglob +#define sv_unglob S_sv_unglob +#define S_do_report_used CPerlObj::S_do_report_used +#define do_report_used S_do_report_used +#define S_do_clean_objs CPerlObj::S_do_clean_objs +#define do_clean_objs S_do_clean_objs +#define S_do_clean_named_objs CPerlObj::S_do_clean_named_objs +#define do_clean_named_objs S_do_clean_named_objs +#define S_do_clean_all CPerlObj::S_do_clean_all +#define do_clean_all S_do_clean_all +#define S_not_a_number CPerlObj::S_not_a_number +#define not_a_number S_not_a_number +#define S_visit CPerlObj::S_visit +#define visit S_visit +# if defined(PURIFY) +#define S_reg_add CPerlObj::S_reg_add +#define reg_add S_reg_add +#define S_reg_remove CPerlObj::S_reg_remove +#define reg_remove S_reg_remove +# else +#define S_my_safemalloc CPerlObj::S_my_safemalloc +#define my_safemalloc S_my_safemalloc +# endif +#define S_sv_add_backref CPerlObj::S_sv_add_backref +#define sv_add_backref S_sv_add_backref +#define S_sv_del_backref CPerlObj::S_sv_del_backref +#define sv_del_backref S_sv_del_backref +# if defined(DEBUGGING) +#define S_del_sv CPerlObj::S_del_sv +#define del_sv S_del_sv +# endif +#endif +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) +#define S_check_uni CPerlObj::S_check_uni +#define check_uni S_check_uni +#define S_force_next CPerlObj::S_force_next +#define force_next S_force_next +#define S_force_version CPerlObj::S_force_version +#define force_version S_force_version +#define S_force_word CPerlObj::S_force_word +#define force_word S_force_word +#define S_tokeq CPerlObj::S_tokeq +#define tokeq S_tokeq +#define S_scan_const CPerlObj::S_scan_const +#define scan_const S_scan_const +#define S_scan_formline CPerlObj::S_scan_formline +#define scan_formline S_scan_formline +#define S_scan_heredoc CPerlObj::S_scan_heredoc +#define scan_heredoc S_scan_heredoc +#define S_scan_ident CPerlObj::S_scan_ident +#define scan_ident S_scan_ident +#define S_scan_inputsymbol CPerlObj::S_scan_inputsymbol +#define scan_inputsymbol S_scan_inputsymbol +#define S_scan_pat CPerlObj::S_scan_pat +#define scan_pat S_scan_pat +#define S_scan_str CPerlObj::S_scan_str +#define scan_str S_scan_str +#define S_scan_subst CPerlObj::S_scan_subst +#define scan_subst S_scan_subst +#define S_scan_trans CPerlObj::S_scan_trans +#define scan_trans S_scan_trans +#define S_scan_word CPerlObj::S_scan_word +#define scan_word S_scan_word +#define S_skipspace CPerlObj::S_skipspace +#define skipspace S_skipspace +#define S_checkcomma CPerlObj::S_checkcomma +#define checkcomma S_checkcomma +#define S_force_ident CPerlObj::S_force_ident +#define force_ident S_force_ident +#define S_incline CPerlObj::S_incline +#define incline S_incline +#define S_intuit_method CPerlObj::S_intuit_method +#define intuit_method S_intuit_method +#define S_intuit_more CPerlObj::S_intuit_more +#define intuit_more S_intuit_more +#define S_lop CPerlObj::S_lop +#define lop S_lop +#define S_missingterm CPerlObj::S_missingterm +#define missingterm S_missingterm +#define S_no_op CPerlObj::S_no_op +#define no_op S_no_op +#define S_set_csh CPerlObj::S_set_csh +#define set_csh S_set_csh +#define S_sublex_done CPerlObj::S_sublex_done +#define sublex_done S_sublex_done +#define S_sublex_push CPerlObj::S_sublex_push +#define sublex_push S_sublex_push +#define S_sublex_start CPerlObj::S_sublex_start +#define sublex_start S_sublex_start +#define S_filter_gets CPerlObj::S_filter_gets +#define filter_gets S_filter_gets +#define S_new_constant CPerlObj::S_new_constant +#define new_constant S_new_constant +#define S_ao CPerlObj::S_ao +#define ao S_ao +#define S_depcom CPerlObj::S_depcom +#define depcom S_depcom +#define S_incl_perldb CPerlObj::S_incl_perldb +#define incl_perldb S_incl_perldb +#define S_utf16_textfilter CPerlObj::S_utf16_textfilter +#define utf16_textfilter S_utf16_textfilter +#define S_utf16rev_textfilter CPerlObj::S_utf16rev_textfilter +#define utf16rev_textfilter S_utf16rev_textfilter +#define S_restore_rsfp CPerlObj::S_restore_rsfp +#define restore_rsfp S_restore_rsfp +#define S_restore_expect CPerlObj::S_restore_expect +#define restore_expect S_restore_expect +#define S_restore_lex_expect CPerlObj::S_restore_lex_expect +#define restore_lex_expect S_restore_lex_expect +# if defined(CRIPPLED_CC) +#define S_uni CPerlObj::S_uni +#define uni S_uni +# endif +# if defined(WIN32) +#define S_win32_textfilter CPerlObj::S_win32_textfilter +#define win32_textfilter S_win32_textfilter +# endif +#endif +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) +#define S_isa_lookup CPerlObj::S_isa_lookup +#define isa_lookup S_isa_lookup +#endif +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) +#define S_mess_alloc CPerlObj::S_mess_alloc +#define mess_alloc S_mess_alloc +#define S_do_croak CPerlObj::S_do_croak +#define do_croak S_do_croak +#define S_do_warn CPerlObj::S_do_warn +#define do_warn S_do_warn +#define S_do_die CPerlObj::S_do_die +#define do_die S_do_die +# if defined(LEAKTEST) +#define S_xstat CPerlObj::S_xstat +#define xstat S_xstat +# endif +#endif +#define Perl_ck_anoncode CPerlObj::Perl_ck_anoncode +#define ck_anoncode Perl_ck_anoncode +#define Perl_ck_bitop CPerlObj::Perl_ck_bitop +#define ck_bitop Perl_ck_bitop +#define Perl_ck_concat CPerlObj::Perl_ck_concat +#define ck_concat Perl_ck_concat +#define Perl_ck_defined CPerlObj::Perl_ck_defined +#define ck_defined Perl_ck_defined +#define Perl_ck_delete CPerlObj::Perl_ck_delete +#define ck_delete Perl_ck_delete +#define Perl_ck_eof CPerlObj::Perl_ck_eof +#define ck_eof Perl_ck_eof +#define Perl_ck_eval CPerlObj::Perl_ck_eval +#define ck_eval Perl_ck_eval +#define Perl_ck_exec CPerlObj::Perl_ck_exec +#define ck_exec Perl_ck_exec +#define Perl_ck_exists CPerlObj::Perl_ck_exists +#define ck_exists Perl_ck_exists +#define Perl_ck_ftst CPerlObj::Perl_ck_ftst +#define ck_ftst Perl_ck_ftst +#define Perl_ck_fun CPerlObj::Perl_ck_fun +#define ck_fun Perl_ck_fun +#define Perl_ck_fun_locale CPerlObj::Perl_ck_fun_locale +#define ck_fun_locale Perl_ck_fun_locale +#define Perl_ck_glob CPerlObj::Perl_ck_glob +#define ck_glob Perl_ck_glob +#define Perl_ck_grep CPerlObj::Perl_ck_grep +#define ck_grep Perl_ck_grep +#define Perl_ck_index CPerlObj::Perl_ck_index +#define ck_index Perl_ck_index +#define Perl_ck_lengthconst CPerlObj::Perl_ck_lengthconst +#define ck_lengthconst Perl_ck_lengthconst +#define Perl_ck_lfun CPerlObj::Perl_ck_lfun +#define ck_lfun Perl_ck_lfun +#define Perl_ck_listiob CPerlObj::Perl_ck_listiob +#define ck_listiob Perl_ck_listiob +#define Perl_ck_match CPerlObj::Perl_ck_match +#define ck_match Perl_ck_match +#define Perl_ck_null CPerlObj::Perl_ck_null +#define ck_null Perl_ck_null +#define Perl_ck_repeat CPerlObj::Perl_ck_repeat +#define ck_repeat Perl_ck_repeat +#define Perl_ck_require CPerlObj::Perl_ck_require +#define ck_require Perl_ck_require +#define Perl_ck_rfun CPerlObj::Perl_ck_rfun +#define ck_rfun Perl_ck_rfun +#define Perl_ck_rvconst CPerlObj::Perl_ck_rvconst +#define ck_rvconst Perl_ck_rvconst +#define Perl_ck_scmp CPerlObj::Perl_ck_scmp +#define ck_scmp Perl_ck_scmp +#define Perl_ck_select CPerlObj::Perl_ck_select +#define ck_select Perl_ck_select +#define Perl_ck_shift CPerlObj::Perl_ck_shift +#define ck_shift Perl_ck_shift +#define Perl_ck_sort CPerlObj::Perl_ck_sort +#define ck_sort Perl_ck_sort +#define Perl_ck_spair CPerlObj::Perl_ck_spair +#define ck_spair Perl_ck_spair +#define Perl_ck_split CPerlObj::Perl_ck_split +#define ck_split Perl_ck_split +#define Perl_ck_subr CPerlObj::Perl_ck_subr +#define ck_subr Perl_ck_subr +#define Perl_ck_svconst CPerlObj::Perl_ck_svconst +#define ck_svconst Perl_ck_svconst +#define Perl_ck_trunc CPerlObj::Perl_ck_trunc +#define ck_trunc Perl_ck_trunc +#define Perl_pp_aassign CPerlObj::Perl_pp_aassign +#define pp_aassign Perl_pp_aassign +#define Perl_pp_abs CPerlObj::Perl_pp_abs +#define pp_abs Perl_pp_abs +#define Perl_pp_accept CPerlObj::Perl_pp_accept +#define pp_accept Perl_pp_accept +#define Perl_pp_add CPerlObj::Perl_pp_add +#define pp_add Perl_pp_add +#define Perl_pp_aelem CPerlObj::Perl_pp_aelem +#define pp_aelem Perl_pp_aelem +#define Perl_pp_aelemfast CPerlObj::Perl_pp_aelemfast +#define pp_aelemfast Perl_pp_aelemfast +#define Perl_pp_alarm CPerlObj::Perl_pp_alarm +#define pp_alarm Perl_pp_alarm +#define Perl_pp_and CPerlObj::Perl_pp_and +#define pp_and Perl_pp_and +#define Perl_pp_andassign CPerlObj::Perl_pp_andassign +#define pp_andassign Perl_pp_andassign +#define Perl_pp_anoncode CPerlObj::Perl_pp_anoncode +#define pp_anoncode Perl_pp_anoncode +#define Perl_pp_anonhash CPerlObj::Perl_pp_anonhash +#define pp_anonhash Perl_pp_anonhash +#define Perl_pp_anonlist CPerlObj::Perl_pp_anonlist +#define pp_anonlist Perl_pp_anonlist +#define Perl_pp_aslice CPerlObj::Perl_pp_aslice +#define pp_aslice Perl_pp_aslice +#define Perl_pp_atan2 CPerlObj::Perl_pp_atan2 +#define pp_atan2 Perl_pp_atan2 +#define Perl_pp_av2arylen CPerlObj::Perl_pp_av2arylen +#define pp_av2arylen Perl_pp_av2arylen +#define Perl_pp_backtick CPerlObj::Perl_pp_backtick +#define pp_backtick Perl_pp_backtick +#define Perl_pp_bind CPerlObj::Perl_pp_bind +#define pp_bind Perl_pp_bind +#define Perl_pp_binmode CPerlObj::Perl_pp_binmode +#define pp_binmode Perl_pp_binmode +#define Perl_pp_bit_and CPerlObj::Perl_pp_bit_and +#define pp_bit_and Perl_pp_bit_and +#define Perl_pp_bit_or CPerlObj::Perl_pp_bit_or +#define pp_bit_or Perl_pp_bit_or +#define Perl_pp_bit_xor CPerlObj::Perl_pp_bit_xor +#define pp_bit_xor Perl_pp_bit_xor +#define Perl_pp_bless CPerlObj::Perl_pp_bless +#define pp_bless Perl_pp_bless +#define Perl_pp_caller CPerlObj::Perl_pp_caller +#define pp_caller Perl_pp_caller +#define Perl_pp_chdir CPerlObj::Perl_pp_chdir +#define pp_chdir Perl_pp_chdir +#define Perl_pp_chmod CPerlObj::Perl_pp_chmod +#define pp_chmod Perl_pp_chmod +#define Perl_pp_chomp CPerlObj::Perl_pp_chomp +#define pp_chomp Perl_pp_chomp +#define Perl_pp_chop CPerlObj::Perl_pp_chop +#define pp_chop Perl_pp_chop +#define Perl_pp_chown CPerlObj::Perl_pp_chown +#define pp_chown Perl_pp_chown +#define Perl_pp_chr CPerlObj::Perl_pp_chr +#define pp_chr Perl_pp_chr +#define Perl_pp_chroot CPerlObj::Perl_pp_chroot +#define pp_chroot Perl_pp_chroot +#define Perl_pp_close CPerlObj::Perl_pp_close +#define pp_close Perl_pp_close +#define Perl_pp_closedir CPerlObj::Perl_pp_closedir +#define pp_closedir Perl_pp_closedir +#define Perl_pp_complement CPerlObj::Perl_pp_complement +#define pp_complement Perl_pp_complement +#define Perl_pp_concat CPerlObj::Perl_pp_concat +#define pp_concat Perl_pp_concat +#define Perl_pp_cond_expr CPerlObj::Perl_pp_cond_expr +#define pp_cond_expr Perl_pp_cond_expr +#define Perl_pp_connect CPerlObj::Perl_pp_connect +#define pp_connect Perl_pp_connect +#define Perl_pp_const CPerlObj::Perl_pp_const +#define pp_const Perl_pp_const +#define Perl_pp_cos CPerlObj::Perl_pp_cos +#define pp_cos Perl_pp_cos +#define Perl_pp_crypt CPerlObj::Perl_pp_crypt +#define pp_crypt Perl_pp_crypt +#define Perl_pp_dbmclose CPerlObj::Perl_pp_dbmclose +#define pp_dbmclose Perl_pp_dbmclose +#define Perl_pp_dbmopen CPerlObj::Perl_pp_dbmopen +#define pp_dbmopen Perl_pp_dbmopen +#define Perl_pp_dbstate CPerlObj::Perl_pp_dbstate +#define pp_dbstate Perl_pp_dbstate +#define Perl_pp_defined CPerlObj::Perl_pp_defined +#define pp_defined Perl_pp_defined +#define Perl_pp_delete CPerlObj::Perl_pp_delete +#define pp_delete Perl_pp_delete +#define Perl_pp_die CPerlObj::Perl_pp_die +#define pp_die Perl_pp_die +#define Perl_pp_divide CPerlObj::Perl_pp_divide +#define pp_divide Perl_pp_divide +#define Perl_pp_dofile CPerlObj::Perl_pp_dofile +#define pp_dofile Perl_pp_dofile +#define Perl_pp_dump CPerlObj::Perl_pp_dump +#define pp_dump Perl_pp_dump +#define Perl_pp_each CPerlObj::Perl_pp_each +#define pp_each Perl_pp_each +#define Perl_pp_egrent CPerlObj::Perl_pp_egrent +#define pp_egrent Perl_pp_egrent +#define Perl_pp_ehostent CPerlObj::Perl_pp_ehostent +#define pp_ehostent Perl_pp_ehostent +#define Perl_pp_enetent CPerlObj::Perl_pp_enetent +#define pp_enetent Perl_pp_enetent +#define Perl_pp_enter CPerlObj::Perl_pp_enter +#define pp_enter Perl_pp_enter +#define Perl_pp_entereval CPerlObj::Perl_pp_entereval +#define pp_entereval Perl_pp_entereval +#define Perl_pp_enteriter CPerlObj::Perl_pp_enteriter +#define pp_enteriter Perl_pp_enteriter +#define Perl_pp_enterloop CPerlObj::Perl_pp_enterloop +#define pp_enterloop Perl_pp_enterloop +#define Perl_pp_entersub CPerlObj::Perl_pp_entersub +#define pp_entersub Perl_pp_entersub +#define Perl_pp_entertry CPerlObj::Perl_pp_entertry +#define pp_entertry Perl_pp_entertry +#define Perl_pp_enterwrite CPerlObj::Perl_pp_enterwrite +#define pp_enterwrite Perl_pp_enterwrite +#define Perl_pp_eof CPerlObj::Perl_pp_eof +#define pp_eof Perl_pp_eof +#define Perl_pp_eprotoent CPerlObj::Perl_pp_eprotoent +#define pp_eprotoent Perl_pp_eprotoent +#define Perl_pp_epwent CPerlObj::Perl_pp_epwent +#define pp_epwent Perl_pp_epwent +#define Perl_pp_eq CPerlObj::Perl_pp_eq +#define pp_eq Perl_pp_eq +#define Perl_pp_eservent CPerlObj::Perl_pp_eservent +#define pp_eservent Perl_pp_eservent +#define Perl_pp_exec CPerlObj::Perl_pp_exec +#define pp_exec Perl_pp_exec +#define Perl_pp_exists CPerlObj::Perl_pp_exists +#define pp_exists Perl_pp_exists +#define Perl_pp_exit CPerlObj::Perl_pp_exit +#define pp_exit Perl_pp_exit +#define Perl_pp_exp CPerlObj::Perl_pp_exp +#define pp_exp Perl_pp_exp +#define Perl_pp_fcntl CPerlObj::Perl_pp_fcntl +#define pp_fcntl Perl_pp_fcntl +#define Perl_pp_fileno CPerlObj::Perl_pp_fileno +#define pp_fileno Perl_pp_fileno +#define Perl_pp_flip CPerlObj::Perl_pp_flip +#define pp_flip Perl_pp_flip +#define Perl_pp_flock CPerlObj::Perl_pp_flock +#define pp_flock Perl_pp_flock +#define Perl_pp_flop CPerlObj::Perl_pp_flop +#define pp_flop Perl_pp_flop +#define Perl_pp_fork CPerlObj::Perl_pp_fork +#define pp_fork Perl_pp_fork +#define Perl_pp_formline CPerlObj::Perl_pp_formline +#define pp_formline Perl_pp_formline +#define Perl_pp_ftatime CPerlObj::Perl_pp_ftatime +#define pp_ftatime Perl_pp_ftatime +#define Perl_pp_ftbinary CPerlObj::Perl_pp_ftbinary +#define pp_ftbinary Perl_pp_ftbinary +#define Perl_pp_ftblk CPerlObj::Perl_pp_ftblk +#define pp_ftblk Perl_pp_ftblk +#define Perl_pp_ftchr CPerlObj::Perl_pp_ftchr +#define pp_ftchr Perl_pp_ftchr +#define Perl_pp_ftctime CPerlObj::Perl_pp_ftctime +#define pp_ftctime Perl_pp_ftctime +#define Perl_pp_ftdir CPerlObj::Perl_pp_ftdir +#define pp_ftdir Perl_pp_ftdir +#define Perl_pp_fteexec CPerlObj::Perl_pp_fteexec +#define pp_fteexec Perl_pp_fteexec +#define Perl_pp_fteowned CPerlObj::Perl_pp_fteowned +#define pp_fteowned Perl_pp_fteowned +#define Perl_pp_fteread CPerlObj::Perl_pp_fteread +#define pp_fteread Perl_pp_fteread +#define Perl_pp_ftewrite CPerlObj::Perl_pp_ftewrite +#define pp_ftewrite Perl_pp_ftewrite +#define Perl_pp_ftfile CPerlObj::Perl_pp_ftfile +#define pp_ftfile Perl_pp_ftfile +#define Perl_pp_ftis CPerlObj::Perl_pp_ftis +#define pp_ftis Perl_pp_ftis +#define Perl_pp_ftlink CPerlObj::Perl_pp_ftlink +#define pp_ftlink Perl_pp_ftlink +#define Perl_pp_ftmtime CPerlObj::Perl_pp_ftmtime +#define pp_ftmtime Perl_pp_ftmtime +#define Perl_pp_ftpipe CPerlObj::Perl_pp_ftpipe +#define pp_ftpipe Perl_pp_ftpipe +#define Perl_pp_ftrexec CPerlObj::Perl_pp_ftrexec +#define pp_ftrexec Perl_pp_ftrexec +#define Perl_pp_ftrowned CPerlObj::Perl_pp_ftrowned +#define pp_ftrowned Perl_pp_ftrowned +#define Perl_pp_ftrread CPerlObj::Perl_pp_ftrread +#define pp_ftrread Perl_pp_ftrread +#define Perl_pp_ftrwrite CPerlObj::Perl_pp_ftrwrite +#define pp_ftrwrite Perl_pp_ftrwrite +#define Perl_pp_ftsgid CPerlObj::Perl_pp_ftsgid +#define pp_ftsgid Perl_pp_ftsgid +#define Perl_pp_ftsize CPerlObj::Perl_pp_ftsize +#define pp_ftsize Perl_pp_ftsize +#define Perl_pp_ftsock CPerlObj::Perl_pp_ftsock +#define pp_ftsock Perl_pp_ftsock +#define Perl_pp_ftsuid CPerlObj::Perl_pp_ftsuid +#define pp_ftsuid Perl_pp_ftsuid +#define Perl_pp_ftsvtx CPerlObj::Perl_pp_ftsvtx +#define pp_ftsvtx Perl_pp_ftsvtx +#define Perl_pp_fttext CPerlObj::Perl_pp_fttext +#define pp_fttext Perl_pp_fttext +#define Perl_pp_fttty CPerlObj::Perl_pp_fttty +#define pp_fttty Perl_pp_fttty +#define Perl_pp_ftzero CPerlObj::Perl_pp_ftzero +#define pp_ftzero Perl_pp_ftzero +#define Perl_pp_ge CPerlObj::Perl_pp_ge +#define pp_ge Perl_pp_ge +#define Perl_pp_gelem CPerlObj::Perl_pp_gelem +#define pp_gelem Perl_pp_gelem +#define Perl_pp_getc CPerlObj::Perl_pp_getc +#define pp_getc Perl_pp_getc +#define Perl_pp_getlogin CPerlObj::Perl_pp_getlogin +#define pp_getlogin Perl_pp_getlogin +#define Perl_pp_getpeername CPerlObj::Perl_pp_getpeername +#define pp_getpeername Perl_pp_getpeername +#define Perl_pp_getpgrp CPerlObj::Perl_pp_getpgrp +#define pp_getpgrp Perl_pp_getpgrp +#define Perl_pp_getppid CPerlObj::Perl_pp_getppid +#define pp_getppid Perl_pp_getppid +#define Perl_pp_getpriority CPerlObj::Perl_pp_getpriority +#define pp_getpriority Perl_pp_getpriority +#define Perl_pp_getsockname CPerlObj::Perl_pp_getsockname +#define pp_getsockname Perl_pp_getsockname +#define Perl_pp_ggrent CPerlObj::Perl_pp_ggrent +#define pp_ggrent Perl_pp_ggrent +#define Perl_pp_ggrgid CPerlObj::Perl_pp_ggrgid +#define pp_ggrgid Perl_pp_ggrgid +#define Perl_pp_ggrnam CPerlObj::Perl_pp_ggrnam +#define pp_ggrnam Perl_pp_ggrnam +#define Perl_pp_ghbyaddr CPerlObj::Perl_pp_ghbyaddr +#define pp_ghbyaddr Perl_pp_ghbyaddr +#define Perl_pp_ghbyname CPerlObj::Perl_pp_ghbyname +#define pp_ghbyname Perl_pp_ghbyname +#define Perl_pp_ghostent CPerlObj::Perl_pp_ghostent +#define pp_ghostent Perl_pp_ghostent +#define Perl_pp_glob CPerlObj::Perl_pp_glob +#define pp_glob Perl_pp_glob +#define Perl_pp_gmtime CPerlObj::Perl_pp_gmtime +#define pp_gmtime Perl_pp_gmtime +#define Perl_pp_gnbyaddr CPerlObj::Perl_pp_gnbyaddr +#define pp_gnbyaddr Perl_pp_gnbyaddr +#define Perl_pp_gnbyname CPerlObj::Perl_pp_gnbyname +#define pp_gnbyname Perl_pp_gnbyname +#define Perl_pp_gnetent CPerlObj::Perl_pp_gnetent +#define pp_gnetent Perl_pp_gnetent +#define Perl_pp_goto CPerlObj::Perl_pp_goto +#define pp_goto Perl_pp_goto +#define Perl_pp_gpbyname CPerlObj::Perl_pp_gpbyname +#define pp_gpbyname Perl_pp_gpbyname +#define Perl_pp_gpbynumber CPerlObj::Perl_pp_gpbynumber +#define pp_gpbynumber Perl_pp_gpbynumber +#define Perl_pp_gprotoent CPerlObj::Perl_pp_gprotoent +#define pp_gprotoent Perl_pp_gprotoent +#define Perl_pp_gpwent CPerlObj::Perl_pp_gpwent +#define pp_gpwent Perl_pp_gpwent +#define Perl_pp_gpwnam CPerlObj::Perl_pp_gpwnam +#define pp_gpwnam Perl_pp_gpwnam +#define Perl_pp_gpwuid CPerlObj::Perl_pp_gpwuid +#define pp_gpwuid Perl_pp_gpwuid +#define Perl_pp_grepstart CPerlObj::Perl_pp_grepstart +#define pp_grepstart Perl_pp_grepstart +#define Perl_pp_grepwhile CPerlObj::Perl_pp_grepwhile +#define pp_grepwhile Perl_pp_grepwhile +#define Perl_pp_gsbyname CPerlObj::Perl_pp_gsbyname +#define pp_gsbyname Perl_pp_gsbyname +#define Perl_pp_gsbyport CPerlObj::Perl_pp_gsbyport +#define pp_gsbyport Perl_pp_gsbyport +#define Perl_pp_gservent CPerlObj::Perl_pp_gservent +#define pp_gservent Perl_pp_gservent +#define Perl_pp_gsockopt CPerlObj::Perl_pp_gsockopt +#define pp_gsockopt Perl_pp_gsockopt +#define Perl_pp_gt CPerlObj::Perl_pp_gt +#define pp_gt Perl_pp_gt +#define Perl_pp_gv CPerlObj::Perl_pp_gv +#define pp_gv Perl_pp_gv +#define Perl_pp_gvsv CPerlObj::Perl_pp_gvsv +#define pp_gvsv Perl_pp_gvsv +#define Perl_pp_helem CPerlObj::Perl_pp_helem +#define pp_helem Perl_pp_helem +#define Perl_pp_hex CPerlObj::Perl_pp_hex +#define pp_hex Perl_pp_hex +#define Perl_pp_hslice CPerlObj::Perl_pp_hslice +#define pp_hslice Perl_pp_hslice +#define Perl_pp_i_add CPerlObj::Perl_pp_i_add +#define pp_i_add Perl_pp_i_add +#define Perl_pp_i_divide CPerlObj::Perl_pp_i_divide +#define pp_i_divide Perl_pp_i_divide +#define Perl_pp_i_eq CPerlObj::Perl_pp_i_eq +#define pp_i_eq Perl_pp_i_eq +#define Perl_pp_i_ge CPerlObj::Perl_pp_i_ge +#define pp_i_ge Perl_pp_i_ge +#define Perl_pp_i_gt CPerlObj::Perl_pp_i_gt +#define pp_i_gt Perl_pp_i_gt +#define Perl_pp_i_le CPerlObj::Perl_pp_i_le +#define pp_i_le Perl_pp_i_le +#define Perl_pp_i_lt CPerlObj::Perl_pp_i_lt +#define pp_i_lt Perl_pp_i_lt +#define Perl_pp_i_modulo CPerlObj::Perl_pp_i_modulo +#define pp_i_modulo Perl_pp_i_modulo +#define Perl_pp_i_multiply CPerlObj::Perl_pp_i_multiply +#define pp_i_multiply Perl_pp_i_multiply +#define Perl_pp_i_ncmp CPerlObj::Perl_pp_i_ncmp +#define pp_i_ncmp Perl_pp_i_ncmp +#define Perl_pp_i_ne CPerlObj::Perl_pp_i_ne +#define pp_i_ne Perl_pp_i_ne +#define Perl_pp_i_negate CPerlObj::Perl_pp_i_negate +#define pp_i_negate Perl_pp_i_negate +#define Perl_pp_i_subtract CPerlObj::Perl_pp_i_subtract +#define pp_i_subtract Perl_pp_i_subtract +#define Perl_pp_index CPerlObj::Perl_pp_index +#define pp_index Perl_pp_index +#define Perl_pp_int CPerlObj::Perl_pp_int +#define pp_int Perl_pp_int +#define Perl_pp_ioctl CPerlObj::Perl_pp_ioctl +#define pp_ioctl Perl_pp_ioctl +#define Perl_pp_iter CPerlObj::Perl_pp_iter +#define pp_iter Perl_pp_iter +#define Perl_pp_join CPerlObj::Perl_pp_join +#define pp_join Perl_pp_join +#define Perl_pp_keys CPerlObj::Perl_pp_keys +#define pp_keys Perl_pp_keys +#define Perl_pp_kill CPerlObj::Perl_pp_kill +#define pp_kill Perl_pp_kill +#define Perl_pp_last CPerlObj::Perl_pp_last +#define pp_last Perl_pp_last +#define Perl_pp_lc CPerlObj::Perl_pp_lc +#define pp_lc Perl_pp_lc +#define Perl_pp_lcfirst CPerlObj::Perl_pp_lcfirst +#define pp_lcfirst Perl_pp_lcfirst +#define Perl_pp_le CPerlObj::Perl_pp_le +#define pp_le Perl_pp_le +#define Perl_pp_leave CPerlObj::Perl_pp_leave +#define pp_leave Perl_pp_leave +#define Perl_pp_leaveeval CPerlObj::Perl_pp_leaveeval +#define pp_leaveeval Perl_pp_leaveeval +#define Perl_pp_leaveloop CPerlObj::Perl_pp_leaveloop +#define pp_leaveloop Perl_pp_leaveloop +#define Perl_pp_leavesub CPerlObj::Perl_pp_leavesub +#define pp_leavesub Perl_pp_leavesub +#define Perl_pp_leavetry CPerlObj::Perl_pp_leavetry +#define pp_leavetry Perl_pp_leavetry +#define Perl_pp_leavewrite CPerlObj::Perl_pp_leavewrite +#define pp_leavewrite Perl_pp_leavewrite +#define Perl_pp_left_shift CPerlObj::Perl_pp_left_shift +#define pp_left_shift Perl_pp_left_shift +#define Perl_pp_length CPerlObj::Perl_pp_length +#define pp_length Perl_pp_length +#define Perl_pp_lineseq CPerlObj::Perl_pp_lineseq +#define pp_lineseq Perl_pp_lineseq +#define Perl_pp_link CPerlObj::Perl_pp_link +#define pp_link Perl_pp_link +#define Perl_pp_list CPerlObj::Perl_pp_list +#define pp_list Perl_pp_list +#define Perl_pp_listen CPerlObj::Perl_pp_listen +#define pp_listen Perl_pp_listen +#define Perl_pp_localtime CPerlObj::Perl_pp_localtime +#define pp_localtime Perl_pp_localtime +#define Perl_pp_lock CPerlObj::Perl_pp_lock +#define pp_lock Perl_pp_lock +#define Perl_pp_log CPerlObj::Perl_pp_log +#define pp_log Perl_pp_log +#define Perl_pp_lslice CPerlObj::Perl_pp_lslice +#define pp_lslice Perl_pp_lslice +#define Perl_pp_lstat CPerlObj::Perl_pp_lstat +#define pp_lstat Perl_pp_lstat +#define Perl_pp_lt CPerlObj::Perl_pp_lt +#define pp_lt Perl_pp_lt +#define Perl_pp_mapstart CPerlObj::Perl_pp_mapstart +#define pp_mapstart Perl_pp_mapstart +#define Perl_pp_mapwhile CPerlObj::Perl_pp_mapwhile +#define pp_mapwhile Perl_pp_mapwhile +#define Perl_pp_match CPerlObj::Perl_pp_match +#define pp_match Perl_pp_match +#define Perl_pp_method CPerlObj::Perl_pp_method +#define pp_method Perl_pp_method +#define Perl_pp_mkdir CPerlObj::Perl_pp_mkdir +#define pp_mkdir Perl_pp_mkdir +#define Perl_pp_modulo CPerlObj::Perl_pp_modulo +#define pp_modulo Perl_pp_modulo +#define Perl_pp_msgctl CPerlObj::Perl_pp_msgctl +#define pp_msgctl Perl_pp_msgctl +#define Perl_pp_msgget CPerlObj::Perl_pp_msgget +#define pp_msgget Perl_pp_msgget +#define Perl_pp_msgrcv CPerlObj::Perl_pp_msgrcv +#define pp_msgrcv Perl_pp_msgrcv +#define Perl_pp_msgsnd CPerlObj::Perl_pp_msgsnd +#define pp_msgsnd Perl_pp_msgsnd +#define Perl_pp_multiply CPerlObj::Perl_pp_multiply +#define pp_multiply Perl_pp_multiply +#define Perl_pp_ncmp CPerlObj::Perl_pp_ncmp +#define pp_ncmp Perl_pp_ncmp +#define Perl_pp_ne CPerlObj::Perl_pp_ne +#define pp_ne Perl_pp_ne +#define Perl_pp_negate CPerlObj::Perl_pp_negate +#define pp_negate Perl_pp_negate +#define Perl_pp_next CPerlObj::Perl_pp_next +#define pp_next Perl_pp_next +#define Perl_pp_nextstate CPerlObj::Perl_pp_nextstate +#define pp_nextstate Perl_pp_nextstate +#define Perl_pp_not CPerlObj::Perl_pp_not +#define pp_not Perl_pp_not +#define Perl_pp_null CPerlObj::Perl_pp_null +#define pp_null Perl_pp_null +#define Perl_pp_oct CPerlObj::Perl_pp_oct +#define pp_oct Perl_pp_oct +#define Perl_pp_open CPerlObj::Perl_pp_open +#define pp_open Perl_pp_open +#define Perl_pp_open_dir CPerlObj::Perl_pp_open_dir +#define pp_open_dir Perl_pp_open_dir +#define Perl_pp_or CPerlObj::Perl_pp_or +#define pp_or Perl_pp_or +#define Perl_pp_orassign CPerlObj::Perl_pp_orassign +#define pp_orassign Perl_pp_orassign +#define Perl_pp_ord CPerlObj::Perl_pp_ord +#define pp_ord Perl_pp_ord +#define Perl_pp_pack CPerlObj::Perl_pp_pack +#define pp_pack Perl_pp_pack +#define Perl_pp_padany CPerlObj::Perl_pp_padany +#define pp_padany Perl_pp_padany +#define Perl_pp_padav CPerlObj::Perl_pp_padav +#define pp_padav Perl_pp_padav +#define Perl_pp_padhv CPerlObj::Perl_pp_padhv +#define pp_padhv Perl_pp_padhv +#define Perl_pp_padsv CPerlObj::Perl_pp_padsv +#define pp_padsv Perl_pp_padsv +#define Perl_pp_pipe_op CPerlObj::Perl_pp_pipe_op +#define pp_pipe_op Perl_pp_pipe_op +#define Perl_pp_pop CPerlObj::Perl_pp_pop +#define pp_pop Perl_pp_pop +#define Perl_pp_pos CPerlObj::Perl_pp_pos +#define pp_pos Perl_pp_pos +#define Perl_pp_postdec CPerlObj::Perl_pp_postdec +#define pp_postdec Perl_pp_postdec +#define Perl_pp_postinc CPerlObj::Perl_pp_postinc +#define pp_postinc Perl_pp_postinc +#define Perl_pp_pow CPerlObj::Perl_pp_pow +#define pp_pow Perl_pp_pow +#define Perl_pp_predec CPerlObj::Perl_pp_predec +#define pp_predec Perl_pp_predec +#define Perl_pp_preinc CPerlObj::Perl_pp_preinc +#define pp_preinc Perl_pp_preinc +#define Perl_pp_print CPerlObj::Perl_pp_print +#define pp_print Perl_pp_print +#define Perl_pp_prototype CPerlObj::Perl_pp_prototype +#define pp_prototype Perl_pp_prototype +#define Perl_pp_prtf CPerlObj::Perl_pp_prtf +#define pp_prtf Perl_pp_prtf +#define Perl_pp_push CPerlObj::Perl_pp_push +#define pp_push Perl_pp_push +#define Perl_pp_pushmark CPerlObj::Perl_pp_pushmark +#define pp_pushmark Perl_pp_pushmark +#define Perl_pp_pushre CPerlObj::Perl_pp_pushre +#define pp_pushre Perl_pp_pushre +#define Perl_pp_qr CPerlObj::Perl_pp_qr +#define pp_qr Perl_pp_qr +#define Perl_pp_quotemeta CPerlObj::Perl_pp_quotemeta +#define pp_quotemeta Perl_pp_quotemeta +#define Perl_pp_rand CPerlObj::Perl_pp_rand +#define pp_rand Perl_pp_rand +#define Perl_pp_range CPerlObj::Perl_pp_range +#define pp_range Perl_pp_range +#define Perl_pp_rcatline CPerlObj::Perl_pp_rcatline +#define pp_rcatline Perl_pp_rcatline +#define Perl_pp_read CPerlObj::Perl_pp_read +#define pp_read Perl_pp_read +#define Perl_pp_readdir CPerlObj::Perl_pp_readdir +#define pp_readdir Perl_pp_readdir +#define Perl_pp_readline CPerlObj::Perl_pp_readline +#define pp_readline Perl_pp_readline +#define Perl_pp_readlink CPerlObj::Perl_pp_readlink +#define pp_readlink Perl_pp_readlink +#define Perl_pp_recv CPerlObj::Perl_pp_recv +#define pp_recv Perl_pp_recv +#define Perl_pp_redo CPerlObj::Perl_pp_redo +#define pp_redo Perl_pp_redo +#define Perl_pp_ref CPerlObj::Perl_pp_ref +#define pp_ref Perl_pp_ref +#define Perl_pp_refgen CPerlObj::Perl_pp_refgen +#define pp_refgen Perl_pp_refgen +#define Perl_pp_regcmaybe CPerlObj::Perl_pp_regcmaybe +#define pp_regcmaybe Perl_pp_regcmaybe +#define Perl_pp_regcomp CPerlObj::Perl_pp_regcomp +#define pp_regcomp Perl_pp_regcomp +#define Perl_pp_regcreset CPerlObj::Perl_pp_regcreset +#define pp_regcreset Perl_pp_regcreset +#define Perl_pp_rename CPerlObj::Perl_pp_rename +#define pp_rename Perl_pp_rename +#define Perl_pp_repeat CPerlObj::Perl_pp_repeat +#define pp_repeat Perl_pp_repeat +#define Perl_pp_require CPerlObj::Perl_pp_require +#define pp_require Perl_pp_require +#define Perl_pp_reset CPerlObj::Perl_pp_reset +#define pp_reset Perl_pp_reset +#define Perl_pp_return CPerlObj::Perl_pp_return +#define pp_return Perl_pp_return +#define Perl_pp_reverse CPerlObj::Perl_pp_reverse +#define pp_reverse Perl_pp_reverse +#define Perl_pp_rewinddir CPerlObj::Perl_pp_rewinddir +#define pp_rewinddir Perl_pp_rewinddir +#define Perl_pp_right_shift CPerlObj::Perl_pp_right_shift +#define pp_right_shift Perl_pp_right_shift +#define Perl_pp_rindex CPerlObj::Perl_pp_rindex +#define pp_rindex Perl_pp_rindex +#define Perl_pp_rmdir CPerlObj::Perl_pp_rmdir +#define pp_rmdir Perl_pp_rmdir +#define Perl_pp_rv2av CPerlObj::Perl_pp_rv2av +#define pp_rv2av Perl_pp_rv2av +#define Perl_pp_rv2cv CPerlObj::Perl_pp_rv2cv +#define pp_rv2cv Perl_pp_rv2cv +#define Perl_pp_rv2gv CPerlObj::Perl_pp_rv2gv +#define pp_rv2gv Perl_pp_rv2gv +#define Perl_pp_rv2hv CPerlObj::Perl_pp_rv2hv +#define pp_rv2hv Perl_pp_rv2hv +#define Perl_pp_rv2sv CPerlObj::Perl_pp_rv2sv +#define pp_rv2sv Perl_pp_rv2sv +#define Perl_pp_sassign CPerlObj::Perl_pp_sassign +#define pp_sassign Perl_pp_sassign +#define Perl_pp_scalar CPerlObj::Perl_pp_scalar +#define pp_scalar Perl_pp_scalar +#define Perl_pp_schomp CPerlObj::Perl_pp_schomp +#define pp_schomp Perl_pp_schomp +#define Perl_pp_schop CPerlObj::Perl_pp_schop +#define pp_schop Perl_pp_schop +#define Perl_pp_scmp CPerlObj::Perl_pp_scmp +#define pp_scmp Perl_pp_scmp +#define Perl_pp_scope CPerlObj::Perl_pp_scope +#define pp_scope Perl_pp_scope +#define Perl_pp_seek CPerlObj::Perl_pp_seek +#define pp_seek Perl_pp_seek +#define Perl_pp_seekdir CPerlObj::Perl_pp_seekdir +#define pp_seekdir Perl_pp_seekdir +#define Perl_pp_select CPerlObj::Perl_pp_select +#define pp_select Perl_pp_select +#define Perl_pp_semctl CPerlObj::Perl_pp_semctl +#define pp_semctl Perl_pp_semctl +#define Perl_pp_semget CPerlObj::Perl_pp_semget +#define pp_semget Perl_pp_semget +#define Perl_pp_semop CPerlObj::Perl_pp_semop +#define pp_semop Perl_pp_semop +#define Perl_pp_send CPerlObj::Perl_pp_send +#define pp_send Perl_pp_send +#define Perl_pp_seq CPerlObj::Perl_pp_seq +#define pp_seq Perl_pp_seq +#define Perl_pp_setpgrp CPerlObj::Perl_pp_setpgrp +#define pp_setpgrp Perl_pp_setpgrp +#define Perl_pp_setpriority CPerlObj::Perl_pp_setpriority +#define pp_setpriority Perl_pp_setpriority +#define Perl_pp_sge CPerlObj::Perl_pp_sge +#define pp_sge Perl_pp_sge +#define Perl_pp_sgrent CPerlObj::Perl_pp_sgrent +#define pp_sgrent Perl_pp_sgrent +#define Perl_pp_sgt CPerlObj::Perl_pp_sgt +#define pp_sgt Perl_pp_sgt +#define Perl_pp_shift CPerlObj::Perl_pp_shift +#define pp_shift Perl_pp_shift +#define Perl_pp_shmctl CPerlObj::Perl_pp_shmctl +#define pp_shmctl Perl_pp_shmctl +#define Perl_pp_shmget CPerlObj::Perl_pp_shmget +#define pp_shmget Perl_pp_shmget +#define Perl_pp_shmread CPerlObj::Perl_pp_shmread +#define pp_shmread Perl_pp_shmread +#define Perl_pp_shmwrite CPerlObj::Perl_pp_shmwrite +#define pp_shmwrite Perl_pp_shmwrite +#define Perl_pp_shostent CPerlObj::Perl_pp_shostent +#define pp_shostent Perl_pp_shostent +#define Perl_pp_shutdown CPerlObj::Perl_pp_shutdown +#define pp_shutdown Perl_pp_shutdown +#define Perl_pp_sin CPerlObj::Perl_pp_sin +#define pp_sin Perl_pp_sin +#define Perl_pp_sle CPerlObj::Perl_pp_sle +#define pp_sle Perl_pp_sle +#define Perl_pp_sleep CPerlObj::Perl_pp_sleep +#define pp_sleep Perl_pp_sleep +#define Perl_pp_slt CPerlObj::Perl_pp_slt +#define pp_slt Perl_pp_slt +#define Perl_pp_sne CPerlObj::Perl_pp_sne +#define pp_sne Perl_pp_sne +#define Perl_pp_snetent CPerlObj::Perl_pp_snetent +#define pp_snetent Perl_pp_snetent +#define Perl_pp_socket CPerlObj::Perl_pp_socket +#define pp_socket Perl_pp_socket +#define Perl_pp_sockpair CPerlObj::Perl_pp_sockpair +#define pp_sockpair Perl_pp_sockpair +#define Perl_pp_sort CPerlObj::Perl_pp_sort +#define pp_sort Perl_pp_sort +#define Perl_pp_splice CPerlObj::Perl_pp_splice +#define pp_splice Perl_pp_splice +#define Perl_pp_split CPerlObj::Perl_pp_split +#define pp_split Perl_pp_split +#define Perl_pp_sprintf CPerlObj::Perl_pp_sprintf +#define pp_sprintf Perl_pp_sprintf +#define Perl_pp_sprotoent CPerlObj::Perl_pp_sprotoent +#define pp_sprotoent Perl_pp_sprotoent +#define Perl_pp_spwent CPerlObj::Perl_pp_spwent +#define pp_spwent Perl_pp_spwent +#define Perl_pp_sqrt CPerlObj::Perl_pp_sqrt +#define pp_sqrt Perl_pp_sqrt +#define Perl_pp_srand CPerlObj::Perl_pp_srand +#define pp_srand Perl_pp_srand +#define Perl_pp_srefgen CPerlObj::Perl_pp_srefgen +#define pp_srefgen Perl_pp_srefgen +#define Perl_pp_sselect CPerlObj::Perl_pp_sselect +#define pp_sselect Perl_pp_sselect +#define Perl_pp_sservent CPerlObj::Perl_pp_sservent +#define pp_sservent Perl_pp_sservent +#define Perl_pp_ssockopt CPerlObj::Perl_pp_ssockopt +#define pp_ssockopt Perl_pp_ssockopt +#define Perl_pp_stat CPerlObj::Perl_pp_stat +#define pp_stat Perl_pp_stat +#define Perl_pp_stringify CPerlObj::Perl_pp_stringify +#define pp_stringify Perl_pp_stringify +#define Perl_pp_stub CPerlObj::Perl_pp_stub +#define pp_stub Perl_pp_stub +#define Perl_pp_study CPerlObj::Perl_pp_study +#define pp_study Perl_pp_study +#define Perl_pp_subst CPerlObj::Perl_pp_subst +#define pp_subst Perl_pp_subst +#define Perl_pp_substcont CPerlObj::Perl_pp_substcont +#define pp_substcont Perl_pp_substcont +#define Perl_pp_substr CPerlObj::Perl_pp_substr +#define pp_substr Perl_pp_substr +#define Perl_pp_subtract CPerlObj::Perl_pp_subtract +#define pp_subtract Perl_pp_subtract +#define Perl_pp_symlink CPerlObj::Perl_pp_symlink +#define pp_symlink Perl_pp_symlink +#define Perl_pp_syscall CPerlObj::Perl_pp_syscall +#define pp_syscall Perl_pp_syscall +#define Perl_pp_sysopen CPerlObj::Perl_pp_sysopen +#define pp_sysopen Perl_pp_sysopen +#define Perl_pp_sysread CPerlObj::Perl_pp_sysread +#define pp_sysread Perl_pp_sysread +#define Perl_pp_sysseek CPerlObj::Perl_pp_sysseek +#define pp_sysseek Perl_pp_sysseek +#define Perl_pp_system CPerlObj::Perl_pp_system +#define pp_system Perl_pp_system +#define Perl_pp_syswrite CPerlObj::Perl_pp_syswrite +#define pp_syswrite Perl_pp_syswrite +#define Perl_pp_tell CPerlObj::Perl_pp_tell +#define pp_tell Perl_pp_tell +#define Perl_pp_telldir CPerlObj::Perl_pp_telldir +#define pp_telldir Perl_pp_telldir +#define Perl_pp_threadsv CPerlObj::Perl_pp_threadsv +#define pp_threadsv Perl_pp_threadsv +#define Perl_pp_tie CPerlObj::Perl_pp_tie +#define pp_tie Perl_pp_tie +#define Perl_pp_tied CPerlObj::Perl_pp_tied +#define pp_tied Perl_pp_tied +#define Perl_pp_time CPerlObj::Perl_pp_time +#define pp_time Perl_pp_time +#define Perl_pp_tms CPerlObj::Perl_pp_tms +#define pp_tms Perl_pp_tms +#define Perl_pp_trans CPerlObj::Perl_pp_trans +#define pp_trans Perl_pp_trans +#define Perl_pp_truncate CPerlObj::Perl_pp_truncate +#define pp_truncate Perl_pp_truncate +#define Perl_pp_uc CPerlObj::Perl_pp_uc +#define pp_uc Perl_pp_uc +#define Perl_pp_ucfirst CPerlObj::Perl_pp_ucfirst +#define pp_ucfirst Perl_pp_ucfirst +#define Perl_pp_umask CPerlObj::Perl_pp_umask +#define pp_umask Perl_pp_umask +#define Perl_pp_undef CPerlObj::Perl_pp_undef +#define pp_undef Perl_pp_undef +#define Perl_pp_unlink CPerlObj::Perl_pp_unlink +#define pp_unlink Perl_pp_unlink +#define Perl_pp_unpack CPerlObj::Perl_pp_unpack +#define pp_unpack Perl_pp_unpack +#define Perl_pp_unshift CPerlObj::Perl_pp_unshift +#define pp_unshift Perl_pp_unshift +#define Perl_pp_unstack CPerlObj::Perl_pp_unstack +#define pp_unstack Perl_pp_unstack +#define Perl_pp_untie CPerlObj::Perl_pp_untie +#define pp_untie Perl_pp_untie +#define Perl_pp_utime CPerlObj::Perl_pp_utime +#define pp_utime Perl_pp_utime +#define Perl_pp_values CPerlObj::Perl_pp_values +#define pp_values Perl_pp_values +#define Perl_pp_vec CPerlObj::Perl_pp_vec +#define pp_vec Perl_pp_vec +#define Perl_pp_wait CPerlObj::Perl_pp_wait +#define pp_wait Perl_pp_wait +#define Perl_pp_waitpid CPerlObj::Perl_pp_waitpid +#define pp_waitpid Perl_pp_waitpid +#define Perl_pp_wantarray CPerlObj::Perl_pp_wantarray +#define pp_wantarray Perl_pp_wantarray +#define Perl_pp_warn CPerlObj::Perl_pp_warn +#define pp_warn Perl_pp_warn +#define Perl_pp_xor CPerlObj::Perl_pp_xor +#define pp_xor Perl_pp_xor #endif /* PERL_OBJECT */ diff --git a/embed.pl b/embed.pl index 6816740..d96158e 100755 --- a/embed.pl +++ b/embed.pl @@ -100,11 +100,14 @@ sub munge_c_files () { #munge_c_files(); # generate proto.h +my $wrote_protected = 0; + sub write_protos { my $ret = ""; if (@_ == 1) { my $arg = shift; - $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/; + $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/ + or $arg =~ /^\s*(public|protected|private):/; } else { my ($flags,$retval,$func,@args) = @_; @@ -112,8 +115,11 @@ sub write_protos { $retval = "STATIC $retval"; $func = "S_$func"; } - elsif ($flags =~ /p/) { - $func = "Perl_$func"; + else { + $retval = "VIRTUAL $retval"; + if ($flags =~ /p/) { + $func = "Perl_$func"; + } } $ret .= "$retval\t$func("; unless ($flags =~ /n/) { @@ -388,13 +394,16 @@ walk_table { } else { my ($flags,$retval,$func,@args) = @_; - unless ($flags =~ /o/) { - if ($flags =~ /s/) { - $ret .= hide("S_$func","CPerlObj::$func"); - } - elsif ($flags =~ /p/) { - $ret .= hide("Perl_$func","CPerlObj::$func"); - } + if ($flags =~ /s/) { + $ret .= hide("S_$func","CPerlObj::S_$func"); + $ret .= hide($func,"S_$func"); + } + elsif ($flags =~ /p/) { + $ret .= hide("Perl_$func","CPerlObj::Perl_$func"); + $ret .= hide($func,"Perl_$func"); + } + else { + $ret .= hide($func,"CPerlObj::$func"); } } $ret; @@ -402,7 +411,8 @@ walk_table { for $sym (sort keys %ppsym) { $sym =~ s/^Perl_//; - print EM hide("Perl_$sym", "CPerlObj::$sym"); + print EM hide("Perl_$sym", "CPerlObj::Perl_$sym"); + print EM hide($sym, "Perl_$sym"); } print EM <<'END'; @@ -684,8 +694,12 @@ walk_table { } else { my ($flags,$retval,$func,@args) = @_; - unless ($flags =~ /o/) { + unless ($flags =~ /s/) { if ($flags =~ /p/) { + $ret .= undefine("Perl_$func") . hide("Perl_$func","pPerl->Perl_$func"); + $ret .= undefine($func) . hide($func,"Perl_$func"); + } + else { $ret .= undefine($func) . hide($func,"pPerl->$func"); } } @@ -695,7 +709,8 @@ walk_table { for $sym (sort keys %ppsym) { $sym =~ s/^Perl_//; - print OBX undefine($sym) . hide($sym, "pPerl->$sym"); + print OBX undefine("Perl_$sym") . hide("Perl_$sym", "pPerl->Perl_$sym"); + print OBX undefine($sym) . hide($sym, "Perl_$sym"); } print OBX <<'EOT'; @@ -731,6 +746,9 @@ __END__ # may be autogenerated. # +#if defined(PERL_OBJECT) +public: +#endif p |SV* |amagic_call |SV* left|SV* right|int method|int dir p |bool |Gv_AMupdate |HV* stash p |OP* |append_elem |I32 optype|OP* head|OP* tail @@ -799,6 +817,7 @@ p |char** |get_op_descs p |char** |get_op_names p |char* |get_no_modify p |U32* |get_opargs +p |PPADDR_t*|get_ppaddr p |I32 |cxinc p |void |deb |const char* pat|... p |void |deb_growlevel @@ -1019,7 +1038,6 @@ p |int |magic_set_all_env|SV* sv|MAGIC* mg p |U32 |magic_sizepack |SV* sv|MAGIC* mg p |int |magic_wipepack |SV* sv|MAGIC* mg p |void |magicname |char* sym|char* name|I32 namlen -no |int |main |int argc|char** argv|char** env #if defined(MYMALLOC) np |MEM_SIZE|malloced_size |void *p #endif @@ -1141,17 +1159,29 @@ p |void |pad_free |PADOFFSET po p |void |pad_reset p |void |pad_swipe |PADOFFSET po p |void |peep |OP* o +#if defined(PERL_OBJECT) +no |void |perl_construct +no |void |perl_destruct +no |void |perl_free +no |int |perl_run +no |int |perl_parse |XSINIT_t xsinit \ + |int argc|char** argv|char** env +#else no |PerlInterpreter* |perl_alloc +no |void |perl_construct |PerlInterpreter* sv_interp +no |void |perl_destruct |PerlInterpreter* sv_interp +no |void |perl_free |PerlInterpreter* sv_interp +no |int |perl_run |PerlInterpreter* sv_interp +no |int |perl_parse |PerlInterpreter* sv_interp|XSINIT_t xsinit \ + |int argc|char** argv|char** env +#endif p |void |call_atexit |ATEXIT_t fn|void *ptr p |I32 |call_argv |const char* sub_name|I32 flags|char** argv p |I32 |call_method |const char* methname|I32 flags p |I32 |call_pv |const char* sub_name|I32 flags p |I32 |call_sv |SV* sv|I32 flags -no |void |perl_construct |PerlInterpreter* sv_interp -no |void |perl_destruct |PerlInterpreter* sv_interp p |SV* |eval_pv |const char* p|I32 croak_on_error p |I32 |eval_sv |SV* sv|I32 flags -no |void |perl_free |PerlInterpreter* sv_interp p |SV* |get_sv |const char* name|I32 create p |AV* |get_av |const char* name|I32 create p |HV* |get_hv |const char* name|I32 create @@ -1164,10 +1194,7 @@ p |void |new_numeric |const char* newcoll p |void |set_numeric_local p |void |set_numeric_radix p |void |set_numeric_standard -no |int |perl_parse |PerlInterpreter* sv_interp|XSINIT_t xsinit \ - |int argc|char** argv|char** env p |void |require_pv |const char* pv -no |int |perl_run |PerlInterpreter* sv_interp p |void |pidgone |int pid|int status p |void |pmflag |U16* pmfl|int ch p |OP* |pmruntime |OP* pm|OP* expr|OP* repl @@ -1406,8 +1433,12 @@ p |int |runops_standard p |int |runops_debug #if defined(WIN32) +#if defined(PERL_OBJECT) +p |int& |ErrorNo +#else p |int* |ErrorNo #endif +#endif p |void |sv_catpvf_mg |SV *sv|const char* pat|... p |void |sv_catpv_mg |SV *sv|const char *ptr p |void |sv_catpvn_mg |SV *sv|const char *ptr|STRLEN len @@ -1444,11 +1475,14 @@ p |void |tmps_grow |I32 n p |SV* |sv_rvweaken |SV *sv p |int |magic_killbackrefs|SV *sv|MAGIC *mg -#if defined(PERL_IN_AV_C) +#if defined(PERL_OBJECT) +protected: +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) s |I32 |avhv_index_sv |SV* sv #endif -#if defined(PERL_IN_DOOP_C) +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) s |I32 |do_trans_CC_simple |SV *sv s |I32 |do_trans_CC_count |SV *sv s |I32 |do_trans_CC_complex |SV *sv @@ -1461,11 +1495,11 @@ s |I32 |do_trans_UC_trivial |SV *sv s |I32 |do_trans_CU_trivial |SV *sv #endif -#if defined(PERL_IN_GV_C) +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) s |void |gv_init_sv |GV *gv|I32 sv_type #endif -#if defined(PERL_IN_HV_C) +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) s |void |hsplit |HV *hv s |void |hfreeentries |HV *hv s |void |more_he @@ -1475,7 +1509,7 @@ s |HEK* |save_hek |const char *str|I32 len|U32 hash s |void |hv_magic_check |HV *hv|bool *needs_copy|bool *needs_store #endif -#if defined(PERL_IN_MG_C) +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) s |void |save_magic |I32 mgs_ix|SV *sv s |int |magic_methpack |SV *sv|MAGIC *mg|char *meth s |int |magic_methcall |SV *sv|MAGIC *mg|char *meth|I32 f \ @@ -1484,7 +1518,7 @@ s |void |unwind_handler_stack |void *p s |void |restore_magic |void *p #endif -#if defined(PERL_IN_OP_C) +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) s |I32 |list_assignment|OP *o s |void |bad_type |I32 n|char *t|char *name|OP *kid s |OP* |modkids |OP *o|I32 type @@ -1508,7 +1542,7 @@ s |void* |Slab_Alloc |int m|size_t sz # endif #endif -#if defined(PERL_IN_PERL_C) +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) s |void |find_beginning s |void |forbid_setid |char * s |void |incpush |char *|int @@ -1525,7 +1559,6 @@ s |void |nuke_stacks s |void |open_script |char *|bool|SV *|int *fd s |void |usage |char * s |void |validate_suid |char *|char*|int -s |I32 |read_e_script |int idx|SV *buf_sv|int maxlen # if defined(IAMSUID) s |int |fd_on_nosuid_fs|int fd # endif @@ -1539,7 +1572,7 @@ s |struct perl_thread * |init_main_thread # endif #endif -#if defined(PERL_IN_PP_C) +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) s |void |doencodes |SV* sv|char* s|I32 len s |SV* |refto |SV* sv s |U32 |seed @@ -1548,7 +1581,7 @@ s |SV* |is_an_int |char *s|STRLEN l s |int |div128 |SV *pnum|bool *done #endif -#if defined(PERL_IN_PP_CTL_C) +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) s |OP* |docatch |OP *o s |void* |docatch_body |va_list args s |OP* |dofindlabel |OP *o|char *label|OP **opstack|OP **oplimit @@ -1572,14 +1605,14 @@ s |I32 |amagic_cmp |SV *str1|SV *str2 s |I32 |amagic_cmp_locale|SV *str1|SV *str2 #endif -#if defined(PERL_IN_PP_HOT_C) +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) s |CV* |get_db_sub |SV **svp|CV *cv # if defined(USE_THREADS) s |void |unset_cvowner |void *cvarg # endif #endif -#if defined(PERL_IN_PP_SYS_C) +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) s |OP* |doform |CV *cv|GV *gv|OP *retop s |int |emulate_eaccess|const char* path|int mode # if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) @@ -1587,7 +1620,7 @@ s |int |dooneliner |char *cmd|char *filename # endif #endif -#if defined(PERL_IN_REGCOMP_C) +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) s |regnode*|reg |I32|I32 * s |regnode*|reganode |U8|U32 s |regnode*|regatom |I32 * @@ -1615,7 +1648,7 @@ s |char*|regpposixcc |I32 value s |void |clear_re |void *r #endif -#if defined(PERL_IN_REGEXEC_C) +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) s |I32 |regmatch |regnode *prog s |I32 |regrepeat |regnode *p|I32 max s |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp @@ -1631,15 +1664,15 @@ s |U8* |reghop |U8 *pos|I32 off s |U8* |reghopmaybe |U8 *pos|I32 off #endif -#if defined(PERL_IN_RUN_C) +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) s |void |debprof |OP *o #endif -#if defined(PERL_IN_SCOPE_C) +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) s |SV* |save_scalar_at |SV **sptr #endif -#if defined(PERL_IN_SV_C) +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) s |IV |asIV |SV* sv s |UV |asUV |SV* sv s |SV* |more_sv @@ -1675,7 +1708,7 @@ s |void |del_sv |SV *p # endif #endif -#if defined(PERL_IN_TOKE_C) +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) s |void |check_uni s |void |force_next |I32 type s |char* |force_version |char *start @@ -1726,14 +1759,15 @@ s |I32 |win32_textfilter |int idx|SV *sv|int maxlen # endif #endif -#if defined(PERL_IN_UNIVERSAL_C) +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) s |SV*|isa_lookup |HV *stash|const char *name|int len|int level #endif -#if defined(PERL_IN_UTIL_C) +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) s |SV* |mess_alloc rs |void |do_croak |const char *pat|va_list *args s |void |do_warn |const char *pat|va_list *args +s |OP* |do_die |const char *pat|va_list *args # if defined(LEAKTEST) s |void |xstat |int # endif diff --git a/ext/B/B.xs b/ext/B/B.xs index 90ec6c1..7e32d01 100644 --- a/ext/B/B.xs +++ b/ext/B/B.xs @@ -15,9 +15,9 @@ #undef PL_op_name #undef PL_opargs #undef PL_op_desc -#define PL_op_name (pPerl->Perl_get_op_names()) -#define PL_opargs (pPerl->Perl_get_opargs()) -#define PL_op_desc (pPerl->Perl_get_op_descs()) +#define PL_op_name (get_op_names()) +#define PL_opargs (get_opargs()) +#define PL_op_desc (get_op_descs()) #endif #ifdef PerlIO diff --git a/ext/ByteLoader/ByteLoader.xs b/ext/ByteLoader/ByteLoader.xs index 34002f1..07f0838 100644 --- a/ext/ByteLoader/ByteLoader.xs +++ b/ext/ByteLoader/ByteLoader.xs @@ -7,17 +7,13 @@ static void freadpv(U32 len, void *data, XPV *pv) { New(666, pv->xpv_pv, len, char); - fread(pv->xpv_pv, 1, len, (FILE*)data); + PerlIO_read((PerlIO*)data, (void*)pv->xpv_pv, len); pv->xpv_len = len; pv->xpv_cur = len - 1; } static I32 -#ifdef PERL_OBJECT -byteloader_filter(CPerlObj *pPerl, int idx, SV *buf_sv, int maxlen) -#else -byteloader_filter(pTHX_ int idx, SV *buf_sv, int maxlen) -#endif +byteloader_filter(pTHXo_ int idx, SV *buf_sv, int maxlen) { dTHR; OP *saveroot = PL_main_root; @@ -29,7 +25,7 @@ byteloader_filter(pTHX_ int idx, SV *buf_sv, int maxlen) bs.pfread = (int(*) (char*,size_t,size_t,void*))fread; bs.pfreadpv = freadpv; - byterun(bs); + byterun(aTHXo_ bs); if (PL_in_eval) { OP *o; diff --git a/ext/ByteLoader/bytecode.h b/ext/ByteLoader/bytecode.h index 8a59bb1..9d597fb 100644 --- a/ext/ByteLoader/bytecode.h +++ b/ext/ByteLoader/bytecode.h @@ -140,4 +140,4 @@ typedef IV IV64; #define BSET_OBJ_STORE(obj, ix) \ (I32)ix > bytecode_obj_list_fill ? \ - bset_obj_store(obj, (I32)ix) : (bytecode_obj_list[ix] = obj) + bset_obj_store(aTHXo_ obj, (I32)ix) : (bytecode_obj_list[ix] = obj) diff --git a/ext/ByteLoader/byterun.c b/ext/ByteLoader/byterun.c index e124c23..544a59f 100644 --- a/ext/ByteLoader/byterun.c +++ b/ext/ByteLoader/byterun.c @@ -11,9 +11,20 @@ #include "EXTERN.h" #include "perl.h" +#define NO_XSLOCKS +#include "XSUB.h" + +#ifdef PERL_OBJECT +#undef CALL_FPTR +#define CALL_FPTR(fptr) (pPerl->*fptr) +#undef PL_ppaddr +#define PL_ppaddr (*get_ppaddr()) +#endif + #include "byterun.h" #include "bytecode.h" + static int optype_size[] = { sizeof(OP), sizeof(UNOP), @@ -38,7 +49,7 @@ static void **bytecode_obj_list; static I32 bytecode_obj_list_fill = -1; void * -bset_obj_store(void *obj, I32 ix) +bset_obj_store(pTHXo_ void *obj, I32 ix) { if (ix > bytecode_obj_list_fill) { if (bytecode_obj_list_fill == -1) @@ -52,7 +63,7 @@ bset_obj_store(void *obj, I32 ix) } void -byterun(pTHX_ struct bytestream bs) +byterun(pTHXo_ struct bytestream bs) { dTHR; int insn; diff --git a/ext/ByteLoader/byterun.h b/ext/ByteLoader/byterun.h index 3c5b234..3a0381f 100644 --- a/ext/ByteLoader/byterun.h +++ b/ext/ByteLoader/byterun.h @@ -173,6 +173,8 @@ EXT int PL_optype_size[] #endif /* DOINIT */ ; +EXT void byterun(pTHXo_ struct bytestream bs); + #define INIT_SPECIALSV_LIST STMT_START { \ PL_specialsv_list[0] = Nullsv; \ PL_specialsv_list[1] = &PL_sv_undef; \ diff --git a/ext/DynaLoader/dlutils.c b/ext/DynaLoader/dlutils.c index b1e0bd6..6da5323 100644 --- a/ext/DynaLoader/dlutils.c +++ b/ext/DynaLoader/dlutils.c @@ -26,7 +26,7 @@ static int dl_debug = 0; /* value copied from $DynaLoader::dl_error */ static void -dl_generic_private_init(pTHX) /* called by dl_*.xs dl_private_init() */ +dl_generic_private_init(pTHXo) /* called by dl_*.xs dl_private_init() */ { char *perl_dl_nonlazy; #ifdef DEBUGGING @@ -45,7 +45,7 @@ dl_generic_private_init(pTHX) /* called by dl_*.xs dl_private_init() */ /* SaveError() takes printf style args and saves the result in LastError */ static void -SaveError(pTHX_ char* pat, ...) +SaveError(pTHXo_ char* pat, ...) { va_list args; SV *msv; diff --git a/global.sym b/global.sym index 0c3f72b..efbca1d 100644 --- a/global.sym +++ b/global.sym @@ -66,6 +66,7 @@ Perl_get_op_descs Perl_get_op_names Perl_get_no_modify Perl_get_opargs +Perl_get_ppaddr Perl_cxinc Perl_deb Perl_deb_growlevel @@ -263,7 +264,6 @@ Perl_magic_set_all_env Perl_magic_sizepack Perl_magic_wipepack Perl_magicname -main Perl_malloced_size Perl_markstack_grow Perl_mem_collxfrm @@ -362,17 +362,24 @@ Perl_pad_free Perl_pad_reset Perl_pad_swipe Perl_peep +perl_construct +perl_destruct +perl_free +perl_run +perl_parse perl_alloc +perl_construct +perl_destruct +perl_free +perl_run +perl_parse Perl_call_atexit Perl_call_argv Perl_call_method Perl_call_pv Perl_call_sv -perl_construct -perl_destruct Perl_eval_pv Perl_eval_sv -perl_free Perl_get_sv Perl_get_av Perl_get_hv @@ -385,9 +392,7 @@ Perl_new_numeric Perl_set_numeric_local Perl_set_numeric_radix Perl_set_numeric_standard -perl_parse Perl_require_pv -perl_run Perl_pidgone Perl_pmflag Perl_pmruntime @@ -592,6 +597,7 @@ Perl_yydestruct Perl_runops_standard Perl_runops_debug Perl_ErrorNo +Perl_ErrorNo Perl_sv_catpvf_mg Perl_sv_catpv_mg Perl_sv_catpvn_mg diff --git a/globals.c b/globals.c index 8ac296d..8ba15b3 100644 --- a/globals.c +++ b/globals.c @@ -34,13 +34,13 @@ void* CPerlObj::operator new(size_t nSize, IPerlMem *pvtbl) { if(pvtbl != NULL) - return pvtbl->Malloc(nSize); + return pvtbl->pMalloc(pvtbl, nSize); return NULL; } int& -CPerlObj::ErrorNo(void) +Perl_ErrorNo(void) { return errno; } @@ -50,4 +50,26 @@ CPerlObj::Init(void) { } +int +CPerlObj::fprintf(PerlIO *stream, const char *format, ...) +{ + va_list(arglist); + va_start(arglist, format); + return PerlIO_vprintf(stream, format, arglist); +} + +#ifdef WIN32 /* XXX why are these needed? */ +bool +Perl_do_exec(char *cmd) +{ + return PerlProc_Cmd(cmd); +} + +int +CPerlObj::do_aspawn(void *vreally, void **vmark, void **vsp) +{ + return PerlProc_aspawn(vreally, vmark, vsp); +} +#endif /* WIN32 */ + #endif /* PERL_OBJECT */ diff --git a/iperlsys.h b/iperlsys.h index 9ad3256..d3ac12f 100644 --- a/iperlsys.h +++ b/iperlsys.h @@ -80,54 +80,102 @@ extern void PerlIO_init (void); typedef struct _PerlIO PerlIO; #endif -class IPerlStdIO +/* IPerlStdIO */ +struct IPerlStdIO; +typedef PerlIO* (*LPStdin)(struct IPerlStdIO*); +typedef PerlIO* (*LPStdout)(struct IPerlStdIO*); +typedef PerlIO* (*LPStderr)(struct IPerlStdIO*); +typedef PerlIO* (*LPOpen)(struct IPerlStdIO*, const char*, + const char*); +typedef int (*LPClose)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPEof)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPError)(struct IPerlStdIO*, PerlIO*); +typedef void (*LPClearerr)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPGetc)(struct IPerlStdIO*, PerlIO*); +typedef char* (*LPGetBase)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPGetBufsiz)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPGetCnt)(struct IPerlStdIO*, PerlIO*); +typedef char* (*LPGetPtr)(struct IPerlStdIO*, PerlIO*); +typedef char* (*LPGets)(struct IPerlStdIO*, PerlIO*, char*, int); +typedef int (*LPPutc)(struct IPerlStdIO*, PerlIO*, int); +typedef int (*LPPuts)(struct IPerlStdIO*, PerlIO*, const char*); +typedef int (*LPFlush)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPUngetc)(struct IPerlStdIO*, PerlIO*,int); +typedef int (*LPFileno)(struct IPerlStdIO*, PerlIO*); +typedef PerlIO* (*LPFdopen)(struct IPerlStdIO*, int, const char*); +typedef PerlIO* (*LPReopen)(struct IPerlStdIO*, const char*, + const char*, PerlIO*); +typedef SSize_t (*LPRead)(struct IPerlStdIO*, PerlIO*, void*, Size_t); +typedef SSize_t (*LPWrite)(struct IPerlStdIO*, PerlIO*, const void*, + Size_t); +typedef void (*LPSetBuf)(struct IPerlStdIO*, PerlIO*, char*); +typedef int (*LPSetVBuf)(struct IPerlStdIO*, PerlIO*, char*, int, + Size_t); +typedef void (*LPSetCnt)(struct IPerlStdIO*, PerlIO*, int); +typedef void (*LPSetPtrCnt)(struct IPerlStdIO*, PerlIO*, char*, + int); +typedef void (*LPSetlinebuf)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPPrintf)(struct IPerlStdIO*, PerlIO*, const char*, + ...); +typedef int (*LPVprintf)(struct IPerlStdIO*, PerlIO*, const char*, + va_list); +typedef long (*LPTell)(struct IPerlStdIO*, PerlIO*); +typedef int (*LPSeek)(struct IPerlStdIO*, PerlIO*, Off_t, int); +typedef void (*LPRewind)(struct IPerlStdIO*, PerlIO*); +typedef PerlIO* (*LPTmpfile)(struct IPerlStdIO*); +typedef int (*LPGetpos)(struct IPerlStdIO*, PerlIO*, Fpos_t*); +typedef int (*LPSetpos)(struct IPerlStdIO*, PerlIO*, + const Fpos_t*); +typedef void (*LPInit)(struct IPerlStdIO*); +typedef void (*LPInitOSExtras)(struct IPerlStdIO*); + +struct IPerlStdIO { -public: - virtual PerlIO * Stdin(void) = 0; - virtual PerlIO * Stdout(void) = 0; - virtual PerlIO * Stderr(void) = 0; - virtual PerlIO * Open(const char *, const char *, int &err) = 0; - virtual int Close(PerlIO*, int &err) = 0; - virtual int Eof(PerlIO*, int &err) = 0; - virtual int Error(PerlIO*, int &err) = 0; - virtual void Clearerr(PerlIO*, int &err) = 0; - virtual int Getc(PerlIO*, int &err) = 0; - virtual char * GetBase(PerlIO *, int &err) = 0; - virtual int GetBufsiz(PerlIO *, int &err) = 0; - virtual int GetCnt(PerlIO *, int &err) = 0; - virtual char * GetPtr(PerlIO *, int &err) = 0; - virtual char * Gets(PerlIO*, char*, int, int& err) = 0; - virtual int Putc(PerlIO*, int, int &err) = 0; - virtual int Puts(PerlIO*, const char *, int &err) = 0; - virtual int Flush(PerlIO*, int &err) = 0; - virtual int Ungetc(PerlIO*,int, int &err) = 0; - virtual int Fileno(PerlIO*, int &err) = 0; - virtual PerlIO * Fdopen(int, const char *, int &err) = 0; - virtual PerlIO * Reopen(const char*, const char*, PerlIO*, int &err) = 0; - virtual SSize_t Read(PerlIO*,void *,Size_t, int &err) = 0; - virtual SSize_t Write(PerlIO*,const void *,Size_t, int &err) = 0; - virtual void SetBuf(PerlIO *, char*, int &err) = 0; - virtual int SetVBuf(PerlIO *, char*, int, Size_t, int &err) = 0; - virtual void SetCnt(PerlIO *, int, int &err) = 0; - virtual void SetPtrCnt(PerlIO *, char *, int, int& err) = 0; - virtual void Setlinebuf(PerlIO*, int &err) = 0; - virtual int Printf(PerlIO*, int &err, const char *,...) = 0; - virtual int Vprintf(PerlIO*, int &err, const char *, va_list) = 0; - virtual long Tell(PerlIO*, int &err) = 0; - virtual int Seek(PerlIO*, Off_t, int, int &err) = 0; - virtual void Rewind(PerlIO*, int &err) = 0; - virtual PerlIO * Tmpfile(int &err) = 0; - virtual int Getpos(PerlIO*, Fpos_t *, int &err) = 0; - virtual int Setpos(PerlIO*, const Fpos_t *, int &err) = 0; - virtual void Init(int &err) = 0; - virtual void InitOSExtras(void* p) = 0; -#ifdef WIN32 - virtual int OpenOSfhandle(long osfhandle, int flags) = 0; - virtual int GetOSfhandle(int filenum) = 0; -#endif + LPStdin pStdin; + LPStdout pStdout; + LPStderr pStderr; + LPOpen pOpen; + LPClose pClose; + LPEof pEof; + LPError pError; + LPClearerr pClearerr; + LPGetc pGetc; + LPGetBase pGetBase; + LPGetBufsiz pGetBufsiz; + LPGetCnt pGetCnt; + LPGetPtr pGetPtr; + LPGets pGets; + LPPutc pPutc; + LPPuts pPuts; + LPFlush pFlush; + LPUngetc pUngetc; + LPFileno pFileno; + LPFdopen pFdopen; + LPReopen pReopen; + LPRead pRead; + LPWrite pWrite; + LPSetBuf pSetBuf; + LPSetVBuf pSetVBuf; + LPSetCnt pSetCnt; + LPSetPtrCnt pSetPtrCnt; + LPSetlinebuf pSetlinebuf; + LPPrintf pPrintf; + LPVprintf pVprintf; + LPTell pTell; + LPSeek pSeek; + LPRewind pRewind; + LPTmpfile pTmpfile; + LPGetpos pGetpos; + LPSetpos pSetpos; + LPInit pInit; + LPInitOSExtras pInitOSExtras; }; - +struct IPerlStdIOInfo +{ + unsigned long nCount; /* number of entries expected */ + struct IPerlStdIO perlStdIOList; +}; #ifdef USE_STDIO_PTR # define PerlIO_has_cntptr(f) 1 @@ -154,49 +202,83 @@ public: #define PerlIO_has_base(f) 0 #endif -#define PerlIO_stdin() PL_piStdIO->Stdin() -#define PerlIO_stdout() PL_piStdIO->Stdout() -#define PerlIO_stderr() PL_piStdIO->Stderr() -#define PerlIO_open(x,y) PL_piStdIO->Open((x),(y), ErrorNo()) -#define PerlIO_close(f) PL_piStdIO->Close((f), ErrorNo()) -#define PerlIO_eof(f) PL_piStdIO->Eof((f), ErrorNo()) -#define PerlIO_error(f) PL_piStdIO->Error((f), ErrorNo()) -#define PerlIO_clearerr(f) PL_piStdIO->Clearerr((f), ErrorNo()) -#define PerlIO_getc(f) PL_piStdIO->Getc((f), ErrorNo()) -#define PerlIO_get_base(f) PL_piStdIO->GetBase((f), ErrorNo()) -#define PerlIO_get_bufsiz(f) PL_piStdIO->GetBufsiz((f), ErrorNo()) -#define PerlIO_get_cnt(f) PL_piStdIO->GetCnt((f), ErrorNo()) -#define PerlIO_get_ptr(f) PL_piStdIO->GetPtr((f), ErrorNo()) -#define PerlIO_putc(f,c) PL_piStdIO->Putc((f),(c), ErrorNo()) -#define PerlIO_puts(f,s) PL_piStdIO->Puts((f),(s), ErrorNo()) -#define PerlIO_flush(f) PL_piStdIO->Flush((f), ErrorNo()) -#define PerlIO_gets(s, n, fp) PL_piStdIO->Gets((fp), s, n, ErrorNo()) -#define PerlIO_ungetc(f,c) PL_piStdIO->Ungetc((f),(c), ErrorNo()) -#define PerlIO_fileno(f) PL_piStdIO->Fileno((f), ErrorNo()) -#define PerlIO_fdopen(f, s) PL_piStdIO->Fdopen((f),(s), ErrorNo()) -#define PerlIO_reopen(p, m, f) PL_piStdIO->Reopen((p), (m), (f), ErrorNo()) +#define PerlIO_stdin() \ + (*PL_piStdIO->pStdin)(PL_piStdIO) +#define PerlIO_stdout() \ + (*PL_piStdIO->pStdout)(PL_piStdIO) +#define PerlIO_stderr() \ + (*PL_piStdIO->pStderr)(PL_piStdIO) +#define PerlIO_open(x,y) \ + (*PL_piStdIO->pOpen)(PL_piStdIO, (x),(y)) +#define PerlIO_close(f) \ + (*PL_piStdIO->pClose)(PL_piStdIO, (f)) +#define PerlIO_eof(f) \ + (*PL_piStdIO->pEof)(PL_piStdIO, (f)) +#define PerlIO_error(f) \ + (*PL_piStdIO->pError)(PL_piStdIO, (f)) +#define PerlIO_clearerr(f) \ + (*PL_piStdIO->pClearerr)(PL_piStdIO, (f)) +#define PerlIO_getc(f) \ + (*PL_piStdIO->pGetc)(PL_piStdIO, (f)) +#define PerlIO_get_base(f) \ + (*PL_piStdIO->pGetBase)(PL_piStdIO, (f)) +#define PerlIO_get_bufsiz(f) \ + (*PL_piStdIO->pGetBufsiz)(PL_piStdIO, (f)) +#define PerlIO_get_cnt(f) \ + (*PL_piStdIO->pGetCnt)(PL_piStdIO, (f)) +#define PerlIO_get_ptr(f) \ + (*PL_piStdIO->pGetPtr)(PL_piStdIO, (f)) +#define PerlIO_putc(f,c) \ + (*PL_piStdIO->pPutc)(PL_piStdIO, (f),(c)) +#define PerlIO_puts(f,s) \ + (*PL_piStdIO->pPuts)(PL_piStdIO, (f),(s)) +#define PerlIO_flush(f) \ + (*PL_piStdIO->pFlush)(PL_piStdIO, (f)) +#define PerlIO_gets(s, n, fp) \ + (*PL_piStdIO->pGets)(PL_piStdIO, (fp), s, n) +#define PerlIO_ungetc(f,c) \ + (*PL_piStdIO->pUngetc)(PL_piStdIO, (f),(c)) +#define PerlIO_fileno(f) \ + (*PL_piStdIO->pFileno)(PL_piStdIO, (f)) +#define PerlIO_fdopen(f, s) \ + (*PL_piStdIO->pFdopen)(PL_piStdIO, (f),(s)) +#define PerlIO_reopen(p, m, f) \ + (*PL_piStdIO->pReopen)(PL_piStdIO, (p), (m), (f)) #define PerlIO_read(f,buf,count) \ - (SSize_t)PL_piStdIO->Read((f), (buf), (count), ErrorNo()) + (SSize_t)(*PL_piStdIO->pRead)(PL_piStdIO, (f), (buf), (count)) #define PerlIO_write(f,buf,count) \ - PL_piStdIO->Write((f), (buf), (count), ErrorNo()) -#define PerlIO_setbuf(f,b) PL_piStdIO->SetBuf((f), (b), ErrorNo()) -#define PerlIO_setvbuf(f,b,t,s) PL_piStdIO->SetVBuf((f), (b), (t), (s), ErrorNo()) -#define PerlIO_set_cnt(f,c) PL_piStdIO->SetCnt((f), (c), ErrorNo()) + (*PL_piStdIO->pWrite)(PL_piStdIO, (f), (buf), (count)) +#define PerlIO_setbuf(f,b) \ + (*PL_piStdIO->pSetBuf)(PL_piStdIO, (f), (b)) +#define PerlIO_setvbuf(f,b,t,s) \ + (*PL_piStdIO->pSetVBuf)(PL_piStdIO, (f),(b),(t),(s)) +#define PerlIO_set_cnt(f,c) \ + (*PL_piStdIO->pSetCnt)(PL_piStdIO, (f), (c)) #define PerlIO_set_ptrcnt(f,p,c) \ - PL_piStdIO->SetPtrCnt((f), (p), (c), ErrorNo()) -#define PerlIO_setlinebuf(f) PL_piStdIO->Setlinebuf((f), ErrorNo()) + (*PL_piStdIO->pSetPtrCnt)(PL_piStdIO, (f), (p), (c)) +#define PerlIO_setlinebuf(f) \ + (*PL_piStdIO->pSetlinebuf)(PL_piStdIO, (f)) #define PerlIO_printf fprintf -#define PerlIO_stdoutf PL_piStdIO->Printf -#define PerlIO_vprintf(f,fmt,a) PL_piStdIO->Vprintf((f), ErrorNo(), (fmt),a) -#define PerlIO_tell(f) PL_piStdIO->Tell((f), ErrorNo()) -#define PerlIO_seek(f,o,w) PL_piStdIO->Seek((f),(o),(w), ErrorNo()) -#define PerlIO_getpos(f,p) PL_piStdIO->Getpos((f),(p), ErrorNo()) -#define PerlIO_setpos(f,p) PL_piStdIO->Setpos((f),(p), ErrorNo()) -#define PerlIO_rewind(f) PL_piStdIO->Rewind((f), ErrorNo()) -#define PerlIO_tmpfile() PL_piStdIO->Tmpfile(ErrorNo()) -#define PerlIO_init() PL_piStdIO->Init(ErrorNo()) +#define PerlIO_stdoutf *PL_piStdIO->pPrintf +#define PerlIO_vprintf(f,fmt,a) \ + (*PL_piStdIO->pVprintf)(PL_piStdIO, (f),(fmt),a) +#define PerlIO_tell(f) \ + (*PL_piStdIO->pTell)(PL_piStdIO, (f)) +#define PerlIO_seek(f,o,w) \ + (*PL_piStdIO->pSeek)(PL_piStdIO, (f),(o),(w)) +#define PerlIO_getpos(f,p) \ + (*PL_piStdIO->pGetpos)(PL_piStdIO, (f),(p)) +#define PerlIO_setpos(f,p) \ + (*PL_piStdIO->pSetpos)(PL_piStdIO, (f),(p)) +#define PerlIO_rewind(f) \ + (*PL_piStdIO->pRewind)(PL_piStdIO, (f)) +#define PerlIO_tmpfile() \ + (*PL_piStdIO->pTmpfile)(PL_piStdIO) +#define PerlIO_init() \ + (*PL_piStdIO->pInit)(PL_piStdIO) #undef init_os_extras -#define init_os_extras() PL_piStdIO->InitOSExtras(this) +#define init_os_extras(x) \ + (*PL_piStdIO->pInitOSExtras)(PL_piStdIO) #else /* PERL_OBJECT */ @@ -386,38 +468,55 @@ extern int PerlIO_setpos (PerlIO *,const Fpos_t *); #ifdef PERL_OBJECT -class IPerlDir +/* IPerlDir */ +struct IPerlDir; +typedef int (*LPMakedir)(struct IPerlDir*, const char*, int); +typedef int (*LPChdir)(struct IPerlDir*, const char*); +typedef int (*LPRmdir)(struct IPerlDir*, const char*); +typedef int (*LPDirClose)(struct IPerlDir*, DIR*); +typedef DIR* (*LPDirOpen)(struct IPerlDir*, char*); +typedef struct direct* (*LPDirRead)(struct IPerlDir*, DIR*); +typedef void (*LPDirRewind)(struct IPerlDir*, DIR*); +typedef void (*LPDirSeek)(struct IPerlDir*, DIR*, long); +typedef long (*LPDirTell)(struct IPerlDir*, DIR*); + +struct IPerlDir { -public: - virtual int Makedir(const char *dirname, int mode, int &err) = 0; - virtual int Chdir(const char *dirname, int &err) = 0; - virtual int Rmdir(const char *dirname, int &err) = 0; - virtual int Close(DIR *dirp, int &err) = 0; - virtual DIR * Open(char *filename, int &err) = 0; - virtual struct direct *Read(DIR *dirp, int &err) = 0; - virtual void Rewind(DIR *dirp, int &err) = 0; - virtual void Seek(DIR *dirp, long loc, int &err) = 0; - virtual long Tell(DIR *dirp, int &err) = 0; + LPMakedir pMakedir; + LPChdir pChdir; + LPRmdir pRmdir; + LPDirClose pClose; + LPDirOpen pOpen; + LPDirRead pRead; + LPDirRewind pRewind; + LPDirSeek pSeek; + LPDirTell pTell; +}; + +struct IPerlDirInfo +{ + unsigned long nCount; /* number of entries expected */ + struct IPerlDir perlDirList; }; #define PerlDir_mkdir(name, mode) \ - PL_piDir->Makedir((name), (mode), ErrorNo()) + (*PL_piDir->pMakedir)(PL_piDir, (name), (mode)) #define PerlDir_chdir(name) \ - PL_piDir->Chdir((name), ErrorNo()) + (*PL_piDir->pChdir)(PL_piDir, (name)) #define PerlDir_rmdir(name) \ - PL_piDir->Rmdir((name), ErrorNo()) + (*PL_piDir->pRmdir)(PL_piDir, (name)) #define PerlDir_close(dir) \ - PL_piDir->Close((dir), ErrorNo()) + (*PL_piDir->pClose)(PL_piDir, (dir)) #define PerlDir_open(name) \ - PL_piDir->Open((name), ErrorNo()) + (*PL_piDir->pOpen)(PL_piDir, (name)) #define PerlDir_read(dir) \ - PL_piDir->Read((dir), ErrorNo()) + (*PL_piDir->pRead)(PL_piDir, (dir)) #define PerlDir_rewind(dir) \ - PL_piDir->Rewind((dir), ErrorNo()) + (*PL_piDir->pRewind)(PL_piDir, (dir)) #define PerlDir_seek(dir, loc) \ - PL_piDir->Seek((dir), (loc), ErrorNo()) + (*PL_piDir->pSeek)(PL_piDir, (dir), (loc)) #define PerlDir_tell(dir) \ - PL_piDir->Tell((dir), ErrorNo()) + (*PL_piDir->pTell)(PL_piDir, (dir)) #else /* PERL_OBJECT */ @@ -443,35 +542,79 @@ public: #ifdef PERL_OBJECT -class IPerlEnv +/* IPerlEnv */ +struct IPerlEnv; +typedef char* (*LPEnvGetenv)(struct IPerlEnv*, const char*); +typedef int (*LPEnvPutenv)(struct IPerlEnv*, const char*); +typedef char * (*LPEnvGetenv_len)(struct IPerlEnv*, + const char *varname, unsigned long *len); +typedef int (*LPEnvUname)(struct IPerlEnv*, struct utsname *name); +typedef void (*LPEnvClearenv)(struct IPerlEnv*); +typedef unsigned long (*LPEnvOsID)(struct IPerlEnv*); +#ifdef HAS_ENVGETENV +typedef char * (*LPENVGetenv)(struct IPerlEnv*, const char *varname); +typedef char * (*LPENVGetenv_len)(struct IPerlEnv*, + const char *varname, unsigned long *len); +#endif +#ifdef WIN32 +typedef char* (*LPEnvLibPath)(struct IPerlEnv*, char*); +typedef char* (*LPEnvSiteLibPath)(struct IPerlEnv*, char*); +#endif + +struct IPerlEnv { -public: - virtual char * Getenv(const char *varname, int &err) = 0; - virtual int Putenv(const char *envstring, int &err) = 0; - virtual char * LibPath(char *patchlevel) =0; - virtual char * SiteLibPath(char *patchlevel) =0; - virtual int Uname(struct utsname *name, int &err) =0; - virtual char * Getenv_len(const char *varname, unsigned long *len, int &err) = 0; + LPEnvGetenv pGetenv; + LPEnvPutenv pPutenv; + LPEnvGetenv_len pGetenv_len; + LPEnvUname pEnvUname; + LPEnvClearenv pClearenv; #ifdef HAS_ENVGETENV - virtual char * ENVGetenv(const char *varname, int &err) = 0; - virtual char * ENVGetenv_len(const char *varname, unsigned long *len, int &err) = 0; + LPENVGetenv pENVGetenv; + LPENVGetenv_len pENVGetenv_len; +#endif +#ifdef WIN32 + LPEnvOsID pEnvOsID; + LPEnvLibPath pLibPath; + LPEnvSiteLibPath pSiteLibPath; #endif }; -#define PerlEnv_putenv(str) PL_piENV->Putenv((str), ErrorNo()) -#define PerlEnv_getenv(str) PL_piENV->Getenv((str), ErrorNo()) -#define PerlEnv_getenv_len(str,l) PL_piENV->Getenv_len((str), (l), ErrorNo()) +struct IPerlEnvInfo +{ + unsigned long nCount; /* number of entries expected */ + struct IPerlEnv perlEnvList; +}; + +#define PerlEnv_putenv(str) \ + (*PL_piENV->pPutenv)(PL_piENV,(str)) +#define PerlEnv_getenv(str) \ + (*PL_piENV->pGetenv)(PL_piENV,(str)) +#define PerlEnv_getenv_len(str,l) \ + (*PL_piENV->pGetenv_len)(PL_piENV,(str), (l)) +#define PerlEnv_Clear() \ + (*PL_piENV->pClearenv)(PL_piENV) +#define PerlEnv_Clear() \ + (*PL_piENV->pClearenv)(PL_piENV) #ifdef HAS_ENVGETENV -# define PerlEnv_ENVgetenv(str) PL_piENV->ENVGetenv((str), ErrorNo()) -# define PerlEnv_ENVgetenv_len(str,l) PL_piENV->ENVGetenv_len((str), (l), ErrorNo()) +# define PerlEnv_ENVgetenv(str) \ + (*PL_piENV->pENVGetenv)(PL_piENV,(str)) +# define PerlEnv_ENVgetenv_len(str,l) \ + (*PL_piENV->pENVGetenv_len)(PL_piENV,(str), (l)) #else -# define PerlEnv_ENVgetenv(str) PerlEnv_getenv((str)) -# define PerlEnv_ENVgetenv_len(str,l) PerlEnv_getenv_len((str),(l)) +# define PerlEnv_ENVgetenv(str) \ + PerlEnv_getenv((str)) +# define PerlEnv_ENVgetenv_len(str,l) \ + PerlEnv_getenv_len((str),(l)) #endif -#define PerlEnv_uname(name) PL_piENV->Uname((name), ErrorNo()) +#define PerlEnv_uname(name) \ + (*PL_piENV->pEnvUname)(PL_piENV,(name)) #ifdef WIN32 -#define PerlEnv_lib_path(str) PL_piENV->LibPath((str)) -#define PerlEnv_sitelib_path(str) PL_piENV->SiteLibPath((str)) +#define PerlEnv_os_id() \ + (*PL_piENV->pEnvOsID)(PL_piENV) +#define PerlEnv_lib_path(str) \ + (*PL_piENV->pLibPath)(PL_piENV,(str)) +#define PerlEnv_sitelib_path(str) \ + (*PL_piENV->pSiteLibPath)(PL_piENV,(str)) #endif #else /* PERL_OBJECT */ @@ -488,6 +631,10 @@ public: #endif #define PerlEnv_uname(name) uname((name)) +#ifdef WIN32 +#define PerlEnv_os_id() win32_os_id() +#endif + #endif /* PERL_OBJECT */ /* @@ -496,92 +643,125 @@ public: #ifdef PERL_OBJECT -class IPerlLIO +/* IPerlLIO */ +struct IPerlLIO; +typedef int (*LPLIOAccess)(struct IPerlLIO*, const char*, int); +typedef int (*LPLIOChmod)(struct IPerlLIO*, const char*, int); +typedef int (*LPLIOChown)(struct IPerlLIO*, const char*, uid_t, + gid_t); +typedef int (*LPLIOChsize)(struct IPerlLIO*, int, long); +typedef int (*LPLIOClose)(struct IPerlLIO*, int); +typedef int (*LPLIODup)(struct IPerlLIO*, int); +typedef int (*LPLIODup2)(struct IPerlLIO*, int, int); +typedef int (*LPLIOFlock)(struct IPerlLIO*, int, int); +typedef int (*LPLIOFileStat)(struct IPerlLIO*, int, struct stat*); +typedef int (*LPLIOIOCtl)(struct IPerlLIO*, int, unsigned int, + char*); +typedef int (*LPLIOIsatty)(struct IPerlLIO*, int); +typedef long (*LPLIOLseek)(struct IPerlLIO*, int, long, int); +typedef int (*LPLIOLstat)(struct IPerlLIO*, const char*, + struct stat*); +typedef char* (*LPLIOMktemp)(struct IPerlLIO*, char*); +typedef int (*LPLIOOpen)(struct IPerlLIO*, const char*, int); +typedef int (*LPLIOOpen3)(struct IPerlLIO*, const char*, int, int); +typedef int (*LPLIORead)(struct IPerlLIO*, int, void*, unsigned int); +typedef int (*LPLIORename)(struct IPerlLIO*, const char*, + const char*); +typedef int (*LPLIOSetmode)(struct IPerlLIO*, int, int); +typedef int (*LPLIONameStat)(struct IPerlLIO*, const char*, + struct stat*); +typedef char* (*LPLIOTmpnam)(struct IPerlLIO*, char*); +typedef int (*LPLIOUmask)(struct IPerlLIO*, int); +typedef int (*LPLIOUnlink)(struct IPerlLIO*, const char*); +typedef int (*LPLIOUtime)(struct IPerlLIO*, char*, struct utimbuf*); +typedef int (*LPLIOWrite)(struct IPerlLIO*, int, const void*, + unsigned int); + +struct IPerlLIO +{ + LPLIOAccess pAccess; + LPLIOChmod pChmod; + LPLIOChown pChown; + LPLIOChsize pChsize; + LPLIOClose pClose; + LPLIODup pDup; + LPLIODup2 pDup2; + LPLIOFlock pFlock; + LPLIOFileStat pFileStat; + LPLIOIOCtl pIOCtl; + LPLIOIsatty pIsatty; + LPLIOLseek pLseek; + LPLIOLstat pLstat; + LPLIOMktemp pMktemp; + LPLIOOpen pOpen; + LPLIOOpen3 pOpen3; + LPLIORead pRead; + LPLIORename pRename; + LPLIOSetmode pSetmode; + LPLIONameStat pNameStat; + LPLIOTmpnam pTmpnam; + LPLIOUmask pUmask; + LPLIOUnlink pUnlink; + LPLIOUtime pUtime; + LPLIOWrite pWrite; +}; + +struct IPerlLIOInfo { -public: - virtual int Access(const char *path, int mode, int &err) = 0; - virtual int Chmod(const char *filename, int pmode, int &err) = 0; - virtual int Chown(const char *filename, uid_t owner, - gid_t group, int &err) = 0; - virtual int Chsize(int handle, long size, int &err) = 0; - virtual int Close(int handle, int &err) = 0; - virtual int Dup(int handle, int &err) = 0; - virtual int Dup2(int handle1, int handle2, int &err) = 0; - virtual int Flock(int fd, int oper, int &err) = 0; - virtual int FileStat(int handle, struct stat *buffer, int &err) = 0; - virtual int IOCtl(int i, unsigned int u, char *data, int &err) = 0; - virtual int Isatty(int handle, int &err) = 0; - virtual long Lseek(int handle, long offset, int origin, int &err) = 0; - virtual int Lstat(const char *path, struct stat *buffer, int &err) = 0; - virtual char * Mktemp(char *Template, int &err) = 0; - virtual int Open(const char *filename, int oflag, int &err) = 0; - virtual int Open(const char *filename, int oflag, - int pmode, int &err) = 0; - virtual int Read(int handle, void *buffer, - unsigned int count, int &err) = 0; - virtual int Rename(const char *oname, - const char *newname, int &err) = 0; - virtual int Setmode(int handle, int mode, int &err) = 0; - virtual int NameStat(const char *path, - struct stat *buffer, int &err) = 0; - virtual char * Tmpnam(char *string, int &err) = 0; - virtual int Umask(int pmode, int &err) = 0; - virtual int Unlink(const char *filename, int &err) = 0; - virtual int Utime(char *filename, struct utimbuf *times, int &err) = 0; - virtual int Write(int handle, const void *buffer, - unsigned int count, int &err) = 0; + unsigned long nCount; /* number of entries expected */ + struct IPerlLIO perlLIOList; }; #define PerlLIO_access(file, mode) \ - PL_piLIO->Access((file), (mode), ErrorNo()) + (*PL_piLIO->pAccess)(PL_piLIO, (file), (mode)) #define PerlLIO_chmod(file, mode) \ - PL_piLIO->Chmod((file), (mode), ErrorNo()) + (*PL_piLIO->pChmod)(PL_piLIO, (file), (mode)) #define PerlLIO_chown(file, owner, group) \ - PL_piLIO->Chown((file), (owner), (group), ErrorNo()) + (*PL_piLIO->pChown)(PL_piLIO, (file), (owner), (group)) #define PerlLIO_chsize(fd, size) \ - PL_piLIO->Chsize((fd), (size), ErrorNo()) + (*PL_piLIO->pChsize)(PL_piLIO, (fd), (size)) #define PerlLIO_close(fd) \ - PL_piLIO->Close((fd), ErrorNo()) + (*PL_piLIO->pClose)(PL_piLIO, (fd)) #define PerlLIO_dup(fd) \ - PL_piLIO->Dup((fd), ErrorNo()) + (*PL_piLIO->pDup)(PL_piLIO, (fd)) #define PerlLIO_dup2(fd1, fd2) \ - PL_piLIO->Dup2((fd1), (fd2), ErrorNo()) + (*PL_piLIO->pDup2)(PL_piLIO, (fd1), (fd2)) #define PerlLIO_flock(fd, op) \ - PL_piLIO->Flock((fd), (op), ErrorNo()) + (*PL_piLIO->pFlock)(PL_piLIO, (fd), (op)) #define PerlLIO_fstat(fd, buf) \ - PL_piLIO->FileStat((fd), (buf), ErrorNo()) + (*PL_piLIO->pFileStat)(PL_piLIO, (fd), (buf)) #define PerlLIO_ioctl(fd, u, buf) \ - PL_piLIO->IOCtl((fd), (u), (buf), ErrorNo()) + (*PL_piLIO->pIOCtl)(PL_piLIO, (fd), (u), (buf)) #define PerlLIO_isatty(fd) \ - PL_piLIO->Isatty((fd), ErrorNo()) + (*PL_piLIO->pIsatty)(PL_piLIO, (fd)) #define PerlLIO_lseek(fd, offset, mode) \ - PL_piLIO->Lseek((fd), (offset), (mode), ErrorNo()) + (*PL_piLIO->pLseek)(PL_piLIO, (fd), (offset), (mode)) #define PerlLIO_lstat(name, buf) \ - PL_piLIO->Lstat((name), (buf), ErrorNo()) + (*PL_piLIO->pLstat)(PL_piLIO, (name), (buf)) #define PerlLIO_mktemp(file) \ - PL_piLIO->Mktemp((file), ErrorNo()) + (*PL_piLIO->pMktemp)(PL_piLIO, (file)) #define PerlLIO_open(file, flag) \ - PL_piLIO->Open((file), (flag), ErrorNo()) + (*PL_piLIO->pOpen)(PL_piLIO, (file), (flag)) #define PerlLIO_open3(file, flag, perm) \ - PL_piLIO->Open((file), (flag), (perm), ErrorNo()) + (*PL_piLIO->pOpen3)(PL_piLIO, (file), (flag), (perm)) #define PerlLIO_read(fd, buf, count) \ - PL_piLIO->Read((fd), (buf), (count), ErrorNo()) + (*PL_piLIO->pRead)(PL_piLIO, (fd), (buf), (count)) #define PerlLIO_rename(oname, newname) \ - PL_piLIO->Rename((oname), (newname), ErrorNo()) + (*PL_piLIO->pRename)(PL_piLIO, (oname), (newname)) #define PerlLIO_setmode(fd, mode) \ - PL_piLIO->Setmode((fd), (mode), ErrorNo()) + (*PL_piLIO->pSetmode)(PL_piLIO, (fd), (mode)) #define PerlLIO_stat(name, buf) \ - PL_piLIO->NameStat((name), (buf), ErrorNo()) + (*PL_piLIO->pNameStat)(PL_piLIO, (name), (buf)) #define PerlLIO_tmpnam(str) \ - PL_piLIO->Tmpnam((str), ErrorNo()) + (*PL_piLIO->pTmpnam)(PL_piLIO, (str)) #define PerlLIO_umask(mode) \ - PL_piLIO->Umask((mode), ErrorNo()) + (*PL_piLIO->pUmask)(PL_piLIO, (mode)) #define PerlLIO_unlink(file) \ - PL_piLIO->Unlink((file), ErrorNo()) + (*PL_piLIO->pUnlink)(PL_piLIO, (file)) #define PerlLIO_utime(file, time) \ - PL_piLIO->Utime((file), (time), ErrorNo()) + (*PL_piLIO->pUtime)(PL_piLIO, (file), (time)) #define PerlLIO_write(fd, buf, count) \ - PL_piLIO->Write((fd), (buf), (count), ErrorNo()) + (*PL_piLIO->pWrite)(PL_piLIO, (fd), (buf), (count)) #else /* PERL_OBJECT */ @@ -624,17 +804,31 @@ public: #ifdef PERL_OBJECT -class IPerlMem +/* IPerlMem */ +struct IPerlMem; +typedef void* (*LPMemMalloc)(struct IPerlMem*, size_t); +typedef void* (*LPMemRealloc)(struct IPerlMem*, void*, size_t); +typedef void (*LPMemFree)(struct IPerlMem*, void*); + +struct IPerlMem { -public: - virtual void * Malloc(size_t) = 0; - virtual void * Realloc(void*, size_t) = 0; - virtual void Free(void*) = 0; + LPMemMalloc pMalloc; + LPMemRealloc pRealloc; + LPMemFree pFree; }; -#define PerlMem_malloc(size) PL_piMem->Malloc((size)) -#define PerlMem_realloc(buf, size) PL_piMem->Realloc((buf), (size)) -#define PerlMem_free(buf) PL_piMem->Free((buf)) +struct IPerlMemInfo +{ + unsigned long nCount; /* number of entries expected */ + struct IPerlMem perlMemList; +}; + +#define PerlMem_malloc(size) \ + (*PL_piMem->pMalloc)(PL_piMem, (size)) +#define PerlMem_realloc(buf, size) \ + (*PL_piMem->pRealloc)(PL_piMem, (buf), (size)) +#define PerlMem_free(buf) \ + (*PL_piMem->pFree)(PL_piMem, (buf)) #else /* PERL_OBJECT */ @@ -658,86 +852,160 @@ typedef Signal_t (*Sighandler_t) (int); #include #endif -class IPerlProc +/* IPerlProc */ +struct IPerlProc; +typedef void (*LPProcAbort)(struct IPerlProc*); +typedef char* (*LPProcCrypt)(struct IPerlProc*, const char*, + const char*); +typedef void (*LPProcExit)(struct IPerlProc*, int); +typedef void (*LPProc_Exit)(struct IPerlProc*, int); +typedef int (*LPProcExecl)(struct IPerlProc*, const char*, + const char*, const char*, const char*, + const char*); +typedef int (*LPProcExecv)(struct IPerlProc*, const char*, + const char*const*); +typedef int (*LPProcExecvp)(struct IPerlProc*, const char*, + const char*const*); +typedef uid_t (*LPProcGetuid)(struct IPerlProc*); +typedef uid_t (*LPProcGeteuid)(struct IPerlProc*); +typedef gid_t (*LPProcGetgid)(struct IPerlProc*); +typedef gid_t (*LPProcGetegid)(struct IPerlProc*); +typedef char* (*LPProcGetlogin)(struct IPerlProc*); +typedef int (*LPProcKill)(struct IPerlProc*, int, int); +typedef int (*LPProcKillpg)(struct IPerlProc*, int, int); +typedef int (*LPProcPauseProc)(struct IPerlProc*); +typedef PerlIO* (*LPProcPopen)(struct IPerlProc*, const char*, + const char*); +typedef int (*LPProcPclose)(struct IPerlProc*, PerlIO*); +typedef int (*LPProcPipe)(struct IPerlProc*, int*); +typedef int (*LPProcSetuid)(struct IPerlProc*, uid_t); +typedef int (*LPProcSetgid)(struct IPerlProc*, gid_t); +typedef int (*LPProcSleep)(struct IPerlProc*, unsigned int); +typedef int (*LPProcTimes)(struct IPerlProc*, struct tms*); +typedef int (*LPProcWait)(struct IPerlProc*, int*); +typedef int (*LPProcWaitpid)(struct IPerlProc*, int, int*, int); +typedef Sighandler_t (*LPProcSignal)(struct IPerlProc*, int, Sighandler_t); +typedef void* (*LPProcDynaLoader)(struct IPerlProc*, const char*); +#ifdef WIN32 +typedef void (*LPProcGetOSError)(struct IPerlProc*, + SV* sv, DWORD dwErr); +typedef void (*LPProcFreeBuf)(struct IPerlProc*, char*); +typedef BOOL (*LPProcDoCmd)(struct IPerlProc*, char*); +typedef int (*LPProcSpawn)(struct IPerlProc*, char*); +typedef int (*LPProcSpawnvp)(struct IPerlProc*, int, const char*, + const char*const*); +typedef int (*LPProcASpawn)(struct IPerlProc*, void*, void**, void**); +#endif + +struct IPerlProc { -public: - virtual void Abort(void) = 0; - virtual char * Crypt(const char* clear, const char* salt) = 0; - virtual void Exit(int status) = 0; - virtual void _Exit(int status) = 0; - virtual int Execl(const char *cmdname, const char *arg0, - const char *arg1, const char *arg2, - const char *arg3) = 0; - virtual int Execv(const char *cmdname, const char *const *argv) = 0; - virtual int Execvp(const char *cmdname, const char *const *argv) = 0; - virtual uid_t Getuid(void) = 0; - virtual uid_t Geteuid(void) = 0; - virtual gid_t Getgid(void) = 0; - virtual gid_t Getegid(void) = 0; - virtual char * Getlogin(void) = 0; - virtual int Kill(int pid, int sig) = 0; - virtual int Killpg(int pid, int sig) = 0; - virtual int PauseProc(void) = 0; - virtual PerlIO * Popen(const char *command, const char *mode) = 0; - virtual int Pclose(PerlIO *stream) = 0; - virtual int Pipe(int *phandles) = 0; - virtual int Setuid(uid_t uid) = 0; - virtual int Setgid(gid_t gid) = 0; - virtual int Sleep(unsigned int) = 0; - virtual int Times(struct tms *timebuf) = 0; - virtual int Wait(int *status) = 0; - virtual int Waitpid(int pid, int *status, int flags) = 0; - virtual Sighandler_t Signal(int sig, Sighandler_t subcode) = 0; + LPProcAbort pAbort; + LPProcCrypt pCrypt; + LPProcExit pExit; + LPProc_Exit p_Exit; + LPProcExecl pExecl; + LPProcExecv pExecv; + LPProcExecvp pExecvp; + LPProcGetuid pGetuid; + LPProcGeteuid pGeteuid; + LPProcGetgid pGetgid; + LPProcGetegid pGetegid; + LPProcGetlogin pGetlogin; + LPProcKill pKill; + LPProcKillpg pKillpg; + LPProcPauseProc pPauseProc; + LPProcPopen pPopen; + LPProcPclose pPclose; + LPProcPipe pPipe; + LPProcSetuid pSetuid; + LPProcSetgid pSetgid; + LPProcSleep pSleep; + LPProcTimes pTimes; + LPProcWait pWait; + LPProcWaitpid pWaitpid; + LPProcSignal pSignal; #ifdef WIN32 - virtual void GetSysMsg(char*& msg, DWORD& dwLen, DWORD dwErr) = 0; - virtual void FreeBuf(char* msg) = 0; - virtual BOOL DoCmd(char *cmd) = 0; - virtual int Spawn(char*cmds) = 0; - virtual int Spawnvp(int mode, const char *cmdname, - const char *const *argv) = 0; - virtual int ASpawn(void *vreally, void **vmark, void **vsp) = 0; + LPProcDynaLoader pDynaLoader; + LPProcGetOSError pGetOSError; + LPProcDoCmd pDoCmd; + LPProcSpawn pSpawn; + LPProcSpawnvp pSpawnvp; + LPProcASpawn pASpawn; #endif }; -#define PerlProc_abort() PL_piProc->Abort() -#define PerlProc_crypt(c,s) PL_piProc->Crypt((c), (s)) -#define PerlProc_exit(s) PL_piProc->Exit((s)) -#define PerlProc__exit(s) PL_piProc->_Exit((s)) +struct IPerlProcInfo +{ + unsigned long nCount; /* number of entries expected */ + struct IPerlProc perlProcList; +}; + +#define PerlProc_abort() \ + (*PL_piProc->pAbort)(PL_piProc) +#define PerlProc_crypt(c,s) \ + (*PL_piProc->pCrypt)(PL_piProc, (c), (s)) +#define PerlProc_exit(s) \ + (*PL_piProc->pExit)(PL_piProc, (s)) +#define PerlProc__exit(s) \ + (*PL_piProc->p_Exit)(PL_piProc, (s)) #define PerlProc_execl(c, w, x, y, z) \ - PL_piProc->Execl((c), (w), (x), (y), (z)) - -#define PerlProc_execv(c, a) PL_piProc->Execv((c), (a)) -#define PerlProc_execvp(c, a) PL_piProc->Execvp((c), (a)) -#define PerlProc_getuid() PL_piProc->Getuid() -#define PerlProc_geteuid() PL_piProc->Geteuid() -#define PerlProc_getgid() PL_piProc->Getgid() -#define PerlProc_getegid() PL_piProc->Getegid() -#define PerlProc_getlogin() PL_piProc->Getlogin() -#define PerlProc_kill(i, a) PL_piProc->Kill((i), (a)) -#define PerlProc_killpg(i, a) PL_piProc->Killpg((i), (a)) -#define PerlProc_pause() PL_piProc->PauseProc() -#define PerlProc_popen(c, m) PL_piProc->Popen((c), (m)) -#define PerlProc_pclose(f) PL_piProc->Pclose((f)) -#define PerlProc_pipe(fd) PL_piProc->Pipe((fd)) -#define PerlProc_setuid(u) PL_piProc->Setuid((u)) -#define PerlProc_setgid(g) PL_piProc->Setgid((g)) -#define PerlProc_sleep(t) PL_piProc->Sleep((t)) -#define PerlProc_times(t) PL_piProc->Times((t)) -#define PerlProc_wait(t) PL_piProc->Wait((t)) -#define PerlProc_waitpid(p,s,f) PL_piProc->Waitpid((p), (s), (f)) -#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n)) -#define PerlProc_longjmp(b, n) Siglongjmp((b), (n)) -#define PerlProc_signal(n, h) PL_piProc->Signal((n), (h)) + (*PL_piProc->pExecl)(PL_piProc, (c), (w), (x), (y), (z)) +#define PerlProc_execv(c, a) \ + (*PL_piProc->pExecv)(PL_piProc, (c), (a)) +#define PerlProc_execvp(c, a) \ + (*PL_piProc->pExecvp)(PL_piProc, (c), (a)) +#define PerlProc_getuid() \ + (*PL_piProc->pGetuid)(PL_piProc) +#define PerlProc_geteuid() \ + (*PL_piProc->pGeteuid)(PL_piProc) +#define PerlProc_getgid() \ + (*PL_piProc->pGetgid)(PL_piProc) +#define PerlProc_getegid() \ + (*PL_piProc->pGetegid)(PL_piProc) +#define PerlProc_getlogin() \ + (*PL_piProc->pGetlogin)(PL_piProc) +#define PerlProc_kill(i, a) \ + (*PL_piProc->pKill)(PL_piProc, (i), (a)) +#define PerlProc_killpg(i, a) \ + (*PL_piProc->pKillpg)(PL_piProc, (i), (a)) +#define PerlProc_pause() \ + (*PL_piProc->pPauseProc)(PL_piProc) +#define PerlProc_popen(c, m) \ + (*PL_piProc->pPopen)(PL_piProc, (c), (m)) +#define PerlProc_pclose(f) \ + (*PL_piProc->pPclose)(PL_piProc, (f)) +#define PerlProc_pipe(fd) \ + (*PL_piProc->pPipe)(PL_piProc, (fd)) +#define PerlProc_setuid(u) \ + (*PL_piProc->pSetuid)(PL_piProc, (u)) +#define PerlProc_setgid(g) \ + (*PL_piProc->pSetgid)(PL_piProc, (g)) +#define PerlProc_sleep(t) \ + (*PL_piProc->pSleep)(PL_piProc, (t)) +#define PerlProc_times(t) \ + (*PL_piProc->pTimes)(PL_piProc, (t)) +#define PerlProc_wait(t) \ + (*PL_piProc->pWait)(PL_piProc, (t)) +#define PerlProc_waitpid(p,s,f) \ + (*PL_piProc->pWaitpid)(PL_piProc, (p), (s), (f)) +#define PerlProc_signal(n, h) \ + (*PL_piProc->pSignal)(PL_piProc, (n), (h)) +#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n)) +#define PerlProc_longjmp(b, n) Siglongjmp((b), (n)) #ifdef WIN32 -#define PerlProc_GetSysMsg(s,l,e) \ - PL_piProc->GetSysMsg((s), (l), (e)) - -#define PerlProc_FreeBuf(s) PL_piProc->FreeBuf((s)) -#define PerlProc_Cmd(s) PL_piProc->DoCmd((s)) -#define do_spawn(s) PL_piProc->Spawn((s)) -#define do_spawnvp(m, c, a) PL_piProc->Spawnvp((m), (c), (a)) -#define PerlProc_aspawn(m,c,a) PL_piProc->ASpawn((m), (c), (a)) +#define PerlProc_DynaLoad(f) \ + (*PL_piProc->pDynaLoader)(PL_piProc, (f)) +#define PerlProc_GetOSError(s,e) \ + (*PL_piProc->pGetOSError)(PL_piProc, (s), (e)) +#define PerlProc_Cmd(s) \ + (*PL_piProc->pDoCmd)(PL_piProc, (s)) +#define do_spawn(s) \ + (*PL_piProc->pSpawn)(PL_piProc, (s)) +#define do_spawnvp(m, c, a) \ + (*PL_piProc->pSpawnvp)(PL_piProc, (m), (c), (a)) +#define PerlProc_aspawn(m,c,a) \ + (*PL_piProc->pASpawn)(PL_piProc, (m), (c), (a)) #endif #else /* PERL_OBJECT */ @@ -771,7 +1039,12 @@ public: #define PerlProc_longjmp(b, n) Siglongjmp((b), (n)) #define PerlProc_signal(n, h) signal((n), (h)) - +#ifdef WIN32 +#define PerlProc_DynaLoad(f) \ + win32_dynaload(aTHX_ const char*filename) +#define PerlProc_GetOSError(s,e) \ + win32_str_os_error(aTHX_ (s), (e)) +#endif #endif /* PERL_OBJECT */ /* @@ -780,123 +1053,217 @@ public: #ifdef PERL_OBJECT -class IPerlSock +/* PerlSock */ +struct IPerlSock; +typedef u_long (*LPHtonl)(struct IPerlSock*, u_long); +typedef u_short (*LPHtons)(struct IPerlSock*, u_short); +typedef u_long (*LPNtohl)(struct IPerlSock*, u_long); +typedef u_short (*LPNtohs)(struct IPerlSock*, u_short); +typedef SOCKET (*LPAccept)(struct IPerlSock*, SOCKET, + struct sockaddr*, int*); +typedef int (*LPBind)(struct IPerlSock*, SOCKET, + const struct sockaddr*, int); +typedef int (*LPConnect)(struct IPerlSock*, SOCKET, + const struct sockaddr*, int); +typedef void (*LPEndhostent)(struct IPerlSock*); +typedef void (*LPEndnetent)(struct IPerlSock*); +typedef void (*LPEndprotoent)(struct IPerlSock*); +typedef void (*LPEndservent)(struct IPerlSock*); +typedef int (*LPGethostname)(struct IPerlSock*, char*, int); +typedef int (*LPGetpeername)(struct IPerlSock*, SOCKET, + struct sockaddr*, int*); +typedef struct hostent* (*LPGethostbyaddr)(struct IPerlSock*, const char*, + int, int); +typedef struct hostent* (*LPGethostbyname)(struct IPerlSock*, const char*); +typedef struct hostent* (*LPGethostent)(struct IPerlSock*); +typedef struct netent* (*LPGetnetbyaddr)(struct IPerlSock*, long, int); +typedef struct netent* (*LPGetnetbyname)(struct IPerlSock*, const char*); +typedef struct netent* (*LPGetnetent)(struct IPerlSock*); +typedef struct protoent*(*LPGetprotobyname)(struct IPerlSock*, const char*); +typedef struct protoent*(*LPGetprotobynumber)(struct IPerlSock*, int); +typedef struct protoent*(*LPGetprotoent)(struct IPerlSock*); +typedef struct servent* (*LPGetservbyname)(struct IPerlSock*, const char*, + const char*); +typedef struct servent* (*LPGetservbyport)(struct IPerlSock*, int, + const char*); +typedef struct servent* (*LPGetservent)(struct IPerlSock*); +typedef int (*LPGetsockname)(struct IPerlSock*, SOCKET, + struct sockaddr*, int*); +typedef int (*LPGetsockopt)(struct IPerlSock*, SOCKET, int, int, + char*, int*); +typedef unsigned long (*LPInetAddr)(struct IPerlSock*, const char*); +typedef char* (*LPInetNtoa)(struct IPerlSock*, struct in_addr); +typedef int (*LPListen)(struct IPerlSock*, SOCKET, int); +typedef int (*LPRecv)(struct IPerlSock*, SOCKET, char*, int, int); +typedef int (*LPRecvfrom)(struct IPerlSock*, SOCKET, char*, int, + int, struct sockaddr*, int*); +typedef int (*LPSelect)(struct IPerlSock*, int, char*, char*, + char*, const struct timeval*); +typedef int (*LPSend)(struct IPerlSock*, SOCKET, const char*, int, + int); +typedef int (*LPSendto)(struct IPerlSock*, SOCKET, const char*, + int, int, const struct sockaddr*, int); +typedef void (*LPSethostent)(struct IPerlSock*, int); +typedef void (*LPSetnetent)(struct IPerlSock*, int); +typedef void (*LPSetprotoent)(struct IPerlSock*, int); +typedef void (*LPSetservent)(struct IPerlSock*, int); +typedef int (*LPSetsockopt)(struct IPerlSock*, SOCKET, int, int, + const char*, int); +typedef int (*LPShutdown)(struct IPerlSock*, SOCKET, int); +typedef SOCKET (*LPSocket)(struct IPerlSock*, int, int, int); +typedef int (*LPSocketpair)(struct IPerlSock*, int, int, int, + int*); +#ifdef WIN32 +typedef int (*LPClosesocket)(struct IPerlSock*, SOCKET s); +#endif + +struct IPerlSock { -public: - virtual u_long Htonl(u_long hostlong) = 0; - virtual u_short Htons(u_short hostshort) = 0; - virtual u_long Ntohl(u_long netlong) = 0; - virtual u_short Ntohs(u_short netshort) = 0; - virtual SOCKET Accept(SOCKET s, struct sockaddr* addr, - int* addrlen, int &err) = 0; - virtual int Bind(SOCKET s, const struct sockaddr* name, - int namelen, int &err) = 0; - virtual int Connect(SOCKET s, const struct sockaddr* name, - int namelen, int &err) = 0; - virtual void Endhostent(int &err) = 0; - virtual void Endnetent(int &err) = 0; - virtual void Endprotoent(int &err) = 0; - virtual void Endservent(int &err) = 0; - virtual int Gethostname(char* name, int namelen, int &err) = 0; - virtual int Getpeername(SOCKET s, struct sockaddr* name, - int* namelen, int &err) = 0; - virtual struct hostent * Gethostbyaddr(const char* addr, int len, - int type, int &err) = 0; - virtual struct hostent * Gethostbyname(const char* name, int &err) = 0; - virtual struct hostent * Gethostent(int &err) = 0; - virtual struct netent * Getnetbyaddr(long net, int type, int &err) = 0; - virtual struct netent * Getnetbyname(const char *, int &err) = 0; - virtual struct netent * Getnetent(int &err) = 0; - virtual struct protoent * Getprotobyname(const char* name, int &err) = 0; - virtual struct protoent * Getprotobynumber(int number, int &err) = 0; - virtual struct protoent * Getprotoent(int &err) = 0; - virtual struct servent * Getservbyname(const char* name, - const char* proto, int &err) = 0; - virtual struct servent * Getservbyport(int port, const char* proto, - int &err) = 0; - virtual struct servent * Getservent(int &err) = 0; - virtual int Getsockname(SOCKET s, struct sockaddr* name, - int* namelen, int &err) = 0; - virtual int Getsockopt(SOCKET s, int level, int optname, - char* optval, int* optlen, int &err) = 0; - virtual unsigned long InetAddr(const char* cp, int &err) = 0; - virtual char * InetNtoa(struct in_addr in, int &err) = 0; - virtual int Listen(SOCKET s, int backlog, int &err) = 0; - virtual int Recv(SOCKET s, char* buf, int len, - int flags, int &err) = 0; - virtual int Recvfrom(SOCKET s, char* buf, int len, int flags, - struct sockaddr* from, int* fromlen, int &err) = 0; - virtual int Select(int nfds, char* readfds, char* writefds, - char* exceptfds, const struct timeval* timeout, - int &err) = 0; - virtual int Send(SOCKET s, const char* buf, int len, - int flags, int &err) = 0; - virtual int Sendto(SOCKET s, const char* buf, int len, int flags, - const struct sockaddr* to, int tolen, int &err) = 0; - virtual void Sethostent(int stayopen, int &err) = 0; - virtual void Setnetent(int stayopen, int &err) = 0; - virtual void Setprotoent(int stayopen, int &err) = 0; - virtual void Setservent(int stayopen, int &err) = 0; - virtual int Setsockopt(SOCKET s, int level, int optname, - const char* optval, int optlen, int &err) = 0; - virtual int Shutdown(SOCKET s, int how, int &err) = 0; - virtual SOCKET Socket(int af, int type, int protocol, int &err) = 0; - virtual int Socketpair(int domain, int type, int protocol, - int* fds, int &err) = 0; + LPHtonl pHtonl; + LPHtons pHtons; + LPNtohl pNtohl; + LPNtohs pNtohs; + LPAccept pAccept; + LPBind pBind; + LPConnect pConnect; + LPEndhostent pEndhostent; + LPEndnetent pEndnetent; + LPEndprotoent pEndprotoent; + LPEndservent pEndservent; + LPGethostname pGethostname; + LPGetpeername pGetpeername; + LPGethostbyaddr pGethostbyaddr; + LPGethostbyname pGethostbyname; + LPGethostent pGethostent; + LPGetnetbyaddr pGetnetbyaddr; + LPGetnetbyname pGetnetbyname; + LPGetnetent pGetnetent; + LPGetprotobyname pGetprotobyname; + LPGetprotobynumber pGetprotobynumber; + LPGetprotoent pGetprotoent; + LPGetservbyname pGetservbyname; + LPGetservbyport pGetservbyport; + LPGetservent pGetservent; + LPGetsockname pGetsockname; + LPGetsockopt pGetsockopt; + LPInetAddr pInetAddr; + LPInetNtoa pInetNtoa; + LPListen pListen; + LPRecv pRecv; + LPRecvfrom pRecvfrom; + LPSelect pSelect; + LPSend pSend; + LPSendto pSendto; + LPSethostent pSethostent; + LPSetnetent pSetnetent; + LPSetprotoent pSetprotoent; + LPSetservent pSetservent; + LPSetsockopt pSetsockopt; + LPShutdown pShutdown; + LPSocket pSocket; + LPSocketpair pSocketpair; #ifdef WIN32 - virtual int Closesocket(SOCKET s, int& err) = 0; - virtual int Ioctlsocket(SOCKET s, long cmd, u_long *argp, - int& err) = 0; + LPClosesocket pClosesocket; #endif }; -#define PerlSock_htonl(x) PL_piSock->Htonl(x) -#define PerlSock_htons(x) PL_piSock->Htons(x) -#define PerlSock_ntohl(x) PL_piSock->Ntohl(x) -#define PerlSock_ntohs(x) PL_piSock->Ntohs(x) -#define PerlSock_accept(s, a, l) PL_piSock->Accept(s, a, l, ErrorNo()) -#define PerlSock_bind(s, n, l) PL_piSock->Bind(s, n, l, ErrorNo()) -#define PerlSock_connect(s, n, l) PL_piSock->Connect(s, n, l, ErrorNo()) -#define PerlSock_endhostent() PL_piSock->Endhostent(ErrorNo()) -#define PerlSock_endnetent() PL_piSock->Endnetent(ErrorNo()) -#define PerlSock_endprotoent() PL_piSock->Endprotoent(ErrorNo()) -#define PerlSock_endservent() PL_piSock->Endservent(ErrorNo()) -#define PerlSock_gethostbyaddr(a, l, t) PL_piSock->Gethostbyaddr(a, l, t, ErrorNo()) -#define PerlSock_gethostbyname(n) PL_piSock->Gethostbyname(n, ErrorNo()) -#define PerlSock_gethostent() PL_piSock->Gethostent(ErrorNo()) -#define PerlSock_gethostname(n, l) PL_piSock->Gethostname(n, l, ErrorNo()) -#define PerlSock_getnetbyaddr(n, t) PL_piSock->Getnetbyaddr(n, t, ErrorNo()) -#define PerlSock_getnetbyname(c) PL_piSock->Getnetbyname(c, ErrorNo()) -#define PerlSock_getnetent() PL_piSock->Getnetent(ErrorNo()) -#define PerlSock_getpeername(s, n, l) PL_piSock->Getpeername(s, n, l, ErrorNo()) -#define PerlSock_getprotobyname(n) PL_piSock->Getprotobyname(n, ErrorNo()) -#define PerlSock_getprotobynumber(n) PL_piSock->Getprotobynumber(n, ErrorNo()) -#define PerlSock_getprotoent() PL_piSock->Getprotoent(ErrorNo()) -#define PerlSock_getservbyname(n, p) PL_piSock->Getservbyname(n, p, ErrorNo()) -#define PerlSock_getservbyport(port, p) PL_piSock->Getservbyport(port, p, ErrorNo()) -#define PerlSock_getservent() PL_piSock->Getservent(ErrorNo()) -#define PerlSock_getsockname(s, n, l) PL_piSock->Getsockname(s, n, l, ErrorNo()) -#define PerlSock_getsockopt(s,l,n,v,i) PL_piSock->Getsockopt(s, l, n, v, i, ErrorNo()) -#define PerlSock_inet_addr(c) PL_piSock->InetAddr(c, ErrorNo()) -#define PerlSock_inet_ntoa(i) PL_piSock->InetNtoa(i, ErrorNo()) -#define PerlSock_listen(s, b) PL_piSock->Listen(s, b, ErrorNo()) -#define PerlSock_recv(s, b, l, f) PL_piSock->Recv(s, b, l, f, ErrorNo()) +struct IPerlSockInfo +{ + unsigned long nCount; /* number of entries expected */ + struct IPerlSock perlSockList; +}; + +#define PerlSock_htonl(x) \ + (*PL_piSock->pHtonl)(PL_piSock, x) +#define PerlSock_htons(x) \ + (*PL_piSock->pHtons)(PL_piSock, x) +#define PerlSock_ntohl(x) \ + (*PL_piSock->pNtohl)(PL_piSock, x) +#define PerlSock_ntohs(x) \ + (*PL_piSock->pNtohs)(PL_piSock, x) +#define PerlSock_accept(s, a, l) \ + (*PL_piSock->pAccept)(PL_piSock, s, a, l) +#define PerlSock_bind(s, n, l) \ + (*PL_piSock->pBind)(PL_piSock, s, n, l) +#define PerlSock_connect(s, n, l) \ + (*PL_piSock->pConnect)(PL_piSock, s, n, l) +#define PerlSock_endhostent() \ + (*PL_piSock->pEndhostent)(PL_piSock) +#define PerlSock_endnetent() \ + (*PL_piSock->pEndnetent)(PL_piSock) +#define PerlSock_endprotoent() \ + (*PL_piSock->pEndprotoent)(PL_piSock) +#define PerlSock_endservent() \ + (*PL_piSock->pEndservent)(PL_piSock) +#define PerlSock_gethostbyaddr(a, l, t) \ + (*PL_piSock->pGethostbyaddr)(PL_piSock, a, l, t) +#define PerlSock_gethostbyname(n) \ + (*PL_piSock->pGethostbyname)(PL_piSock, n) +#define PerlSock_gethostent() \ + (*PL_piSock->pGethostent)(PL_piSock) +#define PerlSock_gethostname(n, l) \ + (*PL_piSock->pGethostname)(PL_piSock, n, l) +#define PerlSock_getnetbyaddr(n, t) \ + (*PL_piSock->pGetnetbyaddr)(PL_piSock, n, t) +#define PerlSock_getnetbyname(c) \ + (*PL_piSock->pGetnetbyname)(PL_piSock, c) +#define PerlSock_getnetent() \ + (*PL_piSock->pGetnetent)(PL_piSock) +#define PerlSock_getpeername(s, n, l) \ + (*PL_piSock->pGetpeername)(PL_piSock, s, n, l) +#define PerlSock_getprotobyname(n) \ + (*PL_piSock->pGetprotobyname)(PL_piSock, n) +#define PerlSock_getprotobynumber(n) \ + (*PL_piSock->pGetprotobynumber)(PL_piSock, n) +#define PerlSock_getprotoent() \ + (*PL_piSock->pGetprotoent)(PL_piSock) +#define PerlSock_getservbyname(n, p) \ + (*PL_piSock->pGetservbyname)(PL_piSock, n, p) +#define PerlSock_getservbyport(port, p) \ + (*PL_piSock->pGetservbyport)(PL_piSock, port, p) +#define PerlSock_getservent() \ + (*PL_piSock->pGetservent)(PL_piSock) +#define PerlSock_getsockname(s, n, l) \ + (*PL_piSock->pGetsockname)(PL_piSock, s, n, l) +#define PerlSock_getsockopt(s,l,n,v,i) \ + (*PL_piSock->pGetsockopt)(PL_piSock, s, l, n, v, i) +#define PerlSock_inet_addr(c) \ + (*PL_piSock->pInetAddr)(PL_piSock, c) +#define PerlSock_inet_ntoa(i) \ + (*PL_piSock->pInetNtoa)(PL_piSock, i) +#define PerlSock_listen(s, b) \ + (*PL_piSock->pListen)(PL_piSock, s, b) +#define PerlSock_recv(s, b, l, f) \ + (*PL_piSock->pRecv)(PL_piSock, s, b, l, f) #define PerlSock_recvfrom(s,b,l,f,from,fromlen) \ - PL_piSock->Recvfrom(s, b, l, f, from, fromlen, ErrorNo()) + (*PL_piSock->pRecvfrom)(PL_piSock, s, b, l, f, from, fromlen) #define PerlSock_select(n, r, w, e, t) \ - PL_piSock->Select(n, (char*)r, (char*)w, (char*)e, t, ErrorNo()) -#define PerlSock_send(s, b, l, f) PL_piSock->Send(s, b, l, f, ErrorNo()) + (*PL_piSock->pSelect)(PL_piSock, n, (char*)r, (char*)w, (char*)e, t) +#define PerlSock_send(s, b, l, f) \ + (*PL_piSock->pSend)(PL_piSock, s, b, l, f) #define PerlSock_sendto(s, b, l, f, t, tlen) \ - PL_piSock->Sendto(s, b, l, f, t, tlen, ErrorNo()) -#define PerlSock_sethostent(f) PL_piSock->Sethostent(f, ErrorNo()) -#define PerlSock_setnetent(f) PL_piSock->Setnetent(f, ErrorNo()) -#define PerlSock_setprotoent(f) PL_piSock->Setprotoent(f, ErrorNo()) -#define PerlSock_setservent(f) PL_piSock->Setservent(f, ErrorNo()) + (*PL_piSock->pSendto)(PL_piSock, s, b, l, f, t, tlen) +#define PerlSock_sethostent(f) \ + (*PL_piSock->pSethostent)(PL_piSock, f) +#define PerlSock_setnetent(f) \ + (*PL_piSock->pSetnetent)(PL_piSock, f) +#define PerlSock_setprotoent(f) \ + (*PL_piSock->pSetprotoent)(PL_piSock, f) +#define PerlSock_setservent(f) \ + (*PL_piSock->pSetservent)(PL_piSock, f) #define PerlSock_setsockopt(s, l, n, v, len) \ - PL_piSock->Setsockopt(s, l, n, v, len, ErrorNo()) -#define PerlSock_shutdown(s, h) PL_piSock->Shutdown(s, h, ErrorNo()) -#define PerlSock_socket(a, t, p) PL_piSock->Socket(a, t, p, ErrorNo()) -#define PerlSock_socketpair(a, t, p, f) PL_piSock->Socketpair(a, t, p, f, ErrorNo()) + (*PL_piSock->pSetsockopt)(PL_piSock, s, l, n, v, len) +#define PerlSock_shutdown(s, h) \ + (*PL_piSock->pShutdown)(PL_piSock, s, h) +#define PerlSock_socket(a, t, p) \ + (*PL_piSock->pSocket)(PL_piSock, a, t, p) +#define PerlSock_socketpair(a, t, p, f) \ + (*PL_piSock->pSocketpair)(PL_piSock, a, t, p, f) + +#ifdef WIN32 +#define PerlSock_closesocket(s) \ + (*PL_piSock->pClosesocket)(PL_piSock, s) +#endif #else /* PERL_OBJECT */ @@ -952,6 +1319,9 @@ public: #define PerlSock_socket(a, t, p) socket(a, t, p) #define PerlSock_socketpair(a, t, p, f) socketpair(a, t, p, f) +#ifdef WIN32 +#define PerlSock_closesocket(s) closesocket(s) +#endif #endif /* PERL_OBJECT */ diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm index 7b240cc..e0ea068 100644 --- a/lib/ExtUtils/Embed.pm +++ b/lib/ExtUtils/Embed.pm @@ -51,7 +51,7 @@ sub xsinit { my($file, $std, $mods) = @_; my($fh,@mods,%seen); $file ||= "perlxsi.c"; - my $xsinit_proto = is_perl_object() ? "CPERLarg" : "void"; + my $xsinit_proto = "pTHXo"; if (@_) { @mods = @$mods if $mods; @@ -120,8 +120,7 @@ EOF sub xsi_protos { my(@exts) = @_; my(@retval,%seen); - my $boot_proto = is_perl_object() ? - "CV* cv _CPERLarg" : "CV* cv"; + my $boot_proto = "pTHXo_ CV* cv"; foreach $_ (@exts){ my($pname) = canon('/', $_); my($mname, $cname); diff --git a/lib/ExtUtils/xsubpp b/lib/ExtUtils/xsubpp index 83ad03a..ac9ea74 100755 --- a/lib/ExtUtils/xsubpp +++ b/lib/ExtUtils/xsubpp @@ -1320,7 +1320,7 @@ EOF if ($WantCAPI) { print Q<<"EOF"; ##ifdef PERL_CAPI -##define XSCAPI(name) void name(CV* cv, void* pPerl) +##define XSCAPI(name) void name(void *pPerl, CV* cv) # ##ifdef __cplusplus #extern "C" diff --git a/mg.c b/mg.c index 30253bc..8175982 100644 --- a/mg.c +++ b/mg.c @@ -525,15 +525,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg) sv_setnv(sv, (double)dwErr); if (dwErr) { -#ifdef PERL_OBJECT - char *sMsg; - DWORD dwLen; - PerlProc_GetSysMsg(sMsg, dwLen, dwErr); - sv_setpvn(sv, sMsg, dwLen); - PerlProc_FreeBuf(sMsg); -#else - win32_str_os_error(aTHX_ sv, dwErr); -#endif + PerlProc_GetOSError(sv, dwErr); } else sv_setpv(sv, ""); diff --git a/objXSUB.h b/objXSUB.h index c15c19d..1e37e0b 100644 --- a/objXSUB.h +++ b/objXSUB.h @@ -789,2097 +789,4125 @@ /* Functions */ +#if defined(PERL_OBJECT) +#endif +#undef Perl_amagic_call +#define Perl_amagic_call pPerl->Perl_amagic_call #undef amagic_call -#define amagic_call pPerl->amagic_call +#define amagic_call Perl_amagic_call +#undef Perl_Gv_AMupdate +#define Perl_Gv_AMupdate pPerl->Perl_Gv_AMupdate #undef Gv_AMupdate -#define Gv_AMupdate pPerl->Gv_AMupdate +#define Gv_AMupdate Perl_Gv_AMupdate +#undef Perl_append_elem +#define Perl_append_elem pPerl->Perl_append_elem #undef append_elem -#define append_elem pPerl->append_elem +#define append_elem Perl_append_elem +#undef Perl_append_list +#define Perl_append_list pPerl->Perl_append_list #undef append_list -#define append_list pPerl->append_list +#define append_list Perl_append_list +#undef Perl_apply +#define Perl_apply pPerl->Perl_apply #undef apply -#define apply pPerl->apply +#define apply Perl_apply +#undef Perl_assertref +#define Perl_assertref pPerl->Perl_assertref #undef assertref -#define assertref pPerl->assertref +#define assertref Perl_assertref +#undef Perl_avhv_exists_ent +#define Perl_avhv_exists_ent pPerl->Perl_avhv_exists_ent #undef avhv_exists_ent -#define avhv_exists_ent pPerl->avhv_exists_ent +#define avhv_exists_ent Perl_avhv_exists_ent +#undef Perl_avhv_fetch_ent +#define Perl_avhv_fetch_ent pPerl->Perl_avhv_fetch_ent #undef avhv_fetch_ent -#define avhv_fetch_ent pPerl->avhv_fetch_ent +#define avhv_fetch_ent Perl_avhv_fetch_ent +#undef Perl_avhv_iternext +#define Perl_avhv_iternext pPerl->Perl_avhv_iternext #undef avhv_iternext -#define avhv_iternext pPerl->avhv_iternext +#define avhv_iternext Perl_avhv_iternext +#undef Perl_avhv_iterval +#define Perl_avhv_iterval pPerl->Perl_avhv_iterval #undef avhv_iterval -#define avhv_iterval pPerl->avhv_iterval +#define avhv_iterval Perl_avhv_iterval +#undef Perl_avhv_keys +#define Perl_avhv_keys pPerl->Perl_avhv_keys #undef avhv_keys -#define avhv_keys pPerl->avhv_keys +#define avhv_keys Perl_avhv_keys +#undef Perl_av_clear +#define Perl_av_clear pPerl->Perl_av_clear #undef av_clear -#define av_clear pPerl->av_clear +#define av_clear Perl_av_clear +#undef Perl_av_extend +#define Perl_av_extend pPerl->Perl_av_extend #undef av_extend -#define av_extend pPerl->av_extend +#define av_extend Perl_av_extend +#undef Perl_av_fake +#define Perl_av_fake pPerl->Perl_av_fake #undef av_fake -#define av_fake pPerl->av_fake +#define av_fake Perl_av_fake +#undef Perl_av_fetch +#define Perl_av_fetch pPerl->Perl_av_fetch #undef av_fetch -#define av_fetch pPerl->av_fetch +#define av_fetch Perl_av_fetch +#undef Perl_av_fill +#define Perl_av_fill pPerl->Perl_av_fill #undef av_fill -#define av_fill pPerl->av_fill +#define av_fill Perl_av_fill +#undef Perl_av_len +#define Perl_av_len pPerl->Perl_av_len #undef av_len -#define av_len pPerl->av_len +#define av_len Perl_av_len +#undef Perl_av_make +#define Perl_av_make pPerl->Perl_av_make #undef av_make -#define av_make pPerl->av_make +#define av_make Perl_av_make +#undef Perl_av_pop +#define Perl_av_pop pPerl->Perl_av_pop #undef av_pop -#define av_pop pPerl->av_pop +#define av_pop Perl_av_pop +#undef Perl_av_push +#define Perl_av_push pPerl->Perl_av_push #undef av_push -#define av_push pPerl->av_push +#define av_push Perl_av_push +#undef Perl_av_reify +#define Perl_av_reify pPerl->Perl_av_reify #undef av_reify -#define av_reify pPerl->av_reify +#define av_reify Perl_av_reify +#undef Perl_av_shift +#define Perl_av_shift pPerl->Perl_av_shift #undef av_shift -#define av_shift pPerl->av_shift +#define av_shift Perl_av_shift +#undef Perl_av_store +#define Perl_av_store pPerl->Perl_av_store #undef av_store -#define av_store pPerl->av_store +#define av_store Perl_av_store +#undef Perl_av_undef +#define Perl_av_undef pPerl->Perl_av_undef #undef av_undef -#define av_undef pPerl->av_undef +#define av_undef Perl_av_undef +#undef Perl_av_unshift +#define Perl_av_unshift pPerl->Perl_av_unshift #undef av_unshift -#define av_unshift pPerl->av_unshift +#define av_unshift Perl_av_unshift +#undef Perl_bind_match +#define Perl_bind_match pPerl->Perl_bind_match #undef bind_match -#define bind_match pPerl->bind_match +#define bind_match Perl_bind_match +#undef Perl_block_end +#define Perl_block_end pPerl->Perl_block_end #undef block_end -#define block_end pPerl->block_end +#define block_end Perl_block_end +#undef Perl_block_gimme +#define Perl_block_gimme pPerl->Perl_block_gimme #undef block_gimme -#define block_gimme pPerl->block_gimme +#define block_gimme Perl_block_gimme +#undef Perl_block_start +#define Perl_block_start pPerl->Perl_block_start #undef block_start -#define block_start pPerl->block_start +#define block_start Perl_block_start +#undef Perl_boot_core_UNIVERSAL +#define Perl_boot_core_UNIVERSAL pPerl->Perl_boot_core_UNIVERSAL #undef boot_core_UNIVERSAL -#define boot_core_UNIVERSAL pPerl->boot_core_UNIVERSAL +#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL +#undef Perl_call_list +#define Perl_call_list pPerl->Perl_call_list #undef call_list -#define call_list pPerl->call_list +#define call_list Perl_call_list +#undef Perl_cando +#define Perl_cando pPerl->Perl_cando #undef cando -#define cando pPerl->cando +#define cando Perl_cando +#undef Perl_cast_ulong +#define Perl_cast_ulong pPerl->Perl_cast_ulong #undef cast_ulong -#define cast_ulong pPerl->cast_ulong +#define cast_ulong Perl_cast_ulong +#undef Perl_cast_i32 +#define Perl_cast_i32 pPerl->Perl_cast_i32 #undef cast_i32 -#define cast_i32 pPerl->cast_i32 +#define cast_i32 Perl_cast_i32 +#undef Perl_cast_iv +#define Perl_cast_iv pPerl->Perl_cast_iv #undef cast_iv -#define cast_iv pPerl->cast_iv +#define cast_iv Perl_cast_iv +#undef Perl_cast_uv +#define Perl_cast_uv pPerl->Perl_cast_uv #undef cast_uv -#define cast_uv pPerl->cast_uv +#define cast_uv Perl_cast_uv #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) +#undef Perl_my_chsize +#define Perl_my_chsize pPerl->Perl_my_chsize #undef my_chsize -#define my_chsize pPerl->my_chsize +#define my_chsize Perl_my_chsize #endif #if defined(USE_THREADS) +#undef Perl_condpair_magic +#define Perl_condpair_magic pPerl->Perl_condpair_magic #undef condpair_magic -#define condpair_magic pPerl->condpair_magic +#define condpair_magic Perl_condpair_magic #endif +#undef Perl_convert +#define Perl_convert pPerl->Perl_convert #undef convert -#define convert pPerl->convert +#define convert Perl_convert +#undef Perl_croak +#define Perl_croak pPerl->Perl_croak #undef croak -#define croak pPerl->croak +#define croak Perl_croak #if defined(PERL_IMPLICIT_CONTEXT) +#undef Perl_croak_nocontext +#define Perl_croak_nocontext pPerl->Perl_croak_nocontext #undef croak_nocontext -#define croak_nocontext pPerl->croak_nocontext +#define croak_nocontext Perl_croak_nocontext +#undef Perl_die_nocontext +#define Perl_die_nocontext pPerl->Perl_die_nocontext #undef die_nocontext -#define die_nocontext pPerl->die_nocontext +#define die_nocontext Perl_die_nocontext +#undef Perl_form_nocontext +#define Perl_form_nocontext pPerl->Perl_form_nocontext #undef form_nocontext -#define form_nocontext pPerl->form_nocontext +#define form_nocontext Perl_form_nocontext +#undef Perl_warn_nocontext +#define Perl_warn_nocontext pPerl->Perl_warn_nocontext #undef warn_nocontext -#define warn_nocontext pPerl->warn_nocontext +#define warn_nocontext Perl_warn_nocontext +#undef Perl_newSVpvf_nocontext +#define Perl_newSVpvf_nocontext pPerl->Perl_newSVpvf_nocontext #undef newSVpvf_nocontext -#define newSVpvf_nocontext pPerl->newSVpvf_nocontext +#define newSVpvf_nocontext Perl_newSVpvf_nocontext +#undef Perl_sv_catpvf_nocontext +#define Perl_sv_catpvf_nocontext pPerl->Perl_sv_catpvf_nocontext #undef sv_catpvf_nocontext -#define sv_catpvf_nocontext pPerl->sv_catpvf_nocontext +#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext +#undef Perl_sv_setpvf_nocontext +#define Perl_sv_setpvf_nocontext pPerl->Perl_sv_setpvf_nocontext #undef sv_setpvf_nocontext -#define sv_setpvf_nocontext pPerl->sv_setpvf_nocontext +#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext +#undef Perl_sv_catpvf_mg_nocontext +#define Perl_sv_catpvf_mg_nocontext pPerl->Perl_sv_catpvf_mg_nocontext #undef sv_catpvf_mg_nocontext -#define sv_catpvf_mg_nocontext pPerl->sv_catpvf_mg_nocontext +#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext +#undef Perl_sv_setpvf_mg_nocontext +#define Perl_sv_setpvf_mg_nocontext pPerl->Perl_sv_setpvf_mg_nocontext #undef sv_setpvf_mg_nocontext -#define sv_setpvf_mg_nocontext pPerl->sv_setpvf_mg_nocontext +#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext #endif +#undef Perl_cv_ckproto +#define Perl_cv_ckproto pPerl->Perl_cv_ckproto #undef cv_ckproto -#define cv_ckproto pPerl->cv_ckproto +#define cv_ckproto Perl_cv_ckproto +#undef Perl_cv_clone +#define Perl_cv_clone pPerl->Perl_cv_clone #undef cv_clone -#define cv_clone pPerl->cv_clone +#define cv_clone Perl_cv_clone +#undef Perl_cv_const_sv +#define Perl_cv_const_sv pPerl->Perl_cv_const_sv #undef cv_const_sv -#define cv_const_sv pPerl->cv_const_sv +#define cv_const_sv Perl_cv_const_sv +#undef Perl_op_const_sv +#define Perl_op_const_sv pPerl->Perl_op_const_sv #undef op_const_sv -#define op_const_sv pPerl->op_const_sv +#define op_const_sv Perl_op_const_sv +#undef Perl_cv_undef +#define Perl_cv_undef pPerl->Perl_cv_undef #undef cv_undef -#define cv_undef pPerl->cv_undef +#define cv_undef Perl_cv_undef +#undef Perl_cx_dump +#define Perl_cx_dump pPerl->Perl_cx_dump #undef cx_dump -#define cx_dump pPerl->cx_dump +#define cx_dump Perl_cx_dump +#undef Perl_filter_add +#define Perl_filter_add pPerl->Perl_filter_add #undef filter_add -#define filter_add pPerl->filter_add +#define filter_add Perl_filter_add +#undef Perl_filter_del +#define Perl_filter_del pPerl->Perl_filter_del #undef filter_del -#define filter_del pPerl->filter_del +#define filter_del Perl_filter_del +#undef Perl_filter_read +#define Perl_filter_read pPerl->Perl_filter_read #undef filter_read -#define filter_read pPerl->filter_read +#define filter_read Perl_filter_read +#undef Perl_get_op_descs +#define Perl_get_op_descs pPerl->Perl_get_op_descs #undef get_op_descs -#define get_op_descs pPerl->get_op_descs +#define get_op_descs Perl_get_op_descs +#undef Perl_get_op_names +#define Perl_get_op_names pPerl->Perl_get_op_names #undef get_op_names -#define get_op_names pPerl->get_op_names +#define get_op_names Perl_get_op_names +#undef Perl_get_no_modify +#define Perl_get_no_modify pPerl->Perl_get_no_modify #undef get_no_modify -#define get_no_modify pPerl->get_no_modify +#define get_no_modify Perl_get_no_modify +#undef Perl_get_opargs +#define Perl_get_opargs pPerl->Perl_get_opargs #undef get_opargs -#define get_opargs pPerl->get_opargs +#define get_opargs Perl_get_opargs +#undef Perl_get_ppaddr +#define Perl_get_ppaddr pPerl->Perl_get_ppaddr +#undef get_ppaddr +#define get_ppaddr Perl_get_ppaddr +#undef Perl_cxinc +#define Perl_cxinc pPerl->Perl_cxinc #undef cxinc -#define cxinc pPerl->cxinc +#define cxinc Perl_cxinc +#undef Perl_deb +#define Perl_deb pPerl->Perl_deb #undef deb -#define deb pPerl->deb +#define deb Perl_deb +#undef Perl_deb_growlevel +#define Perl_deb_growlevel pPerl->Perl_deb_growlevel #undef deb_growlevel -#define deb_growlevel pPerl->deb_growlevel +#define deb_growlevel Perl_deb_growlevel +#undef Perl_debprofdump +#define Perl_debprofdump pPerl->Perl_debprofdump #undef debprofdump -#define debprofdump pPerl->debprofdump +#define debprofdump Perl_debprofdump +#undef Perl_debop +#define Perl_debop pPerl->Perl_debop #undef debop -#define debop pPerl->debop +#define debop Perl_debop +#undef Perl_debstack +#define Perl_debstack pPerl->Perl_debstack #undef debstack -#define debstack pPerl->debstack +#define debstack Perl_debstack +#undef Perl_debstackptrs +#define Perl_debstackptrs pPerl->Perl_debstackptrs #undef debstackptrs -#define debstackptrs pPerl->debstackptrs +#define debstackptrs Perl_debstackptrs +#undef Perl_delimcpy +#define Perl_delimcpy pPerl->Perl_delimcpy #undef delimcpy -#define delimcpy pPerl->delimcpy +#define delimcpy Perl_delimcpy +#undef Perl_deprecate +#define Perl_deprecate pPerl->Perl_deprecate #undef deprecate -#define deprecate pPerl->deprecate +#define deprecate Perl_deprecate +#undef Perl_die +#define Perl_die pPerl->Perl_die #undef die -#define die pPerl->die +#define die Perl_die +#undef Perl_die_where +#define Perl_die_where pPerl->Perl_die_where #undef die_where -#define die_where pPerl->die_where +#define die_where Perl_die_where +#undef Perl_dounwind +#define Perl_dounwind pPerl->Perl_dounwind #undef dounwind -#define dounwind pPerl->dounwind +#define dounwind Perl_dounwind +#undef Perl_do_aexec +#define Perl_do_aexec pPerl->Perl_do_aexec #undef do_aexec -#define do_aexec pPerl->do_aexec +#define do_aexec Perl_do_aexec +#undef Perl_do_binmode +#define Perl_do_binmode pPerl->Perl_do_binmode #undef do_binmode -#define do_binmode pPerl->do_binmode +#define do_binmode Perl_do_binmode +#undef Perl_do_chop +#define Perl_do_chop pPerl->Perl_do_chop #undef do_chop -#define do_chop pPerl->do_chop +#define do_chop Perl_do_chop +#undef Perl_do_close +#define Perl_do_close pPerl->Perl_do_close #undef do_close -#define do_close pPerl->do_close +#define do_close Perl_do_close +#undef Perl_do_eof +#define Perl_do_eof pPerl->Perl_do_eof #undef do_eof -#define do_eof pPerl->do_eof +#define do_eof Perl_do_eof +#undef Perl_do_exec +#define Perl_do_exec pPerl->Perl_do_exec #undef do_exec -#define do_exec pPerl->do_exec +#define do_exec Perl_do_exec #if !defined(WIN32) +#undef Perl_do_exec3 +#define Perl_do_exec3 pPerl->Perl_do_exec3 #undef do_exec3 -#define do_exec3 pPerl->do_exec3 +#define do_exec3 Perl_do_exec3 #endif +#undef Perl_do_execfree +#define Perl_do_execfree pPerl->Perl_do_execfree #undef do_execfree -#define do_execfree pPerl->do_execfree +#define do_execfree Perl_do_execfree #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) +#undef Perl_do_ipcctl +#define Perl_do_ipcctl pPerl->Perl_do_ipcctl #undef do_ipcctl -#define do_ipcctl pPerl->do_ipcctl +#define do_ipcctl Perl_do_ipcctl +#undef Perl_do_ipcget +#define Perl_do_ipcget pPerl->Perl_do_ipcget #undef do_ipcget -#define do_ipcget pPerl->do_ipcget +#define do_ipcget Perl_do_ipcget +#undef Perl_do_msgrcv +#define Perl_do_msgrcv pPerl->Perl_do_msgrcv #undef do_msgrcv -#define do_msgrcv pPerl->do_msgrcv +#define do_msgrcv Perl_do_msgrcv +#undef Perl_do_msgsnd +#define Perl_do_msgsnd pPerl->Perl_do_msgsnd #undef do_msgsnd -#define do_msgsnd pPerl->do_msgsnd +#define do_msgsnd Perl_do_msgsnd +#undef Perl_do_semop +#define Perl_do_semop pPerl->Perl_do_semop #undef do_semop -#define do_semop pPerl->do_semop +#define do_semop Perl_do_semop +#undef Perl_do_shmio +#define Perl_do_shmio pPerl->Perl_do_shmio #undef do_shmio -#define do_shmio pPerl->do_shmio +#define do_shmio Perl_do_shmio #endif +#undef Perl_do_join +#define Perl_do_join pPerl->Perl_do_join #undef do_join -#define do_join pPerl->do_join +#define do_join Perl_do_join +#undef Perl_do_kv +#define Perl_do_kv pPerl->Perl_do_kv #undef do_kv -#define do_kv pPerl->do_kv +#define do_kv Perl_do_kv +#undef Perl_do_open +#define Perl_do_open pPerl->Perl_do_open #undef do_open -#define do_open pPerl->do_open +#define do_open Perl_do_open +#undef Perl_do_pipe +#define Perl_do_pipe pPerl->Perl_do_pipe #undef do_pipe -#define do_pipe pPerl->do_pipe +#define do_pipe Perl_do_pipe +#undef Perl_do_print +#define Perl_do_print pPerl->Perl_do_print #undef do_print -#define do_print pPerl->do_print +#define do_print Perl_do_print +#undef Perl_do_readline +#define Perl_do_readline pPerl->Perl_do_readline #undef do_readline -#define do_readline pPerl->do_readline +#define do_readline Perl_do_readline +#undef Perl_do_chomp +#define Perl_do_chomp pPerl->Perl_do_chomp #undef do_chomp -#define do_chomp pPerl->do_chomp +#define do_chomp Perl_do_chomp +#undef Perl_do_seek +#define Perl_do_seek pPerl->Perl_do_seek #undef do_seek -#define do_seek pPerl->do_seek +#define do_seek Perl_do_seek +#undef Perl_do_sprintf +#define Perl_do_sprintf pPerl->Perl_do_sprintf #undef do_sprintf -#define do_sprintf pPerl->do_sprintf +#define do_sprintf Perl_do_sprintf +#undef Perl_do_sysseek +#define Perl_do_sysseek pPerl->Perl_do_sysseek #undef do_sysseek -#define do_sysseek pPerl->do_sysseek +#define do_sysseek Perl_do_sysseek +#undef Perl_do_tell +#define Perl_do_tell pPerl->Perl_do_tell #undef do_tell -#define do_tell pPerl->do_tell +#define do_tell Perl_do_tell +#undef Perl_do_trans +#define Perl_do_trans pPerl->Perl_do_trans #undef do_trans -#define do_trans pPerl->do_trans +#define do_trans Perl_do_trans +#undef Perl_do_vecset +#define Perl_do_vecset pPerl->Perl_do_vecset #undef do_vecset -#define do_vecset pPerl->do_vecset +#define do_vecset Perl_do_vecset +#undef Perl_do_vop +#define Perl_do_vop pPerl->Perl_do_vop #undef do_vop -#define do_vop pPerl->do_vop +#define do_vop Perl_do_vop +#undef Perl_dofile +#define Perl_dofile pPerl->Perl_dofile #undef dofile -#define dofile pPerl->dofile +#define dofile Perl_dofile +#undef Perl_dowantarray +#define Perl_dowantarray pPerl->Perl_dowantarray #undef dowantarray -#define dowantarray pPerl->dowantarray +#define dowantarray Perl_dowantarray +#undef Perl_dump_all +#define Perl_dump_all pPerl->Perl_dump_all #undef dump_all -#define dump_all pPerl->dump_all +#define dump_all Perl_dump_all +#undef Perl_dump_eval +#define Perl_dump_eval pPerl->Perl_dump_eval #undef dump_eval -#define dump_eval pPerl->dump_eval +#define dump_eval Perl_dump_eval #if defined(DUMP_FDS) +#undef Perl_dump_fds +#define Perl_dump_fds pPerl->Perl_dump_fds #undef dump_fds -#define dump_fds pPerl->dump_fds +#define dump_fds Perl_dump_fds #endif +#undef Perl_dump_form +#define Perl_dump_form pPerl->Perl_dump_form #undef dump_form -#define dump_form pPerl->dump_form +#define dump_form Perl_dump_form +#undef Perl_gv_dump +#define Perl_gv_dump pPerl->Perl_gv_dump #undef gv_dump -#define gv_dump pPerl->gv_dump +#define gv_dump Perl_gv_dump +#undef Perl_op_dump +#define Perl_op_dump pPerl->Perl_op_dump #undef op_dump -#define op_dump pPerl->op_dump +#define op_dump Perl_op_dump +#undef Perl_pmop_dump +#define Perl_pmop_dump pPerl->Perl_pmop_dump #undef pmop_dump -#define pmop_dump pPerl->pmop_dump +#define pmop_dump Perl_pmop_dump +#undef Perl_dump_packsubs +#define Perl_dump_packsubs pPerl->Perl_dump_packsubs #undef dump_packsubs -#define dump_packsubs pPerl->dump_packsubs +#define dump_packsubs Perl_dump_packsubs +#undef Perl_dump_sub +#define Perl_dump_sub pPerl->Perl_dump_sub #undef dump_sub -#define dump_sub pPerl->dump_sub +#define dump_sub Perl_dump_sub +#undef Perl_fbm_compile +#define Perl_fbm_compile pPerl->Perl_fbm_compile #undef fbm_compile -#define fbm_compile pPerl->fbm_compile +#define fbm_compile Perl_fbm_compile +#undef Perl_fbm_instr +#define Perl_fbm_instr pPerl->Perl_fbm_instr #undef fbm_instr -#define fbm_instr pPerl->fbm_instr +#define fbm_instr Perl_fbm_instr +#undef Perl_find_script +#define Perl_find_script pPerl->Perl_find_script #undef find_script -#define find_script pPerl->find_script +#define find_script Perl_find_script #if defined(USE_THREADS) +#undef Perl_find_threadsv +#define Perl_find_threadsv pPerl->Perl_find_threadsv #undef find_threadsv -#define find_threadsv pPerl->find_threadsv +#define find_threadsv Perl_find_threadsv #endif +#undef Perl_force_list +#define Perl_force_list pPerl->Perl_force_list #undef force_list -#define force_list pPerl->force_list +#define force_list Perl_force_list +#undef Perl_fold_constants +#define Perl_fold_constants pPerl->Perl_fold_constants #undef fold_constants -#define fold_constants pPerl->fold_constants +#define fold_constants Perl_fold_constants +#undef Perl_form +#define Perl_form pPerl->Perl_form #undef form -#define form pPerl->form +#define form Perl_form +#undef Perl_free_tmps +#define Perl_free_tmps pPerl->Perl_free_tmps #undef free_tmps -#define free_tmps pPerl->free_tmps +#define free_tmps Perl_free_tmps +#undef Perl_gen_constant_list +#define Perl_gen_constant_list pPerl->Perl_gen_constant_list #undef gen_constant_list -#define gen_constant_list pPerl->gen_constant_list +#define gen_constant_list Perl_gen_constant_list #if !defined(HAS_GETENV_LEN) +#undef Perl_getenv_len +#define Perl_getenv_len pPerl->Perl_getenv_len #undef getenv_len -#define getenv_len pPerl->getenv_len +#define getenv_len Perl_getenv_len #endif +#undef Perl_gp_free +#define Perl_gp_free pPerl->Perl_gp_free #undef gp_free -#define gp_free pPerl->gp_free +#define gp_free Perl_gp_free +#undef Perl_gp_ref +#define Perl_gp_ref pPerl->Perl_gp_ref #undef gp_ref -#define gp_ref pPerl->gp_ref +#define gp_ref Perl_gp_ref +#undef Perl_gv_AVadd +#define Perl_gv_AVadd pPerl->Perl_gv_AVadd #undef gv_AVadd -#define gv_AVadd pPerl->gv_AVadd +#define gv_AVadd Perl_gv_AVadd +#undef Perl_gv_HVadd +#define Perl_gv_HVadd pPerl->Perl_gv_HVadd #undef gv_HVadd -#define gv_HVadd pPerl->gv_HVadd +#define gv_HVadd Perl_gv_HVadd +#undef Perl_gv_IOadd +#define Perl_gv_IOadd pPerl->Perl_gv_IOadd #undef gv_IOadd -#define gv_IOadd pPerl->gv_IOadd +#define gv_IOadd Perl_gv_IOadd +#undef Perl_gv_autoload4 +#define Perl_gv_autoload4 pPerl->Perl_gv_autoload4 #undef gv_autoload4 -#define gv_autoload4 pPerl->gv_autoload4 +#define gv_autoload4 Perl_gv_autoload4 +#undef Perl_gv_check +#define Perl_gv_check pPerl->Perl_gv_check #undef gv_check -#define gv_check pPerl->gv_check +#define gv_check Perl_gv_check +#undef Perl_gv_efullname +#define Perl_gv_efullname pPerl->Perl_gv_efullname #undef gv_efullname -#define gv_efullname pPerl->gv_efullname +#define gv_efullname Perl_gv_efullname +#undef Perl_gv_efullname3 +#define Perl_gv_efullname3 pPerl->Perl_gv_efullname3 #undef gv_efullname3 -#define gv_efullname3 pPerl->gv_efullname3 +#define gv_efullname3 Perl_gv_efullname3 +#undef Perl_gv_fetchfile +#define Perl_gv_fetchfile pPerl->Perl_gv_fetchfile #undef gv_fetchfile -#define gv_fetchfile pPerl->gv_fetchfile +#define gv_fetchfile Perl_gv_fetchfile +#undef Perl_gv_fetchmeth +#define Perl_gv_fetchmeth pPerl->Perl_gv_fetchmeth #undef gv_fetchmeth -#define gv_fetchmeth pPerl->gv_fetchmeth +#define gv_fetchmeth Perl_gv_fetchmeth +#undef Perl_gv_fetchmethod +#define Perl_gv_fetchmethod pPerl->Perl_gv_fetchmethod #undef gv_fetchmethod -#define gv_fetchmethod pPerl->gv_fetchmethod +#define gv_fetchmethod Perl_gv_fetchmethod +#undef Perl_gv_fetchmethod_autoload +#define Perl_gv_fetchmethod_autoload pPerl->Perl_gv_fetchmethod_autoload #undef gv_fetchmethod_autoload -#define gv_fetchmethod_autoload pPerl->gv_fetchmethod_autoload +#define gv_fetchmethod_autoload Perl_gv_fetchmethod_autoload +#undef Perl_gv_fetchpv +#define Perl_gv_fetchpv pPerl->Perl_gv_fetchpv #undef gv_fetchpv -#define gv_fetchpv pPerl->gv_fetchpv +#define gv_fetchpv Perl_gv_fetchpv +#undef Perl_gv_fullname +#define Perl_gv_fullname pPerl->Perl_gv_fullname #undef gv_fullname -#define gv_fullname pPerl->gv_fullname +#define gv_fullname Perl_gv_fullname +#undef Perl_gv_fullname3 +#define Perl_gv_fullname3 pPerl->Perl_gv_fullname3 #undef gv_fullname3 -#define gv_fullname3 pPerl->gv_fullname3 +#define gv_fullname3 Perl_gv_fullname3 +#undef Perl_gv_init +#define Perl_gv_init pPerl->Perl_gv_init #undef gv_init -#define gv_init pPerl->gv_init +#define gv_init Perl_gv_init +#undef Perl_gv_stashpv +#define Perl_gv_stashpv pPerl->Perl_gv_stashpv #undef gv_stashpv -#define gv_stashpv pPerl->gv_stashpv +#define gv_stashpv Perl_gv_stashpv +#undef Perl_gv_stashpvn +#define Perl_gv_stashpvn pPerl->Perl_gv_stashpvn #undef gv_stashpvn -#define gv_stashpvn pPerl->gv_stashpvn +#define gv_stashpvn Perl_gv_stashpvn +#undef Perl_gv_stashsv +#define Perl_gv_stashsv pPerl->Perl_gv_stashsv #undef gv_stashsv -#define gv_stashsv pPerl->gv_stashsv +#define gv_stashsv Perl_gv_stashsv +#undef Perl_hv_clear +#define Perl_hv_clear pPerl->Perl_hv_clear #undef hv_clear -#define hv_clear pPerl->hv_clear +#define hv_clear Perl_hv_clear +#undef Perl_hv_delayfree_ent +#define Perl_hv_delayfree_ent pPerl->Perl_hv_delayfree_ent #undef hv_delayfree_ent -#define hv_delayfree_ent pPerl->hv_delayfree_ent +#define hv_delayfree_ent Perl_hv_delayfree_ent +#undef Perl_hv_delete +#define Perl_hv_delete pPerl->Perl_hv_delete #undef hv_delete -#define hv_delete pPerl->hv_delete +#define hv_delete Perl_hv_delete +#undef Perl_hv_delete_ent +#define Perl_hv_delete_ent pPerl->Perl_hv_delete_ent #undef hv_delete_ent -#define hv_delete_ent pPerl->hv_delete_ent +#define hv_delete_ent Perl_hv_delete_ent +#undef Perl_hv_exists +#define Perl_hv_exists pPerl->Perl_hv_exists #undef hv_exists -#define hv_exists pPerl->hv_exists +#define hv_exists Perl_hv_exists +#undef Perl_hv_exists_ent +#define Perl_hv_exists_ent pPerl->Perl_hv_exists_ent #undef hv_exists_ent -#define hv_exists_ent pPerl->hv_exists_ent +#define hv_exists_ent Perl_hv_exists_ent +#undef Perl_hv_fetch +#define Perl_hv_fetch pPerl->Perl_hv_fetch #undef hv_fetch -#define hv_fetch pPerl->hv_fetch +#define hv_fetch Perl_hv_fetch +#undef Perl_hv_fetch_ent +#define Perl_hv_fetch_ent pPerl->Perl_hv_fetch_ent #undef hv_fetch_ent -#define hv_fetch_ent pPerl->hv_fetch_ent +#define hv_fetch_ent Perl_hv_fetch_ent +#undef Perl_hv_free_ent +#define Perl_hv_free_ent pPerl->Perl_hv_free_ent #undef hv_free_ent -#define hv_free_ent pPerl->hv_free_ent +#define hv_free_ent Perl_hv_free_ent +#undef Perl_hv_iterinit +#define Perl_hv_iterinit pPerl->Perl_hv_iterinit #undef hv_iterinit -#define hv_iterinit pPerl->hv_iterinit +#define hv_iterinit Perl_hv_iterinit +#undef Perl_hv_iterkey +#define Perl_hv_iterkey pPerl->Perl_hv_iterkey #undef hv_iterkey -#define hv_iterkey pPerl->hv_iterkey +#define hv_iterkey Perl_hv_iterkey +#undef Perl_hv_iterkeysv +#define Perl_hv_iterkeysv pPerl->Perl_hv_iterkeysv #undef hv_iterkeysv -#define hv_iterkeysv pPerl->hv_iterkeysv +#define hv_iterkeysv Perl_hv_iterkeysv +#undef Perl_hv_iternext +#define Perl_hv_iternext pPerl->Perl_hv_iternext #undef hv_iternext -#define hv_iternext pPerl->hv_iternext +#define hv_iternext Perl_hv_iternext +#undef Perl_hv_iternextsv +#define Perl_hv_iternextsv pPerl->Perl_hv_iternextsv #undef hv_iternextsv -#define hv_iternextsv pPerl->hv_iternextsv +#define hv_iternextsv Perl_hv_iternextsv +#undef Perl_hv_iterval +#define Perl_hv_iterval pPerl->Perl_hv_iterval #undef hv_iterval -#define hv_iterval pPerl->hv_iterval +#define hv_iterval Perl_hv_iterval +#undef Perl_hv_ksplit +#define Perl_hv_ksplit pPerl->Perl_hv_ksplit #undef hv_ksplit -#define hv_ksplit pPerl->hv_ksplit +#define hv_ksplit Perl_hv_ksplit +#undef Perl_hv_magic +#define Perl_hv_magic pPerl->Perl_hv_magic #undef hv_magic -#define hv_magic pPerl->hv_magic +#define hv_magic Perl_hv_magic +#undef Perl_hv_store +#define Perl_hv_store pPerl->Perl_hv_store #undef hv_store -#define hv_store pPerl->hv_store +#define hv_store Perl_hv_store +#undef Perl_hv_store_ent +#define Perl_hv_store_ent pPerl->Perl_hv_store_ent #undef hv_store_ent -#define hv_store_ent pPerl->hv_store_ent +#define hv_store_ent Perl_hv_store_ent +#undef Perl_hv_undef +#define Perl_hv_undef pPerl->Perl_hv_undef #undef hv_undef -#define hv_undef pPerl->hv_undef +#define hv_undef Perl_hv_undef +#undef Perl_ibcmp +#define Perl_ibcmp pPerl->Perl_ibcmp #undef ibcmp -#define ibcmp pPerl->ibcmp +#define ibcmp Perl_ibcmp +#undef Perl_ibcmp_locale +#define Perl_ibcmp_locale pPerl->Perl_ibcmp_locale #undef ibcmp_locale -#define ibcmp_locale pPerl->ibcmp_locale +#define ibcmp_locale Perl_ibcmp_locale +#undef Perl_ingroup +#define Perl_ingroup pPerl->Perl_ingroup #undef ingroup -#define ingroup pPerl->ingroup +#define ingroup Perl_ingroup +#undef Perl_init_stacks +#define Perl_init_stacks pPerl->Perl_init_stacks #undef init_stacks -#define init_stacks pPerl->init_stacks +#define init_stacks Perl_init_stacks +#undef Perl_intro_my +#define Perl_intro_my pPerl->Perl_intro_my #undef intro_my -#define intro_my pPerl->intro_my +#define intro_my Perl_intro_my +#undef Perl_instr +#define Perl_instr pPerl->Perl_instr #undef instr -#define instr pPerl->instr +#define instr Perl_instr +#undef Perl_io_close +#define Perl_io_close pPerl->Perl_io_close #undef io_close -#define io_close pPerl->io_close +#define io_close Perl_io_close +#undef Perl_invert +#define Perl_invert pPerl->Perl_invert #undef invert -#define invert pPerl->invert +#define invert Perl_invert +#undef Perl_is_uni_alnum +#define Perl_is_uni_alnum pPerl->Perl_is_uni_alnum #undef is_uni_alnum -#define is_uni_alnum pPerl->is_uni_alnum +#define is_uni_alnum Perl_is_uni_alnum +#undef Perl_is_uni_idfirst +#define Perl_is_uni_idfirst pPerl->Perl_is_uni_idfirst #undef is_uni_idfirst -#define is_uni_idfirst pPerl->is_uni_idfirst +#define is_uni_idfirst Perl_is_uni_idfirst +#undef Perl_is_uni_alpha +#define Perl_is_uni_alpha pPerl->Perl_is_uni_alpha #undef is_uni_alpha -#define is_uni_alpha pPerl->is_uni_alpha +#define is_uni_alpha Perl_is_uni_alpha +#undef Perl_is_uni_space +#define Perl_is_uni_space pPerl->Perl_is_uni_space #undef is_uni_space -#define is_uni_space pPerl->is_uni_space +#define is_uni_space Perl_is_uni_space +#undef Perl_is_uni_digit +#define Perl_is_uni_digit pPerl->Perl_is_uni_digit #undef is_uni_digit -#define is_uni_digit pPerl->is_uni_digit +#define is_uni_digit Perl_is_uni_digit +#undef Perl_is_uni_upper +#define Perl_is_uni_upper pPerl->Perl_is_uni_upper #undef is_uni_upper -#define is_uni_upper pPerl->is_uni_upper +#define is_uni_upper Perl_is_uni_upper +#undef Perl_is_uni_lower +#define Perl_is_uni_lower pPerl->Perl_is_uni_lower #undef is_uni_lower -#define is_uni_lower pPerl->is_uni_lower +#define is_uni_lower Perl_is_uni_lower +#undef Perl_is_uni_print +#define Perl_is_uni_print pPerl->Perl_is_uni_print #undef is_uni_print -#define is_uni_print pPerl->is_uni_print +#define is_uni_print Perl_is_uni_print +#undef Perl_to_uni_upper +#define Perl_to_uni_upper pPerl->Perl_to_uni_upper #undef to_uni_upper -#define to_uni_upper pPerl->to_uni_upper +#define to_uni_upper Perl_to_uni_upper +#undef Perl_to_uni_title +#define Perl_to_uni_title pPerl->Perl_to_uni_title #undef to_uni_title -#define to_uni_title pPerl->to_uni_title +#define to_uni_title Perl_to_uni_title +#undef Perl_to_uni_lower +#define Perl_to_uni_lower pPerl->Perl_to_uni_lower #undef to_uni_lower -#define to_uni_lower pPerl->to_uni_lower +#define to_uni_lower Perl_to_uni_lower +#undef Perl_is_uni_alnum_lc +#define Perl_is_uni_alnum_lc pPerl->Perl_is_uni_alnum_lc #undef is_uni_alnum_lc -#define is_uni_alnum_lc pPerl->is_uni_alnum_lc +#define is_uni_alnum_lc Perl_is_uni_alnum_lc +#undef Perl_is_uni_idfirst_lc +#define Perl_is_uni_idfirst_lc pPerl->Perl_is_uni_idfirst_lc #undef is_uni_idfirst_lc -#define is_uni_idfirst_lc pPerl->is_uni_idfirst_lc +#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc +#undef Perl_is_uni_alpha_lc +#define Perl_is_uni_alpha_lc pPerl->Perl_is_uni_alpha_lc #undef is_uni_alpha_lc -#define is_uni_alpha_lc pPerl->is_uni_alpha_lc +#define is_uni_alpha_lc Perl_is_uni_alpha_lc +#undef Perl_is_uni_space_lc +#define Perl_is_uni_space_lc pPerl->Perl_is_uni_space_lc #undef is_uni_space_lc -#define is_uni_space_lc pPerl->is_uni_space_lc +#define is_uni_space_lc Perl_is_uni_space_lc +#undef Perl_is_uni_digit_lc +#define Perl_is_uni_digit_lc pPerl->Perl_is_uni_digit_lc #undef is_uni_digit_lc -#define is_uni_digit_lc pPerl->is_uni_digit_lc +#define is_uni_digit_lc Perl_is_uni_digit_lc +#undef Perl_is_uni_upper_lc +#define Perl_is_uni_upper_lc pPerl->Perl_is_uni_upper_lc #undef is_uni_upper_lc -#define is_uni_upper_lc pPerl->is_uni_upper_lc +#define is_uni_upper_lc Perl_is_uni_upper_lc +#undef Perl_is_uni_lower_lc +#define Perl_is_uni_lower_lc pPerl->Perl_is_uni_lower_lc #undef is_uni_lower_lc -#define is_uni_lower_lc pPerl->is_uni_lower_lc +#define is_uni_lower_lc Perl_is_uni_lower_lc +#undef Perl_is_uni_print_lc +#define Perl_is_uni_print_lc pPerl->Perl_is_uni_print_lc #undef is_uni_print_lc -#define is_uni_print_lc pPerl->is_uni_print_lc +#define is_uni_print_lc Perl_is_uni_print_lc +#undef Perl_to_uni_upper_lc +#define Perl_to_uni_upper_lc pPerl->Perl_to_uni_upper_lc #undef to_uni_upper_lc -#define to_uni_upper_lc pPerl->to_uni_upper_lc +#define to_uni_upper_lc Perl_to_uni_upper_lc +#undef Perl_to_uni_title_lc +#define Perl_to_uni_title_lc pPerl->Perl_to_uni_title_lc #undef to_uni_title_lc -#define to_uni_title_lc pPerl->to_uni_title_lc +#define to_uni_title_lc Perl_to_uni_title_lc +#undef Perl_to_uni_lower_lc +#define Perl_to_uni_lower_lc pPerl->Perl_to_uni_lower_lc #undef to_uni_lower_lc -#define to_uni_lower_lc pPerl->to_uni_lower_lc +#define to_uni_lower_lc Perl_to_uni_lower_lc +#undef Perl_is_utf8_alnum +#define Perl_is_utf8_alnum pPerl->Perl_is_utf8_alnum #undef is_utf8_alnum -#define is_utf8_alnum pPerl->is_utf8_alnum +#define is_utf8_alnum Perl_is_utf8_alnum +#undef Perl_is_utf8_idfirst +#define Perl_is_utf8_idfirst pPerl->Perl_is_utf8_idfirst #undef is_utf8_idfirst -#define is_utf8_idfirst pPerl->is_utf8_idfirst +#define is_utf8_idfirst Perl_is_utf8_idfirst +#undef Perl_is_utf8_alpha +#define Perl_is_utf8_alpha pPerl->Perl_is_utf8_alpha #undef is_utf8_alpha -#define is_utf8_alpha pPerl->is_utf8_alpha +#define is_utf8_alpha Perl_is_utf8_alpha +#undef Perl_is_utf8_space +#define Perl_is_utf8_space pPerl->Perl_is_utf8_space #undef is_utf8_space -#define is_utf8_space pPerl->is_utf8_space +#define is_utf8_space Perl_is_utf8_space +#undef Perl_is_utf8_digit +#define Perl_is_utf8_digit pPerl->Perl_is_utf8_digit #undef is_utf8_digit -#define is_utf8_digit pPerl->is_utf8_digit +#define is_utf8_digit Perl_is_utf8_digit +#undef Perl_is_utf8_upper +#define Perl_is_utf8_upper pPerl->Perl_is_utf8_upper #undef is_utf8_upper -#define is_utf8_upper pPerl->is_utf8_upper +#define is_utf8_upper Perl_is_utf8_upper +#undef Perl_is_utf8_lower +#define Perl_is_utf8_lower pPerl->Perl_is_utf8_lower #undef is_utf8_lower -#define is_utf8_lower pPerl->is_utf8_lower +#define is_utf8_lower Perl_is_utf8_lower +#undef Perl_is_utf8_print +#define Perl_is_utf8_print pPerl->Perl_is_utf8_print #undef is_utf8_print -#define is_utf8_print pPerl->is_utf8_print +#define is_utf8_print Perl_is_utf8_print +#undef Perl_is_utf8_mark +#define Perl_is_utf8_mark pPerl->Perl_is_utf8_mark #undef is_utf8_mark -#define is_utf8_mark pPerl->is_utf8_mark +#define is_utf8_mark Perl_is_utf8_mark +#undef Perl_jmaybe +#define Perl_jmaybe pPerl->Perl_jmaybe #undef jmaybe -#define jmaybe pPerl->jmaybe +#define jmaybe Perl_jmaybe +#undef Perl_keyword +#define Perl_keyword pPerl->Perl_keyword #undef keyword -#define keyword pPerl->keyword +#define keyword Perl_keyword +#undef Perl_leave_scope +#define Perl_leave_scope pPerl->Perl_leave_scope #undef leave_scope -#define leave_scope pPerl->leave_scope +#define leave_scope Perl_leave_scope +#undef Perl_lex_end +#define Perl_lex_end pPerl->Perl_lex_end #undef lex_end -#define lex_end pPerl->lex_end +#define lex_end Perl_lex_end +#undef Perl_lex_start +#define Perl_lex_start pPerl->Perl_lex_start #undef lex_start -#define lex_start pPerl->lex_start +#define lex_start Perl_lex_start +#undef Perl_linklist +#define Perl_linklist pPerl->Perl_linklist #undef linklist -#define linklist pPerl->linklist +#define linklist Perl_linklist +#undef Perl_list +#define Perl_list pPerl->Perl_list #undef list -#define list pPerl->list +#define list Perl_list +#undef Perl_listkids +#define Perl_listkids pPerl->Perl_listkids #undef listkids -#define listkids pPerl->listkids +#define listkids Perl_listkids +#undef Perl_localize +#define Perl_localize pPerl->Perl_localize #undef localize -#define localize pPerl->localize +#define localize Perl_localize +#undef Perl_looks_like_number +#define Perl_looks_like_number pPerl->Perl_looks_like_number #undef looks_like_number -#define looks_like_number pPerl->looks_like_number +#define looks_like_number Perl_looks_like_number +#undef Perl_magic_clearenv +#define Perl_magic_clearenv pPerl->Perl_magic_clearenv #undef magic_clearenv -#define magic_clearenv pPerl->magic_clearenv +#define magic_clearenv Perl_magic_clearenv +#undef Perl_magic_clear_all_env +#define Perl_magic_clear_all_env pPerl->Perl_magic_clear_all_env #undef magic_clear_all_env -#define magic_clear_all_env pPerl->magic_clear_all_env +#define magic_clear_all_env Perl_magic_clear_all_env +#undef Perl_magic_clearpack +#define Perl_magic_clearpack pPerl->Perl_magic_clearpack #undef magic_clearpack -#define magic_clearpack pPerl->magic_clearpack +#define magic_clearpack Perl_magic_clearpack +#undef Perl_magic_clearsig +#define Perl_magic_clearsig pPerl->Perl_magic_clearsig #undef magic_clearsig -#define magic_clearsig pPerl->magic_clearsig +#define magic_clearsig Perl_magic_clearsig +#undef Perl_magic_existspack +#define Perl_magic_existspack pPerl->Perl_magic_existspack #undef magic_existspack -#define magic_existspack pPerl->magic_existspack +#define magic_existspack Perl_magic_existspack +#undef Perl_magic_freeregexp +#define Perl_magic_freeregexp pPerl->Perl_magic_freeregexp #undef magic_freeregexp -#define magic_freeregexp pPerl->magic_freeregexp +#define magic_freeregexp Perl_magic_freeregexp +#undef Perl_magic_get +#define Perl_magic_get pPerl->Perl_magic_get #undef magic_get -#define magic_get pPerl->magic_get +#define magic_get Perl_magic_get +#undef Perl_magic_getarylen +#define Perl_magic_getarylen pPerl->Perl_magic_getarylen #undef magic_getarylen -#define magic_getarylen pPerl->magic_getarylen +#define magic_getarylen Perl_magic_getarylen +#undef Perl_magic_getdefelem +#define Perl_magic_getdefelem pPerl->Perl_magic_getdefelem #undef magic_getdefelem -#define magic_getdefelem pPerl->magic_getdefelem +#define magic_getdefelem Perl_magic_getdefelem +#undef Perl_magic_getglob +#define Perl_magic_getglob pPerl->Perl_magic_getglob #undef magic_getglob -#define magic_getglob pPerl->magic_getglob +#define magic_getglob Perl_magic_getglob +#undef Perl_magic_getnkeys +#define Perl_magic_getnkeys pPerl->Perl_magic_getnkeys #undef magic_getnkeys -#define magic_getnkeys pPerl->magic_getnkeys +#define magic_getnkeys Perl_magic_getnkeys +#undef Perl_magic_getpack +#define Perl_magic_getpack pPerl->Perl_magic_getpack #undef magic_getpack -#define magic_getpack pPerl->magic_getpack +#define magic_getpack Perl_magic_getpack +#undef Perl_magic_getpos +#define Perl_magic_getpos pPerl->Perl_magic_getpos #undef magic_getpos -#define magic_getpos pPerl->magic_getpos +#define magic_getpos Perl_magic_getpos +#undef Perl_magic_getsig +#define Perl_magic_getsig pPerl->Perl_magic_getsig #undef magic_getsig -#define magic_getsig pPerl->magic_getsig +#define magic_getsig Perl_magic_getsig +#undef Perl_magic_getsubstr +#define Perl_magic_getsubstr pPerl->Perl_magic_getsubstr #undef magic_getsubstr -#define magic_getsubstr pPerl->magic_getsubstr +#define magic_getsubstr Perl_magic_getsubstr +#undef Perl_magic_gettaint +#define Perl_magic_gettaint pPerl->Perl_magic_gettaint #undef magic_gettaint -#define magic_gettaint pPerl->magic_gettaint +#define magic_gettaint Perl_magic_gettaint +#undef Perl_magic_getuvar +#define Perl_magic_getuvar pPerl->Perl_magic_getuvar #undef magic_getuvar -#define magic_getuvar pPerl->magic_getuvar +#define magic_getuvar Perl_magic_getuvar +#undef Perl_magic_getvec +#define Perl_magic_getvec pPerl->Perl_magic_getvec #undef magic_getvec -#define magic_getvec pPerl->magic_getvec +#define magic_getvec Perl_magic_getvec +#undef Perl_magic_len +#define Perl_magic_len pPerl->Perl_magic_len #undef magic_len -#define magic_len pPerl->magic_len +#define magic_len Perl_magic_len #if defined(USE_THREADS) +#undef Perl_magic_mutexfree +#define Perl_magic_mutexfree pPerl->Perl_magic_mutexfree #undef magic_mutexfree -#define magic_mutexfree pPerl->magic_mutexfree +#define magic_mutexfree Perl_magic_mutexfree #endif +#undef Perl_magic_nextpack +#define Perl_magic_nextpack pPerl->Perl_magic_nextpack #undef magic_nextpack -#define magic_nextpack pPerl->magic_nextpack +#define magic_nextpack Perl_magic_nextpack +#undef Perl_magic_regdata_cnt +#define Perl_magic_regdata_cnt pPerl->Perl_magic_regdata_cnt #undef magic_regdata_cnt -#define magic_regdata_cnt pPerl->magic_regdata_cnt +#define magic_regdata_cnt Perl_magic_regdata_cnt +#undef Perl_magic_regdatum_get +#define Perl_magic_regdatum_get pPerl->Perl_magic_regdatum_get #undef magic_regdatum_get -#define magic_regdatum_get pPerl->magic_regdatum_get +#define magic_regdatum_get Perl_magic_regdatum_get +#undef Perl_magic_set +#define Perl_magic_set pPerl->Perl_magic_set #undef magic_set -#define magic_set pPerl->magic_set +#define magic_set Perl_magic_set +#undef Perl_magic_setamagic +#define Perl_magic_setamagic pPerl->Perl_magic_setamagic #undef magic_setamagic -#define magic_setamagic pPerl->magic_setamagic +#define magic_setamagic Perl_magic_setamagic +#undef Perl_magic_setarylen +#define Perl_magic_setarylen pPerl->Perl_magic_setarylen #undef magic_setarylen -#define magic_setarylen pPerl->magic_setarylen +#define magic_setarylen Perl_magic_setarylen +#undef Perl_magic_setbm +#define Perl_magic_setbm pPerl->Perl_magic_setbm #undef magic_setbm -#define magic_setbm pPerl->magic_setbm +#define magic_setbm Perl_magic_setbm +#undef Perl_magic_setdbline +#define Perl_magic_setdbline pPerl->Perl_magic_setdbline #undef magic_setdbline -#define magic_setdbline pPerl->magic_setdbline +#define magic_setdbline Perl_magic_setdbline #if defined(USE_LOCALE_COLLATE) +#undef Perl_magic_setcollxfrm +#define Perl_magic_setcollxfrm pPerl->Perl_magic_setcollxfrm #undef magic_setcollxfrm -#define magic_setcollxfrm pPerl->magic_setcollxfrm +#define magic_setcollxfrm Perl_magic_setcollxfrm #endif +#undef Perl_magic_setdefelem +#define Perl_magic_setdefelem pPerl->Perl_magic_setdefelem #undef magic_setdefelem -#define magic_setdefelem pPerl->magic_setdefelem +#define magic_setdefelem Perl_magic_setdefelem +#undef Perl_magic_setenv +#define Perl_magic_setenv pPerl->Perl_magic_setenv #undef magic_setenv -#define magic_setenv pPerl->magic_setenv +#define magic_setenv Perl_magic_setenv +#undef Perl_magic_setfm +#define Perl_magic_setfm pPerl->Perl_magic_setfm #undef magic_setfm -#define magic_setfm pPerl->magic_setfm +#define magic_setfm Perl_magic_setfm +#undef Perl_magic_setisa +#define Perl_magic_setisa pPerl->Perl_magic_setisa #undef magic_setisa -#define magic_setisa pPerl->magic_setisa +#define magic_setisa Perl_magic_setisa +#undef Perl_magic_setglob +#define Perl_magic_setglob pPerl->Perl_magic_setglob #undef magic_setglob -#define magic_setglob pPerl->magic_setglob +#define magic_setglob Perl_magic_setglob +#undef Perl_magic_setmglob +#define Perl_magic_setmglob pPerl->Perl_magic_setmglob #undef magic_setmglob -#define magic_setmglob pPerl->magic_setmglob +#define magic_setmglob Perl_magic_setmglob +#undef Perl_magic_setnkeys +#define Perl_magic_setnkeys pPerl->Perl_magic_setnkeys #undef magic_setnkeys -#define magic_setnkeys pPerl->magic_setnkeys +#define magic_setnkeys Perl_magic_setnkeys +#undef Perl_magic_setpack +#define Perl_magic_setpack pPerl->Perl_magic_setpack #undef magic_setpack -#define magic_setpack pPerl->magic_setpack +#define magic_setpack Perl_magic_setpack +#undef Perl_magic_setpos +#define Perl_magic_setpos pPerl->Perl_magic_setpos #undef magic_setpos -#define magic_setpos pPerl->magic_setpos +#define magic_setpos Perl_magic_setpos +#undef Perl_magic_setsig +#define Perl_magic_setsig pPerl->Perl_magic_setsig #undef magic_setsig -#define magic_setsig pPerl->magic_setsig +#define magic_setsig Perl_magic_setsig +#undef Perl_magic_setsubstr +#define Perl_magic_setsubstr pPerl->Perl_magic_setsubstr #undef magic_setsubstr -#define magic_setsubstr pPerl->magic_setsubstr +#define magic_setsubstr Perl_magic_setsubstr +#undef Perl_magic_settaint +#define Perl_magic_settaint pPerl->Perl_magic_settaint #undef magic_settaint -#define magic_settaint pPerl->magic_settaint +#define magic_settaint Perl_magic_settaint +#undef Perl_magic_setuvar +#define Perl_magic_setuvar pPerl->Perl_magic_setuvar #undef magic_setuvar -#define magic_setuvar pPerl->magic_setuvar +#define magic_setuvar Perl_magic_setuvar +#undef Perl_magic_setvec +#define Perl_magic_setvec pPerl->Perl_magic_setvec #undef magic_setvec -#define magic_setvec pPerl->magic_setvec +#define magic_setvec Perl_magic_setvec +#undef Perl_magic_set_all_env +#define Perl_magic_set_all_env pPerl->Perl_magic_set_all_env #undef magic_set_all_env -#define magic_set_all_env pPerl->magic_set_all_env +#define magic_set_all_env Perl_magic_set_all_env +#undef Perl_magic_sizepack +#define Perl_magic_sizepack pPerl->Perl_magic_sizepack #undef magic_sizepack -#define magic_sizepack pPerl->magic_sizepack +#define magic_sizepack Perl_magic_sizepack +#undef Perl_magic_wipepack +#define Perl_magic_wipepack pPerl->Perl_magic_wipepack #undef magic_wipepack -#define magic_wipepack pPerl->magic_wipepack +#define magic_wipepack Perl_magic_wipepack +#undef Perl_magicname +#define Perl_magicname pPerl->Perl_magicname #undef magicname -#define magicname pPerl->magicname +#define magicname Perl_magicname #if defined(MYMALLOC) +#undef Perl_malloced_size +#define Perl_malloced_size pPerl->Perl_malloced_size #undef malloced_size -#define malloced_size pPerl->malloced_size +#define malloced_size Perl_malloced_size #endif +#undef Perl_markstack_grow +#define Perl_markstack_grow pPerl->Perl_markstack_grow #undef markstack_grow -#define markstack_grow pPerl->markstack_grow +#define markstack_grow Perl_markstack_grow #if defined(USE_LOCALE_COLLATE) +#undef Perl_mem_collxfrm +#define Perl_mem_collxfrm pPerl->Perl_mem_collxfrm #undef mem_collxfrm -#define mem_collxfrm pPerl->mem_collxfrm +#define mem_collxfrm Perl_mem_collxfrm #endif +#undef Perl_mess +#define Perl_mess pPerl->Perl_mess #undef mess -#define mess pPerl->mess +#define mess Perl_mess +#undef Perl_mg_clear +#define Perl_mg_clear pPerl->Perl_mg_clear #undef mg_clear -#define mg_clear pPerl->mg_clear +#define mg_clear Perl_mg_clear +#undef Perl_mg_copy +#define Perl_mg_copy pPerl->Perl_mg_copy #undef mg_copy -#define mg_copy pPerl->mg_copy +#define mg_copy Perl_mg_copy +#undef Perl_mg_find +#define Perl_mg_find pPerl->Perl_mg_find #undef mg_find -#define mg_find pPerl->mg_find +#define mg_find Perl_mg_find +#undef Perl_mg_free +#define Perl_mg_free pPerl->Perl_mg_free #undef mg_free -#define mg_free pPerl->mg_free +#define mg_free Perl_mg_free +#undef Perl_mg_get +#define Perl_mg_get pPerl->Perl_mg_get #undef mg_get -#define mg_get pPerl->mg_get +#define mg_get Perl_mg_get +#undef Perl_mg_length +#define Perl_mg_length pPerl->Perl_mg_length #undef mg_length -#define mg_length pPerl->mg_length +#define mg_length Perl_mg_length +#undef Perl_mg_magical +#define Perl_mg_magical pPerl->Perl_mg_magical #undef mg_magical -#define mg_magical pPerl->mg_magical +#define mg_magical Perl_mg_magical +#undef Perl_mg_set +#define Perl_mg_set pPerl->Perl_mg_set #undef mg_set -#define mg_set pPerl->mg_set +#define mg_set Perl_mg_set +#undef Perl_mg_size +#define Perl_mg_size pPerl->Perl_mg_size #undef mg_size -#define mg_size pPerl->mg_size +#define mg_size Perl_mg_size +#undef Perl_mod +#define Perl_mod pPerl->Perl_mod #undef mod -#define mod pPerl->mod +#define mod Perl_mod +#undef Perl_moreswitches +#define Perl_moreswitches pPerl->Perl_moreswitches #undef moreswitches -#define moreswitches pPerl->moreswitches +#define moreswitches Perl_moreswitches +#undef Perl_my +#define Perl_my pPerl->Perl_my #undef my -#define my pPerl->my +#define my Perl_my #ifdef USE_LOCALE_NUMERIC +#undef Perl_my_atof +#define Perl_my_atof pPerl->Perl_my_atof #undef my_atof -#define my_atof pPerl->my_atof +#define my_atof Perl_my_atof #endif #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY) +#undef Perl_my_bcopy +#define Perl_my_bcopy pPerl->Perl_my_bcopy #undef my_bcopy -#define my_bcopy pPerl->my_bcopy +#define my_bcopy Perl_my_bcopy #endif #if !defined(HAS_BZERO) && !defined(HAS_MEMSET) +#undef Perl_my_bzero +#define Perl_my_bzero pPerl->Perl_my_bzero #undef my_bzero -#define my_bzero pPerl->my_bzero +#define my_bzero Perl_my_bzero #endif +#undef Perl_my_exit +#define Perl_my_exit pPerl->Perl_my_exit #undef my_exit -#define my_exit pPerl->my_exit +#define my_exit Perl_my_exit +#undef Perl_my_failure_exit +#define Perl_my_failure_exit pPerl->Perl_my_failure_exit #undef my_failure_exit -#define my_failure_exit pPerl->my_failure_exit +#define my_failure_exit Perl_my_failure_exit +#undef Perl_my_fflush_all +#define Perl_my_fflush_all pPerl->Perl_my_fflush_all #undef my_fflush_all -#define my_fflush_all pPerl->my_fflush_all +#define my_fflush_all Perl_my_fflush_all +#undef Perl_my_lstat +#define Perl_my_lstat pPerl->Perl_my_lstat #undef my_lstat -#define my_lstat pPerl->my_lstat +#define my_lstat Perl_my_lstat #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) +#undef Perl_my_memcmp +#define Perl_my_memcmp pPerl->Perl_my_memcmp #undef my_memcmp -#define my_memcmp pPerl->my_memcmp +#define my_memcmp Perl_my_memcmp #endif #if !defined(HAS_MEMSET) +#undef Perl_my_memset +#define Perl_my_memset pPerl->Perl_my_memset #undef my_memset -#define my_memset pPerl->my_memset +#define my_memset Perl_my_memset #endif #if !defined(PERL_OBJECT) +#undef Perl_my_pclose +#define Perl_my_pclose pPerl->Perl_my_pclose #undef my_pclose -#define my_pclose pPerl->my_pclose +#define my_pclose Perl_my_pclose +#undef Perl_my_popen +#define Perl_my_popen pPerl->Perl_my_popen #undef my_popen -#define my_popen pPerl->my_popen +#define my_popen Perl_my_popen #endif +#undef Perl_my_setenv +#define Perl_my_setenv pPerl->Perl_my_setenv #undef my_setenv -#define my_setenv pPerl->my_setenv +#define my_setenv Perl_my_setenv +#undef Perl_my_stat +#define Perl_my_stat pPerl->Perl_my_stat #undef my_stat -#define my_stat pPerl->my_stat +#define my_stat Perl_my_stat #if defined(MYSWAP) +#undef Perl_my_swap +#define Perl_my_swap pPerl->Perl_my_swap #undef my_swap -#define my_swap pPerl->my_swap +#define my_swap Perl_my_swap +#undef Perl_my_htonl +#define Perl_my_htonl pPerl->Perl_my_htonl #undef my_htonl -#define my_htonl pPerl->my_htonl +#define my_htonl Perl_my_htonl +#undef Perl_my_ntohl +#define Perl_my_ntohl pPerl->Perl_my_ntohl #undef my_ntohl -#define my_ntohl pPerl->my_ntohl +#define my_ntohl Perl_my_ntohl #endif +#undef Perl_my_unexec +#define Perl_my_unexec pPerl->Perl_my_unexec #undef my_unexec -#define my_unexec pPerl->my_unexec +#define my_unexec Perl_my_unexec +#undef Perl_newANONLIST +#define Perl_newANONLIST pPerl->Perl_newANONLIST #undef newANONLIST -#define newANONLIST pPerl->newANONLIST +#define newANONLIST Perl_newANONLIST +#undef Perl_newANONHASH +#define Perl_newANONHASH pPerl->Perl_newANONHASH #undef newANONHASH -#define newANONHASH pPerl->newANONHASH +#define newANONHASH Perl_newANONHASH +#undef Perl_newANONSUB +#define Perl_newANONSUB pPerl->Perl_newANONSUB #undef newANONSUB -#define newANONSUB pPerl->newANONSUB +#define newANONSUB Perl_newANONSUB +#undef Perl_newASSIGNOP +#define Perl_newASSIGNOP pPerl->Perl_newASSIGNOP #undef newASSIGNOP -#define newASSIGNOP pPerl->newASSIGNOP +#define newASSIGNOP Perl_newASSIGNOP +#undef Perl_newCONDOP +#define Perl_newCONDOP pPerl->Perl_newCONDOP #undef newCONDOP -#define newCONDOP pPerl->newCONDOP +#define newCONDOP Perl_newCONDOP +#undef Perl_newCONSTSUB +#define Perl_newCONSTSUB pPerl->Perl_newCONSTSUB #undef newCONSTSUB -#define newCONSTSUB pPerl->newCONSTSUB +#define newCONSTSUB Perl_newCONSTSUB +#undef Perl_newFORM +#define Perl_newFORM pPerl->Perl_newFORM #undef newFORM -#define newFORM pPerl->newFORM +#define newFORM Perl_newFORM +#undef Perl_newFOROP +#define Perl_newFOROP pPerl->Perl_newFOROP #undef newFOROP -#define newFOROP pPerl->newFOROP +#define newFOROP Perl_newFOROP +#undef Perl_newLOGOP +#define Perl_newLOGOP pPerl->Perl_newLOGOP #undef newLOGOP -#define newLOGOP pPerl->newLOGOP +#define newLOGOP Perl_newLOGOP +#undef Perl_newLOOPEX +#define Perl_newLOOPEX pPerl->Perl_newLOOPEX #undef newLOOPEX -#define newLOOPEX pPerl->newLOOPEX +#define newLOOPEX Perl_newLOOPEX +#undef Perl_newLOOPOP +#define Perl_newLOOPOP pPerl->Perl_newLOOPOP #undef newLOOPOP -#define newLOOPOP pPerl->newLOOPOP +#define newLOOPOP Perl_newLOOPOP +#undef Perl_newNULLLIST +#define Perl_newNULLLIST pPerl->Perl_newNULLLIST #undef newNULLLIST -#define newNULLLIST pPerl->newNULLLIST +#define newNULLLIST Perl_newNULLLIST +#undef Perl_newOP +#define Perl_newOP pPerl->Perl_newOP #undef newOP -#define newOP pPerl->newOP +#define newOP Perl_newOP +#undef Perl_newPROG +#define Perl_newPROG pPerl->Perl_newPROG #undef newPROG -#define newPROG pPerl->newPROG +#define newPROG Perl_newPROG +#undef Perl_newRANGE +#define Perl_newRANGE pPerl->Perl_newRANGE #undef newRANGE -#define newRANGE pPerl->newRANGE +#define newRANGE Perl_newRANGE +#undef Perl_newSLICEOP +#define Perl_newSLICEOP pPerl->Perl_newSLICEOP #undef newSLICEOP -#define newSLICEOP pPerl->newSLICEOP +#define newSLICEOP Perl_newSLICEOP +#undef Perl_newSTATEOP +#define Perl_newSTATEOP pPerl->Perl_newSTATEOP #undef newSTATEOP -#define newSTATEOP pPerl->newSTATEOP +#define newSTATEOP Perl_newSTATEOP +#undef Perl_newSUB +#define Perl_newSUB pPerl->Perl_newSUB #undef newSUB -#define newSUB pPerl->newSUB +#define newSUB Perl_newSUB +#undef Perl_newXS +#define Perl_newXS pPerl->Perl_newXS #undef newXS -#define newXS pPerl->newXS +#define newXS Perl_newXS +#undef Perl_newAV +#define Perl_newAV pPerl->Perl_newAV #undef newAV -#define newAV pPerl->newAV +#define newAV Perl_newAV +#undef Perl_newAVREF +#define Perl_newAVREF pPerl->Perl_newAVREF #undef newAVREF -#define newAVREF pPerl->newAVREF +#define newAVREF Perl_newAVREF +#undef Perl_newBINOP +#define Perl_newBINOP pPerl->Perl_newBINOP #undef newBINOP -#define newBINOP pPerl->newBINOP +#define newBINOP Perl_newBINOP +#undef Perl_newCVREF +#define Perl_newCVREF pPerl->Perl_newCVREF #undef newCVREF -#define newCVREF pPerl->newCVREF +#define newCVREF Perl_newCVREF +#undef Perl_newGVOP +#define Perl_newGVOP pPerl->Perl_newGVOP #undef newGVOP -#define newGVOP pPerl->newGVOP +#define newGVOP Perl_newGVOP +#undef Perl_newGVgen +#define Perl_newGVgen pPerl->Perl_newGVgen #undef newGVgen -#define newGVgen pPerl->newGVgen +#define newGVgen Perl_newGVgen +#undef Perl_newGVREF +#define Perl_newGVREF pPerl->Perl_newGVREF #undef newGVREF -#define newGVREF pPerl->newGVREF +#define newGVREF Perl_newGVREF +#undef Perl_newHVREF +#define Perl_newHVREF pPerl->Perl_newHVREF #undef newHVREF -#define newHVREF pPerl->newHVREF +#define newHVREF Perl_newHVREF +#undef Perl_newHV +#define Perl_newHV pPerl->Perl_newHV #undef newHV -#define newHV pPerl->newHV +#define newHV Perl_newHV +#undef Perl_newHVhv +#define Perl_newHVhv pPerl->Perl_newHVhv #undef newHVhv -#define newHVhv pPerl->newHVhv +#define newHVhv Perl_newHVhv +#undef Perl_newIO +#define Perl_newIO pPerl->Perl_newIO #undef newIO -#define newIO pPerl->newIO +#define newIO Perl_newIO +#undef Perl_newLISTOP +#define Perl_newLISTOP pPerl->Perl_newLISTOP #undef newLISTOP -#define newLISTOP pPerl->newLISTOP +#define newLISTOP Perl_newLISTOP +#undef Perl_newPMOP +#define Perl_newPMOP pPerl->Perl_newPMOP #undef newPMOP -#define newPMOP pPerl->newPMOP +#define newPMOP Perl_newPMOP +#undef Perl_newPVOP +#define Perl_newPVOP pPerl->Perl_newPVOP #undef newPVOP -#define newPVOP pPerl->newPVOP +#define newPVOP Perl_newPVOP +#undef Perl_newRV +#define Perl_newRV pPerl->Perl_newRV #undef newRV -#define newRV pPerl->newRV +#define newRV Perl_newRV +#undef Perl_newRV_noinc +#define Perl_newRV_noinc pPerl->Perl_newRV_noinc #undef newRV_noinc -#define newRV_noinc pPerl->newRV_noinc +#define newRV_noinc Perl_newRV_noinc +#undef Perl_newSV +#define Perl_newSV pPerl->Perl_newSV #undef newSV -#define newSV pPerl->newSV +#define newSV Perl_newSV +#undef Perl_newSVREF +#define Perl_newSVREF pPerl->Perl_newSVREF #undef newSVREF -#define newSVREF pPerl->newSVREF +#define newSVREF Perl_newSVREF +#undef Perl_newSVOP +#define Perl_newSVOP pPerl->Perl_newSVOP #undef newSVOP -#define newSVOP pPerl->newSVOP +#define newSVOP Perl_newSVOP +#undef Perl_newSViv +#define Perl_newSViv pPerl->Perl_newSViv #undef newSViv -#define newSViv pPerl->newSViv +#define newSViv Perl_newSViv +#undef Perl_newSVnv +#define Perl_newSVnv pPerl->Perl_newSVnv #undef newSVnv -#define newSVnv pPerl->newSVnv +#define newSVnv Perl_newSVnv +#undef Perl_newSVpv +#define Perl_newSVpv pPerl->Perl_newSVpv #undef newSVpv -#define newSVpv pPerl->newSVpv +#define newSVpv Perl_newSVpv +#undef Perl_newSVpvn +#define Perl_newSVpvn pPerl->Perl_newSVpvn #undef newSVpvn -#define newSVpvn pPerl->newSVpvn +#define newSVpvn Perl_newSVpvn +#undef Perl_newSVpvf +#define Perl_newSVpvf pPerl->Perl_newSVpvf #undef newSVpvf -#define newSVpvf pPerl->newSVpvf +#define newSVpvf Perl_newSVpvf +#undef Perl_newSVrv +#define Perl_newSVrv pPerl->Perl_newSVrv #undef newSVrv -#define newSVrv pPerl->newSVrv +#define newSVrv Perl_newSVrv +#undef Perl_newSVsv +#define Perl_newSVsv pPerl->Perl_newSVsv #undef newSVsv -#define newSVsv pPerl->newSVsv +#define newSVsv Perl_newSVsv +#undef Perl_newUNOP +#define Perl_newUNOP pPerl->Perl_newUNOP #undef newUNOP -#define newUNOP pPerl->newUNOP +#define newUNOP Perl_newUNOP +#undef Perl_newWHILEOP +#define Perl_newWHILEOP pPerl->Perl_newWHILEOP #undef newWHILEOP -#define newWHILEOP pPerl->newWHILEOP +#define newWHILEOP Perl_newWHILEOP #if defined(USE_THREADS) +#undef Perl_new_struct_thread +#define Perl_new_struct_thread pPerl->Perl_new_struct_thread #undef new_struct_thread -#define new_struct_thread pPerl->new_struct_thread +#define new_struct_thread Perl_new_struct_thread #endif +#undef Perl_new_stackinfo +#define Perl_new_stackinfo pPerl->Perl_new_stackinfo #undef new_stackinfo -#define new_stackinfo pPerl->new_stackinfo +#define new_stackinfo Perl_new_stackinfo +#undef Perl_nextargv +#define Perl_nextargv pPerl->Perl_nextargv #undef nextargv -#define nextargv pPerl->nextargv +#define nextargv Perl_nextargv +#undef Perl_ninstr +#define Perl_ninstr pPerl->Perl_ninstr #undef ninstr -#define ninstr pPerl->ninstr +#define ninstr Perl_ninstr +#undef Perl_oopsCV +#define Perl_oopsCV pPerl->Perl_oopsCV #undef oopsCV -#define oopsCV pPerl->oopsCV +#define oopsCV Perl_oopsCV +#undef Perl_op_free +#define Perl_op_free pPerl->Perl_op_free #undef op_free -#define op_free pPerl->op_free +#define op_free Perl_op_free +#undef Perl_package +#define Perl_package pPerl->Perl_package #undef package -#define package pPerl->package +#define package Perl_package +#undef Perl_pad_alloc +#define Perl_pad_alloc pPerl->Perl_pad_alloc #undef pad_alloc -#define pad_alloc pPerl->pad_alloc +#define pad_alloc Perl_pad_alloc +#undef Perl_pad_allocmy +#define Perl_pad_allocmy pPerl->Perl_pad_allocmy #undef pad_allocmy -#define pad_allocmy pPerl->pad_allocmy +#define pad_allocmy Perl_pad_allocmy +#undef Perl_pad_findmy +#define Perl_pad_findmy pPerl->Perl_pad_findmy #undef pad_findmy -#define pad_findmy pPerl->pad_findmy +#define pad_findmy Perl_pad_findmy +#undef Perl_oopsAV +#define Perl_oopsAV pPerl->Perl_oopsAV #undef oopsAV -#define oopsAV pPerl->oopsAV +#define oopsAV Perl_oopsAV +#undef Perl_oopsHV +#define Perl_oopsHV pPerl->Perl_oopsHV #undef oopsHV -#define oopsHV pPerl->oopsHV +#define oopsHV Perl_oopsHV +#undef Perl_pad_leavemy +#define Perl_pad_leavemy pPerl->Perl_pad_leavemy #undef pad_leavemy -#define pad_leavemy pPerl->pad_leavemy +#define pad_leavemy Perl_pad_leavemy +#undef Perl_pad_sv +#define Perl_pad_sv pPerl->Perl_pad_sv #undef pad_sv -#define pad_sv pPerl->pad_sv +#define pad_sv Perl_pad_sv +#undef Perl_pad_free +#define Perl_pad_free pPerl->Perl_pad_free #undef pad_free -#define pad_free pPerl->pad_free +#define pad_free Perl_pad_free +#undef Perl_pad_reset +#define Perl_pad_reset pPerl->Perl_pad_reset #undef pad_reset -#define pad_reset pPerl->pad_reset +#define pad_reset Perl_pad_reset +#undef Perl_pad_swipe +#define Perl_pad_swipe pPerl->Perl_pad_swipe #undef pad_swipe -#define pad_swipe pPerl->pad_swipe +#define pad_swipe Perl_pad_swipe +#undef Perl_peep +#define Perl_peep pPerl->Perl_peep #undef peep -#define peep pPerl->peep +#define peep Perl_peep +#if defined(PERL_OBJECT) +#undef perl_construct +#define perl_construct pPerl->perl_construct +#undef perl_destruct +#define perl_destruct pPerl->perl_destruct +#undef perl_free +#define perl_free pPerl->perl_free +#undef perl_run +#define perl_run pPerl->perl_run +#undef perl_parse +#define perl_parse pPerl->perl_parse +#else +#undef perl_alloc +#define perl_alloc pPerl->perl_alloc +#undef perl_construct +#define perl_construct pPerl->perl_construct +#undef perl_destruct +#define perl_destruct pPerl->perl_destruct +#undef perl_free +#define perl_free pPerl->perl_free +#undef perl_run +#define perl_run pPerl->perl_run +#undef perl_parse +#define perl_parse pPerl->perl_parse +#endif +#undef Perl_call_atexit +#define Perl_call_atexit pPerl->Perl_call_atexit #undef call_atexit -#define call_atexit pPerl->call_atexit +#define call_atexit Perl_call_atexit +#undef Perl_call_argv +#define Perl_call_argv pPerl->Perl_call_argv #undef call_argv -#define call_argv pPerl->call_argv +#define call_argv Perl_call_argv +#undef Perl_call_method +#define Perl_call_method pPerl->Perl_call_method #undef call_method -#define call_method pPerl->call_method +#define call_method Perl_call_method +#undef Perl_call_pv +#define Perl_call_pv pPerl->Perl_call_pv #undef call_pv -#define call_pv pPerl->call_pv +#define call_pv Perl_call_pv +#undef Perl_call_sv +#define Perl_call_sv pPerl->Perl_call_sv #undef call_sv -#define call_sv pPerl->call_sv +#define call_sv Perl_call_sv +#undef Perl_eval_pv +#define Perl_eval_pv pPerl->Perl_eval_pv #undef eval_pv -#define eval_pv pPerl->eval_pv +#define eval_pv Perl_eval_pv +#undef Perl_eval_sv +#define Perl_eval_sv pPerl->Perl_eval_sv #undef eval_sv -#define eval_sv pPerl->eval_sv +#define eval_sv Perl_eval_sv +#undef Perl_get_sv +#define Perl_get_sv pPerl->Perl_get_sv #undef get_sv -#define get_sv pPerl->get_sv +#define get_sv Perl_get_sv +#undef Perl_get_av +#define Perl_get_av pPerl->Perl_get_av #undef get_av -#define get_av pPerl->get_av +#define get_av Perl_get_av +#undef Perl_get_hv +#define Perl_get_hv pPerl->Perl_get_hv #undef get_hv -#define get_hv pPerl->get_hv +#define get_hv Perl_get_hv +#undef Perl_get_cv +#define Perl_get_cv pPerl->Perl_get_cv #undef get_cv -#define get_cv pPerl->get_cv +#define get_cv Perl_get_cv +#undef Perl_init_i18nl10n +#define Perl_init_i18nl10n pPerl->Perl_init_i18nl10n #undef init_i18nl10n -#define init_i18nl10n pPerl->init_i18nl10n +#define init_i18nl10n Perl_init_i18nl10n +#undef Perl_init_i18nl14n +#define Perl_init_i18nl14n pPerl->Perl_init_i18nl14n #undef init_i18nl14n -#define init_i18nl14n pPerl->init_i18nl14n +#define init_i18nl14n Perl_init_i18nl14n +#undef Perl_new_collate +#define Perl_new_collate pPerl->Perl_new_collate #undef new_collate -#define new_collate pPerl->new_collate +#define new_collate Perl_new_collate +#undef Perl_new_ctype +#define Perl_new_ctype pPerl->Perl_new_ctype #undef new_ctype -#define new_ctype pPerl->new_ctype +#define new_ctype Perl_new_ctype +#undef Perl_new_numeric +#define Perl_new_numeric pPerl->Perl_new_numeric #undef new_numeric -#define new_numeric pPerl->new_numeric +#define new_numeric Perl_new_numeric +#undef Perl_set_numeric_local +#define Perl_set_numeric_local pPerl->Perl_set_numeric_local #undef set_numeric_local -#define set_numeric_local pPerl->set_numeric_local +#define set_numeric_local Perl_set_numeric_local +#undef Perl_set_numeric_radix +#define Perl_set_numeric_radix pPerl->Perl_set_numeric_radix #undef set_numeric_radix -#define set_numeric_radix pPerl->set_numeric_radix +#define set_numeric_radix Perl_set_numeric_radix +#undef Perl_set_numeric_standard +#define Perl_set_numeric_standard pPerl->Perl_set_numeric_standard #undef set_numeric_standard -#define set_numeric_standard pPerl->set_numeric_standard +#define set_numeric_standard Perl_set_numeric_standard +#undef Perl_require_pv +#define Perl_require_pv pPerl->Perl_require_pv #undef require_pv -#define require_pv pPerl->require_pv +#define require_pv Perl_require_pv +#undef Perl_pidgone +#define Perl_pidgone pPerl->Perl_pidgone #undef pidgone -#define pidgone pPerl->pidgone +#define pidgone Perl_pidgone +#undef Perl_pmflag +#define Perl_pmflag pPerl->Perl_pmflag #undef pmflag -#define pmflag pPerl->pmflag +#define pmflag Perl_pmflag +#undef Perl_pmruntime +#define Perl_pmruntime pPerl->Perl_pmruntime #undef pmruntime -#define pmruntime pPerl->pmruntime +#define pmruntime Perl_pmruntime +#undef Perl_pmtrans +#define Perl_pmtrans pPerl->Perl_pmtrans #undef pmtrans -#define pmtrans pPerl->pmtrans +#define pmtrans Perl_pmtrans +#undef Perl_pop_return +#define Perl_pop_return pPerl->Perl_pop_return #undef pop_return -#define pop_return pPerl->pop_return +#define pop_return Perl_pop_return +#undef Perl_pop_scope +#define Perl_pop_scope pPerl->Perl_pop_scope #undef pop_scope -#define pop_scope pPerl->pop_scope +#define pop_scope Perl_pop_scope +#undef Perl_prepend_elem +#define Perl_prepend_elem pPerl->Perl_prepend_elem #undef prepend_elem -#define prepend_elem pPerl->prepend_elem +#define prepend_elem Perl_prepend_elem +#undef Perl_push_return +#define Perl_push_return pPerl->Perl_push_return #undef push_return -#define push_return pPerl->push_return +#define push_return Perl_push_return +#undef Perl_push_scope +#define Perl_push_scope pPerl->Perl_push_scope #undef push_scope -#define push_scope pPerl->push_scope +#define push_scope Perl_push_scope +#undef Perl_ref +#define Perl_ref pPerl->Perl_ref #undef ref -#define ref pPerl->ref +#define ref Perl_ref +#undef Perl_refkids +#define Perl_refkids pPerl->Perl_refkids #undef refkids -#define refkids pPerl->refkids +#define refkids Perl_refkids +#undef Perl_regdump +#define Perl_regdump pPerl->Perl_regdump #undef regdump -#define regdump pPerl->regdump +#define regdump Perl_regdump +#undef Perl_pregexec +#define Perl_pregexec pPerl->Perl_pregexec #undef pregexec -#define pregexec pPerl->pregexec +#define pregexec Perl_pregexec +#undef Perl_pregfree +#define Perl_pregfree pPerl->Perl_pregfree #undef pregfree -#define pregfree pPerl->pregfree +#define pregfree Perl_pregfree +#undef Perl_pregcomp +#define Perl_pregcomp pPerl->Perl_pregcomp #undef pregcomp -#define pregcomp pPerl->pregcomp +#define pregcomp Perl_pregcomp +#undef Perl_regexec_flags +#define Perl_regexec_flags pPerl->Perl_regexec_flags #undef regexec_flags -#define regexec_flags pPerl->regexec_flags +#define regexec_flags Perl_regexec_flags +#undef Perl_regnext +#define Perl_regnext pPerl->Perl_regnext #undef regnext -#define regnext pPerl->regnext +#define regnext Perl_regnext +#undef Perl_regprop +#define Perl_regprop pPerl->Perl_regprop #undef regprop -#define regprop pPerl->regprop +#define regprop Perl_regprop +#undef Perl_repeatcpy +#define Perl_repeatcpy pPerl->Perl_repeatcpy #undef repeatcpy -#define repeatcpy pPerl->repeatcpy +#define repeatcpy Perl_repeatcpy +#undef Perl_rninstr +#define Perl_rninstr pPerl->Perl_rninstr #undef rninstr -#define rninstr pPerl->rninstr +#define rninstr Perl_rninstr +#undef Perl_rsignal +#define Perl_rsignal pPerl->Perl_rsignal #undef rsignal -#define rsignal pPerl->rsignal +#define rsignal Perl_rsignal +#undef Perl_rsignal_restore +#define Perl_rsignal_restore pPerl->Perl_rsignal_restore #undef rsignal_restore -#define rsignal_restore pPerl->rsignal_restore +#define rsignal_restore Perl_rsignal_restore +#undef Perl_rsignal_save +#define Perl_rsignal_save pPerl->Perl_rsignal_save #undef rsignal_save -#define rsignal_save pPerl->rsignal_save +#define rsignal_save Perl_rsignal_save +#undef Perl_rsignal_state +#define Perl_rsignal_state pPerl->Perl_rsignal_state #undef rsignal_state -#define rsignal_state pPerl->rsignal_state +#define rsignal_state Perl_rsignal_state +#undef Perl_rxres_free +#define Perl_rxres_free pPerl->Perl_rxres_free #undef rxres_free -#define rxres_free pPerl->rxres_free +#define rxres_free Perl_rxres_free +#undef Perl_rxres_restore +#define Perl_rxres_restore pPerl->Perl_rxres_restore #undef rxres_restore -#define rxres_restore pPerl->rxres_restore +#define rxres_restore Perl_rxres_restore +#undef Perl_rxres_save +#define Perl_rxres_save pPerl->Perl_rxres_save #undef rxres_save -#define rxres_save pPerl->rxres_save +#define rxres_save Perl_rxres_save #if !defined(HAS_RENAME) +#undef Perl_same_dirent +#define Perl_same_dirent pPerl->Perl_same_dirent #undef same_dirent -#define same_dirent pPerl->same_dirent +#define same_dirent Perl_same_dirent #endif +#undef Perl_savepv +#define Perl_savepv pPerl->Perl_savepv #undef savepv -#define savepv pPerl->savepv +#define savepv Perl_savepv +#undef Perl_savepvn +#define Perl_savepvn pPerl->Perl_savepvn #undef savepvn -#define savepvn pPerl->savepvn +#define savepvn Perl_savepvn +#undef Perl_savestack_grow +#define Perl_savestack_grow pPerl->Perl_savestack_grow #undef savestack_grow -#define savestack_grow pPerl->savestack_grow +#define savestack_grow Perl_savestack_grow +#undef Perl_save_aelem +#define Perl_save_aelem pPerl->Perl_save_aelem #undef save_aelem -#define save_aelem pPerl->save_aelem +#define save_aelem Perl_save_aelem +#undef Perl_save_alloc +#define Perl_save_alloc pPerl->Perl_save_alloc #undef save_alloc -#define save_alloc pPerl->save_alloc +#define save_alloc Perl_save_alloc +#undef Perl_save_aptr +#define Perl_save_aptr pPerl->Perl_save_aptr #undef save_aptr -#define save_aptr pPerl->save_aptr +#define save_aptr Perl_save_aptr +#undef Perl_save_ary +#define Perl_save_ary pPerl->Perl_save_ary #undef save_ary -#define save_ary pPerl->save_ary +#define save_ary Perl_save_ary +#undef Perl_save_clearsv +#define Perl_save_clearsv pPerl->Perl_save_clearsv #undef save_clearsv -#define save_clearsv pPerl->save_clearsv +#define save_clearsv Perl_save_clearsv +#undef Perl_save_delete +#define Perl_save_delete pPerl->Perl_save_delete #undef save_delete -#define save_delete pPerl->save_delete +#define save_delete Perl_save_delete +#undef Perl_save_destructor +#define Perl_save_destructor pPerl->Perl_save_destructor #undef save_destructor -#define save_destructor pPerl->save_destructor +#define save_destructor Perl_save_destructor +#undef Perl_save_freesv +#define Perl_save_freesv pPerl->Perl_save_freesv #undef save_freesv -#define save_freesv pPerl->save_freesv +#define save_freesv Perl_save_freesv +#undef Perl_save_freeop +#define Perl_save_freeop pPerl->Perl_save_freeop #undef save_freeop -#define save_freeop pPerl->save_freeop +#define save_freeop Perl_save_freeop +#undef Perl_save_freepv +#define Perl_save_freepv pPerl->Perl_save_freepv #undef save_freepv -#define save_freepv pPerl->save_freepv +#define save_freepv Perl_save_freepv +#undef Perl_save_generic_svref +#define Perl_save_generic_svref pPerl->Perl_save_generic_svref #undef save_generic_svref -#define save_generic_svref pPerl->save_generic_svref +#define save_generic_svref Perl_save_generic_svref +#undef Perl_save_gp +#define Perl_save_gp pPerl->Perl_save_gp #undef save_gp -#define save_gp pPerl->save_gp +#define save_gp Perl_save_gp +#undef Perl_save_hash +#define Perl_save_hash pPerl->Perl_save_hash #undef save_hash -#define save_hash pPerl->save_hash +#define save_hash Perl_save_hash +#undef Perl_save_helem +#define Perl_save_helem pPerl->Perl_save_helem #undef save_helem -#define save_helem pPerl->save_helem +#define save_helem Perl_save_helem +#undef Perl_save_hints +#define Perl_save_hints pPerl->Perl_save_hints #undef save_hints -#define save_hints pPerl->save_hints +#define save_hints Perl_save_hints +#undef Perl_save_hptr +#define Perl_save_hptr pPerl->Perl_save_hptr #undef save_hptr -#define save_hptr pPerl->save_hptr +#define save_hptr Perl_save_hptr +#undef Perl_save_I16 +#define Perl_save_I16 pPerl->Perl_save_I16 #undef save_I16 -#define save_I16 pPerl->save_I16 +#define save_I16 Perl_save_I16 +#undef Perl_save_I32 +#define Perl_save_I32 pPerl->Perl_save_I32 #undef save_I32 -#define save_I32 pPerl->save_I32 +#define save_I32 Perl_save_I32 +#undef Perl_save_int +#define Perl_save_int pPerl->Perl_save_int #undef save_int -#define save_int pPerl->save_int +#define save_int Perl_save_int +#undef Perl_save_item +#define Perl_save_item pPerl->Perl_save_item #undef save_item -#define save_item pPerl->save_item +#define save_item Perl_save_item +#undef Perl_save_iv +#define Perl_save_iv pPerl->Perl_save_iv #undef save_iv -#define save_iv pPerl->save_iv +#define save_iv Perl_save_iv +#undef Perl_save_list +#define Perl_save_list pPerl->Perl_save_list #undef save_list -#define save_list pPerl->save_list +#define save_list Perl_save_list +#undef Perl_save_long +#define Perl_save_long pPerl->Perl_save_long #undef save_long -#define save_long pPerl->save_long +#define save_long Perl_save_long +#undef Perl_save_nogv +#define Perl_save_nogv pPerl->Perl_save_nogv #undef save_nogv -#define save_nogv pPerl->save_nogv +#define save_nogv Perl_save_nogv +#undef Perl_save_op +#define Perl_save_op pPerl->Perl_save_op #undef save_op -#define save_op pPerl->save_op +#define save_op Perl_save_op +#undef Perl_save_scalar +#define Perl_save_scalar pPerl->Perl_save_scalar #undef save_scalar -#define save_scalar pPerl->save_scalar +#define save_scalar Perl_save_scalar +#undef Perl_save_pptr +#define Perl_save_pptr pPerl->Perl_save_pptr #undef save_pptr -#define save_pptr pPerl->save_pptr +#define save_pptr Perl_save_pptr +#undef Perl_save_re_context +#define Perl_save_re_context pPerl->Perl_save_re_context #undef save_re_context -#define save_re_context pPerl->save_re_context +#define save_re_context Perl_save_re_context +#undef Perl_save_sptr +#define Perl_save_sptr pPerl->Perl_save_sptr #undef save_sptr -#define save_sptr pPerl->save_sptr +#define save_sptr Perl_save_sptr +#undef Perl_save_svref +#define Perl_save_svref pPerl->Perl_save_svref #undef save_svref -#define save_svref pPerl->save_svref +#define save_svref Perl_save_svref +#undef Perl_save_threadsv +#define Perl_save_threadsv pPerl->Perl_save_threadsv #undef save_threadsv -#define save_threadsv pPerl->save_threadsv +#define save_threadsv Perl_save_threadsv +#undef Perl_sawparens +#define Perl_sawparens pPerl->Perl_sawparens #undef sawparens -#define sawparens pPerl->sawparens +#define sawparens Perl_sawparens +#undef Perl_scalar +#define Perl_scalar pPerl->Perl_scalar #undef scalar -#define scalar pPerl->scalar +#define scalar Perl_scalar +#undef Perl_scalarkids +#define Perl_scalarkids pPerl->Perl_scalarkids #undef scalarkids -#define scalarkids pPerl->scalarkids +#define scalarkids Perl_scalarkids +#undef Perl_scalarseq +#define Perl_scalarseq pPerl->Perl_scalarseq #undef scalarseq -#define scalarseq pPerl->scalarseq +#define scalarseq Perl_scalarseq +#undef Perl_scalarvoid +#define Perl_scalarvoid pPerl->Perl_scalarvoid #undef scalarvoid -#define scalarvoid pPerl->scalarvoid +#define scalarvoid Perl_scalarvoid +#undef Perl_scan_bin +#define Perl_scan_bin pPerl->Perl_scan_bin #undef scan_bin -#define scan_bin pPerl->scan_bin +#define scan_bin Perl_scan_bin +#undef Perl_scan_hex +#define Perl_scan_hex pPerl->Perl_scan_hex #undef scan_hex -#define scan_hex pPerl->scan_hex +#define scan_hex Perl_scan_hex +#undef Perl_scan_num +#define Perl_scan_num pPerl->Perl_scan_num #undef scan_num -#define scan_num pPerl->scan_num +#define scan_num Perl_scan_num +#undef Perl_scan_oct +#define Perl_scan_oct pPerl->Perl_scan_oct #undef scan_oct -#define scan_oct pPerl->scan_oct +#define scan_oct Perl_scan_oct +#undef Perl_scope +#define Perl_scope pPerl->Perl_scope #undef scope -#define scope pPerl->scope +#define scope Perl_scope +#undef Perl_screaminstr +#define Perl_screaminstr pPerl->Perl_screaminstr #undef screaminstr -#define screaminstr pPerl->screaminstr +#define screaminstr Perl_screaminstr #if !defined(VMS) +#undef Perl_setenv_getix +#define Perl_setenv_getix pPerl->Perl_setenv_getix #undef setenv_getix -#define setenv_getix pPerl->setenv_getix +#define setenv_getix Perl_setenv_getix #endif +#undef Perl_setdefout +#define Perl_setdefout pPerl->Perl_setdefout #undef setdefout -#define setdefout pPerl->setdefout +#define setdefout Perl_setdefout +#undef Perl_sharepvn +#define Perl_sharepvn pPerl->Perl_sharepvn #undef sharepvn -#define sharepvn pPerl->sharepvn +#define sharepvn Perl_sharepvn +#undef Perl_share_hek +#define Perl_share_hek pPerl->Perl_share_hek #undef share_hek -#define share_hek pPerl->share_hek +#define share_hek Perl_share_hek +#undef Perl_sighandler +#define Perl_sighandler pPerl->Perl_sighandler #undef sighandler -#define sighandler pPerl->sighandler +#define sighandler Perl_sighandler +#undef Perl_stack_grow +#define Perl_stack_grow pPerl->Perl_stack_grow #undef stack_grow -#define stack_grow pPerl->stack_grow +#define stack_grow Perl_stack_grow +#undef Perl_start_subparse +#define Perl_start_subparse pPerl->Perl_start_subparse #undef start_subparse -#define start_subparse pPerl->start_subparse +#define start_subparse Perl_start_subparse +#undef Perl_sub_crush_depth +#define Perl_sub_crush_depth pPerl->Perl_sub_crush_depth #undef sub_crush_depth -#define sub_crush_depth pPerl->sub_crush_depth +#define sub_crush_depth Perl_sub_crush_depth +#undef Perl_sv_2bool +#define Perl_sv_2bool pPerl->Perl_sv_2bool #undef sv_2bool -#define sv_2bool pPerl->sv_2bool +#define sv_2bool Perl_sv_2bool +#undef Perl_sv_2cv +#define Perl_sv_2cv pPerl->Perl_sv_2cv #undef sv_2cv -#define sv_2cv pPerl->sv_2cv +#define sv_2cv Perl_sv_2cv +#undef Perl_sv_2io +#define Perl_sv_2io pPerl->Perl_sv_2io #undef sv_2io -#define sv_2io pPerl->sv_2io +#define sv_2io Perl_sv_2io +#undef Perl_sv_2iv +#define Perl_sv_2iv pPerl->Perl_sv_2iv #undef sv_2iv -#define sv_2iv pPerl->sv_2iv +#define sv_2iv Perl_sv_2iv +#undef Perl_sv_2mortal +#define Perl_sv_2mortal pPerl->Perl_sv_2mortal #undef sv_2mortal -#define sv_2mortal pPerl->sv_2mortal +#define sv_2mortal Perl_sv_2mortal +#undef Perl_sv_2nv +#define Perl_sv_2nv pPerl->Perl_sv_2nv #undef sv_2nv -#define sv_2nv pPerl->sv_2nv +#define sv_2nv Perl_sv_2nv +#undef Perl_sv_2pv +#define Perl_sv_2pv pPerl->Perl_sv_2pv #undef sv_2pv -#define sv_2pv pPerl->sv_2pv +#define sv_2pv Perl_sv_2pv +#undef Perl_sv_2uv +#define Perl_sv_2uv pPerl->Perl_sv_2uv #undef sv_2uv -#define sv_2uv pPerl->sv_2uv +#define sv_2uv Perl_sv_2uv +#undef Perl_sv_iv +#define Perl_sv_iv pPerl->Perl_sv_iv #undef sv_iv -#define sv_iv pPerl->sv_iv +#define sv_iv Perl_sv_iv +#undef Perl_sv_uv +#define Perl_sv_uv pPerl->Perl_sv_uv #undef sv_uv -#define sv_uv pPerl->sv_uv +#define sv_uv Perl_sv_uv +#undef Perl_sv_nv +#define Perl_sv_nv pPerl->Perl_sv_nv #undef sv_nv -#define sv_nv pPerl->sv_nv +#define sv_nv Perl_sv_nv +#undef Perl_sv_pvn +#define Perl_sv_pvn pPerl->Perl_sv_pvn #undef sv_pvn -#define sv_pvn pPerl->sv_pvn +#define sv_pvn Perl_sv_pvn +#undef Perl_sv_true +#define Perl_sv_true pPerl->Perl_sv_true #undef sv_true -#define sv_true pPerl->sv_true +#define sv_true Perl_sv_true +#undef Perl_sv_add_arena +#define Perl_sv_add_arena pPerl->Perl_sv_add_arena #undef sv_add_arena -#define sv_add_arena pPerl->sv_add_arena +#define sv_add_arena Perl_sv_add_arena +#undef Perl_sv_backoff +#define Perl_sv_backoff pPerl->Perl_sv_backoff #undef sv_backoff -#define sv_backoff pPerl->sv_backoff +#define sv_backoff Perl_sv_backoff +#undef Perl_sv_bless +#define Perl_sv_bless pPerl->Perl_sv_bless #undef sv_bless -#define sv_bless pPerl->sv_bless +#define sv_bless Perl_sv_bless +#undef Perl_sv_catpvf +#define Perl_sv_catpvf pPerl->Perl_sv_catpvf #undef sv_catpvf -#define sv_catpvf pPerl->sv_catpvf +#define sv_catpvf Perl_sv_catpvf +#undef Perl_sv_catpv +#define Perl_sv_catpv pPerl->Perl_sv_catpv #undef sv_catpv -#define sv_catpv pPerl->sv_catpv +#define sv_catpv Perl_sv_catpv +#undef Perl_sv_catpvn +#define Perl_sv_catpvn pPerl->Perl_sv_catpvn #undef sv_catpvn -#define sv_catpvn pPerl->sv_catpvn +#define sv_catpvn Perl_sv_catpvn +#undef Perl_sv_catsv +#define Perl_sv_catsv pPerl->Perl_sv_catsv #undef sv_catsv -#define sv_catsv pPerl->sv_catsv +#define sv_catsv Perl_sv_catsv +#undef Perl_sv_chop +#define Perl_sv_chop pPerl->Perl_sv_chop #undef sv_chop -#define sv_chop pPerl->sv_chop +#define sv_chop Perl_sv_chop +#undef Perl_sv_clean_all +#define Perl_sv_clean_all pPerl->Perl_sv_clean_all #undef sv_clean_all -#define sv_clean_all pPerl->sv_clean_all +#define sv_clean_all Perl_sv_clean_all +#undef Perl_sv_clean_objs +#define Perl_sv_clean_objs pPerl->Perl_sv_clean_objs #undef sv_clean_objs -#define sv_clean_objs pPerl->sv_clean_objs +#define sv_clean_objs Perl_sv_clean_objs +#undef Perl_sv_clear +#define Perl_sv_clear pPerl->Perl_sv_clear #undef sv_clear -#define sv_clear pPerl->sv_clear +#define sv_clear Perl_sv_clear +#undef Perl_sv_cmp +#define Perl_sv_cmp pPerl->Perl_sv_cmp #undef sv_cmp -#define sv_cmp pPerl->sv_cmp +#define sv_cmp Perl_sv_cmp +#undef Perl_sv_cmp_locale +#define Perl_sv_cmp_locale pPerl->Perl_sv_cmp_locale #undef sv_cmp_locale -#define sv_cmp_locale pPerl->sv_cmp_locale +#define sv_cmp_locale Perl_sv_cmp_locale #if defined(USE_LOCALE_COLLATE) +#undef Perl_sv_collxfrm +#define Perl_sv_collxfrm pPerl->Perl_sv_collxfrm #undef sv_collxfrm -#define sv_collxfrm pPerl->sv_collxfrm +#define sv_collxfrm Perl_sv_collxfrm #endif +#undef Perl_sv_compile_2op +#define Perl_sv_compile_2op pPerl->Perl_sv_compile_2op #undef sv_compile_2op -#define sv_compile_2op pPerl->sv_compile_2op +#define sv_compile_2op Perl_sv_compile_2op +#undef Perl_sv_dec +#define Perl_sv_dec pPerl->Perl_sv_dec #undef sv_dec -#define sv_dec pPerl->sv_dec +#define sv_dec Perl_sv_dec +#undef Perl_sv_dump +#define Perl_sv_dump pPerl->Perl_sv_dump #undef sv_dump -#define sv_dump pPerl->sv_dump +#define sv_dump Perl_sv_dump +#undef Perl_sv_derived_from +#define Perl_sv_derived_from pPerl->Perl_sv_derived_from #undef sv_derived_from -#define sv_derived_from pPerl->sv_derived_from +#define sv_derived_from Perl_sv_derived_from +#undef Perl_sv_eq +#define Perl_sv_eq pPerl->Perl_sv_eq #undef sv_eq -#define sv_eq pPerl->sv_eq +#define sv_eq Perl_sv_eq +#undef Perl_sv_free +#define Perl_sv_free pPerl->Perl_sv_free #undef sv_free -#define sv_free pPerl->sv_free +#define sv_free Perl_sv_free +#undef Perl_sv_free_arenas +#define Perl_sv_free_arenas pPerl->Perl_sv_free_arenas #undef sv_free_arenas -#define sv_free_arenas pPerl->sv_free_arenas +#define sv_free_arenas Perl_sv_free_arenas +#undef Perl_sv_gets +#define Perl_sv_gets pPerl->Perl_sv_gets #undef sv_gets -#define sv_gets pPerl->sv_gets +#define sv_gets Perl_sv_gets +#undef Perl_sv_grow +#define Perl_sv_grow pPerl->Perl_sv_grow #undef sv_grow -#define sv_grow pPerl->sv_grow +#define sv_grow Perl_sv_grow +#undef Perl_sv_inc +#define Perl_sv_inc pPerl->Perl_sv_inc #undef sv_inc -#define sv_inc pPerl->sv_inc +#define sv_inc Perl_sv_inc +#undef Perl_sv_insert +#define Perl_sv_insert pPerl->Perl_sv_insert #undef sv_insert -#define sv_insert pPerl->sv_insert +#define sv_insert Perl_sv_insert +#undef Perl_sv_isa +#define Perl_sv_isa pPerl->Perl_sv_isa #undef sv_isa -#define sv_isa pPerl->sv_isa +#define sv_isa Perl_sv_isa +#undef Perl_sv_isobject +#define Perl_sv_isobject pPerl->Perl_sv_isobject #undef sv_isobject -#define sv_isobject pPerl->sv_isobject +#define sv_isobject Perl_sv_isobject +#undef Perl_sv_len +#define Perl_sv_len pPerl->Perl_sv_len #undef sv_len -#define sv_len pPerl->sv_len +#define sv_len Perl_sv_len +#undef Perl_sv_len_utf8 +#define Perl_sv_len_utf8 pPerl->Perl_sv_len_utf8 #undef sv_len_utf8 -#define sv_len_utf8 pPerl->sv_len_utf8 +#define sv_len_utf8 Perl_sv_len_utf8 +#undef Perl_sv_magic +#define Perl_sv_magic pPerl->Perl_sv_magic #undef sv_magic -#define sv_magic pPerl->sv_magic +#define sv_magic Perl_sv_magic +#undef Perl_sv_mortalcopy +#define Perl_sv_mortalcopy pPerl->Perl_sv_mortalcopy #undef sv_mortalcopy -#define sv_mortalcopy pPerl->sv_mortalcopy +#define sv_mortalcopy Perl_sv_mortalcopy +#undef Perl_sv_newmortal +#define Perl_sv_newmortal pPerl->Perl_sv_newmortal #undef sv_newmortal -#define sv_newmortal pPerl->sv_newmortal +#define sv_newmortal Perl_sv_newmortal +#undef Perl_sv_newref +#define Perl_sv_newref pPerl->Perl_sv_newref #undef sv_newref -#define sv_newref pPerl->sv_newref +#define sv_newref Perl_sv_newref +#undef Perl_sv_peek +#define Perl_sv_peek pPerl->Perl_sv_peek #undef sv_peek -#define sv_peek pPerl->sv_peek +#define sv_peek Perl_sv_peek +#undef Perl_sv_pos_u2b +#define Perl_sv_pos_u2b pPerl->Perl_sv_pos_u2b #undef sv_pos_u2b -#define sv_pos_u2b pPerl->sv_pos_u2b +#define sv_pos_u2b Perl_sv_pos_u2b +#undef Perl_sv_pos_b2u +#define Perl_sv_pos_b2u pPerl->Perl_sv_pos_b2u #undef sv_pos_b2u -#define sv_pos_b2u pPerl->sv_pos_b2u +#define sv_pos_b2u Perl_sv_pos_b2u +#undef Perl_sv_pvn_force +#define Perl_sv_pvn_force pPerl->Perl_sv_pvn_force #undef sv_pvn_force -#define sv_pvn_force pPerl->sv_pvn_force +#define sv_pvn_force Perl_sv_pvn_force +#undef Perl_sv_reftype +#define Perl_sv_reftype pPerl->Perl_sv_reftype #undef sv_reftype -#define sv_reftype pPerl->sv_reftype +#define sv_reftype Perl_sv_reftype +#undef Perl_sv_replace +#define Perl_sv_replace pPerl->Perl_sv_replace #undef sv_replace -#define sv_replace pPerl->sv_replace +#define sv_replace Perl_sv_replace +#undef Perl_sv_report_used +#define Perl_sv_report_used pPerl->Perl_sv_report_used #undef sv_report_used -#define sv_report_used pPerl->sv_report_used +#define sv_report_used Perl_sv_report_used +#undef Perl_sv_reset +#define Perl_sv_reset pPerl->Perl_sv_reset #undef sv_reset -#define sv_reset pPerl->sv_reset +#define sv_reset Perl_sv_reset +#undef Perl_sv_setpvf +#define Perl_sv_setpvf pPerl->Perl_sv_setpvf #undef sv_setpvf -#define sv_setpvf pPerl->sv_setpvf +#define sv_setpvf Perl_sv_setpvf +#undef Perl_sv_setiv +#define Perl_sv_setiv pPerl->Perl_sv_setiv #undef sv_setiv -#define sv_setiv pPerl->sv_setiv +#define sv_setiv Perl_sv_setiv +#undef Perl_sv_setpviv +#define Perl_sv_setpviv pPerl->Perl_sv_setpviv #undef sv_setpviv -#define sv_setpviv pPerl->sv_setpviv +#define sv_setpviv Perl_sv_setpviv +#undef Perl_sv_setuv +#define Perl_sv_setuv pPerl->Perl_sv_setuv #undef sv_setuv -#define sv_setuv pPerl->sv_setuv +#define sv_setuv Perl_sv_setuv +#undef Perl_sv_setnv +#define Perl_sv_setnv pPerl->Perl_sv_setnv #undef sv_setnv -#define sv_setnv pPerl->sv_setnv +#define sv_setnv Perl_sv_setnv +#undef Perl_sv_setref_iv +#define Perl_sv_setref_iv pPerl->Perl_sv_setref_iv #undef sv_setref_iv -#define sv_setref_iv pPerl->sv_setref_iv +#define sv_setref_iv Perl_sv_setref_iv +#undef Perl_sv_setref_nv +#define Perl_sv_setref_nv pPerl->Perl_sv_setref_nv #undef sv_setref_nv -#define sv_setref_nv pPerl->sv_setref_nv +#define sv_setref_nv Perl_sv_setref_nv +#undef Perl_sv_setref_pv +#define Perl_sv_setref_pv pPerl->Perl_sv_setref_pv #undef sv_setref_pv -#define sv_setref_pv pPerl->sv_setref_pv +#define sv_setref_pv Perl_sv_setref_pv +#undef Perl_sv_setref_pvn +#define Perl_sv_setref_pvn pPerl->Perl_sv_setref_pvn #undef sv_setref_pvn -#define sv_setref_pvn pPerl->sv_setref_pvn +#define sv_setref_pvn Perl_sv_setref_pvn +#undef Perl_sv_setpv +#define Perl_sv_setpv pPerl->Perl_sv_setpv #undef sv_setpv -#define sv_setpv pPerl->sv_setpv +#define sv_setpv Perl_sv_setpv +#undef Perl_sv_setpvn +#define Perl_sv_setpvn pPerl->Perl_sv_setpvn #undef sv_setpvn -#define sv_setpvn pPerl->sv_setpvn +#define sv_setpvn Perl_sv_setpvn +#undef Perl_sv_setsv +#define Perl_sv_setsv pPerl->Perl_sv_setsv #undef sv_setsv -#define sv_setsv pPerl->sv_setsv +#define sv_setsv Perl_sv_setsv +#undef Perl_sv_taint +#define Perl_sv_taint pPerl->Perl_sv_taint #undef sv_taint -#define sv_taint pPerl->sv_taint +#define sv_taint Perl_sv_taint +#undef Perl_sv_tainted +#define Perl_sv_tainted pPerl->Perl_sv_tainted #undef sv_tainted -#define sv_tainted pPerl->sv_tainted +#define sv_tainted Perl_sv_tainted +#undef Perl_sv_unmagic +#define Perl_sv_unmagic pPerl->Perl_sv_unmagic #undef sv_unmagic -#define sv_unmagic pPerl->sv_unmagic +#define sv_unmagic Perl_sv_unmagic +#undef Perl_sv_unref +#define Perl_sv_unref pPerl->Perl_sv_unref #undef sv_unref -#define sv_unref pPerl->sv_unref +#define sv_unref Perl_sv_unref +#undef Perl_sv_untaint +#define Perl_sv_untaint pPerl->Perl_sv_untaint #undef sv_untaint -#define sv_untaint pPerl->sv_untaint +#define sv_untaint Perl_sv_untaint +#undef Perl_sv_upgrade +#define Perl_sv_upgrade pPerl->Perl_sv_upgrade #undef sv_upgrade -#define sv_upgrade pPerl->sv_upgrade +#define sv_upgrade Perl_sv_upgrade +#undef Perl_sv_usepvn +#define Perl_sv_usepvn pPerl->Perl_sv_usepvn #undef sv_usepvn -#define sv_usepvn pPerl->sv_usepvn +#define sv_usepvn Perl_sv_usepvn +#undef Perl_sv_vcatpvfn +#define Perl_sv_vcatpvfn pPerl->Perl_sv_vcatpvfn #undef sv_vcatpvfn -#define sv_vcatpvfn pPerl->sv_vcatpvfn +#define sv_vcatpvfn Perl_sv_vcatpvfn +#undef Perl_sv_vsetpvfn +#define Perl_sv_vsetpvfn pPerl->Perl_sv_vsetpvfn #undef sv_vsetpvfn -#define sv_vsetpvfn pPerl->sv_vsetpvfn +#define sv_vsetpvfn Perl_sv_vsetpvfn +#undef Perl_swash_init +#define Perl_swash_init pPerl->Perl_swash_init #undef swash_init -#define swash_init pPerl->swash_init +#define swash_init Perl_swash_init +#undef Perl_swash_fetch +#define Perl_swash_fetch pPerl->Perl_swash_fetch #undef swash_fetch -#define swash_fetch pPerl->swash_fetch +#define swash_fetch Perl_swash_fetch +#undef Perl_taint_env +#define Perl_taint_env pPerl->Perl_taint_env #undef taint_env -#define taint_env pPerl->taint_env +#define taint_env Perl_taint_env +#undef Perl_taint_proper +#define Perl_taint_proper pPerl->Perl_taint_proper #undef taint_proper -#define taint_proper pPerl->taint_proper +#define taint_proper Perl_taint_proper +#undef Perl_to_utf8_lower +#define Perl_to_utf8_lower pPerl->Perl_to_utf8_lower #undef to_utf8_lower -#define to_utf8_lower pPerl->to_utf8_lower +#define to_utf8_lower Perl_to_utf8_lower +#undef Perl_to_utf8_upper +#define Perl_to_utf8_upper pPerl->Perl_to_utf8_upper #undef to_utf8_upper -#define to_utf8_upper pPerl->to_utf8_upper +#define to_utf8_upper Perl_to_utf8_upper +#undef Perl_to_utf8_title +#define Perl_to_utf8_title pPerl->Perl_to_utf8_title #undef to_utf8_title -#define to_utf8_title pPerl->to_utf8_title +#define to_utf8_title Perl_to_utf8_title #if defined(UNLINK_ALL_VERSIONS) +#undef Perl_unlnk +#define Perl_unlnk pPerl->Perl_unlnk #undef unlnk -#define unlnk pPerl->unlnk +#define unlnk Perl_unlnk #endif #if defined(USE_THREADS) +#undef Perl_unlock_condpair +#define Perl_unlock_condpair pPerl->Perl_unlock_condpair #undef unlock_condpair -#define unlock_condpair pPerl->unlock_condpair +#define unlock_condpair Perl_unlock_condpair #endif +#undef Perl_unsharepvn +#define Perl_unsharepvn pPerl->Perl_unsharepvn #undef unsharepvn -#define unsharepvn pPerl->unsharepvn +#define unsharepvn Perl_unsharepvn +#undef Perl_unshare_hek +#define Perl_unshare_hek pPerl->Perl_unshare_hek #undef unshare_hek -#define unshare_hek pPerl->unshare_hek +#define unshare_hek Perl_unshare_hek +#undef Perl_utilize +#define Perl_utilize pPerl->Perl_utilize #undef utilize -#define utilize pPerl->utilize +#define utilize Perl_utilize +#undef Perl_utf16_to_utf8 +#define Perl_utf16_to_utf8 pPerl->Perl_utf16_to_utf8 #undef utf16_to_utf8 -#define utf16_to_utf8 pPerl->utf16_to_utf8 +#define utf16_to_utf8 Perl_utf16_to_utf8 +#undef Perl_utf16_to_utf8_reversed +#define Perl_utf16_to_utf8_reversed pPerl->Perl_utf16_to_utf8_reversed #undef utf16_to_utf8_reversed -#define utf16_to_utf8_reversed pPerl->utf16_to_utf8_reversed +#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed +#undef Perl_utf8_distance +#define Perl_utf8_distance pPerl->Perl_utf8_distance #undef utf8_distance -#define utf8_distance pPerl->utf8_distance +#define utf8_distance Perl_utf8_distance +#undef Perl_utf8_hop +#define Perl_utf8_hop pPerl->Perl_utf8_hop #undef utf8_hop -#define utf8_hop pPerl->utf8_hop +#define utf8_hop Perl_utf8_hop +#undef Perl_utf8_to_uv +#define Perl_utf8_to_uv pPerl->Perl_utf8_to_uv #undef utf8_to_uv -#define utf8_to_uv pPerl->utf8_to_uv +#define utf8_to_uv Perl_utf8_to_uv +#undef Perl_uv_to_utf8 +#define Perl_uv_to_utf8 pPerl->Perl_uv_to_utf8 #undef uv_to_utf8 -#define uv_to_utf8 pPerl->uv_to_utf8 +#define uv_to_utf8 Perl_uv_to_utf8 +#undef Perl_vivify_defelem +#define Perl_vivify_defelem pPerl->Perl_vivify_defelem #undef vivify_defelem -#define vivify_defelem pPerl->vivify_defelem +#define vivify_defelem Perl_vivify_defelem +#undef Perl_vivify_ref +#define Perl_vivify_ref pPerl->Perl_vivify_ref #undef vivify_ref -#define vivify_ref pPerl->vivify_ref +#define vivify_ref Perl_vivify_ref +#undef Perl_wait4pid +#define Perl_wait4pid pPerl->Perl_wait4pid #undef wait4pid -#define wait4pid pPerl->wait4pid +#define wait4pid Perl_wait4pid +#undef Perl_warn +#define Perl_warn pPerl->Perl_warn #undef warn -#define warn pPerl->warn +#define warn Perl_warn +#undef Perl_warner +#define Perl_warner pPerl->Perl_warner #undef warner -#define warner pPerl->warner +#define warner Perl_warner +#undef Perl_watch +#define Perl_watch pPerl->Perl_watch #undef watch -#define watch pPerl->watch +#define watch Perl_watch +#undef Perl_whichsig +#define Perl_whichsig pPerl->Perl_whichsig #undef whichsig -#define whichsig pPerl->whichsig +#define whichsig Perl_whichsig +#undef Perl_yyerror +#define Perl_yyerror pPerl->Perl_yyerror #undef yyerror -#define yyerror pPerl->yyerror +#define yyerror Perl_yyerror #if defined(USE_PURE_BISON) +#undef Perl_yylex +#define Perl_yylex pPerl->Perl_yylex #undef yylex -#define yylex pPerl->yylex +#define yylex Perl_yylex #else +#undef Perl_yylex +#define Perl_yylex pPerl->Perl_yylex #undef yylex -#define yylex pPerl->yylex +#define yylex Perl_yylex #endif +#undef Perl_yyparse +#define Perl_yyparse pPerl->Perl_yyparse #undef yyparse -#define yyparse pPerl->yyparse +#define yyparse Perl_yyparse +#undef Perl_yywarn +#define Perl_yywarn pPerl->Perl_yywarn #undef yywarn -#define yywarn pPerl->yywarn +#define yywarn Perl_yywarn #if defined(MYMALLOC) +#undef Perl_dump_mstats +#define Perl_dump_mstats pPerl->Perl_dump_mstats #undef dump_mstats -#define dump_mstats pPerl->dump_mstats +#define dump_mstats Perl_dump_mstats +#undef Perl_malloc +#define Perl_malloc pPerl->Perl_malloc +#undef malloc +#define malloc Perl_malloc +#undef Perl_calloc +#define Perl_calloc pPerl->Perl_calloc +#undef calloc +#define calloc Perl_calloc +#undef Perl_realloc +#define Perl_realloc pPerl->Perl_realloc +#undef realloc +#define realloc Perl_realloc +#undef Perl_mfree +#define Perl_mfree pPerl->Perl_mfree +#undef mfree +#define mfree Perl_mfree #endif +#undef Perl_safesysmalloc +#define Perl_safesysmalloc pPerl->Perl_safesysmalloc #undef safesysmalloc -#define safesysmalloc pPerl->safesysmalloc +#define safesysmalloc Perl_safesysmalloc +#undef Perl_safesyscalloc +#define Perl_safesyscalloc pPerl->Perl_safesyscalloc #undef safesyscalloc -#define safesyscalloc pPerl->safesyscalloc +#define safesyscalloc Perl_safesyscalloc +#undef Perl_safesysrealloc +#define Perl_safesysrealloc pPerl->Perl_safesysrealloc #undef safesysrealloc -#define safesysrealloc pPerl->safesysrealloc +#define safesysrealloc Perl_safesysrealloc +#undef Perl_safesysfree +#define Perl_safesysfree pPerl->Perl_safesysfree #undef safesysfree -#define safesysfree pPerl->safesysfree +#define safesysfree Perl_safesysfree #if defined(LEAKTEST) +#undef Perl_safexmalloc +#define Perl_safexmalloc pPerl->Perl_safexmalloc #undef safexmalloc -#define safexmalloc pPerl->safexmalloc +#define safexmalloc Perl_safexmalloc +#undef Perl_safexcalloc +#define Perl_safexcalloc pPerl->Perl_safexcalloc #undef safexcalloc -#define safexcalloc pPerl->safexcalloc +#define safexcalloc Perl_safexcalloc +#undef Perl_safexrealloc +#define Perl_safexrealloc pPerl->Perl_safexrealloc #undef safexrealloc -#define safexrealloc pPerl->safexrealloc +#define safexrealloc Perl_safexrealloc +#undef Perl_safexfree +#define Perl_safexfree pPerl->Perl_safexfree #undef safexfree -#define safexfree pPerl->safexfree +#define safexfree Perl_safexfree #endif #if defined(PERL_GLOBAL_STRUCT) +#undef Perl_GetVars +#define Perl_GetVars pPerl->Perl_GetVars #undef GetVars -#define GetVars pPerl->GetVars +#define GetVars Perl_GetVars #endif +#undef Perl_yydestruct +#define Perl_yydestruct pPerl->Perl_yydestruct #undef yydestruct -#define yydestruct pPerl->yydestruct +#define yydestruct Perl_yydestruct +#undef Perl_runops_standard +#define Perl_runops_standard pPerl->Perl_runops_standard #undef runops_standard -#define runops_standard pPerl->runops_standard +#define runops_standard Perl_runops_standard +#undef Perl_runops_debug +#define Perl_runops_debug pPerl->Perl_runops_debug #undef runops_debug -#define runops_debug pPerl->runops_debug +#define runops_debug Perl_runops_debug #if defined(WIN32) +#if defined(PERL_OBJECT) +#undef Perl_ErrorNo +#define Perl_ErrorNo pPerl->Perl_ErrorNo #undef ErrorNo -#define ErrorNo pPerl->ErrorNo +#define ErrorNo Perl_ErrorNo +#else +#undef Perl_ErrorNo +#define Perl_ErrorNo pPerl->Perl_ErrorNo +#undef ErrorNo +#define ErrorNo Perl_ErrorNo +#endif #endif +#undef Perl_sv_catpvf_mg +#define Perl_sv_catpvf_mg pPerl->Perl_sv_catpvf_mg #undef sv_catpvf_mg -#define sv_catpvf_mg pPerl->sv_catpvf_mg +#define sv_catpvf_mg Perl_sv_catpvf_mg +#undef Perl_sv_catpv_mg +#define Perl_sv_catpv_mg pPerl->Perl_sv_catpv_mg #undef sv_catpv_mg -#define sv_catpv_mg pPerl->sv_catpv_mg +#define sv_catpv_mg Perl_sv_catpv_mg +#undef Perl_sv_catpvn_mg +#define Perl_sv_catpvn_mg pPerl->Perl_sv_catpvn_mg #undef sv_catpvn_mg -#define sv_catpvn_mg pPerl->sv_catpvn_mg +#define sv_catpvn_mg Perl_sv_catpvn_mg +#undef Perl_sv_catsv_mg +#define Perl_sv_catsv_mg pPerl->Perl_sv_catsv_mg #undef sv_catsv_mg -#define sv_catsv_mg pPerl->sv_catsv_mg +#define sv_catsv_mg Perl_sv_catsv_mg +#undef Perl_sv_setpvf_mg +#define Perl_sv_setpvf_mg pPerl->Perl_sv_setpvf_mg #undef sv_setpvf_mg -#define sv_setpvf_mg pPerl->sv_setpvf_mg +#define sv_setpvf_mg Perl_sv_setpvf_mg +#undef Perl_sv_setiv_mg +#define Perl_sv_setiv_mg pPerl->Perl_sv_setiv_mg #undef sv_setiv_mg -#define sv_setiv_mg pPerl->sv_setiv_mg +#define sv_setiv_mg Perl_sv_setiv_mg +#undef Perl_sv_setpviv_mg +#define Perl_sv_setpviv_mg pPerl->Perl_sv_setpviv_mg #undef sv_setpviv_mg -#define sv_setpviv_mg pPerl->sv_setpviv_mg +#define sv_setpviv_mg Perl_sv_setpviv_mg +#undef Perl_sv_setuv_mg +#define Perl_sv_setuv_mg pPerl->Perl_sv_setuv_mg #undef sv_setuv_mg -#define sv_setuv_mg pPerl->sv_setuv_mg +#define sv_setuv_mg Perl_sv_setuv_mg +#undef Perl_sv_setnv_mg +#define Perl_sv_setnv_mg pPerl->Perl_sv_setnv_mg #undef sv_setnv_mg -#define sv_setnv_mg pPerl->sv_setnv_mg +#define sv_setnv_mg Perl_sv_setnv_mg +#undef Perl_sv_setpv_mg +#define Perl_sv_setpv_mg pPerl->Perl_sv_setpv_mg #undef sv_setpv_mg -#define sv_setpv_mg pPerl->sv_setpv_mg +#define sv_setpv_mg Perl_sv_setpv_mg +#undef Perl_sv_setpvn_mg +#define Perl_sv_setpvn_mg pPerl->Perl_sv_setpvn_mg #undef sv_setpvn_mg -#define sv_setpvn_mg pPerl->sv_setpvn_mg +#define sv_setpvn_mg Perl_sv_setpvn_mg +#undef Perl_sv_setsv_mg +#define Perl_sv_setsv_mg pPerl->Perl_sv_setsv_mg #undef sv_setsv_mg -#define sv_setsv_mg pPerl->sv_setsv_mg +#define sv_setsv_mg Perl_sv_setsv_mg +#undef Perl_sv_usepvn_mg +#define Perl_sv_usepvn_mg pPerl->Perl_sv_usepvn_mg #undef sv_usepvn_mg -#define sv_usepvn_mg pPerl->sv_usepvn_mg +#define sv_usepvn_mg Perl_sv_usepvn_mg +#undef Perl_get_vtbl +#define Perl_get_vtbl pPerl->Perl_get_vtbl #undef get_vtbl -#define get_vtbl pPerl->get_vtbl +#define get_vtbl Perl_get_vtbl +#undef Perl_pv_display +#define Perl_pv_display pPerl->Perl_pv_display #undef pv_display -#define pv_display pPerl->pv_display +#define pv_display Perl_pv_display +#undef Perl_dump_indent +#define Perl_dump_indent pPerl->Perl_dump_indent #undef dump_indent -#define dump_indent pPerl->dump_indent +#define dump_indent Perl_dump_indent +#undef Perl_do_gv_dump +#define Perl_do_gv_dump pPerl->Perl_do_gv_dump #undef do_gv_dump -#define do_gv_dump pPerl->do_gv_dump +#define do_gv_dump Perl_do_gv_dump +#undef Perl_do_gvgv_dump +#define Perl_do_gvgv_dump pPerl->Perl_do_gvgv_dump #undef do_gvgv_dump -#define do_gvgv_dump pPerl->do_gvgv_dump +#define do_gvgv_dump Perl_do_gvgv_dump +#undef Perl_do_hv_dump +#define Perl_do_hv_dump pPerl->Perl_do_hv_dump #undef do_hv_dump -#define do_hv_dump pPerl->do_hv_dump +#define do_hv_dump Perl_do_hv_dump +#undef Perl_do_magic_dump +#define Perl_do_magic_dump pPerl->Perl_do_magic_dump #undef do_magic_dump -#define do_magic_dump pPerl->do_magic_dump +#define do_magic_dump Perl_do_magic_dump +#undef Perl_do_op_dump +#define Perl_do_op_dump pPerl->Perl_do_op_dump #undef do_op_dump -#define do_op_dump pPerl->do_op_dump +#define do_op_dump Perl_do_op_dump +#undef Perl_do_pmop_dump +#define Perl_do_pmop_dump pPerl->Perl_do_pmop_dump #undef do_pmop_dump -#define do_pmop_dump pPerl->do_pmop_dump +#define do_pmop_dump Perl_do_pmop_dump +#undef Perl_do_sv_dump +#define Perl_do_sv_dump pPerl->Perl_do_sv_dump #undef do_sv_dump -#define do_sv_dump pPerl->do_sv_dump +#define do_sv_dump Perl_do_sv_dump +#undef Perl_magic_dump +#define Perl_magic_dump pPerl->Perl_magic_dump #undef magic_dump -#define magic_dump pPerl->magic_dump +#define magic_dump Perl_magic_dump +#undef Perl_default_protect +#define Perl_default_protect pPerl->Perl_default_protect #undef default_protect -#define default_protect pPerl->default_protect +#define default_protect Perl_default_protect +#undef Perl_reginitcolors +#define Perl_reginitcolors pPerl->Perl_reginitcolors #undef reginitcolors -#define reginitcolors pPerl->reginitcolors +#define reginitcolors Perl_reginitcolors +#undef Perl_sv_2pv_nolen +#define Perl_sv_2pv_nolen pPerl->Perl_sv_2pv_nolen #undef sv_2pv_nolen -#define sv_2pv_nolen pPerl->sv_2pv_nolen +#define sv_2pv_nolen Perl_sv_2pv_nolen +#undef Perl_sv_pv +#define Perl_sv_pv pPerl->Perl_sv_pv #undef sv_pv -#define sv_pv pPerl->sv_pv +#define sv_pv Perl_sv_pv +#undef Perl_sv_force_normal +#define Perl_sv_force_normal pPerl->Perl_sv_force_normal #undef sv_force_normal -#define sv_force_normal pPerl->sv_force_normal +#define sv_force_normal Perl_sv_force_normal +#undef Perl_tmps_grow +#define Perl_tmps_grow pPerl->Perl_tmps_grow #undef tmps_grow -#define tmps_grow pPerl->tmps_grow +#define tmps_grow Perl_tmps_grow +#undef Perl_sv_rvweaken +#define Perl_sv_rvweaken pPerl->Perl_sv_rvweaken #undef sv_rvweaken -#define sv_rvweaken pPerl->sv_rvweaken +#define sv_rvweaken Perl_sv_rvweaken +#undef Perl_magic_killbackrefs +#define Perl_magic_killbackrefs pPerl->Perl_magic_killbackrefs #undef magic_killbackrefs -#define magic_killbackrefs pPerl->magic_killbackrefs -#if defined(PERL_IN_AV_C) +#define magic_killbackrefs Perl_magic_killbackrefs +#if defined(PERL_OBJECT) +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_DOOP_C) +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_GV_C) +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_HV_C) +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_MG_C) +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_OP_C) +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) # if defined(PL_OP_SLAB_ALLOC) # endif #endif -#if defined(PERL_IN_PERL_C) +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) # if defined(IAMSUID) # endif # if defined(USE_THREADS) # endif #endif -#if defined(PERL_IN_PP_C) +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_PP_CTL_C) +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_PP_HOT_C) +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) # if defined(USE_THREADS) # endif #endif -#if defined(PERL_IN_PP_SYS_C) +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) # if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) # endif #endif -#if defined(PERL_IN_REGCOMP_C) +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_REGEXEC_C) +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_RUN_C) +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_SCOPE_C) +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_SV_C) +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) # if defined(PURIFY) # else # endif # if defined(DEBUGGING) # endif #endif -#if defined(PERL_IN_TOKE_C) +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) # if defined(CRIPPLED_CC) # endif # if defined(WIN32) # endif #endif -#if defined(PERL_IN_UNIVERSAL_C) +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) #endif -#if defined(PERL_IN_UTIL_C) +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) # if defined(LEAKTEST) # endif #endif +#undef Perl_ck_anoncode +#define Perl_ck_anoncode pPerl->Perl_ck_anoncode #undef ck_anoncode -#define ck_anoncode pPerl->ck_anoncode +#define ck_anoncode Perl_ck_anoncode +#undef Perl_ck_bitop +#define Perl_ck_bitop pPerl->Perl_ck_bitop #undef ck_bitop -#define ck_bitop pPerl->ck_bitop +#define ck_bitop Perl_ck_bitop +#undef Perl_ck_concat +#define Perl_ck_concat pPerl->Perl_ck_concat #undef ck_concat -#define ck_concat pPerl->ck_concat +#define ck_concat Perl_ck_concat +#undef Perl_ck_defined +#define Perl_ck_defined pPerl->Perl_ck_defined #undef ck_defined -#define ck_defined pPerl->ck_defined +#define ck_defined Perl_ck_defined +#undef Perl_ck_delete +#define Perl_ck_delete pPerl->Perl_ck_delete #undef ck_delete -#define ck_delete pPerl->ck_delete +#define ck_delete Perl_ck_delete +#undef Perl_ck_eof +#define Perl_ck_eof pPerl->Perl_ck_eof #undef ck_eof -#define ck_eof pPerl->ck_eof +#define ck_eof Perl_ck_eof +#undef Perl_ck_eval +#define Perl_ck_eval pPerl->Perl_ck_eval #undef ck_eval -#define ck_eval pPerl->ck_eval +#define ck_eval Perl_ck_eval +#undef Perl_ck_exec +#define Perl_ck_exec pPerl->Perl_ck_exec #undef ck_exec -#define ck_exec pPerl->ck_exec +#define ck_exec Perl_ck_exec +#undef Perl_ck_exists +#define Perl_ck_exists pPerl->Perl_ck_exists #undef ck_exists -#define ck_exists pPerl->ck_exists +#define ck_exists Perl_ck_exists +#undef Perl_ck_ftst +#define Perl_ck_ftst pPerl->Perl_ck_ftst #undef ck_ftst -#define ck_ftst pPerl->ck_ftst +#define ck_ftst Perl_ck_ftst +#undef Perl_ck_fun +#define Perl_ck_fun pPerl->Perl_ck_fun #undef ck_fun -#define ck_fun pPerl->ck_fun +#define ck_fun Perl_ck_fun +#undef Perl_ck_fun_locale +#define Perl_ck_fun_locale pPerl->Perl_ck_fun_locale #undef ck_fun_locale -#define ck_fun_locale pPerl->ck_fun_locale +#define ck_fun_locale Perl_ck_fun_locale +#undef Perl_ck_glob +#define Perl_ck_glob pPerl->Perl_ck_glob #undef ck_glob -#define ck_glob pPerl->ck_glob +#define ck_glob Perl_ck_glob +#undef Perl_ck_grep +#define Perl_ck_grep pPerl->Perl_ck_grep #undef ck_grep -#define ck_grep pPerl->ck_grep +#define ck_grep Perl_ck_grep +#undef Perl_ck_index +#define Perl_ck_index pPerl->Perl_ck_index #undef ck_index -#define ck_index pPerl->ck_index +#define ck_index Perl_ck_index +#undef Perl_ck_lengthconst +#define Perl_ck_lengthconst pPerl->Perl_ck_lengthconst #undef ck_lengthconst -#define ck_lengthconst pPerl->ck_lengthconst +#define ck_lengthconst Perl_ck_lengthconst +#undef Perl_ck_lfun +#define Perl_ck_lfun pPerl->Perl_ck_lfun #undef ck_lfun -#define ck_lfun pPerl->ck_lfun +#define ck_lfun Perl_ck_lfun +#undef Perl_ck_listiob +#define Perl_ck_listiob pPerl->Perl_ck_listiob #undef ck_listiob -#define ck_listiob pPerl->ck_listiob +#define ck_listiob Perl_ck_listiob +#undef Perl_ck_match +#define Perl_ck_match pPerl->Perl_ck_match #undef ck_match -#define ck_match pPerl->ck_match +#define ck_match Perl_ck_match +#undef Perl_ck_null +#define Perl_ck_null pPerl->Perl_ck_null #undef ck_null -#define ck_null pPerl->ck_null +#define ck_null Perl_ck_null +#undef Perl_ck_repeat +#define Perl_ck_repeat pPerl->Perl_ck_repeat #undef ck_repeat -#define ck_repeat pPerl->ck_repeat +#define ck_repeat Perl_ck_repeat +#undef Perl_ck_require +#define Perl_ck_require pPerl->Perl_ck_require #undef ck_require -#define ck_require pPerl->ck_require +#define ck_require Perl_ck_require +#undef Perl_ck_rfun +#define Perl_ck_rfun pPerl->Perl_ck_rfun #undef ck_rfun -#define ck_rfun pPerl->ck_rfun +#define ck_rfun Perl_ck_rfun +#undef Perl_ck_rvconst +#define Perl_ck_rvconst pPerl->Perl_ck_rvconst #undef ck_rvconst -#define ck_rvconst pPerl->ck_rvconst +#define ck_rvconst Perl_ck_rvconst +#undef Perl_ck_scmp +#define Perl_ck_scmp pPerl->Perl_ck_scmp #undef ck_scmp -#define ck_scmp pPerl->ck_scmp +#define ck_scmp Perl_ck_scmp +#undef Perl_ck_select +#define Perl_ck_select pPerl->Perl_ck_select #undef ck_select -#define ck_select pPerl->ck_select +#define ck_select Perl_ck_select +#undef Perl_ck_shift +#define Perl_ck_shift pPerl->Perl_ck_shift #undef ck_shift -#define ck_shift pPerl->ck_shift +#define ck_shift Perl_ck_shift +#undef Perl_ck_sort +#define Perl_ck_sort pPerl->Perl_ck_sort #undef ck_sort -#define ck_sort pPerl->ck_sort +#define ck_sort Perl_ck_sort +#undef Perl_ck_spair +#define Perl_ck_spair pPerl->Perl_ck_spair #undef ck_spair -#define ck_spair pPerl->ck_spair +#define ck_spair Perl_ck_spair +#undef Perl_ck_split +#define Perl_ck_split pPerl->Perl_ck_split #undef ck_split -#define ck_split pPerl->ck_split +#define ck_split Perl_ck_split +#undef Perl_ck_subr +#define Perl_ck_subr pPerl->Perl_ck_subr #undef ck_subr -#define ck_subr pPerl->ck_subr +#define ck_subr Perl_ck_subr +#undef Perl_ck_svconst +#define Perl_ck_svconst pPerl->Perl_ck_svconst #undef ck_svconst -#define ck_svconst pPerl->ck_svconst +#define ck_svconst Perl_ck_svconst +#undef Perl_ck_trunc +#define Perl_ck_trunc pPerl->Perl_ck_trunc #undef ck_trunc -#define ck_trunc pPerl->ck_trunc +#define ck_trunc Perl_ck_trunc +#undef Perl_pp_aassign +#define Perl_pp_aassign pPerl->Perl_pp_aassign #undef pp_aassign -#define pp_aassign pPerl->pp_aassign +#define pp_aassign Perl_pp_aassign +#undef Perl_pp_abs +#define Perl_pp_abs pPerl->Perl_pp_abs #undef pp_abs -#define pp_abs pPerl->pp_abs +#define pp_abs Perl_pp_abs +#undef Perl_pp_accept +#define Perl_pp_accept pPerl->Perl_pp_accept #undef pp_accept -#define pp_accept pPerl->pp_accept +#define pp_accept Perl_pp_accept +#undef Perl_pp_add +#define Perl_pp_add pPerl->Perl_pp_add #undef pp_add -#define pp_add pPerl->pp_add +#define pp_add Perl_pp_add +#undef Perl_pp_aelem +#define Perl_pp_aelem pPerl->Perl_pp_aelem #undef pp_aelem -#define pp_aelem pPerl->pp_aelem +#define pp_aelem Perl_pp_aelem +#undef Perl_pp_aelemfast +#define Perl_pp_aelemfast pPerl->Perl_pp_aelemfast #undef pp_aelemfast -#define pp_aelemfast pPerl->pp_aelemfast +#define pp_aelemfast Perl_pp_aelemfast +#undef Perl_pp_alarm +#define Perl_pp_alarm pPerl->Perl_pp_alarm #undef pp_alarm -#define pp_alarm pPerl->pp_alarm +#define pp_alarm Perl_pp_alarm +#undef Perl_pp_and +#define Perl_pp_and pPerl->Perl_pp_and #undef pp_and -#define pp_and pPerl->pp_and +#define pp_and Perl_pp_and +#undef Perl_pp_andassign +#define Perl_pp_andassign pPerl->Perl_pp_andassign #undef pp_andassign -#define pp_andassign pPerl->pp_andassign +#define pp_andassign Perl_pp_andassign +#undef Perl_pp_anoncode +#define Perl_pp_anoncode pPerl->Perl_pp_anoncode #undef pp_anoncode -#define pp_anoncode pPerl->pp_anoncode +#define pp_anoncode Perl_pp_anoncode +#undef Perl_pp_anonhash +#define Perl_pp_anonhash pPerl->Perl_pp_anonhash #undef pp_anonhash -#define pp_anonhash pPerl->pp_anonhash +#define pp_anonhash Perl_pp_anonhash +#undef Perl_pp_anonlist +#define Perl_pp_anonlist pPerl->Perl_pp_anonlist #undef pp_anonlist -#define pp_anonlist pPerl->pp_anonlist +#define pp_anonlist Perl_pp_anonlist +#undef Perl_pp_aslice +#define Perl_pp_aslice pPerl->Perl_pp_aslice #undef pp_aslice -#define pp_aslice pPerl->pp_aslice +#define pp_aslice Perl_pp_aslice +#undef Perl_pp_atan2 +#define Perl_pp_atan2 pPerl->Perl_pp_atan2 #undef pp_atan2 -#define pp_atan2 pPerl->pp_atan2 +#define pp_atan2 Perl_pp_atan2 +#undef Perl_pp_av2arylen +#define Perl_pp_av2arylen pPerl->Perl_pp_av2arylen #undef pp_av2arylen -#define pp_av2arylen pPerl->pp_av2arylen +#define pp_av2arylen Perl_pp_av2arylen +#undef Perl_pp_backtick +#define Perl_pp_backtick pPerl->Perl_pp_backtick #undef pp_backtick -#define pp_backtick pPerl->pp_backtick +#define pp_backtick Perl_pp_backtick +#undef Perl_pp_bind +#define Perl_pp_bind pPerl->Perl_pp_bind #undef pp_bind -#define pp_bind pPerl->pp_bind +#define pp_bind Perl_pp_bind +#undef Perl_pp_binmode +#define Perl_pp_binmode pPerl->Perl_pp_binmode #undef pp_binmode -#define pp_binmode pPerl->pp_binmode +#define pp_binmode Perl_pp_binmode +#undef Perl_pp_bit_and +#define Perl_pp_bit_and pPerl->Perl_pp_bit_and #undef pp_bit_and -#define pp_bit_and pPerl->pp_bit_and +#define pp_bit_and Perl_pp_bit_and +#undef Perl_pp_bit_or +#define Perl_pp_bit_or pPerl->Perl_pp_bit_or #undef pp_bit_or -#define pp_bit_or pPerl->pp_bit_or +#define pp_bit_or Perl_pp_bit_or +#undef Perl_pp_bit_xor +#define Perl_pp_bit_xor pPerl->Perl_pp_bit_xor #undef pp_bit_xor -#define pp_bit_xor pPerl->pp_bit_xor +#define pp_bit_xor Perl_pp_bit_xor +#undef Perl_pp_bless +#define Perl_pp_bless pPerl->Perl_pp_bless #undef pp_bless -#define pp_bless pPerl->pp_bless +#define pp_bless Perl_pp_bless +#undef Perl_pp_caller +#define Perl_pp_caller pPerl->Perl_pp_caller #undef pp_caller -#define pp_caller pPerl->pp_caller +#define pp_caller Perl_pp_caller +#undef Perl_pp_chdir +#define Perl_pp_chdir pPerl->Perl_pp_chdir #undef pp_chdir -#define pp_chdir pPerl->pp_chdir +#define pp_chdir Perl_pp_chdir +#undef Perl_pp_chmod +#define Perl_pp_chmod pPerl->Perl_pp_chmod #undef pp_chmod -#define pp_chmod pPerl->pp_chmod +#define pp_chmod Perl_pp_chmod +#undef Perl_pp_chomp +#define Perl_pp_chomp pPerl->Perl_pp_chomp #undef pp_chomp -#define pp_chomp pPerl->pp_chomp +#define pp_chomp Perl_pp_chomp +#undef Perl_pp_chop +#define Perl_pp_chop pPerl->Perl_pp_chop #undef pp_chop -#define pp_chop pPerl->pp_chop +#define pp_chop Perl_pp_chop +#undef Perl_pp_chown +#define Perl_pp_chown pPerl->Perl_pp_chown #undef pp_chown -#define pp_chown pPerl->pp_chown +#define pp_chown Perl_pp_chown +#undef Perl_pp_chr +#define Perl_pp_chr pPerl->Perl_pp_chr #undef pp_chr -#define pp_chr pPerl->pp_chr +#define pp_chr Perl_pp_chr +#undef Perl_pp_chroot +#define Perl_pp_chroot pPerl->Perl_pp_chroot #undef pp_chroot -#define pp_chroot pPerl->pp_chroot +#define pp_chroot Perl_pp_chroot +#undef Perl_pp_close +#define Perl_pp_close pPerl->Perl_pp_close #undef pp_close -#define pp_close pPerl->pp_close +#define pp_close Perl_pp_close +#undef Perl_pp_closedir +#define Perl_pp_closedir pPerl->Perl_pp_closedir #undef pp_closedir -#define pp_closedir pPerl->pp_closedir +#define pp_closedir Perl_pp_closedir +#undef Perl_pp_complement +#define Perl_pp_complement pPerl->Perl_pp_complement #undef pp_complement -#define pp_complement pPerl->pp_complement +#define pp_complement Perl_pp_complement +#undef Perl_pp_concat +#define Perl_pp_concat pPerl->Perl_pp_concat #undef pp_concat -#define pp_concat pPerl->pp_concat +#define pp_concat Perl_pp_concat +#undef Perl_pp_cond_expr +#define Perl_pp_cond_expr pPerl->Perl_pp_cond_expr #undef pp_cond_expr -#define pp_cond_expr pPerl->pp_cond_expr +#define pp_cond_expr Perl_pp_cond_expr +#undef Perl_pp_connect +#define Perl_pp_connect pPerl->Perl_pp_connect #undef pp_connect -#define pp_connect pPerl->pp_connect +#define pp_connect Perl_pp_connect +#undef Perl_pp_const +#define Perl_pp_const pPerl->Perl_pp_const #undef pp_const -#define pp_const pPerl->pp_const +#define pp_const Perl_pp_const +#undef Perl_pp_cos +#define Perl_pp_cos pPerl->Perl_pp_cos #undef pp_cos -#define pp_cos pPerl->pp_cos +#define pp_cos Perl_pp_cos +#undef Perl_pp_crypt +#define Perl_pp_crypt pPerl->Perl_pp_crypt #undef pp_crypt -#define pp_crypt pPerl->pp_crypt +#define pp_crypt Perl_pp_crypt +#undef Perl_pp_dbmclose +#define Perl_pp_dbmclose pPerl->Perl_pp_dbmclose #undef pp_dbmclose -#define pp_dbmclose pPerl->pp_dbmclose +#define pp_dbmclose Perl_pp_dbmclose +#undef Perl_pp_dbmopen +#define Perl_pp_dbmopen pPerl->Perl_pp_dbmopen #undef pp_dbmopen -#define pp_dbmopen pPerl->pp_dbmopen +#define pp_dbmopen Perl_pp_dbmopen +#undef Perl_pp_dbstate +#define Perl_pp_dbstate pPerl->Perl_pp_dbstate #undef pp_dbstate -#define pp_dbstate pPerl->pp_dbstate +#define pp_dbstate Perl_pp_dbstate +#undef Perl_pp_defined +#define Perl_pp_defined pPerl->Perl_pp_defined #undef pp_defined -#define pp_defined pPerl->pp_defined +#define pp_defined Perl_pp_defined +#undef Perl_pp_delete +#define Perl_pp_delete pPerl->Perl_pp_delete #undef pp_delete -#define pp_delete pPerl->pp_delete +#define pp_delete Perl_pp_delete +#undef Perl_pp_die +#define Perl_pp_die pPerl->Perl_pp_die #undef pp_die -#define pp_die pPerl->pp_die +#define pp_die Perl_pp_die +#undef Perl_pp_divide +#define Perl_pp_divide pPerl->Perl_pp_divide #undef pp_divide -#define pp_divide pPerl->pp_divide +#define pp_divide Perl_pp_divide +#undef Perl_pp_dofile +#define Perl_pp_dofile pPerl->Perl_pp_dofile #undef pp_dofile -#define pp_dofile pPerl->pp_dofile +#define pp_dofile Perl_pp_dofile +#undef Perl_pp_dump +#define Perl_pp_dump pPerl->Perl_pp_dump #undef pp_dump -#define pp_dump pPerl->pp_dump +#define pp_dump Perl_pp_dump +#undef Perl_pp_each +#define Perl_pp_each pPerl->Perl_pp_each #undef pp_each -#define pp_each pPerl->pp_each +#define pp_each Perl_pp_each +#undef Perl_pp_egrent +#define Perl_pp_egrent pPerl->Perl_pp_egrent #undef pp_egrent -#define pp_egrent pPerl->pp_egrent +#define pp_egrent Perl_pp_egrent +#undef Perl_pp_ehostent +#define Perl_pp_ehostent pPerl->Perl_pp_ehostent #undef pp_ehostent -#define pp_ehostent pPerl->pp_ehostent +#define pp_ehostent Perl_pp_ehostent +#undef Perl_pp_enetent +#define Perl_pp_enetent pPerl->Perl_pp_enetent #undef pp_enetent -#define pp_enetent pPerl->pp_enetent +#define pp_enetent Perl_pp_enetent +#undef Perl_pp_enter +#define Perl_pp_enter pPerl->Perl_pp_enter #undef pp_enter -#define pp_enter pPerl->pp_enter +#define pp_enter Perl_pp_enter +#undef Perl_pp_entereval +#define Perl_pp_entereval pPerl->Perl_pp_entereval #undef pp_entereval -#define pp_entereval pPerl->pp_entereval +#define pp_entereval Perl_pp_entereval +#undef Perl_pp_enteriter +#define Perl_pp_enteriter pPerl->Perl_pp_enteriter #undef pp_enteriter -#define pp_enteriter pPerl->pp_enteriter +#define pp_enteriter Perl_pp_enteriter +#undef Perl_pp_enterloop +#define Perl_pp_enterloop pPerl->Perl_pp_enterloop #undef pp_enterloop -#define pp_enterloop pPerl->pp_enterloop +#define pp_enterloop Perl_pp_enterloop +#undef Perl_pp_entersub +#define Perl_pp_entersub pPerl->Perl_pp_entersub #undef pp_entersub -#define pp_entersub pPerl->pp_entersub +#define pp_entersub Perl_pp_entersub +#undef Perl_pp_entertry +#define Perl_pp_entertry pPerl->Perl_pp_entertry #undef pp_entertry -#define pp_entertry pPerl->pp_entertry +#define pp_entertry Perl_pp_entertry +#undef Perl_pp_enterwrite +#define Perl_pp_enterwrite pPerl->Perl_pp_enterwrite #undef pp_enterwrite -#define pp_enterwrite pPerl->pp_enterwrite +#define pp_enterwrite Perl_pp_enterwrite +#undef Perl_pp_eof +#define Perl_pp_eof pPerl->Perl_pp_eof #undef pp_eof -#define pp_eof pPerl->pp_eof +#define pp_eof Perl_pp_eof +#undef Perl_pp_eprotoent +#define Perl_pp_eprotoent pPerl->Perl_pp_eprotoent #undef pp_eprotoent -#define pp_eprotoent pPerl->pp_eprotoent +#define pp_eprotoent Perl_pp_eprotoent +#undef Perl_pp_epwent +#define Perl_pp_epwent pPerl->Perl_pp_epwent #undef pp_epwent -#define pp_epwent pPerl->pp_epwent +#define pp_epwent Perl_pp_epwent +#undef Perl_pp_eq +#define Perl_pp_eq pPerl->Perl_pp_eq #undef pp_eq -#define pp_eq pPerl->pp_eq +#define pp_eq Perl_pp_eq +#undef Perl_pp_eservent +#define Perl_pp_eservent pPerl->Perl_pp_eservent #undef pp_eservent -#define pp_eservent pPerl->pp_eservent +#define pp_eservent Perl_pp_eservent +#undef Perl_pp_exec +#define Perl_pp_exec pPerl->Perl_pp_exec #undef pp_exec -#define pp_exec pPerl->pp_exec +#define pp_exec Perl_pp_exec +#undef Perl_pp_exists +#define Perl_pp_exists pPerl->Perl_pp_exists #undef pp_exists -#define pp_exists pPerl->pp_exists +#define pp_exists Perl_pp_exists +#undef Perl_pp_exit +#define Perl_pp_exit pPerl->Perl_pp_exit #undef pp_exit -#define pp_exit pPerl->pp_exit +#define pp_exit Perl_pp_exit +#undef Perl_pp_exp +#define Perl_pp_exp pPerl->Perl_pp_exp #undef pp_exp -#define pp_exp pPerl->pp_exp +#define pp_exp Perl_pp_exp +#undef Perl_pp_fcntl +#define Perl_pp_fcntl pPerl->Perl_pp_fcntl #undef pp_fcntl -#define pp_fcntl pPerl->pp_fcntl +#define pp_fcntl Perl_pp_fcntl +#undef Perl_pp_fileno +#define Perl_pp_fileno pPerl->Perl_pp_fileno #undef pp_fileno -#define pp_fileno pPerl->pp_fileno +#define pp_fileno Perl_pp_fileno +#undef Perl_pp_flip +#define Perl_pp_flip pPerl->Perl_pp_flip #undef pp_flip -#define pp_flip pPerl->pp_flip +#define pp_flip Perl_pp_flip +#undef Perl_pp_flock +#define Perl_pp_flock pPerl->Perl_pp_flock #undef pp_flock -#define pp_flock pPerl->pp_flock +#define pp_flock Perl_pp_flock +#undef Perl_pp_flop +#define Perl_pp_flop pPerl->Perl_pp_flop #undef pp_flop -#define pp_flop pPerl->pp_flop +#define pp_flop Perl_pp_flop +#undef Perl_pp_fork +#define Perl_pp_fork pPerl->Perl_pp_fork #undef pp_fork -#define pp_fork pPerl->pp_fork +#define pp_fork Perl_pp_fork +#undef Perl_pp_formline +#define Perl_pp_formline pPerl->Perl_pp_formline #undef pp_formline -#define pp_formline pPerl->pp_formline +#define pp_formline Perl_pp_formline +#undef Perl_pp_ftatime +#define Perl_pp_ftatime pPerl->Perl_pp_ftatime #undef pp_ftatime -#define pp_ftatime pPerl->pp_ftatime +#define pp_ftatime Perl_pp_ftatime +#undef Perl_pp_ftbinary +#define Perl_pp_ftbinary pPerl->Perl_pp_ftbinary #undef pp_ftbinary -#define pp_ftbinary pPerl->pp_ftbinary +#define pp_ftbinary Perl_pp_ftbinary +#undef Perl_pp_ftblk +#define Perl_pp_ftblk pPerl->Perl_pp_ftblk #undef pp_ftblk -#define pp_ftblk pPerl->pp_ftblk +#define pp_ftblk Perl_pp_ftblk +#undef Perl_pp_ftchr +#define Perl_pp_ftchr pPerl->Perl_pp_ftchr #undef pp_ftchr -#define pp_ftchr pPerl->pp_ftchr +#define pp_ftchr Perl_pp_ftchr +#undef Perl_pp_ftctime +#define Perl_pp_ftctime pPerl->Perl_pp_ftctime #undef pp_ftctime -#define pp_ftctime pPerl->pp_ftctime +#define pp_ftctime Perl_pp_ftctime +#undef Perl_pp_ftdir +#define Perl_pp_ftdir pPerl->Perl_pp_ftdir #undef pp_ftdir -#define pp_ftdir pPerl->pp_ftdir +#define pp_ftdir Perl_pp_ftdir +#undef Perl_pp_fteexec +#define Perl_pp_fteexec pPerl->Perl_pp_fteexec #undef pp_fteexec -#define pp_fteexec pPerl->pp_fteexec +#define pp_fteexec Perl_pp_fteexec +#undef Perl_pp_fteowned +#define Perl_pp_fteowned pPerl->Perl_pp_fteowned #undef pp_fteowned -#define pp_fteowned pPerl->pp_fteowned +#define pp_fteowned Perl_pp_fteowned +#undef Perl_pp_fteread +#define Perl_pp_fteread pPerl->Perl_pp_fteread #undef pp_fteread -#define pp_fteread pPerl->pp_fteread +#define pp_fteread Perl_pp_fteread +#undef Perl_pp_ftewrite +#define Perl_pp_ftewrite pPerl->Perl_pp_ftewrite #undef pp_ftewrite -#define pp_ftewrite pPerl->pp_ftewrite +#define pp_ftewrite Perl_pp_ftewrite +#undef Perl_pp_ftfile +#define Perl_pp_ftfile pPerl->Perl_pp_ftfile #undef pp_ftfile -#define pp_ftfile pPerl->pp_ftfile +#define pp_ftfile Perl_pp_ftfile +#undef Perl_pp_ftis +#define Perl_pp_ftis pPerl->Perl_pp_ftis #undef pp_ftis -#define pp_ftis pPerl->pp_ftis +#define pp_ftis Perl_pp_ftis +#undef Perl_pp_ftlink +#define Perl_pp_ftlink pPerl->Perl_pp_ftlink #undef pp_ftlink -#define pp_ftlink pPerl->pp_ftlink +#define pp_ftlink Perl_pp_ftlink +#undef Perl_pp_ftmtime +#define Perl_pp_ftmtime pPerl->Perl_pp_ftmtime #undef pp_ftmtime -#define pp_ftmtime pPerl->pp_ftmtime +#define pp_ftmtime Perl_pp_ftmtime +#undef Perl_pp_ftpipe +#define Perl_pp_ftpipe pPerl->Perl_pp_ftpipe #undef pp_ftpipe -#define pp_ftpipe pPerl->pp_ftpipe +#define pp_ftpipe Perl_pp_ftpipe +#undef Perl_pp_ftrexec +#define Perl_pp_ftrexec pPerl->Perl_pp_ftrexec #undef pp_ftrexec -#define pp_ftrexec pPerl->pp_ftrexec +#define pp_ftrexec Perl_pp_ftrexec +#undef Perl_pp_ftrowned +#define Perl_pp_ftrowned pPerl->Perl_pp_ftrowned #undef pp_ftrowned -#define pp_ftrowned pPerl->pp_ftrowned +#define pp_ftrowned Perl_pp_ftrowned +#undef Perl_pp_ftrread +#define Perl_pp_ftrread pPerl->Perl_pp_ftrread #undef pp_ftrread -#define pp_ftrread pPerl->pp_ftrread +#define pp_ftrread Perl_pp_ftrread +#undef Perl_pp_ftrwrite +#define Perl_pp_ftrwrite pPerl->Perl_pp_ftrwrite #undef pp_ftrwrite -#define pp_ftrwrite pPerl->pp_ftrwrite +#define pp_ftrwrite Perl_pp_ftrwrite +#undef Perl_pp_ftsgid +#define Perl_pp_ftsgid pPerl->Perl_pp_ftsgid #undef pp_ftsgid -#define pp_ftsgid pPerl->pp_ftsgid +#define pp_ftsgid Perl_pp_ftsgid +#undef Perl_pp_ftsize +#define Perl_pp_ftsize pPerl->Perl_pp_ftsize #undef pp_ftsize -#define pp_ftsize pPerl->pp_ftsize +#define pp_ftsize Perl_pp_ftsize +#undef Perl_pp_ftsock +#define Perl_pp_ftsock pPerl->Perl_pp_ftsock #undef pp_ftsock -#define pp_ftsock pPerl->pp_ftsock +#define pp_ftsock Perl_pp_ftsock +#undef Perl_pp_ftsuid +#define Perl_pp_ftsuid pPerl->Perl_pp_ftsuid #undef pp_ftsuid -#define pp_ftsuid pPerl->pp_ftsuid +#define pp_ftsuid Perl_pp_ftsuid +#undef Perl_pp_ftsvtx +#define Perl_pp_ftsvtx pPerl->Perl_pp_ftsvtx #undef pp_ftsvtx -#define pp_ftsvtx pPerl->pp_ftsvtx +#define pp_ftsvtx Perl_pp_ftsvtx +#undef Perl_pp_fttext +#define Perl_pp_fttext pPerl->Perl_pp_fttext #undef pp_fttext -#define pp_fttext pPerl->pp_fttext +#define pp_fttext Perl_pp_fttext +#undef Perl_pp_fttty +#define Perl_pp_fttty pPerl->Perl_pp_fttty #undef pp_fttty -#define pp_fttty pPerl->pp_fttty +#define pp_fttty Perl_pp_fttty +#undef Perl_pp_ftzero +#define Perl_pp_ftzero pPerl->Perl_pp_ftzero #undef pp_ftzero -#define pp_ftzero pPerl->pp_ftzero +#define pp_ftzero Perl_pp_ftzero +#undef Perl_pp_ge +#define Perl_pp_ge pPerl->Perl_pp_ge #undef pp_ge -#define pp_ge pPerl->pp_ge +#define pp_ge Perl_pp_ge +#undef Perl_pp_gelem +#define Perl_pp_gelem pPerl->Perl_pp_gelem #undef pp_gelem -#define pp_gelem pPerl->pp_gelem +#define pp_gelem Perl_pp_gelem +#undef Perl_pp_getc +#define Perl_pp_getc pPerl->Perl_pp_getc #undef pp_getc -#define pp_getc pPerl->pp_getc +#define pp_getc Perl_pp_getc +#undef Perl_pp_getlogin +#define Perl_pp_getlogin pPerl->Perl_pp_getlogin #undef pp_getlogin -#define pp_getlogin pPerl->pp_getlogin +#define pp_getlogin Perl_pp_getlogin +#undef Perl_pp_getpeername +#define Perl_pp_getpeername pPerl->Perl_pp_getpeername #undef pp_getpeername -#define pp_getpeername pPerl->pp_getpeername +#define pp_getpeername Perl_pp_getpeername +#undef Perl_pp_getpgrp +#define Perl_pp_getpgrp pPerl->Perl_pp_getpgrp #undef pp_getpgrp -#define pp_getpgrp pPerl->pp_getpgrp +#define pp_getpgrp Perl_pp_getpgrp +#undef Perl_pp_getppid +#define Perl_pp_getppid pPerl->Perl_pp_getppid #undef pp_getppid -#define pp_getppid pPerl->pp_getppid +#define pp_getppid Perl_pp_getppid +#undef Perl_pp_getpriority +#define Perl_pp_getpriority pPerl->Perl_pp_getpriority #undef pp_getpriority -#define pp_getpriority pPerl->pp_getpriority +#define pp_getpriority Perl_pp_getpriority +#undef Perl_pp_getsockname +#define Perl_pp_getsockname pPerl->Perl_pp_getsockname #undef pp_getsockname -#define pp_getsockname pPerl->pp_getsockname +#define pp_getsockname Perl_pp_getsockname +#undef Perl_pp_ggrent +#define Perl_pp_ggrent pPerl->Perl_pp_ggrent #undef pp_ggrent -#define pp_ggrent pPerl->pp_ggrent +#define pp_ggrent Perl_pp_ggrent +#undef Perl_pp_ggrgid +#define Perl_pp_ggrgid pPerl->Perl_pp_ggrgid #undef pp_ggrgid -#define pp_ggrgid pPerl->pp_ggrgid +#define pp_ggrgid Perl_pp_ggrgid +#undef Perl_pp_ggrnam +#define Perl_pp_ggrnam pPerl->Perl_pp_ggrnam #undef pp_ggrnam -#define pp_ggrnam pPerl->pp_ggrnam +#define pp_ggrnam Perl_pp_ggrnam +#undef Perl_pp_ghbyaddr +#define Perl_pp_ghbyaddr pPerl->Perl_pp_ghbyaddr #undef pp_ghbyaddr -#define pp_ghbyaddr pPerl->pp_ghbyaddr +#define pp_ghbyaddr Perl_pp_ghbyaddr +#undef Perl_pp_ghbyname +#define Perl_pp_ghbyname pPerl->Perl_pp_ghbyname #undef pp_ghbyname -#define pp_ghbyname pPerl->pp_ghbyname +#define pp_ghbyname Perl_pp_ghbyname +#undef Perl_pp_ghostent +#define Perl_pp_ghostent pPerl->Perl_pp_ghostent #undef pp_ghostent -#define pp_ghostent pPerl->pp_ghostent +#define pp_ghostent Perl_pp_ghostent +#undef Perl_pp_glob +#define Perl_pp_glob pPerl->Perl_pp_glob #undef pp_glob -#define pp_glob pPerl->pp_glob +#define pp_glob Perl_pp_glob +#undef Perl_pp_gmtime +#define Perl_pp_gmtime pPerl->Perl_pp_gmtime #undef pp_gmtime -#define pp_gmtime pPerl->pp_gmtime +#define pp_gmtime Perl_pp_gmtime +#undef Perl_pp_gnbyaddr +#define Perl_pp_gnbyaddr pPerl->Perl_pp_gnbyaddr #undef pp_gnbyaddr -#define pp_gnbyaddr pPerl->pp_gnbyaddr +#define pp_gnbyaddr Perl_pp_gnbyaddr +#undef Perl_pp_gnbyname +#define Perl_pp_gnbyname pPerl->Perl_pp_gnbyname #undef pp_gnbyname -#define pp_gnbyname pPerl->pp_gnbyname +#define pp_gnbyname Perl_pp_gnbyname +#undef Perl_pp_gnetent +#define Perl_pp_gnetent pPerl->Perl_pp_gnetent #undef pp_gnetent -#define pp_gnetent pPerl->pp_gnetent +#define pp_gnetent Perl_pp_gnetent +#undef Perl_pp_goto +#define Perl_pp_goto pPerl->Perl_pp_goto #undef pp_goto -#define pp_goto pPerl->pp_goto +#define pp_goto Perl_pp_goto +#undef Perl_pp_gpbyname +#define Perl_pp_gpbyname pPerl->Perl_pp_gpbyname #undef pp_gpbyname -#define pp_gpbyname pPerl->pp_gpbyname +#define pp_gpbyname Perl_pp_gpbyname +#undef Perl_pp_gpbynumber +#define Perl_pp_gpbynumber pPerl->Perl_pp_gpbynumber #undef pp_gpbynumber -#define pp_gpbynumber pPerl->pp_gpbynumber +#define pp_gpbynumber Perl_pp_gpbynumber +#undef Perl_pp_gprotoent +#define Perl_pp_gprotoent pPerl->Perl_pp_gprotoent #undef pp_gprotoent -#define pp_gprotoent pPerl->pp_gprotoent +#define pp_gprotoent Perl_pp_gprotoent +#undef Perl_pp_gpwent +#define Perl_pp_gpwent pPerl->Perl_pp_gpwent #undef pp_gpwent -#define pp_gpwent pPerl->pp_gpwent +#define pp_gpwent Perl_pp_gpwent +#undef Perl_pp_gpwnam +#define Perl_pp_gpwnam pPerl->Perl_pp_gpwnam #undef pp_gpwnam -#define pp_gpwnam pPerl->pp_gpwnam +#define pp_gpwnam Perl_pp_gpwnam +#undef Perl_pp_gpwuid +#define Perl_pp_gpwuid pPerl->Perl_pp_gpwuid #undef pp_gpwuid -#define pp_gpwuid pPerl->pp_gpwuid +#define pp_gpwuid Perl_pp_gpwuid +#undef Perl_pp_grepstart +#define Perl_pp_grepstart pPerl->Perl_pp_grepstart #undef pp_grepstart -#define pp_grepstart pPerl->pp_grepstart +#define pp_grepstart Perl_pp_grepstart +#undef Perl_pp_grepwhile +#define Perl_pp_grepwhile pPerl->Perl_pp_grepwhile #undef pp_grepwhile -#define pp_grepwhile pPerl->pp_grepwhile +#define pp_grepwhile Perl_pp_grepwhile +#undef Perl_pp_gsbyname +#define Perl_pp_gsbyname pPerl->Perl_pp_gsbyname #undef pp_gsbyname -#define pp_gsbyname pPerl->pp_gsbyname +#define pp_gsbyname Perl_pp_gsbyname +#undef Perl_pp_gsbyport +#define Perl_pp_gsbyport pPerl->Perl_pp_gsbyport #undef pp_gsbyport -#define pp_gsbyport pPerl->pp_gsbyport +#define pp_gsbyport Perl_pp_gsbyport +#undef Perl_pp_gservent +#define Perl_pp_gservent pPerl->Perl_pp_gservent #undef pp_gservent -#define pp_gservent pPerl->pp_gservent +#define pp_gservent Perl_pp_gservent +#undef Perl_pp_gsockopt +#define Perl_pp_gsockopt pPerl->Perl_pp_gsockopt #undef pp_gsockopt -#define pp_gsockopt pPerl->pp_gsockopt +#define pp_gsockopt Perl_pp_gsockopt +#undef Perl_pp_gt +#define Perl_pp_gt pPerl->Perl_pp_gt #undef pp_gt -#define pp_gt pPerl->pp_gt +#define pp_gt Perl_pp_gt +#undef Perl_pp_gv +#define Perl_pp_gv pPerl->Perl_pp_gv #undef pp_gv -#define pp_gv pPerl->pp_gv +#define pp_gv Perl_pp_gv +#undef Perl_pp_gvsv +#define Perl_pp_gvsv pPerl->Perl_pp_gvsv #undef pp_gvsv -#define pp_gvsv pPerl->pp_gvsv +#define pp_gvsv Perl_pp_gvsv +#undef Perl_pp_helem +#define Perl_pp_helem pPerl->Perl_pp_helem #undef pp_helem -#define pp_helem pPerl->pp_helem +#define pp_helem Perl_pp_helem +#undef Perl_pp_hex +#define Perl_pp_hex pPerl->Perl_pp_hex #undef pp_hex -#define pp_hex pPerl->pp_hex +#define pp_hex Perl_pp_hex +#undef Perl_pp_hslice +#define Perl_pp_hslice pPerl->Perl_pp_hslice #undef pp_hslice -#define pp_hslice pPerl->pp_hslice +#define pp_hslice Perl_pp_hslice +#undef Perl_pp_i_add +#define Perl_pp_i_add pPerl->Perl_pp_i_add #undef pp_i_add -#define pp_i_add pPerl->pp_i_add +#define pp_i_add Perl_pp_i_add +#undef Perl_pp_i_divide +#define Perl_pp_i_divide pPerl->Perl_pp_i_divide #undef pp_i_divide -#define pp_i_divide pPerl->pp_i_divide +#define pp_i_divide Perl_pp_i_divide +#undef Perl_pp_i_eq +#define Perl_pp_i_eq pPerl->Perl_pp_i_eq #undef pp_i_eq -#define pp_i_eq pPerl->pp_i_eq +#define pp_i_eq Perl_pp_i_eq +#undef Perl_pp_i_ge +#define Perl_pp_i_ge pPerl->Perl_pp_i_ge #undef pp_i_ge -#define pp_i_ge pPerl->pp_i_ge +#define pp_i_ge Perl_pp_i_ge +#undef Perl_pp_i_gt +#define Perl_pp_i_gt pPerl->Perl_pp_i_gt #undef pp_i_gt -#define pp_i_gt pPerl->pp_i_gt +#define pp_i_gt Perl_pp_i_gt +#undef Perl_pp_i_le +#define Perl_pp_i_le pPerl->Perl_pp_i_le #undef pp_i_le -#define pp_i_le pPerl->pp_i_le +#define pp_i_le Perl_pp_i_le +#undef Perl_pp_i_lt +#define Perl_pp_i_lt pPerl->Perl_pp_i_lt #undef pp_i_lt -#define pp_i_lt pPerl->pp_i_lt +#define pp_i_lt Perl_pp_i_lt +#undef Perl_pp_i_modulo +#define Perl_pp_i_modulo pPerl->Perl_pp_i_modulo #undef pp_i_modulo -#define pp_i_modulo pPerl->pp_i_modulo +#define pp_i_modulo Perl_pp_i_modulo +#undef Perl_pp_i_multiply +#define Perl_pp_i_multiply pPerl->Perl_pp_i_multiply #undef pp_i_multiply -#define pp_i_multiply pPerl->pp_i_multiply +#define pp_i_multiply Perl_pp_i_multiply +#undef Perl_pp_i_ncmp +#define Perl_pp_i_ncmp pPerl->Perl_pp_i_ncmp #undef pp_i_ncmp -#define pp_i_ncmp pPerl->pp_i_ncmp +#define pp_i_ncmp Perl_pp_i_ncmp +#undef Perl_pp_i_ne +#define Perl_pp_i_ne pPerl->Perl_pp_i_ne #undef pp_i_ne -#define pp_i_ne pPerl->pp_i_ne +#define pp_i_ne Perl_pp_i_ne +#undef Perl_pp_i_negate +#define Perl_pp_i_negate pPerl->Perl_pp_i_negate #undef pp_i_negate -#define pp_i_negate pPerl->pp_i_negate +#define pp_i_negate Perl_pp_i_negate +#undef Perl_pp_i_subtract +#define Perl_pp_i_subtract pPerl->Perl_pp_i_subtract #undef pp_i_subtract -#define pp_i_subtract pPerl->pp_i_subtract +#define pp_i_subtract Perl_pp_i_subtract +#undef Perl_pp_index +#define Perl_pp_index pPerl->Perl_pp_index #undef pp_index -#define pp_index pPerl->pp_index +#define pp_index Perl_pp_index +#undef Perl_pp_int +#define Perl_pp_int pPerl->Perl_pp_int #undef pp_int -#define pp_int pPerl->pp_int +#define pp_int Perl_pp_int +#undef Perl_pp_ioctl +#define Perl_pp_ioctl pPerl->Perl_pp_ioctl #undef pp_ioctl -#define pp_ioctl pPerl->pp_ioctl +#define pp_ioctl Perl_pp_ioctl +#undef Perl_pp_iter +#define Perl_pp_iter pPerl->Perl_pp_iter #undef pp_iter -#define pp_iter pPerl->pp_iter +#define pp_iter Perl_pp_iter +#undef Perl_pp_join +#define Perl_pp_join pPerl->Perl_pp_join #undef pp_join -#define pp_join pPerl->pp_join +#define pp_join Perl_pp_join +#undef Perl_pp_keys +#define Perl_pp_keys pPerl->Perl_pp_keys #undef pp_keys -#define pp_keys pPerl->pp_keys +#define pp_keys Perl_pp_keys +#undef Perl_pp_kill +#define Perl_pp_kill pPerl->Perl_pp_kill #undef pp_kill -#define pp_kill pPerl->pp_kill +#define pp_kill Perl_pp_kill +#undef Perl_pp_last +#define Perl_pp_last pPerl->Perl_pp_last #undef pp_last -#define pp_last pPerl->pp_last +#define pp_last Perl_pp_last +#undef Perl_pp_lc +#define Perl_pp_lc pPerl->Perl_pp_lc #undef pp_lc -#define pp_lc pPerl->pp_lc +#define pp_lc Perl_pp_lc +#undef Perl_pp_lcfirst +#define Perl_pp_lcfirst pPerl->Perl_pp_lcfirst #undef pp_lcfirst -#define pp_lcfirst pPerl->pp_lcfirst +#define pp_lcfirst Perl_pp_lcfirst +#undef Perl_pp_le +#define Perl_pp_le pPerl->Perl_pp_le #undef pp_le -#define pp_le pPerl->pp_le +#define pp_le Perl_pp_le +#undef Perl_pp_leave +#define Perl_pp_leave pPerl->Perl_pp_leave #undef pp_leave -#define pp_leave pPerl->pp_leave +#define pp_leave Perl_pp_leave +#undef Perl_pp_leaveeval +#define Perl_pp_leaveeval pPerl->Perl_pp_leaveeval #undef pp_leaveeval -#define pp_leaveeval pPerl->pp_leaveeval +#define pp_leaveeval Perl_pp_leaveeval +#undef Perl_pp_leaveloop +#define Perl_pp_leaveloop pPerl->Perl_pp_leaveloop #undef pp_leaveloop -#define pp_leaveloop pPerl->pp_leaveloop +#define pp_leaveloop Perl_pp_leaveloop +#undef Perl_pp_leavesub +#define Perl_pp_leavesub pPerl->Perl_pp_leavesub #undef pp_leavesub -#define pp_leavesub pPerl->pp_leavesub +#define pp_leavesub Perl_pp_leavesub +#undef Perl_pp_leavetry +#define Perl_pp_leavetry pPerl->Perl_pp_leavetry #undef pp_leavetry -#define pp_leavetry pPerl->pp_leavetry +#define pp_leavetry Perl_pp_leavetry +#undef Perl_pp_leavewrite +#define Perl_pp_leavewrite pPerl->Perl_pp_leavewrite #undef pp_leavewrite -#define pp_leavewrite pPerl->pp_leavewrite +#define pp_leavewrite Perl_pp_leavewrite +#undef Perl_pp_left_shift +#define Perl_pp_left_shift pPerl->Perl_pp_left_shift #undef pp_left_shift -#define pp_left_shift pPerl->pp_left_shift +#define pp_left_shift Perl_pp_left_shift +#undef Perl_pp_length +#define Perl_pp_length pPerl->Perl_pp_length #undef pp_length -#define pp_length pPerl->pp_length +#define pp_length Perl_pp_length +#undef Perl_pp_lineseq +#define Perl_pp_lineseq pPerl->Perl_pp_lineseq #undef pp_lineseq -#define pp_lineseq pPerl->pp_lineseq +#define pp_lineseq Perl_pp_lineseq +#undef Perl_pp_link +#define Perl_pp_link pPerl->Perl_pp_link #undef pp_link -#define pp_link pPerl->pp_link +#define pp_link Perl_pp_link +#undef Perl_pp_list +#define Perl_pp_list pPerl->Perl_pp_list #undef pp_list -#define pp_list pPerl->pp_list +#define pp_list Perl_pp_list +#undef Perl_pp_listen +#define Perl_pp_listen pPerl->Perl_pp_listen #undef pp_listen -#define pp_listen pPerl->pp_listen +#define pp_listen Perl_pp_listen +#undef Perl_pp_localtime +#define Perl_pp_localtime pPerl->Perl_pp_localtime #undef pp_localtime -#define pp_localtime pPerl->pp_localtime +#define pp_localtime Perl_pp_localtime +#undef Perl_pp_lock +#define Perl_pp_lock pPerl->Perl_pp_lock #undef pp_lock -#define pp_lock pPerl->pp_lock +#define pp_lock Perl_pp_lock +#undef Perl_pp_log +#define Perl_pp_log pPerl->Perl_pp_log #undef pp_log -#define pp_log pPerl->pp_log +#define pp_log Perl_pp_log +#undef Perl_pp_lslice +#define Perl_pp_lslice pPerl->Perl_pp_lslice #undef pp_lslice -#define pp_lslice pPerl->pp_lslice +#define pp_lslice Perl_pp_lslice +#undef Perl_pp_lstat +#define Perl_pp_lstat pPerl->Perl_pp_lstat #undef pp_lstat -#define pp_lstat pPerl->pp_lstat +#define pp_lstat Perl_pp_lstat +#undef Perl_pp_lt +#define Perl_pp_lt pPerl->Perl_pp_lt #undef pp_lt -#define pp_lt pPerl->pp_lt +#define pp_lt Perl_pp_lt +#undef Perl_pp_mapstart +#define Perl_pp_mapstart pPerl->Perl_pp_mapstart #undef pp_mapstart -#define pp_mapstart pPerl->pp_mapstart +#define pp_mapstart Perl_pp_mapstart +#undef Perl_pp_mapwhile +#define Perl_pp_mapwhile pPerl->Perl_pp_mapwhile #undef pp_mapwhile -#define pp_mapwhile pPerl->pp_mapwhile +#define pp_mapwhile Perl_pp_mapwhile +#undef Perl_pp_match +#define Perl_pp_match pPerl->Perl_pp_match #undef pp_match -#define pp_match pPerl->pp_match +#define pp_match Perl_pp_match +#undef Perl_pp_method +#define Perl_pp_method pPerl->Perl_pp_method #undef pp_method -#define pp_method pPerl->pp_method +#define pp_method Perl_pp_method +#undef Perl_pp_mkdir +#define Perl_pp_mkdir pPerl->Perl_pp_mkdir #undef pp_mkdir -#define pp_mkdir pPerl->pp_mkdir +#define pp_mkdir Perl_pp_mkdir +#undef Perl_pp_modulo +#define Perl_pp_modulo pPerl->Perl_pp_modulo #undef pp_modulo -#define pp_modulo pPerl->pp_modulo +#define pp_modulo Perl_pp_modulo +#undef Perl_pp_msgctl +#define Perl_pp_msgctl pPerl->Perl_pp_msgctl #undef pp_msgctl -#define pp_msgctl pPerl->pp_msgctl +#define pp_msgctl Perl_pp_msgctl +#undef Perl_pp_msgget +#define Perl_pp_msgget pPerl->Perl_pp_msgget #undef pp_msgget -#define pp_msgget pPerl->pp_msgget +#define pp_msgget Perl_pp_msgget +#undef Perl_pp_msgrcv +#define Perl_pp_msgrcv pPerl->Perl_pp_msgrcv #undef pp_msgrcv -#define pp_msgrcv pPerl->pp_msgrcv +#define pp_msgrcv Perl_pp_msgrcv +#undef Perl_pp_msgsnd +#define Perl_pp_msgsnd pPerl->Perl_pp_msgsnd #undef pp_msgsnd -#define pp_msgsnd pPerl->pp_msgsnd +#define pp_msgsnd Perl_pp_msgsnd +#undef Perl_pp_multiply +#define Perl_pp_multiply pPerl->Perl_pp_multiply #undef pp_multiply -#define pp_multiply pPerl->pp_multiply +#define pp_multiply Perl_pp_multiply +#undef Perl_pp_ncmp +#define Perl_pp_ncmp pPerl->Perl_pp_ncmp #undef pp_ncmp -#define pp_ncmp pPerl->pp_ncmp +#define pp_ncmp Perl_pp_ncmp +#undef Perl_pp_ne +#define Perl_pp_ne pPerl->Perl_pp_ne #undef pp_ne -#define pp_ne pPerl->pp_ne +#define pp_ne Perl_pp_ne +#undef Perl_pp_negate +#define Perl_pp_negate pPerl->Perl_pp_negate #undef pp_negate -#define pp_negate pPerl->pp_negate +#define pp_negate Perl_pp_negate +#undef Perl_pp_next +#define Perl_pp_next pPerl->Perl_pp_next #undef pp_next -#define pp_next pPerl->pp_next +#define pp_next Perl_pp_next +#undef Perl_pp_nextstate +#define Perl_pp_nextstate pPerl->Perl_pp_nextstate #undef pp_nextstate -#define pp_nextstate pPerl->pp_nextstate +#define pp_nextstate Perl_pp_nextstate +#undef Perl_pp_not +#define Perl_pp_not pPerl->Perl_pp_not #undef pp_not -#define pp_not pPerl->pp_not +#define pp_not Perl_pp_not +#undef Perl_pp_null +#define Perl_pp_null pPerl->Perl_pp_null #undef pp_null -#define pp_null pPerl->pp_null +#define pp_null Perl_pp_null +#undef Perl_pp_oct +#define Perl_pp_oct pPerl->Perl_pp_oct #undef pp_oct -#define pp_oct pPerl->pp_oct +#define pp_oct Perl_pp_oct +#undef Perl_pp_open +#define Perl_pp_open pPerl->Perl_pp_open #undef pp_open -#define pp_open pPerl->pp_open +#define pp_open Perl_pp_open +#undef Perl_pp_open_dir +#define Perl_pp_open_dir pPerl->Perl_pp_open_dir #undef pp_open_dir -#define pp_open_dir pPerl->pp_open_dir +#define pp_open_dir Perl_pp_open_dir +#undef Perl_pp_or +#define Perl_pp_or pPerl->Perl_pp_or #undef pp_or -#define pp_or pPerl->pp_or +#define pp_or Perl_pp_or +#undef Perl_pp_orassign +#define Perl_pp_orassign pPerl->Perl_pp_orassign #undef pp_orassign -#define pp_orassign pPerl->pp_orassign +#define pp_orassign Perl_pp_orassign +#undef Perl_pp_ord +#define Perl_pp_ord pPerl->Perl_pp_ord #undef pp_ord -#define pp_ord pPerl->pp_ord +#define pp_ord Perl_pp_ord +#undef Perl_pp_pack +#define Perl_pp_pack pPerl->Perl_pp_pack #undef pp_pack -#define pp_pack pPerl->pp_pack +#define pp_pack Perl_pp_pack +#undef Perl_pp_padany +#define Perl_pp_padany pPerl->Perl_pp_padany #undef pp_padany -#define pp_padany pPerl->pp_padany +#define pp_padany Perl_pp_padany +#undef Perl_pp_padav +#define Perl_pp_padav pPerl->Perl_pp_padav #undef pp_padav -#define pp_padav pPerl->pp_padav +#define pp_padav Perl_pp_padav +#undef Perl_pp_padhv +#define Perl_pp_padhv pPerl->Perl_pp_padhv #undef pp_padhv -#define pp_padhv pPerl->pp_padhv +#define pp_padhv Perl_pp_padhv +#undef Perl_pp_padsv +#define Perl_pp_padsv pPerl->Perl_pp_padsv #undef pp_padsv -#define pp_padsv pPerl->pp_padsv +#define pp_padsv Perl_pp_padsv +#undef Perl_pp_pipe_op +#define Perl_pp_pipe_op pPerl->Perl_pp_pipe_op #undef pp_pipe_op -#define pp_pipe_op pPerl->pp_pipe_op +#define pp_pipe_op Perl_pp_pipe_op +#undef Perl_pp_pop +#define Perl_pp_pop pPerl->Perl_pp_pop #undef pp_pop -#define pp_pop pPerl->pp_pop +#define pp_pop Perl_pp_pop +#undef Perl_pp_pos +#define Perl_pp_pos pPerl->Perl_pp_pos #undef pp_pos -#define pp_pos pPerl->pp_pos +#define pp_pos Perl_pp_pos +#undef Perl_pp_postdec +#define Perl_pp_postdec pPerl->Perl_pp_postdec #undef pp_postdec -#define pp_postdec pPerl->pp_postdec +#define pp_postdec Perl_pp_postdec +#undef Perl_pp_postinc +#define Perl_pp_postinc pPerl->Perl_pp_postinc #undef pp_postinc -#define pp_postinc pPerl->pp_postinc +#define pp_postinc Perl_pp_postinc +#undef Perl_pp_pow +#define Perl_pp_pow pPerl->Perl_pp_pow #undef pp_pow -#define pp_pow pPerl->pp_pow +#define pp_pow Perl_pp_pow +#undef Perl_pp_predec +#define Perl_pp_predec pPerl->Perl_pp_predec #undef pp_predec -#define pp_predec pPerl->pp_predec +#define pp_predec Perl_pp_predec +#undef Perl_pp_preinc +#define Perl_pp_preinc pPerl->Perl_pp_preinc #undef pp_preinc -#define pp_preinc pPerl->pp_preinc +#define pp_preinc Perl_pp_preinc +#undef Perl_pp_print +#define Perl_pp_print pPerl->Perl_pp_print #undef pp_print -#define pp_print pPerl->pp_print +#define pp_print Perl_pp_print +#undef Perl_pp_prototype +#define Perl_pp_prototype pPerl->Perl_pp_prototype #undef pp_prototype -#define pp_prototype pPerl->pp_prototype +#define pp_prototype Perl_pp_prototype +#undef Perl_pp_prtf +#define Perl_pp_prtf pPerl->Perl_pp_prtf #undef pp_prtf -#define pp_prtf pPerl->pp_prtf +#define pp_prtf Perl_pp_prtf +#undef Perl_pp_push +#define Perl_pp_push pPerl->Perl_pp_push #undef pp_push -#define pp_push pPerl->pp_push +#define pp_push Perl_pp_push +#undef Perl_pp_pushmark +#define Perl_pp_pushmark pPerl->Perl_pp_pushmark #undef pp_pushmark -#define pp_pushmark pPerl->pp_pushmark +#define pp_pushmark Perl_pp_pushmark +#undef Perl_pp_pushre +#define Perl_pp_pushre pPerl->Perl_pp_pushre #undef pp_pushre -#define pp_pushre pPerl->pp_pushre +#define pp_pushre Perl_pp_pushre +#undef Perl_pp_qr +#define Perl_pp_qr pPerl->Perl_pp_qr #undef pp_qr -#define pp_qr pPerl->pp_qr +#define pp_qr Perl_pp_qr +#undef Perl_pp_quotemeta +#define Perl_pp_quotemeta pPerl->Perl_pp_quotemeta #undef pp_quotemeta -#define pp_quotemeta pPerl->pp_quotemeta +#define pp_quotemeta Perl_pp_quotemeta +#undef Perl_pp_rand +#define Perl_pp_rand pPerl->Perl_pp_rand #undef pp_rand -#define pp_rand pPerl->pp_rand +#define pp_rand Perl_pp_rand +#undef Perl_pp_range +#define Perl_pp_range pPerl->Perl_pp_range #undef pp_range -#define pp_range pPerl->pp_range +#define pp_range Perl_pp_range +#undef Perl_pp_rcatline +#define Perl_pp_rcatline pPerl->Perl_pp_rcatline #undef pp_rcatline -#define pp_rcatline pPerl->pp_rcatline +#define pp_rcatline Perl_pp_rcatline +#undef Perl_pp_read +#define Perl_pp_read pPerl->Perl_pp_read #undef pp_read -#define pp_read pPerl->pp_read +#define pp_read Perl_pp_read +#undef Perl_pp_readdir +#define Perl_pp_readdir pPerl->Perl_pp_readdir #undef pp_readdir -#define pp_readdir pPerl->pp_readdir +#define pp_readdir Perl_pp_readdir +#undef Perl_pp_readline +#define Perl_pp_readline pPerl->Perl_pp_readline #undef pp_readline -#define pp_readline pPerl->pp_readline +#define pp_readline Perl_pp_readline +#undef Perl_pp_readlink +#define Perl_pp_readlink pPerl->Perl_pp_readlink #undef pp_readlink -#define pp_readlink pPerl->pp_readlink +#define pp_readlink Perl_pp_readlink +#undef Perl_pp_recv +#define Perl_pp_recv pPerl->Perl_pp_recv #undef pp_recv -#define pp_recv pPerl->pp_recv +#define pp_recv Perl_pp_recv +#undef Perl_pp_redo +#define Perl_pp_redo pPerl->Perl_pp_redo #undef pp_redo -#define pp_redo pPerl->pp_redo +#define pp_redo Perl_pp_redo +#undef Perl_pp_ref +#define Perl_pp_ref pPerl->Perl_pp_ref #undef pp_ref -#define pp_ref pPerl->pp_ref +#define pp_ref Perl_pp_ref +#undef Perl_pp_refgen +#define Perl_pp_refgen pPerl->Perl_pp_refgen #undef pp_refgen -#define pp_refgen pPerl->pp_refgen +#define pp_refgen Perl_pp_refgen +#undef Perl_pp_regcmaybe +#define Perl_pp_regcmaybe pPerl->Perl_pp_regcmaybe #undef pp_regcmaybe -#define pp_regcmaybe pPerl->pp_regcmaybe +#define pp_regcmaybe Perl_pp_regcmaybe +#undef Perl_pp_regcomp +#define Perl_pp_regcomp pPerl->Perl_pp_regcomp #undef pp_regcomp -#define pp_regcomp pPerl->pp_regcomp +#define pp_regcomp Perl_pp_regcomp +#undef Perl_pp_regcreset +#define Perl_pp_regcreset pPerl->Perl_pp_regcreset #undef pp_regcreset -#define pp_regcreset pPerl->pp_regcreset +#define pp_regcreset Perl_pp_regcreset +#undef Perl_pp_rename +#define Perl_pp_rename pPerl->Perl_pp_rename #undef pp_rename -#define pp_rename pPerl->pp_rename +#define pp_rename Perl_pp_rename +#undef Perl_pp_repeat +#define Perl_pp_repeat pPerl->Perl_pp_repeat #undef pp_repeat -#define pp_repeat pPerl->pp_repeat +#define pp_repeat Perl_pp_repeat +#undef Perl_pp_require +#define Perl_pp_require pPerl->Perl_pp_require #undef pp_require -#define pp_require pPerl->pp_require +#define pp_require Perl_pp_require +#undef Perl_pp_reset +#define Perl_pp_reset pPerl->Perl_pp_reset #undef pp_reset -#define pp_reset pPerl->pp_reset +#define pp_reset Perl_pp_reset +#undef Perl_pp_return +#define Perl_pp_return pPerl->Perl_pp_return #undef pp_return -#define pp_return pPerl->pp_return +#define pp_return Perl_pp_return +#undef Perl_pp_reverse +#define Perl_pp_reverse pPerl->Perl_pp_reverse #undef pp_reverse -#define pp_reverse pPerl->pp_reverse +#define pp_reverse Perl_pp_reverse +#undef Perl_pp_rewinddir +#define Perl_pp_rewinddir pPerl->Perl_pp_rewinddir #undef pp_rewinddir -#define pp_rewinddir pPerl->pp_rewinddir +#define pp_rewinddir Perl_pp_rewinddir +#undef Perl_pp_right_shift +#define Perl_pp_right_shift pPerl->Perl_pp_right_shift #undef pp_right_shift -#define pp_right_shift pPerl->pp_right_shift +#define pp_right_shift Perl_pp_right_shift +#undef Perl_pp_rindex +#define Perl_pp_rindex pPerl->Perl_pp_rindex #undef pp_rindex -#define pp_rindex pPerl->pp_rindex +#define pp_rindex Perl_pp_rindex +#undef Perl_pp_rmdir +#define Perl_pp_rmdir pPerl->Perl_pp_rmdir #undef pp_rmdir -#define pp_rmdir pPerl->pp_rmdir +#define pp_rmdir Perl_pp_rmdir +#undef Perl_pp_rv2av +#define Perl_pp_rv2av pPerl->Perl_pp_rv2av #undef pp_rv2av -#define pp_rv2av pPerl->pp_rv2av +#define pp_rv2av Perl_pp_rv2av +#undef Perl_pp_rv2cv +#define Perl_pp_rv2cv pPerl->Perl_pp_rv2cv #undef pp_rv2cv -#define pp_rv2cv pPerl->pp_rv2cv +#define pp_rv2cv Perl_pp_rv2cv +#undef Perl_pp_rv2gv +#define Perl_pp_rv2gv pPerl->Perl_pp_rv2gv #undef pp_rv2gv -#define pp_rv2gv pPerl->pp_rv2gv +#define pp_rv2gv Perl_pp_rv2gv +#undef Perl_pp_rv2hv +#define Perl_pp_rv2hv pPerl->Perl_pp_rv2hv #undef pp_rv2hv -#define pp_rv2hv pPerl->pp_rv2hv +#define pp_rv2hv Perl_pp_rv2hv +#undef Perl_pp_rv2sv +#define Perl_pp_rv2sv pPerl->Perl_pp_rv2sv #undef pp_rv2sv -#define pp_rv2sv pPerl->pp_rv2sv +#define pp_rv2sv Perl_pp_rv2sv +#undef Perl_pp_sassign +#define Perl_pp_sassign pPerl->Perl_pp_sassign #undef pp_sassign -#define pp_sassign pPerl->pp_sassign +#define pp_sassign Perl_pp_sassign +#undef Perl_pp_scalar +#define Perl_pp_scalar pPerl->Perl_pp_scalar #undef pp_scalar -#define pp_scalar pPerl->pp_scalar +#define pp_scalar Perl_pp_scalar +#undef Perl_pp_schomp +#define Perl_pp_schomp pPerl->Perl_pp_schomp #undef pp_schomp -#define pp_schomp pPerl->pp_schomp +#define pp_schomp Perl_pp_schomp +#undef Perl_pp_schop +#define Perl_pp_schop pPerl->Perl_pp_schop #undef pp_schop -#define pp_schop pPerl->pp_schop +#define pp_schop Perl_pp_schop +#undef Perl_pp_scmp +#define Perl_pp_scmp pPerl->Perl_pp_scmp #undef pp_scmp -#define pp_scmp pPerl->pp_scmp +#define pp_scmp Perl_pp_scmp +#undef Perl_pp_scope +#define Perl_pp_scope pPerl->Perl_pp_scope #undef pp_scope -#define pp_scope pPerl->pp_scope +#define pp_scope Perl_pp_scope +#undef Perl_pp_seek +#define Perl_pp_seek pPerl->Perl_pp_seek #undef pp_seek -#define pp_seek pPerl->pp_seek +#define pp_seek Perl_pp_seek +#undef Perl_pp_seekdir +#define Perl_pp_seekdir pPerl->Perl_pp_seekdir #undef pp_seekdir -#define pp_seekdir pPerl->pp_seekdir +#define pp_seekdir Perl_pp_seekdir +#undef Perl_pp_select +#define Perl_pp_select pPerl->Perl_pp_select #undef pp_select -#define pp_select pPerl->pp_select +#define pp_select Perl_pp_select +#undef Perl_pp_semctl +#define Perl_pp_semctl pPerl->Perl_pp_semctl #undef pp_semctl -#define pp_semctl pPerl->pp_semctl +#define pp_semctl Perl_pp_semctl +#undef Perl_pp_semget +#define Perl_pp_semget pPerl->Perl_pp_semget #undef pp_semget -#define pp_semget pPerl->pp_semget +#define pp_semget Perl_pp_semget +#undef Perl_pp_semop +#define Perl_pp_semop pPerl->Perl_pp_semop #undef pp_semop -#define pp_semop pPerl->pp_semop +#define pp_semop Perl_pp_semop +#undef Perl_pp_send +#define Perl_pp_send pPerl->Perl_pp_send #undef pp_send -#define pp_send pPerl->pp_send +#define pp_send Perl_pp_send +#undef Perl_pp_seq +#define Perl_pp_seq pPerl->Perl_pp_seq #undef pp_seq -#define pp_seq pPerl->pp_seq +#define pp_seq Perl_pp_seq +#undef Perl_pp_setpgrp +#define Perl_pp_setpgrp pPerl->Perl_pp_setpgrp #undef pp_setpgrp -#define pp_setpgrp pPerl->pp_setpgrp +#define pp_setpgrp Perl_pp_setpgrp +#undef Perl_pp_setpriority +#define Perl_pp_setpriority pPerl->Perl_pp_setpriority #undef pp_setpriority -#define pp_setpriority pPerl->pp_setpriority +#define pp_setpriority Perl_pp_setpriority +#undef Perl_pp_sge +#define Perl_pp_sge pPerl->Perl_pp_sge #undef pp_sge -#define pp_sge pPerl->pp_sge +#define pp_sge Perl_pp_sge +#undef Perl_pp_sgrent +#define Perl_pp_sgrent pPerl->Perl_pp_sgrent #undef pp_sgrent -#define pp_sgrent pPerl->pp_sgrent +#define pp_sgrent Perl_pp_sgrent +#undef Perl_pp_sgt +#define Perl_pp_sgt pPerl->Perl_pp_sgt #undef pp_sgt -#define pp_sgt pPerl->pp_sgt +#define pp_sgt Perl_pp_sgt +#undef Perl_pp_shift +#define Perl_pp_shift pPerl->Perl_pp_shift #undef pp_shift -#define pp_shift pPerl->pp_shift +#define pp_shift Perl_pp_shift +#undef Perl_pp_shmctl +#define Perl_pp_shmctl pPerl->Perl_pp_shmctl #undef pp_shmctl -#define pp_shmctl pPerl->pp_shmctl +#define pp_shmctl Perl_pp_shmctl +#undef Perl_pp_shmget +#define Perl_pp_shmget pPerl->Perl_pp_shmget #undef pp_shmget -#define pp_shmget pPerl->pp_shmget +#define pp_shmget Perl_pp_shmget +#undef Perl_pp_shmread +#define Perl_pp_shmread pPerl->Perl_pp_shmread #undef pp_shmread -#define pp_shmread pPerl->pp_shmread +#define pp_shmread Perl_pp_shmread +#undef Perl_pp_shmwrite +#define Perl_pp_shmwrite pPerl->Perl_pp_shmwrite #undef pp_shmwrite -#define pp_shmwrite pPerl->pp_shmwrite +#define pp_shmwrite Perl_pp_shmwrite +#undef Perl_pp_shostent +#define Perl_pp_shostent pPerl->Perl_pp_shostent #undef pp_shostent -#define pp_shostent pPerl->pp_shostent +#define pp_shostent Perl_pp_shostent +#undef Perl_pp_shutdown +#define Perl_pp_shutdown pPerl->Perl_pp_shutdown #undef pp_shutdown -#define pp_shutdown pPerl->pp_shutdown +#define pp_shutdown Perl_pp_shutdown +#undef Perl_pp_sin +#define Perl_pp_sin pPerl->Perl_pp_sin #undef pp_sin -#define pp_sin pPerl->pp_sin +#define pp_sin Perl_pp_sin +#undef Perl_pp_sle +#define Perl_pp_sle pPerl->Perl_pp_sle #undef pp_sle -#define pp_sle pPerl->pp_sle +#define pp_sle Perl_pp_sle +#undef Perl_pp_sleep +#define Perl_pp_sleep pPerl->Perl_pp_sleep #undef pp_sleep -#define pp_sleep pPerl->pp_sleep +#define pp_sleep Perl_pp_sleep +#undef Perl_pp_slt +#define Perl_pp_slt pPerl->Perl_pp_slt #undef pp_slt -#define pp_slt pPerl->pp_slt +#define pp_slt Perl_pp_slt +#undef Perl_pp_sne +#define Perl_pp_sne pPerl->Perl_pp_sne #undef pp_sne -#define pp_sne pPerl->pp_sne +#define pp_sne Perl_pp_sne +#undef Perl_pp_snetent +#define Perl_pp_snetent pPerl->Perl_pp_snetent #undef pp_snetent -#define pp_snetent pPerl->pp_snetent +#define pp_snetent Perl_pp_snetent +#undef Perl_pp_socket +#define Perl_pp_socket pPerl->Perl_pp_socket #undef pp_socket -#define pp_socket pPerl->pp_socket +#define pp_socket Perl_pp_socket +#undef Perl_pp_sockpair +#define Perl_pp_sockpair pPerl->Perl_pp_sockpair #undef pp_sockpair -#define pp_sockpair pPerl->pp_sockpair +#define pp_sockpair Perl_pp_sockpair +#undef Perl_pp_sort +#define Perl_pp_sort pPerl->Perl_pp_sort #undef pp_sort -#define pp_sort pPerl->pp_sort +#define pp_sort Perl_pp_sort +#undef Perl_pp_splice +#define Perl_pp_splice pPerl->Perl_pp_splice #undef pp_splice -#define pp_splice pPerl->pp_splice +#define pp_splice Perl_pp_splice +#undef Perl_pp_split +#define Perl_pp_split pPerl->Perl_pp_split #undef pp_split -#define pp_split pPerl->pp_split +#define pp_split Perl_pp_split +#undef Perl_pp_sprintf +#define Perl_pp_sprintf pPerl->Perl_pp_sprintf #undef pp_sprintf -#define pp_sprintf pPerl->pp_sprintf +#define pp_sprintf Perl_pp_sprintf +#undef Perl_pp_sprotoent +#define Perl_pp_sprotoent pPerl->Perl_pp_sprotoent #undef pp_sprotoent -#define pp_sprotoent pPerl->pp_sprotoent +#define pp_sprotoent Perl_pp_sprotoent +#undef Perl_pp_spwent +#define Perl_pp_spwent pPerl->Perl_pp_spwent #undef pp_spwent -#define pp_spwent pPerl->pp_spwent +#define pp_spwent Perl_pp_spwent +#undef Perl_pp_sqrt +#define Perl_pp_sqrt pPerl->Perl_pp_sqrt #undef pp_sqrt -#define pp_sqrt pPerl->pp_sqrt +#define pp_sqrt Perl_pp_sqrt +#undef Perl_pp_srand +#define Perl_pp_srand pPerl->Perl_pp_srand #undef pp_srand -#define pp_srand pPerl->pp_srand +#define pp_srand Perl_pp_srand +#undef Perl_pp_srefgen +#define Perl_pp_srefgen pPerl->Perl_pp_srefgen #undef pp_srefgen -#define pp_srefgen pPerl->pp_srefgen +#define pp_srefgen Perl_pp_srefgen +#undef Perl_pp_sselect +#define Perl_pp_sselect pPerl->Perl_pp_sselect #undef pp_sselect -#define pp_sselect pPerl->pp_sselect +#define pp_sselect Perl_pp_sselect +#undef Perl_pp_sservent +#define Perl_pp_sservent pPerl->Perl_pp_sservent #undef pp_sservent -#define pp_sservent pPerl->pp_sservent +#define pp_sservent Perl_pp_sservent +#undef Perl_pp_ssockopt +#define Perl_pp_ssockopt pPerl->Perl_pp_ssockopt #undef pp_ssockopt -#define pp_ssockopt pPerl->pp_ssockopt +#define pp_ssockopt Perl_pp_ssockopt +#undef Perl_pp_stat +#define Perl_pp_stat pPerl->Perl_pp_stat #undef pp_stat -#define pp_stat pPerl->pp_stat +#define pp_stat Perl_pp_stat +#undef Perl_pp_stringify +#define Perl_pp_stringify pPerl->Perl_pp_stringify #undef pp_stringify -#define pp_stringify pPerl->pp_stringify +#define pp_stringify Perl_pp_stringify +#undef Perl_pp_stub +#define Perl_pp_stub pPerl->Perl_pp_stub #undef pp_stub -#define pp_stub pPerl->pp_stub +#define pp_stub Perl_pp_stub +#undef Perl_pp_study +#define Perl_pp_study pPerl->Perl_pp_study #undef pp_study -#define pp_study pPerl->pp_study +#define pp_study Perl_pp_study +#undef Perl_pp_subst +#define Perl_pp_subst pPerl->Perl_pp_subst #undef pp_subst -#define pp_subst pPerl->pp_subst +#define pp_subst Perl_pp_subst +#undef Perl_pp_substcont +#define Perl_pp_substcont pPerl->Perl_pp_substcont #undef pp_substcont -#define pp_substcont pPerl->pp_substcont +#define pp_substcont Perl_pp_substcont +#undef Perl_pp_substr +#define Perl_pp_substr pPerl->Perl_pp_substr #undef pp_substr -#define pp_substr pPerl->pp_substr +#define pp_substr Perl_pp_substr +#undef Perl_pp_subtract +#define Perl_pp_subtract pPerl->Perl_pp_subtract #undef pp_subtract -#define pp_subtract pPerl->pp_subtract +#define pp_subtract Perl_pp_subtract +#undef Perl_pp_symlink +#define Perl_pp_symlink pPerl->Perl_pp_symlink #undef pp_symlink -#define pp_symlink pPerl->pp_symlink +#define pp_symlink Perl_pp_symlink +#undef Perl_pp_syscall +#define Perl_pp_syscall pPerl->Perl_pp_syscall #undef pp_syscall -#define pp_syscall pPerl->pp_syscall +#define pp_syscall Perl_pp_syscall +#undef Perl_pp_sysopen +#define Perl_pp_sysopen pPerl->Perl_pp_sysopen #undef pp_sysopen -#define pp_sysopen pPerl->pp_sysopen +#define pp_sysopen Perl_pp_sysopen +#undef Perl_pp_sysread +#define Perl_pp_sysread pPerl->Perl_pp_sysread #undef pp_sysread -#define pp_sysread pPerl->pp_sysread +#define pp_sysread Perl_pp_sysread +#undef Perl_pp_sysseek +#define Perl_pp_sysseek pPerl->Perl_pp_sysseek #undef pp_sysseek -#define pp_sysseek pPerl->pp_sysseek +#define pp_sysseek Perl_pp_sysseek +#undef Perl_pp_system +#define Perl_pp_system pPerl->Perl_pp_system #undef pp_system -#define pp_system pPerl->pp_system +#define pp_system Perl_pp_system +#undef Perl_pp_syswrite +#define Perl_pp_syswrite pPerl->Perl_pp_syswrite #undef pp_syswrite -#define pp_syswrite pPerl->pp_syswrite +#define pp_syswrite Perl_pp_syswrite +#undef Perl_pp_tell +#define Perl_pp_tell pPerl->Perl_pp_tell #undef pp_tell -#define pp_tell pPerl->pp_tell +#define pp_tell Perl_pp_tell +#undef Perl_pp_telldir +#define Perl_pp_telldir pPerl->Perl_pp_telldir #undef pp_telldir -#define pp_telldir pPerl->pp_telldir +#define pp_telldir Perl_pp_telldir +#undef Perl_pp_threadsv +#define Perl_pp_threadsv pPerl->Perl_pp_threadsv #undef pp_threadsv -#define pp_threadsv pPerl->pp_threadsv +#define pp_threadsv Perl_pp_threadsv +#undef Perl_pp_tie +#define Perl_pp_tie pPerl->Perl_pp_tie #undef pp_tie -#define pp_tie pPerl->pp_tie +#define pp_tie Perl_pp_tie +#undef Perl_pp_tied +#define Perl_pp_tied pPerl->Perl_pp_tied #undef pp_tied -#define pp_tied pPerl->pp_tied +#define pp_tied Perl_pp_tied +#undef Perl_pp_time +#define Perl_pp_time pPerl->Perl_pp_time #undef pp_time -#define pp_time pPerl->pp_time +#define pp_time Perl_pp_time +#undef Perl_pp_tms +#define Perl_pp_tms pPerl->Perl_pp_tms #undef pp_tms -#define pp_tms pPerl->pp_tms +#define pp_tms Perl_pp_tms +#undef Perl_pp_trans +#define Perl_pp_trans pPerl->Perl_pp_trans #undef pp_trans -#define pp_trans pPerl->pp_trans +#define pp_trans Perl_pp_trans +#undef Perl_pp_truncate +#define Perl_pp_truncate pPerl->Perl_pp_truncate #undef pp_truncate -#define pp_truncate pPerl->pp_truncate +#define pp_truncate Perl_pp_truncate +#undef Perl_pp_uc +#define Perl_pp_uc pPerl->Perl_pp_uc #undef pp_uc -#define pp_uc pPerl->pp_uc +#define pp_uc Perl_pp_uc +#undef Perl_pp_ucfirst +#define Perl_pp_ucfirst pPerl->Perl_pp_ucfirst #undef pp_ucfirst -#define pp_ucfirst pPerl->pp_ucfirst +#define pp_ucfirst Perl_pp_ucfirst +#undef Perl_pp_umask +#define Perl_pp_umask pPerl->Perl_pp_umask #undef pp_umask -#define pp_umask pPerl->pp_umask +#define pp_umask Perl_pp_umask +#undef Perl_pp_undef +#define Perl_pp_undef pPerl->Perl_pp_undef #undef pp_undef -#define pp_undef pPerl->pp_undef +#define pp_undef Perl_pp_undef +#undef Perl_pp_unlink +#define Perl_pp_unlink pPerl->Perl_pp_unlink #undef pp_unlink -#define pp_unlink pPerl->pp_unlink +#define pp_unlink Perl_pp_unlink +#undef Perl_pp_unpack +#define Perl_pp_unpack pPerl->Perl_pp_unpack #undef pp_unpack -#define pp_unpack pPerl->pp_unpack +#define pp_unpack Perl_pp_unpack +#undef Perl_pp_unshift +#define Perl_pp_unshift pPerl->Perl_pp_unshift #undef pp_unshift -#define pp_unshift pPerl->pp_unshift +#define pp_unshift Perl_pp_unshift +#undef Perl_pp_unstack +#define Perl_pp_unstack pPerl->Perl_pp_unstack #undef pp_unstack -#define pp_unstack pPerl->pp_unstack +#define pp_unstack Perl_pp_unstack +#undef Perl_pp_untie +#define Perl_pp_untie pPerl->Perl_pp_untie #undef pp_untie -#define pp_untie pPerl->pp_untie +#define pp_untie Perl_pp_untie +#undef Perl_pp_utime +#define Perl_pp_utime pPerl->Perl_pp_utime #undef pp_utime -#define pp_utime pPerl->pp_utime +#define pp_utime Perl_pp_utime +#undef Perl_pp_values +#define Perl_pp_values pPerl->Perl_pp_values #undef pp_values -#define pp_values pPerl->pp_values +#define pp_values Perl_pp_values +#undef Perl_pp_vec +#define Perl_pp_vec pPerl->Perl_pp_vec #undef pp_vec -#define pp_vec pPerl->pp_vec +#define pp_vec Perl_pp_vec +#undef Perl_pp_wait +#define Perl_pp_wait pPerl->Perl_pp_wait #undef pp_wait -#define pp_wait pPerl->pp_wait +#define pp_wait Perl_pp_wait +#undef Perl_pp_waitpid +#define Perl_pp_waitpid pPerl->Perl_pp_waitpid #undef pp_waitpid -#define pp_waitpid pPerl->pp_waitpid +#define pp_waitpid Perl_pp_waitpid +#undef Perl_pp_wantarray +#define Perl_pp_wantarray pPerl->Perl_pp_wantarray #undef pp_wantarray -#define pp_wantarray pPerl->pp_wantarray +#define pp_wantarray Perl_pp_wantarray +#undef Perl_pp_warn +#define Perl_pp_warn pPerl->Perl_pp_warn #undef pp_warn -#define pp_warn pPerl->pp_warn +#define pp_warn Perl_pp_warn +#undef Perl_pp_xor +#define Perl_pp_xor pPerl->Perl_pp_xor #undef pp_xor -#define pp_xor pPerl->pp_xor +#define pp_xor Perl_pp_xor #endif /* __objXSUB_h__ */ diff --git a/opcode.h b/opcode.h index 20ec044..5cb5ae9 100644 --- a/opcode.h +++ b/opcode.h @@ -1072,19 +1072,6 @@ EXT char *PL_op_desc[] = { END_EXTERN_C -#ifndef PERL_OBJECT -START_EXTERN_C - -#undef PERL_CKDEF -#undef PERL_PPDEF -#define PERL_CKDEF(s) OP *s (pTHX_ OP *o); -#define PERL_PPDEF(s) OP *s (pTHX); - -#include "pp_proto.h" - - -END_EXTERN_C -#endif /* PERL_OBJECT */ START_EXTERN_C diff --git a/opcode.pl b/opcode.pl index 1afc2f6..bf6734c 100755 --- a/opcode.pl +++ b/opcode.pl @@ -82,16 +82,6 @@ print < */ #endif +static I32 read_e_script(pTHXo_ int idx, SV *buf_sv, int maxlen); + #ifdef I_FCNTL #include #endif @@ -68,7 +70,7 @@ perl_alloc(void) #endif /* PERL_OBJECT */ void -perl_construct(register PerlInterpreter *my_perl) +perl_construct(pTHXx) { #ifdef USE_THREADS int i; @@ -206,7 +208,7 @@ perl_construct(register PerlInterpreter *my_perl) } void -perl_destruct(register PerlInterpreter *my_perl) +perl_destruct(pTHXx) { dTHR; int destruct_level; /* 0=none, 1=full, 2=full with checks */ @@ -340,7 +342,7 @@ perl_destruct(register PerlInterpreter *my_perl) /* call exit list functions */ while (PL_exitlistlen-- > 0) - PL_exitlist[PL_exitlistlen].fn(aTHX_ PL_exitlist[PL_exitlistlen].ptr); + PL_exitlist[PL_exitlistlen].fn(aTHXo_ PL_exitlist[PL_exitlistlen].ptr); Safefree(PL_exitlist); @@ -561,7 +563,7 @@ perl_destruct(register PerlInterpreter *my_perl) } void -perl_free(PerlInterpreter *my_perl) +perl_free(pTHXx) { #ifdef PERL_OBJECT Safefree(this); @@ -584,7 +586,7 @@ Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr) } int -perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc, char **argv, char **env) +perl_parse(pTHXx_ XSINIT_t xsinit, int argc, char **argv, char **env) { dTHR; I32 oldscope; @@ -737,7 +739,7 @@ S_parse_body(pTHX_ va_list args) Perl_croak(aTHX_ "No -e allowed in setuid scripts"); if (!PL_e_script) { PL_e_script = newSVpvn("",0); - filter_add(S_read_e_script, NULL); + filter_add(read_e_script, NULL); } if (*++s) sv_catpv(PL_e_script, s); @@ -941,7 +943,7 @@ print \" \\@INC:\\n @INC\\n\";"); boot_core_UNIVERSAL(); if (xsinit) - (*xsinit)(aTHX); /* in case linked C routines want magical variables */ + (*xsinit)(aTHXo); /* in case linked C routines want magical variables */ #if defined(VMS) || defined(WIN32) || defined(DJGPP) init_os_extras(aTHX); #endif @@ -999,7 +1001,7 @@ print \" \\@INC:\\n @INC\\n\";"); } int -perl_run(PerlInterpreter *my_perl) +perl_run(pTHXx) { dTHR; I32 oldscope; @@ -3100,15 +3102,15 @@ S_my_exit_jump(pTHX) #include "XSUB.h" -STATIC I32 -S_read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen) +static I32 +read_e_script(pTHXo_ int idx, SV *buf_sv, int maxlen) { char *p, *nl; p = SvPVX(PL_e_script); nl = strchr(p, '\n'); nl = (nl) ? nl+1 : SvEND(PL_e_script); if (nl-p == 0) { - filter_del(S_read_e_script); + filter_del(read_e_script); return 0; } sv_catpvn(buf_sv, p, nl-p); diff --git a/perl.h b/perl.h index 7ef9432..f61ff9b 100644 --- a/perl.h +++ b/perl.h @@ -22,6 +22,14 @@ #define USE_STDIO #endif /* PERL_FOR_X2P */ +#define VOIDUSED 1 +#include "config.h" + +/* XXXXXX testing threads via implicit pointer */ +#ifdef USE_THREADS +#define PERL_IMPLICIT_CONTEXT +#endif + #ifdef PERL_OBJECT /* PERL_OBJECT explained - DickH and DougL @ ActiveState.com @@ -101,22 +109,29 @@ class CPerlObj; #define STATIC #define CPERLscope(x) CPerlObj::x -#define CPERLproto CPerlObj * -#define _CPERLproto ,CPERLproto -#define CPERLarg CPerlObj *pPerl -#define CPERLarg_ CPERLarg, -#define _CPERLarg ,CPERLarg -#define PERL_OBJECT_THIS this -#define _PERL_OBJECT_THIS ,this -#define PERL_OBJECT_THIS_ this, #define CALL_FPTR(fptr) (this->*fptr) +#define pTHXo CPerlObj *pPerl +#define pTHXo_ pTHXo, +#define _pTHXo ,pTHXo +#define aTHXo this +#define aTHXo_ this, +#define _aTHXo ,this +#define PERL_OBJECT_THIS aTHXo +#define PERL_OBJECT_THIS_ aTHXo_ +#define _PERL_OBJECT_THIS _aTHXo + +#define pTHXx void +#define pTHXx_ +#define _pTHXx +#define aTHXx +#define aTHXx_ +#define _aTHXx + #else /* !PERL_OBJECT */ #define STATIC static #define CPERLscope(x) x -#define CPERLproto -#define _CPERLproto #define CPERLarg void #define CPERLarg_ #define _CPERLarg @@ -132,12 +147,57 @@ class CPerlObj; #define CALLREGEXEC CALL_FPTR(PL_regexecp) #define CALLPROTECT CALL_FPTR(PL_protect) -#define VOIDUSED 1 -#include "config.h" +#define NOOP (void)0 +#define dNOOP extern int Perl___notused -/* XXXXXX testing threads via implicit pointer */ -#ifdef USE_THREADS -#define PERL_IMPLICIT_CONTEXT +#ifdef PERL_IMPLICIT_CONTEXT +# ifdef USE_THREADS +struct perl_thread; +# define pTHX register struct perl_thread *thr +# define aTHX thr +# define dTHXa(a) pTHX = (struct perl_thread *)a +# define dTHX dTHXa(SvPVX(PL_thrsv)) +# define dTHR dNOOP +# else +# define MULTIPLICITY +# define pTHX register PerlInterpreter *my_perl +# define aTHX my_perl +# define dTHXa(a) pTHX = (PerlInterpreter *)a +# define dTHX dTHXa(PL_curinterp) +# endif +# define pTHX_ pTHX, +# define _pTHX ,pTHX +# define aTHX_ aTHX, +# define _aTHX ,aTHX +#endif + +#ifndef pTHX +# define pTHX void +# define pTHX_ +# define _pTHX +# define aTHX +# define aTHX_ +# define _aTHX +# define dTHXa(a) dNOOP +# define dTHX dNOOP +#endif + +#ifndef pTHXo +# define pTHXo pTHX +# define pTHXo_ pTHX_ +# define _pTHXo _pTHX +# define aTHXo aTHX +# define aTHXo_ aTHX_ +# define _aTHXo _aTHX +#endif + +#ifndef pTHXx +# define pTHXx register PerlInterpreter *my_perl +# define pTHXx_ pTHXx, +# define _pTHXx ,pTHXx +# define aTHXx my_perl +# define aTHXx_ aTHXx, +# define _aTHXx ,aTHXx #endif #undef START_EXTERN_C @@ -184,8 +244,7 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER)); # endif #endif -#define NOOP (void)0 -#define dNOOP extern int Perl___notused +#define WITH_THX(s) STMT_START { dTHX; s; } STMT_END #define WITH_THR(s) STMT_START { dTHR; s; } STMT_END /* @@ -380,7 +439,7 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER)); # include #endif -#if !defined(PERL_FOR_X2P) +#if !defined(PERL_FOR_X2P) && !defined(PERL_OBJECT) # include "embed.h" #endif @@ -1499,44 +1558,6 @@ typedef pthread_key_t perl_key; (PerlLIO_setmode(PerlIO_fileno(fp), O_BINARY) != -1 ? TRUE : NULL) #endif -#ifdef PERL_IMPLICIT_CONTEXT -# ifdef USE_THREADS -struct perl_thread; -# define pTHX register struct perl_thread *thr -# define aTHX thr -# define dTHXa(a) pTHX = (struct perl_thread *)a -# define dTHX dTHXa(SvPVX(PL_thrsv)) -# define dTHR dNOOP -# else -# define MULTIPLICITY -# define pTHX register PerlInterpreter *my_perl -# define aTHX my_perl -# define dTHXa(a) pTHX = (PerlInterpreter *)a -# define dTHX dTHXa(PL_curinterp) -# endif -# define pTHX_ pTHX, -# define _pTHX ,pTHX -# define aTHX_ aTHX, -# define _aTHX ,aTHX -#endif - -#ifndef pTHX -# define pTHX void -# define pTHX_ -# define _pTHX -# define aTHX -# define aTHX_ -# define _aTHX -# define dTHXa(a) dNOOP -# define dTHX dNOOP -#endif - -#define WITH_THX(s) STMT_START { dTHX; s; } STMT_END - -#ifndef STATIC -# define STATIC static -#endif - #ifdef UNION_ANY_DEFINITION UNION_ANY_DEFINITION; #else @@ -1555,11 +1576,7 @@ union any { #define ARGSproto #endif /* USE_THREADS */ -#ifdef PERL_OBJECT -typedef I32 (*filter_t) (CPerlObj*, int, SV *, int); -#else -typedef I32 (*filter_t) (pTHX_ int, SV *, int); -#endif +typedef I32 (*filter_t) (pTHXo_ int, SV *, int); #define FILTER_READ(idx, sv, len) filter_read(idx, sv, len) #define FILTER_DATA(idx) (AvARRAY(PL_rsfp_filters)[idx]) @@ -1576,9 +1593,6 @@ typedef I32 (*filter_t) (pTHX_ int, SV *, int); #include "form.h" #include "gv.h" #include "cv.h" -#ifndef PERL_OBJECT -#include "opcode.h" -#endif #include "op.h" #include "cop.h" #include "av.h" @@ -1932,11 +1946,8 @@ typedef Sighandler_t Sigsave_t; #endif -#ifdef PERL_OBJECT -typedef int (CPerlObj::*runops_proc_t) (void); -#else -typedef int (*runops_proc_t) (pTHX); -#endif +typedef int (CPERLscope(*runops_proc_t)) (pTHX); +typedef OP* (CPERLscope(*PPADDR_t)[]) (pTHX); /* _ (for $_) must be first in the following list (DEFSV requires it) */ #define THREADSV_NAMES "_123456789&`'+/.,\\\";^-%=|~:\001\005!@" @@ -2315,19 +2326,11 @@ enum { /* pass one of these to get_vtbl */ #define RsRECORD(sv) (SvROK(sv) && (SvIV(SvRV(sv)) > 0)) /* Enable variables which are pointers to functions */ -#ifdef PERL_OBJECT -typedef regexp*(CPerlObj::*regcomp_t) (char* exp, char* xend, PMOP* pm); -typedef I32 (CPerlObj::*regexec_t) (regexp* prog, char* stringarg, - char* strend, char* strbeg, - I32 minend, SV* screamer, void* data, - U32 flags); -#else -typedef regexp*(*regcomp_t) (pTHX_ char* exp, char* xend, PMOP* pm); -typedef I32 (*regexec_t) (pTHX_ regexp* prog, char* stringarg, char* strend, char* - strbeg, I32 minend, SV* screamer, void* data, - U32 flags); +typedef regexp*(CPERLscope(*regcomp_t)) (pTHX_ char* exp, char* xend, PMOP* pm); +typedef I32 (CPERLscope(*regexec_t)) (pTHX_ regexp* prog, char* stringarg, + char* strend, char* strbeg, I32 minend, + SV* screamer, void* data, U32 flags); -#endif /* Set up PERLVAR macros for populating structs */ #define PERLVAR(var,type) type var; @@ -2336,16 +2339,14 @@ typedef I32 (*regexec_t) (pTHX_ regexp* prog, char* stringarg, char* strend, cha /* Interpreter exitlist entry */ typedef struct exitlistentry { -#ifdef PERL_OBJECT - void (*fn) (CPerlObj*, void*); -#else - void (*fn) (pTHX_ void*); -#endif + void (*fn) (pTHXo_ void*); void *ptr; } PerlExitListEntry; #ifdef PERL_OBJECT -extern "C" CPerlObj* perl_alloc (IPerlMem*, IPerlEnv*, IPerlStdIO*, IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*); +#undef perl_alloc +#define perl_alloc Perl_alloc +CPerlObj* Perl_alloc (IPerlMem*, IPerlEnv*, IPerlStdIO*, IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*); #undef EXT #define EXT @@ -2428,7 +2429,7 @@ typedef void *Thread; # define VIRTUAL virtual PERL_CALLCONV #else # define VIRTUAL PERL_CALLCONV -START_EXTERN_C +/*START_EXTERN_C*/ #endif #ifndef NEXT30_NO_ATTRIBUTE @@ -2444,19 +2445,41 @@ START_EXTERN_C int Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp); #endif -typedef void (*DESTRUCTORFUNC_t) (pTHX_ void*); -typedef void (*SVFUNC_t) (pTHX_ SV*); -typedef I32 (*SVCOMPARE_t) (pTHX_ SV*, SV*); -typedef void (*XSINIT_t) (pTHX); -typedef void (*ATEXIT_t) (pTHX_ void*); -typedef void (*XSUBADDR_t) (pTHX_ CV *); +typedef void (CPERLscope(*DESTRUCTORFUNC_t)) (pTHX_ void*); +typedef void (CPERLscope(*SVFUNC_t)) (pTHX_ SV*); +typedef I32 (CPERLscope(*SVCOMPARE_t)) (pTHX_ SV*, SV*); +typedef void (*XSINIT_t) (pTHXo); +typedef void (*ATEXIT_t) (pTHXo_ void*); +typedef void (*XSUBADDR_t) (pTHXo_ CV *); + +#ifdef PERL_OBJECT +#define PERL_DECL_PROT +#define perl_alloc Perl_alloc +#endif #include "proto.h" +#undef PERL_CKDEF +#undef PERL_PPDEF +#define PERL_CKDEF(s) OP *s (pTHX_ OP *o); +#define PERL_PPDEF(s) OP *s (pTHX); +#ifdef PERL_OBJECT +public: +#endif + #include "pp_proto.h" +#ifdef PERL_OBJECT +VIRTUAL int CPerlObj::fprintf (PerlIO *pf, const char *pat, ...); +VIRTUAL int CPerlObj::do_aspawn (void *vreally, void **vmark, void **vsp); +#undef PERL_DECL_PROT +#else +/*END_EXTERN_C*/ +#endif + #ifndef PERL_OBJECT -END_EXTERN_C +/* this has structure inits, so it cannot be included before here */ +# include "opcode.h" #endif /* The following must follow proto.h as #defines mess up syntax */ @@ -2475,9 +2498,15 @@ END_EXTERN_C #define PERLVARIC(var,type,init) EXTCONST type PL_##var INIT(init); #ifndef PERL_GLOBAL_STRUCT +# ifndef PERL_OBJECT START_EXTERN_C -#include "perlvars.h" +# endif + +# include "perlvars.h" + +# ifndef PERL_OBJECT END_EXTERN_C +# endif #endif #ifndef MULTIPLICITY diff --git a/pod/perlhist.pod b/pod/perlhist.pod index 7cee85c..7ba4429 100644 --- a/pod/perlhist.pod +++ b/pod/perlhist.pod @@ -6,6 +6,8 @@ perlhist - the Perl history records =for RCS +=begin RCS + # # $Id: perlhist.pod,v 1.57 1999/01/26 17:38:07 jhi Exp $ # diff --git a/pp_ctl.c b/pp_ctl.c index e4a7411..9b5c932 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -2189,7 +2189,7 @@ PP(pp_goto) PL_stack_sp--; /* There is no cv arg. */ /* Push a mark for the start of arglist */ PUSHMARK(mark); - (void)(*CvXSUB(cv))(aTHX_ cv); + (void)(*CvXSUB(cv))(aTHXo_ cv); /* Pop the current context like a decent sub should */ POPBLOCK(cx, PL_curpm); /* Do _not_ use PUTBACK, keep the XSUB's return stack! */ diff --git a/pp_hot.c b/pp_hot.c index b652a63..3c91b00 100644 --- a/pp_hot.c +++ b/pp_hot.c @@ -2366,7 +2366,7 @@ try_autoload: PL_curcopdb = NULL; } /* Do we need to open block here? XXXX */ - (void)(*CvXSUB(cv))(aTHX_ cv); + (void)(*CvXSUB(cv))(aTHXo_ cv); /* Enforce some sanity in scalar context. */ if (gimme == G_SCALAR && ++markix != PL_stack_sp - PL_stack_base ) { diff --git a/proto.h b/proto.h index 5251b5f..54d71e6 100644 --- a/proto.h +++ b/proto.h @@ -4,691 +4,709 @@ * and run 'make regen_headers' to effect changes. */ -SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir); -bool Perl_Gv_AMupdate(pTHX_ HV* stash); -OP* Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail); -OP* Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last); -I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp); -void Perl_assertref(pTHX_ OP* o); -bool Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash); -SV** Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash); -HE* Perl_avhv_iternext(pTHX_ AV *ar); -SV* Perl_avhv_iterval(pTHX_ AV *ar, HE* entry); -HV* Perl_avhv_keys(pTHX_ AV *ar); -void Perl_av_clear(pTHX_ AV* ar); -void Perl_av_extend(pTHX_ AV* ar, I32 key); -AV* Perl_av_fake(pTHX_ I32 size, SV** svp); -SV** Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval); -void Perl_av_fill(pTHX_ AV* ar, I32 fill); -I32 Perl_av_len(pTHX_ AV* ar); -AV* Perl_av_make(pTHX_ I32 size, SV** svp); -SV* Perl_av_pop(pTHX_ AV* ar); -void Perl_av_push(pTHX_ AV* ar, SV* val); -void Perl_av_reify(pTHX_ AV* ar); -SV* Perl_av_shift(pTHX_ AV* ar); -SV** Perl_av_store(pTHX_ AV* ar, I32 key, SV* val); -void Perl_av_undef(pTHX_ AV* ar); -void Perl_av_unshift(pTHX_ AV* ar, I32 num); -OP* Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat); -OP* Perl_block_end(pTHX_ I32 floor, OP* seq); -I32 Perl_block_gimme(pTHX); -int Perl_block_start(pTHX_ int full); -void Perl_boot_core_UNIVERSAL(pTHX); -void Perl_call_list(pTHX_ I32 oldscope, AV* av_list); -I32 Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t* statbufp); -U32 Perl_cast_ulong(pTHX_ double f); -I32 Perl_cast_i32(pTHX_ double f); -IV Perl_cast_iv(pTHX_ double f); -UV Perl_cast_uv(pTHX_ double f); +#if defined(PERL_OBJECT) +public: +#endif +VIRTUAL SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir); +VIRTUAL bool Perl_Gv_AMupdate(pTHX_ HV* stash); +VIRTUAL OP* Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail); +VIRTUAL OP* Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last); +VIRTUAL I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp); +VIRTUAL void Perl_assertref(pTHX_ OP* o); +VIRTUAL bool Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash); +VIRTUAL SV** Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash); +VIRTUAL HE* Perl_avhv_iternext(pTHX_ AV *ar); +VIRTUAL SV* Perl_avhv_iterval(pTHX_ AV *ar, HE* entry); +VIRTUAL HV* Perl_avhv_keys(pTHX_ AV *ar); +VIRTUAL void Perl_av_clear(pTHX_ AV* ar); +VIRTUAL void Perl_av_extend(pTHX_ AV* ar, I32 key); +VIRTUAL AV* Perl_av_fake(pTHX_ I32 size, SV** svp); +VIRTUAL SV** Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval); +VIRTUAL void Perl_av_fill(pTHX_ AV* ar, I32 fill); +VIRTUAL I32 Perl_av_len(pTHX_ AV* ar); +VIRTUAL AV* Perl_av_make(pTHX_ I32 size, SV** svp); +VIRTUAL SV* Perl_av_pop(pTHX_ AV* ar); +VIRTUAL void Perl_av_push(pTHX_ AV* ar, SV* val); +VIRTUAL void Perl_av_reify(pTHX_ AV* ar); +VIRTUAL SV* Perl_av_shift(pTHX_ AV* ar); +VIRTUAL SV** Perl_av_store(pTHX_ AV* ar, I32 key, SV* val); +VIRTUAL void Perl_av_undef(pTHX_ AV* ar); +VIRTUAL void Perl_av_unshift(pTHX_ AV* ar, I32 num); +VIRTUAL OP* Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat); +VIRTUAL OP* Perl_block_end(pTHX_ I32 floor, OP* seq); +VIRTUAL I32 Perl_block_gimme(pTHX); +VIRTUAL int Perl_block_start(pTHX_ int full); +VIRTUAL void Perl_boot_core_UNIVERSAL(pTHX); +VIRTUAL void Perl_call_list(pTHX_ I32 oldscope, AV* av_list); +VIRTUAL I32 Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t* statbufp); +VIRTUAL U32 Perl_cast_ulong(pTHX_ double f); +VIRTUAL I32 Perl_cast_i32(pTHX_ double f); +VIRTUAL IV Perl_cast_iv(pTHX_ double f); +VIRTUAL UV Perl_cast_uv(pTHX_ double f); #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) -I32 Perl_my_chsize(pTHX_ int fd, Off_t length); +VIRTUAL I32 Perl_my_chsize(pTHX_ int fd, Off_t length); #endif #if defined(USE_THREADS) -MAGIC* Perl_condpair_magic(pTHX_ SV *sv); +VIRTUAL MAGIC* Perl_condpair_magic(pTHX_ SV *sv); #endif -OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o); -void Perl_croak(pTHX_ const char* pat, ...) __attribute__((noreturn)); +VIRTUAL OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o); +VIRTUAL void Perl_croak(pTHX_ const char* pat, ...) __attribute__((noreturn)); #if defined(PERL_IMPLICIT_CONTEXT) -void Perl_croak_nocontext(const char* pat, ...) __attribute__((noreturn)); -OP* Perl_die_nocontext(const char* pat, ...); -char* Perl_form_nocontext(const char* pat, ...); -void Perl_warn_nocontext(const char* pat, ...); -SV* Perl_newSVpvf_nocontext(const char* pat, ...); -void Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...); -void Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...); -void Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...); -void Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...); -#endif -void Perl_cv_ckproto(pTHX_ CV* cv, GV* gv, char* p); -CV* Perl_cv_clone(pTHX_ CV* proto); -SV* Perl_cv_const_sv(pTHX_ CV* cv); -SV* Perl_op_const_sv(pTHX_ OP* o, CV* cv); -void Perl_cv_undef(pTHX_ CV* cv); -void Perl_cx_dump(pTHX_ PERL_CONTEXT* cs); -SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv); -void Perl_filter_del(pTHX_ filter_t funcp); -I32 Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen); -char** Perl_get_op_descs(pTHX); -char** Perl_get_op_names(pTHX); -char* Perl_get_no_modify(pTHX); -U32* Perl_get_opargs(pTHX); -I32 Perl_cxinc(pTHX); -void Perl_deb(pTHX_ const char* pat, ...); -void Perl_deb_growlevel(pTHX); -void Perl_debprofdump(pTHX); -I32 Perl_debop(pTHX_ OP* o); -I32 Perl_debstack(pTHX); -I32 Perl_debstackptrs(pTHX); -char* Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen); -void Perl_deprecate(pTHX_ char* s); -OP* Perl_die(pTHX_ const char* pat, ...); -OP* Perl_die_where(pTHX_ char* message, STRLEN msglen); -void Perl_dounwind(pTHX_ I32 cxix); -bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp); -int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int flag); -void Perl_do_chop(pTHX_ SV* asv, SV* sv); -bool Perl_do_close(pTHX_ GV* gv, bool not_implicit); -bool Perl_do_eof(pTHX_ GV* gv); -bool Perl_do_exec(pTHX_ char* cmd); +VIRTUAL void Perl_croak_nocontext(const char* pat, ...) __attribute__((noreturn)); +VIRTUAL OP* Perl_die_nocontext(const char* pat, ...); +VIRTUAL char* Perl_form_nocontext(const char* pat, ...); +VIRTUAL void Perl_warn_nocontext(const char* pat, ...); +VIRTUAL SV* Perl_newSVpvf_nocontext(const char* pat, ...); +VIRTUAL void Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...); +VIRTUAL void Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...); +VIRTUAL void Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...); +VIRTUAL void Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...); +#endif +VIRTUAL void Perl_cv_ckproto(pTHX_ CV* cv, GV* gv, char* p); +VIRTUAL CV* Perl_cv_clone(pTHX_ CV* proto); +VIRTUAL SV* Perl_cv_const_sv(pTHX_ CV* cv); +VIRTUAL SV* Perl_op_const_sv(pTHX_ OP* o, CV* cv); +VIRTUAL void Perl_cv_undef(pTHX_ CV* cv); +VIRTUAL void Perl_cx_dump(pTHX_ PERL_CONTEXT* cs); +VIRTUAL SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv); +VIRTUAL void Perl_filter_del(pTHX_ filter_t funcp); +VIRTUAL I32 Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen); +VIRTUAL char** Perl_get_op_descs(pTHX); +VIRTUAL char** Perl_get_op_names(pTHX); +VIRTUAL char* Perl_get_no_modify(pTHX); +VIRTUAL U32* Perl_get_opargs(pTHX); +VIRTUAL PPADDR_t* Perl_get_ppaddr(pTHX); +VIRTUAL I32 Perl_cxinc(pTHX); +VIRTUAL void Perl_deb(pTHX_ const char* pat, ...); +VIRTUAL void Perl_deb_growlevel(pTHX); +VIRTUAL void Perl_debprofdump(pTHX); +VIRTUAL I32 Perl_debop(pTHX_ OP* o); +VIRTUAL I32 Perl_debstack(pTHX); +VIRTUAL I32 Perl_debstackptrs(pTHX); +VIRTUAL char* Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen); +VIRTUAL void Perl_deprecate(pTHX_ char* s); +VIRTUAL OP* Perl_die(pTHX_ const char* pat, ...); +VIRTUAL OP* Perl_die_where(pTHX_ char* message, STRLEN msglen); +VIRTUAL void Perl_dounwind(pTHX_ I32 cxix); +VIRTUAL bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp); +VIRTUAL int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int flag); +VIRTUAL void Perl_do_chop(pTHX_ SV* asv, SV* sv); +VIRTUAL bool Perl_do_close(pTHX_ GV* gv, bool not_implicit); +VIRTUAL bool Perl_do_eof(pTHX_ GV* gv); +VIRTUAL bool Perl_do_exec(pTHX_ char* cmd); #if !defined(WIN32) -bool Perl_do_exec3(pTHX_ char* cmd, int fd, int flag); +VIRTUAL bool Perl_do_exec3(pTHX_ char* cmd, int fd, int flag); #endif -void Perl_do_execfree(pTHX); +VIRTUAL void Perl_do_execfree(pTHX); #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) -I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp); -I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp); -I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp); -I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp); -I32 Perl_do_semop(pTHX_ SV** mark, SV** sp); -I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp); -#endif -void Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp); -OP* Perl_do_kv(pTHX); -bool Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp); -void Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv); -bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp); -OP* Perl_do_readline(pTHX); -I32 Perl_do_chomp(pTHX_ SV* sv); -bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence); -void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg); -Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence); -Off_t Perl_do_tell(pTHX_ GV* gv); -I32 Perl_do_trans(pTHX_ SV* sv); -void Perl_do_vecset(pTHX_ SV* sv); -void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right); -OP* Perl_dofile(pTHX_ OP* term); -I32 Perl_dowantarray(pTHX); -void Perl_dump_all(pTHX); -void Perl_dump_eval(pTHX); +VIRTUAL I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp); +VIRTUAL I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp); +VIRTUAL I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp); +VIRTUAL I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp); +VIRTUAL I32 Perl_do_semop(pTHX_ SV** mark, SV** sp); +VIRTUAL I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp); +#endif +VIRTUAL void Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp); +VIRTUAL OP* Perl_do_kv(pTHX); +VIRTUAL bool Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp); +VIRTUAL void Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv); +VIRTUAL bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp); +VIRTUAL OP* Perl_do_readline(pTHX); +VIRTUAL I32 Perl_do_chomp(pTHX_ SV* sv); +VIRTUAL bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence); +VIRTUAL void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg); +VIRTUAL Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence); +VIRTUAL Off_t Perl_do_tell(pTHX_ GV* gv); +VIRTUAL I32 Perl_do_trans(pTHX_ SV* sv); +VIRTUAL void Perl_do_vecset(pTHX_ SV* sv); +VIRTUAL void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right); +VIRTUAL OP* Perl_dofile(pTHX_ OP* term); +VIRTUAL I32 Perl_dowantarray(pTHX); +VIRTUAL void Perl_dump_all(pTHX); +VIRTUAL void Perl_dump_eval(pTHX); #if defined(DUMP_FDS) -void Perl_dump_fds(pTHX_ char* s); -#endif -void Perl_dump_form(pTHX_ GV* gv); -void Perl_gv_dump(pTHX_ GV* gv); -void Perl_op_dump(pTHX_ OP* arg); -void Perl_pmop_dump(pTHX_ PMOP* pm); -void Perl_dump_packsubs(pTHX_ HV* stash); -void Perl_dump_sub(pTHX_ GV* gv); -void Perl_fbm_compile(pTHX_ SV* sv, U32 flags); -char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags); -char* Perl_find_script(pTHX_ char *scriptname, bool dosearch, char **search_ext, I32 flags); +VIRTUAL void Perl_dump_fds(pTHX_ char* s); +#endif +VIRTUAL void Perl_dump_form(pTHX_ GV* gv); +VIRTUAL void Perl_gv_dump(pTHX_ GV* gv); +VIRTUAL void Perl_op_dump(pTHX_ OP* arg); +VIRTUAL void Perl_pmop_dump(pTHX_ PMOP* pm); +VIRTUAL void Perl_dump_packsubs(pTHX_ HV* stash); +VIRTUAL void Perl_dump_sub(pTHX_ GV* gv); +VIRTUAL void Perl_fbm_compile(pTHX_ SV* sv, U32 flags); +VIRTUAL char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags); +VIRTUAL char* Perl_find_script(pTHX_ char *scriptname, bool dosearch, char **search_ext, I32 flags); #if defined(USE_THREADS) -PADOFFSET Perl_find_threadsv(pTHX_ const char *name); +VIRTUAL PADOFFSET Perl_find_threadsv(pTHX_ const char *name); #endif -OP* Perl_force_list(pTHX_ OP* arg); -OP* Perl_fold_constants(pTHX_ OP* arg); -char* Perl_form(pTHX_ const char* pat, ...); -void Perl_free_tmps(pTHX); -OP* Perl_gen_constant_list(pTHX_ OP* o); +VIRTUAL OP* Perl_force_list(pTHX_ OP* arg); +VIRTUAL OP* Perl_fold_constants(pTHX_ OP* arg); +VIRTUAL char* Perl_form(pTHX_ const char* pat, ...); +VIRTUAL void Perl_free_tmps(pTHX); +VIRTUAL OP* Perl_gen_constant_list(pTHX_ OP* o); #if !defined(HAS_GETENV_LEN) -char* Perl_getenv_len(pTHX_ char* key, unsigned long *len); -#endif -void Perl_gp_free(pTHX_ GV* gv); -GP* Perl_gp_ref(pTHX_ GP* gp); -GV* Perl_gv_AVadd(pTHX_ GV* gv); -GV* Perl_gv_HVadd(pTHX_ GV* gv); -GV* Perl_gv_IOadd(pTHX_ GV* gv); -GV* Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method); -void Perl_gv_check(pTHX_ HV* stash); -void Perl_gv_efullname(pTHX_ SV* sv, GV* gv); -void Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix); -GV* Perl_gv_fetchfile(pTHX_ const char* name); -GV* Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); -GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name); -GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload); -GV* Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type); -void Perl_gv_fullname(pTHX_ SV* sv, GV* gv); -void Perl_gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix); -void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi); -HV* Perl_gv_stashpv(pTHX_ const char* name, I32 create); -HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 create); -HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 create); -void Perl_hv_clear(pTHX_ HV* tb); -void Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry); -SV* Perl_hv_delete(pTHX_ HV* tb, const char* key, U32 klen, I32 flags); -SV* Perl_hv_delete_ent(pTHX_ HV* tb, SV* key, I32 flags, U32 hash); -bool Perl_hv_exists(pTHX_ HV* tb, const char* key, U32 klen); -bool Perl_hv_exists_ent(pTHX_ HV* tb, SV* key, U32 hash); -SV** Perl_hv_fetch(pTHX_ HV* tb, const char* key, U32 klen, I32 lval); -HE* Perl_hv_fetch_ent(pTHX_ HV* tb, SV* key, I32 lval, U32 hash); -void Perl_hv_free_ent(pTHX_ HV* hv, HE* entry); -I32 Perl_hv_iterinit(pTHX_ HV* tb); -char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen); -SV* Perl_hv_iterkeysv(pTHX_ HE* entry); -HE* Perl_hv_iternext(pTHX_ HV* tb); -SV* Perl_hv_iternextsv(pTHX_ HV* hv, char** key, I32* retlen); -SV* Perl_hv_iterval(pTHX_ HV* tb, HE* entry); -void Perl_hv_ksplit(pTHX_ HV* hv, IV newmax); -void Perl_hv_magic(pTHX_ HV* hv, GV* gv, int how); -SV** Perl_hv_store(pTHX_ HV* tb, const char* key, U32 klen, SV* val, U32 hash); -HE* Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash); -void Perl_hv_undef(pTHX_ HV* tb); -I32 Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len); -I32 Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len); -I32 Perl_ingroup(pTHX_ I32 testgid, I32 effective); -void Perl_init_stacks(pTHX); -U32 Perl_intro_my(pTHX); -char* Perl_instr(pTHX_ const char* big, const char* little); -bool Perl_io_close(pTHX_ IO* io); -OP* Perl_invert(pTHX_ OP* cmd); -bool Perl_is_uni_alnum(pTHX_ U32 c); -bool Perl_is_uni_idfirst(pTHX_ U32 c); -bool Perl_is_uni_alpha(pTHX_ U32 c); -bool Perl_is_uni_space(pTHX_ U32 c); -bool Perl_is_uni_digit(pTHX_ U32 c); -bool Perl_is_uni_upper(pTHX_ U32 c); -bool Perl_is_uni_lower(pTHX_ U32 c); -bool Perl_is_uni_print(pTHX_ U32 c); -U32 Perl_to_uni_upper(pTHX_ U32 c); -U32 Perl_to_uni_title(pTHX_ U32 c); -U32 Perl_to_uni_lower(pTHX_ U32 c); -bool Perl_is_uni_alnum_lc(pTHX_ U32 c); -bool Perl_is_uni_idfirst_lc(pTHX_ U32 c); -bool Perl_is_uni_alpha_lc(pTHX_ U32 c); -bool Perl_is_uni_space_lc(pTHX_ U32 c); -bool Perl_is_uni_digit_lc(pTHX_ U32 c); -bool Perl_is_uni_upper_lc(pTHX_ U32 c); -bool Perl_is_uni_lower_lc(pTHX_ U32 c); -bool Perl_is_uni_print_lc(pTHX_ U32 c); -U32 Perl_to_uni_upper_lc(pTHX_ U32 c); -U32 Perl_to_uni_title_lc(pTHX_ U32 c); -U32 Perl_to_uni_lower_lc(pTHX_ U32 c); -bool Perl_is_utf8_alnum(pTHX_ U8 *p); -bool Perl_is_utf8_idfirst(pTHX_ U8 *p); -bool Perl_is_utf8_alpha(pTHX_ U8 *p); -bool Perl_is_utf8_space(pTHX_ U8 *p); -bool Perl_is_utf8_digit(pTHX_ U8 *p); -bool Perl_is_utf8_upper(pTHX_ U8 *p); -bool Perl_is_utf8_lower(pTHX_ U8 *p); -bool Perl_is_utf8_print(pTHX_ U8 *p); -bool Perl_is_utf8_mark(pTHX_ U8 *p); -OP* Perl_jmaybe(pTHX_ OP* arg); -I32 Perl_keyword(pTHX_ char* d, I32 len); -void Perl_leave_scope(pTHX_ I32 base); -void Perl_lex_end(pTHX); -void Perl_lex_start(pTHX_ SV* line); -OP* Perl_linklist(pTHX_ OP* o); -OP* Perl_list(pTHX_ OP* o); -OP* Perl_listkids(pTHX_ OP* o); -OP* Perl_localize(pTHX_ OP* arg, I32 lexical); -I32 Perl_looks_like_number(pTHX_ SV* sv); -int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_existspack(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_freeregexp(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getarylen(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getglob(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg); -U32 Perl_magic_len(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL char* Perl_getenv_len(pTHX_ char* key, unsigned long *len); +#endif +VIRTUAL void Perl_gp_free(pTHX_ GV* gv); +VIRTUAL GP* Perl_gp_ref(pTHX_ GP* gp); +VIRTUAL GV* Perl_gv_AVadd(pTHX_ GV* gv); +VIRTUAL GV* Perl_gv_HVadd(pTHX_ GV* gv); +VIRTUAL GV* Perl_gv_IOadd(pTHX_ GV* gv); +VIRTUAL GV* Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method); +VIRTUAL void Perl_gv_check(pTHX_ HV* stash); +VIRTUAL void Perl_gv_efullname(pTHX_ SV* sv, GV* gv); +VIRTUAL void Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix); +VIRTUAL GV* Perl_gv_fetchfile(pTHX_ const char* name); +VIRTUAL GV* Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); +VIRTUAL GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name); +VIRTUAL GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload); +VIRTUAL GV* Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type); +VIRTUAL void Perl_gv_fullname(pTHX_ SV* sv, GV* gv); +VIRTUAL void Perl_gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix); +VIRTUAL void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi); +VIRTUAL HV* Perl_gv_stashpv(pTHX_ const char* name, I32 create); +VIRTUAL HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 create); +VIRTUAL HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 create); +VIRTUAL void Perl_hv_clear(pTHX_ HV* tb); +VIRTUAL void Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry); +VIRTUAL SV* Perl_hv_delete(pTHX_ HV* tb, const char* key, U32 klen, I32 flags); +VIRTUAL SV* Perl_hv_delete_ent(pTHX_ HV* tb, SV* key, I32 flags, U32 hash); +VIRTUAL bool Perl_hv_exists(pTHX_ HV* tb, const char* key, U32 klen); +VIRTUAL bool Perl_hv_exists_ent(pTHX_ HV* tb, SV* key, U32 hash); +VIRTUAL SV** Perl_hv_fetch(pTHX_ HV* tb, const char* key, U32 klen, I32 lval); +VIRTUAL HE* Perl_hv_fetch_ent(pTHX_ HV* tb, SV* key, I32 lval, U32 hash); +VIRTUAL void Perl_hv_free_ent(pTHX_ HV* hv, HE* entry); +VIRTUAL I32 Perl_hv_iterinit(pTHX_ HV* tb); +VIRTUAL char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen); +VIRTUAL SV* Perl_hv_iterkeysv(pTHX_ HE* entry); +VIRTUAL HE* Perl_hv_iternext(pTHX_ HV* tb); +VIRTUAL SV* Perl_hv_iternextsv(pTHX_ HV* hv, char** key, I32* retlen); +VIRTUAL SV* Perl_hv_iterval(pTHX_ HV* tb, HE* entry); +VIRTUAL void Perl_hv_ksplit(pTHX_ HV* hv, IV newmax); +VIRTUAL void Perl_hv_magic(pTHX_ HV* hv, GV* gv, int how); +VIRTUAL SV** Perl_hv_store(pTHX_ HV* tb, const char* key, U32 klen, SV* val, U32 hash); +VIRTUAL HE* Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash); +VIRTUAL void Perl_hv_undef(pTHX_ HV* tb); +VIRTUAL I32 Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len); +VIRTUAL I32 Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len); +VIRTUAL I32 Perl_ingroup(pTHX_ I32 testgid, I32 effective); +VIRTUAL void Perl_init_stacks(pTHX); +VIRTUAL U32 Perl_intro_my(pTHX); +VIRTUAL char* Perl_instr(pTHX_ const char* big, const char* little); +VIRTUAL bool Perl_io_close(pTHX_ IO* io); +VIRTUAL OP* Perl_invert(pTHX_ OP* cmd); +VIRTUAL bool Perl_is_uni_alnum(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_idfirst(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_alpha(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_space(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_digit(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_upper(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_lower(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_print(pTHX_ U32 c); +VIRTUAL U32 Perl_to_uni_upper(pTHX_ U32 c); +VIRTUAL U32 Perl_to_uni_title(pTHX_ U32 c); +VIRTUAL U32 Perl_to_uni_lower(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_alnum_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_idfirst_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_alpha_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_space_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_digit_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_upper_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_lower_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_print_lc(pTHX_ U32 c); +VIRTUAL U32 Perl_to_uni_upper_lc(pTHX_ U32 c); +VIRTUAL U32 Perl_to_uni_title_lc(pTHX_ U32 c); +VIRTUAL U32 Perl_to_uni_lower_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_utf8_alnum(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_idfirst(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_alpha(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_space(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_digit(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_upper(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_lower(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_print(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_mark(pTHX_ U8 *p); +VIRTUAL OP* Perl_jmaybe(pTHX_ OP* arg); +VIRTUAL I32 Perl_keyword(pTHX_ char* d, I32 len); +VIRTUAL void Perl_leave_scope(pTHX_ I32 base); +VIRTUAL void Perl_lex_end(pTHX); +VIRTUAL void Perl_lex_start(pTHX_ SV* line); +VIRTUAL OP* Perl_linklist(pTHX_ OP* o); +VIRTUAL OP* Perl_list(pTHX_ OP* o); +VIRTUAL OP* Perl_listkids(pTHX_ OP* o); +VIRTUAL OP* Perl_localize(pTHX_ OP* arg, I32 lexical); +VIRTUAL I32 Perl_looks_like_number(pTHX_ SV* sv); +VIRTUAL int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_existspack(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_freeregexp(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getarylen(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getglob(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL U32 Perl_magic_len(pTHX_ SV* sv, MAGIC* mg); #if defined(USE_THREADS) -int Perl_magic_mutexfree(pTHX_ SV* sv, MAGIC* mg); -#endif -int Perl_magic_nextpack(pTHX_ SV* sv, MAGIC* mg, SV* key); -U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setbm(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_mutexfree(pTHX_ SV* sv, MAGIC* mg); +#endif +VIRTUAL int Perl_magic_nextpack(pTHX_ SV* sv, MAGIC* mg, SV* key); +VIRTUAL U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setbm(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg); #if defined(USE_LOCALE_COLLATE) -int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg); -#endif -int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setfm(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg); -U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg); -int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg); -void Perl_magicname(pTHX_ char* sym, char* name, I32 namlen); -int main(int argc, char** argv, char** env); +VIRTUAL int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg); +#endif +VIRTUAL int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setfm(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg); +VIRTUAL void Perl_magicname(pTHX_ char* sym, char* name, I32 namlen); #if defined(MYMALLOC) -MEM_SIZE Perl_malloced_size(void *p); +VIRTUAL MEM_SIZE Perl_malloced_size(void *p); #endif -void Perl_markstack_grow(pTHX); +VIRTUAL void Perl_markstack_grow(pTHX); #if defined(USE_LOCALE_COLLATE) -char* Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen); -#endif -SV* Perl_mess(pTHX_ const char* pat, va_list* args); -int Perl_mg_clear(pTHX_ SV* sv); -int Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen); -MAGIC* Perl_mg_find(pTHX_ SV* sv, int type); -int Perl_mg_free(pTHX_ SV* sv); -int Perl_mg_get(pTHX_ SV* sv); -U32 Perl_mg_length(pTHX_ SV* sv); -void Perl_mg_magical(pTHX_ SV* sv); -int Perl_mg_set(pTHX_ SV* sv); -I32 Perl_mg_size(pTHX_ SV* sv); -OP* Perl_mod(pTHX_ OP* o, I32 type); -char* Perl_moreswitches(pTHX_ char* s); -OP* Perl_my(pTHX_ OP* o); +VIRTUAL char* Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen); +#endif +VIRTUAL SV* Perl_mess(pTHX_ const char* pat, va_list* args); +VIRTUAL int Perl_mg_clear(pTHX_ SV* sv); +VIRTUAL int Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen); +VIRTUAL MAGIC* Perl_mg_find(pTHX_ SV* sv, int type); +VIRTUAL int Perl_mg_free(pTHX_ SV* sv); +VIRTUAL int Perl_mg_get(pTHX_ SV* sv); +VIRTUAL U32 Perl_mg_length(pTHX_ SV* sv); +VIRTUAL void Perl_mg_magical(pTHX_ SV* sv); +VIRTUAL int Perl_mg_set(pTHX_ SV* sv); +VIRTUAL I32 Perl_mg_size(pTHX_ SV* sv); +VIRTUAL OP* Perl_mod(pTHX_ OP* o, I32 type); +VIRTUAL char* Perl_moreswitches(pTHX_ char* s); +VIRTUAL OP* Perl_my(pTHX_ OP* o); #ifdef USE_LOCALE_NUMERIC -double Perl_my_atof(pTHX_ const char *s); +VIRTUAL double Perl_my_atof(pTHX_ const char *s); #endif #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY) -char* Perl_my_bcopy(pTHX_ const char* from, char* to, I32 len); +VIRTUAL char* Perl_my_bcopy(pTHX_ const char* from, char* to, I32 len); #endif #if !defined(HAS_BZERO) && !defined(HAS_MEMSET) -char* Perl_my_bzero(pTHX_ char* loc, I32 len); +VIRTUAL char* Perl_my_bzero(pTHX_ char* loc, I32 len); #endif -void Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn)); -void Perl_my_failure_exit(pTHX) __attribute__((noreturn)); -I32 Perl_my_fflush_all(pTHX); -I32 Perl_my_lstat(pTHX); +VIRTUAL void Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn)); +VIRTUAL void Perl_my_failure_exit(pTHX) __attribute__((noreturn)); +VIRTUAL I32 Perl_my_fflush_all(pTHX); +VIRTUAL I32 Perl_my_lstat(pTHX); #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) -I32 Perl_my_memcmp(pTHX_ const char* s1, const char* s2, I32 len); +VIRTUAL I32 Perl_my_memcmp(pTHX_ const char* s1, const char* s2, I32 len); #endif #if !defined(HAS_MEMSET) -void* Perl_my_memset(pTHX_ char* loc, I32 ch, I32 len); +VIRTUAL void* Perl_my_memset(pTHX_ char* loc, I32 ch, I32 len); #endif #if !defined(PERL_OBJECT) -I32 Perl_my_pclose(pTHX_ PerlIO* ptr); -PerlIO* Perl_my_popen(pTHX_ char* cmd, char* mode); +VIRTUAL I32 Perl_my_pclose(pTHX_ PerlIO* ptr); +VIRTUAL PerlIO* Perl_my_popen(pTHX_ char* cmd, char* mode); #endif -void Perl_my_setenv(pTHX_ char* nam, char* val); -I32 Perl_my_stat(pTHX); +VIRTUAL void Perl_my_setenv(pTHX_ char* nam, char* val); +VIRTUAL I32 Perl_my_stat(pTHX); #if defined(MYSWAP) -short Perl_my_swap(pTHX_ short s); -long Perl_my_htonl(pTHX_ long l); -long Perl_my_ntohl(pTHX_ long l); -#endif -void Perl_my_unexec(pTHX); -OP* Perl_newANONLIST(pTHX_ OP* o); -OP* Perl_newANONHASH(pTHX_ OP* o); -OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block); -OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right); -OP* Perl_newCONDOP(pTHX_ I32 flags, OP* expr, OP* trueop, OP* falseop); -void Perl_newCONSTSUB(pTHX_ HV* stash, char* name, SV* sv); -void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block); -OP* Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont); -OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP* left, OP* right); -OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label); -OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block); -OP* Perl_newNULLLIST(pTHX); -OP* Perl_newOP(pTHX_ I32 optype, I32 flags); -void Perl_newPROG(pTHX_ OP* o); -OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right); -OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop); -OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o); -CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block); -CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename); -AV* Perl_newAV(pTHX); -OP* Perl_newAVREF(pTHX_ OP* o); -OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last); -OP* Perl_newCVREF(pTHX_ I32 flags, OP* o); -OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv); -GV* Perl_newGVgen(pTHX_ char* pack); -OP* Perl_newGVREF(pTHX_ I32 type, OP* o); -OP* Perl_newHVREF(pTHX_ OP* o); -HV* Perl_newHV(pTHX); -HV* Perl_newHVhv(pTHX_ HV* hv); -IO* Perl_newIO(pTHX); -OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last); -OP* Perl_newPMOP(pTHX_ I32 type, I32 flags); -OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv); -SV* Perl_newRV(pTHX_ SV* pref); -SV* Perl_newRV_noinc(pTHX_ SV *sv); -SV* Perl_newSV(pTHX_ STRLEN len); -OP* Perl_newSVREF(pTHX_ OP* o); -OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv); -SV* Perl_newSViv(pTHX_ IV i); -SV* Perl_newSVnv(pTHX_ double n); -SV* Perl_newSVpv(pTHX_ const char* s, STRLEN len); -SV* Perl_newSVpvn(pTHX_ const char* s, STRLEN len); -SV* Perl_newSVpvf(pTHX_ const char* pat, ...); -SV* Perl_newSVrv(pTHX_ SV* rv, const char* classname); -SV* Perl_newSVsv(pTHX_ SV* old); -OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first); -OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont); +VIRTUAL short Perl_my_swap(pTHX_ short s); +VIRTUAL long Perl_my_htonl(pTHX_ long l); +VIRTUAL long Perl_my_ntohl(pTHX_ long l); +#endif +VIRTUAL void Perl_my_unexec(pTHX); +VIRTUAL OP* Perl_newANONLIST(pTHX_ OP* o); +VIRTUAL OP* Perl_newANONHASH(pTHX_ OP* o); +VIRTUAL OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block); +VIRTUAL OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right); +VIRTUAL OP* Perl_newCONDOP(pTHX_ I32 flags, OP* expr, OP* trueop, OP* falseop); +VIRTUAL void Perl_newCONSTSUB(pTHX_ HV* stash, char* name, SV* sv); +VIRTUAL void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block); +VIRTUAL OP* Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont); +VIRTUAL OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP* left, OP* right); +VIRTUAL OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label); +VIRTUAL OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block); +VIRTUAL OP* Perl_newNULLLIST(pTHX); +VIRTUAL OP* Perl_newOP(pTHX_ I32 optype, I32 flags); +VIRTUAL void Perl_newPROG(pTHX_ OP* o); +VIRTUAL OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right); +VIRTUAL OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop); +VIRTUAL OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o); +VIRTUAL CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block); +VIRTUAL CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename); +VIRTUAL AV* Perl_newAV(pTHX); +VIRTUAL OP* Perl_newAVREF(pTHX_ OP* o); +VIRTUAL OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last); +VIRTUAL OP* Perl_newCVREF(pTHX_ I32 flags, OP* o); +VIRTUAL OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv); +VIRTUAL GV* Perl_newGVgen(pTHX_ char* pack); +VIRTUAL OP* Perl_newGVREF(pTHX_ I32 type, OP* o); +VIRTUAL OP* Perl_newHVREF(pTHX_ OP* o); +VIRTUAL HV* Perl_newHV(pTHX); +VIRTUAL HV* Perl_newHVhv(pTHX_ HV* hv); +VIRTUAL IO* Perl_newIO(pTHX); +VIRTUAL OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last); +VIRTUAL OP* Perl_newPMOP(pTHX_ I32 type, I32 flags); +VIRTUAL OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv); +VIRTUAL SV* Perl_newRV(pTHX_ SV* pref); +VIRTUAL SV* Perl_newRV_noinc(pTHX_ SV *sv); +VIRTUAL SV* Perl_newSV(pTHX_ STRLEN len); +VIRTUAL OP* Perl_newSVREF(pTHX_ OP* o); +VIRTUAL OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv); +VIRTUAL SV* Perl_newSViv(pTHX_ IV i); +VIRTUAL SV* Perl_newSVnv(pTHX_ double n); +VIRTUAL SV* Perl_newSVpv(pTHX_ const char* s, STRLEN len); +VIRTUAL SV* Perl_newSVpvn(pTHX_ const char* s, STRLEN len); +VIRTUAL SV* Perl_newSVpvf(pTHX_ const char* pat, ...); +VIRTUAL SV* Perl_newSVrv(pTHX_ SV* rv, const char* classname); +VIRTUAL SV* Perl_newSVsv(pTHX_ SV* old); +VIRTUAL OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first); +VIRTUAL OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont); #if defined(USE_THREADS) -struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t); -#endif -PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems); -PerlIO* Perl_nextargv(pTHX_ GV* gv); -char* Perl_ninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend); -OP* Perl_oopsCV(pTHX_ OP* o); -void Perl_op_free(pTHX_ OP* arg); -void Perl_package(pTHX_ OP* o); -PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype); -PADOFFSET Perl_pad_allocmy(pTHX_ char* name); -PADOFFSET Perl_pad_findmy(pTHX_ char* name); -OP* Perl_oopsAV(pTHX_ OP* o); -OP* Perl_oopsHV(pTHX_ OP* o); -void Perl_pad_leavemy(pTHX_ I32 fill); -SV* Perl_pad_sv(pTHX_ PADOFFSET po); -void Perl_pad_free(pTHX_ PADOFFSET po); -void Perl_pad_reset(pTHX); -void Perl_pad_swipe(pTHX_ PADOFFSET po); -void Perl_peep(pTHX_ OP* o); -PerlInterpreter* perl_alloc(void); -void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr); -I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv); -I32 Perl_call_method(pTHX_ const char* methname, I32 flags); -I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags); -I32 Perl_call_sv(pTHX_ SV* sv, I32 flags); -void perl_construct(PerlInterpreter* sv_interp); -void perl_destruct(PerlInterpreter* sv_interp); -SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error); -I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags); -void perl_free(PerlInterpreter* sv_interp); -SV* Perl_get_sv(pTHX_ const char* name, I32 create); -AV* Perl_get_av(pTHX_ const char* name, I32 create); -HV* Perl_get_hv(pTHX_ const char* name, I32 create); -CV* Perl_get_cv(pTHX_ const char* name, I32 create); -int Perl_init_i18nl10n(pTHX_ int printwarn); -int Perl_init_i18nl14n(pTHX_ int printwarn); -void Perl_new_collate(pTHX_ const char* newcoll); -void Perl_new_ctype(pTHX_ const char* newctype); -void Perl_new_numeric(pTHX_ const char* newcoll); -void Perl_set_numeric_local(pTHX); -void Perl_set_numeric_radix(pTHX); -void Perl_set_numeric_standard(pTHX); -int perl_parse(PerlInterpreter* sv_interp, XSINIT_t xsinit, int argc, char** argv, char** env); -void Perl_require_pv(pTHX_ const char* pv); -int perl_run(PerlInterpreter* sv_interp); -void Perl_pidgone(pTHX_ int pid, int status); -void Perl_pmflag(pTHX_ U16* pmfl, int ch); -OP* Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl); -OP* Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl); -OP* Perl_pop_return(pTHX); -void Perl_pop_scope(pTHX); -OP* Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail); -void Perl_push_return(pTHX_ OP* o); -void Perl_push_scope(pTHX); -OP* Perl_ref(pTHX_ OP* o, I32 type); -OP* Perl_refkids(pTHX_ OP* o, I32 type); -void Perl_regdump(pTHX_ regexp* r); -I32 Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave); -void Perl_pregfree(pTHX_ struct regexp* r); -regexp* Perl_pregcomp(pTHX_ char* exp, char* xend, PMOP* pm); -I32 Perl_regexec_flags(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags); -regnode* Perl_regnext(pTHX_ regnode* p); -void Perl_regprop(pTHX_ SV* sv, regnode* o); -void Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count); -char* Perl_rninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend); -Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t); -int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t); -int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* t2); -Sighandler_t Perl_rsignal_state(pTHX_ int i); -void Perl_rxres_free(pTHX_ void** rsp); -void Perl_rxres_restore(pTHX_ void** rsp, REGEXP* prx); -void Perl_rxres_save(pTHX_ void** rsp, REGEXP* prx); +VIRTUAL struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t); +#endif +VIRTUAL PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems); +VIRTUAL PerlIO* Perl_nextargv(pTHX_ GV* gv); +VIRTUAL char* Perl_ninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend); +VIRTUAL OP* Perl_oopsCV(pTHX_ OP* o); +VIRTUAL void Perl_op_free(pTHX_ OP* arg); +VIRTUAL void Perl_package(pTHX_ OP* o); +VIRTUAL PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype); +VIRTUAL PADOFFSET Perl_pad_allocmy(pTHX_ char* name); +VIRTUAL PADOFFSET Perl_pad_findmy(pTHX_ char* name); +VIRTUAL OP* Perl_oopsAV(pTHX_ OP* o); +VIRTUAL OP* Perl_oopsHV(pTHX_ OP* o); +VIRTUAL void Perl_pad_leavemy(pTHX_ I32 fill); +VIRTUAL SV* Perl_pad_sv(pTHX_ PADOFFSET po); +VIRTUAL void Perl_pad_free(pTHX_ PADOFFSET po); +VIRTUAL void Perl_pad_reset(pTHX); +VIRTUAL void Perl_pad_swipe(pTHX_ PADOFFSET po); +VIRTUAL void Perl_peep(pTHX_ OP* o); +#if defined(PERL_OBJECT) +VIRTUAL void perl_construct(void); +VIRTUAL void perl_destruct(void); +VIRTUAL void perl_free(void); +VIRTUAL int perl_run(void); +VIRTUAL int perl_parse(XSINIT_t xsinit, int argc, char** argv, char** env); +#else +VIRTUAL PerlInterpreter* perl_alloc(void); +VIRTUAL void perl_construct(PerlInterpreter* sv_interp); +VIRTUAL void perl_destruct(PerlInterpreter* sv_interp); +VIRTUAL void perl_free(PerlInterpreter* sv_interp); +VIRTUAL int perl_run(PerlInterpreter* sv_interp); +VIRTUAL int perl_parse(PerlInterpreter* sv_interp, XSINIT_t xsinit, int argc, char** argv, char** env); +#endif +VIRTUAL void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr); +VIRTUAL I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv); +VIRTUAL I32 Perl_call_method(pTHX_ const char* methname, I32 flags); +VIRTUAL I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags); +VIRTUAL I32 Perl_call_sv(pTHX_ SV* sv, I32 flags); +VIRTUAL SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error); +VIRTUAL I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags); +VIRTUAL SV* Perl_get_sv(pTHX_ const char* name, I32 create); +VIRTUAL AV* Perl_get_av(pTHX_ const char* name, I32 create); +VIRTUAL HV* Perl_get_hv(pTHX_ const char* name, I32 create); +VIRTUAL CV* Perl_get_cv(pTHX_ const char* name, I32 create); +VIRTUAL int Perl_init_i18nl10n(pTHX_ int printwarn); +VIRTUAL int Perl_init_i18nl14n(pTHX_ int printwarn); +VIRTUAL void Perl_new_collate(pTHX_ const char* newcoll); +VIRTUAL void Perl_new_ctype(pTHX_ const char* newctype); +VIRTUAL void Perl_new_numeric(pTHX_ const char* newcoll); +VIRTUAL void Perl_set_numeric_local(pTHX); +VIRTUAL void Perl_set_numeric_radix(pTHX); +VIRTUAL void Perl_set_numeric_standard(pTHX); +VIRTUAL void Perl_require_pv(pTHX_ const char* pv); +VIRTUAL void Perl_pidgone(pTHX_ int pid, int status); +VIRTUAL void Perl_pmflag(pTHX_ U16* pmfl, int ch); +VIRTUAL OP* Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl); +VIRTUAL OP* Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl); +VIRTUAL OP* Perl_pop_return(pTHX); +VIRTUAL void Perl_pop_scope(pTHX); +VIRTUAL OP* Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail); +VIRTUAL void Perl_push_return(pTHX_ OP* o); +VIRTUAL void Perl_push_scope(pTHX); +VIRTUAL OP* Perl_ref(pTHX_ OP* o, I32 type); +VIRTUAL OP* Perl_refkids(pTHX_ OP* o, I32 type); +VIRTUAL void Perl_regdump(pTHX_ regexp* r); +VIRTUAL I32 Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave); +VIRTUAL void Perl_pregfree(pTHX_ struct regexp* r); +VIRTUAL regexp* Perl_pregcomp(pTHX_ char* exp, char* xend, PMOP* pm); +VIRTUAL I32 Perl_regexec_flags(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags); +VIRTUAL regnode* Perl_regnext(pTHX_ regnode* p); +VIRTUAL void Perl_regprop(pTHX_ SV* sv, regnode* o); +VIRTUAL void Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count); +VIRTUAL char* Perl_rninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend); +VIRTUAL Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t); +VIRTUAL int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t); +VIRTUAL int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* t2); +VIRTUAL Sighandler_t Perl_rsignal_state(pTHX_ int i); +VIRTUAL void Perl_rxres_free(pTHX_ void** rsp); +VIRTUAL void Perl_rxres_restore(pTHX_ void** rsp, REGEXP* prx); +VIRTUAL void Perl_rxres_save(pTHX_ void** rsp, REGEXP* prx); #if !defined(HAS_RENAME) -I32 Perl_same_dirent(pTHX_ char* a, char* b); -#endif -char* Perl_savepv(pTHX_ const char* sv); -char* Perl_savepvn(pTHX_ const char* sv, I32 len); -void Perl_savestack_grow(pTHX); -void Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr); -I32 Perl_save_alloc(pTHX_ I32 size, I32 pad); -void Perl_save_aptr(pTHX_ AV** aptr); -AV* Perl_save_ary(pTHX_ GV* gv); -void Perl_save_clearsv(pTHX_ SV** svp); -void Perl_save_delete(pTHX_ HV* hv, char* key, I32 klen); -void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_t f, void* p); -void Perl_save_freesv(pTHX_ SV* sv); -void Perl_save_freeop(pTHX_ OP* o); -void Perl_save_freepv(pTHX_ char* pv); -void Perl_save_generic_svref(pTHX_ SV** sptr); -void Perl_save_gp(pTHX_ GV* gv, I32 empty); -HV* Perl_save_hash(pTHX_ GV* gv); -void Perl_save_helem(pTHX_ HV* hv, SV *key, SV **sptr); -void Perl_save_hints(pTHX); -void Perl_save_hptr(pTHX_ HV** hptr); -void Perl_save_I16(pTHX_ I16* intp); -void Perl_save_I32(pTHX_ I32* intp); -void Perl_save_int(pTHX_ int* intp); -void Perl_save_item(pTHX_ SV* item); -void Perl_save_iv(pTHX_ IV* iv); -void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg); -void Perl_save_long(pTHX_ long* longp); -void Perl_save_nogv(pTHX_ GV* gv); -void Perl_save_op(pTHX); -SV* Perl_save_scalar(pTHX_ GV* gv); -void Perl_save_pptr(pTHX_ char** pptr); -void Perl_save_re_context(pTHX); -void Perl_save_sptr(pTHX_ SV** sptr); -SV* Perl_save_svref(pTHX_ SV** sptr); -SV** Perl_save_threadsv(pTHX_ PADOFFSET i); -OP* Perl_sawparens(pTHX_ OP* o); -OP* Perl_scalar(pTHX_ OP* o); -OP* Perl_scalarkids(pTHX_ OP* o); -OP* Perl_scalarseq(pTHX_ OP* o); -OP* Perl_scalarvoid(pTHX_ OP* o); -UV Perl_scan_bin(pTHX_ char* start, I32 len, I32* retlen); -UV Perl_scan_hex(pTHX_ char* start, I32 len, I32* retlen); -char* Perl_scan_num(pTHX_ char* s); -UV Perl_scan_oct(pTHX_ char* start, I32 len, I32* retlen); -OP* Perl_scope(pTHX_ OP* o); -char* Perl_screaminstr(pTHX_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last); +VIRTUAL I32 Perl_same_dirent(pTHX_ char* a, char* b); +#endif +VIRTUAL char* Perl_savepv(pTHX_ const char* sv); +VIRTUAL char* Perl_savepvn(pTHX_ const char* sv, I32 len); +VIRTUAL void Perl_savestack_grow(pTHX); +VIRTUAL void Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr); +VIRTUAL I32 Perl_save_alloc(pTHX_ I32 size, I32 pad); +VIRTUAL void Perl_save_aptr(pTHX_ AV** aptr); +VIRTUAL AV* Perl_save_ary(pTHX_ GV* gv); +VIRTUAL void Perl_save_clearsv(pTHX_ SV** svp); +VIRTUAL void Perl_save_delete(pTHX_ HV* hv, char* key, I32 klen); +VIRTUAL void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_t f, void* p); +VIRTUAL void Perl_save_freesv(pTHX_ SV* sv); +VIRTUAL void Perl_save_freeop(pTHX_ OP* o); +VIRTUAL void Perl_save_freepv(pTHX_ char* pv); +VIRTUAL void Perl_save_generic_svref(pTHX_ SV** sptr); +VIRTUAL void Perl_save_gp(pTHX_ GV* gv, I32 empty); +VIRTUAL HV* Perl_save_hash(pTHX_ GV* gv); +VIRTUAL void Perl_save_helem(pTHX_ HV* hv, SV *key, SV **sptr); +VIRTUAL void Perl_save_hints(pTHX); +VIRTUAL void Perl_save_hptr(pTHX_ HV** hptr); +VIRTUAL void Perl_save_I16(pTHX_ I16* intp); +VIRTUAL void Perl_save_I32(pTHX_ I32* intp); +VIRTUAL void Perl_save_int(pTHX_ int* intp); +VIRTUAL void Perl_save_item(pTHX_ SV* item); +VIRTUAL void Perl_save_iv(pTHX_ IV* iv); +VIRTUAL void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg); +VIRTUAL void Perl_save_long(pTHX_ long* longp); +VIRTUAL void Perl_save_nogv(pTHX_ GV* gv); +VIRTUAL void Perl_save_op(pTHX); +VIRTUAL SV* Perl_save_scalar(pTHX_ GV* gv); +VIRTUAL void Perl_save_pptr(pTHX_ char** pptr); +VIRTUAL void Perl_save_re_context(pTHX); +VIRTUAL void Perl_save_sptr(pTHX_ SV** sptr); +VIRTUAL SV* Perl_save_svref(pTHX_ SV** sptr); +VIRTUAL SV** Perl_save_threadsv(pTHX_ PADOFFSET i); +VIRTUAL OP* Perl_sawparens(pTHX_ OP* o); +VIRTUAL OP* Perl_scalar(pTHX_ OP* o); +VIRTUAL OP* Perl_scalarkids(pTHX_ OP* o); +VIRTUAL OP* Perl_scalarseq(pTHX_ OP* o); +VIRTUAL OP* Perl_scalarvoid(pTHX_ OP* o); +VIRTUAL UV Perl_scan_bin(pTHX_ char* start, I32 len, I32* retlen); +VIRTUAL UV Perl_scan_hex(pTHX_ char* start, I32 len, I32* retlen); +VIRTUAL char* Perl_scan_num(pTHX_ char* s); +VIRTUAL UV Perl_scan_oct(pTHX_ char* start, I32 len, I32* retlen); +VIRTUAL OP* Perl_scope(pTHX_ OP* o); +VIRTUAL char* Perl_screaminstr(pTHX_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last); #if !defined(VMS) -I32 Perl_setenv_getix(pTHX_ char* nam); -#endif -void Perl_setdefout(pTHX_ GV* gv); -char* Perl_sharepvn(pTHX_ const char* sv, I32 len, U32 hash); -HEK* Perl_share_hek(pTHX_ const char* sv, I32 len, U32 hash); -Signal_t Perl_sighandler(int sig); -SV** Perl_stack_grow(pTHX_ SV** sp, SV**p, int n); -I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags); -void Perl_sub_crush_depth(pTHX_ CV* cv); -bool Perl_sv_2bool(pTHX_ SV* sv); -CV* Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref); -IO* Perl_sv_2io(pTHX_ SV* sv); -IV Perl_sv_2iv(pTHX_ SV* sv); -SV* Perl_sv_2mortal(pTHX_ SV* sv); -double Perl_sv_2nv(pTHX_ SV* sv); -char* Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp); -UV Perl_sv_2uv(pTHX_ SV* sv); -IV Perl_sv_iv(pTHX_ SV* sv); -UV Perl_sv_uv(pTHX_ SV* sv); -double Perl_sv_nv(pTHX_ SV* sv); -char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len); -I32 Perl_sv_true(pTHX_ SV *sv); -void Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags); -int Perl_sv_backoff(pTHX_ SV* sv); -SV* Perl_sv_bless(pTHX_ SV* sv, HV* stash); -void Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...); -void Perl_sv_catpv(pTHX_ SV* sv, const char* ptr); -void Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len); -void Perl_sv_catsv(pTHX_ SV* dsv, SV* ssv); -void Perl_sv_chop(pTHX_ SV* sv, char* ptr); -void Perl_sv_clean_all(pTHX); -void Perl_sv_clean_objs(pTHX); -void Perl_sv_clear(pTHX_ SV* sv); -I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2); -I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2); +VIRTUAL I32 Perl_setenv_getix(pTHX_ char* nam); +#endif +VIRTUAL void Perl_setdefout(pTHX_ GV* gv); +VIRTUAL char* Perl_sharepvn(pTHX_ const char* sv, I32 len, U32 hash); +VIRTUAL HEK* Perl_share_hek(pTHX_ const char* sv, I32 len, U32 hash); +VIRTUAL Signal_t Perl_sighandler(int sig); +VIRTUAL SV** Perl_stack_grow(pTHX_ SV** sp, SV**p, int n); +VIRTUAL I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags); +VIRTUAL void Perl_sub_crush_depth(pTHX_ CV* cv); +VIRTUAL bool Perl_sv_2bool(pTHX_ SV* sv); +VIRTUAL CV* Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref); +VIRTUAL IO* Perl_sv_2io(pTHX_ SV* sv); +VIRTUAL IV Perl_sv_2iv(pTHX_ SV* sv); +VIRTUAL SV* Perl_sv_2mortal(pTHX_ SV* sv); +VIRTUAL double Perl_sv_2nv(pTHX_ SV* sv); +VIRTUAL char* Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp); +VIRTUAL UV Perl_sv_2uv(pTHX_ SV* sv); +VIRTUAL IV Perl_sv_iv(pTHX_ SV* sv); +VIRTUAL UV Perl_sv_uv(pTHX_ SV* sv); +VIRTUAL double Perl_sv_nv(pTHX_ SV* sv); +VIRTUAL char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len); +VIRTUAL I32 Perl_sv_true(pTHX_ SV *sv); +VIRTUAL void Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags); +VIRTUAL int Perl_sv_backoff(pTHX_ SV* sv); +VIRTUAL SV* Perl_sv_bless(pTHX_ SV* sv, HV* stash); +VIRTUAL void Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...); +VIRTUAL void Perl_sv_catpv(pTHX_ SV* sv, const char* ptr); +VIRTUAL void Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len); +VIRTUAL void Perl_sv_catsv(pTHX_ SV* dsv, SV* ssv); +VIRTUAL void Perl_sv_chop(pTHX_ SV* sv, char* ptr); +VIRTUAL void Perl_sv_clean_all(pTHX); +VIRTUAL void Perl_sv_clean_objs(pTHX); +VIRTUAL void Perl_sv_clear(pTHX_ SV* sv); +VIRTUAL I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2); +VIRTUAL I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2); #if defined(USE_LOCALE_COLLATE) -char* Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp); -#endif -OP* Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, char* code, AV** avp); -void Perl_sv_dec(pTHX_ SV* sv); -void Perl_sv_dump(pTHX_ SV* sv); -bool Perl_sv_derived_from(pTHX_ SV* sv, const char* name); -I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2); -void Perl_sv_free(pTHX_ SV* sv); -void Perl_sv_free_arenas(pTHX); -char* Perl_sv_gets(pTHX_ SV* sv, PerlIO* fp, I32 append); -char* Perl_sv_grow(pTHX_ SV* sv, STRLEN newlen); -void Perl_sv_inc(pTHX_ SV* sv); -void Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen); -int Perl_sv_isa(pTHX_ SV* sv, const char* name); -int Perl_sv_isobject(pTHX_ SV* sv); -STRLEN Perl_sv_len(pTHX_ SV* sv); -STRLEN Perl_sv_len_utf8(pTHX_ SV* sv); -void Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen); -SV* Perl_sv_mortalcopy(pTHX_ SV* oldsv); -SV* Perl_sv_newmortal(pTHX); -SV* Perl_sv_newref(pTHX_ SV* sv); -char* Perl_sv_peek(pTHX_ SV* sv); -void Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp); -void Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp); -char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp); -char* Perl_sv_reftype(pTHX_ SV* sv, int ob); -void Perl_sv_replace(pTHX_ SV* sv, SV* nsv); -void Perl_sv_report_used(pTHX); -void Perl_sv_reset(pTHX_ char* s, HV* stash); -void Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...); -void Perl_sv_setiv(pTHX_ SV* sv, IV num); -void Perl_sv_setpviv(pTHX_ SV* sv, IV num); -void Perl_sv_setuv(pTHX_ SV* sv, UV num); -void Perl_sv_setnv(pTHX_ SV* sv, double num); -SV* Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv); -SV* Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, double nv); -SV* Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv); -SV* Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, char* pv, STRLEN n); -void Perl_sv_setpv(pTHX_ SV* sv, const char* ptr); -void Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len); -void Perl_sv_setsv(pTHX_ SV* dsv, SV* ssv); -void Perl_sv_taint(pTHX_ SV* sv); -bool Perl_sv_tainted(pTHX_ SV* sv); -int Perl_sv_unmagic(pTHX_ SV* sv, int type); -void Perl_sv_unref(pTHX_ SV* sv); -void Perl_sv_untaint(pTHX_ SV* sv); -bool Perl_sv_upgrade(pTHX_ SV* sv, U32 mt); -void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len); -void Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale); -void Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale); -SV* Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none); -UV Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr); -void Perl_taint_env(pTHX); -void Perl_taint_proper(pTHX_ const char* f, char* s); -UV Perl_to_utf8_lower(pTHX_ U8 *p); -UV Perl_to_utf8_upper(pTHX_ U8 *p); -UV Perl_to_utf8_title(pTHX_ U8 *p); +VIRTUAL char* Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp); +#endif +VIRTUAL OP* Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, char* code, AV** avp); +VIRTUAL void Perl_sv_dec(pTHX_ SV* sv); +VIRTUAL void Perl_sv_dump(pTHX_ SV* sv); +VIRTUAL bool Perl_sv_derived_from(pTHX_ SV* sv, const char* name); +VIRTUAL I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2); +VIRTUAL void Perl_sv_free(pTHX_ SV* sv); +VIRTUAL void Perl_sv_free_arenas(pTHX); +VIRTUAL char* Perl_sv_gets(pTHX_ SV* sv, PerlIO* fp, I32 append); +VIRTUAL char* Perl_sv_grow(pTHX_ SV* sv, STRLEN newlen); +VIRTUAL void Perl_sv_inc(pTHX_ SV* sv); +VIRTUAL void Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen); +VIRTUAL int Perl_sv_isa(pTHX_ SV* sv, const char* name); +VIRTUAL int Perl_sv_isobject(pTHX_ SV* sv); +VIRTUAL STRLEN Perl_sv_len(pTHX_ SV* sv); +VIRTUAL STRLEN Perl_sv_len_utf8(pTHX_ SV* sv); +VIRTUAL void Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen); +VIRTUAL SV* Perl_sv_mortalcopy(pTHX_ SV* oldsv); +VIRTUAL SV* Perl_sv_newmortal(pTHX); +VIRTUAL SV* Perl_sv_newref(pTHX_ SV* sv); +VIRTUAL char* Perl_sv_peek(pTHX_ SV* sv); +VIRTUAL void Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp); +VIRTUAL void Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp); +VIRTUAL char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp); +VIRTUAL char* Perl_sv_reftype(pTHX_ SV* sv, int ob); +VIRTUAL void Perl_sv_replace(pTHX_ SV* sv, SV* nsv); +VIRTUAL void Perl_sv_report_used(pTHX); +VIRTUAL void Perl_sv_reset(pTHX_ char* s, HV* stash); +VIRTUAL void Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...); +VIRTUAL void Perl_sv_setiv(pTHX_ SV* sv, IV num); +VIRTUAL void Perl_sv_setpviv(pTHX_ SV* sv, IV num); +VIRTUAL void Perl_sv_setuv(pTHX_ SV* sv, UV num); +VIRTUAL void Perl_sv_setnv(pTHX_ SV* sv, double num); +VIRTUAL SV* Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv); +VIRTUAL SV* Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, double nv); +VIRTUAL SV* Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv); +VIRTUAL SV* Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, char* pv, STRLEN n); +VIRTUAL void Perl_sv_setpv(pTHX_ SV* sv, const char* ptr); +VIRTUAL void Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len); +VIRTUAL void Perl_sv_setsv(pTHX_ SV* dsv, SV* ssv); +VIRTUAL void Perl_sv_taint(pTHX_ SV* sv); +VIRTUAL bool Perl_sv_tainted(pTHX_ SV* sv); +VIRTUAL int Perl_sv_unmagic(pTHX_ SV* sv, int type); +VIRTUAL void Perl_sv_unref(pTHX_ SV* sv); +VIRTUAL void Perl_sv_untaint(pTHX_ SV* sv); +VIRTUAL bool Perl_sv_upgrade(pTHX_ SV* sv, U32 mt); +VIRTUAL void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len); +VIRTUAL void Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale); +VIRTUAL void Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale); +VIRTUAL SV* Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none); +VIRTUAL UV Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr); +VIRTUAL void Perl_taint_env(pTHX); +VIRTUAL void Perl_taint_proper(pTHX_ const char* f, char* s); +VIRTUAL UV Perl_to_utf8_lower(pTHX_ U8 *p); +VIRTUAL UV Perl_to_utf8_upper(pTHX_ U8 *p); +VIRTUAL UV Perl_to_utf8_title(pTHX_ U8 *p); #if defined(UNLINK_ALL_VERSIONS) -I32 Perl_unlnk(pTHX_ char* f); +VIRTUAL I32 Perl_unlnk(pTHX_ char* f); #endif #if defined(USE_THREADS) -void Perl_unlock_condpair(pTHX_ void* svv); -#endif -void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash); -void Perl_unshare_hek(pTHX_ HEK* hek); -void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* id, OP* arg); -U8* Perl_utf16_to_utf8(pTHX_ U16* p, U8 *d, I32 bytelen); -U8* Perl_utf16_to_utf8_reversed(pTHX_ U16* p, U8 *d, I32 bytelen); -I32 Perl_utf8_distance(pTHX_ U8 *a, U8 *b); -U8* Perl_utf8_hop(pTHX_ U8 *s, I32 off); -UV Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen); -U8* Perl_uv_to_utf8(pTHX_ U8 *d, UV uv); -void Perl_vivify_defelem(pTHX_ SV* sv); -void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what); -I32 Perl_wait4pid(pTHX_ int pid, int* statusp, int flags); -void Perl_warn(pTHX_ const char* pat, ...); -void Perl_warner(pTHX_ U32 err, const char* pat, ...); -void Perl_watch(pTHX_ char** addr); -I32 Perl_whichsig(pTHX_ char* sig); -int Perl_yyerror(pTHX_ char* s); +VIRTUAL void Perl_unlock_condpair(pTHX_ void* svv); +#endif +VIRTUAL void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash); +VIRTUAL void Perl_unshare_hek(pTHX_ HEK* hek); +VIRTUAL void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* id, OP* arg); +VIRTUAL U8* Perl_utf16_to_utf8(pTHX_ U16* p, U8 *d, I32 bytelen); +VIRTUAL U8* Perl_utf16_to_utf8_reversed(pTHX_ U16* p, U8 *d, I32 bytelen); +VIRTUAL I32 Perl_utf8_distance(pTHX_ U8 *a, U8 *b); +VIRTUAL U8* Perl_utf8_hop(pTHX_ U8 *s, I32 off); +VIRTUAL UV Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen); +VIRTUAL U8* Perl_uv_to_utf8(pTHX_ U8 *d, UV uv); +VIRTUAL void Perl_vivify_defelem(pTHX_ SV* sv); +VIRTUAL void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what); +VIRTUAL I32 Perl_wait4pid(pTHX_ int pid, int* statusp, int flags); +VIRTUAL void Perl_warn(pTHX_ const char* pat, ...); +VIRTUAL void Perl_warner(pTHX_ U32 err, const char* pat, ...); +VIRTUAL void Perl_watch(pTHX_ char** addr); +VIRTUAL I32 Perl_whichsig(pTHX_ char* sig); +VIRTUAL int Perl_yyerror(pTHX_ char* s); #if defined(USE_PURE_BISON) -int Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp); +VIRTUAL int Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp); #else -int Perl_yylex(pTHX); +VIRTUAL int Perl_yylex(pTHX); #endif -int Perl_yyparse(pTHX); -int Perl_yywarn(pTHX_ char* s); +VIRTUAL int Perl_yyparse(pTHX); +VIRTUAL int Perl_yywarn(pTHX_ char* s); #if defined(MYMALLOC) -void Perl_dump_mstats(pTHX_ char* s); -Malloc_t Perl_malloc(MEM_SIZE nbytes); -Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size); -Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes); -Free_t Perl_mfree(Malloc_t where); -#endif -Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes); -Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size); -Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes); -Free_t Perl_safesysfree(Malloc_t where); +VIRTUAL void Perl_dump_mstats(pTHX_ char* s); +VIRTUAL Malloc_t Perl_malloc(MEM_SIZE nbytes); +VIRTUAL Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size); +VIRTUAL Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes); +VIRTUAL Free_t Perl_mfree(Malloc_t where); +#endif +VIRTUAL Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes); +VIRTUAL Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size); +VIRTUAL Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes); +VIRTUAL Free_t Perl_safesysfree(Malloc_t where); #if defined(LEAKTEST) -Malloc_t Perl_safexmalloc(I32 x, MEM_SIZE size); -Malloc_t Perl_safexcalloc(I32 x, MEM_SIZE elements, MEM_SIZE size); -Malloc_t Perl_safexrealloc(Malloc_t where, MEM_SIZE size); -void Perl_safexfree(Malloc_t where); +VIRTUAL Malloc_t Perl_safexmalloc(I32 x, MEM_SIZE size); +VIRTUAL Malloc_t Perl_safexcalloc(I32 x, MEM_SIZE elements, MEM_SIZE size); +VIRTUAL Malloc_t Perl_safexrealloc(Malloc_t where, MEM_SIZE size); +VIRTUAL void Perl_safexfree(Malloc_t where); #endif #if defined(PERL_GLOBAL_STRUCT) -struct perl_vars * Perl_GetVars(pTHX); +VIRTUAL struct perl_vars * Perl_GetVars(pTHX); #endif -void Perl_yydestruct(pTHX_ void *ptr); -int Perl_runops_standard(pTHX); -int Perl_runops_debug(pTHX); +VIRTUAL void Perl_yydestruct(pTHX_ void *ptr); +VIRTUAL int Perl_runops_standard(pTHX); +VIRTUAL int Perl_runops_debug(pTHX); #if defined(WIN32) -int* Perl_ErrorNo(pTHX); -#endif -void Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...); -void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr); -void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len); -void Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr); -void Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...); -void Perl_sv_setiv_mg(pTHX_ SV *sv, IV i); -void Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv); -void Perl_sv_setuv_mg(pTHX_ SV *sv, UV u); -void Perl_sv_setnv_mg(pTHX_ SV *sv, double num); -void Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr); -void Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len); -void Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr); -void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len); -MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id); -char* Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim); -void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...); -void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv); -void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv); -void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv); -void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim); -void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o); -void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm); -void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim); -void Perl_magic_dump(pTHX_ MAGIC *mg); -void* Perl_default_protect(pTHX_ int *excpt, protect_body_t body, ...); -void Perl_reginitcolors(pTHX); -char* Perl_sv_2pv_nolen(pTHX_ SV* sv); -char* Perl_sv_pv(pTHX_ SV *sv); -void Perl_sv_force_normal(pTHX_ SV *sv); -void Perl_tmps_grow(pTHX_ I32 n); -SV* Perl_sv_rvweaken(pTHX_ SV *sv); -int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg); -#if defined(PERL_IN_AV_C) +#if defined(PERL_OBJECT) +VIRTUAL int& Perl_ErrorNo(pTHX); +#else +VIRTUAL int* Perl_ErrorNo(pTHX); +#endif +#endif +VIRTUAL void Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...); +VIRTUAL void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr); +VIRTUAL void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len); +VIRTUAL void Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr); +VIRTUAL void Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...); +VIRTUAL void Perl_sv_setiv_mg(pTHX_ SV *sv, IV i); +VIRTUAL void Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv); +VIRTUAL void Perl_sv_setuv_mg(pTHX_ SV *sv, UV u); +VIRTUAL void Perl_sv_setnv_mg(pTHX_ SV *sv, double num); +VIRTUAL void Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr); +VIRTUAL void Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len); +VIRTUAL void Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr); +VIRTUAL void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len); +VIRTUAL MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id); +VIRTUAL char* Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim); +VIRTUAL void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...); +VIRTUAL void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv); +VIRTUAL void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv); +VIRTUAL void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv); +VIRTUAL void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim); +VIRTUAL void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o); +VIRTUAL void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm); +VIRTUAL void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim); +VIRTUAL void Perl_magic_dump(pTHX_ MAGIC *mg); +VIRTUAL void* Perl_default_protect(pTHX_ int *excpt, protect_body_t body, ...); +VIRTUAL void Perl_reginitcolors(pTHX); +VIRTUAL char* Perl_sv_2pv_nolen(pTHX_ SV* sv); +VIRTUAL char* Perl_sv_pv(pTHX_ SV *sv); +VIRTUAL void Perl_sv_force_normal(pTHX_ SV *sv); +VIRTUAL void Perl_tmps_grow(pTHX_ I32 n); +VIRTUAL SV* Perl_sv_rvweaken(pTHX_ SV *sv); +VIRTUAL int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg); +#if defined(PERL_OBJECT) +protected: +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) STATIC I32 S_avhv_index_sv(pTHX_ SV* sv); #endif -#if defined(PERL_IN_DOOP_C) +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) STATIC I32 S_do_trans_CC_simple(pTHX_ SV *sv); STATIC I32 S_do_trans_CC_count(pTHX_ SV *sv); STATIC I32 S_do_trans_CC_complex(pTHX_ SV *sv); @@ -700,10 +718,10 @@ STATIC I32 S_do_trans_CU_simple(pTHX_ SV *sv); STATIC I32 S_do_trans_UC_trivial(pTHX_ SV *sv); STATIC I32 S_do_trans_CU_trivial(pTHX_ SV *sv); #endif -#if defined(PERL_IN_GV_C) +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) STATIC void S_gv_init_sv(pTHX_ GV *gv, I32 sv_type); #endif -#if defined(PERL_IN_HV_C) +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) STATIC void S_hsplit(pTHX_ HV *hv); STATIC void S_hfreeentries(pTHX_ HV *hv); STATIC void S_more_he(pTHX); @@ -712,14 +730,14 @@ STATIC void S_del_he(pTHX_ HE *p); STATIC HEK* S_save_hek(pTHX_ const char *str, I32 len, U32 hash); STATIC void S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store); #endif -#if defined(PERL_IN_MG_C) +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv); STATIC int S_magic_methpack(pTHX_ SV *sv, MAGIC *mg, char *meth); STATIC int S_magic_methcall(pTHX_ SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val); STATIC void S_unwind_handler_stack(pTHX_ void *p); STATIC void S_restore_magic(pTHX_ void *p); #endif -#if defined(PERL_IN_OP_C) +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) STATIC I32 S_list_assignment(pTHX_ OP *o); STATIC void S_bad_type(pTHX_ I32 n, char *t, char *name, OP *kid); STATIC OP* S_modkids(pTHX_ OP *o, I32 type); @@ -741,7 +759,7 @@ STATIC bool S_scalar_mod_type(pTHX_ OP *o, I32 type); STATIC void* S_Slab_Alloc(pTHX_ int m, size_t sz); # endif #endif -#if defined(PERL_IN_PERL_C) +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) STATIC void S_find_beginning(pTHX); STATIC void S_forbid_setid(pTHX_ char *); STATIC void S_incpush(pTHX_ char *, int); @@ -758,7 +776,6 @@ STATIC void S_nuke_stacks(pTHX); STATIC void S_open_script(pTHX_ char *, bool, SV *, int *fd); STATIC void S_usage(pTHX_ char *); STATIC void S_validate_suid(pTHX_ char *, char*, int); -STATIC I32 S_read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen); # if defined(IAMSUID) STATIC int S_fd_on_nosuid_fs(pTHX_ int fd); # endif @@ -771,7 +788,7 @@ STATIC void* S_call_list_body(pTHX_ va_list args); STATIC struct perl_thread * S_init_main_thread(pTHX); # endif #endif -#if defined(PERL_IN_PP_C) +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) STATIC void S_doencodes(pTHX_ SV* sv, char* s, I32 len); STATIC SV* S_refto(pTHX_ SV* sv); STATIC U32 S_seed(pTHX); @@ -779,7 +796,7 @@ STATIC SV* S_mul128(pTHX_ SV *sv, U8 m); STATIC SV* S_is_an_int(pTHX_ char *s, STRLEN l); STATIC int S_div128(pTHX_ SV *pnum, bool *done); #endif -#if defined(PERL_IN_PP_CTL_C) +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) STATIC OP* S_docatch(pTHX_ OP *o); STATIC void* S_docatch_body(pTHX_ va_list args); STATIC OP* S_dofindlabel(pTHX_ OP *o, char *label, OP **opstack, OP **oplimit); @@ -802,20 +819,20 @@ STATIC I32 S_amagic_i_ncmp(pTHX_ SV *a, SV *b); STATIC I32 S_amagic_cmp(pTHX_ SV *str1, SV *str2); STATIC I32 S_amagic_cmp_locale(pTHX_ SV *str1, SV *str2); #endif -#if defined(PERL_IN_PP_HOT_C) +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) STATIC CV* S_get_db_sub(pTHX_ SV **svp, CV *cv); # if defined(USE_THREADS) STATIC void S_unset_cvowner(pTHX_ void *cvarg); # endif #endif -#if defined(PERL_IN_PP_SYS_C) +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop); STATIC int S_emulate_eaccess(pTHX_ const char* path, int mode); # if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) STATIC int S_dooneliner(pTHX_ char *cmd, char *filename); # endif #endif -#if defined(PERL_IN_REGCOMP_C) +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) STATIC regnode* S_reg(pTHX_ I32, I32 *); STATIC regnode* S_reganode(pTHX_ U8, U32); STATIC regnode* S_regatom(pTHX_ I32 *); @@ -840,7 +857,7 @@ STATIC void S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...) __attribu STATIC char* S_regpposixcc(pTHX_ I32 value); STATIC void S_clear_re(pTHX_ void *r); #endif -#if defined(PERL_IN_REGEXEC_C) +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) STATIC I32 S_regmatch(pTHX_ regnode *prog); STATIC I32 S_regrepeat(pTHX_ regnode *p, I32 max); STATIC I32 S_regrepeat_hard(pTHX_ regnode *p, I32 max, I32 *lp); @@ -855,13 +872,13 @@ STATIC void S_restore_pos(pTHX_ void *arg); STATIC U8* S_reghop(pTHX_ U8 *pos, I32 off); STATIC U8* S_reghopmaybe(pTHX_ U8 *pos, I32 off); #endif -#if defined(PERL_IN_RUN_C) +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) STATIC void S_debprof(pTHX_ OP *o); #endif -#if defined(PERL_IN_SCOPE_C) +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) STATIC SV* S_save_scalar_at(pTHX_ SV **sptr); #endif -#if defined(PERL_IN_SV_C) +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) STATIC IV S_asIV(pTHX_ SV* sv); STATIC UV S_asUV(pTHX_ SV* sv); STATIC SV* S_more_sv(pTHX); @@ -896,7 +913,7 @@ STATIC void S_sv_del_backref(pTHX_ SV *sv); STATIC void S_del_sv(pTHX_ SV *p); # endif #endif -#if defined(PERL_IN_TOKE_C) +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) STATIC void S_check_uni(pTHX); STATIC void S_force_next(pTHX_ I32 type); STATIC char* S_force_version(pTHX_ char *start); @@ -942,13 +959,14 @@ STATIC int S_uni(pTHX_ I32 f, char *s); STATIC I32 S_win32_textfilter(pTHX_ int idx, SV *sv, int maxlen); # endif #endif -#if defined(PERL_IN_UNIVERSAL_C) +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) STATIC SV* S_isa_lookup(pTHX_ HV *stash, const char *name, int len, int level); #endif -#if defined(PERL_IN_UTIL_C) +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) STATIC SV* S_mess_alloc(pTHX); STATIC void S_do_croak(pTHX_ const char *pat, va_list *args) __attribute__((noreturn)); STATIC void S_do_warn(pTHX_ const char *pat, va_list *args); +STATIC OP* S_do_die(pTHX_ const char *pat, va_list *args); # if defined(LEAKTEST) STATIC void S_xstat(pTHX_ int); # endif diff --git a/scope.h b/scope.h index 7ebccf4..c0070bd 100644 --- a/scope.h +++ b/scope.h @@ -82,7 +82,7 @@ #define SAVEDELETE(h,k,l) \ save_delete(SOFT_CAST(HV*)(h), SOFT_CAST(char*)(k), (I32)(l)) #ifdef PERL_OBJECT -#define CALLDESTRUCTOR this->*SSPOPDPTR +#define CALLDESTRUCTOR (this->*SSPOPDPTR) #else #define CALLDESTRUCTOR (*SSPOPDPTR) #endif diff --git a/sv.h b/sv.h index 0476a12..8eddc57 100644 --- a/sv.h +++ b/sv.h @@ -271,7 +271,7 @@ struct xpvfm { HV * xcv_stash; OP * xcv_start; OP * xcv_root; - void (*xcv_xsub)(CV* _CPERLproto); + void (*xcv_xsub)(pTHXo_ CV*); ANY xcv_xsubany; GV * xcv_gv; GV * xcv_filegv; diff --git a/toke.c b/toke.c index b025b24..1378d39 100644 --- a/toke.c +++ b/toke.c @@ -1512,7 +1512,7 @@ Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen) /* Call function. The function is expected to */ /* call "FILTER_READ(idx+1, buf_sv)" first. */ /* Return: <0:error, =0:eof, >0:not eof */ - return (*funcp)(aTHX_ idx, buf_sv, maxlen); + return (*funcp)(aTHXo_ idx, buf_sv, maxlen); } STATIC char * diff --git a/universal.c b/universal.c index 63c6910..3e5547a 100644 --- a/universal.c +++ b/universal.c @@ -103,6 +103,20 @@ Perl_sv_derived_from(pTHX_ SV *sv, const char *name) } +void XS_UNIVERSAL_isa(pTHXo_ CV *cv); +void XS_UNIVERSAL_can(pTHXo_ CV *cv); +void XS_UNIVERSAL_VERSION(pTHXo_ CV *cv); + +void +Perl_boot_core_UNIVERSAL(pTHX) +{ + char *file = __FILE__; + + newXS("UNIVERSAL::isa", XS_UNIVERSAL_isa, file); + newXS("UNIVERSAL::can", XS_UNIVERSAL_can, file); + newXS("UNIVERSAL::VERSION", XS_UNIVERSAL_VERSION, file); +} + #ifdef PERL_OBJECT #define NO_XSLOCKS #endif /* PERL_OBJECT */ @@ -205,18 +219,3 @@ XS(XS_UNIVERSAL_VERSION) XSRETURN(1); } -#ifdef PERL_OBJECT -#undef boot_core_UNIVERSAL -#define boot_core_UNIVERSAL CPerlObj::Perl_boot_core_UNIVERSAL -#define pPerl this -#endif - -void -Perl_boot_core_UNIVERSAL(pTHX) -{ - char *file = __FILE__; - - newXS("UNIVERSAL::isa", XS_UNIVERSAL_isa, file); - newXS("UNIVERSAL::can", XS_UNIVERSAL_can, file); - newXS("UNIVERSAL::VERSION", XS_UNIVERSAL_VERSION, file); -} diff --git a/util.c b/util.c index 5e77d46..582a797 100644 --- a/util.c +++ b/util.c @@ -1408,8 +1408,8 @@ Perl_mess(pTHX_ const char *pat, va_list *args) return sv; } -static OP * -do_die(pTHX_ const char* pat, va_list *args) +STATIC OP * +S_do_die(pTHX_ const char* pat, va_list *args) { dTHR; char *message; @@ -3301,6 +3301,12 @@ Perl_get_opargs(pTHX) return PL_opargs; } +PPADDR_t* +Perl_get_ppaddr(pTHX) +{ + return &PL_ppaddr; +} + #ifndef HAS_GETENV_LEN char * Perl_getenv_len(pTHX_ char *env_elem, unsigned long *len) diff --git a/win32/GenCAPI.pl b/win32/GenCAPI.pl index 63688af..3cd581d 100644 --- a/win32/GenCAPI.pl +++ b/win32/GenCAPI.pl @@ -23,7 +23,7 @@ sub readsyms(\%@) { s/[ \t]*#.*$//; # delete comments if (/^\s*(\S+)\s*$/) { my $sym = $1; - $$syms{$sym} = "Perl_$sym"; + $$syms{$sym} = $sym; } } close(FILE); @@ -40,41 +40,66 @@ sub skip_these { } skip_these [qw( -yylex -cando -cast_ulong -my_chsize -condpair_magic -deb -deb_growlevel -debprofdump -debop -debstack -debstackptrs -dump_fds -dump_mstats +Perl_yylex +Perl_cando +Perl_cast_ulong +Perl_my_chsize +Perl_condpair_magic +Perl_deb +Perl_deb_growlevel +Perl_debprofdump +Perl_debop +Perl_debstack +Perl_debstackptrs +Perl_dump_fds +Perl_dump_mstats fprintf -find_threadsv -magic_mutexfree -my_memcmp -my_memset -my_pclose -my_popen -my_swap -my_htonl -my_ntohl -new_struct_thread -same_dirent -unlnk -unlock_condpair -safexmalloc -safexcalloc -safexrealloc -safexfree +Perl_find_threadsv +Perl_magic_mutexfree +Perl_my_memcmp +Perl_my_memset +Perl_my_pclose +Perl_my_popen +Perl_my_swap +Perl_my_htonl +Perl_my_ntohl +Perl_new_struct_thread +Perl_same_dirent +Perl_unlnk +Perl_unlock_condpair +Perl_safexmalloc +Perl_safexcalloc +Perl_safexrealloc +Perl_safexfree Perl_GetVars -malloced_size -do_exec3 -getenv_len +Perl_malloced_size +Perl_do_exec3 +Perl_getenv_len +Perl_dump_indent +Perl_default_protect +Perl_croak_nocontext +Perl_die_nocontext +Perl_form_nocontext +Perl_warn_nocontext +Perl_newSVpvf_nocontext +Perl_sv_catpvf_nocontext +Perl_sv_catpvf_mg_nocontext +Perl_sv_setpvf_nocontext +Perl_sv_setpvf_mg_nocontext +Perl_do_ipcctl +Perl_do_ipcget +Perl_do_msgrcv +Perl_do_msgsnd +Perl_do_semop +Perl_do_shmio +Perl_my_bzero +perl_parse +perl_alloc +Perl_call_atexit +Perl_malloc +Perl_calloc +Perl_realloc +Perl_mfree )]; @@ -94,8 +119,15 @@ print OUTFILE <); - if (/^VIRTUAL\s/) { + if (/^VIRTUAL\s+/) { while (!/;$/) { chomp; $_ .= ; } $_ =~ s/^VIRTUAL\s*//; $_ =~ s/\s*__attribute__.*$/;/; - if ( /(.*)\s([A-z_]*[0-9A-z_]+\s)\((.*)\);/ || - /(.*)\*([A-z_]*[0-9A-z_]+\s)\((.*)\);/ ) { + if ( /^(.+)\t(\w+)\((.*)\);/ ) { $type = $1; $name = $2; $args = $3; @@ -128,10 +161,14 @@ while () { $name =~ s/\s*$//; $type =~ s/\s*$//; next if (defined $skip_list{$name}); + next if $name =~ /^S_/; + next if exists $done{$name}; - if($args eq "ARGSproto") { + $done{$name}++; + if($args eq "ARGSproto" or $args eq "pTHX") { $args = "void"; } + $args =~ s/^pTHX_ //; $return = ($type eq "void" or $type eq "Free_t") ? "\t" : "\treturn"; @@ -143,9 +180,7 @@ while () { @args = split(',', $args); if ($args[$#args] =~ /\s*\.\.\.\s*/) { - if(($name eq "croak") or ($name eq "deb") or ($name eq "die") - or ($name eq "form") or ($name eq "warn") - or ($name eq "warner")) { + if ($name =~ /^Perl_(croak|deb|die|warn|form|warner)$/) { print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0); for (@args) { $_ = $1 if /(\w+)\W*$/; } $arg = $args[$#args-1]; @@ -161,13 +196,13 @@ extern "C" $type $funcName ($args) va_list args; va_start(args, $arg); pmsg = pPerl->Perl_sv_2mortal(pPerl->Perl_newSVsv(pPerl->Perl_mess($arg, &args))); -$return pPerl->Perl_$name($start SvPV_nolen(pmsg)); +$return pPerl->$name($start SvPV_nolen(pmsg)); va_end(args); } ENDCODE print OUTFILE "#endif\n" unless ($separateObj == 0); } - elsif($name eq "newSVpvf") { + elsif($name =~ /^Perl_newSVpvf/) { print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0); $args[0] =~ /(\w+)\W*$/; $arg = $1; @@ -187,7 +222,7 @@ extern "C" $type $funcName ($args) ENDCODE print OUTFILE "#endif\n" unless ($separateObj == 0); } - elsif($name eq "sv_catpvf") { + elsif($name =~ /^Perl_sv_catpvf/) { print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0); $args[0] =~ /(\w+)\W*$/; $arg0 = $1; @@ -206,7 +241,7 @@ extern "C" $type $funcName ($args) ENDCODE print OUTFILE "#endif\n" unless ($separateObj == 0); } - elsif($name eq "sv_catpvf_mg") { + elsif($name =~ /^Perl_sv_catpvf_mg/) { print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0); $args[0] =~ /(\w+)\W*$/; $arg0 = $1; @@ -229,7 +264,7 @@ extern "C" $type $funcName ($args) ENDCODE print OUTFILE "#endif\n" unless ($separateObj == 0); } - elsif($name eq "sv_setpvf") { + elsif($name =~ /^Perl_sv_setpvf/) { print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0); $args[0] =~ /(\w+)\W*$/; $arg0 = $1; @@ -248,7 +283,7 @@ extern "C" $type $funcName ($args) ENDCODE print OUTFILE "#endif\n" unless ($separateObj == 0); } - elsif($name eq "sv_setpvf_mg") { + elsif($name =~ /^Perl_sv_setpvf_mg/) { print OUTFILE "\n#ifdef $name" . "_defined" unless ($separateObj == 0); $args[0] =~ /(\w+)\W*$/; $arg0 = $1; @@ -298,26 +333,26 @@ ENDCODE } # newXS special case - if ($name eq "newXS") { + if ($name eq "Perl_newXS") { next; } print OUTFILE "\n#ifdef $name" . "defined" unless ($separateObj == 0); # handle specical case for save_destructor - if ($name eq "save_destructor") { + if ($name eq "Perl_save_destructor") { next; } # handle specical case for sighandler - if ($name eq "sighandler") { + if ($name eq "Perl_sighandler") { next; } # handle special case for sv_grow - if ($name eq "sv_grow" and $args eq "SV* sv, unsigned long newlen") { + if ($name eq "Perl_sv_grow" and $args eq "SV* sv, unsigned long newlen") { next; } # handle special case for newSV - if ($name eq "newSV" and $args eq "I32 x, STRLEN len") { + if ($name eq "Perl_newSV" and $args eq "I32 x, STRLEN len") { next; } # handle special case for perl_parse @@ -334,13 +369,13 @@ ENDCODE next; } # handle special case for perl_atexit - if ($name eq "perl_atexit") { + if ($name eq "Perl_call_atexit") { print OUTFILE <perl_atexit(fn, ptr); + pPerl->perl_call_atexit(fn, ptr); } ENDCODE print OUTFILE "#endif\n" unless ($separateObj == 0); @@ -348,7 +383,7 @@ ENDCODE } - if($name eq "byterun" and $args eq "struct bytestream bs") { + if($name eq "Perl_byterun" and $args eq "struct bytestream bs") { next; } @@ -607,7 +642,7 @@ void boot_CAPI_handler(CV *cv, void (*subaddr)(CV *c), void *pP) subaddr(cv); } -void xs_handler(CV* cv, CPerlObj* p) +void xs_handler(CPerlObj* p, CV* cv) { void(*func)(CV*); SV* sv; @@ -627,6 +662,7 @@ void xs_handler(CV* cv, CPerlObj* p) } } +#undef Perl_newXS CV* Perl_newXS(char* name, void (*subaddr)(CV* cv), char* filename) { CV* cv = pPerl->Perl_newXS(name, xs_handler, filename); @@ -634,7 +670,7 @@ CV* Perl_newXS(char* name, void (*subaddr)(CV* cv), char* filename) return cv; } - +#undef Perl_deb void Perl_deb(const char pat, ...) { } @@ -1003,6 +1039,11 @@ int _win32_uname(struct utsname *name) return pPerl->PL_piENV->Uname(name, ErrorNo()); } +unsigned long _win32_os_id(void) +{ + return pPerl->PL_piENV->OsID(); +} + char* _win32_getenv(const char *name) { return pPerl->PL_piENV->Getenv(name, ErrorNo()); @@ -1330,6 +1371,8 @@ U32 * _Perl_opargs (); #undef win32_stat #undef win32_ioctl #undef win32_utime +#undef win32_uname +#undef win32_os_id #undef win32_getenv #undef win32_htonl @@ -1447,6 +1490,8 @@ U32 * _Perl_opargs (); #define win32_stat _win32_stat #define win32_ioctl _win32_ioctl #define win32_utime _win32_utime +#define win32_uname _win32_uname +#define win32_os_id _win32_os_id #define win32_getenv _win32_getenv #define win32_open_osfhandle _win32_open_osfhandle #define win32_get_osfhandle _win32_get_osfhandle @@ -1566,6 +1611,8 @@ int _win32_times(struct tms *timebuf); int _win32_stat(const char *path, struct stat *buf); int _win32_ioctl(int i, unsigned int u, char *data); int _win32_utime(const char *f, struct utimbuf *t); +int _win32_uname(struct utsname *n); +unsigned long _win32_os_id(void); char* _win32_getenv(const char *name); int _win32_open_osfhandle(long handle, int flags); long _win32_get_osfhandle(int fd); diff --git a/win32/Makefile b/win32/Makefile index 42b8a9d..51f80c1 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -32,6 +32,17 @@ INST_TOP = $(INST_DRV)\perl INST_VER = \5.00557 # +# Comment this out if you DON'T want your perl installation to have +# architecture specific components. This means that architecture- +# specific files will be installed along with the architecture-neutral +# files. Leaving it enabled is safer and more flexible, in case you +# want to build multiple flavors of perl and install them together in +# the same location. Commenting it out gives you a simpler +# installation that is easier to understand for beginners. +# +#INST_ARCH = \$(ARCHNAME) + +# # uncomment to enable threads-capabilities # #USE_THREADS = define @@ -124,6 +135,7 @@ CCLIBDIR = $(CCHOME)\lib # instead of clinging to shortcuts like this one. # #BUILDOPT = -DPERL_POLLUTE +#BUILDOPT = -DPERL_IMPLICIT_CONTEXT # # specify semicolon-separated list of extra directories that modules will @@ -196,7 +208,6 @@ CFG = Optimize !ENDIF !ENDIF -ARCHDIR = ..\lib\$(ARCHNAME) COREDIR = ..\lib\CORE AUTODIR = ..\lib\auto @@ -299,7 +310,7 @@ $(o).dll: -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL) # -INST_BIN = $(INST_TOP)$(INST_VER)\bin\$(ARCHNAME) +INST_BIN = $(INST_TOP)$(INST_VER)\bin$(INST_ARCH) INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin INST_LIB = $(INST_TOP)$(INST_VER)\lib INST_POD = $(INST_LIB)\pod @@ -314,7 +325,7 @@ EXTUTILSDIR = $(LIBDIR)\extutils !IF "$(OBJECT)" == "-DPERL_OBJECT" PERLIMPLIB = ..\perlcore.lib PERLDLL = ..\perlcore.dll -CAPILIB = $(COREDIR)\perlCAPI.lib +#CAPILIB = $(COREDIR)\perlCAPI.lib !ELSE PERLIMPLIB = ..\perl.lib PERLDLL = ..\perl.dll @@ -405,6 +416,8 @@ MICROCORE_SRC = \ ..\utf8.c \ ..\util.c +EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c + !IF "$(PERL_MALLOC)" == "define" EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c !ENDIF @@ -437,9 +450,9 @@ PERL95_SRC = $(PERL95_SRC) .\$(CRYPT_SRC) DLL_SRC = $(DYNALOADER).c -!IF "$(OBJECT)" == "" -DLL_SRC = $(DLL_SRC) perllib.c -!ENDIF +#!IF "$(OBJECT)" == "" +#DLL_SRC = $(DLL_SRC) perllib.c +#!ENDIF X2P_SRC = \ ..\x2p\a2p.c \ @@ -504,12 +517,9 @@ X2P_OBJ = $(X2P_SRC:.c=.obj) PERLDLL_OBJ = $(CORE_OBJ) PERLEXE_OBJ = perlmain$(o) -!IF "$(OBJECT)" == "" PERLDLL_OBJ = $(PERLDLL_OBJ) $(WIN32_OBJ) $(DLL_OBJ) -!ELSE -PERLEXE_OBJ = $(PERLEXE_OBJ) $(WIN32_OBJ) $(DLL_OBJ) -PERL95_OBJ = $(PERL95_OBJ) DynaLoadmt$(o) -!ENDIF +#PERLEXE_OBJ = $(PERLEXE_OBJ) $(WIN32_OBJ) $(DLL_OBJ) +#PERL95_OBJ = $(PERL95_OBJ) DynaLoadmt$(o) !IF "$(USE_SETARGV)" != "" SETARGV_OBJ = setargv$(o) @@ -599,6 +609,7 @@ CFG_VARS = \ "INST_DRV=$(INST_DRV)" \ "INST_TOP=$(INST_TOP)" \ "INST_VER=$(INST_VER)" \ + "INST_ARCH=$(INST_ARCH)" \ "archname=$(ARCHNAME)" \ "cc=$(CC)" \ "ccflags=$(OPTIMIZE:"=\") $(DEFINES) $(OBJECT)" \ @@ -781,17 +792,17 @@ $(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM) $(XSUBPP) dl_win32.xs > $(*B).c cd ..\..\win32 -!IF "$(OBJECT)" == "-DPERL_OBJECT" -perlCAPI.cpp : $(MINIPERL) - $(MINIPERL) GenCAPI.pl $(COREDIR) - -perlCAPI$(o) : perlCAPI.cpp - $(CC) $(CFLAGS_O) $(RUNTIME) -UPERLDLL -c \ - $(OBJOUT_FLAG)perlCAPI$(o) perlCAPI.cpp - -$(CAPILIB) : perlCAPI.cpp perlCAPI$(o) - lib /OUT:$(CAPILIB) perlCAPI$(o) -!ENDIF +#!IF "$(OBJECT)" == "-DPERL_OBJECT" +#perlCAPI.cpp : $(MINIPERL) +# $(MINIPERL) GenCAPI.pl $(COREDIR) +# +#perlCAPI$(o) : perlCAPI.cpp +# $(CC) $(CFLAGS_O) $(RUNTIME) -UPERLDLL -c \ +# $(OBJOUT_FLAG)perlCAPI$(o) perlCAPI.cpp +# +#$(CAPILIB) : perlCAPI.cpp perlCAPI$(o) +# lib /OUT:$(CAPILIB) perlCAPI$(o) +#!ENDIF $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs diff --git a/win32/config.bc b/win32/config.bc index 5155015..e6197dd 100644 --- a/win32/config.bc +++ b/win32/config.bc @@ -25,16 +25,16 @@ ansi2knr='' aphostname='' apiversion='5.005' ar='tlib /P128' -archlib='~INST_TOP~~INST_VER~\lib\~archname~' -archlibexp='~INST_TOP~~INST_VER~\lib\~archname~' +archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~' +archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~' archname64='' archname='MSWin32' archobjs='' awk='awk' baserev='5.0' bash='' -bin='~INST_TOP~~INST_VER~\bin\~archname~' -binexp='~INST_TOP~~INST_VER~\bin\~archname~' +bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~' +binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~' bison='' byacc='byacc' byteorder='1234' @@ -460,15 +460,15 @@ i_vfork='undef' ignore_versioned_solibs='' incpath='' inews='' -installarchlib='~INST_TOP~~INST_VER~\lib\~archname~' -installbin='~INST_TOP~~INST_VER~\bin\~archname~' +installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~' +installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~' installman1dir='~INST_TOP~~INST_VER~\man\man1' installman3dir='~INST_TOP~~INST_VER~\man\man3' installhtmldir='~INST_TOP~~INST_VER~\html' installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp' installprivlib='~INST_TOP~~INST_VER~\lib' installscript='~INST_TOP~~INST_VER~\bin' -installsitearch='~INST_TOP~\site~INST_VER~\lib\~archname~' +installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' installsitelib='~INST_TOP~\site~INST_VER~\lib' installusrbinperl='undef' intsize='4' @@ -551,7 +551,7 @@ patchlevel='~PATCHLEVEL~' path_sep=';' perl='perl' perladmin='' -perlpath='~INST_TOP~~INST_VER~\bin\~archname~\perl.exe' +perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe' pg='' phostname='hostname' pidtype='int' @@ -592,8 +592,8 @@ sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 18 0' sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 18, 0' signal_t='void' -sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~' -sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~' +sitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' +sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' sitelib='~INST_TOP~\site~INST_VER~\lib' sitelibexp='~INST_TOP~\site~INST_VER~\lib' sizetype='size_t' diff --git a/win32/config.gc b/win32/config.gc index 7d65b56..b4495d7 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -25,16 +25,16 @@ ansi2knr='' aphostname='' apiversion='5.005' ar='ar' -archlib='~INST_TOP~~INST_VER~\lib\~archname~' -archlibexp='~INST_TOP~~INST_VER~\lib\~archname~' +archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~' +archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~' archname64='' archname='MSWin32' archobjs='' awk='awk' baserev='5.0' bash='' -bin='~INST_TOP~~INST_VER~\bin\~archname~' -binexp='~INST_TOP~~INST_VER~\bin\~archname~' +bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~' +binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~' bison='' byacc='byacc' byteorder='1234' @@ -460,15 +460,15 @@ i_vfork='undef' ignore_versioned_solibs='' incpath='' inews='' -installarchlib='~INST_TOP~~INST_VER~\lib\~archname~' -installbin='~INST_TOP~~INST_VER~\bin\~archname~' +installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~' +installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~' installman1dir='~INST_TOP~~INST_VER~\man\man1' installman3dir='~INST_TOP~~INST_VER~\man\man3' installhtmldir='~INST_TOP~~INST_VER~\html' installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp' installprivlib='~INST_TOP~~INST_VER~\lib' installscript='~INST_TOP~~INST_VER~\bin' -installsitearch='~INST_TOP~\site~INST_VER~\lib\~archname~' +installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' installsitelib='~INST_TOP~\site~INST_VER~\lib' installusrbinperl='undef' intsize='4' @@ -551,7 +551,7 @@ patchlevel='~PATCHLEVEL~' path_sep=';' perl='perl' perladmin='' -perlpath='~INST_TOP~~INST_VER~\bin\~archname~\perl.exe' +perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe' pg='' phostname='hostname' pidtype='int' @@ -592,8 +592,8 @@ sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 0' sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0' signal_t='void' -sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~' -sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~' +sitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' +sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' sitelib='~INST_TOP~\site~INST_VER~\lib' sitelibexp='~INST_TOP~\site~INST_VER~\lib' sizetype='size_t' diff --git a/win32/config.vc b/win32/config.vc index 1b44425..73f1687 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -25,16 +25,16 @@ ansi2knr='' aphostname='' apiversion='5.005' ar='lib' -archlib='~INST_TOP~~INST_VER~\lib\~archname~' -archlibexp='~INST_TOP~~INST_VER~\lib\~archname~' +archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~' +archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~' archname64='' archname='MSWin32' archobjs='' awk='awk' baserev='5.0' bash='' -bin='~INST_TOP~~INST_VER~\bin\~archname~' -binexp='~INST_TOP~~INST_VER~\bin\~archname~' +bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~' +binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~' bison='' byacc='byacc' byteorder='1234' @@ -460,15 +460,15 @@ i_vfork='undef' ignore_versioned_solibs='' incpath='' inews='' -installarchlib='~INST_TOP~~INST_VER~\lib\~archname~' -installbin='~INST_TOP~~INST_VER~\bin\~archname~' +installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~' +installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~' installman1dir='~INST_TOP~~INST_VER~\man\man1' installman3dir='~INST_TOP~~INST_VER~\man\man3' installhtmldir='~INST_TOP~~INST_VER~\html' installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp' installprivlib='~INST_TOP~~INST_VER~\lib' installscript='~INST_TOP~~INST_VER~\bin' -installsitearch='~INST_TOP~\site~INST_VER~\lib\~archname~' +installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' installsitelib='~INST_TOP~\site~INST_VER~\lib' installusrbinperl='undef' intsize='4' @@ -551,7 +551,7 @@ patchlevel='~PATCHLEVEL~' path_sep=';' perl='perl' perladmin='' -perlpath='~INST_TOP~~INST_VER~\bin\~archname~\perl.exe' +perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe' pg='' phostname='hostname' pidtype='int' @@ -592,8 +592,8 @@ sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 0' sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0' signal_t='void' -sitearch='~INST_TOP~\site~INST_VER~\lib\~archname~' -sitearchexp='~INST_TOP~\site~INST_VER~\lib\~archname~' +sitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' +sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~' sitelib='~INST_TOP~\site~INST_VER~\lib' sitelibexp='~INST_TOP~\site~INST_VER~\lib' sizetype='size_t' diff --git a/win32/dl_win32.xs b/win32/dl_win32.xs index 5c6f627..3e7fdd4 100644 --- a/win32/dl_win32.xs +++ b/win32/dl_win32.xs @@ -37,22 +37,22 @@ calls. static SV *error_sv; static char * -OS_Error_String(pTHX) +OS_Error_String(pTHXo) { DWORD err = GetLastError(); STRLEN len; if (!error_sv) error_sv = newSVpvn("",0); - win32_str_os_error(aTHX_ error_sv,err); + PerlProc_GetOSError(error_sv,err); return SvPV(error_sv,len); } #include "dlutils.c" /* SaveError() etc */ static void -dl_private_init(pTHX) +dl_private_init(pTHXo) { - (void)dl_generic_private_init(aTHX); + (void)dl_generic_private_init(aTHXo); } /* @@ -94,7 +94,7 @@ dl_static_linked(char *filename) MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(aTHX); + (void)dl_private_init(aTHXo); void * dl_load_file(filename,flags=0) @@ -103,24 +103,17 @@ dl_load_file(filename,flags=0) PREINIT: CODE: { - WCHAR wfilename[MAX_PATH]; DLDEBUG(1,PerlIO_printf(PerlIO_stderr(),"dl_load_file(%s):\n", filename)); if (dl_static_linked(filename) == 0) { - if (USING_WIDE()) { - A2WHELPER(filename, wfilename, sizeof(wfilename), GETINTERPMODE()); - RETVAL = (void*) LoadLibraryExW(wfilename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); - } - else { - RETVAL = (void*) LoadLibraryExA(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); - } + RETVAL = PerlProc_DynaLoad(filename); } else RETVAL = (void*) GetModuleHandle(NULL); DLDEBUG(2,PerlIO_printf(PerlIO_stderr()," libref=%x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError(aTHX_ "load_file:%s", - OS_Error_String(aTHX)) ; + SaveError(aTHXo_ "load_file:%s", + OS_Error_String(aTHXo)) ; else sv_setiv( ST(0), (IV)RETVAL); } @@ -136,8 +129,8 @@ dl_find_symbol(libhandle, symbolname) DLDEBUG(2,PerlIO_printf(PerlIO_stderr()," symbolref = %x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError(aTHX_ "find_symbol:%s", - OS_Error_String(aTHX)) ; + SaveError(aTHXo_ "find_symbol:%s", + OS_Error_String(aTHXo)) ; else sv_setiv( ST(0), (IV)RETVAL); @@ -159,7 +152,7 @@ dl_install_xsub(perl_name, symref, filename="$Package") DLDEBUG(2,PerlIO_printf(PerlIO_stderr(),"dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, - (void(*)(pTHX_ CV *))symref, + (void(*)(pTHXo_ CV *))symref, filename))); diff --git a/win32/makedef.pl b/win32/makedef.pl index 2071220..f95d374 100644 --- a/win32/makedef.pl +++ b/win32/makedef.pl @@ -29,6 +29,15 @@ if ($define{PERL_OBJECT}) { print "DESCRIPTION 'Perl interpreter'\n"; print "EXPORTS\n"; output_symbol("perl_alloc"); + output_symbol("perl_get_host_info"); + output_symbol("perl_alloc_using"); + output_symbol("perl_construct"); + output_symbol("perl_destruct"); + output_symbol("perl_free"); + output_symbol("perl_parse"); + output_symbol("perl_run"); + output_symbol("RunPerl"); + output_symbol("GetPerlInterpreter"); exit(0); } @@ -467,6 +476,7 @@ win32_seekdir win32_rewinddir win32_closedir win32_longpath +win32_os_id Perl_win32_init Perl_init_os_extras Perl_getTHR diff --git a/win32/makefile.mk b/win32/makefile.mk index 7a97dab..22b1d0a 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -36,6 +36,17 @@ INST_TOP *= $(INST_DRV)\perl INST_VER *= \5.00557 # +# Comment this out if you DON'T want your perl installation to have +# architecture specific components. This means that architecture- +# specific files will be installed along with the architecture-neutral +# files. Leaving it enabled is safer and more flexible, in case you +# want to build multiple flavors of perl and install them together in +# the same location. Commenting it out gives you a simpler +# installation that is easier to understand for beginners. +# +INST_ARCH *= \$(ARCHNAME) + +# # uncomment to enable threads-capabilities # #USE_THREADS *= define @@ -139,6 +150,7 @@ CCLIBDIR *= $(CCHOME)\lib # instead of clinging to shortcuts like this one. # #BUILDOPT *= -DPERL_POLLUTE +#BUILDOPT *= -DPERL_IMPLICIT_CONTEXT # # specify semicolon-separated list of extra directories that modules will @@ -206,7 +218,6 @@ DELAYLOAD *= -DELAYLOAD:wsock32.dll delayimp.lib CFG *= Optimize .ENDIF -ARCHDIR = ..\lib\$(ARCHNAME) COREDIR = ..\lib\CORE AUTODIR = ..\lib\auto @@ -402,7 +413,7 @@ $(o).dll: .ENDIF # -INST_BIN = $(INST_TOP)$(INST_VER)\bin\$(ARCHNAME) +INST_BIN = $(INST_TOP)$(INST_VER)\bin$(INST_ARCH) INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin INST_LIB = $(INST_TOP)$(INST_VER)\lib INST_POD = $(INST_LIB)\pod @@ -715,6 +726,7 @@ CFG_VARS = \ "INST_DRV=$(INST_DRV)" \ "INST_TOP=$(INST_TOP)" \ "INST_VER=$(INST_VER)" \ + "INST_ARCH=$(INST_ARCH)" \ "archname=$(ARCHNAME)" \ "cc=$(CC)" \ "ccflags=$(OPTIMIZE:s/"/\"/) $(DEFINES) $(OBJECT)" \ diff --git a/win32/perllib.c b/win32/perllib.c index 452fcdf..7cfe60d 100644 --- a/win32/perllib.c +++ b/win32/perllib.c @@ -5,17 +5,1472 @@ #include "EXTERN.h" #include "perl.h" + +#ifdef PERL_OBJECT +#define NO_XSLOCKS +#endif + #include "XSUB.h" -static void xs_init (pTHX); +#ifdef PERL_OBJECT +#include "win32iop.h" +#include +#endif + + +/* Register any extra external extensions */ +char *staticlinkmodules[] = { + "DynaLoader", + NULL, +}; + +EXTERN_C void boot_DynaLoader (pTHXo_ CV* cv); + +static void +xs_init(pTHXo) +{ + char *file = __FILE__; + dXSUB_SYS; + newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); +} + +#ifdef PERL_OBJECT +// IPerlMem +void* +PerlMemMalloc(struct IPerlMem*, size_t size) +{ + return win32_malloc(size); +} +void* +PerlMemRealloc(struct IPerlMem*, void* ptr, size_t size) +{ + return win32_realloc(ptr, size); +} +void +PerlMemFree(struct IPerlMem*, void* ptr) +{ + win32_free(ptr); +} + +struct IPerlMem perlMem = +{ + PerlMemMalloc, + PerlMemRealloc, + PerlMemFree, +}; + + +// IPerlEnv +extern char * g_win32_get_privlib(char *pl); +extern char * g_win32_get_sitelib(char *pl); + + +char* +PerlEnvGetenv(struct IPerlEnv*, const char *varname) +{ + return win32_getenv(varname); +}; +int +PerlEnvPutenv(struct IPerlEnv*, const char *envstring) +{ + return win32_putenv(envstring); +}; + +char* +PerlEnvGetenv_len(struct IPerlEnv*, const char* varname, unsigned long* len) +{ + char *e = win32_getenv(varname); + if (e) + *len = strlen(e); + return e; +} + +int +PerlEnvUname(struct IPerlEnv*, struct utsname *name) +{ + return win32_uname(name); +} + +unsigned long +PerlEnvOsId(struct IPerlEnv*) +{ + return win32_os_id(); +} + +char* +PerlEnvLibPath(struct IPerlEnv*, char *pl) +{ + return g_win32_get_privlib(pl); +} + +char* +PerlEnvSiteLibPath(struct IPerlEnv*, char *pl) +{ + return g_win32_get_sitelib(pl); +} + +struct IPerlEnv perlEnv = +{ + PerlEnvGetenv, + PerlEnvPutenv, + PerlEnvGetenv_len, + PerlEnvUname, + NULL, + PerlEnvOsId, + PerlEnvLibPath, + PerlEnvSiteLibPath, +}; + + +// PerlStdIO +PerlIO* +PerlStdIOStdin(struct IPerlStdIO*) +{ + return (PerlIO*)win32_stdin(); +} + +PerlIO* +PerlStdIOStdout(struct IPerlStdIO*) +{ + return (PerlIO*)win32_stdout(); +} + +PerlIO* +PerlStdIOStderr(struct IPerlStdIO*) +{ + return (PerlIO*)win32_stderr(); +} + +PerlIO* +PerlStdIOOpen(struct IPerlStdIO*, const char *path, const char *mode) +{ + return (PerlIO*)win32_fopen(path, mode); +} + +int +PerlStdIOClose(struct IPerlStdIO*, PerlIO* pf) +{ + return win32_fclose(((FILE*)pf)); +} + +int +PerlStdIOEof(struct IPerlStdIO*, PerlIO* pf) +{ + return win32_feof((FILE*)pf); +} + +int +PerlStdIOError(struct IPerlStdIO*, PerlIO* pf) +{ + return win32_ferror((FILE*)pf); +} + +void +PerlStdIOClearerr(struct IPerlStdIO*, PerlIO* pf) +{ + win32_clearerr((FILE*)pf); +} + +int +PerlStdIOGetc(struct IPerlStdIO*, PerlIO* pf) +{ + return win32_getc((FILE*)pf); +} + +char* +PerlStdIOGetBase(struct IPerlStdIO*, PerlIO* pf) +{ +#ifdef FILE_base + FILE *f = (FILE*)pf; + return FILE_base(f); +#else + return Nullch; +#endif +} + +int +PerlStdIOGetBufsiz(struct IPerlStdIO*, PerlIO* pf) +{ +#ifdef FILE_bufsiz + FILE *f = (FILE*)pf; + return FILE_bufsiz(f); +#else + return (-1); +#endif +} + +int +PerlStdIOGetCnt(struct IPerlStdIO*, PerlIO* pf) +{ +#ifdef USE_STDIO_PTR + FILE *f = (FILE*)pf; + return FILE_cnt(f); +#else + return (-1); +#endif +} + +char* +PerlStdIOGetPtr(struct IPerlStdIO*, PerlIO* pf) +{ +#ifdef USE_STDIO_PTR + FILE *f = (FILE*)pf; + return FILE_ptr(f); +#else + return Nullch; +#endif +} + +char* +PerlStdIOGets(struct IPerlStdIO*, PerlIO* pf, char* s, int n) +{ + return win32_fgets(s, n, (FILE*)pf); +} + +int +PerlStdIOPutc(struct IPerlStdIO*, PerlIO* pf, int c) +{ + return win32_fputc(c, (FILE*)pf); +} + +int +PerlStdIOPuts(struct IPerlStdIO*, PerlIO* pf, const char *s) +{ + return win32_fputs(s, (FILE*)pf); +} + +int +PerlStdIOFlush(struct IPerlStdIO*, PerlIO* pf) +{ + return win32_fflush((FILE*)pf); +} + +int +PerlStdIOUngetc(struct IPerlStdIO*, PerlIO* pf,int c) +{ + return win32_ungetc(c, (FILE*)pf); +} + +int +PerlStdIOFileno(struct IPerlStdIO*, PerlIO* pf) +{ + return win32_fileno((FILE*)pf); +} + +PerlIO* +PerlStdIOFdopen(struct IPerlStdIO*, int fd, const char *mode) +{ + return (PerlIO*)win32_fdopen(fd, mode); +} + +PerlIO* +PerlStdIOReopen(struct IPerlStdIO*, const char*path, const char*mode, PerlIO* pf) +{ + return (PerlIO*)win32_freopen(path, mode, (FILE*)pf); +} + +SSize_t +PerlStdIORead(struct IPerlStdIO*, PerlIO* pf, void *buffer, Size_t size) +{ + return win32_fread(buffer, 1, size, (FILE*)pf); +} + +SSize_t +PerlStdIOWrite(struct IPerlStdIO*, PerlIO* pf, const void *buffer, Size_t size) +{ + return win32_fwrite(buffer, 1, size, (FILE*)pf); +} + +void +PerlStdIOSetBuf(struct IPerlStdIO*, PerlIO* pf, char* buffer) +{ + win32_setbuf((FILE*)pf, buffer); +} + +int +PerlStdIOSetVBuf(struct IPerlStdIO*, PerlIO* pf, char* buffer, int type, Size_t size) +{ + return win32_setvbuf((FILE*)pf, buffer, type, size); +} + +void +PerlStdIOSetCnt(struct IPerlStdIO*, PerlIO* pf, int n) +{ +#ifdef STDIO_CNT_LVALUE + FILE *f = (FILE*)pf; + FILE_cnt(f) = n; +#endif +} + +void +PerlStdIOSetPtrCnt(struct IPerlStdIO*, PerlIO* pf, char * ptr, int n) +{ +#ifdef STDIO_PTR_LVALUE + FILE *f = (FILE*)pf; + FILE_ptr(f) = ptr; + FILE_cnt(f) = n; +#endif +} + +void +PerlStdIOSetlinebuf(struct IPerlStdIO*, PerlIO* pf) +{ + win32_setvbuf((FILE*)pf, NULL, _IOLBF, 0); +} + +int +PerlStdIOPrintf(struct IPerlStdIO*, PerlIO* pf, const char *format,...) +{ + va_list(arglist); + va_start(arglist, format); + return win32_vfprintf((FILE*)pf, format, arglist); +} + +int +PerlStdIOVprintf(struct IPerlStdIO*, PerlIO* pf, const char *format, va_list arglist) +{ + return win32_vfprintf((FILE*)pf, format, arglist); +} + +long +PerlStdIOTell(struct IPerlStdIO*, PerlIO* pf) +{ + return win32_ftell((FILE*)pf); +} + +int +PerlStdIOSeek(struct IPerlStdIO*, PerlIO* pf, off_t offset, int origin) +{ + return win32_fseek((FILE*)pf, offset, origin); +} + +void +PerlStdIORewind(struct IPerlStdIO*, PerlIO* pf) +{ + win32_rewind((FILE*)pf); +} + +PerlIO* +PerlStdIOTmpfile(struct IPerlStdIO*) +{ + return (PerlIO*)win32_tmpfile(); +} + +int +PerlStdIOGetpos(struct IPerlStdIO*, PerlIO* pf, Fpos_t *p) +{ + return win32_fgetpos((FILE*)pf, p); +} + +int +PerlStdIOSetpos(struct IPerlStdIO*, PerlIO* pf, const Fpos_t *p) +{ + return win32_fsetpos((FILE*)pf, p); +} +void +PerlStdIOInit(struct IPerlStdIO*) +{ +} + +void +PerlStdIOInitOSExtras(struct IPerlStdIO*) +{ + Perl_init_os_extras(); +} + +int +PerlStdIOOpenOSfhandle(struct IPerlStdIO*, long osfhandle, int flags) +{ + return win32_open_osfhandle(osfhandle, flags); +} + +int +PerlStdIOGetOSfhandle(struct IPerlStdIO*, int filenum) +{ + return win32_get_osfhandle(filenum); +} + + +struct IPerlStdIO perlStdIO = +{ + PerlStdIOStdin, + PerlStdIOStdout, + PerlStdIOStderr, + PerlStdIOOpen, + PerlStdIOClose, + PerlStdIOEof, + PerlStdIOError, + PerlStdIOClearerr, + PerlStdIOGetc, + PerlStdIOGetBase, + PerlStdIOGetBufsiz, + PerlStdIOGetCnt, + PerlStdIOGetPtr, + PerlStdIOGets, + PerlStdIOPutc, + PerlStdIOPuts, + PerlStdIOFlush, + PerlStdIOUngetc, + PerlStdIOFileno, + PerlStdIOFdopen, + PerlStdIOReopen, + PerlStdIORead, + PerlStdIOWrite, + PerlStdIOSetBuf, + PerlStdIOSetVBuf, + PerlStdIOSetCnt, + PerlStdIOSetPtrCnt, + PerlStdIOSetlinebuf, + PerlStdIOPrintf, + PerlStdIOVprintf, + PerlStdIOTell, + PerlStdIOSeek, + PerlStdIORewind, + PerlStdIOTmpfile, + PerlStdIOGetpos, + PerlStdIOSetpos, + PerlStdIOInit, + PerlStdIOInitOSExtras, +}; + + +// IPerlLIO +int +PerlLIOAccess(struct IPerlLIO*, const char *path, int mode) +{ + return access(path, mode); +} + +int +PerlLIOChmod(struct IPerlLIO*, const char *filename, int pmode) +{ + return chmod(filename, pmode); +} + +int +PerlLIOChown(struct IPerlLIO*, const char *filename, uid_t owner, gid_t group) +{ + return chown(filename, owner, group); +} + +int +PerlLIOChsize(struct IPerlLIO*, int handle, long size) +{ + return chsize(handle, size); +} + +int +PerlLIOClose(struct IPerlLIO*, int handle) +{ + return win32_close(handle); +} + +int +PerlLIODup(struct IPerlLIO*, int handle) +{ + return win32_dup(handle); +} + +int +PerlLIODup2(struct IPerlLIO*, int handle1, int handle2) +{ + return win32_dup2(handle1, handle2); +} + +int +PerlLIOFlock(struct IPerlLIO*, int fd, int oper) +{ + return win32_flock(fd, oper); +} + +int +PerlLIOFileStat(struct IPerlLIO*, int handle, struct stat *buffer) +{ + return fstat(handle, buffer); +} + +int +PerlLIOIOCtl(struct IPerlLIO*, int i, unsigned int u, char *data) +{ + return win32_ioctlsocket((SOCKET)i, (long)u, (u_long*)data); +} + +int +PerlLIOIsatty(struct IPerlLIO*, int fd) +{ + return isatty(fd); +} + +long +PerlLIOLseek(struct IPerlLIO*, int handle, long offset, int origin) +{ + return win32_lseek(handle, offset, origin); +} + +int +PerlLIOLstat(struct IPerlLIO* p, const char *path, struct stat *buffer) +{ + return win32_stat(path, buffer); +} + +char* +PerlLIOMktemp(struct IPerlLIO*, char *Template) +{ + return mktemp(Template); +} + +int +PerlLIOOpen(struct IPerlLIO*, const char *filename, int oflag) +{ + return win32_open(filename, oflag); +} + +int +PerlLIOOpen3(struct IPerlLIO*, const char *filename, int oflag, int pmode) +{ + int ret; + if(stricmp(filename, "/dev/null") == 0) + ret = open("NUL", oflag, pmode); + else + ret = open(filename, oflag, pmode); + + return ret; +} + +int +PerlLIORead(struct IPerlLIO*, int handle, void *buffer, unsigned int count) +{ + return win32_read(handle, buffer, count); +} + +int +PerlLIORename(struct IPerlLIO*, const char *OldFileName, const char *newname) +{ + return win32_rename(OldFileName, newname); +} + +int +PerlLIOSetmode(struct IPerlLIO*, int handle, int mode) +{ + return win32_setmode(handle, mode); +} + +int +PerlLIONameStat(struct IPerlLIO*, const char *path, struct stat *buffer) +{ + return win32_stat(path, buffer); +} + +char* +PerlLIOTmpnam(struct IPerlLIO*, char *string) +{ + return tmpnam(string); +} + +int +PerlLIOUmask(struct IPerlLIO*, int pmode) +{ + return umask(pmode); +} + +int +PerlLIOUnlink(struct IPerlLIO*, const char *filename) +{ + chmod(filename, S_IREAD | S_IWRITE); + return unlink(filename); +} + +int +PerlLIOUtime(struct IPerlLIO*, char *filename, struct utimbuf *times) +{ + return win32_utime(filename, times); +} + +int +PerlLIOWrite(struct IPerlLIO*, int handle, const void *buffer, unsigned int count) +{ + return win32_write(handle, buffer, count); +} + +struct IPerlLIO perlLIO = +{ + PerlLIOAccess, + PerlLIOChmod, + PerlLIOChown, + PerlLIOChsize, + PerlLIOClose, + PerlLIODup, + PerlLIODup2, + PerlLIOFlock, + PerlLIOFileStat, + PerlLIOIOCtl, + PerlLIOIsatty, + PerlLIOLseek, + PerlLIOLstat, + PerlLIOMktemp, + PerlLIOOpen, + PerlLIOOpen3, + PerlLIORead, + PerlLIORename, + PerlLIOSetmode, + PerlLIONameStat, + PerlLIOTmpnam, + PerlLIOUmask, + PerlLIOUnlink, + PerlLIOUtime, + PerlLIOWrite, +}; + +// IPerlDIR +int +PerlDirMakedir(struct IPerlDir*, const char *dirname, int mode) +{ + return win32_mkdir(dirname, mode); +} + +int +PerlDirChdir(struct IPerlDir*, const char *dirname) +{ + return win32_chdir(dirname); +} + +int +PerlDirRmdir(struct IPerlDir*, const char *dirname) +{ + return win32_rmdir(dirname); +} + +int +PerlDirClose(struct IPerlDir*, DIR *dirp) +{ + return win32_closedir(dirp); +} + +DIR* +PerlDirOpen(struct IPerlDir*, char *filename) +{ + return win32_opendir(filename); +} + +struct direct * +PerlDirRead(struct IPerlDir*, DIR *dirp) +{ + return win32_readdir(dirp); +} + +void +PerlDirRewind(struct IPerlDir*, DIR *dirp) +{ + win32_rewinddir(dirp); +} + +void +PerlDirSeek(struct IPerlDir*, DIR *dirp, long loc) +{ + win32_seekdir(dirp, loc); +} + +long +PerlDirTell(struct IPerlDir*, DIR *dirp) +{ + return win32_telldir(dirp); +} + +struct IPerlDir perlDir = +{ + PerlDirMakedir, + PerlDirChdir, + PerlDirRmdir, + PerlDirClose, + PerlDirOpen, + PerlDirRead, + PerlDirRewind, + PerlDirSeek, + PerlDirTell, +}; + + +// IPerlSock +u_long +PerlSockHtonl(struct IPerlSock*, u_long hostlong) +{ + return win32_htonl(hostlong); +} + +u_short +PerlSockHtons(struct IPerlSock*, u_short hostshort) +{ + return win32_htons(hostshort); +} + +u_long +PerlSockNtohl(struct IPerlSock*, u_long netlong) +{ + return win32_ntohl(netlong); +} + +u_short +PerlSockNtohs(struct IPerlSock*, u_short netshort) +{ + return win32_ntohs(netshort); +} + +SOCKET PerlSockAccept(struct IPerlSock*, SOCKET s, struct sockaddr* addr, int* addrlen) +{ + return win32_accept(s, addr, addrlen); +} + +int +PerlSockBind(struct IPerlSock*, SOCKET s, const struct sockaddr* name, int namelen) +{ + return win32_bind(s, name, namelen); +} + +int +PerlSockConnect(struct IPerlSock*, SOCKET s, const struct sockaddr* name, int namelen) +{ + return win32_connect(s, name, namelen); +} + +void +PerlSockEndhostent(struct IPerlSock*) +{ + win32_endhostent(); +} + +void +PerlSockEndnetent(struct IPerlSock*) +{ + win32_endnetent(); +} + +void +PerlSockEndprotoent(struct IPerlSock*) +{ + win32_endprotoent(); +} + +void +PerlSockEndservent(struct IPerlSock*) +{ + win32_endservent(); +} + +struct hostent* +PerlSockGethostbyaddr(struct IPerlSock*, const char* addr, int len, int type) +{ + return win32_gethostbyaddr(addr, len, type); +} + +struct hostent* +PerlSockGethostbyname(struct IPerlSock*, const char* name) +{ + return win32_gethostbyname(name); +} + +struct hostent* +PerlSockGethostent(struct IPerlSock*) +{ + dPERLOBJ; + croak("gethostent not implemented!\n"); + return NULL; +} + +int +PerlSockGethostname(struct IPerlSock*, char* name, int namelen) +{ + return win32_gethostname(name, namelen); +} + +struct netent * +PerlSockGetnetbyaddr(struct IPerlSock*, long net, int type) +{ + return win32_getnetbyaddr(net, type); +} + +struct netent * +PerlSockGetnetbyname(struct IPerlSock*, const char *name) +{ + return win32_getnetbyname((char*)name); +} + +struct netent * +PerlSockGetnetent(struct IPerlSock*) +{ + return win32_getnetent(); +} + +int PerlSockGetpeername(struct IPerlSock*, SOCKET s, struct sockaddr* name, int* namelen) +{ + return win32_getpeername(s, name, namelen); +} + +struct protoent* +PerlSockGetprotobyname(struct IPerlSock*, const char* name) +{ + return win32_getprotobyname(name); +} + +struct protoent* +PerlSockGetprotobynumber(struct IPerlSock*, int number) +{ + return win32_getprotobynumber(number); +} + +struct protoent* +PerlSockGetprotoent(struct IPerlSock*) +{ + return win32_getprotoent(); +} + +struct servent* +PerlSockGetservbyname(struct IPerlSock*, const char* name, const char* proto) +{ + return win32_getservbyname(name, proto); +} + +struct servent* +PerlSockGetservbyport(struct IPerlSock*, int port, const char* proto) +{ + return win32_getservbyport(port, proto); +} + +struct servent* +PerlSockGetservent(struct IPerlSock*) +{ + return win32_getservent(); +} + +int +PerlSockGetsockname(struct IPerlSock*, SOCKET s, struct sockaddr* name, int* namelen) +{ + return win32_getsockname(s, name, namelen); +} + +int +PerlSockGetsockopt(struct IPerlSock*, SOCKET s, int level, int optname, char* optval, int* optlen) +{ + return win32_getsockopt(s, level, optname, optval, optlen); +} + +unsigned long +PerlSockInetAddr(struct IPerlSock*, const char* cp) +{ + return win32_inet_addr(cp); +} + +char* +PerlSockInetNtoa(struct IPerlSock*, struct in_addr in) +{ + return win32_inet_ntoa(in); +} + +int +PerlSockListen(struct IPerlSock*, SOCKET s, int backlog) +{ + return win32_listen(s, backlog); +} + +int +PerlSockRecv(struct IPerlSock*, SOCKET s, char* buffer, int len, int flags) +{ + return win32_recv(s, buffer, len, flags); +} + +int +PerlSockRecvfrom(struct IPerlSock*, SOCKET s, char* buffer, int len, int flags, struct sockaddr* from, int* fromlen) +{ + return win32_recvfrom(s, buffer, len, flags, from, fromlen); +} + +int +PerlSockSelect(struct IPerlSock*, int nfds, char* readfds, char* writefds, char* exceptfds, const struct timeval* timeout) +{ + return win32_select(nfds, (Perl_fd_set*)readfds, (Perl_fd_set*)writefds, (Perl_fd_set*)exceptfds, timeout); +} + +int +PerlSockSend(struct IPerlSock*, SOCKET s, const char* buffer, int len, int flags) +{ + return win32_send(s, buffer, len, flags); +} + +int +PerlSockSendto(struct IPerlSock*, SOCKET s, const char* buffer, int len, int flags, const struct sockaddr* to, int tolen) +{ + return win32_sendto(s, buffer, len, flags, to, tolen); +} + +void +PerlSockSethostent(struct IPerlSock*, int stayopen) +{ + win32_sethostent(stayopen); +} + +void +PerlSockSetnetent(struct IPerlSock*, int stayopen) +{ + win32_setnetent(stayopen); +} + +void +PerlSockSetprotoent(struct IPerlSock*, int stayopen) +{ + win32_setprotoent(stayopen); +} + +void +PerlSockSetservent(struct IPerlSock*, int stayopen) +{ + win32_setservent(stayopen); +} + +int +PerlSockSetsockopt(struct IPerlSock*, SOCKET s, int level, int optname, const char* optval, int optlen) +{ + return win32_setsockopt(s, level, optname, optval, optlen); +} + +int +PerlSockShutdown(struct IPerlSock*, SOCKET s, int how) +{ + return win32_shutdown(s, how); +} + +SOCKET +PerlSockSocket(struct IPerlSock*, int af, int type, int protocol) +{ + return win32_socket(af, type, protocol); +} + +int +PerlSockSocketpair(struct IPerlSock*, int domain, int type, int protocol, int* fds) +{ + dPERLOBJ; + croak("socketpair not implemented!\n"); + return 0; +} + +int +PerlSockClosesocket(struct IPerlSock*, SOCKET s) +{ + return win32_closesocket(s); +} + +int +PerlSockIoctlsocket(struct IPerlSock*, SOCKET s, long cmd, u_long *argp) +{ + return win32_ioctlsocket(s, cmd, argp); +} + +struct IPerlSock perlSock = +{ + PerlSockHtonl, + PerlSockHtons, + PerlSockNtohl, + PerlSockNtohs, + PerlSockAccept, + PerlSockBind, + PerlSockConnect, + PerlSockEndhostent, + PerlSockEndnetent, + PerlSockEndprotoent, + PerlSockEndservent, + PerlSockGethostname, + PerlSockGetpeername, + PerlSockGethostbyaddr, + PerlSockGethostbyname, + PerlSockGethostent, + PerlSockGetnetbyaddr, + PerlSockGetnetbyname, + PerlSockGetnetent, + PerlSockGetprotobyname, + PerlSockGetprotobynumber, + PerlSockGetprotoent, + PerlSockGetservbyname, + PerlSockGetservbyport, + PerlSockGetservent, + PerlSockGetsockname, + PerlSockGetsockopt, + PerlSockInetAddr, + PerlSockInetNtoa, + PerlSockListen, + PerlSockRecv, + PerlSockRecvfrom, + PerlSockSelect, + PerlSockSend, + PerlSockSendto, + PerlSockSethostent, + PerlSockSetnetent, + PerlSockSetprotoent, + PerlSockSetservent, + PerlSockSetsockopt, + PerlSockShutdown, + PerlSockSocket, + PerlSockSocketpair, + PerlSockClosesocket, +}; + + +// IPerlProc + +#define EXECF_EXEC 1 +#define EXECF_SPAWN 2 + +extern char * g_getlogin(void); +extern int do_spawn2(char *cmd, int exectype); +extern int g_do_aspawn(void *vreally, void **vmark, void **vsp); + +void +PerlProcAbort(struct IPerlProc*) +{ + win32_abort(); +} + +char * +PerlProcCrypt(struct IPerlProc*, const char* clear, const char* salt) +{ + return win32_crypt(clear, salt); +} + +void +PerlProcExit(struct IPerlProc*, int status) +{ + exit(status); +} + +void +PerlProc_Exit(struct IPerlProc*, int status) +{ + _exit(status); +} + +int +PerlProcExecl(struct IPerlProc*, const char *cmdname, const char *arg0, const char *arg1, const char *arg2, const char *arg3) +{ + return execl(cmdname, arg0, arg1, arg2, arg3); +} + +int +PerlProcExecv(struct IPerlProc*, const char *cmdname, const char *const *argv) +{ + return win32_execvp(cmdname, argv); +} + +int +PerlProcExecvp(struct IPerlProc*, const char *cmdname, const char *const *argv) +{ + return win32_execvp(cmdname, argv); +} + +uid_t +PerlProcGetuid(struct IPerlProc*) +{ + return getuid(); +} + +uid_t +PerlProcGeteuid(struct IPerlProc*) +{ + return geteuid(); +} + +gid_t +PerlProcGetgid(struct IPerlProc*) +{ + return getgid(); +} + +gid_t +PerlProcGetegid(struct IPerlProc*) +{ + return getegid(); +} + +char * +PerlProcGetlogin(struct IPerlProc*) +{ + return g_getlogin(); +} + +int +PerlProcKill(struct IPerlProc*, int pid, int sig) +{ + return win32_kill(pid, sig); +} + +int +PerlProcKillpg(struct IPerlProc*, int pid, int sig) +{ + dPERLOBJ; + croak("killpg not implemented!\n"); + return 0; +} + +int +PerlProcPauseProc(struct IPerlProc*) +{ + return win32_sleep((32767L << 16) + 32767); +} + +PerlIO* +PerlProcPopen(struct IPerlProc*, const char *command, const char *mode) +{ + win32_fflush(stdout); + win32_fflush(stderr); + return (PerlIO*)win32_popen(command, mode); +} + +int +PerlProcPclose(struct IPerlProc*, PerlIO *stream) +{ + return win32_pclose((FILE*)stream); +} + +int +PerlProcPipe(struct IPerlProc*, int *phandles) +{ + return win32_pipe(phandles, 512, O_BINARY); +} + +int +PerlProcSetuid(struct IPerlProc*, uid_t u) +{ + return setuid(u); +} + +int +PerlProcSetgid(struct IPerlProc*, gid_t g) +{ + return setgid(g); +} + +int +PerlProcSleep(struct IPerlProc*, unsigned int s) +{ + return win32_sleep(s); +} + +int +PerlProcTimes(struct IPerlProc*, struct tms *timebuf) +{ + return win32_times(timebuf); +} + +int +PerlProcWait(struct IPerlProc*, int *status) +{ + return win32_wait(status); +} + +int +PerlProcWaitpid(struct IPerlProc*, int pid, int *status, int flags) +{ + return win32_waitpid(pid, status, flags); +} + +Sighandler_t +PerlProcSignal(struct IPerlProc*, int sig, Sighandler_t subcode) +{ + return 0; +} + +void* +PerlProcDynaLoader(struct IPerlProc*, const char* filename) +{ + return win32_dynaload(filename); +} + +void +PerlProcGetOSError(struct IPerlProc*, SV* sv, DWORD dwErr) +{ + win32_str_os_error(aTHX_ sv, dwErr); +} + +BOOL +PerlProcDoCmd(struct IPerlProc*, char *cmd) +{ + do_spawn2(cmd, EXECF_EXEC); + return FALSE; +} + +int +PerlProcSpawn(struct IPerlProc*, char* cmds) +{ + return do_spawn2(cmds, EXECF_SPAWN); +} + +int +PerlProcSpawnvp(struct IPerlProc*, int mode, const char *cmdname, const char *const *argv) +{ + return win32_spawnvp(mode, cmdname, argv); +} + +int +PerlProcASpawn(struct IPerlProc*, void *vreally, void **vmark, void **vsp) +{ + return g_do_aspawn(vreally, vmark, vsp); +} + +struct IPerlProc perlProc = +{ + PerlProcAbort, + PerlProcCrypt, + PerlProcExit, + PerlProc_Exit, + PerlProcExecl, + PerlProcExecv, + PerlProcExecvp, + PerlProcGetuid, + PerlProcGeteuid, + PerlProcGetgid, + PerlProcGetegid, + PerlProcGetlogin, + PerlProcKill, + PerlProcKillpg, + PerlProcPauseProc, + PerlProcPopen, + PerlProcPclose, + PerlProcPipe, + PerlProcSetuid, + PerlProcSetgid, + PerlProcSleep, + PerlProcTimes, + PerlProcWait, + PerlProcWaitpid, + PerlProcSignal, + PerlProcDynaLoader, + PerlProcGetOSError, + PerlProcDoCmd, + PerlProcSpawn, + PerlProcSpawnvp, + PerlProcASpawn, +}; + +//#include "perlhost.h" + +static DWORD g_TlsAllocIndex; +BOOL SetPerlInterpreter(CPerlObj* pPerl) +{ + return TlsSetValue(g_TlsAllocIndex, pPerl); +} + +EXTERN_C CPerlObj* GetPerlInterpreter(PerlInterpreter* sv_interp) +{ + if(GetCurrentThreadId() == (DWORD)sv_interp) + return (CPerlObj*)TlsGetValue(g_TlsAllocIndex); + return NULL; +} + +CPerlObj* GetPerlInter(void) +{ + return (CPerlObj*)TlsGetValue(g_TlsAllocIndex); +} + + +EXTERN_C void perl_get_host_info(IPerlMemInfo* perlMemInfo, + IPerlEnvInfo* perlEnvInfo, IPerlStdIOInfo* perlStdIOInfo, + IPerlLIOInfo* perlLIOInfo, IPerlDirInfo* perlDirInfo, + IPerlSockInfo* perlSockInfo, IPerlProcInfo* perlProcInfo) +{ + if(perlMemInfo) { + Copy(&perlMem, &perlMemInfo->perlMemList, perlMemInfo->nCount, void*); + perlMemInfo->nCount = (sizeof(struct IPerlMem)/sizeof(void*)); + } + if(perlEnvInfo) { + Copy(&perlEnv, &perlEnvInfo->perlEnvList, perlEnvInfo->nCount, void*); + perlEnvInfo->nCount = (sizeof(struct IPerlEnv)/sizeof(void*)); + } + if(perlStdIOInfo) { + Copy(&perlStdIO, &perlStdIOInfo->perlStdIOList, perlStdIOInfo->nCount, void*); + perlStdIOInfo->nCount = (sizeof(struct IPerlStdIO)/sizeof(void*)); + } + if(perlLIOInfo) { + Copy(&perlLIO, &perlLIOInfo->perlLIOList, perlLIOInfo->nCount, void*); + perlLIOInfo->nCount = (sizeof(struct IPerlLIO)/sizeof(void*)); + } + if(perlDirInfo) { + Copy(&perlDir, &perlDirInfo->perlDirList, perlDirInfo->nCount, void*); + perlDirInfo->nCount = (sizeof(struct IPerlDir)/sizeof(void*)); + } + if(perlSockInfo) { + Copy(&perlSock, &perlSockInfo->perlSockList, perlSockInfo->nCount, void*); + perlSockInfo->nCount = (sizeof(struct IPerlSock)/sizeof(void*)); + } + if(perlProcInfo) { + Copy(&perlProc, &perlProcInfo->perlProcList, perlProcInfo->nCount, void*); + perlProcInfo->nCount = (sizeof(struct IPerlProc)/sizeof(void*)); + } +} + +EXTERN_C PerlInterpreter* perl_alloc_using(IPerlMem* pMem, + IPerlEnv* pEnv, IPerlStdIO* pStdIO, + IPerlLIO* pLIO, IPerlDir* pDir, + IPerlSock* pSock, IPerlProc* pProc) +{ + CPerlObj* pPerl = NULL; + try + { + pPerl = Perl_alloc(pMem, pEnv, pStdIO, pLIO, pDir, pSock, pProc); + } + catch(...) + { + win32_fprintf(stderr, "%s\n", "Error: Unable to allocate memory"); + pPerl = NULL; + } + if(pPerl) + { + SetPerlInterpreter(pPerl); + return (PerlInterpreter*)GetCurrentThreadId(); + } + SetPerlInterpreter(NULL); + return NULL; +} + +#undef perl_alloc +#undef perl_construct +#undef perl_destruct +#undef perl_free +#undef perl_run +#undef perl_parse +EXTERN_C PerlInterpreter* perl_alloc(void) +{ + CPerlObj* pPerl = NULL; + try + { + pPerl = Perl_alloc(&perlMem, &perlEnv, &perlStdIO, &perlLIO, + &perlDir, &perlSock, &perlProc); + } + catch(...) + { + win32_fprintf(stderr, "%s\n", "Error: Unable to allocate memory"); + pPerl = NULL; + } + if(pPerl) + { + SetPerlInterpreter(pPerl); + return (PerlInterpreter*)GetCurrentThreadId(); + } + SetPerlInterpreter(NULL); + return NULL; +} + +EXTERN_C void perl_construct(PerlInterpreter* sv_interp) +{ + CPerlObj* pPerl = GetPerlInterpreter(sv_interp); + try + { + pPerl->perl_construct(); + } + catch(...) + { + win32_fprintf(stderr, "%s\n", + "Error: Unable to construct data structures"); + pPerl->perl_free(); + SetPerlInterpreter(NULL); + } +} + +EXTERN_C void perl_destruct(PerlInterpreter* sv_interp) +{ + CPerlObj* pPerl = GetPerlInterpreter(sv_interp); + try + { + pPerl->perl_destruct(); + } + catch(...) + { + } +} + +EXTERN_C void perl_free(PerlInterpreter* sv_interp) +{ + CPerlObj* pPerl = GetPerlInterpreter(sv_interp); + try + { + pPerl->perl_free(); + } + catch(...) + { + } + SetPerlInterpreter(NULL); +} + +EXTERN_C int perl_run(PerlInterpreter* sv_interp) +{ + CPerlObj* pPerl = GetPerlInterpreter(sv_interp); + int retVal; + try + { + retVal = pPerl->perl_run(); + } +/* + catch(int x) + { + // this is where exit() should arrive + retVal = x; + } +*/ + catch(...) + { + win32_fprintf(stderr, "Error: Runtime exception\n"); + retVal = -1; + } + return retVal; +} + +EXTERN_C int perl_parse(PerlInterpreter* sv_interp, void (*xsinit)(CPerlObj*), int argc, char** argv, char** env) +{ + int retVal; + CPerlObj* pPerl = GetPerlInterpreter(sv_interp); + try + { + retVal = pPerl->perl_parse(xs_init, argc, argv, env); + } +/* + catch(int x) + { + // this is where exit() should arrive + retVal = x; + } +*/ + catch(...) + { + win32_fprintf(stderr, "Error: Parse exception\n"); + retVal = -1; + } + *win32_errno() = 0; + return retVal; +} + +#undef PL_perl_destruct_level +#define PL_perl_destruct_level int dummy +#undef w32_perldll_handle +#define w32_perldll_handle g_w32_perldll_handle +HANDLE g_w32_perldll_handle; +#else +extern HANDLE w32_perldll_handle; +#endif /* PERL_OBJECT */ DllExport int -RunPerl(int argc, char **argv, char **env, void *iosubsystem) +RunPerl(int argc, char **argv, char **env) { int exitstatus; PerlInterpreter *my_perl; struct perl_thread *thr; +#ifndef __BORLANDC__ + /* XXX this _may_ be a problem on some compilers (e.g. Borland) that + * want to free() argv after main() returns. As luck would have it, + * Borland's CRT does the right thing to argv[0] already. */ + char szModuleName[MAX_PATH]; + char *ptr; + + GetModuleFileName(NULL, szModuleName, sizeof(szModuleName)); + (void)win32_longpath(szModuleName); + argv[0] = szModuleName; +#endif + #ifdef PERL_GLOBAL_STRUCT #define PERLVAR(var,type) /**/ #define PERLVARI(var,type,init) PL_Vars.var = init; @@ -46,8 +1501,6 @@ RunPerl(int argc, char **argv, char **env, void *iosubsystem) return (exitstatus); } -extern HANDLE w32_perldll_handle; - BOOL APIENTRY DllMain(HANDLE hModule, /* DLL module handle */ DWORD fdwReason, /* reason called */ @@ -65,13 +1518,21 @@ DllMain(HANDLE hModule, /* DLL module handle */ setmode( fileno( stderr ), O_BINARY ); _fmode = O_BINARY; #endif +#ifdef PERL_OBJECT + g_TlsAllocIndex = TlsAlloc(); + DisableThreadLibraryCalls(hModule); +#else w32_perldll_handle = hModule; +#endif break; /* The DLL is detaching from a process due to * process termination or call to FreeLibrary. */ case DLL_PROCESS_DETACH: +#ifdef PERL_OBJECT + TlsFree(g_TlsAllocIndex); +#endif break; /* The attached process creates a new thread. */ @@ -88,20 +1549,3 @@ DllMain(HANDLE hModule, /* DLL module handle */ return TRUE; } -/* Register any extra external extensions */ - -char *staticlinkmodules[] = { - "DynaLoader", - NULL, -}; - -EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); - -static void -xs_init(pTHX) -{ - char *file = __FILE__; - dXSUB_SYS; - newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); -} - diff --git a/win32/runperl.c b/win32/runperl.c index e928670..ef44531 100644 --- a/win32/runperl.c +++ b/win32/runperl.c @@ -1,67 +1,6 @@ #include "EXTERN.h" #include "perl.h" -#ifdef PERL_OBJECT - -#define NO_XSLOCKS -#include "XSUB.H" -#include "win32iop.h" - -#include -#include "perlhost.h" - - -char *staticlinkmodules[] = { - "DynaLoader", - NULL, -}; - -EXTERN_C void boot_DynaLoader (CV* cv _CPERLarg); - -static void -xs_init(CPERLarg) -{ - char *file = __FILE__; - dXSUB_SYS; - newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); -} - -CPerlObj *pPerl; - -int -main(int argc, char **argv, char **env) -{ - CPerlHost host; - int exitstatus = 1; -#ifndef __BORLANDC__ - /* XXX this _may_ be a problem on some compilers (e.g. Borland) that - * want to free() argv after main() returns. As luck would have it, - * Borland's CRT does the right thing to argv[0] already. */ - char szModuleName[MAX_PATH]; - char *ptr; - - GetModuleFileName(NULL, szModuleName, sizeof(szModuleName)); - (void)win32_longpath(szModuleName); - argv[0] = szModuleName; -#endif - - PERL_SYS_INIT(&argc,&argv); - - if (!host.PerlCreate()) - exit(exitstatus); - - exitstatus = host.PerlParse(xs_init, argc, argv, NULL); - - if (!exitstatus) - exitstatus = host.PerlRun(); - - host.PerlDestroy(); - - return exitstatus; -} - -#else /* PERL_OBJECT */ - #ifdef __GNUC__ /* * GNU C does not do __declspec() @@ -78,23 +17,12 @@ int _CRT_glob = 0; #endif -__declspec(dllimport) int RunPerl(int argc, char **argv, char **env, void *ios); +__declspec(dllimport) int RunPerl(int argc, char **argv, char **env); int main(int argc, char **argv, char **env) { -#ifndef __BORLANDC__ - /* XXX this _may_ be a problem on some compilers (e.g. Borland) that - * want to free() argv after main() returns. As luck would have it, - * Borland's CRT does the right thing to argv[0] already. */ - char szModuleName[MAX_PATH]; - char *ptr; - - GetModuleFileName(NULL, szModuleName, sizeof(szModuleName)); - (void)win32_longpath(szModuleName); - argv[0] = szModuleName; -#endif - return RunPerl(argc, argv, env, (void*)0); + return RunPerl(argc, argv, env); } -#endif /* PERL_OBJECT */ + diff --git a/win32/win32.c b/win32/win32.c index 110da4f..2df9c7c 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -40,9 +40,6 @@ #include "perl.h" #define NO_XSLOCKS -#ifdef PERL_OBJECT -extern CPerlObj* pPerl; -#endif #include "XSUB.h" #include "Win32iop.h" @@ -81,13 +78,12 @@ int _CRT_glob = 0; #define do_aspawn g_do_aspawn #undef do_spawn #define do_spawn g_do_spawn -#undef do_exec -#define do_exec g_do_exec +#undef Perl_do_exec +#define Perl_do_exec g_do_exec #undef getlogin #define getlogin g_getlogin #endif -static DWORD os_id(void); static void get_shell(void); static long tokenize(char *str, char **dest, char ***destv); int do_spawn2(pTHX_ char *cmd, int exectype); @@ -129,13 +125,13 @@ static char crypt_buffer[30]; int IsWin95(void) { - return (os_id() == VER_PLATFORM_WIN32_WINDOWS); + return (win32_os_id() == VER_PLATFORM_WIN32_WINDOWS); } int IsWinNT(void) { - return (os_id() == VER_PLATFORM_WIN32_NT); + return (win32_os_id() == VER_PLATFORM_WIN32_NT); } /* *ptr is expected to point to valid allocated space (can't be NULL) */ @@ -153,6 +149,7 @@ GetRegStrFromKey(HKEY hkey, const char *lpszValueName, char** ptr, DWORD* lpData if (retval == ERROR_SUCCESS) { retval = RegQueryValueEx(handle, lpszValueName, 0, &type, NULL, lpDataLen); if (retval == ERROR_SUCCESS && type == REG_SZ) { + dPERLOBJ; Renew(*ptr, *lpDataLen, char); retval = RegQueryValueEx(handle, lpszValueName, 0, NULL, (PBYTE)*ptr, lpDataLen); @@ -244,6 +241,7 @@ get_emd_part(char **prev_path, char *trailing_path, ...) /* only add directory if it exists */ if (GetFileAttributes(mod_name) != (DWORD) -1) { /* directory exists */ + dPERLOBJ; newsize = strlen(mod_name) + 1; oldsize = strlen(*prev_path) + 1; newsize += oldsize; /* includes plus 1 for ';' */ @@ -263,6 +261,7 @@ win32_get_privlib(pTHX_ char *pl) char buffer[MAX_PATH+1]; char **path; DWORD datalen; + dPERLOBJ; SV *sv = sv_2mortal(newSVpvn("",127)); /* $stdlib = $HKCU{"lib-$]"} || $HKLM{"lib-$]"} || $HKCU{"lib"} || $HKLM{"lib"} || ""; */ @@ -288,6 +287,7 @@ win32_get_sitelib(pTHX_ char *pl) char **path1, *str1 = Nullch; char **path2, *str2 = Nullch; int len, newsize; + dPERLOBJ; SV *sv1 = sv_2mortal(newSVpvn("",127)); SV *sv2 = sv_2mortal(newSVpvn("",127)); @@ -407,8 +407,8 @@ Perl_my_pclose(pTHX_ PerlIO *fp) } #endif -static DWORD -os_id(void) +DllExport unsigned long +win32_os_id(void) { static OSVERSIONINFO osver; @@ -418,7 +418,7 @@ os_id(void) GetVersionEx(&osver); w32_platform = osver.dwPlatformId; } - return (w32_platform); + return (unsigned long)w32_platform; } /* Tokenize a string. Words are null-separated, and the list @@ -434,6 +434,7 @@ tokenize(char *str, char **dest, char ***destv) char **retvstart = 0; int items = -1; if (str) { + dPERLOBJ; int slen = strlen(str); register char *ret; register char **retv; @@ -476,6 +477,7 @@ tokenize(char *str, char **dest, char ***destv) static void get_shell(void) { + dPERLOBJ; if (!w32_perlshell_tokens) { /* we don't use COMSPEC here for two reasons: * 1. the same reason perl on UNIX doesn't use SHELL--rampant and @@ -503,6 +505,7 @@ do_aspawn(pTHX_ void *vreally, void **vmark, void **vsp) int status; int flag = P_WAIT; int index = 0; + dPERLOBJ; if (sp <= mark) return -1; @@ -564,6 +567,7 @@ do_spawn2(pTHX_ char *cmd, int exectype) int status = -1; BOOL needToTry = TRUE; char *cmd2; + dPERLOBJ; /* Save an extra exec if possible. See if there are shell * metacharacters in it */ @@ -681,6 +685,7 @@ win32_opendir(char *filename) char buffer[MAX_PATH*2]; WCHAR wbuffer[MAX_PATH]; char* ptr; + dPERLOBJ; len = strlen(filename); if (len > MAX_PATH) @@ -711,7 +716,7 @@ win32_opendir(char *filename) /* do the FindFirstFile call */ if (USING_WIDE()) { - A2WHELPER(scanname, wbuffer, sizeof(wbuffer), GETINTERPMODE()); + A2WHELPER(scanname, wbuffer, sizeof(wbuffer)); fh = FindFirstFileW(wbuffer, &wFindData); } else { @@ -729,7 +734,7 @@ win32_opendir(char *filename) * the filenames that we find. */ if (USING_WIDE()) { - W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer), GETINTERPMODE()); + W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer)); ptr = buffer; } else { @@ -751,7 +756,7 @@ win32_opendir(char *filename) ? FindNextFileW(fh, &wFindData) : FindNextFileA(fh, &aFindData)) { if (USING_WIDE()) { - W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer), GETINTERPMODE()); + W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer)); } /* ptr is set above to the correct area */ len = strlen(ptr); @@ -830,6 +835,7 @@ win32_rewinddir(DIR *dirp) int win32_closedir(DIR *dirp) { + dPERLOBJ; Safefree(dirp->start); Safefree(dirp); return 1; @@ -908,6 +914,7 @@ static long find_pid(int pid) { long child; + dPERLOBJ; for (child = 0 ; child < w32_num_children ; ++child) { if (w32_child_pids[child] == pid) return child; @@ -919,6 +926,7 @@ static void remove_dead_process(long child) { if (child >= 0) { + dPERLOBJ; CloseHandle(w32_child_handles[child]); Copy(&w32_child_handles[child+1], &w32_child_handles[child], (w32_num_children-child-1), HANDLE); @@ -981,9 +989,10 @@ win32_stat(const char *path, struct stat *buffer) break; } } + dPERLOBJ; if (USING_WIDE()) { dTHX; - A2WHELPER(path, wbuffer, sizeof(wbuffer), GETINTERPMODE()); + A2WHELPER(path, wbuffer, sizeof(wbuffer)); res = _wstat(wbuffer, (struct _stat *)buffer); } else { @@ -1128,6 +1137,7 @@ DllExport char * win32_getenv(const char *name) { dTHX; + dPERLOBJ; static char *curitem = Nullch; /* XXX threadead */ static WCHAR *wCuritem = (WCHAR*)Nullch; /* XXX threadead */ static DWORD curlen = 0, wCurlen = 0;/* XXX threadead */ @@ -1146,7 +1156,7 @@ win32_getenv(const char *name) } if (USING_WIDE()) { - A2WHELPER(name, wBuffer, sizeof(wBuffer), GETINTERPMODE()); + A2WHELPER(name, wBuffer, sizeof(wBuffer)); needlen = GetEnvironmentVariableW(wBuffer,wCuritem,wCurlen); } else @@ -1162,7 +1172,7 @@ win32_getenv(const char *name) Renew(curitem,needlen,char); curlen = needlen; } - W2AHELPER(wCuritem, curitem, curlen, GETINTERPMODE()); + W2AHELPER(wCuritem, curitem, curlen); } else { while (needlen > curlen) { @@ -1201,12 +1211,13 @@ win32_putenv(const char *name) WCHAR* wCuritem; WCHAR* wVal; int length, relval = -1; + dPERLOBJ; if (name) { if (USING_WIDE()) { dTHX; length = strlen(name)+1; New(1309,wCuritem,length,WCHAR); - A2WHELPER(name, wCuritem, length*2, GETINTERPMODE()); + A2WHELPER(name, wCuritem, length*2); wVal = wcschr(wCuritem, '='); if(wVal) { *wVal++ = '\0'; @@ -1312,11 +1323,12 @@ win32_utime(const char *filename, struct utimbuf *times) FILETIME ftWrite; struct utimbuf TimeBuffer; WCHAR wbuffer[MAX_PATH]; + dPERLOBJ; int rc; if (USING_WIDE()) { dTHX; - A2WHELPER(filename, wbuffer, sizeof(wbuffer), GETINTERPMODE()); + A2WHELPER(filename, wbuffer, sizeof(wbuffer)); rc = _wutime(wbuffer, (struct _utimbuf*)times); } else { @@ -1455,6 +1467,7 @@ win32_uname(struct utsname *name) DllExport int win32_waitpid(int pid, int *status, int flags) { + dPERLOBJ; int retval = -1; if (pid == -1) return win32_wait(status); @@ -1494,6 +1507,7 @@ win32_wait(int *status) */ int i, retval; DWORD exitcode, waitcode; + dPERLOBJ; if (!w32_num_children) { errno = ECHILD; @@ -1528,9 +1542,10 @@ static UINT timerid = 0; static VOID CALLBACK TimerProc(HWND win, UINT msg, UINT id, DWORD time) { - KillTimer(NULL,timerid); - timerid=0; - sighandler(14); + dPERLOBJ; + KillTimer(NULL,timerid); + timerid=0; + sighandler(14); } DllExport unsigned int @@ -1545,6 +1560,7 @@ win32_alarm(unsigned int sec) * Snag is unless something is looking at the message queue * nothing happens :-( */ + dPERLOBJ; if (sec) { timerid = SetTimer(NULL,timerid,sec*1000,(TIMERPROC)TimerProc); @@ -1572,6 +1588,7 @@ win32_crypt(const char *txt, const char *salt) { #ifdef HAVE_DES_FCRYPT dTHR; + dPERLOBJ; return des_fcrypt(txt, salt, crypt_buffer); #else die("The crypt() function is unimplemented due to excessive paranoia."); @@ -1694,6 +1711,7 @@ win32_flock(int fd, int oper) HANDLE fh; if (!IsWinNT()) { + dPERLOBJ; Perl_croak_nocontext("flock() unimplemented on this platform"); return -1; } @@ -1829,6 +1847,7 @@ win32_str_os_error(pTHX_ void *sv, DWORD dwErr) dwErr, GetLastError()); } if (sMsg) { + dPERLOBJ; sv_setpvn((SV*)sv, sMsg, dwLen); LocalFree(sMsg); } @@ -1886,10 +1905,11 @@ win32_fopen(const char *filename, const char *mode) if (stricmp(filename, "/dev/null")==0) filename = "NUL"; + dPERLOBJ; if (USING_WIDE()) { dTHX; - A2WHELPER(mode, wMode, sizeof(wMode), GETINTERPMODE()); - A2WHELPER(filename, wBuffer, sizeof(wBuffer), GETINTERPMODE()); + A2WHELPER(mode, wMode, sizeof(wMode)); + A2WHELPER(filename, wBuffer, sizeof(wBuffer)); return _wfopen(wBuffer, wMode); } return fopen(filename, mode); @@ -1904,9 +1924,10 @@ DllExport FILE * win32_fdopen(int handle, const char *mode) { WCHAR wMode[MODE_SIZE]; + dPERLOBJ; if (USING_WIDE()) { dTHX; - A2WHELPER(mode, wMode, sizeof(wMode), GETINTERPMODE()); + A2WHELPER(mode, wMode, sizeof(wMode)); return _wfdopen(handle, wMode); } return fdopen(handle, (char *) mode); @@ -1916,13 +1937,14 @@ DllExport FILE * win32_freopen(const char *path, const char *mode, FILE *stream) { WCHAR wMode[MODE_SIZE], wBuffer[MAX_PATH]; + dPERLOBJ; if (stricmp(path, "/dev/null")==0) path = "NUL"; if (USING_WIDE()) { dTHX; - A2WHELPER(mode, wMode, sizeof(wMode), GETINTERPMODE()); - A2WHELPER(path, wBuffer, sizeof(wBuffer), GETINTERPMODE()); + A2WHELPER(mode, wMode, sizeof(wMode)); + A2WHELPER(path, wBuffer, sizeof(wBuffer)); return _wfreopen(wBuffer, wMode, stream); } return freopen(path, mode, stream); @@ -2092,6 +2114,7 @@ win32_popen(const char *command, const char *mode) /* start the child */ { dTHX; + dPERLOBJ; if ((childpid = do_spawn_nowait(aTHX_ (char*)command)) == -1) goto cleanup; @@ -2132,6 +2155,7 @@ win32_pclose(FILE *pf) return _pclose(pf); #else dTHX; + dPERLOBJ; int childpid, status; SV *sv; @@ -2167,10 +2191,11 @@ win32_rename(const char *oname, const char *newname) * it doesn't work under Windows95! */ if (IsWinNT()) { + dPERLOBJ; if (USING_WIDE()) { dTHX; - A2WHELPER(oname, wOldName, sizeof(wOldName), GETINTERPMODE()); - A2WHELPER(newname, wNewName, sizeof(wNewName), GETINTERPMODE()); + A2WHELPER(oname, wOldName, sizeof(wOldName)); + A2WHELPER(newname, wNewName, sizeof(wNewName)); bResult = MoveFileExW(wOldName,wNewName, MOVEFILE_COPY_ALLOWED|MOVEFILE_REPLACE_EXISTING); } @@ -2295,6 +2320,7 @@ win32_open(const char *path, int flag, ...) va_list ap; int pmode; WCHAR wBuffer[MAX_PATH]; + dPERLOBJ; va_start(ap, flag); pmode = va_arg(ap, int); @@ -2305,7 +2331,7 @@ win32_open(const char *path, int flag, ...) if (USING_WIDE()) { dTHX; - A2WHELPER(path, wBuffer, sizeof(wBuffer), GETINTERPMODE()); + A2WHELPER(path, wBuffer, sizeof(wBuffer)); return _wopen(wBuffer, flag, pmode); } return open(path,flag,pmode); @@ -2371,6 +2397,7 @@ create_command_line(const char* command, const char * const *args) int index; char *cmd, *ptr, *arg; STRLEN len = strlen(command) + 1; + dPERLOBJ; for (index = 0; (ptr = (char*)args[index]) != NULL; ++index) len += strlen(ptr) + 1; @@ -2395,6 +2422,7 @@ qualified_path(const char *cmd) char *fullcmd, *curfullcmd; STRLEN cmdlen = 0; int has_slash = 0; + dPERLOBJ; if (!cmd) return Nullch; @@ -2496,6 +2524,7 @@ win32_spawnvp(int mode, const char *cmdname, const char *const *argv) STARTUPINFO StartupInfo; PROCESS_INFORMATION ProcessInformation; DWORD create = 0; + dPERLOBJ; char *cmd = create_command_line(cmdname, strcmp(cmdname, argv[0]) == 0 ? &argv[1] : argv); @@ -2786,6 +2815,54 @@ win32_get_osfhandle(int fd) return _get_osfhandle(fd); } +DllExport void* +win32_dynaload(aTHX_ const char*filename) +{ + HMODULE hModule; + dPERLOBJ; + if (USING_WIDE()) { + WCHAR wfilename[MAX_PATH]; + A2WHELPER(filename, wfilename, sizeof(wfilename)); + hModule = LoadLibraryExW(wfilename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); + } + else { + hModule = LoadLibraryExA(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); + } + return hModule; +} + +DllExport int +win32_add_host(char *nameId, void *data) +{ + /* + * This must be called before the script is parsed, + * therefore no locking of threads is needed + */ + dTHX; + dPERLOBJ; + struct host_link *link; + New(1314, link, 1, struct host_link); + link->host_data = data; + link->nameId = nameId; + link->next = w32_host_link; + w32_host_link = link; + return 1; +} + +DllExport void * +win32_get_host_data(char *nameId) +{ + dTHX; + dPERLOBJ; + struct host_link *link = w32_host_link; + while(link) { + if(strEQ(link->nameId, nameId)) + return link->host_data; + link = link->next; + } + return Nullch; +} + /* * Extras. */ @@ -3171,6 +3248,7 @@ Perl_init_os_extras(pTHX) { char *file = __FILE__; dXSUB_SYS; + dPERLOBJ; w32_perlshell_tokens = Nullch; w32_perlshell_items = -1; @@ -3251,3 +3329,4 @@ win32_strip_return(SV *sv) } #endif + diff --git a/win32/win32.h b/win32/win32.h index c688ee9..ee25b5a 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -188,7 +188,10 @@ typedef long gid_t; typedef unsigned short mode_t; #pragma warning(disable: 4018 4035 4101 4102 4244 4245 4761) -#ifndef PERL_OBJECT +#ifdef PERL_OBJECT +extern CPerlObj* GetPerlInter(void); +#define dPERLOBJ CPerlObj* pPerl = GetPerlInter() +#else /* PERL_OBJECT */ /* Visual C thinks that a pointer to a member variable is 16 bytes in size. */ #define STRUCT_MGVTBL_DEFINITION \ @@ -235,6 +238,8 @@ struct mgvtbl { \ char handle_VC_problem[16]; \ } + +#define dPERLOBJ #endif /* PERL_OBJECT */ #endif /* _MSC_VER */ @@ -345,6 +350,12 @@ typedef struct { DWORD pids[MAXIMUM_WAIT_OBJECTS]; } child_tab; +struct host_link { + char * nameId; + void * host_data; + struct host_link * next; +}; + struct interp_intern { char * perlshell_tokens; char ** perlshell_vec; @@ -352,6 +363,7 @@ struct interp_intern { struct av * fdpid; child_tab * children; HANDLE child_handles[MAXIMUM_WAIT_OBJECTS]; + struct host_link * hostlist; }; @@ -363,6 +375,7 @@ struct interp_intern { #define w32_num_children (w32_children->num) #define w32_child_pids (w32_children->pids) #define w32_child_handles (PL_sys_intern.child_handles) +#define w32_host_link (PL_sys_intern.hostlist) /* * Now Win32 specific per-thread data stuff @@ -395,15 +408,13 @@ struct thread_intern { /* Use CP_ACP when mode is ANSI */ /* Use CP_UTF8 when mode is UTF8 */ -#define A2WHELPER(lpa, lpw, nChars, acp)\ - lpw[0] = 0, MultiByteToWideChar(acp, 0, lpa, -1, lpw, nChars) +#define A2WHELPER(lpa, lpw, nChars)\ + lpw[0] = 0, MultiByteToWideChar((IN_UTF8) ? CP_UTF8 : CP_ACP, 0, lpa, -1, lpw, nChars) -#define W2AHELPER(lpw, lpa, nChars, acp)\ - lpa[0] = '\0', WideCharToMultiByte(acp, 0, lpw, -1, lpa, nChars, NULL, NULL) +#define W2AHELPER(lpw, lpa, nChars)\ + lpa[0] = '\0', WideCharToMultiByte((IN_UTF8) ? CP_UTF8 : CP_ACP, 0, lpw, -1, (LPSTR)lpa, nChars, NULL, NULL) -/* place holders for now */ -#define USING_WIDE() (IsWinNT()) -#define GETINTERPMODE() (IN_UTF8) +#define USING_WIDE() (PerlEnv_os_id() == VER_PLATFORM_WIN32_NT) /* * This provides a layer of functions and macros to ensure extensions will diff --git a/win32/win32iop.h b/win32/win32iop.h index bcdc304..e294e73 100644 --- a/win32/win32iop.h +++ b/win32/win32iop.h @@ -129,6 +129,8 @@ DllExport int win32_uname(struct utsname *n); DllExport int win32_wait(int *status); DllExport int win32_waitpid(int pid, int *status, int flags); DllExport int win32_kill(int pid, int sig); +DllExport unsigned long win32_os_id(void); +DllExport void* win32_dynaload(const char*filename); #if defined(HAVE_DES_FCRYPT) || defined(PERL_OBJECT) DllExport char * win32_crypt(const char *txt, const char *salt); @@ -276,6 +278,7 @@ END_EXTERN_C #define seekdir win32_seekdir #define rewinddir win32_rewinddir #define closedir win32_closedir +#define os_id win32_os_id #ifdef HAVE_DES_FCRYPT #undef crypt diff --git a/win32/win32sck.c b/win32/win32sck.c index 8bd6b6c..abc6334 100644 --- a/win32/win32sck.c +++ b/win32/win32sck.c @@ -20,7 +20,6 @@ #if defined(PERL_OBJECT) #define NO_XSLOCKS -extern CPerlObj* pPerl; #include "XSUB.h" #endif @@ -96,6 +95,7 @@ start_sockets(void) unsigned short version; WSADATA retdata; int ret; + dPERLOBJ; /* * initalize the winsock interface and insure that it is @@ -523,6 +523,7 @@ win32_ioctl(int i, unsigned int u, char *data) { u_long argp = (u_long)data; int retval; + dPERLOBJ; if (!wsock_started) { Perl_croak_nocontext("ioctl implemented only on sockets"); @@ -561,24 +562,28 @@ win32_inet_addr(const char FAR *cp) void win32_endhostent() { + dPERLOBJ; Perl_croak_nocontext("endhostent not implemented!\n"); } void win32_endnetent() { + dPERLOBJ; Perl_croak_nocontext("endnetent not implemented!\n"); } void win32_endprotoent() { + dPERLOBJ; Perl_croak_nocontext("endprotoent not implemented!\n"); } void win32_endservent() { + dPERLOBJ; Perl_croak_nocontext("endservent not implemented!\n"); } @@ -586,6 +591,7 @@ win32_endservent() struct netent * win32_getnetent(void) { + dPERLOBJ; Perl_croak_nocontext("getnetent not implemented!\n"); return (struct netent *) NULL; } @@ -593,6 +599,7 @@ win32_getnetent(void) struct netent * win32_getnetbyname(char *name) { + dPERLOBJ; Perl_croak_nocontext("getnetbyname not implemented!\n"); return (struct netent *)NULL; } @@ -600,6 +607,7 @@ win32_getnetbyname(char *name) struct netent * win32_getnetbyaddr(long net, int type) { + dPERLOBJ; Perl_croak_nocontext("getnetbyaddr not implemented!\n"); return (struct netent *)NULL; } @@ -607,6 +615,7 @@ win32_getnetbyaddr(long net, int type) struct protoent * win32_getprotoent(void) { + dPERLOBJ; Perl_croak_nocontext("getprotoent not implemented!\n"); return (struct protoent *) NULL; } @@ -614,6 +623,7 @@ win32_getprotoent(void) struct servent * win32_getservent(void) { + dPERLOBJ; Perl_croak_nocontext("getservent not implemented!\n"); return (struct servent *) NULL; } @@ -621,6 +631,7 @@ win32_getservent(void) void win32_sethostent(int stayopen) { + dPERLOBJ; Perl_croak_nocontext("sethostent not implemented!\n"); } @@ -628,6 +639,7 @@ win32_sethostent(int stayopen) void win32_setnetent(int stayopen) { + dPERLOBJ; Perl_croak_nocontext("setnetent not implemented!\n"); } @@ -635,6 +647,7 @@ win32_setnetent(int stayopen) void win32_setprotoent(int stayopen) { + dPERLOBJ; Perl_croak_nocontext("setprotoent not implemented!\n"); } @@ -642,6 +655,7 @@ win32_setprotoent(int stayopen) void win32_setservent(int stayopen) { + dPERLOBJ; Perl_croak_nocontext("setservent not implemented!\n"); }