X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=embed.fnc;h=be086191861eb101e7ae20ffdbb2a13837ef8b21;hb=67363c0d4f1afeee7e193e700845c9f68327d8c8;hp=4201ece66d9e8037ad37051bb9d76b4bce952666;hpb=0190f6ec86786064d260189cc19ad5f413c4a0a3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/embed.fnc b/embed.fnc index 4201ece..be08619 100644 --- a/embed.fnc +++ b/embed.fnc @@ -6,18 +6,22 @@ : : 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 : 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 -: E visible to Perl core extensions +: o has no compatibility macro (#define foo Perl_foo) +: x not exported +: X explicitly exported +: M may change +: E visible to Perl core extensions +: b binary backward compatibility; function is a macro +: but has also Perl_ implementation (which is exported) : : Individual flags may be separated by whitespace. : @@ -581,6 +585,7 @@ 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 @@ -625,6 +630,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 @@ -691,7 +697,7 @@ Apd |IO* |sv_2io |SV* sv Apd |IV |sv_2iv |SV* sv 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 @@ -709,8 +715,8 @@ 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_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 @@ -727,7 +733,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 -Apo |void |sv_free2 |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 @@ -748,7 +754,7 @@ 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 @@ -761,6 +767,7 @@ 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_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 @@ -771,7 +778,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 @@ -802,9 +809,10 @@ 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* 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 @@ -864,6 +872,7 @@ 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_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 @@ -896,10 +905,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 @@ -941,11 +950,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 * @@ -1013,7 +1022,7 @@ 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 +s |void |Slab_Free |void *op # endif #endif @@ -1054,14 +1063,16 @@ 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) @@ -1079,7 +1090,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 @@ -1212,7 +1223,7 @@ s |void |sv_del_backref |SV *sv 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 # @@ -1293,6 +1304,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 @@ -1305,7 +1320,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 -Ap |SV* |sv_setsv_cow |SV* dsv|SV* ssv +pMX |SV* |sv_setsv_cow |SV* dsv|SV* ssv #endif #if defined(USE_PERLIO) && !defined(USE_SFIO) @@ -1360,13 +1375,15 @@ 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