: b binary backward compatibility; function is a macro
: but has also Perl_ implementation (which is exported)
: U suppress usage example in autogenerated documentation
-: a allocates memory a la malloc/calloc
-: R Return value must not be ignored. All "a" functions
-: get this automatically.
+: a allocates memory a la malloc/calloc. Is also "R".
+: 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
:
: Pointer parameters that must not be passed NULLs should be prefixed with NN.
:
+: Pointer parameters that may be NULL should be prefixed with NULLOK. This has
+: no effect on output yet. It's a notation for the maintainers to know "I have
+: defined whether NULL is OK or not" rather than having neither NULL or NULLOK,
+: which is ambiguous.
+:
: Individual flags may be separated by whitespace.
:
: New global functions should be added at the end for binary compatibility
Anod |int |perl_run |NN PerlInterpreter* interp
Anod |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \
|int argc|char** argv|char** env
-Anp |bool |doing_taint |int argc|char** argv|char** env
+AnpR |bool |doing_taint |int argc|char** argv|char** env
#if defined(USE_ITHREADS)
Anod |PerlInterpreter*|perl_clone|PerlInterpreter* interp|UV flags
# if defined(PERL_IMPLICIT_SYS)
Aanop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes
Anop |Free_t |mfree |Malloc_t where
#if defined(MYMALLOC)
-np |MEM_SIZE|malloced_size |void *p
+npR |MEM_SIZE|malloced_size |void *p
#endif
Anp |void* |get_context
p |I32 |apply |I32 type|SV** mark|SV** sp
ApM |void |apply_attrs_string|const char *stashpv|CV *cv|const char *attrstr|STRLEN len
Apd |void |av_clear |AV* ar
-ApdR |SV* |av_delete |AV* ar|I32 key|I32 flags
+Apd |SV* |av_delete |AV* ar|I32 key|I32 flags
ApdR |bool |av_exists |AV* ar|I32 key
Apd |void |av_extend |NN AV* ar|I32 key
pR |AV* |av_fake |I32 size|NN SV** svp
Apd |void |av_fill |AV* ar|I32 fill
ApdR |I32 |av_len |const AV* ar
ApdR |AV* |av_make |I32 size|NN SV** svp
-ApdR |SV* |av_pop |AV* ar
+Apd |SV* |av_pop |AV* ar
Apd |void |av_push |AV* ar|SV* val
p |void |av_reify |AV* ar
ApdR |SV* |av_shift |AV* ar
Apd |SV** |av_store |AV* ar|I32 key|SV* val
Apd |void |av_undef |AV* ar
Apd |void |av_unshift |AV* ar|I32 num
+Apo |SV** |av_arylen_p |AV* av
pR |OP* |bind_match |I32 type|NN OP* left|NN OP* pat
pR |OP* |block_end |I32 floor|OP* seq
ApR |I32 |block_gimme
p |void |boot_core_PerlIO
Ap |void |call_list |I32 oldscope|NN AV* av_list
pR |bool |cando |Mode_t mode|Uid_t effective|NN const Stat_t* statbufp
-Ap |U32 |cast_ulong |NV f
-Ap |I32 |cast_i32 |NV f
-Ap |IV |cast_iv |NV f
-Ap |UV |cast_uv |NV f
+ApR |U32 |cast_ulong |NV f
+ApR |I32 |cast_i32 |NV f
+ApR |IV |cast_iv |NV f
+ApR |UV |cast_uv |NV f
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-Ap |I32 |my_chsize |int fd|Off_t length
+ApR |I32 |my_chsize |int fd|Off_t length
#endif
-p |OP* |convert |I32 optype|I32 flags|OP* o
+pR |OP* |convert |I32 optype|I32 flags|OP* o
Afprd |void |croak |const char* pat|...
Apr |void |vcroak |const char* pat|va_list* args
#if defined(PERL_IMPLICIT_CONTEXT)
p |SV* |op_const_sv |const OP* o|CV* cv
Apd |void |cv_undef |CV* cv
Ap |void |cx_dump |PERL_CONTEXT* cs
-Ap |SV* |filter_add |filter_t funcp|SV* datasv
+Ap |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasv
Ap |void |filter_del |filter_t funcp
Ap |I32 |filter_read |int idx|SV* buffer|int maxlen
ApPR |char** |get_op_descs
Ap |void |free_tmps
p |OP* |gen_constant_list|OP* o
#if !defined(HAS_GETENV_LEN)
-p |char* |getenv_len |const char* key|unsigned long *len
+p |char* |getenv_len |NN const char* key|NN unsigned long *len
#endif
Ap |void |gp_free |GV* gv
Ap |GP* |gp_ref |GP* gp
-Ap |GV* |gv_AVadd |GV* gv
-Ap |GV* |gv_HVadd |GV* gv
-Ap |GV* |gv_IOadd |GV* gv
-Ap |GV* |gv_autoload4 |HV* stash|const char* name|STRLEN len \
- |I32 method
+Ap |GV* |gv_AVadd |NN GV* gv
+Ap |GV* |gv_HVadd |NN GV* gv
+Ap |GV* |gv_IOadd |NN GV* gv
+ApR |GV* |gv_autoload4 |HV* stash|NN const char* name|STRLEN len|I32 method
Ap |void |gv_check |HV* stash
Ap |void |gv_efullname |SV* sv|const GV* gv
Apmb |void |gv_efullname3 |SV* sv|const GV* gv|const char* prefix
Ap |void |gv_efullname4 |SV* sv|const GV* gv|const char* prefix|bool keepmain
-Ap |GV* |gv_fetchfile |const char* name
+Ap |GV* |gv_fetchfile |NN const char* name
Apd |GV* |gv_fetchmeth |HV* stash|const char* name|STRLEN len \
|I32 level
Apd |GV* |gv_fetchmeth_autoload |HV* stash|const char* name|STRLEN len \
Ap |void |gv_fullname |SV* sv|const GV* gv
Apmb |void |gv_fullname3 |SV* sv|const GV* gv|const char* prefix
Ap |void |gv_fullname4 |SV* sv|const GV* gv|const char* prefix|bool keepmain
-Ap |void |gv_init |GV* gv|HV* stash|const char* name \
- |STRLEN len|int multi
+Ap |void |gv_init |NN GV* gv|HV* stash|NN const char* name|STRLEN len|int multi
Apd |HV* |gv_stashpv |const char* name|I32 create
Apd |HV* |gv_stashpvn |const char* name|U32 namelen|I32 create
Apd |HV* |gv_stashsv |SV* sv|I32 create
Ap |void |hv_delayfree_ent|HV* hv|HE* entry
Apd |SV* |hv_delete |HV* tb|const char* key|I32 klen|I32 flags
Apd |SV* |hv_delete_ent |HV* tb|SV* key|I32 flags|U32 hash
-Apd |bool |hv_exists |HV* tb|const char* key|I32 klen
-Apd |bool |hv_exists_ent |HV* tb|SV* key|U32 hash
+ApdR |bool |hv_exists |HV* tb|const char* key|I32 klen
+ApdR |bool |hv_exists_ent |HV* tb|SV* key|U32 hash
Apd |SV** |hv_fetch |HV* tb|const char* key|I32 klen|I32 lval
Apd |HE* |hv_fetch_ent |HV* tb|SV* key|I32 lval|U32 hash
Ap |void |hv_free_ent |NN HV* hv|HE* entry
Ap |void |init_stacks
Ap |void |init_tm |struct tm *ptm
pd |U32 |intro_my
-ApP |char* |instr |NN const char* big|NN const char* little
-p |bool |io_close |IO* io|bool not_implicit
-p |OP* |invert |OP* cmd
-dpR |bool |is_gv_magical |const char *name|STRLEN len|U32 flags
+ApPR |char* |instr |NN const char* big|NN const char* little
+pR |bool |io_close |NN IO* io|bool not_implicit
+pR |OP* |invert |OP* cmd
+dpR |bool |is_gv_magical |NN const char *name|STRLEN len|U32 flags
ApR |I32 |is_lvalue_sub
ApPR |U32 |to_uni_upper_lc|U32 c
ApPR |U32 |to_uni_title_lc|U32 c
ApPR |bool |is_uni_xdigit_lc|UV c
Apd |STRLEN |is_utf8_char |NN const U8 *p
Apd |bool |is_utf8_string |NN const U8 *s|STRLEN len
-Apd |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|NN const U8 **p
-Ap |bool |is_utf8_alnum |NN const U8 *p
-Ap |bool |is_utf8_alnumc |NN const U8 *p
-Ap |bool |is_utf8_idfirst|NN const U8 *p
-Ap |bool |is_utf8_idcont |NN const U8 *p
-Ap |bool |is_utf8_alpha |NN const U8 *p
-Ap |bool |is_utf8_ascii |NN const U8 *p
-Ap |bool |is_utf8_space |NN const U8 *p
-Ap |bool |is_utf8_cntrl |NN const U8 *p
-Ap |bool |is_utf8_digit |NN const U8 *p
-Ap |bool |is_utf8_graph |NN const U8 *p
-Ap |bool |is_utf8_upper |NN const U8 *p
-Ap |bool |is_utf8_lower |NN const U8 *p
-Ap |bool |is_utf8_print |NN const U8 *p
-Ap |bool |is_utf8_punct |NN const U8 *p
-Ap |bool |is_utf8_xdigit |NN const U8 *p
-Ap |bool |is_utf8_mark |NN const U8 *p
+Apd |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|const U8 **p
+Apd |bool |is_utf8_string_loclen|NN const U8 *s|STRLEN len|const U8 **ep|STRLEN *el
+ApR |bool |is_utf8_alnum |NN const U8 *p
+ApR |bool |is_utf8_alnumc |NN const U8 *p
+ApR |bool |is_utf8_idfirst|NN const U8 *p
+ApR |bool |is_utf8_idcont |NN const U8 *p
+ApR |bool |is_utf8_alpha |NN const U8 *p
+ApR |bool |is_utf8_ascii |NN const U8 *p
+ApR |bool |is_utf8_space |NN const U8 *p
+ApR |bool |is_utf8_cntrl |NN const U8 *p
+ApR |bool |is_utf8_digit |NN const U8 *p
+ApR |bool |is_utf8_graph |NN const U8 *p
+ApR |bool |is_utf8_upper |NN const U8 *p
+ApR |bool |is_utf8_lower |NN const U8 *p
+ApR |bool |is_utf8_print |NN const U8 *p
+ApR |bool |is_utf8_punct |NN const U8 *p
+ApR |bool |is_utf8_xdigit |NN const U8 *p
+ApR |bool |is_utf8_mark |NN const U8 *p
p |OP* |jmaybe |NN OP* arg
pP |I32 |keyword |NN const char* d|I32 len
Ap |void |leave_scope |I32 base
Apd |UV |grok_bin |NN const char* start|NN STRLEN* len_p|NN I32* flags|NV *result
Apd |UV |grok_hex |NN const char* start|NN STRLEN* len_p|NN I32* flags|NV *result
Apd |int |grok_number |NN const char *pv|STRLEN len|UV *valuep
-Apd |bool |grok_numeric_radix|const char **sp|const char *send
+ApdR |bool |grok_numeric_radix|const char **sp|const char *send
Apd |UV |grok_oct |const char* start|STRLEN* len_p|I32* flags|NV *result
p |int |magic_clearenv |SV* sv|MAGIC* mg
p |int |magic_clear_all_env|SV* sv|MAGIC* mg
p |int |magic_freeregexp|SV* sv|MAGIC* mg
p |int |magic_freeovrld|SV* sv|MAGIC* mg
p |int |magic_get |SV* sv|MAGIC* mg
-p |int |magic_getarylen|SV* sv|MAGIC* mg
+p |int |magic_getarylen|NN SV* sv|NN const MAGIC* mg
p |int |magic_getdefelem|SV* sv|MAGIC* mg
p |int |magic_getglob |SV* sv|MAGIC* mg
p |int |magic_getnkeys |SV* sv|MAGIC* mg
p |int |magic_set |SV* sv|MAGIC* mg
p |int |magic_setamagic|SV* sv|MAGIC* mg
p |int |magic_setarylen|SV* sv|MAGIC* mg
+p |int |magic_freearylen_p|SV* sv|MAGIC* mg
p |int |magic_setbm |SV* sv|MAGIC* mg
p |int |magic_setdbline|SV* sv|MAGIC* mg
-#if defined(USE_LOCALE_COLLATE)
-p |int |magic_setcollxfrm|SV* sv|MAGIC* mg
-#endif
p |int |magic_setdefelem|SV* sv|MAGIC* mg
p |int |magic_setenv |SV* sv|MAGIC* mg
p |int |magic_setfm |SV* sv|MAGIC* mg
p |void |magicname |const char* sym|const char* name|I32 namlen
Ap |void |markstack_grow
#if defined(USE_LOCALE_COLLATE)
+p |int |magic_setcollxfrm|SV* sv|MAGIC* mg
p |char* |mem_collxfrm |const char* s|STRLEN len|STRLEN* xlen
#endif
Afp |SV* |mess |const char* pat|...
Apd |void |sortsv |SV ** array|size_t num_elts|SVCOMPARE_t cmp
Apd |int |mg_clear |SV* sv
Apd |int |mg_copy |SV* sv|SV* nsv|const char* key|I32 klen
+pd |void |mg_localize |SV* sv|SV* nsv
Apd |MAGIC* |mg_find |const SV* sv|int type
Apd |int |mg_free |SV* sv
Apd |int |mg_get |SV* sv
Apa |OP* |newPADOP |I32 type|I32 flags|SV* sv
Apa |OP* |newPMOP |I32 type|I32 flags
Apa |OP* |newPVOP |I32 type|I32 flags|char* pv
-Apa |SV* |newRV |SV* pref
+Apa |SV* |newRV |NN SV* pref
Apda |SV* |newRV_noinc |NN SV *sv
Apda |SV* |newSV |STRLEN len
Apa |OP* |newSVREF |NN OP* o
Apda |SV* |newSVnv |NV n
Apda |SV* |newSVpv |const char* s|STRLEN len
Apda |SV* |newSVpvn |const char* s|STRLEN len
+Apda |SV* |newSVhek |const HEK *hek
Apda |SV* |newSVpvn_share |const char* s|I32 len|U32 hash
Afpda |SV* |newSVpvf |const char* pat|...
Ap |SV* |vnewSVpvf |const char* pat|va_list* args
-Apda |SV* |newSVrv |SV* rv|const char* classname
-Apda |SV* |newSVsv |SV* old
+Apda |SV* |newSVrv |NN SV* rv|NULLOK const char* classname
+Apda |SV* |newSVsv |NULLOK SV* old
Apa |OP* |newUNOP |I32 type|I32 flags|OP* first
Apa |OP* |newWHILEOP |I32 flags|I32 debuggable|LOOP* loop \
|I32 whileline|OP* expr|OP* block|OP* cont \
|I32 has_my
Apa |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
Ap |char* |scan_vstring |NN const char *vstr|NN SV *sv
-Apd |char* |scan_version |NN const char *vstr|NN SV *sv|bool qv
+Apd |const char* |scan_version |NN const char *vstr|NN SV *sv|bool qv
Apd |SV* |new_version |SV *ver
Apd |SV* |upg_version |SV *ver
Apd |SV* |vnumify |SV *vs
p |PADOFFSET|allocmy |NN char* name
pd |PADOFFSET|pad_findmy |NN const char* name
Ap |PADOFFSET|find_rundefsvoffset |
-p |OP* |oopsAV |NN OP* o
-p |OP* |oopsHV |NN OP* o
+pR |OP* |oopsAV |NN OP* o
+pR |OP* |oopsHV |NN OP* o
pd |void |pad_leavemy
Apd |SV* |pad_sv |PADOFFSET po
pd |void |pad_free |PADOFFSET po
Apd |CV* |get_cv |const char* name|I32 create
Ap |int |init_i18nl10n |int printwarn
Ap |int |init_i18nl14n |int printwarn
-Ap |void |new_collate |NN char* newcoll
-Ap |void |new_ctype |NN char* newctype
-Ap |void |new_numeric |NN char* newcoll
+Ap |void |new_collate |NULLOK const char* newcoll
+Ap |void |new_ctype |NN const char* newctype
+Ap |void |new_numeric |NULLOK const char* newcoll
Ap |void |set_numeric_local
Ap |void |set_numeric_radix
Ap |void |set_numeric_standard
Ap |I32 |regexec_flags |NN regexp* prog|NN char* stringarg \
|NN char* strend|NN char* strbeg|I32 minend \
|SV* screamer|void* data|U32 flags
-Ap |regnode*|regnext |regnode* p
+ApR |regnode*|regnext |NN regnode* p
Ep |void |regprop |SV* sv|const regnode* o
Ap |void |repeatcpy |NN char* to|NN const char* from|I32 len|I32 count
ApP |char* |rninstr |NN const char* big|NN const char* bigend \
#if !defined(HAS_RENAME)
p |I32 |same_dirent |NN const char* a|NN const char* b
#endif
-Apd |char* |savepv |const char* pv
-Apd |char* |savesharedpv |const char* pv
-Apd |char* |savepvn |const char* pv|I32 len
+Apda |char* |savepv |NN const char* pv
+Apda |char* |savepvn |NN const char* pv|I32 len
+Apda |char* |savesharedpv |const char* pv
+Apda |char* |savesvpv |NN SV* sv
Ap |void |savestack_grow
Ap |void |savestack_grow_cnt |I32 need
Ap |void |save_aelem |const AV* av|I32 idx|SV **sptr
Apd |IV |sv_2iv_flags |NN SV* sv|I32 flags
Apd |SV* |sv_2mortal |NN SV* sv
Apd |NV |sv_2nv |NN SV* sv
-Amb |char* |sv_2pv |NN SV* sv|NN STRLEN* lp
-Apd |char* |sv_2pv_flags |NN SV* sv|NN STRLEN* lp|I32 flags
-Apd |char* |sv_2pvutf8 |NN SV* sv|NN STRLEN* lp
-Apd |char* |sv_2pvbyte |NN SV* sv|NN STRLEN* lp
-Ap |char* |sv_pvn_nomg |NN SV* sv|NN STRLEN* lp
+Amb |char* |sv_2pv |NN SV* sv|STRLEN* lp
+Apd |char* |sv_2pv_flags |NN SV* sv|STRLEN* lp|I32 flags
+Apd |char* |sv_2pvutf8 |NN SV* sv|STRLEN* lp
+Apd |char* |sv_2pvbyte |NN SV* sv|STRLEN* lp
+Ap |char* |sv_pvn_nomg |NN SV* sv|STRLEN* lp
Amb |UV |sv_2uv |NN SV* sv
Apd |UV |sv_2uv_flags |NN SV* sv|I32 flags
Apd |IV |sv_iv |NN SV* sv
Apd |I32 |sv_cmp |NN SV* sv1|NN SV* sv2
Apd |I32 |sv_cmp_locale |NN SV* sv1|NN SV* sv2
#if defined(USE_LOCALE_COLLATE)
-Apd |char* |sv_collxfrm |NN SV* sv|STRLEN* nxp
+Apd |char* |sv_collxfrm |NN SV* sv|NN STRLEN* nxp
#endif
Ap |OP* |sv_compile_2op |NN SV* sv|NN OP** startp|NN const char* code|NN PAD** padp
Apd |int |getcwd_sv |NN SV* sv
|NN const char* little|STRLEN littlelen
Apd |int |sv_isa |NN SV* sv|const char* name
Apd |int |sv_isobject |NN SV* sv
-Apd |STRLEN |sv_len |NN SV* sv
-Apd |STRLEN |sv_len_utf8 |NN SV* sv
+Apd |STRLEN |sv_len |NULLOK SV* sv
+Apd |STRLEN |sv_len_utf8 |NULLOK SV* sv
Apd |void |sv_magic |NN SV* sv|SV* obj|int how|const char* name \
|I32 namlen
Apd |MAGIC *|sv_magicext |NN SV* sv|SV* obj|int how|const MGVTBL *vtbl \
|const char* name|I32 namlen
-Apd |SV* |sv_mortalcopy |NN SV* oldsv
+ApdaR |SV* |sv_mortalcopy |NULLOK SV* oldsv
ApdR |SV* |sv_newmortal
-Apd |SV* |sv_newref |SV* sv
+Apd |SV* |sv_newref |NULLOK SV* sv
Ap |char* |sv_peek |SV* sv
-Apd |void |sv_pos_u2b |SV* sv|I32* offsetp|I32* lenp
-Apd |void |sv_pos_b2u |SV* sv|I32* offsetp
+Apd |void |sv_pos_u2b |NULLOK SV* sv|NN I32* offsetp|NULLOK I32* lenp
+Apd |void |sv_pos_b2u |NULLOK SV* sv|NN I32* offsetp
Amdb |char* |sv_pvn_force |SV* sv|STRLEN* lp
Apd |char* |sv_pvutf8n_force|SV* sv|STRLEN* lp
Apd |char* |sv_pvbyten_force|SV* sv|STRLEN* lp
ApdR |char* |sv_reftype |NN const SV* sv|int ob
Apd |void |sv_replace |NN SV* sv|NN SV* nsv
Apd |void |sv_report_used
-Apd |void |sv_reset |const char* s|HV* stash
+Apd |void |sv_reset |NN const char* s|HV* stash
Afpd |void |sv_setpvf |SV* sv|const char* pat|...
Apd |void |sv_vsetpvf |SV* sv|const char* pat|va_list* args
Apd |void |sv_setiv |SV* sv|IV num
-Apdb |void |sv_setpviv |SV* sv|IV num
+Apdb |void |sv_setpviv |NN SV* sv|IV num
Apd |void |sv_setuv |SV* sv|UV num
Apd |void |sv_setnv |SV* sv|NV num
Apd |SV* |sv_setref_iv |SV* rv|const char* classname|IV iv
Apd |SV* |sv_setref_uv |SV* rv|const char* classname|UV uv
Apd |SV* |sv_setref_nv |SV* rv|const char* classname|NV nv
-Apd |SV* |sv_setref_pv |SV* rv|const char* classname|void* pv
-Apd |SV* |sv_setref_pvn |SV* rv|const char* classname|char* pv \
- |STRLEN n
+Apd |SV* |sv_setref_pv |SV* rv|const char* classname|NULLOK void* pv
+Apd |SV* |sv_setref_pvn |SV* rv|const char* classname|NN const char* pv|STRLEN n
Apd |void |sv_setpv |SV* sv|const char* ptr
Apd |void |sv_setpvn |NN SV* sv|const char* ptr|STRLEN len
Amdb |void |sv_setsv |SV* dsv|SV* ssv
Apd |void |sv_taint |SV* sv
-Apd |bool |sv_tainted |SV* sv
+ApdR |bool |sv_tainted |SV* sv
Apd |int |sv_unmagic |NN SV* sv|int type
Apd |void |sv_unref |NN SV* sv
Apd |void |sv_unref_flags |NN SV* sv|U32 flags
Apd |void |sv_untaint |NN SV* sv
-Apd |bool |sv_upgrade |NN SV* sv|U32 mt
+Apd |void |sv_upgrade |NN SV* sv|U32 mt
Apd |void |sv_usepvn |NN SV* sv|char* ptr|STRLEN len
Apd |void |sv_vcatpvfn |NN SV* sv|NN const char* pat|STRLEN patlen \
|va_list* args|SV** svargs|I32 svmax \
Ap |SV* |swash_init |const char* pkg|const char* name|SV* listsv|I32 minbits|I32 none
Ap |UV |swash_fetch |SV *sv|const U8 *ptr|bool do_utf8
Ap |void |taint_env
-Ap |void |taint_proper |const char* f|const char* s
+Ap |void |taint_proper |NULLOK const char* f|NN const char* s
Apd |UV |to_utf8_case |NN const U8 *p|NN U8* ustrp|STRLEN *lenp|SV **swash|const char *normal|const char *special
Apd |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|STRLEN *lenp
Apd |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|STRLEN *lenp
Afpd |void |sv_setpvf_mg |SV *sv|const char* pat|...
Apd |void |sv_vsetpvf_mg |SV* sv|const char* pat|va_list* args
Apd |void |sv_setiv_mg |SV *sv|IV i
-Apdb |void |sv_setpviv_mg |SV *sv|IV iv
+Apdb |void |sv_setpviv_mg |NN SV *sv|IV iv
Apd |void |sv_setuv_mg |SV *sv|UV u
Apd |void |sv_setnv_mg |SV *sv|NV num
Apd |void |sv_setpv_mg |SV *sv|const char *ptr
Ap |MGVTBL*|get_vtbl |int vtbl_id
Ap |char* |pv_display |SV *dsv|const char *pv|STRLEN cur|STRLEN len \
|STRLEN pvlim
-Afp |void |dump_indent |I32 level|PerlIO *file|const char* pat|...
-Ap |void |dump_vindent |I32 level|PerlIO *file|const char* pat \
+Afp |void |dump_indent |I32 level|NN PerlIO *file|const char* pat|...
+Ap |void |dump_vindent |I32 level|NN PerlIO *file|const char* pat \
|va_list *args
-Ap |void |do_gv_dump |I32 level|PerlIO *file|const char *name|GV *sv
-Ap |void |do_gvgv_dump |I32 level|PerlIO *file|const char *name|GV *sv
-Ap |void |do_hv_dump |I32 level|PerlIO *file|const char *name|HV *sv
-Ap |void |do_magic_dump |I32 level|PerlIO *file|const MAGIC *mg|I32 nest \
+Ap |void |do_gv_dump |I32 level|NN PerlIO *file|const char *name|GV *sv
+Ap |void |do_gvgv_dump |I32 level|NN PerlIO *file|const char *name|GV *sv
+Ap |void |do_hv_dump |I32 level|NN PerlIO *file|const char *name|HV *sv
+Ap |void |do_magic_dump |I32 level|NN PerlIO *file|const MAGIC *mg|I32 nest \
|I32 maxnest|bool dumpops|STRLEN pvlim
-Ap |void |do_op_dump |I32 level|PerlIO *file|const OP *o
-Ap |void |do_pmop_dump |I32 level|PerlIO *file|const PMOP *pm
-Ap |void |do_sv_dump |I32 level|PerlIO *file|SV *sv|I32 nest \
+Ap |void |do_op_dump |I32 level|NN PerlIO *file|const OP *o
+Ap |void |do_pmop_dump |I32 level|NN PerlIO *file|const PMOP *pm
+Ap |void |do_sv_dump |I32 level|NN PerlIO *file|NULLOK SV *sv|I32 nest \
|I32 maxnest|bool dumpops|STRLEN pvlim
-Ap |void |magic_dump |const MAGIC *mg
+Ap |void |magic_dump |NULLOK const MAGIC *mg
Ap |void |reginitcolors
Apd |char* |sv_2pv_nolen |SV* sv
Apd |char* |sv_2pvutf8_nolen|SV* sv
p |OP * |my_attrs |NN OP *o|OP *attrs
p |void |boot_core_xsutils
#if defined(USE_ITHREADS)
-Ap |PERL_CONTEXT*|cx_dup |PERL_CONTEXT* cx|I32 ix|I32 max|CLONE_PARAMS* param
-Ap |PERL_SI*|si_dup |PERL_SI* si|CLONE_PARAMS* param
-Ap |ANY* |ss_dup |PerlInterpreter* proto_perl|CLONE_PARAMS* param
-Ap |void* |any_dup |void* v|PerlInterpreter* proto_perl
-Ap |HE* |he_dup |HE* e|bool shared|CLONE_PARAMS* param
-Ap |REGEXP*|re_dup |REGEXP* r|CLONE_PARAMS* param
-Ap |PerlIO*|fp_dup |PerlIO* fp|char type|CLONE_PARAMS* param
-Ap |DIR* |dirp_dup |DIR* dp
-Ap |GP* |gp_dup |GP* gp|CLONE_PARAMS* param
-Ap |MAGIC* |mg_dup |MAGIC* mg|CLONE_PARAMS* param
-Ap |SV* |sv_dup |SV* sstr|CLONE_PARAMS* param
-Ap |void |rvpv_dup |SV* dstr|SV *sstr|CLONE_PARAMS* param
-#if defined(HAVE_INTERP_INTERN)
-Ap |void |sys_intern_dup |struct interp_intern* src \
- |struct interp_intern* dst
-#endif
-Ap |PTR_TBL_t*|ptr_table_new
-Ap |void* |ptr_table_fetch|NN PTR_TBL_t *tbl|NN void *sv
-Ap |void |ptr_table_store|NN PTR_TBL_t *tbl|void *oldsv|void *newsv
+Apa |PERL_CONTEXT*|cx_dup |PERL_CONTEXT* cx|I32 ix|I32 max|CLONE_PARAMS* param
+Apa |PERL_SI*|si_dup |PERL_SI* si|CLONE_PARAMS* param
+Apa |ANY* |ss_dup |NN PerlInterpreter* proto_perl|CLONE_PARAMS* param
+Apa |void* |any_dup |void* v|NN const PerlInterpreter* proto_perl
+Apa |HE* |he_dup |HE* e|bool shared|CLONE_PARAMS* param
+Apa |HEK* |hek_dup |HEK* e|CLONE_PARAMS* param
+Apa |REGEXP*|re_dup |const REGEXP* r|CLONE_PARAMS* param
+Apa |PerlIO*|fp_dup |PerlIO* fp|char type|CLONE_PARAMS* param
+Apa |DIR* |dirp_dup |DIR* dp
+Apa |GP* |gp_dup |GP* gp|CLONE_PARAMS* param
+Apa |MAGIC* |mg_dup |NN MAGIC* mg|CLONE_PARAMS* param
+Apa |SV* |sv_dup |NN SV* sstr|CLONE_PARAMS* param
+Ap |void |rvpv_dup |NN SV* dstr|NN SV *sstr|CLONE_PARAMS* param
+Apa |PTR_TBL_t*|ptr_table_new
+Apa |void* |ptr_table_fetch|NN PTR_TBL_t *tbl|NN const void *sv
+Ap |void |ptr_table_store|NN PTR_TBL_t *tbl|const void *oldsv|NN void *newsv
Ap |void |ptr_table_split|NN PTR_TBL_t *tbl
Ap |void |ptr_table_clear|PTR_TBL_t *tbl
Ap |void |ptr_table_free|PTR_TBL_t *tbl
+# if defined(HAVE_INTERP_INTERN)
+Ap |void |sys_intern_dup |NN struct interp_intern* src|NN struct interp_intern* dst
+# endif
#endif
#if defined(HAVE_INTERP_INTERN)
Ap |void |sys_intern_clear
Ap |void |sys_intern_init
#endif
-Ap |char * |custom_op_name |NN const OP* op
-Ap |char * |custom_op_desc |NN const OP* op
+ApR |char * |custom_op_name |NN const OP* op
+ApR |char * |custom_op_desc |NN const OP* op
-#if defined(PERL_COPY_ON_WRITE)
+#if defined(PERL_OLD_COPY_ON_WRITE)
pMX |int |sv_release_IVX |SV *sv
#endif
END_EXTERN_C
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-s |I32 |do_trans_simple |NN SV *sv
-s |I32 |do_trans_count |NN SV *sv
-s |I32 |do_trans_complex |NN SV *sv
-s |I32 |do_trans_simple_utf8 |NN SV *sv
-s |I32 |do_trans_count_utf8 |NN SV *sv
-s |I32 |do_trans_complex_utf8 |NN SV *sv
+sR |I32 |do_trans_simple |NN SV *sv
+sR |I32 |do_trans_count |NN SV *sv
+sR |I32 |do_trans_complex |NN SV *sv
+sR |I32 |do_trans_simple_utf8 |NN SV *sv
+sR |I32 |do_trans_count_utf8 |NN SV *sv
+sR |I32 |do_trans_complex_utf8 |NN SV *sv
#endif
#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
-s |void |gv_init_sv |GV *gv|I32 sv_type
+s |void |gv_init_sv |NN GV *gv|I32 sv_type
s |void |require_errno |NN GV *gv
#endif
#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-s |void |hsplit |HV *hv
+s |void |hsplit |NN HV *hv
s |void |hfreeentries |HV *hv
-s |HE* |new_he
-s |void |del_he |HE *p
-s |HEK* |save_hek_flags |const char *str|I32 len|U32 hash|int flags
-s |void |hv_magic_check |HV *hv|bool *needs_copy|bool *needs_store
-s |void |unshare_hek_or_pvn|HEK* hek|const char* sv|I32 len|U32 hash
-s |HEK* |share_hek_flags|const char* sv|I32 len|U32 hash|int flags
-rs |void |hv_notallowed |int flags|const char *key|I32 klen|const char *msg
+sa |HE* |new_he
+s |void |del_he |NN HE *p
+sa |HEK* |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags
+s |void |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store
+s |void |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
+sR |HEK* |share_hek_flags|NN const char* sv|I32 len|U32 hash|int flags
+rs |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg
+s |struct xpvhv_aux*|hv_auxinit|NN HV *hv
+sM |SV* |hv_delete_common|HV* tb|SV* key_sv|const char* key|STRLEN klen|int k_flags|I32 d_flags|U32 hash
+sM |HE* |hv_fetch_common|HV* tb|SV* key_sv|const char* key|STRLEN klen|int flags|int action|SV* val|U32 hash
#endif
#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-s |void |save_magic |I32 mgs_ix|SV *sv
-s |int |magic_methpack |SV *sv|const MAGIC *mg|const char *meth
-s |int |magic_methcall |SV *sv|const MAGIC *mg|const char *meth|I32 f \
+s |void |save_magic |I32 mgs_ix|NN SV *sv
+s |int |magic_methpack |NN SV *sv|NN const MAGIC *mg|NN const char *meth
+s |int |magic_methcall |NN SV *sv|NN const MAGIC *mg|NN const char *meth|I32 f \
|int n|SV *val
+s |void |restore_magic |NN const void *p
+s |void |unwind_handler_stack|NN const void *p
+
#endif
#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-s |I32 |list_assignment|const OP *o
-s |void |bad_type |I32 n|const char *t|const char *name|const OP *kid
-s |void |cop_free |COP *cop
+pR |OP* |ck_anoncode |NN OP *o
+pR |OP* |ck_bitop |NN OP *o
+pR |OP* |ck_concat |NN OP *o
+pR |OP* |ck_defined |NN OP *o
+pR |OP* |ck_delete |NN OP *o
+pR |OP* |ck_die |NN OP *o
+pR |OP* |ck_eof |NN OP *o
+pR |OP* |ck_eval |NN OP *o
+pR |OP* |ck_exec |NN OP *o
+pR |OP* |ck_exists |NN OP *o
+pR |OP* |ck_exit |NN OP *o
+pR |OP* |ck_ftst |NN OP *o
+pR |OP* |ck_fun |NN OP *o
+pR |OP* |ck_glob |NN OP *o
+pR |OP* |ck_grep |NN OP *o
+pR |OP* |ck_index |NN OP *o
+pR |OP* |ck_join |NN OP *o
+pR |OP* |ck_lengthconst |NN OP *o
+pR |OP* |ck_lfun |NN OP *o
+pR |OP* |ck_listiob |NN OP *o
+pR |OP* |ck_match |NN OP *o
+pR |OP* |ck_method |NN OP *o
+pR |OP* |ck_null |NN OP *o
+pR |OP* |ck_open |NN OP *o
+pR |OP* |ck_repeat |NN OP *o
+pR |OP* |ck_require |NN OP *o
+pR |OP* |ck_retarget |NN OP *o
+pR |OP* |ck_return |NN OP *o
+pR |OP* |ck_rfun |NN OP *o
+pR |OP* |ck_rvconst |NN OP *o
+pR |OP* |ck_sassign |NN OP *o
+pR |OP* |ck_select |NN OP *o
+pR |OP* |ck_shift |NN OP *o
+pR |OP* |ck_sort |NN OP *o
+pR |OP* |ck_spair |NN OP *o
+pR |OP* |ck_split |NN OP *o
+pR |OP* |ck_subr |NN OP *o
+pR |OP* |ck_substr |NN OP *o
+pR |OP* |ck_svconst |NN OP *o
+pR |OP* |ck_trunc |NN OP *o
+pR |OP* |ck_unpack |NN OP *o
+sR |bool |is_handle_constructor|NN const OP *o|I32 numargs
+sR |I32 |is_list_assignment|const OP *o
+s |void |cop_free |NN COP *cop
s |OP* |modkids |OP *o|I32 type
-s |void |no_bareword_allowed|const OP *o
-s |OP* |no_fh_allowed |OP *o
-s |OP* |scalarboolean |OP *o
-s |OP* |too_few_arguments|OP *o|const char* name
-s |OP* |too_many_arguments|OP *o|const char* name
-s |OP* |newDEFSVOP
-s |OP* |new_logop |I32 type|I32 flags|OP **firstp|OP **otherp
-s |void |simplify_sort |OP *o
-s |bool |is_handle_constructor |const OP *o|I32 argnum
-s |char* |gv_ename |GV *gv
+s |OP* |scalarboolean |NN OP *o
+sR |OP* |newDEFSVOP
+sR |OP* |new_logop |I32 type|I32 flags|NN OP **firstp|NN OP **otherp
+s |void |simplify_sort |NN OP *o
+s |const char* |gv_ename |GV *gv
s |bool |scalar_mod_type|const OP *o|I32 type
s |OP * |my_kid |OP *o|OP *attrs|OP **imopsp
s |OP * |dup_attrlist |OP *o
s |void |apply_attrs |HV *stash|SV *target|OP *attrs|bool for_my
s |void |apply_attrs_my |HV *stash|OP *target|OP *attrs|OP **imopsp
+s |void |bad_type |I32 n|NN const char *t|NN const char *name|NN const OP *kid
+s |void |no_bareword_allowed|NN const 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
#endif
#if defined(PL_OP_SLAB_ALLOC)
-Ap |void* |Slab_Alloc |int m|size_t sz
+ApR |void* |Slab_Alloc |int m|size_t sz
Ap |void |Slab_Free |void *op
#endif
#endif
#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-s |SV* |refto |SV* sv
+sR |SV* |refto |SV* sv
#endif
#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
s |SV* |mul128 |NN SV *sv|U8 m
s |I32 |measure_struct |NN struct tempsym* symptr
s |bool |next_symbol |NN struct tempsym* symptr
-s |SV* |is_an_int |NN const char *s|STRLEN l
+sR |SV* |is_an_int |NN const char *s|STRLEN l
s |int |div128 |NN SV *pnum|NN bool *done
s |const char *|group_end |NN const char *pat|NN const char *patend|char ender
s |const char *|get_num |NN const char *ppat|NN I32 *lenptr
#endif
#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-s |OP* |docatch |OP *o
-s |void* |docatch_body
-s |OP* |dofindlabel |OP *o|const char *label|OP **opstack|OP **oplimit
-s |OP* |doparseform |SV *sv
-sn |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
-s |I32 |dopoptoeval |I32 startingblock
-s |I32 |dopoptolabel |NN const char *label
-s |I32 |dopoptoloop |I32 startingblock
-s |I32 |dopoptosub |I32 startingblock
-s |I32 |dopoptosub_at |PERL_CONTEXT* cxstk|I32 startingblock
+sR |OP* |docatch |OP *o
+s |void |docatch_body
+sR |OP* |dofindlabel |OP *o|const char *label|OP **opstack|OP **oplimit
+sR |OP* |doparseform |SV *sv
+snR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
+sR |I32 |dopoptoeval |I32 startingblock
+sR |I32 |dopoptolabel |NN const char *label
+sR |I32 |dopoptoloop |I32 startingblock
+sR |I32 |dopoptosub |I32 startingblock
+sR |I32 |dopoptosub_at |const PERL_CONTEXT* cxstk|I32 startingblock
s |void |save_lines |AV *array|SV *sv
-s |OP* |doeval |int gimme|OP** startop|CV* outside|U32 seq
-s |PerlIO *|doopen_pm |const char *name|const char *mode
-s |bool |path_is_absolute|NN const char *name
+sR |OP* |doeval |int gimme|OP** startop|CV* outside|U32 seq
+sR |PerlIO *|doopen_pm |const char *name|const char *mode
+sR |bool |path_is_absolute|NN const char *name
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-s |void |do_oddball |HV *hash|SV **relem|SV **firstrelem
-s |CV* |get_db_sub |SV **svp|CV *cv
-s |SV* |method_common |SV* meth|U32* hashp
+s |void |do_oddball |NN HV *hash|NN SV **relem|NN SV **firstrelem
+sR |CV* |get_db_sub |NN SV **svp|NN CV *cv
+sR |SV* |method_common |NN SV* meth|U32* hashp
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
-s |OP* |doform |CV *cv|GV *gv|OP *retop
-s |int |emulate_eaccess|const char* path|Mode_t mode
+s |OP* |doform |NN CV *cv|NN GV *gv|NN OP *retop
+s |int |emulate_eaccess|NN const char* path|Mode_t mode
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-s |int |dooneliner |char *cmd|char *filename
+sR |int |dooneliner |NN const char *cmd|NN const char *filename
# endif
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-Es |regnode*|reg |struct RExC_state_t*|I32|I32 *
-Es |regnode*|reganode |struct RExC_state_t*|U8|U32
-Es |regnode*|regatom |struct RExC_state_t*|I32 *
-Es |regnode*|regbranch |struct RExC_state_t*|I32 *|I32
-Es |void |reguni |struct RExC_state_t*|UV|char *|STRLEN*
-Es |regnode*|regclass |struct RExC_state_t*
+Es |regnode*|reg |NN struct RExC_state_t *state|I32 paren|NN I32 *flagp
+Es |regnode*|reganode |NN struct RExC_state_t *state|U8 op|U32 arg
+Es |regnode*|regatom |NN struct RExC_state_t *state|NN I32 *flagp
+Es |regnode*|regbranch |NN struct RExC_state_t *state|NN I32 *flagp|I32 first
+Es |void |reguni |NN const struct RExC_state_t *state|UV uv|NN char *s|NN STRLEN *lenp
+Es |regnode*|regclass |NN struct RExC_state_t *state
ERs |I32 |regcurly |NN const char *
-Es |regnode*|reg_node |struct RExC_state_t*|U8
-Es |regnode*|regpiece |struct RExC_state_t*|I32 *
-Es |void |reginsert |struct RExC_state_t*|U8|regnode *
-Es |void |regoptail |struct RExC_state_t*|regnode *|regnode *
-Es |void |regtail |struct RExC_state_t*|regnode *|regnode *
-Es |char*|regwhite |char *|char *
-Es |char*|nextchar |struct RExC_state_t*
+Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op
+Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp
+Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd
+Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
+Es |void |regtail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
+Es |char* |regwhite |NN char *p|NN const char *e
+Es |char* |nextchar |NN struct RExC_state_t*
# ifdef DEBUGGING
Es |regnode*|dumpuntil |regnode *start|regnode *node \
|regnode *last|SV* sv|I32 l
-Es |void |put_byte |SV* sv|int c
+Es |void |put_byte |NN SV* sv|int c
# endif
Es |void |scan_commit |struct RExC_state_t*|struct scan_data_t *data
-Es |void |cl_anything |struct RExC_state_t*|struct regnode_charclass_class *cl
-Es |int |cl_is_anything |struct regnode_charclass_class *cl
-Es |void |cl_init |struct RExC_state_t*|struct regnode_charclass_class *cl
-Es |void |cl_init_zero |struct RExC_state_t*|struct regnode_charclass_class *cl
-Es |void |cl_and |struct regnode_charclass_class *cl \
- |struct regnode_charclass_class *and_with
-Es |void |cl_or |struct RExC_state_t*|struct regnode_charclass_class *cl \
- |struct regnode_charclass_class *or_with
+Es |void |cl_anything |NN struct RExC_state_t*|NN struct regnode_charclass_class *cl
+Es |int |cl_is_anything |NN const struct regnode_charclass_class *cl
+Es |void |cl_init |NN struct RExC_state_t*|NN struct regnode_charclass_class *cl
+Es |void |cl_init_zero |NN struct RExC_state_t*|NN struct regnode_charclass_class *cl
+Es |void |cl_and |NN struct regnode_charclass_class *cl \
+ |const struct regnode_charclass_class *and_with
+Es |void |cl_or |NN struct RExC_state_t*|NN struct regnode_charclass_class *cl \
+ |NN const struct regnode_charclass_class *or_with
Es |I32 |study_chunk |struct RExC_state_t*|regnode **scanp|I32 *deltap \
|regnode *last|struct scan_data_t *data \
|U32 flags|U32 depth
s |SV* |save_scalar_at |SV **sptr
#endif
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+po |void |sv_add_backref |NN SV *tsv|NN SV *sv
+#endif
+
#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-s |IV |asIV |SV* sv
-s |UV |asUV |SV* sv
-s |XPVIV* |new_xiv
-s |XPVNV* |new_xnv
-s |XPV* |new_xpv
-s |XPVIV* |new_xpviv
-s |XPVNV* |new_xpvnv
-s |XPVCV* |new_xpvcv
-s |XPVAV* |new_xpvav
-s |XPVHV* |new_xpvhv
-s |XPVMG* |new_xpvmg
-s |XPVGV* |new_xpvgv
-s |XPVLV* |new_xpvlv
-s |XPVBM* |new_xpvbm
-s |XRV* |new_xrv
-s |void |del_xiv |XPVIV* p
-s |void |del_xnv |XPVNV* p
-s |void |del_xpv |XPV* p
-s |void |del_xpviv |XPVIV* p
-s |void |del_xpvnv |XPVNV* p
-s |void |del_xpvcv |XPVCV* p
-s |void |del_xpvav |XPVAV* p
-s |void |del_xpvhv |XPVHV* p
-s |void |del_xpvmg |XPVMG* p
-s |void |del_xpvgv |XPVGV* p
-s |void |del_xpvlv |XPVLV* p
-s |void |del_xpvbm |XPVBM* p
-s |void |del_xrv |XRV* p
-s |void |sv_unglob |SV* sv
-s |void |not_a_number |SV *sv
-s |I32 |visit |SVFUNC_t f|U32 flags|U32 mask
-s |void |sv_add_backref |SV *tsv|SV *sv
-s |void |sv_del_backref |SV *sv
-s |SV * |varname |GV *gv|NN const char *gvtype|PADOFFSET targ \
- |SV *keyname|I32 aindex|int subscript_type
+sR |IV |asIV |NN SV* sv
+sR |UV |asUV |NN SV* sv
+s |void |sv_unglob |NN SV* sv
+s |void |not_a_number |NN SV *sv
+s |I32 |visit |NN SVFUNC_t f|U32 flags|U32 mask
+s |void |sv_del_backref |NN SV *target|NN SV *ref
+sR |SV * |varname |NULLOK GV *gv|NN const char *gvtype|PADOFFSET targ \
+ |NULLOK SV *keyname|I32 aindex|int subscript_type
# ifdef DEBUGGING
s |void |del_sv |SV *p
# endif
# endif
sR |I32 |expect_number |NN char** pattern
#
-# if defined(USE_ITHREADS)
-s |SV* |gv_share |SV *sv|CLONE_PARAMS *param
-# endif
s |bool |utf8_mg_pos |NN SV *sv|NN MAGIC **mgp|NN STRLEN **cachep \
- |I32 i|NN I32 *offsetp|I32 uoff|NN U8 **sp \
- |NN U8 *start|NN U8 *send
-s |bool |utf8_mg_pos_init |NN SV *sv|NN MAGIC **mgp|NN STRLEN **cachep \
- |I32 i|I32 offsetp|NN U8 *s|NN U8 *start
-#if defined(PERL_COPY_ON_WRITE)
-sM |void |sv_release_COW |SV *sv|char *pvx|STRLEN cur|STRLEN len \
- |U32 hash|SV *after
+ |I32 i|NN I32 *offsetp|I32 uoff \
+ |NN const U8 **sp|NN const U8 *start \
+ |NN const U8 *send
+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
+#if defined(PERL_OLD_COPY_ON_WRITE)
+sM |void |sv_release_COW |SV *sv|const char *pvx|STRLEN len|SV *after
#endif
#endif
s |I32 |utf16rev_textfilter|int idx|SV *sv|int maxlen
#endif
# if defined(PERL_CR_FILTER)
-s |I32 |cr_textfilter |int idx|SV *sv|int maxlen
+s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen
# endif
#endif
#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
-s |char* |stdize_locale |char* locs
+s |char* |stdize_locale |NN char* locs
#endif
#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-s |COP* |closest_cop |COP *cop|OP *o
+s |COP* |closest_cop |NN COP *cop|NULLOK const OP *o
s |SV* |mess_alloc
#endif
sn |NV|mulexp10 |NV value|I32 exponent
#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
+s |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len
+#endif
+
START_EXTERN_C
-Apd |void |sv_setsv_flags |NN SV* dsv|SV* ssv|I32 flags
+Apd |void |sv_setsv_flags |NN SV* dsv|NULLOK SV* ssv|I32 flags
Apd |void |sv_catpvn_flags|NN SV* sv|NN const char* ptr|STRLEN len|I32 flags
Apd |void |sv_catsv_flags |NN SV* dsv|SV* ssv|I32 flags
Apd |STRLEN |sv_utf8_upgrade_flags|NN SV *sv|I32 flags
-Apd |char* |sv_pvn_force_flags|SV* sv|NN STRLEN* lp|I32 flags
+Apd |char* |sv_pvn_force_flags|SV* sv|STRLEN* lp|I32 flags
Apd |void |sv_copypv |NN SV* dsv|NN SV* ssv
Ap |char* |my_atof2 |NN const char *s|NN NV* value
Apn |int |my_socketpair |int family|int type|int protocol|int fd[2]
-#ifdef PERL_COPY_ON_WRITE
+#ifdef PERL_OLD_COPY_ON_WRITE
pMXE |SV* |sv_setsv_cow |SV* dsv|SV* ssv
#endif
#if defined(USE_PERLIO) && !defined(USE_SFIO)
-Ap |int |PerlIO_close |PerlIO *
-Ap |int |PerlIO_fill |PerlIO *
-Ap |int |PerlIO_fileno |PerlIO *
-Ap |int |PerlIO_eof |PerlIO *
-Ap |int |PerlIO_error |PerlIO *
-Ap |int |PerlIO_flush |PerlIO *
-Ap |void |PerlIO_clearerr |PerlIO *
-Ap |void |PerlIO_set_cnt |PerlIO *|int
-Ap |void |PerlIO_set_ptrcnt |PerlIO *|STDCHAR *|int
-Ap |void |PerlIO_setlinebuf |PerlIO *
-Ap |SSize_t|PerlIO_read |PerlIO *|void *|Size_t
-Ap |SSize_t|PerlIO_write |PerlIO *|const void *|Size_t
-Ap |SSize_t|PerlIO_unread |PerlIO *|const void *|Size_t
-Ap |Off_t |PerlIO_tell |PerlIO *
-Ap |int |PerlIO_seek |PerlIO *|Off_t|int
+Ap |int |PerlIO_close |PerlIO *f
+Ap |int |PerlIO_fill |PerlIO *f
+Ap |int |PerlIO_fileno |PerlIO *f
+Ap |int |PerlIO_eof |PerlIO *f
+Ap |int |PerlIO_error |PerlIO *f
+Ap |int |PerlIO_flush |PerlIO *f
+Ap |void |PerlIO_clearerr |PerlIO *f
+Ap |void |PerlIO_set_cnt |PerlIO *f|int cnt
+Ap |void |PerlIO_set_ptrcnt |PerlIO *f|NN STDCHAR *ptr|int cnt
+Ap |void |PerlIO_setlinebuf |PerlIO *f
+Ap |SSize_t|PerlIO_read |PerlIO *f|NN void *buf|Size_t count
+Ap |SSize_t|PerlIO_write |PerlIO *f|NN const void *buf|Size_t count
+Ap |SSize_t|PerlIO_unread |PerlIO *f|NN const void *buf|Size_t count
+Ap |Off_t |PerlIO_tell |PerlIO *f
+Ap |int |PerlIO_seek |PerlIO *f|Off_t offset|int whence
-Ap |STDCHAR *|PerlIO_get_base |PerlIO *
-Ap |STDCHAR *|PerlIO_get_ptr |PerlIO *
-Ap |int |PerlIO_get_bufsiz |PerlIO *
-Ap |int |PerlIO_get_cnt |PerlIO *
+Ap |STDCHAR *|PerlIO_get_base |PerlIO *f
+Ap |STDCHAR *|PerlIO_get_ptr |PerlIO *f
+Ap |int |PerlIO_get_bufsiz |PerlIO *f
+Ap |int |PerlIO_get_cnt |PerlIO *f
Ap |PerlIO *|PerlIO_stdin
Ap |PerlIO *|PerlIO_stdout
|I32 stack_max|I32 mark_min|I32 mark_max
#endif
-pd |PADLIST*|pad_new |int flags
+pda |PADLIST*|pad_new |int flags
pd |void |pad_undef |CV* cv
pd |PADOFFSET|pad_add_name |NN const char *name\
|HV* typestash|HV* ourstash \
|bool clone
pd |PADOFFSET|pad_add_anon |SV* sv|OPCODE op_type
-pd |void |pad_check_dup |const char* name|bool is_our|const HV* ourstash
+pd |void |pad_check_dup |NN const char* name|bool is_our|NN const HV* ourstash
#ifdef DEBUGGING
-pd |void |pad_setsv |PADOFFSET po|SV* sv
+pd |void |pad_setsv |PADOFFSET po|NN SV* sv
#endif
pd |void |pad_block_start|int full
pd |void |pad_tidy |padtidy_type type
-pd |void |do_dump_pad |I32 level|PerlIO *file \
- |PADLIST *padlist|int full
-pd |void |pad_fixup_inner_anons|PADLIST *padlist|CV *old_cv|CV *new_cv
+pd |void |do_dump_pad |I32 level|NN PerlIO *file|PADLIST *padlist|int full
+pd |void |pad_fixup_inner_anons|NN PADLIST *padlist|CV *old_cv|CV *new_cv
-pd |void |pad_push |PADLIST *padlist|int depth
-p |HV* |pad_compname_type|const PADOFFSET po
+pd |void |pad_push |NN PADLIST *padlist|int depth
+pR |HV* |pad_compname_type|const PADOFFSET po
#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
sd |PADOFFSET|pad_findlex |const char *name|const CV* cv|U32 seq|int warn \
|SV** out_capture|SV** out_name_sv \
|int *out_flags
# if defined(DEBUGGING)
-sd |void |cv_dump |const CV *cv|const char *title
+sd |void |cv_dump |NN const CV *cv|NN const char *title
# endif
#endif
pdR |CV* |find_runcv |U32 *db_seqp
p |int |get_debug_opts |const char **s|bool givehelp
#endif
Ap |void |save_set_svflags|SV* sv|U32 mask|U32 val
-Apod |void |hv_assert |HV* tb
-
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-sM |SV* |hv_delete_common|HV* tb|SV* key_sv|const char* key|STRLEN klen|int k_flags|I32 d_flags|U32 hash
-sM |HE* |hv_fetch_common|HV* tb|SV* key_sv|const char* key|STRLEN klen|int flags|int action|SV* val|U32 hash
-#endif
+Apod |void |hv_assert |NN HV* tb
-Apd |void |hv_clear_placeholders|HV* hb
+ApdR |SV* |hv_scalar |NN HV* hv
+ApoR |I32* |hv_riter_p |NN HV* hv
+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|HE* eiter
+Apo |void |hv_name_set |NN HV* hv|const char *name|I32 len|int flags
+Apd |void |hv_clear_placeholders |NN HV* hb
+ApoR |I32* |hv_placeholders_p |NN HV* hv
+ApoR |I32 |hv_placeholders_get |NN HV* hv
+Apo |void |hv_placeholders_set |NN HV* hv|I32 ph
-Apd |SV* |hv_scalar |HV* hv|
-
-Apo |I32* |hv_placeholders_p |HV* hv
-Apo |I32 |hv_placeholders_get |HV* hv
-Apo |void |hv_placeholders_set |HV* hv|I32 ph
-
-p |SV* |magic_scalarpack|HV* hv|MAGIC* mg
+p |SV* |magic_scalarpack|NN HV* hv|NN MAGIC* mg
#ifdef PERL_IN_SV_C
sMd |SV* |find_uninit_var|OP* obase|SV* uninit_sv|bool top
#endif
Ap |GV* |gv_fetchpvn_flags|const char* name|STRLEN len|I32 flags|I32 sv_type
Ap |GV* |gv_fetchsv|SV *name|I32 flags|I32 sv_type
-dp |bool |is_gv_magical_sv|SV *name|U32 flags
+dpR |bool |is_gv_magical_sv|NN SV *name|U32 flags
+
+ApR |bool |stashpv_hvname_match|NN const COP *cop|NN const HV *hv
-Apd |char* |savesvpv |SV* sv
+#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
+p |void |dump_sv_child |SV *sv
+#endif
+
+#ifdef PERL_DONT_CREATE_GVSV
+Ap |GV* |gv_SVadd |NN GV* gv
+#endif
END_EXTERN_C
+/*
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */