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 + -
显示快捷键?