: real (full) name, with any appropriate thread context paramaters, thus hiding
: that detail from the typical code.
:
-: Most macros listed here are the complete full name.
+: Most macros (as opposed to function) listed here are the complete full name.
:
: All non-static functions defined by perl need to be listed in this file.
: embed.pl uses the entries here to construct:
: 2) embed.h to create short name macros
:
: Static functions internal to a file need not appear here, but there is
-: benefit to declaring them here, as it generally handles the thread context
-: parameter invisibly, as well as making sure a PERL_ARGS_ASSERT_foo macro is
-: defined, which can save you debugging time.
+: benefit to declaring them here:
+: 1) It generally handles the thread context parameter invisibly making it
+: trivial to add or remove needing thread context passed;
+: 2) It defines a PERL_ARGS_ASSERT_foo macro, which can save you debugging
+: time;
+: 3) It is is automatically known to Devel::PPPort, making it quicker to
+: later find out when it came into existence. For example
+: perl ppport.h --api-info=/edit_distance/
+: yields
+: Supported at least since perl-5.23.8, with or without ppport.h.
:
: Lines in this file are of the form:
: flags|return_type|name|arg1|arg2|...|argN
: function in its full 'Perl_' form with any necessary thread
: context parameter.
:
+: Just below is a description of the relevant parts of the automatic
+: documentation generation system which heavily involves this file. Below that
+: is a description of all the flags used in this file.
+:
: Scattered around the perl source are lines of the form:
:
: =for apidoc name
+: =for apidoc_item name
+:
+: followed by pod for that function. The purpose of these lines and the text
+: that immediately follows them is to furnish documentation for functions
+: and macros listed here in embed.fnc. The lines tend to be placed near the
+: source for the item they describe. autodoc.pl is run as part of the standard
+: build process to extract this documentation and build perlapi.pod from the
+: elements that are in the API (flagged as A in this file), and perlintern.pod
+: from the other elements.
+:
+: 'name' in the apidoc line corresponds to an item listed in this file, so that
+: the signature and flags need only be specified once, here, and automatically
+: they get placed into the generated pod.
+:
+: 'apidoc_item' is used for subsidiary entries, which share the same pod as the
+: plain apidoc one does. Thus the documentation for functions which do
+: essentially the same thing, but with minor differences can all be placed in
+: the same entry. The apidoc_item lines must all come after the apidoc line
+: and before the pod for the entry.
+:
+: The entries in this file that have corresponding '=for apidoc' entries must
+: have the 'd' flag set in this file.
+:
+: In C files, the apidoc lines are inside comment blocks. They may also be
+: placed in pod files. In those, the =for causes lines from there until the
+: next line beginning with an '=' to not be considered part of that pod.
+:
+: The 'h' flag is used to hide (suppress) the pod associated with =apidoc lines
+: from being placed in the generated perlapi or perlintern. There are several
+: reasons you might want to do this, given in the 'h' flag description below,
+: but one is for the case where the =apidoc occurs in a file that contains
+: regular pod. Without that flag, the associated pod will be placed in both
+: it, and perlapi or perlintern. That may be what you want, but it gives you
+: the flexibility to choose that, or instead have just a link to the source pod
+: inserted in perlapi or perlintern. This allows single-source browsing for
+: someone; they don't have to scan multiple pods trying to find something
+: suitable.
+:
+: There are also lines of this form scattered around the perl
+: source:
+:
+: =for apidoc_section Section Name
+: =head1 Section Name
+:
+: These aren't tied to this embed.fnc file, and so are documented in autodoc.pl.
+:
+: What goes into the documentation of a particular function ends with the next
+: line that begins with an '='. In particular, an '=cut' line ends that
+: documentation without introducing something new.
+:
+: Various macros and other elements aren't listed here in embed.fnc. They are
+: documented in the same manner, but since they don't have this file to get
+: information from, the defining lines have the syntax and meaning they do in
+: this file, so it can be specified:
+:
+: =for apidoc flags|return_type|name|arg1|arg2|...|argN
+: =for apidoc_item flags|return_type|name|arg1|arg2|...|argN
:
-: followed by pod for that function. The purpose of these is to tell
-: autodoc.pl where the documentation is for a function listed in this file. It
-: uses the prototype from here and the pod from there in generating the
-: documentation in perlapi or perlintern. The entries in this file that have
-: corresponding '=for apidoc' entries should have the 'd' flag set in this
-: file.
+: 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' or 'y', indicating it is not a function.
:
-: There are also lines of this form scattered around:
+: 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
+: generally empty, and in fact, the only flags it can have are ones directly
+: related to its display. For example it might have the T flag to indicate no
+: thread context parameter is used, whereas the apidoc entry does have a thread
+: context. Here is an example:
:
-: =for apidoc flags|return_type|name|arg1|arg2|...|argN
+: =for apidoc Am|char* |SvPV |SV* sv|STRLEN len
+: =for apidoc_item |const char*|SvPV_const |SV* sv|STRLEN len
+: =for apidoc_item |char* |SvPV_nolen |SV* sv
+:
+: Since these are macros, the arguments need not be legal C parameters. To
+: indicate this to downstream software that inspects these lines, there are a
+: few conventions. An example would be:
:
-: and with the same meanings as the lines in this file. These are for
-: documenting macros. 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 must be
-: 'm', indicating it is a macro. The lines following these are pod for the
-: respective macro. Since these are macros, the arguments need not be legal C
-: parameters. To indicate this to downstream software that inspects these
-: lines, there are a few conventions:
-: type should be the entire argument name if it names a type
-: cast should be the entire argument name if it is a cast
-: SP should be the entire argument name if it is the stack pointer SP
-: block should be the entire argument name if it is a C brace-enclosed block
-:
-: The letters above are exact. For example, you have to have 't', 'y', 'p',
-: and 'e' literally. Here is an example:
: =for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast
:
-: Additionally, an argument can be some word(s) enclosed in double quotes to
-: indicate that it has to be a string, instead of a const char * const, like this
-: =for apidoc Ama|SV*|newSVpvs|"string"
+: In this example, a real call of Newxc, 'type' would be specified as something
+: like 'int' or 'char', and 'cast' by perhaps 'struct foo'.
+:
+: The complete list of conventions is:
+: type the argument names a type
+: cast the argument names a type which the macro casts to
+: SP the argument is the stack pointer, SP
+: block the argument is a C brace-enclosed block
+: number the argument is a C numeric constant, like 3
+: token the argument is a generic C preprocessor token, like abc
+: "string" the argument is a literal C double-quoted string; what's important
+: here are the quotes; for clarity, you can say whatever you want
+: inside them
+:
+: Unlike other arguments, none of these is of the form 'int name'. There is no
+: name.
+:
+: If any argument or return value is not one of the above, and isn't legal C
+: language, the entry still can be specified, using the 'u' flag.
:
-: If any argument or return value is not one of the above, and isn't a legal C
-: language one, the 'u' flag should be specified.
+: 'return_type' in these lines can be empty, unlike in this file:
:
-: Again, autodoc uses these lines to construct perlapi. 'return_type' in these
-: lines can be empty, unlike in this file.
+: =for apidoc Amnu||START_EXTERN_C
:
: Devel::PPPort also looks at both this file and the '=for apidoc' lines. In
-: part it is to construct lists of functions that are or are not backported.
+: part it is to construct lists of elements that are or are not backported.
:
: makedef.pl uses this file for constructing the export list which lists the
: symbols that should be available on all platforms.
: 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
: proto.h: PERL_ARGS_ASSERT macro is not defined unless the function
: has NN arguments
:
-: h Hide any documentation. This is used when the documentation is atypical
-: of the rest of perlapi and perlintern. In other words the item is
-: documented, but just not the standard way. One reason would be if there
-: are a bunch of macros which follow a common paradigm in their naming, so
-: rather than having an entry for each slight variation, there is an
-: overarchinge one. It is also used when the documentation is in another
-: pod, such as perlguts or warnings.h. This flag is useful for downstream
-: programs, such as Devel::PPPort.
-:
-: I This flag works exactly the same as 'i' but it also adds
-: __attribute__((always_inline)) or __forceinline if either of them is
-: supported by the compiler.
-:
-: proto.h: function is declared as PERL_STATIC_FORCE_INLINE and
-: __attribute__always_inline__ is added
+: h Hide any documentation that would normally go into perlapi or
+: perlintern. This is typically used when the documentation is actually
+: in another pod. If you don't use the 'h', that documentation is
+: displayed in both places; with the flag, it stays in the pod, and a
+: link to that pod is instead placed in perlapi or perlintern. This
+: allows one to browse perlapi or perlintern and see all the potentially
+: relevant elements. A good example is perlapio. It has documentation
+: about PerlIO functions with other text giving context. There's no point
+: in writing a second entry for perlapi, but it would be good if someone
+: browsing perlapi knew about it. By adding '=for apidoc' lines in
+: perlapio, the appropriate text could be simply copied into perlapi if
+: deemed appropriate, or just a link added there when the 'h' flag is
+: specified.
+: This flag is useful for symbolic names for flags. A single =for apidoc
+: line can be added to the pod where the meaning is discussed, and perlapi
+: will list the name, with a link to the pod. Another use would be if
+: there are a bunch of macros which follow a common paradigm in their
+: naming, so rather than having an entry for each slight variation, there
+: is an overarching one. This flag is useful for downstream programs,
+: such as Devel::PPPort.
:
: i inline static. This is used for functions that the compiler is being
: requested to inline. If the function is in a header file its
: definition will be visible (unless guarded by #if..#endif) to all
: XS code. (A typical guard will be that it is being included in a
: particular C file(s) or in the perl core.) Therefore, all
-: non-guarded function should also have the 'p' flag specified to avoid
+: non-guarded functions should also have the 'p' flag specified to avoid
: polluting the XS code name space. Otherwise an error is generated if
: the 'S' flag is not also specified.
:
: proto.h: function is declared as PERL_STATIC_INLINE
:
+: I This flag works exactly the same as 'i' but it also adds
+: __attribute__((always_inline)) or __forceinline if either of them is
+: supported by the compiler.
+:
+: proto.h: function is declared as PERL_STATIC_FORCE_INLINE and
+: __attribute__always_inline__ is added
+:
: m Implemented as a macro; there is no function associated with this name,
: and hence no long Perl_ or S_ name. However, if the macro name itself
: begins with 'Perl_', autodoc.pl will show a thread context parameter
: 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.
:
+: Perhaps a better name for this flag would have been '0'. The reason the
+: flag was not changed to that from 'n', is if D:P were to be regenerated
+: on an older perl, it still would use the new embed.fnc shipped with it,
+: but would be using the flags from the older perl source code.
+:
+:
: O Has a perl_ compatibility macro.
:
: The really OLD name for API funcs.
:
: gcc has a bug (which they claim is a feature) in which casting the
: result of one of these to (void) doesn't silence the warning that the
-: result is ignored.
+: result is ignored. (Perl has a workaround for this bug, see
+: PERL_UNUSED_RESULT docs)
:
: proto.h: add __attribute__warn_unused_result__
:
:
: For example, the expansion of STR_WITH_LEN is a comma separated pair of
: values, so would have this flag; or some macros take preprocessor
-: tokens, so would have this flag. This flag is an indication to
-: downstream tools, such as Devel::PPPort, that this requires special
-: handling.
+: tokens, so would have this flag.
+:
+: This also is used for entries that require processing for use, such as
+: being compiled by xsubpp. This flag is an indication to downstream
+: tools, such as Devel::PPPort, that this requires special handling.
:
: U autodoc.pl will not output a usage example
:
: 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
-AidRp |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
Apdoex |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
|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
Tore |void |win32_croak_not_implemented|NN const char * fname
#endif
#if defined(PERL_IMPLICIT_CONTEXT)
-AfTrp |void |croak_nocontext|NULLOK const char* pat|...
-AfTrp |OP* |die_nocontext |NULLOK const char* pat|...
+AdfTrp |void |croak_nocontext|NULLOK const char* pat|...
+AdfTrp |OP* |die_nocontext |NULLOK const char* pat|...
AfTp |void |deb_nocontext |NN const char* pat|...
-AfTp |char* |form_nocontext |NN const char* pat|...
-AFTp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
-AfTp |SV* |mess_nocontext |NN const char* pat|...
-AfTp |void |warn_nocontext |NN const char* pat|...
-AfTp |void |warner_nocontext|U32 err|NN const char* pat|...
-AfTp |SV* |newSVpvf_nocontext|NN const char *const pat|...
-AfTp |void |sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|...
-AfTp |void |sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
-AfTp |void |sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
-AfTp |void |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
+AdfTp |char* |form_nocontext |NN const char* pat|...
+AdFTp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
+AdfTp |SV* |mess_nocontext |NN const char* pat|...
+AdfTp |void |warn_nocontext |NN const char* pat|...
+AdfTp |void |warner_nocontext|U32 err|NN const char* pat|...
+AdfTp |SV* |newSVpvf_nocontext|NN const char *const pat|...
+AdfTp |void |sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|...
+AdfTp |void |sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
+AdfTp |void |sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
+AdfTp |void |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
AbfTpD |int |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
AbfTpD |int |printf_nocontext|NN const char *format|...
#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
-Tp |char* |delimcpy_no_escape|NN char* to|NN const char* toend \
- |NN const char* from \
- |NN const char* fromend|int delim \
- |NN I32* retlen
+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* 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
p |bool|do_exec |NN const char* cmd
#endif
-#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
+#if defined(WIN32) || defined(VMS)
Ap |int |do_aspawn |NULLOK SV* really|NN SV** mark|NN SV** sp
Ap |int |do_spawn |NN char* cmd
Ap |int |do_spawn_nowait|NN char* cmd
Sd |OP* |traverse_op_tree|NN OP* top|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
+Adp |char* |vform |NN const char* pat|NULLOK va_list* args
+Cp |void |free_tmps
#if defined(PERL_IN_OP_C)
S |void |gen_constant_list|NULLOK OP* o
#endif
|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 add|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)
AbMdp |SV** |hv_fetch |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 lval
AbMdp |HE* |hv_fetch_ent |NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
-Ap |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
+Cp |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
|NULLOK const char* key|STRLEN klen|int flags \
|int action|NULLOK SV *val|U32 hash
-Ap |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \
+Cp |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \
|I32 klen_i32|const int action|NULLOK SV *val \
|const U32 hash
Apod |STRLEN |hv_fill |NN HV *const hv
AdiTp |I32 |foldEQ |NN const char* a|NN const char* b|I32 len
AdmP |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
AiTpd |I32 |foldEQ_locale |NN const char* a|NN const char* b|I32 len
-Am |I32 |ibcmp_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
+Adm |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
Amd |I32 |foldEQ_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
Cp |I32 |foldEQ_utf8_flags |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2|U32 flags
-AiTp |I32 |foldEQ_latin1 |NN const char* a|NN const char* b|I32 len
+CiTp |I32 |foldEQ_latin1 |NN const char* a|NN const char* b|I32 len
#if defined(PERL_IN_DOIO_C)
SR |bool |ingroup |Gid_t testgid|bool effective
#endif
#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
Apd |void |my_setenv |NULLOK const char* nam|NULLOK const char* val
ApMb |I32 |my_stat
pX |I32 |my_stat_flags |NULLOK const U32 flags
-Afp |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
+Adfp |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
: Used in pp_ctl.c
p |void |my_unexec
CbDTPR |UV |NATIVE_TO_NEED |const UV enc|const UV ch
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\
ApdR |SV* |newSVpvn_share |NULLOK const char* s|I32 len|U32 hash
ApdR |SV* |newSVpv_share |NULLOK const char* s|U32 hash
AfpdR |SV* |newSVpvf |NN const char *const pat|...
-ApR |SV* |vnewSVpvf |NN const char *const pat|NULLOK va_list *const args
+ApRd |SV* |vnewSVpvf |NN const char *const pat|NULLOK va_list *const args
Apd |SV* |newSVrv |NN SV *const rv|NULLOK const char *const classname
ApMbdR |SV* |newSVsv |NULLOK SV *const old
AmdR |SV* |newSVsv_nomg |NULLOK SV *const old
: Defined in doio.c, used only in pp_hot.c
dopx |PerlIO*|start_glob |NN SV *tmpglob|NN IO *io
-Ap |void |reentrant_size
-Ap |void |reentrant_init
-Ap |void |reentrant_free
-AFTp |void* |reentrant_retry|NN const char *f|...
+Cp |void |reentrant_size
+Cp |void |reentrant_init
+Cp |void |reentrant_free
+CFTp |void* |reentrant_retry|NN const char *f|...
: "Very" special - can't use the O flag for this one:
: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
ApdO |I32 |call_method |NN const char* methname|I32 flags
ApdO |I32 |call_pv |NN const char* sub_name|I32 flags
ApdO |I32 |call_sv |NN SV* sv|volatile I32 flags
-Ap |void |despatch_signals
+Cp |void |despatch_signals
Ap |OP * |doref |NN OP *o|I32 type|bool set_op_ref
ApdO |SV* |eval_pv |NN const char* p|I32 croak_on_error
ApdO |I32 |eval_sv |NN SV* sv|I32 flags
ApxT |void |thread_locale_init
ApxT |void |thread_locale_term
ApdO |void |require_pv |NN const char* pv
-AbpdM |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \
+AbpdD |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \
|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
Apd |void |packlist |NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
Ap |void |pop_scope
Ap |void |push_scope
#if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C)
-ApMb |OP* |ref |NULLOK OP* o|I32 type
+pMb |OP* |ref |NULLOK OP* o|I32 type
#endif
#if defined(PERL_IN_OP_C)
S |OP* |refkids |NULLOK OP* o|I32 type
Ap |I32 |save_alloc |I32 size|I32 pad
Apdh |void |save_aptr |NN AV** aptr
Apdh |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
+Cp |void |save_bool |NN bool* boolp
+Cp |void |save_clearsv |NN SV** svp
+Cp |void |save_delete |NN HV *hv|NN char *key|I32 klen
Ap |void |save_hdelete |NN HV *hv|NN SV *keysv
Ap |void |save_adelete |NN AV *av|SSize_t key
-Ap |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
-Ap |void |save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
-ApMb |void |save_freesv |NULLOK SV* sv
+Cp |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
+Cp |void |save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
+CpMb |void |save_freesv |NULLOK SV* sv
: Used in SAVEFREOP(), used in op.c, pp_ctl.c
-ApMb |void |save_freeop |NULLOK OP* o
-ApMb |void |save_freepv |NULLOK char* pv
+CpMb |void |save_freeop |NULLOK OP* o
+CpMb |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
Am |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
Apdh |void |save_hptr |NN HV** hptr
-Ap |void |save_I16 |NN I16* intp
-Ap |void |save_I32 |NN I32* intp
-Ap |void |save_I8 |NN I8* bytep
-Ap |void |save_int |NN int* intp
+Cp |void |save_I16 |NN I16* intp
+Cp |void |save_I32 |NN I32* intp
+Cp |void |save_I8 |NN I8* bytep
+Cp |void |save_int |NN int* intp
Apdh |void |save_item |NN SV* item
-Ap |void |save_iv |NN IV *ivp
+Cp |void |save_iv |NN IV *ivp
AbpDdh |void |save_list |NN SV** sarg|I32 maxsarg
-AbpD |void |save_long |NN long* longp
-ApMb |void |save_mortalizesv|NN SV* sv
+CbpD |void |save_long |NN long* longp
+CpMb |void |save_mortalizesv|NN SV* sv
AbpD |void |save_nogv |NN GV* gv
: Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
ApMb |void |save_op
Apdh |SV* |save_scalar |NN GV* gv
-Ap |void |save_pptr |NN char** pptr
+Cp |void |save_pptr |NN char** pptr
Ap |void |save_vptr |NN void *ptr
-Ap |void |save_re_context
+Cp |void |save_re_context
Ap |void |save_padsv_and_mortalize|PADOFFSET off
-Ap |void |save_sptr |NN SV** sptr
+Cp |void |save_sptr |NN SV** sptr
Xp |void |save_strlen |NN STRLEN* ptr
Apdh |SV* |save_svref |NN SV** sptr
Axpo |void |savetmps
#ifdef PERL_USE_3ARG_SIGHANDLER
: Used in perl.c
Tp |Signal_t |sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
-ATp |Signal_t |csighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
+CTp |Signal_t |csighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
#else
Tp |Signal_t |sighandler |int sig
-ATp |Signal_t |csighandler |int sig
+CTp |Signal_t |csighandler |int sig
#endif
Tp |Signal_t |sighandler1 |int sig
-ATp |Signal_t |csighandler1 |int sig
+CTp |Signal_t |csighandler1 |int sig
Tp |Signal_t |sighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
-ATp |Signal_t |csighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
-ATp |Signal_t |perly_sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap|bool safe
+CTp |Signal_t |csighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
+CTp |Signal_t |perly_sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap|bool safe
Ap |SV** |stack_grow |NN SV** sp|NN SV** p|SSize_t n
Ap |I32 |start_subparse |I32 is_format|U32 flags
Xp |void |init_named_cv |NN CV *cv|NN OP *nameop
: Used in pp_ctl.c
p |void |sub_crush_depth|NN CV* cv
-ApbMd |bool |sv_2bool |NN SV *const sv
-Apd |bool |sv_2bool_flags |NN SV *sv|I32 flags
+CpbMd |bool |sv_2bool |NN SV *const sv
+Cpd |bool |sv_2bool_flags |NN SV *sv|I32 flags
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
: Used in pp.c, pp_hot.c, sv.c
pxd |SV* |sv_2num |NN SV *const sv
ApMb |char* |sv_2pv |NN SV *sv|NULLOK STRLEN *lp
-Apd |char* |sv_2pv_flags |NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
+Apd |char* |sv_2pv_flags |NN SV *const sv|NULLOK STRLEN *const lp|const U32 flags
ApdMb |char* |sv_2pvutf8 |NN SV *sv|NULLOK STRLEN *const lp
Ap |char* |sv_2pvutf8_flags |NN SV *sv|NULLOK STRLEN *const lp|const U32 flags
ApdMb |char* |sv_2pvbyte |NN SV *sv|NULLOK STRLEN *const lp
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
-Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
+Apdh |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
|NN char* strend|NN char* strbeg \
|SSize_t minend |NN SV* screamer|U32 nosave
Ap |void |pregfree |NULLOK REGEXP* r
-Ap |void |pregfree2 |NN REGEXP *rx
+Cp |void |pregfree2 |NN REGEXP *rx
: FIXME - is anything in re using this now?
EXp |REGEXP*|reg_temp_copy |NULLOK REGEXP* dsv|NN REGEXP* ssv
-Ap |void |regfree_internal|NN REGEXP *const rx
+Cp |void |regfree_internal|NN REGEXP *const rx
#if defined(USE_ITHREADS)
-Ap |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
+Cp |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
#endif
EXp |regexp_engine const *|current_re_engine
-Ap |REGEXP*|pregcomp |NN SV * const pattern|const U32 flags
+Apdh |REGEXP*|pregcomp |NN SV * const pattern|const U32 flags
p |REGEXP*|re_op_compile |NULLOK SV ** const patternp \
|int pat_count|NULLOK OP *expr \
|NN const regexp_engine* eng \
|const U32 flags \
|NULLOK re_scream_pos_data *data
Cp |SV* |re_intuit_string|NN REGEXP *const r
-Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
+Cp |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
|NN char *strend|NN char *strbeg \
|SSize_t minend|NN SV *sv \
|NULLOK void *data|U32 flags
|NULLOK SV * const value|const U32 flags
EXp |SV*|reg_named_buff_iter |NN REGEXP * const rx|NULLOK const SV * const lastkey \
|const U32 flags
-Ap |SV*|reg_named_buff_fetch |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
-Ap |bool|reg_named_buff_exists |NN REGEXP * const rx|NN SV * const key|const U32 flags
-Ap |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
-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
+Cp |SV*|reg_named_buff_fetch |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
+Cp |bool|reg_named_buff_exists |NN REGEXP * const rx|NN SV * const key|const U32 flags
+Cp |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
+Cp |SV*|reg_named_buff_nextkey |NN REGEXP * const rx|const U32 flags
+Cp |SV*|reg_named_buff_scalar |NN REGEXP * const rx|const U32 flags
+Cp |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
EpX |SV* |invlist_clone |NN SV* const invlist|NULLOK SV* newlist
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
-EiRT |bool |regcurly |NN const char *s
+EXpRT |bool |regcurly |NN const char *s
#endif
#if defined(PERL_IN_REGEXEC_C)
ERS |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character|NN const U8* e
|NN STRLEN *lenp
#endif
#if defined(UNLINK_ALL_VERSIONS)
-Ap |I32 |unlnk |NN const char* f
+Cp |I32 |unlnk |NN const char* f
#endif
AbpdD |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \
|NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
Apd |int |bytes_cmp_utf8 |NN const U8 *b|STRLEN blen|NN const U8 *u \
|STRLEN ulen
AMxdp |U8* |bytes_from_utf8|NN const U8 *s|NN STRLEN *lenp|NN bool *is_utf8p
-AxTp |U8* |bytes_from_utf8_loc|NN const U8 *s \
+CxTdp |U8* |bytes_from_utf8_loc|NN const U8 *s \
|NN STRLEN *lenp \
|NN bool *is_utf8p \
|NULLOK const U8 ** first_unconverted
|NULLOK STRLEN *retlen \
|const U32 flags \
|NULLOK U32 * errors
-AxTdip |UV |utf8n_to_uvchr_msgs|NN const U8 *s \
+ATdip |UV |utf8n_to_uvchr_msgs|NN const U8 *s \
|STRLEN curlen \
|NULLOK STRLEN *retlen \
|const U32 flags \
Adm |U8* |uvchr_to_utf8 |NN U8 *d|UV uv
Cp |U8* |uvuni_to_utf8 |NN U8 *d|UV uv
Adm |U8* |uvchr_to_utf8_flags |NN U8 *d|UV uv|UV flags
-Admx |U8* |uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs
+Adm |U8* |uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs
CMpd |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags
Cp |U8* |uvoffuni_to_utf8_flags_msgs|NN U8 *d|UV uv|const UV flags|NULLOK HV** msgs
CdpbD |U8* |uvuni_to_utf8_flags |NN U8 *d|UV uv|UV flags
Apd |void |warn_sv |NN SV *baseex
Afpd |void |warn |NN const char* pat|...
Apd |void |vwarn |NN const char* pat|NULLOK va_list* args
-Afp |void |warner |U32 err|NN const char* pat|...
-Afp |void |ck_warner |U32 err|NN const char* pat|...
-Afp |void |ck_warner_d |U32 err|NN const char* pat|...
-Ap |void |vwarner |U32 err|NN const char* pat|NULLOK va_list* args
+Adfp |void |warner |U32 err|NN const char* pat|...
+Adfp |void |ck_warner |U32 err|NN const char* pat|...
+Adfp |void |ck_warner_d |U32 err|NN const char* pat|...
+Adp |void |vwarner |U32 err|NN const char* pat|NULLOK va_list* args
#ifdef USE_C_BACKTRACE
pd |Perl_c_backtrace*|get_c_backtrace|int max_depth|int skip
dm |void |free_c_backtrace|NN Perl_c_backtrace* bt
#endif
: FIXME
p |void |watch |NN char** addr
-Am |I32 |whichsig |NN const char* sig
-Ap |I32 |whichsig_sv |NN SV* sigsv
-Ap |I32 |whichsig_pv |NN const char* sig
-Ap |I32 |whichsig_pvn |NN const char* sig|STRLEN len
+Amd |I32 |whichsig |NN const char* sig
+Apd |I32 |whichsig_sv |NN SV* sigsv
+Apd |I32 |whichsig_pv |NN const char* sig
+Apd |I32 |whichsig_pvn |NN const char* sig|STRLEN len
: used to check for NULs in pathnames and other names
AiRdp |bool |is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
#ifdef PERL_CORE
ATpR |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
ATp |Free_t |safesysfree |Malloc_t where
CrTp |void |croak_memory_wrap
-#if defined(PERL_GLOBAL_STRUCT)
-Ap |struct perl_vars *|GetVars
-Ap |struct perl_vars*|init_global_struct
-Ap |void |free_global_struct|NN struct perl_vars *plvarsp
-#endif
Ap |int |runops_standard
Ap |int |runops_debug
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 \
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 |NULLOK const MAGIC *mg
-Ap |void |reginitcolors
+Cp |void |reginitcolors
CpdRMb |char* |sv_2pv_nolen |NN SV* sv
CpdRMb |char* |sv_2pvutf8_nolen|NN SV* sv
CpdRMb |char* |sv_2pvbyte_nolen|NN SV* sv
: 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
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
-Ap |void |re_dup_guts |NN const REGEXP *sstr|NN REGEXP *dstr \
+Adp |void |re_dup_guts |NN const REGEXP *sstr|NN REGEXP *dstr \
|NN CLONE_PARAMS* param
Ap |PerlIO*|fp_dup |NULLOK PerlIO *const fp|const char type|NN CLONE_PARAMS *const param
ApR |DIR* |dirp_dup |NULLOK DIR *const dp|NN CLONE_PARAMS *const param
#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 I32 flags
+Apd |char* |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const U32 flags
AdpMb |void |sv_copypv |NN SV *const dsv|NN SV *const ssv
Amd |void |sv_copypv_nomg |NN SV *const dsv|NN SV *const ssv
Apd |void |sv_copypv_flags |NN SV *const dsv|NN SV *const ssv|const I32 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
p |CV* |cv_clone_into |NN CV* proto|NN CV *target
pd |void |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
pdX |void |pad_push |NN PADLIST *padlist|int depth
-ApbdRM |HV* |pad_compname_type|const PADOFFSET po
+ApbdDR |HV* |pad_compname_type|const PADOFFSET po
AxpdRT |PADNAME *|padnamelist_fetch|NN PADNAMELIST *pnl|SSize_t key
Xop |void |padnamelist_free|NN PADNAMELIST *pnl
Axpd |PADNAME **|padnamelist_store|NN PADNAMELIST *pnl|SSize_t key \
|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
#if defined(PERL_IN_UTIL_C)
S |bool |ckwarn_common |U32 w
#endif
-ApoP |bool |ckwarn |U32 w
-ApoP |bool |ckwarn_d |U32 w
+CpoP |bool |ckwarn |U32 w
+CpoP |bool |ckwarn_d |U32 w
: FIXME - exported for ByteLoader - public or private?
XEopxR |STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
|NN const char *const bits|STRLEN size
pe |void |my_clearenv
#ifdef PERL_IMPLICIT_CONTEXT
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-Apo |void* |my_cxt_init |NN const char *my_cxt_key|size_t size
-Apo |int |my_cxt_index |NN const char *my_cxt_key
-#else
Apo |void* |my_cxt_init |NN int *indexp|size_t size
#endif
-#endif
#if defined(PERL_IN_UTIL_C)
So |void |xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
|STRLEN xs_len
: Used by SvRX and SvRXOK
XExop |REGEXP *|get_re_arg|NULLOK SV *sv
-Aopdh |SV* |mro_get_private_data|NN struct mro_meta *const smeta \
+Coph |SV* |mro_get_private_data|NN struct mro_meta *const smeta \
|NN const struct mro_alg *const which
Aopdh |SV* |mro_set_private_data|NN struct mro_meta *const smeta \
|NN const struct mro_alg *const which \
pde |void |mro_package_moved |NULLOK HV * const stash|NULLOK HV * const oldstash|NN const GV * const gv|U32 flags
: Only used in perl.c
p |void |boot_core_mro
-ApoT |void |sys_init |NN int* argc|NN char*** argv
-ApoT |void |sys_init3 |NN int* argc|NN char*** argv|NN char*** env
-ApoT |void |sys_term
+CpoT |void |sys_init |NN int* argc|NN char*** argv
+CpoT |void |sys_init3 |NN int* argc|NN char*** argv|NN char*** env
+CpoT |void |sys_term
Apxd |const char *|cop_fetch_label|NN COP *const cop \
|NULLOK STRLEN *len|NULLOK U32 *flags
: Only used in op.c and the perl compiler
|U8 gimme|int filter
#ifndef PERL_NO_INLINE_FUNCTIONS
-Aixp |U8 |gimme_V |
-Aixp |PERL_CONTEXT * |cx_pushblock|U8 type|U8 gimme|NN SV** sp|I32 saveix
-Aixp |void |cx_popblock|NN PERL_CONTEXT *cx
-Aixp |void |cx_topblock|NN PERL_CONTEXT *cx
-Aixp |void |cx_pushsub |NN PERL_CONTEXT *cx|NN CV *cv \
+Cixp |U8 |gimme_V |
+Cixp |PERL_CONTEXT * |cx_pushblock|U8 type|U8 gimme|NN SV** sp|I32 saveix
+Cixp |void |cx_popblock|NN PERL_CONTEXT *cx
+Cixp |void |cx_topblock|NN PERL_CONTEXT *cx
+Cixp |void |cx_pushsub |NN PERL_CONTEXT *cx|NN CV *cv \
|NULLOK OP *retop|bool hasargs
-Aixp |void |cx_popsub_common|NN PERL_CONTEXT *cx
-Aixp |void |cx_popsub_args |NN PERL_CONTEXT *cx
-Aixp |void |cx_popsub |NN PERL_CONTEXT *cx
-Aixp |void |cx_pushformat |NN PERL_CONTEXT *cx|NN CV *cv \
+Cixp |void |cx_popsub_common|NN PERL_CONTEXT *cx
+Cixp |void |cx_popsub_args |NN PERL_CONTEXT *cx
+Cixp |void |cx_popsub |NN PERL_CONTEXT *cx
+Cixp |void |cx_pushformat |NN PERL_CONTEXT *cx|NN CV *cv \
|NULLOK OP *retop|NULLOK GV *gv
-Aixp |void |cx_popformat |NN PERL_CONTEXT *cx
-Aixp |void |cx_pusheval |NN PERL_CONTEXT *cx \
+Cixp |void |cx_popformat |NN PERL_CONTEXT *cx
+Cixp |void |cx_pusheval |NN PERL_CONTEXT *cx \
|NULLOK OP *retop|NULLOK SV *namesv
-Aixp |void |cx_popeval |NN PERL_CONTEXT *cx
-Aixp |void |cx_pushloop_plain|NN PERL_CONTEXT *cx
-Aixp |void |cx_pushloop_for |NN PERL_CONTEXT *cx \
+Cixp |void |cx_popeval |NN PERL_CONTEXT *cx
+Cixp |void |cx_pushloop_plain|NN PERL_CONTEXT *cx
+Cixp |void |cx_pushloop_for |NN PERL_CONTEXT *cx \
|NN void *itervarp|NULLOK SV *itersave
-Aixp |void |cx_poploop |NN PERL_CONTEXT *cx
-Aixp |void |cx_pushwhen |NN PERL_CONTEXT *cx
-Aixp |void |cx_popwhen |NN PERL_CONTEXT *cx
-Aixp |void |cx_pushgiven |NN PERL_CONTEXT *cx|NULLOK SV *orig_defsv
-Aixp |void |cx_popgiven |NN PERL_CONTEXT *cx
+Cixp |void |cx_poploop |NN PERL_CONTEXT *cx
+Cixp |void |cx_pushwhen |NN PERL_CONTEXT *cx
+Cixp |void |cx_popwhen |NN PERL_CONTEXT *cx
+Cixp |void |cx_pushgiven |NN PERL_CONTEXT *cx|NULLOK SV *orig_defsv
+Cixp |void |cx_popgiven |NN PERL_CONTEXT *cx
#endif
#ifdef USE_DTRACE
XEop |STRLEN*|dup_warnings |NULLOK STRLEN* warnings
+#ifndef USE_ITHREADS
+Amd |void |CopFILEGV_set |NN COP * c|NN GV * gv
+#endif
+
: ex: set ts=8 sts=4 sw=4 noet: