intrpvar.h
来自「MSYS在windows下模拟了一个类unix的终端」· C头文件 代码 · 共 476 行 · 第 1/2 页
H
476 行
/***********************************************//* Global only to current interpreter instance *//***********************************************//* Don't forget to re-run embed.pl to propagate changes! *//* The 'I' prefix is only needed for vars that need appropriate #defines * generated when built with or without MULTIPLICITY. It is also used * to generate the appropriate export list for win32. * * When building without MULTIPLICITY, these variables will be truly global. *//* pseudo environmental stuff */PERLVAR(Iorigargc, int)PERLVAR(Iorigargv, char **)PERLVAR(Ienvgv, GV *)PERLVAR(Iincgv, GV *)PERLVAR(Ihintgv, GV *)PERLVAR(Iorigfilename, char *)PERLVAR(Idiehook, SV *)PERLVAR(Iwarnhook, SV *)/* switches */PERLVAR(Iminus_c, bool)PERLVAR(Ipatchlevel, SV *)PERLVAR(Ilocalpatches, char **)PERLVARI(Isplitstr, char *, " ")PERLVAR(Ipreprocess, bool)PERLVAR(Iminus_n, bool)PERLVAR(Iminus_p, bool)PERLVAR(Iminus_l, bool)PERLVAR(Iminus_a, bool)PERLVAR(Iminus_F, bool)PERLVAR(Idoswitches, bool)/*=for apidoc mn|bool|PL_dowarnThe C variable which corresponds to Perl's $^W warning variable.=cut*/PERLVAR(Idowarn, U8)PERLVAR(Iwidesyscalls, bool) /* wide system calls */PERLVAR(Idoextract, bool)PERLVAR(Isawampersand, bool) /* must save all match strings */PERLVAR(Iunsafe, bool)PERLVAR(Iinplace, char *)PERLVAR(Ie_script, SV *)PERLVAR(Iperldb, U32)/* This value may be set when embedding for full cleanup *//* 0=none, 1=full, 2=full with checks */PERLVARI(Iperl_destruct_level, int, 0)/* magical thingies */PERLVAR(Ibasetime, Time_t) /* $^T */PERLVAR(Iformfeed, SV *) /* $^L */PERLVARI(Imaxsysfd, I32, MAXSYSFD) /* top fd to pass to subprocesses */PERLVAR(Imultiline, int) /* $*--do strings hold >1 line? */PERLVAR(Istatusvalue, I32) /* $? */PERLVAR(Iexit_flags, U8) /* was exit() unexpected, etc. */#ifdef VMSPERLVAR(Istatusvalue_vms,U32)#endif/* shortcuts to various I/O objects */PERLVAR(Istdingv, GV *)PERLVAR(Istderrgv, GV *)PERLVAR(Idefgv, GV *)PERLVAR(Iargvgv, GV *)PERLVAR(Iargvoutgv, GV *)PERLVAR(Iargvout_stack, AV *)/* shortcuts to regexp stuff *//* this one needs to be moved to thrdvar.h and accessed via * find_threadsv() when USE_THREADS */PERLVAR(Ireplgv, GV *)/* shortcuts to misc objects */PERLVAR(Ierrgv, GV *)/* shortcuts to debugging objects */PERLVAR(IDBgv, GV *)PERLVAR(IDBline, GV *)/*=for apidoc mn|GV *|PL_DBsubWhen Perl is run in debugging mode, with the B<-d> switch, this GV containsthe SV which holds the name of the sub being debugged. This is the Cvariable which corresponds to Perl's $DB::sub variable. SeeC<PL_DBsingle>.=for apidoc mn|SV *|PL_DBsingleWhen Perl is run in debugging mode, with the B<-d> switch, this SV is aboolean which indicates whether subs are being single-stepped. Single-stepping is automatically turned on after every step. This is the Cvariable which corresponds to Perl's $DB::single variable. SeeC<PL_DBsub>.=for apidoc mn|SV *|PL_DBtraceTrace variable used when Perl is run in debugging mode, with the B<-d>switch. This is the C variable which corresponds to Perl's $DB::tracevariable. See C<PL_DBsingle>.=cut*/PERLVAR(IDBsub, GV *)PERLVAR(IDBsingle, SV *)PERLVAR(IDBtrace, SV *)PERLVAR(IDBsignal, SV *)PERLVAR(Ilineary, AV *) /* lines of script for debugger */PERLVAR(Idbargs, AV *) /* args to call listed by caller function *//* symbol tables */PERLVAR(Idebstash, HV *) /* symbol table for perldb package */PERLVAR(Iglobalstash, HV *) /* global keyword overrides imported here */PERLVAR(Icurstname, SV *) /* name of current package */PERLVAR(Ibeginav, AV *) /* names of BEGIN subroutines */PERLVAR(Iendav, AV *) /* names of END subroutines */PERLVAR(Icheckav, AV *) /* names of CHECK subroutines */PERLVAR(Iinitav, AV *) /* names of INIT subroutines */PERLVAR(Istrtab, HV *) /* shared string table */PERLVARI(Isub_generation,U32,1) /* incr to invalidate method cache *//* memory management */PERLVAR(Isv_count, I32) /* how many SV* are currently allocated */PERLVAR(Isv_objcount, I32) /* how many objects are currently allocated */PERLVAR(Isv_root, SV*) /* storage for SVs belonging to interp */PERLVAR(Isv_arenaroot, SV*) /* list of areas for garbage collection *//* funky return mechanisms */PERLVAR(Iforkprocess, int) /* so do_open |- can return proc# *//* subprocess state */PERLVAR(Ifdpid, AV *) /* keep fd-to-pid mappings for my_popen *//* internal state */PERLVAR(Itainting, bool) /* doing taint checks */PERLVARI(Iop_mask, char *, NULL) /* masked operations for safe evals *//* current interpreter roots */PERLVAR(Imain_cv, CV *)PERLVAR(Imain_root, OP *)PERLVAR(Imain_start, OP *)PERLVAR(Ieval_root, OP *)PERLVAR(Ieval_start, OP *)/* runtime control stuff */PERLVARI(Icurcopdb, COP *, NULL)PERLVARI(Icopline, line_t, NOLINE)/* statics moved here for shared library purposes */PERLVAR(Ifilemode, int) /* so nextargv() can preserve mode */PERLVAR(Ilastfd, int) /* what to preserve mode on */PERLVAR(Ioldname, char *) /* what to preserve mode on */PERLVAR(IArgv, char **) /* stuff to free from do_aexec, vfork safe */PERLVAR(ICmd, char *) /* stuff to free from do_aexec, vfork safe */PERLVAR(Igensym, I32) /* next symbol for getsym() to define */PERLVAR(Ipreambled, bool)PERLVAR(Ipreambleav, AV *)PERLVARI(Ilaststatval, int, -1)PERLVARI(Ilaststype, I32, OP_STAT)PERLVAR(Imess_sv, SV *)/* XXX shouldn't these be per-thread? --GSAR */PERLVAR(Iors, char *) /* output record separator $\ */PERLVAR(Iorslen, STRLEN)PERLVAR(Iofmt, char *) /* output format for numbers $# *//* interpreter atexit processing */PERLVARI(Iexitlist, PerlExitListEntry *, NULL) /* list of exit functions */PERLVARI(Iexitlistlen, I32, 0) /* length of same *//*=for apidoc Amn|HV*|PL_modglobalC<PL_modglobal> is a general purpose, interpreter global HV for use by extensions that need to keep information on a per-interpreter basis.In a pinch, it can also be used as a symbol table for extensions to share data among each other. It is a good idea to use keys prefixed by the package name of the extension that owns the data.=cut*/PERLVAR(Imodglobal, HV *) /* per-interp module data *//* these used to be in global before 5.004_68 */PERLVARI(Iprofiledata, U32 *, NULL) /* table of ops, counts */PERLVARI(Irsfp, PerlIO * VOL, Nullfp) /* current source file pointer */PERLVARI(Irsfp_filters, AV *, Nullav) /* keeps active source filters */PERLVAR(Icompiling, COP) /* compiling/done executing marker */PERLVAR(Icompcv, CV *) /* currently compiling subroutine */PERLVAR(Icomppad, AV *) /* storage for lexically scoped temporaries */PERLVAR(Icomppad_name, AV *) /* variable names for "my" variables */PERLVAR(Icomppad_name_fill, I32) /* last "introduced" variable offset */PERLVAR(Icomppad_name_floor, I32) /* start of vars in innermost block */#ifdef HAVE_INTERP_INTERNPERLVAR(Isys_intern, struct interp_intern) /* platform internals */#endif/* more statics moved here */PERLVARI(Igeneration, int, 100) /* from op.c */PERLVAR(IDBcv, CV *) /* from perl.c */PERLVARI(Iin_clean_objs,bool, FALSE) /* from sv.c */PERLVARI(Iin_clean_all, bool, FALSE) /* from sv.c */PERLVAR(Ilinestart, char *) /* beg. of most recently read line */PERLVAR(Ipending_ident, char) /* pending identifier lookup */PERLVAR(Isublex_info, SUBLEXINFO) /* from toke.c */#ifdef USE_THREADSPERLVAR(Ithrsv, SV *) /* struct perl_thread for main thread */PERLVARI(Ithreadnum, U32, 0) /* incremented each thread creation */PERLVAR(Istrtab_mutex, perl_mutex) /* Mutex for string table access */#endif /* USE_THREADS */PERLVAR(Iuid, Uid_t) /* current real user id */PERLVAR(Ieuid, Uid_t) /* current effective user id */PERLVAR(Igid, Gid_t) /* current real group id */PERLVAR(Iegid, Gid_t) /* current effective group id */PERLVAR(Inomemok, bool) /* let malloc context handle nomem */PERLVAR(Ian, U32) /* malloc sequence number */PERLVAR(Icop_seqmax, U32) /* statement sequence number */PERLVAR(Iop_seqmax, U16) /* op sequence number */PERLVAR(Ievalseq, U32) /* eval sequence number */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?