proto.h

来自「ARM上的如果你对底层感兴趣」· C头文件 代码 · 共 907 行 · 第 1/3 页

H
907
字号
VIRTUAL I32	unlnk _((char* f));
#endif
#ifdef USE_THREADS
VIRTUAL void	unlock_condpair _((void* svv));
#endif
VIRTUAL void	unsharepvn _((char* sv, I32 len, U32 hash));
VIRTUAL void	unshare_hek _((HEK* hek));
VIRTUAL void	utilize _((int aver, I32 floor, OP* version, OP* id, OP* arg));
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,...));
VIRTUAL void	watch _((char** addr));
VIRTUAL I32	whichsig _((char* sig));
VIRTUAL int	yyerror _((char* s));
VIRTUAL int	yylex _((void));
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

#ifdef LEAKTEST
VIRTUAL Malloc_t safexmalloc _((I32 x, MEM_SIZE size));
VIRTUAL Malloc_t safexcalloc _((I32 x, MEM_SIZE elements, MEM_SIZE size));
VIRTUAL Malloc_t safexrealloc _((Malloc_t where, MEM_SIZE size));
VIRTUAL void     safexfree _((Malloc_t where));
#endif

#ifdef PERL_GLOBAL_STRUCT
VIRTUAL struct perl_vars *Perl_GetVars _((void));
#endif

#ifdef PERL_OBJECT
protected:
void hsplit _((HV *hv));
void hfreeentries _((HV *hv));
HE* more_he _((void));
HE* new_he _((void));
void del_he _((HE *p));
HEK *save_hek _((char *str, I32 len, U32 hash));
SV *mess_alloc _((void));
void gv_init_sv _((GV *gv, I32 sv_type));
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));
XPVIV *new_xiv _((void));
XPVNV *new_xnv _((void));
XPV *new_xpv _((void));
XRV *new_xrv _((void));
void del_xiv _((XPVIV* p));
void del_xnv _((XPVNV* p));
void del_xpv _((XPV* p));
void del_xrv _((XRV* p));
void sv_mortalgrow _((void));
void sv_unglob _((SV* sv));
void sv_check_thinkfirst _((SV *sv));
I32 avhv_index_sv _((SV* sv));

void do_report_used _((SV *sv));
void do_clean_objs _((SV *sv));
void do_clean_named_objs _((SV *sv));
void do_clean_all _((SV *sv));
void not_a_number _((SV *sv));
void* my_safemalloc _((MEM_SIZE size));

typedef void (CPerlObj::*SVFUNC) _((SV*));
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));
int magic_methpack _((SV *sv, MAGIC *mg, char *meth));
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));
SV* refto _((SV* sv));
U32 seed _((void));
OP *docatch _((OP *o));
OP *dofindlabel _((OP *o, char *label, OP **opstack, OP **oplimit));
void doparseform _((SV *sv));
I32 dopoptoeval _((I32 startingblock));
I32 dopoptolabel _((char *label));
I32 dopoptoloop _((I32 startingblock));
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));
SV *mul128 _((SV *sv, U8 m));
SV *is_an_int _((char *s, STRLEN l));
int div128 _((SV *pnum, bool *done));

int runops_standard _((void));
int runops_debug _((void));

void check_uni _((void));
void  force_next _((I32 type));
char *force_version _((char *start));
char *force_word _((char *start, int token, int check_keyword, int allow_pack, int allow_tick));
SV *tokeq _((SV *sv));
char *scan_const _((char *start));
char *scan_formline _((char *s));
char *scan_heredoc _((char *s));
char *scan_ident _((char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni));
char *scan_inputsymbol _((char *start));
char *scan_pat _((char *start, I32 type));
char *scan_str _((char *start));
char *scan_subst _((char *start));
char *scan_trans _((char *start));
char *scan_word _((char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp));
char *skipspace _((char *s));
void checkcomma _((char *s, char *name, char *what));
void force_ident _((char *s, int kind));
void incline _((char *s));
int intuit_method _((char *s, GV *gv));
int intuit_more _((char *s));
I32 lop _((I32 f, expectation x, char *s));
void missingterm _((char *s));
void no_op _((char *what, char *s));
void set_csh _((void));
I32 sublex_done _((void));
I32 sublex_push _((void));
I32 sublex_start _((void));
#ifdef CRIPPLED_CC
int uni _((I32 f, char *s));
#endif
char * filter_gets _((SV *sv, PerlIO *fp, STRLEN append));
SV *new_constant _((char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type));
int ao _((int toketype));
void depcom _((void));
#ifdef WIN32
I32 win32_textfilter _((int idx, SV *sv, int maxlen));
#endif
char* incl_perldb _((void));
SV *isa_lookup _((HV *stash, char *name, int len, int level));
CV *get_db_sub _((SV **svp, CV *cv));
I32 list_assignment _((OP *o));
void bad_type _((I32 n, char *t, char *name, OP *kid));
OP *modkids _((OP *o, I32 type));
OP *no_fh_allowed _((OP *o));
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));
OP *newDEFSVOP _((void));
char* gv_ename _((GV *gv));
CV *cv_clone2 _((CV *proto, CV *outside));

void find_beginning _((void));
void forbid_setid _((char *));
void incpush _((char *, int));
void init_interp _((void));
void init_ids _((void));
void init_debugger _((void));
void init_lexer _((void));
void init_main_stash _((void));
#ifdef USE_THREADS
struct perl_thread * init_main_thread _((void));
#endif /* USE_THREADS */
void init_perllib _((void));
void init_postdump_symbols _((int, char **, char **));
void init_predump_symbols _((void));
void my_exit_jump _((void)) __attribute__((noreturn));
void nuke_stacks _((void));
void open_script _((char *, bool, SV *, int *fd));
void usage _((char *));
void validate_suid _((char *, char*, int));

regnode *reg _((I32, I32 *));
regnode *reganode _((U8, U32));
regnode *regatom _((I32 *));
regnode *regbranch _((I32 *, I32));
void regc _((U8, char *));
regnode *regclass _((void));
I32 regcurly _((char *));
regnode *reg_node _((U8));
regnode *regpiece _((I32 *));
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));
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));
I32 regmatch _((regnode *prog));
I32 regrepeat _((regnode *p, I32 max));
I32 regrepeat_hard _((regnode *p, I32 max, I32 *lp));
I32 regtry _((regexp *prog, char *startpos));
bool reginclass _((char *p, I32 c));
CHECKPOINT regcppush _((I32 parenfloor));
char * regcppop _((void));
void dump _((char *pat,...));
#ifdef WIN32
int do_aspawn _((void *vreally, void **vmark, void **vsp));
#endif

#ifdef DEBUGGING
void del_sv _((SV *p));
#endif
void debprof _((OP *o));

void *bset_obj_store _((void *obj, I32 ix));
OP *new_logop _((I32 type, I32 flags, OP **firstp, OP **otherp));

#define PPDEF(s) OP* CPerlObj::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));
void restore_expect _((void *e));
void restore_lex_expect _((void *e));
void yydestruct _((void *ptr));
VIRTUAL int fprintf _((PerlIO *pf, const char *pat, ...));
VIRTUAL SV**	get_specialsv_list _((void));

#ifdef WIN32
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 */

VIRTUAL void	sv_catpvf_mg _((SV *sv, const char* pat, ...));
VIRTUAL void	sv_catpv_mg _((SV *sv, char *ptr));
VIRTUAL void	sv_catpvn_mg _((SV *sv, char *ptr, STRLEN len));
VIRTUAL void	sv_catsv_mg _((SV *dstr, SV *sstr));
VIRTUAL void	sv_setpvf_mg _((SV *sv, const char* pat, ...));
VIRTUAL void	sv_setiv_mg _((SV *sv, IV i));
VIRTUAL void	sv_setpviv_mg _((SV *sv, IV iv));
VIRTUAL void	sv_setuv_mg _((SV *sv, UV u));
VIRTUAL void	sv_setnv_mg _((SV *sv, double num));
VIRTUAL void	sv_setpv_mg _((SV *sv, const char *ptr));
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));

VIRTUAL OP*	dofile _((OP* term));

/* New virtual functions must be added here to maintain binary
 * compatablity with PERL_OBJECT
 */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?