: 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:
:
-: 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.
+: =for apidoc flags|return_type|name|arg1|arg2|...|argN
+: =for apidoc_item flags|return_type|name|arg1|arg2|...|argN
:
-: There are also lines of this form scattered around:
+: 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.
:
-: =for apidoc flags|return_type|name|arg1|arg2|...|argN
+: 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 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
:
-: 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.
+: Unlike other arguments, none of these is of the form 'int name'. There is no
+: name.
:
-: Again, autodoc uses these lines to construct perlapi. 'return_type' in these
-: lines can be empty, unlike in this file.
+: 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.
+:
+: '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.
: 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.
+: 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
: 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. (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.
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
+AMdRp |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
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|...
+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|...
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 |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
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 \
+Tpd |char* |delimcpy_no_escape|NN char* to|NN const char* toend \
+ |NN const char* from \
+ |NN const char* fromend|int delim \
|NN I32* retlen
: Used in op.c, perl.c
px |void |delete_eval_scope
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
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
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 |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
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
|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
|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
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_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
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 |
+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