Integrate from ansi branch to mainline.
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index 039c23f..202331b 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -4,7 +4,7 @@
 #undef  __attribute__
 #endif
 #define __attribute__(attr)
-#endif 
+#endif
 #endif
 #ifdef OVERLOAD
 SV*    amagic_call _((SV* left,SV* right,int method,int dir));
@@ -24,6 +24,7 @@ I32   avhv_iterinit _((AV *ar));
 HE*    avhv_iternext _((AV *ar));
 SV *   avhv_iternextsv _((AV *ar, char** key, I32* retlen));
 SV*    avhv_iterval _((AV *ar, HE* entry));
+HV*    avhv_keys _((AV *ar));
 SV**   avhv_store _((AV *ar, char* key, U32 klen, SV* val, U32 hash));
 void   av_clear _((AV* ar));
 void   av_extend _((AV* ar, I32 key));
@@ -64,7 +65,7 @@ CV*   cv_clone _((CV* proto));
 SV*    cv_const_sv _((CV* cv));
 void   cv_undef _((CV* cv));
 #ifdef DEBUGGING
-void   cx_dump _((CONTEXT* cs));
+void   cx_dump _((PERL_CONTEXT* cs));
 #endif
 SV*    filter_add _((filter_t funcp, SV* datasv));
 void   filter_del _((filter_t funcp));
@@ -135,7 +136,7 @@ void        dump_sub _((GV* gv));
 void   fbm_compile _((SV* sv));
 char*  fbm_instr _((unsigned char* big, unsigned char* bigend, SV* littlesv));
 #ifdef USE_THREADS
-PADOFFSET      find_thread_magical _((char *name));
+PADOFFSET      find_threadsv _((char *name));
 #endif
 OP*    force_list _((OP* arg));
 OP*    fold_constants _((OP* arg));
@@ -162,7 +163,6 @@ void        gv_init _((GV* gv, HV* stash, char* name, STRLEN len, int multi));
 HV*    gv_stashpv _((char* name, I32 create));
 HV*    gv_stashpvn _((char* name, U32 namelen, I32 create));
 HV*    gv_stashsv _((SV* sv, I32 create));
-void   hoistmust _((PMOP* pm));
 void   hv_clear _((HV* tb));
 void   hv_delayfree_ent _((HV* hv, HE* entry));
 SV*    hv_delete _((HV* tb, char* key, U32 klen, I32 flags));
@@ -207,6 +207,7 @@ int magic_clearpack _((SV* sv, MAGIC* mg));
 int    magic_clearsig  _((SV* sv, MAGIC* mg));
 int    magic_existspack _((SV* sv, MAGIC* mg));
 int    magic_freedefelem _((SV* sv, MAGIC* mg));
+int    magic_freeregexp _((SV* sv, MAGIC* mg));
 int    magic_get       _((SV* sv, MAGIC* mg));
 int    magic_getarylen _((SV* sv, MAGIC* mg));
 int    magic_getdefelem _((SV* sv, MAGIC* mg));
@@ -340,7 +341,7 @@ OP* newUNOP _((I32 type, I32 flags, OP* first));
 OP*    newWHILEOP _((I32 flags, I32 debuggable, LOOP* loop,
                      I32 whileline, OP* expr, OP* block, OP* cont));
 #ifdef USE_THREADS
-struct thread *        new_struct_thread _((struct thread *t));
+struct perl_thread *   new_struct_thread _((struct perl_thread *t));
 #endif
 PerlIO*        nextargv _((GV* gv));
 char*  ninstr _((char* big, char* bigend, char* little, char* lend));
@@ -396,10 +397,11 @@ regexp*   pregcomp _((char* exp, char* xend, PMOP* pm));
 OP*    ref _((OP* o, I32 type));
 OP*    refkids _((OP* o, I32 type));
 void   regdump _((regexp* r));
-I32    pregexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, I32 safebase));
-void   pregfree _((struct regexp* r));
-char*  regnext _((char* p));
-void   regprop _((SV* sv, char* o));
+I32    pregexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave));
+I32    regexec_flags _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags));
+  void pregfree _((struct regexp* r));
+regnode*regnext _((regnode* p));
+void   regprop _((SV* sv, regnode* o));
 void   repeatcpy _((char* to, char* from, I32 len, I32 count));
 char*  rninstr _((char* big, char* bigend, char* little, char* lend));
 Sighandler_t rsignal _((int, Sighandler_t));
@@ -441,6 +443,7 @@ SV* save_scalar _((GV* gv));
 void   save_pptr _((char** pptr));
 void   save_sptr _((SV** sptr));
 SV*    save_svref _((SV** sptr));
+SV**   save_threadsv _((PADOFFSET i));
 OP*    sawparens _((OP* o));
 OP*    scalar _((OP* o));
 OP*    scalarkids _((OP* o));
@@ -450,7 +453,7 @@ UV  scan_hex _((char* start, I32 len, I32* retlen));
 char*  scan_num _((char* s));
 UV     scan_oct _((char* start, I32 len, I32* retlen));
 OP*    scope _((OP* o));
-char*  screaminstr _((SV* bigsv, SV* littlesv));
+char*  screaminstr _((SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last));
 #ifndef VMS
 I32    setenv_getix _((char* nam));
 #endif
@@ -490,6 +493,7 @@ I32 sv_cmp_locale _((SV* sv1, SV* sv2));
 #ifdef USE_LOCALE_COLLATE
 char*  sv_collxfrm _((SV* sv, STRLEN* nxp));
 #endif
+OP*    sv_compile_2op _((SV* sv, OP** startp, char* code, AV** avp));
 void   sv_dec _((SV* sv));
 void   sv_dump _((SV* sv));
 bool   sv_derived_from _((SV* sv, char* name));