📄 embed.fnc
字号:
: Lines are of the form:: flags|return_type|function_name|arg1|arg2|...|argN:: A line may be continued on another by ending it with a backslash.: Leading and trailing whitespace will be ignored in each component.:: flags are single letters with following meanings:: A member of public API: m Implemented as a macro - no export, no: proto, no #define: d function has documentation with its source: s static function, should have an S_ prefix in: source file; for macros (m), suffix the usage: example with a semicolon: n has no implicit interpreter/thread context argument: p function has a Perl_ prefix: f function takes printf style format string, varargs: r function never returns: o has no compatibility macro (#define foo Perl_foo): x not exported: X explicitly exported: M may change: E visible to extensions included in the Perl core: b binary backward compatibility; function is a macro: but has also Perl_ implementation (which is exported): U suppress usage example in autogenerated documentation: a allocates memory a la malloc/calloc. Is also "R".: R Return value must not be ignored.: P pure function: no effects except the return value;: return value depends only on parms and/or globals: (see also L<perlguts/Internal Functions> for those flags.):: Pointer parameters that must not be passed NULLs should be prefixed with NN.:: Pointer parameters that may be NULL should be prefixed with NULLOK. This has: no effect on output yet. It's a notation for the maintainers to know "I have: defined whether NULL is OK or not" rather than having neither NULL or NULLOK,: which is ambiguous.:: Individual flags may be separated by whitespace.:: New global functions should be added at the end for binary compatibility: in some configurations.START_EXTERN_C#if defined(PERL_IMPLICIT_SYS)Ano |PerlInterpreter*|perl_alloc_using \ |NN struct IPerlMem* m|NN struct IPerlMem* ms \ |NN struct IPerlMem* mp|NN struct IPerlEnv* e \ |NN struct IPerlStdIO* io|NN struct IPerlLIO* lio \ |NN struct IPerlDir* d|NN struct IPerlSock* s \ |NN struct IPerlProc* p#endifAnod |PerlInterpreter* |perl_allocAnod |void |perl_construct |NN PerlInterpreter* interpAnod |int |perl_destruct |NN PerlInterpreter* interpAnod |void |perl_free |NN PerlInterpreter* interpAnod |int |perl_run |NN PerlInterpreter* interpAnod |int |perl_parse |NN PerlInterpreter* interp|XSINIT_t xsinit \ |int argc|NULLOK char** argv|NULLOK char** envAnpR |bool |doing_taint |int argc|NULLOK char** argv|NULLOK char** env#if defined(USE_ITHREADS)Anod |PerlInterpreter*|perl_clone|NN PerlInterpreter* interp|UV flags# if defined(PERL_IMPLICIT_SYS)Ano |PerlInterpreter*|perl_clone_using \ |NN PerlInterpreter *interp|UV flags \ |NN struct IPerlMem* m|NN struct IPerlMem* ms \ |NN struct IPerlMem* mp|NN struct IPerlEnv* e \ |NN struct IPerlStdIO* io|NN struct IPerlLIO* lio \ |NN struct IPerlDir* d|NN struct IPerlSock* s \ |NN struct IPerlProc* p# endif#endifAanop |Malloc_t|malloc |MEM_SIZE nbytesAanop |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE sizeAanop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytesAnop |Free_t |mfree |Malloc_t where#if defined(MYMALLOC)npR |MEM_SIZE|malloced_size |NN void *p#endifAnpR |void* |get_contextAnp |void |set_context |NN void *thxEND_EXTERN_C/* functions with flag 'n' should come before here */START_EXTERN_C# include "pp_proto.h"Ap |SV* |amagic_call |NN SV* left|NN SV* right|int method|int dirAp |bool |Gv_AMupdate |NN HV* stashApR |CV* |gv_handler |NULLOK HV* stash|I32 idp |OP* |append_elem |I32 optype|NULLOK OP* first|NULLOK OP* lastp |OP* |append_list |I32 optype|NULLOK LISTOP* first|NULLOK LISTOP* lastp |I32 |apply |I32 type|NN SV** mark|NN SV** spApM |void |apply_attrs_string|NN const char *stashpv|NN CV *cv|NN const char *attrstr|STRLEN lenApd |void |av_clear |NN AV* arApd |SV* |av_delete |NN AV* ar|I32 key|I32 flagsApdR |bool |av_exists |NN AV* ar|I32 keyApd |void |av_extend |NN AV* ar|I32 keypR |AV* |av_fake |I32 size|NN SV** svpApdR |SV** |av_fetch |NN AV* ar|I32 key|I32 lvalApd |void |av_fill |NN AV* ar|I32 fillApdR |I32 |av_len |NN const AV* arApdR |AV* |av_make |I32 size|NN SV** svpApd |SV* |av_pop |NN AV* arApdoxM |void |av_create_and_push|NN AV **const avp|NN SV *const valApd |void |av_push |NN AV* ar|NN SV* valEXp |void |av_reify |NN AV* arApdR |SV* |av_shift |NN AV* arApd |SV** |av_store |NN AV* ar|I32 key|NULLOK SV* valApd |void |av_undef |NN AV* arApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const valApd |void |av_unshift |NN AV* ar|I32 numApo |SV** |av_arylen_p |NN AV* avpR |OP* |bind_match |I32 type|NN OP* left|NN OP* patpR |OP* |block_end |I32 floor|NULLOK OP* seqApR |I32 |block_gimmepR |int |block_start |int fullp |void |boot_core_UNIVERSALp |void |boot_core_PerlIOAp |void |call_list |I32 oldscope|NN AV* av_listpR |bool |cando |Mode_t mode|bool effective|NN const Stat_t* statbufpApR |U32 |cast_ulong |NV fApR |I32 |cast_i32 |NV fApR |IV |cast_iv |NV fApR |UV |cast_uv |NV f#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)ApR |I32 |my_chsize |int fd|Off_t length#endifpR |OP* |convert |I32 optype|I32 flags|NULLOK OP* opM |PERL_CONTEXT* |create_eval_scope|U32 flags: croak()'s first parm can be NULL. Otherwise, mod_perl breaks.Afprd |void |croak |NULLOK const char* pat|...Apr |void |vcroak |NN const char* pat|NULLOK va_list* args#if defined(PERL_IMPLICIT_CONTEXT)Afnrp |void |croak_nocontext|NN const char* pat|...Afnp |OP* |die_nocontext |NN const char* pat|...Afnp |void |deb_nocontext |NN const char* pat|...Afnp |char* |form_nocontext |NN const char* pat|...Anp |void |load_module_nocontext|U32 flags|NN SV* name|NN SV* ver|...Afnp |SV* |mess_nocontext |NN const char* pat|...Afnp |void |warn_nocontext |NN const char* pat|...Afnp |void |warner_nocontext|U32 err|NN const char* pat|...Afnp |SV* |newSVpvf_nocontext|NN const char* pat|...Afnp |void |sv_catpvf_nocontext|NN SV* sv|NN const char* pat|...Afnp |void |sv_setpvf_nocontext|NN SV* sv|NN const char* pat|...Afnp |void |sv_catpvf_mg_nocontext|NN SV* sv|NN const char* pat|...Afnp |void |sv_setpvf_mg_nocontext|NN SV* sv|NN const char* pat|...Afnp |int |fprintf_nocontext|NN PerlIO* stream|NN const char* fmt|...Afnp |int |printf_nocontext|NN const char* fmt|...#endifbp |void |cv_ckproto |NN const CV* cv|NULLOK const GV* gv\ |NULLOK const char* pp |void |cv_ckproto_len |NN const CV* cv|NULLOK const GV* gv\ |NULLOK const char* p|const STRLEN lenpd |CV* |cv_clone |NN CV* protoApdR |SV* |gv_const_sv |NN GV* gvApdR |SV* |cv_const_sv |NULLOK CV* cvpR |SV* |op_const_sv |NULLOK const OP* o|NULLOK CV* cvApd |void |cv_undef |NN CV* cvAp |void |cx_dump |NN PERL_CONTEXT* cxAp |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasvAp |void |filter_del |NN filter_t funcpApR |I32 |filter_read |int idx|NN SV* buffer|int maxlenApPR |char** |get_op_descsApPR |char** |get_op_namespPR |const char* |get_no_modifypPR |U32* |get_opargsApPR |PPADDR_t*|get_ppaddrEXpR |I32 |cxincAfp |void |deb |NN const char* pat|...Ap |void |vdeb |NN const char* pat|NULLOK va_list* argsAp |void |debprofdumpAp |I32 |debop |NN const OP* oAp |I32 |debstackAp |I32 |debstackptrsAp |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \ |NN const char* fromend|int delim|NN I32* retlenpM |void |delete_eval_scopep |void |deprecate |NN const char* sp |void |deprecate_old |NN const char* sAfp |OP* |die |NULLOK const char* pat|...p |OP* |vdie |NULLOK const char* pat|NULLOK va_list* argsp |OP* |die_where |NULLOK const char* message|STRLEN msglenAp |void |dounwind |I32 cxixpmb |bool |do_aexec |NULLOK SV* really|NN SV** mark|NN SV** spp |bool |do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_reportAp |int |do_binmode |NN PerlIO *fp|int iotype|int modep |void |do_chop |NN SV* asv|NN SV* svAp |bool |do_close |NULLOK GV* gv|bool not_implicitp |bool |do_eof |NN GV* gv#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATIONpmb |bool |do_exec |NN const char* cmd#elsep |bool |do_exec |NN const char* cmd#endif#if defined(WIN32) || defined(__SYMBIAN32__)Ap |int |do_aspawn |NN SV* really|NN SV** mark|NN SV** spAp |int |do_spawn |NN char* cmdAp |int |do_spawn_nowait|NN char* cmd#endif#if !defined(WIN32)p |bool |do_exec3 |NN const char* cmd|int fd|int do_report#endifp |void |do_execfree#ifdef PERL_IN_DOIO_Cs |void |exec_failed |NN const char *cmd|int fd|int do_report#endif#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)p |I32 |do_ipcctl |I32 optype|NN SV** mark|NN SV** spp |I32 |do_ipcget |I32 optype|NN SV** mark|NN SV** spp |I32 |do_msgrcv |NN SV** mark|NN SV** spp |I32 |do_msgsnd |NN SV** mark|NN SV** spp |I32 |do_semop |NN SV** mark|NN SV** spp |I32 |do_shmio |I32 optype|NN SV** mark|NN SV** sp#endifAp |void |do_join |NN SV* sv|NN SV* del|NN SV** mark|NN SV** spp |OP* |do_kvApmb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \ |int rawmode|int rawperm|NULLOK PerlIO* supplied_fpAp |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \ |int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \ |NN SV *svs|I32 numAp |bool |do_openn |NN GV *gv|NN const char *name|I32 len|int as_raw \ |int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \ |NULLOK SV **svp|I32 nump |void |do_pipe |NN SV* sv|NULLOK GV* rgv|NULLOK GV* wgvp |bool |do_print |NULLOK SV* sv|NN PerlIO* fppR |OP* |do_readlinep |I32 |do_chomp |NN SV* svp |bool |do_seek |NULLOK GV* gv|Off_t pos|int whenceAp |void |do_sprintf |NN SV* sv|I32 len|NN SV** sargp |Off_t |do_sysseek |NN GV* gv|Off_t pos|int whencepR |Off_t |do_tell |NN GV* gvp |I32 |do_trans |NN SV* svp |UV |do_vecget |NN SV* sv|I32 offset|I32 sizep |void |do_vecset |NN SV* svp |void |do_vop |I32 optype|NN SV* sv|NN SV* left|NN SV* rightp |OP* |dofile |NN OP* term|I32 force_builtinApR |I32 |dowantarrayAp |void |dump_allAp |void |dump_eval#if defined(DUMP_FDS)Ap |void |dump_fds |NN char* s#endifAp |void |dump_form |NN const GV* gvAp |void |gv_dump |NN GV* gvAp |void |op_dump |NN const OP* argAp |void |pmop_dump |NULLOK PMOP* pmAp |void |dump_packsubs |NN const HV* stashAp |void |dump_sub |NN const GV* gvApd |void |fbm_compile |NN SV* sv|U32 flagsApdR |char* |fbm_instr |NN unsigned char* big|NN unsigned char* bigend \ |NN SV* littlesv|U32 flagsp |char* |find_script |NN const char *scriptname|bool dosearch \ |NULLOK const char *const *const search_ext|I32 flagsp |OP* |force_list |NULLOK OP* argp |OP* |fold_constants |NN OP* argAfpd |char* |form |NN const char* pat|...Ap |char* |vform |NN const char* pat|NULLOK va_list* argsAp |void |free_tmpsp |OP* |gen_constant_list|NULLOK OP* o#if !defined(HAS_GETENV_LEN)p |char* |getenv_len |NN const char* key|NN unsigned long *len#endifpox |void |get_db_sub |NULLOK SV **svp|NN CV *cvAp |void |gp_free |NULLOK GV* gvAp |GP* |gp_ref |NULLOK GP* gpAp |GV* |gv_AVadd |NN GV* gvAp |GV* |gv_HVadd |NN GV* gvAp |GV* |gv_IOadd |NN GV* gvApR |GV* |gv_autoload4 |NULLOK HV* stash|NN const char* name|STRLEN len|I32 methodAp |void |gv_check |NN const HV* stashAp |void |gv_efullname |NN SV* sv|NN const GV* gvApmb |void |gv_efullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefixAp |void |gv_efullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmainAp |GV* |gv_fetchfile |NN const char* nameAp |GV* |gv_fetchfile_flags|NN const char *const name|const STRLEN len\ |const U32 flagsApd |GV* |gv_fetchmeth |NULLOK HV* stash|NN const char* name|STRLEN len|I32 levelApd |GV* |gv_fetchmeth_autoload |NULLOK HV* stash|NN const char* name|STRLEN len|I32 levelApdmb |GV* |gv_fetchmethod |NULLOK HV* stash|NN const char* nameApd |GV* |gv_fetchmethod_autoload|NULLOK HV* stash|NN const char* name|I32 autoloadAp |GV* |gv_fetchpv |NN const char* name|I32 add|I32 sv_typeAp |void |gv_fullname |NN SV* sv|NN const GV* gvApmb |void |gv_fullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefixAp |void |gv_fullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmainpMox |GP * |newGP |NN GV *const gvAp |void |gv_init |NN GV* gv|NULLOK HV* stash|NN const char* name|STRLEN len|int multiAp |void |gv_name_set |NN GV* gv|NN const char *name|U32 len|U32 flagsApd |HV* |gv_stashpv |NN const char* name|I32 flagsApd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flagsApd |HV* |gv_stashsv |NULLOK SV* sv|I32 flags
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -