integrate cfgperl changes into mainline
[p5sagit/p5-mst-13.2.git] / embed.pl
CommitLineData
5f05dabc 1#!/usr/bin/perl -w
e50aee73 2
5f05dabc 3require 5.003;
4
cea2e8a9 5#
6# See database of global and static function prototypes at the __END__.
7# This is used to generate prototype headers under various configurations,
8# export symbols lists for different platforms, and macros to provide an
9# implicit interpreter context argument.
10#
11
12my $END = tell DATA;
13
14# walk table providing an array of components in each line to
15# subroutine, printing the result
16sub walk_table (&@) {
17 my $function = shift;
18 my $filename = shift || '-';
19 my $leader = shift;
20 my $trailer = shift;
21 my $F;
22 local *F;
23 if (ref $filename) { # filehandle
24 $F = $filename;
25 }
26 else {
27 open F, ">$filename" or die "Can't open $filename: $!";
28 $F = \*F;
29 }
30 print $F $leader if $leader;
31 seek DATA, $END, 0; # so we may restart
32 while (<DATA>) {
33 chomp;
34 while (s|\\$||) {
35 $_ .= <DATA>;
36 chomp;
37 }
38 my @args;
39 if (/^\s*(#|$)/) {
40 @args = $_;
41 }
42 else {
43 @args = split /\s*\|\s*/, $_;
44 }
45 print $F $function->(@args);
46 }
47 print $F $trailer if $trailer;
48 close $F unless ref $filename;
49}
50
51sub munge_c_files () {
52 my $functions = {};
53 unless (@ARGV) {
54 warn "\@ARGV empty, nothing to do\n";
55 return;
56 }
57 walk_table {
58 if (@_ > 1) {
59 $functions->{$_[2]} = \@_ if $_[@_-1] =~ /\.\.\./;
60 }
61 } '/dev/null';
62 local $^I = '.bak';
63 while (<>) {
64# if (/^#\s*include\s+"perl.h"/) {
65# my $file = uc $ARGV;
66# $file =~ s/\./_/g;
67# print "#define PERL_IN_$file\n";
68# }
69# s{^(\w+)\s*\(}
70# {
71# my $f = $1;
72# my $repl = "$f(";
73# if (exists $functions->{$f}) {
74# my $flags = $functions->{$f}[0];
75# $repl = "Perl_$repl" if $flags =~ /p/;
76# unless ($flags =~ /n/) {
77# $repl .= "pTHX";
78# $repl .= "_ " if @{$functions->{$f}} > 3;
79# }
80# warn("$ARGV:$.:$repl\n");
81# }
82# $repl;
83# }e;
84 s{(\b(\w+)[ \t]*\([ \t]*(?!aTHX))}
85 {
86 my $repl = $1;
87 my $f = $2;
88 if (exists $functions->{$f}) {
89 $repl .= "aTHX_ ";
90 warn("$ARGV:$.:$`#$repl#$'");
91 }
92 $repl;
93 }eg;
94 print;
95 close ARGV if eof; # restart $.
96 }
97 exit;
98}
99
100#munge_c_files();
101
102# generate proto.h
103sub write_protos {
104 my $ret = "";
105 if (@_ == 1) {
106 my $arg = shift;
107 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
108 }
109 else {
110 my ($flags,$retval,$func,@args) = @_;
111 if ($flags =~ /s/) {
112 $retval = "STATIC $retval";
113 $func = "S_$func";
114 }
115 elsif ($flags =~ /p/) {
116 $func = "Perl_$func";
117 }
118 $ret .= "$retval\t$func(";
119 unless ($flags =~ /n/) {
120 $ret .= "pTHX";
121 $ret .= "_ " if @args;
122 }
123 if (@args) {
124 $ret .= join ", ", @args;
125 }
126 else {
127 $ret .= "void" if $flags =~ /n/;
128 }
129 $ret .= ")";
130 $ret .= " __attribute__((noreturn))" if $flags =~ /r/;
131 $ret .= ";\n";
132 }
133 $ret;
134}
135
136# generates global.sym, and populates %global with global symbols
137sub write_global_sym {
138 my $ret = "";
139 if (@_ > 1) {
140 my ($flags,$retval,$func,@args) = @_;
141 unless ($flags =~ /s/) {
142 $func = "Perl_$func" if $flags =~ /p/;
143 $ret = "$func\n";
144 }
145 }
146 $ret;
147}
148
149
150walk_table(\&write_protos, 'proto.h', <<'EOT');
151/*
152 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
153 * This file is autogenerated from data in embed.pl. Edit that file
154 * and run 'make regen_headers' to effect changes.
155 */
156
157EOT
158
159walk_table(\&write_global_sym, 'global.sym', <<'EOT');
160#
161# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
162# This file is autogenerated from data in embed.pl. Edit that file
163# and run 'make regen_headers' to effect changes.
164#
165
166EOT
167
709f4e38 168# XXX others that may need adding
169# warnhook
170# hints
171# copline
84fee439 172my @extvars = qw(sv_undef sv_yes sv_no na dowarn
173 curcop compiling
174 tainting tainted stack_base stack_sp sv_arenaroot
256a4781 175 no_modify
84fee439 176 curstash DBsub DBsingle debstash
177 rsfp
178 stdingv
6b88bc9c 179 defgv
180 errgv
3070f6ec 181 rsfp_filters
182 perldb
709f4e38 183 diehook
184 dirty
185 perl_destruct_level
84fee439 186 );
187
5f05dabc 188sub readsyms (\%$) {
189 my ($syms, $file) = @_;
5f05dabc 190 local (*FILE, $_);
191 open(FILE, "< $file")
192 or die "embed.pl: Can't open $file: $!\n";
193 while (<FILE>) {
194 s/[ \t]*#.*//; # Delete comments.
195 if (/^\s*(\S+)\s*$/) {
22c35a8c 196 my $sym = $1;
197 warn "duplicate symbol $sym while processing $file\n"
198 if exists $$syms{$sym};
199 $$syms{$sym} = 1;
5f05dabc 200 }
201 }
202 close(FILE);
203}
204
cea2e8a9 205# Perl_pp_* and Perl_ck_* are in pp.sym
206readsyms my %ppsym, 'pp.sym';
5f05dabc 207
c6af7a1a 208sub readvars(\%$$@) {
209 my ($syms, $file,$pre,$keep_pre) = @_;
d4cce5f1 210 local (*FILE, $_);
211 open(FILE, "< $file")
212 or die "embed.pl: Can't open $file: $!\n";
213 while (<FILE>) {
214 s/[ \t]*#.*//; # Delete comments.
3fe35a81 215 if (/PERLVARI?C?\($pre(\w+)/) {
22c35a8c 216 my $sym = $1;
c6af7a1a 217 $sym = $pre . $sym if $keep_pre;
22c35a8c 218 warn "duplicate symbol $sym while processing $file\n"
219 if exists $$syms{$sym};
220 $$syms{$sym} = 1;
d4cce5f1 221 }
222 }
223 close(FILE);
224}
225
226my %intrp;
227my %thread;
228
229readvars %intrp, 'intrpvar.h','I';
230readvars %thread, 'thrdvar.h','T';
22239a37 231readvars %globvar, 'perlvars.h','G';
c6af7a1a 232readvars %objvar, 'intrpvar.h','pi', 1;
d4cce5f1 233
d4cce5f1 234foreach my $sym (sort keys %thread)
235 {
34b58025 236 warn "$sym in intrpvar.h as well as thrdvar.h\n" if exists $intrp{$sym};
d4cce5f1 237 }
238
c6af7a1a 239sub undefine ($) {
240 my ($sym) = @_;
241 "#undef $sym\n";
242}
243
5f05dabc 244sub hide ($$) {
245 my ($from, $to) = @_;
246 my $t = int(length($from) / 8);
247 "#define $from" . "\t" x ($t < 3 ? 3 - $t : 1) . "$to\n";
248}
c6af7a1a 249
c6af7a1a 250sub objxsub_var ($) {
251 my ($sym) = @_;
252 undefine("PL_$sym") . hide("PL_$sym", "pPerl->PL_$sym");
253}
254
3280af22 255sub embedvar ($) {
256 my ($sym) = @_;
257# hide($sym, "Perl_$sym");
258 return '';
259}
260
d4cce5f1 261sub multon ($$$) {
262 my ($sym,$pre,$ptr) = @_;
3280af22 263 hide("PL_$sym", "($ptr$pre$sym)");
5f05dabc 264}
d4cce5f1 265sub multoff ($$) {
266 my ($sym,$pre) = @_;
533c011a 267 return hide("PL_$pre$sym", "PL_$sym");
5f05dabc 268}
269
270unlink 'embed.h';
cea2e8a9 271open(EM, '> embed.h') or die "Can't create embed.h: $!\n";
e50aee73 272
273print EM <<'END';
76b72cf1 274/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
cea2e8a9 275 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
c6af7a1a 276 perlvars.h and thrdvar.h. Any changes made here will be lost!
76b72cf1 277*/
e50aee73 278
279/* (Doing namespace management portably in C is really gross.) */
280
22c35a8c 281/* NO_EMBED is no longer supported. i.e. EMBED is always active. */
820c3be9 282
22c35a8c 283/* Hide global symbols */
5f05dabc 284
22c35a8c 285#if !defined(PERL_OBJECT)
cea2e8a9 286#if !defined(PERL_IMPLICIT_CONTEXT)
e50aee73 287
e50aee73 288END
289
cea2e8a9 290walk_table {
291 my $ret = "";
292 if (@_ == 1) {
293 my $arg = shift;
294 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
295 }
296 else {
297 my ($flags,$retval,$func,@args) = @_;
298 unless ($flags =~ /o/) {
299 if ($flags =~ /s/) {
300 $ret .= hide($func,"S_$func");
301 }
302 elsif ($flags =~ /p/) {
303 $ret .= hide($func,"Perl_$func");
304 }
305 }
306 }
307 $ret;
308} \*EM;
309
310for $sym (sort keys %ppsym) {
311 $sym =~ s/^Perl_//;
312 print EM hide($sym, "Perl_$sym");
313}
314
315print EM <<'END';
316
317#else /* PERL_IMPLICIT_CONTEXT */
318
319END
320
321my @az = ('a'..'z');
322
323walk_table {
324 my $ret = "";
325 if (@_ == 1) {
326 my $arg = shift;
327 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
328 }
329 else {
330 my ($flags,$retval,$func,@args) = @_;
331 unless ($flags =~ /o/) {
332 my $args = scalar @args;
333 if ($args and $args[$args-1] =~ /\.\.\./) {
334 # we're out of luck for varargs functions under CPP
335 }
336 elsif ($flags =~ /n/) {
337 if ($flags =~ /s/) {
338 $ret .= hide($func,"S_$func");
339 }
340 elsif ($flags =~ /p/) {
341 $ret .= hide($func,"Perl_$func");
342 }
343 }
344 else {
345 my $alist = join(",", @az[0..$args-1]);
346 $ret = "#define $func($alist)";
347 my $t = int(length($ret) / 8);
348 $ret .= "\t" x ($t < 4 ? 4 - $t : 1);
349 if ($flags =~ /s/) {
350 $ret .= "S_$func(aTHX";
351 }
352 elsif ($flags =~ /p/) {
353 $ret .= "Perl_$func(aTHX";
354 }
355 $ret .= "_ " if $alist;
356 $ret .= $alist . ")\n";
357 }
358 }
359 }
360 $ret;
361} \*EM;
362
363for $sym (sort keys %ppsym) {
364 $sym =~ s/^Perl_//;
365 if ($sym =~ /^ck_/) {
366 print EM hide("$sym(a)", "Perl_$sym(aTHX_ a)");
367 }
368 elsif ($sym =~ /^pp_/) {
369 print EM hide("$sym()", "Perl_$sym(aTHX)");
370 }
371 else {
372 warn "Illegal symbol '$sym' in pp.sym";
373 }
e50aee73 374}
375
e50aee73 376print EM <<'END';
377
cea2e8a9 378#endif /* PERL_IMPLICIT_CONTEXT */
22c35a8c 379#else /* PERL_OBJECT */
380
381END
382
cea2e8a9 383walk_table {
384 my $ret = "";
385 if (@_ == 1) {
386 my $arg = shift;
387 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
388 }
389 else {
390 my ($flags,$retval,$func,@args) = @_;
391 unless ($flags =~ /o/) {
392 if ($flags =~ /s/) {
393 $ret .= hide("S_$func","CPerlObj::$func");
394 }
395 elsif ($flags =~ /p/) {
396 $ret .= hide("Perl_$func","CPerlObj::$func");
397 }
398 }
399 }
400 $ret;
401} \*EM;
402
403for $sym (sort keys %ppsym) {
404 $sym =~ s/^Perl_//;
405 print EM hide("Perl_$sym", "CPerlObj::$sym");
22c35a8c 406}
407
408print EM <<'END';
409
410#endif /* PERL_OBJECT */
e50aee73 411
cea2e8a9 412/* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to
413 disable them.
414 */
415
416#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)
417
418# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,(IV)ptr)
419# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,(IV)ptr)
420
421
422/* Compatibility for various misnamed functions. All functions
423 in the API that begin with "perl_" (not "Perl_") take an explicit
424 interpreter context pointer.
425 The following are not like that, but since they had a "perl_"
426 prefix in previous versions, we provide compatibility macros.
427 */
428# define perl_atexit call_atexit
429# define perl_call_argv call_argv
430# define perl_call_pv call_pv
431# define perl_call_method call_method
432# define perl_call_sv call_sv
433# define perl_eval_sv eval_sv
434# define perl_eval_pv eval_pv
435# define perl_require_pv require_pv
436# define perl_get_sv get_sv
437# define perl_get_av get_av
438# define perl_get_hv get_hv
439# define perl_get_cv get_cv
440# define perl_init_i18nl10n init_i18nl10n
441# define perl_init_i18nl14n init_i18nl14n
442# define perl_new_ctype new_ctype
443# define perl_new_collate new_collate
444# define perl_new_numeric new_numeric
445
446/* varargs functions can't be handled with CPP macros. :-(
447 This provides a set of compatibility functions that don't take
448 an extra argument but grab the context pointer using the macro
449 dTHX.
450 */
451#if defined(PERL_IMPLICIT_CONTEXT)
452# define croak Perl_croak_nocontext
453# define die Perl_die_nocontext
454# define form Perl_form_nocontext
455# define newSVpvf Perl_newSVpvf_nocontext
456# define sv_catpvf Perl_sv_catpvf_nocontext
457# define sv_setpvf Perl_sv_setpvf_nocontext
458# define warn Perl_warn_nocontext
459# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
460# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
461#endif
462
463#endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */
464
465#if !defined(PERL_IMPLICIT_CONTEXT)
466/* undefined symbols, point them back at the usual ones */
467# define Perl_croak_nocontext Perl_croak
468# define Perl_die_nocontext Perl_die
469# define Perl_form_nocontext Perl_form
470# define Perl_newSVpvf_nocontext Perl_newSVpvf
471# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
472# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
473# define Perl_warn_nocontext Perl_warn
474# define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg
475# define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg
476#endif
db5cf5a9 477
d4cce5f1 478END
479
480close(EM);
481
482unlink 'embedvar.h';
483open(EM, '> embedvar.h')
484 or die "Can't create embedvar.h: $!\n";
485
486print EM <<'END';
487/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
cea2e8a9 488 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
c6af7a1a 489 perlvars.h and thrdvar.h. Any changes made here will be lost!
d4cce5f1 490*/
491
492/* (Doing namespace management portably in C is really gross.) */
493
5f05dabc 494/* Put interpreter-specific symbols into a struct? */
e50aee73 495
496#ifdef MULTIPLICITY
497
d4cce5f1 498#ifndef USE_THREADS
499/* If we do not have threads then per-thread vars are per-interpreter */
500
cea2e8a9 501#ifdef PERL_IMPLICIT_CONTEXT
502
503/* everything has an implicit context pointer */
504
505END
506
507for $sym (sort keys %thread) {
508 print EM multon($sym,'T','my_perl->');
509}
510
511print EM <<'END';
512
513#else /* !PERL_IMPLICIT_CONTEXT */
514
515/* traditional MULTIPLICITY (intepreter is in a global) */
516
e50aee73 517END
518
cea2e8a9 519
d4cce5f1 520for $sym (sort keys %thread) {
8f872242 521 print EM multon($sym,'T','PL_curinterp->');
d4cce5f1 522}
523
524print EM <<'END';
525
cea2e8a9 526#endif /* !PERL_IMPLICIT_CONTEXT */
d4cce5f1 527#endif /* !USE_THREADS */
528
529/* These are always per-interpreter if there is more than one */
530
531END
532
533for $sym (sort keys %intrp) {
8f872242 534 print EM multon($sym,'I','PL_curinterp->');
760ac839 535}
760ac839 536
55497cff 537print EM <<'END';
538
5f05dabc 539#else /* !MULTIPLICITY */
55497cff 540
541END
760ac839 542
d4cce5f1 543for $sym (sort keys %intrp) {
544 print EM multoff($sym,'I');
e50aee73 545}
e50aee73 546
56d28764 547print EM <<'END';
548
d4cce5f1 549#ifndef USE_THREADS
550
551END
552
553for $sym (sort keys %thread) {
554 print EM multoff($sym,'T');
555}
556
557print EM <<'END';
558
559#endif /* USE_THREADS */
560
561/* Hide what would have been interpreter-specific symbols? */
5f05dabc 562
56d28764 563END
e50aee73 564
d4cce5f1 565for $sym (sort keys %intrp) {
3280af22 566 print EM embedvar($sym);
d4cce5f1 567}
568
569print EM <<'END';
570
571#ifndef USE_THREADS
572
573END
574
575for $sym (sort keys %thread) {
3280af22 576 print EM embedvar($sym);
5f05dabc 577}
578
579print EM <<'END';
580
d4cce5f1 581#endif /* USE_THREADS */
e50aee73 582#endif /* MULTIPLICITY */
d4cce5f1 583
584/* Now same trickey for per-thread variables */
585
586#ifdef USE_THREADS
587
588END
589
590for $sym (sort keys %thread) {
22239a37 591 print EM multon($sym,'T','thr->');
d4cce5f1 592}
593
594print EM <<'END';
595
596#endif /* USE_THREADS */
597
22239a37 598#ifdef PERL_GLOBAL_STRUCT
599
600END
601
602for $sym (sort keys %globvar) {
533c011a 603 print EM multon($sym,'G','PL_Vars.');
22239a37 604}
605
606print EM <<'END';
607
608#else /* !PERL_GLOBAL_STRUCT */
609
610END
611
612for $sym (sort keys %globvar) {
613 print EM multoff($sym,'G');
614}
615
616print EM <<'END';
617
22239a37 618END
619
620for $sym (sort keys %globvar) {
3280af22 621 print EM embedvar($sym);
22239a37 622}
623
624print EM <<'END';
625
22239a37 626#endif /* PERL_GLOBAL_STRUCT */
627
e50aee73 628END
629
84fee439 630print EM <<'END';
631
db5cf5a9 632#ifdef PERL_POLLUTE /* disabled by default in 5.006 */
84fee439 633
634END
635
636for $sym (sort @extvars) {
637 print EM hide($sym,"PL_$sym");
638}
639
640print EM <<'END';
641
db5cf5a9 642#endif /* PERL_POLLUTE */
84fee439 643END
644
645
3fe35a81 646close(EM);
c6af7a1a 647
648unlink 'objXSUB.h';
649open(OBX, '> objXSUB.h')
650 or die "Can't create objXSUB.h: $!\n";
651
652print OBX <<'EOT';
653/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
cea2e8a9 654 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
c6af7a1a 655 perlvars.h and thrdvar.h. Any changes made here will be lost!
656*/
657
658#ifndef __objXSUB_h__
659#define __objXSUB_h__
660
661/* Variables */
662
663EOT
664
665foreach my $sym (sort(keys(%intrp),
666 keys(%thread),
667 keys(%globvar),
668 keys(%objvar)))
669{
670 print OBX objxsub_var($sym);
671}
672
673print OBX <<'EOT';
674
675/* Functions */
676
677EOT
678
cea2e8a9 679walk_table {
680 my $ret = "";
681 if (@_ == 1) {
682 my $arg = shift;
683 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
684 }
685 else {
686 my ($flags,$retval,$func,@args) = @_;
687 unless ($flags =~ /o/) {
688 if ($flags =~ /p/) {
689 $ret .= undefine($func) . hide($func,"pPerl->$func");
690 }
691 }
692 }
693 $ret;
694} \*OBX;
c6af7a1a 695
cea2e8a9 696for $sym (sort keys %ppsym) {
697 $sym =~ s/^Perl_//;
698 print OBX undefine($sym) . hide($sym, "pPerl->$sym");
c6af7a1a 699}
700
c6af7a1a 701print OBX <<'EOT';
702
703#endif /* __objXSUB_h__ */
704EOT
705
706close(OBX);
cea2e8a9 707
708__END__
709
710# Lines are of the form:
711# flags|return_type|function_name|return_type|arg1|arg2|...|argN
712#
713# They may continue on multiple lines when \w| begins the next line.
714# Leading and trailing whitespace will be ignored in each component.
715#
716# flags are single letters with following meanings:
717# s static function, should have an S_ prefix in source
718# file
719# n has no implicit interpreter/thread context argument
720# p function has a Perl_ prefix
721# r function never returns
722# o has no compatibility macro (#define foo Perl_foo)
723#
724# Individual flags may be separated by whitespace.
725#
726# New global functions should be added at the end for binary compatibility
727# in some configurations.
728#
729# TODO: 1) Add a flag to mark the functions that are part of the public API.
730# 2) Add a field for documentation, so that L<perlguts/"API LISTING">
731# may be autogenerated.
732#
733
734p |SV* |amagic_call |SV* left|SV* right|int method|int dir
735p |bool |Gv_AMupdate |HV* stash
736p |OP* |append_elem |I32 optype|OP* head|OP* tail
737p |OP* |append_list |I32 optype|LISTOP* first|LISTOP* last
738p |I32 |apply |I32 type|SV** mark|SV** sp
739p |void |assertref |OP* o
740p |bool |avhv_exists_ent|AV *ar|SV* keysv|U32 hash
741p |SV** |avhv_fetch_ent |AV *ar|SV* keysv|I32 lval|U32 hash
742p |HE* |avhv_iternext |AV *ar
743p |SV* |avhv_iterval |AV *ar|HE* entry
744p |HV* |avhv_keys |AV *ar
745p |void |av_clear |AV* ar
746p |void |av_extend |AV* ar|I32 key
747p |AV* |av_fake |I32 size|SV** svp
748p |SV** |av_fetch |AV* ar|I32 key|I32 lval
749p |void |av_fill |AV* ar|I32 fill
750p |I32 |av_len |AV* ar
751p |AV* |av_make |I32 size|SV** svp
752p |SV* |av_pop |AV* ar
753p |void |av_push |AV* ar|SV* val
754p |void |av_reify |AV* ar
755p |SV* |av_shift |AV* ar
756p |SV** |av_store |AV* ar|I32 key|SV* val
757p |void |av_undef |AV* ar
758p |void |av_unshift |AV* ar|I32 num
759p |OP* |bind_match |I32 type|OP* left|OP* pat
760p |OP* |block_end |I32 floor|OP* seq
761p |I32 |block_gimme
762p |int |block_start |int full
763p |void |boot_core_UNIVERSAL
764p |void |call_list |I32 oldscope|AV* av_list
765p |I32 |cando |I32 bit|I32 effective|Stat_t* statbufp
766p |U32 |cast_ulong |double f
767p |I32 |cast_i32 |double f
768p |IV |cast_iv |double f
769p |UV |cast_uv |double f
770#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
771p |I32 |my_chsize |int fd|Off_t length
772#endif
773#if defined(USE_THREADS)
774p |MAGIC* |condpair_magic |SV *sv
775#endif
776p |OP* |convert |I32 optype|I32 flags|OP* o
777pr |void |croak |const char* pat|...
778#if defined(PERL_IMPLICIT_CONTEXT)
779npr |void |croak_nocontext|const char* pat|...
780np |OP* |die_nocontext |const char* pat|...
781np |char* |form_nocontext |const char* pat|...
782np |void |warn_nocontext |const char* pat|...
783np |SV* |newSVpvf_nocontext|const char* pat|...
784np |void |sv_catpvf_nocontext|SV* sv|const char* pat|...
785np |void |sv_setpvf_nocontext|SV* sv|const char* pat|...
786np |void |sv_catpvf_mg_nocontext|SV* sv|const char* pat|...
787np |void |sv_setpvf_mg_nocontext|SV* sv|const char* pat|...
788#endif
789p |void |cv_ckproto |CV* cv|GV* gv|char* p
790p |CV* |cv_clone |CV* proto
791p |SV* |cv_const_sv |CV* cv
792p |SV* |op_const_sv |OP* o|CV* cv
793p |void |cv_undef |CV* cv
794p |void |cx_dump |PERL_CONTEXT* cs
795p |SV* |filter_add |filter_t funcp|SV* datasv
796p |void |filter_del |filter_t funcp
797p |I32 |filter_read |int idx|SV* buffer|int maxlen
798p |char** |get_op_descs
799p |char** |get_op_names
800p |char* |get_no_modify
801p |U32* |get_opargs
802p |I32 |cxinc
803p |void |deb |const char* pat|...
804p |void |deb_growlevel
805p |void |debprofdump
806p |I32 |debop |OP* o
807p |I32 |debstack
808p |I32 |debstackptrs
809p |char* |delimcpy |char* to|char* toend|char* from \
810 |char* fromend|int delim|I32* retlen
811p |void |deprecate |char* s
812p |OP* |die |const char* pat|...
813p |OP* |die_where |char* message|STRLEN msglen
814p |void |dounwind |I32 cxix
815p |bool |do_aexec |SV* really|SV** mark|SV** sp
816p |int |do_binmode |PerlIO *fp|int iotype|int flag
817p |void |do_chop |SV* asv|SV* sv
818p |bool |do_close |GV* gv|bool not_implicit
819p |bool |do_eof |GV* gv
820p |bool |do_exec |char* cmd
821#if !defined(WIN32)
822p |bool |do_exec3 |char* cmd|int fd|int flag
823#endif
824p |void |do_execfree
825#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
826p |I32 |do_ipcctl |I32 optype|SV** mark|SV** sp
827p |I32 |do_ipcget |I32 optype|SV** mark|SV** sp
828p |I32 |do_msgrcv |SV** mark|SV** sp
829p |I32 |do_msgsnd |SV** mark|SV** sp
830p |I32 |do_semop |SV** mark|SV** sp
831p |I32 |do_shmio |I32 optype|SV** mark|SV** sp
832#endif
833p |void |do_join |SV* sv|SV* del|SV** mark|SV** sp
834p |OP* |do_kv
835p |bool |do_open |GV* gv|char* name|I32 len|int as_raw \
836 |int rawmode|int rawperm|PerlIO* supplied_fp
837p |void |do_pipe |SV* sv|GV* rgv|GV* wgv
838p |bool |do_print |SV* sv|PerlIO* fp
839p |OP* |do_readline
840p |I32 |do_chomp |SV* sv
841p |bool |do_seek |GV* gv|Off_t pos|int whence
842p |void |do_sprintf |SV* sv|I32 len|SV** sarg
843p |Off_t |do_sysseek |GV* gv|Off_t pos|int whence
844p |Off_t |do_tell |GV* gv
845p |I32 |do_trans |SV* sv
846p |void |do_vecset |SV* sv
847p |void |do_vop |I32 optype|SV* sv|SV* left|SV* right
848p |OP* |dofile |OP* term
849p |I32 |dowantarray
850p |void |dump_all
851p |void |dump_eval
852#if defined(DUMP_FDS)
853p |void |dump_fds |char* s
854#endif
855p |void |dump_form |GV* gv
856p |void |gv_dump |GV* gv
857p |void |op_dump |OP* arg
858p |void |pmop_dump |PMOP* pm
859p |void |dump_packsubs |HV* stash
860p |void |dump_sub |GV* gv
861p |void |fbm_compile |SV* sv|U32 flags
862p |char* |fbm_instr |unsigned char* big|unsigned char* bigend \
863 |SV* littlesv|U32 flags
864p |char* |find_script |char *scriptname|bool dosearch \
865 |char **search_ext|I32 flags
866#if defined(USE_THREADS)
867p |PADOFFSET|find_threadsv|const char *name
868#endif
869p |OP* |force_list |OP* arg
870p |OP* |fold_constants |OP* arg
871p |char* |form |const char* pat|...
872p |void |free_tmps
873p |OP* |gen_constant_list|OP* o
874#if !defined(HAS_GETENV_LEN)
875p |char* |getenv_len |char* key|unsigned long *len
876#endif
877p |void |gp_free |GV* gv
878p |GP* |gp_ref |GP* gp
879p |GV* |gv_AVadd |GV* gv
880p |GV* |gv_HVadd |GV* gv
881p |GV* |gv_IOadd |GV* gv
882p |GV* |gv_autoload4 |HV* stash|const char* name|STRLEN len \
883 |I32 method
884p |void |gv_check |HV* stash
885p |void |gv_efullname |SV* sv|GV* gv
886p |void |gv_efullname3 |SV* sv|GV* gv|const char* prefix
887p |GV* |gv_fetchfile |const char* name
888p |GV* |gv_fetchmeth |HV* stash|const char* name|STRLEN len \
889 |I32 level
890p |GV* |gv_fetchmethod |HV* stash|const char* name
891p |GV* |gv_fetchmethod_autoload|HV* stash|const char* name \
892 |I32 autoload
893p |GV* |gv_fetchpv |const char* name|I32 add|I32 sv_type
894p |void |gv_fullname |SV* sv|GV* gv
895p |void |gv_fullname3 |SV* sv|GV* gv|const char* prefix
896p |void |gv_init |GV* gv|HV* stash|const char* name \
897 |STRLEN len|int multi
898p |HV* |gv_stashpv |const char* name|I32 create
899p |HV* |gv_stashpvn |const char* name|U32 namelen|I32 create
900p |HV* |gv_stashsv |SV* sv|I32 create
901p |void |hv_clear |HV* tb
902p |void |hv_delayfree_ent|HV* hv|HE* entry
903p |SV* |hv_delete |HV* tb|const char* key|U32 klen|I32 flags
904p |SV* |hv_delete_ent |HV* tb|SV* key|I32 flags|U32 hash
905p |bool |hv_exists |HV* tb|const char* key|U32 klen
906p |bool |hv_exists_ent |HV* tb|SV* key|U32 hash
907p |SV** |hv_fetch |HV* tb|const char* key|U32 klen|I32 lval
908p |HE* |hv_fetch_ent |HV* tb|SV* key|I32 lval|U32 hash
909p |void |hv_free_ent |HV* hv|HE* entry
910p |I32 |hv_iterinit |HV* tb
911p |char* |hv_iterkey |HE* entry|I32* retlen
912p |SV* |hv_iterkeysv |HE* entry
913p |HE* |hv_iternext |HV* tb
914p |SV* |hv_iternextsv |HV* hv|char** key|I32* retlen
915p |SV* |hv_iterval |HV* tb|HE* entry
916p |void |hv_ksplit |HV* hv|IV newmax
917p |void |hv_magic |HV* hv|GV* gv|int how
918p |SV** |hv_store |HV* tb|const char* key|U32 klen|SV* val \
919 |U32 hash
920p |HE* |hv_store_ent |HV* tb|SV* key|SV* val|U32 hash
921p |void |hv_undef |HV* tb
922p |I32 |ibcmp |const char* a|const char* b|I32 len
923p |I32 |ibcmp_locale |const char* a|const char* b|I32 len
924p |I32 |ingroup |I32 testgid|I32 effective
925p |void |init_stacks
926p |U32 |intro_my
927p |char* |instr |const char* big|const char* little
928p |bool |io_close |IO* io
929p |OP* |invert |OP* cmd
930p |bool |is_uni_alnum |U32 c
931p |bool |is_uni_idfirst |U32 c
932p |bool |is_uni_alpha |U32 c
933p |bool |is_uni_space |U32 c
934p |bool |is_uni_digit |U32 c
935p |bool |is_uni_upper |U32 c
936p |bool |is_uni_lower |U32 c
937p |bool |is_uni_print |U32 c
938p |U32 |to_uni_upper |U32 c
939p |U32 |to_uni_title |U32 c
940p |U32 |to_uni_lower |U32 c
941p |bool |is_uni_alnum_lc|U32 c
942p |bool |is_uni_idfirst_lc|U32 c
943p |bool |is_uni_alpha_lc|U32 c
944p |bool |is_uni_space_lc|U32 c
945p |bool |is_uni_digit_lc|U32 c
946p |bool |is_uni_upper_lc|U32 c
947p |bool |is_uni_lower_lc|U32 c
948p |bool |is_uni_print_lc|U32 c
949p |U32 |to_uni_upper_lc|U32 c
950p |U32 |to_uni_title_lc|U32 c
951p |U32 |to_uni_lower_lc|U32 c
952p |bool |is_utf8_alnum |U8 *p
953p |bool |is_utf8_idfirst|U8 *p
954p |bool |is_utf8_alpha |U8 *p
955p |bool |is_utf8_space |U8 *p
956p |bool |is_utf8_digit |U8 *p
957p |bool |is_utf8_upper |U8 *p
958p |bool |is_utf8_lower |U8 *p
959p |bool |is_utf8_print |U8 *p
960p |bool |is_utf8_mark |U8 *p
961p |OP* |jmaybe |OP* arg
962p |I32 |keyword |char* d|I32 len
963p |void |leave_scope |I32 base
964p |void |lex_end
965p |void |lex_start |SV* line
966p |OP* |linklist |OP* o
967p |OP* |list |OP* o
968p |OP* |listkids |OP* o
969p |OP* |localize |OP* arg|I32 lexical
970p |I32 |looks_like_number|SV* sv
971p |int |magic_clearenv |SV* sv|MAGIC* mg
972p |int |magic_clear_all_env|SV* sv|MAGIC* mg
973p |int |magic_clearpack|SV* sv|MAGIC* mg
974p |int |magic_clearsig |SV* sv|MAGIC* mg
975p |int |magic_existspack|SV* sv|MAGIC* mg
976p |int |magic_freeregexp|SV* sv|MAGIC* mg
977p |int |magic_get |SV* sv|MAGIC* mg
978p |int |magic_getarylen|SV* sv|MAGIC* mg
979p |int |magic_getdefelem|SV* sv|MAGIC* mg
980p |int |magic_getglob |SV* sv|MAGIC* mg
981p |int |magic_getnkeys |SV* sv|MAGIC* mg
982p |int |magic_getpack |SV* sv|MAGIC* mg
983p |int |magic_getpos |SV* sv|MAGIC* mg
984p |int |magic_getsig |SV* sv|MAGIC* mg
985p |int |magic_getsubstr|SV* sv|MAGIC* mg
986p |int |magic_gettaint |SV* sv|MAGIC* mg
987p |int |magic_getuvar |SV* sv|MAGIC* mg
988p |int |magic_getvec |SV* sv|MAGIC* mg
989p |U32 |magic_len |SV* sv|MAGIC* mg
990#if defined(USE_THREADS)
991p |int |magic_mutexfree|SV* sv|MAGIC* mg
992#endif
993p |int |magic_nextpack |SV* sv|MAGIC* mg|SV* key
994p |U32 |magic_regdata_cnt|SV* sv|MAGIC* mg
995p |int |magic_regdatum_get|SV* sv|MAGIC* mg
996p |int |magic_set |SV* sv|MAGIC* mg
997p |int |magic_setamagic|SV* sv|MAGIC* mg
998p |int |magic_setarylen|SV* sv|MAGIC* mg
999p |int |magic_setbm |SV* sv|MAGIC* mg
1000p |int |magic_setdbline|SV* sv|MAGIC* mg
1001#if defined(USE_LOCALE_COLLATE)
1002p |int |magic_setcollxfrm|SV* sv|MAGIC* mg
1003#endif
1004p |int |magic_setdefelem|SV* sv|MAGIC* mg
1005p |int |magic_setenv |SV* sv|MAGIC* mg
1006p |int |magic_setfm |SV* sv|MAGIC* mg
1007p |int |magic_setisa |SV* sv|MAGIC* mg
1008p |int |magic_setglob |SV* sv|MAGIC* mg
1009p |int |magic_setmglob |SV* sv|MAGIC* mg
1010p |int |magic_setnkeys |SV* sv|MAGIC* mg
1011p |int |magic_setpack |SV* sv|MAGIC* mg
1012p |int |magic_setpos |SV* sv|MAGIC* mg
1013p |int |magic_setsig |SV* sv|MAGIC* mg
1014p |int |magic_setsubstr|SV* sv|MAGIC* mg
1015p |int |magic_settaint |SV* sv|MAGIC* mg
1016p |int |magic_setuvar |SV* sv|MAGIC* mg
1017p |int |magic_setvec |SV* sv|MAGIC* mg
1018p |int |magic_set_all_env|SV* sv|MAGIC* mg
1019p |U32 |magic_sizepack |SV* sv|MAGIC* mg
1020p |int |magic_wipepack |SV* sv|MAGIC* mg
1021p |void |magicname |char* sym|char* name|I32 namlen
1022no |int |main |int argc|char** argv|char** env
1023#if defined(MYMALLOC)
1024np |MEM_SIZE|malloced_size |void *p
1025#endif
1026p |void |markstack_grow
1027#if defined(USE_LOCALE_COLLATE)
1028p |char* |mem_collxfrm |const char* s|STRLEN len|STRLEN* xlen
1029#endif
1030p |SV* |mess |const char* pat|va_list* args
1031p |int |mg_clear |SV* sv
1032p |int |mg_copy |SV* sv|SV* nsv|const char* key|I32 klen
1033p |MAGIC* |mg_find |SV* sv|int type
1034p |int |mg_free |SV* sv
1035p |int |mg_get |SV* sv
1036p |U32 |mg_length |SV* sv
1037p |void |mg_magical |SV* sv
1038p |int |mg_set |SV* sv
1039p |I32 |mg_size |SV* sv
1040p |OP* |mod |OP* o|I32 type
1041p |char* |moreswitches |char* s
1042p |OP* |my |OP* o
097ee67d 1043#ifdef USE_LOCALE_NUMERIC
1044p |double |my_atof |const char *s
1045#endif
cea2e8a9 1046#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
1047p |char* |my_bcopy |const char* from|char* to|I32 len
1048#endif
1049#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
1050p |char* |my_bzero |char* loc|I32 len
1051#endif
1052pr |void |my_exit |U32 status
1053pr |void |my_failure_exit
1054p |I32 |my_fflush_all
1055p |I32 |my_lstat
1056#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
1057p |I32 |my_memcmp |const char* s1|const char* s2|I32 len
1058#endif
1059#if !defined(HAS_MEMSET)
1060p |void* |my_memset |char* loc|I32 ch|I32 len
1061#endif
1062#if !defined(PERL_OBJECT)
1063p |I32 |my_pclose |PerlIO* ptr
1064p |PerlIO*|my_popen |char* cmd|char* mode
1065#endif
1066p |void |my_setenv |char* nam|char* val
1067p |I32 |my_stat
1068#if defined(MYSWAP)
1069p |short |my_swap |short s
1070p |long |my_htonl |long l
1071p |long |my_ntohl |long l
1072#endif
1073p |void |my_unexec
1074p |OP* |newANONLIST |OP* o
1075p |OP* |newANONHASH |OP* o
1076p |OP* |newANONSUB |I32 floor|OP* proto|OP* block
1077p |OP* |newASSIGNOP |I32 flags|OP* left|I32 optype|OP* right
1078p |OP* |newCONDOP |I32 flags|OP* expr|OP* trueop|OP* falseop
1079p |void |newCONSTSUB |HV* stash|char* name|SV* sv
1080p |void |newFORM |I32 floor|OP* o|OP* block
1081p |OP* |newFOROP |I32 flags|char* label|line_t forline \
1082 |OP* sclr|OP* expr|OP*block|OP*cont
1083p |OP* |newLOGOP |I32 optype|I32 flags|OP* left|OP* right
1084p |OP* |newLOOPEX |I32 type|OP* label
1085p |OP* |newLOOPOP |I32 flags|I32 debuggable|OP* expr|OP* block
1086p |OP* |newNULLLIST
1087p |OP* |newOP |I32 optype|I32 flags
1088p |void |newPROG |OP* o
1089p |OP* |newRANGE |I32 flags|OP* left|OP* right
1090p |OP* |newSLICEOP |I32 flags|OP* subscript|OP* listop
1091p |OP* |newSTATEOP |I32 flags|char* label|OP* o
1092p |CV* |newSUB |I32 floor|OP* o|OP* proto|OP* block
1093p |CV* |newXS |char* name|XSUBADDR_t f|char* filename
1094p |AV* |newAV
1095p |OP* |newAVREF |OP* o
1096p |OP* |newBINOP |I32 type|I32 flags|OP* first|OP* last
1097p |OP* |newCVREF |I32 flags|OP* o
1098p |OP* |newGVOP |I32 type|I32 flags|GV* gv
1099p |GV* |newGVgen |char* pack
1100p |OP* |newGVREF |I32 type|OP* o
1101p |OP* |newHVREF |OP* o
1102p |HV* |newHV
1103p |HV* |newHVhv |HV* hv
1104p |IO* |newIO
1105p |OP* |newLISTOP |I32 type|I32 flags|OP* first|OP* last
1106p |OP* |newPMOP |I32 type|I32 flags
1107p |OP* |newPVOP |I32 type|I32 flags|char* pv
1108p |SV* |newRV |SV* pref
1109p |SV* |newRV_noinc |SV *sv
1110p |SV* |newSV |STRLEN len
1111p |OP* |newSVREF |OP* o
1112p |OP* |newSVOP |I32 type|I32 flags|SV* sv
1113p |SV* |newSViv |IV i
1114p |SV* |newSVnv |double n
1115p |SV* |newSVpv |const char* s|STRLEN len
1116p |SV* |newSVpvn |const char* s|STRLEN len
1117p |SV* |newSVpvf |const char* pat|...
1118p |SV* |newSVrv |SV* rv|const char* classname
1119p |SV* |newSVsv |SV* old
1120p |OP* |newUNOP |I32 type|I32 flags|OP* first
1121p |OP* |newWHILEOP |I32 flags|I32 debuggable|LOOP* loop \
1122 |I32 whileline|OP* expr|OP* block|OP* cont
1123#if defined(USE_THREADS)
1124p |struct perl_thread*|new_struct_thread|struct perl_thread *t
1125#endif
1126p |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
1127p |PerlIO*|nextargv |GV* gv
1128p |char* |ninstr |const char* big|const char* bigend \
1129 |const char* little|const char* lend
1130p |OP* |oopsCV |OP* o
1131p |void |op_free |OP* arg
1132p |void |package |OP* o
1133p |PADOFFSET|pad_alloc |I32 optype|U32 tmptype
1134p |PADOFFSET|pad_allocmy |char* name
1135p |PADOFFSET|pad_findmy |char* name
1136p |OP* |oopsAV |OP* o
1137p |OP* |oopsHV |OP* o
1138p |void |pad_leavemy |I32 fill
1139p |SV* |pad_sv |PADOFFSET po
1140p |void |pad_free |PADOFFSET po
1141p |void |pad_reset
1142p |void |pad_swipe |PADOFFSET po
1143p |void |peep |OP* o
1144no |PerlInterpreter* |perl_alloc
1145p |void |call_atexit |ATEXIT_t fn|void *ptr
1146p |I32 |call_argv |const char* sub_name|I32 flags|char** argv
1147p |I32 |call_method |const char* methname|I32 flags
1148p |I32 |call_pv |const char* sub_name|I32 flags
1149p |I32 |call_sv |SV* sv|I32 flags
1150no |void |perl_construct |PerlInterpreter* sv_interp
1151no |void |perl_destruct |PerlInterpreter* sv_interp
1152p |SV* |eval_pv |const char* p|I32 croak_on_error
1153p |I32 |eval_sv |SV* sv|I32 flags
1154no |void |perl_free |PerlInterpreter* sv_interp
1155p |SV* |get_sv |const char* name|I32 create
1156p |AV* |get_av |const char* name|I32 create
1157p |HV* |get_hv |const char* name|I32 create
1158p |CV* |get_cv |const char* name|I32 create
1159p |int |init_i18nl10n |int printwarn
1160p |int |init_i18nl14n |int printwarn
1161p |void |new_collate |const char* newcoll
1162p |void |new_ctype |const char* newctype
1163p |void |new_numeric |const char* newcoll
1164p |void |set_numeric_local
097ee67d 1165p |void |set_numeric_radix
cea2e8a9 1166p |void |set_numeric_standard
1167no |int |perl_parse |PerlInterpreter* sv_interp|XSINIT_t xsinit \
1168 |int argc|char** argv|char** env
1169p |void |require_pv |const char* pv
1170no |int |perl_run |PerlInterpreter* sv_interp
1171p |void |pidgone |int pid|int status
1172p |void |pmflag |U16* pmfl|int ch
1173p |OP* |pmruntime |OP* pm|OP* expr|OP* repl
1174p |OP* |pmtrans |OP* o|OP* expr|OP* repl
1175p |OP* |pop_return
1176p |void |pop_scope
1177p |OP* |prepend_elem |I32 optype|OP* head|OP* tail
1178p |void |push_return |OP* o
1179p |void |push_scope
1180p |OP* |ref |OP* o|I32 type
1181p |OP* |refkids |OP* o|I32 type
1182p |void |regdump |regexp* r
1183p |I32 |pregexec |regexp* prog|char* stringarg \
1184 |char* strend|char* strbeg|I32 minend \
1185 |SV* screamer|U32 nosave
1186p |void |pregfree |struct regexp* r
1187p |regexp*|pregcomp |char* exp|char* xend|PMOP* pm
1188p |I32 |regexec_flags |regexp* prog|char* stringarg \
1189 |char* strend|char* strbeg|I32 minend \
1190 |SV* screamer|void* data|U32 flags
1191p |regnode*|regnext |regnode* p
1192p |void |regprop |SV* sv|regnode* o
1193p |void |repeatcpy |char* to|const char* from|I32 len|I32 count
1194p |char* |rninstr |const char* big|const char* bigend \
1195 |const char* little|const char* lend
1196p |Sighandler_t|rsignal |int i|Sighandler_t t
1197p |int |rsignal_restore|int i|Sigsave_t* t
1198p |int |rsignal_save |int i|Sighandler_t t1|Sigsave_t* t2
1199p |Sighandler_t|rsignal_state|int i
1200p |void |rxres_free |void** rsp
1201p |void |rxres_restore |void** rsp|REGEXP* prx
1202p |void |rxres_save |void** rsp|REGEXP* prx
1203#if !defined(HAS_RENAME)
1204p |I32 |same_dirent |char* a|char* b
1205#endif
1206p |char* |savepv |const char* sv
1207p |char* |savepvn |const char* sv|I32 len
1208p |void |savestack_grow
1209p |void |save_aelem |AV* av|I32 idx|SV **sptr
1210p |I32 |save_alloc |I32 size|I32 pad
1211p |void |save_aptr |AV** aptr
1212p |AV* |save_ary |GV* gv
1213p |void |save_clearsv |SV** svp
1214p |void |save_delete |HV* hv|char* key|I32 klen
1215p |void |save_destructor|DESTRUCTORFUNC_t f|void* p
1216p |void |save_freesv |SV* sv
1217p |void |save_freeop |OP* o
1218p |void |save_freepv |char* pv
1219p |void |save_generic_svref|SV** sptr
1220p |void |save_gp |GV* gv|I32 empty
1221p |HV* |save_hash |GV* gv
1222p |void |save_helem |HV* hv|SV *key|SV **sptr
1223p |void |save_hints
1224p |void |save_hptr |HV** hptr
1225p |void |save_I16 |I16* intp
1226p |void |save_I32 |I32* intp
1227p |void |save_int |int* intp
1228p |void |save_item |SV* item
1229p |void |save_iv |IV* iv
1230p |void |save_list |SV** sarg|I32 maxsarg
1231p |void |save_long |long* longp
1232p |void |save_nogv |GV* gv
1233p |void |save_op
1234p |SV* |save_scalar |GV* gv
1235p |void |save_pptr |char** pptr
1236p |void |save_re_context
1237p |void |save_sptr |SV** sptr
1238p |SV* |save_svref |SV** sptr
1239p |SV** |save_threadsv |PADOFFSET i
1240p |OP* |sawparens |OP* o
1241p |OP* |scalar |OP* o
1242p |OP* |scalarkids |OP* o
1243p |OP* |scalarseq |OP* o
1244p |OP* |scalarvoid |OP* o
1245p |UV |scan_bin |char* start|I32 len|I32* retlen
1246p |UV |scan_hex |char* start|I32 len|I32* retlen
1247p |char* |scan_num |char* s
1248p |UV |scan_oct |char* start|I32 len|I32* retlen
1249p |OP* |scope |OP* o
1250p |char* |screaminstr |SV* bigsv|SV* littlesv|I32 start_shift \
1251 |I32 end_shift|I32 *state|I32 last
1252#if !defined(VMS)
1253p |I32 |setenv_getix |char* nam
1254#endif
1255p |void |setdefout |GV* gv
1256p |char* |sharepvn |const char* sv|I32 len|U32 hash
1257p |HEK* |share_hek |const char* sv|I32 len|U32 hash
1258np |Signal_t |sighandler |int sig
1259p |SV** |stack_grow |SV** sp|SV**p|int n
1260p |I32 |start_subparse |I32 is_format|U32 flags
1261p |void |sub_crush_depth|CV* cv
1262p |bool |sv_2bool |SV* sv
1263p |CV* |sv_2cv |SV* sv|HV** st|GV** gvp|I32 lref
1264p |IO* |sv_2io |SV* sv
1265p |IV |sv_2iv |SV* sv
1266p |SV* |sv_2mortal |SV* sv
1267p |double |sv_2nv |SV* sv
1268p |char* |sv_2pv |SV* sv|STRLEN* lp
1269p |UV |sv_2uv |SV* sv
1270p |IV |sv_iv |SV* sv
1271p |UV |sv_uv |SV* sv
1272p |double |sv_nv |SV* sv
1273p |char* |sv_pvn |SV *sv|STRLEN *len
1274p |I32 |sv_true |SV *sv
1275p |void |sv_add_arena |char* ptr|U32 size|U32 flags
1276p |int |sv_backoff |SV* sv
1277p |SV* |sv_bless |SV* sv|HV* stash
1278p |void |sv_catpvf |SV* sv|const char* pat|...
1279p |void |sv_catpv |SV* sv|const char* ptr
1280p |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len
1281p |void |sv_catsv |SV* dsv|SV* ssv
1282p |void |sv_chop |SV* sv|char* ptr
1283p |void |sv_clean_all
1284p |void |sv_clean_objs
1285p |void |sv_clear |SV* sv
1286p |I32 |sv_cmp |SV* sv1|SV* sv2
1287p |I32 |sv_cmp_locale |SV* sv1|SV* sv2
1288#if defined(USE_LOCALE_COLLATE)
1289p |char* |sv_collxfrm |SV* sv|STRLEN* nxp
1290#endif
1291p |OP* |sv_compile_2op |SV* sv|OP** startp|char* code|AV** avp
1292p |void |sv_dec |SV* sv
1293p |void |sv_dump |SV* sv
1294p |bool |sv_derived_from|SV* sv|const char* name
1295p |I32 |sv_eq |SV* sv1|SV* sv2
1296p |void |sv_free |SV* sv
1297p |void |sv_free_arenas
1298p |char* |sv_gets |SV* sv|PerlIO* fp|I32 append
1299p |char* |sv_grow |SV* sv|STRLEN newlen
1300p |void |sv_inc |SV* sv
1301p |void |sv_insert |SV* bigsv|STRLEN offset|STRLEN len \
1302 |char* little|STRLEN littlelen
1303p |int |sv_isa |SV* sv|const char* name
1304p |int |sv_isobject |SV* sv
1305p |STRLEN |sv_len |SV* sv
1306p |STRLEN |sv_len_utf8 |SV* sv
1307p |void |sv_magic |SV* sv|SV* obj|int how|const char* name \
1308 |I32 namlen
1309p |SV* |sv_mortalcopy |SV* oldsv
1310p |SV* |sv_newmortal
1311p |SV* |sv_newref |SV* sv
1312p |char* |sv_peek |SV* sv
1313p |void |sv_pos_u2b |SV* sv|I32* offsetp|I32* lenp
1314p |void |sv_pos_b2u |SV* sv|I32* offsetp
1315p |char* |sv_pvn_force |SV* sv|STRLEN* lp
1316p |char* |sv_reftype |SV* sv|int ob
1317p |void |sv_replace |SV* sv|SV* nsv
1318p |void |sv_report_used
1319p |void |sv_reset |char* s|HV* stash
1320p |void |sv_setpvf |SV* sv|const char* pat|...
1321p |void |sv_setiv |SV* sv|IV num
1322p |void |sv_setpviv |SV* sv|IV num
1323p |void |sv_setuv |SV* sv|UV num
1324p |void |sv_setnv |SV* sv|double num
1325p |SV* |sv_setref_iv |SV* rv|const char* classname|IV iv
1326p |SV* |sv_setref_nv |SV* rv|const char* classname|double nv
1327p |SV* |sv_setref_pv |SV* rv|const char* classname|void* pv
1328p |SV* |sv_setref_pvn |SV* rv|const char* classname|char* pv \
1329 |STRLEN n
1330p |void |sv_setpv |SV* sv|const char* ptr
1331p |void |sv_setpvn |SV* sv|const char* ptr|STRLEN len
1332p |void |sv_setsv |SV* dsv|SV* ssv
1333p |void |sv_taint |SV* sv
1334p |bool |sv_tainted |SV* sv
1335p |int |sv_unmagic |SV* sv|int type
1336p |void |sv_unref |SV* sv
1337p |void |sv_untaint |SV* sv
1338p |bool |sv_upgrade |SV* sv|U32 mt
1339p |void |sv_usepvn |SV* sv|char* ptr|STRLEN len
1340p |void |sv_vcatpvfn |SV* sv|const char* pat|STRLEN patlen \
1341 |va_list* args|SV** svargs|I32 svmax \
1342 |bool *used_locale
1343p |void |sv_vsetpvfn |SV* sv|const char* pat|STRLEN patlen \
1344 |va_list* args|SV** svargs|I32 svmax \
1345 |bool *used_locale
1346p |SV* |swash_init |char* pkg|char* name|SV* listsv \
1347 |I32 minbits|I32 none
1348p |UV |swash_fetch |SV *sv|U8 *ptr
1349p |void |taint_env
1350p |void |taint_proper |const char* f|char* s
1351p |UV |to_utf8_lower |U8 *p
1352p |UV |to_utf8_upper |U8 *p
1353p |UV |to_utf8_title |U8 *p
1354#if defined(UNLINK_ALL_VERSIONS)
1355p |I32 |unlnk |char* f
1356#endif
1357#if defined(USE_THREADS)
1358p |void |unlock_condpair|void* svv
1359#endif
1360p |void |unsharepvn |const char* sv|I32 len|U32 hash
1361p |void |unshare_hek |HEK* hek
1362p |void |utilize |int aver|I32 floor|OP* version|OP* id|OP* arg
1363p |U8* |utf16_to_utf8 |U16* p|U8 *d|I32 bytelen
1364p |U8* |utf16_to_utf8_reversed|U16* p|U8 *d|I32 bytelen
1365p |I32 |utf8_distance |U8 *a|U8 *b
1366p |U8* |utf8_hop |U8 *s|I32 off
1367p |UV |utf8_to_uv |U8 *s|I32* retlen
1368p |U8* |uv_to_utf8 |U8 *d|UV uv
1369p |void |vivify_defelem |SV* sv
1370p |void |vivify_ref |SV* sv|U32 to_what
1371p |I32 |wait4pid |int pid|int* statusp|int flags
1372p |void |warn |const char* pat|...
1373p |void |warner |U32 err|const char* pat|...
1374p |void |watch |char** addr
1375p |I32 |whichsig |char* sig
1376p |int |yyerror |char* s
1377#if defined(USE_PURE_BISON)
1378p |int |yylex |YYSTYPE *lvalp|int *lcharp
1379#else
1380p |int |yylex
1381#endif
1382p |int |yyparse
1383p |int |yywarn |char* s
1384#if defined(MYMALLOC)
1385p |void |dump_mstats |char* s
1386pno |Malloc_t|malloc |MEM_SIZE nbytes
1387pno |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size
1388pno |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes
1389pno |Free_t |mfree |Malloc_t where
1390#endif
4f63d024 1391pn |Malloc_t|safesysmalloc |MEM_SIZE nbytes
1392pn |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size
1393pn |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
1394pn |Free_t |safesysfree |Malloc_t where
cea2e8a9 1395#if defined(LEAKTEST)
4f63d024 1396pn |Malloc_t|safexmalloc |I32 x|MEM_SIZE size
1397pn |Malloc_t|safexcalloc |I32 x|MEM_SIZE elements|MEM_SIZE size
1398pn |Malloc_t|safexrealloc |Malloc_t where|MEM_SIZE size
1399pn |void |safexfree |Malloc_t where
cea2e8a9 1400#endif
1401#if defined(PERL_GLOBAL_STRUCT)
1402p |struct perl_vars *|GetVars
1403#endif
1404p |void |yydestruct |void *ptr
1405p |int |runops_standard
1406p |int |runops_debug
1407
1408#if defined(WIN32)
43165c05 1409p |int* |ErrorNo
cea2e8a9 1410#endif
1411p |void |sv_catpvf_mg |SV *sv|const char* pat|...
1412p |void |sv_catpv_mg |SV *sv|const char *ptr
1413p |void |sv_catpvn_mg |SV *sv|const char *ptr|STRLEN len
1414p |void |sv_catsv_mg |SV *dstr|SV *sstr
1415p |void |sv_setpvf_mg |SV *sv|const char* pat|...
1416p |void |sv_setiv_mg |SV *sv|IV i
1417p |void |sv_setpviv_mg |SV *sv|IV iv
1418p |void |sv_setuv_mg |SV *sv|UV u
1419p |void |sv_setnv_mg |SV *sv|double num
1420p |void |sv_setpv_mg |SV *sv|const char *ptr
1421p |void |sv_setpvn_mg |SV *sv|const char *ptr|STRLEN len
1422p |void |sv_setsv_mg |SV *dstr|SV *sstr
1423p |void |sv_usepvn_mg |SV *sv|char *ptr|STRLEN len
1424p |MGVTBL*|get_vtbl |int vtbl_id
1425p |char* |pv_display |SV *sv|char *pv|STRLEN cur|STRLEN len \
1426 |STRLEN pvlim
1427p |void |dump_indent |I32 level|PerlIO *file|const char* pat|...
1428p |void |do_gv_dump |I32 level|PerlIO *file|char *name|GV *sv
1429p |void |do_gvgv_dump |I32 level|PerlIO *file|char *name|GV *sv
1430p |void |do_hv_dump |I32 level|PerlIO *file|char *name|HV *sv
1431p |void |do_magic_dump |I32 level|PerlIO *file|MAGIC *mg|I32 nest \
1432 |I32 maxnest|bool dumpops|STRLEN pvlim
1433p |void |do_op_dump |I32 level|PerlIO *file|OP *o
1434p |void |do_pmop_dump |I32 level|PerlIO *file|PMOP *pm
1435p |void |do_sv_dump |I32 level|PerlIO *file|SV *sv|I32 nest \
1436 |I32 maxnest|bool dumpops|STRLEN pvlim
1437p |void |magic_dump |MAGIC *mg
1438p |void* |default_protect|int *excpt|protect_body_t body|...
1439p |void |reginitcolors
1440p |char* |sv_2pv_nolen |SV* sv
1441p |char* |sv_pv |SV *sv
1442p |void |sv_force_normal|SV *sv
1443p |void |tmps_grow |I32 n
1444p |SV* |sv_rvweaken |SV *sv
1445p |int |magic_killbackrefs|SV *sv|MAGIC *mg
1446
1447#if defined(PERL_IN_AV_C)
1448s |I32 |avhv_index_sv |SV* sv
1449#endif
1450
1451#if defined(PERL_IN_DOOP_C)
1452s |I32 |do_trans_CC_simple |SV *sv
1453s |I32 |do_trans_CC_count |SV *sv
1454s |I32 |do_trans_CC_complex |SV *sv
1455s |I32 |do_trans_UU_simple |SV *sv
1456s |I32 |do_trans_UU_count |SV *sv
1457s |I32 |do_trans_UU_complex |SV *sv
1458s |I32 |do_trans_UC_simple |SV *sv
1459s |I32 |do_trans_CU_simple |SV *sv
1460s |I32 |do_trans_UC_trivial |SV *sv
1461s |I32 |do_trans_CU_trivial |SV *sv
1462#endif
1463
cea2e8a9 1464#if defined(PERL_IN_GV_C)
1465s |void |gv_init_sv |GV *gv|I32 sv_type
1466#endif
1467
1468#if defined(PERL_IN_HV_C)
1469s |void |hsplit |HV *hv
1470s |void |hfreeentries |HV *hv
1471s |void |more_he
1472s |HE* |new_he
1473s |void |del_he |HE *p
1474s |HEK* |save_hek |const char *str|I32 len|U32 hash
1475s |void |hv_magic_check |HV *hv|bool *needs_copy|bool *needs_store
1476#endif
1477
1478#if defined(PERL_IN_MG_C)
1479s |void |save_magic |I32 mgs_ix|SV *sv
1480s |int |magic_methpack |SV *sv|MAGIC *mg|char *meth
1481s |int |magic_methcall |SV *sv|MAGIC *mg|char *meth|I32 f \
1482 |int n|SV *val
1483s |void |unwind_handler_stack |void *p
1484s |void |restore_magic |void *p
1485#endif
1486
1487#if defined(PERL_IN_OP_C)
1488s |I32 |list_assignment|OP *o
1489s |void |bad_type |I32 n|char *t|char *name|OP *kid
1490s |OP* |modkids |OP *o|I32 type
1491s |void |no_bareword_allowed|OP *o
1492s |OP* |no_fh_allowed |OP *o
1493s |OP* |scalarboolean |OP *o
1494s |OP* |too_few_arguments|OP *o|char* name
1495s |OP* |too_many_arguments|OP *o|char* name
1496s |void |null |OP* o
1497s |PADOFFSET|pad_findlex |char* name|PADOFFSET newoff|U32 seq \
1498 |CV* startcv|I32 cx_ix|I32 saweval|U32 flags
1499s |OP* |newDEFSVOP
1500s |OP* |new_logop |I32 type|I32 flags|OP **firstp|OP **otherp
1501s |void |simplify_sort |OP *o
1502s |bool |is_handle_constructor |OP *o|I32 argnum
1503s |char* |gv_ename |GV *gv
1504s |CV* |cv_clone2 |CV *proto|CV *outside
1505s |bool |scalar_mod_type|OP *o|I32 type
1506# if defined(PL_OP_SLAB_ALLOC)
1507s |void* |Slab_Alloc |int m|size_t sz
1508# endif
1509#endif
1510
1511#if defined(PERL_IN_PERL_C)
1512s |void |find_beginning
1513s |void |forbid_setid |char *
1514s |void |incpush |char *|int
1515s |void |init_interp
1516s |void |init_ids
1517s |void |init_debugger
1518s |void |init_lexer
1519s |void |init_main_stash
1520s |void |init_perllib
1521s |void |init_postdump_symbols|int|char **|char **
1522s |void |init_predump_symbols
1523rs |void |my_exit_jump
1524s |void |nuke_stacks
1525s |void |open_script |char *|bool|SV *|int *fd
1526s |void |usage |char *
1527s |void |validate_suid |char *|char*|int
1528s |I32 |read_e_script |int idx|SV *buf_sv|int maxlen
1529# if defined(IAMSUID)
1530s |int |fd_on_nosuid_fs|int fd
1531# endif
1532s |void* |parse_body |va_list args
1533s |void* |run_body |va_list args
1534s |void* |call_body |va_list args
1535s |void |call_xbody |OP *myop|int is_eval
1536s |void* |call_list_body |va_list args
1537# if defined(USE_THREADS)
1538s |struct perl_thread * |init_main_thread
1539# endif
1540#endif
1541
1542#if defined(PERL_IN_PP_C)
1543s |void |doencodes |SV* sv|char* s|I32 len
1544s |SV* |refto |SV* sv
1545s |U32 |seed
1546s |SV* |mul128 |SV *sv|U8 m
1547s |SV* |is_an_int |char *s|STRLEN l
1548s |int |div128 |SV *pnum|bool *done
1549#endif
1550
1551#if defined(PERL_IN_PP_CTL_C)
1552s |OP* |docatch |OP *o
1553s |void* |docatch_body |va_list args
1554s |OP* |dofindlabel |OP *o|char *label|OP **opstack|OP **oplimit
1555s |void |doparseform |SV *sv
1556s |I32 |dopoptoeval |I32 startingblock
1557s |I32 |dopoptolabel |char *label
1558s |I32 |dopoptoloop |I32 startingblock
1559s |I32 |dopoptosub |I32 startingblock
1560s |I32 |dopoptosub_at |PERL_CONTEXT* cxstk|I32 startingblock
1561s |void |free_closures
1562s |void |save_lines |AV *array|SV *sv
1563s |OP* |doeval |int gimme|OP** startop
1564s |PerlIO *|doopen_pmc |const char *name|const char *mode
1565s |void |qsortsv |SV ** array|size_t num_elts|SVCOMPARE_t f
1566s |I32 |sortcv |SV *a|SV *b
1567s |I32 |sv_ncmp |SV *a|SV *b
1568s |I32 |sv_i_ncmp |SV *a|SV *b
1569s |I32 |amagic_ncmp |SV *a|SV *b
1570s |I32 |amagic_i_ncmp |SV *a|SV *b
1571s |I32 |amagic_cmp |SV *str1|SV *str2
1572s |I32 |amagic_cmp_locale|SV *str1|SV *str2
1573#endif
1574
1575#if defined(PERL_IN_PP_HOT_C)
1576s |CV* |get_db_sub |SV **svp|CV *cv
1577# if defined(USE_THREADS)
1578s |void |unset_cvowner |void *cvarg
1579# endif
1580#endif
1581
1582#if defined(PERL_IN_PP_SYS_C)
1583s |OP* |doform |CV *cv|GV *gv|OP *retop
1584s |int |emulate_eaccess|const char* path|int mode
1585# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
1586s |int |dooneliner |char *cmd|char *filename
1587# endif
1588#endif
1589
1590#if defined(PERL_IN_REGCOMP_C)
1591s |regnode*|reg |I32|I32 *
1592s |regnode*|reganode |U8|U32
1593s |regnode*|regatom |I32 *
1594s |regnode*|regbranch |I32 *|I32
1595s |void |regc |U8|char *
1596s |void |reguni |UV|char *|I32*
1597s |regnode*|regclass
1598s |regnode*|regclassutf8
1599s |I32 |regcurly |char *
1600s |regnode*|reg_node |U8
1601s |regnode*|regpiece |I32 *
1602s |void |reginsert |U8|regnode *
1603s |void |regoptail |regnode *|regnode *
1604s |void |regtail |regnode *|regnode *
1605s |char*|regwhite |char *|char *
1606s |char*|nextchar
1607s |regnode*|dumpuntil |regnode *start|regnode *node \
1608 |regnode *last|SV* sv|I32 l
1609s |void |scan_commit |scan_data_t *data
1610s |I32 |study_chunk |regnode **scanp|I32 *deltap \
1611 |regnode *last|scan_data_t *data|U32 flags
1612s |I32 |add_data |I32 n|char *s
1613rs |void|re_croak2 |const char* pat1|const char* pat2|...
1614s |char*|regpposixcc |I32 value
1615s |void |clear_re |void *r
1616#endif
1617
1618#if defined(PERL_IN_REGEXEC_C)
1619s |I32 |regmatch |regnode *prog
1620s |I32 |regrepeat |regnode *p|I32 max
1621s |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp
1622s |I32 |regtry |regexp *prog|char *startpos
1623s |bool |reginclass |char *p|I32 c
1624s |bool |reginclassutf8 |regnode *f|U8* p
1625s |CHECKPOINT|regcppush |I32 parenfloor
1626s |char*|regcppop
1627s |char*|regcp_set_to |I32 ss
1628s |void |cache_re |regexp *prog
1629s |void |restore_pos |void *arg
1630s |U8* |reghop |U8 *pos|I32 off
1631s |U8* |reghopmaybe |U8 *pos|I32 off
1632#endif
1633
1634#if defined(PERL_IN_RUN_C)
1635s |void |debprof |OP *o
1636#endif
1637
1638#if defined(PERL_IN_SCOPE_C)
1639s |SV* |save_scalar_at |SV **sptr
1640#endif
1641
1642#if defined(PERL_IN_SV_C)
1643s |IV |asIV |SV* sv
1644s |UV |asUV |SV* sv
1645s |SV* |more_sv
1646s |void |more_xiv
1647s |void |more_xnv
1648s |void |more_xpv
1649s |void |more_xrv
1650s |XPVIV* |new_xiv
1651s |XPVNV* |new_xnv
1652s |XPV* |new_xpv
1653s |XRV* |new_xrv
1654s |void |del_xiv |XPVIV* p
1655s |void |del_xnv |XPVNV* p
1656s |void |del_xpv |XPV* p
1657s |void |del_xrv |XRV* p
1658s |void |sv_unglob |SV* sv
1659s |void |do_report_used |SV *sv
1660s |void |do_clean_objs |SV *sv
1661s |void |do_clean_named_objs|SV *sv
1662s |void |do_clean_all |SV *sv
1663s |void |not_a_number |SV *sv
1664s |void |visit |SVFUNC_t f
1665# if defined(PURIFY)
1666s |void |reg_add |SV *sv
1667s |void |reg_remove |SV *sv
1668# else
4f63d024 1669ns |void* |my_safemalloc |MEM_SIZE size
cea2e8a9 1670# endif
1671s |void |sv_add_backref |SV *tsv|SV *sv
1672s |void |sv_del_backref |SV *sv
1673# if defined(DEBUGGING)
1674s |void |del_sv |SV *p
1675# endif
1676#endif
1677
1678#if defined(PERL_IN_TOKE_C)
1679s |void |check_uni
1680s |void |force_next |I32 type
1681s |char* |force_version |char *start
1682s |char* |force_word |char *start|int token|int check_keyword \
1683 |int allow_pack|int allow_tick
1684s |SV* |tokeq |SV *sv
1685s |char* |scan_const |char *start
1686s |char* |scan_formline |char *s
1687s |char* |scan_heredoc |char *s
1688s |char* |scan_ident |char *s|char *send|char *dest \
1689 |STRLEN destlen|I32 ck_uni
1690s |char* |scan_inputsymbol|char *start
1691s |char* |scan_pat |char *start|I32 type
1692s |char* |scan_str |char *start
1693s |char* |scan_subst |char *start
1694s |char* |scan_trans |char *start
1695s |char* |scan_word |char *s|char *dest|STRLEN destlen \
1696 |int allow_package|STRLEN *slp
1697s |char* |skipspace |char *s
1698s |void |checkcomma |char *s|char *name|char *what
1699s |void |force_ident |char *s|int kind
1700s |void |incline |char *s
1701s |int |intuit_method |char *s|GV *gv
1702s |int |intuit_more |char *s
1703s |I32 |lop |I32 f|expectation x|char *s
1704s |void |missingterm |char *s
1705s |void |no_op |char *what|char *s
1706s |void |set_csh
1707s |I32 |sublex_done
1708s |I32 |sublex_push
1709s |I32 |sublex_start
1710s |char * |filter_gets |SV *sv|PerlIO *fp|STRLEN append
1711s |SV* |new_constant |char *s|STRLEN len|char *key|SV *sv \
1712 |SV *pv|char *type
1713s |int |ao |int toketype
1714s |void |depcom
1715s |char* |incl_perldb
1716s |I32 |utf16_textfilter|int idx|SV *sv|int maxlen
1717s |I32 |utf16rev_textfilter|int idx|SV *sv|int maxlen
1718s |void |restore_rsfp |void *f
1719s |void |restore_expect |void *e
1720s |void |restore_lex_expect |void *e
1721# if defined(CRIPPLED_CC)
1722s |int |uni |I32 f|char *s
1723# endif
1724# if defined(WIN32)
1725s |I32 |win32_textfilter |int idx|SV *sv|int maxlen
1726# endif
1727#endif
1728
1729#if defined(PERL_IN_UNIVERSAL_C)
1730s |SV*|isa_lookup |HV *stash|const char *name|int len|int level
1731#endif
1732
1733#if defined(PERL_IN_UTIL_C)
1734s |SV* |mess_alloc
1735rs |void |do_croak |const char *pat|va_list *args
1736s |void |do_warn |const char *pat|va_list *args
1737# if defined(LEAKTEST)
1738s |void |xstat |int
1739# endif
1740#endif