* embed.h
*
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
+ * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
#if defined(MYMALLOC)
#ifdef PERL_CORE
#define malloced_size Perl_malloced_size
+#define malloc_good_size Perl_malloc_good_size
#endif
#endif
#define get_context Perl_get_context
#endif
#define croak Perl_croak
#define vcroak Perl_vcroak
+#define croak_xs_usage Perl_croak_xs_usage
#if defined(PERL_IMPLICIT_CONTEXT)
#define croak_nocontext Perl_croak_nocontext
#define die_nocontext Perl_die_nocontext
#define do_exec Perl_do_exec
#endif
#endif
-#if defined(WIN32) || defined(__SYMBIAN32__)
+#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
#define do_aspawn Perl_do_aspawn
#define do_spawn Perl_do_spawn
#define do_spawn_nowait Perl_do_spawn_nowait
#define gv_fetchmeth Perl_gv_fetchmeth
#define gv_fetchmeth_autoload Perl_gv_fetchmeth_autoload
#define gv_fetchmethod_autoload Perl_gv_fetchmethod_autoload
+#define gv_fetchmethod_flags Perl_gv_fetchmethod_flags
#define gv_fetchpv Perl_gv_fetchpv
#define gv_fullname Perl_gv_fullname
#define gv_fullname4 Perl_gv_fullname4
#define hv_iternext_flags Perl_hv_iternext_flags
#define hv_iterval Perl_hv_iterval
#define hv_ksplit Perl_hv_ksplit
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define refcounted_he_new_common S_refcounted_he_new_common
+#endif
+#endif
#define hv_undef Perl_hv_undef
#define ibcmp Perl_ibcmp
#define ibcmp_locale Perl_ibcmp_locale
#define op_refcnt_lock Perl_op_refcnt_lock
#define op_refcnt_unlock Perl_op_refcnt_unlock
#ifdef PERL_CORE
-#define linklist Perl_linklist
+#define linklist S_linklist
#define list Perl_list
#define listkids Perl_listkids
#endif
#define mode_from_discipline Perl_mode_from_discipline
#endif
#define moreswitches Perl_moreswitches
-#ifdef PERL_CORE
-#define my Perl_my
-#endif
#define my_atof Perl_my_atof
#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
#define my_bcopy Perl_my_bcopy
#define save_shared_pvref Perl_save_shared_pvref
#define save_gp Perl_save_gp
#define save_hash Perl_save_hash
-#define save_helem Perl_save_helem
+#define save_helem_flags Perl_save_helem_flags
#define save_hptr Perl_save_hptr
#define save_I16 Perl_save_I16
#define save_I32 Perl_save_I32
#define save_pptr Perl_save_pptr
#define save_vptr Perl_save_vptr
#define save_re_context Perl_save_re_context
-#define save_padsv Perl_save_padsv
+#define save_padsv_and_mortalize Perl_save_padsv_and_mortalize
#define save_sptr Perl_save_sptr
#define save_svref Perl_save_svref
#ifdef PERL_CORE
#define setenv_getix Perl_setenv_getix
#endif
#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
#define setdefout Perl_setdefout
-#endif
#define share_hek Perl_share_hek
#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
#ifdef PERL_CORE
#define sv_gets Perl_sv_gets
#define sv_grow Perl_sv_grow
#define sv_inc Perl_sv_inc
-#define sv_insert Perl_sv_insert
+#define sv_insert_flags Perl_sv_insert_flags
#define sv_isa Perl_sv_isa
#define sv_isobject Perl_sv_isobject
#define sv_len Perl_sv_len
#define ck_grep Perl_ck_grep
#define ck_index Perl_ck_index
#define ck_join Perl_ck_join
-#define ck_lengthconst Perl_ck_lengthconst
#define ck_lfun Perl_ck_lfun
#define ck_listiob Perl_ck_listiob
#define ck_match Perl_ck_match
#define ck_readline Perl_ck_readline
#define ck_repeat Perl_ck_repeat
#define ck_require Perl_ck_require
-#define ck_retarget Perl_ck_retarget
#define ck_return Perl_ck_return
#define ck_rfun Perl_ck_rfun
#define ck_rvconst Perl_ck_rvconst
#define modkids S_modkids
#define scalarboolean S_scalarboolean
#define newDEFSVOP S_newDEFSVOP
+#define search_const S_search_const
#define new_logop S_new_logop
#define simplify_sort S_simplify_sort
#define gv_ename S_gv_ename
#define nuke_stacks S_nuke_stacks
#define open_script S_open_script
#define usage S_usage
-#define validate_suid S_validate_suid
+#endif
+#ifdef DOSUID
+# ifdef IAMSUID
+# else
+# endif
+#else
+# ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+# endif
#endif
# if defined(IAMSUID)
#ifdef PERL_CORE
#endif
# endif
# if !defined(NV_PRESERVES_UV)
+# ifdef DEBUGGING
+#ifdef PERL_CORE
+#define sv_2iuv_non_preserve S_sv_2iuv_non_preserve
+#endif
+# else
#ifdef PERL_CORE
#define sv_2iuv_non_preserve S_sv_2iuv_non_preserve
#endif
+# endif
# endif
#ifdef PERL_CORE
#define expect_number S_expect_number
#define vdie_common S_vdie_common
#define write_no_mem S_write_no_mem
#endif
+#if defined(PERL_MEM_LOG) && defined(PERL_MEM_LOG_STDERR)
+#ifdef PERL_CORE
+#define mem_log_common S_mem_log_common
+#endif
+#endif
#endif
#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define ck_grep Perl_ck_grep
#define ck_index Perl_ck_index
#define ck_join Perl_ck_join
-#define ck_lengthconst Perl_ck_lengthconst
#define ck_lfun Perl_ck_lfun
#define ck_listiob Perl_ck_listiob
#define ck_match Perl_ck_match
#define pp_gvsv Perl_pp_gvsv
#define pp_helem Perl_pp_helem
#define pp_hex Perl_pp_hex
+#define pp_hintseval Perl_pp_hintseval
#define pp_hslice Perl_pp_hslice
#define pp_i_add Perl_pp_i_add
#define pp_i_divide Perl_pp_i_divide
#define pp_seq Perl_pp_seq
#define pp_setpgrp Perl_pp_setpgrp
#define pp_setpriority Perl_pp_setpriority
-#define pp_setstate Perl_pp_setstate
#define pp_sge Perl_pp_sge
#define pp_sgrent Perl_pp_sgrent
#define pp_sgt Perl_pp_sgt
#if defined(MYMALLOC)
#ifdef PERL_CORE
#define malloced_size Perl_malloced_size
+#define malloc_good_size Perl_malloc_good_size
#endif
#endif
#define get_context Perl_get_context
#define create_eval_scope(a) Perl_create_eval_scope(aTHX_ a)
#endif
#define vcroak(a,b) Perl_vcroak(aTHX_ a,b)
+#define croak_xs_usage(a,b) Perl_croak_xs_usage(aTHX_ a,b)
#if defined(PERL_IMPLICIT_CONTEXT)
#endif
#ifdef PERL_CORE
#define do_exec(a) Perl_do_exec(aTHX_ a)
#endif
#endif
-#if defined(WIN32) || defined(__SYMBIAN32__)
+#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
#define do_aspawn(a,b,c) Perl_do_aspawn(aTHX_ a,b,c)
#define do_spawn(a) Perl_do_spawn(aTHX_ a)
#define do_spawn_nowait(a) Perl_do_spawn_nowait(aTHX_ a)
#define gv_fetchmeth(a,b,c,d) Perl_gv_fetchmeth(aTHX_ a,b,c,d)
#define gv_fetchmeth_autoload(a,b,c,d) Perl_gv_fetchmeth_autoload(aTHX_ a,b,c,d)
#define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
+#define gv_fetchmethod_flags(a,b,c) Perl_gv_fetchmethod_flags(aTHX_ a,b,c)
#define gv_fetchpv(a,b,c) Perl_gv_fetchpv(aTHX_ a,b,c)
#define gv_fullname(a,b) Perl_gv_fullname(aTHX_ a,b)
#define gv_fullname4(a,b,c,d) Perl_gv_fullname4(aTHX_ a,b,c,d)
#endif
#if defined(PERL_CORE) || defined(PERL_EXT)
#endif
+#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define refcounted_he_new_common(a,b,c,d,e,f,g) S_refcounted_he_new_common(aTHX_ a,b,c,d,e,f,g)
+#endif
+#endif
#define hv_undef(a) Perl_hv_undef(aTHX_ a)
#define ibcmp(a,b,c) Perl_ibcmp(aTHX_ a,b,c)
#define ibcmp_locale(a,b,c) Perl_ibcmp_locale(aTHX_ a,b,c)
#define op_refcnt_lock() Perl_op_refcnt_lock(aTHX)
#define op_refcnt_unlock() Perl_op_refcnt_unlock(aTHX)
#ifdef PERL_CORE
-#define linklist(a) Perl_linklist(aTHX_ a)
+#define linklist(a) S_linklist(aTHX_ a)
#define list(a) Perl_list(aTHX_ a)
#define listkids(a) Perl_listkids(aTHX_ a)
#endif
#define mg_clear(a) Perl_mg_clear(aTHX_ a)
#define mg_copy(a,b,c,d) Perl_mg_copy(aTHX_ a,b,c,d)
#ifdef PERL_CORE
-#define mg_localize(a,b) Perl_mg_localize(aTHX_ a,b)
+#define mg_localize(a,b,c) Perl_mg_localize(aTHX_ a,b,c)
#endif
#define mg_find(a,b) Perl_mg_find(aTHX_ a,b)
#define mg_free(a) Perl_mg_free(aTHX_ a)
#define mod(a,b) Perl_mod(aTHX_ a,b)
#endif
#ifdef PERL_CORE
-#define mode_from_discipline(a) Perl_mode_from_discipline(aTHX_ a)
+#define mode_from_discipline(a,b) Perl_mode_from_discipline(aTHX_ a,b)
#endif
#define moreswitches(a) Perl_moreswitches(aTHX_ a)
-#ifdef PERL_CORE
-#define my(a) Perl_my(aTHX_ a)
-#endif
#define my_atof(a) Perl_my_atof(aTHX_ a)
#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
#define my_bcopy Perl_my_bcopy
#define save_shared_pvref(a) Perl_save_shared_pvref(aTHX_ a)
#define save_gp(a,b) Perl_save_gp(aTHX_ a,b)
#define save_hash(a) Perl_save_hash(aTHX_ a)
-#define save_helem(a,b,c) Perl_save_helem(aTHX_ a,b,c)
+#define save_helem_flags(a,b,c,d) Perl_save_helem_flags(aTHX_ a,b,c,d)
#define save_hptr(a) Perl_save_hptr(aTHX_ a)
#define save_I16(a) Perl_save_I16(aTHX_ a)
#define save_I32(a) Perl_save_I32(aTHX_ a)
#define save_pptr(a) Perl_save_pptr(aTHX_ a)
#define save_vptr(a) Perl_save_vptr(aTHX_ a)
#define save_re_context() Perl_save_re_context(aTHX)
-#define save_padsv(a) Perl_save_padsv(aTHX_ a)
+#define save_padsv_and_mortalize(a) Perl_save_padsv_and_mortalize(aTHX_ a)
#define save_sptr(a) Perl_save_sptr(aTHX_ a)
#define save_svref(a) Perl_save_svref(aTHX_ a)
#ifdef PERL_CORE
#define setenv_getix(a) Perl_setenv_getix(aTHX_ a)
#endif
#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
#define setdefout(a) Perl_setdefout(aTHX_ a)
-#endif
#define share_hek(a,b,c) Perl_share_hek(aTHX_ a,b,c)
#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
#ifdef PERL_CORE
#define sv_gets(a,b,c) Perl_sv_gets(aTHX_ a,b,c)
#define sv_grow(a,b) Perl_sv_grow(aTHX_ a,b)
#define sv_inc(a) Perl_sv_inc(aTHX_ a)
-#define sv_insert(a,b,c,d,e) Perl_sv_insert(aTHX_ a,b,c,d,e)
+#define sv_insert_flags(a,b,c,d,e,f) Perl_sv_insert_flags(aTHX_ a,b,c,d,e,f)
#define sv_isa(a,b) Perl_sv_isa(aTHX_ a,b)
#define sv_isobject(a) Perl_sv_isobject(aTHX_ a)
#define sv_len(a) Perl_sv_len(aTHX_ a)
#define ck_grep(a) Perl_ck_grep(aTHX_ a)
#define ck_index(a) Perl_ck_index(aTHX_ a)
#define ck_join(a) Perl_ck_join(aTHX_ a)
-#define ck_lengthconst(a) Perl_ck_lengthconst(aTHX_ a)
#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
#define ck_match(a) Perl_ck_match(aTHX_ a)
#define ck_readline(a) Perl_ck_readline(aTHX_ a)
#define ck_repeat(a) Perl_ck_repeat(aTHX_ a)
#define ck_require(a) Perl_ck_require(aTHX_ a)
-#define ck_retarget(a) Perl_ck_retarget(aTHX_ a)
#define ck_return(a) Perl_ck_return(aTHX_ a)
#define ck_rfun(a) Perl_ck_rfun(aTHX_ a)
#define ck_rvconst(a) Perl_ck_rvconst(aTHX_ a)
#define modkids(a,b) S_modkids(aTHX_ a,b)
#define scalarboolean(a) S_scalarboolean(aTHX_ a)
#define newDEFSVOP() S_newDEFSVOP(aTHX)
+#define search_const(a) S_search_const(aTHX_ a)
#define new_logop(a,b,c,d) S_new_logop(aTHX_ a,b,c,d)
#define simplify_sort(a) S_simplify_sort(aTHX_ a)
#define gv_ename(a) S_gv_ename(aTHX_ a)
#define init_predump_symbols() S_init_predump_symbols(aTHX)
#define my_exit_jump() S_my_exit_jump(aTHX)
#define nuke_stacks() S_nuke_stacks(aTHX)
-#define open_script(a,b,c,d,e) S_open_script(aTHX_ a,b,c,d,e)
+#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,d,e,f) S_validate_suid(aTHX_ a,b,c,d,e,f)
+#endif
+#ifdef DOSUID
+# ifdef IAMSUID
+#ifdef PERL_CORE
+#endif
+# else
+#ifdef PERL_CORE
+#endif
+# endif
+#else
+# ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+#ifdef PERL_CORE
+#endif
+# endif
#endif
# if defined(IAMSUID)
#ifdef PERL_CORE
#endif
#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define save_scalar_at(a) S_save_scalar_at(aTHX_ a)
+#define save_scalar_at(a,b) S_save_scalar_at(aTHX_ a,b)
#endif
#endif
#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
#endif
# endif
# if !defined(NV_PRESERVES_UV)
+# ifdef DEBUGGING
#ifdef PERL_CORE
#define sv_2iuv_non_preserve(a,b) S_sv_2iuv_non_preserve(aTHX_ a,b)
#endif
+# else
+#ifdef PERL_CORE
+#define sv_2iuv_non_preserve(a) S_sv_2iuv_non_preserve(aTHX_ a)
+#endif
+# endif
# endif
#ifdef PERL_CORE
#define expect_number(a) S_expect_number(aTHX_ a)
# endif
# if defined(DEBUGGING)
#ifdef PERL_CORE
-#define tokereport(a) S_tokereport(aTHX_ a)
+#define tokereport(a,b) S_tokereport(aTHX_ a,b)
#define printbuf(a,b) S_printbuf(aTHX_ a,b)
#endif
# endif
#endif
#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define isa_lookup(a,b,c) S_isa_lookup(aTHX_ a,b,c)
+#define isa_lookup(a,b) S_isa_lookup(aTHX_ a,b)
#endif
#endif
#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
#define vdie_common(a,b,c,d) S_vdie_common(aTHX_ a,b,c,d)
#define write_no_mem() S_write_no_mem(aTHX)
#endif
+#if defined(PERL_MEM_LOG) && defined(PERL_MEM_LOG_STDERR)
+#ifdef PERL_CORE
+#define mem_log_common S_mem_log_common
+#endif
+#endif
#endif
#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#ifdef PERL_CORE
#define boot_core_mro() Perl_boot_core_mro(aTHX)
#endif
+#ifdef PERL_CORE
+#endif
#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a)
#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
#define ck_chdir(a) Perl_ck_chdir(aTHX_ a)
#define ck_grep(a) Perl_ck_grep(aTHX_ a)
#define ck_index(a) Perl_ck_index(aTHX_ a)
#define ck_join(a) Perl_ck_join(aTHX_ a)
-#define ck_lengthconst(a) Perl_ck_lengthconst(aTHX_ a)
#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
#define ck_match(a) Perl_ck_match(aTHX_ a)
#define pp_gvsv() Perl_pp_gvsv(aTHX)
#define pp_helem() Perl_pp_helem(aTHX)
#define pp_hex() Perl_pp_hex(aTHX)
+#define pp_hintseval() Perl_pp_hintseval(aTHX)
#define pp_hslice() Perl_pp_hslice(aTHX)
#define pp_i_add() Perl_pp_i_add(aTHX)
#define pp_i_divide() Perl_pp_i_divide(aTHX)
#define pp_seq() Perl_pp_seq(aTHX)
#define pp_setpgrp() Perl_pp_setpgrp(aTHX)
#define pp_setpriority() Perl_pp_setpriority(aTHX)
-#define pp_setstate() Perl_pp_setstate(aTHX)
#define pp_sge() Perl_pp_sge(aTHX)
#define pp_sgrent() Perl_pp_sgrent(aTHX)
#define pp_sgt() Perl_pp_sgt(aTHX)