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