+: BEGIN {die "You meant to run embed.pl"} # Stop early if fed to perl.
+:
: Lines are of the form:
: flags|return_type|function_name|arg1|arg2|...|argN
:
: which is ambiguous.
:
: Individual flags may be separated by whitespace.
-:
-: New global functions should be added at the end for binary compatibility
-: in some configurations.
START_EXTERN_C
ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
Apd |void |av_unshift |NN AV* ar|I32 num
Apo |SV** |av_arylen_p |NN AV* av
+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
pR |OP* |bind_match |I32 type|NN OP* left|NN OP* pat
pR |OP* |block_end |I32 floor|NULLOK OP* seq
ApR |I32 |block_gimme
p |int |magic_clearenv |NN SV* sv|NN MAGIC* mg
p |int |magic_clear_all_env|NN SV* sv|NN MAGIC* mg
dp |int |magic_clearhint|NN SV* sv|NN MAGIC* mg
+p |int |magic_clearisa |NN SV* sv|NN MAGIC* mg
p |int |magic_clearpack|NN SV* sv|NN MAGIC* mg
p |int |magic_clearsig |NN SV* sv|NN MAGIC* mg
p |int |magic_existspack|NN SV* sv|NN const MAGIC* mg
-p |int |magic_freeregexp|NN SV* sv|NN MAGIC* mg
p |int |magic_freeovrld|NN SV* sv|NN MAGIC* mg
p |int |magic_get |NN SV* sv|NN MAGIC* mg
p |int |magic_getarylen|NN SV* sv|NN const MAGIC* mg
p |int |magic_setamagic|NN SV* sv|NN MAGIC* mg
p |int |magic_setarylen|NN SV* sv|NN MAGIC* mg
p |int |magic_freearylen_p|NN SV* sv|NN MAGIC* mg
-p |int |magic_setbm |NN SV* sv|NN MAGIC* mg
p |int |magic_setdbline|NN SV* sv|NN MAGIC* mg
p |int |magic_setdefelem|NN SV* sv|NN MAGIC* mg
p |int |magic_setenv |NN SV* sv|NN MAGIC* mg
-p |int |magic_setfm |NN SV* sv|NN MAGIC* mg
dp |int |magic_sethint |NN SV* sv|NN MAGIC* mg
p |int |magic_setisa |NN SV* sv|NN MAGIC* mg
-p |int |magic_setglob |NN SV* sv|NN MAGIC* mg
p |int |magic_setmglob |NN SV* sv|NN MAGIC* mg
p |int |magic_setnkeys |NN SV* sv|NN MAGIC* mg
p |int |magic_setpack |NN SV* sv|NN MAGIC* mg
Ap |void |mini_mktime |NN struct tm *pm
EXp |OP* |mod |NULLOK OP* o|I32 type
p |int |mode_from_discipline|NULLOK SV* discp
-Ap |char* |moreswitches |NN char* s
+Ap |const char* |moreswitches |NN const char* s
p |OP* |my |NN OP* o
Ap |NV |my_atof |NN const char *s
#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
#endif
Ap |I32 |my_pclose |NULLOK PerlIO* ptr
Ap |PerlIO*|my_popen |NN const char* cmd|NN const char* mode
-Ap |PerlIO*|my_popen_list |NN char* mode|int n|NN SV ** args
+Ap |PerlIO*|my_popen_list |NN const char* mode|int n|NN SV ** args
Ap |void |my_setenv |NULLOK const char* nam|NULLOK const char* val
Ap |I32 |my_stat
Ap |char * |my_strftime |NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
|NN const char *const filename \
|NULLOK const char *const proto|U32 flags
Apd |CV* |newXS |NULLOK const char* name|NN XSUBADDR_t f|NN const char* filename
-Apda |AV* |newAV
+AmdbR |AV* |newAV
Apa |OP* |newAVREF |NN OP* o
Apa |OP* |newBINOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
Apa |OP* |newCVREF |I32 flags|NULLOK OP* o
Apa |GV* |newGVgen |NN const char* pack
Apa |OP* |newGVREF |I32 type|NULLOK OP* o
ApaR |OP* |newHVREF |NN OP* o
-ApdaR |HV* |newHV
+AmdbR |HV* |newHV
ApaR |HV* |newHVhv |NULLOK HV* hv
Apa |IO* |newIO
Apa |OP* |newLISTOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
Apda |SV* |newSVnv |NV n
Apda |SV* |newSVpv |NULLOK const char* s|STRLEN len
Apda |SV* |newSVpvn |NULLOK const char* s|STRLEN len
+Apda |SV* |newSVpvn_flags |NULLOK const char* s|STRLEN len|U32 flags
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|...
Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
|NN char* strend|NN char* strbeg|I32 minend \
|NN SV* screamer|U32 nosave
-Ap |void |pregfree |NULLOK struct regexp* r
-EXp |struct regexp* |reg_temp_copy |NN struct regexp* r
+Ap |void |pregfree |NULLOK REGEXP* r
+Ap |void |pregfree2 |NN REGEXP* prog
+EXp |REGEXP*|reg_temp_copy |NN REGEXP* r
Ap |void |regfree_internal|NULLOK REGEXP * const r
-Ap |char * |reg_stringify |NN MAGIC *mg|NULLOK STRLEN *lp|NULLOK U32 *flags|NULLOK I32 *haseval
#if defined(USE_ITHREADS)
Ap |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
#endif
Ap |REGEXP*|pregcomp |NN const SV * const pattern|const U32 flags
-Ap |REGEXP*|re_compile |NN const SV * const pattern|const U32 flags
+Ap |REGEXP*|re_compile |NN const SV * const pattern|U32 flags
Ap |char* |re_intuit_start|NN REGEXP * const rx|NULLOK SV* sv|NN char* strpos \
|NN char* strend|const U32 flags \
|NULLOK re_scream_pos_data *data
Ap |void |save_pptr |NN char** pptr
Ap |void |save_vptr |NN void* pptr
Ap |void |save_re_context
-Ap |void |save_padsv |PADOFFSET off
+Ap |void |save_padsv_and_mortalize|PADOFFSET off
Ap |void |save_sptr |NN SV** sptr
Ap |SV* |save_svref |NN SV** sptr
p |OP* |sawparens |NULLOK OP* o
Apd |IV |sv_2iv_flags |NN SV* sv|I32 flags
Apd |SV* |sv_2mortal |NULLOK SV* sv
Apd |NV |sv_2nv |NN SV* sv
+pMd |SV* |sv_2num |NN SV* sv
Amb |char* |sv_2pv |NN SV* sv|NULLOK STRLEN* lp
Apd |char* |sv_2pv_flags |NN SV* sv|NULLOK STRLEN* lp|I32 flags
Apd |char* |sv_2pvutf8 |NN SV* sv|NULLOK STRLEN* lp
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 |void |re_dup_guts |NN const REGEXP *sstr|NN REGEXP *dstr \
+ |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
Adp |void |sv_nosharing |NULLOK SV *sv
Adpbm |void |sv_nolocking |NULLOK SV *sv
+Adp |bool |sv_destroyable |NULLOK SV *sv
#ifdef NO_MATHOMS
Adpbm |void |sv_nounlocking |NULLOK SV *sv
#else
#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
s |void |gv_init_sv |NN GV *gv|I32 sv_type
+s |HV* |gv_get_super_pkg|NN const char* name|I32 namelen
s |HV* |require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
|NN const char *methpv|const U32 flags
#endif
pR |OP* |ck_svconst |NN OP *o
pR |OP* |ck_trunc |NN OP *o
pR |OP* |ck_unpack |NN OP *o
+pR |OP* |ck_each |NN OP *o
sRn |bool |is_handle_constructor|NN const OP *o|I32 numargs
sR |I32 |is_list_assignment|NULLOK const OP *o
# ifdef USE_ITHREADS
#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 int suidscript
+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 |init_interp
s |void |init_ids
rs |void |my_exit_jump
s |void |nuke_stacks
s |int |open_script |NN const char *scriptname|bool dosearch \
- |NN SV *sv|NN int *suidscript|NN PerlIO **rsfpp
+ |NN bool *suidscript|NN PerlIO **rsfpp
s |void |usage |NN const char *name
-s |void |validate_suid |NN const char *validarg \
+#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 \
- |int suidscript|NN SV* linestr_sv \
+ |NN SV* linestr_sv \
|NN PerlIO *rsfp
+# endif
+#else
+# 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
#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
sR |OP* |docatch |NULLOK OP *o
-s |void |docatch_body
sR |OP* |dofindlabel |NN OP *o|NN const char *label|NN OP **opstack|NN OP **oplimit
sR |OP* |doparseform |NN SV *sv
snR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
sR |I32 |dopoptogiven |I32 startingblock
sR |I32 |dopoptolabel |NN const char *label
sR |I32 |dopoptoloop |I32 startingblock
-sR |I32 |dopoptosub |I32 startingblock
sR |I32 |dopoptosub_at |NN const PERL_CONTEXT* cxstk|I32 startingblock
sR |I32 |dopoptowhen |I32 startingblock
s |void |save_lines |NULLOK AV *array|NN SV *sv
s |bool |doeval |int gimme|NULLOK OP** startop|NULLOK CV* outside|U32 seq
-sR |PerlIO *|check_type_and_open|NN const char *name|NN const char *mode
-sR |PerlIO *|doopen_pm |NN const char *name|NN const char *mode
+sR |PerlIO *|check_type_and_open|NN const char *name
+#ifndef PERL_DISABLE_PMC
+sR |PerlIO *|doopen_pm |NN const char *name|const STRLEN namelen
+#endif
sRn |bool |path_is_absolute|NN const char *name
sR |I32 |run_user_filter|int idx|NN SV *buf_sv|int maxlen
-sR |PMOP* |make_matcher |NN regexp* re
+sR |PMOP* |make_matcher |NN REGEXP* re
sR |bool |matcher_matches_sv|NN PMOP* matcher|NN SV* sv
s |void |destroy_matcher|NN PMOP* matcher
s |OP* |do_smartmatch |NULLOK HV* seen_this|NULLOK HV* seen_other
# ifdef DEBUGGING
Es |void |dump_exec_pos |NN const char *locinput|NN const regnode *scan|NN const char *loc_regeol\
|NN const char *loc_bostr|NN const char *loc_reg_starttry|const bool do_utf8
-Es |void |debug_start_match|NN const regexp *prog|const bool do_utf8|NN const char *start|NN const char *end|NN const char *blurb
+Es |void |debug_start_match|NN const REGEXP *prog|const bool do_utf8\
+ |NN const char *start|NN const char *end\
+ |NN const char *blurb
# endif
#endif
s |void |del_sv |NN SV *p
# endif
# if !defined(NV_PRESERVES_UV)
+# ifdef DEBUGGING
s |int |sv_2iuv_non_preserve |NN SV *sv|I32 numtype
+# else
+s |int |sv_2iuv_non_preserve |NN SV *sv
+# endif
# endif
sR |I32 |expect_number |NN char** pattern
#
s |I32 |lop |I32 f|int x|NN char *s
rs |void |missingterm |NULLOK char *s
s |void |no_op |NN const char *what|NULLOK char *s
-s |void |set_csh
sR |I32 |sublex_done
sR |I32 |sublex_push
sR |I32 |sublex_start
sR |char * |filter_gets |NN SV *sv|NN PerlIO *fp|STRLEN append
-sR |HV * |find_in_my_stash|NN const char *pkgname|I32 len
+sR |HV * |find_in_my_stash|NN const char *pkgname|STRLEN 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
+so |SV* |new_constant |NULLOK const char *s|STRLEN len \
+ |NN const char *key|STRLEN keylen|NN SV *sv \
+ |NULLOK SV *pv|NULLOK const char *type \
+ |STRLEN typelen
s |int |ao |int toketype
-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
p |void |boot_core_mro
Apon |void |sys_init |NN int* argc|NN char*** argv
Apon |void |sys_init3 |NN int* argc|NN char*** argv|NN char*** env
-Apo |void |sys_term
+Apon |void |sys_term
END_EXTERN_C