ext/DB_File needs a ppport.h
[p5sagit/p5-mst-13.2.git] / embed.fnc
index bda81cd..162bca7 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -101,9 +101,9 @@ START_EXTERN_C
 Ap     |SV*    |amagic_call    |NN SV* left|NN SV* right|int method|int dir
 Ap     |bool   |Gv_AMupdate    |NN HV* stash
 ApR    |CV*    |gv_handler     |NULLOK HV* stash|I32 id
-: This is used in perly.y
+: Used in perly.y
 p      |OP*    |append_elem    |I32 optype|NULLOK OP* first|NULLOK OP* last
-: This is used in perly.y
+: Used in perly.y
 p      |OP*    |append_list    |I32 optype|NULLOK LISTOP* first|NULLOK LISTOP* last
 : FIXME - this is only called by pp_chown. They should be merged.
 p      |I32    |apply          |I32 type|NN SV** mark|NN SV** sp
@@ -119,6 +119,7 @@ ApdR        |AV*    |av_make        |I32 size|NN SV **strp
 Apd    |SV*    |av_pop         |NN AV *av
 ApdoxM |void   |av_create_and_push|NN AV **const avp|NN SV *const val
 Apd    |void   |av_push        |NN AV *av|NN SV *val
+: Used in scope.c, and by Data::Alias
 EXp    |void   |av_reify       |NN AV *av
 ApdR   |SV*    |av_shift       |NN AV *av
 Apd    |SV**   |av_store       |NN AV *av|I32 key|NULLOK SV *val
@@ -130,19 +131,19 @@ Apo       |IV*    |av_iter_p      |NN AV *av
 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
 s      |MAGIC* |get_aux_mg     |NN AV *av
 #endif
-: This is used in perly.y
+: Used in perly.y
 pR     |OP*    |bind_match     |I32 type|NN OP *left|NN OP *right
-: This is used in perly.y
+: Used in perly.y
 pR     |OP*    |block_end      |I32 floor|NULLOK OP* seq
 ApR    |I32    |block_gimme
-: This is used in perly.y
+: Used in perly.y
 pR     |int    |block_start    |int full
-: This is used in perl.c
+: Used in perl.c
 p      |void   |boot_core_UNIVERSAL
-: This is used in perl.c
+: Used in perl.c
 p      |void   |boot_core_PerlIO
 Ap     |void   |call_list      |I32 oldscope|NN AV *paramList
-: This is used in serveral source files
+: Used in serveral source files
 pR     |bool   |cando          |Mode_t mode|bool effective|NN const Stat_t* statbufp
 ApR    |U32    |cast_ulong     |NV f
 ApR    |I32    |cast_i32       |NV f
@@ -151,9 +152,9 @@ ApR |UV     |cast_uv        |NV f
 #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
 ApR    |I32    |my_chsize      |int fd|Off_t length
 #endif
-: This is used in perly.y
+: Used in perly.y
 pR     |OP*    |convert        |I32 optype|I32 flags|NULLOK OP* o
-: This is used in op.c and perl.c
+: Used in op.c and perl.c
 pM     |PERL_CONTEXT*  |create_eval_scope|U32 flags
 : croak()'s first parm can be NULL.  Otherwise, mod_perl breaks.
 Afprd  |void   |croak          |NULLOK const char* pat|...
@@ -178,7 +179,7 @@ Afnp        |void   |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
 Afnp   |int    |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
 Afnp   |int    |printf_nocontext|NN const char *format|...
 #endif
-: This is used in sv.c
+: Used in sv.c
 p      |void   |cv_ckproto_len |NN const CV* cv|NULLOK const GV* gv\
                                |NULLOK const char* p|const STRLEN len
 : Used in pp.c and pp_sys.c
@@ -199,6 +200,7 @@ pPR |const char*    |get_no_modify
 : FIXME discussion on p5p
 pPR    |U32*   |get_opargs
 ApPR   |PPADDR_t*|get_ppaddr
+: Used by CXINC, which appears to be in widespread use
 EXpR   |I32    |cxinc
 Afp    |void   |deb            |NN const char* pat|...
 Ap     |void   |vdeb           |NN const char* pat|NULLOK va_list* args
@@ -208,13 +210,14 @@ Ap        |I32    |debstack
 Ap     |I32    |debstackptrs
 Ap     |char*  |delimcpy       |NN char* to|NN const char* toend|NN const char* from \
                                |NN const char* fromend|int delim|NN I32* retlen
+: Used in op.c, perl.c
 pM     |void   |delete_eval_scope
 : Used in various files
 p      |void   |deprecate      |NN const char *const s
 : Used in various files
 p      |void   |deprecate_old  |NN const char *const s
 Afp    |OP*    |die            |NULLOK const char* pat|...
-#if defined(PERL_IN_UTIL_C)
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
 s      |OP*    |vdie           |NULLOK const char* pat|NULLOK va_list* args
 #endif
 : Used in util.c
@@ -246,7 +249,7 @@ Ap  |int    |do_spawn_nowait|NN char* cmd
 p      |bool   |do_exec3       |NN const char *incmd|int fd|int do_report
 #endif
 p      |void   |do_execfree
-#ifdef PERL_IN_DOIO_C
+#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
 s      |void   |exec_failed    |NN const char *cmd|int fd|int do_report
 #endif
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
@@ -316,14 +319,15 @@ ApdR      |char*  |fbm_instr      |NN unsigned char* big|NN unsigned char* bigend \
 : Defined in util.c, used only in perl.c
 p      |char*  |find_script    |NN const char *scriptname|bool dosearch \
                                |NULLOK const char *const *const search_ext|I32 flags
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
 s      |OP*    |force_list     |NULLOK OP* arg
+: FIXME
 s      |OP*    |fold_constants |NN OP *o
 #endif
 Afpd   |char*  |form           |NN const char* pat|...
 Ap     |char*  |vform          |NN const char* pat|NULLOK va_list* args
 Ap     |void   |free_tmps
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
 s      |OP*    |gen_constant_list|NULLOK OP* o
 #endif
 #if !defined(HAS_GETENV_LEN)
@@ -356,6 +360,7 @@ Ap  |GV*    |gv_fetchpv     |NN const char *nambeg|I32 add|const svtype sv_type
 Ap     |void   |gv_fullname    |NN SV* sv|NN const GV* gv
 Apmb   |void   |gv_fullname3   |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
 Ap     |void   |gv_fullname4   |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
+: Used in scope.c
 pMox   |GP *   |newGP          |NN GV *const gv
 Ap     |void   |gv_init        |NN GV* gv|NULLOK HV* stash|NN const char* name|STRLEN len|int multi
 Ap     |void   |gv_name_set    |NN GV* gv|NN const char *name|U32 len|U32 flags
@@ -390,7 +395,9 @@ ApMdR       |HE*    |hv_iternext_flags|NN HV *hv|I32 flags
 ApdR   |SV*    |hv_iterval     |NN HV *hv|NN HE *entry
 Ap     |void   |hv_ksplit      |NN HV *hv|IV newmax
 Apdbm  |void   |hv_magic       |NN HV *hv|NULLOK GV *gv|int how
+: Used in B.xs
 XEdpoM |HV *   |refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c
+: Used in APItest.xs
 XEpoM  |SV *   |refcounted_he_fetch|NULLOK const struct refcounted_he *chain \
                                |NULLOK SV *keysv|NULLOK const char *key \
                                |STRLEN klen, int flags, U32 hash
@@ -420,7 +427,7 @@ ApP |I32    |ibcmp_locale   |NN const char* a|NN const char* b|I32 len
 Apd    |I32    |ibcmp_utf8     |NN const char *s1|NULLOK char **pe1|UV l1 \
                                |bool u1|NN const char *s2|NULLOK char **pe2 \
                                |UV l2|bool u2
-#if defined(PERL_IN_DOIO_C)
+#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
 sR     |bool   |ingroup        |Gid_t testgid|bool effective
 #endif
 : Used in toke.c
@@ -497,15 +504,16 @@ p |OP*    |jmaybe         |NN OP *o
 : Used in pp.c 
 pP     |I32    |keyword        |NN const char *name|I32 len|bool all_keywords
 Ap     |void   |leave_scope    |I32 base
-: Used in pp_ctl.c
+: Used in pp_ctl.c, and by Data::Alias
 EXp    |void   |lex_end
 : Used in various files
 p      |void   |lex_start      |NULLOK SV* line|NULLOK PerlIO *rsfp|bool new_filter
 Ap     |void   |op_null        |NN OP* o
+: FIXME. Used by Data::Alias
 EXp    |void   |op_clear       |NN OP* o
 Ap     |void   |op_refcnt_lock
 Ap     |void   |op_refcnt_unlock
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
 s      |OP*    |linklist       |NN OP *o
 s      |OP*    |listkids       |NULLOK OP* o
 #endif
@@ -577,6 +585,8 @@ p   |char*  |mem_collxfrm   |NN const char* s|STRLEN len|NN STRLEN* xlen
 #endif
 Afp    |SV*    |mess           |NN const char* pat|...
 Ap     |SV*    |vmess          |NN const char* pat|NULLOK va_list* args
+: FIXME - either make it public, or stop exporting it. (Data::Alias uses this)
+: Used in gv.c, op.c, toke.c
 EXp    |void   |qerror         |NN SV* err
 Apd    |void   |sortsv         |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp
 Apd    |void   |sortsv_flags   |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
@@ -593,6 +603,7 @@ Apd |void   |mg_magical     |NN SV* sv
 Apd    |int    |mg_set         |NN SV* sv
 Ap     |I32    |mg_size        |NN SV* sv
 Ap     |void   |mini_mktime    |NN struct tm *ptm
+: Used by MOD(), which Data::Alias uses
 EXp    |OP*    |mod            |NULLOK OP* o|I32 type
 : Used in op.c and pp_sys.c
 p      |int    |mode_from_discipline|NULLOK const char* s|STRLEN len
@@ -737,7 +748,7 @@ pd  |void   |pad_leavemy
 Apd    |SV*    |pad_sv         |PADOFFSET po
 : Defined in pad.c, used only in op.c
 pd     |void   |pad_free       |PADOFFSET po
-#if defined(PERL_IN_PAD_C)
+#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
 sd     |void   |pad_reset
 #endif
 : Used in op.c
@@ -761,9 +772,9 @@ Ap  |void   |despatch_signals
 Ap     |OP *   |doref          |NN OP *o|I32 type|bool set_op_ref
 Apd    |SV*    |eval_pv        |NN const char* p|I32 croak_on_error
 Apd    |I32    |eval_sv        |NN SV* sv|I32 flags
-Apd    |SV*    |get_sv         |NN const char* name|I32 create
-Apd    |AV*    |get_av         |NN const char* name|I32 create
-Apd    |HV*    |get_hv         |NN const char* name|I32 create
+Apd    |SV*    |get_sv         |NN const char *name|I32 flags
+Apd    |AV*    |get_av         |NN const char *name|I32 flags
+Apd    |HV*    |get_hv         |NN const char *name|I32 flags
 Apd    |CV*    |get_cv         |NN const char* name|I32 flags
 Apd    |CV*    |get_cvn_flags  |NN const char* name|STRLEN len|I32 flags
 Ap     |int    |init_i18nl10n  |int printwarn
@@ -784,7 +795,7 @@ s   |void   |pidgone        |Pid_t pid|int status
 Ap     |void   |pmflag         |NN U32* pmfl|int ch
 : Used in perly.y
 p      |OP*    |pmruntime      |NN OP *o|NN OP *expr|bool isreg
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
 s      |OP*    |pmtrans        |NN OP* o|NN OP* expr|NN OP* repl
 #endif
 Ap     |void   |pop_scope
@@ -792,7 +803,7 @@ Ap  |void   |pop_scope
 p      |OP*    |prepend_elem   |I32 optype|NULLOK OP* head|NULLOK OP* tail
 Ap     |void   |push_scope
 Amb    |OP*    |ref            |NULLOK OP* o|I32 type
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
 s      |OP*    |refkids        |NULLOK OP* o|I32 type
 #endif
 Ap     |void   |regdump        |NN const regexp* r
@@ -805,6 +816,7 @@ Ap  |I32    |pregexec       |NN REGEXP * const prog|NN char* stringarg \
                                |NN SV* screamer|U32 nosave
 Ap     |void   |pregfree       |NULLOK REGEXP* r
 Ap     |void   |pregfree2      |NN REGEXP *rx
+: FIXME - is anything in re using this now?
 EXp    |REGEXP*|reg_temp_copy  |NN REGEXP* r
 Ap     |void   |regfree_internal|NN REGEXP *const rx
 #if defined(USE_ITHREADS)
@@ -832,10 +844,14 @@ Ap |SV*|reg_named_buff_nextkey  |NN REGEXP * const rx|const U32 flags
 Ap |SV*|reg_named_buff_scalar   |NN REGEXP * const rx|const U32 flags
 Ap |SV*|reg_named_buff_all      |NN REGEXP * const rx|const U32 flags
 
+: FIXME - is anything in re using this now?
 EXp    |void|reg_numbered_buff_fetch|NN REGEXP * const rx|const I32 paren|NULLOK SV * const sv
+: FIXME - is anything in re using this now?
 EXp    |void|reg_numbered_buff_store|NN REGEXP * const rx|const I32 paren|NULLOK SV const * const value
+: FIXME - is anything in re using this now?
 EXp    |I32|reg_numbered_buff_length|NN REGEXP * const rx|NN const SV * const sv|const I32 paren
 
+: FIXME - is anything in re using this now?
 EXp    |SV*|reg_qr_package|NN REGEXP * const rx
 
 : FIXME - why the E?
@@ -849,7 +865,7 @@ p   |int    |rsignal_restore|int i|NULLOK Sigsave_t* t
 : Used in pp_sys.c
 p      |int    |rsignal_save   |int i|Sighandler_t t1|NN Sigsave_t* save
 Ap     |Sighandler_t|rsignal_state|int i
-#if defined(PERL_IN_PP_CTL_C)
+#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 s      |void   |rxres_free     |NN void** rsp
 s      |void   |rxres_restore  |NN void **rsp|NN REGEXP *rx
 #endif
@@ -873,17 +889,19 @@ Ap        |AV*    |save_ary       |NN GV* gv
 Ap     |void   |save_bool      |NN bool* boolp
 Ap     |void   |save_clearsv   |NN SV** svp
 Ap     |void   |save_delete    |NN HV *hv|NN char *key|I32 klen
+Ap     |void   |save_adelete   |NN AV *av|I32 key
 Ap     |void   |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
 Ap     |void   |save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
-Ap     |void   |save_freesv    |NULLOK SV* sv
+Apmb   |void   |save_freesv    |NULLOK SV* sv
 : Used in SAVEFREOP(), used in op.c, pp_ctl.c
-p      |void   |save_freeop    |NULLOK OP* o
-Ap     |void   |save_freepv    |NULLOK char* pv
+pmb    |void   |save_freeop    |NULLOK OP* o
+Apmb   |void   |save_freepv    |NULLOK char* pv
 Ap     |void   |save_generic_svref|NN SV** sptr
 Ap     |void   |save_generic_pvref|NN char** str
 Ap     |void   |save_shared_pvref|NN char** str
 Ap     |void   |save_gp        |NN GV* gv|I32 empty
 Ap     |HV*    |save_hash      |NN GV* gv
+p      |void   |save_hints
 Amp    |void   |save_helem     |NN HV *hv|NN SV *key|NN SV **sptr
 Ap     |void   |save_helem_flags|NN HV *hv|NN SV *key|NN SV **sptr|const U32 flags
 Ap     |void   |save_hptr      |NN HV** hptr
@@ -895,10 +913,10 @@ Ap        |void   |save_item      |NN SV* item
 Ap     |void   |save_iv        |NN IV *ivp
 Ap     |void   |save_list      |NN SV** sarg|I32 maxsarg
 Ap     |void   |save_long      |NN long* longp
-Ap     |void   |save_mortalizesv|NN SV* sv
+Apmb   |void   |save_mortalizesv|NN SV* sv
 Ap     |void   |save_nogv      |NN GV* gv
 : Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
-p      |void   |save_op
+pmb    |void   |save_op
 Ap     |SV*    |save_scalar    |NN GV* gv
 Ap     |void   |save_pptr      |NN char** pptr
 Ap     |void   |save_vptr      |NN void *ptr
@@ -906,11 +924,21 @@ Ap        |void   |save_re_context
 Ap     |void   |save_padsv_and_mortalize|PADOFFSET off
 Ap     |void   |save_sptr      |NN SV** sptr
 Ap     |SV*    |save_svref     |NN SV** sptr
+Ap     |void   |save_pushptr   |NULLOK void *const ptr|const int type
+: Used by SAVECOPARYBASE() in op.c
+p      |void   |save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
+: Used by SAVESWITCHSTACK() in pp.c
+p      |void   |save_pushptrptr|NULLOK void *const ptr1 \
+                               |NULLOK void *const ptr2|const int type
+#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+s      |void   |save_pushptri32ptr|NULLOK void *const ptr1|const I32 i \
+                               |NULLOK void *const ptr2|const int type
+#endif
 : Used in perly.y
 p      |OP*    |sawparens      |NULLOK OP* o
 : Used in perly.y
 p      |OP*    |scalar         |NULLOK OP* o
-#if defined(PERL_IN_OP_C)
+#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
 s      |OP*    |scalarkids     |NULLOK OP* o
 s      |OP*    |scalarseq      |NULLOK OP* o
 #endif
@@ -924,13 +952,10 @@ Apd       |NV     |scan_oct       |NN const char* start|STRLEN len|NN STRLEN* retlen
 p      |OP*    |scope          |NULLOK OP* o
 Ap     |char*  |screaminstr    |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
                                |I32 end_shift|NN I32 *old_posp|I32 last
-#if !defined(VMS) && defined(PERL_IN_UTIL_C)
-s      |I32    |setenv_getix   |NN const char* nam
-#endif
 Apd    |void   |setdefout      |NULLOK GV* gv
 Ap     |HEK*   |share_hek      |NN const char* str|I32 len|U32 hash
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-: This is used in perl.c
+: Used in perl.c
 np     |Signal_t |sighandler   |int sig|NULLOK siginfo_t *info|NULLOK void *uap
 Anp    |Signal_t |csighandler  |int sig|NULLOK siginfo_t *info|NULLOK void *uap
 #else
@@ -945,7 +970,7 @@ Apd |bool   |sv_2bool       |NN SV *const sv
 Apd    |CV*    |sv_2cv         |NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
                                |const I32 lref
 Apd    |IO*    |sv_2io         |NN SV *const sv
-#ifdef PERL_IN_SV_C
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 s      |bool   |glob_2number   |NN GV* const gv
 s      |char*  |glob_2pv       |NN GV* const gv|NULLOK STRLEN * const len
 #endif
@@ -969,7 +994,7 @@ Apd |char*  |sv_pvn         |NN SV *sv|NN STRLEN *lp
 Apd    |char*  |sv_pvutf8n     |NN SV *sv|NN STRLEN *lp
 Apd    |char*  |sv_pvbyten     |NN SV *sv|NN STRLEN *lp
 Apd    |I32    |sv_true        |NULLOK SV *const sv
-#if defined (PERL_IN_SV_C)
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 sd     |void   |sv_add_arena   |NN char *const ptr|const U32 size \
                                |const U32 flags
 #endif
@@ -1130,6 +1155,7 @@ Ap        |U8*    |uvchr_to_utf8_flags    |NN U8 *d|UV uv|UV flags
 Apd    |U8*    |uvuni_to_utf8_flags    |NN U8 *d|UV uv|UV flags
 Apd    |char*  |pv_uni_display |NN SV *dsv|NN const U8 *spv|STRLEN len|STRLEN pvlim|UV flags
 ApdR   |char*  |sv_uni_display |NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
+: Used by Data::Alias
 EXp    |void   |vivify_defelem |NN SV* sv
 : Used in pp.c
 p      |void   |vivify_ref     |NN SV* sv|U32 to_what
@@ -1155,7 +1181,7 @@ Ap        |I32    |whichsig       |NN const char* sig
 p      |void   |write_to_stderr|NN const char* message|int msglen
 : Used in op.c
 p      |int    |yyerror        |NN const char *const s
-: Used in perly.y
+: Used in perly.y, and by Data::Alias
 EXp    |int    |yylex
 : Used in perl.c, pp_ctl.c
 p      |int    |yyparse
@@ -1232,6 +1258,7 @@ AmdbR     |char*  |sv_pv          |NN SV *sv
 AmdbR  |char*  |sv_pvutf8      |NN SV *sv
 AmdbR  |char*  |sv_pvbyte      |NN SV *sv
 Amdb   |STRLEN |sv_utf8_upgrade|NN SV *sv
+Amd    |STRLEN |sv_utf8_upgrade_nomg|NN SV *sv
 ApdM   |bool   |sv_utf8_downgrade|NN SV *const sv|const bool fail_ok
 Apd    |void   |sv_utf8_encode |NN SV *const sv
 ApdM   |bool   |sv_utf8_decode |NN SV *const sv
@@ -1446,7 +1473,7 @@ s |void   |Slab_to_rw     |NN void *op
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 s      |void   |find_beginning |NN SV* linestr_sv|NN PerlIO *rsfp
 s      |void   |forbid_setid   |const char flag|const bool suidscript
-s      |void   |incpush        |NULLOK const char *dir|bool addsubdirs|bool addoldvers|bool usesep|bool canrelocate
+s      |void   |incpush        |NULLOK const char *dir|bool addsubdirs|bool addoldvers|bool usesep|bool canrelocate|bool unshift
 s      |void   |init_interp
 s      |void   |init_ids
 s      |void   |init_main_stash
@@ -1458,27 +1485,10 @@ s       |void   |nuke_stacks
 s      |int    |open_script    |NN const char *scriptname|bool dosearch \
                                |NN bool *suidscript|NN PerlIO **rsfpp
 s      |void   |usage          |NN const char *name
-#ifdef DOSUID
-#  ifdef IAMSUID
-so     |void   |validate_suid  |NN const char *validarg \
-                               |int fdscript \
-                               |bool suidscript|NN SV* linestr_sv \
-                               |NN PerlIO *rsfp
-#  else
-so     |void   |validate_suid  |NN const char *validarg \
-                               |NN const char *scriptname|int fdscript \
-                               |NN SV* linestr_sv \
-                               |NN PerlIO *rsfp
-#  endif
-#else
-#  ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
 so     |void   |validate_suid  |NN PerlIO *rsfp
-#  endif
 #endif
 
-#  if defined(IAMSUID)
-s      |int    |fd_on_nosuid_fs|int fd
-#  endif
 s      |void*  |parse_body     |NULLOK char **env|XSINIT_t xsinit
 rs     |void   |run_body       |I32 oldscope
 s      |SV *   |incpush_if_exists|NN SV *dir
@@ -1803,6 +1813,7 @@ s |void   |printbuf       |NN const char *const fmt|NN const char *const s
 
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 s      |bool|isa_lookup        |NN HV *stash|NN const char * const name
+so     |HV *   |get_isa_hash   |NN HV *const stash
 #endif
 
 #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
@@ -1844,7 +1855,8 @@ Apd       |void   |sv_setsv_flags |NN SV *dstr|NULLOK SV *sstr|const I32 flags
 Apd    |void   |sv_catpvn_flags|NN SV *const dstr|NN const char *sstr|const STRLEN len \
                                |const I32 flags
 Apd    |void   |sv_catsv_flags |NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
-Apd    |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
+Apmd   |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
+Apd    |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
 Apd    |char*  |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
 Apd    |void   |sv_copypv      |NN SV *const dsv|NN SV *const ssv
 Ap     |char*  |my_atof2       |NN const char *s|NN NV* value
@@ -1890,7 +1902,7 @@ ApR       |PerlIO *|PerlIO_stderr
 
 : Only used in dump.c
 p      |void   |deb_stack_all
-#ifdef PERL_IN_DEB_C
+#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
 s      |void   |deb_stack_n    |NN SV** stack_base|I32 stack_min \
                                |I32 stack_max|I32 mark_min|I32 mark_max
 #endif
@@ -2045,10 +2057,13 @@ np      |long   |my_htobel      |long n
 np     |long   |my_betohl      |long n
 #endif
 
+: I think that these are only used by the above, which are macros, and in turn
+: currently they are only used in pp_pack.c, but this is in util.c
 np     |void   |my_swabn       |NN void* ptr|int n
 
 Ap     |GV*    |gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
 Ap     |GV*    |gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
+: Only used in pp.c
 dpR    |bool   |is_gv_magical_sv|NN SV *const name_sv|U32 flags
 
 ApR    |bool   |stashpv_hvname_match|NN const COP *c|NN const HV *hv
@@ -2063,6 +2078,7 @@ Ap        |GV*    |gv_SVadd       |NN GV* gv
 #endif
 Apo    |bool   |ckwarn         |U32 w
 Apo    |bool   |ckwarn_d       |U32 w
+: FIXME - exported for ByteLoader - public or private?
 XEopMa |STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
                                |NN const char *const bits|STRLEN size
 
@@ -2149,19 +2165,29 @@ Mp      |int    |madparse
 AMdnoP |int    |Perl_signbit   |NV f
 #endif
 
+: Used by B
 XEMop  |void   |emulate_cop_io |NN const COP *const c|NN SV *const sv
+: Used by SvRX and SvRXOK
 XEMop  |REGEXP *|get_re_arg|NULLOK SV *sv
 
-: Used in HvMROMETA() in gv.c, pp_hot.c, universal.c
-p      |struct mro_meta*       |mro_meta_init  |NN HV* stash
+Aop    |SV*    |mro_get_private_data|NN struct mro_meta *const smeta \
+                                    |NN const struct mro_alg *const which
+Aop    |SV*    |mro_set_private_data|NN struct mro_meta *const smeta \
+                                    |NN const struct mro_alg *const which \
+                                    |NN SV *const data
+Aop    |const struct mro_alg *|mro_get_from_name|NN SV *name
+Aop    |void   |mro_register   |NN const struct mro_alg *mro
+Aop    |void   |mro_set_mro    |NN struct mro_meta *const meta \
+                               |NN SV *const name
+: Used in HvMROMETA(), which is public.
+Xpo    |struct mro_meta*       |mro_meta_init  |NN HV* stash
 #if defined(USE_ITHREADS)
 : Only used in sv.c
 p      |struct mro_meta*       |mro_meta_dup   |NN struct mro_meta* smeta|NN CLONE_PARAMS* param
 #endif
 Apd    |AV*    |mro_get_linear_isa|NN HV* stash
 #if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
-sd     |AV*    |mro_get_linear_isa_c3|NN HV* stash|I32 level
-sd     |AV*    |mro_get_linear_isa_dfs|NN HV* stash|I32 level
+sd     |AV*    |mro_get_linear_isa_dfs|NN HV* stash|U32 level
 #endif
 : Used in hv.c, mg.c, pp.c, sv.c
 pd     |void   |mro_isa_changed_in|NN HV* stash
@@ -2173,10 +2199,9 @@ Apon     |void   |sys_init3      |NN int* argc|NN char*** argv|NN char*** env
 Apon   |void   |sys_term
 ApoM   |const char *|fetch_cop_label|NULLOK struct refcounted_he *const chain \
                |NULLOK STRLEN *len|NULLOK U32 *flags
+: Only used  in op.c
 xpoM   |struct refcounted_he *|store_cop_label \
                |NULLOK struct refcounted_he *const chain|NN const char *label
-: Only used in univeral.c
-poM    |HV *   |get_isa_hash   |NN HV *const stash
 
 END_EXTERN_C
 /*