This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldiag should refer to perlos2.pod not README.os2
[perl5.git] / perlapi.c
old mode 100644 (file)
new mode 100755 (executable)
index f897146..d3e2482
--- a/perlapi.c
+++ b/perlapi.c
@@ -41,6 +41,9 @@ START_EXTERN_C
                        { return &(PL_##v); }
 #define PERLVARA(v,n,t)        PL_##v##_t* Perl_##v##_ptr(pTHXo)               \
                        { return &(PL_##v); }
+#undef PERLVARIC
+#define PERLVARIC(v,t,i)       const t* Perl_##v##_ptr(pTHXo)          \
+                       { return (const t *)&(PL_##v); }
 #include "perlvars.h"
 
 #undef PERLVAR
@@ -53,7 +56,6 @@ START_EXTERN_C
 /* C-API layer for PERL_OBJECT */
 
 #if defined(PERL_IMPLICIT_SYS)
-#else
 #endif
 #if defined(USE_ITHREADS)
 #  if defined(PERL_IMPLICIT_SYS)
@@ -104,6 +106,13 @@ Perl_avhv_fetch_ent(pTHXo_ AV *ar, SV* keysv, I32 lval, U32 hash)
     return ((CPerlObj*)pPerl)->Perl_avhv_fetch_ent(ar, keysv, lval, hash);
 }
 
+#undef  Perl_avhv_store_ent
+SV**
+Perl_avhv_store_ent(pTHXo_ AV *ar, SV* keysv, SV* val, U32 hash)
+{
+    return ((CPerlObj*)pPerl)->Perl_avhv_store_ent(ar, keysv, val, hash);
+}
+
 #undef  Perl_avhv_iternext
 HE*
 Perl_avhv_iternext(pTHXo_ AV *ar)
@@ -365,6 +374,17 @@ Perl_form_nocontext(const char* pat, ...)
 
 }
 
+#undef  Perl_load_module_nocontext
+void
+Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
+{
+    dTHXo;
+    va_list args;
+    va_start(args, ver);
+    ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, &args);
+    va_end(args);
+}
+
 #undef  Perl_mess_nocontext
 SV*
 Perl_mess_nocontext(const char* pat, ...)
@@ -462,6 +482,20 @@ Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...)
 #undef  Perl_fprintf_nocontext
 #endif
 
+#undef  Perl_cv_const_sv
+SV*
+Perl_cv_const_sv(pTHXo_ CV* cv)
+{
+    return ((CPerlObj*)pPerl)->Perl_cv_const_sv(cv);
+}
+
+#undef  Perl_cv_undef
+void
+Perl_cv_undef(pTHXo_ CV* cv)
+{
+    ((CPerlObj*)pPerl)->Perl_cv_undef(cv);
+}
+
 #undef  Perl_cx_dump
 void
 Perl_cx_dump(pTHXo_ PERL_CONTEXT* cs)
@@ -585,15 +619,29 @@ Perl_dounwind(pTHXo_ I32 cxix)
 
 #undef  Perl_do_binmode
 int
-Perl_do_binmode(pTHXo_ PerlIO *fp, int iotype, int flag)
+Perl_do_binmode(pTHXo_ PerlIO *fp, int iotype, int mode)
+{
+    return ((CPerlObj*)pPerl)->Perl_do_binmode(fp, iotype, mode);
+}
+
+#undef  Perl_do_close
+bool
+Perl_do_close(pTHXo_ GV* gv, bool not_implicit)
 {
-    return ((CPerlObj*)pPerl)->Perl_do_binmode(fp, iotype, flag);
+    return ((CPerlObj*)pPerl)->Perl_do_close(gv, not_implicit);
 }
 #if !defined(WIN32)
 #endif
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
 #endif
 
+#undef  Perl_do_join
+void
+Perl_do_join(pTHXo_ SV* sv, SV* del, SV** mark, SV** sp)
+{
+    ((CPerlObj*)pPerl)->Perl_do_join(sv, del, mark, sp);
+}
+
 #undef  Perl_do_open
 bool
 Perl_do_open(pTHXo_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp)
@@ -1271,6 +1319,13 @@ Perl_to_uni_lower_lc(pTHXo_ U32 c)
     return ((CPerlObj*)pPerl)->Perl_to_uni_lower_lc(c);
 }
 
+#undef  Perl_is_utf8_char
+int
+Perl_is_utf8_char(pTHXo_ U8 *p)
+{
+    return ((CPerlObj*)pPerl)->Perl_is_utf8_char(p);
+}
+
 #undef  Perl_is_utf8_alnum
 bool
 Perl_is_utf8_alnum(pTHXo_ U8 *p)
@@ -1383,6 +1438,23 @@ Perl_leave_scope(pTHXo_ I32 base)
     ((CPerlObj*)pPerl)->Perl_leave_scope(base);
 }
 
+#undef  Perl_load_module
+void
+Perl_load_module(pTHXo_ U32 flags, SV* name, SV* ver, ...)
+{
+    va_list args;
+    va_start(args, ver);
+    ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, &args);
+    va_end(args);
+}
+
+#undef  Perl_vload_module
+void
+Perl_vload_module(pTHXo_ U32 flags, SV* name, SV* ver, va_list* args)
+{
+    ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, args);
+}
+
 #undef  Perl_looks_like_number
 I32
 Perl_looks_like_number(pTHXo_ SV* sv)
@@ -1901,6 +1973,13 @@ Perl_newSViv(pTHXo_ IV i)
     return ((CPerlObj*)pPerl)->Perl_newSViv(i);
 }
 
+#undef  Perl_newSVuv
+SV*
+Perl_newSVuv(pTHXo_ UV u)
+{
+    return ((CPerlObj*)pPerl)->Perl_newSVuv(u);
+}
+
 #undef  Perl_newSVnv
 SV*
 Perl_newSVnv(pTHXo_ NV n)
@@ -2274,6 +2353,13 @@ Perl_rninstr(pTHXo_ const char* big, const char* bigend, const char* little, con
 {
     return ((CPerlObj*)pPerl)->Perl_rninstr(big, bigend, little, lend);
 }
+
+#undef  Perl_rsignal
+Sighandler_t
+Perl_rsignal(pTHXo_ int i, Sighandler_t t)
+{
+    return ((CPerlObj*)pPerl)->Perl_rsignal(i, t);
+}
 #if !defined(HAS_RENAME)
 #endif
 
@@ -2375,6 +2461,13 @@ Perl_save_generic_svref(pTHXo_ SV** sptr)
     ((CPerlObj*)pPerl)->Perl_save_generic_svref(sptr);
 }
 
+#undef  Perl_save_generic_pvref
+void
+Perl_save_generic_pvref(pTHXo_ char** str)
+{
+    ((CPerlObj*)pPerl)->Perl_save_generic_pvref(str);
+}
+
 #undef  Perl_save_gp
 void
 Perl_save_gp(pTHXo_ GV* gv, I32 empty)
@@ -3141,6 +3234,13 @@ Perl_sv_vsetpvfn(pTHXo_ SV* sv, const char* pat, STRLEN patlen, va_list* args, S
     ((CPerlObj*)pPerl)->Perl_sv_vsetpvfn(sv, pat, patlen, args, svargs, svmax, maybe_tainted);
 }
 
+#undef  Perl_str_to_version
+NV
+Perl_str_to_version(pTHXo_ SV *sv)
+{
+    return ((CPerlObj*)pPerl)->Perl_str_to_version(sv);
+}
+
 #undef  Perl_swash_init
 SV*
 Perl_swash_init(pTHXo_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none)
@@ -3290,6 +3390,13 @@ Perl_vwarner(pTHXo_ U32 err, const char* pat, va_list* args)
 {
     ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, args);
 }
+
+#undef  Perl_whichsig
+I32
+Perl_whichsig(pTHXo_ char* sig)
+{
+    return ((CPerlObj*)pPerl)->Perl_whichsig(sig);
+}
 #if defined(USE_PURE_BISON)
 #else
 #endif
@@ -3589,6 +3696,7 @@ Perl_magic_dump(pTHXo_ MAGIC *mg)
 {
     ((CPerlObj*)pPerl)->Perl_magic_dump(mg);
 }
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
 
 #undef  Perl_default_protect
 void*
@@ -3609,6 +3717,7 @@ Perl_vdefault_protect(pTHXo_ volatile JMPENV *je, int *excpt, protect_body_t bod
 {
     return ((CPerlObj*)pPerl)->Perl_vdefault_protect(je, excpt, body, args);
 }
+#endif
 
 #undef  Perl_reginitcolors
 void
@@ -3659,6 +3768,34 @@ Perl_sv_pvbyte(pTHXo_ SV *sv)
     return ((CPerlObj*)pPerl)->Perl_sv_pvbyte(sv);
 }
 
+#undef  Perl_sv_utf8_upgrade
+void
+Perl_sv_utf8_upgrade(pTHXo_ SV *sv)
+{
+    ((CPerlObj*)pPerl)->Perl_sv_utf8_upgrade(sv);
+}
+
+#undef  Perl_sv_utf8_downgrade
+bool
+Perl_sv_utf8_downgrade(pTHXo_ SV *sv, bool fail_ok)
+{
+    return ((CPerlObj*)pPerl)->Perl_sv_utf8_downgrade(sv, fail_ok);
+}
+
+#undef  Perl_sv_utf8_encode
+void
+Perl_sv_utf8_encode(pTHXo_ SV *sv)
+{
+    ((CPerlObj*)pPerl)->Perl_sv_utf8_encode(sv);
+}
+
+#undef  Perl_sv_utf8_decode
+bool
+Perl_sv_utf8_decode(pTHXo_ SV *sv)
+{
+    return ((CPerlObj*)pPerl)->Perl_sv_utf8_decode(sv);
+}
+
 #undef  Perl_sv_force_normal
 void
 Perl_sv_force_normal(pTHXo_ SV *sv)
@@ -3816,6 +3953,15 @@ Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl)
     ((CPerlObj*)pPerl)->Perl_ptr_table_split(tbl);
 }
 #endif
+#if defined(HAVE_INTERP_INTERN)
+
+#undef  Perl_sys_intern_init
+void
+Perl_sys_intern_init(pTHXo)
+{
+    ((CPerlObj*)pPerl)->Perl_sys_intern_init();
+}
+#endif
 #if defined(PERL_OBJECT)
 #else
 #endif
@@ -3836,12 +3982,16 @@ Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl)
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 #  if defined(IAMSUID)
 #  endif
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#endif
 #  if defined(USE_THREADS)
 #  endif
 #endif
 #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
 #endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#endif
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
 #endif
@@ -3862,6 +4012,8 @@ Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl)
 #  endif
 #endif
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#if 0
+#endif
 #  if defined(CRIPPLED_CC)
 #  endif
 #  if defined(PERL_CR_FILTER)