3 require 5.003; # keep this compatible, an old perl is all we may have before
7 # See database of global and static function prototypes at the __END__.
8 # This is used to generate prototype headers under various configurations,
9 # export symbols lists for different platforms, and macros to provide an
10 # implicit interpreter context argument.
15 # walk table providing an array of components in each line to
16 # subroutine, printing the result
19 my $filename = shift || '-';
24 if (ref $filename) { # filehandle
28 open F, ">$filename" or die "Can't open $filename: $!";
31 print $F $leader if $leader;
32 seek DATA, $END, 0; # so we may restart
45 @args = split /\s*\|\s*/, $_;
47 print $F $function->(@args);
49 print $F $trailer if $trailer;
50 close $F unless ref $filename;
53 sub munge_c_files () {
56 warn "\@ARGV empty, nothing to do\n";
61 $functions->{$_[2]} = \@_ if $_[@_-1] =~ /\.\.\./;
66 # if (/^#\s*include\s+"perl.h"/) {
67 # my $file = uc $ARGV;
69 # print "#define PERL_IN_$file\n";
75 # if (exists $functions->{$f}) {
76 # my $flags = $functions->{$f}[0];
77 # $repl = "Perl_$repl" if $flags =~ /p/;
78 # unless ($flags =~ /n/) {
80 # $repl .= "_ " if @{$functions->{$f}} > 3;
82 # warn("$ARGV:$.:$repl\n");
86 s{(\b(\w+)[ \t]*\([ \t]*(?!aTHX))}
90 if (exists $functions->{$f}) {
92 warn("$ARGV:$.:$`#$repl#$'");
97 close ARGV if eof; # restart $.
105 my $wrote_protected = 0;
114 my ($flags,$retval,$func,@args) = @_;
116 $retval = "STATIC $retval";
120 $retval = "PERL_CALLCONV $retval";
122 $func = "Perl_$func";
125 $ret .= "$retval\t$func(";
126 unless ($flags =~ /n/) {
128 $ret .= "_ " if @args;
131 $ret .= join ", ", @args;
134 $ret .= "void" if $flags =~ /n/;
137 $ret .= " __attribute__((noreturn))" if $flags =~ /r/;
138 if( $flags =~ /f/ ) {
139 my $prefix = $flags =~ /n/ ? '' : 'pTHX_';
140 my $args = scalar @args;
141 $ret .= "\n#ifdef CHECK_FORMAT\n";
142 $ret .= sprintf " __attribute__((format(printf,%s%d,%s%d)))",
143 $prefix, $args - 1, $prefix, $args;
144 $ret .= "\n#endif\n";
151 # generates global.sym (API export list), and populates %global with global symbols
152 sub write_global_sym {
155 my ($flags,$retval,$func,@args) = @_;
156 if ($flags =~ /A/ && $flags !~ /x/) { # public API, so export
157 $func = "Perl_$func" if $flags =~ /p/;
165 walk_table(\&write_protos, 'proto.h', <<'EOT');
167 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
168 * This file is autogenerated from data in embed.pl. Edit that file
169 * and run 'make regen_headers' to effect changes.
174 walk_table(\&write_global_sym, 'global.sym', <<'EOT');
176 # !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
177 # This file is autogenerated from data in embed.pl. Edit that file
178 # and run 'make regen_headers' to effect changes.
183 # XXX others that may need adding
187 my @extvars = qw(sv_undef sv_yes sv_no na dowarn
189 tainting tainted stack_base stack_sp sv_arenaroot
191 curstash DBsub DBsingle debstash
205 my ($syms, $file) = @_;
207 open(FILE, "< $file")
208 or die "embed.pl: Can't open $file: $!\n";
210 s/[ \t]*#.*//; # Delete comments.
211 if (/^\s*(\S+)\s*$/) {
213 warn "duplicate symbol $sym while processing $file\n"
214 if exists $$syms{$sym};
221 # Perl_pp_* and Perl_ck_* are in pp.sym
222 readsyms my %ppsym, 'pp.sym';
224 sub readvars(\%$$@) {
225 my ($syms, $file,$pre,$keep_pre) = @_;
227 open(FILE, "< $file")
228 or die "embed.pl: Can't open $file: $!\n";
230 s/[ \t]*#.*//; # Delete comments.
231 if (/PERLVARA?I?C?\($pre(\w+)/) {
233 $sym = $pre . $sym if $keep_pre;
234 warn "duplicate symbol $sym while processing $file\n"
235 if exists $$syms{$sym};
236 $$syms{$sym} = $pre || 1;
245 readvars %intrp, 'intrpvar.h','I';
246 readvars %thread, 'thrdvar.h','T';
247 readvars %globvar, 'perlvars.h','G';
249 foreach my $sym (sort keys %thread) {
250 warn "$sym in intrpvar.h as well as thrdvar.h\n" if exists $intrp{$sym};
259 my ($from, $to) = @_;
260 my $t = int(length($from) / 8);
261 "#define $from" . "\t" x ($t < 3 ? 3 - $t : 1) . "$to\n";
264 sub bincompat_var ($$) {
265 my ($pfx, $sym) = @_;
266 my $arg = ($pfx eq 'G' ? 'NULL' : 'aTHXo');
267 undefine("PL_$sym") . hide("PL_$sym", "(*Perl_${pfx}${sym}_ptr($arg))");
271 my ($sym,$pre,$ptr) = @_;
272 hide("PL_$sym", "($ptr$pre$sym)");
277 return hide("PL_$pre$sym", "PL_$sym");
281 open(EM, '> embed.h') or die "Can't create embed.h: $!\n";
284 /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
285 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
286 perlvars.h and thrdvar.h. Any changes made here will be lost!
289 /* (Doing namespace management portably in C is really gross.) */
291 /* NO_EMBED is no longer supported. i.e. EMBED is always active. */
293 /* provide binary compatible (but inconsistent) names */
294 #if defined(PERL_BINCOMPAT_5005)
295 # define Perl_call_atexit perl_atexit
296 # define Perl_eval_sv perl_eval_sv
297 # define Perl_eval_pv perl_eval_pv
298 # define Perl_call_argv perl_call_argv
299 # define Perl_call_method perl_call_method
300 # define Perl_call_pv perl_call_pv
301 # define Perl_call_sv perl_call_sv
302 # define Perl_get_av perl_get_av
303 # define Perl_get_cv perl_get_cv
304 # define Perl_get_hv perl_get_hv
305 # define Perl_get_sv perl_get_sv
306 # define Perl_init_i18nl10n perl_init_i18nl10n
307 # define Perl_init_i18nl14n perl_init_i18nl14n
308 # define Perl_new_collate perl_new_collate
309 # define Perl_new_ctype perl_new_ctype
310 # define Perl_new_numeric perl_new_numeric
311 # define Perl_require_pv perl_require_pv
312 # define Perl_safesyscalloc Perl_safecalloc
313 # define Perl_safesysfree Perl_safefree
314 # define Perl_safesysmalloc Perl_safemalloc
315 # define Perl_safesysrealloc Perl_saferealloc
316 # define Perl_set_numeric_local perl_set_numeric_local
317 # define Perl_set_numeric_standard perl_set_numeric_standard
318 /* malloc() pollution was the default in earlier versions, so enable
319 * it for bincompat; but not for systems that used to do prevent that,
320 * or when they ask for {HIDE,EMBED}MYMALLOC */
321 # if !defined(EMBEDMYMALLOC) && !defined(HIDEMYMALLOC)
322 # if !defined(NeXT) && !defined(__NeXT) && !defined(__MACHTEN__) && \
324 # define PERL_POLLUTE_MALLOC
329 /* Hide global symbols */
331 #if !defined(PERL_OBJECT)
332 #if !defined(PERL_IMPLICIT_CONTEXT)
340 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/;
343 my ($flags,$retval,$func,@args) = @_;
344 unless ($flags =~ /o/) {
346 $ret .= hide($func,"S_$func");
348 elsif ($flags =~ /p/) {
349 $ret .= hide($func,"Perl_$func");
356 for $sym (sort keys %ppsym) {
358 print EM hide($sym, "Perl_$sym");
363 #else /* PERL_IMPLICIT_CONTEXT */
373 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/;
376 my ($flags,$retval,$func,@args) = @_;
377 unless ($flags =~ /o/) {
378 my $args = scalar @args;
379 if ($args and $args[$args-1] =~ /\.\.\./) {
380 # we're out of luck for varargs functions under CPP
382 elsif ($flags =~ /n/) {
384 $ret .= hide($func,"S_$func");
386 elsif ($flags =~ /p/) {
387 $ret .= hide($func,"Perl_$func");
391 my $alist = join(",", @az[0..$args-1]);
392 $ret = "#define $func($alist)";
393 my $t = int(length($ret) / 8);
394 $ret .= "\t" x ($t < 4 ? 4 - $t : 1);
396 $ret .= "S_$func(aTHX";
398 elsif ($flags =~ /p/) {
399 $ret .= "Perl_$func(aTHX";
401 $ret .= "_ " if $alist;
402 $ret .= $alist . ")\n";
409 for $sym (sort keys %ppsym) {
411 if ($sym =~ /^ck_/) {
412 print EM hide("$sym(a)", "Perl_$sym(aTHX_ a)");
414 elsif ($sym =~ /^pp_/) {
415 print EM hide("$sym()", "Perl_$sym(aTHX)");
418 warn "Illegal symbol '$sym' in pp.sym";
424 #endif /* PERL_IMPLICIT_CONTEXT */
425 #else /* PERL_OBJECT */
433 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/;
436 my ($flags,$retval,$func,@args) = @_;
438 $ret .= hide("S_$func","CPerlObj::S_$func") if $flags !~ /j/;
439 $ret .= hide($func,"S_$func");
441 elsif ($flags =~ /p/) {
442 $ret .= hide("Perl_$func","CPerlObj::Perl_$func") if $flags !~ /j/;
443 $ret .= hide($func,"Perl_$func");
446 $ret .= hide($func,"CPerlObj::$func") if $flags !~ /j/;
452 for $sym (sort keys %ppsym) {
454 print EM hide("Perl_$sym", "CPerlObj::Perl_$sym");
455 print EM hide($sym, "Perl_$sym");
460 #endif /* PERL_OBJECT */
462 /* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to
466 #if !defined(PERL_CORE)
467 # define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr))
468 # define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr))
471 #if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005)
473 /* Compatibility for various misnamed functions. All functions
474 in the API that begin with "perl_" (not "Perl_") take an explicit
475 interpreter context pointer.
476 The following are not like that, but since they had a "perl_"
477 prefix in previous versions, we provide compatibility macros.
479 # define perl_atexit(a,b) call_atexit(a,b)
480 # define perl_call_argv(a,b,c) call_argv(a,b,c)
481 # define perl_call_pv(a,b) call_pv(a,b)
482 # define perl_call_method(a,b) call_method(a,b)
483 # define perl_call_sv(a,b) call_sv(a,b)
484 # define perl_eval_sv(a,b) eval_sv(a,b)
485 # define perl_eval_pv(a,b) eval_pv(a,b)
486 # define perl_require_pv(a) require_pv(a)
487 # define perl_get_sv(a,b) get_sv(a,b)
488 # define perl_get_av(a,b) get_av(a,b)
489 # define perl_get_hv(a,b) get_hv(a,b)
490 # define perl_get_cv(a,b) get_cv(a,b)
491 # define perl_init_i18nl10n(a) init_i18nl10n(a)
492 # define perl_init_i18nl14n(a) init_i18nl14n(a)
493 # define perl_new_ctype(a) new_ctype(a)
494 # define perl_new_collate(a) new_collate(a)
495 # define perl_new_numeric(a) new_numeric(a)
497 /* varargs functions can't be handled with CPP macros. :-(
498 This provides a set of compatibility functions that don't take
499 an extra argument but grab the context pointer using the macro
502 #if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_OBJECT)
503 # define croak Perl_croak_nocontext
504 # define deb Perl_deb_nocontext
505 # define die Perl_die_nocontext
506 # define form Perl_form_nocontext
507 # define load_module Perl_load_module_nocontext
508 # define mess Perl_mess_nocontext
509 # define newSVpvf Perl_newSVpvf_nocontext
510 # define sv_catpvf Perl_sv_catpvf_nocontext
511 # define sv_setpvf Perl_sv_setpvf_nocontext
512 # define warn Perl_warn_nocontext
513 # define warner Perl_warner_nocontext
514 # define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
515 # define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
518 #endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */
520 #if !defined(PERL_IMPLICIT_CONTEXT)
521 /* undefined symbols, point them back at the usual ones */
522 # define Perl_croak_nocontext Perl_croak
523 # define Perl_die_nocontext Perl_die
524 # define Perl_deb_nocontext Perl_deb
525 # define Perl_form_nocontext Perl_form
526 # define Perl_load_module_nocontext Perl_load_module
527 # define Perl_mess_nocontext Perl_mess
528 # define Perl_newSVpvf_nocontext Perl_newSVpvf
529 # define Perl_sv_catpvf_nocontext Perl_sv_catpvf
530 # define Perl_sv_setpvf_nocontext Perl_sv_setpvf
531 # define Perl_warn_nocontext Perl_warn
532 # define Perl_warner_nocontext Perl_warner
533 # define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg
534 # define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg
542 open(EM, '> embedvar.h')
543 or die "Can't create embedvar.h: $!\n";
546 /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
547 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
548 perlvars.h and thrdvar.h. Any changes made here will be lost!
551 /* (Doing namespace management portably in C is really gross.) */
554 The following combinations of MULTIPLICITY, USE_THREADS, PERL_OBJECT
555 and PERL_IMPLICIT_CONTEXT are supported:
557 2) MULTIPLICITY # supported for compatibility
558 3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT
559 4) USE_THREADS && PERL_IMPLICIT_CONTEXT
560 5) MULTIPLICITY && USE_THREADS && PERL_IMPLICIT_CONTEXT
561 6) PERL_OBJECT && PERL_IMPLICIT_CONTEXT
563 All other combinations of these flags are errors.
565 #3, #4, #5, and #6 are supported directly, while #2 is a special
566 case of #3 (supported by redefining vTHX appropriately).
569 #if defined(MULTIPLICITY)
570 /* cases 2, 3 and 5 above */
572 # if defined(PERL_IMPLICIT_CONTEXT)
575 # define vTHX PERL_GET_INTERP
580 for $sym (sort keys %thread) {
581 print EM multon($sym,'T','vTHX->');
586 # if defined(PERL_OBJECT)
587 # include "error: PERL_OBJECT + MULTIPLICITY don't go together"
590 # if defined(USE_THREADS)
595 for $sym (sort keys %intrp) {
596 print EM multon($sym,'I','PERL_GET_INTERP->');
601 # else /* !USE_THREADS */
602 /* cases 2 and 3 above */
606 for $sym (sort keys %intrp) {
607 print EM multon($sym,'I','vTHX->');
612 # endif /* USE_THREADS */
614 #else /* !MULTIPLICITY */
616 # if defined(PERL_OBJECT)
621 for $sym (sort keys %thread) {
622 print EM multon($sym,'T','aTHXo->interp.');
626 for $sym (sort keys %intrp) {
627 print EM multon($sym,'I','aTHXo->interp.');
632 # else /* !PERL_OBJECT */
634 /* cases 1 and 4 above */
638 for $sym (sort keys %intrp) {
639 print EM multoff($sym,'I');
644 # if defined(USE_THREADS)
649 for $sym (sort keys %thread) {
650 print EM multon($sym,'T','aTHX->');
655 # else /* !USE_THREADS */
660 for $sym (sort keys %thread) {
661 print EM multoff($sym,'T');
666 # endif /* USE_THREADS */
667 # endif /* PERL_OBJECT */
668 #endif /* MULTIPLICITY */
670 #if defined(PERL_GLOBAL_STRUCT)
674 for $sym (sort keys %globvar) {
675 print EM multon($sym,'G','PL_Vars.');
680 #else /* !PERL_GLOBAL_STRUCT */
684 for $sym (sort keys %globvar) {
685 print EM multoff($sym,'G');
690 #endif /* PERL_GLOBAL_STRUCT */
692 #ifdef PERL_POLLUTE /* disabled by default in 5.6.0 */
696 for $sym (sort @extvars) {
697 print EM hide($sym,"PL_$sym");
702 #endif /* PERL_POLLUTE */
708 open(OBX, '> objXSUB.h')
709 or die "Can't create objXSUB.h: $!\n";
712 /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
713 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
714 perlvars.h and thrdvar.h. Any changes made here will be lost!
717 #ifndef __objXSUB_h__
718 #define __objXSUB_h__
720 /* method calls via pPerl (static functions without a "this" pointer need these) */
722 #if defined(PERL_CORE) && defined(PERL_OBJECT)
724 /* XXX soon to be eliminated, only a few things in PERLCORE need these now */
732 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/;
735 my ($flags,$retval,$func,@args) = @_;
736 if ($flags =~ /A/ && $flags !~ /j/) { # API function needing macros
738 $ret .= undefine("Perl_$func") . hide("Perl_$func","pPerl->Perl_$func");
739 $ret .= undefine($func) . hide($func,"Perl_$func");
742 $ret .= undefine($func) . hide($func,"pPerl->$func");
749 # NOTE: not part of API
750 #for $sym (sort keys %ppsym) {
751 # $sym =~ s/^Perl_//;
752 # print OBX undefine("Perl_$sym") . hide("Perl_$sym", "pPerl->Perl_$sym");
753 # print OBX undefine($sym) . hide($sym, "Perl_$sym");
758 #endif /* PERL_CORE && PERL_OBJECT */
759 #endif /* __objXSUB_h__ */
766 open(CAPI, '> perlapi.c') or die "Can't create perlapi.c: $!\n";
767 open(CAPIH, '> perlapi.h') or die "Can't create perlapi.h: $!\n";
770 /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
771 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
772 perlvars.h and thrdvar.h. Any changes made here will be lost!
775 /* declare accessor functions for Perl variables */
776 #ifndef __perlapi_h__
777 #define __perlapi_h__
779 #if defined(PERL_OBJECT) || defined (MULTIPLICITY)
781 #if defined(PERL_OBJECT)
785 # define aTHXo_ aTHXo,
786 #endif /* PERL_OBJECT */
794 #define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHXo);
795 #define PERLVARA(v,n,t) typedef t PL_##v##_t[n]; \
796 EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHXo);
797 #define PERLVARI(v,t,i) PERLVAR(v,t)
798 #define PERLVARIC(v,t,i) PERLVAR(v, const t)
801 #include "intrpvar.h"
802 #include "perlvars.h"
811 #if defined(PERL_CORE)
813 /* accessor functions for Perl variables (provide binary compatibility) */
815 /* these need to be mentioned here, or most linkers won't put them in
816 the perl executable */
818 #ifndef PERL_NO_FORCE_LINK
823 EXT void *PL_force_link_funcs[];
825 EXT void *PL_force_link_funcs[] = {
830 #define PERLVAR(v,t) (void*)Perl_##v##_ptr,
831 #define PERLVARA(v,n,t) PERLVAR(v,t)
832 #define PERLVARI(v,t,i) PERLVAR(v,t)
833 #define PERLVARIC(v,t,i) PERLVAR(v,t)
836 #include "intrpvar.h"
837 #include "perlvars.h"
848 #endif /* PERL_NO_FORCE_LINK */
850 #else /* !PERL_CORE */
854 foreach my $sym (sort keys %intrp) {
855 print CAPIH bincompat_var('I',$sym);
858 foreach my $sym (sort keys %thread) {
859 print CAPIH bincompat_var('T',$sym);
862 foreach my $sym (sort keys %globvar) {
863 print CAPIH bincompat_var('G',$sym);
868 #endif /* !PERL_CORE */
869 #endif /* PERL_OBJECT || MULTIPLICITY */
871 #endif /* __perlapi_h__ */
877 /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
878 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
879 perlvars.h and thrdvar.h. Any changes made here will be lost!
886 #if defined(PERL_OBJECT) || defined (MULTIPLICITY)
888 /* accessor functions for Perl variables (provides binary compatibility) */
896 #if defined(PERL_OBJECT)
897 #define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \
898 { return &(aTHXo->interp.v); }
899 #define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \
900 { return &(aTHXo->interp.v); }
901 #else /* MULTIPLICITY */
902 #define PERLVAR(v,t) t* Perl_##v##_ptr(pTHX) \
903 { return &(aTHX->v); }
904 #define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHX) \
905 { return &(aTHX->v); }
908 #define PERLVARI(v,t,i) PERLVAR(v,t)
909 #define PERLVARIC(v,t,i) PERLVAR(v, const t)
912 #include "intrpvar.h"
916 #define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \
917 { return &(PL_##v); }
918 #define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \
919 { return &(PL_##v); }
921 #define PERLVARIC(v,t,i) const t* Perl_##v##_ptr(pTHXo) \
922 { return (const t *)&(PL_##v); }
923 #include "perlvars.h"
930 #if defined(PERL_OBJECT)
932 /* C-API layer for PERL_OBJECT */
936 # functions that take va_list* for implementing vararg functions
937 # NOTE: makedef.pl must be updated if you add symbols to %vfuncs
939 Perl_croak Perl_vcroak
941 Perl_warner Perl_vwarner
944 Perl_load_module Perl_vload_module
947 Perl_newSVpvf Perl_vnewSVpvf
948 Perl_sv_setpvf Perl_sv_vsetpvf
949 Perl_sv_setpvf_mg Perl_sv_vsetpvf_mg
950 Perl_sv_catpvf Perl_sv_vcatpvf
951 Perl_sv_catpvf_mg Perl_sv_vcatpvf_mg
952 Perl_dump_indent Perl_dump_vindent
953 Perl_default_protect Perl_vdefault_protect
957 my ($addcontext, $rettype,$func,@args) = @_;
960 for $a (@aargs) { $a =~ s/^.*\b(\w+)$/$1/ }
962 if (not $addcontext) {
964 $ctxarg .= '_ ' if @args;
968 $decl .= " dTHXo;\n";
971 my $return = ($rettype =~ /^\s*(void|Free_t|Signal_t)\s*$/
974 if (@args and $args[$#args] =~ /\.\.\./) {
978 $ctxfunc =~ s/_nocontext$//;
979 return $emitval unless exists $vfuncs{$ctxfunc};
980 if (length $return) {
981 $decl .= " $rettype retval;\n";
982 $retarg .= "retval = ";
983 $return = "\n ${return}retval;\n";
990 va_start(args, $aargs[$#aargs]);
991 $retarg((CPerlObj*)pPerl)->$vfuncs{$ctxfunc}(@aargs, &args);
1001 $decl $return((CPerlObj*)pPerl)->$func(@aargs);
1008 # XXXX temporary hack
1018 $skipapi_funcs{$sym}++;
1025 $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/;
1028 my ($flags,$retval,$func,@args) = @_;
1029 return $ret if exists $skipapi_funcs{$func};
1030 if ($flags =~ /A/ && $flags !~ /j/) { # in public API, needed for XSUBS
1032 my $addctx = 1 if $flags =~ /n/;
1033 if ($flags =~ /p/) {
1034 $ret .= undefine("Perl_$func");
1035 $ret .= emit_func($addctx,$retval,"Perl_$func",@args);
1038 $ret .= undefine($func);
1039 $ret .= emit_func($addctx,$retval,$func,@args);
1046 # NOTE: not part of the API
1047 #for $sym (sort keys %ppsym) {
1048 # $sym =~ s/^Perl_//;
1050 # print CAPI undefine("Perl_$sym");
1051 # if ($sym =~ /^ck_/) {
1052 # print CAPI emit_func(0, 'OP *',"Perl_$sym",'OP *o');
1055 # print CAPI emit_func(0, 'OP *',"Perl_$sym");
1061 #undef Perl_fprintf_nocontext
1063 Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
1067 va_start(arglist, format);
1068 return (*PL_StdIO->pVprintf)(PL_StdIO, stream, format, arglist);
1073 #endif /* PERL_OBJECT */
1074 #endif /* PERL_OBJECT || MULTIPLICITY */
1079 # autogenerate documentation from comments in source files
1085 sub autodoc ($$) { # parse a file and extract documentation info
1087 my($in, $doc, $line);
1089 while (defined($in = <$fh>)) {
1091 if ($in =~ /^=for\s+apidoc\s+(.*)\n/) {
1093 $proto = "||$proto" unless $proto =~ /\|/;
1094 my($flags, $ret, $name, @args) = split /\|/, $proto;
1097 while (defined($doc = <$fh>)) {
1099 last DOC if $doc =~ /^=\w+/;
1100 if ($doc =~ m:^\*/$:) {
1101 warn "=cut missing? $file:$line:$doc";;
1106 $docs = "\n$docs" if $docs and $docs !~ /^\n/;
1107 if ($flags =~ /m/) {
1108 if ($flags =~ /A/) {
1109 $apidocs{$name} = [$flags, $docs, $ret, $file, @args];
1112 $gutsdocs{$name} = [$flags, $docs, $ret, $file, @args];
1116 $docfuncs{$name} = [$flags, $docs, $ret, $file, @args];
1119 if ($doc =~ /^=for/) {
1124 warn "$file:$line:$in";
1130 sub docout ($$$) { # output the docs for one function
1131 my($fh, $name, $docref) = @_;
1132 my($flags, $docs, $ret, $file, @args) = @$docref;
1134 $docs .= "NOTE: this function is experimental and may change or be
1135 removed without notice.\n\n" if $flags =~ /x/;
1136 $docs .= "NOTE: the perl_ form of this function is deprecated.\n\n"
1139 print $fh "=item $name\n$docs";
1141 if ($flags =~ /U/) { # no usage
1143 } elsif ($flags =~ /s/) { # semicolon ("dTHR;")
1144 print $fh "\t\t$name;\n\n";
1145 } elsif ($flags =~ /n/) { # no args
1146 print $fh "\t$ret\t$name\n\n";
1147 } else { # full usage
1148 print $fh "\t$ret\t$name";
1149 print $fh "(" . join(", ", @args) . ")";
1152 print $fh "=for hackers\nFound in file $file\n\n";
1156 for $file (glob('*.c'), glob('*.h')) {
1157 open F, "< $file" or die "Cannot open $file for docs: $!\n";
1159 close F or die "Error closing $file: $!\n";
1162 unlink "pod/perlapi.pod";
1163 open (DOC, ">pod/perlapi.pod") or
1164 die "Can't create pod/perlapi.pod: $!\n";
1166 walk_table { # load documented functions into approriate hash
1168 my($flags, $retval, $func, @args) = @_;
1169 return "" unless $flags =~ /d/;
1170 $func =~ s/\t//g; $flags =~ s/p//; # clean up fields from embed.pl
1172 if ($flags =~ /A/) {
1173 my $docref = delete $docfuncs{$func};
1174 warn "no docs for $func\n" unless $docref and @$docref;
1175 $docref->[0].="x" if $flags =~ /M/;
1176 $apidocs{$func} = [$docref->[0] . 'A', $docref->[1], $retval,
1177 $docref->[3], @args];
1179 my $docref = delete $docfuncs{$func};
1180 $gutsdocs{$func} = [$docref->[0], $docref->[1], $retval,
1181 $docref->[3], @args];
1187 for (sort keys %docfuncs) {
1188 # Have you used a full for apidoc or just a func name?
1189 # Have you used Ap instead of Am in the for apidoc?
1190 warn "Unable to place $_!\n";
1193 print DOC <<'_EOB_';
1196 perlapi - autogenerated documentation for the perl public API
1200 This file contains the documentation of the perl public API generated by
1201 embed.pl, specifically a listing of functions, macros, flags, and variables
1202 that may be used by extension writers. The interfaces of any functions that
1203 are not listed here are subject to change without notice. For this reason,
1204 blindly using functions listed in proto.h is to be avoided when writing
1207 Note that all Perl API global variables must be referenced with the C<PL_>
1208 prefix. Some macros are provided for compatibility with the older,
1209 unadorned names, but this support may be disabled in a future release.
1211 The listing is alphabetical, case insensitive.
1218 for $key (sort { uc($a) cmp uc($b); } keys %apidocs) { # case insensitive sort
1219 docout(\*DOC, $key, $apidocs{$key});
1222 print DOC <<'_EOE_';
1227 Until May 1997, this document was maintained by Jeff Okamoto
1228 <okamoto@corp.hp.com>. It is now maintained as part of Perl itself.
1230 With lots of help and suggestions from Dean Roehrich, Malcolm Beattie,
1231 Andreas Koenig, Paul Hudson, Ilya Zakharevich, Paul Marquess, Neil
1232 Bowers, Matthew Green, Tim Bunce, Spider Boardman, Ulrich Pfeifer,
1233 Stephen McCamant, and Gurusamy Sarathy.
1235 API Listing originally by Dean Roehrich <roehrich@cray.com>.
1237 Updated to be autogenerated from comments in the source by Benjamin Stuhl.
1241 perlguts(1), perlxs(1), perlxstut(1), perlintern(1)
1248 open(GUTS, ">pod/perlintern.pod") or
1249 die "Unable to create pod/perlintern.pod: $!\n";
1253 perlintern - autogenerated documentation of purely B<internal>
1258 This file is the autogenerated documentation of functions in the
1259 Perl interpreter that are documented using Perl's internal documentation
1260 format but are not marked as part of the Perl API. In other words,
1261 B<they are not for use in extensions>!
1267 for $key (sort { uc($a) cmp uc($b); } keys %gutsdocs) {
1268 docout(\*GUTS, $key, $gutsdocs{$key});
1276 The autodocumentation system was originally added to the Perl core by
1277 Benjamin Stuhl. Documentation is by whoever was kind enough to
1278 document their functions.
1282 perlguts(1), perlapi(1)
1291 : Lines are of the form:
1292 : flags|return_type|function_name|arg1|arg2|...|argN
1294 : A line may be continued on another by ending it with a backslash.
1295 : Leading and trailing whitespace will be ignored in each component.
1297 : flags are single letters with following meanings:
1298 : A member of public API
1299 : d function has documentation with its source
1300 : s static function, should have an S_ prefix in source
1302 : n has no implicit interpreter/thread context argument
1303 : p function has a Perl_ prefix
1304 : f function takes printf style format string, varargs
1305 : r function never returns
1306 : o has no compatibility macro (#define foo Perl_foo)
1307 : j not a member of CPerlObj
1311 : Individual flags may be separated by whitespace.
1313 : New global functions should be added at the end for binary compatibility
1314 : in some configurations.
1318 #if defined(PERL_IMPLICIT_SYS)
1319 Ajno |PerlInterpreter* |perl_alloc_using \
1320 |struct IPerlMem* m|struct IPerlMem* ms \
1321 |struct IPerlMem* mp|struct IPerlEnv* e \
1322 |struct IPerlStdIO* io|struct IPerlLIO* lio \
1323 |struct IPerlDir* d|struct IPerlSock* s \
1324 |struct IPerlProc* p
1326 Ajnod |PerlInterpreter* |perl_alloc
1327 Ajnod |void |perl_construct |PerlInterpreter* interp
1328 Ajnod |void |perl_destruct |PerlInterpreter* interp
1329 Ajnod |void |perl_free |PerlInterpreter* interp
1330 Ajnod |int |perl_run |PerlInterpreter* interp
1331 Ajnod |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \
1332 |int argc|char** argv|char** env
1333 #if defined(USE_ITHREADS)
1334 : XXX: perl_clone needs docs
1335 Ajno |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags
1336 # if defined(PERL_IMPLICIT_SYS)
1337 Ajno |PerlInterpreter*|perl_clone_using|PerlInterpreter *interp|UV flags \
1338 |struct IPerlMem* m|struct IPerlMem* ms \
1339 |struct IPerlMem* mp|struct IPerlEnv* e \
1340 |struct IPerlStdIO* io|struct IPerlLIO* lio \
1341 |struct IPerlDir* d|struct IPerlSock* s \
1342 |struct IPerlProc* p
1346 #if defined(MYMALLOC)
1347 Ajnop |Malloc_t|malloc |MEM_SIZE nbytes
1348 Ajnop |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size
1349 Ajnop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes
1350 Ajnop |Free_t |mfree |Malloc_t where
1351 jnp |MEM_SIZE|malloced_size |void *p
1354 Ajnp |void* |get_context
1355 Ajnp |void |set_context |void *thx
1359 /* functions with flag 'n' should come before here */
1360 #if defined(PERL_OBJECT)
1363 struct interpreter interp;
1364 CPerlObj(IPerlMem*, IPerlMem*, IPerlMem*, IPerlEnv*, IPerlStdIO*,
1365 IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*);
1366 void* operator new(size_t nSize, IPerlMem *pvtbl);
1367 #ifndef __BORLANDC__
1368 static void operator delete(void* pPerl, IPerlMem *pvtbl);
1370 int do_aspawn (void *vreally, void **vmark, void **vsp);
1372 #if defined(PERL_OBJECT)
1377 # include "pp_proto.h"
1378 Ap |SV* |amagic_call |SV* left|SV* right|int method|int dir
1379 Ap |bool |Gv_AMupdate |HV* stash
1380 Ap |CV* |gv_handler |HV* stash|I32 id
1381 p |OP* |append_elem |I32 optype|OP* head|OP* tail
1382 p |OP* |append_list |I32 optype|LISTOP* first|LISTOP* last
1383 p |I32 |apply |I32 type|SV** mark|SV** sp
1384 Ap |void |apply_attrs_string|char *stashpv|CV *cv|char *attrstr|STRLEN len
1385 Ap |SV* |avhv_delete_ent|AV *ar|SV* keysv|I32 flags|U32 hash
1386 Ap |bool |avhv_exists_ent|AV *ar|SV* keysv|U32 hash
1387 Ap |SV** |avhv_fetch_ent |AV *ar|SV* keysv|I32 lval|U32 hash
1388 Ap |SV** |avhv_store_ent |AV *ar|SV* keysv|SV* val|U32 hash
1389 Ap |HE* |avhv_iternext |AV *ar
1390 Ap |SV* |avhv_iterval |AV *ar|HE* entry
1391 Ap |HV* |avhv_keys |AV *ar
1392 Apd |void |av_clear |AV* ar
1393 Apd |SV* |av_delete |AV* ar|I32 key|I32 flags
1394 Apd |bool |av_exists |AV* ar|I32 key
1395 Apd |void |av_extend |AV* ar|I32 key
1396 p |AV* |av_fake |I32 size|SV** svp
1397 Apd |SV** |av_fetch |AV* ar|I32 key|I32 lval
1398 Apd |void |av_fill |AV* ar|I32 fill
1399 Apd |I32 |av_len |AV* ar
1400 Apd |AV* |av_make |I32 size|SV** svp
1401 Apd |SV* |av_pop |AV* ar
1402 Apd |void |av_push |AV* ar|SV* val
1403 p |void |av_reify |AV* ar
1404 Apd |SV* |av_shift |AV* ar
1405 Apd |SV** |av_store |AV* ar|I32 key|SV* val
1406 Apd |void |av_undef |AV* ar
1407 Apd |void |av_unshift |AV* ar|I32 num
1408 p |OP* |bind_match |I32 type|OP* left|OP* pat
1409 p |OP* |block_end |I32 floor|OP* seq
1410 Ap |I32 |block_gimme
1411 p |int |block_start |int full
1412 p |void |boot_core_UNIVERSAL
1413 Ap |void |call_list |I32 oldscope|AV* av_list
1414 p |bool |cando |Mode_t mode|Uid_t effective|Stat_t* statbufp
1415 Ap |U32 |cast_ulong |NV f
1416 Ap |I32 |cast_i32 |NV f
1417 Ap |IV |cast_iv |NV f
1418 Ap |UV |cast_uv |NV f
1419 #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
1420 Ap |I32 |my_chsize |int fd|Off_t length
1422 #if defined(USE_THREADS)
1423 Ap |MAGIC* |condpair_magic |SV *sv
1425 p |OP* |convert |I32 optype|I32 flags|OP* o
1426 Afprd |void |croak |const char* pat|...
1427 Apr |void |vcroak |const char* pat|va_list* args
1428 #if defined(PERL_IMPLICIT_CONTEXT)
1429 Afnrp |void |croak_nocontext|const char* pat|...
1430 Afnp |OP* |die_nocontext |const char* pat|...
1431 Afnp |void |deb_nocontext |const char* pat|...
1432 Afnp |char* |form_nocontext |const char* pat|...
1433 Anp |void |load_module_nocontext|U32 flags|SV* name|SV* ver|...
1434 Afnp |SV* |mess_nocontext |const char* pat|...
1435 Afnp |void |warn_nocontext |const char* pat|...
1436 Afnp |void |warner_nocontext|U32 err|const char* pat|...
1437 Afnp |SV* |newSVpvf_nocontext|const char* pat|...
1438 Afnp |void |sv_catpvf_nocontext|SV* sv|const char* pat|...
1439 Afnp |void |sv_setpvf_nocontext|SV* sv|const char* pat|...
1440 Afnp |void |sv_catpvf_mg_nocontext|SV* sv|const char* pat|...
1441 Afnp |void |sv_setpvf_mg_nocontext|SV* sv|const char* pat|...
1442 Afnp |int |fprintf_nocontext|PerlIO* stream|const char* fmt|...
1444 p |void |cv_ckproto |CV* cv|GV* gv|char* p
1445 p |CV* |cv_clone |CV* proto
1446 Apd |SV* |cv_const_sv |CV* cv
1447 p |SV* |op_const_sv |OP* o|CV* cv
1448 Ap |void |cv_undef |CV* cv
1449 Ap |void |cx_dump |PERL_CONTEXT* cs
1450 Ap |SV* |filter_add |filter_t funcp|SV* datasv
1451 Ap |void |filter_del |filter_t funcp
1452 Ap |I32 |filter_read |int idx|SV* buffer|int maxlen
1453 Ap |char** |get_op_descs
1454 Ap |char** |get_op_names
1455 p |char* |get_no_modify
1457 Ap |PPADDR_t*|get_ppaddr
1459 Afp |void |deb |const char* pat|...
1460 Ap |void |vdeb |const char* pat|va_list* args
1461 Ap |void |debprofdump
1462 Ap |I32 |debop |OP* o
1464 Ap |I32 |debstackptrs
1465 Ap |char* |delimcpy |char* to|char* toend|char* from \
1466 |char* fromend|int delim|I32* retlen
1467 p |void |deprecate |char* s
1468 Afp |OP* |die |const char* pat|...
1469 p |OP* |vdie |const char* pat|va_list* args
1470 p |OP* |die_where |char* message|STRLEN msglen
1471 Ap |void |dounwind |I32 cxix
1472 p |bool |do_aexec |SV* really|SV** mark|SV** sp
1473 p |bool |do_aexec5 |SV* really|SV** mark|SV** sp|int fd|int flag
1474 Ap |int |do_binmode |PerlIO *fp|int iotype|int mode
1475 p |void |do_chop |SV* asv|SV* sv
1476 Ap |bool |do_close |GV* gv|bool not_implicit
1477 p |bool |do_eof |GV* gv
1478 p |bool |do_exec |char* cmd
1480 p |bool |do_exec3 |char* cmd|int fd|int flag
1482 p |void |do_execfree
1483 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
1484 p |I32 |do_ipcctl |I32 optype|SV** mark|SV** sp
1485 p |I32 |do_ipcget |I32 optype|SV** mark|SV** sp
1486 p |I32 |do_msgrcv |SV** mark|SV** sp
1487 p |I32 |do_msgsnd |SV** mark|SV** sp
1488 p |I32 |do_semop |SV** mark|SV** sp
1489 p |I32 |do_shmio |I32 optype|SV** mark|SV** sp
1491 Ap |void |do_join |SV* sv|SV* del|SV** mark|SV** sp
1493 Ap |bool |do_open |GV* gv|char* name|I32 len|int as_raw \
1494 |int rawmode|int rawperm|PerlIO* supplied_fp
1495 Ap |bool |do_open9 |GV *gv|char *name|I32 len|int as_raw \
1496 |int rawmode|int rawperm|PerlIO *supplied_fp \
1498 Ap |bool |do_openn |GV *gv|char *name|I32 len|int as_raw \
1499 |int rawmode|int rawperm|PerlIO *supplied_fp \
1501 p |void |do_pipe |SV* sv|GV* rgv|GV* wgv
1502 p |bool |do_print |SV* sv|PerlIO* fp
1504 p |I32 |do_chomp |SV* sv
1505 p |bool |do_seek |GV* gv|Off_t pos|int whence
1506 p |void |do_sprintf |SV* sv|I32 len|SV** sarg
1507 p |Off_t |do_sysseek |GV* gv|Off_t pos|int whence
1508 p |Off_t |do_tell |GV* gv
1509 p |I32 |do_trans |SV* sv
1510 p |UV |do_vecget |SV* sv|I32 offset|I32 size
1511 p |void |do_vecset |SV* sv
1512 p |void |do_vop |I32 optype|SV* sv|SV* left|SV* right
1513 p |OP* |dofile |OP* term
1514 Ap |I32 |dowantarray
1517 #if defined(DUMP_FDS)
1518 Ap |void |dump_fds |char* s
1520 Ap |void |dump_form |GV* gv
1521 Ap |void |gv_dump |GV* gv
1522 Ap |void |op_dump |OP* arg
1523 Ap |void |pmop_dump |PMOP* pm
1524 Ap |void |dump_packsubs |HV* stash
1525 Ap |void |dump_sub |GV* gv
1526 Apd |void |fbm_compile |SV* sv|U32 flags
1527 Apd |char* |fbm_instr |unsigned char* big|unsigned char* bigend \
1528 |SV* littlesv|U32 flags
1529 p |char* |find_script |char *scriptname|bool dosearch \
1530 |char **search_ext|I32 flags
1531 #if defined(USE_THREADS)
1532 p |PADOFFSET|find_threadsv|const char *name
1534 p |OP* |force_list |OP* arg
1535 p |OP* |fold_constants |OP* arg
1536 Afp |char* |form |const char* pat|...
1537 Ap |char* |vform |const char* pat|va_list* args
1539 p |OP* |gen_constant_list|OP* o
1540 #if !defined(HAS_GETENV_LEN)
1541 p |char* |getenv_len |const char* key|unsigned long *len
1543 Ap |void |gp_free |GV* gv
1544 Ap |GP* |gp_ref |GP* gp
1545 Ap |GV* |gv_AVadd |GV* gv
1546 Ap |GV* |gv_HVadd |GV* gv
1547 Ap |GV* |gv_IOadd |GV* gv
1548 Ap |GV* |gv_autoload4 |HV* stash|const char* name|STRLEN len \
1550 Ap |void |gv_check |HV* stash
1551 Ap |void |gv_efullname |SV* sv|GV* gv
1552 Ap |void |gv_efullname3 |SV* sv|GV* gv|const char* prefix
1553 Ap |void |gv_efullname4 |SV* sv|GV* gv|const char* prefix|bool keepmain
1554 Ap |GV* |gv_fetchfile |const char* name
1555 Apd |GV* |gv_fetchmeth |HV* stash|const char* name|STRLEN len \
1557 Apd |GV* |gv_fetchmethod |HV* stash|const char* name
1558 Apd |GV* |gv_fetchmethod_autoload|HV* stash|const char* name \
1560 Ap |GV* |gv_fetchpv |const char* name|I32 add|I32 sv_type
1561 Ap |void |gv_fullname |SV* sv|GV* gv
1562 Ap |void |gv_fullname3 |SV* sv|GV* gv|const char* prefix
1563 Ap |void |gv_fullname4 |SV* sv|GV* gv|const char* prefix|bool keepmain
1564 Ap |void |gv_init |GV* gv|HV* stash|const char* name \
1565 |STRLEN len|int multi
1566 Apd |HV* |gv_stashpv |const char* name|I32 create
1567 Ap |HV* |gv_stashpvn |const char* name|U32 namelen|I32 create
1568 Apd |HV* |gv_stashsv |SV* sv|I32 create
1569 Apd |void |hv_clear |HV* tb
1570 Ap |void |hv_delayfree_ent|HV* hv|HE* entry
1571 Apd |SV* |hv_delete |HV* tb|const char* key|I32 klen|I32 flags
1572 Apd |SV* |hv_delete_ent |HV* tb|SV* key|I32 flags|U32 hash
1573 Apd |bool |hv_exists |HV* tb|const char* key|I32 klen
1574 Apd |bool |hv_exists_ent |HV* tb|SV* key|U32 hash
1575 Apd |SV** |hv_fetch |HV* tb|const char* key|I32 klen|I32 lval
1576 Apd |HE* |hv_fetch_ent |HV* tb|SV* key|I32 lval|U32 hash
1577 Ap |void |hv_free_ent |HV* hv|HE* entry
1578 Apd |I32 |hv_iterinit |HV* tb
1579 Apd |char* |hv_iterkey |HE* entry|I32* retlen
1580 Apd |SV* |hv_iterkeysv |HE* entry
1581 Apd |HE* |hv_iternext |HV* tb
1582 Apd |SV* |hv_iternextsv |HV* hv|char** key|I32* retlen
1583 Apd |SV* |hv_iterval |HV* tb|HE* entry
1584 Ap |void |hv_ksplit |HV* hv|IV newmax
1585 Apd |void |hv_magic |HV* hv|GV* gv|int how
1586 Apd |SV** |hv_store |HV* tb|const char* key|I32 klen|SV* val \
1588 Apd |HE* |hv_store_ent |HV* tb|SV* key|SV* val|U32 hash
1589 Apd |void |hv_undef |HV* tb
1590 Ap |I32 |ibcmp |const char* a|const char* b|I32 len
1591 Ap |I32 |ibcmp_locale |const char* a|const char* b|I32 len
1592 p |bool |ingroup |Gid_t testgid|Uid_t effective
1593 p |void |init_debugger
1594 Ap |void |init_stacks
1596 Ap |char* |instr |const char* big|const char* little
1597 p |bool |io_close |IO* io|bool not_implicit
1598 p |OP* |invert |OP* cmd
1599 dp |bool |is_gv_magical |char *name|STRLEN len|U32 flags
1600 p |I32 |is_lvalue_sub
1601 Ap |bool |is_uni_alnum |U32 c
1602 Ap |bool |is_uni_alnumc |U32 c
1603 Ap |bool |is_uni_idfirst |U32 c
1604 Ap |bool |is_uni_alpha |U32 c
1605 Ap |bool |is_uni_ascii |U32 c
1606 Ap |bool |is_uni_space |U32 c
1607 Ap |bool |is_uni_cntrl |U32 c
1608 Ap |bool |is_uni_graph |U32 c
1609 Ap |bool |is_uni_digit |U32 c
1610 Ap |bool |is_uni_upper |U32 c
1611 Ap |bool |is_uni_lower |U32 c
1612 Ap |bool |is_uni_print |U32 c
1613 Ap |bool |is_uni_punct |U32 c
1614 Ap |bool |is_uni_xdigit |U32 c
1615 Ap |U32 |to_uni_upper |U32 c
1616 Ap |U32 |to_uni_title |U32 c
1617 Ap |U32 |to_uni_lower |U32 c
1618 Ap |bool |is_uni_alnum_lc|U32 c
1619 Ap |bool |is_uni_alnumc_lc|U32 c
1620 Ap |bool |is_uni_idfirst_lc|U32 c
1621 Ap |bool |is_uni_alpha_lc|U32 c
1622 Ap |bool |is_uni_ascii_lc|U32 c
1623 Ap |bool |is_uni_space_lc|U32 c
1624 Ap |bool |is_uni_cntrl_lc|U32 c
1625 Ap |bool |is_uni_graph_lc|U32 c
1626 Ap |bool |is_uni_digit_lc|U32 c
1627 Ap |bool |is_uni_upper_lc|U32 c
1628 Ap |bool |is_uni_lower_lc|U32 c
1629 Ap |bool |is_uni_print_lc|U32 c
1630 Ap |bool |is_uni_punct_lc|U32 c
1631 Ap |bool |is_uni_xdigit_lc|U32 c
1632 Ap |U32 |to_uni_upper_lc|U32 c
1633 Ap |U32 |to_uni_title_lc|U32 c
1634 Ap |U32 |to_uni_lower_lc|U32 c
1635 Apd |STRLEN |is_utf8_char |U8 *p
1636 Apd |bool |is_utf8_string |U8 *s|STRLEN len
1637 Ap |bool |is_utf8_alnum |U8 *p
1638 Ap |bool |is_utf8_alnumc |U8 *p
1639 Ap |bool |is_utf8_idfirst|U8 *p
1640 Ap |bool |is_utf8_alpha |U8 *p
1641 Ap |bool |is_utf8_ascii |U8 *p
1642 Ap |bool |is_utf8_space |U8 *p
1643 Ap |bool |is_utf8_cntrl |U8 *p
1644 Ap |bool |is_utf8_digit |U8 *p
1645 Ap |bool |is_utf8_graph |U8 *p
1646 Ap |bool |is_utf8_upper |U8 *p
1647 Ap |bool |is_utf8_lower |U8 *p
1648 Ap |bool |is_utf8_print |U8 *p
1649 Ap |bool |is_utf8_punct |U8 *p
1650 Ap |bool |is_utf8_xdigit |U8 *p
1651 Ap |bool |is_utf8_mark |U8 *p
1652 p |OP* |jmaybe |OP* arg
1653 p |I32 |keyword |char* d|I32 len
1654 Ap |void |leave_scope |I32 base
1656 p |void |lex_start |SV* line
1657 p |OP* |linklist |OP* o
1659 p |OP* |listkids |OP* o
1660 Ap |void |load_module|U32 flags|SV* name|SV* ver|...
1661 Ap |void |vload_module|U32 flags|SV* name|SV* ver|va_list* args
1662 p |OP* |localize |OP* arg|I32 lexical
1663 Apd |I32 |looks_like_number|SV* sv
1664 p |int |magic_clearenv |SV* sv|MAGIC* mg
1665 p |int |magic_clear_all_env|SV* sv|MAGIC* mg
1666 p |int |magic_clearpack|SV* sv|MAGIC* mg
1667 p |int |magic_clearsig |SV* sv|MAGIC* mg
1668 p |int |magic_existspack|SV* sv|MAGIC* mg
1669 p |int |magic_freeregexp|SV* sv|MAGIC* mg
1670 p |int |magic_freeovrld|SV* sv|MAGIC* mg
1671 p |int |magic_get |SV* sv|MAGIC* mg
1672 p |int |magic_getarylen|SV* sv|MAGIC* mg
1673 p |int |magic_getdefelem|SV* sv|MAGIC* mg
1674 p |int |magic_getglob |SV* sv|MAGIC* mg
1675 p |int |magic_getnkeys |SV* sv|MAGIC* mg
1676 p |int |magic_getpack |SV* sv|MAGIC* mg
1677 p |int |magic_getpos |SV* sv|MAGIC* mg
1678 p |int |magic_getsig |SV* sv|MAGIC* mg
1679 p |int |magic_getsubstr|SV* sv|MAGIC* mg
1680 p |int |magic_gettaint |SV* sv|MAGIC* mg
1681 p |int |magic_getuvar |SV* sv|MAGIC* mg
1682 p |int |magic_getvec |SV* sv|MAGIC* mg
1683 p |U32 |magic_len |SV* sv|MAGIC* mg
1684 #if defined(USE_THREADS)
1685 p |int |magic_mutexfree|SV* sv|MAGIC* mg
1687 p |int |magic_nextpack |SV* sv|MAGIC* mg|SV* key
1688 p |U32 |magic_regdata_cnt|SV* sv|MAGIC* mg
1689 p |int |magic_regdatum_get|SV* sv|MAGIC* mg
1690 p |int |magic_regdatum_set|SV* sv|MAGIC* mg
1691 p |int |magic_set |SV* sv|MAGIC* mg
1692 p |int |magic_setamagic|SV* sv|MAGIC* mg
1693 p |int |magic_setarylen|SV* sv|MAGIC* mg
1694 p |int |magic_setbm |SV* sv|MAGIC* mg
1695 p |int |magic_setdbline|SV* sv|MAGIC* mg
1696 #if defined(USE_LOCALE_COLLATE)
1697 p |int |magic_setcollxfrm|SV* sv|MAGIC* mg
1699 p |int |magic_setdefelem|SV* sv|MAGIC* mg
1700 p |int |magic_setenv |SV* sv|MAGIC* mg
1701 p |int |magic_setfm |SV* sv|MAGIC* mg
1702 p |int |magic_setisa |SV* sv|MAGIC* mg
1703 p |int |magic_setglob |SV* sv|MAGIC* mg
1704 p |int |magic_setmglob |SV* sv|MAGIC* mg
1705 p |int |magic_setnkeys |SV* sv|MAGIC* mg
1706 p |int |magic_setpack |SV* sv|MAGIC* mg
1707 p |int |magic_setpos |SV* sv|MAGIC* mg
1708 p |int |magic_setsig |SV* sv|MAGIC* mg
1709 p |int |magic_setsubstr|SV* sv|MAGIC* mg
1710 p |int |magic_settaint |SV* sv|MAGIC* mg
1711 p |int |magic_setuvar |SV* sv|MAGIC* mg
1712 p |int |magic_setvec |SV* sv|MAGIC* mg
1713 p |int |magic_set_all_env|SV* sv|MAGIC* mg
1714 p |U32 |magic_sizepack |SV* sv|MAGIC* mg
1715 p |int |magic_wipepack |SV* sv|MAGIC* mg
1716 p |void |magicname |char* sym|char* name|I32 namlen
1717 Ap |void |markstack_grow
1718 #if defined(USE_LOCALE_COLLATE)
1719 p |char* |mem_collxfrm |const char* s|STRLEN len|STRLEN* xlen
1721 Afp |SV* |mess |const char* pat|...
1722 Ap |SV* |vmess |const char* pat|va_list* args
1723 p |void |qerror |SV* err
1724 Apd |int |mg_clear |SV* sv
1725 Apd |int |mg_copy |SV* sv|SV* nsv|const char* key|I32 klen
1726 Apd |MAGIC* |mg_find |SV* sv|int type
1727 Apd |int |mg_free |SV* sv
1728 Apd |int |mg_get |SV* sv
1729 Apd |U32 |mg_length |SV* sv
1730 Apd |void |mg_magical |SV* sv
1731 Apd |int |mg_set |SV* sv
1732 Ap |I32 |mg_size |SV* sv
1733 p |OP* |mod |OP* o|I32 type
1734 p |int |mode_from_discipline|SV* discp
1735 Ap |char* |moreswitches |char* s
1737 Ap |NV |my_atof |const char *s
1738 #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
1739 Anp |char* |my_bcopy |const char* from|char* to|I32 len
1741 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
1742 Anp |char* |my_bzero |char* loc|I32 len
1744 Apr |void |my_exit |U32 status
1745 Apr |void |my_failure_exit
1746 Ap |I32 |my_fflush_all
1748 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
1749 Anp |I32 |my_memcmp |const char* s1|const char* s2|I32 len
1751 #if !defined(HAS_MEMSET)
1752 Anp |void* |my_memset |char* loc|I32 ch|I32 len
1754 #if !defined(PERL_OBJECT)
1755 Ap |I32 |my_pclose |PerlIO* ptr
1756 Ap |PerlIO*|my_popen |char* cmd|char* mode
1758 Ap |void |my_setenv |char* nam|char* val
1761 Ap |short |my_swap |short s
1762 Ap |long |my_htonl |long l
1763 Ap |long |my_ntohl |long l
1766 Ap |OP* |newANONLIST |OP* o
1767 Ap |OP* |newANONHASH |OP* o
1768 Ap |OP* |newANONSUB |I32 floor|OP* proto|OP* block
1769 Ap |OP* |newASSIGNOP |I32 flags|OP* left|I32 optype|OP* right
1770 Ap |OP* |newCONDOP |I32 flags|OP* expr|OP* trueop|OP* falseop
1771 Apd |CV* |newCONSTSUB |HV* stash|char* name|SV* sv
1772 Ap |void |newFORM |I32 floor|OP* o|OP* block
1773 Ap |OP* |newFOROP |I32 flags|char* label|line_t forline \
1774 |OP* sclr|OP* expr|OP*block|OP*cont
1775 Ap |OP* |newLOGOP |I32 optype|I32 flags|OP* left|OP* right
1776 Ap |OP* |newLOOPEX |I32 type|OP* label
1777 Ap |OP* |newLOOPOP |I32 flags|I32 debuggable|OP* expr|OP* block
1778 Ap |OP* |newNULLLIST
1779 Ap |OP* |newOP |I32 optype|I32 flags
1780 Ap |void |newPROG |OP* o
1781 Ap |OP* |newRANGE |I32 flags|OP* left|OP* right
1782 Ap |OP* |newSLICEOP |I32 flags|OP* subscript|OP* listop
1783 Ap |OP* |newSTATEOP |I32 flags|char* label|OP* o
1784 Ap |CV* |newSUB |I32 floor|OP* o|OP* proto|OP* block
1785 Apd |CV* |newXS |char* name|XSUBADDR_t f|char* filename
1787 Ap |OP* |newAVREF |OP* o
1788 Ap |OP* |newBINOP |I32 type|I32 flags|OP* first|OP* last
1789 Ap |OP* |newCVREF |I32 flags|OP* o
1790 Ap |OP* |newGVOP |I32 type|I32 flags|GV* gv
1791 Ap |GV* |newGVgen |char* pack
1792 Ap |OP* |newGVREF |I32 type|OP* o
1793 Ap |OP* |newHVREF |OP* o
1795 Ap |HV* |newHVhv |HV* hv
1797 Ap |OP* |newLISTOP |I32 type|I32 flags|OP* first|OP* last
1798 Ap |OP* |newPADOP |I32 type|I32 flags|SV* sv
1799 Ap |OP* |newPMOP |I32 type|I32 flags
1800 Ap |OP* |newPVOP |I32 type|I32 flags|char* pv
1801 Ap |SV* |newRV |SV* pref
1802 Apd |SV* |newRV_noinc |SV *sv
1803 Ap |SV* |newSV |STRLEN len
1804 Ap |OP* |newSVREF |OP* o
1805 Ap |OP* |newSVOP |I32 type|I32 flags|SV* sv
1806 Apd |SV* |newSViv |IV i
1807 Apd |SV* |newSVuv |UV u
1808 Apd |SV* |newSVnv |NV n
1809 Apd |SV* |newSVpv |const char* s|STRLEN len
1810 Apd |SV* |newSVpvn |const char* s|STRLEN len
1811 Apd |SV* |newSVpvn_share |const char* s|I32 len|U32 hash
1812 Afpd |SV* |newSVpvf |const char* pat|...
1813 Ap |SV* |vnewSVpvf |const char* pat|va_list* args
1814 Apd |SV* |newSVrv |SV* rv|const char* classname
1815 Apd |SV* |newSVsv |SV* old
1816 Ap |OP* |newUNOP |I32 type|I32 flags|OP* first
1817 Ap |OP* |newWHILEOP |I32 flags|I32 debuggable|LOOP* loop \
1818 |I32 whileline|OP* expr|OP* block|OP* cont
1820 Ap |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
1821 p |PerlIO*|nextargv |GV* gv
1822 Ap |char* |ninstr |const char* big|const char* bigend \
1823 |const char* little|const char* lend
1824 p |OP* |oopsCV |OP* o
1825 Ap |void |op_free |OP* arg
1826 p |void |package |OP* o
1827 p |PADOFFSET|pad_alloc |I32 optype|U32 tmptype
1828 p |PADOFFSET|pad_allocmy |char* name
1829 p |PADOFFSET|pad_findmy |char* name
1830 p |OP* |oopsAV |OP* o
1831 p |OP* |oopsHV |OP* o
1832 p |void |pad_leavemy |I32 fill
1833 Ap |SV* |pad_sv |PADOFFSET po
1834 p |void |pad_free |PADOFFSET po
1836 p |void |pad_swipe |PADOFFSET po
1837 p |void |peep |OP* o
1838 dopM |PerlIO*|start_glob |SV* pattern|IO *io
1839 #if defined(PERL_OBJECT)
1840 Aox |void |Perl_construct
1841 Aox |void |Perl_destruct
1842 Aox |void |Perl_free
1844 Aox |int |Perl_parse |XSINIT_t xsinit \
1845 |int argc|char** argv|char** env
1847 #if defined(USE_THREADS)
1848 Ap |struct perl_thread* |new_struct_thread|struct perl_thread *t
1850 Ap |void |call_atexit |ATEXIT_t fn|void *ptr
1851 Apd |I32 |call_argv |const char* sub_name|I32 flags|char** argv
1852 Apd |I32 |call_method |const char* methname|I32 flags
1853 Apd |I32 |call_pv |const char* sub_name|I32 flags
1854 Apd |I32 |call_sv |SV* sv|I32 flags
1855 p |void |despatch_signals
1856 Apd |SV* |eval_pv |const char* p|I32 croak_on_error
1857 Apd |I32 |eval_sv |SV* sv|I32 flags
1858 Apd |SV* |get_sv |const char* name|I32 create
1859 Apd |AV* |get_av |const char* name|I32 create
1860 Apd |HV* |get_hv |const char* name|I32 create
1861 Apd |CV* |get_cv |const char* name|I32 create
1862 Ap |int |init_i18nl10n |int printwarn
1863 Ap |int |init_i18nl14n |int printwarn
1864 Ap |void |new_collate |char* newcoll
1865 Ap |void |new_ctype |char* newctype
1866 Ap |void |new_numeric |char* newcoll
1867 Ap |void |set_numeric_local
1868 Ap |void |set_numeric_radix
1869 Ap |void |set_numeric_standard
1870 Apd |void |require_pv |const char* pv
1871 p |void |pidgone |Pid_t pid|int status
1872 Ap |void |pmflag |U16* pmfl|int ch
1873 p |OP* |pmruntime |OP* pm|OP* expr|OP* repl
1874 p |OP* |pmtrans |OP* o|OP* expr|OP* repl
1877 p |OP* |prepend_elem |I32 optype|OP* head|OP* tail
1878 p |void |push_return |OP* o
1879 Ap |void |push_scope
1880 p |OP* |ref |OP* o|I32 type
1881 p |OP* |refkids |OP* o|I32 type
1882 Ap |void |regdump |regexp* r
1883 Ap |SV* |regclass_swash |struct regnode *n|bool doinit|SV **initsvp
1884 Ap |I32 |pregexec |regexp* prog|char* stringarg \
1885 |char* strend|char* strbeg|I32 minend \
1886 |SV* screamer|U32 nosave
1887 Ap |void |pregfree |struct regexp* r
1888 Ap |regexp*|pregcomp |char* exp|char* xend|PMOP* pm
1889 Ap |char* |re_intuit_start|regexp* prog|SV* sv|char* strpos \
1890 |char* strend|U32 flags \
1891 |struct re_scream_pos_data_s *data
1892 Ap |SV* |re_intuit_string|regexp* prog
1893 Ap |I32 |regexec_flags |regexp* prog|char* stringarg \
1894 |char* strend|char* strbeg|I32 minend \
1895 |SV* screamer|void* data|U32 flags
1896 Ap |regnode*|regnext |regnode* p
1897 p |void |regprop |SV* sv|regnode* o
1898 Ap |void |repeatcpy |char* to|const char* from|I32 len|I32 count
1899 Ap |char* |rninstr |const char* big|const char* bigend \
1900 |const char* little|const char* lend
1901 Ap |Sighandler_t|rsignal |int i|Sighandler_t t
1902 p |int |rsignal_restore|int i|Sigsave_t* t
1903 p |int |rsignal_save |int i|Sighandler_t t1|Sigsave_t* t2
1904 p |Sighandler_t|rsignal_state|int i
1905 p |void |rxres_free |void** rsp
1906 p |void |rxres_restore |void** rsp|REGEXP* prx
1907 p |void |rxres_save |void** rsp|REGEXP* prx
1908 #if !defined(HAS_RENAME)
1909 p |I32 |same_dirent |char* a|char* b
1911 Apd |char* |savepv |const char* sv
1912 Apd |char* |savepvn |const char* sv|I32 len
1913 Ap |void |savestack_grow
1914 Ap |void |save_aelem |AV* av|I32 idx|SV **sptr
1915 Ap |I32 |save_alloc |I32 size|I32 pad
1916 Ap |void |save_aptr |AV** aptr
1917 Ap |AV* |save_ary |GV* gv
1918 Ap |void |save_clearsv |SV** svp
1919 Ap |void |save_delete |HV* hv|char* key|I32 klen
1920 Ap |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|void* p
1921 Ap |void |save_destructor_x|DESTRUCTORFUNC_t f|void* p
1922 Ap |void |save_freesv |SV* sv
1923 p |void |save_freeop |OP* o
1924 Ap |void |save_freepv |char* pv
1925 Ap |void |save_generic_svref|SV** sptr
1926 Ap |void |save_generic_pvref|char** str
1927 Ap |void |save_gp |GV* gv|I32 empty
1928 Ap |HV* |save_hash |GV* gv
1929 Ap |void |save_helem |HV* hv|SV *key|SV **sptr
1930 Ap |void |save_hints
1931 Ap |void |save_hptr |HV** hptr
1932 Ap |void |save_I16 |I16* intp
1933 Ap |void |save_I32 |I32* intp
1934 Ap |void |save_I8 |I8* bytep
1935 Ap |void |save_int |int* intp
1936 Ap |void |save_item |SV* item
1937 Ap |void |save_iv |IV* iv
1938 Ap |void |save_list |SV** sarg|I32 maxsarg
1939 Ap |void |save_long |long* longp
1940 Ap |void |save_nogv |GV* gv
1942 Ap |SV* |save_scalar |GV* gv
1943 Ap |void |save_pptr |char** pptr
1944 Ap |void |save_vptr |void* pptr
1945 Ap |void |save_re_context
1946 Ap |void |save_padsv |PADOFFSET off
1947 Ap |void |save_sptr |SV** sptr
1948 Ap |SV* |save_svref |SV** sptr
1949 Ap |SV** |save_threadsv |PADOFFSET i
1950 p |OP* |sawparens |OP* o
1951 p |OP* |scalar |OP* o
1952 p |OP* |scalarkids |OP* o
1953 p |OP* |scalarseq |OP* o
1954 p |OP* |scalarvoid |OP* o
1955 Ap |NV |scan_bin |char* start|STRLEN len|STRLEN* retlen
1956 Ap |NV |scan_hex |char* start|STRLEN len|STRLEN* retlen
1957 Ap |char* |scan_num |char* s|YYSTYPE *lvalp
1958 Ap |NV |scan_oct |char* start|STRLEN len|STRLEN* retlen
1959 p |OP* |scope |OP* o
1960 Ap |char* |screaminstr |SV* bigsv|SV* littlesv|I32 start_shift \
1961 |I32 end_shift|I32 *state|I32 last
1963 p |I32 |setenv_getix |char* nam
1965 p |void |setdefout |GV* gv
1966 Ap |char* |sharepvn |const char* sv|I32 len|U32 hash
1967 p |HEK* |share_hek |const char* sv|I32 len|U32 hash
1968 np |Signal_t |sighandler |int sig
1969 Ap |SV** |stack_grow |SV** sp|SV**p|int n
1970 Ap |I32 |start_subparse |I32 is_format|U32 flags
1971 p |void |sub_crush_depth|CV* cv
1972 Ap |bool |sv_2bool |SV* sv
1973 Ap |CV* |sv_2cv |SV* sv|HV** st|GV** gvp|I32 lref
1974 Ap |IO* |sv_2io |SV* sv
1975 Ap |IV |sv_2iv |SV* sv
1976 Apd |SV* |sv_2mortal |SV* sv
1977 Ap |NV |sv_2nv |SV* sv
1978 Ap |char* |sv_2pv |SV* sv|STRLEN* lp
1979 Ap |char* |sv_2pvutf8 |SV* sv|STRLEN* lp
1980 Ap |char* |sv_2pvbyte |SV* sv|STRLEN* lp
1981 Ap |UV |sv_2uv |SV* sv
1982 Ap |IV |sv_iv |SV* sv
1983 Ap |UV |sv_uv |SV* sv
1984 Ap |NV |sv_nv |SV* sv
1985 Ap |char* |sv_pvn |SV *sv|STRLEN *len
1986 Ap |char* |sv_pvutf8n |SV *sv|STRLEN *len
1987 Ap |char* |sv_pvbyten |SV *sv|STRLEN *len
1988 Apd |I32 |sv_true |SV *sv
1989 p |void |sv_add_arena |char* ptr|U32 size|U32 flags
1990 Ap |int |sv_backoff |SV* sv
1991 Apd |SV* |sv_bless |SV* sv|HV* stash
1992 Afpd |void |sv_catpvf |SV* sv|const char* pat|...
1993 Ap |void |sv_vcatpvf |SV* sv|const char* pat|va_list* args
1994 Apd |void |sv_catpv |SV* sv|const char* ptr
1995 Apd |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len
1996 Apd |void |sv_catsv |SV* dsv|SV* ssv
1997 Apd |void |sv_chop |SV* sv|char* ptr
1998 p |void |sv_clean_all
1999 p |void |sv_clean_objs
2000 Apd |void |sv_clear |SV* sv
2001 Apd |I32 |sv_cmp |SV* sv1|SV* sv2
2002 Apd |I32 |sv_cmp_locale |SV* sv1|SV* sv2
2003 #if defined(USE_LOCALE_COLLATE)
2004 Ap |char* |sv_collxfrm |SV* sv|STRLEN* nxp
2006 Ap |OP* |sv_compile_2op |SV* sv|OP** startp|char* code|AV** avp
2007 Apd |void |sv_dec |SV* sv
2008 Ap |void |sv_dump |SV* sv
2009 Apd |bool |sv_derived_from|SV* sv|const char* name
2010 Apd |I32 |sv_eq |SV* sv1|SV* sv2
2011 Apd |void |sv_free |SV* sv
2012 p |void |sv_free_arenas
2013 Apd |char* |sv_gets |SV* sv|PerlIO* fp|I32 append
2014 Apd |char* |sv_grow |SV* sv|STRLEN newlen
2015 Apd |void |sv_inc |SV* sv
2016 Apd |void |sv_insert |SV* bigsv|STRLEN offset|STRLEN len \
2017 |char* little|STRLEN littlelen
2018 Apd |int |sv_isa |SV* sv|const char* name
2019 Apd |int |sv_isobject |SV* sv
2020 Apd |STRLEN |sv_len |SV* sv
2021 Apd |STRLEN |sv_len_utf8 |SV* sv
2022 Apd |void |sv_magic |SV* sv|SV* obj|int how|const char* name \
2024 Apd |SV* |sv_mortalcopy |SV* oldsv
2025 Apd |SV* |sv_newmortal
2026 Ap |SV* |sv_newref |SV* sv
2027 Ap |char* |sv_peek |SV* sv
2028 Ap |void |sv_pos_u2b |SV* sv|I32* offsetp|I32* lenp
2029 Ap |void |sv_pos_b2u |SV* sv|I32* offsetp
2030 Apd |char* |sv_pvn_force |SV* sv|STRLEN* lp
2031 Apd |char* |sv_pvutf8n_force|SV* sv|STRLEN* lp
2032 Ap |char* |sv_pvbyten_force|SV* sv|STRLEN* lp
2033 Apd |char* |sv_reftype |SV* sv|int ob
2034 Apd |void |sv_replace |SV* sv|SV* nsv
2035 Ap |void |sv_report_used
2036 Ap |void |sv_reset |char* s|HV* stash
2037 Afpd |void |sv_setpvf |SV* sv|const char* pat|...
2038 Ap |void |sv_vsetpvf |SV* sv|const char* pat|va_list* args
2039 Apd |void |sv_setiv |SV* sv|IV num
2040 Apd |void |sv_setpviv |SV* sv|IV num
2041 Apd |void |sv_setuv |SV* sv|UV num
2042 Apd |void |sv_setnv |SV* sv|NV num
2043 Apd |SV* |sv_setref_iv |SV* rv|const char* classname|IV iv
2044 Apd |SV* |sv_setref_nv |SV* rv|const char* classname|NV nv
2045 Apd |SV* |sv_setref_pv |SV* rv|const char* classname|void* pv
2046 Apd |SV* |sv_setref_pvn |SV* rv|const char* classname|char* pv \
2048 Apd |void |sv_setpv |SV* sv|const char* ptr
2049 Apd |void |sv_setpvn |SV* sv|const char* ptr|STRLEN len
2050 Apd |void |sv_setsv |SV* dsv|SV* ssv
2051 Ap |void |sv_taint |SV* sv
2052 Ap |bool |sv_tainted |SV* sv
2053 Apd |int |sv_unmagic |SV* sv|int type
2054 Apd |void |sv_unref |SV* sv
2055 Apd |void |sv_unref_flags |SV* sv|U32 flags
2056 Ap |void |sv_untaint |SV* sv
2057 Apd |bool |sv_upgrade |SV* sv|U32 mt
2058 Apd |void |sv_usepvn |SV* sv|char* ptr|STRLEN len
2059 Apd |void |sv_vcatpvfn |SV* sv|const char* pat|STRLEN patlen \
2060 |va_list* args|SV** svargs|I32 svmax \
2061 |bool *maybe_tainted
2062 Apd |void |sv_vsetpvfn |SV* sv|const char* pat|STRLEN patlen \
2063 |va_list* args|SV** svargs|I32 svmax \
2064 |bool *maybe_tainted
2065 Ap |NV |str_to_version |SV *sv
2066 Ap |SV* |swash_init |char* pkg|char* name|SV* listsv \
2067 |I32 minbits|I32 none
2068 Ap |UV |swash_fetch |SV *sv|U8 *ptr
2070 Ap |void |taint_proper |const char* f|const char* s
2071 Ap |UV |to_utf8_lower |U8 *p
2072 Ap |UV |to_utf8_upper |U8 *p
2073 Ap |UV |to_utf8_title |U8 *p
2074 #if defined(UNLINK_ALL_VERSIONS)
2075 Ap |I32 |unlnk |char* f
2077 #if defined(USE_THREADS)
2078 Ap |void |unlock_condpair|void* svv
2080 Ap |void |unsharepvn |const char* sv|I32 len|U32 hash
2081 p |void |unshare_hek |HEK* hek
2082 p |void |utilize |int aver|I32 floor|OP* version|OP* id|OP* arg
2083 Ap |U8* |utf16_to_utf8 |U8* p|U8 *d|I32 bytelen|I32 *newlen
2084 Ap |U8* |utf16_to_utf8_reversed|U8* p|U8 *d|I32 bytelen|I32 *newlen
2085 Adp |STRLEN |utf8_length |U8* s|U8 *e
2086 Apd |IV |utf8_distance |U8 *a|U8 *b
2087 Apd |U8* |utf8_hop |U8 *s|I32 off
2088 ApMd |U8* |utf8_to_bytes |U8 *s|STRLEN *len
2089 ApMd |U8* |bytes_from_utf8|U8 *s|STRLEN *len|bool *is_utf8
2090 ApMd |U8* |bytes_to_utf8 |U8 *s|STRLEN *len
2091 Apd |UV |utf8_to_uv_simple|U8 *s|STRLEN* retlen
2092 Adp |UV |utf8_to_uv |U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags
2093 Apd |U8* |uv_to_utf8 |U8 *d|UV uv
2094 p |void |vivify_defelem |SV* sv
2095 p |void |vivify_ref |SV* sv|U32 to_what
2096 p |I32 |wait4pid |Pid_t pid|int* statusp|int flags
2097 p |void |report_evil_fh |GV *gv|IO *io|I32 op
2098 p |void |report_uninit
2099 Afpd |void |warn |const char* pat|...
2100 Ap |void |vwarn |const char* pat|va_list* args
2101 Afp |void |warner |U32 err|const char* pat|...
2102 Ap |void |vwarner |U32 err|const char* pat|va_list* args
2103 p |void |watch |char** addr
2104 Ap |I32 |whichsig |char* sig
2105 p |int |yyerror |char* s
2106 #ifdef USE_PURE_BISON
2107 p |int |yylex_r |YYSTYPE *lvalp|int *lcharp
2111 p |int |yywarn |char* s
2112 #if defined(MYMALLOC)
2113 Ap |void |dump_mstats |char* s
2114 Ap |int |get_mstats |perl_mstats_t *buf|int buflen|int level
2116 Anp |Malloc_t|safesysmalloc |MEM_SIZE nbytes
2117 Anp |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size
2118 Anp |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
2119 Anp |Free_t |safesysfree |Malloc_t where
2120 #if defined(LEAKTEST)
2121 Anp |Malloc_t|safexmalloc |I32 x|MEM_SIZE size
2122 Anp |Malloc_t|safexcalloc |I32 x|MEM_SIZE elements|MEM_SIZE size
2123 Anp |Malloc_t|safexrealloc |Malloc_t where|MEM_SIZE size
2124 Anp |void |safexfree |Malloc_t where
2126 #if defined(PERL_GLOBAL_STRUCT)
2127 Ap |struct perl_vars *|GetVars
2129 Ap |int |runops_standard
2130 Ap |int |runops_debug
2131 #if defined(USE_THREADS)
2132 Ap |SV* |sv_lock |SV *sv
2134 Afpd |void |sv_catpvf_mg |SV *sv|const char* pat|...
2135 Ap |void |sv_vcatpvf_mg |SV* sv|const char* pat|va_list* args
2136 Apd |void |sv_catpv_mg |SV *sv|const char *ptr
2137 Apd |void |sv_catpvn_mg |SV *sv|const char *ptr|STRLEN len
2138 Apd |void |sv_catsv_mg |SV *dstr|SV *sstr
2139 Afpd |void |sv_setpvf_mg |SV *sv|const char* pat|...
2140 Ap |void |sv_vsetpvf_mg |SV* sv|const char* pat|va_list* args
2141 Apd |void |sv_setiv_mg |SV *sv|IV i
2142 Apd |void |sv_setpviv_mg |SV *sv|IV iv
2143 Apd |void |sv_setuv_mg |SV *sv|UV u
2144 Apd |void |sv_setnv_mg |SV *sv|NV num
2145 Apd |void |sv_setpv_mg |SV *sv|const char *ptr
2146 Apd |void |sv_setpvn_mg |SV *sv|const char *ptr|STRLEN len
2147 Apd |void |sv_setsv_mg |SV *dstr|SV *sstr
2148 Apd |void |sv_usepvn_mg |SV *sv|char *ptr|STRLEN len
2149 Ap |MGVTBL*|get_vtbl |int vtbl_id
2150 p |char* |pv_display |SV *sv|char *pv|STRLEN cur|STRLEN len \
2152 Afp |void |dump_indent |I32 level|PerlIO *file|const char* pat|...
2153 Ap |void |dump_vindent |I32 level|PerlIO *file|const char* pat \
2155 Ap |void |do_gv_dump |I32 level|PerlIO *file|char *name|GV *sv
2156 Ap |void |do_gvgv_dump |I32 level|PerlIO *file|char *name|GV *sv
2157 Ap |void |do_hv_dump |I32 level|PerlIO *file|char *name|HV *sv
2158 Ap |void |do_magic_dump |I32 level|PerlIO *file|MAGIC *mg|I32 nest \
2159 |I32 maxnest|bool dumpops|STRLEN pvlim
2160 Ap |void |do_op_dump |I32 level|PerlIO *file|OP *o
2161 Ap |void |do_pmop_dump |I32 level|PerlIO *file|PMOP *pm
2162 Ap |void |do_sv_dump |I32 level|PerlIO *file|SV *sv|I32 nest \
2163 |I32 maxnest|bool dumpops|STRLEN pvlim
2164 Ap |void |magic_dump |MAGIC *mg
2165 #if defined(PERL_FLEXIBLE_EXCEPTIONS)
2166 Ap |void* |default_protect|volatile JMPENV *je|int *excpt \
2167 |protect_body_t body|...
2168 Ap |void* |vdefault_protect|volatile JMPENV *je|int *excpt \
2169 |protect_body_t body|va_list *args
2171 Ap |void |reginitcolors
2172 Ap |char* |sv_2pv_nolen |SV* sv
2173 Ap |char* |sv_2pvutf8_nolen|SV* sv
2174 Ap |char* |sv_2pvbyte_nolen|SV* sv
2175 Ap |char* |sv_pv |SV *sv
2176 Ap |char* |sv_pvutf8 |SV *sv
2177 Ap |char* |sv_pvbyte |SV *sv
2178 Apd |void |sv_utf8_upgrade|SV *sv
2179 ApdM |bool |sv_utf8_downgrade|SV *sv|bool fail_ok
2180 ApdM |void |sv_utf8_encode |SV *sv
2181 Ap |bool |sv_utf8_decode |SV *sv
2182 Ap |void |sv_force_normal|SV *sv
2183 Ap |void |sv_force_normal_flags|SV *sv|U32 flags
2184 Ap |void |tmps_grow |I32 n
2185 Apd |SV* |sv_rvweaken |SV *sv
2186 p |int |magic_killbackrefs|SV *sv|MAGIC *mg
2187 Ap |OP* |newANONATTRSUB |I32 floor|OP *proto|OP *attrs|OP *block
2188 Ap |CV* |newATTRSUB |I32 floor|OP *o|OP *proto|OP *attrs|OP *block
2189 Ap |void |newMYSUB |I32 floor|OP *o|OP *proto|OP *attrs|OP *block
2190 p |OP * |my_attrs |OP *o|OP *attrs
2191 p |void |boot_core_xsutils
2192 #if defined(USE_ITHREADS)
2193 Ap |PERL_CONTEXT*|cx_dup |PERL_CONTEXT* cx|I32 ix|I32 max
2194 Ap |PERL_SI*|si_dup |PERL_SI* si
2195 Ap |ANY* |ss_dup |PerlInterpreter* proto_perl
2196 Ap |void* |any_dup |void* v|PerlInterpreter* proto_perl
2197 Ap |HE* |he_dup |HE* e|bool shared
2198 Ap |REGEXP*|re_dup |REGEXP* r
2199 Ap |PerlIO*|fp_dup |PerlIO* fp|char type
2200 Ap |DIR* |dirp_dup |DIR* dp
2201 Ap |GP* |gp_dup |GP* gp
2202 Ap |MAGIC* |mg_dup |MAGIC* mg
2203 Ap |SV* |sv_dup |SV* sstr
2204 #if defined(HAVE_INTERP_INTERN)
2205 Ap |void |sys_intern_dup |struct interp_intern* src \
2206 |struct interp_intern* dst
2208 Ap |PTR_TBL_t*|ptr_table_new
2209 Ap |void* |ptr_table_fetch|PTR_TBL_t *tbl|void *sv
2210 Ap |void |ptr_table_store|PTR_TBL_t *tbl|void *oldsv|void *newsv
2211 Ap |void |ptr_table_split|PTR_TBL_t *tbl
2212 Ap |void |ptr_table_clear|PTR_TBL_t *tbl
2213 Ap |void |ptr_table_free|PTR_TBL_t *tbl
2215 #if defined(HAVE_INTERP_INTERN)
2216 Ap |void |sys_intern_clear
2217 Ap |void |sys_intern_init
2220 #if defined(PERL_OBJECT)
2226 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
2227 s |I32 |avhv_index_sv |SV* sv
2228 s |I32 |avhv_index |AV* av|SV* sv|U32 hash
2231 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
2232 s |I32 |do_trans_simple |SV *sv
2233 s |I32 |do_trans_count |SV *sv
2234 s |I32 |do_trans_complex |SV *sv
2235 s |I32 |do_trans_simple_utf8 |SV *sv
2236 s |I32 |do_trans_count_utf8 |SV *sv
2237 s |I32 |do_trans_complex_utf8 |SV *sv
2240 #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
2241 s |void |gv_init_sv |GV *gv|I32 sv_type
2244 #if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
2245 s |void |hsplit |HV *hv
2246 s |void |hfreeentries |HV *hv
2249 s |void |del_he |HE *p
2250 s |HEK* |save_hek |const char *str|I32 len|U32 hash
2251 s |void |hv_magic_check |HV *hv|bool *needs_copy|bool *needs_store
2254 #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
2255 s |void |save_magic |I32 mgs_ix|SV *sv
2256 s |int |magic_methpack |SV *sv|MAGIC *mg|char *meth
2257 s |int |magic_methcall |SV *sv|MAGIC *mg|char *meth|I32 f \
2261 #if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
2262 s |I32 |list_assignment|OP *o
2263 s |void |bad_type |I32 n|char *t|char *name|OP *kid
2264 s |void |cop_free |COP *cop
2265 s |OP* |modkids |OP *o|I32 type
2266 s |void |no_bareword_allowed|OP *o
2267 s |OP* |no_fh_allowed |OP *o
2268 s |OP* |scalarboolean |OP *o
2269 s |OP* |too_few_arguments|OP *o|char* name
2270 s |OP* |too_many_arguments|OP *o|char* name
2271 s |U8* |trlist_upgrade |U8** sp|U8** ep
2272 s |void |op_clear |OP* o
2273 s |void |null |OP* o
2274 s |PADOFFSET|pad_addlex |SV* name
2275 s |PADOFFSET|pad_findlex |char* name|PADOFFSET newoff|U32 seq \
2276 |CV* startcv|I32 cx_ix|I32 saweval|U32 flags
2278 s |OP* |new_logop |I32 type|I32 flags|OP **firstp|OP **otherp
2279 s |void |simplify_sort |OP *o
2280 s |bool |is_handle_constructor |OP *o|I32 argnum
2281 s |char* |gv_ename |GV *gv
2282 s |void |cv_dump |CV *cv
2283 s |CV* |cv_clone2 |CV *proto|CV *outside
2284 s |bool |scalar_mod_type|OP *o|I32 type
2285 s |OP * |my_kid |OP *o|OP *attrs
2286 s |OP * |dup_attrlist |OP *o
2287 s |void |apply_attrs |HV *stash|SV *target|OP *attrs
2288 # if defined(PL_OP_SLAB_ALLOC)
2289 s |void* |Slab_Alloc |int m|size_t sz
2293 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
2294 s |void |find_beginning
2295 s |void |forbid_setid |char *
2296 s |void |incpush |char *|int|int
2297 s |void |init_interp
2300 s |void |init_main_stash
2301 s |void |init_perllib
2302 s |void |init_postdump_symbols|int|char **|char **
2303 s |void |init_predump_symbols
2304 rs |void |my_exit_jump
2305 s |void |nuke_stacks
2306 s |void |open_script |char *|bool|SV *|int *fd
2307 s |void |usage |char *
2308 s |void |validate_suid |char *|char*|int
2309 # if defined(IAMSUID)
2310 s |int |fd_on_nosuid_fs|int fd
2312 s |void* |parse_body |char **env|XSINIT_t xsinit
2313 s |void* |run_body |I32 oldscope
2314 s |void |call_body |OP *myop|int is_eval
2315 s |void* |call_list_body |CV *cv
2316 #if defined(PERL_FLEXIBLE_EXCEPTIONS)
2317 s |void* |vparse_body |va_list args
2318 s |void* |vrun_body |va_list args
2319 s |void* |vcall_body |va_list args
2320 s |void* |vcall_list_body|va_list args
2322 # if defined(USE_THREADS)
2323 s |struct perl_thread * |init_main_thread
2327 #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
2328 s |void |doencodes |SV* sv|char* s|I32 len
2329 s |SV* |refto |SV* sv
2331 s |SV* |mul128 |SV *sv|U8 m
2332 s |SV* |is_an_int |char *s|STRLEN l
2333 s |int |div128 |SV *pnum|bool *done
2336 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
2337 s |OP* |docatch |OP *o
2338 s |void* |docatch_body
2339 #if defined(PERL_FLEXIBLE_EXCEPTIONS)
2340 s |void* |vdocatch_body |va_list args
2342 s |OP* |dofindlabel |OP *o|char *label|OP **opstack|OP **oplimit
2343 s |void |doparseform |SV *sv
2344 s |I32 |dopoptoeval |I32 startingblock
2345 s |I32 |dopoptolabel |char *label
2346 s |I32 |dopoptoloop |I32 startingblock
2347 s |I32 |dopoptosub |I32 startingblock
2348 s |I32 |dopoptosub_at |PERL_CONTEXT* cxstk|I32 startingblock
2349 s |void |free_closures
2350 s |void |save_lines |AV *array|SV *sv
2351 s |OP* |doeval |int gimme|OP** startop
2352 s |PerlIO *|doopen_pmc |const char *name|const char *mode
2353 s |void |qsortsv |SV ** array|size_t num_elts|SVCOMPARE_t f
2356 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
2357 s |int |do_maybe_phash |AV *ary|SV **lelem|SV **firstlelem \
2358 |SV **relem|SV **lastrelem
2359 s |void |do_oddball |HV *hash|SV **relem|SV **firstrelem
2360 s |CV* |get_db_sub |SV **svp|CV *cv
2361 s |SV* |method_common |SV* meth|U32* hashp
2364 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
2365 s |OP* |doform |CV *cv|GV *gv|OP *retop
2366 s |int |emulate_eaccess|const char* path|Mode_t mode
2367 # if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
2368 s |int |dooneliner |char *cmd|char *filename
2372 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
2373 s |regnode*|reg |struct RExC_state_t*|I32|I32 *
2374 s |regnode*|reganode |struct RExC_state_t*|U8|U32
2375 s |regnode*|regatom |struct RExC_state_t*|I32 *
2376 s |regnode*|regbranch |struct RExC_state_t*|I32 *|I32
2377 s |void |reguni |struct RExC_state_t*|UV|char *|STRLEN*
2378 s |regnode*|regclass |struct RExC_state_t*
2379 s |I32 |regcurly |char *
2380 s |regnode*|reg_node |struct RExC_state_t*|U8
2381 s |regnode*|regpiece |struct RExC_state_t*|I32 *
2382 s |void |reginsert |struct RExC_state_t*|U8|regnode *
2383 s |void |regoptail |struct RExC_state_t*|regnode *|regnode *
2384 s |void |regtail |struct RExC_state_t*|regnode *|regnode *
2385 s |char*|regwhite |char *|char *
2386 s |char*|nextchar |struct RExC_state_t*
2387 s |regnode*|dumpuntil |regnode *start|regnode *node \
2388 |regnode *last|SV* sv|I32 l
2389 s |void |put_byte |SV* sv|int c
2390 s |void |scan_commit |struct RExC_state_t*|struct scan_data_t *data
2391 s |void |cl_anything |struct RExC_state_t*|struct regnode_charclass_class *cl
2392 s |int |cl_is_anything |struct regnode_charclass_class *cl
2393 s |void |cl_init |struct RExC_state_t*|struct regnode_charclass_class *cl
2394 s |void |cl_init_zero |struct RExC_state_t*|struct regnode_charclass_class *cl
2395 s |void |cl_and |struct regnode_charclass_class *cl \
2396 |struct regnode_charclass_class *and_with
2397 s |void |cl_or |struct RExC_state_t*|struct regnode_charclass_class *cl \
2398 |struct regnode_charclass_class *or_with
2399 s |I32 |study_chunk |struct RExC_state_t*|regnode **scanp|I32 *deltap \
2400 |regnode *last|struct scan_data_t *data \
2402 s |I32 |add_data |struct RExC_state_t*|I32 n|char *s
2403 rs |void|re_croak2 |const char* pat1|const char* pat2|...
2404 s |I32 |regpposixcc |struct RExC_state_t*|I32 value
2405 s |void |checkposixcc |struct RExC_state_t*
2408 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
2409 s |I32 |regmatch |regnode *prog
2410 s |I32 |regrepeat |regnode *p|I32 max
2411 s |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp
2412 s |I32 |regtry |regexp *prog|char *startpos
2413 s |bool |reginclass |regnode *n|U8 *p|bool do_utf8sv_is_utf8
2414 s |CHECKPOINT|regcppush |I32 parenfloor
2416 s |char*|regcp_set_to |I32 ss
2417 s |void |cache_re |regexp *prog
2418 s |U8* |reghop |U8 *pos|I32 off
2419 s |U8* |reghop3 |U8 *pos|I32 off|U8 *lim
2420 s |U8* |reghopmaybe |U8 *pos|I32 off
2421 s |U8* |reghopmaybe3 |U8 *pos|I32 off|U8 *lim
2422 s |char* |find_byclass |regexp * prog|regnode *c|char *s|char *strend|char *startpos|I32 norun
2425 #if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
2426 s |void |debprof |OP *o
2429 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
2430 s |SV* |save_scalar_at |SV **sptr
2433 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
2452 s |XPVIV* |new_xpviv
2453 s |XPVNV* |new_xpvnv
2454 s |XPVCV* |new_xpvcv
2455 s |XPVAV* |new_xpvav
2456 s |XPVHV* |new_xpvhv
2457 s |XPVMG* |new_xpvmg
2458 s |XPVLV* |new_xpvlv
2459 s |XPVBM* |new_xpvbm
2461 s |void |del_xiv |XPVIV* p
2462 s |void |del_xnv |XPVNV* p
2463 s |void |del_xpv |XPV* p
2464 s |void |del_xpviv |XPVIV* p
2465 s |void |del_xpvnv |XPVNV* p
2466 s |void |del_xpvcv |XPVCV* p
2467 s |void |del_xpvav |XPVAV* p
2468 s |void |del_xpvhv |XPVHV* p
2469 s |void |del_xpvmg |XPVMG* p
2470 s |void |del_xpvlv |XPVLV* p
2471 s |void |del_xpvbm |XPVBM* p
2472 s |void |del_xrv |XRV* p
2473 s |void |sv_unglob |SV* sv
2474 s |void |not_a_number |SV *sv
2475 s |void |visit |SVFUNC_t f
2476 s |void |sv_add_backref |SV *tsv|SV *sv
2477 s |void |sv_del_backref |SV *sv
2478 # if defined(DEBUGGING)
2479 s |void |del_sv |SV *p
2481 # if !defined(NV_PRESERVES_UV)
2482 s |int |sv_2inuv_non_preserve |SV *sv|I32 numtype
2483 s |int |sv_2iuv_non_preserve |SV *sv|I32 numtype
2485 s |I32 |expect_number |char** pattern
2488 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
2490 s |void |force_next |I32 type
2491 s |char* |force_version |char *start
2492 s |char* |force_word |char *start|int token|int check_keyword \
2493 |int allow_pack|int allow_tick
2494 s |SV* |tokeq |SV *sv
2495 s |char* |scan_const |char *start
2496 s |char* |scan_formline |char *s
2497 s |char* |scan_heredoc |char *s
2498 s |char* |scan_ident |char *s|char *send|char *dest \
2499 |STRLEN destlen|I32 ck_uni
2500 s |char* |scan_inputsymbol|char *start
2501 s |char* |scan_pat |char *start|I32 type
2502 s |char* |scan_str |char *start|int keep_quoted|int keep_delims
2503 s |char* |scan_subst |char *start
2504 s |char* |scan_trans |char *start
2505 s |char* |scan_word |char *s|char *dest|STRLEN destlen \
2506 |int allow_package|STRLEN *slp
2507 s |char* |skipspace |char *s
2508 s |char* |swallow_bom |U8 *s
2509 s |void |checkcomma |char *s|char *name|char *what
2510 s |void |force_ident |char *s|int kind
2511 s |void |incline |char *s
2512 s |int |intuit_method |char *s|GV *gv
2513 s |int |intuit_more |char *s
2514 s |I32 |lop |I32 f|int x|char *s
2515 s |void |missingterm |char *s
2516 s |void |no_op |char *what|char *s
2520 s |I32 |sublex_start
2521 s |char * |filter_gets |SV *sv|PerlIO *fp|STRLEN append
2522 s |HV * |find_in_my_stash|char *pkgname|I32 len
2523 s |SV* |new_constant |char *s|STRLEN len|const char *key|SV *sv \
2524 |SV *pv|const char *type
2525 s |void |tokereport |char *thing|char *s|I32 rv
2526 s |int |ao |int toketype
2528 s |char* |incl_perldb
2530 s |I32 |utf16_textfilter|int idx|SV *sv|int maxlen
2531 s |I32 |utf16rev_textfilter|int idx|SV *sv|int maxlen
2533 # if defined(CRIPPLED_CC)
2534 s |int |uni |I32 f|char *s
2536 # if defined(PERL_CR_FILTER)
2537 s |I32 |cr_textfilter |int idx|SV *sv|int maxlen
2541 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
2542 s |SV*|isa_lookup |HV *stash|const char *name|int len|int level
2545 #if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
2546 s |char* |stdize_locale |char* locs
2548 # if defined(LEAKTEST)
2553 #if defined(PERL_OBJECT)