xref: /openbsd-src/gnu/usr.bin/perl/embed.fnc (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1: BEGIN{die "You meant to run regen/embed.pl"} # Stop early if fed to perl.
2:
3: This file is processed by regen/embed.pl and autodoc.pl
4:
5: Lines are of the form:
6:    flags|return_type|function_name|arg1|arg2|...|argN
7:
8: A line may be continued on another by ending it with a backslash.
9: Leading and trailing whitespace will be ignored in each component.
10:
11: flags are single letters with following meanings:
12:
13:   A  Available fully everywhere (usually part of the public API):
14:
15:         add entry to the list of exported symbols (unless x or m);
16:         any doc entry goes in perlapi.pod rather than perlintern.pod.  If no
17:	     documentation is furnished for this function, and M is also
18:	     specified, the function is not listed as part of the public API.
19:	     If M isn't specified, and no documentation is furnished, the
20:	     function is listed in perlapi as existing and being undocumented
21:         makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
22:
23:      If the function is only exported for use in a public
24:      macro, see X.
25:
26:   a  Allocates memory a la malloc/calloc.  Also implies "R":
27:
28:         proto.h: add __attribute__malloc__
29:
30:   b  Binary backward compatibility; function is a macro
31:      but has also Perl_ implementation (which is exported); often
32:      implemented in mathoms.c (whose compilation can be suppressed; see
33:      INSTALL):
34:
35:         add entry to the list of exported symbols;
36:         don't define PERL_ARGS_ASSERT_FOO
37:
38:   D  Function is deprecated:
39:
40:         proto.h: add __attribute__deprecated__
41:
42:   d  Function has documentation (somewhere) in the source:
43:
44:         enables 'no docs for foo" warning in autodoc.pl
45:
46:   E  Visible to extensions included in the Perl core:
47:
48:         in embed.h, change "#ifdef PERL_CORE"
49:         into               "#if defined(PERL_CORE) || defined(PERL_EXT)"
50:
51:      To be usable from dynamically loaded extensions, either:
52:	  1) must be static to its containing file ("i" or "s" flag); or
53:         2) be combined with the "X" flag.
54:
55:   f  Function takes a format string. If the function name /strftime/
56:      then its assumed to take a strftime-style format string as 1st arg;
57:      otherwise it's assumed to be a printf style format string, varargs
58:      (hence any entry that would otherwise go in embed.h is suppressed):
59:
60:         proto.h: add __attribute__format__ (or ...null_ok__)
61:
62:   i  Static inline: function in source code has a S_ prefix:
63:
64:         proto.h: function is declared as S_foo rather than foo,
65:                PERL_STATIC_INLINE is added to declaration;
66:         embed.h: "#define foo S_foo" entries added
67:
68:   M  May change:
69:
70:         any doc entry is marked that function may change
71:
72:   m  Implemented as a macro:
73:
74:         suppress proto.h entry
75:         suppress entry in the list of exported symbols
76:         suppress embed.h entry
77:
78:   n  Has no implicit interpreter/thread context argument:
79:
80:         suppress the pTHX part of "foo(pTHX...)" in proto.h;
81:         In the PERL_IMPLICIT_SYS branch of embed.h, generates
82:             "#define foo Perl_foo",      rather than
83:             "#define foo(a,b,c) Perl_foo(aTHX_ a,b,c)
84:
85:   O  Has a perl_ compatibility macro.
86:
87:      The really OLD name for API funcs
88:
89:   o  Has no Perl_foo or S_foo compatibility macro:
90:
91:         embed.h: suppress "#define foo Perl_foo"
92:
93:   P  Pure function: no effects except the return value;
94:      return value depends only on params and/or globals:
95:
96:         proto.h: add __attribute__pure__
97:
98:   p  Function in source code has a Perl_ prefix:
99:
100:         proto.h: function is declared as Perl_foo rather than foo
101:         embed.h: "#define foo Perl_foo" entries added
102:
103:   R  Return value must not be ignored (also implied by 'a' flag):
104:
105:        proto.h: add __attribute__warn_unused_result__
106:
107:   r  Function never returns:
108:
109:        proto.h: add __attribute__noreturn__
110:
111:   s  Static function: function in source code has a S_ prefix:
112:
113:         proto.h: function is declared as S_foo rather than foo,
114:                STATIC is added to declaration;
115:         embed.h: "#define foo S_foo" entries added
116:
117:   U  Suppress usage example in autogenerated documentation
118:
119:         (currently no effect)
120:
121:   X  Explicitly exported:
122:
123:         add entry to the list of exported symbols, unless x or m
124:
125:      This is often used for private functions that are used by public
126:      macros.  In those cases the macros must use the long form of the
127:      name (Perl_blah(aTHX_ ...)).
128:
129:   x  Not exported
130:
131:         suppress entry in the list of exported symbols
132:
133: (see also L<perlguts/Internal Functions> for those flags.)
134:
135: Pointer parameters that must not be passed NULLs should be prefixed with NN.
136:
137: Pointer parameters that may be NULL should be prefixed with NULLOK.  This has
138: no effect on output yet.  It's a notation for the maintainers to know "I have
139: defined whether NULL is OK or not" rather than having neither NULL or NULLOK,
140: which is ambiguous.
141:
142: Individual flags may be separated by whitespace.
143
144#if defined(PERL_IMPLICIT_SYS)
145Ano	|PerlInterpreter*|perl_alloc_using \
146				|NN struct IPerlMem *ipM \
147				|NN struct IPerlMem *ipMS \
148				|NN struct IPerlMem *ipMP \
149				|NN struct IPerlEnv *ipE \
150				|NN struct IPerlStdIO *ipStd \
151				|NN struct IPerlLIO *ipLIO \
152				|NN struct IPerlDir *ipD \
153				|NN struct IPerlSock *ipS \
154				|NN struct IPerlProc *ipP
155#endif
156Anod	|PerlInterpreter*	|perl_alloc
157Anod	|void	|perl_construct	|NN PerlInterpreter *my_perl
158Anod	|int	|perl_destruct	|NN PerlInterpreter *my_perl
159Anod	|void	|perl_free	|NN PerlInterpreter *my_perl
160Anod	|int	|perl_run	|NN PerlInterpreter *my_perl
161Anod	|int	|perl_parse	|NN PerlInterpreter *my_perl|XSINIT_t xsinit \
162				|int argc|NULLOK char** argv|NULLOK char** env
163AnpR	|bool	|doing_taint	|int argc|NULLOK char** argv|NULLOK char** env
164#if defined(USE_ITHREADS)
165Anod	|PerlInterpreter*|perl_clone|NN PerlInterpreter *proto_perl|UV flags
166#  if defined(PERL_IMPLICIT_SYS)
167Ano	|PerlInterpreter*|perl_clone_using \
168				|NN PerlInterpreter *proto_perl \
169				|UV flags \
170				|NN struct IPerlMem* ipM \
171				|NN struct IPerlMem* ipMS \
172				|NN struct IPerlMem* ipMP \
173				|NN struct IPerlEnv* ipE \
174				|NN struct IPerlStdIO* ipStd \
175				|NN struct IPerlLIO* ipLIO \
176				|NN struct IPerlDir* ipD \
177				|NN struct IPerlSock* ipS \
178				|NN struct IPerlProc* ipP
179#  endif
180#endif
181
182Aanop	|Malloc_t|malloc	|MEM_SIZE nbytes
183Aanop	|Malloc_t|calloc	|MEM_SIZE elements|MEM_SIZE size
184Aanop	|Malloc_t|realloc	|Malloc_t where|MEM_SIZE nbytes
185Anop	|Free_t	|mfree		|Malloc_t where
186#if defined(MYMALLOC)
187npR	|MEM_SIZE|malloced_size	|NN void *p
188npR	|MEM_SIZE|malloc_good_size	|size_t nbytes
189#endif
190#if defined(PERL_IN_MALLOC_C)
191sn	|int	|adjust_size_and_find_bucket	|NN size_t *nbytes_p
192#endif
193
194AnpR	|void*	|get_context
195Anp	|void	|set_context	|NN void *t
196
197XEop	|bool	|try_amagic_bin	|int method|int flags
198XEop	|bool	|try_amagic_un	|int method|int flags
199Ap	|SV*	|amagic_call	|NN SV* left|NN SV* right|int method|int dir
200Ap	|SV *	|amagic_deref_call|NN SV *ref|int method
201p	|bool	|amagic_is_enabled|int method
202Ap	|int	|Gv_AMupdate	|NN HV* stash|bool destructing
203ApR	|CV*	|gv_handler	|NULLOK HV* stash|I32 id
204Apd	|OP*	|op_append_elem	|I32 optype|NULLOK OP* first|NULLOK OP* last
205Apd	|OP*	|op_append_list	|I32 optype|NULLOK OP* first|NULLOK OP* last
206Apd	|OP*	|op_linklist	|NN OP *o
207Apd	|OP*	|op_prepend_elem|I32 optype|NULLOK OP* first|NULLOK OP* last
208: FIXME - this is only called by pp_chown. They should be merged.
209p	|I32	|apply		|I32 type|NN SV** mark|NN SV** sp
210ApM	|void	|apply_attrs_string|NN const char *stashpv|NN CV *cv|NN const char *attrstr|STRLEN len
211Apd	|void	|av_clear	|NN AV *av
212Apd	|SV*	|av_delete	|NN AV *av|SSize_t key|I32 flags
213ApdR	|bool	|av_exists	|NN AV *av|SSize_t key
214Apd	|void	|av_extend	|NN AV *av|SSize_t key
215p	|void	|av_extend_guts	|NULLOK AV *av|SSize_t key \
216				|NN SSize_t *maxp \
217				|NN SV ***allocp|NN SV ***arrayp
218ApdR	|SV**	|av_fetch	|NN AV *av|SSize_t key|I32 lval
219Apd	|void	|av_fill	|NN AV *av|SSize_t fill
220ApdR	|SSize_t|av_len		|NN AV *av
221ApdR	|AV*	|av_make	|SSize_t size|NN SV **strp
222Apd	|SV*	|av_pop		|NN AV *av
223ApdoxM	|void	|av_create_and_push|NN AV **const avp|NN SV *const val
224Apd	|void	|av_push	|NN AV *av|NN SV *val
225: Used in scope.c, and by Data::Alias
226EXp	|void	|av_reify	|NN AV *av
227ApdR	|SV*	|av_shift	|NN AV *av
228Apd	|SV**	|av_store	|NN AV *av|SSize_t key|NULLOK SV *val
229AidR	|SSize_t|av_top_index	|NN AV *av
230AmpdR	|SSize_t|av_tindex	|NN AV *av
231Apd	|void	|av_undef	|NN AV *av
232ApdoxM	|SV**	|av_create_and_unshift_one|NN AV **const avp|NN SV *const val
233Apd	|void	|av_unshift	|NN AV *av|SSize_t num
234Apo	|SV**	|av_arylen_p	|NN AV *av
235Apo	|IV*	|av_iter_p	|NN AV *av
236#if defined(PERL_IN_AV_C)
237s	|MAGIC*	|get_aux_mg	|NN AV *av
238#endif
239: Used in perly.y
240pR	|OP*	|bind_match	|I32 type|NN OP *left|NN OP *right
241: Used in perly.y
242pR	|OP*	|block_end	|I32 floor|NULLOK OP* seq
243ApR	|I32	|block_gimme
244: Used in perly.y
245pR	|int	|block_start	|int full
246Aodp	|void	|blockhook_register |NN BHK *hk
247: Used in perl.c
248p	|void	|boot_core_UNIVERSAL
249: Used in perl.c
250p	|void	|boot_core_PerlIO
251Ap	|void	|call_list	|I32 oldscope|NN AV *paramList
252Apd	|const PERL_CONTEXT *	|caller_cx|I32 level \
253				|NULLOK const PERL_CONTEXT **dbcxp
254: Used in several source files
255pR	|bool	|cando		|Mode_t mode|bool effective|NN const Stat_t* statbufp
256ApR	|U32	|cast_ulong	|NV f
257ApR	|I32	|cast_i32	|NV f
258ApR	|IV	|cast_iv	|NV f
259ApR	|UV	|cast_uv	|NV f
260#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
261ApR	|I32	|my_chsize	|int fd|Off_t length
262#endif
263p	|const COP*|closest_cop	|NN const COP *cop|NULLOK const OP *o \
264				|NULLOK const OP *curop|bool opnext
265: Used in perly.y
266pR	|OP*	|convert	|I32 optype|I32 flags|NULLOK OP* o
267: Used in op.c and perl.c
268pM	|PERL_CONTEXT*	|create_eval_scope|U32 flags
269Aprd	|void	|croak_sv	|NN SV *baseex
270: croak()'s first parm can be NULL.  Otherwise, mod_perl breaks.
271Afprd	|void	|croak		|NULLOK const char* pat|...
272Aprd	|void	|vcroak		|NULLOK const char* pat|NULLOK va_list* args
273Anprd	|void	|croak_no_modify
274Anprd	|void	|croak_xs_usage	|NN const CV *const cv \
275				|NN const char *const params
276npr	|void	|croak_no_mem
277nprX	|void	|croak_popstack
278#if defined(WIN32)
279norx	|void	|win32_croak_not_implemented|NN const char * fname
280#endif
281#if defined(PERL_IMPLICIT_CONTEXT)
282Afnrp	|void	|croak_nocontext|NULLOK const char* pat|...
283Afnp	|OP*	|die_nocontext	|NULLOK const char* pat|...
284Afnp	|void	|deb_nocontext	|NN const char* pat|...
285Afnp	|char*	|form_nocontext	|NN const char* pat|...
286Anp	|void	|load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
287Afnp	|SV*	|mess_nocontext	|NN const char* pat|...
288Afnp	|void	|warn_nocontext	|NN const char* pat|...
289Afnp	|void	|warner_nocontext|U32 err|NN const char* pat|...
290Afnp	|SV*	|newSVpvf_nocontext|NN const char *const pat|...
291Afnp	|void	|sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|...
292Afnp	|void	|sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
293Afnp	|void	|sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
294Afnp	|void	|sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
295Afnp	|int	|fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
296Afnp	|int	|printf_nocontext|NN const char *format|...
297#endif
298: Used in pp.c
299p	|SV *	|core_prototype	|NULLOK SV *sv|NN const char *name \
300				|const int code|NULLOK int * const opnum
301: Used in gv.c
302p	|OP *	|coresub_op	|NN SV *const coreargssv|const int code \
303				|const int opnum
304: Used in sv.c
305EMXp	|void	|cv_ckproto_len_flags	|NN const CV* cv|NULLOK const GV* gv\
306				|NULLOK const char* p|const STRLEN len \
307                                |const U32 flags
308: Used in pp.c and pp_sys.c
309ApdR	|SV*	|gv_const_sv	|NN GV* gv
310ApdR	|SV*	|cv_const_sv	|NULLOK const CV *const cv
311pR	|SV*	|cv_const_sv_or_av|NULLOK const CV *const cv
312: Used in pad.c
313pR	|SV*	|op_const_sv	|NULLOK const OP* o|NULLOK CV* cv
314Apd	|void	|cv_undef	|NN CV* cv
315p	|void	|cv_forget_slab	|NN CV *cv
316Ap	|void	|cx_dump	|NN PERL_CONTEXT* cx
317Ap	|SV*	|filter_add	|NULLOK filter_t funcp|NULLOK SV* datasv
318Ap	|void	|filter_del	|NN filter_t funcp
319ApR	|I32	|filter_read	|int idx|NN SV *buf_sv|int maxlen
320ApPR	|char**	|get_op_descs
321ApPR	|char**	|get_op_names
322: FIXME discussion on p5p
323pPR	|const char*	|get_no_modify
324: FIXME discussion on p5p
325pPR	|U32*	|get_opargs
326ApPR	|PPADDR_t*|get_ppaddr
327: Used by CXINC, which appears to be in widespread use
328ApR	|I32	|cxinc
329Afp	|void	|deb		|NN const char* pat|...
330Ap	|void	|vdeb		|NN const char* pat|NULLOK va_list* args
331Ap	|void	|debprofdump
332Ap	|I32	|debop		|NN const OP* o
333Ap	|I32	|debstack
334Ap	|I32	|debstackptrs
335pR	|SV *	|defelem_target	|NN SV *sv|NULLOK MAGIC *mg
336Anp	|char*	|delimcpy	|NN char* to|NN const char* toend|NN const char* from \
337				|NN const char* fromend|int delim|NN I32* retlen
338: Used in op.c, perl.c
339pM	|void	|delete_eval_scope
340Apd	|OP*	|die_sv		|NN SV *baseex
341Afpd	|OP*	|die		|NULLOK const char* pat|...
342: Used in util.c
343pr	|void	|die_unwind	|NN SV* msv
344Ap	|void	|dounwind	|I32 cxix
345: FIXME
346pmb	|bool	|do_aexec	|NULLOK SV* really|NN SV** mark|NN SV** sp
347: Used in pp_sys.c
348p	|bool	|do_aexec5	|NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
349Ap	|int	|do_binmode	|NN PerlIO *fp|int iotype|int mode
350: Used in pp.c
351Ap	|bool	|do_close	|NULLOK GV* gv|bool not_implicit
352: Defined in doio.c, used only in pp_sys.c
353p	|bool	|do_eof		|NN GV* gv
354
355#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
356pm	|bool	|do_exec	|NN const char* cmd
357#else
358p	|bool	|do_exec	|NN const char* cmd
359#endif
360
361#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
362Ap	|int	|do_aspawn	|NULLOK SV* really|NN SV** mark|NN SV** sp
363Ap	|int	|do_spawn	|NN char* cmd
364Ap	|int	|do_spawn_nowait|NN char* cmd
365#endif
366#if !defined(WIN32)
367p	|bool	|do_exec3	|NN const char *incmd|int fd|int do_report
368#endif
369p	|void	|do_execfree
370#if defined(PERL_IN_DOIO_C)
371s	|void	|exec_failed	|NN const char *cmd|int fd|int do_report
372#endif
373#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
374: Defined in doio.c, used only in pp_sys.c
375p	|I32	|do_ipcctl	|I32 optype|NN SV** mark|NN SV** sp
376: Defined in doio.c, used only in pp_sys.c
377p	|I32	|do_ipcget	|I32 optype|NN SV** mark|NN SV** sp
378: Defined in doio.c, used only in pp_sys.c
379p	|I32	|do_msgrcv	|NN SV** mark|NN SV** sp
380: Defined in doio.c, used only in pp_sys.c
381p	|I32	|do_msgsnd	|NN SV** mark|NN SV** sp
382: Defined in doio.c, used only in pp_sys.c
383p	|I32	|do_semop	|NN SV** mark|NN SV** sp
384: Defined in doio.c, used only in pp_sys.c
385p	|I32	|do_shmio	|I32 optype|NN SV** mark|NN SV** sp
386#endif
387Ap	|void	|do_join	|NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
388: Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
389: p	|OP*	|do_kv
390: used in pp.c, pp_hot.c
391pR	|I32	|do_ncmp	|NN SV *const left|NN SV *const right
392Apmb	|bool	|do_open	|NN GV* gv|NN const char* name|I32 len|int as_raw \
393				|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
394Ap	|bool	|do_open9	|NN GV *gv|NN const char *name|I32 len|int as_raw \
395				|int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
396				|NN SV *svs|I32 num
397#if defined(PERL_IN_DOIO_C)
398s	|IO *	|openn_setup    |NN GV *gv|NN char *mode|NN PerlIO **saveifp \
399				|NN PerlIO **saveofp|NN int *savefd \
400                                |NN char *savetype
401s	|bool	|openn_cleanup	|NN GV *gv|NN IO *io|NULLOK PerlIO *fp \
402				|NN char *mode|NN const char *oname \
403                                |NULLOK PerlIO *saveifp|NULLOK PerlIO *saveofp \
404                                |int savefd|char savetype|int writing \
405                                |bool was_fdopen|NULLOK const char *type
406#endif
407Ap	|bool	|do_openn	|NN GV *gv|NN const char *oname|I32 len \
408				|int as_raw|int rawmode|int rawperm \
409				|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
410				|I32 num
411Mp	|bool	|do_open_raw	|NN GV *gv|NN const char *oname|STRLEN len \
412				|int rawmode|int rawperm
413Mp	|bool	|do_open6	|NN GV *gv|NN const char *oname|STRLEN len \
414				|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
415				|U32 num
416: Used in pp_hot.c and pp_sys.c
417p	|bool	|do_print	|NULLOK SV* sv|NN PerlIO* fp
418: Used in pp_sys.c
419pR	|OP*	|do_readline
420: Defined in doio.c, used only in pp_sys.c
421p	|bool	|do_seek	|NULLOK GV* gv|Off_t pos|int whence
422Ap	|void	|do_sprintf	|NN SV* sv|I32 len|NN SV** sarg
423: Defined in doio.c, used only in pp_sys.c
424p	|Off_t	|do_sysseek	|NN GV* gv|Off_t pos|int whence
425: Defined in doio.c, used only in pp_sys.c
426pR	|Off_t	|do_tell	|NN GV* gv
427: Defined in doop.c, used only in pp.c
428p	|I32	|do_trans	|NN SV* sv
429: Used in my.c and pp.c
430p	|UV	|do_vecget	|NN SV* sv|SSize_t offset|int size
431: Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */)
432p	|void	|do_vecset	|NN SV* sv
433: Defined in doop.c, used only in pp.c
434p	|void	|do_vop		|I32 optype|NN SV* sv|NN SV* left|NN SV* right
435: Used in perly.y
436p	|OP*	|dofile		|NN OP* term|I32 force_builtin
437ApR	|I32	|dowantarray
438Ap	|void	|dump_all
439p	|void	|dump_all_perl	|bool justperl
440Ap	|void	|dump_eval
441Ap	|void	|dump_form	|NN const GV* gv
442Ap	|void	|gv_dump	|NN GV* gv
443Ap	|void	|op_dump	|NN const OP *o
444Ap	|void	|pmop_dump	|NULLOK PMOP* pm
445Ap	|void	|dump_packsubs	|NN const HV* stash
446p	|void	|dump_packsubs_perl	|NN const HV* stash|bool justperl
447Ap	|void	|dump_sub	|NN const GV* gv
448p	|void	|dump_sub_perl	|NN const GV* gv|bool justperl
449Apd	|void	|fbm_compile	|NN SV* sv|U32 flags
450ApdR	|char*	|fbm_instr	|NN unsigned char* big|NN unsigned char* bigend \
451				|NN SV* littlestr|U32 flags
452p	|CV *	|find_lexical_cv|PADOFFSET off
453pR	|OP *	|parse_subsignature
454: Defined in util.c, used only in perl.c
455p	|char*	|find_script	|NN const char *scriptname|bool dosearch \
456				|NULLOK const char *const *const search_ext|I32 flags
457#if defined(PERL_IN_OP_C)
458s	|OP*	|force_list	|NULLOK OP* arg
459i	|OP*	|op_integerize	|NN OP *o
460i	|OP*	|op_std_init	|NN OP *o
461: FIXME
462s	|OP*	|fold_constants	|NN OP *o
463#endif
464Afpd	|char*	|form		|NN const char* pat|...
465Ap	|char*	|vform		|NN const char* pat|NULLOK va_list* args
466Ap	|void	|free_tmps
467#if defined(PERL_IN_OP_C)
468s	|OP*	|gen_constant_list|NULLOK OP* o
469#endif
470#if !defined(HAS_GETENV_LEN)
471: Used in hv.c
472p	|char*	|getenv_len	|NN const char *env_elem|NN unsigned long *len
473#endif
474: Used in pp_ctl.c and pp_hot.c
475pox	|void	|get_db_sub	|NULLOK SV **svp|NN CV *cv
476Ap	|void	|gp_free	|NULLOK GV* gv
477Ap	|GP*	|gp_ref		|NULLOK GP* gp
478Ap	|GV*	|gv_add_by_type	|NULLOK GV *gv|svtype type
479Apmb	|GV*	|gv_AVadd	|NULLOK GV *gv
480Apmb	|GV*	|gv_HVadd	|NULLOK GV *gv
481Apmb	|GV*	|gv_IOadd	|NULLOK GV* gv
482AmR	|GV*	|gv_autoload4	|NULLOK HV* stash|NN const char* name \
483				|STRLEN len|I32 method
484ApR	|GV*	|gv_autoload_sv	|NULLOK HV* stash|NN SV* namesv|U32 flags
485ApR	|GV*	|gv_autoload_pv	|NULLOK HV* stash|NN const char* namepv \
486                                |U32 flags
487ApR	|GV*	|gv_autoload_pvn	|NULLOK HV* stash|NN const char* name \
488                                        |STRLEN len|U32 flags
489Ap	|void	|gv_check	|NN HV* stash
490Ap	|void	|gv_efullname	|NN SV* sv|NN const GV* gv
491Apmb	|void	|gv_efullname3	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix
492Ap	|void	|gv_efullname4	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
493Ap	|GV*	|gv_fetchfile	|NN const char* name
494Ap	|GV*	|gv_fetchfile_flags|NN const char *const name|const STRLEN len\
495				|const U32 flags
496Amd	|GV*	|gv_fetchmeth	|NULLOK HV* stash|NN const char* name \
497				|STRLEN len|I32 level
498Apd	|GV*	|gv_fetchmeth_sv	|NULLOK HV* stash|NN SV* namesv|I32 level|U32 flags
499Apd	|GV*	|gv_fetchmeth_pv	|NULLOK HV* stash|NN const char* name \
500                                        |I32 level|U32 flags
501Apd	|GV*	|gv_fetchmeth_pvn	|NULLOK HV* stash|NN const char* name \
502                                        |STRLEN len|I32 level|U32 flags
503Amd	|GV*	|gv_fetchmeth_autoload	|NULLOK HV* stash \
504					|NN const char* name|STRLEN len \
505					|I32 level
506Apd	|GV*	|gv_fetchmeth_sv_autoload	|NULLOK HV* stash|NN SV* namesv|I32 level|U32 flags
507Apd	|GV*	|gv_fetchmeth_pv_autoload	|NULLOK HV* stash|NN const char* name \
508                                        |I32 level|U32 flags
509Apd	|GV*	|gv_fetchmeth_pvn_autoload	|NULLOK HV* stash|NN const char* name \
510                                        |STRLEN len|I32 level|U32 flags
511Apdmb	|GV*	|gv_fetchmethod	|NN HV* stash|NN const char* name
512Apd	|GV*	|gv_fetchmethod_autoload|NN HV* stash|NN const char* name \
513				|I32 autoload
514ApM	|GV*	|gv_fetchmethod_sv_flags|NN HV* stash|NN SV* namesv|U32 flags
515ApM	|GV*	|gv_fetchmethod_pv_flags|NN HV* stash|NN const char* name \
516 				|U32 flags
517ApM	|GV*	|gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
518				|const STRLEN len|U32 flags
519Ap	|GV*	|gv_fetchpv	|NN const char *nambeg|I32 add|const svtype sv_type
520Ap	|void	|gv_fullname	|NN SV* sv|NN const GV* gv
521Apmb	|void	|gv_fullname3	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix
522Ap	|void	|gv_fullname4	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
523: Used in scope.c
524pMox	|GP *	|newGP		|NN GV *const gv
525pX	|void	|cvgv_set	|NN CV* cv|NULLOK GV* gv
526pX	|void	|cvstash_set	|NN CV* cv|NULLOK HV* stash
527Amd	|void	|gv_init	|NN GV* gv|NULLOK HV* stash \
528                                |NN const char* name|STRLEN len|int multi
529Ap	|void	|gv_init_sv	|NN GV* gv|NULLOK HV* stash|NN SV* namesv|U32 flags
530Ap	|void	|gv_init_pv	|NN GV* gv|NULLOK HV* stash|NN const char* name \
531                                |U32 flags
532Ap	|void	|gv_init_pvn	|NN GV* gv|NULLOK HV* stash|NN const char* name \
533                                |STRLEN len|U32 flags
534Ap	|void	|gv_name_set	|NN GV* gv|NN const char *name|U32 len|U32 flags
535px	|GV *	|gv_override	|NN const char * const name \
536				|const STRLEN len
537XMpd	|void	|gv_try_downgrade|NN GV* gv
538Apd	|HV*	|gv_stashpv	|NN const char* name|I32 flags
539Apd	|HV*	|gv_stashpvn	|NN const char* name|U32 namelen|I32 flags
540Apd	|HV*	|gv_stashsv	|NN SV* sv|I32 flags
541Apd	|void	|hv_clear	|NULLOK HV *hv
542: used in SAVEHINTS() and op.c
543ApdR	|HV *	|hv_copy_hints_hv|NULLOK HV *const ohv
544Ap	|void	|hv_delayfree_ent|NN HV *hv|NULLOK HE *entry
545Abmd	|SV*	|hv_delete	|NULLOK HV *hv|NN const char *key|I32 klen \
546				|I32 flags
547Abmd	|SV*	|hv_delete_ent	|NULLOK HV *hv|NN SV *keysv|I32 flags|U32 hash
548AbmdR	|bool	|hv_exists	|NULLOK HV *hv|NN const char *key|I32 klen
549AbmdR	|bool	|hv_exists_ent	|NULLOK HV *hv|NN SV *keysv|U32 hash
550Abmd	|SV**	|hv_fetch	|NULLOK HV *hv|NN const char *key|I32 klen \
551				|I32 lval
552Abmd	|HE*	|hv_fetch_ent	|NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
553Ap	|void*	|hv_common	|NULLOK HV *hv|NULLOK SV *keysv \
554				|NULLOK const char* key|STRLEN klen|int flags \
555				|int action|NULLOK SV *val|U32 hash
556Ap	|void*	|hv_common_key_len|NULLOK HV *hv|NN const char *key \
557				|I32 klen_i32|const int action|NULLOK SV *val \
558				|const U32 hash
559Apod	|STRLEN	|hv_fill	|NN HV *const hv
560Ap	|void	|hv_free_ent	|NN HV *hv|NULLOK HE *entry
561Apd	|I32	|hv_iterinit	|NN HV *hv
562ApdR	|char*	|hv_iterkey	|NN HE* entry|NN I32* retlen
563ApdR	|SV*	|hv_iterkeysv	|NN HE* entry
564ApdRbm	|HE*	|hv_iternext	|NN HV *hv
565ApdR	|SV*	|hv_iternextsv	|NN HV *hv|NN char **key|NN I32 *retlen
566ApMdR	|HE*	|hv_iternext_flags|NN HV *hv|I32 flags
567ApdR	|SV*	|hv_iterval	|NN HV *hv|NN HE *entry
568Ap	|void	|hv_ksplit	|NN HV *hv|IV newmax
569Apdbm	|void	|hv_magic	|NN HV *hv|NULLOK GV *gv|int how
570#if defined(PERL_IN_HV_C)
571s	|SV *	|refcounted_he_value	|NN const struct refcounted_he *he
572#endif
573Xpd	|HV *	|refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c|U32 flags
574Xpd	|SV *	|refcounted_he_fetch_pvn|NULLOK const struct refcounted_he *chain \
575				|NN const char *keypv|STRLEN keylen|U32 hash|U32 flags
576Xpd	|SV *	|refcounted_he_fetch_pv|NULLOK const struct refcounted_he *chain \
577				|NN const char *key|U32 hash|U32 flags
578Xpd	|SV *	|refcounted_he_fetch_sv|NULLOK const struct refcounted_he *chain \
579				|NN SV *key|U32 hash|U32 flags
580Xpd	|struct refcounted_he *|refcounted_he_new_pvn \
581				|NULLOK struct refcounted_he *parent \
582				|NN const char *keypv|STRLEN keylen \
583				|U32 hash|NULLOK SV *value|U32 flags
584Xpd	|struct refcounted_he *|refcounted_he_new_pv \
585				|NULLOK struct refcounted_he *parent \
586				|NN const char *key \
587				|U32 hash|NULLOK SV *value|U32 flags
588Xpd	|struct refcounted_he *|refcounted_he_new_sv \
589				|NULLOK struct refcounted_he *parent \
590				|NN SV *key \
591				|U32 hash|NULLOK SV *value|U32 flags
592Xpd	|void	|refcounted_he_free|NULLOK struct refcounted_he *he
593Xpd	|struct refcounted_he *|refcounted_he_inc|NULLOK struct refcounted_he *he
594Abmd	|SV**	|hv_store	|NULLOK HV *hv|NULLOK const char *key \
595				|I32 klen|NULLOK SV *val|U32 hash
596Abmd	|HE*	|hv_store_ent	|NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
597				|U32 hash
598AbmM	|SV**	|hv_store_flags	|NULLOK HV *hv|NULLOK const char *key \
599				|I32 klen|NULLOK SV *val|U32 hash|int flags
600Amd	|void	|hv_undef	|NULLOK HV *hv
601poX	|void	|hv_undef_flags	|NULLOK HV *hv|U32 flags
602Am	|I32	|ibcmp		|NN const char* a|NN const char* b|I32 len
603AnpP	|I32	|foldEQ		|NN const char* a|NN const char* b|I32 len
604Am	|I32	|ibcmp_locale	|NN const char* a|NN const char* b|I32 len
605AnpP	|I32	|foldEQ_locale	|NN const char* a|NN const char* b|I32 len
606Am	|I32	|ibcmp_utf8	|NN const char *s1|NULLOK char **pe1|UV l1 \
607				|bool u1|NN const char *s2|NULLOK char **pe2 \
608				|UV l2|bool u2
609Amd	|I32	|foldEQ_utf8	|NN const char *s1|NULLOK char **pe1|UV l1 \
610				|bool u1|NN const char *s2|NULLOK char **pe2 \
611				|UV l2|bool u2
612AMp	|I32	|foldEQ_utf8_flags |NN const char *s1|NULLOK char **pe1|UV l1 \
613				|bool u1|NN const char *s2|NULLOK char **pe2 \
614				|UV l2|bool u2|U32 flags
615AnpP	|I32	|foldEQ_latin1	|NN const char* a|NN const char* b|I32 len
616#if defined(PERL_IN_DOIO_C)
617sR	|bool	|ingroup	|Gid_t testgid|bool effective
618#endif
619: Used in toke.c
620p	|void	|init_argv_symbols|int argc|NN char **argv
621: Used in pp_ctl.c
622po	|void	|init_dbargs
623: Used in mg.c
624p	|void	|init_debugger
625Ap	|void	|init_stacks
626Ap	|void	|init_tm	|NN struct tm *ptm
627: Used in perly.y
628AnpPR	|char*	|instr		|NN const char* big|NN const char* little
629: Used in sv.c
630p	|bool	|io_close	|NN IO* io|bool not_implicit
631: Used in perly.y
632pR	|OP*	|invert		|NULLOK OP* cmd
633ApR	|I32	|is_lvalue_sub
634: Used in cop.h
635XopR	|I32	|was_lvalue_sub
636ADMpPR	|U32	|to_uni_upper_lc|U32 c
637ADMpPR	|U32	|to_uni_title_lc|U32 c
638ADMpPR	|U32	|to_uni_lower_lc|U32 c
639ADMpPR	|bool	|is_uni_alnum	|UV c
640ADMpPR	|bool	|is_uni_alnumc	|UV c
641ADMpPR	|bool	|is_uni_idfirst	|UV c
642ADMpPR	|bool	|is_uni_alpha	|UV c
643ADMpPR	|bool	|is_uni_ascii	|UV c
644ADMpPR	|bool	|is_uni_blank	|UV c
645ADMpPR	|bool	|is_uni_space	|UV c
646ADMpPR	|bool	|is_uni_cntrl	|UV c
647ADMpPR	|bool	|is_uni_graph	|UV c
648ADMpPR	|bool	|is_uni_digit	|UV c
649ADMpPR	|bool	|is_uni_upper	|UV c
650ADMpPR	|bool	|is_uni_lower	|UV c
651ADMpPR	|bool	|is_uni_print	|UV c
652ADMpPR	|bool	|is_uni_punct	|UV c
653ADMpPR	|bool	|is_uni_xdigit	|UV c
654AMp	|UV	|to_uni_upper	|UV c|NN U8 *p|NN STRLEN *lenp
655AMp	|UV	|to_uni_title	|UV c|NN U8 *p|NN STRLEN *lenp
656iDMPR	|bool	|isIDFIRST_lazy	|NN const char* p
657iDMPR	|bool	|isALNUM_lazy	|NN const char* p
658#ifdef PERL_IN_UTF8_C
659sR	|U8	|to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp
660#endif
661#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
662EXp        |UV        |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags
663#endif
664#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
665p	|UV	|_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
666#endif
667AMp	|UV	|to_uni_lower	|UV c|NN U8 *p|NN STRLEN *lenp
668AMmp	|UV	|to_uni_fold	|UV c|NN U8 *p|NN STRLEN *lenp
669AMp	|UV	|_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|U8 flags
670ADMpPR	|bool	|is_uni_alnum_lc|UV c
671ADMpPR	|bool	|is_uni_alnumc_lc|UV c
672ADMpPR	|bool	|is_uni_idfirst_lc|UV c
673AMpR	|bool	|_is_uni_perl_idcont|UV c
674AMpR	|bool	|_is_uni_perl_idstart|UV c
675ADMpPR	|bool	|is_uni_alpha_lc|UV c
676ADMpPR	|bool	|is_uni_ascii_lc|UV c
677ADMpPR	|bool	|is_uni_space_lc|UV c
678ADMpPR	|bool	|is_uni_blank_lc|UV c
679ADMpPR	|bool	|is_uni_cntrl_lc|UV c
680ADMpPR	|bool	|is_uni_graph_lc|UV c
681ADMpPR	|bool	|is_uni_digit_lc|UV c
682ADMpPR	|bool	|is_uni_upper_lc|UV c
683ADMpPR	|bool	|is_uni_lower_lc|UV c
684ADMpPR	|bool	|is_uni_print_lc|UV c
685ADMpPR	|bool	|is_uni_punct_lc|UV c
686ADMpPR	|bool	|is_uni_xdigit_lc|UV c
687Anpd	|bool	|is_ascii_string|NN const U8 *s|STRLEN len
688AnpdD	|STRLEN	|is_utf8_char	|NN const U8 *s
689Anpd	|STRLEN	|is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
690Anpd	|bool	|is_utf8_string	|NN const U8 *s|STRLEN len
691Anpdmb	|bool	|is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **ep
692Anpd	|bool	|is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
693AMpR	|bool	|_is_uni_FOO|const U8 classnum|const UV c
694AMpR	|bool	|_is_utf8_FOO|const U8 classnum|NN const U8 *p
695ADMpR	|bool	|is_utf8_alnum	|NN const U8 *p
696ADMpR	|bool	|is_utf8_alnumc	|NN const U8 *p
697ADMpR	|bool	|is_utf8_idfirst|NN const U8 *p
698ADMpR	|bool	|is_utf8_xidfirst|NN const U8 *p
699AMpR	|bool	|_is_utf8_perl_idcont|NN const U8 *p
700AMpR	|bool	|_is_utf8_perl_idstart|NN const U8 *p
701ADMpR	|bool	|is_utf8_idcont	|NN const U8 *p
702ADMpR	|bool	|is_utf8_xidcont	|NN const U8 *p
703ADMpR	|bool	|is_utf8_alpha	|NN const U8 *p
704ADMpR	|bool	|is_utf8_ascii	|NN const U8 *p
705ADMpR	|bool	|is_utf8_blank	|NN const U8 *p
706ADMpR	|bool	|is_utf8_space	|NN const U8 *p
707ADMpR	|bool	|is_utf8_perl_space	|NN const U8 *p
708ADMpR	|bool	|is_utf8_perl_word	|NN const U8 *p
709ADMpR	|bool	|is_utf8_cntrl	|NN const U8 *p
710ADMpR	|bool	|is_utf8_digit	|NN const U8 *p
711ADMpR	|bool	|is_utf8_posix_digit	|NN const U8 *p
712ADMpR	|bool	|is_utf8_graph	|NN const U8 *p
713ADMpR	|bool	|is_utf8_upper	|NN const U8 *p
714ADMpR	|bool	|is_utf8_lower	|NN const U8 *p
715ADMpR	|bool	|is_utf8_print	|NN const U8 *p
716ADMpR	|bool	|is_utf8_punct	|NN const U8 *p
717ADMpR	|bool	|is_utf8_xdigit	|NN const U8 *p
718AMpR	|bool	|_is_utf8_mark	|NN const U8 *p
719ADMpR	|bool	|is_utf8_mark	|NN const U8 *p
720: Used in perly.y
721p	|OP*	|jmaybe		|NN OP *o
722: Used in pp.c
723pP	|I32	|keyword	|NN const char *name|I32 len|bool all_keywords
724#if defined(PERL_IN_OP_C)
725s	|void	|inplace_aassign	|NN OP* o
726#endif
727Ap	|void	|leave_scope	|I32 base
728: Public lexer API
729AMpd	|void	|lex_start	|NULLOK SV* line|NULLOK PerlIO *rsfp|U32 flags
730AMpd	|bool	|lex_bufutf8
731AMpd	|char*	|lex_grow_linestr|STRLEN len
732AMpd	|void	|lex_stuff_pvn	|NN const char* pv|STRLEN len|U32 flags
733AMpd	|void	|lex_stuff_pv	|NN const char* pv|U32 flags
734AMpd	|void	|lex_stuff_sv	|NN SV* sv|U32 flags
735AMpd	|void	|lex_unstuff	|NN char* ptr
736AMpd	|void	|lex_read_to	|NN char* ptr
737AMpd	|void	|lex_discard_to	|NN char* ptr
738AMpd	|bool	|lex_next_chunk	|U32 flags
739AMpd	|I32	|lex_peek_unichar|U32 flags
740AMpd	|I32	|lex_read_unichar|U32 flags
741AMpd	|void	|lex_read_space	|U32 flags
742: Public parser API
743AMpd	|OP*	|parse_arithexpr|U32 flags
744AMpd	|OP*	|parse_termexpr	|U32 flags
745AMpd	|OP*	|parse_listexpr	|U32 flags
746AMpd	|OP*	|parse_fullexpr	|U32 flags
747AMpd	|OP*	|parse_block	|U32 flags
748AMpd	|OP*	|parse_barestmt	|U32 flags
749AMpd	|SV*	|parse_label	|U32 flags
750AMpd	|OP*	|parse_fullstmt	|U32 flags
751AMpd	|OP*	|parse_stmtseq	|U32 flags
752: Used in various files
753Apd	|void	|op_null	|NN OP* o
754: FIXME. Used by Data::Alias
755EXp	|void	|op_clear	|NN OP* o
756Ap	|void	|op_refcnt_lock
757Ap	|void	|op_refcnt_unlock
758#if defined(PERL_IN_OP_C)
759s	|OP*	|listkids	|NULLOK OP* o
760#endif
761: Used in S_doeval in pp_ctl.c
762p	|OP*	|list		|NULLOK OP* o
763Apd	|void	|load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
764Ap	|void	|vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
765: Used in perly.y
766p	|OP*	|localize	|NN OP *o|I32 lex
767ApdR	|I32	|looks_like_number|NN SV *const sv
768Apd	|UV	|grok_bin	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
769#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
770EMsR	|char	|grok_bslash_c	|const char source|const bool output_warning
771EMsR	|bool	|grok_bslash_o	|NN char** s|NN UV* uv           \
772				|NN const char** error_msg       \
773				|const bool output_warning       \
774				|const bool strict               \
775				|const bool silence_non_portable \
776				|const bool utf8
777EMiR	|bool	|grok_bslash_x	|NN char** s|NN UV* uv           \
778				|NN const char** error_msg       \
779				|const bool output_warning       \
780				|const bool strict               \
781				|const bool silence_non_portable \
782				|const bool utf8
783EMsPR	|char*|form_short_octal_warning|NN const char * const s  \
784				|const STRLEN len
785#endif
786Apd	|UV	|grok_hex	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
787Apd	|int	|grok_number	|NN const char *pv|STRLEN len|NULLOK UV *valuep
788ApdR	|bool	|grok_numeric_radix|NN const char **sp|NN const char *send
789Apd	|UV	|grok_oct	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
790: These are all indirectly referenced by globals.c. This is somewhat annoying.
791p	|int	|magic_clearenv	|NN SV* sv|NN MAGIC* mg
792p	|int	|magic_clear_all_env|NN SV* sv|NN MAGIC* mg
793dp	|int	|magic_clearhint|NN SV* sv|NN MAGIC* mg
794dp	|int	|magic_clearhints|NN SV* sv|NN MAGIC* mg
795p	|int	|magic_clearisa	|NULLOK SV* sv|NN MAGIC* mg
796p	|int	|magic_clearpack|NN SV* sv|NN MAGIC* mg
797p	|int	|magic_clearsig	|NN SV* sv|NN MAGIC* mg
798p	|int	|magic_copycallchecker|NN SV* sv|NN MAGIC *mg|NN SV *nsv \
799				      |NULLOK const char *name|I32 namlen
800p	|int	|magic_existspack|NN SV* sv|NN const MAGIC* mg
801p	|int	|magic_freeovrld|NN SV* sv|NN MAGIC* mg
802p	|int	|magic_get	|NN SV* sv|NN MAGIC* mg
803p	|int	|magic_getarylen|NN SV* sv|NN const MAGIC* mg
804p	|int	|magic_getdefelem|NN SV* sv|NN MAGIC* mg
805p	|int	|magic_getnkeys	|NN SV* sv|NN MAGIC* mg
806p	|int	|magic_getpack	|NN SV* sv|NN MAGIC* mg
807p	|int	|magic_getpos	|NN SV* sv|NN MAGIC* mg
808p	|int	|magic_getsig	|NN SV* sv|NN MAGIC* mg
809p	|int	|magic_getsubstr|NN SV* sv|NN MAGIC* mg
810p	|int	|magic_gettaint	|NN SV* sv|NN MAGIC* mg
811p	|int	|magic_getuvar	|NN SV* sv|NN MAGIC* mg
812p	|int	|magic_getvec	|NN SV* sv|NN MAGIC* mg
813p	|int	|magic_nextpack	|NN SV *sv|NN MAGIC *mg|NN SV *key
814p	|U32	|magic_regdata_cnt|NN SV* sv|NN MAGIC* mg
815p	|int	|magic_regdatum_get|NN SV* sv|NN MAGIC* mg
816:removing noreturn to silence a warning for this function resulted in no
817:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits
818#ifdef _MSC_VER
819p	|int	|magic_regdatum_set|NN SV* sv|NN MAGIC* mg
820#else
821pr	|int	|magic_regdatum_set|NN SV* sv|NN MAGIC* mg
822#endif
823p	|int	|magic_set	|NN SV* sv|NN MAGIC* mg
824p	|int	|magic_setarylen|NN SV* sv|NN MAGIC* mg
825p	|int	|magic_cleararylen_p|NN SV* sv|NN MAGIC* mg
826p	|int	|magic_freearylen_p|NN SV* sv|NN MAGIC* mg
827p	|int	|magic_setdbline|NN SV* sv|NN MAGIC* mg
828p	|int	|magic_setdefelem|NN SV* sv|NN MAGIC* mg
829p	|int	|magic_setenv	|NN SV* sv|NN MAGIC* mg
830dp	|int	|magic_sethint	|NN SV* sv|NN MAGIC* mg
831p	|int	|magic_setisa	|NN SV* sv|NN MAGIC* mg
832p	|int	|magic_setmglob	|NN SV* sv|NN MAGIC* mg
833p	|int	|magic_setnkeys	|NN SV* sv|NN MAGIC* mg
834p	|int	|magic_setpack	|NN SV* sv|NN MAGIC* mg
835p	|int	|magic_setpos	|NN SV* sv|NN MAGIC* mg
836p	|int	|magic_setregexp|NN SV* sv|NN MAGIC* mg
837p	|int	|magic_setsig	|NULLOK SV* sv|NN MAGIC* mg
838p	|int	|magic_setsubstr|NN SV* sv|NN MAGIC* mg
839p	|int	|magic_settaint	|NN SV* sv|NN MAGIC* mg
840p	|int	|magic_setuvar	|NN SV* sv|NN MAGIC* mg
841p	|int	|magic_setvec	|NN SV* sv|NN MAGIC* mg
842p	|int	|magic_setutf8	|NN SV* sv|NN MAGIC* mg
843p	|int	|magic_set_all_env|NN SV* sv|NN MAGIC* mg
844p	|U32	|magic_sizepack	|NN SV* sv|NN MAGIC* mg
845p	|int	|magic_wipepack	|NN SV* sv|NN MAGIC* mg
846pod	|SV*	|magic_methcall	|NN SV *sv|NN const MAGIC *mg \
847				|NN SV *meth|U32 flags \
848				|U32 argc|...
849Ap	|void	|markstack_grow
850#if defined(USE_LOCALE_COLLATE)
851p	|int	|magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
852: Defined in locale.c, used only in sv.c
853p	|char*	|mem_collxfrm	|NN const char* s|STRLEN len|NN STRLEN* xlen
854#endif
855Afpd	|SV*	|mess		|NN const char* pat|...
856Apd	|SV*	|mess_sv	|NN SV* basemsg|bool consume
857Apd	|SV*	|vmess		|NN const char* pat|NULLOK va_list* args
858: FIXME - either make it public, or stop exporting it. (Data::Alias uses this)
859: Used in gv.c, op.c, toke.c
860EXp	|void	|qerror		|NN SV* err
861Apd	|void	|sortsv		|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp
862Apd	|void	|sortsv_flags	|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
863Apd	|int	|mg_clear	|NN SV* sv
864Apd	|int	|mg_copy	|NN SV *sv|NN SV *nsv|NULLOK const char *key \
865				|I32 klen
866: Defined in mg.c, used only in scope.c
867pd	|void	|mg_localize	|NN SV* sv|NN SV* nsv|bool setmagic
868ApdR	|MAGIC*	|mg_find	|NULLOK const SV* sv|int type
869ApdR	|MAGIC*	|mg_findext	|NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
870: exported for re.pm
871EXpR	|MAGIC*	|mg_find_mglob	|NN SV* sv
872Apd	|int	|mg_free	|NN SV* sv
873Apd	|void	|mg_free_type	|NN SV* sv|int how
874Apd	|int	|mg_get		|NN SV* sv
875ApdD	|U32	|mg_length	|NN SV* sv
876Apd	|void	|mg_magical	|NN SV* sv
877Apd	|int	|mg_set		|NN SV* sv
878Ap	|I32	|mg_size	|NN SV* sv
879Ap	|void	|mini_mktime	|NN struct tm *ptm
880AMmd	|OP*	|op_lvalue	|NULLOK OP* o|I32 type
881poX	|OP*	|op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
882p	|void	|finalize_optree		|NN OP* o
883#if defined(PERL_IN_OP_C)
884s	|void	|finalize_op	|NN OP* o
885s	|void	|move_proto_attr|NN OP **proto|NN OP **attrs|NN const GV *name
886#endif
887: Used in op.c and pp_sys.c
888p	|int	|mode_from_discipline|NULLOK const char* s|STRLEN len
889Ap	|const char*	|moreswitches	|NN const char* s
890Ap	|NV	|my_atof	|NN const char *s
891#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
892Anp	|char*	|my_bcopy	|NN const char* from|NN char* to|I32 len
893#endif
894#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
895Anp	|char*	|my_bzero	|NN char* loc|I32 len
896#endif
897Apr	|void	|my_exit	|U32 status
898Apr	|void	|my_failure_exit
899Ap	|I32	|my_fflush_all
900Anp	|Pid_t	|my_fork
901Anp	|void	|atfork_lock
902Anp	|void	|atfork_unlock
903Apmb	|I32	|my_lstat
904pX	|I32	|my_lstat_flags	|NULLOK const U32 flags
905#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
906AnpP	|I32	|my_memcmp	|NN const char* s1|NN const char* s2|I32 len
907#endif
908#if !defined(HAS_MEMSET)
909Anp	|void*	|my_memset	|NN char* loc|I32 ch|I32 len
910#endif
911#if !defined(PERL_IMPLICIT_SYS)
912Ap	|I32	|my_pclose	|NULLOK PerlIO* ptr
913Ap	|PerlIO*|my_popen	|NN const char* cmd|NN const char* mode
914#endif
915Ap	|PerlIO*|my_popen_list	|NN const char* mode|int n|NN SV ** args
916Ap	|void	|my_setenv	|NULLOK const char* nam|NULLOK const char* val
917Apmb	|I32	|my_stat
918pX	|I32	|my_stat_flags	|NULLOK const U32 flags
919Afp	|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
920: Used in pp_ctl.c
921p	|void	|my_unexec
922ADMnoPR	|UV	|NATIVE_TO_NEED	|const UV enc|const UV ch
923ADMnoPR	|UV	|ASCII_TO_NEED	|const UV enc|const UV ch
924Apa	|OP*	|newANONLIST	|NULLOK OP* o
925Apa	|OP*	|newANONHASH	|NULLOK OP* o
926Ap	|OP*	|newANONSUB	|I32 floor|NULLOK OP* proto|NULLOK OP* block
927#if defined(PERL_IN_OP_C)
928i	|bool	|aassign_common_vars	|NULLOK OP* o
929#endif
930Apda	|OP*	|newASSIGNOP	|I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
931Apda	|OP*	|newCONDOP	|I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
932Apd	|CV*	|newCONSTSUB	|NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
933Apd	|CV*	|newCONSTSUB_flags|NULLOK HV* stash \
934				  |NULLOK const char* name|STRLEN len \
935				  |U32 flags|NULLOK SV* sv
936#ifdef PERL_MAD
937Ap	|OP*	|newFORM	|I32 floor|NULLOK OP* o|NULLOK OP* block
938#else
939Ap	|void	|newFORM	|I32 floor|NULLOK OP* o|NULLOK OP* block
940#endif
941Apda	|OP*	|newFOROP	|I32 flags|NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
942Apda	|OP*	|newGIVENOP	|NN OP* cond|NN OP* block|PADOFFSET defsv_off
943Apda	|OP*	|newLOGOP	|I32 optype|I32 flags|NN OP *first|NN OP *other
944Apda	|OP*	|newLOOPEX	|I32 type|NN OP* label
945Apda	|OP*	|newLOOPOP	|I32 flags|I32 debuggable|NULLOK OP* expr|NULLOK OP* block
946Apda	|OP*	|newNULLLIST
947Apda	|OP*	|newOP		|I32 optype|I32 flags
948Ap	|void	|newPROG	|NN OP* o
949Apda	|OP*	|newRANGE	|I32 flags|NN OP* left|NN OP* right
950Apda	|OP*	|newSLICEOP	|I32 flags|NULLOK OP* subscript|NULLOK OP* listop
951Apda	|OP*	|newSTATEOP	|I32 flags|NULLOK char* label|NULLOK OP* o
952Abm	|CV*	|newSUB		|I32 floor|NULLOK OP* o|NULLOK OP* proto \
953				|NULLOK OP* block
954p	|CV *	|newXS_len_flags|NULLOK const char *name|STRLEN len \
955				|NN XSUBADDR_t subaddr\
956				|NN const char *const filename \
957				|NULLOK const char *const proto \
958				|NULLOK SV **const_svp|U32 flags
959ApM	|CV *	|newXS_flags	|NULLOK const char *name|NN XSUBADDR_t subaddr\
960				|NN const char *const filename \
961				|NULLOK const char *const proto|U32 flags
962Apd	|CV*	|newXS		|NULLOK const char *name|NN XSUBADDR_t subaddr\
963				|NN const char *filename
964AmdbR	|AV*	|newAV
965Apa	|OP*	|newAVREF	|NN OP* o
966Apda	|OP*	|newBINOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
967Apa	|OP*	|newCVREF	|I32 flags|NULLOK OP* o
968Apda	|OP*	|newGVOP	|I32 type|I32 flags|NN GV* gv
969Am	|GV*	|newGVgen	|NN const char* pack
970Apa	|GV*	|newGVgen_flags	|NN const char* pack|U32 flags
971Apa	|OP*	|newGVREF	|I32 type|NULLOK OP* o
972ApaR	|OP*	|newHVREF	|NN OP* o
973AmdbR	|HV*	|newHV
974ApaR	|HV*	|newHVhv	|NULLOK HV *hv
975Apabm	|IO*	|newIO
976Apda	|OP*	|newLISTOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
977#ifdef USE_ITHREADS
978Apda	|OP*	|newPADOP	|I32 type|I32 flags|NN SV* sv
979#endif
980Apda	|OP*	|newPMOP	|I32 type|I32 flags
981Apda	|OP*	|newPVOP	|I32 type|I32 flags|NULLOK char* pv
982Apa	|SV*	|newRV		|NN SV *const sv
983Apda	|SV*	|newRV_noinc	|NN SV *const sv
984Apda	|SV*	|newSV		|const STRLEN len
985Apa	|OP*	|newSVREF	|NN OP* o
986Apda	|OP*	|newSVOP	|I32 type|I32 flags|NN SV* sv
987pa	|SV*	|newSVavdefelem	|NN AV *av|SSize_t ix|bool extendible
988Apda	|SV*	|newSViv	|const IV i
989Apda	|SV*	|newSVuv	|const UV u
990Apda	|SV*	|newSVnv	|const NV n
991Apda	|SV*	|newSVpv	|NULLOK const char *const s|const STRLEN len
992Apda	|SV*	|newSVpvn	|NULLOK const char *const s|const STRLEN len
993Apda	|SV*	|newSVpvn_flags	|NULLOK const char *const s|const STRLEN len|const U32 flags
994Apda	|SV*	|newSVhek	|NULLOK const HEK *const hek
995Apda	|SV*	|newSVpvn_share	|NULLOK const char* s|I32 len|U32 hash
996Apda	|SV*	|newSVpv_share	|NULLOK const char* s|U32 hash
997Afpda	|SV*	|newSVpvf	|NN const char *const pat|...
998Apa	|SV*	|vnewSVpvf	|NN const char *const pat|NULLOK va_list *const args
999Apd	|SV*	|newSVrv	|NN SV *const rv|NULLOK const char *const classname
1000Apda	|SV*	|newSVsv	|NULLOK SV *const old
1001Apda	|SV*	|newSV_type	|const svtype type
1002Apda	|OP*	|newUNOP	|I32 type|I32 flags|NULLOK OP* first
1003Apda	|OP*	|newWHENOP	|NULLOK OP* cond|NN OP* block
1004Apda	|OP*	|newWHILEOP	|I32 flags|I32 debuggable|NULLOK LOOP* loop \
1005				|NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
1006				|I32 has_my
1007Apd	|CV*	|rv2cv_op_cv	|NN OP *cvop|U32 flags
1008Apd	|OP*	|ck_entersub_args_list|NN OP *entersubop
1009Apd	|OP*	|ck_entersub_args_proto|NN OP *entersubop|NN GV *namegv|NN SV *protosv
1010Apd	|OP*	|ck_entersub_args_proto_or_list|NN OP *entersubop|NN GV *namegv|NN SV *protosv
1011po	|OP*	|ck_entersub_args_core|NN OP *entersubop|NN GV *namegv \
1012				      |NN SV *protosv
1013Apd	|void	|cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
1014Apd	|void	|cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
1015Apd	|void	|wrap_op_checker|Optype opcode|NN Perl_check_t new_checker|NN Perl_check_t *old_checker_p
1016Apa	|PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
1017Ap	|char*	|scan_vstring	|NN const char *s|NN const char *const e \
1018				|NN SV *sv
1019Apd	|const char*	|scan_version	|NN const char *s|NN SV *rv|bool qv
1020Apd	|const char*	|prescan_version	|NN const char *s\
1021	|bool strict|NULLOK const char** errstr|NULLOK bool *sqv\
1022	|NULLOK int *ssaw_decimal|NULLOK int *swidth|NULLOK bool *salpha
1023Apd	|SV*	|new_version	|NN SV *ver
1024Apd	|SV*	|upg_version	|NN SV *ver|bool qv
1025Apd	|SV*	|vverify	|NN SV *vs
1026Apd	|SV*	|vnumify	|NN SV *vs
1027Apd	|SV*	|vnormal	|NN SV *vs
1028Apd	|SV*	|vstringify	|NN SV *vs
1029Apd	|int	|vcmp		|NN SV *lhv|NN SV *rhv
1030: Used in pp_hot.c and pp_sys.c
1031p	|PerlIO*|nextargv	|NN GV* gv
1032AnpP	|char*	|ninstr		|NN const char* big|NN const char* bigend \
1033				|NN const char* little|NN const char* lend
1034Apd	|void	|op_free	|NULLOK OP* arg
1035Mp	|OP*	|op_unscope	|NULLOK OP* o
1036#ifdef PERL_CORE
1037p	|void	|opslab_free	|NN OPSLAB *slab
1038p	|void	|opslab_free_nopad|NN OPSLAB *slab
1039p	|void	|opslab_force_free|NN OPSLAB *slab
1040#endif
1041: Used in perly.y
1042#ifdef PERL_MAD
1043p	|OP*	|package	|NN OP* o
1044#else
1045p	|void	|package	|NN OP* o
1046#endif
1047: Used in perly.y
1048p	|void	|package_version|NN OP* v
1049: Used in toke.c and perly.y
1050p	|PADOFFSET|allocmy	|NN const char *const name|const STRLEN len\
1051				|const U32 flags
1052#ifdef USE_ITHREADS
1053AMp	|PADOFFSET|alloccopstash|NN HV *hv
1054#endif
1055: Used in perly.y
1056pR	|OP*	|oopsAV		|NN OP* o
1057: Used in perly.y
1058pR	|OP*	|oopsHV		|NN OP* o
1059
1060: peephole optimiser
1061p	|void	|peep		|NULLOK OP* o
1062p	|void	|rpeep		|NULLOK OP* o
1063: Defined in doio.c, used only in pp_hot.c
1064dopM	|PerlIO*|start_glob	|NN SV *tmpglob|NN IO *io
1065
1066Ap	|void	|reentrant_size
1067Ap	|void	|reentrant_init
1068Ap	|void	|reentrant_free
1069Anp	|void*	|reentrant_retry|NN const char *f|...
1070
1071: "Very" special - can't use the O flag for this one:
1072: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
1073Ap	|void	|call_atexit	|ATEXIT_t fn|NULLOK void *ptr
1074ApdO	|I32	|call_argv	|NN const char* sub_name|I32 flags|NN char** argv
1075ApdO	|I32	|call_method	|NN const char* methname|I32 flags
1076ApdO	|I32	|call_pv	|NN const char* sub_name|I32 flags
1077ApdO	|I32	|call_sv	|NN SV* sv|VOL I32 flags
1078Ap	|void	|despatch_signals
1079Ap	|OP *	|doref		|NN OP *o|I32 type|bool set_op_ref
1080ApdO	|SV*	|eval_pv	|NN const char* p|I32 croak_on_error
1081ApdO	|I32	|eval_sv	|NN SV* sv|I32 flags
1082ApdO	|SV*	|get_sv		|NN const char *name|I32 flags
1083ApdO	|AV*	|get_av		|NN const char *name|I32 flags
1084ApdO	|HV*	|get_hv		|NN const char *name|I32 flags
1085ApdO	|CV*	|get_cv		|NN const char* name|I32 flags
1086Apd	|CV*	|get_cvn_flags	|NN const char* name|STRLEN len|I32 flags
1087#ifdef WIN32
1088ApPM	|char*	|my_setlocale	|int category|NULLOK const char* locale
1089#else
1090AmPM	|char*	|my_setlocale	|int category|NULLOK const char* locale
1091#endif
1092ApOM	|int	|init_i18nl10n	|int printwarn
1093ApOM	|int	|init_i18nl14n	|int printwarn
1094ApOM	|void	|new_collate	|NULLOK const char* newcoll
1095ApOM	|void	|new_ctype	|NN const char* newctype
1096ApOM	|void	|new_numeric	|NULLOK const char* newcoll
1097Ap	|void	|set_numeric_local
1098Ap	|void	|set_numeric_radix
1099Ap	|void	|set_numeric_standard
1100Admn	|void	|sync_locale
1101ApdO	|void	|require_pv	|NN const char* pv
1102Apd	|void	|pack_cat	|NN SV *cat|NN const char *pat|NN const char *patend \
1103				|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
1104Apd	|void	|packlist 	|NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
1105#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
1106s	|void	|pidgone	|Pid_t pid|int status
1107#endif
1108: Used in perly.y
1109p	|OP*	|pmruntime	|NN OP *o|NN OP *expr|bool isreg|I32 floor
1110#if defined(PERL_IN_OP_C)
1111s	|OP*	|pmtrans	|NN OP* o|NN OP* expr|NN OP* repl
1112#endif
1113Ap	|void	|pop_scope
1114Ap	|void	|push_scope
1115Amb	|OP*	|ref		|NULLOK OP* o|I32 type
1116#if defined(PERL_IN_OP_C)
1117s	|OP*	|refkids	|NULLOK OP* o|I32 type
1118#endif
1119Ap	|void	|regdump	|NN const regexp* r
1120Ap	|SV*	|regclass_swash	|NULLOK const regexp *prog \
1121				|NN const struct regnode *node|bool doinit \
1122				|NULLOK SV **listsvp|NULLOK SV **altsvp
1123#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C)
1124AMpR	|SV*	|_new_invlist_C_array|NN const UV* const list
1125: Not used currently: EXMs	|bool	|_invlistEQ	|NN SV* const a|NN SV* const b|const bool complement_b
1126#endif
1127Ap	|I32	|pregexec	|NN REGEXP * const prog|NN char* stringarg \
1128				|NN char* strend|NN char* strbeg \
1129				|SSize_t minend |NN SV* screamer|U32 nosave
1130Ap	|void	|pregfree	|NULLOK REGEXP* r
1131Ap	|void	|pregfree2	|NN REGEXP *rx
1132: FIXME - is anything in re using this now?
1133EXp	|REGEXP*|reg_temp_copy	|NULLOK REGEXP* ret_x|NN REGEXP* rx
1134Ap	|void	|regfree_internal|NN REGEXP *const rx
1135#if defined(USE_ITHREADS)
1136Ap	|void*	|regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
1137#endif
1138EXp	|regexp_engine const *|current_re_engine
1139Ap	|REGEXP*|pregcomp	|NN SV * const pattern|const U32 flags
1140p	|REGEXP*|re_op_compile	|NULLOK SV ** const patternp \
1141				|int pat_count|NULLOK OP *expr \
1142				|NN const regexp_engine* eng \
1143				|NULLOK REGEXP *old_re \
1144				|NULLOK bool *is_bare_re \
1145				|U32 rx_flags|U32 pm_flags
1146Ap	|REGEXP*|re_compile	|NN SV * const pattern|U32 orig_rx_flags
1147Ap	|char*	|re_intuit_start|NN REGEXP * const rx \
1148				|NULLOK SV* sv \
1149				|NN const char* const strbeg \
1150				|NN char* strpos \
1151				|NN char* strend \
1152				|const U32 flags \
1153				|NULLOK re_scream_pos_data *data
1154Ap	|SV*	|re_intuit_string|NN REGEXP  *const r
1155#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
1156EiPR	|I32	|regcurly	|NN const char *s                   \
1157				|const bool rbrace_must_be_escaped
1158#endif
1159Ap	|I32	|regexec_flags	|NN REGEXP *const rx|NN char *stringarg \
1160				|NN char *strend|NN char *strbeg \
1161				|SSize_t minend|NN SV *sv \
1162				|NULLOK void *data|U32 flags
1163ApR	|regnode*|regnext	|NULLOK regnode* p
1164EXp |SV*|reg_named_buff          |NN REGEXP * const rx|NULLOK SV * const key \
1165                                 |NULLOK SV * const value|const U32 flags
1166EXp |SV*|reg_named_buff_iter     |NN REGEXP * const rx|NULLOK const SV * const lastkey \
1167                                 |const U32 flags
1168Ap |SV*|reg_named_buff_fetch    |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
1169Ap |bool|reg_named_buff_exists  |NN REGEXP * const rx|NN SV * const key|const U32 flags
1170Ap |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
1171Ap |SV*|reg_named_buff_nextkey  |NN REGEXP * const rx|const U32 flags
1172Ap |SV*|reg_named_buff_scalar   |NN REGEXP * const rx|const U32 flags
1173Ap |SV*|reg_named_buff_all      |NN REGEXP * const rx|const U32 flags
1174
1175: FIXME - is anything in re using this now?
1176EXp	|void|reg_numbered_buff_fetch|NN REGEXP * const rx|const I32 paren|NULLOK SV * const sv
1177: FIXME - is anything in re using this now?
1178EXp	|void|reg_numbered_buff_store|NN REGEXP * const rx|const I32 paren|NULLOK SV const * const value
1179: FIXME - is anything in re using this now?
1180EXp	|I32|reg_numbered_buff_length|NN REGEXP * const rx|NN const SV * const sv|const I32 paren
1181
1182: FIXME - is anything in re using this now?
1183EXp	|SV*|reg_qr_package|NN REGEXP * const rx
1184
1185: FIXME - why the E?
1186Ep	|void	|regprop	|NULLOK const regexp *prog|NN SV* sv|NN const regnode* o|NULLOK const regmatch_info *reginfo
1187Anp	|void	|repeatcpy	|NN char* to|NN const char* from|I32 len|IV count
1188AnpP	|char*	|rninstr	|NN const char* big|NN const char* bigend \
1189				|NN const char* little|NN const char* lend
1190Ap	|Sighandler_t|rsignal	|int i|Sighandler_t t
1191: Used in pp_sys.c
1192p	|int	|rsignal_restore|int i|NULLOK Sigsave_t* t
1193: Used in pp_sys.c
1194p	|int	|rsignal_save	|int i|Sighandler_t t1|NN Sigsave_t* save
1195Ap	|Sighandler_t|rsignal_state|int i
1196#if defined(PERL_IN_PP_CTL_C)
1197s	|void	|rxres_free	|NN void** rsp
1198s	|void	|rxres_restore	|NN void **rsp|NN REGEXP *rx
1199#endif
1200: Used in pp_hot.c
1201p	|void	|rxres_save	|NN void **rsp|NN REGEXP *rx
1202#if !defined(HAS_RENAME)
1203: Used in pp_sys.c
1204p	|I32	|same_dirent	|NN const char* a|NN const char* b
1205#endif
1206Apda	|char*	|savepv		|NULLOK const char* pv
1207Apda	|char*	|savepvn	|NULLOK const char* pv|I32 len
1208Apda	|char*	|savesharedpv	|NULLOK const char* pv
1209
1210: NULLOK only to suppress a compiler warning
1211Apda	|char*	|savesharedpvn	|NULLOK const char *const pv \
1212				|const STRLEN len
1213Apda	|char*	|savesharedsvpv	|NN SV *sv
1214Apda	|char*	|savesvpv	|NN SV* sv
1215Ap	|void	|savestack_grow
1216Ap	|void	|savestack_grow_cnt	|I32 need
1217Amp	|void	|save_aelem	|NN AV* av|SSize_t idx|NN SV **sptr
1218Ap	|void	|save_aelem_flags|NN AV* av|SSize_t idx|NN SV **sptr \
1219				 |const U32 flags
1220Ap	|I32	|save_alloc	|I32 size|I32 pad
1221Ap	|void	|save_aptr	|NN AV** aptr
1222Ap	|AV*	|save_ary	|NN GV* gv
1223Ap	|void	|save_bool	|NN bool* boolp
1224Ap	|void	|save_clearsv	|NN SV** svp
1225Ap	|void	|save_delete	|NN HV *hv|NN char *key|I32 klen
1226Ap	|void	|save_hdelete	|NN HV *hv|NN SV *keysv
1227Ap	|void	|save_adelete	|NN AV *av|SSize_t key
1228Ap	|void	|save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
1229Ap	|void	|save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
1230Apmb	|void	|save_freesv	|NULLOK SV* sv
1231: Used in SAVEFREOP(), used in op.c, pp_ctl.c
1232Apmb	|void	|save_freeop	|NULLOK OP* o
1233Apmb	|void	|save_freepv	|NULLOK char* pv
1234Ap	|void	|save_generic_svref|NN SV** sptr
1235Ap	|void	|save_generic_pvref|NN char** str
1236Ap	|void	|save_shared_pvref|NN char** str
1237Ap	|void	|save_gp	|NN GV* gv|I32 empty
1238Ap	|HV*	|save_hash	|NN GV* gv
1239Ap	|void	|save_hints
1240Amp	|void	|save_helem	|NN HV *hv|NN SV *key|NN SV **sptr
1241Ap	|void	|save_helem_flags|NN HV *hv|NN SV *key|NN SV **sptr|const U32 flags
1242Ap	|void	|save_hptr	|NN HV** hptr
1243Ap	|void	|save_I16	|NN I16* intp
1244Ap	|void	|save_I32	|NN I32* intp
1245Ap	|void	|save_I8	|NN I8* bytep
1246Ap	|void	|save_int	|NN int* intp
1247Ap	|void	|save_item	|NN SV* item
1248Ap	|void	|save_iv	|NN IV *ivp
1249Ap	|void	|save_list	|NN SV** sarg|I32 maxsarg
1250Ap	|void	|save_long	|NN long* longp
1251Apmb	|void	|save_mortalizesv|NN SV* sv
1252Ap	|void	|save_nogv	|NN GV* gv
1253: Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
1254Apmb	|void	|save_op
1255Ap	|SV*	|save_scalar	|NN GV* gv
1256Ap	|void	|save_pptr	|NN char** pptr
1257Ap	|void	|save_vptr	|NN void *ptr
1258Ap	|void	|save_re_context
1259Ap	|void	|save_padsv_and_mortalize|PADOFFSET off
1260Ap	|void	|save_sptr	|NN SV** sptr
1261Xp	|void	|save_strlen	|NN STRLEN* ptr
1262Ap	|SV*	|save_svref	|NN SV** sptr
1263Ap	|void	|save_pushptr	|NULLOK void *const ptr|const int type
1264Ap	|void	|save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
1265: Used by SAVESWITCHSTACK() in pp.c
1266Ap	|void	|save_pushptrptr|NULLOK void *const ptr1 \
1267				|NULLOK void *const ptr2|const int type
1268#if defined(PERL_IN_SCOPE_C)
1269s	|void	|save_pushptri32ptr|NULLOK void *const ptr1|const I32 i \
1270				|NULLOK void *const ptr2|const int type
1271#endif
1272: Used in perly.y
1273p	|OP*	|sawparens	|NULLOK OP* o
1274Apd	|OP*	|op_contextualize|NN OP* o|I32 context
1275: Used in perly.y
1276p	|OP*	|scalar		|NULLOK OP* o
1277#if defined(PERL_IN_OP_C)
1278s	|OP*	|scalarkids	|NULLOK OP* o
1279s	|OP*	|scalarseq	|NULLOK OP* o
1280#endif
1281: Used in pp_ctl.c
1282p	|OP*	|scalarvoid	|NN OP* o
1283Apd	|NV	|scan_bin	|NN const char* start|STRLEN len|NN STRLEN* retlen
1284Apd	|NV	|scan_hex	|NN const char* start|STRLEN len|NN STRLEN* retlen
1285Ap	|char*	|scan_num	|NN const char* s|NN YYSTYPE *lvalp
1286Apd	|NV	|scan_oct	|NN const char* start|STRLEN len|NN STRLEN* retlen
1287AMpd	|OP*	|op_scope	|NULLOK OP* o
1288Ap	|char*	|screaminstr	|NN SV *bigstr|NN SV *littlestr|I32 start_shift \
1289				|I32 end_shift|NN I32 *old_posp|I32 last
1290: Only used by perl.c/miniperl.c, but defined in caretx.c
1291px	|void	|set_caret_X
1292Apd	|void	|setdefout	|NN GV* gv
1293Ap	|HEK*	|share_hek	|NN const char* str|I32 len|U32 hash
1294#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
1295: Used in perl.c
1296np	|Signal_t |sighandler	|int sig|NULLOK siginfo_t *info|NULLOK void *uap
1297Anp	|Signal_t |csighandler	|int sig|NULLOK siginfo_t *info|NULLOK void *uap
1298#else
1299np	|Signal_t |sighandler	|int sig
1300Anp	|Signal_t |csighandler	|int sig
1301#endif
1302Ap	|SV**	|stack_grow	|NN SV** sp|NN SV** p|SSize_t n
1303Ap	|I32	|start_subparse	|I32 is_format|U32 flags
1304: Used in pp_ctl.c
1305p	|void	|sub_crush_depth|NN CV* cv
1306Amd	|bool	|sv_2bool	|NN SV *const sv
1307Apd	|bool	|sv_2bool_flags	|NN SV *sv|I32 flags
1308Apd	|CV*	|sv_2cv		|NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
1309				|const I32 lref
1310Apd	|IO*	|sv_2io		|NN SV *const sv
1311#if defined(PERL_IN_SV_C)
1312s	|bool	|glob_2number	|NN GV* const gv
1313#endif
1314Amb	|IV	|sv_2iv		|NN SV *sv
1315Apd	|IV	|sv_2iv_flags	|NN SV *const sv|const I32 flags
1316Apd	|SV*	|sv_2mortal	|NULLOK SV *const sv
1317Apd	|NV	|sv_2nv_flags	|NN SV *const sv|const I32 flags
1318: Used in pp.c, pp_hot.c, sv.c
1319pMd	|SV*	|sv_2num	|NN SV *const sv
1320Amb	|char*	|sv_2pv		|NN SV *sv|NULLOK STRLEN *lp
1321Apd	|char*	|sv_2pv_flags	|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
1322Apd	|char*	|sv_2pvutf8	|NN SV *sv|NULLOK STRLEN *const lp
1323Apd	|char*	|sv_2pvbyte	|NN SV *sv|NULLOK STRLEN *const lp
1324Ap	|char*	|sv_pvn_nomg	|NN SV* sv|NULLOK STRLEN* lp
1325Amb	|UV	|sv_2uv		|NN SV *sv
1326Apd	|UV	|sv_2uv_flags	|NN SV *const sv|const I32 flags
1327Apd	|IV	|sv_iv		|NN SV* sv
1328Apd	|UV	|sv_uv		|NN SV* sv
1329Apd	|NV	|sv_nv		|NN SV* sv
1330Apd	|char*	|sv_pvn		|NN SV *sv|NN STRLEN *lp
1331Apd	|char*	|sv_pvutf8n	|NN SV *sv|NN STRLEN *lp
1332Apd	|char*	|sv_pvbyten	|NN SV *sv|NN STRLEN *lp
1333Apd	|I32	|sv_true	|NULLOK SV *const sv
1334#if defined(PERL_IN_SV_C)
1335sd	|void	|sv_add_arena	|NN char *const ptr|const U32 size \
1336				|const U32 flags
1337#endif
1338Apd	|int	|sv_backoff	|NN SV *const sv
1339Apd	|SV*	|sv_bless	|NN SV *const sv|NN HV *const stash
1340#if defined(PERL_DEBUG_READONLY_COW)
1341p	|void	|sv_buf_to_ro	|NN SV *sv
1342# if defined(PERL_IN_SV_C)
1343s	|void	|sv_buf_to_rw	|NN SV *sv
1344# endif
1345#endif
1346Afpd	|void	|sv_catpvf	|NN SV *const sv|NN const char *const pat|...
1347Apd	|void	|sv_vcatpvf	|NN SV *const sv|NN const char *const pat \
1348				|NULLOK va_list *const args
1349Apd	|void	|sv_catpv	|NN SV *const sv|NULLOK const char* ptr
1350Amdb	|void	|sv_catpvn	|NN SV *dsv|NN const char *sstr|STRLEN len
1351Amdb	|void	|sv_catsv	|NN SV *dstr|NULLOK SV *sstr
1352Apd	|void	|sv_chop	|NN SV *const sv|NULLOK const char *const ptr
1353: Used only in perl.c
1354pd	|I32	|sv_clean_all
1355: Used only in perl.c
1356pd	|void	|sv_clean_objs
1357Apd	|void	|sv_clear	|NN SV *const orig_sv
1358#if defined(PERL_IN_SV_C)
1359s	|bool	|curse		|NN SV * const sv|const bool check_refcnt
1360#endif
1361Aopd	|I32	|sv_cmp		|NULLOK SV *const sv1|NULLOK SV *const sv2
1362Apd	|I32	|sv_cmp_flags	|NULLOK SV *const sv1|NULLOK SV *const sv2 \
1363				|const U32 flags
1364Aopd	|I32	|sv_cmp_locale	|NULLOK SV *const sv1|NULLOK SV *const sv2
1365Apd	|I32	|sv_cmp_locale_flags	|NULLOK SV *const sv1 \
1366				|NULLOK SV *const sv2|const U32 flags
1367#if defined(USE_LOCALE_COLLATE)
1368Amd	|char*	|sv_collxfrm	|NN SV *const sv|NN STRLEN *const nxp
1369Apd	|char*	|sv_collxfrm_flags	|NN SV *const sv|NN STRLEN *const nxp|I32 const flags
1370#endif
1371Apd	|int	|getcwd_sv	|NN SV* sv
1372Apd	|void	|sv_dec		|NULLOK SV *const sv
1373Apd	|void	|sv_dec_nomg	|NULLOK SV *const sv
1374Ap	|void	|sv_dump	|NN SV* sv
1375ApdR	|bool	|sv_derived_from|NN SV* sv|NN const char *const name
1376ApdR	|bool	|sv_derived_from_sv|NN SV* sv|NN SV *namesv|U32 flags
1377ApdR	|bool	|sv_derived_from_pv|NN SV* sv|NN const char *const name|U32 flags
1378ApdR	|bool	|sv_derived_from_pvn|NN SV* sv|NN const char *const name \
1379                                    |const STRLEN len|U32 flags
1380ApdR	|bool	|sv_does	|NN SV* sv|NN const char *const name
1381ApdR	|bool	|sv_does_sv	|NN SV* sv|NN SV* namesv|U32 flags
1382ApdR	|bool	|sv_does_pv	|NN SV* sv|NN const char *const name|U32 flags
1383ApdR	|bool	|sv_does_pvn	|NN SV* sv|NN const char *const name|const STRLEN len \
1384                                |U32 flags
1385Amd	|I32	|sv_eq		|NULLOK SV* sv1|NULLOK SV* sv2
1386Apd	|I32	|sv_eq_flags	|NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags
1387Apd	|void	|sv_free	|NULLOK SV *const sv
1388poMX	|void	|sv_free2	|NN SV *const sv|const U32 refcnt
1389: Used only in perl.c
1390pd	|void	|sv_free_arenas
1391Apd	|char*	|sv_gets	|NN SV *const sv|NN PerlIO *const fp|I32 append
1392Apd	|char*	|sv_grow	|NN SV *const sv|STRLEN newlen
1393Apd	|void	|sv_inc		|NULLOK SV *const sv
1394Apd	|void	|sv_inc_nomg	|NULLOK SV *const sv
1395Amdb	|void	|sv_insert	|NN SV *const bigstr|const STRLEN offset \
1396				|const STRLEN len|NN const char *const little \
1397				|const STRLEN littlelen
1398Apd	|void	|sv_insert_flags|NN SV *const bigstr|const STRLEN offset|const STRLEN len \
1399				|NN const char *const little|const STRLEN littlelen|const U32 flags
1400Apd	|int	|sv_isa		|NULLOK SV* sv|NN const char *const name
1401Apd	|int	|sv_isobject	|NULLOK SV* sv
1402Apd	|STRLEN	|sv_len		|NULLOK SV *const sv
1403Apd	|STRLEN	|sv_len_utf8	|NULLOK SV *const sv
1404p	|STRLEN	|sv_len_utf8_nomg|NN SV *const sv
1405Apd	|void	|sv_magic	|NN SV *const sv|NULLOK SV *const obj|const int how \
1406				|NULLOK const char *const name|const I32 namlen
1407Apd	|MAGIC *|sv_magicext	|NN SV *const sv|NULLOK SV *const obj|const int how \
1408				|NULLOK const MGVTBL *const vtbl|NULLOK const char *const name \
1409				|const I32 namlen
1410Ein	|bool	|sv_only_taint_gmagic|NN SV *sv
1411: exported for re.pm
1412EXp	|MAGIC *|sv_magicext_mglob|NN SV *sv
1413ApdbamR	|SV*	|sv_mortalcopy	|NULLOK SV *const oldsv
1414XpaR	|SV*	|sv_mortalcopy_flags|NULLOK SV *const oldsv|U32 flags
1415ApdR	|SV*	|sv_newmortal
1416Apd	|SV*	|sv_newref	|NULLOK SV *const sv
1417Ap	|char*	|sv_peek	|NULLOK SV* sv
1418Apd	|void	|sv_pos_u2b	|NULLOK SV *const sv|NN I32 *const offsetp|NULLOK I32 *const lenp
1419Apd	|STRLEN	|sv_pos_u2b_flags|NN SV *const sv|STRLEN uoffset \
1420				|NULLOK STRLEN *const lenp|U32 flags
1421Apd	|void	|sv_pos_b2u	|NULLOK SV *const sv|NN I32 *const offsetp
1422Apd	|STRLEN	|sv_pos_b2u_flags|NN SV *const sv|STRLEN const offset \
1423				 |U32 flags
1424Amdb	|char*	|sv_pvn_force	|NN SV* sv|NULLOK STRLEN* lp
1425Apd	|char*	|sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
1426Apd	|char*	|sv_pvbyten_force|NN SV *const sv|NULLOK STRLEN *const lp
1427Apd	|char*	|sv_recode_to_utf8	|NN SV* sv|NN SV *encoding
1428Apd	|bool	|sv_cat_decode	|NN SV* dsv|NN SV *encoding|NN SV *ssv|NN int *offset \
1429				|NN char* tstr|int tlen
1430ApdR	|const char*	|sv_reftype	|NN const SV *const sv|const int ob
1431pd	|SV*	|sv_ref	|NULLOK SV *dst|NN const SV *const sv|const int ob
1432Apd	|void	|sv_replace	|NN SV *const sv|NN SV *const nsv
1433Apd	|void	|sv_report_used
1434Apd	|void	|sv_reset	|NN const char* s|NULLOK HV *const stash
1435p	|void	|sv_resetpvn	|NULLOK const char* s|STRLEN len \
1436				|NULLOK HV *const stash
1437Afpd	|void	|sv_setpvf	|NN SV *const sv|NN const char *const pat|...
1438Apd	|void	|sv_vsetpvf	|NN SV *const sv|NN const char *const pat|NULLOK va_list *const args
1439Apd	|void	|sv_setiv	|NN SV *const sv|const IV num
1440Apdb	|void	|sv_setpviv	|NN SV *const sv|const IV num
1441Apd	|void	|sv_setuv	|NN SV *const sv|const UV num
1442Apd	|void	|sv_setnv	|NN SV *const sv|const NV num
1443Apd	|SV*	|sv_setref_iv	|NN SV *const rv|NULLOK const char *const classname|const IV iv
1444Apd	|SV*	|sv_setref_uv	|NN SV *const rv|NULLOK const char *const classname|const UV uv
1445Apd	|SV*	|sv_setref_nv	|NN SV *const rv|NULLOK const char *const classname|const NV nv
1446Apd	|SV*	|sv_setref_pv	|NN SV *const rv|NULLOK const char *const classname \
1447				|NULLOK void *const pv
1448Apd	|SV*	|sv_setref_pvn	|NN SV *const rv|NULLOK const char *const classname \
1449				|NN const char *const pv|const STRLEN n
1450Apd	|void	|sv_setpv	|NN SV *const sv|NULLOK const char *const ptr
1451Apd	|void	|sv_setpvn	|NN SV *const sv|NULLOK const char *const ptr|const STRLEN len
1452Xp	|void	|sv_sethek	|NN SV *const sv|NULLOK const HEK *const hek
1453Amdb	|void	|sv_setsv	|NN SV *dstr|NULLOK SV *sstr
1454Amdb	|void	|sv_taint	|NN SV* sv
1455ApdR	|bool	|sv_tainted	|NN SV *const sv
1456Apd	|int	|sv_unmagic	|NN SV *const sv|const int type
1457Apd	|int	|sv_unmagicext	|NN SV *const sv|const int type|NULLOK MGVTBL *vtbl
1458Apdmb	|void	|sv_unref	|NN SV* sv
1459Apd	|void	|sv_unref_flags	|NN SV *const ref|const U32 flags
1460Apd	|void	|sv_untaint	|NN SV *const sv
1461Apd	|void	|sv_upgrade	|NN SV *const sv|svtype new_type
1462Apdmb	|void	|sv_usepvn	|NN SV* sv|NULLOK char* ptr|STRLEN len
1463Apd	|void	|sv_usepvn_flags|NN SV *const sv|NULLOK char* ptr|const STRLEN len\
1464				|const U32 flags
1465Apd	|void	|sv_vcatpvfn	|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
1466				|NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
1467				|NULLOK bool *const maybe_tainted
1468Apd	|void	|sv_vcatpvfn_flags|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
1469				|NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
1470				|NULLOK bool *const maybe_tainted|const U32 flags
1471Apd	|void	|sv_vsetpvfn	|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
1472				|NULLOK va_list *const args|NULLOK SV **const svargs \
1473				|const I32 svmax|NULLOK bool *const maybe_tainted
1474ApR	|NV	|str_to_version	|NN SV *sv
1475ApR	|SV*	|swash_init	|NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
1476Ap	|UV	|swash_fetch	|NN SV *swash|NN const U8 *ptr|bool do_utf8
1477#ifdef PERL_IN_REGCOMP_C
1478EiMR	|SV*	|add_cp_to_invlist	|NULLOK SV* invlist|const UV cp
1479EsM	|void	|_append_range_to_invlist   |NN SV* const invlist|const UV start|const UV end
1480EiMR	|UV*	|_invlist_array_init	|NN SV* const invlist|const bool will_have_0
1481EiMR	|UV*	|invlist_array	|NN SV* const invlist
1482EsM	|void	|invlist_extend    |NN SV* const invlist|const UV len
1483EiMR	|UV	|invlist_max	|NN SV* const invlist
1484EiM	|void	|invlist_set_len|NN SV* const invlist|const UV len|const bool offset
1485EiMR	|IV*	|get_invlist_previous_index_addr|NN SV* invlist
1486EiMR	|IV	|invlist_previous_index|NN SV* const invlist
1487EiM	|void	|invlist_set_previous_index|NN SV* const invlist|const IV index
1488EiM	|void	|invlist_trim	|NN SV* const invlist
1489EiMR	|SV*	|invlist_clone	|NN SV* const invlist
1490EiMR	|bool	|invlist_is_iterating|NN SV* const invlist
1491EiMR	|STRLEN*|get_invlist_iter_addr	|NN SV* invlist
1492EiM	|void	|invlist_iterinit|NN SV* invlist
1493EsMR	|bool	|invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
1494EiM	|void	|invlist_iterfinish|NN SV* invlist
1495EiMR	|UV	|invlist_highest|NN SV* const invlist
1496#endif
1497#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
1498EXmM	|void	|_invlist_intersection	|NN SV* const a|NN SV* const b|NN SV** i
1499EXpM	|void	|_invlist_intersection_maybe_complement_2nd \
1500		|NULLOK SV* const a|NN SV* const b          \
1501		|const bool complement_b|NN SV** i
1502EXmM	|void	|_invlist_union	|NULLOK SV* const a|NN SV* const b|NN SV** output
1503EXpM	|void	|_invlist_union_maybe_complement_2nd        \
1504		|NULLOK SV* const a|NN SV* const b          \
1505		|const bool complement_b|NN SV** output
1506EXmM	|void	|_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
1507EXpM	|void	|_invlist_invert|NN SV* const invlist
1508EXMpR	|SV*	|_new_invlist	|IV initial_size
1509EXMpR	|SV*	|_swash_to_invlist	|NN SV* const swash
1510EXMpR	|SV*	|_add_range_to_invlist	|NULLOK SV* invlist|const UV start|const UV end
1511EXMpR	|SV*	|_setup_canned_invlist|const STRLEN size|const UV element0|NN UV** other_elements_ptr
1512EXMp	|void	|_invlist_populate_swatch   |NN SV* const invlist|const UV start|const UV end|NN U8* swatch
1513#endif
1514#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
1515EXp	|SV*	|_core_swash_init|NN const char* pkg|NN const char* name \
1516		|NN SV* listsv|I32 minbits|I32 none \
1517		|NULLOK SV* invlist|NULLOK U8* const flags_p
1518#endif
1519#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
1520EXMpR	|SV*	|_invlist_contents|NN SV* const invlist
1521EiMR	|bool*	|get_invlist_offset_addr|NN SV* invlist
1522EiMR	|UV	|_invlist_len	|NN SV* const invlist
1523EMiR	|bool	|_invlist_contains_cp|NN SV* const invlist|const UV cp
1524EXpMR	|IV	|_invlist_search	|NN SV* const invlist|const UV cp
1525EXMpR	|SV*	|_get_swash_invlist|NN SV* const swash
1526EXMpR	|HV*	|_swash_inversion_hash	|NN SV* const swash
1527#endif
1528#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
1529ApM	|SV*	|_get_regclass_nonbitmap_data				   \
1530				|NULLOK const regexp *prog		   \
1531				|NN const struct regnode *node|bool doinit \
1532				|NULLOK SV **listsvp			   \
1533				|NULLOK SV **lonly_utf8_locale
1534#endif
1535#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
1536EXMp	|void	|_invlist_dump	|NN PerlIO *file|I32 level   \
1537				|NN const char* const indent \
1538				|NN SV* const invlist
1539#endif
1540Ap	|void	|taint_env
1541Ap	|void	|taint_proper	|NULLOK const char* f|NN const char *const s
1542Apd	|UV	|to_utf8_case	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp \
1543				|NN SV **swashp|NN const char *normal|NULLOK const char *special
1544Abmd	|UV	|to_utf8_lower	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
1545AMp	|UV	|_to_utf8_lower_flags	|NN const U8 *p|NN U8* ustrp  \
1546				|NULLOK STRLEN *lenp|bool flags
1547Abmd	|UV	|to_utf8_upper	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
1548AMp	|UV	|_to_utf8_upper_flags	|NN const U8 *p|NN U8* ustrp   \
1549				|NULLOK STRLEN *lenp|bool flags
1550Abmd	|UV	|to_utf8_title	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
1551AMp	|UV	|_to_utf8_title_flags	|NN const U8 *p|NN U8* ustrp   \
1552				|NULLOK STRLEN *lenp|bool flags
1553Abmd	|UV	|to_utf8_fold	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
1554AMp	|UV	|_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp       \
1555				|NULLOK STRLEN *lenp|U8 flags
1556#if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
1557p	|bool	|translate_substr_offsets|STRLEN curlen|IV pos1_iv \
1558					 |bool pos1_is_uv|IV len_iv \
1559					 |bool len_is_uv|NN STRLEN *posp \
1560					 |NN STRLEN *lenp
1561#endif
1562#if defined(UNLINK_ALL_VERSIONS)
1563Ap	|I32	|unlnk		|NN const char* f
1564#endif
1565Apd	|I32	|unpack_str	|NN const char *pat|NN const char *patend|NN const char *s \
1566				|NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
1567				|I32 ocnt|U32 flags
1568Apd	|I32	|unpackstring	|NN const char *pat|NN const char *patend|NN const char *s \
1569				|NN const char *strend|U32 flags
1570Ap	|void	|unsharepvn	|NULLOK const char* sv|I32 len|U32 hash
1571: Used in gv.c, hv.c
1572p	|void	|unshare_hek	|NULLOK HEK* hek
1573: Used in perly.y
1574#ifdef PERL_MAD
1575p	|OP *	|utilize	|int aver|I32 floor|NULLOK OP* version \
1576				|NN OP* idop|NULLOK OP* arg
1577#else
1578p	|void	|utilize	|int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* arg
1579#endif
1580Ap	|U8*	|utf16_to_utf8	|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
1581Ap	|U8*	|utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
1582AdpPR	|STRLEN	|utf8_length	|NN const U8* s|NN const U8 *e
1583ApdPR	|IV	|utf8_distance	|NN const U8 *a|NN const U8 *b
1584ApdPR	|U8*	|utf8_hop	|NN const U8 *s|I32 off
1585ApMd	|U8*	|utf8_to_bytes	|NN U8 *s|NN STRLEN *len
1586Apd	|int	|bytes_cmp_utf8	|NN const U8 *b|STRLEN blen|NN const U8 *u \
1587				|STRLEN ulen
1588ApMd	|U8*	|bytes_from_utf8|NN const U8 *s|NN STRLEN *len|NULLOK bool *is_utf8
1589ApMd	|U8*	|bytes_to_utf8	|NN const U8 *s|NN STRLEN *len
1590ApdD	|UV	|utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
1591ApdD	|UV	|utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
1592ApMD	|UV	|valid_utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
1593Amd	|UV	|utf8_to_uvchr_buf	|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
1594ApdD	|UV	|utf8_to_uvuni_buf	|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
1595pM	|bool	|check_utf8_print	|NN const U8 *s|const STRLEN len
1596
1597Adp	|UV	|utf8n_to_uvchr	|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
1598ApM	|UV	|valid_utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
1599
1600Ap	|UV	|utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
1601
1602Adm	|U8*	|uvchr_to_utf8	|NN U8 *d|UV uv
1603Ap	|U8*	|uvuni_to_utf8	|NN U8 *d|UV uv
1604Adm	|U8*	|uvchr_to_utf8_flags	|NN U8 *d|UV uv|UV flags
1605Apd	|U8*	|uvoffuni_to_utf8_flags	|NN U8 *d|UV uv|UV flags
1606Ap	|U8*	|uvuni_to_utf8_flags	|NN U8 *d|UV uv|UV flags
1607Apd	|char*	|pv_uni_display	|NN SV *dsv|NN const U8 *spv|STRLEN len|STRLEN pvlim|UV flags
1608ApdR	|char*	|sv_uni_display	|NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
1609: Used by Data::Alias
1610EXp	|void	|vivify_defelem	|NN SV* sv
1611: Used in pp.c
1612pR	|SV*	|vivify_ref	|NN SV* sv|U32 to_what
1613: Used in pp_sys.c
1614p	|I32	|wait4pid	|Pid_t pid|NN int* statusp|int flags
1615: Used in locale.c and perl.c
1616p	|U32	|parse_unicode_opts|NN const char **popt
1617Ap	|U32	|seed
1618Xpno	|double	|drand48_r	|NN perl_drand48_t *random_state
1619Xpno	|void	|drand48_init_r |NN perl_drand48_t *random_state|U32 seed
1620: Only used in perl.c
1621p        |void        |get_hash_seed        |NN unsigned char * const seed_buffer
1622: Used in doio.c, pp_hot.c, pp_sys.c
1623p	|void	|report_evil_fh	|NULLOK const GV *gv
1624: Used in doio.c, pp_hot.c, pp_sys.c
1625p	|void	|report_wrongway_fh|NULLOK const GV *gv|const char have
1626: Used in mg.c, pp.c, pp_hot.c, regcomp.c
1627XEpd	|void	|report_uninit	|NULLOK const SV *uninit_sv
1628#if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C)
1629p	|void	|report_redefined_cv|NN const SV *name \
1630				    |NN const CV *old_cv \
1631				    |NULLOK SV * const *new_const_svp
1632#endif
1633Apd	|void	|warn_sv	|NN SV *baseex
1634Afpd	|void	|warn		|NN const char* pat|...
1635Apd	|void	|vwarn		|NN const char* pat|NULLOK va_list* args
1636Afp	|void	|warner		|U32 err|NN const char* pat|...
1637Afp	|void	|ck_warner	|U32 err|NN const char* pat|...
1638Afp	|void	|ck_warner_d	|U32 err|NN const char* pat|...
1639Ap	|void	|vwarner	|U32 err|NN const char* pat|NULLOK va_list* args
1640: FIXME
1641p	|void	|watch		|NN char** addr
1642Am	|I32	|whichsig	|NN const char* sig
1643Ap     |I32    |whichsig_sv    |NN SV* sigsv
1644Ap     |I32    |whichsig_pv    |NN const char* sig
1645Ap     |I32    |whichsig_pvn   |NN const char* sig|STRLEN len
1646: used to check for NULs in pathnames and other names
1647AiR	|bool	|is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
1648: Used in pp_ctl.c
1649p	|void	|write_to_stderr|NN SV* msv
1650: Used in op.c
1651p	|int	|yyerror	|NN const char *const s
1652p	|int	|yyerror_pv	|NN const char *const s|U32 flags
1653p	|int	|yyerror_pvn	|NN const char *const s|STRLEN len|U32 flags
1654: Used in perly.y, and by Data::Alias
1655EXp	|int	|yylex
1656p	|void	|yyunlex
1657: Used in perl.c, pp_ctl.c
1658p	|int	|yyparse	|int gramtype
1659: Only used in scope.c
1660p	|void	|parser_free	|NN const yy_parser *parser
1661#ifdef PERL_CORE
1662p	|void	|parser_free_nexttoke_ops|NN yy_parser *parser \
1663					 |NN OPSLAB *slab
1664#endif
1665#if defined(PERL_IN_TOKE_C)
1666s	|int	|yywarn		|NN const char *const s|U32 flags
1667#endif
1668#if defined(MYMALLOC)
1669Ap	|void	|dump_mstats	|NN const char* s
1670Ap	|int	|get_mstats	|NN perl_mstats_t *buf|int buflen|int level
1671#endif
1672Anpa	|Malloc_t|safesysmalloc	|MEM_SIZE nbytes
1673Anpa	|Malloc_t|safesyscalloc	|MEM_SIZE elements|MEM_SIZE size
1674Anpa	|Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
1675Anp	|Free_t	|safesysfree	|Malloc_t where
1676Asrnx	|void	|croak_memory_wrap
1677#if defined(PERL_GLOBAL_STRUCT)
1678Ap	|struct perl_vars *|GetVars
1679Ap	|struct perl_vars*|init_global_struct
1680Ap	|void	|free_global_struct|NN struct perl_vars *plvarsp
1681#endif
1682Ap	|int	|runops_standard
1683Ap	|int	|runops_debug
1684Afpd	|void	|sv_catpvf_mg	|NN SV *const sv|NN const char *const pat|...
1685Apd	|void	|sv_vcatpvf_mg	|NN SV *const sv|NN const char *const pat \
1686				|NULLOK va_list *const args
1687Apd	|void	|sv_catpv_mg	|NN SV *const sv|NULLOK const char *const ptr
1688Apdbm	|void	|sv_catpvn_mg	|NN SV *sv|NN const char *ptr|STRLEN len
1689Apdbm	|void	|sv_catsv_mg	|NN SV *dsv|NULLOK SV *ssv
1690Afpd	|void	|sv_setpvf_mg	|NN SV *const sv|NN const char *const pat|...
1691Apd	|void	|sv_vsetpvf_mg	|NN SV *const sv|NN const char *const pat \
1692				|NULLOK va_list *const args
1693Apd	|void	|sv_setiv_mg	|NN SV *const sv|const IV i
1694Apdb	|void	|sv_setpviv_mg	|NN SV *const sv|const IV iv
1695Apd	|void	|sv_setuv_mg	|NN SV *const sv|const UV u
1696Apd	|void	|sv_setnv_mg	|NN SV *const sv|const NV num
1697Apd	|void	|sv_setpv_mg	|NN SV *const sv|NULLOK const char *const ptr
1698Apd	|void	|sv_setpvn_mg	|NN SV *const sv|NN const char *const ptr|const STRLEN len
1699Apd	|void	|sv_setsv_mg	|NN SV *const dstr|NULLOK SV *const sstr
1700Apdbm	|void	|sv_usepvn_mg	|NN SV *sv|NULLOK char *ptr|STRLEN len
1701ApR	|MGVTBL*|get_vtbl	|int vtbl_id
1702Apd	|char*	|pv_display	|NN SV *dsv|NN const char *pv|STRLEN cur|STRLEN len \
1703				|STRLEN pvlim
1704Apd	|char*	|pv_escape	|NN SV *dsv|NN char const * const str\
1705                                |const STRLEN count|const STRLEN max\
1706                                |NULLOK STRLEN * const escaped\
1707                                |const U32 flags
1708Apd     |char*  |pv_pretty      |NN SV *dsv|NN char const * const str\
1709                                |const STRLEN count|const STRLEN max\
1710                                |NULLOK char const * const start_color\
1711                                |NULLOK char const * const end_color\
1712                                |const U32 flags
1713Afp	|void	|dump_indent	|I32 level|NN PerlIO *file|NN const char* pat|...
1714Ap	|void	|dump_vindent	|I32 level|NN PerlIO *file|NN const char* pat \
1715				|NULLOK va_list *args
1716Ap	|void	|do_gv_dump	|I32 level|NN PerlIO *file|NN const char *name\
1717				|NULLOK GV *sv
1718Ap	|void	|do_gvgv_dump	|I32 level|NN PerlIO *file|NN const char *name\
1719				|NULLOK GV *sv
1720Ap	|void	|do_hv_dump	|I32 level|NN PerlIO *file|NN const char *name\
1721				|NULLOK HV *sv
1722Ap	|void	|do_magic_dump	|I32 level|NN PerlIO *file|NN const MAGIC *mg|I32 nest \
1723				|I32 maxnest|bool dumpops|STRLEN pvlim
1724Ap	|void	|do_op_dump	|I32 level|NN PerlIO *file|NULLOK const OP *o
1725Ap	|void	|do_pmop_dump	|I32 level|NN PerlIO *file|NULLOK const PMOP *pm
1726Ap	|void	|do_sv_dump	|I32 level|NN PerlIO *file|NULLOK SV *sv|I32 nest \
1727				|I32 maxnest|bool dumpops|STRLEN pvlim
1728Ap	|void	|magic_dump	|NULLOK const MAGIC *mg
1729Ap	|void	|reginitcolors
1730ApdRmb	|char*	|sv_2pv_nolen	|NN SV* sv
1731ApdRmb	|char*	|sv_2pvutf8_nolen|NN SV* sv
1732ApdRmb	|char*	|sv_2pvbyte_nolen|NN SV* sv
1733AmdbR	|char*	|sv_pv		|NN SV *sv
1734AmdbR	|char*	|sv_pvutf8	|NN SV *sv
1735AmdbR	|char*	|sv_pvbyte	|NN SV *sv
1736Amdb	|STRLEN	|sv_utf8_upgrade|NN SV *sv
1737Amd	|STRLEN	|sv_utf8_upgrade_nomg|NN SV *sv
1738ApdM	|bool	|sv_utf8_downgrade|NN SV *const sv|const bool fail_ok
1739Apd	|void	|sv_utf8_encode |NN SV *const sv
1740ApdM	|bool	|sv_utf8_decode |NN SV *const sv
1741Apdmb	|void	|sv_force_normal|NN SV *sv
1742Apd	|void	|sv_force_normal_flags|NN SV *const sv|const U32 flags
1743Ap	|void	|tmps_grow	|SSize_t n
1744Apd	|SV*	|sv_rvweaken	|NN SV *const sv
1745: This is indirectly referenced by globals.c. This is somewhat annoying.
1746p	|int	|magic_killbackrefs|NN SV *sv|NN MAGIC *mg
1747Ap	|OP*	|newANONATTRSUB	|I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
1748Am	|CV*	|newATTRSUB	|I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
1749pX	|CV*	|newATTRSUB_x	|I32 floor|NULLOK OP *o|NULLOK OP *proto \
1750				 |NULLOK OP *attrs|NULLOK OP *block \
1751				 |bool o_is_gv
1752Ap	|CV *	|newMYSUB	|I32 floor|NN OP *o|NULLOK OP *proto \
1753				|NULLOK OP *attrs|NULLOK OP *block
1754p	|CV*	|newSTUB	|NN GV *gv|bool fake
1755: Used in perly.y
1756p	|OP *	|my_attrs	|NN OP *o|NULLOK OP *attrs
1757#if defined(USE_ITHREADS)
1758ApR	|PERL_CONTEXT*|cx_dup	|NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN CLONE_PARAMS* param
1759ApR	|PERL_SI*|si_dup	|NULLOK PERL_SI* si|NN CLONE_PARAMS* param
1760Apa	|ANY*	|ss_dup		|NN PerlInterpreter* proto_perl|NN CLONE_PARAMS* param
1761ApR	|void*	|any_dup	|NULLOK void* v|NN const PerlInterpreter* proto_perl
1762ApR	|HE*	|he_dup		|NULLOK const HE* e|bool shared|NN CLONE_PARAMS* param
1763ApR	|HEK*	|hek_dup	|NULLOK HEK* e|NN CLONE_PARAMS* param
1764Ap	|void	|re_dup_guts	|NN const REGEXP *sstr|NN REGEXP *dstr \
1765				|NN CLONE_PARAMS* param
1766Ap	|PerlIO*|fp_dup		|NULLOK PerlIO *const fp|const char type|NN CLONE_PARAMS *const param
1767ApR	|DIR*	|dirp_dup	|NULLOK DIR *const dp|NN CLONE_PARAMS *const param
1768ApR	|GP*	|gp_dup		|NULLOK GP *const gp|NN CLONE_PARAMS *const param
1769ApR	|MAGIC*	|mg_dup		|NULLOK MAGIC *mg|NN CLONE_PARAMS *const param
1770#if defined(PERL_IN_SV_C)
1771s	|SV **	|sv_dup_inc_multiple|NN SV *const *source|NN SV **dest \
1772				|SSize_t items|NN CLONE_PARAMS *const param
1773sR	|SV*	|sv_dup_common	|NN const SV *const sstr \
1774				|NN CLONE_PARAMS *const param
1775#endif
1776ApR	|SV*	|sv_dup		|NULLOK const SV *const sstr|NN CLONE_PARAMS *const param
1777ApR	|SV*	|sv_dup_inc	|NULLOK const SV *const sstr \
1778				|NN CLONE_PARAMS *const param
1779Ap	|void	|rvpv_dup	|NN SV *const dstr|NN const SV *const sstr|NN CLONE_PARAMS *const param
1780Ap	|yy_parser*|parser_dup	|NULLOK const yy_parser *const proto|NN CLONE_PARAMS *const param
1781#endif
1782Apa	|PTR_TBL_t*|ptr_table_new
1783ApR	|void*	|ptr_table_fetch|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
1784Ap	|void	|ptr_table_store|NN PTR_TBL_t *const tbl|NULLOK const void *const oldsv \
1785				|NN void *const newsv
1786Ap	|void	|ptr_table_split|NN PTR_TBL_t *const tbl
1787ApD	|void	|ptr_table_clear|NULLOK PTR_TBL_t *const tbl
1788Ap	|void	|ptr_table_free|NULLOK PTR_TBL_t *const tbl
1789#if defined(HAVE_INTERP_INTERN)
1790Ap	|void	|sys_intern_clear
1791Ap	|void	|sys_intern_init
1792#  if defined(USE_ITHREADS)
1793Ap	|void	|sys_intern_dup	|NN struct interp_intern* src|NN struct interp_intern* dst
1794#  endif
1795#endif
1796
1797AmopP	|const XOP *	|custom_op_xop	|NN const OP *o
1798ApR	|const char *	|custom_op_name	|NN const OP *o
1799ApR	|const char *	|custom_op_desc	|NN const OP *o
1800pRX	|XOPRETANY	|custom_op_get_field	|NN const OP *o|const xop_flags_enum field
1801Aop	|void	|custom_op_register	|NN Perl_ppaddr_t ppaddr \
1802			|NN const XOP *xop
1803
1804Adp	|void	|sv_nosharing	|NULLOK SV *sv
1805Adpbm	|void	|sv_nolocking	|NULLOK SV *sv
1806Adp	|bool	|sv_destroyable	|NULLOK SV *sv
1807#ifdef NO_MATHOMS
1808Adpbm	|void	|sv_nounlocking	|NULLOK SV *sv
1809#else
1810Adpb	|void	|sv_nounlocking	|NULLOK SV *sv
1811#endif
1812Adp	|int	|nothreadhook
1813p	|void	|init_constants
1814
1815#if defined(PERL_IN_DOOP_C)
1816sR	|I32	|do_trans_simple	|NN SV * const sv
1817sR	|I32	|do_trans_count		|NN SV * const sv
1818sR	|I32	|do_trans_complex	|NN SV * const sv
1819sR	|I32	|do_trans_simple_utf8	|NN SV * const sv
1820sR	|I32	|do_trans_count_utf8	|NN SV * const sv
1821sR	|I32	|do_trans_complex_utf8	|NN SV * const sv
1822#endif
1823
1824#if defined(PERL_IN_GV_C)
1825s	|void	|gv_init_svtype	|NN GV *gv|const svtype sv_type
1826s	|void	|gv_magicalize_isa	|NN GV *gv
1827s  |bool|parse_gv_stash_name|NN HV **stash|NN GV **gv \
1828                     |NN const char **name|NN STRLEN *len \
1829                     |NN const char *nambeg|STRLEN full_len \
1830                     |const U32 is_utf8|const I32 add
1831s  |bool|find_default_stash|NN HV **stash|NN const char *name \
1832                     |STRLEN len|const U32 is_utf8|const I32 add \
1833                     |svtype sv_type
1834s  |bool|gv_magicalize|NN GV *gv|NN HV *stash|NN const char *name \
1835                     |STRLEN len|bool addmg \
1836                     |svtype sv_type
1837s  |void|maybe_multimagic_gv|NN GV *gv|NN const char *name|const svtype sv_type
1838s  |bool|gv_is_in_main|NN const char *name|STRLEN len \
1839                      |const U32 is_utf8
1840s	|HV*	|require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
1841				|NN const char *methpv|const U32 flags
1842#endif
1843
1844#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
1845po	|SV*	|hfree_next_entry	|NN HV *hv|NN STRLEN *indexp
1846#endif
1847
1848#if defined(PERL_IN_HV_C)
1849s	|void	|hsplit		|NN HV *hv|STRLEN const oldsize|STRLEN newsize
1850s	|void	|hfreeentries	|NN HV *hv
1851s	|SV*	|hv_free_ent_ret|NN HV *hv|NN HE *entry
1852sa	|HE*	|new_he
1853sanR	|HEK*	|save_hek_flags	|NN const char *str|I32 len|U32 hash|int flags
1854sn	|void	|hv_magic_check	|NN HV *hv|NN bool *needs_copy|NN bool *needs_store
1855s	|void	|unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
1856sR	|HEK*	|share_hek_flags|NN const char *str|I32 len|U32 hash|int flags
1857rs	|void	|hv_notallowed	|int flags|NN const char *key|I32 klen|NN const char *msg
1858in	|U32|ptr_hash|PTRV u
1859s	|struct xpvhv_aux*|hv_auxinit|NN HV *hv
1860sn	|struct xpvhv_aux*|hv_auxinit_internal|NN struct xpvhv_aux *iter
1861sM	|SV*	|hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
1862		|NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
1863		|U32 hash
1864sM	|void	|clear_placeholders	|NN HV *hv|U32 items
1865#endif
1866
1867#if defined(PERL_IN_MG_C)
1868s	|void	|save_magic_flags|I32 mgs_ix|NN SV *sv|U32 flags
1869-s	|int	|magic_methpack	|NN SV *sv|NN const MAGIC *mg|NN SV *meth
1870s	|SV*	|magic_methcall1|NN SV *sv|NN const MAGIC *mg \
1871				|NN SV *meth|U32 flags \
1872				|int n|NULLOK SV *val
1873s	|void	|restore_magic	|NULLOK const void *p
1874s	|void	|unwind_handler_stack|NULLOK const void *p
1875s	|void	|fixup_errno_string|NN SV* sv
1876
1877#endif
1878
1879#if defined(PERL_IN_OP_C)
1880sRn	|bool	|is_handle_constructor|NN const OP *o|I32 numargs
1881sR	|I32	|is_list_assignment|NULLOK const OP *o
1882s	|void	|forget_pmop	|NN PMOP *const o
1883s	|void	|find_and_forget_pmops	|NN OP *o
1884s	|void	|cop_free	|NN COP *cop
1885s	|OP*	|modkids	|NULLOK OP *o|I32 type
1886s	|OP*	|scalarboolean	|NN OP *o
1887sR	|OP*	|newDEFSVOP
1888sR	|OP*	|search_const	|NN OP *o
1889sR	|OP*	|new_logop	|I32 type|I32 flags|NN OP **firstp|NN OP **otherp
1890s	|void	|simplify_sort	|NN OP *o
1891s	|void	|null_listop_in_list_context |NN OP* o
1892s	|SV*	|gv_ename	|NN GV *gv
1893sRn	|bool	|scalar_mod_type|NULLOK const OP *o|I32 type
1894s	|OP *	|my_kid		|NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
1895s	|OP *	|dup_attrlist	|NN OP *o
1896s	|void	|apply_attrs	|NN HV *stash|NN SV *target|NULLOK OP *attrs
1897s	|void	|apply_attrs_my	|NN HV *stash|NN OP *target|NULLOK OP *attrs|NN OP **imopsp
1898s	|void	|bad_type_pv	|I32 n|NN const char *t|NN const char *name|U32 flags|NN const OP *kid
1899s	|void	|bad_type_gv	|I32 n|NN const char *t|NN GV *gv|U32 flags|NN const OP *kid
1900s	|void	|no_bareword_allowed|NN OP *o
1901sR	|OP*	|no_fh_allowed|NN OP *o
1902sR	|OP*	|too_few_arguments_sv|NN OP *o|NN SV* namesv|U32 flags
1903sR	|OP*	|too_few_arguments_pv|NN OP *o|NN const char* name|U32 flags
1904s	|OP*	|too_many_arguments_pv|NN OP *o|NN const char* name|U32 flags
1905sR	|OP*	|too_many_arguments_sv|NN OP *o|NN SV* namesv|U32 flags
1906s	|bool	|looks_like_bool|NN const OP* o
1907s	|OP*	|newGIVWHENOP	|NULLOK OP* cond|NN OP *block \
1908				|I32 enter_opcode|I32 leave_opcode \
1909				|PADOFFSET entertarg
1910s	|OP*	|ref_array_or_hash|NULLOK OP* cond
1911s	|void	|process_special_blocks	|I32 floor \
1912					|NN const char *const fullname\
1913					|NN GV *const gv|NN CV *const cv
1914#endif
1915Xpa	|void*	|Slab_Alloc	|size_t sz
1916Xp	|void	|Slab_Free	|NN void *op
1917#if defined(PERL_DEBUG_READONLY_OPS)
1918#    if defined(PERL_CORE)
1919px	|void	|Slab_to_ro	|NN OPSLAB *slab
1920px	|void	|Slab_to_rw	|NN OPSLAB *const slab
1921#    endif
1922: Used in OpREFCNT_inc() in sv.c
1923poxM	|OP *	|op_refcnt_inc	|NULLOK OP *o
1924: FIXME - can be static.
1925poxM	|PADOFFSET	|op_refcnt_dec	|NN OP *o
1926#endif
1927
1928#if defined(PERL_IN_PERL_C)
1929s	|void	|find_beginning	|NN SV* linestr_sv|NN PerlIO *rsfp
1930s	|void	|forbid_setid	|const char flag|const bool suidscript
1931s	|void	|incpush	|NN const char *const dir|STRLEN len \
1932				|U32 flags
1933s	|SV*	|mayberelocate	|NN const char *const dir|STRLEN len \
1934				|U32 flags
1935s	|void	|incpush_use_sep|NN const char *p|STRLEN len|U32 flags
1936s	|void	|init_interp
1937s	|void	|init_ids
1938s	|void	|init_main_stash
1939s	|void	|init_perllib
1940s	|void	|init_postdump_symbols|int argc|NN char **argv|NULLOK char **env
1941s	|void	|init_predump_symbols
1942rs	|void	|my_exit_jump
1943s	|void	|nuke_stacks
1944s	|PerlIO *|open_script	|NN const char *scriptname|bool dosearch \
1945				|NN bool *suidscript
1946sr	|void	|usage
1947#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
1948so	|void	|validate_suid	|NN PerlIO *rsfp
1949#endif
1950sr	|void	|minus_v
1951
1952s	|void*	|parse_body	|NULLOK char **env|XSINIT_t xsinit
1953rs	|void	|run_body	|I32 oldscope
1954#  ifndef PERL_IS_MINIPERL
1955s	|SV *	|incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
1956#  endif
1957#endif
1958
1959#if defined(PERL_IN_PP_C)
1960s	|void	|do_chomp	|NN SV *retval|NN SV *sv|bool chomping
1961s	|OP*	|do_delete_local
1962sR	|SV*	|refto		|NN SV* sv
1963#endif
1964#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
1965: Used in pp_hot.c
1966pRxo	|GV*	|softref2xv	|NN SV *const sv|NN const char *const what \
1967				|const svtype type|NN SV ***spp
1968#endif
1969
1970#if defined(PERL_IN_PP_PACK_C)
1971s	|I32	|unpack_rec	|NN struct tempsym* symptr|NN const char *s \
1972				|NN const char *strbeg|NN const char *strend|NULLOK const char **new_s
1973s	|SV **	|pack_rec	|NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist
1974s	|SV*	|mul128		|NN SV *sv|U8 m
1975s	|I32	|measure_struct	|NN struct tempsym* symptr
1976s	|bool	|next_symbol	|NN struct tempsym* symptr
1977sR	|SV*	|is_an_int	|NN const char *s|STRLEN l
1978s	|int	|div128		|NN SV *pnum|NN bool *done
1979s	|const char *|group_end	|NN const char *patptr|NN const char *patend \
1980				|char ender
1981sR	|const char *|get_num	|NN const char *patptr|NN I32 *lenptr
1982ns	|bool	|need_utf8	|NN const char *pat|NN const char *patend
1983ns	|char	|first_symbol	|NN const char *pat|NN const char *patend
1984sR	|char *	|sv_exp_grow	|NN SV *sv|STRLEN needed
1985snR	|char *	|bytes_to_uni	|NN const U8 *start|STRLEN len|NN char *dest \
1986	      			|const bool needs_swap
1987#endif
1988
1989#if defined(PERL_IN_PP_CTL_C)
1990sR	|OP*	|docatch	|NULLOK OP *o
1991sR	|OP*	|dofindlabel	|NN OP *o|NN const char *label|STRLEN len \
1992                                |U32 flags|NN OP **opstack|NN OP **oplimit
1993s	|MAGIC *|doparseform	|NN SV *sv
1994snR	|bool	|num_overflow	|NV value|I32 fldsize|I32 frcsize
1995sR	|I32	|dopoptoeval	|I32 startingblock
1996sR	|I32	|dopoptogiven	|I32 startingblock
1997sR	|I32	|dopoptolabel	|NN const char *label|STRLEN len|U32 flags
1998sR	|I32	|dopoptoloop	|I32 startingblock
1999sR	|I32	|dopoptosub_at	|NN const PERL_CONTEXT* cxstk|I32 startingblock
2000sR	|I32	|dopoptowhen	|I32 startingblock
2001s	|void	|save_lines	|NULLOK AV *array|NN SV *sv
2002s	|bool	|doeval		|int gimme \
2003				|NULLOK CV* outside|U32 seq|NULLOK HV* hh
2004sR	|PerlIO *|check_type_and_open|NN SV *name
2005#ifndef PERL_DISABLE_PMC
2006sR	|PerlIO *|doopen_pm	|NN SV *name
2007#endif
2008s	|SV **	|adjust_stack_on_leave|NN SV **newsp|NN SV **sp|NN SV **mark|I32 gimme \
2009				      |U32 flags|bool lvalue
2010iRn	|bool	|path_is_searchable|NN const char *name
2011sR	|I32	|run_user_filter|int idx|NN SV *buf_sv|int maxlen
2012sR	|PMOP*	|make_matcher	|NN REGEXP* re
2013sR	|bool	|matcher_matches_sv|NN PMOP* matcher|NN SV* sv
2014s	|void	|destroy_matcher|NN PMOP* matcher
2015s	|OP*	|do_smartmatch	|NULLOK HV* seen_this \
2016				|NULLOK HV* seen_other|const bool copied
2017#endif
2018
2019#if defined(PERL_IN_PP_HOT_C)
2020s	|void	|do_oddball	|NN SV **oddkey|NN SV **firstkey
2021sR	|SV*	|method_common	|NN SV* meth|NULLOK U32* hashp
2022#endif
2023
2024#if defined(PERL_IN_PP_SORT_C)
2025s	|I32	|sv_ncmp	|NN SV *const a|NN SV *const b
2026s	|I32	|sv_i_ncmp	|NN SV *const a|NN SV *const b
2027s	|I32	|amagic_ncmp	|NN SV *const a|NN SV *const b
2028s	|I32	|amagic_i_ncmp	|NN SV *const a|NN SV *const b
2029s	|I32	|amagic_cmp	|NN SV *const str1|NN SV *const str2
2030s	|I32	|amagic_cmp_locale|NN SV *const str1|NN SV *const str2
2031s	|I32	|sortcv		|NN SV *const a|NN SV *const b
2032s	|I32	|sortcv_xsub	|NN SV *const a|NN SV *const b
2033s	|I32	|sortcv_stacked	|NN SV *const a|NN SV *const b
2034s	|void	|qsortsvu	|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
2035#endif
2036
2037#if defined(PERL_IN_PP_SYS_C)
2038s	|OP*	|doform		|NN CV *cv|NN GV *gv|NULLOK OP *retop
2039#  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
2040sR	|int	|dooneliner	|NN const char *cmd|NN const char *filename
2041#  endif
2042s	|SV *	|space_join_names_mortal|NN char *const *array
2043#endif
2044p	|OP *	|tied_method|NN SV *methname|NN SV **sp \
2045				|NN SV *const sv|NN const MAGIC *const mg \
2046				|const U32 flags|U32 argc|...
2047
2048#if defined(PERL_IN_REGCOMP_C)
2049Es	|regnode*|reg		|NN RExC_state_t *pRExC_state \
2050				|I32 paren|NN I32 *flagp|U32 depth
2051Es	|regnode*|reganode	|NN RExC_state_t *pRExC_state|U8 op \
2052				|U32 arg
2053Es	|regnode*|regatom	|NN RExC_state_t *pRExC_state \
2054				|NN I32 *flagp|U32 depth
2055Es	|regnode*|regbranch	|NN RExC_state_t *pRExC_state \
2056				|NN I32 *flagp|I32 first|U32 depth
2057Ei	|STRLEN	|reguni		|NN const RExC_state_t *pRExC_state \
2058				|UV uv|NN char *s
2059Es	|void	 |set_ANYOF_arg	|NN RExC_state_t* const pRExC_state \
2060				|NN regnode* const node                    \
2061				|NULLOK SV* const cp_list                  \
2062				|NULLOK SV* const runtime_defns            \
2063				|NULLOK SV* const only_utf8_locale_list	   \
2064				|NULLOK SV* const swash                    \
2065				|const bool has_user_defined_property
2066Es	|regnode*|regclass	|NN RExC_state_t *pRExC_state \
2067				|NN I32 *flagp|U32 depth|const bool stop_at_1 \
2068				|bool allow_multi_fold                        \
2069				|const bool silence_non_portable	      \
2070				|NULLOK SV** ret_invlist
2071Es	|bool|could_it_be_a_POSIX_class|NN RExC_state_t *pRExC_state
2072Es	|regnode*|handle_regex_sets|NN RExC_state_t *pRExC_state \
2073				|NULLOK SV ** return_invlist            \
2074				|NN I32 *flagp|U32 depth                \
2075				|NN char * const oregcomp_parse
2076Es	|void|parse_lparen_question_flags|NN RExC_state_t *pRExC_state
2077Es	|regnode*|reg_node	|NN RExC_state_t *pRExC_state|U8 op
2078Es	|UV	|reg_recode	|const char value|NN SV **encp
2079Es	|regnode*|regpiece	|NN RExC_state_t *pRExC_state \
2080				|NN I32 *flagp|U32 depth
2081Es	|bool	|grok_bslash_N	|NN RExC_state_t *pRExC_state        \
2082				|NULLOK regnode** nodep|NULLOK UV *valuep   \
2083				|NN I32 *flagp|U32 depth|bool in_char_class \
2084				|const bool strict
2085Es	|void	|reginsert	|NN RExC_state_t *pRExC_state \
2086				|U8 op|NN regnode *opnd|U32 depth
2087Es	|void	|regtail	|NN RExC_state_t *pRExC_state \
2088				|NN regnode *p|NN const regnode *val|U32 depth
2089Es	|SV *	|reg_scan_name	|NN RExC_state_t *pRExC_state \
2090				|U32 flags
2091Es	|U32	|join_exact	|NN RExC_state_t *pRExC_state \
2092				|NN regnode *scan|NN UV *min_subtract  \
2093				|NN bool *unfolded_multi_char          \
2094				|U32 flags|NULLOK regnode *val|U32 depth
2095EsRn	|char *	|regwhite	|NN RExC_state_t *pRExC_state \
2096				|NN char *p
2097EsRn	|char *	|regpatws	|NN RExC_state_t *pRExC_state \
2098				|NN char *p|const bool recognize_comment
2099Ei	|void   |alloc_maybe_populate_EXACT|NN RExC_state_t *pRExC_state \
2100				|NN regnode *node|NN I32 *flagp|STRLEN len \
2101				|UV code_point|bool downgradable
2102Ei	|U8   |compute_EXACTish|NN RExC_state_t *pRExC_state
2103Es	|char *	|nextchar	|NN RExC_state_t *pRExC_state
2104Es	|bool	|reg_skipcomment|NN RExC_state_t *pRExC_state
2105Es	|void	|scan_commit	|NN const RExC_state_t *pRExC_state \
2106				|NN struct scan_data_t *data        \
2107				|NN SSize_t *minlenp		    \
2108				|int is_inf
2109Es	|void	|populate_ANYOF_from_invlist|NN regnode *node|NN SV** invlist_ptr
2110Es	|void	|ssc_anything	|NN regnode_ssc *ssc
2111EsR	|int	|ssc_is_anything|NN const regnode_ssc *ssc
2112Es	|void	|ssc_init	|NN const RExC_state_t *pRExC_state \
2113				|NN regnode_ssc *ssc
2114EsR	|int	|ssc_is_cp_posixl_init|NN const RExC_state_t *pRExC_state \
2115				|NN const regnode_ssc *ssc
2116Es	|void	|ssc_and	|NN const RExC_state_t *pRExC_state \
2117				|NN regnode_ssc *ssc                \
2118				|NN const regnode_charclass *and_with
2119Es	|void	|ssc_or		|NN const RExC_state_t *pRExC_state \
2120				|NN regnode_ssc *ssc \
2121				|NN const regnode_charclass *or_with
2122Es	|SV*	|get_ANYOF_cp_list_for_ssc                                 \
2123				|NN const RExC_state_t *pRExC_state \
2124				|NN const regnode_charclass* const node
2125Ei	|void	|ssc_intersection|NN regnode_ssc *ssc \
2126				|NN SV* const invlist|const bool invert_2nd
2127Ei	|void	|ssc_union	|NN regnode_ssc *ssc \
2128				|NN SV* const invlist|const bool invert_2nd
2129Ei	|void	|ssc_add_range	|NN regnode_ssc *ssc \
2130				|UV const start|UV const end
2131Ei	|void	|ssc_cp_and	|NN regnode_ssc *ssc \
2132				|UV const cp
2133Ei	|void	|ssc_clear_locale|NN regnode_ssc *ssc
2134Es	|void	|ssc_finalize	|NN RExC_state_t *pRExC_state \
2135				|NN regnode_ssc *ssc
2136Es	|SSize_t|study_chunk	|NN RExC_state_t *pRExC_state \
2137				|NN regnode **scanp|NN SSize_t *minlenp \
2138				|NN SSize_t *deltap|NN regnode *last \
2139				|NULLOK struct scan_data_t *data \
2140                                |I32 stopparen|U32 recursed_depth \
2141				|NULLOK regnode_ssc *and_withp \
2142				|U32 flags|U32 depth
2143EsRn	|U32	|add_data	|NN RExC_state_t* const pRExC_state \
2144				|NN const char* const s|const U32 n
2145rs	|void	|re_croak2	|bool utf8|NN const char* pat1|NN const char* pat2|...
2146Ei	|I32	|regpposixcc	|NN RExC_state_t *pRExC_state \
2147				|I32 value|const bool strict
2148Es	|I32	|make_trie	|NN RExC_state_t *pRExC_state \
2149				|NN regnode *startbranch|NN regnode *first \
2150				|NN regnode *last|NN regnode *tail \
2151				|U32 word_count|U32 flags|U32 depth
2152Es	|void	|make_trie_failtable	|NN RExC_state_t *pRExC_state \
2153                                |NN regnode *source|NN regnode *stclass \
2154				|U32 depth
2155#  ifdef DEBUGGING
2156Es        |void        |regdump_intflags|NULLOK const char *lead| const U32 flags
2157Es	|void	|regdump_extflags|NULLOK const char *lead| const U32 flags
2158Es	|const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \
2159				|NN const regnode *node \
2160				|NULLOK const regnode *last \
2161				|NULLOK const regnode *plast \
2162				|NN SV* sv|I32 indent|U32 depth
2163Es	|void	|put_byte	|NN SV* sv|int c
2164Es	|bool	|put_latin1_charclass_innards|NN SV* sv|NN char* bitmap
2165Es	|void	|put_range	|NN SV* sv|UV start|UV end
2166Es	|void	|dump_trie	|NN const struct _reg_trie_data *trie\
2167				|NULLOK HV* widecharmap|NN AV *revcharmap\
2168				|U32 depth
2169Es	|void	|dump_trie_interim_list|NN const struct _reg_trie_data *trie\
2170				|NULLOK HV* widecharmap|NN AV *revcharmap\
2171				|U32 next_alloc|U32 depth
2172Es	|void	|dump_trie_interim_table|NN const struct _reg_trie_data *trie\
2173				|NULLOK HV* widecharmap|NN AV *revcharmap\
2174				|U32 next_alloc|U32 depth
2175Es	|U8	|regtail_study	|NN RExC_state_t *pRExC_state \
2176				|NN regnode *p|NN const regnode *val|U32 depth
2177#  endif
2178#endif
2179
2180#if defined(PERL_IN_REGEXEC_C)
2181ERs	|bool	|isFOO_lc	|const U8 classnum|const U8 character
2182ERs	|bool	|isFOO_utf8_lc	|const U8 classnum|NN const U8* character
2183ERs	|SSize_t|regmatch	|NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
2184ERs	|I32	|regrepeat	|NN regexp *prog|NN char **startposp \
2185				|NN const regnode *p \
2186				|NN regmatch_info *const reginfo \
2187				|I32 max \
2188				|int depth
2189ERs	|I32	|regtry		|NN regmatch_info *reginfo|NN char **startposp
2190ERs	|bool	|reginclass	|NULLOK regexp * const prog  \
2191				|NN const regnode * const n  \
2192				|NN const U8 * const p       \
2193				|NN const U8 * const p_end   \
2194				|bool const utf8_target
2195Es	|CHECKPOINT|regcppush	|NN const regexp *rex|I32 parenfloor\
2196				|U32 maxopenparen
2197Es	|void	|regcppop	|NN regexp *rex\
2198				|NN U32 *maxopenparen_p
2199ERsn	|U8*	|reghop3	|NN U8 *s|SSize_t off|NN const U8 *lim
2200ERsn	|U8*	|reghop4	|NN U8 *s|SSize_t off|NN const U8 *llim \
2201				|NN const U8 *rlim
2202ERsn	|U8*	|reghopmaybe3	|NN U8 *s|SSize_t off|NN const U8 *lim
2203ERs	|char*	|find_byclass	|NN regexp * prog|NN const regnode *c \
2204				|NN char *s|NN const char *strend \
2205				|NULLOK regmatch_info *reginfo
2206Es	|void	|to_utf8_substr	|NN regexp * prog
2207Es	|bool	|to_byte_substr	|NN regexp * prog
2208ERs	|I32	|reg_check_named_buff_matched	|NN const regexp *rex \
2209						|NN const regnode *scan
2210#  ifdef DEBUGGING
2211Es	|void	|dump_exec_pos	|NN const char *locinput|NN const regnode *scan|NN const char *loc_regeol\
2212				|NN const char *loc_bostr|NN const char *loc_reg_starttry|const bool do_utf8
2213Es	|void	|debug_start_match|NN const REGEXP *prog|const bool do_utf8\
2214				|NN const char *start|NN const char *end\
2215				|NN const char *blurb
2216#  endif
2217#endif
2218
2219#if defined(PERL_IN_DUMP_C)
2220s	|CV*	|deb_curcv	|const I32 ix
2221s	|void	|debprof	|NN const OP *o
2222s	|UV	|sequence_num	|NULLOK const OP *o
2223s	|SV*	|pm_description	|NN const PMOP *pm
2224#endif
2225
2226#if defined(PERL_IN_SCOPE_C)
2227s	|SV*	|save_scalar_at	|NN SV **sptr|const U32 flags
2228#endif
2229
2230#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C)
2231: Used in gv.c
2232po	|void	|sv_add_backref	|NN SV *const tsv|NN SV *const sv
2233#endif
2234
2235#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C)
2236: Used in hv.c and mg.c
2237poM	|void	|sv_kill_backrefs	|NN SV *const sv|NULLOK AV *const av
2238#endif
2239
2240#if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C)
2241pR	|SV *	|varname	|NULLOK const GV *const gv|const char gvtype \
2242				|PADOFFSET targ|NULLOK const SV *const keyname \
2243				|I32 aindex|int subscript_type
2244#endif
2245
2246pX	|void	|sv_del_backref	|NN SV *const tsv|NN SV *const sv
2247#if defined(PERL_IN_SV_C)
2248nsR	|char *	|uiv_2buf	|NN char *const buf|const IV iv|UV uv|const int is_uv|NN char **const peob
2249i	|void	|sv_unglob	|NN SV *const sv|U32 flags
2250s	|void	|not_a_number	|NN SV *const sv
2251s	|I32	|visit		|NN SVFUNC_t f|const U32 flags|const U32 mask
2252#  ifdef DEBUGGING
2253s	|void	|del_sv	|NN SV *p
2254#  endif
2255#  if !defined(NV_PRESERVES_UV)
2256#    ifdef DEBUGGING
2257s	|int	|sv_2iuv_non_preserve	|NN SV *const sv|I32 numtype
2258#    else
2259s	|int	|sv_2iuv_non_preserve	|NN SV *const sv
2260#    endif
2261#  endif
2262sR	|I32	|expect_number	|NN char **const pattern
2263sn	|STRLEN	|sv_pos_u2b_forwards|NN const U8 *const start \
2264		|NN const U8 *const send|NN STRLEN *const uoffset \
2265		|NN bool *const at_end
2266sn	|STRLEN	|sv_pos_u2b_midway|NN const U8 *const start \
2267		|NN const U8 *send|STRLEN uoffset|const STRLEN uend
2268s	|STRLEN	|sv_pos_u2b_cached|NN SV *const sv|NN MAGIC **const mgp \
2269		|NN const U8 *const start|NN const U8 *const send \
2270		|STRLEN uoffset|STRLEN uoffset0|STRLEN boffset0
2271s	|void	|utf8_mg_len_cache_update|NN SV *const sv|NN MAGIC **const mgp \
2272		|const STRLEN ulen
2273s	|void	|utf8_mg_pos_cache_update|NN SV *const sv|NN MAGIC **const mgp \
2274		|const STRLEN byte|const STRLEN utf8|const STRLEN blen
2275s	|STRLEN	|sv_pos_b2u_midway|NN const U8 *const s|NN const U8 *const target \
2276		|NN const U8 *end|STRLEN endu
2277s	|void	|assert_uft8_cache_coherent|NN const char *const func \
2278		|STRLEN from_cache|STRLEN real|NN SV *const sv
2279sn	|char *	|F0convert	|NV nv|NN char *const endbuf|NN STRLEN *const len
2280#  if defined(PERL_OLD_COPY_ON_WRITE)
2281sM	|void	|sv_release_COW	|NN SV *sv|NN const char *pvx|NN SV *after
2282#  endif
2283s	|SV *	|more_sv
2284s	|bool	|sv_2iuv_common	|NN SV *const sv
2285s	|void	|glob_assign_glob|NN SV *const dstr|NN SV *const sstr \
2286		|const int dtype
2287s	|void	|glob_assign_ref|NN SV *const dstr|NN SV *const sstr
2288sRn	|PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
2289s	|void	|anonymise_cv_maybe	|NN GV *gv|NN CV *cv
2290#endif
2291
2292: Used in sv.c and hv.c
2293po	|void *	|more_bodies	|const svtype sv_type|const size_t body_size \
2294				|const size_t arena_size
2295
2296#if defined(PERL_IN_TOKE_C)
2297s	|void	|check_uni
2298s	|void	|force_next	|I32 type
2299s	|char*	|force_version	|NN char *s|int guessing
2300s	|char*	|force_strict_version	|NN char *s
2301s	|char*	|force_word	|NN char *start|int token|int check_keyword \
2302				|int allow_pack
2303s	|SV*	|tokeq		|NN SV *sv
2304sR	|char*	|scan_const	|NN char *start
2305iR	|SV*	|get_and_check_backslash_N_name|NN const char* s \
2306				|NN const char* const e
2307sR	|char*	|scan_formline	|NN char *s
2308sR	|char*	|scan_heredoc	|NN char *s
2309s	|char*	|scan_ident	|NN char *s|NN char *dest \
2310				|STRLEN destlen|I32 ck_uni
2311sR	|char*	|scan_inputsymbol|NN char *start
2312sR	|char*	|scan_pat	|NN char *start|I32 type
2313sR	|char*	|scan_str	|NN char *start|int keep_quoted \
2314				|int keep_delims|int re_reparse \
2315				|bool deprecate_escaped_matching \
2316				|NULLOK char **delimp
2317sR	|char*	|scan_subst	|NN char *start
2318sR	|char*	|scan_trans	|NN char *start
2319s	|char*	|scan_word	|NN char *s|NN char *dest|STRLEN destlen \
2320				|int allow_package|NN STRLEN *slp
2321s	|void	|update_debugger_info|NULLOK SV *orig_sv \
2322				|NULLOK const char *const buf|STRLEN len
2323sR	|char*	|skipspace_flags|NN char *s|U32 flags
2324sR	|char*	|swallow_bom	|NN U8 *s
2325#ifndef PERL_NO_UTF16_FILTER
2326s	|I32	|utf16_textfilter|int idx|NN SV *sv|int maxlen
2327s	|U8*	|add_utf16_textfilter|NN U8 *const s|bool reversed
2328#endif
2329s	|void	|checkcomma	|NN const char *s|NN const char *name \
2330				|NN const char *what
2331s	|void	|force_ident	|NN const char *s|int kind
2332s	|void	|force_ident_maybe_lex|char pit
2333s	|void	|incline	|NN const char *s
2334s	|int	|intuit_method	|NN char *s|NULLOK GV *gv|NULLOK CV *cv
2335s	|int	|intuit_more	|NN char *s
2336s	|I32	|lop		|I32 f|int x|NN char *s
2337rs	|void	|missingterm	|NULLOK char *s
2338s	|void	|no_op		|NN const char *const what|NULLOK char *s
2339s	|int	|pending_ident
2340sR	|I32	|sublex_done
2341sR	|I32	|sublex_push
2342sR	|I32	|sublex_start
2343sR	|char *	|filter_gets	|NN SV *sv|STRLEN append
2344sR	|HV *	|find_in_my_stash|NN const char *pkgname|STRLEN len
2345sR	|char *	|tokenize_use	|int is_use|NN char *s
2346so	|SV*	|new_constant	|NULLOK const char *s|STRLEN len \
2347				|NN const char *key|STRLEN keylen|NN SV *sv \
2348				|NULLOK SV *pv|NULLOK const char *type \
2349				|STRLEN typelen
2350s	|int	|deprecate_commaless_var_list
2351s	|int	|ao		|int toketype
2352s  |void|parse_ident|NN char **s|NN char **d \
2353                     |NN char * const e|int allow_package \
2354                     |bool is_utf8
2355#  if defined(PERL_CR_FILTER)
2356s	|I32	|cr_textfilter	|int idx|NULLOK SV *sv|int maxlen
2357s	|void	|strip_return	|NN SV *sv
2358#  endif
2359#  if defined(DEBUGGING)
2360s	|int	|tokereport	|I32 rv|NN const YYSTYPE* lvalp
2361sf	|void	|printbuf	|NN const char *const fmt|NN const char *const s
2362#  endif
2363#endif
2364EXMp	|bool	|validate_proto	|NN SV *name|NULLOK SV *proto|bool warn
2365
2366#if defined(PERL_IN_UNIVERSAL_C)
2367s	|bool	|isa_lookup	|NN HV *stash|NN const char * const name \
2368                                        |STRLEN len|U32 flags
2369#endif
2370
2371#if defined(PERL_IN_LOCALE_C) && defined(USE_LOCALE)
2372s	|char*	|stdize_locale	|NN char* locs
2373s	|bool	|is_cur_LC_category_utf8|int category
2374#endif
2375
2376#if defined(PERL_IN_UTIL_C)
2377s	|SV*	|mess_alloc
2378s	|SV *	|with_queued_errors|NN SV *ex
2379s	|bool	|invoke_exception_hook|NULLOK SV *ex|bool warn
2380#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
2381sn	|void	|mem_log_common	|enum mem_log_type mlt|const UV n|const UV typesize \
2382				|NN const char *type_name|NULLOK const SV *sv \
2383				|Malloc_t oldalloc|Malloc_t newalloc \
2384				|NN const char *filename|const int linenumber \
2385				|NN const char *funcname
2386#endif
2387#endif
2388
2389#if defined(PERL_IN_NUMERIC_C)
2390sn	|NV|mulexp10	|NV value|I32 exponent
2391#endif
2392
2393#if defined(PERL_IN_UTF8_C)
2394iRn	|STRLEN	|is_utf8_char_slow|NN const U8 *s|const STRLEN len
2395sRM	|UV	|check_locale_boundary_crossing|NN const U8* const p|const UV result|NN U8* const ustrp|NN STRLEN *lenp
2396iR	|bool	|is_utf8_common	|NN const U8 *const p|NN SV **swash|NN const char * const swashname|NULLOK SV* const invlist
2397sR	|SV*	|swatch_get	|NN SV* swash|UV start|UV span
2398#endif
2399
2400AiMn	|void	|append_utf8_from_native_byte|const U8 byte|NN U8** dest
2401
2402Apd	|void	|sv_setsv_flags	|NN SV *dstr|NULLOK SV *sstr|const I32 flags
2403Apd	|void	|sv_catpvn_flags|NN SV *const dstr|NN const char *sstr|const STRLEN len \
2404				|const I32 flags
2405Apd	|void	|sv_catpv_flags	|NN SV *dstr|NN const char *sstr \
2406				|const I32 flags
2407Apd	|void	|sv_catsv_flags	|NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
2408Apmd	|STRLEN	|sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
2409Ap	|STRLEN	|sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
2410Apd	|char*	|sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
2411pmb	|void	|sv_copypv	|NN SV *const dsv|NN SV *const ssv
2412Apmd	|void	|sv_copypv_nomg	|NN SV *const dsv|NN SV *const ssv
2413Apd	|void	|sv_copypv_flags	|NN SV *const dsv|NN SV *const ssv|const I32 flags
2414Ap	|char*	|my_atof2	|NN const char *s|NN NV* value
2415Apn	|int	|my_socketpair	|int family|int type|int protocol|int fd[2]
2416Ap	|int	|my_dirfd	|NULLOK DIR* dir
2417#ifdef PERL_ANY_COW
2418: Used in pp_hot.c and regexec.c
2419pMXE	|SV*	|sv_setsv_cow	|NULLOK SV* dstr|NN SV* sstr
2420#endif
2421
2422Aop	|const char *|PerlIO_context_layers|NULLOK const char *mode
2423
2424#if defined(USE_PERLIO)
2425Ap	|int	|PerlIO_close		|NULLOK PerlIO *f
2426Ap	|int	|PerlIO_fill		|NULLOK PerlIO *f
2427Ap	|int	|PerlIO_fileno		|NULLOK PerlIO *f
2428Ap	|int	|PerlIO_eof		|NULLOK PerlIO *f
2429Ap	|int	|PerlIO_error		|NULLOK PerlIO *f
2430Ap	|int	|PerlIO_flush		|NULLOK PerlIO *f
2431Ap	|void	|PerlIO_clearerr	|NULLOK PerlIO *f
2432Ap	|void	|PerlIO_set_cnt		|NULLOK PerlIO *f|SSize_t cnt
2433Ap	|void	|PerlIO_set_ptrcnt	|NULLOK PerlIO *f|NULLOK STDCHAR *ptr \
2434					|SSize_t cnt
2435Ap	|void	|PerlIO_setlinebuf	|NULLOK PerlIO *f
2436Ap	|SSize_t|PerlIO_read		|NULLOK PerlIO *f|NN void *vbuf \
2437					|Size_t count
2438Ap	|SSize_t|PerlIO_write		|NULLOK PerlIO *f|NN const void *vbuf \
2439					|Size_t count
2440Ap	|SSize_t|PerlIO_unread		|NULLOK PerlIO *f|NN const void *vbuf \
2441					|Size_t count
2442Ap	|Off_t	|PerlIO_tell		|NULLOK PerlIO *f
2443Ap	|int	|PerlIO_seek		|NULLOK PerlIO *f|Off_t offset|int whence
2444
2445Ap	|STDCHAR *|PerlIO_get_base	|NULLOK PerlIO *f
2446Ap	|STDCHAR *|PerlIO_get_ptr	|NULLOK PerlIO *f
2447ApR	|SSize_t	  |PerlIO_get_bufsiz	|NULLOK PerlIO *f
2448ApR	|SSize_t	  |PerlIO_get_cnt	|NULLOK PerlIO *f
2449
2450ApR	|PerlIO *|PerlIO_stdin
2451ApR	|PerlIO *|PerlIO_stdout
2452ApR	|PerlIO *|PerlIO_stderr
2453#endif /* PERLIO_LAYERS */
2454
2455: Only used in dump.c
2456p	|void	|deb_stack_all
2457#if defined(PERL_IN_DEB_C)
2458s	|void	|deb_stack_n	|NN SV** stack_base|I32 stack_min \
2459				|I32 stack_max|I32 mark_min|I32 mark_max
2460#endif
2461
2462: pad API
2463#ifdef PERL_MAD
2464Mnpd	|void	|pad_peg	|NN const char* s
2465#endif
2466Apda	|PADLIST*|pad_new	|int flags
2467#if defined(PERL_IN_PAD_C)
2468s	|PADOFFSET|pad_alloc_name|NN SV *namesv|U32 flags \
2469				|NULLOK HV *typestash|NULLOK HV *ourstash
2470#endif
2471Apd	|PADOFFSET|pad_add_name_pvn|NN const char *namepv|STRLEN namelen\
2472				|U32 flags|NULLOK HV *typestash\
2473				|NULLOK HV *ourstash
2474Apd	|PADOFFSET|pad_add_name_pv|NN const char *name\
2475				|const U32 flags|NULLOK HV *typestash\
2476				|NULLOK HV *ourstash
2477Apd	|PADOFFSET|pad_add_name_sv|NN SV *name\
2478				|U32 flags|NULLOK HV *typestash\
2479				|NULLOK HV *ourstash
2480AMpd	|PADOFFSET|pad_alloc	|I32 optype|U32 tmptype
2481Apd	|PADOFFSET|pad_add_anon	|NN CV* func|I32 optype
2482#if defined(PERL_IN_PAD_C)
2483sd	|void	|pad_check_dup	|NN SV *name|U32 flags|NULLOK const HV *ourstash
2484#endif
2485Apd	|PADOFFSET|pad_findmy_pvn|NN const char* namepv|STRLEN namelen|U32 flags
2486Apd	|PADOFFSET|pad_findmy_pv|NN const char* name|U32 flags
2487Apd	|PADOFFSET|pad_findmy_sv|NN SV* name|U32 flags
2488ApdD	|PADOFFSET|find_rundefsvoffset	|
2489Apd	|SV*	|find_rundefsv	|
2490: Used in pp.c
2491p	|SV*	|find_rundefsv2	|NN CV *cv|U32 seq
2492#if defined(PERL_IN_PAD_C)
2493sd	|PADOFFSET|pad_findlex	|NN const char *namepv|STRLEN namelen|U32 flags \
2494				|NN const CV* cv|U32 seq|int warn \
2495				|NULLOK SV** out_capture|NN SV** out_name_sv \
2496				|NN int *out_flags
2497#endif
2498#ifdef DEBUGGING
2499Apd	|SV*	|pad_sv		|PADOFFSET po
2500Apd	|void	|pad_setsv	|PADOFFSET po|NN SV* sv
2501#endif
2502pd	|void	|pad_block_start|int full
2503pd	|U32	|intro_my
2504pd	|OP *	|pad_leavemy
2505pd	|void	|pad_swipe	|PADOFFSET po|bool refadjust
2506#if defined(PERL_IN_PAD_C)
2507sd	|void	|pad_reset
2508#endif
2509AMpd	|void	|pad_tidy	|padtidy_type type
2510pd	|void	|pad_free	|PADOFFSET po
2511pd 	|void	|do_dump_pad	|I32 level|NN PerlIO *file|NULLOK PADLIST *padlist|int full
2512#if defined(PERL_IN_PAD_C)
2513#  if defined(DEBUGGING)
2514sd	|void	|cv_dump	|NN const CV *cv|NN const char *title
2515#  endif
2516#endif
2517Apd	|CV*	|cv_clone	|NN CV* proto
2518p	|CV*	|cv_clone_into	|NN CV* proto|NN CV *target
2519pd	|void	|pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
2520pdX	|void	|pad_push	|NN PADLIST *padlist|int depth
2521ApdR	|HV*	|pad_compname_type|const PADOFFSET po
2522#if defined(USE_ITHREADS)
2523pdR	|PADLIST *|padlist_dup	|NULLOK PADLIST *srcpad \
2524				|NN CLONE_PARAMS *param
2525#endif
2526p	|PAD **	|padlist_store	|NN PADLIST *padlist|I32 key \
2527				|NULLOK PAD *val
2528
2529ApdR	|CV*	|find_runcv	|NULLOK U32 *db_seqp
2530pR	|CV*	|find_runcv_where|U8 cond|IV arg \
2531				 |NULLOK U32 *db_seqp
2532: Only used in perl.c
2533p	|void	|free_tied_hv_pool
2534#if defined(DEBUGGING)
2535: Used in mg.c
2536pR	|int	|get_debug_opts	|NN const char **s|bool givehelp
2537#endif
2538Ap	|void	|save_set_svflags|NN SV *sv|U32 mask|U32 val
2539#ifdef DEBUGGING
2540Apod	|void	|hv_assert	|NN HV *hv
2541#endif
2542
2543ApdR	|SV*	|hv_scalar	|NN HV *hv
2544ApoR	|I32*	|hv_riter_p	|NN HV *hv
2545ApoR	|HE**	|hv_eiter_p	|NN HV *hv
2546Apo	|void	|hv_riter_set	|NN HV *hv|I32 riter
2547Apo	|void	|hv_eiter_set	|NN HV *hv|NULLOK HE *eiter
2548Ap      |void   |hv_rand_set    |NN HV *hv|U32 new_xhv_rand
2549Ap	|void	|hv_name_set	|NN HV *hv|NULLOK const char *name|U32 len|U32 flags
2550p	|void	|hv_ename_add	|NN HV *hv|NN const char *name|U32 len \
2551				|U32 flags
2552p	|void	|hv_ename_delete|NN HV *hv|NN const char *name|U32 len \
2553				|U32 flags
2554: Used in dump.c and hv.c
2555poM	|AV**	|hv_backreferences_p	|NN HV *hv
2556#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_SCOPE_C)
2557poM	|void	|hv_kill_backrefs	|NN HV *hv
2558#endif
2559Apd	|void	|hv_clear_placeholders	|NN HV *hv
2560XpoR	|SSize_t*|hv_placeholders_p	|NN HV *hv
2561ApoR	|I32	|hv_placeholders_get	|NN const HV *hv
2562Apo	|void	|hv_placeholders_set	|NN HV *hv|I32 ph
2563
2564: This is indirectly referenced by globals.c. This is somewhat annoying.
2565p	|SV*	|magic_scalarpack|NN HV *hv|NN MAGIC *mg
2566
2567#if defined(PERL_IN_SV_C)
2568s	|SV *	|find_hash_subscript|NULLOK const HV *const hv \
2569		|NN const SV *const val
2570s	|I32	|find_array_subscript|NULLOK const AV *const av \
2571		|NN const SV *const val
2572sMd	|SV*	|find_uninit_var|NULLOK const OP *const obase \
2573		|NULLOK const SV *const uninit_sv|bool top
2574#endif
2575
2576Ap	|GV*	|gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
2577Ap	|GV*	|gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
2578
2579#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
2580: Used in sv.c
2581p	|void	|dump_sv_child	|NN SV *sv
2582#endif
2583
2584#ifdef PERL_DONT_CREATE_GVSV
2585Apbm	|GV*	|gv_SVadd	|NULLOK GV *gv
2586#endif
2587#if defined(PERL_IN_UTIL_C)
2588s	|bool	|ckwarn_common	|U32 w
2589#endif
2590Apo	|bool	|ckwarn		|U32 w
2591Apo	|bool	|ckwarn_d	|U32 w
2592: FIXME - exported for ByteLoader - public or private?
2593XEopMa	|STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
2594				|NN const char *const bits|STRLEN size
2595
2596#ifndef SPRINTF_RETURNS_STRLEN
2597Apnod	|int	|my_sprintf	|NN char *buffer|NN const char *pat|...
2598#endif
2599
2600Apnodf	|int	|my_snprintf	|NN char *buffer|const Size_t len|NN const char *format|...
2601Apnod	|int	|my_vsnprintf	|NN char *buffer|const Size_t len|NN const char *format|va_list ap
2602
2603: Used in mg.c, sv.c
2604px	|void	|my_clearenv
2605
2606#ifdef PERL_IMPLICIT_CONTEXT
2607#ifdef PERL_GLOBAL_STRUCT_PRIVATE
2608Apo	|void*	|my_cxt_init	|NN const char *my_cxt_key|size_t size
2609Apo	|int	|my_cxt_index	|NN const char *my_cxt_key
2610#else
2611Apo	|void*	|my_cxt_init	|NN int *index|size_t size
2612#endif
2613#endif
2614
2615: This function is an implementation detail. The public API for this is
2616: XS_VERSION_BOOTCHECK
2617Xpo	|void	|xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
2618				|STRLEN xs_len
2619: This function is an implementation detail. The public API for this is
2620: XS_APIVERSION_BOOTCHECK
2621Xpo	|void	|xs_apiversion_bootcheck|NN SV *module|NN const char *api_p \
2622				|STRLEN api_len
2623
2624#ifndef HAS_STRLCAT
2625Apnod	|Size_t	|my_strlcat	|NULLOK char *dst|NULLOK const char *src|Size_t size
2626#endif
2627
2628#ifndef HAS_STRLCPY
2629Apnod     |Size_t |my_strlcpy     |NULLOK char *dst|NULLOK const char *src|Size_t size
2630#endif
2631
2632#ifdef PERL_MAD
2633#if defined(PERL_IN_DUMP_C)
2634sf	|void	|xmldump_attr	|I32 level|NN PerlIO *file|NN const char* pat \
2635				|...
2636#endif
2637Mfp	|void	|xmldump_indent	|I32 level|NN PerlIO *file|NN const char* pat \
2638				|...
2639Mp	|void	|xmldump_vindent|I32 level|NN PerlIO *file|NN const char* pat \
2640				|NULLOK va_list *args
2641Mp	|void	|xmldump_all
2642p	|void	|xmldump_all_perl	|bool justperl
2643Mp	|void	|xmldump_packsubs	|NN const HV* stash
2644p	|void	|xmldump_packsubs_perl	|NN const HV* stash|bool justperl
2645Mp	|void	|xmldump_sub	|NN const GV* gv
2646Mp	|void	|xmldump_sub_perl	|NN const GV* gv|bool justperl
2647Mp	|void	|xmldump_form	|NN const GV* gv
2648Mp	|void	|xmldump_eval
2649Mp	|char*	|sv_catxmlsv	|NN SV *dsv|NN SV *ssv
2650Mp	|char*	|sv_catxmlpvn	|NN SV *dsv|NN const char *pv|STRLEN len|int utf8
2651Mp	|char*	|sv_catxmlpv	|NN SV *dsv|NN const char *pv|int utf8
2652Mp	|char*	|sv_xmlpeek	|NN SV* sv
2653Mp	|void	|do_pmop_xmldump|I32 level|NN PerlIO *file \
2654				|NULLOK const PMOP *pm
2655Mp	|void	|pmop_xmldump	|NULLOK const PMOP* pm
2656Mp	|void	|do_op_xmldump	|I32 level|NN PerlIO *file|NULLOK const OP *o
2657Mp	|void	|op_xmldump	|NN const OP *o
2658
2659Mp	|TOKEN*	|newTOKEN	|I32 optype|YYSTYPE lval \
2660				|NULLOK MADPROP* madprop
2661Mp	|void	|token_free	|NN TOKEN *tk
2662Mp	|void	|token_getmad	|NN TOKEN *tk|NULLOK OP *o|char slot
2663Mp	|void	|op_getmad_weak	|NULLOK OP* from|NULLOK OP* o|char slot
2664Mp	|void	|op_getmad	|NULLOK OP* from|NULLOK OP* o|char slot
2665Mp	|void	|prepend_madprops|NULLOK MADPROP* mp|NULLOK OP* o|char slot
2666Mp	|void	|append_madprops|NULLOK MADPROP* tm|NULLOK OP* o|char slot
2667Mp	|void	|addmad		|NULLOK MADPROP* tm|NULLOK MADPROP** root \
2668				|char slot
2669Mp	|MADPROP*|newMADsv	|char key|NN SV* sv
2670Mp	|MADPROP*|newMADPROP	|char key|char type|NULLOK void* val \
2671				|I32 vlen
2672Mp	|void	|mad_free	|NULLOK MADPROP* mp
2673
2674#  if defined(PERL_IN_TOKE_C)
2675s	|char*	|skipspace0	|NN char *s
2676s	|char*	|skipspace1	|NN char *s
2677s	|char*	|skipspace2	|NN char *s|NULLOK SV **sv
2678s	|void	|start_force	|int where
2679s	|void	|curmad		|char slot|NULLOK SV *sv
2680#  endif
2681Mp	|int	|madlex
2682Mp	|int	|madparse	|int gramtype
2683#endif
2684#if !defined(HAS_SIGNBIT)
2685AMdnoP	|int	|Perl_signbit	|NV f
2686#endif
2687
2688: Used by B
2689XEMop	|void	|emulate_cop_io	|NN const COP *const c|NN SV *const sv
2690: Used by SvRX and SvRXOK
2691XEMop	|REGEXP *|get_re_arg|NULLOK SV *sv
2692
2693Aop	|SV*	|mro_get_private_data|NN struct mro_meta *const smeta \
2694				     |NN const struct mro_alg *const which
2695Aop	|SV*	|mro_set_private_data|NN struct mro_meta *const smeta \
2696				     |NN const struct mro_alg *const which \
2697				     |NN SV *const data
2698Aop	|const struct mro_alg *|mro_get_from_name|NN SV *name
2699Aop	|void	|mro_register	|NN const struct mro_alg *mro
2700Aop	|void	|mro_set_mro	|NN struct mro_meta *const meta \
2701				|NN SV *const name
2702: Used in HvMROMETA(), which is public.
2703Xpo	|struct mro_meta*	|mro_meta_init	|NN HV* stash
2704#if defined(USE_ITHREADS)
2705: Only used in sv.c
2706p	|struct mro_meta*	|mro_meta_dup	|NN struct mro_meta* smeta|NN CLONE_PARAMS* param
2707#endif
2708Apd	|AV*	|mro_get_linear_isa|NN HV* stash
2709#if defined(PERL_IN_MRO_C)
2710sd	|AV*	|mro_get_linear_isa_dfs|NN HV* stash|U32 level
2711s	|void	|mro_clean_isarev|NN HV * const isa   \
2712				 |NN const char * const name \
2713				 |const STRLEN len \
2714				 |NULLOK HV * const exceptions \
2715				 |U32 hash|U32 flags
2716s	|void	|mro_gather_and_rename|NN HV * const stashes \
2717				      |NN HV * const seen_stashes \
2718				      |NULLOK HV *stash \
2719				      |NULLOK HV *oldstash \
2720				      |NN SV *namesv
2721#endif
2722: Used in hv.c, mg.c, pp.c, sv.c
2723pd	|void   |mro_isa_changed_in|NN HV* stash
2724Apd	|void	|mro_method_changed_in	|NN HV* stash
2725pdx	|void	|mro_package_moved	|NULLOK HV * const stash|NULLOK HV * const oldstash|NN const GV * const gv|U32 flags
2726: Only used in perl.c
2727p	|void   |boot_core_mro
2728Apon	|void	|sys_init	|NN int* argc|NN char*** argv
2729Apon	|void	|sys_init3	|NN int* argc|NN char*** argv|NN char*** env
2730Apon	|void	|sys_term
2731ApoM	|const char *|cop_fetch_label|NN COP *const cop \
2732		|NULLOK STRLEN *len|NULLOK U32 *flags
2733: Only used  in op.c and the perl compiler
2734ApoM	|void|cop_store_label \
2735		|NN COP *const cop|NN const char *label|STRLEN len|U32 flags
2736
2737xpo	|int	|keyword_plugin_standard|NN char* keyword_ptr|STRLEN keyword_len|NN OP** op_ptr
2738
2739#if defined(USE_ITHREADS)
2740#  if defined(PERL_IN_SV_C)
2741s	|void	|unreferenced_to_tmp_stack|NN AV *const unreferenced
2742#  endif
2743Aanop	|CLONE_PARAMS *|clone_params_new|NN PerlInterpreter *const from \
2744		|NN PerlInterpreter *const to
2745Anop	|void	|clone_params_del|NN CLONE_PARAMS *param
2746#endif
2747
2748: Used in perl.c and toke.c
2749op	|void	|populate_isa	|NN const char *name|STRLEN len|...
2750
2751: Used in keywords.c and toke.c
2752Xop	|bool	|feature_is_enabled|NN const char *const name \
2753		|STRLEN namelen
2754
2755: Some static inline functions need predeclaration because they are used
2756: inside other static inline functions.
2757#if defined(PERL_CORE) || defined (PERL_EXT)
2758Ei	|STRLEN	|sv_or_pv_pos_u2b|NN SV *sv|NN const char *pv|STRLEN pos \
2759				 |NULLOK STRLEN *lenp
2760#endif
2761
2762: ex: set ts=8 sts=4 sw=4 noet:
2763