X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=embed.fnc;h=795f3fe6c521d8d52b126490fc96489f6d154dda;hb=f8952f9c0d30f65af1114a6384b97ad7770dce81;hp=8880585e9c887bc365ba7e8217f2a11381011380;hpb=88d95a4d17f786d117305f530290cdd81b2df059;p=p5sagit%2Fp5-mst-13.2.git diff --git a/embed.fnc b/embed.fnc index 8880585..795f3fe 100644 --- a/embed.fnc +++ b/embed.fnc @@ -10,7 +10,8 @@ : proto, no #define : d function has documentation with its source : s static function, should have an S_ prefix in -: source file +: 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 @@ -19,9 +20,10 @@ : x not exported : X explicitly exported : M may change -: E visible to Perl core extensions +: 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. : @@ -45,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 \ @@ -242,7 +245,7 @@ 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 +Amb |void |gv_efullname3 |SV* sv|GV* gv|const char* prefix Ap |void |gv_efullname4 |SV* sv|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 \ @@ -254,12 +257,12 @@ 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 +Amb |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_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 @@ -336,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 @@ -357,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 @@ -532,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 @@ -548,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 @@ -585,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 @@ -629,6 +636,7 @@ 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 @@ -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 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,7 +722,7 @@ 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 Amdb |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len Amdb |void |sv_catsv |SV* dsv|SV* ssv @@ -745,7 +756,7 @@ 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 @@ -763,7 +774,7 @@ 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 @@ -807,6 +818,7 @@ Apd |UV |to_utf8_fold |U8 *p|U8* ustrp|STRLEN *lenp 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* idop|OP* arg @@ -833,18 +845,18 @@ 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 @@ -862,12 +874,12 @@ 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 @@ -892,12 +904,6 @@ 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 @@ -985,8 +991,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 @@ -1017,16 +1021,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 @@ -1036,9 +1040,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 @@ -1046,17 +1050,10 @@ 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) @@ -1075,11 +1072,9 @@ s |int |div128 |SV *pnum|bool *done #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 @@ -1087,7 +1082,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 @@ -1213,7 +1208,7 @@ 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 @@ -1274,7 +1269,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 @@ -1301,6 +1296,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 @@ -1313,7 +1312,7 @@ 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 -pMX |SV* |sv_setsv_cow |SV* dsv|SV* ssv +pMXE |SV* |sv_setsv_cow |SV* dsv|SV* ssv #endif #if defined(USE_PERLIO) && !defined(USE_SFIO) @@ -1368,15 +1367,114 @@ 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|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