X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=embed.fnc;h=45a61faf6648e41200b646f6ed048cc12f723330;hb=41dc7f24e0ff6dd681483ffec6cca8db96aae038;hp=b9dbcb2e997ff239cabeed320c4019a15a493f64;hpb=2b36a5a0c487b5dc9b2abbd15a0708c83ccd908d;p=p5sagit%2Fp5-mst-13.2.git diff --git a/embed.fnc b/embed.fnc index b9dbcb2..45a61fa 100644 --- a/embed.fnc +++ b/embed.fnc @@ -6,17 +6,24 @@ : : flags are single letters with following meanings: : A member of public API -: m Implemented as a macro - no export, no proto, no #define +: 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 +: 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 -: M may change +: 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 : : Individual flags may be separated by whitespace. : @@ -40,8 +47,9 @@ Anod |void |perl_free |PerlInterpreter* interp Anod |int |perl_run |PerlInterpreter* interp Anod |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \ |int argc|char** argv|char** env +Anp |bool |doing_taint |int argc|char** argv|char** env #if defined(USE_ITHREADS) -Anod |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags +Anod |PerlInterpreter*|perl_clone|PerlInterpreter* interp|UV flags # if defined(PERL_IMPLICIT_SYS) Ano |PerlInterpreter*|perl_clone_using|PerlInterpreter *interp|UV flags \ |struct IPerlMem* m|struct IPerlMem* ms \ @@ -75,13 +83,6 @@ p |OP* |append_elem |I32 optype|OP* head|OP* tail p |OP* |append_list |I32 optype|LISTOP* first|LISTOP* last p |I32 |apply |I32 type|SV** mark|SV** sp ApM |void |apply_attrs_string|char *stashpv|CV *cv|char *attrstr|STRLEN len -Ap |SV* |avhv_delete_ent|AV *ar|SV* keysv|I32 flags|U32 hash -Ap |bool |avhv_exists_ent|AV *ar|SV* keysv|U32 hash -Ap |SV** |avhv_fetch_ent |AV *ar|SV* keysv|I32 lval|U32 hash -Ap |SV** |avhv_store_ent |AV *ar|SV* keysv|SV* val|U32 hash -Ap |HE* |avhv_iternext |AV *ar -Ap |SV* |avhv_iterval |AV *ar|HE* entry -Ap |HV* |avhv_keys |AV *ar Apd |void |av_clear |AV* ar Apd |SV* |av_delete |AV* ar|I32 key|I32 flags Apd |bool |av_exists |AV* ar|I32 key @@ -113,9 +114,6 @@ Ap |UV |cast_uv |NV f #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) Ap |I32 |my_chsize |int fd|Off_t length #endif -#if defined(USE_5005THREADS) -Ap |MAGIC* |condpair_magic |SV *sv -#endif p |OP* |convert |I32 optype|I32 flags|OP* o Afprd |void |croak |const char* pat|... Apr |void |vcroak |const char* pat|va_list* args @@ -137,10 +135,10 @@ Afnp |int |fprintf_nocontext|PerlIO* stream|const char* fmt|... Afnp |int |printf_nocontext|const char* fmt|... #endif p |void |cv_ckproto |CV* cv|GV* gv|char* p -p |CV* |cv_clone |CV* proto +pd |CV* |cv_clone |CV* proto Apd |SV* |cv_const_sv |CV* cv p |SV* |op_const_sv |OP* o|CV* cv -Ap |void |cv_undef |CV* cv +Apd |void |cv_undef |CV* cv Ap |void |cx_dump |PERL_CONTEXT* cs Ap |SV* |filter_add |filter_t funcp|SV* datasv Ap |void |filter_del |filter_t funcp @@ -150,7 +148,7 @@ Ap |char** |get_op_names p |char* |get_no_modify p |U32* |get_opargs Ap |PPADDR_t*|get_ppaddr -p |I32 |cxinc +Ep |I32 |cxinc Afp |void |deb |const char* pat|... Ap |void |vdeb |const char* pat|va_list* args Ap |void |debprofdump @@ -172,6 +170,11 @@ p |void |do_chop |SV* asv|SV* sv Ap |bool |do_close |GV* gv|bool not_implicit p |bool |do_eof |GV* gv p |bool |do_exec |char* cmd +#if defined(WIN32) +Ap |int |do_aspawn |SV* really|SV** mark|SV** sp +Ap |int |do_spawn |char* cmd +Ap |int |do_spawn_nowait|char* cmd +#endif #if !defined(WIN32) p |bool |do_exec3 |char* cmd|int fd|int flag #endif @@ -224,9 +227,6 @@ Apd |char* |fbm_instr |unsigned char* big|unsigned char* bigend \ |SV* littlesv|U32 flags p |char* |find_script |char *scriptname|bool dosearch \ |char **search_ext|I32 flags -#if defined(USE_5005THREADS) -p |PADOFFSET|find_threadsv|const char *name -#endif p |OP* |force_list |OP* arg p |OP* |fold_constants |OP* arg Afpd |char* |form |const char* pat|... @@ -296,7 +296,7 @@ p |void |init_argv_symbols|int|char ** p |void |init_debugger Ap |void |init_stacks Ap |void |init_tm |struct tm *ptm -p |U32 |intro_my +pd |U32 |intro_my Ap |char* |instr |const char* big|const char* little p |bool |io_close |IO* io|bool not_implicit p |OP* |invert |OP* cmd @@ -339,6 +339,7 @@ Ap |bool |is_uni_punct_lc|UV c Ap |bool |is_uni_xdigit_lc|UV c Apd |STRLEN |is_utf8_char |U8 *p Apd |bool |is_utf8_string |U8 *s|STRLEN len +Apd |bool |is_utf8_string_loc|U8 *s|STRLEN len|U8 **p Ap |bool |is_utf8_alnum |U8 *p Ap |bool |is_utf8_alnumc |U8 *p Ap |bool |is_utf8_idfirst|U8 *p @@ -360,8 +361,10 @@ p |I32 |keyword |char* d|I32 len Ap |void |leave_scope |I32 base p |void |lex_end p |void |lex_start |SV* line -Ap |void |op_null |OP* o +Ap |void |op_null |OP* o p |void |op_clear |OP* o +Ap |void |op_refcnt_lock +Ap |void |op_refcnt_unlock p |OP* |linklist |OP* o p |OP* |list |OP* o p |OP* |listkids |OP* o @@ -394,9 +397,6 @@ p |int |magic_gettaint |SV* sv|MAGIC* mg p |int |magic_getuvar |SV* sv|MAGIC* mg p |int |magic_getvec |SV* sv|MAGIC* mg p |U32 |magic_len |SV* sv|MAGIC* mg -#if defined(USE_5005THREADS) -p |int |magic_mutexfree|SV* sv|MAGIC* mg -#endif p |int |magic_nextpack |SV* sv|MAGIC* mg|SV* key p |U32 |magic_regdata_cnt|SV* sv|MAGIC* mg p |int |magic_regdatum_get|SV* sv|MAGIC* mg @@ -418,11 +418,13 @@ p |int |magic_setmglob |SV* sv|MAGIC* mg p |int |magic_setnkeys |SV* sv|MAGIC* mg p |int |magic_setpack |SV* sv|MAGIC* mg p |int |magic_setpos |SV* sv|MAGIC* mg +p |int |magic_setregexp|SV* sv|MAGIC* mg p |int |magic_setsig |SV* sv|MAGIC* mg p |int |magic_setsubstr|SV* sv|MAGIC* mg p |int |magic_settaint |SV* sv|MAGIC* mg p |int |magic_setuvar |SV* sv|MAGIC* mg p |int |magic_setvec |SV* sv|MAGIC* mg +p |int |magic_setutf8 |SV* sv|MAGIC* mg p |int |magic_set_all_env|SV* sv|MAGIC* mg p |U32 |magic_sizepack |SV* sv|MAGIC* mg p |int |magic_wipepack |SV* sv|MAGIC* mg @@ -536,28 +538,33 @@ Ap |OP* |newWHILEOP |I32 flags|I32 debuggable|LOOP* loop \ |I32 whileline|OP* expr|OP* block|OP* cont Ap |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems -Apd |char* |new_vstring |char *vstr|SV *sv +Ap |char* |scan_vstring |char *vstr|SV *sv +Apd |char* |scan_version |char *vstr|SV *sv|bool qv +Apd |SV* |new_version |SV *ver +Apd |SV* |upg_version |SV *ver +Apd |SV* |vnumify |SV *vs +Apd |SV* |vnormal |SV *vs +Apd |SV* |vstringify |SV *vs +Apd |int |vcmp |SV *lvs|SV *rvs p |PerlIO*|nextargv |GV* gv Ap |char* |ninstr |const char* big|const char* bigend \ |const char* little|const char* lend p |OP* |oopsCV |OP* o Ap |void |op_free |OP* arg p |void |package |OP* o -p |PADOFFSET|pad_alloc |I32 optype|U32 tmptype -p |PADOFFSET|pad_allocmy |char* name -p |PADOFFSET|pad_findmy |char* name +pd |PADOFFSET|pad_alloc |I32 optype|U32 tmptype +p |PADOFFSET|allocmy |char* name +pd |PADOFFSET|pad_findmy |char* name +Ap |PADOFFSET|find_rundefsvoffset | p |OP* |oopsAV |OP* o p |OP* |oopsHV |OP* o -p |void |pad_leavemy |I32 fill -Ap |SV* |pad_sv |PADOFFSET po -p |void |pad_free |PADOFFSET po -p |void |pad_reset -p |void |pad_swipe |PADOFFSET po +pd |void |pad_leavemy +Apd |SV* |pad_sv |PADOFFSET po +pd |void |pad_free |PADOFFSET po +pd |void |pad_reset +pd |void |pad_swipe |PADOFFSET po|bool refadjust p |void |peep |OP* o dopM |PerlIO*|start_glob |SV* pattern|IO *io -#if defined(USE_5005THREADS) -Ap |struct perl_thread* |new_struct_thread|struct perl_thread *t -#endif #if defined(USE_REENTRANT_API) Ap |void |reentrant_size Ap |void |reentrant_init @@ -586,14 +593,13 @@ Ap |void |set_numeric_radix Ap |void |set_numeric_standard Apd |void |require_pv |const char* pv Apd |void |pack_cat |SV *cat|char *pat|char *patend|SV **beglist|SV **endlist|SV ***next_in_list|U32 flags +Apd |void |packlist |SV *cat|char *pat|char *patend|SV **beglist|SV **endlist p |void |pidgone |Pid_t pid|int status Ap |void |pmflag |U32* pmfl|int ch -p |OP* |pmruntime |OP* pm|OP* expr|OP* repl +p |OP* |pmruntime |OP* pm|OP* expr|bool isreg p |OP* |pmtrans |OP* o|OP* expr|OP* repl -p |OP* |pop_return Ap |void |pop_scope p |OP* |prepend_elem |I32 optype|OP* head|OP* tail -p |void |push_return |OP* o Ap |void |push_scope p |OP* |ref |OP* o|I32 type p |OP* |refkids |OP* o|I32 type @@ -612,7 +618,7 @@ Ap |I32 |regexec_flags |regexp* prog|char* stringarg \ |char* strend|char* strbeg|I32 minend \ |SV* screamer|void* data|U32 flags Ap |regnode*|regnext |regnode* p -p |void |regprop |SV* sv|regnode* o +Ep |void |regprop |SV* sv|regnode* o Ap |void |repeatcpy |char* to|const char* from|I32 len|I32 count Ap |char* |rninstr |const char* big|const char* bigend \ |const char* little|const char* lend @@ -630,10 +636,12 @@ Apd |char* |savepv |const char* pv Apd |char* |savesharedpv |const char* pv Apd |char* |savepvn |const char* pv|I32 len Ap |void |savestack_grow +Ap |void |savestack_grow_cnt |I32 need Ap |void |save_aelem |AV* av|I32 idx|SV **sptr Ap |I32 |save_alloc |I32 size|I32 pad Ap |void |save_aptr |AV** aptr Ap |AV* |save_ary |GV* gv +Ap |void |save_bool |bool* boolp Ap |void |save_clearsv |SV** svp Ap |void |save_delete |HV* hv|char* key|I32 klen Ap |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|void* p @@ -686,20 +694,23 @@ p |I32 |setenv_getix |char* nam p |void |setdefout |GV* gv p |HEK* |share_hek |const char* sv|I32 len|U32 hash np |Signal_t |sighandler |int sig +Anp |Signal_t |csighandler |int sig Ap |SV** |stack_grow |SV** sp|SV**p|int n Ap |I32 |start_subparse |I32 is_format|U32 flags p |void |sub_crush_depth|CV* cv Apd |bool |sv_2bool |SV* sv Apd |CV* |sv_2cv |SV* sv|HV** st|GV** gvp|I32 lref Apd |IO* |sv_2io |SV* sv -Apd |IV |sv_2iv |SV* sv +Amb |IV |sv_2iv |SV* sv +Apd |IV |sv_2iv_flags |SV* sv|I32 flags Apd |SV* |sv_2mortal |SV* sv Apd |NV |sv_2nv |SV* sv -Am |char* |sv_2pv |SV* sv|STRLEN* lp +Amb |char* |sv_2pv |SV* sv|STRLEN* lp Apd |char* |sv_2pvutf8 |SV* sv|STRLEN* lp Apd |char* |sv_2pvbyte |SV* sv|STRLEN* lp Ap |char* |sv_pvn_nomg |SV* sv|STRLEN* lp -Apd |UV |sv_2uv |SV* sv +Amb |UV |sv_2uv |SV* sv +Apd |UV |sv_2uv_flags |SV* sv|I32 flags Apd |IV |sv_iv |SV* sv Apd |UV |sv_uv |SV* sv Apd |NV |sv_nv |SV* sv @@ -711,10 +722,10 @@ pd |void |sv_add_arena |char* ptr|U32 size|U32 flags Apd |int |sv_backoff |SV* sv Apd |SV* |sv_bless |SV* sv|HV* stash Afpd |void |sv_catpvf |SV* sv|const char* pat|... -Ap |void |sv_vcatpvf |SV* sv|const char* pat|va_list* args +Apd |void |sv_vcatpvf |SV* sv|const char* pat|va_list* args Apd |void |sv_catpv |SV* sv|const char* ptr -Amd |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len -Amd |void |sv_catsv |SV* dsv|SV* ssv +Amdb |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len +Amdb |void |sv_catsv |SV* dsv|SV* ssv Apd |void |sv_chop |SV* sv|char* ptr pd |I32 |sv_clean_all pd |void |sv_clean_objs @@ -724,13 +735,14 @@ Apd |I32 |sv_cmp_locale |SV* sv1|SV* sv2 #if defined(USE_LOCALE_COLLATE) Apd |char* |sv_collxfrm |SV* sv|STRLEN* nxp #endif -Ap |OP* |sv_compile_2op |SV* sv|OP** startp|char* code|AV** avp +Ap |OP* |sv_compile_2op |SV* sv|OP** startp|char* code|PAD** padp Apd |int |getcwd_sv |SV* sv Apd |void |sv_dec |SV* sv Ap |void |sv_dump |SV* sv Apd |bool |sv_derived_from|SV* sv|const char* name Apd |I32 |sv_eq |SV* sv1|SV* sv2 Apd |void |sv_free |SV* sv +poMX |void |sv_free2 |SV* sv pd |void |sv_free_arenas Apd |char* |sv_gets |SV* sv|PerlIO* fp|I32 append Apd |char* |sv_grow |SV* sv|STRLEN newlen @@ -744,25 +756,27 @@ Apd |STRLEN |sv_len_utf8 |SV* sv Apd |void |sv_magic |SV* sv|SV* obj|int how|const char* name \ |I32 namlen Apd |MAGIC *|sv_magicext |SV* sv|SV* obj|int how|MGVTBL *vtbl \ - | const char* name|I32 namlen + |const char* name|I32 namlen Apd |SV* |sv_mortalcopy |SV* oldsv Apd |SV* |sv_newmortal Apd |SV* |sv_newref |SV* sv Ap |char* |sv_peek |SV* sv Apd |void |sv_pos_u2b |SV* sv|I32* offsetp|I32* lenp Apd |void |sv_pos_b2u |SV* sv|I32* offsetp -Amd |char* |sv_pvn_force |SV* sv|STRLEN* lp +Amdb |char* |sv_pvn_force |SV* sv|STRLEN* lp Apd |char* |sv_pvutf8n_force|SV* sv|STRLEN* lp Apd |char* |sv_pvbyten_force|SV* sv|STRLEN* lp Apd |char* |sv_recode_to_utf8 |SV* sv|SV *encoding +Apd |bool |sv_cat_decode |SV* dsv|SV *encoding|SV *ssv|int *offset \ + |char* tstr|int tlen Apd |char* |sv_reftype |SV* sv|int ob Apd |void |sv_replace |SV* sv|SV* nsv Apd |void |sv_report_used Apd |void |sv_reset |char* s|HV* stash Afpd |void |sv_setpvf |SV* sv|const char* pat|... -Ap |void |sv_vsetpvf |SV* sv|const char* pat|va_list* args +Apd |void |sv_vsetpvf |SV* sv|const char* pat|va_list* args Apd |void |sv_setiv |SV* sv|IV num -Apd |void |sv_setpviv |SV* sv|IV num +Apdb |void |sv_setpviv |SV* sv|IV num Apd |void |sv_setuv |SV* sv|UV num Apd |void |sv_setnv |SV* sv|NV num Apd |SV* |sv_setref_iv |SV* rv|const char* classname|IV iv @@ -773,7 +787,7 @@ Apd |SV* |sv_setref_pvn |SV* rv|const char* classname|char* pv \ |STRLEN n Apd |void |sv_setpv |SV* sv|const char* ptr Apd |void |sv_setpvn |SV* sv|const char* ptr|STRLEN len -Amd |void |sv_setsv |SV* dsv|SV* ssv +Amdb |void |sv_setsv |SV* dsv|SV* ssv Apd |void |sv_taint |SV* sv Apd |bool |sv_tainted |SV* sv Apd |int |sv_unmagic |SV* sv|int type @@ -803,13 +817,11 @@ Apd |UV |to_utf8_fold |U8 *p|U8* ustrp|STRLEN *lenp #if defined(UNLINK_ALL_VERSIONS) Ap |I32 |unlnk |char* f #endif -#if defined(USE_5005THREADS) -Ap |void |unlock_condpair|void* svv -#endif Apd |I32 |unpack_str |char *pat|char *patend|char *s|char *strbeg|char *strend|char **new_s|I32 ocnt|U32 flags +Apd |I32 |unpackstring |char *pat|char *patend|char *s|char *strend|U32 flags Ap |void |unsharepvn |const char* sv|I32 len|U32 hash p |void |unshare_hek |HEK* hek -p |void |utilize |int aver|I32 floor|OP* version|OP* id|OP* arg +p |void |utilize |int aver|I32 floor|OP* version|OP* idop|OP* arg Ap |U8* |utf16_to_utf8 |U8* p|U8 *d|I32 bytelen|I32 *newlen Ap |U8* |utf16_to_utf8_reversed|U8* p|U8 *d|I32 bytelen|I32 *newlen Adp |STRLEN |utf8_length |U8* s|U8 *e @@ -832,18 +844,19 @@ Apd |char* |sv_uni_display |SV *dsv|SV *ssv|STRLEN pvlim|UV flags p |void |vivify_defelem |SV* sv p |void |vivify_ref |SV* sv|U32 to_what p |I32 |wait4pid |Pid_t pid|int* statusp|int flags +p |U32 |parse_unicode_opts|char **popt +p |U32 |seed +p |UV |get_hash_seed p |void |report_evil_fh |GV *gv|IO *io|I32 op -pd |void |report_uninit +pd |void |report_uninit |SV* uninit_sv Afpd |void |warn |const char* pat|... Ap |void |vwarn |const char* pat|va_list* args Afp |void |warner |U32 err|const char* pat|... Ap |void |vwarner |U32 err|const char* pat|va_list* args p |void |watch |char** addr Ap |I32 |whichsig |char* sig +p |void |write_to_stderr|const char* message|int msglen p |int |yyerror |char* s -#ifdef USE_PURE_BISON -p |int |yylex_r |YYSTYPE *lvalp|int *lcharp -#endif p |int |yylex p |int |yyparse p |int |yywarn |char* s @@ -855,29 +868,20 @@ Anp |Malloc_t|safesysmalloc |MEM_SIZE nbytes Anp |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size Anp |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes Anp |Free_t |safesysfree |Malloc_t where -#if defined(LEAKTEST) -Anp |Malloc_t|safexmalloc |I32 x|MEM_SIZE size -Anp |Malloc_t|safexcalloc |I32 x|MEM_SIZE elements|MEM_SIZE size -Anp |Malloc_t|safexrealloc |Malloc_t where|MEM_SIZE size -Anp |void |safexfree |Malloc_t where -#endif #if defined(PERL_GLOBAL_STRUCT) Ap |struct perl_vars *|GetVars #endif Ap |int |runops_standard Ap |int |runops_debug -#if defined(USE_5005THREADS) -Ap |SV* |sv_lock |SV *sv -#endif Afpd |void |sv_catpvf_mg |SV *sv|const char* pat|... -Ap |void |sv_vcatpvf_mg |SV* sv|const char* pat|va_list* args +Apd |void |sv_vcatpvf_mg |SV* sv|const char* pat|va_list* args Apd |void |sv_catpv_mg |SV *sv|const char *ptr Apd |void |sv_catpvn_mg |SV *sv|const char *ptr|STRLEN len Apd |void |sv_catsv_mg |SV *dstr|SV *sstr Afpd |void |sv_setpvf_mg |SV *sv|const char* pat|... -Ap |void |sv_vsetpvf_mg |SV* sv|const char* pat|va_list* args +Apd |void |sv_vsetpvf_mg |SV* sv|const char* pat|va_list* args Apd |void |sv_setiv_mg |SV *sv|IV i -Apd |void |sv_setpviv_mg |SV *sv|IV iv +Apdb |void |sv_setpviv_mg |SV *sv|IV iv Apd |void |sv_setuv_mg |SV *sv|UV u Apd |void |sv_setnv_mg |SV *sv|NV num Apd |void |sv_setpv_mg |SV *sv|const char *ptr @@ -885,7 +889,7 @@ Apd |void |sv_setpvn_mg |SV *sv|const char *ptr|STRLEN len Apd |void |sv_setsv_mg |SV *dstr|SV *sstr Apd |void |sv_usepvn_mg |SV *sv|char *ptr|STRLEN len Ap |MGVTBL*|get_vtbl |int vtbl_id -p |char* |pv_display |SV *dsv|char *pv|STRLEN cur|STRLEN len \ +Ap |char* |pv_display |SV *dsv|char *pv|STRLEN cur|STRLEN len \ |STRLEN pvlim Afp |void |dump_indent |I32 level|PerlIO *file|const char* pat|... Ap |void |dump_vindent |I32 level|PerlIO *file|const char* pat \ @@ -910,10 +914,10 @@ Ap |void |reginitcolors Apd |char* |sv_2pv_nolen |SV* sv Apd |char* |sv_2pvutf8_nolen|SV* sv Apd |char* |sv_2pvbyte_nolen|SV* sv -Amd |char* |sv_pv |SV *sv -Amd |char* |sv_pvutf8 |SV *sv -Amd |char* |sv_pvbyte |SV *sv -Amd |STRLEN |sv_utf8_upgrade|SV *sv +Amdb |char* |sv_pv |SV *sv +Amdb |char* |sv_pvutf8 |SV *sv +Amdb |char* |sv_pvbyte |SV *sv +Amdb |STRLEN |sv_utf8_upgrade|SV *sv ApdM |bool |sv_utf8_downgrade|SV *sv|bool fail_ok Apd |void |sv_utf8_encode |SV *sv ApdM |bool |sv_utf8_decode |SV *sv @@ -955,8 +959,12 @@ Ap |void |sys_intern_clear Ap |void |sys_intern_init #endif -Ap |char * |custom_op_name|OP* op -Ap |char * |custom_op_desc|OP* op +Ap |char * |custom_op_name |OP* op +Ap |char * |custom_op_desc |OP* op + +#if defined(PERL_COPY_ON_WRITE) +pMX |int |sv_release_IVX |SV *sv +#endif Adp |void |sv_nosharing |SV * Adp |void |sv_nolocking |SV * @@ -965,11 +973,6 @@ Adp |int |nothreadhook END_EXTERN_C -#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) -s |I32 |avhv_index_sv |SV* sv -s |I32 |avhv_index |AV* av|SV* sv|U32 hash -#endif - #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) s |I32 |do_trans_simple |SV *sv s |I32 |do_trans_count |SV *sv @@ -994,8 +997,6 @@ s |HEK* |save_hek_flags |const char *str|I32 len|U32 hash|int flags s |void |hv_magic_check |HV *hv|bool *needs_copy|bool *needs_store s |void |unshare_hek_or_pvn|HEK* hek|const char* sv|I32 len|U32 hash s |HEK* |share_hek_flags|const char* sv|I32 len|U32 hash|int flags -s |SV** |hv_fetch_flags |HV* tb|const char* key|I32 klen|I32 lval \ - |int flags s |void |hv_notallowed |int flags|const char *key|I32 klen|const char *msg #endif @@ -1016,33 +1017,26 @@ s |OP* |no_fh_allowed |OP *o s |OP* |scalarboolean |OP *o s |OP* |too_few_arguments|OP *o|char* name s |OP* |too_many_arguments|OP *o|char* name -s |PADOFFSET|pad_addlex |SV* name -s |PADOFFSET|pad_findlex |char* name|PADOFFSET newoff|U32 seq \ - |CV* startcv|I32 cx_ix|I32 saweval|U32 flags s |OP* |newDEFSVOP s |OP* |new_logop |I32 type|I32 flags|OP **firstp|OP **otherp s |void |simplify_sort |OP *o s |bool |is_handle_constructor |OP *o|I32 argnum s |char* |gv_ename |GV *gv -# if defined(DEBUG_CLOSURES) -s |void |cv_dump |CV *cv -# endif -s |CV* |cv_clone2 |CV *proto|CV *outside s |bool |scalar_mod_type|OP *o|I32 type s |OP * |my_kid |OP *o|OP *attrs|OP **imopsp s |OP * |dup_attrlist |OP *o s |void |apply_attrs |HV *stash|SV *target|OP *attrs|bool for_my s |void |apply_attrs_my |HV *stash|OP *target|OP *attrs|OP **imopsp -# if defined(PL_OP_SLAB_ALLOC) -s |void* |Slab_Alloc |int m|size_t sz -s |void |Slab_Free |void *op -# endif +#endif +#if defined(PL_OP_SLAB_ALLOC) +Ap |void* |Slab_Alloc |int m|size_t sz +Ap |void |Slab_Free |void *op #endif #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) s |void |find_beginning s |void |forbid_setid |char * -s |void |incpush |char *|int|int +s |void |incpush |char *|int|int|int s |void |init_interp s |void |init_ids s |void |init_lexer @@ -1052,9 +1046,9 @@ s |void |init_postdump_symbols|int|char **|char ** s |void |init_predump_symbols rs |void |my_exit_jump s |void |nuke_stacks -s |void |open_script |char *|bool|SV *|int *fd +s |void |open_script |char *|bool|SV * s |void |usage |char * -s |void |validate_suid |char *|char*|int +s |void |validate_suid |char *|char* # if defined(IAMSUID) s |int |fd_on_nosuid_fs|int fd # endif @@ -1068,25 +1062,23 @@ s |void* |vrun_body |va_list args s |void* |vcall_body |va_list args s |void* |vcall_list_body|va_list args #endif -# if defined(USE_5005THREADS) -s |struct perl_thread * |init_main_thread -# endif #endif #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) s |SV* |refto |SV* sv -s |U32 |seed #endif #if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT) -s |void |doencodes |SV* sv|char* s|I32 len +s |I32 |unpack_rec |tempsym_t* symptr|char *s|char *strbeg|char *strend|char **new_s +s |SV ** |pack_rec |SV *cat|tempsym_t* symptr|SV **beglist|SV **endlist s |SV* |mul128 |SV *sv|U8 m +s |I32 |measure_struct |tempsym_t* symptr +s |char * |group_end |char *pat|char *patend|char ender +s |char * |get_num |char *ppat|I32 * +s |bool |next_symbol |tempsym_t* symptr +s |void |doencodes |SV* sv|char* s|I32 len s |SV* |is_an_int |char *s|STRLEN l s |int |div128 |SV *pnum|bool *done -s |char * |next_symbol |char *pat|char *patend -s |I32 |find_count |char **ppat|char *patend|int *star -s |char * |group_end |char *pat|char *patend|char ender -s |I32 |measure_struct |char *pat|char *patend #endif #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) @@ -1096,21 +1088,20 @@ s |void* |docatch_body s |void* |vdocatch_body |va_list args #endif s |OP* |dofindlabel |OP *o|char *label|OP **opstack|OP **oplimit -s |void |doparseform |SV *sv +s |OP* |doparseform |SV *sv +sn |bool |num_overflow |NV value|I32 fldsize|I32 frcsize s |I32 |dopoptoeval |I32 startingblock s |I32 |dopoptolabel |char *label s |I32 |dopoptoloop |I32 startingblock s |I32 |dopoptosub |I32 startingblock s |I32 |dopoptosub_at |PERL_CONTEXT* cxstk|I32 startingblock s |void |save_lines |AV *array|SV *sv -s |OP* |doeval |int gimme|OP** startop -s |PerlIO *|doopen_pmc |const char *name|const char *mode +s |OP* |doeval |int gimme|OP** startop|CV* outside|U32 seq +s |PerlIO *|doopen_pm |const char *name|const char *mode s |bool |path_is_absolute|char *name #endif #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) -s |int |do_maybe_phash |AV *ary|SV **lelem|SV **firstlelem \ - |SV **relem|SV **lastrelem s |void |do_oddball |HV *hash|SV **relem|SV **firstrelem s |CV* |get_db_sub |SV **svp|CV *cv s |SV* |method_common |SV* meth|U32* hashp @@ -1125,60 +1116,60 @@ s |int |dooneliner |char *cmd|char *filename #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) -s |regnode*|reg |struct RExC_state_t*|I32|I32 * -s |regnode*|reganode |struct RExC_state_t*|U8|U32 -s |regnode*|regatom |struct RExC_state_t*|I32 * -s |regnode*|regbranch |struct RExC_state_t*|I32 *|I32 -s |void |reguni |struct RExC_state_t*|UV|char *|STRLEN* -s |regnode*|regclass |struct RExC_state_t* -s |I32 |regcurly |char * -s |regnode*|reg_node |struct RExC_state_t*|U8 -s |regnode*|regpiece |struct RExC_state_t*|I32 * -s |void |reginsert |struct RExC_state_t*|U8|regnode * -s |void |regoptail |struct RExC_state_t*|regnode *|regnode * -s |void |regtail |struct RExC_state_t*|regnode *|regnode * -s |char*|regwhite |char *|char * -s |char*|nextchar |struct RExC_state_t* +Es |regnode*|reg |struct RExC_state_t*|I32|I32 * +Es |regnode*|reganode |struct RExC_state_t*|U8|U32 +Es |regnode*|regatom |struct RExC_state_t*|I32 * +Es |regnode*|regbranch |struct RExC_state_t*|I32 *|I32 +Es |void |reguni |struct RExC_state_t*|UV|char *|STRLEN* +Es |regnode*|regclass |struct RExC_state_t* +Es |I32 |regcurly |char * +Es |regnode*|reg_node |struct RExC_state_t*|U8 +Es |regnode*|regpiece |struct RExC_state_t*|I32 * +Es |void |reginsert |struct RExC_state_t*|U8|regnode * +Es |void |regoptail |struct RExC_state_t*|regnode *|regnode * +Es |void |regtail |struct RExC_state_t*|regnode *|regnode * +Es |char*|regwhite |char *|char * +Es |char*|nextchar |struct RExC_state_t* # ifdef DEBUGGING -s |regnode*|dumpuntil |regnode *start|regnode *node \ +Es |regnode*|dumpuntil |regnode *start|regnode *node \ |regnode *last|SV* sv|I32 l -s |void |put_byte |SV* sv|int c +Es |void |put_byte |SV* sv|int c # endif -s |void |scan_commit |struct RExC_state_t*|struct scan_data_t *data -s |void |cl_anything |struct RExC_state_t*|struct regnode_charclass_class *cl -s |int |cl_is_anything |struct regnode_charclass_class *cl -s |void |cl_init |struct RExC_state_t*|struct regnode_charclass_class *cl -s |void |cl_init_zero |struct RExC_state_t*|struct regnode_charclass_class *cl -s |void |cl_and |struct regnode_charclass_class *cl \ +Es |void |scan_commit |struct RExC_state_t*|struct scan_data_t *data +Es |void |cl_anything |struct RExC_state_t*|struct regnode_charclass_class *cl +Es |int |cl_is_anything |struct regnode_charclass_class *cl +Es |void |cl_init |struct RExC_state_t*|struct regnode_charclass_class *cl +Es |void |cl_init_zero |struct RExC_state_t*|struct regnode_charclass_class *cl +Es |void |cl_and |struct regnode_charclass_class *cl \ |struct regnode_charclass_class *and_with -s |void |cl_or |struct RExC_state_t*|struct regnode_charclass_class *cl \ +Es |void |cl_or |struct RExC_state_t*|struct regnode_charclass_class *cl \ |struct regnode_charclass_class *or_with -s |I32 |study_chunk |struct RExC_state_t*|regnode **scanp|I32 *deltap \ +Es |I32 |study_chunk |struct RExC_state_t*|regnode **scanp|I32 *deltap \ |regnode *last|struct scan_data_t *data \ |U32 flags -s |I32 |add_data |struct RExC_state_t*|I32 n|char *s +Es |I32 |add_data |struct RExC_state_t*|I32 n|char *s rs |void|re_croak2 |const char* pat1|const char* pat2|... -s |I32 |regpposixcc |struct RExC_state_t*|I32 value -s |void |checkposixcc |struct RExC_state_t* +Es |I32 |regpposixcc |struct RExC_state_t*|I32 value +Es |void |checkposixcc |struct RExC_state_t* #endif #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) -s |I32 |regmatch |regnode *prog -s |I32 |regrepeat |regnode *p|I32 max -s |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp -s |I32 |regtry |regexp *prog|char *startpos -s |bool |reginclass |regnode *n|U8 *p|STRLEN *lenp|bool do_utf8sv_is_utf8 -s |CHECKPOINT|regcppush |I32 parenfloor -s |char*|regcppop -s |char*|regcp_set_to |I32 ss -s |void |cache_re |regexp *prog -s |U8* |reghop |U8 *pos|I32 off -s |U8* |reghop3 |U8 *pos|I32 off|U8 *lim -s |U8* |reghopmaybe |U8 *pos|I32 off -s |U8* |reghopmaybe3 |U8 *pos|I32 off|U8 *lim -s |char* |find_byclass |regexp * prog|regnode *c|char *s|char *strend|char *startpos|I32 norun -s |void |to_utf8_substr |regexp * prog -s |void |to_byte_substr |regexp * prog +Es |I32 |regmatch |regnode *prog +Es |I32 |regrepeat |regnode *p|I32 max +Es |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp +Es |I32 |regtry |regexp *prog|char *startpos +Es |bool |reginclass |regnode *n|U8 *p|STRLEN *lenp|bool do_utf8sv_is_utf8 +Es |CHECKPOINT|regcppush |I32 parenfloor +Es |char*|regcppop +Es |char*|regcp_set_to |I32 ss +Es |void |cache_re |regexp *prog +Es |U8* |reghop |U8 *pos|I32 off +Es |U8* |reghop3 |U8 *pos|I32 off|U8 *lim +Es |U8* |reghopmaybe |U8 *pos|I32 off +Es |U8* |reghopmaybe3 |U8 *pos|I32 off|U8 *lim +Es |char* |find_byclass |regexp * prog|regnode *c|char *s|char *strend|char *startpos|I32 norun +Es |void |to_utf8_substr |regexp * prog +Es |void |to_byte_substr |regexp * prog #endif #if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT) @@ -1232,20 +1223,26 @@ s |void |del_xpvbm |XPVBM* p s |void |del_xrv |XRV* p s |void |sv_unglob |SV* sv s |void |not_a_number |SV *sv -s |I32 |visit |SVFUNC_t f +s |I32 |visit |SVFUNC_t f|U32 flags|U32 mask s |void |sv_add_backref |SV *tsv|SV *sv s |void |sv_del_backref |SV *sv # ifdef DEBUGGING s |void |del_sv |SV *p # endif # if !defined(NV_PRESERVES_UV) -s |int |sv_2iuv_non_preserve |SV *sv|I32 numtype +s |int |sv_2iuv_non_preserve |SV *sv|I32 numtype # endif s |I32 |expect_number |char** pattern # # if defined(USE_ITHREADS) -s |SV* |gv_share |SV *sv +s |SV* |gv_share |SV *sv|CLONE_PARAMS *param # endif +s |bool |utf8_mg_pos |SV *sv|MAGIC **mgp|STRLEN **cachep|I32 i|I32 *offsetp|I32 uoff|U8 **sp|U8 *start|U8 *send +s |bool |utf8_mg_pos_init |SV *sv|MAGIC **mgp|STRLEN **cachep|I32 i|I32 *offsetp|U8 *s|U8 *start +#if defined(PERL_COPY_ON_WRITE) +sM |void |sv_release_COW |SV *sv|char *pvx|STRLEN cur|STRLEN len \ + |U32 hash|SV *after +#endif #endif #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) @@ -1287,7 +1284,7 @@ s |HV * |find_in_my_stash|char *pkgname|I32 len s |SV* |new_constant |char *s|STRLEN len|const char *key|SV *sv \ |SV *pv|const char *type # if defined(DEBUGGING) -s |void |tokereport |char *thing|char *s|I32 rv +s |int |tokereport |char *s|I32 rv # endif s |int |ao |int toketype s |void |depcom @@ -1312,9 +1309,10 @@ s |char* |stdize_locale |char* locs #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) s |COP* |closest_cop |COP *cop|OP *o s |SV* |mess_alloc -# if defined(LEAKTEST) -s |void |xstat |int -# endif +#endif + +#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT) +sn |NV|mulexp10 |NV value|I32 exponent #endif START_EXTERN_C @@ -1328,6 +1326,9 @@ Apd |char* |sv_2pv_flags |SV* sv|STRLEN* lp|I32 flags Apd |void |sv_copypv |SV* dsv|SV* ssv Ap |char* |my_atof2 |const char *s|NV* value Apn |int |my_socketpair |int family|int type|int protocol|int fd[2] +#ifdef PERL_COPY_ON_WRITE +pMXE |SV* |sv_setsv_cow |SV* dsv|SV* ssv +#endif #if defined(USE_PERLIO) && !defined(USE_SFIO) Ap |int |PerlIO_close |PerlIO * @@ -1356,5 +1357,133 @@ Ap |PerlIO *|PerlIO_stdout Ap |PerlIO *|PerlIO_stderr #endif /* PERLIO_LAYERS */ -END_EXTERN_C +p |void |deb_stack_all +#ifdef PERL_IN_DEB_C +s |void |deb_stack_n |SV** stack_base|I32 stack_min \ + |I32 stack_max|I32 mark_min|I32 mark_max +#endif + +pd |PADLIST*|pad_new |int flags +pd |void |pad_undef |CV* cv +pd |PADOFFSET|pad_add_name |char *name\ + |HV* typestash|HV* ourstash \ + |bool clone +pd |PADOFFSET|pad_add_anon |SV* sv|OPCODE op_type +pd |void |pad_check_dup |char* name|bool is_our|HV* ourstash +#ifdef DEBUGGING +pd |void |pad_setsv |PADOFFSET po|SV* sv +#endif +pd |void |pad_block_start|int full +pd |void |pad_tidy |padtidy_type type +pd |void |do_dump_pad |I32 level|PerlIO *file \ + |PADLIST *padlist|int full +pd |void |pad_fixup_inner_anons|PADLIST *padlist|CV *old_cv|CV *new_cv + +pd |void |pad_push |PADLIST *padlist|int depth|int has_args + +#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT) +sd |PADOFFSET|pad_findlex |char *name|CV* cv|U32 seq|int warn \ + |SV** out_capture|SV** out_name_sv \ + |int *out_flags +# if defined(DEBUGGING) +sd |void |cv_dump |CV *cv|char *title +# endif +#endif +pd |CV* |find_runcv |U32 *db_seqp +p |void |free_tied_hv_pool +#if defined(DEBUGGING) +p |int |get_debug_opts |char **s|bool givehelp +#endif +Ap |void |save_set_svflags|SV* sv|U32 mask|U32 val +Apod |void |hv_assert |HV* tb + +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) +sM |SV* |hv_delete_common|HV* tb|SV* key_sv|const char* key|STRLEN klen|int k_flags|I32 d_flags|U32 hash +sM |HE* |hv_fetch_common|HV* tb|SV* key_sv|const char* key|STRLEN klen|int flags|int action|SV* val|U32 hash +#endif + +Apd |void |hv_clear_placeholders|HV* hb +Apd |SV* |hv_scalar |HV* hv| +p |SV* |magic_scalarpack|HV* hv|MAGIC* mg +#ifdef PERL_IN_SV_C +sMd |SV* |find_uninit_var|OP* obase|SV* uninit_sv|bool top +#endif + +#ifdef PERL_NEED_MY_HTOLE16 +np |U16 |my_htole16 |U16 n +#endif +#ifdef PERL_NEED_MY_LETOH16 +np |U16 |my_letoh16 |U16 n +#endif +#ifdef PERL_NEED_MY_HTOBE16 +np |U16 |my_htobe16 |U16 n +#endif +#ifdef PERL_NEED_MY_BETOH16 +np |U16 |my_betoh16 |U16 n +#endif +#ifdef PERL_NEED_MY_HTOLE32 +np |U32 |my_htole32 |U32 n +#endif +#ifdef PERL_NEED_MY_LETOH32 +np |U32 |my_letoh32 |U32 n +#endif +#ifdef PERL_NEED_MY_HTOBE32 +np |U32 |my_htobe32 |U32 n +#endif +#ifdef PERL_NEED_MY_BETOH32 +np |U32 |my_betoh32 |U32 n +#endif +#ifdef PERL_NEED_MY_HTOLE64 +np |U64 |my_htole64 |U64 n +#endif +#ifdef PERL_NEED_MY_LETOH64 +np |U64 |my_letoh64 |U64 n +#endif +#ifdef PERL_NEED_MY_HTOBE64 +np |U64 |my_htobe64 |U64 n +#endif +#ifdef PERL_NEED_MY_BETOH64 +np |U64 |my_betoh64 |U64 n +#endif + +#ifdef PERL_NEED_MY_HTOLES +np |short |my_htoles |short n +#endif +#ifdef PERL_NEED_MY_LETOHS +np |short |my_letohs |short n +#endif +#ifdef PERL_NEED_MY_HTOBES +np |short |my_htobes |short n +#endif +#ifdef PERL_NEED_MY_BETOHS +np |short |my_betohs |short n +#endif +#ifdef PERL_NEED_MY_HTOLEI +np |int |my_htolei |int n +#endif +#ifdef PERL_NEED_MY_LETOHI +np |int |my_letohi |int n +#endif +#ifdef PERL_NEED_MY_HTOBEI +np |int |my_htobei |int n +#endif +#ifdef PERL_NEED_MY_BETOHI +np |int |my_betohi |int n +#endif +#ifdef PERL_NEED_MY_HTOLEL +np |long |my_htolel |long n +#endif +#ifdef PERL_NEED_MY_LETOHL +np |long |my_letohl |long n +#endif +#ifdef PERL_NEED_MY_HTOBEL +np |long |my_htobel |long n +#endif +#ifdef PERL_NEED_MY_BETOHL +np |long |my_betohl |long n +#endif + +np |void |my_swabn |void* ptr|int n + +END_EXTERN_C