: 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
: 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.
:
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
#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
Ap |SV* |vmess |NN const char* pat|NULLOK va_list* args
p |void |qerror |NN SV* err
Apd |void |sortsv |NN SV** array|size_t num_elts|SVCOMPARE_t cmp
+Apd |void |sortsv_flags |NN SV** array|size_t num_elts|SVCOMPARE_t cmp|U32 flags
Apd |int |mg_clear |NN SV* sv
Apd |int |mg_copy |NN SV* sv|NN SV* nsv|NULLOK const char* key|I32 klen
pd |void |mg_localize |NN SV* sv|NN SV* nsv
Ap |void |newFORM |I32 floor|NULLOK OP* o|NULLOK OP* block
Apa |OP* |newFOROP |I32 flags|NULLOK char* label|line_t forline \
|NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
+Apa |OP* |newGIVENOP |NN OP* cond|NN OP* block|PADOFFSET defsv_off
Apa |OP* |newLOGOP |I32 optype|I32 flags|NN OP* left|NN OP* right
Apa |OP* |newLOOPEX |I32 type|NN OP* label
Apa |OP* |newLOOPOP |I32 flags|I32 debuggable|NULLOK OP* expr|NULLOK OP* block
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
Apa |OP* |newWHILEOP |I32 flags|I32 debuggable|NULLOK LOOP* loop \
|I32 whileline|NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
|I32 has_my
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
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
pR |OP* |ck_rfun |NN OP *o
pR |OP* |ck_rvconst |NN OP *o
pR |OP* |ck_sassign |NN OP *o
+pR |OP* |ck_say |NN OP *o
pR |OP* |ck_select |NN OP *o
pR |OP* |ck_shift |NN OP *o
pR |OP* |ck_sort |NN OP *o
sR |OP* |no_fh_allowed|NN OP *o
sR |OP* |too_few_arguments|NN OP *o|NN const char* name
sR |OP* |too_many_arguments|NN OP *o|NN const char* name
+s |bool |looks_like_bool|NN OP* o
+s |OP* |newGIVWHENOP |NULLOK OP* cond|NN OP *block \
+ |I32 enter_opcode|I32 leave_opcode \
+ |PADOFFSET entertarg
+s |OP* |ref_array_or_hash|NULLOK OP* cond
#endif
#if defined(PL_OP_SLAB_ALLOC)
Apa |void* |Slab_Alloc |int m|size_t sz
sR |OP* |doparseform |NN SV *sv
snR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
sR |I32 |dopoptoeval |I32 startingblock
+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
sR |OP* |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 |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 |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
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
|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
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
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
sR |char* |skipspace |NN char *s
sR |char* |swallow_bom |NN U8 *s
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
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)
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
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
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: