This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pp_ctl.c - add support for hooking require.
[perl5.git] / embed.fnc
CommitLineData
d7cb65f2 1: BEGIN{die "You meant to run regen/embed.pl"} # Stop early if fed to perl.
5a51db05 2:
8fb6968f 3: WARNING: The meanings of some flags have been changed as of v5.31.0
30628a6e 4:
8fb6968f
KW
5: This file is known to be processed by regen/embed.pl, autodoc.pl,
6: makedef.pl, Devel::PPPort, and porting/diag.t.
7:
dcd299b4
KW
8: This file contains entries for various functions and macros defined by perl.
9: Each entry includes the name, parameters, and various attributes about it.
10: In most functions listed here, the name is a short name, and the function's
11: real name is the short one, prefixed by either 'Perl_' (for publicly visible
12: functions) or 'S_' (for internal-to-a-file static ones). In many instances a
13: macro is defined that is the name in this file, and which expands to call the
14: real (full) name, with any appropriate thread context paramaters, thus hiding
15: that detail from the typical code.
16:
c510ef2d 17: Most macros (as opposed to function) listed here are the complete full name.
dcd299b4 18:
8fb6968f 19: All non-static functions defined by perl need to be listed in this file.
dcd299b4
KW
20: embed.pl uses the entries here to construct:
21: 1) proto.h to declare to the compiler the function interfaces; and
22: 2) embed.h to create short name macros
30628a6e 23:
dcd299b4 24: Static functions internal to a file need not appear here, but there is
c510ef2d
KW
25: benefit to declaring them here:
26: 1) It generally handles the thread context parameter invisibly making it
27: trivial to add or remove needing thread context passed;
28: 2) It defines a PERL_ARGS_ASSERT_foo macro, which can save you debugging
29: time;
30: 3) It is is automatically known to Devel::PPPort, making it quicker to
31: later find out when it came into existence. For example
32: perl ppport.h --api-info=/edit_distance/
33: yields
34: Supported at least since perl-5.23.8, with or without ppport.h.
8fb6968f
KW
35:
36: Lines in this file are of the form:
dcd299b4 37: flags|return_type|name|arg1|arg2|...|argN
94bdecf9 38:
caf8c6bc
KW
39: 'flags' is a string of single letters. Most of the flags are meaningful only
40: to embed.pl; some only to autodoc.pl, and others only to makedef.pl. The
dcd299b4 41: comments here mostly don't include how Devel::PPPort or diag.t use them:
d6b0b041 42: All the possible flags and their meanings are given below.
caf8c6bc 43:
8fb6968f
KW
44: A function taking no parameters will have no 'arg' elements.
45: A line may be continued onto the next by ending it with a backslash.
94bdecf9
JH
46: Leading and trailing whitespace will be ignored in each component.
47:
dcd299b4
KW
48: Most entries here have a macro created with the entry name. This presents
49: name space collision potentials which haven't been well thought out, but are
50: now documented here. In practice this has rarely been an issue. At least,
51: with a macro, the XS author can #undef it, unlike a function.
52:
d8bd2bed 53: The default without flags is to declare a function for internal perl-core use
dcd299b4
KW
54: only. The short name is visible only when the PERL_CORE symbol is defined.
55: On some platforms, such as Linux and Darwin, all non-static functions
caf8c6bc
KW
56: are currently externally visible. Because of this, and also for programs
57: that embed perl, most non-static functions should have the 'p' flag to avoid
58: namespace clashes.
59:
dcd299b4
KW
60: There are several advantages to using a macro instead of the full Perl_foo or
61: S_foo form: it hides the need to know if the called function requires a
62: thread context parameter or not, and the code using it is more readable
63: because of fewer parameters being visible. And if there is some bug in it
64: that gets fixed in a later release, ppport.h can be changed to automatically
65: backport the fixed version to modules. The only disadvantage khw can think
66: of is the namespace pollution one.
67:
68: Since we don't require a C compiler to support variadic macros (C99), the
69: macros can't be generated in such situations.
70:
71: WARNING: Any macro created in a header file is visible to XS code, unless
915f2e86
YO
72: care is taken to wrap it within C preprocessor guards like the following
73:
74: #if defined(PERL_CORE)
75: ...
76: #endif
77:
78: A common pattern is to use defines like 'PERL_IN_FILE_C' (with FILE_C being
79: appropriately replaced with the real filename). Most, if not all, of the
80: perl core C files define such a symbol before importing perl.h. Some groups
81: of files define more generalized flags which are referenced in this file and
82: the files generated from it.
83:
84: In general you should restrict the exposure of your exports as much as
85: possible, although older code may not do so. Be aware that non-static
86: exports can be "over exported" and things will likely work out fine, but
87: inline and static macros will cause errors unless restricted to the specific
88: file they are intended for, and the generated PERL_ARGS_ macros will only
89: be available to inline functions in the appropriate context.
90:
91: From time to time it may be necessary to change or expand which files can
92: see a function, therefore we prefer the '#if defined()' form of condition
93: instead of the '#ifdef' form as the latter only works with one symbol and
94: the former can be combined with more than one. It is also why you may see
95: functions with an 's' or 'i' export type grouped together into a single
96: conditional block separate from most of the other functions from the same
97: file with 'p' in them.
98:
99: The 'A' flag is used to make a function and its short name visible everywhere
100: on all platforms. This should be used to make it part of Perl's API
101: contract with XS developers. The documentation for these is usually
102: placed in perlapi. If no documentation exists, that fact is also
103: noted in perlapi.
104:
105: The 'C' flag is used instead for functions and their short names that need to
106: be accessible everywhere, typically because they are called from a
107: publicly available macro or inline function, but they are not for
108: public use by themselves. The documentation for these is placed in
109: perlintern. If no documentation exists, that fact is also noted in
110: perlintern.
111:
112: These really need the 'p' flag to avoid name space collisions.
113:
114: Some of these have been constructed so that the wrapper macro names
115: begin with an underscore to lessen the chances of a name collision.
116: However, this is contrary to the C standard, and those should be
117: changed.
118:
119: The 'E' flag is used instead for a function and its short name that is
120: supposed to be used only in the core plus extensions compiled with
121: the PERL_EXT symbol defined. Again, on some platforms, the function
122: will be visible everywhere, so one of the 'p' or 'S' flags is
123: generally needed. Also note that an XS writer can always cheat and
124: pretend to be an extension by #defining PERL_EXT.
125:
126: The 'X' flag is similar to the 'C' flag in that the function (whose entry
127: better have the 'p' flag) is accessible everywhere on all platforms.
128: However the short name macro that normally gets generated is
129: suppressed outside the core. (Except it is also visible in PERL_EXT
130: extensions if the 'E' flag is also specified.) This flag is used for
131: functions that are called from a public macro, the name of which
132: isn't derived from the function name. You'll have to write the macro
133: yourself, and from within it, refer to the function in its full
134: 'Perl_' form with any necessary thread context parameter.
d8bd2bed 135:
c510ef2d
KW
136: Just below is a description of the relevant parts of the automatic
137: documentation generation system which heavily involves this file. Below that
138: is a description of all the flags used in this file.
139:
8fb6968f
KW
140: Scattered around the perl source are lines of the form:
141:
142: =for apidoc name
c510ef2d
KW
143: =for apidoc_item name
144:
145: followed by pod for that function. The purpose of these lines and the text
146: that immediately follows them is to furnish documentation for functions
147: and macros listed here in embed.fnc. The lines tend to be placed near the
148: source for the item they describe. autodoc.pl is run as part of the standard
149: build process to extract this documentation and build perlapi.pod from the
150: elements that are in the API (flagged as A in this file), and perlintern.pod
151: from the other elements.
152:
153: 'name' in the apidoc line corresponds to an item listed in this file, so that
154: the signature and flags need only be specified once, here, and automatically
155: they get placed into the generated pod.
156:
157: 'apidoc_item' is used for subsidiary entries, which share the same pod as the
158: plain apidoc one does. Thus the documentation for functions which do
159: essentially the same thing, but with minor differences can all be placed in
d32aa8f7
KW
160: the same entry. This avoids needless repetition, making the pod shorter, and
161: makes it easier to compare and contrast the different forms, and less jumping
162: around the pod file for the person reading it. The apidoc_item lines must
0e2d8b7e
KW
163: all come after the apidoc line and before the pod for the entry. There need
164: not be empty lines between the apidoc line and any of its apidoc_item lines.
c510ef2d
KW
165:
166: The entries in this file that have corresponding '=for apidoc' entries must
167: have the 'd' flag set in this file.
168:
169: In C files, the apidoc lines are inside comment blocks. They may also be
170: placed in pod files. In those, the =for causes lines from there until the
171: next line beginning with an '=' to not be considered part of that pod.
172:
173: The 'h' flag is used to hide (suppress) the pod associated with =apidoc lines
174: from being placed in the generated perlapi or perlintern. There are several
175: reasons you might want to do this, given in the 'h' flag description below,
176: but one is for the case where the =apidoc occurs in a file that contains
177: regular pod. Without that flag, the associated pod will be placed in both
178: it, and perlapi or perlintern. That may be what you want, but it gives you
179: the flexibility to choose that, or instead have just a link to the source pod
180: inserted in perlapi or perlintern. This allows single-source browsing for
181: someone; they don't have to scan multiple pods trying to find something
182: suitable.
183:
184: There are also lines of this form scattered around the perl
185: source:
186:
187: =for apidoc_section Section Name
188: =head1 Section Name
189:
190: These aren't tied to this embed.fnc file, and so are documented in autodoc.pl.
191:
192: What goes into the documentation of a particular function ends with the next
193: line that begins with an '='. In particular, an '=cut' line ends that
194: documentation without introducing something new.
195:
196: Various macros and other elements aren't listed here in embed.fnc. They are
197: documented in the same manner, but since they don't have this file to get
198: information from, the defining lines have the syntax and meaning they do in
199: this file, so it can be specified:
8fb6968f 200:
c510ef2d
KW
201: =for apidoc flags|return_type|name|arg1|arg2|...|argN
202: =for apidoc_item flags|return_type|name|arg1|arg2|...|argN
caf8c6bc 203:
c510ef2d
KW
204: The 'name' in any such line must not be the same as any in this file (i.e.,
205: no redundant definitions), and one of the flags on the apidoc lines must be
9e728159 206: 'm' or 'y', indicating it is not a function.
8fb6968f 207:
c510ef2d
KW
208: All but the name field of an apidoc_item line are optional, and if empty,
209: inherits from the controlling plain apidoc line. The flags field is
210: generally empty, and in fact, the only flags it can have are ones directly
211: related to its display. For example it might have the T flag to indicate no
212: thread context parameter is used, whereas the apidoc entry does have a thread
213: context. Here is an example:
214:
215: =for apidoc Am|char* |SvPV |SV* sv|STRLEN len
216: =for apidoc_item |const char*|SvPV_const |SV* sv|STRLEN len
217: =for apidoc_item |char* |SvPV_nolen |SV* sv
218:
219: Since these are macros, the arguments need not be legal C parameters. To
220: indicate this to downstream software that inspects these lines, there are a
221: few conventions. An example would be:
8fb6968f 222:
caf8c6bc
KW
223: =for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast
224:
c510ef2d
KW
225: In this example, a real call of Newxc, 'type' would be specified as something
226: like 'int' or 'char', and 'cast' by perhaps 'struct foo'.
227:
228: The complete list of conventions is:
229: type the argument names a type
230: cast the argument names a type which the macro casts to
231: SP the argument is the stack pointer, SP
232: block the argument is a C brace-enclosed block
233: number the argument is a C numeric constant, like 3
234: token the argument is a generic C preprocessor token, like abc
235: "string" the argument is a literal C double-quoted string; what's important
236: here are the quotes; for clarity, you can say whatever you want
237: inside them
caf8c6bc 238:
c510ef2d
KW
239: Unlike other arguments, none of these is of the form 'int name'. There is no
240: name.
dcd299b4 241:
c510ef2d
KW
242: If any argument or return value is not one of the above, and isn't legal C
243: language, the entry still can be specified, using the 'u' flag.
244:
245: 'return_type' in these lines can be empty, unlike in this file:
246:
247: =for apidoc Amnu||START_EXTERN_C
8fb6968f
KW
248:
249: Devel::PPPort also looks at both this file and the '=for apidoc' lines. In
c510ef2d 250: part it is to construct lists of elements that are or are not backported.
8fb6968f 251:
dcd299b4
KW
252: makedef.pl uses this file for constructing the export list which lists the
253: symbols that should be available on all platforms.
8fb6968f
KW
254:
255: porting/diag.t checks some things for consistency based on this file.
256:
dcd299b4 257: The remainder of these introductory comments detail all the possible flags:
d412580b 258:
915f2e86
YO
259: 'A' Both long and short names are accessible fully everywhere (usually
260: part of the public API). If the function is not part of the public
261: API, instead use 'C', 'E', or 'X'.
262:
263: * adds entry to the list of symbols available on all platforms unless
264: 'e' or 'm' are also specified;
265: * any doc entry goes in perlapi.pod rather than perlintern.pod. If
266: there isn't a doc entry, autodoc.pl lists this in perlapi as
267: existing and being undocumented; unless 'x' is also specified, in
268: which case it simply isn't listed.
269: * makes the short name defined for everywhere, not just for PERL_CORE
270: or PERL_EXT
271:
272: 'a' Allocates memory a la malloc/calloc. Also implies 'R'. This flag
273: should only be on a function which returns "empty" memory which has no
274: other pointers to it, and which does not contain any pointers to other
275: things. So for example realloc() can not be 'a'.
276:
277: proto.h: add __attribute__malloc__
278:
279: 'b' Binary backward compatibility. This is used for functions which are
280: kept only to not have to change legacy applications that call them. If
281: there are no such legacy applications in a Perl installation for all
282: functions flagged with this, the installation can run Configure with
283: the -Accflags='-DNO_MATHOMS' parameter to not even compile them.
284:
285: Sometimes the function has been subsumed by a more general one (say,
286: by adding a flags parameter), and a macro exists with the original
287: short name API, and it calls the new function, bypassing this one, and
288: the original 'Perl_' form is being deprecated. In this case also
289: specify the 'M' flag.
290:
291: Without the M flag, these functions should be deprecated, and it is an
292: error to not also specify the 'D' flag.
293:
294: The 'b' functions are normally moved to mathoms.c, but if
295: circumstances dictate otherwise, they can be anywhere, provided the
296: whole function is wrapped with
297:
e24a96ba
KW
298: #ifndef NO_MATHOMS
299: ...
300: #endif
d412580b 301:
915f2e86
YO
302: Note that this flag no longer automatically adds a 'Perl_' prefix to
303: the name. Additionally specify 'p' to do that.
304:
305: This flag effectively causes nothing to happen if the perl interpreter
306: is compiled with -DNO_MATHOMS (which causes any functions with this
307: flag to not be compiled); otherwise these happen:
5ff52e3c 308:
915f2e86
YO
309: * add entry to the list of symbols available on all platforms;
310: * create PERL_ARGS_ASSERT_foo;
311: * add embed.h entry (unless overridden by the 'M' or 'o' flags)
d412580b 312:
915f2e86
YO
313: 'C' Intended for core use only. This indicates to XS writers that they
314: shouldn't be using this function. Devel::PPPort informs them of this,
315: for example. Some functions have to be accessible everywhere even if
316: they are not intended for public use. An example is helper functions
317: that are called from inline ones that are publicly available.
ff5af78d 318:
915f2e86
YO
319: * add entry to the list of symbols available on all platforms unless e
320: or m are also specified;
321: * any doc entry goes in perlintern.pod rather than perlapi.pod. If
322: there isn't a doc entry, autodoc.pl lists this in perlintern as
323: existing and being undocumented
324: * makes the short name defined for everywhere, not just for PERL_CORE
325: or PERL_EXT
ff5af78d 326:
915f2e86 327: 'D' Function is deprecated:
d412580b 328:
915f2e86
YO
329: proto.h: add __attribute__deprecated__
330: autodoc.pl adds a note to this effect in the doc entry
d412580b 331:
915f2e86 332: 'd' Function has documentation (somewhere) in the source:
d412580b 333:
915f2e86
YO
334: Enables 'no docs for foo" warning in autodoc.pl if the documentation
335: isn't found.
d412580b 336:
915f2e86 337: 'E' Visible to extensions included in the Perl core:
d412580b
DM
338:
339: in embed.h, change "#ifdef PERL_CORE"
340: into "#if defined(PERL_CORE) || defined(PERL_EXT)"
341:
915f2e86
YO
342: To be usable from dynamically loaded extensions, either:
343: 1) it must be static to its containing file ('i' or 'S' flag); or
344: 2) be combined with the 'X' flag.
23fb3b56 345:
915f2e86 346: 'e' Not exported
30628a6e 347:
dcd299b4 348: suppress entry in the list of symbols available on all platforms
5af72e99 349:
915f2e86
YO
350: 'f' Function takes a format string. If the function name =~ qr/strftime/
351: then it is assumed to take a strftime-style format string as the 1st
352: arg; otherwise it's assumed to take a printf style format string, not
353: necessarily the 1st arg. All the arguments following it (including
354: possibly '...') are assumed to be for the format.
d412580b 355:
8069a3d0 356: embed.h: any entry in here is suppressed because of varargs
d412580b
DM
357: proto.h: add __attribute__format__ (or ...null_ok__)
358:
915f2e86
YO
359: 'F' Function has a '...' parameter, but don't assume it is a format. This
360: is to make sure that new functions with formats can't be added without
361: considering if they are format functions or not. A reason to use this
362: flag even on a format function is if the format would generate error:
363: format string argument is not a string type
364:
365: 'G' Suppress empty PERL_ARGS_ASSERT_foo macro. Normally such a macro is
366: generated for all entries for functions 'foo' in this file. If there
367: is a pointer argument to 'foo', it needs to be declared in this file
368: as either NN or NULLOK, and the function definition must call its
369: corresponding PERL_ARGS_ASSERT_foo macro (a porting test ensures this)
370: which asserts at runtime (under DEBUGGING builds) that NN arguments
371: are not NULL. If there aren't NN arguments, use of this macro is
372: optional. Rarely, a function will define its own PERL_ARGS_ASSERT_foo
373: macro, and in those cases, adding this flag to its entry in this file
374: will suppress the normal one. It is not possible to suppress the
375: generated macro if it isn't optional, that is, if there is at least
376: one NN argument.
377:
378: proto.h: PERL_ARGS_ASSERT macro is not defined unless the function
2015d234
KW
379: has NN arguments
380:
915f2e86
YO
381: 'h' Hide any documentation that would normally go into perlapi or
382: perlintern. This is typically used when the documentation is actually
383: in another pod. If you don't use the 'h', that documentation is
384: displayed in both places; with the flag, it stays in the pod, and a
385: link to that pod is instead placed in perlapi or perlintern. This
386: allows one to browse perlapi or perlintern and see all the potentially
387: relevant elements. A good example is perlapio. It has documentation
388: about PerlIO functions with other text giving context. There's no
389: point in writing a second entry for perlapi, but it would be good if
390: someone browsing perlapi knew about the function and where it is
391: documented. By adding '=for apidoc' lines in perlapio, the appropriate
392: text could be simply copied into perlapi if deemed appropriate, or
393: just a link added there when the 'h' flag is specified.
394:
395: This flag is useful for symbolic names for flags. A single =for apidoc
396: line can be added to the pod where the meaning is discussed, and
397: perlapi will list the name, with a link to the pod. Another use would
398: be if there are a bunch of macros which follow a common paradigm in
399: their naming, so rather than having an entry for each slight
400: variation, there is an overarching one. This flag is useful for
401: downstream programs, such as Devel::PPPort.
402:
403: 'i' inline static. This is used for functions that the compiler is being
404: requested to inline. If the function is in a header file its
405: definition will be visible (unless guarded by #if..#endif) to all XS
406: code. (A typical guard will be that it is being included in a
407: particular C file(s) or in the perl core.) Therefore, all non-guarded
408: functions should also have the 'p' flag specified to avoid polluting
409: the XS code name space. Otherwise an error is generated if the 'S'
410: flag is not also specified.
411:
412: proto.h: function is declared as PERL_STATIC_INLINE
413:
414: 'I' This flag works exactly the same as 'i' but it also adds
415: __attribute__((always_inline)) or __forceinline if either of them is
416: supported by the compiler.
417:
418: proto.h: function is declared as PERL_STATIC_FORCE_INLINE and
783cb485
KW
419: __attribute__always_inline__ is added
420:
915f2e86
YO
421: 'm' Implemented as a macro; there is no function associated with this
422: name, and hence no long Perl_ or S_ name. However, if the macro name
423: itself begins with 'Perl_', autodoc.pl will show a thread context
424: parameter unless the 'T' flag is specified.
dcd299b4
KW
425:
426: suppress proto.h entry (actually, not suppressed, but commented out)
427: suppress entry in the list of exported symbols available on all platforms
428: suppress embed.h entry, as the implementation should furnish the macro
429:
915f2e86
YO
430: 'M' The implementation is furnishing its own macro instead of relying on
431: the automatically generated short name macro (which simply expands to
432: call the real name function). One reason to do this is if the
433: parameters need to be cast from what the caller has, or if there is a
434: macro that bypasses this function (whose long name is being retained
435: for backward compatibility for those who call it with that name). An
436: example is when a new function is created with an extra parameter and
437: a wrapper macro is added that has the old API, but calls the new one
438: with the exta parameter set to a default.
dcd299b4 439:
915f2e86
YO
440: This flag requires the 'p' flag to be specified, as there would be no
441: need to do this if the function weren't publicly accessible before.
dcd299b4 442:
915f2e86
YO
443: The entry is processed based on the other flags, but the:
444: embed.h entry is suppressed
d412580b 445:
915f2e86 446: 'N' The name in the entry isn't strictly a name
0a60f600 447:
915f2e86
YO
448: Normally, the name of the function or macro must contain all \w
449: characters, and a warning is raised otherwise. This flag suppresses
450: that warning, so that weird things can be documented
d412580b 451:
915f2e86
YO
452: 'n' Has no arguments. Perhaps a better name would have been '0'. (used
453: only in =for apidoc entries)
e2bfa9e8 454:
915f2e86
YO
455: The macro (it can't be a function) is used without any parameters nor
456: empty parentheses.
d412580b 457:
915f2e86
YO
458: Perhaps a better name for this flag would have been '0'. The reason
459: the flag was not changed to that from 'n', is if D:P were to be
460: regenerated on an older perl, it still would use the new embed.fnc
461: shipped with it, but would be using the flags from the older perl
462: source code.
c510ef2d 463:
915f2e86 464: 'O' Has a perl_ compatibility macro.
7b53c8ee 465:
915f2e86 466: The really OLD name for API funcs.
30628a6e 467:
915f2e86
YO
468: autodoc.pl adds a note that the perl_ form of this function is
469: deprecated.
8fb6968f 470:
915f2e86 471: 'o' Has no Perl_foo or S_foo compatibility macro:
d412580b 472:
915f2e86
YO
473: This is used for whatever reason to force the function to be called
474: with the long name. Perhaps there is a varargs issue. Use the 'M'
475: flag instead for wrapper macros, and legacy-only functions should
476: also use 'b'.
59f80a35 477:
915f2e86 478: embed.h: suppress "#define foo Perl_foo"
d412580b 479:
915f2e86
YO
480: autodoc.pl adds a note that this function must be explicitly called as
481: Perl_$name, and with an aTHX_ parameter unless the 'T' flag is also
482: specified.
8fb6968f 483:
915f2e86 484: mnemonic: 'omit' generated macro
d8bd2bed 485:
915f2e86 486: 'P' Pure function:
d412580b 487:
915f2e86
YO
488: A pure function has no effects except the return value, and the return
489: value depends only on params and/or globals. This is a hint to the
490: compiler that it can optimize calls to this function out of common
491: subexpressions. Consequently if this flag is wrongly specified, it can
492: lead to subtle bugs that vary by platform, compiler, compiler version,
493: and optimization level. Also, a future commit could easily change a
494: currently-pure function without even noticing this flag. So it should
495: be used sparingly, only for functions that are unlikely to ever become
496: not pure by future commits. It should not be used for static
497: functions, as the compiler already has the information needed to make
498: the 'pure' determination and doesn't need any hint; so it doesn't add
499: value in those cases, and could be dangerous if it causes the compiler
500: to skip doing its own checks. It should not be used on functions that
501: touch SVs, as those can trigger unexpected magic. Also implies "R":
d412580b 502:
915f2e86 503: proto.h: add __attribute__pure__
d412580b 504:
915f2e86 505: 'p' Function in source code has a Perl_ prefix:
d412580b 506:
915f2e86
YO
507: proto.h: function is declared as Perl_foo rather than foo
508: embed.h: "#define foo Perl_foo" entries added
d412580b 509:
915f2e86 510: 'R' Return value must not be ignored (also implied by 'a' and 'P' flags):
e1ebd5bb 511:
915f2e86
YO
512: gcc has a bug (which they claim is a feature) in which casting the
513: result of one of these to (void) doesn't silence the warning that the
514: result is ignored. (Perl has a workaround for this bug, see
515: PERL_UNUSED_RESULT docs)
d412580b 516:
915f2e86 517: proto.h: add __attribute__warn_unused_result__
d412580b 518:
915f2e86 519: 'r' Function never returns:
d412580b 520:
915f2e86 521: proto.h: add __attribute__noreturn__
d412580b 522:
915f2e86
YO
523: 'S' Static function: function in source code has a S_ prefix:
524:
525: proto.h: function is declared as S_foo rather than foo,
d412580b 526: STATIC is added to declaration;
915f2e86 527: embed.h: "#define foo S_foo" entries added
d412580b 528:
915f2e86 529: 's' Static function, but function in source code has a Perl_ prefix:
c43e2db5 530:
915f2e86
YO
531: This is used for functions that have always had a Perl_ prefix, but
532: have been moved to a header file and declared static.
c43e2db5 533:
915f2e86 534: proto.h: function is declared as Perl_foo rather than foo
c43e2db5 535: STATIC is added to declaration;
915f2e86 536: embed.h: "#define foo Perl_foo" entries added
8b5ff177 537:
915f2e86 538: 'T' Has no implicit interpreter/thread context argument:
45b29440 539:
915f2e86
YO
540: suppress the pTHX part of "foo(pTHX...)" in proto.h;
541: In the PERL_IMPLICIT_SYS branch of embed.h, generates
45b29440
KW
542: "#define foo Perl_foo", rather than
543: "#define foo(a,b,c) Perl_foo(aTHX_ a,b,c)
544:
915f2e86
YO
545: 'u' The macro's (it has to be a macro) return value or parameters are
546: unorthodox, and aren't in the list above of recognized weird ones. For
547: example, they aren't C parameters, or the macro expands to something
548: that isn't a symbol.
3dbfa774 549:
915f2e86
YO
550: For example, the expansion of STR_WITH_LEN is a comma separated pair
551: of values, so would have this flag; or some macros take preprocessor
552: tokens, so would have this flag.
d1388a9f 553:
915f2e86
YO
554: This also is used for entries that require processing for use, such as
555: being compiled by xsubpp. This flag is an indication to downstream
556: tools, such as Devel::PPPort, that this requires special handling.
3dbfa774 557:
915f2e86 558: 'U' autodoc.pl will not output a usage example
d412580b 559:
915f2e86
YO
560: 'W' Add a _pDEPTH argument to function prototypes, and an _aDEPTH argument
561: to the function calls. This means that under DEBUGGING a depth
562: argument is added to the functions, which is used for example by the
563: regex engine for debugging and trace output. A non DEBUGGING build
564: will not pass the unused argument. Currently restricted to functions
565: with at least one argument.
21553840 566:
915f2e86 567: 'X' Explicitly exported:
d412580b 568:
915f2e86
YO
569: add entry to the list of symbols available on all platforms, unless
570: 'e' or 'm'
d412580b 571:
915f2e86
YO
572: This is often used for private functions that are used by public
573: macros. In those cases the macros must use the long form of the name
574: (Perl_blah(aTHX_ ...)).
569ba91f 575:
915f2e86 576: 'x' Experimental, may change:
d412580b 577:
915f2e86
YO
578: Any doc entry is marked that it may change. An undocumented
579: experimental function is listed in perlintern rather than perlapi,
580: even if it is allegedly API.
d412580b 581:
915f2e86 582: 'y' Typedef. The element names a type rather than being a macro
9e728159 583:
915f2e86
YO
584: ';' autodoc.pl adds a terminating semi-colon to the usage example in the
585: documentation.
3734d2f5 586:
915f2e86
YO
587: '#' The number sign flag indicates that this is a pre-processor symbol
588: that is just #define'd or #undef'd. Must NOT be the first symbol on
589: the line.
746dd616 590:
915f2e86
YO
591: '?' The question mark flag is used internally by Devel::PPPort to
592: indicate that it does not have enough information to generate a
593: proper test case.
746dd616 594:
8fb6968f
KW
595: In this file, pointer parameters that must not be passed NULLs should be
596: prefixed with NN.
94bdecf9 597:
8fb6968f
KW
598: And, pointer parameters that may be NULL should be prefixed with NULLOK.
599: This has no effect on output yet. It's a notation for the maintainers to
600: know "I have defined whether NULL is OK or not" rather than having neither
601: NULL or NULLOK, which is ambiguous.
1b6737cc 602:
cc8af694
YO
603: Numeric arguments may also be prefixed with NZ, which will cause the
604: appropriate asserts to be generated to validate that this is the case.
605:
915f2e86
YO
606: Flags should be sorted asciibetically.
607:
608: Please keep the next line *BLANK*
94bdecf9 609
b8837dad
YO
610pr |void |abort_execution|NULLOK SV *msg_sv \
611 |NN const char * const name
612px |LOGOP *|alloc_LOGOP |I32 type \
613 |NULLOK OP *first \
614 |NULLOK OP *other
615: Used in toke.c and perly.y
616p |PADOFFSET|allocmy |NN const char * const name \
617 |const STRLEN len \
618 |const U32 flags
d6a7165b 619Xdp |bool |amagic_applies |NN SV *sv \
b8837dad 620 |int method \
a5dfa563 621 |int flags
d6a7165b 622Adp |SV * |amagic_call |NN SV *left \
a5dfa563
YO
623 |NN SV *right \
624 |int method \
625 |int dir
d6a7165b 626Adp |SV * |amagic_deref_call \
a5dfa563
YO
627 |NN SV *ref \
628 |int method
a5dfa563
YO
629p |bool |amagic_is_enabled \
630 |int method
b8837dad 631
d6a7165b 632ETXip |void |append_utf8_from_native_byte \
b8837dad
YO
633 |const U8 byte \
634 |NN U8 **dest
67022846 635: FIXME - this is only called by pp_chown. They should be merged.
a5dfa563
YO
636p |I32 |apply |I32 type \
637 |NN SV **mark \
638 |NN SV **sp
639Apx |void |apply_attrs_string \
640 |NN const char *stashpv \
641 |NN CV *cv \
642 |NN const char *attrstr \
643 |STRLEN len
d6a7165b 644Adp |OP * |apply_builtin_cv_attributes \
b8837dad
YO
645 |NN CV *cv \
646 |NULLOK OP *attrlist
647CTp |void |atfork_lock
648CTp |void |atfork_unlock
d6a7165b
YO
649Cop |SV ** |av_arylen_p |NN AV *av
650Adp |void |av_clear |NN AV *av
651ARdip |Size_t |av_count |NN AV *av
652Adeop |void |av_create_and_push \
b8837dad
YO
653 |NN AV ** const avp \
654 |NN SV * const val
d6a7165b 655Adeop |SV ** |av_create_and_unshift_one \
b8837dad
YO
656 |NN AV ** const avp \
657 |NN SV * const val
d6a7165b 658Adp |SV * |av_delete |NN AV *av \
a5dfa563
YO
659 |SSize_t key \
660 |I32 flags
d6a7165b
YO
661Adp |void |av_dump |NULLOK AV *av
662ARdp |bool |av_exists |NN AV *av \
a5dfa563 663 |SSize_t key
d6a7165b 664Adp |void |av_extend |NN AV *av \
a5dfa563
YO
665 |SSize_t key
666p |void |av_extend_guts |NULLOK AV *av \
667 |SSize_t key \
668 |NN SSize_t *maxp \
669 |NN SV ***allocp \
670 |NN SV ***arrayp
d6a7165b 671ARdp |SV ** |av_fetch |NN AV *av \
a5dfa563
YO
672 |SSize_t key \
673 |I32 lval
d6a7165b 674CRdip |SV ** |av_fetch_simple|NN AV *av \
a5dfa563
YO
675 |SSize_t key \
676 |I32 lval
d6a7165b 677Adp |void |av_fill |NN AV *av \
a5dfa563 678 |SSize_t fill
d6a7165b
YO
679Cop |IV * |av_iter_p |NN AV *av
680ARdp |SSize_t|av_len |NN AV *av
681ARdp |AV * |av_make |SSize_t size \
a5dfa563 682 |NN SV **strp
d6a7165b 683CRdip |AV * |av_new_alloc |SSize_t size \
a5dfa563
YO
684 |bool zeroflag
685p |SV * |av_nonelem |NN AV *av \
686 |SSize_t ix
d6a7165b
YO
687Adp |SV * |av_pop |NN AV *av
688Adp |void |av_push |NN AV *av \
a5dfa563 689 |NN SV *val
d6a7165b 690Adip |void |av_push_simple |NN AV *av \
a5dfa563 691 |NN SV *val
d67fec57 692: Used in scope.c, and by Data::Alias
4048f010 693EXp |void |av_reify |NN AV *av
d6a7165b
YO
694ARdp |SV * |av_shift |NN AV *av
695Adp |SV ** |av_store |NN AV *av \
a5dfa563
YO
696 |SSize_t key \
697 |NULLOK SV *val
d6a7165b 698Cdip |SV ** |av_store_simple|NN AV *av \
a5dfa563
YO
699 |SSize_t key \
700 |NULLOK SV *val
d6a7165b
YO
701ARdm |SSize_t|av_tindex |NN AV *av
702ARdm |SSize_t|av_top_index |NN AV *av
703Adp |void |av_undef |NN AV *av
704Adp |void |av_unshift |NN AV *av \
a5dfa563 705 |SSize_t num
d67fec57 706: Used in perly.y
d6a7165b 707Rp |OP * |bind_match |I32 type \
a5dfa563
YO
708 |NN OP *left \
709 |NN OP *right
d67fec57 710: Used in perly.y
d6a7165b 711ARdp |OP * |block_end |I32 floor \
a5dfa563 712 |NULLOK OP *seq
d6a7165b
YO
713CRp |U8 |block_gimme
714Adopx |void |blockhook_register \
a5dfa563 715 |NN BHK *hk
b8837dad 716: Used in perly.y
d6a7165b 717ARdp |int |block_start |int full
6a2e756f 718p |void |boot_core_builtin
b8837dad
YO
719: Only used in perl.c
720p |void |boot_core_mro
d67fec57 721: Used in perl.c
94bdecf9 722p |void |boot_core_PerlIO
b8837dad
YO
723: Used in perl.c
724p |void |boot_core_UNIVERSAL
725p |OP * |build_infix_plugin \
726 |NN OP *lhs \
727 |NN OP *rhs \
728 |NN void *tokendata
729EXp |char * |_byte_dump_string \
730 |NN const U8 * const start \
731 |const STRLEN len \
732 |const bool format
d6a7165b 733Adp |int |bytes_cmp_utf8 |NN const U8 *b \
b8837dad
YO
734 |STRLEN blen \
735 |NN const U8 *u \
736 |STRLEN ulen
d6a7165b 737AMdpx |U8 * |bytes_from_utf8|NN const U8 *s \
b8837dad
YO
738 |NN STRLEN *lenp \
739 |NN bool *is_utf8p
d6a7165b 740CTdpx |U8 * |bytes_from_utf8_loc \
b8837dad
YO
741 |NN const U8 *s \
742 |NN STRLEN *lenp \
743 |NN bool *is_utf8p \
744 |NULLOK const U8 **first_unconverted
d6a7165b 745Adpx |U8 * |bytes_to_utf8 |NN const U8 *s \
b8837dad 746 |NN STRLEN *lenp
d6a7165b 747AOdp |I32 |call_argv |NN const char *sub_name \
b8837dad
YO
748 |I32 flags \
749 |NN char **argv
750
751: "Very" special - can't use the O flag for this one:
752: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
d6a7165b 753Adp |void |call_atexit |ATEXIT_t fn \
b8837dad 754 |NULLOK void *ptr
d6a7165b 755Adp |const PERL_CONTEXT *|caller_cx \
a5dfa563 756 |I32 level \
8dff4fc5 757 |NULLOK const PERL_CONTEXT **dbcxp
b8837dad
YO
758Cp |void |call_list |I32 oldscope \
759 |NN AV *paramList
d6a7165b 760AOdp |I32 |call_method |NN const char *methname \
b8837dad 761 |I32 flags
d6a7165b 762CTadop |Malloc_t|calloc |MEM_SIZE elements \
b8837dad 763 |MEM_SIZE size
d6a7165b 764AOdp |I32 |call_pv |NN const char *sub_name \
b8837dad 765 |I32 flags
d6a7165b 766AOdp |I32 |call_sv |NN SV *sv \
b8837dad 767 |volatile I32 flags
486ec47a 768: Used in several source files
d6a7165b 769Rp |bool |cando |Mode_t mode \
a5dfa563
YO
770 |bool effective \
771 |NN const Stat_t *statbufp
d6a7165b
YO
772CRTp |I32 |cast_i32 |NV f
773CRTp |IV |cast_iv |NV f
774CRTp |U32 |cast_ulong |NV f
775CRTp |UV |cast_uv |NV f
b8837dad
YO
776p |bool |check_utf8_print \
777 |NN const U8 *s \
778 |const STRLEN len
d6a7165b 779op |OP * |ck_entersub_args_core \
b8837dad
YO
780 |NN OP *entersubop \
781 |NN GV *namegv \
782 |NN SV *protosv
d6a7165b 783Adp |OP * |ck_entersub_args_list \
b8837dad 784 |NN OP *entersubop
d6a7165b 785Adp |OP * |ck_entersub_args_proto \
b8837dad
YO
786 |NN OP *entersubop \
787 |NN GV *namegv \
788 |NN SV *protosv
d6a7165b 789Adp |OP * |ck_entersub_args_proto_or_list \
b8837dad
YO
790 |NN OP *entersubop \
791 |NN GV *namegv \
792 |NN SV *protosv
793
d6a7165b
YO
794CPop |bool |ckwarn |U32 w
795CPop |bool |ckwarn_d |U32 w
b8837dad
YO
796Adfp |void |ck_warner |U32 err \
797 |NN const char *pat \
798 |...
799Adfp |void |ck_warner_d |U32 err \
800 |NN const char *pat \
801 |...
802
803: Some static inline functions need predeclaration because they are used
804: inside other static inline functions.
805
806Cp |void |clear_defarray |NN AV *av \
807 |bool abandon
a5dfa563
YO
808p |const COP *|closest_cop|NN const COP *cop \
809 |NULLOK const OP *o \
810 |NULLOK const OP *curop \
811 |bool opnext
d6a7165b 812Rp |OP * |cmpchain_extend|I32 type \
b8837dad
YO
813 |NN OP *ch \
814 |NULLOK OP *right
d6a7165b
YO
815Rp |OP * |cmpchain_finish|NN OP *ch
816Rp |OP * |cmpchain_start |I32 type \
b8837dad
YO
817 |NULLOK OP *left \
818 |NULLOK OP *right
d6a7165b 819ERTXp |const char *|cntrl_to_mnemonic \
b8837dad 820 |const U8 c
d6a7165b 821Adpx |const char *|cop_fetch_label \
b8837dad
YO
822 |NN COP * const cop \
823 |NULLOK STRLEN *len \
824 |NULLOK U32 *flags
825: Only used in op.c and the perl compiler
d6a7165b 826Adpx |void |cop_store_label|NN COP * const cop \
b8837dad
YO
827 |NN const char *label \
828 |STRLEN len \
a5dfa563 829 |U32 flags
b8c38f0a 830: Used in pp.c
d6a7165b 831dp |SV * |core_prototype |NULLOK SV *sv \
a5dfa563
YO
832 |NN const char *name \
833 |const int code \
834 |NULLOK int * const opnum
1e4b6aa1 835: Used in gv.c
a5dfa563
YO
836p |OP * |coresub_op |NN SV * const coreargssv \
837 |const int code \
1e4b6aa1 838 |const int opnum
b8837dad
YO
839: Used in op.c and perl.c
840px |void |create_eval_scope \
841 |NULLOK OP *retop \
842 |U32 flags
843: croak()'s first parm can be NULL. Otherwise, mod_perl breaks.
d6a7165b 844Adfpr |void |croak |NULLOK const char *pat \
b8837dad 845 |...
d6a7165b 846Tfpr |void |croak_caller |NULLOK const char *pat \
b8837dad 847 |...
d6a7165b 848CTrs |void |croak_memory_wrap
b8837dad 849Tpr |void |croak_no_mem
d6a7165b
YO
850ATdpr |void |croak_no_modify
851TXpr |void |croak_popstack
852Adpr |void |croak_sv |NN SV *baseex
853ATdpr |void |croak_xs_usage |NN const CV * const cv \
b8837dad
YO
854 |NN const char * const params
855CTp |Signal_t|csighandler1 |int sig
856CTp |Signal_t|csighandler3 |int sig \
857 |NULLOK Siginfo_t *info \
858 |NULLOK void *uap
859EXp |regexp_engine const *|current_re_engine
d6a7165b 860RXp |XOPRETANY|custom_op_get_field \
b8837dad
YO
861 |NN const OP *o \
862 |const xop_flags_enum field
863Adop |void |custom_op_register \
864 |NN Perl_ppaddr_t ppaddr \
865 |NN const XOP *xop
d67fec57 866: Used in sv.c
d6a7165b 867EXpx |void |cv_ckproto_len_flags \
a5dfa563
YO
868 |NN const CV *cv \
869 |NULLOK const GV *gv \
870 |NULLOK const char *p \
871 |const STRLEN len \
872 |const U32 flags
d6a7165b 873Adp |CV * |cv_clone |NN CV *proto
b8837dad
YO
874p |CV * |cv_clone_into |NN CV *proto \
875 |NN CV *target
d6a7165b
YO
876ARTdp |SV * |cv_const_sv |NULLOK const CV * const cv
877RTp |SV * |cv_const_sv_or_av \
a5dfa563 878 |NULLOK const CV * const cv
d6a7165b
YO
879AMTdip |I32 * |CvDEPTH |NN const CV * const sv
880dp |void |cv_forget_slab |NULLOK CV *cv
881Adp |void |cv_get_call_checker \
b8837dad
YO
882 |NN CV *cv \
883 |NN Perl_call_checker *ckfun_p \
884 |NN SV **ckobj_p
d6a7165b 885Adp |void |cv_get_call_checker_flags \
b8837dad
YO
886 |NN CV *cv \
887 |U32 gflags \
888 |NN Perl_call_checker *ckfun_p \
889 |NN SV **ckobj_p \
890 |NN U32 *ckflags_p
d6a7165b
YO
891AMdip |GV * |CvGV |NN CV *sv
892Xop |GV * |cvgv_from_hek |NN CV *cv
893Xp |void |cvgv_set |NN CV *cv \
b8837dad 894 |NULLOK GV *gv
d6a7165b 895Adp |SV * |cv_name |NN CV *cv \
b8837dad
YO
896 |NULLOK SV *sv \
897 |U32 flags
d6a7165b 898Adp |void |cv_set_call_checker \
b8837dad
YO
899 |NN CV *cv \
900 |NN Perl_call_checker ckfun \
901 |NN SV *ckobj
d6a7165b 902Adp |void |cv_set_call_checker_flags \
b8837dad
YO
903 |NN CV *cv \
904 |NN Perl_call_checker ckfun \
905 |NN SV *ckobj \
906 |U32 ckflags
d6a7165b 907Xp |void |cvstash_set |NN CV *cv \
b8837dad 908 |NULLOK HV *stash
d6a7165b 909Adp |void |cv_undef |NN CV *cv
b8837dad
YO
910p |void |cv_undef_flags |NN CV *cv \
911 |U32 flags
912Cp |void |cx_dump |NN PERL_CONTEXT *cx
d67fec57 913: Used by CXINC, which appears to be in widespread use
d6a7165b
YO
914CRp |I32 |cxinc
915Adfp |void |deb |NN const char *pat \
a5dfa563 916 |...
d6a7165b
YO
917Cdp |I32 |debop |NN const OP *o
918Cdp |void |debprofdump
919Adp |I32 |debstack
b8837dad
YO
920
921: Only used in dump.c
922p |void |deb_stack_all
59e6561a 923Cp |I32 |debstackptrs
b8837dad 924p |void |debug_hash_seed|bool via_debug_h
d6a7165b 925Rp |SV * |defelem_target |NN SV *sv \
a5dfa563 926 |NULLOK MAGIC *mg
b8837dad
YO
927: Used in op.c, perl.c
928px |void |delete_eval_scope
d6a7165b 929ATdp |char * |delimcpy |NN char *to \
a5dfa563
YO
930 |NN const char *to_end \
931 |NN const char *from \
932 |NN const char *from_end \
933 |const int delim \
934 |NN I32 *retlen
d6a7165b 935ETXdp |char * |delimcpy_no_escape \
a5dfa563
YO
936 |NN char *to \
937 |NN const char *to_end \
938 |NN const char *from \
939 |NN const char *from_end \
940 |const int delim \
941 |NN I32 *retlen
b8837dad 942Cp |void |despatch_signals
d6a7165b 943Adfpr |OP * |die |NULLOK const char *pat \
a5dfa563 944 |...
d6a7165b 945Adpr |OP * |die_sv |NN SV *baseex
67022846 946: Used in util.c
a5dfa563 947pr |void |die_unwind |NN SV *msv
67022846 948: FIXME
d6a7165b 949Mbp |bool |do_aexec |NULLOK SV *really \
a5dfa563
YO
950 |NN SV **mark \
951 |NN SV **sp
67022846 952: Used in pp_sys.c
a5dfa563
YO
953p |bool |do_aexec5 |NULLOK SV *really \
954 |NN SV **mark \
955 |NN SV **sp \
956 |int fd \
957 |int do_report
67022846 958: Used in pp.c
d6a7165b 959Adp |bool |do_close |NULLOK GV *gv \
a5dfa563 960 |bool is_explicit
d6a7165b 961dp |void |do_dump_pad |I32 level \
b8837dad
YO
962 |NN PerlIO *file \
963 |NULLOK PADLIST *padlist \
964 |int full
67022846 965: Defined in doio.c, used only in pp_sys.c
a5dfa563 966p |bool |do_eof |NN GV *gv
b8837dad
YO
967: Used in perly.y
968p |OP * |dofile |NN OP *term \
969 |I32 force_builtin
970Cp |void |do_gv_dump |I32 level \
971 |NN PerlIO *file \
972 |NN const char *name \
973 |NULLOK GV *sv
974Cp |void |do_gvgv_dump |I32 level \
975 |NN PerlIO *file \
976 |NN const char *name \
977 |NULLOK GV *sv
978Cp |void |do_hv_dump |I32 level \
979 |NN PerlIO *file \
980 |NN const char *name \
981 |NULLOK HV *sv
d6a7165b 982CRTp |bool |doing_taint |int argc \
b8837dad
YO
983 |NULLOK char **argv \
984 |NULLOK char **env
8c654ff2 985
d6a7165b 986Adp |void |do_join |NN SV *sv \
a5dfa563
YO
987 |NN SV *delim \
988 |NN SV **mark \
989 |NN SV **sp
b8837dad
YO
990Cp |void |do_magic_dump |I32 level \
991 |NN PerlIO *file \
992 |NULLOK const MAGIC *mg \
993 |I32 nest \
994 |I32 maxnest \
995 |bool dumpops \
996 |STRLEN pvlim
981b7185
NC
997: Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
998: p |OP* |do_kv
33efebe6 999: used in pp.c, pp_hot.c
d6a7165b 1000Rp |I32 |do_ncmp |NN SV * const left \
a5dfa563 1001 |NN SV * const right
b8837dad
YO
1002Cp |void |do_op_dump |I32 level \
1003 |NN PerlIO *file \
1004 |NULLOK const OP *o
d6a7165b 1005AMbp |bool |do_open |NN GV *gv \
a5dfa563
YO
1006 |NN const char *name \
1007 |I32 len \
1008 |int as_raw \
1009 |int rawmode \
1010 |int rawperm \
1011 |NULLOK PerlIO *supplied_fp
d6a7165b 1012px |bool |do_open6 |NN GV *gv \
b8837dad
YO
1013 |NN const char *oname \
1014 |STRLEN len \
1015 |NULLOK PerlIO *supplied_fp \
1016 |NULLOK SV **svp \
1017 |U32 num
a5dfa563
YO
1018Ap |bool |do_openn |NN GV *gv \
1019 |NN const char *oname \
1020 |I32 len \
1021 |int as_raw \
1022 |int rawmode \
1023 |int rawperm \
1024 |NULLOK PerlIO *supplied_fp \
1025 |NULLOK SV **svp \
4048f010 1026 |I32 num
d6a7165b 1027px |bool |do_open_raw |NN GV *gv \
a5dfa563
YO
1028 |NN const char *oname \
1029 |STRLEN len \
1030 |int rawmode \
1031 |int rawperm \
1032 |NULLOK Stat_t *statbufp
b8837dad
YO
1033Cp |void |do_pmop_dump |I32 level \
1034 |NN PerlIO *file \
1035 |NULLOK const PMOP *pm
67022846 1036: Used in pp_hot.c and pp_sys.c
a5dfa563
YO
1037p |bool |do_print |NULLOK SV *sv \
1038 |NN PerlIO *fp
67022846 1039: Used in pp_sys.c
d6a7165b 1040Rp |OP * |do_readline
b8837dad
YO
1041Cp |OP * |doref |NN OP *o \
1042 |I32 type \
1043 |bool set_op_ref
67022846 1044: Defined in doio.c, used only in pp_sys.c
a5dfa563
YO
1045p |bool |do_seek |NULLOK GV *gv \
1046 |Off_t pos \
1047 |int whence
d6a7165b 1048Adp |void |do_sprintf |NN SV *sv \
a5dfa563
YO
1049 |SSize_t len \
1050 |NN SV **sarg
b8837dad
YO
1051Cp |void |do_sv_dump |I32 level \
1052 |NN PerlIO *file \
1053 |NULLOK SV *sv \
1054 |I32 nest \
1055 |I32 maxnest \
1056 |bool dumpops \
1057 |STRLEN pvlim
67022846 1058: Defined in doio.c, used only in pp_sys.c
a5dfa563
YO
1059p |Off_t |do_sysseek |NN GV *gv \
1060 |Off_t pos \
1061 |int whence
67022846 1062: Defined in doio.c, used only in pp_sys.c
d6a7165b 1063Rp |Off_t |do_tell |NN GV *gv
67022846 1064: Defined in doop.c, used only in pp.c
a5dfa563 1065p |Size_t |do_trans |NN SV *sv
d6a7165b 1066ERTXp |I16 |do_uniprop_match \
b8837dad
YO
1067 |NN const char * const key \
1068 |const U16 key_len
d6a7165b 1069Cdhp |void |dounwind |I32 cxix
67022846 1070: Used in my.c and pp.c
a5dfa563
YO
1071p |UV |do_vecget |NN SV *sv \
1072 |STRLEN offset \
1073 |int size
67022846 1074: Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */)
a5dfa563 1075p |void |do_vecset |NN SV *sv
67022846 1076: Defined in doop.c, used only in pp.c
a5dfa563
YO
1077p |void |do_vop |I32 optype \
1078 |NN SV *sv \
1079 |NN SV *left \
1080 |NN SV *right
d6a7165b
YO
1081CDRdp |U8 |dowantarray
1082TXop |void |drand48_init_r |NN perl_drand48_t *random_state \
b8837dad 1083 |U32 seed
d6a7165b 1084TXop |double |drand48_r |NN perl_drand48_t *random_state
c1a02cca 1085Adp |void |dump_all
f0e3f042 1086p |void |dump_all_perl |bool justperl
d6a7165b
YO
1087Adhp |void |dump_eval
1088Adp |void |dump_form |NN const GV *gv
b8837dad
YO
1089Cfp |void |dump_indent |I32 level \
1090 |NN PerlIO *file \
1091 |NN const char *pat \
1092 |...
d6a7165b 1093Adp |void |dump_packsubs |NN const HV *stash
a5dfa563
YO
1094p |void |dump_packsubs_perl \
1095 |NN const HV *stash \
1096 |bool justperl
d6a7165b 1097Adhp |void |dump_sub |NN const GV *gv
a5dfa563
YO
1098p |void |dump_sub_perl |NN const GV *gv \
1099 |bool justperl
b8837dad
YO
1100Cp |void |dump_vindent |I32 level \
1101 |NN PerlIO *file \
1102 |NN const char *pat \
1103 |NULLOK va_list *args
1104
d6a7165b 1105EXop |char *|dup_warnings |NULLOK char *warnings
b8837dad
YO
1106
1107: Used by B
d6a7165b 1108EXopx |void |emulate_cop_io |NN const COP * const c \
b8837dad 1109 |NN SV * const sv
d6a7165b 1110AOdp |SV * |eval_pv |NN const char *p \
b8837dad 1111 |I32 croak_on_error
d6a7165b 1112AOdp |I32 |eval_sv |NN SV *sv \
b8837dad 1113 |I32 flags
d6a7165b 1114Adp |void |fbm_compile |NN SV *sv \
a5dfa563 1115 |U32 flags
d6a7165b 1116ARdp |char * |fbm_instr |NN unsigned char *big \
a5dfa563
YO
1117 |NN unsigned char *bigend \
1118 |NN SV *littlestr \
1119 |U32 flags
d6a7165b 1120Adhp |SV * |filter_add |NULLOK filter_t funcp \
b8837dad 1121 |NULLOK SV *datasv
d6a7165b
YO
1122Adp |void |filter_del |NN filter_t funcp
1123ARdhp |I32 |filter_read |int idx \
b8837dad
YO
1124 |NN SV *buf_sv \
1125 |int maxlen
9a5e6f3c 1126p |CV * |find_lexical_cv|PADOFFSET off
b8837dad 1127
d6a7165b
YO
1128ARdp |CV * |find_runcv |NULLOK U32 *db_seqp
1129Rp |CV * |find_runcv_where \
b8837dad
YO
1130 |U8 cond \
1131 |IV arg \
1132 |NULLOK U32 *db_seqp
d6a7165b 1133Adp |SV * |find_rundefsv
67022846 1134: Defined in util.c, used only in perl.c
a5dfa563
YO
1135p |char * |find_script |NN const char *scriptname \
1136 |bool dosearch \
1137 |NULLOK const char * const * const search_ext \
1138 |I32 flags
b8837dad
YO
1139Adip |I32 |foldEQ |NN const char *a \
1140 |NN const char *b \
1141 |I32 len
1142Cip |I32 |foldEQ_latin1 |NN const char *a \
1143 |NN const char *b \
1144 |I32 len
d6a7165b 1145Adip |I32 |foldEQ_locale |NN const char *a \
b8837dad
YO
1146 |NN const char *b \
1147 |I32 len
d6a7165b 1148Adm |I32 |foldEQ_utf8 |NN const char *s1 \
b8837dad
YO
1149 |NULLOK char **pe1 \
1150 |UV l1 \
1151 |bool u1 \
1152 |NN const char *s2 \
1153 |NULLOK char **pe2 \
1154 |UV l2 \
1155 |bool u2
1156Cp |I32 |foldEQ_utf8_flags \
1157 |NN const char *s1 \
1158 |NULLOK char **pe1 \
1159 |UV l1 \
1160 |bool u1 \
1161 |NN const char *s2 \
1162 |NULLOK char **pe2 \
1163 |UV l2 \
1164 |bool u2 \
1165 |U32 flags
d6a7165b 1166Adpx |void |forbid_outofblock_ops \
b8837dad
YO
1167 |NN OP *o \
1168 |NN const char *blockname
1169Tp |void |force_locale_unlock
1170Cp |void |_force_out_malformed_utf8_message \
1171 |NN const U8 * const p \
1172 |NN const U8 * const e \
1173 |const U32 flags \
1174 |const bool die_here
d6a7165b 1175Adfp |char * |form |NN const char *pat \
a5dfa563 1176 |...
b8837dad
YO
1177: Only used in perl.c
1178p |void |free_tied_hv_pool
f34c6d9a 1179Cp |void |free_tmps
d6a7165b 1180ERXp |SV * |get_and_check_backslash_N_name \
b8837dad
YO
1181 |NN const char *s \
1182 |NN const char *e \
1183 |const bool is_utf8 \
1184 |NN const char **error_msg
d6a7165b 1185AOdp |AV * |get_av |NN const char *name \
b8837dad 1186 |I32 flags
d6a7165b 1187AOdp |CV * |get_cv |NN const char *name \
b8837dad 1188 |I32 flags
d6a7165b 1189Adp |CV * |get_cvn_flags |NN const char *name \
b8837dad
YO
1190 |STRLEN len \
1191 |I32 flags
d6a7165b 1192Adp |int |getcwd_sv |NN SV *sv
67022846 1193: Used in pp_ctl.c and pp_hot.c
d6a7165b 1194eop |void |get_db_sub |NULLOK SV **svp \
a5dfa563 1195 |NN CV *cv
d6a7165b 1196ERTXp |const char *|get_deprecated_property_msg \
b8837dad 1197 |const Size_t warning_offset
23cd3057
KW
1198: Used in mg.c
1199Tp |int |get_extended_os_errno
b8837dad
YO
1200: Only used in perl.c
1201p |void |get_hash_seed |NN unsigned char * const seed_buffer
d6a7165b 1202AOdp |HV * |get_hv |NN const char *name \
b8837dad 1203 |I32 flags
d6a7165b
YO
1204DPRp |const char *|get_no_modify
1205DPRp |U32 * |get_opargs
1206ADPRdp |char **|get_op_descs
1207ADPRdp |char **|get_op_names
1208CDPRp |PPADDR_t *|get_ppaddr
1209ERXp |SV * |get_prop_definition \
b8837dad 1210 |const int table_index
d6a7165b 1211ERTXp |const char * const *|get_prop_values \
b8837dad
YO
1212 |const int table_index
1213: Used by SvRX and SvRXOK
d6a7165b
YO
1214EXopx |REGEXP *|get_re_arg |NULLOK SV *sv
1215AOdp |SV * |get_sv |NN const char *name \
b8837dad 1216 |I32 flags
4a7bea40 1217CRipx |MGVTBL *|get_vtbl |int vtbl_id
b8837dad
YO
1218Cp |void |gp_free |NULLOK GV *gv
1219Cp |GP * |gp_ref |NULLOK GP *gp
d6a7165b 1220ATdp |bool |grok_atoUV |NN const char *pv \
b8837dad
YO
1221 |NN UV *valptr \
1222 |NULLOK const char **endptr
d6a7165b 1223AMdp |UV |grok_bin |NN const char *start \
b8837dad
YO
1224 |NN STRLEN *len_p \
1225 |NN I32 *flags \
1226 |NULLOK NV *result
1227Cp |UV |grok_bin_oct_hex \
1228 |NN const char *start \
1229 |NN STRLEN *len_p \
1230 |NN I32 *flags \
1231 |NULLOK NV *result \
1232 |const unsigned shift \
1233 |const U8 lookup_bit \
1234 |const char prefix
d6a7165b 1235AMdp |UV |grok_hex |NN const char *start \
b8837dad
YO
1236 |NN STRLEN *len_p \
1237 |NN I32 *flags \
1238 |NULLOK NV *result
d6a7165b 1239Adp |int |grok_infnan |NN const char **sp \
b8837dad 1240 |NN const char *send
d6a7165b 1241Adp |int |grok_number |NN const char *pv \
b8837dad
YO
1242 |STRLEN len \
1243 |NULLOK UV *valuep
d6a7165b 1244Adp |int |grok_number_flags \
b8837dad
YO
1245 |NN const char *pv \
1246 |STRLEN len \
1247 |NULLOK UV *valuep \
a5dfa563 1248 |U32 flags
d6a7165b 1249ARdp |bool |grok_numeric_radix \
b8837dad
YO
1250 |NN const char **sp \
1251 |NN const char *send
d6a7165b 1252AMdp |UV |grok_oct |NN const char *start \
b8837dad
YO
1253 |NN STRLEN *len_p \
1254 |NN I32 *flags \
1255 |NULLOK NV *result
d6a7165b 1256Adp |GV * |gv_add_by_type |NULLOK GV *gv \
b8837dad 1257 |svtype type
d6a7165b 1258Adp |int |Gv_AMupdate |NN HV *stash \
b8837dad 1259 |bool destructing
d6a7165b 1260ARdm |GV * |gv_autoload4 |NULLOK HV *stash \
b8837dad
YO
1261 |NN const char *name \
1262 |STRLEN len \
1263 |I32 method
d6a7165b 1264ARdp |GV * |gv_autoload_pv |NULLOK HV *stash \
a5dfa563
YO
1265 |NN const char *namepv \
1266 |U32 flags
d6a7165b 1267ARdp |GV * |gv_autoload_pvn|NULLOK HV *stash \
a5dfa563
YO
1268 |NN const char *name \
1269 |STRLEN len \
1270 |U32 flags
d6a7165b 1271ARdp |GV * |gv_autoload_sv |NULLOK HV *stash \
b8837dad
YO
1272 |NN SV *namesv \
1273 |U32 flags
d6a7165b 1274AMbdp |GV * |gv_AVadd |NULLOK GV *gv
a5dfa563 1275Cp |void |gv_check |NN HV *stash
b8837dad 1276: Used in pp.c and pp_sys.c
d6a7165b
YO
1277ARdp |SV * |gv_const_sv |NN GV *gv
1278Adp |void |gv_dump |NULLOK GV *gv
1279AMbdp |void |gv_efullname3 |NN SV *sv \
a5dfa563
YO
1280 |NN const GV *gv \
1281 |NULLOK const char *prefix
d6a7165b 1282Adp |void |gv_efullname4 |NN SV *sv \
a5dfa563
YO
1283 |NN const GV *gv \
1284 |NULLOK const char *prefix \
1285 |bool keepmain
1286Adp |GV * |gv_fetchfile |NN const char *name
1287Adp |GV * |gv_fetchfile_flags \
1288 |NN const char * const name \
1289 |const STRLEN len \
d9095cec 1290 |const U32 flags
d6a7165b 1291Adm |GV * |gv_fetchmeth |NULLOK HV *stash \
a5dfa563
YO
1292 |NN const char *name \
1293 |STRLEN len \
1294 |I32 level
d6a7165b 1295Adm |GV * |gv_fetchmeth_autoload \
b8837dad
YO
1296 |NULLOK HV *stash \
1297 |NN const char *name \
1298 |STRLEN len \
1299 |I32 level
d6a7165b 1300AMbdp |GV * |gv_fetchmethod |NN HV *stash \
b8837dad 1301 |NN const char *name
d6a7165b 1302Adp |GV * |gv_fetchmethod_autoload \
b8837dad
YO
1303 |NN HV *stash \
1304 |NN const char *name \
1305 |I32 autoload
1306Apx |GV * |gv_fetchmethod_pv_flags \
1307 |NN HV *stash \
1308 |NN const char *name \
1309 |U32 flags
1310Apx |GV * |gv_fetchmethod_pvn_flags \
1311 |NN HV *stash \
1312 |NN const char *name \
1313 |const STRLEN len \
1314 |U32 flags
1315Apx |GV * |gv_fetchmethod_sv_flags \
1316 |NN HV *stash \
a5dfa563 1317 |NN SV *namesv \
a5dfa563 1318 |U32 flags
d6a7165b 1319Adp |GV * |gv_fetchmeth_pv|NULLOK HV *stash \
a5dfa563
YO
1320 |NN const char *name \
1321 |I32 level \
1322 |U32 flags
d6a7165b 1323Adp |GV * |gv_fetchmeth_pv_autoload \
a5dfa563
YO
1324 |NULLOK HV *stash \
1325 |NN const char *name \
a5dfa563
YO
1326 |I32 level \
1327 |U32 flags
d6a7165b 1328Adp |GV * |gv_fetchmeth_pvn \
a5dfa563
YO
1329 |NULLOK HV *stash \
1330 |NN const char *name \
1331 |STRLEN len \
a5dfa563
YO
1332 |I32 level \
1333 |U32 flags
d6a7165b 1334Adp |GV * |gv_fetchmeth_pvn_autoload \
a5dfa563
YO
1335 |NULLOK HV *stash \
1336 |NN const char *name \
1337 |STRLEN len \
1338 |I32 level \
1339 |U32 flags
d6a7165b 1340Adp |GV * |gv_fetchmeth_sv|NULLOK HV *stash \
a5dfa563 1341 |NN SV *namesv \
b8837dad 1342 |I32 level \
a5dfa563 1343 |U32 flags
d6a7165b 1344Adp |GV * |gv_fetchmeth_sv_autoload \
b8837dad
YO
1345 |NULLOK HV *stash \
1346 |NN SV *namesv \
1347 |I32 level \
a5dfa563
YO
1348 |U32 flags
1349Adp |GV * |gv_fetchpv |NN const char *nambeg \
1350 |I32 flags \
1351 |const svtype sv_type
b8837dad
YO
1352
1353Adp |GV * |gv_fetchpvn_flags \
1354 |NN const char *name \
1355 |STRLEN len \
1356 |I32 flags \
1357 |const svtype sv_type
1358Adp |GV * |gv_fetchsv |NN SV *name \
1359 |I32 flags \
1360 |const svtype sv_type
d6a7165b 1361AMbdp |void |gv_fullname3 |NN SV *sv \
a5dfa563
YO
1362 |NN const GV *gv \
1363 |NULLOK const char *prefix
d6a7165b 1364Adp |void |gv_fullname4 |NN SV *sv \
a5dfa563
YO
1365 |NN const GV *gv \
1366 |NULLOK const char *prefix \
1367 |bool keepmain
d6a7165b 1368CRdp |CV * |gv_handler |NULLOK HV *stash \
b8837dad 1369 |I32 id
d6a7165b
YO
1370AMbdp |GV * |gv_HVadd |NULLOK GV *gv
1371Adm |void |gv_init |NN GV *gv \
a5dfa563
YO
1372 |NULLOK HV *stash \
1373 |NN const char *name \
1374 |STRLEN len \
1375 |int multi
d6a7165b 1376Adp |void |gv_init_pv |NN GV *gv \
a5dfa563
YO
1377 |NULLOK HV *stash \
1378 |NN const char *name \
1379 |U32 flags
d6a7165b 1380Adp |void |gv_init_pvn |NN GV *gv \
a5dfa563
YO
1381 |NULLOK HV *stash \
1382 |NN const char *name \
1383 |STRLEN len \
1384 |U32 flags
d6a7165b 1385Adp |void |gv_init_sv |NN GV *gv \
b8837dad
YO
1386 |NULLOK HV *stash \
1387 |NN SV *namesv \
1388 |U32 flags
d6a7165b
YO
1389AMbdp |GV * |gv_IOadd |NULLOK GV *gv
1390Adp |void |gv_name_set |NN GV *gv \
a5dfa563
YO
1391 |NN const char *name \
1392 |U32 len \
1393 |U32 flags
d6a7165b 1394ep |GV * |gv_override |NN const char * const name \
9e3fb20c 1395 |const STRLEN len
a5dfa563
YO
1396p |void |gv_setref |NN SV * const dsv \
1397 |NN SV * const ssv
d6a7165b 1398Adp |HV * |gv_stashpv |NN const char *name \
a5dfa563 1399 |I32 flags
d6a7165b 1400Adp |HV * |gv_stashpvn |NN const char *name \
a5dfa563
YO
1401 |U32 namelen \
1402 |I32 flags
d6a7165b 1403Adp |HV * |gv_stashsv |NN SV *sv \
a5dfa563 1404 |I32 flags
d6a7165b 1405Xdpx |void |gv_try_downgrade \
b8837dad 1406 |NN GV *gv
d6a7165b 1407op |struct xpvhv_aux *|hv_auxalloc \
a5dfa563 1408 |NN HV *hv
b8837dad 1409: Used in dump.c and hv.c
d6a7165b 1410opx |AV ** |hv_backreferences_p \
b8837dad 1411 |NN HV *hv
d6a7165b
YO
1412ARdpx |SV * |hv_bucket_ratio|NN HV *hv
1413Adp |void |hv_clear |NULLOK HV *hv
1414Adp |void |hv_clear_placeholders \
b8837dad
YO
1415 |NN HV *hv
1416Cp |void * |hv_common |NULLOK HV *hv \
1417 |NULLOK SV *keysv \
1418 |NULLOK const char *key \
1419 |STRLEN klen \
1420 |int flags \
1421 |int action \
1422 |NULLOK SV *val \
1423 |U32 hash
1424Cp |void * |hv_common_key_len \
1425 |NULLOK HV *hv \
1426 |NN const char *key \
1427 |I32 klen_i32 \
1428 |const int action \
1429 |NULLOK SV *val \
1430 |const U32 hash
67022846 1431: used in SAVEHINTS() and op.c
d6a7165b 1432ARdp |HV * |hv_copy_hints_hv \
a5dfa563
YO
1433 |NULLOK HV * const ohv
1434Cp |void |hv_delayfree_ent \
1435 |NULLOK HV *notused \
1436 |NULLOK HE *entry
d6a7165b 1437AMbdp |SV * |hv_delete |NULLOK HV *hv \
a5dfa563
YO
1438 |NN const char *key \
1439 |I32 klen \
a038e571 1440 |I32 flags
d6a7165b 1441AMbdp |SV * |hv_delete_ent |NULLOK HV *hv \
a5dfa563
YO
1442 |NN SV *keysv \
1443 |I32 flags \
1444 |U32 hash
d6a7165b
YO
1445Adp |void |hv_dump |NULLOK HV *hv
1446CRdop |HE ** |hv_eiter_p |NN HV *hv
1447Cdop |void |hv_eiter_set |NN HV *hv \
b8837dad 1448 |NULLOK HE *eiter
d6a7165b 1449dp |void |hv_ename_add |NN HV *hv \
b8837dad
YO
1450 |NN const char *name \
1451 |U32 len \
1452 |U32 flags
d6a7165b 1453dp |void |hv_ename_delete|NN HV *hv \
b8837dad
YO
1454 |NN const char *name \
1455 |U32 len \
1456 |U32 flags
d6a7165b 1457AMRbdp |bool |hv_exists |NULLOK HV *hv \
a5dfa563
YO
1458 |NN const char *key \
1459 |I32 klen
d6a7165b 1460AMRbdp |bool |hv_exists_ent |NULLOK HV *hv \
a5dfa563
YO
1461 |NN SV *keysv \
1462 |U32 hash
d6a7165b 1463AMbdp |SV ** |hv_fetch |NULLOK HV *hv \
a5dfa563
YO
1464 |NN const char *key \
1465 |I32 klen \
a038e571 1466 |I32 lval
d6a7165b 1467AMbdp |HE * |hv_fetch_ent |NULLOK HV *hv \
a5dfa563
YO
1468 |NN SV *keysv \
1469 |I32 lval \
1470 |U32 hash
d6a7165b 1471Cdop |STRLEN |hv_fill |NN HV * const hv
a5dfa563
YO
1472Cp |void |hv_free_ent |NULLOK HV *notused \
1473 |NULLOK HE *entry
d6a7165b
YO
1474Adp |I32 |hv_iterinit |NN HV *hv
1475ARdp |char * |hv_iterkey |NN HE *entry \
a5dfa563 1476 |NN I32 *retlen
d6a7165b
YO
1477ARdp |SV * |hv_iterkeysv |NN HE *entry
1478AMRbdp |HE * |hv_iternext |NN HV *hv
1479ARdpx |HE * |hv_iternext_flags \
a5dfa563
YO
1480 |NN HV *hv \
1481 |I32 flags
d6a7165b 1482ARdp |SV * |hv_iternextsv |NN HV *hv \
b8837dad
YO
1483 |NN char **key \
1484 |NN I32 *retlen
d6a7165b 1485ARdp |SV * |hv_iterval |NN HV *hv \
a5dfa563 1486 |NN HE *entry
d6a7165b 1487Adp |void |hv_ksplit |NN HV *hv \
a5dfa563 1488 |IV newmax
d6a7165b 1489AMbdp |void |hv_magic |NN HV *hv \
a5dfa563
YO
1490 |NULLOK GV *gv \
1491 |int how
d6a7165b 1492Adp |void |hv_name_set |NN HV *hv \
b8837dad
YO
1493 |NULLOK const char *name \
1494 |U32 len \
a5dfa563 1495 |U32 flags
d6a7165b 1496CRdop |I32 |hv_placeholders_get \
b8837dad 1497 |NN const HV *hv
d6a7165b 1498RXop |SSize_t *|hv_placeholders_p \
b8837dad 1499 |NN HV *hv
d6a7165b 1500Cdop |void |hv_placeholders_set \
b8837dad
YO
1501 |NN HV *hv \
1502 |I32 ph
1503p |void |hv_pushkv |NN HV *hv \
a5dfa563 1504 |U32 flags
b8837dad
YO
1505Cp |void |hv_rand_set |NN HV *hv \
1506 |U32 new_xhv_rand
d6a7165b
YO
1507CRdop |I32 * |hv_riter_p |NN HV *hv
1508Cdop |void |hv_riter_set |NN HV *hv \
b8837dad
YO
1509 |I32 riter
1510
d6a7165b
YO
1511ARdp |SV * |hv_scalar |NN HV *hv
1512AMbdp |SV ** |hv_store |NULLOK HV *hv \
a5dfa563
YO
1513 |NULLOK const char *key \
1514 |I32 klen \
1515 |NULLOK SV *val \
1516 |U32 hash
d6a7165b 1517AMbdp |HE * |hv_store_ent |NULLOK HV *hv \
a5dfa563
YO
1518 |NULLOK SV *key \
1519 |NULLOK SV *val \
4048f010 1520 |U32 hash
d6a7165b 1521AMbpx |SV ** |hv_store_flags |NULLOK HV *hv \
a5dfa563
YO
1522 |NULLOK const char *key \
1523 |I32 klen \
1524 |NULLOK SV *val \
1525 |U32 hash \
1526 |int flags
d6a7165b 1527Adm |SV ** |hv_stores |NULLOK HV *hv \
b8837dad
YO
1528 |"key" \
1529 |NULLOK SV *val
d6a7165b
YO
1530Adm |void |hv_undef |NULLOK HV *hv
1531Xop |void |hv_undef_flags |NULLOK HV *hv \
a5dfa563 1532 |U32 flags
d6a7165b 1533APdm |I32 |ibcmp |NN const char *a \
a5dfa563
YO
1534 |NN const char *b \
1535 |I32 len
d6a7165b 1536APdm |I32 |ibcmp_locale |NN const char *a \
a5dfa563
YO
1537 |NN const char *b \
1538 |I32 len
a5dfa563
YO
1539Adm |I32 |ibcmp_utf8 |NN const char *s1 \
1540 |NULLOK char **pe1 \
1541 |UV l1 \
1542 |bool u1 \
1543 |NN const char *s2 \
1544 |NULLOK char **pe2 \
1545 |UV l2 \
1546 |bool u2
b8837dad 1547
d6a7165b 1548eop |STRLEN |infix_plugin_standard \
b8837dad
YO
1549 |NN char *operator_ptr \
1550 |STRLEN operator_len \
1551 |NN struct Perl_custom_infix **def
67022846 1552: Used in toke.c
a5dfa563
YO
1553p |void |init_argv_symbols \
1554 |int argc \
1555 |NN char **argv
b8837dad 1556p |void |init_constants
8af6f985 1557: Used in pp_ctl.c
d6a7165b 1558op |void |init_dbargs
67022846 1559: Used in mg.c
94bdecf9 1560p |void |init_debugger
d6a7165b 1561COp |int |init_i18nl10n |int printwarn
b8837dad
YO
1562Xp |void |init_named_cv |NN CV *cv \
1563 |NN OP *nameop
2a37eb35 1564Cp |void |init_stacks
32dd037e 1565Cp |void |init_tm |NN struct tm *ptm
b8837dad 1566p |void |init_uniprops
67022846 1567: Used in perly.y
d6a7165b 1568AMPRTbdp|char * |instr |NN const char *big \
a5dfa563 1569 |NN const char *little
d6a7165b
YO
1570Adp |U32 |intro_my
1571ERXp |Size_t |_inverse_folds |const UV cp \
b8837dad
YO
1572 |NN U32 *first_folds_to \
1573 |NN const U32 **remaining_folds_to
1574: Used in perly.y
d6a7165b 1575Rp |OP * |invert |NULLOK OP *cmd
b8837dad
YO
1576p |void |invmap_dump |NN SV *invlist \
1577 |NN UV *map
67022846 1578: Used in sv.c
a5dfa563
YO
1579p |bool |io_close |NN IO *io \
1580 |NULLOK GV *gv \
1581 |bool is_explicit \
1582 |bool warn_on_fail
d6a7165b 1583APRTdm |bool |is_ascii_string|NN const U8 * const s \
b8837dad 1584 |STRLEN len
d6a7165b 1585ARTdip |Size_t |isC9_STRICT_UTF8_CHAR \
b8837dad
YO
1586 |NN const U8 * const s0 \
1587 |NN const U8 * const e
d6a7165b 1588ARTdm |bool |is_c9strict_utf8_string \
b8837dad
YO
1589 |NN const U8 *s \
1590 |STRLEN len
1591ATdm |bool |is_c9strict_utf8_string_loc \
1592 |NN const U8 *s \
1593 |STRLEN len \
1594 |NN const U8 **ep
d6a7165b 1595ATdip |bool |is_c9strict_utf8_string_loclen \
b8837dad
YO
1596 |NN const U8 *s \
1597 |STRLEN len \
1598 |NULLOK const U8 **ep \
1599 |NULLOK STRLEN *el
1600
d6a7165b
YO
1601APTdp |bool |isinfnan |NV nv
1602dp |bool |isinfnansv |NN SV *sv
b8837dad
YO
1603Cp |bool |_is_in_locale_category \
1604 |const bool compiling \
1605 |const int category
d6a7165b 1606APRTdm |bool |is_invariant_string \
b8837dad
YO
1607 |NN const U8 * const s \
1608 |STRLEN len
d6a7165b 1609ARdp |I32 |is_lvalue_sub
b8837dad 1610: used to check for NULs in pathnames and other names
d6a7165b 1611ARdip |bool |is_safe_syscall|NN const char *pv \
b8837dad
YO
1612 |STRLEN len \
1613 |NN const char *what \
1614 |NN const char *op_name
d6a7165b 1615ARTdip |Size_t |isSTRICT_UTF8_CHAR \
b8837dad
YO
1616 |NN const U8 * const s0 \
1617 |NN const U8 * const e
d6a7165b 1618ARTdm |bool |is_strict_utf8_string \
b8837dad
YO
1619 |NN const U8 *s \
1620 |STRLEN len
1621ATdm |bool |is_strict_utf8_string_loc \
1622 |NN const U8 *s \
1623 |STRLEN len \
1624 |NN const U8 **ep
d6a7165b 1625ATdip |bool |is_strict_utf8_string_loclen \
b8837dad
YO
1626 |NN const U8 *s \
1627 |STRLEN len \
1628 |NULLOK const U8 **ep \
1629 |NULLOK STRLEN *el
d6a7165b 1630CRp |bool |_is_uni_FOO |const U8 classnum \
b8837dad 1631 |const UV c
d6a7165b 1632CRp |bool |_is_uni_perl_idcont \
b8837dad 1633 |UV c
d6a7165b 1634CRp |bool |_is_uni_perl_idstart \
b8837dad 1635 |UV c
d6a7165b 1636ARTdip |Size_t |isUTF8_CHAR |NN const U8 * const s0 \
b8837dad 1637 |NN const U8 * const e
d6a7165b 1638AMTbdp |STRLEN |is_utf8_char_buf \
b8837dad
YO
1639 |NN const U8 *buf \
1640 |NN const U8 *buf_end
d6a7165b 1641ARTdip |Size_t |isUTF8_CHAR_flags \
b8837dad
YO
1642 |NN const U8 * const s0 \
1643 |NN const U8 * const e \
1644 |const U32 flags
d6a7165b 1645CPRTp |STRLEN |is_utf8_char_helper_ \
a5dfa563
YO
1646 |NN const U8 * const s \
1647 |NN const U8 *e \
1648 |const U32 flags
d6a7165b 1649CPRTp |Size_t |is_utf8_FF_helper_ \
a5dfa563
YO
1650 |NN const U8 * const s0 \
1651 |NN const U8 * const e \
58b66e89 1652 |const bool require_partial
d6a7165b 1653ATdm |bool |is_utf8_fixed_width_buf_flags \
b8837dad
YO
1654 |NN const U8 * const s \
1655 |STRLEN len \
1656 |const U32 flags
d6a7165b 1657ATdm |bool |is_utf8_fixed_width_buf_loc_flags \
b8837dad
YO
1658 |NN const U8 * const s \
1659 |STRLEN len \
1660 |NULLOK const U8 **ep \
1661 |const U32 flags
d6a7165b 1662ATdip |bool |is_utf8_fixed_width_buf_loclen_flags \
b8837dad
YO
1663 |NN const U8 * const s \
1664 |STRLEN len \
1665 |NULLOK const U8 **ep \
1666 |NULLOK STRLEN *el \
1667 |const U32 flags
d6a7165b 1668CRp |bool |_is_utf8_FOO |const U8 classnum \
b8837dad
YO
1669 |NN const U8 *p \
1670 |NN const U8 * const e
d6a7165b 1671ARTdmo |bool |is_utf8_invariant_string \
a5dfa563
YO
1672 |NN const U8 * const s \
1673 |STRLEN len
d6a7165b 1674ARTdip |bool |is_utf8_invariant_string_loc \
a5dfa563
YO
1675 |NN const U8 * const s \
1676 |STRLEN len \
1677 |NULLOK const U8 **ep
d6a7165b 1678CRp |bool |_is_utf8_perl_idcont \
b8837dad 1679 |NN const U8 *p \
a5dfa563 1680 |NN const U8 * const e
d6a7165b 1681CRp |bool |_is_utf8_perl_idstart \
b8837dad 1682 |NN const U8 *p \
a5dfa563 1683 |NN const U8 * const e
d6a7165b 1684ARTdm |bool |is_utf8_string |NN const U8 *s \
a5dfa563 1685 |STRLEN len
d6a7165b 1686ARTdip |bool |is_utf8_string_flags \
a5dfa563
YO
1687 |NN const U8 *s \
1688 |STRLEN len \
1689 |const U32 flags
d6a7165b 1690AMTbdp |bool |is_utf8_string_loc \
a5dfa563
YO
1691 |NN const U8 *s \
1692 |const STRLEN len \
1693 |NN const U8 **ep
1694ATdm |bool |is_utf8_string_loc_flags \
1695 |NN const U8 *s \
1696 |STRLEN len \
1697 |NN const U8 **ep \
1698 |const U32 flags
d6a7165b 1699ATdip |bool |is_utf8_string_loclen \
a5dfa563
YO
1700 |NN const U8 *s \
1701 |STRLEN len \
1702 |NULLOK const U8 **ep \
1703 |NULLOK STRLEN *el
d6a7165b 1704ATdip |bool |is_utf8_string_loclen_flags \
a5dfa563
YO
1705 |NN const U8 *s \
1706 |STRLEN len \
1707 |NULLOK const U8 **ep \
1708 |NULLOK STRLEN *el \
1709 |const U32 flags
d6a7165b 1710APTdm |bool |is_utf8_valid_partial_char \
a5dfa563
YO
1711 |NN const U8 * const s0 \
1712 |NN const U8 * const e
d6a7165b 1713ARTdip |bool |is_utf8_valid_partial_char_flags \
a5dfa563
YO
1714 |NN const U8 * const s0 \
1715 |NN const U8 * const e \
1716 |const U32 flags
dd1a3ba7 1717
67022846 1718: Used in perly.y
a5dfa563 1719p |OP * |jmaybe |NN OP *o
dd14162d 1720: Used in pp.c
d6a7165b 1721Pp |I32 |keyword |NN const char *name \
a5dfa563
YO
1722 |I32 len \
1723 |bool all_keywords
b8837dad 1724
d6a7165b 1725eop |int |keyword_plugin_standard \
b8837dad
YO
1726 |NN char *keyword_ptr \
1727 |STRLEN keyword_len \
1728 |NN OP **op_ptr
1729
1730Apx |void |leave_adjust_stacks \
1731 |NN SV **from_sp \
1732 |NN SV **to_sp \
1733 |U8 gimme \
1734 |int filter
d6a7165b
YO
1735Cdp |void |leave_scope |I32 base
1736Adpx |bool |lex_bufutf8
1737Adpx |void |lex_discard_to |NN char *ptr
1738Adpx |char * |lex_grow_linestr \
b8837dad 1739 |STRLEN len
d6a7165b
YO
1740Adpx |bool |lex_next_chunk |U32 flags
1741Adpx |I32 |lex_peek_unichar \
b8837dad 1742 |U32 flags
d6a7165b
YO
1743Adpx |void |lex_read_space |U32 flags
1744Adpx |void |lex_read_to |NN char *ptr
1745Adpx |I32 |lex_read_unichar \
b8837dad 1746 |U32 flags
f0e67a1d 1747: Public lexer API
d6a7165b 1748Adpx |void |lex_start |NULLOK SV *line \
a5dfa563
YO
1749 |NULLOK PerlIO *rsfp \
1750 |U32 flags
d6a7165b 1751Adpx |void |lex_stuff_pv |NN const char *pv \
b8837dad 1752 |U32 flags
d6a7165b 1753Adpx |void |lex_stuff_pvn |NN const char *pv \
a5dfa563
YO
1754 |STRLEN len \
1755 |U32 flags
d6a7165b 1756Adpx |void |lex_stuff_sv |NN SV *sv \
a5dfa563 1757 |U32 flags
d6a7165b 1758Adpx |void |lex_unstuff |NN char *ptr
a5dfa563 1759p |OP * |list |NULLOK OP *o
d6a7165b 1760ERXp |HV * |load_charnames |NN SV *char_name \
b8837dad
YO
1761 |NN const char *context \
1762 |const STRLEN context_len \
1763 |NN const char **error_msg
d6a7165b 1764AFdp |void |load_module |U32 flags \
a5dfa563
YO
1765 |NN SV *name \
1766 |NULLOK SV *ver \
1767 |...
d6a7165b 1768CTopr |void |locale_panic |NN const char *msg \
b8837dad
YO
1769 |NN const char *file_name \
1770 |const line_t line \
1771 |const int errnum
67022846 1772: Used in perly.y
a5dfa563
YO
1773p |OP * |localize |NN OP *o \
1774 |I32 lex
d6a7165b 1775ARdp |I32 |looks_like_number \
a5dfa563 1776 |NN SV * const sv
d6a7165b 1777CRTip |unsigned|lsbit_pos32 |U32 word
a5dfa563
YO
1778p |int |magic_clear_all_env \
1779 |NN SV *sv \
1780 |NN MAGIC *mg
b8837dad
YO
1781p |int |magic_cleararylen_p \
1782 |NN SV *sv \
1783 |NN MAGIC *mg
1784: These are all indirectly referenced by globals.c. This is somewhat annoying.
1785p |int |magic_clearenv |NN SV *sv \
1786 |NN MAGIC *mg
a5dfa563
YO
1787dp |int |magic_clearhint|NN SV *sv \
1788 |NN MAGIC *mg
1789dp |int |magic_clearhints \
1790 |NN SV *sv \
1791 |NN MAGIC *mg
93f6f965
YO
1792p |int |magic_clearhook|NULLOK SV *sv \
1793 |NN MAGIC *mg
1794p |int |magic_clearhookall \
1795 |NULLOK SV *sv \
1796 |NN MAGIC *mg
a5dfa563
YO
1797p |int |magic_clearisa |NULLOK SV *sv \
1798 |NN MAGIC *mg
1799p |int |magic_clearpack|NN SV *sv \
1800 |NN MAGIC *mg
1801p |int |magic_clearsig |NN SV *sv \
1802 |NN MAGIC *mg
1803p |int |magic_copycallchecker \
1804 |NN SV *sv \
1805 |NN MAGIC *mg \
1806 |NN SV *nsv \
1807 |NULLOK const char *name \
1808 |I32 namlen
d6a7165b 1809Adp |void |magic_dump |NULLOK const MAGIC *mg
a5dfa563
YO
1810p |int |magic_existspack \
1811 |NN SV *sv \
1812 |NN const MAGIC *mg
b8837dad
YO
1813p |int |magic_freearylen_p \
1814 |NN SV *sv \
1815 |NN MAGIC *mg
2f920c2f
YO
1816dp |int |magic_freedestruct \
1817 |NN SV *sv \
1818 |NN MAGIC *mg
b8837dad
YO
1819p |int |magic_freemglob|NN SV *sv \
1820 |NN MAGIC *mg
a5dfa563
YO
1821p |int |magic_freeovrld|NN SV *sv \
1822 |NN MAGIC *mg
b8837dad
YO
1823p |int |magic_freeutf8 |NN SV *sv \
1824 |NN MAGIC *mg
a5dfa563
YO
1825p |int |magic_get |NN SV *sv \
1826 |NN MAGIC *mg
1827p |int |magic_getarylen|NN SV *sv \
1828 |NN const MAGIC *mg
b8837dad 1829p |int |magic_getdebugvar \
a5dfa563
YO
1830 |NN SV *sv \
1831 |NN MAGIC *mg
b8837dad 1832p |int |magic_getdefelem \
a5dfa563
YO
1833 |NN SV *sv \
1834 |NN MAGIC *mg
1835p |int |magic_getnkeys |NN SV *sv \
1836 |NN MAGIC *mg
1837p |int |magic_getpack |NN SV *sv \
1838 |NN MAGIC *mg
1839p |int |magic_getpos |NN SV *sv \
1840 |NN MAGIC *mg
1841p |int |magic_getsig |NN SV *sv \
1842 |NN MAGIC *mg
1843p |int |magic_getsubstr|NN SV *sv \
1844 |NN MAGIC *mg
1845p |int |magic_gettaint |NN SV *sv \
1846 |NN MAGIC *mg
1847p |int |magic_getuvar |NN SV *sv \
1848 |NN MAGIC *mg
1849p |int |magic_getvec |NN SV *sv \
1850 |NN MAGIC *mg
b8837dad
YO
1851: This is indirectly referenced by globals.c. This is somewhat annoying.
1852p |int |magic_killbackrefs \
1853 |NN SV *sv \
1854 |NN MAGIC *mg
d6a7165b 1855Fdop |SV * |magic_methcall |NN SV *sv \
b8837dad
YO
1856 |NN const MAGIC *mg \
1857 |NN SV *meth \
1858 |U32 flags \
1859 |U32 argc \
1860 |...
a5dfa563
YO
1861p |int |magic_nextpack |NN SV *sv \
1862 |NN MAGIC *mg \
1863 |NN SV *key
1864p |U32 |magic_regdata_cnt \
1865 |NN SV *sv \
1866 |NN MAGIC *mg
1867p |int |magic_regdatum_get \
1868 |NN SV *sv \
1869 |NN MAGIC *mg
b8837dad
YO
1870
1871: This is indirectly referenced by globals.c. This is somewhat annoying.
1872p |SV * |magic_scalarpack \
1873 |NN HV *hv \
1874 |NN MAGIC *mg
73758d77 1875:removing noreturn to silence a warning for this function resulted in no
f8d5a522
DD
1876:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits only because
1877:this is used in a magic vtable, do not use this on conventionally called funcs
a5dfa563
YO
1878p |int |magic_set |NN SV *sv \
1879 |NN MAGIC *mg
b8837dad 1880p |int |magic_set_all_env \
a5dfa563
YO
1881 |NN SV *sv \
1882 |NN MAGIC *mg
b8837dad 1883p |int |magic_setarylen|NN SV *sv \
a5dfa563
YO
1884 |NN MAGIC *mg
1885p |int |magic_setdbline|NN SV *sv \
1886 |NN MAGIC *mg
1887p |int |magic_setdebugvar \
1888 |NN SV *sv \
1889 |NN MAGIC *mg
1890p |int |magic_setdefelem \
1891 |NN SV *sv \
1892 |NN MAGIC *mg
a5dfa563
YO
1893p |int |magic_setenv |NN SV *sv \
1894 |NN MAGIC *mg
1895dp |int |magic_sethint |NN SV *sv \
1896 |NN MAGIC *mg
93f6f965
YO
1897p |int |magic_sethook |NULLOK SV *sv \
1898 |NN MAGIC *mg
1899p |int |magic_sethookall \
1900 |NN SV *sv \
1901 |NN MAGIC *mg
a5dfa563
YO
1902p |int |magic_setisa |NN SV *sv \
1903 |NN MAGIC *mg
1904p |int |magic_setlvref |NN SV *sv \
1905 |NN MAGIC *mg
1906p |int |magic_setmglob |NN SV *sv \
1907 |NN MAGIC *mg
a5dfa563
YO
1908p |int |magic_setnkeys |NN SV *sv \
1909 |NN MAGIC *mg
b8837dad
YO
1910p |int |magic_setnonelem \
1911 |NN SV *sv \
1912 |NN MAGIC *mg
a5dfa563
YO
1913p |int |magic_setpack |NN SV *sv \
1914 |NN MAGIC *mg
1915p |int |magic_setpos |NN SV *sv \
1916 |NN MAGIC *mg
1917p |int |magic_setregexp|NN SV *sv \
1918 |NN MAGIC *mg
a5dfa563
YO
1919p |int |magic_setsig |NULLOK SV *sv \
1920 |NN MAGIC *mg
b8837dad
YO
1921p |int |magic_setsigall|NN SV *sv \
1922 |NN MAGIC *mg
a5dfa563
YO
1923p |int |magic_setsubstr|NN SV *sv \
1924 |NN MAGIC *mg
1925p |int |magic_settaint |NN SV *sv \
1926 |NN MAGIC *mg
a5dfa563
YO
1927p |int |magic_setutf8 |NN SV *sv \
1928 |NN MAGIC *mg
b8837dad 1929p |int |magic_setuvar |NN SV *sv \
a5dfa563 1930 |NN MAGIC *mg
b8837dad 1931p |int |magic_setvec |NN SV *sv \
a5dfa563
YO
1932 |NN MAGIC *mg
1933p |U32 |magic_sizepack |NN SV *sv \
1934 |NN MAGIC *mg
1935p |int |magic_wipepack |NN SV *sv \
1936 |NN MAGIC *mg
b8837dad 1937
d6a7165b 1938CTadop |Malloc_t|malloc |MEM_SIZE nbytes
b90ac5ce 1939Cp |I32 * |markstack_grow
d6a7165b 1940EXp |int |mbtowc_ |NULLOK const wchar_t *pwc \
b8837dad
YO
1941 |NULLOK const char *s \
1942 |const Size_t len
d6a7165b 1943Adfp |SV * |mess |NN const char *pat \
a5dfa563 1944 |...
d6a7165b 1945Adp |SV * |mess_sv |NN SV *basemsg \
a5dfa563 1946 |bool consume
d6a7165b
YO
1947CTdop |Free_t |mfree |Malloc_t where
1948Adp |int |mg_clear |NN SV *sv
1949Adp |int |mg_copy |NN SV *sv \
a5dfa563
YO
1950 |NN SV *nsv \
1951 |NULLOK const char *key \
4048f010 1952 |I32 klen
d6a7165b 1953ARTdp |MAGIC *|mg_find |NULLOK const SV *sv \
a5dfa563 1954 |int type
d6a7165b 1955ARTdp |MAGIC *|mg_findext |NULLOK const SV *sv \
a5dfa563
YO
1956 |int type \
1957 |NULLOK const MGVTBL *vtbl
96c2a8ff 1958: exported for re.pm
d6a7165b
YO
1959ERXp |MAGIC *|mg_find_mglob |NN SV *sv
1960Adp |int |mg_free |NN SV *sv
1961Adp |void |mg_freeext |NN SV *sv \
a5dfa563
YO
1962 |int how \
1963 |NULLOK const MGVTBL *vtbl
d6a7165b 1964Adp |void |mg_free_type |NN SV *sv \
b8837dad 1965 |int how
d6a7165b 1966Adp |int |mg_get |NN SV *sv
b8837dad 1967: Defined in mg.c, used only in scope.c
d6a7165b 1968dp |void |mg_localize |NN SV *sv \
b8837dad
YO
1969 |NN SV *nsv \
1970 |bool setmagic
d6a7165b
YO
1971ATdp |void |mg_magical |NN SV *sv
1972Adp |int |mg_set |NN SV *sv
a5dfa563 1973Cp |I32 |mg_size |NN SV *sv
d6a7165b 1974ATdp |void |mini_mktime |NN struct tm *ptm
67022846 1975: Used in op.c and pp_sys.c
a5dfa563
YO
1976p |int |mode_from_discipline \
1977 |NULLOK const char *s \
1978 |STRLEN len
b8837dad
YO
1979
1980: Used in sv.c and hv.c
d6a7165b 1981Cop |void * |more_bodies |const svtype sv_type \
b8837dad
YO
1982 |const size_t body_size \
1983 |const size_t arena_size
a5dfa563
YO
1984Cp |const char *|moreswitches \
1985 |NN const char *s
2f920c2f
YO
1986Adp |void |mortal_destructor_sv \
1987 |NN SV *coderef \
1988 |NULLOK SV *args
d6a7165b 1989CRTXip |char * |mortal_getenv |NN const char *str
2f920c2f
YO
1990Cdp |void |mortal_svfunc_x|SVFUNC_t f \
1991 |NULLOK SV *p
d6a7165b 1992Adop |const struct mro_alg *|mro_get_from_name \
b8837dad 1993 |NN SV *name
d6a7165b 1994Adp |AV * |mro_get_linear_isa \
b8837dad
YO
1995 |NN HV *stash
1996
d6a7165b 1997Chop |SV * |mro_get_private_data \
b8837dad
YO
1998 |NN struct mro_meta * const smeta \
1999 |NN const struct mro_alg * const which
2000: Used in hv.c, mg.c, pp.c, sv.c
d6a7165b 2001dp |void |mro_isa_changed_in \
b8837dad
YO
2002 |NN HV *stash
2003: Used in HvMROMETA(), which is public.
d6a7165b 2004Xop |struct mro_meta *|mro_meta_init \
b8837dad 2005 |NN HV *stash
d6a7165b 2006Adp |void |mro_method_changed_in \
b8837dad 2007 |NN HV *stash
d6a7165b 2008dep |void |mro_package_moved \
b8837dad
YO
2009 |NULLOK HV * const stash \
2010 |NULLOK HV * const oldstash \
2011 |NN const GV * const gv \
2012 |U32 flags
d6a7165b
YO
2013Adop |void |mro_register |NN const struct mro_alg *mro
2014Adop |void |mro_set_mro |NN struct mro_meta * const meta \
b8837dad 2015 |NN SV * const name
d6a7165b 2016Adhop |SV * |mro_set_private_data \
b8837dad
YO
2017 |NN struct mro_meta * const smeta \
2018 |NN const struct mro_alg * const which \
2019 |NN SV * const data
d6a7165b 2020CRTip |unsigned|msbit_pos32 |U32 word
b8837dad
YO
2021EXp |SV * |multiconcat_stringify \
2022 |NN const OP *o
2023EXp |SV * |multideref_stringify \
2024 |NN const OP *o \
2025 |NULLOK CV *cv
d6a7165b
YO
2026Adp |NV |my_atof |NN const char *s
2027Cop |char * |my_atof2 |NN const char *orig \
b8837dad
YO
2028 |NN NV *value
2029Cp |char * |my_atof3 |NN const char *orig \
2030 |NN NV *value \
2031 |const STRLEN len
2032: Used in perly.y
2033p |OP * |my_attrs |NN OP *o \
2034 |NULLOK OP *attrs
2035
2036: Used in mg.c, sv.c
d6a7165b
YO
2037ep |void |my_clearenv
2038ATdp |int |my_dirfd |NULLOK DIR *dir
2039Adpr |void |my_exit |U32 status
2040Adpr |void |my_failure_exit
2041Cdp |I32 |my_fflush_all
2042CTdp |Pid_t |my_fork
b8837dad 2043m |I32 |my_lstat
d6a7165b
YO
2044Xp |I32 |my_lstat_flags |NULLOK const U32 flags
2045RTop |int |my_mkostemp_cloexec \
b8837dad
YO
2046 |NN char *templte \
2047 |int flags
d6a7165b 2048RTop |int |my_mkstemp_cloexec \
b8837dad 2049 |NN char *templte
d6a7165b 2050Cdp |PerlIO *|my_popen_list |NN const char *mode \
b8837dad
YO
2051 |int n \
2052 |NN SV **args
d6a7165b 2053Adp |void |my_setenv |NULLOK const char *nam \
b8837dad
YO
2054 |NULLOK const char *val
2055
d6a7165b 2056AMTdfp |int |my_snprintf |NN char *buffer \
b8837dad
YO
2057 |const Size_t len \
2058 |NN const char *format \
2059 |...
d6a7165b 2060CTdp |int |my_socketpair |int family \
b8837dad
YO
2061 |int type \
2062 |int protocol \
2063 |int fd[2]
2064m |I32 |my_stat
d6a7165b 2065Xp |I32 |my_stat_flags |NULLOK const U32 flags
b8837dad
YO
2066p |const char *|my_strerror \
2067 |const int errnum \
2068 |NN utf8ness_t *utf8ness
2069Adfp |char * |my_strftime |NN const char *fmt \
2070 |int sec \
2071 |int min \
2072 |int hour \
a5dfa563
YO
2073 |int mday \
2074 |int mon \
2075 |int year \
2076 |int wday \
2077 |int yday \
7b12ce91 2078 |int isdst
a5dfa563
YO
2079Adfp |char * |my_strftime8 |NN const char *fmt \
2080 |int sec \
2081 |int min \
2082 |int hour \
2083 |int mday \
2084 |int mon \
2085 |int year \
2086 |int wday \
2087 |int yday \
2088 |int isdst \
2089 |NULLOK utf8ness_t *utf8ness
d6a7165b 2090ARTdp |NV |my_strtod |NN const char * const s \
b8837dad 2091 |NULLOK char **e
67022846 2092: Used in pp_ctl.c
94bdecf9 2093p |void |my_unexec
d6a7165b 2094AMTdp |int |my_vsnprintf |NN char *buffer \
b8837dad
YO
2095 |const Size_t len \
2096 |NN const char *format \
2097 |va_list ap
2098Ap |OP * |newANONATTRSUB |I32 floor \
2099 |NULLOK OP *proto \
2100 |NULLOK OP *attrs \
2101 |NULLOK OP *block
d6a7165b
YO
2102ARp |OP * |newANONHASH |NULLOK OP *o
2103ARp |OP * |newANONLIST |NULLOK OP *o
a5dfa563
YO
2104Ap |OP * |newANONSUB |I32 floor \
2105 |NULLOK OP *proto \
2106 |NULLOK OP *block
d6a7165b 2107ARdp |OP * |newARGDEFELEMOP|I32 flags \
a5dfa563
YO
2108 |NN OP *expr \
2109 |I32 argindex
d6a7165b 2110ARdp |OP * |newASSIGNOP |I32 flags \
a5dfa563
YO
2111 |NULLOK OP *left \
2112 |I32 optype \
2113 |NULLOK OP *right
b8837dad
YO
2114Adm |CV * |newATTRSUB |I32 floor \
2115 |NULLOK OP *o \
2116 |NULLOK OP *proto \
2117 |NULLOK OP *attrs \
2118 |NULLOK OP *block
d6a7165b 2119Xdp |CV * |newATTRSUB_x |I32 floor \
b8837dad
YO
2120 |NULLOK OP *o \
2121 |NULLOK OP *proto \
2122 |NULLOK OP *attrs \
2123 |NULLOK OP *block \
2124 |bool o_is_gv
d6a7165b
YO
2125AMRbdp |AV * |newAV
2126ARdm |AV * |newAV_alloc_x |SSize_t size
2127ARdm |AV * |newAV_alloc_xz |SSize_t size
2128ARdp |AV * |newAVav |NULLOK AV *oav
2129ARdp |AV * |newAVhv |NULLOK HV *ohv
2130ARp |OP * |newAVREF |NN OP *o
2131ARdp |OP * |newBINOP |I32 type \
b8837dad
YO
2132 |I32 flags \
2133 |NULLOK OP *first \
2134 |NULLOK OP *last
d6a7165b 2135ARdp |OP * |newCONDOP |I32 flags \
a5dfa563
YO
2136 |NN OP *first \
2137 |NULLOK OP *trueop \
2138 |NULLOK OP *falseop
d6a7165b 2139Adp |CV * |newCONSTSUB |NULLOK HV *stash \
a5dfa563
YO
2140 |NULLOK const char *name \
2141 |NULLOK SV *sv
d6a7165b 2142Adp |CV * |newCONSTSUB_flags \
a5dfa563
YO
2143 |NULLOK HV *stash \
2144 |NULLOK const char *name \
2145 |STRLEN len \
2146 |U32 flags \
2147 |NULLOK SV *sv
d6a7165b 2148ARp |OP * |newCVREF |I32 flags \
b8837dad 2149 |NULLOK OP *o
d6a7165b 2150ARdpx |OP * |newDEFEROP |I32 flags \
b8837dad 2151 |NN OP *block
d6a7165b 2152ARdp |OP * |newDEFSVOP
a5dfa563
YO
2153Cp |void |newFORM |I32 floor \
2154 |NULLOK OP *o \
2155 |NULLOK OP *block
d6a7165b 2156ARdp |OP * |newFOROP |I32 flags \
a5dfa563
YO
2157 |NULLOK OP *sv \
2158 |NN OP *expr \
2159 |NULLOK OP *block \
2160 |NULLOK OP *cont
d6a7165b 2161ARdp |OP * |newGIVENOP |NN OP *cond \
a5dfa563
YO
2162 |NN OP *block \
2163 |PADOFFSET defsv_off
b8837dad 2164: Used in scope.c
d6a7165b
YO
2165eopx |GP * |newGP |NN GV * const gv
2166Adm |GV * |newGVgen |NN const char *pack
2167ARdp |GV * |newGVgen_flags |NN const char *pack \
a5dfa563 2168 |U32 flags
d6a7165b 2169ARdp |OP * |newGVOP |I32 type \
a5dfa563
YO
2170 |I32 flags \
2171 |NN GV *gv
d6a7165b 2172ARp |OP * |newGVREF |I32 type \
a5dfa563 2173 |NULLOK OP *o
d6a7165b
YO
2174AMRbdp |HV * |newHV
2175ARdp |HV * |newHVhv |NULLOK HV *hv
2176ARp |OP * |newHVREF |NN OP *o
2177AMRbdp |IO * |newIO
2178ARdp |OP * |newLISTOP |I32 type \
a5dfa563
YO
2179 |I32 flags \
2180 |NULLOK OP *first \
2181 |NULLOK OP *last
d6a7165b 2182ARdp |OP * |newLOGOP |I32 optype \
b8837dad
YO
2183 |I32 flags \
2184 |NN OP *first \
2185 |NN OP *other
d6a7165b 2186ARdp |OP * |newLOOPEX |I32 type \
b8837dad 2187 |NN OP *label
d6a7165b 2188ARdp |OP * |newLOOPOP |I32 flags \
b8837dad
YO
2189 |I32 debuggable \
2190 |NN OP *expr \
2191 |NULLOK OP *block
d6a7165b 2192ARdp |OP * |newMETHOP |I32 type \
b8837dad
YO
2193 |I32 flags \
2194 |NN OP *dynamic_meth
d6a7165b 2195ARdp |OP * |newMETHOP_named|I32 type \
b8837dad
YO
2196 |I32 flags \
2197 |NN SV * const_meth
2198Cp |CV * |newMYSUB |I32 floor \
2199 |NN OP *o \
2200 |NULLOK OP *proto \
2201 |NULLOK OP *attrs \
2202 |NULLOK OP *block
d6a7165b
YO
2203ARdp |OP * |newNULLLIST
2204ARdp |OP * |newOP |I32 optype \
b8837dad 2205 |I32 flags
d6a7165b 2206ARTdpx |PADNAMELIST *|newPADNAMELIST \
b8837dad 2207 |size_t max
d6a7165b 2208ARTdpx |PADNAME *|newPADNAMEouter \
a5dfa563 2209 |NN PADNAME *outer
d6a7165b 2210ARTdpx |PADNAME *|newPADNAMEpvn|NN const char *s \
a5dfa563 2211 |STRLEN len
d6a7165b 2212ARdip |OP * |newPADxVOP |I32 type \
a5dfa563
YO
2213 |I32 flags \
2214 |PADOFFSET padix
d6a7165b 2215ARdp |OP * |newPMOP |I32 type \
a5dfa563 2216 |I32 flags
b8837dad 2217Cp |void |newPROG |NN OP *o
d6a7165b 2218ARdp |OP * |newPVOP |I32 type \
a5dfa563
YO
2219 |I32 flags \
2220 |NULLOK char *pv
d6a7165b 2221ARdp |OP * |newRANGE |I32 flags \
b8837dad
YO
2222 |NN OP *left \
2223 |NN OP *right
d6a7165b
YO
2224ARdp |SV * |newRV |NN SV * const sv
2225ARdip |SV * |newRV_noinc |NN SV * const tmpRef
2226ARdp |OP * |newSLICEOP |I32 flags \
b8837dad
YO
2227 |NULLOK OP *subscript \
2228 |NULLOK OP *listop
d6a7165b 2229CRp |PERL_SI *|new_stackinfo|I32 stitems \
b8837dad 2230 |I32 cxitems
d6a7165b 2231ARdp |OP * |newSTATEOP |I32 flags \
b8837dad
YO
2232 |NULLOK char *label \
2233 |NULLOK OP *o
2234p |CV * |newSTUB |NN GV *gv \
2235 |bool fake
d6a7165b 2236AMbdp |CV * |newSUB |I32 floor \
b8837dad
YO
2237 |NULLOK OP *o \
2238 |NULLOK OP *proto \
2239 |NULLOK OP *block
d6a7165b
YO
2240ARdp |SV * |newSV |const STRLEN len
2241Rp |SV * |newSVavdefelem |NN AV *av \
a5dfa563
YO
2242 |SSize_t ix \
2243 |bool extendible
d6a7165b
YO
2244ARdp |SV * |newSVbool |const bool bool_val
2245ARdp |SV * |newSV_false
2246ARdp |SV * |newSVhek |NULLOK const HEK * const hek
2247ARdp |SV * |newSVhek_mortal|NULLOK const HEK * const hek
2248ARdp |SV * |newSViv |const IV i
2249ARdp |SV * |newSVnv |const NV n
2250ARdp |OP * |newSVOP |I32 type \
b8837dad
YO
2251 |I32 flags \
2252 |NN SV *sv
d6a7165b 2253ARdp |SV * |newSVpv |NULLOK const char * const s \
a5dfa563 2254 |const STRLEN len
d6a7165b 2255ARdfp |SV * |newSVpvf |NN const char * const pat \
b8837dad 2256 |...
d6a7165b 2257ARdp |SV * |newSVpvn |NULLOK const char * const buffer \
a5dfa563 2258 |const STRLEN len
d6a7165b 2259ARdp |SV * |newSVpvn_flags |NULLOK const char * const s \
a5dfa563
YO
2260 |const STRLEN len \
2261 |const U32 flags
d6a7165b 2262ARdp |SV * |newSVpvn_share |NULLOK const char *s \
a5dfa563
YO
2263 |I32 len \
2264 |U32 hash
d6a7165b 2265ARdp |SV * |newSVpv_share |NULLOK const char *s \
a5dfa563 2266 |U32 hash
d6a7165b
YO
2267ARp |OP * |newSVREF |NN OP *o
2268Adp |SV * |newSVrv |NN SV * const rv \
a5dfa563 2269 |NULLOK const char * const classname
d6a7165b
YO
2270AMRbdp |SV * |newSVsv |NULLOK SV * const old
2271ARdp |SV * |newSVsv_flags |NULLOK SV * const old \
a5dfa563 2272 |I32 flags
d6a7165b
YO
2273ARdm |SV * |newSVsv_nomg |NULLOK SV * const old
2274ARdp |SV * |newSV_true
2275ARdip |SV * |newSV_type |const svtype type
2276AIRdp |SV * |newSV_type_mortal \
a5dfa563 2277 |const svtype type
d6a7165b
YO
2278ARdp |SV * |newSVuv |const UV u
2279ARdpx |OP * |newTRYCATCHOP |I32 flags \
b8837dad
YO
2280 |NN OP *tryblock \
2281 |NN OP *catchvar \
2282 |NN OP *catchblock
d6a7165b 2283ARdp |OP * |newUNOP |I32 type \
a5dfa563
YO
2284 |I32 flags \
2285 |NULLOK OP *first
d6a7165b 2286ARdp |OP * |newUNOP_AUX |I32 type \
a5dfa563
YO
2287 |I32 flags \
2288 |NULLOK OP *first \
2f7c6295 2289 |NULLOK UNOP_AUX_item *aux
d6a7165b 2290Adp |SV * |new_version |NN SV *ver
b8837dad 2291: FIXME - exported for ByteLoader - public or private?
d6a7165b 2292ERXopx |char * |new_warnings_bitfield \
b8837dad
YO
2293 |NULLOK char *buffer \
2294 |NN const char * const bits \
2295 |STRLEN size
d6a7165b 2296ARdp |OP * |newWHENOP |NULLOK OP *cond \
a5dfa563 2297 |NN OP *block
d6a7165b 2298ARdp |OP * |newWHILEOP |I32 flags \
a5dfa563
YO
2299 |I32 debuggable \
2300 |NULLOK LOOP *loop \
2301 |NULLOK OP *expr \
2302 |NULLOK OP *block \
2303 |NULLOK OP *cont \
a034e688 2304 |I32 has_my
d6a7165b 2305AUdp |CV * |newXS |NULLOK const char *name \
b8837dad
YO
2306 |NN XSUBADDR_t subaddr \
2307 |NN const char *filename
d6a7165b 2308Xp |CV * |newXS_deffile |NN const char *name \
b8837dad
YO
2309 |NN XSUBADDR_t subaddr
2310Apx |CV * |newXS_flags |NULLOK const char *name \
2311 |NN XSUBADDR_t subaddr \
2312 |NN const char * const filename \
2313 |NULLOK const char * const proto \
2314 |U32 flags
d6a7165b 2315dp |CV * |newXS_len_flags|NULLOK const char *name \
b8837dad
YO
2316 |STRLEN len \
2317 |NN XSUBADDR_t subaddr \
2318 |NULLOK const char * const filename \
2319 |NULLOK const char * const proto \
2320 |NULLOK SV ** const_svp \
a5dfa563 2321 |U32 flags
67022846 2322: Used in pp_hot.c and pp_sys.c
a5dfa563
YO
2323p |PerlIO *|nextargv |NN GV *gv \
2324 |bool nomagicopen
d6a7165b 2325AMPTdp |char * |ninstr |NN const char *big \
a5dfa563
YO
2326 |NN const char *bigend \
2327 |NN const char *little \
2328 |NN const char *lend
b8837dad
YO
2329
2330p |void |no_bareword_filehandle \
2331 |NN const char *fhname
d6a7165b 2332Tefpr |void |noperl_die |NN const char *pat \
b8837dad
YO
2333 |...
2334Adp |int |nothreadhook
2335p |void |notify_parser_that_changed_to_utf8
67022846 2336: Used in perly.y
d6a7165b 2337Rp |OP * |oopsAV |NN OP *o
67022846 2338: Used in perly.y
d6a7165b
YO
2339Rp |OP * |oopsHV |NN OP *o
2340Adp |OP * |op_append_elem |I32 optype \
b8837dad
YO
2341 |NULLOK OP *first \
2342 |NULLOK OP *last
d6a7165b 2343Adp |OP * |op_append_list |I32 optype \
b8837dad
YO
2344 |NULLOK OP *first \
2345 |NULLOK OP *last
d6a7165b 2346Adp |OPclass|op_class |NULLOK const OP *o
b8837dad
YO
2347: FIXME. Used by Data::Alias
2348EXp |void |op_clear |NN OP *o
d6a7165b 2349Adp |OP * |op_contextualize \
b8837dad
YO
2350 |NN OP *o \
2351 |I32 context
2352: Used in perly.y
d6a7165b 2353ARdp |OP * |op_convert_list|I32 optype \
a5dfa563 2354 |I32 flags \
b8837dad 2355 |NULLOK OP *o
d6a7165b 2356Adp |void |op_dump |NN const OP *o
b8837dad 2357; Used in op.c and class.c
d6a7165b
YO
2358Adp |OP * |op_force_list |NULLOK OP *o
2359Adp |void |op_free |NULLOK OP *arg
2360Adp |OP * |op_linklist |NN OP *o
2361Admx |OP * |op_lvalue |NULLOK OP *o \
b8837dad 2362 |I32 type
d6a7165b 2363Xop |OP * |op_lvalue_flags|NULLOK OP *o \
a5dfa563 2364 |I32 type \
b8837dad
YO
2365 |U32 flags
2366: Used in various files
d6a7165b
YO
2367Adp |void |op_null |NN OP *o
2368ATdp |OP * |op_parent |NN OP *o
2369Adp |OP * |op_prepend_elem|I32 optype \
b8837dad
YO
2370 |NULLOK OP *first \
2371 |NULLOK OP *last
d6a7165b
YO
2372Cdp |void |op_refcnt_lock
2373Cdp |void |op_refcnt_unlock
2374Adpx |OP * |op_scope |NULLOK OP *o
2375ATdp |OP * |op_sibling_splice \
b8837dad
YO
2376 |NULLOK OP *parent \
2377 |NULLOK OP *start \
2378 |int del_count \
2379 |NULLOK OP *insert
d6a7165b
YO
2380px |OP * |op_unscope |NULLOK OP *o
2381ARdpx |OP * |op_wrap_finally|NN OP *block \
b8837dad
YO
2382 |NN OP *finally
2383: Used in perly.y
2384p |void |package |NN OP *o
2385: Used in perly.y
2386p |void |package_version|NN OP *v
d6a7165b 2387Adp |void |packlist |NN SV *cat \
a5dfa563
YO
2388 |NN const char *pat \
2389 |NN const char *patend \
2390 |NN SV **beglist \
2391 |NN SV **endlist
d6a7165b 2392Adp |PADOFFSET|pad_add_anon |NN CV *func \
b8837dad 2393 |I32 optype
d6a7165b 2394Adp |PADOFFSET|pad_add_name_pv \
b8837dad
YO
2395 |NN const char *name \
2396 |const U32 flags \
2397 |NULLOK HV *typestash \
2398 |NULLOK HV *ourstash
d6a7165b 2399Adp |PADOFFSET|pad_add_name_pvn \
b8837dad
YO
2400 |NN const char *namepv \
2401 |STRLEN namelen \
2402 |U32 flags \
2403 |NULLOK HV *typestash \
2404 |NULLOK HV *ourstash
d6a7165b 2405Adp |PADOFFSET|pad_add_name_sv \
b8837dad
YO
2406 |NN SV *name \
2407 |U32 flags \
2408 |NULLOK HV *typestash \
2409 |NULLOK HV *ourstash
2410p |void |pad_add_weakref|NN CV *func
d6a7165b 2411Adpx |PADOFFSET|pad_alloc |I32 optype \
b8837dad 2412 |U32 tmptype
d6a7165b
YO
2413dp |void |pad_block_start|int full
2414Adp |PADOFFSET|pad_findmy_pv|NN const char *name \
b8837dad 2415 |U32 flags
d6a7165b 2416Adp |PADOFFSET|pad_findmy_pvn \
b8837dad
YO
2417 |NN const char *namepv \
2418 |STRLEN namelen \
2419 |U32 flags
d6a7165b 2420Adp |PADOFFSET|pad_findmy_sv|NN SV *name \
b8837dad 2421 |U32 flags
d6a7165b 2422dp |void |pad_fixup_inner_anons \
b8837dad
YO
2423 |NN PADLIST *padlist \
2424 |NN CV *old_cv \
2425 |NN CV *new_cv
d6a7165b
YO
2426dp |void |pad_free |PADOFFSET po
2427dp |OP * |pad_leavemy
b8837dad
YO
2428p |PAD ** |padlist_store |NN PADLIST *padlist \
2429 |I32 key \
2430 |NULLOK PAD *val
2431Xop |void |padname_free |NN PADNAME *pn
d6a7165b 2432ARTdpx |PADNAME *|padnamelist_fetch \
b8837dad
YO
2433 |NN PADNAMELIST *pnl \
2434 |SSize_t key
2435Xop |void |padnamelist_free \
2436 |NN PADNAMELIST *pnl
d6a7165b 2437Adpx |PADNAME **|padnamelist_store \
b8837dad
YO
2438 |NN PADNAMELIST *pnl \
2439 |SSize_t key \
2440 |NULLOK PADNAME *val
93b32b6d 2441
b8837dad 2442: pad API
d6a7165b
YO
2443ARdp |PADLIST *|pad_new |int flags
2444Xdp |void |pad_push |NN PADLIST *padlist \
b8837dad 2445 |int depth
d6a7165b 2446dp |void |pad_swipe |PADOFFSET po \
b8837dad 2447 |bool refadjust
d6a7165b 2448Adpx |void |pad_tidy |padtidy_type type
b8837dad 2449: Public parser API
d6a7165b
YO
2450Adpx |OP * |parse_arithexpr|U32 flags
2451Adpx |OP * |parse_barestmt |U32 flags
2452Adpx |OP * |parse_block |U32 flags
2453Adpx |OP * |parse_fullexpr |U32 flags
2454Adpx |OP * |parse_fullstmt |U32 flags
2455Adpx |SV * |parse_label |U32 flags
2456Adpx |OP * |parse_listexpr |U32 flags
b8837dad
YO
2457: Only used in scope.c
2458p |void |parser_free |NN const yy_parser *parser
d6a7165b
YO
2459Adpx |OP * |parse_stmtseq |U32 flags
2460Adpx |OP * |parse_subsignature \
b8837dad 2461 |U32 flags
d6a7165b 2462Adpx |OP * |parse_termexpr |U32 flags
b8837dad
YO
2463: Used in locale.c and perl.c
2464p |U32 |parse_unicode_opts \
2465 |NN const char **popt
6379d4a9 2466
b8837dad
YO
2467: peephole optimiser
2468p |void |peep |NULLOK OP *o
2469
d6a7165b
YO
2470ATdo |PerlInterpreter *|perl_alloc
2471ATdo |void |perl_construct |NN PerlInterpreter *my_perl
b8837dad
YO
2472
2473: The reason for the 'u' flag is that this passes "aTHX_ x" to its callee: not
2474: a legal C parameter
2475Admu |const XOP *|Perl_custom_op_xop \
2476 |NN const OP *o
d6a7165b
YO
2477ATdo |int |perl_destruct |NN PerlInterpreter *my_perl
2478ATdo |void |perl_free |NN PerlInterpreter *my_perl
b8837dad
YO
2479
2480Cop |const char *|PerlIO_context_layers \
2481 |NULLOK const char *mode
2482p |int |PerlLIO_dup2_cloexec \
2483 |int oldfd \
2484 |int newfd
d6a7165b 2485Rp |int |PerlLIO_dup_cloexec \
b8837dad 2486 |int oldfd
d6a7165b 2487Rp |int |PerlLIO_open3_cloexec \
b8837dad
YO
2488 |NN const char *file \
2489 |int flag \
2490 |int perm
d6a7165b 2491Rp |int |PerlLIO_open_cloexec \
b8837dad
YO
2492 |NN const char *file \
2493 |int flag
2494Ado |HV * |Perl_localeconv
d6a7165b 2495ATdo |int |perl_parse |NN PerlInterpreter *my_perl \
b8837dad
YO
2496 |XSINIT_t xsinit \
2497 |int argc \
2498 |NULLOK char **argv \
2499 |NULLOK char **env
d6a7165b 2500ATdo |int |perl_run |NN PerlInterpreter *my_perl
b8837dad
YO
2501ATdo |const char *|Perl_setlocale \
2502 |const int category \
2503 |NULLOK const char *locale
2504CTp |Signal_t|perly_sighandler \
2505 |int sig \
2506 |NULLOK Siginfo_t *info \
2507 |NULLOK void *uap \
2508 |bool safe
2509
d6a7165b 2510Adm |const char * const|phase_name \
b8837dad 2511 |enum perl_phase
d6a7165b 2512Adp |void |pmop_dump |NULLOK PMOP *pm
b8837dad
YO
2513: Used in perly.y
2514p |OP * |pmruntime |NN OP *o \
2515 |NN OP *expr \
2516 |NULLOK OP *repl \
2517 |UV flags \
2518 |I32 floor
2519Xiop |I32 |POPMARK
d6a7165b 2520Cdp |void |pop_scope
b8837dad
YO
2521
2522: Used in perl.c and toke.c
2523Fop |void |populate_isa |NN const char *name \
2524 |STRLEN len \
2525 |...
d6a7165b 2526Adhp |REGEXP *|pregcomp |NN SV * const pattern \
b8837dad 2527 |const U32 flags
d6a7165b 2528Adhp |I32 |pregexec |NN REGEXP * const prog \
b8837dad
YO
2529 |NN char *stringarg \
2530 |NN char *strend \
2531 |NN char *strbeg \
2532 |SSize_t minend \
2533 |NN SV *screamer \
2534 |U32 nosave
2535Cp |void |pregfree |NULLOK REGEXP *r
2536Cp |void |pregfree2 |NN REGEXP *rx
d6a7165b 2537Adp |const char *|prescan_version \
b8837dad
YO
2538 |NN const char *s \
2539 |bool strict \
2540 |NULLOK const char **errstr \
2541 |NULLOK bool *sqv \
2542 |NULLOK int *ssaw_decimal \
2543 |NULLOK int *swidth \
2544 |NULLOK bool *salpha
d6a7165b 2545ARdp |void * |ptr_table_fetch|NN PTR_TBL_t * const tbl \
b8837dad 2546 |NULLOK const void * const sv
d6a7165b
YO
2547Adp |void |ptr_table_free |NULLOK PTR_TBL_t * const tbl
2548ARdp |PTR_TBL_t *|ptr_table_new
2549Adp |void |ptr_table_split|NN PTR_TBL_t * const tbl
2550Adp |void |ptr_table_store|NN PTR_TBL_t * const tbl \
b8837dad
YO
2551 |NULLOK const void * const oldsv \
2552 |NN void * const newsv
d6a7165b
YO
2553Cdp |void |push_scope
2554Adp |char * |pv_display |NN SV *dsv \
b8837dad
YO
2555 |NN const char *pv \
2556 |STRLEN cur \
a5dfa563 2557 |STRLEN len \
b8837dad 2558 |STRLEN pvlim
d6a7165b 2559Adp |char * |pv_escape |NULLOK SV *dsv \
b8837dad
YO
2560 |NN char const * const str \
2561 |const STRLEN count \
2562 |STRLEN max \
2563 |NULLOK STRLEN * const escaped \
a5dfa563 2564 |U32 flags
d6a7165b 2565Adp |char * |pv_pretty |NN SV *dsv \
b8837dad
YO
2566 |NN char const * const str \
2567 |const STRLEN count \
2568 |const STRLEN max \
2569 |NULLOK char const * const start_color \
2570 |NULLOK char const * const end_color \
2571 |const U32 flags
d6a7165b 2572Adp |char * |pv_uni_display |NN SV *dsv \
b8837dad
YO
2573 |NN const U8 *spv \
2574 |STRLEN len \
2575 |STRLEN pvlim \
2576 |UV flags
2577: FIXME - either make it public, or stop exporting it. (Data::Alias uses this)
2578: Used in gv.c, op.c, toke.c
8a849141 2579EXp |void |qerror |NULLOK SV *err
d6a7165b
YO
2580Adp |char * |rcpv_copy |NULLOK char * const pv
2581Adp |char * |rcpv_free |NULLOK char * const pv
2582Aadp |char * |rcpv_new |NULLOK const char * const pv \
b8837dad
YO
2583 |STRLEN len \
2584 |U32 flags
d6a7165b 2585CRTdop |Malloc_t|realloc |Malloc_t where \
b8837dad 2586 |MEM_SIZE nbytes
d6a7165b
YO
2587CTiop |struct regexp *|ReANY |NN const REGEXP * const re
2588Adp |REGEXP *|re_compile |NN SV * const pattern \
b8837dad
YO
2589 |U32 orig_rx_flags
2590Cp |void |reentrant_free
2591Cp |void |reentrant_init
2592CFTp |void * |reentrant_retry|NN const char *f \
2593 |...
2594
2595Cp |void |reentrant_size
d6a7165b 2596Xdp |HV * |refcounted_he_chain_2hv \
b8837dad
YO
2597 |NULLOK const struct refcounted_he *c \
2598 |U32 flags
d6a7165b 2599Xdp |SV * |refcounted_he_fetch_pv \
b8837dad
YO
2600 |NULLOK const struct refcounted_he *chain \
2601 |NN const char *key \
2602 |U32 hash \
2603 |U32 flags
d6a7165b 2604Xdp |SV * |refcounted_he_fetch_pvn \
b8837dad
YO
2605 |NULLOK const struct refcounted_he *chain \
2606 |NN const char *keypv \
2607 |STRLEN keylen \
2608 |U32 hash \
2609 |U32 flags
d6a7165b 2610Xdp |SV * |refcounted_he_fetch_sv \
b8837dad
YO
2611 |NULLOK const struct refcounted_he *chain \
2612 |NN SV *key \
2613 |U32 hash \
2614 |U32 flags
d6a7165b 2615Xdp |void |refcounted_he_free \
b8837dad 2616 |NULLOK struct refcounted_he *he
d6a7165b 2617Xdp |struct refcounted_he *|refcounted_he_inc \
b8837dad 2618 |NULLOK struct refcounted_he *he
d6a7165b 2619Xdp |struct refcounted_he *|refcounted_he_new_pv \
b8837dad
YO
2620 |NULLOK struct refcounted_he *parent \
2621 |NN const char *key \
2622 |U32 hash \
2623 |NULLOK SV *value \
2624 |U32 flags
d6a7165b 2625Xdp |struct refcounted_he *|refcounted_he_new_pvn \
b8837dad
YO
2626 |NULLOK struct refcounted_he *parent \
2627 |NN const char *keypv \
2628 |STRLEN keylen \
2629 |U32 hash \
2630 |NULLOK SV *value \
2631 |U32 flags
d6a7165b 2632Xdp |struct refcounted_he *|refcounted_he_new_sv \
b8837dad
YO
2633 |NULLOK struct refcounted_he *parent \
2634 |NN SV *key \
2635 |U32 hash \
2636 |NULLOK SV *value \
2637 |U32 flags
2638Cp |void |regdump |NN const regexp *r
2639Cp |I32 |regexec_flags |NN REGEXP * const rx \
2640 |NN char *stringarg \
2641 |NN char *strend \
2642 |NN char *strbeg \
2643 |SSize_t minend \
2644 |NN SV *sv \
2645 |NULLOK void *data \
2646 |U32 flags
2647Cp |void |regfree_internal \
2648 |NN REGEXP * const rx
2649Cp |void |reginitcolors
2650EXp |SV * |reg_named_buff |NN REGEXP * const rx \
2651 |NULLOK SV * const key \
2652 |NULLOK SV * const value \
2653 |const U32 flags
2654Cp |SV * |reg_named_buff_all \
2655 |NN REGEXP * const rx \
2656 |const U32 flags
2657Cp |bool |reg_named_buff_exists \
2658 |NN REGEXP * const rx \
2659 |NN SV * const key \
2660 |const U32 flags
2661Cp |SV * |reg_named_buff_fetch \
2662 |NN REGEXP * const rx \
2663 |NN SV * const namesv \
2664 |const U32 flags
2665Cp |SV * |reg_named_buff_firstkey \
2666 |NN REGEXP * const rx \
2667 |const U32 flags
2668EXp |SV * |reg_named_buff_iter \
2669 |NN REGEXP * const rx \
2670 |NULLOK const SV * const lastkey \
2671 |const U32 flags
2672Cp |SV * |reg_named_buff_nextkey \
2673 |NN REGEXP * const rx \
2674 |const U32 flags
2675Cp |SV * |reg_named_buff_scalar \
2676 |NN REGEXP * const rx \
2677 |const U32 flags
2678: FIXME - is anything in re using this now?
2679EXp |void |reg_numbered_buff_fetch \
2680 |NN REGEXP * const re \
2681 |const I32 paren \
2682 |NULLOK SV * const sv
2683
2684: FIXME - is anything in re using this now?
2685EXp |void |reg_numbered_buff_fetch_flags \
2686 |NN REGEXP * const re \
2687 |const I32 paren \
2688 |NULLOK SV * const sv \
2689 |U32 flags
2690: FIXME - is anything in re using this now?
2691EXp |I32 |reg_numbered_buff_length \
2692 |NN REGEXP * const rx \
2693 |NN const SV * const sv \
2694 |const I32 paren
2695: FIXME - is anything in re using this now?
2696EXp |void |reg_numbered_buff_store \
2697 |NN REGEXP * const rx \
2698 |const I32 paren \
2699 |NULLOK SV const * const value
2700
2701: FIXME - is anything in re using this now?
2702EXp |SV * |reg_qr_package |NN REGEXP * const rx
2703: FIXME - is anything in re using this now?
2704EXp |REGEXP *|reg_temp_copy |NULLOK REGEXP *dsv \
2705 |NN REGEXP *ssv
2706Cp |char * |re_intuit_start|NN REGEXP * const rx \
2707 |NULLOK SV *sv \
2708 |NN const char * const strbeg \
2709 |NN char *strpos \
2710 |NN char *strend \
2711 |const U32 flags \
2712 |NULLOK re_scream_pos_data *data
2713Cp |SV * |re_intuit_string \
2714 |NN REGEXP * const r
2715Xp |REGEXP *|re_op_compile |NULLOK SV ** const patternp \
2716 |int pat_count \
2717 |NULLOK OP *expr \
2718 |NN const regexp_engine *eng \
2719 |NULLOK REGEXP *old_re \
2720 |NULLOK bool *is_bare_re \
2721 |const U32 rx_flags \
2722 |const U32 pm_flags
2723
d6a7165b 2724ATdp |void |repeatcpy |NN char *to \
b8837dad
YO
2725 |NN const char *from \
2726 |I32 len \
2727 |IV count
2728: Used in doio.c, pp_hot.c, pp_sys.c
2729p |void |report_evil_fh |NULLOK const GV *gv
2730: Used in mg.c, pp.c, pp_hot.c, regcomp.c
d6a7165b 2731EXdp |void |report_uninit |NULLOK const SV *uninit_sv
b8837dad
YO
2732: Used in doio.c, pp_hot.c, pp_sys.c
2733p |void |report_wrongway_fh \
2734 |NULLOK const GV *gv \
2735 |const char have
d6a7165b 2736AOdp |void |require_pv |NN const char *pv
b8837dad
YO
2737AMp |void |resume_compcv |NN struct suspended_compcv *buffer \
2738 |bool save
d6a7165b 2739dm |void |resume_compcv_and_save \
b8837dad 2740 |NN struct suspended_compcv *buffer
d6a7165b 2741dm |void |resume_compcv_final \
b8837dad 2742 |NN struct suspended_compcv *buffer
d6a7165b 2743APTdp |char * |rninstr |NN const char *big \
b8837dad
YO
2744 |NN const char *bigend \
2745 |NN const char *little \
2746 |NN const char *lend
2747p |void |rpeep |NULLOK OP *o
d6a7165b 2748Adp |Sighandler_t|rsignal |int i \
b8837dad
YO
2749 |Sighandler_t t
2750: Used in pp_sys.c
2751p |int |rsignal_restore|int i \
2752 |NULLOK Sigsave_t *t
2753: Used in pp_sys.c
2754p |int |rsignal_save |int i \
2755 |Sighandler_t t1 \
2756 |NN Sigsave_t *save
d6a7165b 2757Adp |Sighandler_t|rsignal_state \
b8837dad 2758 |int i
d6a7165b
YO
2759Cdhp |int |runops_debug
2760Cdhp |int |runops_standard
2761Adp |CV * |rv2cv_op_cv |NN OP *cvop \
b8837dad
YO
2762 |U32 flags
2763: Used in pp_hot.c
2764p |void |rxres_save |NN void **rsp \
2765 |NN REGEXP *rx
d6a7165b 2766ATadp |Malloc_t|safesyscalloc |MEM_SIZE elements \
b8837dad 2767 |MEM_SIZE size
d6a7165b
YO
2768ATdp |Free_t |safesysfree |Malloc_t where
2769ATadp |Malloc_t|safesysmalloc |MEM_SIZE nbytes
2770ARTdp |Malloc_t|safesysrealloc|Malloc_t where \
b8837dad 2771 |MEM_SIZE nbytes
d6a7165b 2772Cdp |void |save_adelete |NN AV *av \
b8837dad 2773 |SSize_t key
d6a7165b 2774Adm |void |save_aelem |NN AV *av \
b8837dad
YO
2775 |SSize_t idx \
2776 |NN SV **sptr
d6a7165b 2777Adp |void |save_aelem_flags \
b8837dad
YO
2778 |NN AV *av \
2779 |SSize_t idx \
2780 |NN SV **sptr \
2781 |const U32 flags
d6a7165b 2782Cdp |SSize_t|save_alloc |SSize_t size \
b8837dad 2783 |I32 pad
d6a7165b
YO
2784Adhp |void |save_aptr |NN AV **aptr
2785Adhp |AV * |save_ary |NN GV *gv
b8837dad
YO
2786Cp |void |save_bool |NN bool *boolp
2787Cp |void |save_clearsv |NN SV **svp
2788Cp |void |save_delete |NN HV *hv \
2789 |NN char *key \
2790 |I32 klen
2791Cp |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f \
2792 |NN void *p
2793Cp |void |save_destructor_x \
2794 |DESTRUCTORFUNC_t f \
2795 |NULLOK void *p
2796: Used in SAVEFREOP(), used in op.c, pp_ctl.c
d6a7165b
YO
2797CMbp |void |save_freeop |NULLOK OP *o
2798CMbp |void |save_freepv |NULLOK char *pv
624f6f53 2799Cdp |void |save_freercpv |NN char *rcpv
d6a7165b
YO
2800CMbp |void |save_freesv |NULLOK SV *sv
2801Cdp |void |save_generic_pvref \
b8837dad 2802 |NN char **str
d6a7165b 2803Cdp |void |save_generic_svref \
b8837dad 2804 |NN SV **sptr
a5dfa563
YO
2805Adp |void |save_gp |NN GV *gv \
2806 |I32 empty
d6a7165b
YO
2807Adhp |HV * |save_hash |NN GV *gv
2808Cdp |void |save_hdelete |NN HV *hv \
b8837dad 2809 |NN SV *keysv
d6a7165b 2810Adm |void |save_helem |NN HV *hv \
a5dfa563
YO
2811 |NN SV *key \
2812 |NN SV **sptr
d6a7165b 2813Adp |void |save_helem_flags \
a5dfa563
YO
2814 |NN HV *hv \
2815 |NN SV *key \
2816 |NN SV **sptr \
2817 |const U32 flags
d6a7165b
YO
2818Cdp |void |save_hints
2819Adhp |void |save_hptr |NN HV **hptr
a5dfa563
YO
2820Cp |void |save_I16 |NN I16 *intp
2821Cp |void |save_I32 |NN I32 *intp
2822Cp |void |save_I8 |NN I8 *bytep
2823Cp |void |save_int |NN int *intp
d6a7165b 2824Adhp |void |save_item |NN SV *item
c3c93274 2825Cp |void |save_iv |NN IV *ivp
d6a7165b 2826CMbp |void |save_mortalizesv \
a5dfa563 2827 |NN SV *sv
67022846 2828: Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
d6a7165b
YO
2829CMbdp |void |save_op
2830Cdp |void |save_padsv_and_mortalize \
a5dfa563 2831 |PADOFFSET off
b8837dad 2832Cp |void |save_pptr |NN char **pptr
a5dfa563
YO
2833Cp |void |save_pushi32ptr|const I32 i \
2834 |NULLOK void * const ptr \
2835 |const int type
d6a7165b 2836Cdp |void |save_pushptr |NULLOK void * const ptr \
b8837dad 2837 |const int type
dfcd3de5 2838: Used by SAVESWITCHSTACK() in pp.c
a5dfa563
YO
2839Cp |void |save_pushptrptr|NULLOK void * const ptr1 \
2840 |NULLOK void * const ptr2 \
2841 |const int type
89ecfcd1
KW
2842Aadip |char * |savepv |NULLOK const char *pv
2843Aadip |char * |savepvn |NULLOK const char *pv \
b8837dad 2844 |Size_t len
624f6f53 2845Cdp |void |save_rcpv |NN char **prcpv
b8837dad 2846Cp |void |save_re_context
d6a7165b
YO
2847Adhp |SV * |save_scalar |NN GV *gv
2848Cdp |void |save_set_svflags \
a5dfa563 2849 |NN SV *sv \
b8837dad
YO
2850 |U32 mask \
2851 |U32 val
d6a7165b 2852Aadp |char * |savesharedpv |NULLOK const char *pv
1754c1a1 2853
b8837dad 2854: NULLOK only to suppress a compiler warning
d6a7165b 2855Aadp |char * |savesharedpvn |NULLOK const char * const pv \
b8837dad 2856 |const STRLEN len
d6a7165b 2857Cdp |void |save_shared_pvref \
b8837dad 2858 |NN char **str
89ecfcd1 2859Aadip |char * |savesharedsvpv |NN SV *sv
b8837dad
YO
2860Cp |void |save_sptr |NN SV **sptr
2861Cp |void |savestack_grow
2862Cp |void |savestack_grow_cnt \
2863 |I32 need
2864Xp |void |save_strlen |NN STRLEN *ptr
89ecfcd1 2865Aadip |char * |savesvpv |NN SV *sv
d6a7165b
YO
2866Adhp |SV * |save_svref |NN SV **sptr
2867Aopx |void |savetmps
2868Cdp |void |save_vptr |NN void *ptr
b8837dad
YO
2869: Used in perly.y
2870p |OP * |sawparens |NULLOK OP *o
2871: Used in perly.y
2872p |OP * |scalar |NULLOK OP *o
2873: Used in pp_ctl.c
2874p |OP * |scalarvoid |NN OP *o
d6a7165b 2875Adp |NV |scan_bin |NN const char *start \
a5dfa563 2876 |STRLEN len \
b8837dad 2877 |NN STRLEN *retlen
d6a7165b 2878Adp |NV |scan_hex |NN const char *start \
a5dfa563 2879 |STRLEN len \
b8837dad
YO
2880 |NN STRLEN *retlen
2881Cp |char * |scan_num |NN const char *s \
2882 |NN YYSTYPE *lvalp
d6a7165b 2883Adp |NV |scan_oct |NN const char *start \
a5dfa563 2884 |STRLEN len \
b8837dad
YO
2885 |NN STRLEN *retlen
2886
2887: For use ONLY in B::Hooks::Parser, by special dispensation
d6a7165b 2888ERXpx |char * |scan_str |NN char *start \
b8837dad
YO
2889 |int keep_quoted \
2890 |int keep_delims \
2891 |int re_reparse \
2892 |NULLOK char **delimp
d6a7165b 2893Adp |const char *|scan_version \
b8837dad
YO
2894 |NN const char *s \
2895 |NN SV *rv \
2896 |bool qv
d6a7165b 2897Adp |char * |scan_vstring |NN const char *s \
b8837dad
YO
2898 |NN const char * const e \
2899 |NN SV *sv
2900EXpx |char * |scan_word |NN char *s \
2901 |NN char *dest \
2902 |STRLEN destlen \
2903 |int allow_package \
2904 |NN STRLEN *slp \
2905 |bool warn_tick
2906Cp |U32 |seed
2907: Only used by perl.c/miniperl.c, but defined in caretx.c
d6a7165b
YO
2908ep |void |set_caret_X
2909CTdp |void |set_context |NN void *t
2910Adp |void |setdefout |NN GV *gv
2911Tp |void |setfd_cloexec |int fd
b8837dad
YO
2912p |void |setfd_cloexec_for_nonsysfd \
2913 |int fd
2914p |void |setfd_cloexec_or_inhexec_by_sysfdness \
2915 |int fd
d6a7165b 2916Tp |void |setfd_inhexec |int fd
b8837dad
YO
2917p |void |setfd_inhexec_for_sysfd \
2918 |int fd
2919Xp |void |set_numeric_standard
2920Xp |void |set_numeric_underlying
2921Cp |HEK * |share_hek |NN const char *str \
2922 |SSize_t len \
2923 |U32 hash
2924Tp |Signal_t|sighandler1 |int sig
2925Tp |Signal_t|sighandler3 |int sig \
2926 |NULLOK Siginfo_t *info \
2927 |NULLOK void *uap
d6a7165b 2928CRTip |unsigned|single_1bit_pos32 \
b8837dad 2929 |U32 word
d6a7165b 2930ERXpx |char * |skipspace_flags|NN char *s \
a5dfa563 2931 |U32 flags
d6a7165b 2932RXp |void * |Slab_Alloc |size_t sz
b8837dad 2933Xp |void |Slab_Free |NN void *op
d6a7165b 2934Adp |void |sortsv |NULLOK SV **array \
b8837dad
YO
2935 |size_t num_elts \
2936 |NN SVCOMPARE_t cmp
d6a7165b 2937Adp |void |sortsv_flags |NULLOK SV **array \
b8837dad
YO
2938 |size_t num_elts \
2939 |NN SVCOMPARE_t cmp \
2940 |U32 flags
2941Cp |SV ** |stack_grow |NN SV **sp \
2942 |NN SV **p \
2943 |SSize_t n
2944: Defined in doio.c, used only in pp_hot.c
2945dopx |PerlIO *|start_glob |NN SV *tmpglob \
2946 |NN IO *io
d6a7165b 2947Adp |I32 |start_subparse |I32 is_format \
b8837dad 2948 |U32 flags
d6a7165b 2949CRp |NV |str_to_version |NN SV *sv
b8837dad
YO
2950: Used in pp_ctl.c
2951p |void |sub_crush_depth|NN CV *cv
d6a7165b
YO
2952Adp |void |suspend_compcv |NN struct suspended_compcv *buffer
2953ATdip |void |SvAMAGIC_off |NN SV *sv
2954ATdip |void |SvAMAGIC_on |NN SV *sv
2955ATdp |void |sv_backoff |NN SV * const sv
2956Adp |SV * |sv_bless |NN SV * const sv \
b8837dad 2957 |NN HV * const stash
d6a7165b
YO
2958CMbdp |bool |sv_2bool |NN SV * const sv
2959Cdp |bool |sv_2bool_flags |NN SV *sv \
b8837dad 2960 |I32 flags
d6a7165b 2961Adp |bool |sv_cat_decode |NN SV *dsv \
b8837dad
YO
2962 |NN SV *encoding \
2963 |NN SV *ssv \
2964 |NN int *offset \
2965 |NN char *tstr \
2966 |int tlen
d6a7165b 2967Adp |void |sv_catpv |NN SV * const dsv \
b8837dad 2968 |NULLOK const char *sstr
d6a7165b 2969Adfp |void |sv_catpvf |NN SV * const sv \
a5dfa563
YO
2970 |NN const char * const pat \
2971 |...
d6a7165b 2972Adp |void |sv_catpv_flags |NN SV *dsv \
b8837dad
YO
2973 |NN const char *sstr \
2974 |const I32 flags
d6a7165b 2975Adfp |void |sv_catpvf_mg |NN SV * const sv \
a5dfa563 2976 |NN const char * const pat \
b8837dad 2977 |...
d6a7165b 2978Adp |void |sv_catpv_mg |NN SV * const dsv \
a5dfa563 2979 |NULLOK const char * const sstr
d6a7165b 2980AMbdp |void |sv_catpvn |NN SV *dsv \
b8837dad
YO
2981 |NN const char *sstr \
2982 |STRLEN len
d6a7165b 2983Adp |void |sv_catpvn_flags|NN SV * const dsv \
b8837dad
YO
2984 |NN const char *sstr \
2985 |const STRLEN len \
2986 |const I32 flags
d6a7165b 2987AMbdp |void |sv_catpvn_mg |NN SV *dsv \
a5dfa563
YO
2988 |NN const char *sstr \
2989 |STRLEN len
d6a7165b 2990AMbdp |void |sv_catsv |NN SV *dsv \
b8837dad 2991 |NULLOK SV *sstr
d6a7165b 2992Adp |void |sv_catsv_flags |NN SV * const dsv \
b8837dad
YO
2993 |NULLOK SV * const sstr \
2994 |const I32 flags
d6a7165b 2995AMbdp |void |sv_catsv_mg |NN SV *dsv \
a5dfa563 2996 |NULLOK SV *sstr
d6a7165b 2997Adp |void |sv_chop |NN SV * const sv \
a5dfa563 2998 |NULLOK const char * const ptr
b8837dad 2999: Used only in perl.c
d6a7165b 3000dp |I32 |sv_clean_all
b8837dad 3001: Used only in perl.c
d6a7165b
YO
3002dp |void |sv_clean_objs
3003Adp |void |sv_clear |NN SV * const orig_sv
3004AMdp |I32 |sv_cmp |NULLOK SV * const sv1 \
b8837dad 3005 |NULLOK SV * const sv2
d6a7165b 3006Adp |I32 |sv_cmp_flags |NULLOK SV * const sv1 \
b8837dad
YO
3007 |NULLOK SV * const sv2 \
3008 |const U32 flags
d6a7165b 3009AMdp |I32 |sv_cmp_locale |NULLOK SV * const sv1 \
b8837dad 3010 |NULLOK SV * const sv2
d6a7165b 3011Adp |I32 |sv_cmp_locale_flags \
b8837dad
YO
3012 |NULLOK SV * const sv1 \
3013 |NULLOK SV * const sv2 \
3014 |const U32 flags
d6a7165b 3015AMbdp |void |sv_copypv |NN SV * const dsv \
b8837dad 3016 |NN SV * const ssv
d6a7165b 3017Adp |void |sv_copypv_flags|NN SV * const dsv \
b8837dad
YO
3018 |NN SV * const ssv \
3019 |const I32 flags
d6a7165b 3020Adm |void |sv_copypv_nomg |NN SV * const dsv \
b8837dad 3021 |NN SV * const ssv
d6a7165b 3022Adp |CV * |sv_2cv |NULLOK SV *sv \
b8837dad
YO
3023 |NN HV ** const st \
3024 |NN GV ** const gvp \
3025 |const I32 lref
d6a7165b
YO
3026Adp |void |sv_dec |NULLOK SV * const sv
3027Adp |void |sv_dec_nomg |NULLOK SV * const sv
b8837dad 3028
d6a7165b 3029Xp |void |sv_del_backref |NN SV * const tsv \
b8837dad 3030 |NN SV * const sv
d6a7165b 3031ARdp |bool |sv_derived_from|NN SV *sv \
b8837dad 3032 |NN const char * const name
d6a7165b 3033ARdp |bool |sv_derived_from_hv \
b8837dad
YO
3034 |NN SV *sv \
3035 |NN HV *hv
d6a7165b 3036ARdp |bool |sv_derived_from_pv \
b8837dad
YO
3037 |NN SV *sv \
3038 |NN const char * const name \
923d5d21 3039 |U32 flags
d6a7165b 3040ARdp |bool |sv_derived_from_pvn \
b8837dad
YO
3041 |NN SV *sv \
3042 |NN const char * const name \
3043 |const STRLEN len \
3044 |U32 flags
d6a7165b 3045ARdp |bool |sv_derived_from_sv \
b8837dad
YO
3046 |NN SV *sv \
3047 |NN SV *namesv \
3048 |U32 flags
3049Adp |bool |sv_destroyable |NULLOK SV *sv
d6a7165b 3050ARdp |bool |sv_does |NN SV *sv \
b8837dad 3051 |NN const char * const name
d6a7165b 3052ARdp |bool |sv_does_pv |NN SV *sv \
b8837dad
YO
3053 |NN const char * const name \
3054 |U32 flags
d6a7165b 3055ARdp |bool |sv_does_pvn |NN SV *sv \
b8837dad
YO
3056 |NN const char * const name \
3057 |const STRLEN len \
3058 |U32 flags
d6a7165b 3059ARdp |bool |sv_does_sv |NN SV *sv \
b8837dad
YO
3060 |NN SV *namesv \
3061 |U32 flags
d6a7165b
YO
3062Adp |void |sv_dump |NULLOK SV *sv
3063Adp |void |sv_dump_depth |NULLOK SV *sv \
b8837dad 3064 |I32 depth
d6a7165b 3065AMbdp |I32 |sv_eq |NULLOK SV *sv1 \
b8837dad 3066 |NULLOK SV *sv2
d6a7165b 3067Adp |I32 |sv_eq_flags |NULLOK SV *sv1 \
b8837dad 3068 |NULLOK SV *sv2 \
a5dfa563 3069 |const U32 flags
d6a7165b
YO
3070AMbdp |void |sv_force_normal|NN SV *sv
3071Adp |void |sv_force_normal_flags \
b8837dad
YO
3072 |NN SV * const sv \
3073 |const U32 flags
d6a7165b
YO
3074Adp |void |sv_free |NULLOK SV * const sv
3075Xopx |void |sv_free2 |NN SV * const sv \
b8837dad
YO
3076 |const U32 refcnt
3077: Used only in perl.c
d6a7165b
YO
3078dp |void |sv_free_arenas
3079ATdpx |SV * |sv_get_backrefs|NN SV * const sv
3080Adip |void |SvGETMAGIC |NN SV *sv
3081Adp |char * |sv_gets |NN SV * const sv \
b8837dad
YO
3082 |NN PerlIO * const fp \
3083 |I32 append
d6a7165b 3084Cdp |char * |sv_grow |NN SV * const sv \
b8837dad 3085 |STRLEN newlen
d6a7165b 3086Cdp |char * |sv_grow_fresh |NN SV * const sv \
b8837dad 3087 |STRLEN newlen
d6a7165b
YO
3088Adp |void |sv_inc |NULLOK SV * const sv
3089Adp |void |sv_inc_nomg |NULLOK SV * const sv
3090AMbdp |void |sv_insert |NN SV * const bigstr \
b8837dad
YO
3091 |const STRLEN offset \
3092 |const STRLEN len \
3093 |NN const char * const little \
3094 |const STRLEN littlelen
d6a7165b 3095Adp |void |sv_insert_flags|NN SV * const bigstr \
b8837dad
YO
3096 |const STRLEN offset \
3097 |const STRLEN len \
3098 |NN const char *little \
3099 |const STRLEN littlelen \
3100 |const U32 flags
d6a7165b
YO
3101Adp |IO * |sv_2io |NN SV * const sv
3102Adp |int |sv_isa |NULLOK SV *sv \
b8837dad 3103 |NN const char * const name
d6a7165b 3104ARdpx |bool |sv_isa_sv |NN SV *sv \
b8837dad 3105 |NN SV *namesv
d6a7165b
YO
3106Adp |int |sv_isobject |NULLOK SV *sv
3107Adip |IV |SvIV |NN SV *sv
3108CMbp |IV |sv_2iv |NN SV *sv
3109Adp |IV |sv_2iv_flags |NN SV * const sv \
b8837dad 3110 |const I32 flags
d6a7165b
YO
3111Adip |IV |SvIV_nomg |NN SV *sv
3112Adp |STRLEN |sv_len |NULLOK SV * const sv
3113Adp |STRLEN |sv_len_utf8 |NULLOK SV * const sv
3114Adp |STRLEN |sv_len_utf8_nomg \
b8837dad 3115 |NN SV * const sv
d6a7165b 3116Adp |void |sv_magic |NN SV * const sv \
b8837dad
YO
3117 |NULLOK SV * const obj \
3118 |const int how \
3119 |NULLOK const char * const name \
3120 |const I32 namlen
d6a7165b 3121Adp |MAGIC *|sv_magicext |NN SV * const sv \
b8837dad
YO
3122 |NULLOK SV * const obj \
3123 |const int how \
3124 |NULLOK const MGVTBL * const vtbl \
3125 |NULLOK const char * const name \
3126 |const I32 namlen
3127: exported for re.pm
3128EXp |MAGIC *|sv_magicext_mglob \
a5dfa563 3129 |NN SV *sv
d6a7165b
YO
3130Adp |SV * |sv_2mortal |NULLOK SV * const sv
3131AMRbdp |SV * |sv_mortalcopy |NULLOK SV * const oldsv
3132ARdp |SV * |sv_mortalcopy_flags \
b8837dad
YO
3133 |NULLOK SV * const oldsv \
3134 |U32 flags
d6a7165b
YO
3135ARdp |SV * |sv_newmortal
3136Cdp |SV * |sv_newref |NULLOK SV * const sv
3137ADbdp |void |sv_nolocking |NULLOK SV *sv
b8837dad
YO
3138
3139Adp |void |sv_nosharing |NULLOK SV *sv
d6a7165b 3140ADbdp |void |sv_nounlocking |NULLOK SV *sv
b8837dad 3141: Used in pp.c, pp_hot.c, sv.c
d6a7165b
YO
3142dpx |SV * |sv_2num |NN SV * const sv
3143Adm |bool |sv_numeq |NULLOK SV *sv1 \
b8837dad 3144 |NULLOK SV *sv2
d6a7165b 3145Adp |bool |sv_numeq_flags |NULLOK SV *sv1 \
b8837dad
YO
3146 |NULLOK SV *sv2 \
3147 |const U32 flags
d6a7165b
YO
3148Adip |NV |SvNV |NN SV *sv
3149Adp |NV |sv_2nv_flags |NN SV * const sv \
b8837dad 3150 |const I32 flags
d6a7165b
YO
3151Adip |NV |SvNV_nomg |NN SV *sv
3152ETip |bool |sv_only_taint_gmagic \
a5dfa563 3153 |NN SV *sv
d6a7165b
YO
3154Cdp |char * |sv_peek |NULLOK SV *sv
3155Adp |void |sv_pos_b2u |NULLOK SV * const sv \
b8837dad 3156 |NN I32 * const offsetp
d6a7165b 3157Adp |STRLEN |sv_pos_b2u_flags \
b8837dad
YO
3158 |NN SV * const sv \
3159 |STRLEN const offset \
3160 |U32 flags
d6a7165b 3161Adp |void |sv_pos_u2b |NULLOK SV * const sv \
b8837dad
YO
3162 |NN I32 * const offsetp \
3163 |NULLOK I32 * const lenp
d6a7165b 3164Adp |STRLEN |sv_pos_u2b_flags \
b8837dad
YO
3165 |NN SV * const sv \
3166 |STRLEN uoffset \
3167 |NULLOK STRLEN * const lenp \
3168 |U32 flags
d6a7165b 3169AMbdp |char * |sv_2pv |NN SV *sv \
b8837dad 3170 |NULLOK STRLEN *lp
d6a7165b
YO
3171CMRbdp |char * |sv_pv |NN SV *sv
3172AMbdp |char * |sv_2pvbyte |NN SV *sv \
b8837dad 3173 |NULLOK STRLEN * const lp
d6a7165b
YO
3174CMRbdp |char * |sv_pvbyte |NN SV *sv
3175Adp |char * |sv_2pvbyte_flags \
b8837dad
YO
3176 |NN SV *sv \
3177 |NULLOK STRLEN * const lp \
3178 |const U32 flags
d6a7165b 3179Cdp |char * |sv_pvbyten_force \
a5dfa563 3180 |NN SV * const sv \
b8837dad
YO
3181 |NULLOK STRLEN * const lp
3182ip |char * |sv_pvbyten_force_wrapper \
a5dfa563 3183 |NN SV * const sv \
b8837dad
YO
3184 |NULLOK STRLEN * const lp \
3185 |const U32 dummy
d6a7165b 3186CMRbdp |char * |sv_2pvbyte_nolen \
b8837dad 3187 |NN SV *sv
d6a7165b 3188Adp |char * |sv_2pv_flags |NN SV * const sv \
b8837dad 3189 |NULLOK STRLEN * const lp \
a5dfa563 3190 |const U32 flags
d6a7165b 3191CMbdp |char * |sv_pvn_force |NN SV *sv \
b8837dad 3192 |NULLOK STRLEN *lp
d6a7165b 3193Adp |char * |sv_pvn_force_flags \
a5dfa563 3194 |NN SV * const sv \
b8837dad
YO
3195 |NULLOK STRLEN * const lp \
3196 |const U32 flags
d6a7165b
YO
3197CMRbdp |char * |sv_2pv_nolen |NN SV *sv
3198AMbdp |char * |sv_2pvutf8 |NN SV *sv \
b8837dad 3199 |NULLOK STRLEN * const lp
d6a7165b
YO
3200CMRbdp |char * |sv_pvutf8 |NN SV *sv
3201Adp |char * |sv_2pvutf8_flags \
b8837dad
YO
3202 |NN SV *sv \
3203 |NULLOK STRLEN * const lp \
a5dfa563 3204 |const U32 flags
d6a7165b 3205Cdp |char * |sv_pvutf8n_force \
b8837dad
YO
3206 |NN SV * const sv \
3207 |NULLOK STRLEN * const lp
3208ip |char * |sv_pvutf8n_force_wrapper \
3209 |NN SV * const sv \
3210 |NULLOK STRLEN * const lp \
3211 |const U32 dummy
d6a7165b 3212CMRbdp |char * |sv_2pvutf8_nolen \
b8837dad 3213 |NN SV *sv
d6a7165b
YO
3214AIdp |bool |SvPVXtrue |NN SV *sv
3215Adp |char * |sv_recode_to_utf8 \
b8837dad
YO
3216 |NN SV *sv \
3217 |NN SV *encoding
d6a7165b 3218Adp |SV * |sv_ref |NULLOK SV *dst \
b8837dad
YO
3219 |NN const SV * const sv \
3220 |const int ob
d6a7165b
YO
3221AMdip |void |SvREFCNT_dec |NULLOK SV *sv
3222AMdip |void |SvREFCNT_dec_NN|NN SV *sv
6dd040ff
YO
3223Adip |SV * |SvREFCNT_dec_ret_NULL \
3224 |NULLOK SV *sv
3225Adm |void |SvREFCNT_dec_set_NULL \
3226 |NULLOK SV *sv
d6a7165b
YO
3227AMTdip |SV * |SvREFCNT_inc |NULLOK SV *sv
3228AMTdip |SV * |SvREFCNT_inc_NN|NN SV *sv
3229AMTdip |void |SvREFCNT_inc_void \
a5dfa563 3230 |NULLOK SV *sv
d6a7165b 3231ARdp |const char *|sv_reftype|NN const SV * const sv \
b8837dad 3232 |const int ob
d6a7165b 3233Adp |void |sv_replace |NN SV * const sv \
b8837dad 3234 |NN SV * const nsv
d6a7165b
YO
3235Adp |void |sv_report_used
3236Adp |void |sv_reset |NN const char *s \
b8837dad
YO
3237 |NULLOK HV * const stash
3238p |void |sv_resetpvn |NULLOK const char *s \
3239 |STRLEN len \
3240 |NULLOK HV * const stash
d6a7165b
YO
3241Adp |SV * |sv_rvunweaken |NN SV * const sv
3242Adp |SV * |sv_rvweaken |NN SV * const sv
3243Adp |void |sv_set_bool |NN SV *sv \
b8837dad 3244 |const bool bool_val
d6a7165b 3245Adp |void |sv_set_false |NN SV *sv
b8837dad
YO
3246Xp |void |sv_sethek |NN SV * const sv \
3247 |NULLOK const HEK * const hek
d6a7165b 3248Adp |void |sv_setiv |NN SV * const sv \
b8837dad 3249 |const IV num
d6a7165b 3250Adp |void |sv_setiv_mg |NN SV * const sv \
b8837dad 3251 |const IV i
d6a7165b 3252Adp |void |sv_setnv |NN SV * const sv \
b8837dad 3253 |const NV num
d6a7165b 3254Adp |void |sv_setnv_mg |NN SV * const sv \
b8837dad 3255 |const NV num
d6a7165b 3256Adp |void |sv_setpv |NN SV * const sv \
b8837dad 3257 |NULLOK const char * const ptr
d6a7165b 3258Adp |char *|sv_setpv_bufsize \
a5dfa563 3259 |NN SV * const sv \
b8837dad
YO
3260 |const STRLEN cur \
3261 |const STRLEN len
d6a7165b 3262Adfp |void |sv_setpvf |NN SV * const sv \
b8837dad 3263 |NN const char * const pat \
a5dfa563 3264 |...
d6a7165b 3265Adfp |void |sv_setpvf_mg |NN SV * const sv \
b8837dad
YO
3266 |NN const char * const pat \
3267 |...
3268Cipx |char *|sv_setpv_freshbuf \
a5dfa563 3269 |NN SV * const sv
d6a7165b 3270Adp |void |sv_setpv_mg |NN SV * const sv \
b8837dad 3271 |NULLOK const char * const ptr
d6a7165b 3272Adp |void |sv_setpvn |NN SV * const sv \
b8837dad
YO
3273 |NULLOK const char * const ptr \
3274 |const STRLEN len
d6a7165b 3275Adp |void |sv_setpvn_fresh|NN SV * const sv \
b8837dad
YO
3276 |NULLOK const char * const ptr \
3277 |const STRLEN len
d6a7165b 3278Adp |void |sv_setpvn_mg |NN SV * const sv \
b8837dad
YO
3279 |NN const char * const ptr \
3280 |const STRLEN len
d6a7165b 3281Adp |SV * |sv_setref_iv |NN SV * const rv \
b8837dad
YO
3282 |NULLOK const char * const classname \
3283 |const IV iv
d6a7165b 3284Adp |SV * |sv_setref_nv |NN SV * const rv \
b8837dad
YO
3285 |NULLOK const char * const classname \
3286 |const NV nv
d6a7165b 3287Adp |SV * |sv_setref_pv |NN SV * const rv \
b8837dad
YO
3288 |NULLOK const char * const classname \
3289 |NULLOK void * const pv
d6a7165b 3290Adp |SV * |sv_setref_pvn |NN SV * const rv \
b8837dad
YO
3291 |NULLOK const char * const classname \
3292 |NN const char * const pv \
3293 |const STRLEN n
d6a7165b 3294Adp |SV * |sv_setref_uv |NN SV * const rv \
b8837dad
YO
3295 |NULLOK const char * const classname \
3296 |const UV uv
d6a7165b 3297Adp |void |sv_setrv_inc |NN SV * const sv \
b8837dad 3298 |NN SV * const ref
d6a7165b 3299Adp |void |sv_setrv_inc_mg|NN SV * const sv \
b8837dad 3300 |NN SV * const ref
d6a7165b 3301Adp |void |sv_setrv_noinc |NN SV * const sv \
b8837dad 3302 |NN SV * const ref
d6a7165b 3303Adp |void |sv_setrv_noinc_mg \
b8837dad
YO
3304 |NN SV * const sv \
3305 |NN SV * const ref
d6a7165b 3306AMbdp |void |sv_setsv |NN SV *dsv \
b8837dad 3307 |NULLOK SV *ssv
d6a7165b 3308Adp |void |sv_setsv_flags |NN SV *dsv \
a5dfa563 3309 |NULLOK SV *ssv \
2e000ff2 3310 |const I32 flags
d6a7165b 3311Adp |void |sv_setsv_mg |NN SV * const dsv \
b8837dad 3312 |NULLOK SV * const ssv
d6a7165b 3313Adp |void |sv_set_true |NN SV *sv
b8837dad 3314
d6a7165b
YO
3315Adp |void |sv_set_undef |NN SV *sv
3316Adp |void |sv_setuv |NN SV * const sv \
b8837dad 3317 |const UV num
d6a7165b 3318Adp |void |sv_setuv_mg |NN SV * const sv \
b8837dad 3319 |const UV u
d6a7165b 3320Adm |bool |sv_streq |NULLOK SV *sv1 \
b8837dad 3321 |NULLOK SV *sv2
d6a7165b 3322Adp |bool |sv_streq_flags |NULLOK SV *sv1 \
b8837dad
YO
3323 |NULLOK SV *sv2 \
3324 |const U32 flags
d6a7165b 3325Adp |SV * |sv_string_from_errnum \
b8837dad
YO
3326 |int errnum \
3327 |NULLOK SV *tgtsv
d6a7165b
YO
3328CMbdp |void |sv_taint |NN SV *sv
3329CRdp |bool |sv_tainted |NN SV * const sv
3330Adip |bool |SvTRUE |NULLOK SV *sv
3331Cdp |I32 |sv_true |NULLOK SV * const sv
b8837dad
YO
3332Cip |bool |SvTRUE_common |NN SV *sv \
3333 |const bool sv_2bool_is_fallback
d6a7165b
YO
3334Adip |bool |SvTRUE_NN |NN SV *sv
3335Adip |bool |SvTRUE_nomg |NULLOK SV *sv
3336ARdp |char * |sv_uni_display |NN SV *dsv \
b8837dad
YO
3337 |NN SV *ssv \
3338 |STRLEN pvlim \
3339 |UV flags
d6a7165b 3340Adp |int |sv_unmagic |NN SV * const sv \
b8837dad 3341 |const int type
d6a7165b 3342Adp |int |sv_unmagicext |NN SV * const sv \
b8837dad
YO
3343 |const int type \
3344 |NULLOK MGVTBL *vtbl
d6a7165b
YO
3345AMbdp |void |sv_unref |NN SV *sv
3346Adp |void |sv_unref_flags |NN SV * const ref \
b8837dad 3347 |const U32 flags
d6a7165b
YO
3348Cdp |void |sv_untaint |NN SV * const sv
3349Adp |void |sv_upgrade |NN SV * const sv \
b8837dad 3350 |svtype new_type
d6a7165b 3351AMbdp |void |sv_usepvn |NN SV *sv \
b8837dad
YO
3352 |NULLOK char *ptr \
3353 |STRLEN len
d6a7165b 3354Adp |void |sv_usepvn_flags|NN SV * const sv \
b8837dad 3355 |NULLOK char *ptr \
a5dfa563 3356 |const STRLEN len \
b8837dad 3357 |const U32 flags
d6a7165b 3358AMbdp |void |sv_usepvn_mg |NN SV *sv \
b8837dad
YO
3359 |NULLOK char *ptr \
3360 |STRLEN len
d6a7165b
YO
3361Adp |bool |sv_utf8_decode |NN SV * const sv
3362AMbdp |bool |sv_utf8_downgrade \
b8837dad
YO
3363 |NN SV * const sv \
3364 |const bool fail_ok
d6a7165b 3365Adp |bool |sv_utf8_downgrade_flags \
b8837dad
YO
3366 |NN SV * const sv \
3367 |const bool fail_ok \
3368 |const U32 flags
d6a7165b 3369Adm |bool |sv_utf8_downgrade_nomg \
b8837dad
YO
3370 |NN SV * const sv \
3371 |const bool fail_ok
d6a7165b
YO
3372Adp |void |sv_utf8_encode |NN SV * const sv
3373AMbdp |STRLEN |sv_utf8_upgrade|NN SV *sv
3374Adm |STRLEN |sv_utf8_upgrade_flags \
a5dfa563
YO
3375 |NN SV * const sv \
3376 |const I32 flags
3377Adp |STRLEN |sv_utf8_upgrade_flags_grow \
3378 |NN SV * const sv \
3379 |const I32 flags \
3380 |STRLEN extra
d6a7165b 3381Adm |STRLEN |sv_utf8_upgrade_nomg \
b8837dad 3382 |NN SV *sv
d6a7165b
YO
3383Adip |UV |SvUV |NN SV *sv
3384CMbp |UV |sv_2uv |NN SV *sv
3385Adp |UV |sv_2uv_flags |NN SV * const sv \
b8837dad 3386 |const I32 flags
d6a7165b
YO
3387Adip |UV |SvUV_nomg |NN SV *sv
3388Adp |void |sv_vcatpvf |NN SV * const sv \
b8837dad
YO
3389 |NN const char * const pat \
3390 |NULLOK va_list * const args
d6a7165b 3391Adp |void |sv_vcatpvf_mg |NN SV * const sv \
b8837dad
YO
3392 |NN const char * const pat \
3393 |NULLOK va_list * const args
d6a7165b 3394Adp |void |sv_vcatpvfn |NN SV * const sv \
b8837dad
YO
3395 |NN const char * const pat \
3396 |const STRLEN patlen \
3397 |NULLOK va_list * const args \
3398 |NULLOK SV ** const svargs \
3399 |const Size_t sv_count \
3400 |NULLOK bool * const maybe_tainted
d6a7165b 3401Adp |void |sv_vcatpvfn_flags \
a5dfa563 3402 |NN SV * const sv \
b8837dad
YO
3403 |NN const char * const pat \
3404 |const STRLEN patlen \
3405 |NULLOK va_list * const args \
3406 |NULLOK SV ** const svargs \
3407 |const Size_t sv_count \
3408 |NULLOK bool * const maybe_tainted \
a5dfa563 3409 |const U32 flags
d6a7165b 3410Adp |void |sv_vsetpvf |NN SV * const sv \
b8837dad
YO
3411 |NN const char * const pat \
3412 |NULLOK va_list * const args
d6a7165b 3413Adp |void |sv_vsetpvf_mg |NN SV * const sv \
b8837dad
YO
3414 |NN const char * const pat \
3415 |NULLOK va_list * const args
d6a7165b 3416Adp |void |sv_vsetpvfn |NN SV * const sv \
b8837dad
YO
3417 |NN const char * const pat \
3418 |const STRLEN patlen \
3419 |NULLOK va_list * const args \
3420 |NULLOK SV ** const svargs \
3421 |const Size_t sv_count \
3422 |NULLOK bool * const maybe_tainted
d6a7165b
YO
3423Adp |void |switch_to_global_locale
3424Adp |bool |sync_locale
3425CTop |void |sys_init |NN int *argc \
b8837dad 3426 |NN char ***argv
d6a7165b 3427CTop |void |sys_init3 |NN int *argc \
b8837dad
YO
3428 |NN char ***argv \
3429 |NN char ***env
d6a7165b 3430CTop |void |sys_term
94bdecf9 3431
d6a7165b
YO
3432Cdp |void |taint_env
3433Cdp |void |taint_proper |NULLOK const char *f \
b8837dad
YO
3434 |NN const char * const s
3435Apx |void |thread_locale_init
3436Apx |void |thread_locale_term
d6721266 3437
b8837dad
YO
3438Fp |OP * |tied_method |NN SV *methname \
3439 |NN SV **sp \
3440 |NN SV * const sv \
3441 |NN const MAGIC * const mg \
a5dfa563 3442 |const U32 flags \
b8837dad
YO
3443 |U32 argc \
3444 |...
d6a7165b 3445Xp |SSize_t|tmps_grow_p |SSize_t ix
b8837dad
YO
3446Xiop |I32 |TOPMARK
3447Cm |UV |to_uni_fold |UV c \
3448 |NN U8 *p \
3449 |NN STRLEN *lenp
3450Cp |UV |_to_uni_fold_flags \
3451 |UV c \
3452 |NN U8 *p \
3453 |NN STRLEN *lenp \
3454 |U8 flags
3455Cp |UV |to_uni_lower |UV c \
3456 |NN U8 *p \
3457 |NN STRLEN *lenp
3458Cp |UV |to_uni_title |UV c \
3459 |NN U8 *p \
3460 |NN STRLEN *lenp
3461Cp |UV |to_uni_upper |UV c \
3462 |NN U8 *p \
3463 |NN STRLEN *lenp
3464Cp |UV |_to_utf8_fold_flags \
3465 |NN const U8 *p \
3466 |NULLOK const U8 *e \
3467 |NN U8 *ustrp \
3468 |NULLOK STRLEN *lenp \
3469 |U8 flags
ca732855 3470
b8837dad
YO
3471Cp |UV |_to_utf8_lower_flags \
3472 |NN const U8 *p \
3473 |NULLOK const U8 *e \
3474 |NN U8 *ustrp \
3475 |NULLOK STRLEN *lenp \
3476 |bool flags
3477Cp |UV |_to_utf8_title_flags \
3478 |NN const U8 *p \
3479 |NULLOK const U8 *e \
3480 |NN U8 *ustrp \
3481 |NULLOK STRLEN *lenp \
3482 |bool flags
3483Cp |UV |_to_utf8_upper_flags \
3484 |NN const U8 *p \
3485 |NULLOK const U8 *e \
3486 |NN U8 *ustrp \
3487 |NULLOK STRLEN *lenp \
3488 |bool flags
10edeb5d 3489
d6a7165b 3490EXop |bool |try_amagic_bin |int method \
b8837dad 3491 |int flags
d6a7165b 3492EXop |bool |try_amagic_un |int method \
b8837dad 3493 |int flags
d6a7165b 3494Adp |SSize_t|unpackstring |NN const char *pat \
b8837dad
YO
3495 |NN const char *patend \
3496 |NN const char *s \
3497 |NN const char *strend \
3498 |U32 flags
3499: Used in gv.c, hv.c
3500Cp |void |unshare_hek |NULLOK HEK *hek
d6a7165b 3501Cdp |void |unsharepvn |NULLOK const char *sv \
b8837dad
YO
3502 |I32 len \
3503 |U32 hash
d6a7165b 3504Adp |SV * |upg_version |NN SV *ver \
b8837dad 3505 |bool qv
d6a7165b 3506ARdip |IV |utf8_distance |NN const U8 *a \
b8837dad 3507 |NN const U8 *b
d6a7165b 3508ARTdip |U8 * |utf8_hop |NN const U8 *s \
b8837dad 3509 |SSize_t off
d6a7165b 3510ARTdip |U8 * |utf8_hop_back |NN const U8 *s \
b8837dad
YO
3511 |SSize_t off \
3512 |NN const U8 *start
d6a7165b 3513ARTdip |U8 * |utf8_hop_forward \
b8837dad
YO
3514 |NN const U8 *s \
3515 |SSize_t off \
3516 |NN const U8 *end
d6a7165b 3517ARTdip |U8 * |utf8_hop_safe |NN const U8 *s \
b8837dad
YO
3518 |SSize_t off \
3519 |NN const U8 *start \
3520 |NN const U8 *end
d6a7165b 3521ARdp |STRLEN |utf8_length |NN const U8 *s0 \
b8837dad 3522 |NN const U8 *e
96adfaa1 3523
d6a7165b 3524AMTdp |UV |utf8n_to_uvchr |NN const U8 *s \
b8837dad
YO
3525 |STRLEN curlen \
3526 |NULLOK STRLEN *retlen \
3527 |const U32 flags
d6a7165b 3528AMTdp |UV |utf8n_to_uvchr_error \
b8837dad
YO
3529 |NN const U8 *s \
3530 |STRLEN curlen \
3531 |NULLOK STRLEN *retlen \
3532 |const U32 flags \
3533 |NULLOK U32 *errors
3534ATdip |UV |utf8n_to_uvchr_msgs \
3535 |NN const U8 *s \
3536 |STRLEN curlen \
3537 |NULLOK STRLEN *retlen \
3538 |const U32 flags \
3539 |NULLOK U32 *errors \
3540 |NULLOK AV **msgs
3541CTp |UV |_utf8n_to_uvchr_msgs_helper \
3542 |NN const U8 *s \
3543 |STRLEN curlen \
3544 |NULLOK STRLEN *retlen \
3545 |const U32 flags \
3546 |NULLOK U32 *errors \
3547 |NULLOK AV **msgs
d6a7165b 3548CDbdp |UV |utf8n_to_uvuni |NN const U8 *s \
b8837dad
YO
3549 |STRLEN curlen \
3550 |NULLOK STRLEN *retlen \
3551 |U32 flags
d6a7165b 3552Adpx |U8 * |utf8_to_bytes |NN U8 *s \
b8837dad
YO
3553 |NN STRLEN *lenp
3554EMXp |U8 * |utf16_to_utf8 |NN U8 *p \
3555 |NN U8 *d \
3556 |Size_t bytelen \
3557 |NN Size_t *newlen
3558EXp |U8 * |utf16_to_utf8_base \
3559 |NN U8 *p \
3560 |NN U8 *d \
3561 |Size_t bytelen \
3562 |NN Size_t *newlen \
3563 |const bool high \
3564 |const bool low
3565EXpx |U8 * |utf8_to_utf16_base \
3566 |NN U8 *s \
3567 |NN U8 *d \
3568 |Size_t bytelen \
3569 |NN Size_t *newlen \
3570 |const bool high \
3571 |const bool low
3572EMXp |U8 * |utf16_to_utf8_reversed \
3573 |NN U8 *p \
3574 |NN U8 *d \
3575 |Size_t bytelen \
3576 |NN Size_t *newlen
d6a7165b 3577ADbdp |UV |utf8_to_uvchr |NN const U8 *s \
b8837dad 3578 |NULLOK STRLEN *retlen
d6a7165b 3579AMdp |UV |utf8_to_uvchr_buf \
b8837dad
YO
3580 |NN const U8 *s \
3581 |NN const U8 *send \
3582 |NULLOK STRLEN *retlen
3583Cip |UV |utf8_to_uvchr_buf_helper \
3584 |NN const U8 *s \
3585 |NN const U8 *send \
3586 |NULLOK STRLEN *retlen
d6a7165b 3587CDbdp |UV |utf8_to_uvuni |NN const U8 *s \
b8837dad
YO
3588 |NULLOK STRLEN *retlen
3589: Used in perly.y
3590p |void |utilize |int aver \
3591 |I32 floor \
3592 |NULLOK OP *version \
3593 |NN OP *idop \
3594 |NULLOK OP *arg
7a5fd60d 3595
b8837dad
YO
3596Adm |U8 * |uvchr_to_utf8 |NN U8 *d \
3597 |UV uv
3598Adm |U8 * |uvchr_to_utf8_flags \
3599 |NN U8 *d \
3600 |UV uv \
3601 |UV flags
3602Adm |U8 * |uvchr_to_utf8_flags_msgs \
3603 |NN U8 *d \
3604 |UV uv \
3605 |UV flags \
3606 |NULLOK HV **msgs
d6a7165b 3607CMdp |U8 * |uvoffuni_to_utf8_flags \
b8837dad
YO
3608 |NN U8 *d \
3609 |UV uv \
3610 |UV flags
3611Cp |U8 * |uvoffuni_to_utf8_flags_msgs \
3612 |NN U8 *d \
3613 |UV input_uv \
3614 |const UV flags \
3615 |NULLOK HV **msgs
3616Cp |U8 * |uvuni_to_utf8 |NN U8 *d \
3617 |UV uv
d6a7165b 3618EXdpx |bool |validate_proto |NN SV *name \
b8837dad
YO
3619 |NULLOK SV *proto \
3620 |bool warn \
3621 |bool curstash
d6a7165b 3622CRTdip |UV |valid_utf8_to_uvchr \
b8837dad
YO
3623 |NN const U8 *s \
3624 |NULLOK STRLEN *retlen
d6a7165b 3625Adp |int |vcmp |NN SV *lhv \
b8837dad 3626 |NN SV *rhv
d6a7165b 3627Adpr |void |vcroak |NULLOK const char *pat \
b8837dad 3628 |NULLOK va_list *args
d6a7165b 3629Adp |void |vdeb |NN const char *pat \
b8837dad
YO
3630 |NULLOK va_list *args
3631Adp |char * |vform |NN const char *pat \
3632 |NULLOK va_list *args
3633: Used by Data::Alias
3634EXp |void |vivify_defelem |NN SV *sv
3635: Used in pp.c
d6a7165b 3636Rp |SV * |vivify_ref |NN SV *sv \
b8837dad
YO
3637 |U32 to_what
3638Adp |void |vload_module |U32 flags \
3639 |NN SV *name \
3640 |NULLOK SV *ver \
3641 |NULLOK va_list *args
d6a7165b 3642Adp |SV * |vmess |NN const char *pat \
b8837dad 3643 |NULLOK va_list *args
d6a7165b 3644ARdp |SV * |vnewSVpvf |NN const char * const pat \
b8837dad 3645 |NULLOK va_list * const args
d6a7165b
YO
3646Adp |SV * |vnormal |NN SV *vs
3647Adp |SV * |vnumify |NN SV *vs
3648Adp |SV * |vstringify |NN SV *vs
3649Adp |SV * |vverify |NN SV *vs
3650Adp |void |vwarn |NN const char *pat \
b8837dad
YO
3651 |NULLOK va_list *args
3652Adp |void |vwarner |U32 err \
3653 |NN const char *pat \
3654 |NULLOK va_list *args
3655: Used in pp_sys.c
3656p |I32 |wait4pid |Pid_t pid \
3657 |NN int *statusp \
3658 |int flags
d6a7165b 3659Adfp |void |warn |NN const char *pat \
a5dfa563 3660 |...
b8837dad
YO
3661Adfp |void |warner |U32 err \
3662 |NN const char *pat \
a5dfa563 3663 |...
d6a7165b
YO
3664TXp |void |_warn_problematic_locale
3665Adp |void |warn_sv |NN SV *baseex
b8837dad 3666: Used in cop.h
d6a7165b 3667RXop |I32 |was_lvalue_sub
b8837dad
YO
3668: FIXME
3669p |void |watch |NN char **addr
d6a7165b
YO
3670Adm |I32 |whichsig |NN const char *sig
3671Adp |I32 |whichsig_pv |NN const char *sig
3672Adp |I32 |whichsig_pvn |NN const char *sig \
b8837dad 3673 |STRLEN len
d6a7165b
YO
3674Adp |I32 |whichsig_sv |NN SV *sigsv
3675Adpx |void |wrap_infix_plugin \
b8837dad
YO
3676 |NN Perl_infix_plugin_t new_plugin \
3677 |NN Perl_infix_plugin_t *old_plugin_p
d6a7165b 3678Adpx |void |wrap_keyword_plugin \
b8837dad
YO
3679 |NN Perl_keyword_plugin_t new_plugin \
3680 |NN Perl_keyword_plugin_t *old_plugin_p
d6a7165b 3681Adp |void |wrap_op_checker|Optype opcode \
b8837dad
YO
3682 |NN Perl_check_t new_checker \
3683 |NN Perl_check_t *old_checker_p
3684: Used in pp_ctl.c
3685p |void |write_to_stderr|NN SV *msv
3686Xp |void |xs_boot_epilog |const I32 ax
8b850bd5 3687
d6a7165b 3688FTXop |I32 |xs_handshake |const U32 key \
b8837dad
YO
3689 |NN void *v_my_perl \
3690 |NN const char *file \
3691 |...
3692: Used in op.c
3693p |int |yyerror |NN const char * const s
3694p |int |yyerror_pv |NN const char * const s \
a5dfa563 3695 |U32 flags
b8837dad 3696p |int |yyerror_pvn |NULLOK const char * const s \
a5dfa563
YO
3697 |STRLEN len \
3698 |U32 flags
b8837dad
YO
3699: Used in perly.y, and by Data::Alias
3700EXp |int |yylex
3701: Used in perl.c, pp_ctl.c
3702p |int |yyparse |int gramtype
3703p |void |yyquit
3704p |void |yyunlex
a5dfa563
YO
3705#if ( defined(AF_INET) && defined(HAS_SOCKET) && defined(PF_INET) && \
3706 defined(SOCK_DGRAM) ) || defined(HAS_SOCKETPAIR)
d6a7165b 3707Rp |int |PerlSock_socketpair_cloexec \
a5dfa563
YO
3708 |int domain \
3709 |int type \
3710 |int protocol \
3711 |NN int *pairfd
3712#endif /* ( defined(AF_INET) && defined(HAS_SOCKET) && defined(PF_INET) && \
3713 defined(SOCK_DGRAM) ) || defined(HAS_SOCKETPAIR) */
3714#if defined(DEBUGGING)
a5dfa563 3715: Used in mg.c
d6a7165b 3716Rp |int |get_debug_opts |NN const char **s \
a5dfa563 3717 |bool givehelp
d6a7165b
YO
3718Adop |void |hv_assert |NN HV *hv
3719Cdp |void |pad_setsv |PADOFFSET po \
b8837dad 3720 |NN SV *sv
d6a7165b
YO
3721Cdp |SV * |pad_sv |PADOFFSET po
3722TXp |void |set_padlist |NN CV *cv \
b8837dad 3723 |NULLOK PADLIST *padlist
a5dfa563
YO
3724#endif /* defined(DEBUGGING) */
3725#if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP)
3726: Used in sv.c
3727p |void |dump_sv_child |NN SV *sv
3728#endif /* defined(DEBUG_LEAKING_SCALARS_FORK_DUMP) */
3729#if !defined(EBCDIC)
d6a7165b 3730CRTip |unsigned int|variant_byte_number \
a5dfa563
YO
3731 |PERL_UINTMAX_T word
3732#endif /* !defined(EBCDIC) */
3733#if defined(F_FREESP) && !defined(HAS_CHSIZE) && !defined(HAS_TRUNCATE)
d6a7165b 3734ARdp |I32 |my_chsize |int fd \
a5dfa563
YO
3735 |Off_t length
3736#endif /* defined(F_FREESP) && !defined(HAS_CHSIZE) && !defined(HAS_TRUNCATE) */
3737#if !defined(HAS_GETENV_LEN)
3738: Used in hv.c
3739p |char * |getenv_len |NN const char *env_elem \
3740 |NN unsigned long *len
3741#endif /* !defined(HAS_GETENV_LEN) */
3742#if !defined(HAS_MKOSTEMP)
d6a7165b 3743Tdop |int |my_mkostemp |NN char *templte \
a5dfa563
YO
3744 |int flags
3745#endif /* !defined(HAS_MKOSTEMP) */
3746#if !defined(HAS_MKSTEMP)
d6a7165b 3747Tdop |int |my_mkstemp |NN char *templte
a5dfa563
YO
3748#endif /* !defined(HAS_MKSTEMP) */
3749#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
3750: Defined in doio.c, used only in pp_sys.c
3751p |I32 |do_ipcctl |I32 optype \
3752 |NN SV **mark \
3753 |NN SV **sp
3754: Defined in doio.c, used only in pp_sys.c
3755p |I32 |do_ipcget |I32 optype \
3756 |NN SV **mark \
3757 |NN SV **sp
3758: Defined in doio.c, used only in pp_sys.c
3759p |I32 |do_msgrcv |NN SV **mark \
3760 |NN SV **sp
3761: Defined in doio.c, used only in pp_sys.c
3762p |I32 |do_msgsnd |NN SV **mark \
3763 |NN SV **sp
3764: Defined in doio.c, used only in pp_sys.c
3765p |I32 |do_semop |NN SV **mark \
3766 |NN SV **sp
3767: Defined in doio.c, used only in pp_sys.c
3768p |I32 |do_shmio |I32 optype \
3769 |NN SV **mark \
3770 |NN SV **sp
3771#endif /* defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) */
3772#if defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H)
3773ATdo |const char *|Perl_langinfo \
3774 |const nl_item item
3775ATdo |const char *|Perl_langinfo8 \
3776 |const nl_item item \
3777 |NULLOK utf8ness_t *utf8ness
3778#else /* if !( defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H) ) */
3779ATdo |const char *|Perl_langinfo \
3780 |const int item
3781ATdo |const char *|Perl_langinfo8 \
3782 |const int item \
3783 |NULLOK utf8ness_t *utf8ness
3784#endif /* !( defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H) ) */
3785#if defined(HAS_PIPE)
d6a7165b 3786Rp |int |PerlProc_pipe_cloexec \
a5dfa563
YO
3787 |NN int *pipefd
3788#endif /* defined(HAS_PIPE) */
3789#if !defined(HAS_RENAME)
3790: Used in pp_sys.c
3791p |I32 |same_dirent |NN const char *a \
3792 |NN const char *b
3793#endif /* !defined(HAS_RENAME) */
3794#if !defined(HAS_SIGNBIT)
d6a7165b 3795APTdox |int |Perl_signbit |NV f
a5dfa563
YO
3796#endif /* !defined(HAS_SIGNBIT) */
3797#if defined(HAS_SOCKET)
d6a7165b 3798Rp |int |PerlSock_accept_cloexec \
a5dfa563
YO
3799 |int listenfd \
3800 |NULLOK struct sockaddr *addr \
3801 |NULLOK Sock_size_t *addrlen
d6a7165b 3802Rp |int |PerlSock_socket_cloexec \
b8837dad
YO
3803 |int domain \
3804 |int type \
3805 |int protocol
a5dfa563
YO
3806#endif /* defined(HAS_SOCKET) */
3807#if !defined(HAS_STRLCAT)
89ecfcd1 3808ATdip |Size_t |my_strlcat |NULLOK char *dst \
a5dfa563
YO
3809 |NULLOK const char *src \
3810 |Size_t size
3811#endif /* !defined(HAS_STRLCAT) */
3812#if !defined(HAS_STRLCPY)
d6a7165b 3813ATds |Size_t |my_strlcpy |NULLOK char *dst \
a5dfa563
YO
3814 |NULLOK const char *src \
3815 |Size_t size
3816#endif /* !defined(HAS_STRLCPY) */
3817#if !defined(HAS_STRNLEN)
d6a7165b 3818ATdip |Size_t |my_strnlen |NN const char *str \
a5dfa563
YO
3819 |Size_t maxlen
3820#endif /* !defined(HAS_STRNLEN) */
3821#if defined(HAVE_INTERP_INTERN)
3822Cp |void |sys_intern_clear
3823Cp |void |sys_intern_init
3824# if defined(USE_ITHREADS)
3825Cp |void |sys_intern_dup |NN struct interp_intern *src \
3826 |NN struct interp_intern *dst
3827# endif /* defined(USE_ITHREADS) */
3828#endif /* defined(HAVE_INTERP_INTERN) */
3829#if defined(_MSC_VER)
3830p |int |magic_regdatum_set \
3831 |NN SV *sv \
3832 |NN MAGIC *mg
3833#else /* if !defined(_MSC_VER) */
3834pr |int |magic_regdatum_set \
3835 |NN SV *sv \
3836 |NN MAGIC *mg
3837#endif /* !defined(_MSC_VER) */
3838#if defined(MULTIPLICITY)
d6a7165b 3839ATdfpr |void |croak_nocontext|NULLOK const char *pat \
a5dfa563 3840 |...
d6a7165b 3841ATdfp |void |deb_nocontext |NN const char *pat \
a5dfa563 3842 |...
d6a7165b 3843ATdfpr |OP * |die_nocontext |NULLOK const char *pat \
b8837dad 3844 |...
d6a7165b 3845ATdfp |char * |form_nocontext |NN const char *pat \
a5dfa563 3846 |...
d6a7165b 3847AFTdp |void |load_module_nocontext \
a5dfa563
YO
3848 |U32 flags \
3849 |NN SV *name \
3850 |NULLOK SV *ver \
3851 |...
d6a7165b 3852ATdfp |SV * |mess_nocontext |NN const char *pat \
a5dfa563 3853 |...
d6a7165b 3854Cdop |void * |my_cxt_init |NN int *indexp \
b8837dad 3855 |size_t size
d6a7165b 3856ATdfp |SV * |newSVpvf_nocontext \
a5dfa563
YO
3857 |NN const char * const pat \
3858 |...
d6a7165b 3859ATdfp |void |sv_catpvf_mg_nocontext \
a5dfa563
YO
3860 |NN SV * const sv \
3861 |NN const char * const pat \
3862 |...
d6a7165b 3863ATdfp |void |sv_catpvf_nocontext \
a5dfa563
YO
3864 |NN SV * const sv \
3865 |NN const char * const pat \
3866 |...
d6a7165b 3867ATdfp |void |sv_setpvf_mg_nocontext \
a5dfa563
YO
3868 |NN SV * const sv \
3869 |NN const char * const pat \
3870 |...
d6a7165b 3871ATdfp |void |sv_setpvf_nocontext \
a5dfa563
YO
3872 |NN SV * const sv \
3873 |NN const char * const pat \
3874 |...
d6a7165b 3875ATdfp |void |warner_nocontext \
b8837dad
YO
3876 |U32 err \
3877 |NN const char *pat \
3878 |...
d6a7165b 3879ATdfp |void |warn_nocontext |NN const char *pat \
b8837dad 3880 |...
a5dfa563
YO
3881#endif /* defined(MULTIPLICITY) */
3882#if defined(MYMALLOC)
d6a7165b 3883Adp |void |dump_mstats |NN const char *s
a5dfa563
YO
3884Cp |int |get_mstats |NN perl_mstats_t *buf \
3885 |int buflen \
3886 |int level
d6a7165b
YO
3887RTp |MEM_SIZE|malloced_size |NN void *p
3888RTp |MEM_SIZE|malloc_good_size \
b8837dad 3889 |size_t nbytes
a5dfa563
YO
3890#endif /* defined(MYMALLOC) */
3891#if defined(PERL_ANY_COW)
3892: Used in regexec.c
d6a7165b 3893EXpx |SV * |sv_setsv_cow |NULLOK SV *dsv \
a5dfa563
YO
3894 |NN SV *ssv
3895#endif /* defined(PERL_ANY_COW) */
3896#if defined(PERL_CORE)
b8837dad
YO
3897p |void |opslab_force_free \
3898 |NN OPSLAB *slab
a5dfa563
YO
3899p |void |opslab_free |NN OPSLAB *slab
3900p |void |opslab_free_nopad \
3901 |NN OPSLAB *slab
a5dfa563
YO
3902p |void |parser_free_nexttoke_ops \
3903 |NN yy_parser *parser \
3904 |NN OPSLAB *slab
d6a7165b 3905RTi |bool |should_warn_nl |NN const char *pv
a5dfa563 3906# if defined(PERL_DEBUG_READONLY_OPS)
d6a7165b
YO
3907ep |void |Slab_to_ro |NN OPSLAB *slab
3908ep |void |Slab_to_rw |NN OPSLAB * const slab
a5dfa563
YO
3909# endif /* defined(PERL_DEBUG_READONLY_OPS) */
3910#endif /* defined(PERL_CORE) */
3911#if defined(PERL_CORE) || defined(PERL_EXT)
d6a7165b 3912ERXdp |bool |isSCRIPT_RUN |NN const U8 *s \
a5dfa563
YO
3913 |NN const U8 *send \
3914 |const bool utf8_target
d6a7165b 3915ERTXdip |bool |is_utf8_non_invariant_string \
b8837dad
YO
3916 |NN const U8 * const s \
3917 |STRLEN len
a5dfa563
YO
3918Ei |STRLEN |sv_or_pv_pos_u2b \
3919 |NN SV *sv \
3920 |NN const char *pv \
3921 |STRLEN pos \
3922 |NULLOK STRLEN *lenp
d6a7165b 3923ERTdi |Size_t |variant_under_utf8_count \
b8837dad
YO
3924 |NN const U8 * const s \
3925 |NN const U8 * const e
a5dfa563 3926# if !defined(HAS_MEMRCHR)
d6a7165b 3927ETei |void * |my_memrchr |NN const char *s \
a5dfa563
YO
3928 |const char c \
3929 |const STRLEN len
3930# endif /* !defined(HAS_MEMRCHR) */
3931#endif /* defined(PERL_CORE) || defined(PERL_EXT) */
4f4dc62d 3932#if defined(PERL_CORE) || defined(PERL_USE_VOLATILE_API)
d6a7165b
YO
3933Adp |void |finalize_optree|NN OP *o
3934Adp |void |optimize_optree|NN OP *o
4f4dc62d 3935#endif /* defined(PERL_CORE) || defined(PERL_USE_VOLATILE_API) */
a5dfa563
YO
3936#if defined(PERL_DEBUG_READONLY_COW)
3937p |void |sv_buf_to_ro |NN SV *sv
3938#endif /* defined(PERL_DEBUG_READONLY_COW) */
3939#if defined(PERL_DEBUG_READONLY_OPS)
a5dfa563 3940: FIXME - can be static.
d6a7165b 3941eopx |PADOFFSET|op_refcnt_dec|NN OP *o
b8837dad 3942: Used in OpREFCNT_inc() in sv.c
d6a7165b 3943eopx |OP * |op_refcnt_inc |NULLOK OP *o
a5dfa563
YO
3944#endif /* defined(PERL_DEBUG_READONLY_OPS) */
3945#if defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)
d6a7165b 3946Mp |bool |do_exec |NN const char *cmd
a5dfa563
YO
3947#else /* if !defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION) */
3948p |bool |do_exec |NN const char *cmd
3949#endif /* !defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION) */
3950#if defined(PERL_DONT_CREATE_GVSV)
d6a7165b 3951AMbdp |GV * |gv_SVadd |NULLOK GV *gv
a5dfa563
YO
3952#endif /* defined(PERL_DONT_CREATE_GVSV) */
3953#if defined(PERL_IMPLICIT_SYS)
3954CTo |PerlInterpreter *|perl_alloc_using \
3955 |NN struct IPerlMem *ipM \
3956 |NN struct IPerlMem *ipMS \
3957 |NN struct IPerlMem *ipMP \
3958 |NN struct IPerlEnv *ipE \
3959 |NN struct IPerlStdIO *ipStd \
3960 |NN struct IPerlLIO *ipLIO \
3961 |NN struct IPerlDir *ipD \
3962 |NN struct IPerlSock *ipS \
3963 |NN struct IPerlProc *ipP
3964# if defined(USE_ITHREADS)
3965CTo |PerlInterpreter *|perl_clone_using \
3966 |NN PerlInterpreter *proto_perl \
3967 |UV flags \
3968 |NN struct IPerlMem *ipM \
3969 |NN struct IPerlMem *ipMS \
3970 |NN struct IPerlMem *ipMP \
3971 |NN struct IPerlEnv *ipE \
3972 |NN struct IPerlStdIO *ipStd \
3973 |NN struct IPerlLIO *ipLIO \
3974 |NN struct IPerlDir *ipD \
3975 |NN struct IPerlSock *ipS \
3976 |NN struct IPerlProc *ipP
3977# endif /* defined(USE_ITHREADS) */
3978#else /* if !defined(PERL_IMPLICIT_SYS) */
3979Adp |I32 |my_pclose |NULLOK PerlIO *ptr
3980Adp |PerlIO *|my_popen |NN const char *cmd \
3981 |NN const char *mode
65be4a0d 3982# if defined(USE_ITHREADS)
6abce846 3983i |bool |PerlEnv_putenv |NN char *str
65be4a0d 3984# endif /* defined(USE_ITHREADS) */
a5dfa563
YO
3985#endif /* !defined(PERL_IMPLICIT_SYS) */
3986#if defined(PERL_IN_AV_C)
3987S |MAGIC *|get_aux_mg |NN AV *av
3988#endif /* defined(PERL_IN_AV_C) */
a287df13
PE
3989#if defined(PERL_IN_CLASS_C) || defined(PERL_IN_OP_C) || \
3990 defined(PERL_IN_PAD_C) || defined(PERL_IN_PERLY_C) || \
3991 defined(PERL_IN_TOKE_C)
99b497aa
PE
3992; Functions in class.c that are called by the parser (perly.c, toke.c, pad.c)
3993Cp |void |class_add_ADJUST \
3994 |NN HV *stash \
3995 |NN CV *cv
3996Cp |void |class_add_field|NN HV *stash \
3997 |NN PADNAME *pn
69953ef3
PE
3998Cp |void |class_apply_attributes \
3999 |NN HV *stash \
4000 |NULLOK OP *attrlist
311ca5ba
PE
4001Cp |void |class_apply_field_attributes \
4002 |NN PADNAME *pn \
4003 |NULLOK OP *attrlist
054ceeeb 4004Cp |void |class_prepare_initfield_parse
99b497aa
PE
4005Cp |void |class_prepare_method_parse \
4006 |NN CV *cv
4007Cp |void |class_seal_stash \
4008 |NN HV *stash
054ceeeb
PE
4009Cp |void |class_set_field_defop \
4010 |NN PADNAME *pn \
d8b29a34 4011 |OPCODE defmode \
054ceeeb 4012 |NN OP *defop
b8837dad
YO
4013Cp |void |class_setup_stash \
4014 |NN HV *stash
99b497aa
PE
4015Cp |OP * |class_wrap_method_body \
4016 |NULLOK OP *o
4017Cp |void |croak_kw_unless_class \
4018 |NN const char *kw
a287df13
PE
4019#endif /* defined(PERL_IN_CLASS_C) || defined(PERL_IN_OP_C) || \
4020 defined(PERL_IN_PAD_C) || defined(PERL_IN_PERLY_C) || \
4021 defined(PERL_IN_TOKE_C) */
a5dfa563
YO
4022#if defined(PERL_IN_DEB_C)
4023S |void |deb_stack_n |NN SV **stack_base \
4024 |I32 stack_min \
4025 |I32 stack_max \
4026 |I32 mark_min \
4027 |I32 mark_max
4028#endif /* defined(PERL_IN_DEB_C) */
4029#if defined(PERL_IN_DOIO_C)
a5dfa563
YO
4030S |bool |argvout_final |NN MAGIC *mg \
4031 |NN IO *io \
4032 |bool is_explicit
b8837dad
YO
4033S |void |exec_failed |NN const char *cmd \
4034 |int fd \
4035 |int do_report
d6a7165b 4036RS |bool |ingroup |Gid_t testgid \
b8837dad 4037 |bool effective
a5dfa563
YO
4038S |bool |openn_cleanup |NN GV *gv \
4039 |NN IO *io \
4040 |NULLOK PerlIO *fp \
4041 |NN char *mode \
4042 |NN const char *oname \
4043 |NULLOK PerlIO *saveifp \
4044 |NULLOK PerlIO *saveofp \
4045 |int savefd \
4046 |char savetype \
4047 |int writing \
4048 |bool was_fdopen \
4049 |NULLOK const char *type \
4050 |NULLOK Stat_t *statbufp
b8837dad
YO
4051S |IO * |openn_setup |NN GV *gv \
4052 |NN char *mode \
4053 |NN PerlIO **saveifp \
4054 |NN PerlIO **saveofp \
4055 |NN int *savefd \
4056 |NN char *savetype
a5dfa563
YO
4057#endif /* defined(PERL_IN_DOIO_C) */
4058#if defined(PERL_IN_DOOP_C)
d6a7165b 4059RS |Size_t |do_trans_complex \
a5dfa563
YO
4060 |NN SV * const sv \
4061 |NN const OPtrans_map * const tbl
d6a7165b 4062RS |Size_t |do_trans_count |NN SV * const sv \
b8837dad 4063 |NN const OPtrans_map * const tbl
d6a7165b 4064RS |Size_t |do_trans_count_invmap \
a5dfa563
YO
4065 |NN SV * const sv \
4066 |NN AV * const map
d6a7165b 4067RS |Size_t |do_trans_invmap|NN SV * const sv \
b8837dad 4068 |NN AV * const map
d6a7165b 4069RS |Size_t |do_trans_simple|NN SV * const sv \
b8837dad 4070 |NN const OPtrans_map * const tbl
a5dfa563
YO
4071#endif /* defined(PERL_IN_DOOP_C) */
4072#if defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_PP_C) \
4073 || defined(PERL_IN_REGCOMP_ANY) || defined(PERL_IN_REGEXEC_C) || \
4074 defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C)
d6a7165b 4075ERTi |bool * |get_invlist_offset_addr \
a5dfa563 4076 |NN SV *invlist
d6a7165b
YO
4077ERTi |UV * |invlist_array |NN SV * const invlist
4078ERTi |bool |_invlist_contains_cp \
a5dfa563
YO
4079 |NN SV * const invlist \
4080 |const UV cp
d6a7165b
YO
4081ERTi |UV |_invlist_len |NN SV * const invlist
4082ERTXp |SSize_t|_invlist_search|NN SV * const invlist \
a5dfa563 4083 |const UV cp
d6a7165b 4084ERTi |bool |is_invlist |NULLOK const SV * const invlist
a5dfa563
YO
4085#endif /* defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \
4086 defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_ANY) || \
4087 defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || \
4088 defined(PERL_IN_UTF8_C) */
4089#if defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \
4090 defined(PERL_IN_REGCOMP_ANY)
d6a7165b 4091ERi |SV * |add_cp_to_invlist \
a5dfa563
YO
4092 |NULLOK SV *invlist \
4093 |const UV cp
4094Ei |void |invlist_extend |NN SV * const invlist \
4095 |const UV len
d6a7165b 4096ERTi |UV |invlist_highest|NN SV * const invlist
a5dfa563
YO
4097Ei |void |invlist_set_len|NN SV * const invlist \
4098 |const UV len \
4099 |const bool offset
a5dfa563
YO
4100#endif /* defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \
4101 defined(PERL_IN_REGCOMP_ANY) */
4102#if defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \
4103 defined(PERL_IN_REGCOMP_ANY) || defined(PERL_IN_UTF8_C)
d6a7165b 4104ERXp |SV * |_add_range_to_invlist \
b8837dad
YO
4105 |NULLOK SV *invlist \
4106 |UV start \
4107 |UV end
a5dfa563
YO
4108m |void |_invlist_intersection \
4109 |NN SV * const a \
4110 |NN SV * const b \
4111 |NN SV **i
4112EXp |void |_invlist_intersection_maybe_complement_2nd \
4113 |NULLOK SV * const a \
4114 |NN SV * const b \
4115 |const bool complement_b \
4116 |NN SV **i
b8837dad
YO
4117EXp |void |_invlist_invert|NN SV * const invlist
4118m |void |_invlist_subtract \
4119 |NN SV * const a \
4120 |NN SV * const b \
4121 |NN SV **result
a5dfa563
YO
4122Cm |void |_invlist_union |NULLOK SV * const a \
4123 |NN SV * const b \
4124 |NN SV **output
4125EXp |void |_invlist_union_maybe_complement_2nd \
4126 |NULLOK SV * const a \
4127 |NN SV * const b \
4128 |const bool complement_b \
4129 |NN SV **output
d6a7165b
YO
4130ERXp |SV * |_new_invlist |IV initial_size
4131ERXp |SV * |_setup_canned_invlist \
a5dfa563
YO
4132 |const STRLEN size \
4133 |const UV element0 \
4134 |NN UV **other_elements_ptr
4135#endif /* defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || \
4136 defined(PERL_IN_REGCOMP_ANY) || defined(PERL_IN_UTF8_C) */
4137#if defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_REGCOMP_C) || \
4138 defined(PERL_IN_TOKE_C)
d6a7165b 4139ERXp |const char *|form_alien_digit_msg \
b8837dad
YO
4140 |const U8 which \
4141 |const STRLEN valids_len \
4142 |NN const char * const first_bad \
a5dfa563 4143 |NN const char * const send \
b8837dad
YO
4144 |const bool UTF \
4145 |const bool braced
d6a7165b 4146ERXp |bool |grok_bslash_c |const char source \
a5dfa563
YO
4147 |NN U8 *result \
4148 |NN const char **message \
4149 |NULLOK U32 *packed_warn
d6a7165b 4150ERXp |bool |grok_bslash_o |NN char **s \
a5dfa563
YO
4151 |NN const char * const send \
4152 |NN UV *uv \
4153 |NN const char **message \
4154 |NULLOK U32 *packed_warn \
4155 |const bool strict \
4156 |const bool allow_UV_MAX \
4157 |const bool utf8
d6a7165b 4158ERXp |bool |grok_bslash_x |NN char **s \
a5dfa563 4159 |NN const char * const send \
b8837dad
YO
4160 |NN UV *uv \
4161 |NN const char **message \
4162 |NULLOK U32 *packed_warn \
4163 |const bool strict \
4164 |const bool allow_UV_MAX \
4165 |const bool utf8
a5dfa563
YO
4166#endif /* defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_REGCOMP_C) || \
4167 defined(PERL_IN_TOKE_C) */
4168#if defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_REGCOMP_C) || \
4169 defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C)
d6a7165b 4170ERXp |const char *|form_cp_too_large_msg \
a5dfa563
YO
4171 |const U8 which \
4172 |NULLOK const char *string \
4173 |const Size_t len \
4174 |const UV cp
4175#endif /* defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_REGCOMP_C) || \
4176 defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) */
4177#if defined(PERL_IN_DUMP_C)
4178S |CV * |deb_curcv |I32 ix
4179Sd |void |debprof |NN const OP *o
a5dfa563 4180S |SV * |pm_description |NN const PMOP *pm
b8837dad 4181S |UV |sequence_num |NULLOK const OP *o
a5dfa563
YO
4182#endif /* defined(PERL_IN_DUMP_C) */
4183#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || \
4184 defined(PERL_IN_SCOPE_C) || defined(PERL_IN_SV_C)
d6a7165b 4185opx |void |hv_kill_backrefs \
a5dfa563
YO
4186 |NN HV *hv
4187#endif /* defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || \
4188 defined(PERL_IN_SCOPE_C) || defined(PERL_IN_SV_C) */
4189#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_OP_C) || \
4190 defined(PERL_IN_REGCOMP_ANY)
4191EXp |void |_invlist_dump |NN PerlIO *file \
4192 |I32 level \
4193 |NN const char * const indent \
4194 |NN SV * const invlist
4195#endif /* defined(PERL_IN_DUMP_C) || defined(PERL_IN_OP_C) || \
4196 defined(PERL_IN_REGCOMP_ANY) */
4197#if defined(PERL_IN_GV_C)
b8837dad
YO
4198S |bool |find_default_stash \
4199 |NN HV **stash \
a5dfa563 4200 |NN const char *name \
b8837dad
YO
4201 |STRLEN len \
4202 |const U32 is_utf8 \
4203 |const I32 add \
4204 |const svtype sv_type
a5dfa563
YO
4205i |GV * |gv_fetchmeth_internal \
4206 |NULLOK HV *stash \
4207 |NULLOK SV *meth \
4208 |NULLOK const char *name \
4209 |STRLEN len \
4210 |I32 level \
4211 |U32 flags
4212S |void |gv_init_svtype |NN GV *gv \
4213 |const svtype sv_type
b8837dad
YO
4214S |bool |gv_is_in_main |NN const char *name \
4215 |STRLEN len \
4216 |const U32 is_utf8
4217S |bool |gv_magicalize |NN GV *gv \
4218 |NN HV *stash \
4219 |NN const char *name \
4220 |STRLEN len \
4221 |const svtype sv_type
a5dfa563
YO
4222S |void |gv_magicalize_isa \
4223 |NN GV *gv
b8837dad
YO
4224i |HV * |gv_stashpvn_internal \
4225 |NN const char *name \
4226 |U32 namelen \
4227 |I32 flags
4228S |void |maybe_multimagic_gv \
4229 |NN GV *gv \
4230 |NN const char *name \
4231 |const svtype sv_type
a5dfa563
YO
4232S |bool |parse_gv_stash_name \
4233 |NN HV **stash \
4234 |NN GV **gv \
4235 |NN const char **name \
4236 |NN STRLEN *len \
4237 |NN const char *nambeg \
4238 |STRLEN full_len \
4239 |const U32 is_utf8 \
4240 |const I32 add
a5dfa563
YO
4241S |void |require_tie_mod|NN GV *gv \
4242 |NN const char varname \
4243 |NN const char *name \
4244 |STRLEN len \
4245 |const U32 flags
4246#endif /* defined(PERL_IN_GV_C) */
4247#if defined(PERL_IN_GV_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_PAD_C) \
4248 || defined(PERL_IN_SV_C)
4249: Used in gv.c
d6a7165b 4250op |void |sv_add_backref |NN SV * const tsv \
a5dfa563
YO
4251 |NN SV * const sv
4252#endif /* defined(PERL_IN_GV_C) || defined(PERL_IN_OP_C) || \
4253 defined(PERL_IN_PAD_C) || defined(PERL_IN_SV_C) */
4254#if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C)
d6a7165b 4255EGdp |HV * |gv_stashsvpvn_cached \
a5dfa563
YO
4256 |SV *namesv \
4257 |const char *name \
4258 |U32 namelen \
4259 |I32 flags
4260#endif /* defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C) */
4261#if defined(PERL_IN_HV_C)
b8837dad
YO
4262Sx |void |clear_placeholders \
4263 |NN HV *hv \
4264 |U32 items
a5dfa563
YO
4265S |void |hsplit |NN HV *hv \
4266 |STRLEN const oldsize \
4267 |STRLEN newsize
a5dfa563
YO
4268S |struct xpvhv_aux *|hv_auxinit \
4269 |NN HV *hv
4270Sx |SV * |hv_delete_common \
4271 |NULLOK HV *hv \
4272 |NULLOK SV *keysv \
4273 |NULLOK const char *key \
4274 |STRLEN klen \
4275 |int k_flags \
4276 |I32 d_flags \
4277 |U32 hash
b8837dad
YO
4278S |SV * |hv_free_ent_ret|NN HE *entry
4279S |void |hv_free_entries|NN HV *hv
4280ST |void |hv_magic_check |NN HV *hv \
4281 |NN bool *needs_copy \
4282 |NN bool *needs_store
d6a7165b 4283Sr |void |hv_notallowed |int flags \
b8837dad
YO
4284 |NN const char *key \
4285 |I32 klen \
4286 |NN const char *msg
4287S |SV * |refcounted_he_value \
4288 |NN const struct refcounted_he *he
d6a7165b 4289RSTa |HEK * |save_hek_flags |NN const char *str \
b8837dad
YO
4290 |I32 len \
4291 |U32 hash \
4292 |int flags
d6a7165b 4293RS |HEK * |share_hek_flags|NN const char *str \
b8837dad
YO
4294 |STRLEN len \
4295 |U32 hash \
4296 |int flags
4297S |void |unshare_hek_or_pvn \
4298 |NULLOK const HEK *hek \
4299 |NULLOK const char *str \
4300 |I32 len \
4301 |U32 hash
a5dfa563 4302# if !defined(PURIFY)
d6a7165b 4303RS |HE * |new_he
a5dfa563
YO
4304# endif /* !defined(PURIFY) */
4305#endif /* defined(PERL_IN_HV_C) */
4306#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C)
4307: Used in hv.c and mg.c
d6a7165b 4308opx |void |sv_kill_backrefs \
a5dfa563
YO
4309 |NN SV * const sv \
4310 |NULLOK AV * const av
4311#endif /* defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || \
4312 defined(PERL_IN_SV_C) */
4313#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
d6a7165b 4314op |SV * |hfree_next_entry \
a5dfa563
YO
4315 |NN HV *hv \
4316 |NN STRLEN *indexp
4317#endif /* defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) */
4318#if defined(PERL_IN_LOCALE_C)
4319S |utf8ness_t|get_locale_string_utf8ness_i \
4320 |NULLOK const char *string \
4321 |const locale_utf8ness_t known_utf8 \
4322 |NULLOK const char *locale \
4323 |const unsigned cat_index
4324S |bool |is_locale_utf8 |NN const char *locale
4325# if defined(HAS_LOCALECONV)
4326S |HV * |my_localeconv |const int item
4327S |void |populate_hash_from_localeconv \
4328 |NN HV *hv \
4329 |NN const char *locale \
4330 |const U32 which_mask \
4331 |NN const lconv_offset_t *strings[2] \
4332 |NULLOK const lconv_offset_t *integers
4333# endif /* defined(HAS_LOCALECONV) */
4334# if defined(USE_LOCALE)
a5dfa563
YO
4335ST |unsigned int|get_category_index \
4336 |const int category \
4337 |NULLOK const char *locale
04ae22e3
KW
4338ST |int |get_category_index_nowarn \
4339 |const int category
d6a7165b 4340Ri |const char *|mortalized_pv_copy \
b8837dad 4341 |NULLOK const char * const pv
a5dfa563
YO
4342S |void |new_LC_ALL |NULLOK const char *unused \
4343 |bool force
b8837dad
YO
4344So |void |restore_toggled_locale_i \
4345 |const unsigned cat_index \
4346 |NULLOK const char *original_locale \
4347 |const line_t caller_line
4348ST |const char *|save_to_buffer \
4349 |NULLOK const char *string \
a5dfa563 4350 |NULLOK const char **buf \
b8837dad 4351 |NULLOK Size_t *buf_size
a5dfa563
YO
4352Sr |void |setlocale_failure_panic_i \
4353 |const unsigned int cat_index \
4354 |NULLOK const char *current \
4355 |NN const char *failed \
4356 |const line_t caller_0_line \
4357 |const line_t caller_1_line
b8837dad
YO
4358S |const char *|stdize_locale \
4359 |const int category \
4360 |NULLOK const char *input_locale \
4361 |NULLOK const char **buf \
4362 |NULLOK Size_t *buf_size \
4363 |line_t caller_line
a5dfa563
YO
4364So |const char *|toggle_locale_i \
4365 |const unsigned switch_cat_index \
4366 |NN const char *new_locale \
4367 |const line_t caller_line
a5dfa563 4368# if defined(DEBUGGING)
d6a7165b 4369RS |char * |my_setlocale_debug_string_i \
a5dfa563
YO
4370 |const unsigned cat_index \
4371 |NULLOK const char *locale \
4372 |NULLOK const char *retval \
4373 |const line_t line
4374# endif /* defined(DEBUGGING) */
4375# if defined(HAS_NL_LANGINFO) || defined(HAS_NL_LANGINFO_L)
4376S |const char *|my_langinfo_i \
4377 |const nl_item item \
4378 |const unsigned int cat_index \
4379 |NN const char *locale \
4380 |NN const char **retbufp \
4381 |NULLOK Size_t *retbuf_sizep \
4382 |NULLOK utf8ness_t *utf8ness
4383# else /* if !( defined(HAS_NL_LANGINFO) || defined(HAS_NL_LANGINFO_L) ) */
4384S |const char *|my_langinfo_i \
4385 |const int item \
4386 |const unsigned int cat_index \
4387 |NN const char *locale \
4388 |NN const char **retbufp \
4389 |NULLOK Size_t *retbuf_sizep \
4390 |NULLOK utf8ness_t *utf8ness
4391# endif /* !( defined(HAS_NL_LANGINFO) || defined(HAS_NL_LANGINFO_L) ) */
4392# if defined(USE_LOCALE_COLLATE)
4393S |void |new_collate |NN const char *newcoll \
4394 |bool force
4395# if defined(DEBUGGING)
4396S |void |print_collxfrm_input_and_return \
4397 |NN const char *s \
4398 |NN const char *e \
4399 |NULLOK const char *xbuf \
4400 |const STRLEN xlen \
4401 |const bool is_utf8
4402# endif /* defined(DEBUGGING) */
4403# endif /* defined(USE_LOCALE_COLLATE) */
4404# if defined(USE_LOCALE_CTYPE)
a5dfa563
YO
4405ST |bool |is_codeset_name_UTF8 \
4406 |NN const char *name
b8837dad
YO
4407S |void |new_ctype |NN const char *newctype \
4408 |bool force
a5dfa563
YO
4409# endif /* defined(USE_LOCALE_CTYPE) */
4410# if defined(USE_LOCALE_NUMERIC)
4411S |void |new_numeric |NN const char *newnum \
4412 |bool force
4413# endif /* defined(USE_LOCALE_NUMERIC) */
4414# if defined(USE_PERL_SWITCH_LOCALE_CONTEXT) || defined(DEBUGGING)
4415S |const char *|get_LC_ALL_display
4416# endif /* defined(USE_PERL_SWITCH_LOCALE_CONTEXT) || defined(DEBUGGING) */
4417# if defined(USE_POSIX_2008_LOCALE)
4418S |const char *|emulate_setlocale_i \
4419 |const unsigned int index \
4420 |NULLOK const char *new_locale \
4421 |const recalc_lc_all_t recalc_LC_ALL \
4422 |const line_t line
4423S |const char *|my_querylocale_i \
4424 |const unsigned int index
a5dfa563
YO
4425S |const char *|setlocale_from_aggregate_LC_ALL \
4426 |NN const char *locale \
4427 |const line_t line
b8837dad 4428S |locale_t|use_curlocale_scratch
a5dfa563
YO
4429# if defined(USE_QUERYLOCALE)
4430S |const char *|calculate_LC_ALL \
4431 |const locale_t cur_obj
4432# else /* if !defined(USE_QUERYLOCALE) */
4433S |const char *|update_PL_curlocales_i \
4434 |const unsigned int index \
4435 |NN const char *new_locale \
4436 |recalc_lc_all_t recalc_LC_ALL
4437# endif /* !defined(USE_QUERYLOCALE) */
4438# elif defined(USE_LOCALE_THREADS) && !defined(USE_THREAD_SAFE_LOCALE) && \
4439 !defined(USE_THREAD_SAFE_LOCALE_EMULATION) /* && \
4440 !defined(USE_POSIX_2008_LOCALE) */
4441S |const char *|less_dicey_setlocale_r \
4442 |const int category \
4443 |NULLOK const char *locale
4444: Not currently used
4445S |void |less_dicey_void_setlocale_i \
4446 |const unsigned cat_index \
4447 |NN const char *locale \
4448 |const line_t line
4449# if 0
4450S |bool |less_dicey_bool_setlocale_r \
4451 |const int cat \
4452 |NN const char *locale
4453# endif /* 0 */
4454# endif /* ( defined(USE_LOCALE_THREADS) && \
4455 !defined(USE_THREAD_SAFE_LOCALE) && \
4456 !defined(USE_THREAD_SAFE_LOCALE_EMULATION) ) && \
4457 !defined(USE_POSIX_2008_LOCALE) */
4458# if !( defined(USE_POSIX_2008_LOCALE) && defined(USE_QUERYLOCALE) )
4459: regen/embed.pl can't currently cope with 'elif'
4460# if !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || defined(WIN32)
4461S |const char *|calculate_LC_ALL \
4462 |NN const char **individ_locales
4463# endif /* !defined(LC_ALL) || defined(USE_POSIX_2008_LOCALE) || \
4464 defined(WIN32) */
4465# endif /* !( defined(USE_POSIX_2008_LOCALE) && defined(USE_QUERYLOCALE) ) */
4466# if ( defined(USE_POSIX_2008_LOCALE) && !defined(USE_QUERYLOCALE) ) || \
4467 defined(WIN32)
4468S |const char *|find_locale_from_environment \
4469 |const unsigned int index
4470# endif /* ( defined(USE_POSIX_2008_LOCALE) && !defined(USE_QUERYLOCALE) ) \
4471 || defined(WIN32) */
4472# if defined(WIN32)
a5dfa563
YO
4473ST |wchar_t *|Win_byte_string_to_wstring \
4474 |const UINT code_page \
4475 |NULLOK const char *byte_string
b8837dad
YO
4476S |const char *|win32_setlocale \
4477 |int category \
4478 |NULLOK const char *locale
a5dfa563
YO
4479ST |char * |Win_wstring_to_byte_string \
4480 |const UINT code_page \
4481 |NULLOK const wchar_t *wstring
4482S |const char *|wrap_wsetlocale \
4483 |const int category \
4484 |NULLOK const char *locale
4485# endif /* defined(WIN32) */
4486# endif /* defined(USE_LOCALE) */
4487# if defined(USE_POSIX_2008_LOCALE) || defined(DEBUGGING)
4488S |const char *|get_displayable_string \
4489 |NN const char * const s \
4490 |NN const char * const e \
4491 |const bool is_utf8
4492# endif /* defined(USE_POSIX_2008_LOCALE) || defined(DEBUGGING) */
4493#endif /* defined(PERL_IN_LOCALE_C) */
4494#if defined(PERL_IN_MALLOC_C)
4495ST |int |adjust_size_and_find_bucket \
4496 |NN size_t *nbytes_p
4497#endif /* defined(PERL_IN_MALLOC_C) */
4498#if defined(PERL_IN_MG_C)
b8837dad
YO
4499
4500S |void |fixup_errno_string \
4501 |NN SV *sv
a5dfa563
YO
4502S |SV * |magic_methcall1|NN SV *sv \
4503 |NN const MAGIC *mg \
4504 |NN SV *meth \
4505 |U32 flags \
4506 |int n \
4507 |NULLOK SV *val
b8837dad
YO
4508S |int |magic_methpack |NN SV *sv \
4509 |NN const MAGIC *mg \
4510 |NN SV *meth
a5dfa563 4511S |void |restore_magic |NULLOK const void *p
b8837dad
YO
4512S |void |save_magic_flags \
4513 |SSize_t mgs_ix \
4514 |NN SV *sv \
4515 |U32 flags
a5dfa563
YO
4516S |void |unwind_handler_stack \
4517 |NULLOK const void *p
a5dfa563
YO
4518#endif /* defined(PERL_IN_MG_C) */
4519#if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
d6a7165b 4520Tp |bool |translate_substr_offsets \
a5dfa563
YO
4521 |STRLEN curlen \
4522 |IV pos1_iv \
4523 |bool pos1_is_uv \
4524 |IV len_iv \
4525 |bool len_is_uv \
4526 |NN STRLEN *posp \
4527 |NN STRLEN *lenp
4528#endif /* defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C) */
4529#if defined(PERL_IN_MRO_C)
a5dfa563
YO
4530S |void |mro_clean_isarev \
4531 |NN HV * const isa \
4532 |NN const char * const name \
4533 |const STRLEN len \
4534 |NULLOK HV * const exceptions \
4535 |U32 hash \
4536 |U32 flags
4537S |void |mro_gather_and_rename \
4538 |NN HV * const stashes \
4539 |NN HV * const seen_stashes \
4540 |NULLOK HV *stash \
4541 |NULLOK HV *oldstash \
4542 |NN SV *namesv
b8837dad
YO
4543Sd |AV * |mro_get_linear_isa_dfs \
4544 |NN HV *stash \
4545 |U32 level
a5dfa563
YO
4546#endif /* defined(PERL_IN_MRO_C) */
4547#if defined(PERL_IN_NUMERIC_C)
4548S |void |output_non_portable \
4549 |const U8 shift
4550#endif /* defined(PERL_IN_NUMERIC_C) */
4551#if defined(PERL_IN_OP_C)
b8837dad
YO
4552S |void |apply_attrs |NN HV *stash \
4553 |NN SV *target \
4554 |NULLOK OP *attrs
4555S |void |apply_attrs_my |NN HV *stash \
4556 |NN OP *target \
4557 |NULLOK OP *attrs \
4558 |NN OP **imopsp
d6a7165b 4559RS |I32 |assignment_type|NULLOK const OP *o
b8837dad
YO
4560S |void |bad_type_gv |I32 n \
4561 |NN GV *gv \
4562 |NN const OP *kid \
4563 |NN const char *t
4564S |void |bad_type_pv |I32 n \
4565 |NN const char *t \
4566 |NN const OP *o \
4567 |NN const OP *kid
4568S |void |clear_special_blocks \
4569 |NN const char * const fullname \
4570 |NN GV * const gv \
4571 |NN CV * const cv
4572S |void |cop_free |NN COP *cop
4573S |OP * |dup_attrlist |NN OP *o
4574S |void |find_and_forget_pmops \
4575 |NN OP *o
4576: FIXME
4577S |OP * |fold_constants |NN OP * const o
a5dfa563
YO
4578S |OP * |force_list |NULLOK OP *arg \
4579 |bool nullit
b8837dad
YO
4580S |void |forget_pmop |NN PMOP * const o
4581S |void |gen_constant_list \
4582 |NULLOK OP *o
4583S |void |inplace_aassign|NN OP *o
d6a7165b 4584RST |bool |is_handle_constructor \
b8837dad
YO
4585 |NN const OP *o \
4586 |I32 numargs
4587S |OP * |listkids |NULLOK OP *o
4588S |bool |looks_like_bool|NN const OP *o
4589S |OP * |modkids |NULLOK OP *o \
4590 |I32 type
4591S |void |move_proto_attr|NN OP **proto \
4592 |NN OP **attrs \
4593 |NN const GV *name \
4594 |bool curstash
4595S |OP * |my_kid |NULLOK OP *o \
4596 |NULLOK OP *attrs \
4597 |NN OP **imopsp
4598S |OP * |newGIVWHENOP |NULLOK OP *cond \
4599 |NN OP *block \
4600 |I32 enter_opcode \
4601 |I32 leave_opcode \
4602 |PADOFFSET entertarg
d6a7165b 4603RS |OP * |new_logop |I32 type \
b8837dad
YO
4604 |I32 flags \
4605 |NN OP **firstp \
4606 |NN OP **otherp
a5dfa563
YO
4607i |OP * |newMETHOP_internal \
4608 |I32 type \
4609 |I32 flags \
4610 |NULLOK OP *dynamic_meth \
4611 |NULLOK SV * const_meth
d6a7165b 4612RS |OP * |no_fh_allowed |NN OP *o
b8837dad
YO
4613i |OP * |op_integerize |NN OP *o
4614i |OP * |op_std_init |NN OP *o
a5dfa563
YO
4615S |OP * |pmtrans |NN OP *o \
4616 |NN OP *expr \
4617 |NN OP *repl
b8837dad
YO
4618S |bool |process_special_blocks \
4619 |I32 floor \
4620 |NN const char * const fullname \
4621 |NN GV * const gv \
4622 |NN CV * const cv
4623S |OP * |ref_array_or_hash \
4624 |NULLOK OP *cond
a5dfa563
YO
4625S |OP * |refkids |NULLOK OP *o \
4626 |I32 type
b8837dad 4627S |OP * |scalarboolean |NN OP *o
a5dfa563 4628S |OP * |scalarkids |NULLOK OP *o
d6a7165b 4629RST |bool |scalar_mod_type|NULLOK const OP *o \
a5dfa563 4630 |I32 type
d6a7165b 4631RS |OP * |search_const |NN OP *o
a5dfa563 4632S |void |simplify_sort |NN OP *o
d6a7165b 4633RS |OP * |too_few_arguments_pv \
a5dfa563
YO
4634 |NN OP *o \
4635 |NN const char *name \
4636 |U32 flags
4637S |OP * |too_many_arguments_pv \
4638 |NN OP *o \
4639 |NN const char *name \
4640 |U32 flags
b8837dad 4641S |OP * |voidnonfinal |NULLOK OP *o
a5dfa563
YO
4642#endif /* defined(PERL_IN_OP_C) */
4643#if defined(PERL_IN_OP_C) || defined(PERL_IN_PAD_C)
d6a7165b 4644Ti |bool |PadnameIN_SCOPE|NN const PADNAME * const pn \
a5dfa563
YO
4645 |const U32 seq
4646#endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PAD_C) */
4647#if defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C)
a5dfa563
YO
4648p |void |check_hash_fields_and_hekify \
4649 |NULLOK UNOP *rop \
4650 |NULLOK SVOP *key_op \
4651 |int real
b8837dad
YO
4652p |void |no_bareword_allowed \
4653 |NN OP *o
d6a7165b 4654Tp |void |op_prune_chain_head \
b8837dad 4655 |NN OP **op_p
a5dfa563 4656p |SV * |op_varname |NN const OP *o
a5dfa563
YO
4657p |void |warn_elem_scalar_context \
4658 |NN const OP *o \
4659 |NN SV *name \
4660 |bool is_hash \
4661 |bool is_slice
4662# if defined(USE_ITHREADS)
4663p |void |op_relocate_sv |NN SV **svp \
4664 |NN PADOFFSET *targp
4665# endif /* defined(USE_ITHREADS) */
4666#endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PEEP_C) */
4667#if defined(PERL_IN_OP_C) || defined(PERL_IN_PERLY_C) || \
4668 defined(PERL_IN_TOKE_C)
d6a7165b 4669Mbp |OP * |ref |NULLOK OP *o \
a5dfa563
YO
4670 |I32 type
4671#endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_PERLY_C) || \
4672 defined(PERL_IN_TOKE_C) */
4673#if defined(PERL_IN_OP_C) || defined(PERL_IN_REGCOMP_ANY)
d6a7165b 4674ERTi |STRLEN *|get_invlist_iter_addr \
a5dfa563 4675 |NN SV *invlist
d6a7165b 4676ETi |void |invlist_iterfinish \
b8837dad 4677 |NN SV *invlist
d6a7165b 4678ETi |void |invlist_iterinit \
a5dfa563 4679 |NN SV *invlist
d6a7165b 4680ERTi |bool |invlist_iternext \
a5dfa563
YO
4681 |NN SV *invlist \
4682 |NN UV *start \
4683 |NN UV *end
a5dfa563
YO
4684#endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_REGCOMP_ANY) */
4685#if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C)
4686p |void |report_redefined_cv \
4687 |NN const SV *name \
4688 |NN const CV *old_cv \
4689 |NULLOK SV * const *new_const_svp
d6a7165b 4690Rp |SV * |varname |NULLOK const GV * const gv \
a5dfa563
YO
4691 |const char gvtype \
4692 |PADOFFSET targ \
4693 |NULLOK const SV * const keyname \
4694 |SSize_t aindex \
4695 |int subscript_type
4696#endif /* defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C) */
4697#if defined(PERL_IN_PAD_C)
4698Sd |PADOFFSET|pad_alloc_name \
4699 |NN PADNAME *name \
4700 |U32 flags \
4701 |NULLOK HV *typestash \
4702 |NULLOK HV *ourstash
4703Sd |void |pad_check_dup |NN PADNAME *name \
4704 |U32 flags \
4705 |NULLOK const HV *ourstash
4706Sd |PADOFFSET|pad_findlex |NN const char *namepv \
4707 |STRLEN namelen \
4708 |U32 flags \
4709 |NN const CV *cv \
4710 |U32 seq \
4711 |int warn \
4712 |NULLOK SV **out_capture \
4713 |NN PADNAME **out_name \
4714 |NN int *out_flags
4715Sd |void |pad_reset
4716# if defined(DEBUGGING)
4717Sd |void |cv_dump |NN const CV *cv \
4718 |NN const char *title
4719# endif /* defined(DEBUGGING) */
4720#endif /* defined(PERL_IN_PAD_C) */
4721#if defined(PERL_IN_PEEP_C)
a5dfa563 4722S |void |finalize_op |NN OP *o
b8837dad 4723S |void |optimize_op |NN OP *o
a5dfa563
YO
4724Sd |OP * |traverse_op_tree \
4725 |NN OP *top \
4726 |NN OP *o
4727#endif /* defined(PERL_IN_PEEP_C) */
4728#if defined(PERL_IN_PERL_C)
4729S |void |find_beginning |NN SV *linestr_sv \
4730 |NN PerlIO *rsfp
4731S |void |forbid_setid |const char flag \
4732 |const bool suidscript
4733S |void |incpush |NN const char * const dir \
4734 |STRLEN len \
4735 |U32 flags
a5dfa563
YO
4736S |void |incpush_use_sep|NN const char *p \
4737 |STRLEN len \
4738 |U32 flags
a5dfa563 4739S |void |init_ids
b8837dad 4740S |void |init_interp
a5dfa563
YO
4741S |void |init_main_stash
4742S |void |init_perllib
4743S |void |init_postdump_symbols \
4744 |int argc \
4745 |NN char **argv \
4746 |NULLOK char **env
4747S |void |init_predump_symbols
b8837dad
YO
4748S |SV * |mayberelocate |NN const char * const dir \
4749 |STRLEN len \
4750 |U32 flags
4751Sr |void |minus_v
d6a7165b 4752Sr |void |my_exit_jump
a5dfa563
YO
4753S |void |nuke_stacks
4754S |PerlIO *|open_script |NN const char *scriptname \
4755 |bool dosearch \
4756 |NN bool *suidscript
c1e47bad 4757
a5dfa563
YO
4758S |void * |parse_body |NULLOK char **env \
4759 |XSINIT_t xsinit
d6a7165b 4760Sr |void |run_body |I32 oldscope
b8837dad 4761Sr |void |usage
a5dfa563
YO
4762# if !defined(PERL_IS_MINIPERL)
4763S |SV * |incpush_if_exists \
4764 |NN AV * const av \
4765 |NN SV *dir \
4766 |NN SV * const stem
4767# endif /* !defined(PERL_IS_MINIPERL) */
4768# if !defined(SETUID_SCRIPTS_ARE_SECURE_NOW)
4769So |void |validate_suid |NN PerlIO *rsfp
4770# endif /* !defined(SETUID_SCRIPTS_ARE_SECURE_NOW) */
4771#endif /* defined(PERL_IN_PERL_C) */
4772#if defined(PERL_IN_PERL_C) || defined(PERL_IN_REGCOMP_ANY) || \
4773 defined(PERL_IN_UTF8_C)
a5dfa563
YO
4774EXp |bool |_invlistEQ |NN SV * const a \
4775 |NN SV * const b \
4776 |const bool complement_b
d6a7165b 4777ERXp |SV * |_new_invlist_C_array \
b8837dad 4778 |NN const UV * const list
a5dfa563
YO
4779#endif /* defined(PERL_IN_PERL_C) || defined(PERL_IN_REGCOMP_ANY) || \
4780 defined(PERL_IN_UTF8_C) */
4781#if defined(PERL_IN_PP_C)
4782S |size_t |do_chomp |NN SV *retval \
4783 |NN SV *sv \
4784 |bool chomping
4785S |OP * |do_delete_local
d6a7165b 4786RS |SV * |refto |NN SV *sv
a5dfa563
YO
4787#endif /* defined(PERL_IN_PP_C) */
4788#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
d6a7165b 4789RTi |bool |lossless_NV_to_IV \
b8837dad
YO
4790 |const NV nv \
4791 |NN IV *ivp
a5dfa563 4792: Used in pp_hot.c
d6a7165b 4793Reop |GV * |softref2xv |NN SV * const sv \
a5dfa563
YO
4794 |NN const char * const what \
4795 |const svtype type \
4796 |NN SV ***spp
a5dfa563
YO
4797#endif /* defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) */
4798#if defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_ANY) || \
4799 defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C)
d6a7165b 4800ETi |const char *|get_regex_charset_name \
a5dfa563
YO
4801 |const U32 flags \
4802 |NN STRLEN * const lenp
4803#endif /* defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_ANY) || \
4804 defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C) */
4805#if defined(PERL_IN_PP_C) || defined(PERL_IN_UTF8_C)
4806p |UV |_to_upper_title_latin1 \
4807 |const U8 c \
4808 |NN U8 *p \
4809 |NN STRLEN *lenp \
4810 |const char S_or_s
4811#endif /* defined(PERL_IN_PP_C) || defined(PERL_IN_UTF8_C) */
4812#if defined(PERL_IN_PP_CTL_C)
d6a7165b 4813RS |PerlIO *|check_type_and_open \
b8837dad
YO
4814 |NN SV *name
4815S |void |destroy_matcher|NN PMOP *matcher
d6a7165b 4816RSd |OP * |docatch |Perl_ppaddr_t firstpp
b8837dad
YO
4817S |bool |doeval_compile |U8 gimme \
4818 |NULLOK CV *outside \
4819 |U32 seq \
4820 |NULLOK HV *hh
d6a7165b 4821RS |OP * |dofindlabel |NN OP *o \
a5dfa563
YO
4822 |NN const char *label \
4823 |STRLEN len \
4824 |U32 flags \
4825 |NN OP **opstack \
4826 |NN OP **oplimit
4827S |MAGIC *|doparseform |NN SV *sv
d6a7165b
YO
4828RS |I32 |dopoptoeval |I32 startingblock
4829RS |I32 |dopoptogivenfor|I32 startingblock
4830RS |I32 |dopoptolabel |NN const char *label \
a5dfa563
YO
4831 |STRLEN len \
4832 |U32 flags
d6a7165b
YO
4833RS |I32 |dopoptoloop |I32 startingblock
4834RS |I32 |dopoptosub_at |NN const PERL_CONTEXT *cxstk \
a5dfa563 4835 |I32 startingblock
d6a7165b 4836RS |I32 |dopoptowhen |I32 startingblock
b8837dad
YO
4837S |OP * |do_smartmatch |NULLOK HV *seen_this \
4838 |NULLOK HV *seen_other \
4839 |const bool copied
d6a7165b
YO
4840RS |PMOP * |make_matcher |NN REGEXP *re
4841RS |bool |matcher_matches_sv \
b8837dad 4842 |NN PMOP *matcher \
a5dfa563 4843 |NN SV *sv
d6a7165b 4844RST |bool |num_overflow |NV value \
b8837dad
YO
4845 |I32 fldsize \
4846 |I32 frcsize
d6a7165b 4847RTi |bool |path_is_searchable \
a5dfa563 4848 |NN const char *name
d6a7165b 4849RS |I32 |run_user_filter|int idx \
a5dfa563
YO
4850 |NN SV *buf_sv \
4851 |int maxlen
b8837dad
YO
4852S |void |rxres_free |NN void **rsp
4853S |void |rxres_restore |NN void **rsp \
4854 |NN REGEXP *rx
4855S |void |save_lines |NULLOK AV *array \
a5dfa563 4856 |NN SV *sv
a5dfa563 4857# if !defined(PERL_DISABLE_PMC)
d6a7165b 4858RS |PerlIO *|doopen_pm |NN SV *name
a5dfa563
YO
4859# endif /* !defined(PERL_DISABLE_PMC) */
4860#endif /* defined(PERL_IN_PP_CTL_C) */
8a849141
YO
4861#if defined(PERL_IN_PP_CTL_C) || defined(PERL_IN_UTIL_C)
4862p |bool |invoke_exception_hook \
4863 |NULLOK SV *ex \
4864 |bool warn
4865#endif /* defined(PERL_IN_PP_CTL_C) || defined(PERL_IN_UTIL_C) */
a5dfa563 4866#if defined(PERL_IN_PP_HOT_C)
a5dfa563
YO
4867S |void |do_oddball |NN SV **oddkey \
4868 |NN SV **firstkey
4869i |HV * |opmethod_stash |NN SV *meth
b8837dad
YO
4870IR |bool |should_we_output_Debug_r \
4871 |NN regexp *prog
a5dfa563
YO
4872#endif /* defined(PERL_IN_PP_HOT_C) */
4873#if defined(PERL_IN_PP_PACK_C)
a5dfa563
YO
4874S |int |div128 |NN SV *pnum \
4875 |NN bool *done
d6a7165b 4876ST |char |first_symbol |NN const char *pat \
b8837dad 4877 |NN const char *patend
d6a7165b 4878RS |const char *|get_num |NN const char *patptr \
b8837dad 4879 |NN SSize_t *lenptr
a5dfa563
YO
4880S |const char *|group_end |NN const char *patptr \
4881 |NN const char *patend \
4882 |char ender
d6a7165b 4883RS |SV * |is_an_int |NN const char *s \
b8837dad
YO
4884 |STRLEN l
4885S |SSize_t|measure_struct |NN struct tempsym *symptr
4886S |SV * |mul128 |NN SV *sv \
4887 |U8 m
d6a7165b 4888RST |char * |my_bytes_to_utf8 \
a5dfa563
YO
4889 |NN const U8 *start \
4890 |STRLEN len \
4891 |NN char *dest \
4892 |const bool needs_swap
d6a7165b 4893ST |bool |need_utf8 |NN const char *pat \
b8837dad
YO
4894 |NN const char *patend
4895S |bool |next_symbol |NN struct tempsym *symptr
4896S |SV ** |pack_rec |NN SV *cat \
4897 |NN struct tempsym *symptr \
4898 |NN SV **beglist \
4899 |NN SV **endlist
d6a7165b 4900RS |char * |sv_exp_grow |NN SV *sv \
b8837dad
YO
4901 |STRLEN needed
4902S |SSize_t|unpack_rec |NN struct tempsym *symptr \
4903 |NN const char *s \
4904 |NN const char *strbeg \
4905 |NN const char *strend \
4906 |NULLOK const char **new_s
a5dfa563
YO
4907#endif /* defined(PERL_IN_PP_PACK_C) */
4908#if defined(PERL_IN_PP_SORT_C)
b8837dad
YO
4909i |I32 |amagic_cmp |NN SV * const str1 \
4910 |NN SV * const str2
4911i |I32 |amagic_cmp_desc|NN SV * const str1 \
4912 |NN SV * const str2
4913i |I32 |amagic_i_ncmp |NN SV * const a \
a5dfa563 4914 |NN SV * const b
b8837dad
YO
4915i |I32 |amagic_i_ncmp_desc \
4916 |NN SV * const a \
a5dfa563
YO
4917 |NN SV * const b
4918i |I32 |amagic_ncmp |NN SV * const a \
4919 |NN SV * const b
4920i |I32 |amagic_ncmp_desc \
4921 |NN SV * const a \
4922 |NN SV * const b
a5dfa563
YO
4923i |I32 |cmp_desc |NN SV * const str1 \
4924 |NN SV * const str2
4925S |I32 |sortcv |NN SV * const a \
4926 |NN SV * const b
a5dfa563
YO
4927S |I32 |sortcv_stacked |NN SV * const a \
4928 |NN SV * const b
b8837dad
YO
4929S |I32 |sortcv_xsub |NN SV * const a \
4930 |NN SV * const b
a5dfa563
YO
4931I |void |sortsv_flags_impl \
4932 |NULLOK SV **array \
4933 |size_t num_elts \
4934 |NN SVCOMPARE_t cmp \
4935 |U32 flags
b8837dad
YO
4936i |I32 |sv_i_ncmp |NN SV * const a \
4937 |NN SV * const b
4938i |I32 |sv_i_ncmp_desc |NN SV * const a \
4939 |NN SV * const b
4940i |I32 |sv_ncmp |NN SV * const a \
4941 |NN SV * const b
4942i |I32 |sv_ncmp_desc |NN SV * const a \
4943 |NN SV * const b
a5dfa563
YO
4944# if defined(USE_LOCALE_COLLATE)
4945i |I32 |amagic_cmp_locale \
4946 |NN SV * const str1 \
4947 |NN SV * const str2
4948i |I32 |amagic_cmp_locale_desc \
4949 |NN SV * const str1 \
4950 |NN SV * const str2
4951i |I32 |cmp_locale_desc|NN SV * const str1 \
4952 |NN SV * const str2
4953# endif /* defined(USE_LOCALE_COLLATE) */
4954#endif /* defined(PERL_IN_PP_SORT_C) */
4955#if defined(PERL_IN_PP_SYS_C)
4956S |OP * |doform |NN CV *cv \
4957 |NN GV *gv \
4958 |NULLOK OP *retop
4959S |SV * |space_join_names_mortal \
4960 |NULLOK char * const *array
4961# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
d6a7165b 4962RS |int |dooneliner |NN const char *cmd \
a5dfa563
YO
4963 |NN const char *filename
4964# endif /* !defined(HAS_MKDIR) || !defined(HAS_RMDIR) */
4965#endif /* defined(PERL_IN_PP_SYS_C) */
4966#if defined(PERL_IN_REGCOMP_ANY)
a5dfa563
YO
4967Ep |void |add_above_Latin1_folds \
4968 |NN RExC_state_t *pRExC_state \
4969 |const U8 cp \
4970 |NN SV **invlist
b8837dad
YO
4971Ep |regnode *|construct_ahocorasick_from_trie \
4972 |NN RExC_state_t *pRExC_state \
4973 |NN regnode *source \
4974 |U32 depth
d6a7165b 4975ERp |SV * |get_ANYOFHbbm_contents \
b8837dad 4976 |NN const regnode *n
d6a7165b 4977ERp |SV * |get_ANYOFM_contents \
b8837dad 4978 |NN const regnode *n
d6a7165b 4979ERi |SV * |invlist_contents \
b8837dad
YO
4980 |NN SV * const invlist \
4981 |const bool traditional_style
d6a7165b 4982ERTix |UV |invlist_highest_range_start \
b8837dad 4983 |NN SV * const invlist
d6a7165b 4984ERTi |bool |invlist_is_iterating \
b8837dad 4985 |NN const SV * const invlist
d6a7165b 4986ERTix |UV |invlist_lowest |NN SV * const invlist
a5dfa563
YO
4987ETp |bool |is_ssc_worth_it|NN const RExC_state_t *pRExC_state \
4988 |NN const regnode_ssc *ssc
a5dfa563
YO
4989Ep |U32 |join_exact |NN RExC_state_t *pRExC_state \
4990 |NN regnode *scan \
4991 |NN UV *min_subtract \
4992 |NN bool *unfolded_multi_char \
4993 |U32 flags \
4994 |NULLOK regnode *val \
4995 |U32 depth
a5dfa563
YO
4996Ep |I32 |make_trie |NN RExC_state_t *pRExC_state \
4997 |NN regnode *startbranch \
4998 |NN regnode *first \
4999 |NN regnode *last \
5000 |NN regnode *tail \
5001 |U32 word_count \
5002 |U32 flags \
5003 |U32 depth
b8837dad
YO
5004Ep |void |populate_anyof_bitmap_from_invlist \
5005 |NN regnode *node \
5006 |NN SV **invlist_ptr
d6a7165b 5007ERTp |U32 |reg_add_data |NN RExC_state_t * const pRExC_state \
b8837dad
YO
5008 |NN const char * const s \
5009 |const U32 n
5010Ep |void |scan_commit |NN const RExC_state_t *pRExC_state \
5011 |NN struct scan_data_t *data \
5012 |NN SSize_t *minlenp \
5013 |int is_inf
5014Ep |void |set_ANYOF_arg |NN RExC_state_t * const pRExC_state \
5015 |NN regnode * const node \
5016 |NULLOK SV * const cp_list \
5017 |NULLOK SV * const runtime_defns \
5018 |NULLOK SV * const only_utf8_locale_list
5019Ep |void |ssc_finalize |NN RExC_state_t *pRExC_state \
5020 |NN regnode_ssc *ssc
5021Ep |void |ssc_init |NN const RExC_state_t *pRExC_state \
5022 |NN regnode_ssc *ssc
5023Ep |SSize_t|study_chunk |NN RExC_state_t *pRExC_state \
5024 |NN regnode **scanp \
5025 |NN SSize_t *minlenp \
5026 |NN SSize_t *deltap \
5027 |NN regnode *last \
5028 |NULLOK struct scan_data_t *data \
5029 |I32 stopparen \
5030 |U32 recursed_depth \
5031 |NULLOK regnode_ssc *and_withp \
5032 |U32 flags \
5033 |U32 depth \
5034 |bool was_mutate_ok
a5dfa563
YO
5035# if defined(PERL_IN_REGCOMP_TRIE_C) && defined(DEBUGGING)
5036ES |void |dump_trie |NN const struct _reg_trie_data *trie \
5037 |NULLOK HV *widecharmap \
5038 |NN AV *revcharmap \
5039 |U32 depth
5040ES |void |dump_trie_interim_list \
5041 |NN const struct _reg_trie_data *trie \
5042 |NULLOK HV *widecharmap \
5043 |NN AV *revcharmap \
5044 |U32 next_alloc \
5045 |U32 depth
5046ES |void |dump_trie_interim_table \
5047 |NN const struct _reg_trie_data *trie \
5048 |NULLOK HV *widecharmap \
5049 |NN AV *revcharmap \
5050 |U32 next_alloc \
5051 |U32 depth
5052# endif /* defined(PERL_IN_REGCOMP_TRIE_C) && defined(DEBUGGING) */
5053#endif /* defined(PERL_IN_REGCOMP_ANY) */
5054#if defined(PERL_IN_REGCOMP_ANY) || defined(PERL_IN_SV_C)
d6a7165b 5055EXp |SV * |invlist_clone |NN SV * const invlist \
a5dfa563
YO
5056 |NULLOK SV *newlist
5057#endif /* defined(PERL_IN_REGCOMP_ANY) || defined(PERL_IN_SV_C) */
5058#if defined(PERL_IN_REGCOMP_C)
b8837dad
YO
5059ES |AV * |add_multi_match|NULLOK AV *multi_char_matches \
5060 |NN SV *multi_string \
5061 |const STRLEN cp_count
a5dfa563
YO
5062ES |void |change_engine_size \
5063 |NN RExC_state_t *pRExC_state \
5064 |const Ptrdiff_t size
b8837dad
YO
5065ERS |REGEXP *|compile_wildcard \
5066 |NN const char *subpattern \
5067 |const STRLEN len \
5068 |const bool ignore_case
5069EST |U8 |compute_EXACTish \
5070 |NN RExC_state_t *pRExC_state
d6a7165b 5071ERST |int |edit_distance |NN const UV *src \
b8837dad
YO
5072 |NN const UV *tgt \
5073 |const STRLEN x \
5074 |const STRLEN y \
5075 |const SSize_t maxDistance
5076ES |I32 |execute_wildcard \
5077 |NN REGEXP * const prog \
5078 |NN char *stringarg \
5079 |NN char *strend \
5080 |NN char *strbeg \
5081 |SSize_t minend \
5082 |NN SV *screamer \
5083 |U32 nosave
d6a7165b 5084ETi |Size_t |find_first_differing_byte_pos \
a5dfa563
YO
5085 |NN const U8 *s1 \
5086 |NN const U8 *s2 \
5087 |const Size_t max
b8837dad
YO
5088ES |U32 |get_quantifier_value \
5089 |NN RExC_state_t *pRExC_state \
5090 |NN const char *start \
5091 |NN const char *end
5092ES |bool |grok_bslash_N |NN RExC_state_t *pRExC_state \
5093 |NULLOK regnode_offset *nodep \
5094 |NULLOK UV *code_point_p \
5095 |NULLOK int *cp_count \
a5dfa563 5096 |NN I32 *flagp \
a5dfa563 5097 |const bool strict \
b8837dad
YO
5098 |const U32 depth
5099ES |regnode_offset|handle_named_backref \
5100 |NN RExC_state_t *pRExC_state \
5101 |NN I32 *flagp \
5102 |NN char *backref_parse_start \
5103 |char ch
5104ES |bool |handle_names_wildcard \
5105 |NN const char *wname \
5106 |const STRLEN wname_len \
5107 |NN SV **prop_definition \
5108 |NN AV **strings
5109ES |int |handle_possible_posix \
5110 |NN RExC_state_t *pRExC_state \
5111 |NN const char * const s \
5112 |NULLOK char **updated_parse_ptr \
5113 |NULLOK AV **posix_warnings \
5114 |const bool check_only
5115ES |regnode_offset|handle_regex_sets \
5116 |NN RExC_state_t *pRExC_state \
5117 |NULLOK SV **return_invlist \
5118 |NN I32 *flagp \
5119 |U32 depth
5120ES |SV * |handle_user_defined_property \
5121 |NN const char *name \
5122 |const STRLEN name_len \
5123 |const bool is_utf8 \
5124 |const bool to_fold \
5125 |const bool runtime \
5126 |const bool deferrable \
5127 |NN SV *contents \
5128 |NN bool *user_defined_ptr \
5129 |NN SV *msg \
5130 |const STRLEN level
5131ES |void |nextchar |NN RExC_state_t *pRExC_state
a5dfa563
YO
5132ES |U8 |optimize_regclass \
5133 |NN RExC_state_t *pRExC_state \
5134 |NULLOK SV *cp_list \
5135 |NULLOK SV *only_utf8_locale_list \
5136 |NULLOK SV *upper_latin1_only_utf8_matches \
5137 |const U32 has_runtime_dependency \
5138 |const U32 posixl \
5139 |NN U8 *anyof_flags \
5140 |NN bool *invert \
5141 |NN regnode_offset *ret \
5142 |NN I32 *flagp
b8837dad
YO
5143ES |void |output_posix_warnings \
5144 |NN RExC_state_t *pRExC_state \
5145 |NN AV *posix_warnings
5146ES |void |parse_lparen_question_flags \
5147 |NN RExC_state_t *pRExC_state
a5dfa563
YO
5148ES |SV * |parse_uniprop_string \
5149 |NN const char * const name \
5150 |Size_t name_len \
5151 |const bool is_utf8 \
5152 |const bool to_fold \
5153 |const bool runtime \
5154 |const bool deferrable \
5155 |NULLOK AV **strings \
5156 |NN bool *user_defined_ptr \
5157 |NN SV *msg \
5158 |const STRLEN level
d6a7165b 5159Sfr |void |re_croak |bool utf8 \
b8837dad
YO
5160 |NN const char *pat \
5161 |...
5162ES |regnode_offset|reg |NN RExC_state_t *pRExC_state \
5163 |I32 paren \
a5dfa563 5164 |NN I32 *flagp \
b8837dad 5165 |U32 depth
b8837dad 5166ES |regnode_offset|regatom |NN RExC_state_t *pRExC_state \
a5dfa563
YO
5167 |NN I32 *flagp \
5168 |U32 depth
b8837dad 5169ES |regnode_offset|regbranch \
a5dfa563 5170 |NN RExC_state_t *pRExC_state \
a5dfa563 5171 |NN I32 *flagp \
b8837dad 5172 |I32 first \
a5dfa563 5173 |U32 depth
b8837dad 5174ES |regnode_offset|regclass|NN RExC_state_t *pRExC_state \
a5dfa563 5175 |NN I32 *flagp \
b8837dad
YO
5176 |U32 depth \
5177 |const bool stop_at_1 \
5178 |bool allow_multi_fold \
5179 |const bool silence_non_portable \
a5dfa563 5180 |const bool strict \
b8837dad
YO
5181 |bool optimizable \
5182 |NULLOK SV **ret_invlist
d6a7165b 5183ERST |unsigned int|regex_set_precedence \
b8837dad 5184 |const U8 my_operator
a5dfa563
YO
5185ES |void |reginsert |NN RExC_state_t *pRExC_state \
5186 |const U8 op \
5187 |const regnode_offset operand \
5188 |const U32 depth
b8837dad
YO
5189ES |regnode_offset|reg_la_NOTHING \
5190 |NN RExC_state_t *pRExC_state \
5191 |U32 flags \
5192 |NN const char *type
5193ES |regnode_offset|reg_la_OPFAIL \
5194 |NN RExC_state_t *pRExC_state \
5195 |U32 flags \
5196 |NN const char *type
17e3e02a
YO
5197ES |regnode_offset|reg1node|NN RExC_state_t *pRExC_state \
5198 |U8 op \
5199 |U32 arg
5200ES |regnode_offset|reg2node|NN RExC_state_t *pRExC_state \
5201 |const U8 op \
5202 |const U32 arg1 \
5203 |const I32 arg2
b8837dad
YO
5204ES |regnode_offset|reg_node|NN RExC_state_t *pRExC_state \
5205 |U8 op
5206ES |regnode_offset|regnode_guts \
5207 |NN RExC_state_t *pRExC_state \
5208 |const STRLEN extra_len
5209ES |regnode_offset|regpiece|NN RExC_state_t *pRExC_state \
5210 |NN I32 *flagp \
5211 |U32 depth
5212ES |regnode_offset|regpnode|NN RExC_state_t *pRExC_state \
5213 |U8 op \
5214 |NN SV *arg
5215ES |SV * |reg_scan_name |NN RExC_state_t *pRExC_state \
5216 |U32 flags
d6a7165b 5217ETi |char * |reg_skipcomment|NN RExC_state_t *pRExC_state \
b8837dad 5218 |NN char *p
d6a7165b 5219ERS |bool |regtail |NN RExC_state_t *pRExC_state \
a5dfa563
YO
5220 |NN const regnode_offset p \
5221 |NN const regnode_offset val \
5222 |const U32 depth
b8837dad
YO
5223ES |void |set_regex_pv |NN RExC_state_t *pRExC_state \
5224 |NN REGEXP *Rx
a5dfa563
YO
5225ES |void |skip_to_be_ignored_text \
5226 |NN RExC_state_t *pRExC_state \
5227 |NN char **p \
5228 |const bool force_to_xmod
a5dfa563
YO
5229# if defined(DEBUGGING)
5230ES |regnode_offset|regnode_guts_debug \
5231 |NN RExC_state_t *pRExC_state \
5232 |const U8 op \
5233 |const STRLEN extra_len
d6a7165b 5234ERS |bool |regtail_study |NN RExC_state_t *pRExC_state \
a5dfa563
YO
5235 |NN regnode_offset p \
5236 |NN const regnode_offset val \
5237 |U32 depth
5238# if defined(ENABLE_REGEX_SETS_DEBUGGING)
5239ES |void |dump_regex_sets_structures \
5240 |NN RExC_state_t *pRExC_state \
5241 |NN AV *stack \
5242 |const IV fence \
5243 |NN AV *fence_stack
5244# endif /* defined(ENABLE_REGEX_SETS_DEBUGGING) */
5245# endif /* defined(DEBUGGING) */
5246#endif /* defined(PERL_IN_REGCOMP_C) */
5247#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGCOMP_INVLIST_C)
5248Ep |void |populate_bitmap_from_invlist \
5249 |NN SV *invlist \
5250 |const UV offset \
5251 |NN const U8 *bitmap \
5252 |const Size_t len
5253Ep |void |populate_invlist_from_bitmap \
5254 |NN const U8 *bitmap \
5255 |const Size_t bitmap_len \
5256 |NN SV **invlist \
5257 |const UV offset
5258#endif /* defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGCOMP_INVLIST_C) */
5259#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || \
5260 defined(PERL_IN_TOKE_C)
5261ERp |bool |is_grapheme |NN const U8 *strbeg \
5262 |NN const U8 *s \
5263 |NN const U8 *strend \
5264 |const UV cp
5265#endif /* defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || \
5266 defined(PERL_IN_TOKE_C) */
5267#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || \
5268 defined(PERL_IN_UTF8_C)
d6a7165b 5269ETXp |UV |_to_fold_latin1|const U8 c \
a5dfa563
YO
5270 |NN U8 *p \
5271 |NN STRLEN *lenp \
5272 |const unsigned int flags
5273#endif /* defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || \
5274 defined(PERL_IN_UTF8_C) */
5275#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
d6a7165b 5276ERTXp |bool |regcurly |NN const char *s \
a5dfa563
YO
5277 |NN const char *e \
5278 |NULLOK const char *result[5]
5279#endif /* defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) */
5280#if defined(PERL_IN_REGCOMP_DEBUG_C) && defined(DEBUGGING)
a5dfa563
YO
5281ES |U8 |put_charclass_bitmap_innards \
5282 |NN SV *sv \
5283 |NULLOK char *bitmap \
5284 |NULLOK SV *nonbitmap_invlist \
5285 |NULLOK SV *only_utf8_locale_invlist \
5286 |NULLOK const regnode * const node \
5287 |const U8 flags \
5288 |const bool force_as_is_display
5289ES |SV * |put_charclass_bitmap_innards_common \
5290 |NN SV *invlist \
5291 |NULLOK SV *posixes \
5292 |NULLOK SV *only_utf8 \
5293 |NULLOK SV *not_utf8 \
5294 |NULLOK SV *only_utf8_locale \
5295 |const bool invert
5296ES |void |put_charclass_bitmap_innards_invlist \
5297 |NN SV *sv \
5298 |NN SV *invlist
b8837dad
YO
5299ES |void |put_code_point |NN SV *sv \
5300 |UV c
a5dfa563
YO
5301ES |void |put_range |NN SV *sv \
5302 |UV start \
5303 |const UV end \
5304 |const bool allow_literals
b8837dad
YO
5305ES |void |regdump_extflags \
5306 |NULLOK const char *lead \
5307 |const U32 flags
5308ES |void |regdump_intflags \
5309 |NULLOK const char *lead \
5310 |const U32 flags
a5dfa563
YO
5311#endif /* defined(PERL_IN_REGCOMP_DEBUG_C) && defined(DEBUGGING) */
5312#if defined(PERL_IN_REGCOMP_INVLIST_C) && !defined(PERL_EXT_RE_BUILD)
b8837dad 5313ES |void |_append_range_to_invlist \
a5dfa563 5314 |NN SV * const invlist \
b8837dad
YO
5315 |const UV start \
5316 |const UV end
d6a7165b 5317ERTi |IV * |get_invlist_previous_index_addr \
a5dfa563 5318 |NN SV *invlist
b8837dad
YO
5319S |void |initialize_invlist_guts \
5320 |NN SV *invlist \
5321 |const Size_t initial_size
d6a7165b 5322ERTi |UV * |_invlist_array_init \
a5dfa563 5323 |NN SV * const invlist \
b8837dad
YO
5324 |const bool will_have_0
5325Ei |void |invlist_clear |NN SV *invlist
d6a7165b
YO
5326ERTi |UV |invlist_max |NN const SV * const invlist
5327ERTi |IV |invlist_previous_index \
a5dfa563 5328 |NN SV * const invlist
a5dfa563
YO
5329ES |void |invlist_replace_list_destroys_src \
5330 |NN SV *dest \
5331 |NN SV *src
d6a7165b 5332ETi |void |invlist_set_previous_index \
b8837dad
YO
5333 |NN SV * const invlist \
5334 |const IV index
d6a7165b 5335ETi |void |invlist_trim |NN SV *invlist
a5dfa563
YO
5336#endif /* defined(PERL_IN_REGCOMP_INVLIST_C) && !defined(PERL_EXT_RE_BUILD) */
5337#if defined(PERL_IN_REGCOMP_STUDY_C)
b8837dad
YO
5338ES |SV * |get_ANYOF_cp_list_for_ssc \
5339 |NN const RExC_state_t *pRExC_state \
5340 |NN const regnode_charclass * const node
a5dfa563
YO
5341ERS |SV * |make_exactf_invlist \
5342 |NN RExC_state_t *pRExC_state \
5343 |NN regnode *node
b8837dad
YO
5344ES |void |rck_elide_nothing \
5345 |NN regnode *node
5346ES |void |ssc_add_range |NN regnode_ssc *ssc \
5347 |UV const start \
5348 |UV const end
5349ES |void |ssc_and |NN const RExC_state_t *pRExC_state \
5350 |NN regnode_ssc *ssc \
5351 |NN const regnode_charclass *and_with
a5dfa563 5352ES |void |ssc_anything |NN regnode_ssc *ssc
b8837dad
YO
5353EST |void |ssc_clear_locale \
5354 |NN regnode_ssc *ssc
5355ES |void |ssc_cp_and |NN regnode_ssc *ssc \
5356 |UV const cp
5357ES |void |ssc_intersection \
5358 |NN regnode_ssc *ssc \
5359 |NN SV * const invlist \
5360 |const bool invert_2nd
d6a7165b
YO
5361ERST |int |ssc_is_anything|NN const regnode_ssc *ssc
5362ERST |int |ssc_is_cp_posixl_init \
a5dfa563
YO
5363 |NN const RExC_state_t *pRExC_state \
5364 |NN const regnode_ssc *ssc
a5dfa563
YO
5365ES |void |ssc_or |NN const RExC_state_t *pRExC_state \
5366 |NN regnode_ssc *ssc \
5367 |NN const regnode_charclass *or_with
a5dfa563
YO
5368ES |void |ssc_union |NN regnode_ssc *ssc \
5369 |NN SV * const invlist \
5370 |const bool invert_2nd
b8837dad
YO
5371ES |void |unwind_scan_frames \
5372 |NN const void *p
a5dfa563
YO
5373#endif /* defined(PERL_IN_REGCOMP_STUDY_C) */
5374#if defined(PERL_IN_REGEXEC_C)
d6a7165b 5375ERS |LB_enum|advance_one_LB |NN U8 **curpos \
b8837dad
YO
5376 |NN const U8 * const strend \
5377 |const bool utf8_target
d6a7165b 5378ERS |SB_enum|advance_one_SB |NN U8 **curpos \
b8837dad
YO
5379 |NN const U8 * const strend \
5380 |const bool utf8_target
d6a7165b 5381ERS |WB_enum|advance_one_WB |NN U8 **curpos \
b8837dad
YO
5382 |NN const U8 * const strend \
5383 |const bool utf8_target \
5384 |const bool skip_Extend_Format
d6a7165b 5385ERS |GCB_enum|backup_one_GCB|NN const U8 * const strbeg \
b8837dad
YO
5386 |NN U8 **curpos \
5387 |const bool utf8_target
d6a7165b 5388ERS |LB_enum|backup_one_LB |NN const U8 * const strbeg \
b8837dad
YO
5389 |NN U8 **curpos \
5390 |const bool utf8_target
d6a7165b 5391ERS |SB_enum|backup_one_SB |NN const U8 * const strbeg \
b8837dad
YO
5392 |NN U8 **curpos \
5393 |const bool utf8_target
d6a7165b 5394ERS |WB_enum|backup_one_WB |NN WB_enum *previous \
b8837dad
YO
5395 |NN const U8 * const strbeg \
5396 |NN U8 **curpos \
5397 |const bool utf8_target
5398ERS |char * |find_byclass |NN regexp *prog \
5399 |NN const regnode *c \
5400 |NN char *s \
5401 |NN const char *strend \
5402 |NULLOK regmatch_info *reginfo
d6a7165b 5403ERST |U8 * |find_next_masked \
a5dfa563
YO
5404 |NN U8 *s \
5405 |NN const U8 *send \
5406 |const U8 byte \
5407 |const U8 mask
d6a7165b 5408ERST |U8 * |find_span_end |NN U8 *s \
a5dfa563
YO
5409 |NN const U8 *send \
5410 |const U8 span_byte
d6a7165b 5411ERST |U8 * |find_span_end_mask \
a5dfa563
YO
5412 |NN U8 *s \
5413 |NN const U8 *send \
5414 |const U8 span_byte \
5415 |const U8 mask
b8837dad
YO
5416Ei |I32 |foldEQ_latin1_s2_folded \
5417 |NN const char *a \
5418 |NN const char *b \
5419 |I32 len
d6a7165b 5420ERS |bool |isFOO_lc |const U8 classnum \
b8837dad
YO
5421 |const U8 character
5422ERS |bool |isFOO_utf8_lc |const U8 classnum \
5423 |NN const U8 *character \
5424 |NN const U8 *e
d6a7165b 5425ERS |bool |isGCB |const GCB_enum before \
a5dfa563
YO
5426 |const GCB_enum after \
5427 |NN const U8 * const strbeg \
5428 |NN const U8 * const curpos \
5429 |const bool utf8_target
d6a7165b 5430ERS |bool |isLB |LB_enum before \
a5dfa563
YO
5431 |LB_enum after \
5432 |NN const U8 * const strbeg \
5433 |NN const U8 * const curpos \
5434 |NN const U8 * const strend \
5435 |const bool utf8_target
d6a7165b 5436ERS |bool |isSB |SB_enum before \
a5dfa563
YO
5437 |SB_enum after \
5438 |NN const U8 * const strbeg \
5439 |NN const U8 * const curpos \
5440 |NN const U8 * const strend \
5441 |const bool utf8_target
d6a7165b 5442ERS |bool |isWB |WB_enum previous \
a5dfa563
YO
5443 |WB_enum before \
5444 |WB_enum after \
5445 |NN const U8 * const strbeg \
5446 |NN const U8 * const curpos \
5447 |NN const U8 * const strend \
5448 |const bool utf8_target
b8837dad
YO
5449ERST |I32 |reg_check_named_buff_matched \
5450 |NN const regexp *rex \
5451 |NN const regnode *scan
d6a7165b 5452ESW |void |regcppop |NN regexp *rex \
b8837dad 5453 |NN U32 *maxopenparen_p
d6a7165b 5454ESW |CHECKPOINT|regcppush |NN const regexp *rex \
b8837dad
YO
5455 |I32 parenfloor \
5456 |U32 maxopenparen
d6a7165b 5457ESW |void |regcp_restore |NN regexp *rex \
b8837dad
YO
5458 |I32 ix \
5459 |NN U32 *maxopenparen_p
5460ERST |U8 * |reghop3 |NN U8 *s \
5461 |SSize_t off \
5462 |NN const U8 *lim
5463ERST |U8 * |reghop4 |NN U8 *s \
5464 |SSize_t off \
5465 |NN const U8 *llim \
5466 |NN const U8 *rlim
5467ERST |U8 * |reghopmaybe3 |NN U8 *s \
5468 |SSize_t off \
5469 |NN const U8 * const lim
5470ERS |bool |reginclass |NULLOK regexp * const prog \
5471 |NN const regnode * const n \
5472 |NN const U8 * const p \
5473 |NN const U8 * const p_end \
5474 |bool const utf8_target
5475ERS |SSize_t|regmatch |NN regmatch_info *reginfo \
5476 |NN char *startpos \
5477 |NN regnode *prog
d6a7165b 5478ERSW |I32 |regrepeat |NN regexp *prog \
b8837dad
YO
5479 |NN char **startposp \
5480 |NN const regnode *p \
5481 |NN char *loceol \
5482 |NN regmatch_info * const reginfo \
5483 |NZ I32 max
5484ERS |bool |regtry |NN regmatch_info *reginfo \
5485 |NN char **startposp
5486ES |bool |to_byte_substr |NN regexp *prog
5487ES |void |to_utf8_substr |NN regexp *prog
a5dfa563 5488# if defined(DEBUGGING)
b8837dad
YO
5489ES |void |debug_start_match \
5490 |NN const REGEXP *prog \
5491 |const bool do_utf8 \
5492 |NN const char *start \
5493 |NN const char *end \
5494 |NN const char *blurb
a5dfa563
YO
5495ES |void |dump_exec_pos |NN const char *locinput \
5496 |NN const regnode *scan \
5497 |NN const char *loc_regeol \
5498 |NN const char *loc_bostr \
5499 |NN const char *loc_reg_starttry \
5500 |const bool do_utf8 \
5501 |const U32 depth
add0fa58 5502
a5dfa563
YO
5503EFp |int |re_exec_indentf|NN const char *fmt \
5504 |U32 depth \
5505 |...
5506# endif /* defined(DEBUGGING) */
5507#endif /* defined(PERL_IN_REGEXEC_C) */
5508#if defined(PERL_IN_REGEX_ENGINE)
d6a7165b 5509CRip |bool |check_regnode_after \
a5dfa563
YO
5510 |NULLOK const regnode *p \
5511 |const STRLEN extra
d6a7165b
YO
5512CRip |regnode *|regnext |NULLOK const regnode *p
5513CRip |regnode *|regnode_after|NULLOK const regnode *p \
a5dfa563
YO
5514 |bool varies
5515# if defined(DEBUGGING)
b8837dad
YO
5516Ep |void |debug_peep |NN const char *str \
5517 |NN const RExC_state_t *pRExC_state \
5518 |NULLOK regnode *scan \
a5dfa563 5519 |U32 depth \
b8837dad 5520 |U32 flags
a5dfa563
YO
5521Ep |void |debug_show_study_flags \
5522 |U32 flags \
5523 |NN const char *open_str \
5524 |NN const char *close_str
a5dfa563
YO
5525Ep |void |debug_studydata|NN const char *where \
5526 |NULLOK scan_data_t *data \
5527 |U32 depth \
5528 |int is_inf \
5529 |SSize_t min \
5530 |SSize_t stopmin \
5531 |SSize_t delta
a5dfa563
YO
5532Ep |const regnode *|dumpuntil \
5533 |NN const regexp *r \
5534 |NN const regnode *start \
5535 |NN const regnode *node \
5536 |NULLOK const regnode *last \
5537 |NULLOK const regnode *plast \
5538 |NN SV *sv \
5539 |I32 indent \
5540 |U32 depth
b8837dad
YO
5541Ep |void |regprop |NULLOK const regexp *prog \
5542 |NN SV *sv \
5543 |NN const regnode *o \
5544 |NULLOK const regmatch_info *reginfo \
5545 |NULLOK const RExC_state_t *pRExC_state
5546EFp |int |re_indentf |NN const char *fmt \
5547 |U32 depth \
5548 |...
5549Efp |int |re_printf |NN const char *fmt \
5550 |...
a5dfa563
YO
5551# endif /* defined(DEBUGGING) */
5552# if defined(PERL_EXT_RE_BUILD)
5553Ep |SV * |get_re_gclass_aux_data \
5554 |NULLOK const regexp *prog \
5555 |NN const struct regnode *node \
5556 |bool doinit \
5557 |NULLOK SV **listsvp \
5558 |NULLOK SV **lonly_utf8_locale \
5559 |NULLOK SV **output_invlist
5560# else /* if !defined(PERL_EXT_RE_BUILD) */
5561Ep |SV * |get_regclass_aux_data \
5562 |NULLOK const regexp *prog \
5563 |NN const struct regnode *node \
5564 |bool doinit \
5565 |NULLOK SV **listsvp \
5566 |NULLOK SV **lonly_utf8_locale \
5567 |NULLOK SV **output_invlist
5568# endif /* !defined(PERL_EXT_RE_BUILD) */
5569#endif /* defined(PERL_IN_REGEX_ENGINE) */
5570#if defined(PERL_IN_SCOPE_C)
5571S |void |save_pushptri32ptr \
5572 |NULLOK void * const ptr1 \
5573 |const I32 i \
5574 |NULLOK void * const ptr2 \
5575 |const int type
5576Sd |SV * |save_scalar_at |NN SV **sptr \
5577 |const U32 flags
5578#endif /* defined(PERL_IN_SCOPE_C) */
5579#if defined(PERL_IN_SV_C)
b8837dad
YO
5580S |void |anonymise_cv_maybe \
5581 |NN GV *gv \
5582 |NN CV *cv
5583S |void |assert_uft8_cache_coherent \
5584 |NN const char * const func \
5585 |STRLEN from_cache \
5586 |STRLEN real \
5587 |NN SV * const sv
5588S |bool |curse |NN SV * const sv \
5589 |const bool check_refcnt
d6a7165b 5590RS |STRLEN |expect_number |NN const char ** const pattern
b8837dad
YO
5591ST |char * |F0convert |NV nv \
5592 |NN char * const endbuf \
5593 |NN STRLEN * const len
5594S |SSize_t|find_array_subscript \
5595 |NULLOK const AV * const av \
5596 |NN const SV * const val
5597S |SV * |find_hash_subscript \
5598 |NULLOK const HV * const hv \
5599 |NN const SV * const val
d6a7165b 5600Sdx |SV * |find_uninit_var|NULLOK const OP * const obase \
b8837dad
YO
5601 |NULLOK const SV * const uninit_sv \
5602 |bool match \
5603 |NN const char **desc_p
5604S |void |glob_assign_glob \
5605 |NN SV * const dsv \
5606 |NN SV * const ssv \
5607 |const int dtype
a5dfa563 5608S |bool |glob_2number |NN GV * const gv
b8837dad
YO
5609Cp |SV * |more_sv
5610S |void |not_a_number |NN SV * const sv
5611S |void |not_incrementable \
5612 |NN SV * const sv
d6a7165b 5613RST |PTR_TBL_ENT_t *|ptr_table_find \
b8837dad
YO
5614 |NN PTR_TBL_t * const tbl \
5615 |NULLOK const void * const sv
a5dfa563
YO
5616Sd |void |sv_add_arena |NN char * const ptr \
5617 |const U32 size \
5618 |const U32 flags
a5dfa563
YO
5619S |const char *|sv_display|NN SV * const sv \
5620 |NN char *tmpbuf \
5621 |STRLEN tmpbuf_size
b8837dad
YO
5622S |bool |sv_2iuv_common |NN SV * const sv
5623S |STRLEN |sv_pos_b2u_midway \
5624 |NN const U8 * const s \
5625 |NN const U8 * const target \
5626 |NN const U8 *end \
5627 |STRLEN endu
5628S |STRLEN |sv_pos_u2b_cached \
5629 |NN SV * const sv \
5630 |NN MAGIC ** const mgp \
5631 |NN const U8 * const start \
5632 |NN const U8 * const send \
5633 |STRLEN uoffset \
5634 |STRLEN uoffset0 \
5635 |STRLEN boffset0
a5dfa563
YO
5636ST |STRLEN |sv_pos_u2b_forwards \
5637 |NN const U8 * const start \
5638 |NN const U8 * const send \
5639 |NN STRLEN * const uoffset \
5640 |NN bool * const at_end \
5641 |NN bool *canonical_position
5642ST |STRLEN |sv_pos_u2b_midway \
5643 |NN const U8 * const start \
5644 |NN const U8 *send \
5645 |STRLEN uoffset \
5646 |const STRLEN uend
b8837dad
YO
5647i |void |sv_unglob |NN SV * const sv \
5648 |U32 flags
d6a7165b 5649RTi |char * |uiv_2buf |NN char * const buf \
b8837dad
YO
5650 |const IV iv \
5651 |UV uv \
5652 |const int is_uv \
5653 |NN char ** const peob
a5dfa563
YO
5654S |void |utf8_mg_len_cache_update \
5655 |NN SV * const sv \
5656 |NN MAGIC ** const mgp \
5657 |const STRLEN ulen
5658S |void |utf8_mg_pos_cache_update \
5659 |NN SV * const sv \
5660 |NN MAGIC ** const mgp \
5661 |const STRLEN byte \
5662 |const STRLEN utf8 \
5663 |const STRLEN blen
b8837dad
YO
5664S |I32 |visit |NN SVFUNC_t f \
5665 |const U32 flags \
5666 |const U32 mask
a5dfa563
YO
5667# if defined(DEBUGGING)
5668S |void |del_sv |NN SV *p
5669# endif /* defined(DEBUGGING) */
5670# if !defined(NV_PRESERVES_UV)
5671# if defined(DEBUGGING)
5672S |int |sv_2iuv_non_preserve \
5673 |NN SV * const sv \
5674 |I32 numtype
5675# else /* if !defined(DEBUGGING) */
5676S |int |sv_2iuv_non_preserve \
5677 |NN SV * const sv
5678# endif /* !defined(DEBUGGING) */
5679# endif /* !defined(NV_PRESERVES_UV) */
5680# if defined(PERL_DEBUG_READONLY_COW)
5681S |void |sv_buf_to_rw |NN SV *sv
5682# endif /* defined(PERL_DEBUG_READONLY_COW) */
5683# if defined(USE_ITHREADS)
d6a7165b 5684RS |SV * |sv_dup_common |NN const SV * const ssv \
a5dfa563 5685 |NN CLONE_PARAMS * const param
857b5541
PE
5686S |void |sv_dup_hvaux |NN const SV * const ssv \
5687 |NN SV *dsv \
5688 |NN CLONE_PARAMS * const param
b8837dad
YO
5689S |SV ** |sv_dup_inc_multiple \
5690 |NN SV * const *source \
5691 |NN SV **dest \
5692 |SSize_t items \
a5dfa563
YO
5693 |NN CLONE_PARAMS * const param
5694S |void |unreferenced_to_tmp_stack \
5695 |NN AV * const unreferenced
5696# endif /* defined(USE_ITHREADS) */
5697#endif /* defined(PERL_IN_SV_C) */
5698#if defined(PERL_IN_TOKE_C)
b8837dad
YO
5699S |int |ao |int toketype
5700S |void |checkcomma |NN const char *s \
5701 |NN const char *name \
5702 |NN const char *what
a5dfa563 5703S |void |check_uni
d6a7165b 5704RS |char * |filter_gets |NN SV *sv \
b8837dad 5705 |STRLEN append
d6a7165b 5706RS |HV * |find_in_my_stash \
b8837dad
YO
5707 |NN const char *pkgname \
5708 |STRLEN len
5709S |void |force_ident |NN const char *s \
5710 |int kind
5711S |void |force_ident_maybe_lex \
5712 |char pit
a5dfa563 5713S |void |force_next |I32 type
a5dfa563
YO
5714S |char * |force_strict_version \
5715 |NN char *s
b8837dad
YO
5716S |char * |force_version |NN char *s \
5717 |int guessing
a5dfa563
YO
5718S |char * |force_word |NN char *start \
5719 |int token \
5720 |int check_keyword \
5721 |int allow_pack
d6a7165b 5722RS |SV * |get_and_check_backslash_N_name_wrapper \
a5dfa563
YO
5723 |NN const char *s \
5724 |NN const char * const e
a5dfa563
YO
5725S |void |incline |NN const char *s \
5726 |NN const char *end
5727S |int |intuit_method |NN char *s \
5728 |NULLOK SV *ioname \
5729 |NULLOK CV *cv
5730S |int |intuit_more |NN char *s \
5731 |NN char *e
5732S |I32 |lop |I32 f \
5733 |U8 x \
5734 |NN char *s
d6a7165b 5735Sr |void |missingterm |NULLOK char *s \
a5dfa563 5736 |STRLEN len
a5dfa563
YO
5737So |SV * |new_constant |NULLOK const char *s \
5738 |STRLEN len \
5739 |NN const char *key \
5740 |STRLEN keylen \
5741 |NN SV *sv \
5742 |NULLOK SV *pv \
5743 |NULLOK const char *type \
5744 |STRLEN typelen \
5745 |NULLOK const char **error_msg
b8837dad
YO
5746S |void |no_op |NN const char * const what \
5747 |NULLOK char *s
a5dfa563
YO
5748S |void |parse_ident |NN char **s \
5749 |NN char **d \
5750 |NN char * const e \
5751 |int allow_package \
5752 |bool is_utf8 \
5753 |bool check_dollar \
5754 |bool tick_warn
b8837dad 5755S |int |pending_ident
d6a7165b
YO
5756RS |char * |scan_const |NN char *start
5757RS |char * |scan_formline |NN char *s
5758RS |char * |scan_heredoc |NN char *s
b8837dad
YO
5759S |char * |scan_ident |NN char *s \
5760 |NN char *dest \
5761 |STRLEN destlen \
5762 |I32 ck_uni
d6a7165b 5763RS |char * |scan_inputsymbol \
b8837dad 5764 |NN char *start
d6a7165b 5765RS |char * |scan_pat |NN char *start \
b8837dad 5766 |I32 type
d6a7165b
YO
5767RS |char * |scan_subst |NN char *start
5768RS |char * |scan_trans |NN char *start
5769RS |I32 |sublex_done
5770RS |I32 |sublex_push
5771RS |I32 |sublex_start
5772RS |char * |swallow_bom |NN U8 *s
5773RS |char * |tokenize_use |int is_use \
b8837dad
YO
5774 |NN char *s
5775S |SV * |tokeq |NN SV *sv
5776S |void |update_debugger_info \
5777 |NULLOK SV *orig_sv \
5778 |NULLOK const char * const buf \
5779 |STRLEN len
5780S |int |yywarn |NN const char * const s \
5781 |U32 flags
a5dfa563 5782# if defined(DEBUGGING)
a5dfa563
YO
5783Sf |void |printbuf |NN const char * const fmt \
5784 |NN const char * const s
b8837dad
YO
5785S |int |tokereport |I32 rv \
5786 |NN const YYSTYPE *lvalp
a5dfa563
YO
5787# endif /* defined(DEBUGGING) */
5788# if defined(PERL_CR_FILTER)
5789S |I32 |cr_textfilter |int idx \
5790 |NULLOK SV *sv \
5791 |int maxlen
5792S |void |strip_return |NN SV *sv
5793# endif /* defined(PERL_CR_FILTER) */
5794# if !defined(PERL_NO_UTF16_FILTER)
b8837dad
YO
5795S |U8 * |add_utf16_textfilter \
5796 |NN U8 * const s \
5797 |bool reversed
a5dfa563
YO
5798S |I32 |utf16_textfilter \
5799 |int idx \
5800 |NN SV *sv \
5801 |int maxlen
a5dfa563
YO
5802# endif /* !defined(PERL_NO_UTF16_FILTER) */
5803#endif /* defined(PERL_IN_TOKE_C) */
5804#if defined(PERL_IN_UNIVERSAL_C)
d6a7165b 5805GS |bool |isa_lookup |NULLOK HV *stash \
a5dfa563
YO
5806 |NULLOK SV *namesv \
5807 |NULLOK const char *name \
5808 |STRLEN len \
5809 |U32 flags
d6a7165b 5810GS |bool |sv_derived_from_svpvn \
a5dfa563
YO
5811 |NULLOK SV *sv \
5812 |NULLOK SV *namesv \
5813 |NULLOK const char *name \
5814 |const STRLEN len \
5815 |U32 flags
5816#endif /* defined(PERL_IN_UNIVERSAL_C) */
5817#if defined(PERL_IN_UTF8_C)
d6a7165b 5818RS |UV |check_locale_boundary_crossing \
b8837dad
YO
5819 |NN const U8 * const p \
5820 |const UV result \
5821 |NN U8 * const ustrp \
5822 |NN STRLEN *lenp
d6a7165b 5823RTi |int |does_utf8_overflow \
a5dfa563
YO
5824 |NN const U8 * const s \
5825 |NN const U8 *e \
5826 |const bool consider_overlongs
d6a7165b 5827RTi |int |isFF_overlong |NN const U8 * const s \
a5dfa563 5828 |const STRLEN len
d6a7165b 5829Ri |bool |is_utf8_common |NN const U8 * const p \
b8837dad
YO
5830 |NN const U8 * const e \
5831 |NULLOK SV * const invlist
d6a7165b 5832RTi |int |is_utf8_overlong \
a5dfa563 5833 |NN const U8 * const s \
b8837dad 5834 |const STRLEN len
d6a7165b 5835RS |HV * |new_msg_hv |NN const char * const message \
b8837dad
YO
5836 |U32 categories \
5837 |U32 flag
a5dfa563
YO
5838S |UV |to_case_cp_list|const UV original \
5839 |NULLOK const U32 ** const remaining_list \
5840 |NULLOK Size_t *remaining_count \
5841 |NN SV *invlist \
5842 |NN const I32 * const invmap \
5843 |NULLOK const U32 * const * const aux_tables \
5844 |NULLOK const U8 * const aux_table_lengths \
5845 |NN const char * const normal
d6a7165b 5846RST |U8 |to_lower_latin1|const U8 c \
b8837dad
YO
5847 |NULLOK U8 *p \
5848 |NULLOK STRLEN *lenp \
5849 |const char dummy
a5dfa563
YO
5850S |UV |_to_utf8_case |const UV original \
5851 |NULLOK const U8 *p \
5852 |NN U8 *ustrp \
5853 |NN STRLEN *lenp \
5854 |NN SV *invlist \
5855 |NN const I32 * const invmap \
5856 |NULLOK const U32 * const * const aux_tables \
5857 |NULLOK const U8 * const aux_table_lengths \
5858 |NN const char * const normal
5859S |UV |turkic_fc |NN const U8 * const p \
5860 |NN const U8 * const e \
5861 |NN U8 *ustrp \
5862 |NN STRLEN *lenp
5863S |UV |turkic_lc |NN const U8 * const p0 \
5864 |NN const U8 * const e \
5865 |NN U8 *ustrp \
5866 |NN STRLEN *lenp
5867S |UV |turkic_uc |NN const U8 * const p \
5868 |NN const U8 * const e \
5869 |NN U8 *ustrp \
5870 |NN STRLEN *lenp
d6a7165b 5871RS |char * |unexpected_non_continuation_text \
b8837dad
YO
5872 |NN const U8 * const s \
5873 |STRLEN print_len \
5874 |const STRLEN non_cont_byte_pos \
5875 |const STRLEN expect_len
a5dfa563
YO
5876# if 0
5877S |void |warn_on_first_deprecated_use \
5878 |NN const char * const name \
5879 |NN const char * const alternative \
5880 |const bool use_locale \
5881 |NN const char * const file \
5882 |const unsigned line
5883# endif /* 0 */
5884#endif /* defined(PERL_IN_UTF8_C) */
5885#if defined(PERL_IN_UTIL_C)
b8837dad 5886S |bool |ckwarn_common |U32 w
b8837dad
YO
5887S |SV * |mess_alloc
5888S |SV * |with_queued_errors \
5889 |NN SV *ex
a5dfa563
YO
5890So |void |xs_version_bootcheck \
5891 |U32 items \
5892 |U32 ax \
5893 |NN const char *xs_p \
5894 |STRLEN xs_len
5895# if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
5896ST |void |mem_log_common |enum mem_log_type mlt \
5897 |const UV n \
5898 |const UV typesize \
5899 |NN const char *type_name \
5900 |NULLOK const SV *sv \
5901 |Malloc_t oldalloc \
5902 |Malloc_t newalloc \
5903 |NN const char *filename \
5904 |const int linenumber \
5905 |NN const char *funcname
5906# endif /* defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL) */
5907# if defined(PERL_USES_PL_PIDSTATUS)
5908S |void |pidgone |Pid_t pid \
5909 |int status
5910# endif /* defined(PERL_USES_PL_PIDSTATUS) */
5911#endif /* defined(PERL_IN_UTIL_C) */
5912#if defined(PERL_MEM_LOG)
d6a7165b 5913CTp |Malloc_t|mem_log_alloc |const UV nconst \
a5dfa563
YO
5914 |UV typesize \
5915 |NN const char *type_name \
5916 |Malloc_t newalloc \
5917 |NN const char *filename \
5918 |const int linenumber \
5919 |NN const char *funcname
d6a7165b 5920CTp |void |mem_log_del_sv |NN const SV *sv \
a5dfa563 5921 |NN const char *filename \
b8837dad 5922 |int linenumber \
a5dfa563 5923 |NN const char *funcname
d6a7165b 5924CTp |Malloc_t|mem_log_free |Malloc_t oldalloc \
a5dfa563
YO
5925 |NN const char *filename \
5926 |const int linenumber \
5927 |NN const char *funcname
d6a7165b 5928CTp |void |mem_log_new_sv |NN const SV *sv \
a5dfa563
YO
5929 |NN const char *filename \
5930 |int linenumber \
5931 |NN const char *funcname
d6a7165b 5932CTp |Malloc_t|mem_log_realloc \
b8837dad
YO
5933 |const UV n \
5934 |const UV typesize \
5935 |NN const char *type_name \
5936 |Malloc_t oldalloc \
5937 |Malloc_t newalloc \
a5dfa563 5938 |NN const char *filename \
b8837dad 5939 |const int linenumber \
a5dfa563
YO
5940 |NN const char *funcname
5941#endif /* defined(PERL_MEM_LOG) */
5942#if !defined(PERL_NO_INLINE_FUNCTIONS)
d6a7165b
YO
5943Cipx |void |cx_popblock |NN PERL_CONTEXT *cx
5944Cipx |void |cx_popeval |NN PERL_CONTEXT *cx
5945Cipx |void |cx_popformat |NN PERL_CONTEXT *cx
5946Cipx |void |cx_popgiven |NN PERL_CONTEXT *cx
5947Cipx |void |cx_poploop |NN PERL_CONTEXT *cx
5948Cipx |void |cx_popsub |NN PERL_CONTEXT *cx
5949Cipx |void |cx_popsub_args |NN PERL_CONTEXT *cx
5950Cipx |void |cx_popsub_common \
b8837dad 5951 |NN PERL_CONTEXT *cx
d6a7165b
YO
5952Cipx |void |cx_popwhen |NN PERL_CONTEXT *cx
5953Cipx |PERL_CONTEXT *|cx_pushblock \
a5dfa563
YO
5954 |U8 type \
5955 |U8 gimme \
5956 |NN SV **sp \
5957 |I32 saveix
d6a7165b 5958Cipx |void |cx_pusheval |NN PERL_CONTEXT *cx \
a5dfa563 5959 |NULLOK OP *retop \
b8837dad 5960 |NULLOK SV *namesv
d6a7165b 5961Cipx |void |cx_pushformat |NN PERL_CONTEXT *cx \
a5dfa563
YO
5962 |NN CV *cv \
5963 |NULLOK OP *retop \
5964 |NULLOK GV *gv
d6a7165b 5965Cipx |void |cx_pushgiven |NN PERL_CONTEXT *cx \
b8837dad 5966 |NULLOK SV *orig_defsv
d6a7165b 5967Cipx |void |cx_pushloop_for|NN PERL_CONTEXT *cx \
a5dfa563
YO
5968 |NN void *itervarp \
5969 |NULLOK SV *itersave
d6a7165b 5970Cipx |void |cx_pushloop_plain \
b8837dad 5971 |NN PERL_CONTEXT *cx
d6a7165b 5972Cipx |void |cx_pushsub |NN PERL_CONTEXT *cx \
b8837dad
YO
5973 |NN CV *cv \
5974 |NULLOK OP *retop \
5975 |bool hasargs
d6a7165b 5976Cipx |void |cx_pushtry |NN PERL_CONTEXT *cx \
b8837dad 5977 |NULLOK OP *retop
d6a7165b
YO
5978Cipx |void |cx_pushwhen |NN PERL_CONTEXT *cx
5979Cipx |void |cx_topblock |NN PERL_CONTEXT *cx
5980Cipx |U8 |gimme_V
a5dfa563
YO
5981#endif /* !defined(PERL_NO_INLINE_FUNCTIONS) */
5982#if defined(PERL_USE_3ARG_SIGHANDLER)
b8837dad 5983CTp |Signal_t|csighandler |int sig \
a5dfa563
YO
5984 |NULLOK Siginfo_t *info \
5985 |NULLOK void *uap
b8837dad
YO
5986: Used in perl.c
5987Tp |Signal_t|sighandler |int sig \
a5dfa563
YO
5988 |NULLOK Siginfo_t *info \
5989 |NULLOK void *uap
5990#else /* if !defined(PERL_USE_3ARG_SIGHANDLER) */
a5dfa563 5991CTp |Signal_t|csighandler |int sig
b8837dad 5992Tp |Signal_t|sighandler |int sig
a5dfa563
YO
5993#endif /* !defined(PERL_USE_3ARG_SIGHANDLER) */
5994#if defined(U64TYPE)
d6a7165b
YO
5995CRTip |unsigned|lsbit_pos64 |U64 word
5996CRTip |unsigned|msbit_pos64 |U64 word
5997CRTip |unsigned|single_1bit_pos64 \
b8837dad 5998 |U64 word
a5dfa563
YO
5999#endif /* defined(U64TYPE) */
6000#if defined(UNLINK_ALL_VERSIONS)
6001Cp |I32 |unlnk |NN const char *f
6002#endif /* defined(UNLINK_ALL_VERSIONS) */
6003#if defined(USE_C_BACKTRACE)
d6a7165b 6004Adp |bool |dump_c_backtrace \
b8837dad 6005 |NN PerlIO *fp \
a5dfa563
YO
6006 |int max_depth \
6007 |int skip
6008dm |void |free_c_backtrace \
6009 |NN Perl_c_backtrace *bt
d6a7165b 6010dp |Perl_c_backtrace *|get_c_backtrace \
a5dfa563
YO
6011 |int max_depth \
6012 |int skip
d6a7165b 6013Adp |SV * |get_c_backtrace_dump \
a5dfa563
YO
6014 |int max_depth \
6015 |int skip
6016#endif /* defined(USE_C_BACKTRACE) */
6017#if defined(USE_DTRACE)
d6a7165b 6018EXop |void |dtrace_probe_call \
a5dfa563
YO
6019 |NN CV *cv \
6020 |bool is_call
d6a7165b 6021EXop |void |dtrace_probe_load \
a5dfa563
YO
6022 |NN const char *name \
6023 |bool is_loading
d6a7165b
YO
6024EXop |void |dtrace_probe_op|NN const OP *op
6025EXop |void |dtrace_probe_phase \
a5dfa563
YO
6026 |enum perl_phase phase
6027#endif /* defined(USE_DTRACE) */
6028#if defined(USE_ITHREADS)
d6a7165b
YO
6029Adpx |PADOFFSET|alloccopstash|NN HV *hv
6030CRp |void * |any_dup |NULLOK void *v \
b8837dad
YO
6031 |NN const PerlInterpreter *proto_perl
6032ATop |void |clone_params_del \
a5dfa563 6033 |NN CLONE_PARAMS *param
b8837dad
YO
6034ARTop |CLONE_PARAMS *|clone_params_new \
6035 |NN PerlInterpreter * const from \
6036 |NN PerlInterpreter * const to
6037Cip |AV * |cop_file_avn |NN const COP *cop
d6a7165b 6038CRp |PERL_CONTEXT *|cx_dup |NULLOK PERL_CONTEXT *cx \
a5dfa563
YO
6039 |I32 ix \
6040 |I32 max \
6041 |NN CLONE_PARAMS *param
d6a7165b 6042CRdp |DIR * |dirp_dup |NULLOK DIR * const dp \
b8837dad 6043 |NN CLONE_PARAMS * const param
d6a7165b 6044Cdp |PerlIO *|fp_dup |NULLOK PerlIO * const fp \
a5dfa563
YO
6045 |const char type \
6046 |NN CLONE_PARAMS * const param
d6a7165b 6047CRdp |GP * |gp_dup |NULLOK GP * const gp \
a5dfa563 6048 |NN CLONE_PARAMS * const param
d6a7165b 6049CRp |HE * |he_dup |NULLOK const HE *e \
b8837dad
YO
6050 |bool shared \
6051 |NN CLONE_PARAMS *param
d6a7165b 6052CRp |HEK * |hek_dup |NULLOK HEK *e \
b8837dad 6053 |NN CLONE_PARAMS *param
d6a7165b 6054CRdp |MAGIC *|mg_dup |NULLOK MAGIC *mg \
a5dfa563 6055 |NN CLONE_PARAMS * const param
b8837dad
YO
6056: Only used in sv.c
6057p |struct mro_meta *|mro_meta_dup \
6058 |NN struct mro_meta *smeta \
6059 |NN CLONE_PARAMS *param
d6a7165b 6060ARdp |OP * |newPADOP |I32 type \
b8837dad
YO
6061 |I32 flags \
6062 |NN SV *sv
d6a7165b 6063Rdp |PADLIST *|padlist_dup |NN PADLIST *srcpad \
b8837dad 6064 |NN CLONE_PARAMS *param
d6a7165b 6065Rdp |PADNAME *|padname_dup |NN PADNAME *src \
a5dfa563 6066 |NN CLONE_PARAMS *param
d6a7165b 6067Rdp |PADNAMELIST *|padnamelist_dup \
a5dfa563
YO
6068 |NN PADNAMELIST *srcpad \
6069 |NN CLONE_PARAMS *param
b8837dad
YO
6070Cp |yy_parser *|parser_dup |NULLOK const yy_parser * const proto \
6071 |NN CLONE_PARAMS * const param
d6a7165b 6072ATdo |PerlInterpreter *|perl_clone \
b8837dad
YO
6073 |NN PerlInterpreter *proto_perl \
6074 |UV flags
6075Adp |void |re_dup_guts |NN const REGEXP *sstr \
6076 |NN REGEXP *dstr \
a5dfa563 6077 |NN CLONE_PARAMS *param
b8837dad
YO
6078Cp |void * |regdupe_internal \
6079 |NN REGEXP * const r \
a5dfa563 6080 |NN CLONE_PARAMS *param
b8837dad
YO
6081Cp |void |rvpv_dup |NN SV * const dsv \
6082 |NN const SV * const ssv \
6083 |NN CLONE_PARAMS * const param
d6a7165b 6084CRdp |PERL_SI *|si_dup |NULLOK PERL_SI *si \
b8837dad 6085 |NN CLONE_PARAMS *param
d6a7165b 6086CRdp |ANY * |ss_dup |NN PerlInterpreter *proto_perl \
a5dfa563 6087 |NN CLONE_PARAMS *param
d6a7165b 6088ARp |SV * |sv_dup |NULLOK const SV * const ssv \
b8837dad 6089 |NN CLONE_PARAMS * const param
d6a7165b 6090ARp |SV * |sv_dup_inc |NULLOK const SV * const ssv \
b8837dad 6091 |NN CLONE_PARAMS * const param
a5dfa563 6092#else /* if !defined(USE_ITHREADS) */
d6a7165b 6093Adm |void |CopFILEGV_set |NN COP *c \
a5dfa563
YO
6094 |NN GV *gv
6095#endif /* !defined(USE_ITHREADS) */
6096#if defined(USE_LOCALE_COLLATE)
b8837dad 6097p |int |magic_freecollxfrm \
a5dfa563
YO
6098 |NN SV *sv \
6099 |NN MAGIC *mg
b8837dad 6100p |int |magic_setcollxfrm \
a5dfa563
YO
6101 |NN SV *sv \
6102 |NN MAGIC *mg
6103EXop |SV * |strxfrm |NN SV *src
6104: Defined in locale.c, used only in sv.c
d6a7165b 6105AMbdp |char * |sv_collxfrm |NN SV * const sv \
a5dfa563 6106 |NN STRLEN * const nxp
d6a7165b 6107Adp |char * |sv_collxfrm_flags \
a5dfa563
YO
6108 |NN SV * const sv \
6109 |NN STRLEN * const nxp \
6110 |I32 const flags
6111# if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MATHOMS_C) || \
6112 defined(PERL_IN_SV_C)
6113Ep |char * |mem_collxfrm_ |NN const char *input_string \
6114 |STRLEN len \
6115 |NN STRLEN *xlen \
6116 |bool utf8
6117# endif /* defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MATHOMS_C) || \
6118 defined(PERL_IN_SV_C) */
6119#endif /* defined(USE_LOCALE_COLLATE) */
6120#if defined(USE_PERLIO)
d6a7165b
YO
6121Adhp |void |PerlIO_clearerr|NULLOK PerlIO *f
6122Adhp |int |PerlIO_close |NULLOK PerlIO *f
6123Adhp |int |PerlIO_eof |NULLOK PerlIO *f
6124Adhp |int |PerlIO_error |NULLOK PerlIO *f
6125Adhp |int |PerlIO_fileno |NULLOK PerlIO *f
6126Adp |int |PerlIO_fill |NULLOK PerlIO *f
6127Adhp |int |PerlIO_flush |NULLOK PerlIO *f
6128Adhp |STDCHAR *|PerlIO_get_base \
a5dfa563 6129 |NULLOK PerlIO *f
d6a7165b 6130ARdhp |SSize_t|PerlIO_get_bufsiz \
a5dfa563 6131 |NULLOK PerlIO *f
d6a7165b
YO
6132ARdhp |SSize_t|PerlIO_get_cnt |NULLOK PerlIO *f
6133Adhp |STDCHAR *|PerlIO_get_ptr \
a5dfa563 6134 |NULLOK PerlIO *f
d6a7165b 6135Adhp |SSize_t|PerlIO_read |NULLOK PerlIO *f \
a5dfa563
YO
6136 |NN void *vbuf \
6137 |Size_t count
6138Xp |void |PerlIO_restore_errno \
6139 |NULLOK PerlIO *f
6140Xp |void |PerlIO_save_errno \
6141 |NULLOK PerlIO *f
d6a7165b 6142Adhp |int |PerlIO_seek |NULLOK PerlIO *f \
a5dfa563
YO
6143 |Off_t offset \
6144 |int whence
d6a7165b 6145Adhp |void |PerlIO_set_cnt |NULLOK PerlIO *f \
a5dfa563 6146 |SSize_t cnt
d6a7165b 6147Adhp |void |PerlIO_setlinebuf \
a5dfa563 6148 |NULLOK PerlIO *f
d6a7165b 6149Adhp |void |PerlIO_set_ptrcnt \
a5dfa563
YO
6150 |NULLOK PerlIO *f \
6151 |NULLOK STDCHAR *ptr \
6152 |SSize_t cnt
d6a7165b
YO
6153ARdhp |PerlIO *|PerlIO_stderr
6154ARdhp |PerlIO *|PerlIO_stdin
6155ARdhp |PerlIO *|PerlIO_stdout
6156Adhp |Off_t |PerlIO_tell |NULLOK PerlIO *f
6157Adp |SSize_t|PerlIO_unread |NULLOK PerlIO *f \
a5dfa563
YO
6158 |NN const void *vbuf \
6159 |Size_t count
d6a7165b 6160Adhp |SSize_t|PerlIO_write |NULLOK PerlIO *f \
a5dfa563
YO
6161 |NN const void *vbuf \
6162 |Size_t count
6163#endif /* defined(USE_PERLIO) */
6164#if defined(USE_PERL_SWITCH_LOCALE_CONTEXT)
d6a7165b 6165CTop |void |switch_locale_context
a5dfa563
YO
6166#endif /* defined(USE_PERL_SWITCH_LOCALE_CONTEXT) */
6167#if defined(USE_QUADMATH)
d6a7165b 6168Tdp |bool |quadmath_format_needed \
a5dfa563 6169 |NN const char *format
d6a7165b 6170Tdp |bool |quadmath_format_valid \
b8837dad 6171 |NN const char *format
a5dfa563
YO
6172#endif /* defined(USE_QUADMATH) */
6173#if defined(VMS) || defined(WIN32)
6174Cp |int |do_aspawn |NULLOK SV *really \
6175 |NN SV **mark \
6176 |NN SV **sp
6177Cp |int |do_spawn |NN char *cmd
6178Cp |int |do_spawn_nowait|NN char *cmd
6179#endif /* defined(VMS) || defined(WIN32) */
6180#if defined(WIN32)
32346b7c 6181CRTdp |void * |get_context
a5dfa563
YO
6182p |bool |get_win32_message_utf8ness \
6183 |NULLOK const char *string
d6a7165b 6184Teor |void |win32_croak_not_implemented \
b8837dad 6185 |NN const char *fname
a5dfa563
YO
6186#else /* if !defined(WIN32) */
6187p |bool |do_exec3 |NN const char *incmd \
6188 |int fd \
6189 |int do_report
32346b7c 6190CRTdip |void * |get_context
a5dfa563 6191#endif /* !defined(WIN32) */
eb87cedb 6192
b2ba7ad6 6193: ex: set ts=8 sts=4 sw=4 noet: