X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=proto.h;h=f91e80bc5b22928cef5069145e1e5c1683e8d1d5;hb=f25172013443eb112285f24a09b83900edb8a738;hp=02d7a7e786483c85f376101d2fc14032adaedd6c;hpb=6cef1e77274f883a8b06f0546efeff6e6b8660d8;p=p5sagit%2Fp5-mst-13.2.git diff --git a/proto.h b/proto.h index 02d7a7e..f91e80b 100644 --- a/proto.h +++ b/proto.h @@ -56,14 +56,14 @@ VIRTUAL int block_start _((int full)); VIRTUAL void boot_core_UNIVERSAL _((void)); 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)); -#endif +VIRTUAL I32 cast_i32 _((double f)); +VIRTUAL IV cast_iv _((double f)); +VIRTUAL UV cast_uv _((double f)); #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) VIRTUAL I32 my_chsize _((int fd, Off_t length)); #endif -VIRTUAL OP* ck_gvconst _((OP* o)); -VIRTUAL OP* ck_retarget _((OP* o)); + #ifdef USE_THREADS VIRTUAL MAGIC * condpair_magic _((SV *sv)); #endif @@ -118,17 +118,18 @@ VIRTUAL void do_pipe _((SV* sv, GV* rgv, GV* wgv)); VIRTUAL bool do_print _((SV* sv, PerlIO* fp)); VIRTUAL OP* do_readline _((void)); VIRTUAL I32 do_chomp _((SV* sv)); -VIRTUAL bool do_seek _((GV* gv, long pos, int whence)); +VIRTUAL bool do_seek _((GV* gv, Off_t pos, int whence)); #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) I32 do_semop _((SV** mark, SV** sp)); I32 do_shmio _((I32 optype, SV** mark, SV** sp)); #endif VIRTUAL void do_sprintf _((SV* sv, I32 len, SV** sarg)); -VIRTUAL long do_sysseek _((GV* gv, long pos, int whence)); -VIRTUAL long do_tell _((GV* gv)); +VIRTUAL Off_t do_sysseek _((GV* gv, Off_t pos, int whence)); +VIRTUAL Off_t do_tell _((GV* gv)); VIRTUAL I32 do_trans _((SV* sv)); VIRTUAL void do_vecset _((SV* sv)); VIRTUAL void do_vop _((I32 optype, SV* sv, SV* left, SV* right)); +VIRTUAL OP* dofile _((OP* term)); VIRTUAL I32 dowantarray _((void)); VIRTUAL void dump_all _((void)); VIRTUAL void dump_eval _((void)); @@ -136,12 +137,12 @@ VIRTUAL void dump_eval _((void)); VIRTUAL void dump_fds _((char* s)); #endif VIRTUAL void dump_form _((GV* gv)); -VIRTUAL void dump_gv _((GV* gv)); +VIRTUAL void gv_dump _((GV* gv)); #ifdef MYMALLOC VIRTUAL void dump_mstats _((char* s)); #endif -VIRTUAL void dump_op _((OP* arg)); -VIRTUAL void dump_pm _((PMOP* pm)); +VIRTUAL void op_dump _((OP* arg)); +VIRTUAL void pmop_dump _((PMOP* pm)); VIRTUAL void dump_packsubs _((HV* stash)); VIRTUAL void dump_sub _((GV* gv)); VIRTUAL void fbm_compile _((SV* sv, U32 flags)); @@ -267,7 +268,7 @@ VIRTUAL U32 magic_len _((SV* sv, MAGIC* mg)); VIRTUAL int magic_mutexfree _((SV* sv, MAGIC* mg)); #endif /* USE_THREADS */ VIRTUAL int magic_nextpack _((SV* sv, MAGIC* mg, SV* key)); -VIRTUAL int magic_regdata_cnt _((SV* sv, MAGIC* mg)); +VIRTUAL U32 magic_regdata_cnt _((SV* sv, MAGIC* mg)); VIRTUAL int magic_regdatum_get _((SV* sv, MAGIC* mg)); VIRTUAL int magic_set _((SV* sv, MAGIC* mg)); #ifdef OVERLOAD @@ -360,7 +361,7 @@ VIRTUAL OP* newNULLLIST _((void)); VIRTUAL OP* newOP _((I32 optype, I32 flags)); VIRTUAL void newPROG _((OP* o)); VIRTUAL OP* newRANGE _((I32 flags, OP* left, OP* right)); -VIRTUAL OP* newSLICEOP _((I32 flags, OP* subscript, OP* list)); +VIRTUAL OP* newSLICEOP _((I32 flags, OP* subscript, OP* listop)); 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)(CV* cv _CPERLproto), char* filename)); @@ -498,6 +499,7 @@ VIRTUAL char* savepv _((char* sv)); VIRTUAL char* savepvn _((char* sv, I32 len)); VIRTUAL void savestack_grow _((void)); VIRTUAL void save_aelem _((AV* av, I32 idx, SV **sptr)); +VIRTUAL I32 save_alloc _((I32 size, I32 pad)); VIRTUAL void save_aptr _((AV** aptr)); VIRTUAL AV* save_ary _((GV* gv)); VIRTUAL void save_clearsv _((SV** svp)); @@ -513,6 +515,7 @@ void save_destructor _((void (*f)(void*), void* p)); VIRTUAL void save_freesv _((SV* sv)); VIRTUAL void save_freeop _((OP* o)); VIRTUAL void save_freepv _((char* pv)); +VIRTUAL void save_generic_svref _((SV** sptr)); VIRTUAL void save_gp _((GV* gv, I32 empty)); VIRTUAL HV* save_hash _((GV* gv)); VIRTUAL void save_helem _((HV* hv, SV *key, SV **sptr)); @@ -538,6 +541,7 @@ VIRTUAL OP* scalar _((OP* o)); VIRTUAL OP* scalarkids _((OP* o)); VIRTUAL OP* scalarseq _((OP* o)); VIRTUAL OP* scalarvoid _((OP* o)); +VIRTUAL UV scan_bin _((char* start, I32 len, I32* retlen)); VIRTUAL UV scan_hex _((char* start, I32 len, I32* retlen)); VIRTUAL char* scan_num _((char* s)); VIRTUAL UV scan_oct _((char* start, I32 len, I32* retlen)); @@ -590,11 +594,7 @@ VIRTUAL I32 sv_eq _((SV* sv1, SV* sv2)); VIRTUAL void sv_free _((SV* sv)); VIRTUAL void sv_free_arenas _((void)); VIRTUAL char* sv_gets _((SV* sv, PerlIO* fp, I32 append)); -#ifndef DOSISH -VIRTUAL char* sv_grow _((SV* sv, I32 newlen)); -#else -VIRTUAL char* sv_grow _((SV* sv, unsigned long newlen)); -#endif +VIRTUAL char* sv_grow _((SV* sv, STRLEN newlen)); VIRTUAL void sv_inc _((SV* sv)); VIRTUAL void sv_insert _((SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen)); VIRTUAL int sv_isa _((SV* sv, char* name)); @@ -668,16 +668,19 @@ VIRTUAL void warner _((U32 err, const char* pat,...)); VIRTUAL void watch _((char** addr)); VIRTUAL I32 whichsig _((char* sig)); VIRTUAL int yyerror _((char* s)); -VIRTUAL int yylex _((void)); +#ifdef USE_PURE_BISON +# define PERL_YYLEX_PARAM_DECL YYSTYPE *lvalp, int *lcharp +#else +# define PERL_YYLEX_PARAM_DECL void +#endif +VIRTUAL int yylex _((PERL_YYLEX_PARAM_DECL)); VIRTUAL int yyparse _((void)); VIRTUAL int yywarn _((char* s)); -#ifndef MYMALLOC -VIRTUAL Malloc_t safemalloc _((MEM_SIZE nbytes)); -VIRTUAL Malloc_t safecalloc _((MEM_SIZE elements, MEM_SIZE size)); -VIRTUAL Malloc_t saferealloc _((Malloc_t where, MEM_SIZE nbytes)); -VIRTUAL Free_t safefree _((Malloc_t where)); -#endif +VIRTUAL Malloc_t safesysmalloc _((MEM_SIZE nbytes)); +VIRTUAL Malloc_t safesyscalloc _((MEM_SIZE elements, MEM_SIZE size)); +VIRTUAL Malloc_t safesysrealloc _((Malloc_t where, MEM_SIZE nbytes)); +VIRTUAL Free_t safesysfree _((Malloc_t where)); #ifdef LEAKTEST VIRTUAL Malloc_t safexmalloc _((I32 x, MEM_SIZE size)); @@ -694,7 +697,7 @@ VIRTUAL struct perl_vars *Perl_GetVars _((void)); protected: void hsplit _((HV *hv)); void hfreeentries _((HV *hv)); -HE* more_he _((void)); +void more_he _((void)); HE* new_he _((void)); void del_he _((HE *p)); HEK *save_hek _((char *str, I32 len, U32 hash)); @@ -704,10 +707,10 @@ SV *save_scalar_at _((SV **sptr)); IV asIV _((SV* sv)); UV asUV _((SV* sv)); SV *more_sv _((void)); -XPVIV *more_xiv _((void)); -XPVNV *more_xnv _((void)); -XPV *more_xpv _((void)); -XRV *more_xrv _((void)); +void more_xiv _((void)); +void more_xnv _((void)); +void more_xpv _((void)); +void more_xrv _((void)); XPVIV *new_xiv _((void)); XPVNV *new_xnv _((void)); XPV *new_xpv _((void)); @@ -734,8 +737,9 @@ void visit _((SVFUNC f)); typedef I32 (CPerlObj::*SVCOMPARE) _((SV*, SV*)); void qsortsv _((SV ** array, size_t num_elts, SVCOMPARE f)); I32 sortcv _((SV *a, SV *b)); -void save_magic _((MGS *mgs, SV *sv)); +void save_magic _((I32 mgs_ix, SV *sv)); int magic_methpack _((SV *sv, MAGIC *mg, char *meth)); +int magic_methcall _((SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val)); int magic_methcall _((MAGIC *mg, char *meth, I32 flags, int n, SV *val)); OP * doform _((CV *cv, GV *gv, OP *retop)); void doencodes _((SV* sv, char* s, I32 len)); @@ -751,6 +755,13 @@ I32 dopoptosub _((I32 startingblock)); I32 dopoptosub_at _((PERL_CONTEXT* cxstk, I32 startingblock)); void save_lines _((AV *array, SV *sv)); OP *doeval _((int gimme, OP** startop)); +I32 sv_ncmp _((SV *a, SV *b)); +I32 sv_i_ncmp _((SV *a, SV *b)); +I32 amagic_ncmp _((SV *a, SV *b)); +I32 amagic_i_ncmp _((SV *a, SV *b)); +I32 amagic_cmp _((SV *str1, SV *str2)); +I32 amagic_cmp_locale _((SV *str1, SV *str2)); + SV *mul128 _((SV *sv, U8 m)); SV *is_an_int _((char *s, STRLEN l)); int div128 _((SV *pnum, bool *done)); @@ -807,7 +818,7 @@ OP *scalarboolean _((OP *o)); OP *too_few_arguments _((OP *o, char* name)); OP *too_many_arguments _((OP *o, char* name)); void null _((OP* o)); -PADOFFSET pad_findlex _((char* name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix)); +PADOFFSET pad_findlex _((char* name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix, I32 saweval)); OP *newDEFSVOP _((void)); char* gv_ename _((GV *gv)); CV *cv_clone2 _((CV *proto, CV *outside)); @@ -831,6 +842,7 @@ void nuke_stacks _((void)); void open_script _((char *, bool, SV *, int *fd)); void usage _((char *)); void validate_suid _((char *, char*, int)); +int emulate_eaccess _((const char* path, int mode)); regnode *reg _((I32, I32 *)); regnode *reganode _((U8, U32)); @@ -854,6 +866,8 @@ void scan_commit _((scan_data_t *data)); I32 study_chunk _((regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags)); I32 add_data _((I32 n, char *s)); void re_croak2 _((const char* pat1,const char* pat2,...)) __attribute__((noreturn)); +char* regpposixcc _((I32 value)); +void clear_re _((void *r)); I32 regmatch _((regnode *prog)); I32 regrepeat _((regnode *p, I32 max)); I32 regrepeat_hard _((regnode *p, I32 max, I32 *lp)); @@ -862,6 +876,9 @@ bool reginclass _((char *p, I32 c)); bool reginclassutf8 _((regnode *f, U8* p)); CHECKPOINT regcppush _((I32 parenfloor)); char * regcppop _((void)); +char * regcp_set_to _((I32 ss)); +void cache_re _((regexp *prog)); +void restore_pos _((void *arg)); U8 * reghop _((U8 *pos, I32 off)); U8 * reghopmaybe _((U8 *pos, I32 off)); void dump _((char *pat,...)); @@ -876,44 +893,27 @@ void debprof _((OP *o)); void *bset_obj_store _((void *obj, I32 ix)); OP *new_logop _((I32 type, I32 flags, OP **firstp, OP **otherp)); +void simplify_sort _((OP *o)); + +I32 do_trans_CC_simple _((SV *sv)); +I32 do_trans_CC_count _((SV *sv)); +I32 do_trans_CC_complex _((SV *sv)); +I32 do_trans_UU_simple _((SV *sv)); +I32 do_trans_UU_count _((SV *sv)); +I32 do_trans_UU_complex _((SV *sv)); +I32 do_trans_UC_simple _((SV *sv)); +I32 do_trans_CU_simple _((SV *sv)); +I32 do_trans_UC_trivial _((SV *sv)); +I32 do_trans_CU_trivial _((SV *sv)); -#define PPDEF(s) OP* CPerlObj::s _((ARGSproto)); +#undef PERL_CKDEF +#undef PERL_PPDEF +#define PERL_CKDEF(s) OP* s _((OP *o)); +#define PERL_PPDEF(s) OP* s _((ARGSproto)); public: #include "pp_proto.h" -OP * ck_ftst _((OP *o)); -OP *ck_anoncode _((OP *o)); -OP *ck_bitop _((OP *o)); -OP *ck_concat _((OP *o)); -OP *ck_spair _((OP *o)); -OP *ck_delete _((OP *o)); -OP *ck_eof _((OP *o)); -OP *ck_eval _((OP *o)); -OP *ck_exec _((OP *o)); -OP *ck_exists _((OP *o)); -OP *ck_rvconst _((OP *o)); -OP *ck_fun _((OP *o)); -OP *ck_glob _((OP *o)); -OP *ck_grep _((OP *o)); -OP *ck_index _((OP *o)); -OP *ck_lengthconst _((OP *o)); -OP *ck_lfun _((OP *o)); -OP *ck_rfun _((OP *o)); -OP *ck_listiob _((OP *o)); -OP *ck_fun_locale _((OP *o)); -OP *ck_scmp _((OP *o)); -OP *ck_match _((OP *o)); -OP *ck_null _((OP *o)); -OP *ck_repeat _((OP *o)); -OP *ck_require _((OP *o)); -OP *ck_select _((OP *o)); -OP *ck_shift _((OP *o)); -OP *ck_sort _((OP *o)); -OP *ck_split _((OP *o)); -OP *ck_subr _((OP *o)); -OP *ck_svconst _((OP *o)); -OP *ck_trunc _((OP *o)); void unwind_handler_stack _((void *p)); void restore_magic _((void *p)); void restore_rsfp _((void *f)); @@ -950,7 +950,21 @@ VIRTUAL void sv_setpvn_mg _((SV *sv, const char *ptr, STRLEN len)); VIRTUAL void sv_setsv_mg _((SV *dstr, SV *sstr)); VIRTUAL void sv_usepvn_mg _((SV *sv, char *ptr, STRLEN len)); +VIRTUAL MGVTBL* get_vtbl _((int vtbl_id)); + /* New virtual functions must be added here to maintain binary * compatablity with PERL_OBJECT */ +VIRTUAL char* pv_display _((SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)); +VIRTUAL void dump_indent _((I32 level, PerlIO *file, const char* pat, ...)); + +VIRTUAL void do_gv_dump _((I32 level, PerlIO *file, char *name, GV *sv)); +VIRTUAL void do_gvgv_dump _((I32 level, PerlIO *file, char *name, GV *sv)); +VIRTUAL void do_hv_dump _((I32 level, PerlIO *file, char *name, HV *sv)); +VIRTUAL void do_magic_dump _((I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)); +VIRTUAL void do_op_dump _((I32 level, PerlIO *file, OP *o)); +VIRTUAL void do_pmop_dump _((I32 level, PerlIO *file, PMOP *pm)); +VIRTUAL void do_sv_dump _((I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)); +VIRTUAL void magic_dump _((MAGIC *mg)); +VIRTUAL void reginitcolors _((void));