/*
* embed.h
*
- * Copyright (c) 1997-2002, Larry Wall
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ * 2000, 2001, 2002, 2003, 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.
/* (Doing namespace management portably in C is really gross.) */
-/* NO_EMBED is no longer supported. i.e. EMBED is always active--
- * but you can define PERL_HIDE_SHORT_NAMES to achieve the same. */
+/* By defining PERL_NO_SHORT_NAMES (not done by default) the short forms
+ * (like warn instead of Perl_warn) for the API are not defined.
+ * Not defining the short forms is a good thing for cleaner embedding. */
-#ifndef PERL_HIDE_SHORT_NAMES
+#ifndef PERL_NO_SHORT_NAMES
/* Hide global symbols */
#define magic_setpos Perl_magic_setpos
#endif
#ifdef PERL_CORE
+#define magic_setregexp Perl_magic_setregexp
+#endif
+#ifdef PERL_CORE
#define magic_setsig Perl_magic_setsig
#endif
#ifdef PERL_CORE
#ifdef PERL_CORE
#define peep Perl_peep
#endif
-#ifdef PERL_CORE
-#endif
#if defined(USE_REENTRANT_API)
#define reentrant_size Perl_reentrant_size
#define reentrant_init Perl_reentrant_init
#define sv_setpvf Perl_sv_setpvf
#define sv_vsetpvf Perl_sv_vsetpvf
#define sv_setiv Perl_sv_setiv
+#define sv_setpviv Perl_sv_setpviv
#define sv_setuv Perl_sv_setuv
#define sv_setnv Perl_sv_setnv
#define sv_setref_iv Perl_sv_setref_iv
#define sv_setpvf_mg Perl_sv_setpvf_mg
#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg
#define sv_setiv_mg Perl_sv_setiv_mg
+#define sv_setpviv_mg Perl_sv_setpviv_mg
#define sv_setuv_mg Perl_sv_setuv_mg
#define sv_setnv_mg Perl_sv_setnv_mg
#define sv_setpv_mg Perl_sv_setpv_mg
#endif
#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define doencodes S_doencodes
+#define unpack_rec S_unpack_rec
+#endif
+#ifdef PERL_CORE
+#define pack_rec S_pack_rec
#endif
#ifdef PERL_CORE
#define mul128 S_mul128
#endif
#ifdef PERL_CORE
-#define is_an_int S_is_an_int
+#define measure_struct S_measure_struct
#endif
#ifdef PERL_CORE
-#define div128 S_div128
+#define group_end S_group_end
+#endif
+#ifdef PERL_CORE
+#define get_num S_get_num
#endif
#ifdef PERL_CORE
#define next_symbol S_next_symbol
#endif
#ifdef PERL_CORE
-#define find_count S_find_count
+#define doencodes S_doencodes
#endif
#ifdef PERL_CORE
-#define group_end S_group_end
+#define is_an_int S_is_an_int
#endif
#ifdef PERL_CORE
-#define measure_struct S_measure_struct
+#define div128 S_div128
#endif
#endif
#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
#define mess_alloc S_mess_alloc
#endif
#endif
+#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define mulexp10 S_mulexp10
+#endif
+#endif
#define sv_setsv_flags Perl_sv_setsv_flags
#define sv_catpvn_flags Perl_sv_catpvn_flags
#define sv_catsv_flags Perl_sv_catsv_flags
#define sv_copypv Perl_sv_copypv
#define my_atof2 Perl_my_atof2
#define my_socketpair Perl_my_socketpair
+#ifdef PERL_COPY_ON_WRITE
+#ifdef PERL_CORE
+#define sv_setsv_cow Perl_sv_setsv_cow
+#endif
+#endif
#if defined(USE_PERLIO) && !defined(USE_SFIO)
#define PerlIO_close Perl_PerlIO_close
#define PerlIO_fill Perl_PerlIO_fill
#ifdef PERL_CORE
#define find_runcv Perl_find_runcv
#endif
+#ifdef PERL_CORE
+#define free_tied_hv_pool Perl_free_tied_hv_pool
+#endif
#define ck_anoncode Perl_ck_anoncode
#define ck_bitop Perl_ck_bitop
#define ck_concat Perl_ck_concat
#define magic_setpos(a,b) Perl_magic_setpos(aTHX_ a,b)
#endif
#ifdef PERL_CORE
+#define magic_setregexp(a,b) Perl_magic_setregexp(aTHX_ a,b)
+#endif
+#ifdef PERL_CORE
#define magic_setsig(a,b) Perl_magic_setsig(aTHX_ a,b)
#endif
#ifdef PERL_CORE
#define sv_eq(a,b) Perl_sv_eq(aTHX_ a,b)
#define sv_free(a) Perl_sv_free(aTHX_ a)
#ifdef PERL_CORE
+#endif
+#ifdef PERL_CORE
#define sv_free_arenas() Perl_sv_free_arenas(aTHX)
#endif
#define sv_gets(a,b,c) Perl_sv_gets(aTHX_ a,b,c)
#define sv_reset(a,b) Perl_sv_reset(aTHX_ a,b)
#define sv_vsetpvf(a,b,c) Perl_sv_vsetpvf(aTHX_ a,b,c)
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
+#define sv_setpviv(a,b) Perl_sv_setpviv(aTHX_ a,b)
#define sv_setuv(a,b) Perl_sv_setuv(aTHX_ a,b)
#define sv_setnv(a,b) Perl_sv_setnv(aTHX_ a,b)
#define sv_setref_iv(a,b,c) Perl_sv_setref_iv(aTHX_ a,b,c)
#define sv_catsv_mg(a,b) Perl_sv_catsv_mg(aTHX_ a,b)
#define sv_vsetpvf_mg(a,b,c) Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
#define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b)
+#define sv_setpviv_mg(a,b) Perl_sv_setpviv_mg(aTHX_ a,b)
#define sv_setuv_mg(a,b) Perl_sv_setuv_mg(aTHX_ a,b)
#define sv_setnv_mg(a,b) Perl_sv_setnv_mg(aTHX_ a,b)
#define sv_setpv_mg(a,b) Perl_sv_setpv_mg(aTHX_ a,b)
#endif
#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
-#define doencodes(a,b,c) S_doencodes(aTHX_ a,b,c)
+#define unpack_rec(a,b,c,d,e) S_unpack_rec(aTHX_ a,b,c,d,e)
+#endif
+#ifdef PERL_CORE
+#define pack_rec(a,b,c,d) S_pack_rec(aTHX_ a,b,c,d)
#endif
#ifdef PERL_CORE
#define mul128(a,b) S_mul128(aTHX_ a,b)
#endif
#ifdef PERL_CORE
-#define is_an_int(a,b) S_is_an_int(aTHX_ a,b)
+#define measure_struct(a) S_measure_struct(aTHX_ a)
#endif
#ifdef PERL_CORE
-#define div128(a,b) S_div128(aTHX_ a,b)
+#define group_end(a,b,c) S_group_end(aTHX_ a,b,c)
#endif
#ifdef PERL_CORE
-#define next_symbol(a,b) S_next_symbol(aTHX_ a,b)
+#define get_num(a,b) S_get_num(aTHX_ a,b)
#endif
#ifdef PERL_CORE
-#define find_count(a,b,c) S_find_count(aTHX_ a,b,c)
+#define next_symbol(a) S_next_symbol(aTHX_ a)
#endif
#ifdef PERL_CORE
-#define group_end(a,b,c) S_group_end(aTHX_ a,b,c)
+#define doencodes(a,b,c) S_doencodes(aTHX_ a,b,c)
#endif
#ifdef PERL_CORE
-#define measure_struct(a,b) S_measure_struct(aTHX_ a,b)
+#define is_an_int(a,b) S_is_an_int(aTHX_ a,b)
+#endif
+#ifdef PERL_CORE
+#define div128(a,b) S_div128(aTHX_ a,b)
#endif
#endif
#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
#define mess_alloc() S_mess_alloc(aTHX)
#endif
#endif
+#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+#ifdef PERL_CORE
+#define mulexp10 S_mulexp10
+#endif
+#endif
#define sv_setsv_flags(a,b,c) Perl_sv_setsv_flags(aTHX_ a,b,c)
#define sv_catpvn_flags(a,b,c,d) Perl_sv_catpvn_flags(aTHX_ a,b,c,d)
#define sv_catsv_flags(a,b,c) Perl_sv_catsv_flags(aTHX_ a,b,c)
#define sv_copypv(a,b) Perl_sv_copypv(aTHX_ a,b)
#define my_atof2(a,b) Perl_my_atof2(aTHX_ a,b)
#define my_socketpair Perl_my_socketpair
+#ifdef PERL_COPY_ON_WRITE
+#ifdef PERL_CORE
+#define sv_setsv_cow(a,b) Perl_sv_setsv_cow(aTHX_ a,b)
+#endif
+#endif
#if defined(USE_PERLIO) && !defined(USE_SFIO)
#define PerlIO_close(a) Perl_PerlIO_close(aTHX_ a)
#define PerlIO_fill(a) Perl_PerlIO_fill(aTHX_ a)
#ifdef PERL_CORE
#define find_runcv(a) Perl_find_runcv(aTHX_ a)
#endif
+#ifdef PERL_CORE
+#define free_tied_hv_pool() Perl_free_tied_hv_pool(aTHX)
+#endif
#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a)
#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
#define ck_concat(a) Perl_ck_concat(aTHX_ a)
#endif /* PERL_IMPLICIT_CONTEXT */
-#endif /* #ifndef PERL_HIDE_SHORT_NAMES */
+#endif /* #ifndef PERL_NO_SHORT_NAMES */
/* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to
an extra argument but grab the context pointer using the macro
dTHX.
*/
-#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_HIDE_SHORT_NAMES)
+#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES)
# define croak Perl_croak_nocontext
# define deb Perl_deb_nocontext
# define die Perl_die_nocontext