nailed "our" declarations, and better warnings on duplicate
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index 9f225f6..36f4a40 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -20,7 +20,9 @@ PERL_CALLCONV int     perl_run(PerlInterpreter* interp);
 PERL_CALLCONV int      perl_parse(PerlInterpreter* interp, XSINIT_t xsinit, int argc, char** argv, char** env);
 #if defined(USE_ITHREADS)
 PERL_CALLCONV PerlInterpreter* perl_clone(PerlInterpreter* interp, UV flags);
+#  if defined(PERL_IMPLICIT_SYS)
 PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *interp, UV flags, struct IPerlMem* m, struct IPerlMem* ms, struct IPerlMem* mp, struct IPerlEnv* e, struct IPerlStdIO* io, struct IPerlLIO* lio, struct IPerlDir* d, struct IPerlSock* s, struct IPerlProc* p);
+#  endif
 #endif
 
 #if defined(MYMALLOC)
@@ -41,7 +43,9 @@ public:
        CPerlObj(IPerlMem*, IPerlMem*, IPerlMem*, IPerlEnv*, IPerlStdIO*,
            IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*);
        void* operator new(size_t nSize, IPerlMem *pvtbl);
+#ifndef __BORLANDC__
        static void operator delete(void* pPerl, IPerlMem *pvtbl);
+#endif
        int do_aspawn (void *vreally, void **vmark, void **vsp);
 #endif
 #if defined(PERL_OBJECT)
@@ -55,12 +59,15 @@ PERL_CALLCONV bool  Perl_Gv_AMupdate(pTHX_ HV* stash);
 PERL_CALLCONV OP*      Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
 PERL_CALLCONV OP*      Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
 PERL_CALLCONV I32      Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
+PERL_CALLCONV SV*      Perl_avhv_delete_ent(pTHX_ AV *ar, SV* keysv, I32 flags, U32 hash);
 PERL_CALLCONV bool     Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash);
 PERL_CALLCONV SV**     Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash);
 PERL_CALLCONV HE*      Perl_avhv_iternext(pTHX_ AV *ar);
 PERL_CALLCONV SV*      Perl_avhv_iterval(pTHX_ AV *ar, HE* entry);
 PERL_CALLCONV HV*      Perl_avhv_keys(pTHX_ AV *ar);
 PERL_CALLCONV void     Perl_av_clear(pTHX_ AV* ar);
+PERL_CALLCONV SV*      Perl_av_delete(pTHX_ AV* ar, I32 key, I32 flags);
+PERL_CALLCONV bool     Perl_av_exists(pTHX_ AV* ar, I32 key);
 PERL_CALLCONV void     Perl_av_extend(pTHX_ AV* ar, I32 key);
 PERL_CALLCONV AV*      Perl_av_fake(pTHX_ I32 size, SV** svp);
 PERL_CALLCONV SV**     Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval);
@@ -379,20 +386,20 @@ PERL_CALLCONV char*       Perl_moreswitches(pTHX_ char* s);
 PERL_CALLCONV OP*      Perl_my(pTHX_ OP* o);
 PERL_CALLCONV NV       Perl_my_atof(pTHX_ const char *s);
 #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
-PERL_CALLCONV char*    Perl_my_bcopy(pTHX_ const char* from, char* to, I32 len);
+PERL_CALLCONV char*    Perl_my_bcopy(const char* from, char* to, I32 len);
 #endif
 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-PERL_CALLCONV char*    Perl_my_bzero(pTHX_ char* loc, I32 len);
+PERL_CALLCONV char*    Perl_my_bzero(char* loc, I32 len);
 #endif
 PERL_CALLCONV void     Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn));
 PERL_CALLCONV void     Perl_my_failure_exit(pTHX) __attribute__((noreturn));
 PERL_CALLCONV I32      Perl_my_fflush_all(pTHX);
 PERL_CALLCONV I32      Perl_my_lstat(pTHX);
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-PERL_CALLCONV I32      Perl_my_memcmp(pTHX_ const char* s1, const char* s2, I32 len);
+PERL_CALLCONV I32      Perl_my_memcmp(const char* s1, const char* s2, I32 len);
 #endif
 #if !defined(HAS_MEMSET)
-PERL_CALLCONV void*    Perl_my_memset(pTHX_ char* loc, I32 ch, I32 len);
+PERL_CALLCONV void*    Perl_my_memset(char* loc, I32 ch, I32 len);
 #endif
 #if !defined(PERL_OBJECT)
 PERL_CALLCONV I32      Perl_my_pclose(pTHX_ PerlIO* ptr);
@@ -557,6 +564,7 @@ PERL_CALLCONV void  Perl_save_hints(pTHX);
 PERL_CALLCONV void     Perl_save_hptr(pTHX_ HV** hptr);
 PERL_CALLCONV void     Perl_save_I16(pTHX_ I16* intp);
 PERL_CALLCONV void     Perl_save_I32(pTHX_ I32* intp);
+PERL_CALLCONV void     Perl_save_I8(pTHX_ I8* bytep);
 PERL_CALLCONV void     Perl_save_int(pTHX_ int* intp);
 PERL_CALLCONV void     Perl_save_item(pTHX_ SV* item);
 PERL_CALLCONV void     Perl_save_iv(pTHX_ IV* iv);
@@ -599,11 +607,15 @@ PERL_CALLCONV IV  Perl_sv_2iv(pTHX_ SV* sv);
 PERL_CALLCONV SV*      Perl_sv_2mortal(pTHX_ SV* sv);
 PERL_CALLCONV NV       Perl_sv_2nv(pTHX_ SV* sv);
 PERL_CALLCONV char*    Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp);
+PERL_CALLCONV char*    Perl_sv_2pvutf8(pTHX_ SV* sv, STRLEN* lp);
+PERL_CALLCONV char*    Perl_sv_2pvbyte(pTHX_ SV* sv, STRLEN* lp);
 PERL_CALLCONV UV       Perl_sv_2uv(pTHX_ SV* sv);
 PERL_CALLCONV IV       Perl_sv_iv(pTHX_ SV* sv);
 PERL_CALLCONV UV       Perl_sv_uv(pTHX_ SV* sv);
 PERL_CALLCONV NV       Perl_sv_nv(pTHX_ SV* sv);
 PERL_CALLCONV char*    Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len);
+PERL_CALLCONV char*    Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *len);
+PERL_CALLCONV char*    Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *len);
 PERL_CALLCONV I32      Perl_sv_true(pTHX_ SV *sv);
 PERL_CALLCONV void     Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags);
 PERL_CALLCONV int      Perl_sv_backoff(pTHX_ SV* sv);
@@ -645,6 +657,8 @@ PERL_CALLCONV char* Perl_sv_peek(pTHX_ SV* sv);
 PERL_CALLCONV void     Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp);
 PERL_CALLCONV void     Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp);
 PERL_CALLCONV char*    Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp);
+PERL_CALLCONV char*    Perl_sv_pvutf8n_force(pTHX_ SV* sv, STRLEN* lp);
+PERL_CALLCONV char*    Perl_sv_pvbyten_force(pTHX_ SV* sv, STRLEN* lp);
 PERL_CALLCONV char*    Perl_sv_reftype(pTHX_ SV* sv, int ob);
 PERL_CALLCONV void     Perl_sv_replace(pTHX_ SV* sv, SV* nsv);
 PERL_CALLCONV void     Perl_sv_report_used(pTHX);
@@ -696,6 +710,7 @@ PERL_CALLCONV U8*   Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
 PERL_CALLCONV void     Perl_vivify_defelem(pTHX_ SV* sv);
 PERL_CALLCONV void     Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
 PERL_CALLCONV I32      Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
+PERL_CALLCONV void     Perl_report_uninit(pTHX);
 PERL_CALLCONV void     Perl_warn(pTHX_ const char* pat, ...);
 PERL_CALLCONV void     Perl_vwarn(pTHX_ const char* pat, va_list* args);
 PERL_CALLCONV void     Perl_warner(pTHX_ U32 err, const char* pat, ...);
@@ -759,7 +774,11 @@ PERL_CALLCONV void*        Perl_default_protect(pTHX_ volatile JMPENV *je, int *excpt,
 PERL_CALLCONV void*    Perl_vdefault_protect(pTHX_ volatile JMPENV *je, int *excpt, protect_body_t body, va_list *args);
 PERL_CALLCONV void     Perl_reginitcolors(pTHX);
 PERL_CALLCONV char*    Perl_sv_2pv_nolen(pTHX_ SV* sv);
+PERL_CALLCONV char*    Perl_sv_2pvutf8_nolen(pTHX_ SV* sv);
+PERL_CALLCONV char*    Perl_sv_2pvbyte_nolen(pTHX_ SV* sv);
 PERL_CALLCONV char*    Perl_sv_pv(pTHX_ SV *sv);
+PERL_CALLCONV char*    Perl_sv_pvutf8(pTHX_ SV *sv);
+PERL_CALLCONV char*    Perl_sv_pvbyte(pTHX_ SV *sv);
 PERL_CALLCONV void     Perl_sv_force_normal(pTHX_ SV *sv);
 PERL_CALLCONV void     Perl_tmps_grow(pTHX_ I32 n);
 PERL_CALLCONV SV*      Perl_sv_rvweaken(pTHX_ SV *sv);
@@ -1064,7 +1083,7 @@ STATIC void       S_force_ident(pTHX_ char *s, int kind);
 STATIC void    S_incline(pTHX_ char *s);
 STATIC int     S_intuit_method(pTHX_ char *s, GV *gv);
 STATIC int     S_intuit_more(pTHX_ char *s);
-STATIC I32     S_lop(pTHX_ I32 f, expectation x, char *s);
+STATIC I32     S_lop(pTHX_ I32 f, int x, char *s);
 STATIC void    S_missingterm(pTHX_ char *s);
 STATIC void    S_no_op(pTHX_ char *what, char *s);
 STATIC void    S_set_csh(pTHX);
@@ -1081,8 +1100,8 @@ STATIC I32        S_utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen);
 #  if defined(CRIPPLED_CC)
 STATIC int     S_uni(pTHX_ I32 f, char *s);
 #  endif
-#  if defined(WIN32)
-STATIC I32     S_win32_textfilter(pTHX_ int idx, SV *sv, int maxlen);
+#  if defined(PERL_CR_FILTER)
+STATIC I32     S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
 #  endif
 #endif