Upgrade to Pod-Simple-3.04
[p5sagit/p5-mst-13.2.git] / embed.fnc
index ccc1500..9cd0ff1 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -11,7 +11,7 @@
 :      d               function has documentation with its source
 :      s               static function, should have an S_ prefix in
 :                      source file; for macros (m), suffix the usage
-:                      example with a semicolon
+:                      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
@@ -28,6 +28,7 @@
 :      R               Return value must not be ignored.
 :      P               pure function: no effects except the return value;
 :                      return value depends only on parms and/or globals
+: (see also L<perlguts/Internal Functions> for those flags.)
 :
 : Pointer parameters that must not be passed NULLs should be prefixed with NN.
 :
@@ -95,22 +96,22 @@ p   |OP*    |append_elem    |I32 optype|NULLOK OP* first|NULLOK OP* last
 p      |OP*    |append_list    |I32 optype|NULLOK LISTOP* first|NULLOK LISTOP* last
 p      |I32    |apply          |I32 type|NN SV** mark|NN SV** sp
 ApM    |void   |apply_attrs_string|NN const char *stashpv|NN CV *cv|NN const char *attrstr|STRLEN len
-Apd    |void   |av_clear       |NULLOK AV* ar
-Apd    |SV*    |av_delete      |NULLOK AV* ar|I32 key|I32 flags
-ApdR   |bool   |av_exists      |NULLOK AV* ar|I32 key
+Apd    |void   |av_clear       |NN AV* ar
+Apd    |SV*    |av_delete      |NN AV* ar|I32 key|I32 flags
+ApdR   |bool   |av_exists      |NN AV* ar|I32 key
 Apd    |void   |av_extend      |NN AV* ar|I32 key
 pR     |AV*    |av_fake        |I32 size|NN SV** svp
-ApdR   |SV**   |av_fetch       |NULLOK AV* ar|I32 key|I32 lval
+ApdR   |SV**   |av_fetch       |NN AV* ar|I32 key|I32 lval
 Apd    |void   |av_fill        |NN AV* ar|I32 fill
 ApdR   |I32    |av_len         |NN const AV* ar
 ApdR   |AV*    |av_make        |I32 size|NN SV** svp
-Apd    |SV*    |av_pop         |NULLOK AV* ar
-Apd    |void   |av_push        |NULLOK AV* ar|NN SV* val
+Apd    |SV*    |av_pop         |NN AV* ar
+Apd    |void   |av_push        |NN AV* ar|NN SV* val
 p      |void   |av_reify       |NN AV* ar
-ApdR   |SV*    |av_shift       |NULLOK AV* ar
-Apd    |SV**   |av_store       |NULLOK AV* ar|I32 key|NULLOK SV* val
-Apd    |void   |av_undef       |NULLOK AV* ar
-Apd    |void   |av_unshift     |NULLOK AV* ar|I32 num
+ApdR   |SV*    |av_shift       |NN AV* ar
+Apd    |SV**   |av_store       |NN AV* ar|I32 key|NULLOK SV* val
+Apd    |void   |av_undef       |NN AV* ar
+Apd    |void   |av_unshift     |NN AV* ar|I32 num
 Apo    |SV**   |av_arylen_p    |NN AV* av
 pR     |OP*    |bind_match     |I32 type|NN OP* left|NN OP* pat
 pR     |OP*    |block_end      |I32 floor|NULLOK OP* seq
@@ -150,6 +151,7 @@ Afnp        |int    |printf_nocontext|NN const char* fmt|...
 #endif
 p      |void   |cv_ckproto     |NN const CV* cv|NULLOK const GV* gv|NULLOK const char* p
 pd     |CV*    |cv_clone       |NN CV* proto
+ApdR   |SV*    |gv_const_sv    |NN GV* gv
 ApdR   |SV*    |cv_const_sv    |NULLOK CV* cv
 pR     |SV*    |op_const_sv    |NULLOK const OP* o|NULLOK CV* cv
 Apd    |void   |cv_undef       |NN CV* cv
@@ -551,7 +553,7 @@ Apda        |SV*    |newSVhek       |NULLOK const HEK *hek
 Apda   |SV*    |newSVpvn_share |NULLOK const char* s|I32 len|U32 hash
 Afpda  |SV*    |newSVpvf       |NN const char* pat|...
 Apa    |SV*    |vnewSVpvf      |NN const char* pat|NULLOK va_list* args
-Apda   |SV*    |newSVrv        |NN SV* rv|NULLOK const char* classname
+Apd    |SV*    |newSVrv        |NN SV* rv|NULLOK const char* classname
 Apda   |SV*    |newSVsv        |NULLOK SV* old
 Apa    |OP*    |newUNOP        |I32 type|I32 flags|NULLOK OP* first
 Apa    |OP*    |newWHENOP      |NULLOK OP* cond|NN OP* block
@@ -788,7 +790,7 @@ Apd |STRLEN |sv_len         |NULLOK SV* sv
 Apd    |STRLEN |sv_len_utf8    |NULLOK SV* sv
 Apd    |void   |sv_magic       |NN SV* sv|NULLOK SV* obj|int how|NULLOK const char* name \
                                |I32 namlen
-Apd    |MAGIC *|sv_magicext    |NN SV* sv|NULLOK SV* obj|int how|NULLOK const MGVTBL *vtbl \
+Apd    |MAGIC *|sv_magicext    |NN SV* sv|NULLOK SV* obj|int how|NULLOK MGVTBL *vtbl \
                                |NULLOK const char* name|I32 namlen
 ApdaR  |SV*    |sv_mortalcopy  |NULLOK SV* oldsv
 ApdR   |SV*    |sv_newmortal
@@ -973,21 +975,21 @@ Apr       |void   |newMYSUB       |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NU
 p      |OP *   |my_attrs       |NN OP *o|NULLOK OP *attrs
 p      |void   |boot_core_xsutils
 #if defined(USE_ITHREADS)
-Apa    |PERL_CONTEXT*|cx_dup   |NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN CLONE_PARAMS* param
-Apa    |PERL_SI*|si_dup        |NULLOK PERL_SI* si|NN CLONE_PARAMS* param
+ApR    |PERL_CONTEXT*|cx_dup   |NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN CLONE_PARAMS* param
+ApR    |PERL_SI*|si_dup        |NULLOK PERL_SI* si|NN CLONE_PARAMS* param
 Apa    |ANY*   |ss_dup         |NN PerlInterpreter* proto_perl|NN CLONE_PARAMS* param
-Apa    |void*  |any_dup        |NULLOK void* v|NN const PerlInterpreter* proto_perl
-Apa    |HE*    |he_dup         |NULLOK const HE* e|bool shared|NN CLONE_PARAMS* param
-Apa    |HEK*   |hek_dup        |NULLOK HEK* e|NN CLONE_PARAMS* param
-Apa    |REGEXP*|re_dup         |NULLOK const REGEXP* r|NN CLONE_PARAMS* param
-Apa    |PerlIO*|fp_dup         |NULLOK PerlIO* fp|char type|NN CLONE_PARAMS* param
-Apa    |DIR*   |dirp_dup       |NULLOK DIR* dp
-Apa    |GP*    |gp_dup         |NULLOK GP* gp|NN CLONE_PARAMS* param
-Apa    |MAGIC* |mg_dup         |NULLOK MAGIC* mg|NN CLONE_PARAMS* param
-Apa    |SV*    |sv_dup         |NULLOK SV* sstr|NN CLONE_PARAMS* param
-Ap     |void   |rvpv_dup       |NN SV* dstr|NN SV *sstr|NN CLONE_PARAMS* param
+ApR    |void*  |any_dup        |NULLOK void* v|NN const PerlInterpreter* proto_perl
+ApR    |HE*    |he_dup         |NULLOK const HE* e|bool shared|NN CLONE_PARAMS* param
+ApR    |HEK*   |hek_dup        |NULLOK HEK* e|NN CLONE_PARAMS* param
+ApR    |REGEXP*|re_dup         |NULLOK const REGEXP* r|NN CLONE_PARAMS* param
+Ap     |PerlIO*|fp_dup         |NULLOK PerlIO* fp|char type|NN CLONE_PARAMS* param
+ApR    |DIR*   |dirp_dup       |NULLOK DIR* dp
+ApR    |GP*    |gp_dup         |NULLOK GP* gp|NN CLONE_PARAMS* param
+ApR    |MAGIC* |mg_dup         |NULLOK MAGIC* mg|NN CLONE_PARAMS* param
+ApR    |SV*    |sv_dup         |NULLOK const SV* sstr|NN CLONE_PARAMS* param
+Ap     |void   |rvpv_dup       |NN SV* dstr|NN const SV *sstr|NN CLONE_PARAMS* param
 Apa    |PTR_TBL_t*|ptr_table_new
-Apa    |void*  |ptr_table_fetch|NN PTR_TBL_t *tbl|NN const void *sv
+ApR    |void*  |ptr_table_fetch|NN PTR_TBL_t *tbl|NN const void *sv
 Ap     |void   |ptr_table_store|NN PTR_TBL_t *tbl|NULLOK const void *oldsv|NN void *newsv
 Ap     |void   |ptr_table_split|NN PTR_TBL_t *tbl
 Ap     |void   |ptr_table_clear|NULLOK PTR_TBL_t *tbl
@@ -1276,7 +1278,6 @@ ERs       |bool   |reginclass     |NN const regnode *n|NN const U8 *p|NULLOK 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       |NN regexp *prog
 ERs    |U8*    |reghop         |NN U8 *pos|I32 off
 ERs    |U8*    |reghop3        |NN U8 *pos|I32 off|NN U8 *lim
@@ -1302,6 +1303,10 @@ s        |SV*    |save_scalar_at |NN SV **sptr
 po     |void   |sv_add_backref |NN SV *tsv|NN SV *sv
 #endif
 
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+poM    |int    |sv_kill_backrefs       |NN SV *sv|NN AV *av
+#endif
+
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 nsR    |char * |uiv_2buf       |NN char *buf|IV iv|UV uv|int is_uv|NN char **peob
 s      |void   |sv_unglob      |NN SV* sv
@@ -1325,6 +1330,8 @@ s |bool   |utf8_mg_pos    |NN SV *sv|NN MAGIC **mgp|NN STRLEN **cachep \
 s      |bool   |utf8_mg_pos_init       |NN SV *sv|NN MAGIC **mgp \
                                |NN STRLEN **cachep|I32 i|I32 offsetp \
                                |NN const U8 *s|NN const U8 *start
+s      |char * |stringify_regexp|NN SV *sv|NN MAGIC *mg|NULLOK STRLEN *lp
+sn     |char * |F0convert      |NV nv|NN char *endbuf|NN STRLEN *len
 #if defined(PERL_OLD_COPY_ON_WRITE)
 sM     |void   |sv_release_COW |NN SV *sv|NN const char *pvx|STRLEN len|NN SV *after
 #endif
@@ -1356,7 +1363,7 @@ s |void   |checkcomma     |NN char *s|NN const char *name|NN const char *what
 s      |bool   |feature_is_enabled|NN char* name|STRLEN namelen
 s      |void   |force_ident    |NN const char *s|int kind
 s      |void   |incline        |NN char *s
-s      |int    |intuit_method  |NN char *s|NULLOK GV *gv
+s      |int    |intuit_method  |NN char *s|NULLOK GV *gv|NULLOK CV *cv
 s      |int    |intuit_more    |NN char *s
 s      |I32    |lop            |I32 f|int x|NN char *s
 rs     |void   |missingterm    |NULLOK char *s
@@ -1370,16 +1377,15 @@ sR      |HV *   |find_in_my_stash|NN const char *pkgname|I32 len
 sR     |char * |tokenize_use   |int is_use|NN char *s
 s      |SV*    |new_constant   |NULLOK const char *s|STRLEN len|NN const char *key|NN SV *sv \
                                |NULLOK SV *pv|NULLOK const char *type
-#  if defined(DEBUGGING)
-s      |int    |tokereport     |I32 rv
-#  endif
 s      |int    |ao             |int toketype
-s      |void   |depcom
 s      |const char*|incl_perldb
 #  if defined(PERL_CR_FILTER)
 s      |I32    |cr_textfilter  |int idx|NULLOK SV *sv|int maxlen
 s      |void   |strip_return   |NN SV *sv
 #  endif
+#  if defined(DEBUGGING)
+s      |int    |tokereport     |I32 rv
+#  endif
 #endif
 
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
@@ -1397,7 +1403,8 @@ s |COP*   |closest_cop    |NN COP *cop|NULLOK const OP *o
 s      |SV*    |mess_alloc
 s      |const char *|vdie_croak_common|NULLOK const char *pat|NULLOK va_list *args \
                                |NULLOK STRLEN *msglen|NULLOK I32* utf8
-s      |void   |vdie_common    |NULLOK const char *message|STRLEN msglen|I32 utf8
+s      |bool   |vdie_common    |NULLOK const char *message|STRLEN msglen\
+                               |I32 utf8|bool warn
 sr     |char * |write_no_mem
 #endif
 
@@ -1497,6 +1504,10 @@ ApoR     |HE**   |hv_eiter_p     |NN HV* hv
 Apo    |void   |hv_riter_set   |NN HV* hv|I32 riter
 Apo    |void   |hv_eiter_set   |NN HV* hv|NULLOK HE* eiter
 Ap     |void   |hv_name_set    |NN HV* hv|NULLOK const char *name|I32 len|int flags
+poM    |AV**   |hv_backreferences_p    |NN HV* hv
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+poM    |void   |hv_kill_backrefs       |NN HV* hv
+#endif
 Apd    |void   |hv_clear_placeholders  |NN HV* hb
 ApoR   |I32*   |hv_placeholders_p      |NN HV* hv
 ApoR   |I32    |hv_placeholders_get    |NN HV* hv
@@ -1607,6 +1618,11 @@ Apnod    |int    |my_sprintf     |NN char *buffer|NN const char *pat|...
 
 px     |void   |my_clearenv
 
+#ifdef PERL_IMPLICIT_CONTEXT
+Apo    |void*  |my_cxt_init    |NN int *index|size_t size
+#endif
+
+
 END_EXTERN_C
 /*
  * ex: set ts=8 sts=4 sw=4 noet: