X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=proto.h;h=d7b7762d10609bf55712cccdffb11e727378da7c;hb=249edfdff1b2b750e894ee5a0b6cb64d2640ca02;hp=440ea65e13190e4a697edddf9d7100c48f96e566;hpb=ac4c12e7aee90d31d5da776601addbfd9d738a5a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/proto.h b/proto.h index 440ea65..d7b7762 100644 --- a/proto.h +++ b/proto.h @@ -60,7 +60,7 @@ VIRTUAL OP* block_end _((I32 floor, OP* seq)); VIRTUAL I32 block_gimme _((void)); VIRTUAL int block_start _((int full)); VIRTUAL void boot_core_UNIVERSAL _((void)); -VIRTUAL void call_list _((I32 oldscope, AV* list)); +VIRTUAL void call_list _((I32 oldscope, AV* av_list)); VIRTUAL I32 cando _((I32 bit, I32 effective, Stat_t* statbufp)); #ifndef CASTNEGFLOAT VIRTUAL U32 cast_ulong _((double f)); @@ -78,24 +78,23 @@ VIRTUAL void croak _((const char* pat,...)) __attribute__((noreturn)); VIRTUAL void cv_ckproto _((CV* cv, GV* gv, char* p)); VIRTUAL CV* cv_clone _((CV* proto)); VIRTUAL SV* cv_const_sv _((CV* cv)); +VIRTUAL SV* op_const_sv _((OP* o, CV* cv)); VIRTUAL void cv_undef _((CV* cv)); -#ifdef DEBUGGING -void cx_dump _((PERL_CONTEXT* cs)); -#endif +VIRTUAL void cx_dump _((PERL_CONTEXT* cs)); VIRTUAL SV* filter_add _((filter_t funcp, SV* datasv)); VIRTUAL void filter_del _((filter_t funcp)); VIRTUAL I32 filter_read _((int idx, SV* buffer, int maxlen)); VIRTUAL char ** get_op_descs _((void)); VIRTUAL char ** get_op_names _((void)); +VIRTUAL char * get_no_modify _((void)); +VIRTUAL U32 * get_opargs _((void)); VIRTUAL I32 cxinc _((void)); -#ifdef DEBUGGING VIRTUAL void deb _((const char* pat,...)) __attribute__((format(printf,1,2))); VIRTUAL void deb_growlevel _((void)); VIRTUAL void debprofdump _((void)); VIRTUAL I32 debop _((OP* o)); VIRTUAL I32 debstack _((void)); VIRTUAL I32 debstackptrs _((void)); -#endif VIRTUAL char* delimcpy _((char* to, char* toend, char* from, char* fromend, int delim, I32* retlen)); VIRTUAL void deprecate _((char* s)); @@ -103,6 +102,7 @@ VIRTUAL OP* die _((const char* pat,...)); VIRTUAL OP* die_where _((char* message)); VIRTUAL void dounwind _((I32 cxix)); VIRTUAL bool do_aexec _((SV* really, SV** mark, SV** sp)); +VIRTUAL int do_binmode _((PerlIO *fp, int iotype, int flag)); VIRTUAL void do_chop _((SV* asv, SV* sv)); VIRTUAL bool do_close _((GV* gv, bool not_implicit)); VIRTUAL bool do_eof _((GV* gv)); @@ -137,23 +137,22 @@ VIRTUAL void do_vecset _((SV* sv)); VIRTUAL void do_vop _((I32 optype, SV* sv, SV* left, SV* right)); VIRTUAL I32 dowantarray _((void)); VIRTUAL void dump_all _((void)); -#ifdef DEBUGGING -void dump_eval _((void)); -#endif +VIRTUAL void dump_eval _((void)); #ifdef DUMP_FDS /* See util.c */ -int dump_fds _((char* s)); +VIRTUAL void dump_fds _((char* s)); #endif -void dump_form _((GV* gv)); -void dump_gv _((GV* gv)); +VIRTUAL void dump_form _((GV* gv)); +VIRTUAL void dump_gv _((GV* gv)); #ifdef MYMALLOC -void dump_mstats _((char* s)); +VIRTUAL void dump_mstats _((char* s)); #endif -void dump_op _((OP* arg)); -void dump_pm _((PMOP* pm)); -void dump_packsubs _((HV* stash)); -void dump_sub _((GV* gv)); +VIRTUAL void dump_op _((OP* arg)); +VIRTUAL void dump_pm _((PMOP* pm)); +VIRTUAL void dump_packsubs _((HV* stash)); +VIRTUAL void dump_sub _((GV* gv)); VIRTUAL void fbm_compile _((SV* sv, U32 flags)); VIRTUAL char* fbm_instr _((unsigned char* big, unsigned char* bigend, SV* littlesv)); +VIRTUAL char* find_script _((char *scriptname, bool dosearch, char **search_ext, I32 flags)); #ifdef USE_THREADS VIRTUAL PADOFFSET find_threadsv _((char *name)); #endif @@ -231,11 +230,14 @@ VIRTUAL int magic_get _((SV* sv, MAGIC* mg)); VIRTUAL int magic_getarylen _((SV* sv, MAGIC* mg)); VIRTUAL int magic_getdefelem _((SV* sv, MAGIC* mg)); VIRTUAL int magic_getglob _((SV* sv, MAGIC* mg)); +VIRTUAL int magic_getnkeys _((SV* sv, MAGIC* mg)); VIRTUAL int magic_getpack _((SV* sv, MAGIC* mg)); VIRTUAL int magic_getpos _((SV* sv, MAGIC* mg)); VIRTUAL int magic_getsig _((SV* sv, MAGIC* mg)); +VIRTUAL int magic_getsubstr _((SV* sv, MAGIC* mg)); VIRTUAL int magic_gettaint _((SV* sv, MAGIC* mg)); VIRTUAL int magic_getuvar _((SV* sv, MAGIC* mg)); +VIRTUAL int magic_getvec _((SV* sv, MAGIC* mg)); VIRTUAL U32 magic_len _((SV* sv, MAGIC* mg)); #ifdef USE_THREADS VIRTUAL int magic_mutexfree _((SV* sv, MAGIC* mg)); @@ -276,7 +278,7 @@ VIRTUAL char* mem_collxfrm _((const char* s, STRLEN len, STRLEN* xlen)); #endif VIRTUAL char* mess _((const char* pat, va_list* args)); VIRTUAL int mg_clear _((SV* sv)); -VIRTUAL int mg_copy _((SV* , SV* , char* , I32)); +VIRTUAL int mg_copy _((SV* sv, SV* nsv, char* key, I32 klen)); VIRTUAL MAGIC* mg_find _((SV* sv, int type)); VIRTUAL int mg_free _((SV* sv)); VIRTUAL int mg_get _((SV* sv)); @@ -297,10 +299,10 @@ VIRTUAL void my_exit _((U32 status)) __attribute__((noreturn)); VIRTUAL void my_failure_exit _((void)) __attribute__((noreturn)); VIRTUAL I32 my_lstat _((ARGSproto)); #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) -I32 my_memcmp _((char* s1, char* s2, I32 len)); +VIRTUAL I32 my_memcmp _((char* s1, char* s2, I32 len)); #endif #if !defined(HAS_MEMSET) -void* my_memset _((char* loc, I32 ch, I32 len)); +VIRTUAL void* my_memset _((char* loc, I32 ch, I32 len)); #endif #ifndef PERL_OBJECT VIRTUAL I32 my_pclose _((PerlIO* ptr)); @@ -319,8 +321,9 @@ VIRTUAL OP* newANONHASH _((OP* o)); VIRTUAL OP* newANONSUB _((I32 floor, OP* proto, OP* block)); VIRTUAL OP* newASSIGNOP _((I32 flags, OP* left, I32 optype, OP* right)); VIRTUAL OP* newCONDOP _((I32 flags, OP* expr, OP* trueop, OP* falseop)); +VIRTUAL void newCONSTSUB _((HV* stash, char* name, SV* sv)); VIRTUAL void newFORM _((I32 floor, OP* o, OP* block)); -VIRTUAL OP* newFOROP _((I32 flags, char* label, line_t forline, OP* scalar, OP* expr, OP*block, OP*cont)); +VIRTUAL OP* newFOROP _((I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont)); VIRTUAL OP* newLOGOP _((I32 optype, I32 flags, OP* left, OP* right)); VIRTUAL OP* newLOOPEX _((I32 type, OP* label)); VIRTUAL OP* newLOOPOP _((I32 flags, I32 debuggable, OP* expr, OP* block)); @@ -331,7 +334,7 @@ VIRTUAL OP* newRANGE _((I32 flags, OP* left, OP* right)); VIRTUAL OP* newSLICEOP _((I32 flags, OP* subscript, OP* list)); VIRTUAL OP* newSTATEOP _((I32 flags, char* label, OP* o)); VIRTUAL CV* newSUB _((I32 floor, OP* o, OP* proto, OP* block)); -VIRTUAL CV* newXS _((char* name, void (*subaddr)(CPERLproto_ CV* cv), char* filename)); +VIRTUAL CV* newXS _((char* name, void (*subaddr)(CV* cv _CPERLproto), char* filename)); VIRTUAL AV* newAV _((void)); VIRTUAL OP* newAVREF _((OP* o)); VIRTUAL OP* newBINOP _((I32 type, I32 flags, OP* first, OP* last)); @@ -345,20 +348,17 @@ VIRTUAL IO* newIO _((void)); VIRTUAL OP* newLISTOP _((I32 type, I32 flags, OP* first, OP* last)); VIRTUAL OP* newPMOP _((I32 type, I32 flags)); VIRTUAL OP* newPVOP _((I32 type, I32 flags, char* pv)); -VIRTUAL SV* newRV _((SV* ref)); +VIRTUAL SV* newRV _((SV* pref)); #if !defined(__GNUC__) && (defined(CRIPPLED_CC) || defined(USE_THREADS) || defined(PERL_OBJECT)) -VIRTUAL SV* newRV_noinc _((SV *)); +VIRTUAL SV* newRV_noinc _((SV *sv)); #endif -#ifdef LEAKTEST -VIRTUAL SV* newSV _((I32 x, STRLEN len)); -#else VIRTUAL SV* newSV _((STRLEN len)); -#endif VIRTUAL OP* newSVREF _((OP* o)); VIRTUAL OP* newSVOP _((I32 type, I32 flags, SV* sv)); VIRTUAL SV* newSViv _((IV i)); VIRTUAL SV* newSVnv _((double n)); VIRTUAL SV* newSVpv _((char* s, STRLEN len)); +VIRTUAL SV* newSVpvn _((char *s, STRLEN len)); VIRTUAL SV* newSVpvf _((const char* pat, ...)); VIRTUAL SV* newSVrv _((SV* rv, char* classname)); VIRTUAL SV* newSVsv _((SV* old)); @@ -368,6 +368,7 @@ VIRTUAL OP* newWHILEOP _((I32 flags, I32 debuggable, LOOP* loop, #ifdef USE_THREADS VIRTUAL struct perl_thread * new_struct_thread _((struct perl_thread *t)); #endif +VIRTUAL PERL_SI * new_stackinfo _((I32 stitems, I32 cxitems)); VIRTUAL PerlIO* nextargv _((GV* gv)); VIRTUAL char* ninstr _((char* big, char* bigend, char* little, char* lend)); VIRTUAL OP* oopsCV _((OP* o)); @@ -387,9 +388,14 @@ VIRTUAL void peep _((OP* o)); #ifndef PERL_OBJECT PerlInterpreter* perl_alloc _((void)); #endif -VIRTUAL I32 perl_call_argv _((char* subname, I32 flags, char** argv)); +#ifdef PERL_OBJECT +VIRTUAL void perl_atexit _((void(*fn)(CPerlObj *, void *), void* ptr)); +#else +void perl_atexit _((void(*fn)(void *), void*)); +#endif +VIRTUAL I32 perl_call_argv _((char* sub_name, I32 flags, char** argv)); VIRTUAL I32 perl_call_method _((char* methname, I32 flags)); -VIRTUAL I32 perl_call_pv _((char* subname, I32 flags)); +VIRTUAL I32 perl_call_pv _((char* sub_name, I32 flags)); VIRTUAL I32 perl_call_sv _((SV* sv, I32 flags)); #ifdef PERL_OBJECT VIRTUAL void perl_construct _((void)); @@ -440,25 +446,21 @@ VIRTUAL void push_scope _((void)); VIRTUAL regexp* pregcomp _((char* exp, char* xend, PMOP* pm)); VIRTUAL OP* ref _((OP* o, I32 type)); VIRTUAL OP* refkids _((OP* o, I32 type)); -#ifdef DEBUGGING -void regdump _((regexp* r)); -#endif +VIRTUAL void regdump _((regexp* r)); VIRTUAL I32 pregexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave)); VIRTUAL I32 regexec_flags _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags)); VIRTUAL void pregfree _((struct regexp* r)); -VIRTUAL regnode*regnext _((regnode* p)); -#ifdef DEBUGGING -void regprop _((SV* sv, regnode* o)); -#endif +VIRTUAL regnode* regnext _((regnode* p)); +VIRTUAL void regprop _((SV* sv, regnode* o)); VIRTUAL void repeatcpy _((char* to, char* from, I32 len, I32 count)); VIRTUAL char* rninstr _((char* big, char* bigend, char* little, char* lend)); -VIRTUAL Sighandler_t rsignal _((int, Sighandler_t)); -VIRTUAL int rsignal_restore _((int, Sigsave_t*)); -VIRTUAL int rsignal_save _((int, Sighandler_t, Sigsave_t*)); -VIRTUAL Sighandler_t rsignal_state _((int)); +VIRTUAL Sighandler_t rsignal _((int i, Sighandler_t t)); +VIRTUAL int rsignal_restore _((int i, Sigsave_t* t)); +VIRTUAL int rsignal_save _((int i, Sighandler_t t1, Sigsave_t* t2)); +VIRTUAL Sighandler_t rsignal_state _((int i)); VIRTUAL void rxres_free _((void** rsp)); -VIRTUAL void rxres_restore _((void** rsp, REGEXP* rx)); -VIRTUAL void rxres_save _((void** rsp, REGEXP* rx)); +VIRTUAL void rxres_restore _((void** rsp, REGEXP* prx)); +VIRTUAL void rxres_save _((void** rsp, REGEXP* prx)); #ifndef HAS_RENAME VIRTUAL I32 same_dirent _((char* a, char* b)); #endif @@ -530,8 +532,8 @@ VIRTUAL UV sv_2uv _((SV* sv)); VIRTUAL IV sv_iv _((SV* sv)); VIRTUAL UV sv_uv _((SV* sv)); VIRTUAL double sv_nv _((SV* sv)); -VIRTUAL char * sv_pvn _((SV *, STRLEN *)); -VIRTUAL I32 sv_true _((SV *)); +VIRTUAL char * sv_pvn _((SV *sv, STRLEN *len)); +VIRTUAL I32 sv_true _((SV *sv)); VIRTUAL void sv_add_arena _((char* ptr, U32 size, U32 flags)); VIRTUAL int sv_backoff _((SV* sv)); VIRTUAL SV* sv_bless _((SV* sv, HV* stash)); @@ -570,9 +572,7 @@ VIRTUAL void sv_magic _((SV* sv, SV* obj, int how, char* name, I32 namlen)); VIRTUAL SV* sv_mortalcopy _((SV* oldsv)); VIRTUAL SV* sv_newmortal _((void)); VIRTUAL SV* sv_newref _((SV* sv)); -#ifdef DEBUGGING -char* sv_peek _((SV* sv)); -#endif +VIRTUAL char* sv_peek _((SV* sv)); VIRTUAL char* sv_pvn_force _((SV* sv, STRLEN* lp)); VIRTUAL char* sv_reftype _((SV* sv, int ob)); VIRTUAL void sv_replace _((SV* sv, SV* nsv)); @@ -618,9 +618,7 @@ VIRTUAL void vivify_defelem _((SV* sv)); VIRTUAL void vivify_ref _((SV* sv, U32 to_what)); VIRTUAL I32 wait4pid _((int pid, int* statusp, int flags)); VIRTUAL void warn _((const char* pat,...)); -#ifdef DEBUGGING -void watch _((char** addr)); -#endif +VIRTUAL void watch _((char** addr)); VIRTUAL I32 whichsig _((char* sig)); VIRTUAL int yyerror _((char* s)); VIRTUAL int yylex _((void)); @@ -675,7 +673,6 @@ void sv_mortalgrow _((void)); void sv_unglob _((SV* sv)); void sv_check_thinkfirst _((SV *sv)); -SV *newSVpvn _((char *s, STRLEN len)); void sv_catpv_mg _((SV *sv, char *ptr)); void sv_catpvf_mg _((SV *sv, const char* pat, ...)); @@ -725,9 +722,7 @@ SV *is_an_int _((char *s, STRLEN l)); int div128 _((SV *pnum, bool *done)); int runops_standard _((void)); -#ifdef DEBUGGING int runops_debug _((void)); -#endif void check_uni _((void)); void force_next _((I32 type)); char *force_version _((char *start)); @@ -813,6 +808,7 @@ void reginsert _((U8, regnode *)); void regoptail _((regnode *, regnode *)); void regset _((char *, I32)); void regtail _((regnode *, regnode *)); +char* regwhite _((char *, char *)); char* nextchar _((void)); regnode *dumpuntil _((regnode *start, regnode *node, regnode *last, SV* sv, I32 l)); void scan_commit _((scan_data_t *data)); @@ -833,20 +829,15 @@ int do_aspawn _((void *vreally, void **vmark, void **vsp)); #ifdef DEBUGGING void del_sv _((SV *p)); -void debprof _((OP *o)); #endif +void debprof _((OP *o)); void *bset_obj_store _((void *obj, I32 ix)); -#ifdef INDIRECT_BGET_MACROS -void byterun _((struct bytestream bs)); -#else -void byterun _((PerlIO *fp)); -#endif /* INDIRECT_BGET_MACROS */ - OP *new_logop _((I32 type, I32 flags, OP **firstp, OP **otherp)); #define PPDEF(s) OP* CPerlObj::s _((ARGSproto)); public: + PPDEF(pp_aassign) PPDEF(pp_abs) PPDEF(pp_accept) @@ -1231,12 +1222,19 @@ void restore_rsfp _((void *f)); void restore_expect _((void *e)); void restore_lex_expect _((void *e)); void yydestruct _((void *ptr)); -VIRTUAL int fprintf _((PerlIO *, const char *, ...)); +VIRTUAL int fprintf _((PerlIO *pf, const char *pat, ...)); +VIRTUAL SV** get_specialsv_list _((void)); #ifdef WIN32 -VIRTUAL int& ErrorNo(); +VIRTUAL int& ErrorNo _((void)); #endif /* WIN32 */ #else /* !PERL_OBJECT */ END_EXTERN_C #endif /* PERL_OBJECT */ +#ifdef INDIRECT_BGET_MACROS +VIRTUAL void byterun _((struct bytestream bs)); +#else +VIRTUAL void byterun _((PerlIO *fp)); +#endif /* INDIRECT_BGET_MACROS */ +