📄 perlapi.h
字号:
/* -*- buffer-read-only: t -*- * * perlapi.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by embed.pl from data in embed.fnc, embed.pl, * pp.sym, intrpvar.h, and perlvars.h. * Any changes made here will be lost! * * Edit those files and run 'make regen_headers' to effect changes. *//* declare accessor functions for Perl variables */#ifndef __perlapi_h__#define __perlapi_h__#if defined (MULTIPLICITY)START_EXTERN_C#undef PERLVAR#undef PERLVARA#undef PERLVARI#undef PERLVARIC#undef PERLVARISC#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHX);#define PERLVARA(v,n,t) typedef t PL_##v##_t[n]; \ EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);#define PERLVARI(v,t,i) PERLVAR(v,t)#define PERLVARIC(v,t,i) PERLVAR(v, const t)#define PERLVARISC(v,i) typedef const char PL_##v##_t[sizeof(i)]; \ EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);#include "intrpvar.h"#include "perlvars.h"#undef PERLVAR#undef PERLVARA#undef PERLVARI#undef PERLVARIC#undef PERLVARISC#ifndef PERL_GLOBAL_STRUCTEXTERN_C Perl_ppaddr_t** Perl_Gppaddr_ptr(pTHX);EXTERN_C Perl_check_t** Perl_Gcheck_ptr(pTHX);EXTERN_C unsigned char** Perl_Gfold_locale_ptr(pTHX);#define Perl_ppaddr_ptr Perl_Gppaddr_ptr#define Perl_check_ptr Perl_Gcheck_ptr#define Perl_fold_locale_ptr Perl_Gfold_locale_ptr#endifEND_EXTERN_C#if defined(PERL_CORE)/* accessor functions for Perl variables (provide binary compatibility) *//* these need to be mentioned here, or most linkers won't put them in the perl executable */#ifndef PERL_NO_FORCE_LINKSTART_EXTERN_C#ifndef DOINITEXTCONST void * const PL_force_link_funcs[];#elseEXTCONST void * const PL_force_link_funcs[] = {#undef PERLVAR#undef PERLVARA#undef PERLVARI#undef PERLVARIC#define PERLVAR(v,t) (void*)Perl_##v##_ptr,#define PERLVARA(v,n,t) PERLVAR(v,t)#define PERLVARI(v,t,i) PERLVAR(v,t)#define PERLVARIC(v,t,i) PERLVAR(v,t)#define PERLVARISC(v,i) PERLVAR(v,char)/* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one * cannot cast between void pointers and function pointers without * info level warnings. The PL_force_link_funcs[] would cause a few * hundred of those warnings. In code one can circumnavigate this by using * unions that overlay the different pointers, but in declarations one * cannot use this trick. Therefore we just disable the warning here * for the duration of the PL_force_link_funcs[] declaration. */#if defined(__DECC) && defined(__osf__)#pragma message save#pragma message disable (nonstandcast)#endif#include "intrpvar.h"#include "perlvars.h"#if defined(__DECC) && defined(__osf__)#pragma message restore#endif#undef PERLVAR#undef PERLVARA#undef PERLVARI#undef PERLVARIC#undef PERLVARISC};#endif /* DOINIT */END_EXTERN_C#endif /* PERL_NO_FORCE_LINK */#else /* !PERL_CORE */#undef PL_Argv#define PL_Argv (*Perl_IArgv_ptr(aTHX))#undef PL_Cmd#define PL_Cmd (*Perl_ICmd_ptr(aTHX))#undef PL_DBcv#define PL_DBcv (*Perl_IDBcv_ptr(aTHX))#undef PL_DBgv#define PL_DBgv (*Perl_IDBgv_ptr(aTHX))#undef PL_DBline#define PL_DBline (*Perl_IDBline_ptr(aTHX))#undef PL_DBsignal#define PL_DBsignal (*Perl_IDBsignal_ptr(aTHX))#undef PL_DBsingle#define PL_DBsingle (*Perl_IDBsingle_ptr(aTHX))#undef PL_DBsub#define PL_DBsub (*Perl_IDBsub_ptr(aTHX))#undef PL_DBtrace#define PL_DBtrace (*Perl_IDBtrace_ptr(aTHX))#undef PL_Dir#define PL_Dir (*Perl_IDir_ptr(aTHX))#undef PL_Env#define PL_Env (*Perl_IEnv_ptr(aTHX))#undef PL_LIO#define PL_LIO (*Perl_ILIO_ptr(aTHX))#undef PL_Mem#define PL_Mem (*Perl_IMem_ptr(aTHX))#undef PL_MemParse#define PL_MemParse (*Perl_IMemParse_ptr(aTHX))#undef PL_MemShared#define PL_MemShared (*Perl_IMemShared_ptr(aTHX))#undef PL_OpPtr#define PL_OpPtr (*Perl_IOpPtr_ptr(aTHX))#undef PL_OpSlab#define PL_OpSlab (*Perl_IOpSlab_ptr(aTHX))#undef PL_OpSpace#define PL_OpSpace (*Perl_IOpSpace_ptr(aTHX))#undef PL_Proc#define PL_Proc (*Perl_IProc_ptr(aTHX))#undef PL_Sock#define PL_Sock (*Perl_ISock_ptr(aTHX))#undef PL_StdIO#define PL_StdIO (*Perl_IStdIO_ptr(aTHX))#undef PL_Sv#define PL_Sv (*Perl_ISv_ptr(aTHX))#undef PL_Xpv#define PL_Xpv (*Perl_IXpv_ptr(aTHX))#undef PL_amagic_generation#define PL_amagic_generation (*Perl_Iamagic_generation_ptr(aTHX))#undef PL_an#define PL_an (*Perl_Ian_ptr(aTHX))#undef PL_argvgv#define PL_argvgv (*Perl_Iargvgv_ptr(aTHX))#undef PL_argvout_stack#define PL_argvout_stack (*Perl_Iargvout_stack_ptr(aTHX))#undef PL_argvoutgv#define PL_argvoutgv (*Perl_Iargvoutgv_ptr(aTHX))#undef PL_basetime#define PL_basetime (*Perl_Ibasetime_ptr(aTHX))#undef PL_beginav#define PL_beginav (*Perl_Ibeginav_ptr(aTHX))#undef PL_beginav_save#define PL_beginav_save (*Perl_Ibeginav_save_ptr(aTHX))#undef PL_bitcount#define PL_bitcount (*Perl_Ibitcount_ptr(aTHX))#undef PL_body_arenas#define PL_body_arenas (*Perl_Ibody_arenas_ptr(aTHX))#undef PL_body_roots#define PL_body_roots (*Perl_Ibody_roots_ptr(aTHX))#undef PL_bodytarget#define PL_bodytarget (*Perl_Ibodytarget_ptr(aTHX))#undef PL_checkav#define PL_checkav (*Perl_Icheckav_ptr(aTHX))#undef PL_checkav_save#define PL_checkav_save (*Perl_Icheckav_save_ptr(aTHX))#undef PL_chopset#define PL_chopset (*Perl_Ichopset_ptr(aTHX))#undef PL_clocktick#define PL_clocktick (*Perl_Iclocktick_ptr(aTHX))#undef PL_collation_ix#define PL_collation_ix (*Perl_Icollation_ix_ptr(aTHX))#undef PL_collation_name#define PL_collation_name (*Perl_Icollation_name_ptr(aTHX))#undef PL_collation_standard#define PL_collation_standard (*Perl_Icollation_standard_ptr(aTHX))#undef PL_collxfrm_base#define PL_collxfrm_base (*Perl_Icollxfrm_base_ptr(aTHX))#undef PL_collxfrm_mult#define PL_collxfrm_mult (*Perl_Icollxfrm_mult_ptr(aTHX))#undef PL_colors#define PL_colors (*Perl_Icolors_ptr(aTHX))#undef PL_colorset#define PL_colorset (*Perl_Icolorset_ptr(aTHX))#undef PL_compcv#define PL_compcv (*Perl_Icompcv_ptr(aTHX))#undef PL_compiling#define PL_compiling (*Perl_Icompiling_ptr(aTHX))#undef PL_comppad#define PL_comppad (*Perl_Icomppad_ptr(aTHX))#undef PL_comppad_name#define PL_comppad_name (*Perl_Icomppad_name_ptr(aTHX))#undef PL_comppad_name_fill#define PL_comppad_name_fill (*Perl_Icomppad_name_fill_ptr(aTHX))#undef PL_comppad_name_floor#define PL_comppad_name_floor (*Perl_Icomppad_name_floor_ptr(aTHX))#undef PL_cop_seqmax#define PL_cop_seqmax (*Perl_Icop_seqmax_ptr(aTHX))#undef PL_cryptseen#define PL_cryptseen (*Perl_Icryptseen_ptr(aTHX))#undef PL_curcop#define PL_curcop (*Perl_Icurcop_ptr(aTHX))#undef PL_curcopdb#define PL_curcopdb (*Perl_Icurcopdb_ptr(aTHX))#undef PL_curpad#define PL_curpad (*Perl_Icurpad_ptr(aTHX))#undef PL_curpm#define PL_curpm (*Perl_Icurpm_ptr(aTHX))#undef PL_curstack#define PL_curstack (*Perl_Icurstack_ptr(aTHX))#undef PL_curstackinfo#define PL_curstackinfo (*Perl_Icurstackinfo_ptr(aTHX))#undef PL_curstash#define PL_curstash (*Perl_Icurstash_ptr(aTHX))#undef PL_curstname#define PL_curstname (*Perl_Icurstname_ptr(aTHX))#undef PL_custom_op_descs#define PL_custom_op_descs (*Perl_Icustom_op_descs_ptr(aTHX))#undef PL_custom_op_names#define PL_custom_op_names (*Perl_Icustom_op_names_ptr(aTHX))#undef PL_cv_has_eval#define PL_cv_has_eval (*Perl_Icv_has_eval_ptr(aTHX))#undef PL_dbargs#define PL_dbargs (*Perl_Idbargs_ptr(aTHX))#undef PL_debstash#define PL_debstash (*Perl_Idebstash_ptr(aTHX))#undef PL_debug#define PL_debug (*Perl_Idebug_ptr(aTHX))#undef PL_debug_pad#define PL_debug_pad (*Perl_Idebug_pad_ptr(aTHX))#undef PL_def_layerlist#define PL_def_layerlist (*Perl_Idef_layerlist_ptr(aTHX))#undef PL_defgv#define PL_defgv (*Perl_Idefgv_ptr(aTHX))#undef PL_defoutgv#define PL_defoutgv (*Perl_Idefoutgv_ptr(aTHX))#undef PL_defstash#define PL_defstash (*Perl_Idefstash_ptr(aTHX))#undef PL_delaymagic#define PL_delaymagic (*Perl_Idelaymagic_ptr(aTHX))#undef PL_destroyhook#define PL_destroyhook (*Perl_Idestroyhook_ptr(aTHX))#undef PL_diehook#define PL_diehook (*Perl_Idiehook_ptr(aTHX))#undef PL_dirty#define PL_dirty (*Perl_Idirty_ptr(aTHX))#undef PL_doextract#define PL_doextract (*Perl_Idoextract_ptr(aTHX))#undef PL_doswitches#define PL_doswitches (*Perl_Idoswitches_ptr(aTHX))#undef PL_dowarn#define PL_dowarn (*Perl_Idowarn_ptr(aTHX))#undef PL_dumper_fd#define PL_dumper_fd (*Perl_Idumper_fd_ptr(aTHX))#undef PL_dumpindent#define PL_dumpindent (*Perl_Idumpindent_ptr(aTHX))#undef PL_e_script#define PL_e_script (*Perl_Ie_script_ptr(aTHX))#undef PL_efloatbuf#define PL_efloatbuf (*Perl_Iefloatbuf_ptr(aTHX))#undef PL_efloatsize#define PL_efloatsize (*Perl_Iefloatsize_ptr(aTHX))#undef PL_egid#define PL_egid (*Perl_Iegid_ptr(aTHX))#undef PL_encoding#define PL_encoding (*Perl_Iencoding_ptr(aTHX))#undef PL_endav#define PL_endav (*Perl_Iendav_ptr(aTHX))#undef PL_envgv#define PL_envgv (*Perl_Ienvgv_ptr(aTHX))#undef PL_errgv#define PL_errgv (*Perl_Ierrgv_ptr(aTHX))#undef PL_errors#define PL_errors (*Perl_Ierrors_ptr(aTHX))#undef PL_euid#define PL_euid (*Perl_Ieuid_ptr(aTHX))#undef PL_eval_root#define PL_eval_root (*Perl_Ieval_root_ptr(aTHX))#undef PL_eval_start#define PL_eval_start (*Perl_Ieval_start_ptr(aTHX))#undef PL_evalseq#define PL_evalseq (*Perl_Ievalseq_ptr(aTHX))#undef PL_exit_flags#define PL_exit_flags (*Perl_Iexit_flags_ptr(aTHX))#undef PL_exitlist#define PL_exitlist (*Perl_Iexitlist_ptr(aTHX))#undef PL_exitlistlen#define PL_exitlistlen (*Perl_Iexitlistlen_ptr(aTHX))#undef PL_fdpid#define PL_fdpid (*Perl_Ifdpid_ptr(aTHX))#undef PL_filemode#define PL_filemode (*Perl_Ifilemode_ptr(aTHX))#undef PL_firstgv#define PL_firstgv (*Perl_Ifirstgv_ptr(aTHX))#undef PL_forkprocess#define PL_forkprocess (*Perl_Iforkprocess_ptr(aTHX))#undef PL_formfeed#define PL_formfeed (*Perl_Iformfeed_ptr(aTHX))#undef PL_formtarget#define PL_formtarget (*Perl_Iformtarget_ptr(aTHX))#undef PL_generation#define PL_generation (*Perl_Igeneration_ptr(aTHX))#undef PL_gensym#define PL_gensym (*Perl_Igensym_ptr(aTHX))#undef PL_gid#define PL_gid (*Perl_Igid_ptr(aTHX))#undef PL_glob_index#define PL_glob_index (*Perl_Iglob_index_ptr(aTHX))#undef PL_globalstash#define PL_globalstash (*Perl_Iglobalstash_ptr(aTHX))#undef PL_hash_seed#define PL_hash_seed (*Perl_Ihash_seed_ptr(aTHX))#undef PL_hintgv#define PL_hintgv (*Perl_Ihintgv_ptr(aTHX))#undef PL_hints#define PL_hints (*Perl_Ihints_ptr(aTHX))#undef PL_hv_fetch_ent_mh#define PL_hv_fetch_ent_mh (*Perl_Ihv_fetch_ent_mh_ptr(aTHX))#undef PL_in_clean_all#define PL_in_clean_all (*Perl_Iin_clean_all_ptr(aTHX))#undef PL_in_clean_objs#define PL_in_clean_objs (*Perl_Iin_clean_objs_ptr(aTHX))#undef PL_in_eval#define PL_in_eval (*Perl_Iin_eval_ptr(aTHX))#undef PL_in_load_module#define PL_in_load_module (*Perl_Iin_load_module_ptr(aTHX))#undef PL_incgv#define PL_incgv (*Perl_Iincgv_ptr(aTHX))#undef PL_initav#define PL_initav (*Perl_Iinitav_ptr(aTHX))#undef PL_inplace#define PL_inplace (*Perl_Iinplace_ptr(aTHX))#undef PL_isarev#define PL_isarev (*Perl_Iisarev_ptr(aTHX))#undef PL_known_layers#define PL_known_layers (*Perl_Iknown_layers_ptr(aTHX))#undef PL_last_in_gv#define PL_last_in_gv (*Perl_Ilast_in_gv_ptr(aTHX))#undef PL_last_swash_hv#define PL_last_swash_hv (*Perl_Ilast_swash_hv_ptr(aTHX))#undef PL_last_swash_key#define PL_last_swash_key (*Perl_Ilast_swash_key_ptr(aTHX))#undef PL_last_swash_klen#define PL_last_swash_klen (*Perl_Ilast_swash_klen_ptr(aTHX))#undef PL_last_swash_slen#define PL_last_swash_slen (*Perl_Ilast_swash_slen_ptr(aTHX))#undef PL_last_swash_tmps#define PL_last_swash_tmps (*Perl_Ilast_swash_tmps_ptr(aTHX))#undef PL_lastfd#define PL_lastfd (*Perl_Ilastfd_ptr(aTHX))#undef PL_lastgotoprobe#define PL_lastgotoprobe (*Perl_Ilastgotoprobe_ptr(aTHX))#undef PL_lastscream#define PL_lastscream (*Perl_Ilastscream_ptr(aTHX))#undef PL_laststatval#define PL_laststatval (*Perl_Ilaststatval_ptr(aTHX))#undef PL_laststype#define PL_laststype (*Perl_Ilaststype_ptr(aTHX))#undef PL_localizing#define PL_localizing (*Perl_Ilocalizing_ptr(aTHX))#undef PL_localpatches#define PL_localpatches (*Perl_Ilocalpatches_ptr(aTHX))#undef PL_lockhook#define PL_lockhook (*Perl_Ilockhook_ptr(aTHX))#undef PL_madskills#define PL_madskills (*Perl_Imadskills_ptr(aTHX))#undef PL_main_cv#define PL_main_cv (*Perl_Imain_cv_ptr(aTHX))#undef PL_main_root#define PL_main_root (*Perl_Imain_root_ptr(aTHX))#undef PL_main_start#define PL_main_start (*Perl_Imain_start_ptr(aTHX))#undef PL_mainstack#define PL_mainstack (*Perl_Imainstack_ptr(aTHX))#undef PL_markstack#define PL_markstack (*Perl_Imarkstack_ptr(aTHX))#undef PL_markstack_max#define PL_markstack_max (*Perl_Imarkstack_max_ptr(aTHX))#undef PL_markstack_ptr#define PL_markstack_ptr (*Perl_Imarkstack_ptr_ptr(aTHX))#undef PL_max_intro_pending#define PL_max_intro_pending (*Perl_Imax_intro_pending_ptr(aTHX))#undef PL_maxo#define PL_maxo (*Perl_Imaxo_ptr(aTHX))#undef PL_maxscream#define PL_maxscream (*Perl_Imaxscream_ptr(aTHX))#undef PL_maxsysfd#define PL_maxsysfd (*Perl_Imaxsysfd_ptr(aTHX))#undef PL_memory_debug_header
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -