:
: The 'name' in any such line must not be the same as any in this file (i.e.,
: no redundant definitions), and one of the flags on the apidoc lines must be
-: 'm', indicating it is a macro (or similar), and not a function.
+: 'm' or 'y', indicating it is not a function.
:
: All but the name field of an apidoc_item line are optional, and if empty,
: inherits from the controlling plain apidoc line. The flags field is
: into "#if defined(PERL_CORE) || defined(PERL_EXT)"
:
: To be usable from dynamically loaded extensions, either:
-: 1) it must be static to its containing file ("i" or "s" flag); or
+: 1) it must be static to its containing file ("i" or "S" flag); or
: 2) be combined with the "X" flag.
:
: e Not exported
: characters, and a warning is raised otherwise. This flag suppresses
: that warning, so that weird things can be documented
:
-: n Has no arguments. (used only in =for apidoc entries)
+: n Has no arguments. Perhaps a better name would have been '0'. (used only
+: in =for apidoc entries)
+:
: The macro (it can't be a function) is used without any parameters nor
: empty parentheses.
:
: any doc entry is marked that it may change. Also used to suppress
: making a perlapi doc entry if it would just be a placeholder.
:
+: y Typedef. The element names a type rather than being a macro
+:
: In this file, pointer parameters that must not be passed NULLs should be
: prefixed with NN.
:
EXp |void |av_reify |NN AV *av
ApdR |SV* |av_shift |NN AV *av
Apd |SV** |av_store |NN AV *av|SSize_t key|NULLOK SV *val
-AMdRp |SSize_t|av_top_index |NN AV *av
+AmdR |SSize_t|av_top_index |NN AV *av
AidRp |Size_t |av_count |NN AV *av
AmdR |SSize_t|av_tindex |NN AV *av
Apd |void |av_undef |NN AV *av
|NULLOK const PERL_CONTEXT **dbcxp
: Used in several source files
pR |bool |cando |Mode_t mode|bool effective|NN const Stat_t* statbufp
-ApRT |U32 |cast_ulong |NV f
-ApRT |I32 |cast_i32 |NV f
-ApRT |IV |cast_iv |NV f
-ApRT |UV |cast_uv |NV f
+CpRT |U32 |cast_ulong |NV f
+CpRT |I32 |cast_i32 |NV f
+CpRT |IV |cast_iv |NV f
+CpRT |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
p |void |cv_undef_flags |NN CV* cv|U32 flags
pd |void |cv_forget_slab |NULLOK CV *cv
Ap |void |cx_dump |NN PERL_CONTEXT* cx
-AiMp |GV * |CvGV |NN CV *sv
+AiMpd |GV * |CvGV |NN CV *sv
AiMTp |I32 * |CvDEPTH |NN const CV * const sv
Aphd |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasv
Ap |void |filter_del |NN filter_t funcp
Ap |I32 |debstack
Ap |I32 |debstackptrs
pR |SV * |defelem_target |NN SV *sv|NULLOK MAGIC *mg
-ATp |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \
- |NN const char* fromend|int delim|NN I32* retlen
-Tpd |char* |delimcpy_no_escape|NN char* to|NN const char* toend \
+ATpd |char* |delimcpy|NN char* to|NN const char* to_end \
+ |NN const char* from|NN const char* from_end \
+ |const int delim|NN I32* retlen
+EXTpd |char* |delimcpy_no_escape|NN char* to|NN const char* to_end \
|NN const char* from \
- |NN const char* fromend|int delim \
- |NN I32* retlen
+ |NN const char* from_end \
+ |const int delim|NN I32* retlen
: Used in op.c, perl.c
px |void |delete_eval_scope
Aprd |OP* |die_sv |NN SV *baseex
|U32 flags
Apx |GV* |gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
|const STRLEN len|U32 flags
-Ap |GV* |gv_fetchpv |NN const char *nambeg|I32 flags|const svtype sv_type
+Adp |GV* |gv_fetchpv |NN const char *nambeg|I32 flags|const svtype sv_type
AbpD |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
pe |GV * |gv_override |NN const char * const name \
|const STRLEN len
Xxpd |void |gv_try_downgrade|NN GV* gv
-p |void |gv_setref |NN SV *const dstr|NN SV *const sstr
+p |void |gv_setref |NN SV *const dsv|NN SV *const ssv
Apd |HV* |gv_stashpv |NN const char* name|I32 flags
Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags
#if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C)
#endif
p |OP* |list |NULLOK OP* o
AFpd |void |load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
-Ap |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
+Adp |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
: Used in perly.y
p |OP* |localize |NN OP *o|I32 lex
ApdR |I32 |looks_like_number|NN SV *const sv
p |int |magic_setisa |NN SV* sv|NN MAGIC* mg
p |int |magic_setlvref |NN SV* sv|NN MAGIC* mg
p |int |magic_setmglob |NN SV* sv|NN MAGIC* mg
+p |int |magic_freemglob|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
p |int |magic_setpos |NN SV* sv|NN MAGIC* mg
p |int |magic_setuvar |NN SV* sv|NN MAGIC* mg
p |int |magic_setvec |NN SV* sv|NN MAGIC* mg
p |int |magic_setutf8 |NN SV* sv|NN MAGIC* mg
+p |int |magic_freeutf8 |NN SV* sv|NN MAGIC* mg
p |int |magic_set_all_env|NN SV* sv|NN MAGIC* mg
p |U32 |magic_sizepack |NN SV* sv|NN MAGIC* mg
p |int |magic_wipepack |NN SV* sv|NN MAGIC* mg
Ap |I32 * |markstack_grow
#if defined(USE_LOCALE_COLLATE)
p |int |magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
+p |int |magic_freecollxfrm|NN SV* sv|NN MAGIC* mg
pbD |char* |mem_collxfrm |NN const char* input_string|STRLEN len|NN STRLEN* xlen
: Defined in locale.c, used only in sv.c
# if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C)
ApdT |void |mg_magical |NN SV* sv
Apd |int |mg_set |NN SV* sv
Ap |I32 |mg_size |NN SV* sv
-ApT |void |mini_mktime |NN struct tm *ptm
+AdpT |void |mini_mktime |NN struct tm *ptm
Axmd |OP* |op_lvalue |NULLOK OP* o|I32 type
poX |OP* |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
pd |void |finalize_optree |NN OP* o
: Used in op.c and pp_sys.c
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
Ap |const char* |moreswitches |NN const char* s
-Ap |NV |my_atof |NN const char *s
+Apd |NV |my_atof |NN const char *s
ATdpR |NV |my_strtod |NN const char * const s|NULLOK char ** e
Aprd |void |my_exit |U32 status
Apr |void |my_failure_exit
ApdR |OP* |newRANGE |I32 flags|NN OP* left|NN OP* right
ApdR |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
ApdR |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o
-ApbM |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
+AdpbM |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
|NULLOK OP* block
pd |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \
|NN XSUBADDR_t subaddr\
Afpd |void |sv_catpvf |NN SV *const sv|NN const char *const pat|...
Apd |void |sv_vcatpvf |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
-Apd |void |sv_catpv |NN SV *const sv|NULLOK const char* ptr
+Apd |void |sv_catpv |NN SV *const dsv|NULLOK const char* sstr
ApMdb |void |sv_catpvn |NN SV *dsv|NN const char *sstr|STRLEN len
-ApMdb |void |sv_catsv |NN SV *dstr|NULLOK SV *sstr
+ApMdb |void |sv_catsv |NN SV *dsv|NULLOK SV *sstr
Apd |void |sv_chop |NN SV *const sv|NULLOK const char *const ptr
: Used only in perl.c
pd |I32 |sv_clean_all
Apd |void |sv_setpvn |NN SV *const sv|NULLOK const char *const ptr|const STRLEN len
Apd |char *|sv_setpv_bufsize|NN SV *const sv|const STRLEN cur|const STRLEN len
Xp |void |sv_sethek |NN SV *const sv|NULLOK const HEK *const hek
-ApMdb |void |sv_setsv |NN SV *dstr|NULLOK SV *sstr
+ApMdb |void |sv_setsv |NN SV *dsv|NULLOK SV *ssv
CpMdb |void |sv_taint |NN SV* sv
CpdR |bool |sv_tainted |NN SV *const sv
Apd |int |sv_unmagic |NN SV *const sv|const int type
Apd |void |sv_vsetpvfn |NN SV *const sv|NN const char *const pat|const STRLEN patlen \
|NULLOK va_list *const args|NULLOK SV **const svargs \
|const Size_t sv_count|NULLOK bool *const maybe_tainted
-ApR |NV |str_to_version |NN SV *sv
+CpR |NV |str_to_version |NN SV *sv
Ap |void |regdump |NN const regexp* r
CiTop |struct regexp *|ReANY |NN const REGEXP * const re
Apdh |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
Afpd |void |sv_catpvf_mg |NN SV *const sv|NN const char *const pat|...
Apd |void |sv_vcatpvf_mg |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
-Apd |void |sv_catpv_mg |NN SV *const sv|NULLOK const char *const ptr
-ApdbM |void |sv_catpvn_mg |NN SV *sv|NN const char *ptr|STRLEN len
-ApdbM |void |sv_catsv_mg |NN SV *dsv|NULLOK SV *ssv
+Apd |void |sv_catpv_mg |NN SV *const dsv|NULLOK const char *const sstr
+ApdbM |void |sv_catpvn_mg |NN SV *dsv|NN const char *sstr|STRLEN len
+ApdbM |void |sv_catsv_mg |NN SV *dsv|NULLOK SV *sstr
Afpd |void |sv_setpvf_mg |NN SV *const sv|NN const char *const pat|...
Apd |void |sv_vsetpvf_mg |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
Apd |void |sv_setnv_mg |NN SV *const sv|const NV num
Apd |void |sv_setpv_mg |NN SV *const sv|NULLOK const char *const ptr
Apd |void |sv_setpvn_mg |NN SV *const sv|NN const char *const ptr|const STRLEN len
-Apd |void |sv_setsv_mg |NN SV *const dstr|NULLOK SV *const sstr
+Apd |void |sv_setsv_mg |NN SV *const dsv|NULLOK SV *const ssv
ApdbM |void |sv_usepvn_mg |NN SV *sv|NULLOK char *ptr|STRLEN len
ApR |MGVTBL*|get_vtbl |int vtbl_id
Apd |char* |pv_display |NN SV *dsv|NN const char *pv|STRLEN cur|STRLEN len \
: This is indirectly referenced by globals.c. This is somewhat annoying.
p |int |magic_killbackrefs|NN SV *sv|NN MAGIC *mg
Ap |OP* |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-Am |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
+Adm |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
pdX |CV* |newATTRSUB_x |I32 floor|NULLOK OP *o|NULLOK OP *proto \
|NULLOK OP *attrs|NULLOK OP *block \
|bool o_is_gv
#if defined(PERL_IN_SV_C)
S |SV ** |sv_dup_inc_multiple|NN SV *const *source|NN SV **dest \
|SSize_t items|NN CLONE_PARAMS *const param
-SR |SV* |sv_dup_common |NN const SV *const sstr \
+SR |SV* |sv_dup_common |NN const SV *const ssv \
|NN CLONE_PARAMS *const param
#endif
-ApR |SV* |sv_dup |NULLOK const SV *const sstr|NN CLONE_PARAMS *const param
-ApR |SV* |sv_dup_inc |NULLOK const SV *const sstr \
+ApR |SV* |sv_dup |NULLOK const SV *const ssv|NN CLONE_PARAMS *const param
+ApR |SV* |sv_dup_inc |NULLOK const SV *const ssv \
|NN CLONE_PARAMS *const param
-Ap |void |rvpv_dup |NN SV *const dstr|NN const SV *const sstr|NN CLONE_PARAMS *const param
+Ap |void |rvpv_dup |NN SV *const dsv|NN const SV *const ssv|NN CLONE_PARAMS *const param
Ap |yy_parser*|parser_dup |NULLOK const yy_parser *const proto|NN CLONE_PARAMS *const param
#endif
ApR |PTR_TBL_t*|ptr_table_new
ST |char * |F0convert |NV nv|NN char *const endbuf|NN STRLEN *const len
S |SV * |more_sv
S |bool |sv_2iuv_common |NN SV *const sv
-S |void |glob_assign_glob|NN SV *const dstr|NN SV *const sstr \
+S |void |glob_assign_glob|NN SV *const dsv|NN SV *const ssv \
|const int dtype
SRT |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
S |void |anonymise_cv_maybe |NN GV *gv|NN CV *cv
EXiTp |void |append_utf8_from_native_byte|const U8 byte|NN U8** dest
Apd |void |sv_set_undef |NN SV *sv
-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 \
+Apd |void |sv_setsv_flags |NN SV *dsv|NULLOK SV *ssv|const I32 flags
+Apd |void |sv_catpvn_flags|NN SV *const dsv|NN const char *sstr|const STRLEN len \
|const I32 flags
-Apd |void |sv_catpv_flags |NN SV *dstr|NN const char *sstr \
+Apd |void |sv_catpv_flags |NN SV *dsv|NN const char *sstr \
|const I32 flags
-Apd |void |sv_catsv_flags |NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
+Apd |void |sv_catsv_flags |NN SV *const dsv|NULLOK SV *const sstr|const I32 flags
Amd |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
Adp |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 U32 flags
ApT |int |my_dirfd |NULLOK DIR* dir
#ifdef PERL_ANY_COW
: Used in regexec.c
-pxXE |SV* |sv_setsv_cow |NULLOK SV* dstr|NN SV* sstr
+pxXE |SV* |sv_setsv_cow |NULLOK SV* dsv|NN SV* ssv
#endif
Aop |const char *|PerlIO_context_layers|NULLOK const char *mode
#endif
#ifdef DEBUGGING
Cpd |SV* |pad_sv |PADOFFSET po
-Apd |void |pad_setsv |PADOFFSET po|NN SV* sv
+Cpd |void |pad_setsv |PADOFFSET po|NN SV* sv
#endif
pd |void |pad_block_start|int full
Apd |U32 |intro_my
|NN const char **desc_p
#endif
-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
+Adp |GV* |gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
+Adp |GV* |gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
: Used in sv.c