X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=embed.fnc;h=282e599eadf9d10420bc4e56021a062235c16f7b;hb=20ef40cf6a00eee95a449854794854a93e411e3b;hp=c2bed8be2af45ee4b909dd0b02dfc9b36f9714dd;hpb=9febdf04c602e91a389f75497c9add388bc632ec;p=p5sagit%2Fp5-mst-13.2.git diff --git a/embed.fnc b/embed.fnc index c2bed8b..282e599 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 \ @@ -82,7 +90,7 @@ Apd |void |av_extend |AV* ar|I32 key p |AV* |av_fake |I32 size|SV** svp Apd |SV** |av_fetch |AV* ar|I32 key|I32 lval Apd |void |av_fill |AV* ar|I32 fill -Apd |I32 |av_len |AV* ar +Apd |I32 |av_len |const AV* ar Apd |AV* |av_make |I32 size|SV** svp Apd |SV* |av_pop |AV* ar Apd |void |av_push |AV* ar|SV* val @@ -126,7 +134,7 @@ Afnp |void |sv_setpvf_mg_nocontext|SV* sv|const char* pat|... 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 |void |cv_ckproto |const CV* cv|const GV* gv|const char* p pd |CV* |cv_clone |CV* proto Apd |SV* |cv_const_sv |CV* cv p |SV* |op_const_sv |OP* o|CV* cv @@ -140,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 @@ -153,7 +161,7 @@ p |void |deprecate |char* s p |void |deprecate_old |char* s Afp |OP* |die |const char* pat|... p |OP* |vdie |const char* pat|va_list* args -p |OP* |die_where |char* message|STRLEN msglen +p |OP* |die_where |const char* message|STRLEN msglen Ap |void |dounwind |I32 cxix p |bool |do_aexec |SV* really|SV** mark|SV** sp p |bool |do_aexec5 |SV* really|SV** mark|SV** sp|int fd|int flag @@ -236,9 +244,9 @@ Ap |GV* |gv_IOadd |GV* gv Ap |GV* |gv_autoload4 |HV* stash|const char* name|STRLEN len \ |I32 method Ap |void |gv_check |HV* stash -Ap |void |gv_efullname |SV* sv|GV* gv -Ap |void |gv_efullname3 |SV* sv|GV* gv|const char* prefix -Ap |void |gv_efullname4 |SV* sv|GV* gv|const char* prefix|bool keepmain +Ap |void |gv_efullname |SV* sv|const GV* gv +Amb |void |gv_efullname3 |SV* sv|const GV* gv|const char* prefix +Ap |void |gv_efullname4 |SV* sv|const GV* gv|const char* prefix|bool keepmain Ap |GV* |gv_fetchfile |const char* name Apd |GV* |gv_fetchmeth |HV* stash|const char* name|STRLEN len \ |I32 level @@ -248,13 +256,13 @@ Apd |GV* |gv_fetchmethod |HV* stash|const char* name Apd |GV* |gv_fetchmethod_autoload|HV* stash|const char* name \ |I32 autoload Ap |GV* |gv_fetchpv |const char* name|I32 add|I32 sv_type -Ap |void |gv_fullname |SV* sv|GV* gv -Ap |void |gv_fullname3 |SV* sv|GV* gv|const char* prefix -Ap |void |gv_fullname4 |SV* sv|GV* gv|const char* prefix|bool keepmain +Ap |void |gv_fullname |SV* sv|const GV* gv +Amb |void |gv_fullname3 |SV* sv|const GV* gv|const char* prefix +Ap |void |gv_fullname4 |SV* sv|const GV* gv|const char* prefix|bool keepmain Ap |void |gv_init |GV* gv|HV* stash|const char* name \ |STRLEN len|int multi Apd |HV* |gv_stashpv |const char* name|I32 create -Ap |HV* |gv_stashpvn |const char* name|U32 namelen|I32 create +Apd |HV* |gv_stashpvn |const char* name|U32 namelen|I32 create Apd |HV* |gv_stashsv |SV* sv|I32 create Apd |void |hv_clear |HV* tb Ap |void |hv_delayfree_ent|HV* hv|HE* entry @@ -292,7 +300,7 @@ 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 -dp |bool |is_gv_magical |char *name|STRLEN len|U32 flags +dp |bool |is_gv_magical |const char *name|STRLEN len|U32 flags Ap |I32 |is_lvalue_sub Ap |U32 |to_uni_upper_lc|U32 c Ap |U32 |to_uni_title_lc|U32 c @@ -329,31 +337,34 @@ Ap |bool |is_uni_lower_lc|UV c Ap |bool |is_uni_print_lc|UV c 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 -Ap |bool |is_utf8_alnum |U8 *p -Ap |bool |is_utf8_alnumc |U8 *p -Ap |bool |is_utf8_idfirst|U8 *p -Ap |bool |is_utf8_idcont |U8 *p -Ap |bool |is_utf8_alpha |U8 *p -Ap |bool |is_utf8_ascii |U8 *p -Ap |bool |is_utf8_space |U8 *p -Ap |bool |is_utf8_cntrl |U8 *p -Ap |bool |is_utf8_digit |U8 *p -Ap |bool |is_utf8_graph |U8 *p -Ap |bool |is_utf8_upper |U8 *p -Ap |bool |is_utf8_lower |U8 *p -Ap |bool |is_utf8_print |U8 *p -Ap |bool |is_utf8_punct |U8 *p -Ap |bool |is_utf8_xdigit |U8 *p -Ap |bool |is_utf8_mark |U8 *p +Apd |STRLEN |is_utf8_char |const U8 *p +Apd |bool |is_utf8_string |const U8 *s|STRLEN len +Apd |bool |is_utf8_string_loc|const U8 *s|STRLEN len|const U8 **p +Ap |bool |is_utf8_alnum |const U8 *p +Ap |bool |is_utf8_alnumc |const U8 *p +Ap |bool |is_utf8_idfirst|const U8 *p +Ap |bool |is_utf8_idcont |const U8 *p +Ap |bool |is_utf8_alpha |const U8 *p +Ap |bool |is_utf8_ascii |const U8 *p +Ap |bool |is_utf8_space |const U8 *p +Ap |bool |is_utf8_cntrl |const U8 *p +Ap |bool |is_utf8_digit |const U8 *p +Ap |bool |is_utf8_graph |const U8 *p +Ap |bool |is_utf8_upper |const U8 *p +Ap |bool |is_utf8_lower |const U8 *p +Ap |bool |is_utf8_print |const U8 *p +Ap |bool |is_utf8_punct |const U8 *p +Ap |bool |is_utf8_xdigit |const U8 *p +Ap |bool |is_utf8_mark |const U8 *p p |OP* |jmaybe |OP* arg 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 @@ -361,11 +372,11 @@ Apd |void |load_module|U32 flags|SV* name|SV* ver|... Ap |void |vload_module|U32 flags|SV* name|SV* ver|va_list* args p |OP* |localize |OP* arg|I32 lexical Apd |I32 |looks_like_number|SV* sv -Apd |UV |grok_bin |char* start|STRLEN* len|I32* flags|NV *result -Apd |UV |grok_hex |char* start|STRLEN* len|I32* flags|NV *result +Apd |UV |grok_bin |const char* start|STRLEN* len|I32* flags|NV *result +Apd |UV |grok_hex |const char* start|STRLEN* len|I32* flags|NV *result Apd |int |grok_number |const char *pv|STRLEN len|UV *valuep Apd |bool |grok_numeric_radix|const char **sp|const char *send -Apd |UV |grok_oct |char* start|STRLEN* len|I32* flags|NV *result +Apd |UV |grok_oct |const char* start|STRLEN* len|I32* flags|NV *result p |int |magic_clearenv |SV* sv|MAGIC* mg p |int |magic_clear_all_env|SV* sv|MAGIC* mg p |int |magic_clearpack|SV* sv|MAGIC* mg @@ -407,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 @@ -426,7 +439,7 @@ p |void |qerror |SV* err Apd |void |sortsv |SV ** array|size_t num_elts|SVCOMPARE_t cmp Apd |int |mg_clear |SV* sv Apd |int |mg_copy |SV* sv|SV* nsv|const char* key|I32 klen -Apd |MAGIC* |mg_find |SV* sv|int type +Apd |MAGIC* |mg_find |const SV* sv|int type Apd |int |mg_free |SV* sv Apd |int |mg_get |SV* sv Apd |U32 |mg_length |SV* sv @@ -525,11 +538,12 @@ 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* |scan_vstring |char *vstr|SV *sv -Apd |char* |scan_version |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 @@ -541,6 +555,7 @@ p |void |package |OP* o 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 pd |void |pad_leavemy @@ -578,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 @@ -604,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 @@ -622,7 +636,8 @@ 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 |save_aelem |AV* av|I32 idx|SV **sptr +Ap |void |savestack_grow_cnt |I32 need +Ap |void |save_aelem |const 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 @@ -639,7 +654,7 @@ Ap |void |save_generic_pvref|char** str Ap |void |save_shared_pvref|char** str Ap |void |save_gp |GV* gv|I32 empty Ap |HV* |save_hash |GV* gv -Ap |void |save_helem |HV* hv|SV *key|SV **sptr +Ap |void |save_helem |const HV* hv|SV *key|SV **sptr Ap |void |save_hints Ap |void |save_hptr |HV** hptr Ap |void |save_I16 |I16* intp @@ -679,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 @@ -704,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,6 +742,7 @@ 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 @@ -737,24 +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 +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 @@ -765,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 @@ -781,36 +803,35 @@ Apd |void |sv_vsetpvfn |SV* sv|const char* pat|STRLEN patlen \ |va_list* args|SV** svargs|I32 svmax \ |bool *maybe_tainted Ap |NV |str_to_version |SV *sv -Ap |SV* |swash_init |char* pkg|char* name|SV* listsv \ - |I32 minbits|I32 none -Ap |UV |swash_fetch |SV *sv|U8 *ptr|bool do_utf8 +Ap |SV* |swash_init |const char* pkg|const char* name|SV* listsv|I32 minbits|I32 none +Ap |UV |swash_fetch |SV *sv|const U8 *ptr|bool do_utf8 Ap |void |taint_env Ap |void |taint_proper |const char* f|const char* s -Apd |UV |to_utf8_case |U8 *p|U8* ustrp|STRLEN *lenp \ - |SV **swash|char *normal|char *special -Apd |UV |to_utf8_lower |U8 *p|U8* ustrp|STRLEN *lenp -Apd |UV |to_utf8_upper |U8 *p|U8* ustrp|STRLEN *lenp -Apd |UV |to_utf8_title |U8 *p|U8* ustrp|STRLEN *lenp -Apd |UV |to_utf8_fold |U8 *p|U8* ustrp|STRLEN *lenp +Apd |UV |to_utf8_case |const U8 *p|U8* ustrp|STRLEN *lenp|SV **swash|char *normal|char *special +Apd |UV |to_utf8_lower |const U8 *p|U8* ustrp|STRLEN *lenp +Apd |UV |to_utf8_upper |const U8 *p|U8* ustrp|STRLEN *lenp +Apd |UV |to_utf8_title |const U8 *p|U8* ustrp|STRLEN *lenp +Apd |UV |to_utf8_fold |const U8 *p|U8* ustrp|STRLEN *lenp #if defined(UNLINK_ALL_VERSIONS) Ap |I32 |unlnk |char* f #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 -Apd |IV |utf8_distance |U8 *a|U8 *b +Adp |STRLEN |utf8_length |const U8* s|const U8 *e +Apd |IV |utf8_distance |const U8 *a|const U8 *b Apd |U8* |utf8_hop |U8 *s|I32 off ApMd |U8* |utf8_to_bytes |U8 *s|STRLEN *len ApMd |U8* |bytes_from_utf8|U8 *s|STRLEN *len|bool *is_utf8 -ApMd |U8* |bytes_to_utf8 |U8 *s|STRLEN *len -Apd |UV |utf8_to_uvchr |U8 *s|STRLEN* retlen -Apd |UV |utf8_to_uvuni |U8 *s|STRLEN* retlen -Adp |UV |utf8n_to_uvchr |U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags -Adp |UV |utf8n_to_uvuni |U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags +ApMd |U8* |bytes_to_utf8 |const U8 *s|STRLEN *len +Apd |UV |utf8_to_uvchr |const U8 *s|STRLEN* retlen +Apd |UV |utf8_to_uvuni |const U8 *s|STRLEN* retlen +Adp |UV |utf8n_to_uvchr |const U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags +Adp |UV |utf8n_to_uvuni |const U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags Apd |U8* |uvchr_to_utf8 |U8 *d|UV uv Ap |U8* |uvuni_to_utf8 |U8 *d|UV uv Ap |U8* |uvchr_to_utf8_flags |U8 *d|UV uv|UV flags @@ -821,18 +842,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 +Ap |I32 |whichsig |const 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 @@ -850,13 +872,14 @@ Ap |struct perl_vars *|GetVars Ap |int |runops_standard Ap |int |runops_debug 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 +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 @@ -879,20 +902,14 @@ Ap |void |do_pmop_dump |I32 level|PerlIO *file|PMOP *pm Ap |void |do_sv_dump |I32 level|PerlIO *file|SV *sv|I32 nest \ |I32 maxnest|bool dumpops|STRLEN pvlim Ap |void |magic_dump |MAGIC *mg -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -Ap |void* |default_protect|volatile JMPENV *je|int *excpt \ - |protect_body_t body|... -Ap |void* |vdefault_protect|volatile JMPENV *je|int *excpt \ - |protect_body_t body|va_list *args -#endif 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 @@ -934,11 +951,11 @@ 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) -pM |int |sv_release_IVX |SV *sv +pMX |int |sv_release_IVX |SV *sv #endif Adp |void |sv_nosharing |SV * @@ -972,8 +989,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 @@ -1004,16 +1019,16 @@ 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|int +s |void |incpush |char *|int|int|int|int s |void |init_interp s |void |init_ids s |void |init_lexer @@ -1023,9 +1038,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 @@ -1033,38 +1048,30 @@ s |void* |parse_body |char **env|XSINIT_t xsinit s |void* |run_body |I32 oldscope s |void |call_body |OP *myop|int is_eval s |void* |call_list_body |CV *cv -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -s |void* |vparse_body |va_list args -s |void* |vrun_body |va_list args -s |void* |vcall_body |va_list args -s |void* |vcall_list_body|va_list args -#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 |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) s |OP* |docatch |OP *o s |void* |docatch_body -#if defined(PERL_FLEXIBLE_EXCEPTIONS) -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 @@ -1072,7 +1079,7 @@ 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|CV* outside|U32 seq -s |PerlIO *|doopen_pmc |const char *name|const char *mode +s |PerlIO *|doopen_pm |const char *name|const char *mode s |bool |path_is_absolute|char *name #endif @@ -1091,60 +1098,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) @@ -1198,20 +1205,22 @@ 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|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 @@ -1253,11 +1262,11 @@ s |I32 |sublex_done s |I32 |sublex_push s |I32 |sublex_start s |char * |filter_gets |SV *sv|PerlIO *fp|STRLEN append -s |HV * |find_in_my_stash|char *pkgname|I32 len -s |SV* |new_constant |char *s|STRLEN len|const char *key|SV *sv \ +s |HV * |find_in_my_stash|const char *pkgname|I32 len +s |SV* |new_constant |const 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 @@ -1284,6 +1293,10 @@ s |COP* |closest_cop |COP *cop|OP *o s |SV* |mess_alloc #endif +#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT) +sn |NV|mulexp10 |NV value|I32 exponent +#endif + START_EXTERN_C Apd |void |sv_setsv_flags |SV* dsv|SV* ssv|I32 flags @@ -1295,6 +1308,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 * @@ -1345,18 +1361,117 @@ 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 +pd |void |pad_push |PADLIST *padlist|int depth #if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT) -sd |PADOFFSET|pad_findlex |char* name|PADOFFSET newoff|CV* innercv +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 -s |CV* |cv_clone2 |CV *proto|CV *outside #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 -END_EXTERN_C +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 + +Ap |GV* |gv_fetchpvn_flags|const char* name|STRLEN len|I32 flags|I32 sv_type +Ap |GV* |gv_fetchsv|SV *name|I32 flags|I32 sv_type +dp |bool |is_gv_magical_sv|SV *name|U32 flags + +Apd |char* |savesvpv |SV* sv + +END_EXTERN_C