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