forked from schacon/perl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
embed.fnc
2840 lines (2760 loc) · 118 KB
/
embed.fnc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
: BEGIN{die "You meant to run regen/embed.pl"} # Stop early if fed to perl.
:
: This file is processed by regen/embed.pl and autodoc.pl
:
: Lines are of the form:
: flags|return_type|function_name|arg1|arg2|...|argN
:
: A line may be continued on another by ending it with a backslash.
: Leading and trailing whitespace will be ignored in each component.
:
: flags are single letters with following meanings:
:
: A Available fully everywhere (usually part of the public API):
:
: add entry to the list of exported symbols (unless x or m);
: any doc entry goes in perlapi.pod rather than perlintern.pod. If no
: documentation is furnished for this function, and M is also
: specified, the function is not listed as part of the public API.
: If M isn't specified, and no documentation is furnished, the
: function is listed in perlapi as existing and being undocumented
: makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
:
: If the function is only exported for use in a public
: macro, see X.
:
: a Allocates memory a la malloc/calloc. Also implies "R":
:
: proto.h: add __attribute__malloc__
:
: b Binary backward compatibility; has an exported Perl_ implementation
: but function is also normally a macro (i.e. has the "m" flag as well).
: Backcompat functions ("b") can be anywhere, but if they are also
: macros ("m") then they have no proto.h entries so must either be in
: mathoms.c to get marked EXTERN_C (and skipped for -DNO_MATHOMS builds)
: or else will require special attention to ensure they are marked
: EXTERN_C (and then won't be automatically skipped for -DNO_MATHOMS
: builds).
:
: add entry to the list of exported symbols;
: don't define PERL_ARGS_ASSERT_FOO
:
: D Function is deprecated:
:
: proto.h: add __attribute__deprecated__
:
: d Function has documentation (somewhere) in the source:
:
: enables 'no docs for foo" warning in autodoc.pl
:
: E Visible to extensions included in the Perl core:
:
: in embed.h, change "#ifdef PERL_CORE"
: into "#if defined(PERL_CORE) || defined(PERL_EXT)"
:
: To be usable from dynamically loaded extensions, either:
: 1) must be static to its containing file ("i" or "s" flag); or
: 2) be combined with the "X" flag.
:
: f Function takes a format string. If the function name /strftime/
: then its assumed to take a strftime-style format string as 1st arg;
: otherwise it's assumed to be a printf style format string, varargs
: (hence any entry that would otherwise go in embed.h is suppressed):
:
: proto.h: add __attribute__format__ (or ...null_ok__)
:
: i Static inline: function in source code has a S_ prefix:
:
: proto.h: function is declared as S_foo rather than foo,
: PERL_STATIC_INLINE is added to declaration;
: embed.h: "#define foo S_foo" entries added
:
: M May change:
:
: any doc entry is marked that function may change
:
: m Implemented as a macro:
:
: suppress proto.h entry (actually, not suppressed, but commented out)
: suppress entry in the list of exported symbols
: suppress embed.h entry
:
: n Has no implicit interpreter/thread context argument:
:
: suppress the pTHX part of "foo(pTHX...)" in proto.h;
: In the PERL_IMPLICIT_SYS branch of embed.h, generates
: "#define foo Perl_foo", rather than
: "#define foo(a,b,c) Perl_foo(aTHX_ a,b,c)
:
: O Has a perl_ compatibility macro.
:
: The really OLD name for API funcs
:
: o Has no Perl_foo or S_foo compatibility macro:
:
: embed.h: suppress "#define foo Perl_foo"
:
: P Pure function: no effects except the return value;
: return value depends only on params and/or globals:
:
: proto.h: add __attribute__pure__
:
: p Function in source code has a Perl_ prefix:
:
: proto.h: function is declared as Perl_foo rather than foo
: embed.h: "#define foo Perl_foo" entries added
:
: R Return value must not be ignored (also implied by 'a' flag):
:
: proto.h: add __attribute__warn_unused_result__
:
: r Function never returns:
:
: proto.h: add __attribute__noreturn__
:
: s Static function: function in source code has a S_ prefix:
:
: proto.h: function is declared as S_foo rather than foo,
: STATIC is added to declaration;
: embed.h: "#define foo S_foo" entries added
:
: U Suppress usage example in autogenerated documentation
:
: (currently no effect)
:
: X Explicitly exported:
:
: add entry to the list of exported symbols, unless x or m
:
: This is often used for private functions that are used by public
: macros. In those cases the macros must use the long form of the
: name (Perl_blah(aTHX_ ...)).
:
: x Not exported
:
: suppress entry in the list of exported symbols
:
: (see also L<perlguts/Internal Functions> for those flags.)
:
: Pointer parameters that must not be passed NULLs should be prefixed with NN.
:
: Pointer parameters that may be NULL should be prefixed with NULLOK. This has
: no effect on output yet. It's a notation for the maintainers to know "I have
: defined whether NULL is OK or not" rather than having neither NULL or NULLOK,
: which is ambiguous.
:
: Individual flags may be separated by whitespace.
#if defined(PERL_IMPLICIT_SYS)
Ano |PerlInterpreter*|perl_alloc_using \
|NN struct IPerlMem *ipM \
|NN struct IPerlMem *ipMS \
|NN struct IPerlMem *ipMP \
|NN struct IPerlEnv *ipE \
|NN struct IPerlStdIO *ipStd \
|NN struct IPerlLIO *ipLIO \
|NN struct IPerlDir *ipD \
|NN struct IPerlSock *ipS \
|NN struct IPerlProc *ipP
#endif
Anod |PerlInterpreter* |perl_alloc
Anod |void |perl_construct |NN PerlInterpreter *my_perl
Anod |int |perl_destruct |NN PerlInterpreter *my_perl
Anod |void |perl_free |NN PerlInterpreter *my_perl
Anod |int |perl_run |NN PerlInterpreter *my_perl
Anod |int |perl_parse |NN PerlInterpreter *my_perl|XSINIT_t xsinit \
|int argc|NULLOK char** argv|NULLOK char** env
AnpR |bool |doing_taint |int argc|NULLOK char** argv|NULLOK char** env
#if defined(USE_ITHREADS)
Anod |PerlInterpreter*|perl_clone|NN PerlInterpreter *proto_perl|UV flags
# if defined(PERL_IMPLICIT_SYS)
Ano |PerlInterpreter*|perl_clone_using \
|NN PerlInterpreter *proto_perl \
|UV flags \
|NN struct IPerlMem* ipM \
|NN struct IPerlMem* ipMS \
|NN struct IPerlMem* ipMP \
|NN struct IPerlEnv* ipE \
|NN struct IPerlStdIO* ipStd \
|NN struct IPerlLIO* ipLIO \
|NN struct IPerlDir* ipD \
|NN struct IPerlSock* ipS \
|NN struct IPerlProc* ipP
# endif
#endif
Aanop |Malloc_t|malloc |MEM_SIZE nbytes
Aanop |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size
Aanop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes
Anop |Free_t |mfree |Malloc_t where
#if defined(MYMALLOC)
npR |MEM_SIZE|malloced_size |NN void *p
npR |MEM_SIZE|malloc_good_size |size_t nbytes
#endif
#if defined(PERL_IN_MALLOC_C)
sn |int |adjust_size_and_find_bucket |NN size_t *nbytes_p
#endif
AnpR |void* |get_context
Anp |void |set_context |NN void *t
XEop |bool |try_amagic_bin |int method|int flags
XEop |bool |try_amagic_un |int method|int flags
Ap |SV* |amagic_call |NN SV* left|NN SV* right|int method|int dir
Ap |SV * |amagic_deref_call|NN SV *ref|int method
p |bool |amagic_is_enabled|int method
Ap |int |Gv_AMupdate |NN HV* stash|bool destructing
ApR |CV* |gv_handler |NULLOK HV* stash|I32 id
Apd |OP* |op_append_elem |I32 optype|NULLOK OP* first|NULLOK OP* last
Apd |OP* |op_append_list |I32 optype|NULLOK OP* first|NULLOK OP* last
Apd |OP* |op_linklist |NN OP *o
Apd |OP* |op_prepend_elem|I32 optype|NULLOK OP* first|NULLOK OP* last
: FIXME - this is only called by pp_chown. They should be merged.
p |I32 |apply |I32 type|NN SV** mark|NN SV** sp
ApM |void |apply_attrs_string|NN const char *stashpv|NN CV *cv|NN const char *attrstr|STRLEN len
Apd |void |av_clear |NN AV *av
Apd |SV* |av_delete |NN AV *av|SSize_t key|I32 flags
ApdR |bool |av_exists |NN AV *av|SSize_t key
Apd |void |av_extend |NN AV *av|SSize_t key
p |void |av_extend_guts |NULLOK AV *av|SSize_t key \
|NN SSize_t *maxp \
|NN SV ***allocp|NN SV ***arrayp
ApdR |SV** |av_fetch |NN AV *av|SSize_t key|I32 lval
Apd |void |av_fill |NN AV *av|SSize_t fill
ApdR |SSize_t|av_len |NN AV *av
ApdR |AV* |av_make |SSize_t size|NN SV **strp
Apd |SV* |av_pop |NN AV *av
ApdoxM |void |av_create_and_push|NN AV **const avp|NN SV *const val
Apd |void |av_push |NN AV *av|NN SV *val
: Used in scope.c, and by Data::Alias
EXp |void |av_reify |NN AV *av
ApdR |SV* |av_shift |NN AV *av
Apd |SV** |av_store |NN AV *av|SSize_t key|NULLOK SV *val
AidR |SSize_t|av_top_index |NN AV *av
AmpdR |SSize_t|av_tindex |NN AV *av
Apd |void |av_undef |NN AV *av
ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
Apd |void |av_unshift |NN AV *av|SSize_t num
Apo |SV** |av_arylen_p |NN AV *av
Apo |IV* |av_iter_p |NN AV *av
#if defined(PERL_IN_AV_C)
s |MAGIC* |get_aux_mg |NN AV *av
#endif
: Used in perly.y
pR |OP* |bind_match |I32 type|NN OP *left|NN OP *right
: Used in perly.y
ApdR |OP* |block_end |I32 floor|NULLOK OP* seq
ApR |I32 |block_gimme
: Used in perly.y
ApdR |int |block_start |int full
Aodp |void |blockhook_register |NN BHK *hk
: Used in perl.c
p |void |boot_core_UNIVERSAL
: Used in perl.c
p |void |boot_core_PerlIO
Ap |void |call_list |I32 oldscope|NN AV *paramList
Apd |const PERL_CONTEXT * |caller_cx|I32 level \
|NULLOK const PERL_CONTEXT **dbcxp
: Used in several source files
pR |bool |cando |Mode_t mode|bool effective|NN const Stat_t* statbufp
ApRn |U32 |cast_ulong |NV f
ApRn |I32 |cast_i32 |NV f
ApRn |IV |cast_iv |NV f
ApRn |UV |cast_uv |NV f
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
ApR |I32 |my_chsize |int fd|Off_t length
#endif
p |const COP*|closest_cop |NN const COP *cop|NULLOK const OP *o \
|NULLOK const OP *curop|bool opnext
: Used in perly.y
ApdR |OP* |op_convert_list |I32 optype|I32 flags|NULLOK OP* o
: Used in op.c and perl.c
pM |PERL_CONTEXT* |create_eval_scope|U32 flags
Aprd |void |croak_sv |NN SV *baseex
: croak()'s first parm can be NULL. Otherwise, mod_perl breaks.
Afprd |void |croak |NULLOK const char* pat|...
Aprd |void |vcroak |NULLOK const char* pat|NULLOK va_list* args
Anprd |void |croak_no_modify
Anprd |void |croak_xs_usage |NN const CV *const cv \
|NN const char *const params
npr |void |croak_no_mem
nprX |void |croak_popstack
fnprx |void |noperl_die|NN const char* pat|...
#if defined(WIN32)
norx |void |win32_croak_not_implemented|NN const char * fname
#endif
#if defined(PERL_IMPLICIT_CONTEXT)
Afnrp |void |croak_nocontext|NULLOK const char* pat|...
Afnrp |OP* |die_nocontext |NULLOK const char* pat|...
Afnp |void |deb_nocontext |NN const char* pat|...
Afnp |char* |form_nocontext |NN const char* pat|...
Anp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
Afnp |SV* |mess_nocontext |NN const char* pat|...
Afnp |void |warn_nocontext |NN const char* pat|...
Afnp |void |warner_nocontext|U32 err|NN const char* pat|...
Afnp |SV* |newSVpvf_nocontext|NN const char *const pat|...
Afnp |void |sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|...
Afnp |void |sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
Afnp |void |sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
Afnp |void |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
Afnp |int |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
Afnp |int |printf_nocontext|NN const char *format|...
#endif
: Used in pp.c
p |SV * |core_prototype |NULLOK SV *sv|NN const char *name \
|const int code|NULLOK int * const opnum
: Used in gv.c
p |OP * |coresub_op |NN SV *const coreargssv|const int code \
|const int opnum
: Used in sv.c
EMXp |void |cv_ckproto_len_flags |NN const CV* cv|NULLOK const GV* gv\
|NULLOK const char* p|const STRLEN len \
|const U32 flags
: Used in pp.c and pp_sys.c
ApdR |SV* |gv_const_sv |NN GV* gv
ApdRn |SV* |cv_const_sv |NULLOK const CV *const cv
pRn |SV* |cv_const_sv_or_av|NULLOK const CV *const cv
Apd |SV * |cv_name |NN CV *cv|NULLOK SV *sv|U32 flags
Apd |void |cv_undef |NN CV* cv
p |void |cv_undef_flags |NN CV* cv|U32 flags
p |void |cv_forget_slab |NULLOK CV *cv
Ap |void |cx_dump |NN PERL_CONTEXT* cx
Ap |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasv
Ap |void |filter_del |NN filter_t funcp
ApR |I32 |filter_read |int idx|NN SV *buf_sv|int maxlen
ApPR |char** |get_op_descs
ApPR |char** |get_op_names
: FIXME discussion on p5p
pPR |const char* |get_no_modify
: FIXME discussion on p5p
pPR |U32* |get_opargs
ApPR |PPADDR_t*|get_ppaddr
: Used by CXINC, which appears to be in widespread use
ApR |I32 |cxinc
Afp |void |deb |NN const char* pat|...
Ap |void |vdeb |NN const char* pat|NULLOK va_list* args
Ap |void |debprofdump
EXp |SV* |multideref_stringify |NN const OP* o|NULLOK CV *cv
Ap |I32 |debop |NN const OP* o
Ap |I32 |debstack
Ap |I32 |debstackptrs
pR |SV * |defelem_target |NN SV *sv|NULLOK MAGIC *mg
Anp |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \
|NN const char* fromend|int delim|NN I32* retlen
: Used in op.c, perl.c
pM |void |delete_eval_scope
Aprd |OP* |die_sv |NN SV *baseex
Afrpd |OP* |die |NULLOK const char* pat|...
: Used in util.c
pr |void |die_unwind |NN SV* msv
Ap |void |dounwind |I32 cxix
: FIXME
pmb |bool |do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp
: Used in pp_sys.c
p |bool |do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
Ap |int |do_binmode |NN PerlIO *fp|int iotype|int mode
: Used in pp.c
Ap |bool |do_close |NULLOK GV* gv|bool not_implicit
: Defined in doio.c, used only in pp_sys.c
p |bool |do_eof |NN GV* gv
#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
pm |bool |do_exec |NN const char* cmd
#else
p |bool |do_exec |NN const char* cmd
#endif
#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
Ap |int |do_aspawn |NULLOK SV* really|NN SV** mark|NN SV** sp
Ap |int |do_spawn |NN char* cmd
Ap |int |do_spawn_nowait|NN char* cmd
#endif
#if !defined(WIN32)
p |bool |do_exec3 |NN const char *incmd|int fd|int do_report
#endif
p |void |do_execfree
#if defined(PERL_IN_DOIO_C)
s |void |exec_failed |NN const char *cmd|int fd|int do_report
#endif
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
: Defined in doio.c, used only in pp_sys.c
p |I32 |do_ipcctl |I32 optype|NN SV** mark|NN SV** sp
: Defined in doio.c, used only in pp_sys.c
p |I32 |do_ipcget |I32 optype|NN SV** mark|NN SV** sp
: Defined in doio.c, used only in pp_sys.c
p |I32 |do_msgrcv |NN SV** mark|NN SV** sp
: Defined in doio.c, used only in pp_sys.c
p |I32 |do_msgsnd |NN SV** mark|NN SV** sp
: Defined in doio.c, used only in pp_sys.c
p |I32 |do_semop |NN SV** mark|NN SV** sp
: Defined in doio.c, used only in pp_sys.c
p |I32 |do_shmio |I32 optype|NN SV** mark|NN SV** sp
#endif
Ap |void |do_join |NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
: Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
: p |OP* |do_kv
: used in pp.c, pp_hot.c
pR |I32 |do_ncmp |NN SV *const left|NN SV *const right
Apmb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
Ap |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
|NN SV *svs|I32 num
#if defined(PERL_IN_DOIO_C)
s |IO * |openn_setup |NN GV *gv|NN char *mode|NN PerlIO **saveifp \
|NN PerlIO **saveofp|NN int *savefd \
|NN char *savetype
s |bool |openn_cleanup |NN GV *gv|NN IO *io|NULLOK PerlIO *fp \
|NN char *mode|NN const char *oname \
|NULLOK PerlIO *saveifp|NULLOK PerlIO *saveofp \
|int savefd|char savetype|int writing \
|bool was_fdopen|NULLOK const char *type
#endif
Ap |bool |do_openn |NN GV *gv|NN const char *oname|I32 len \
|int as_raw|int rawmode|int rawperm \
|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
|I32 num
Mp |bool |do_open_raw |NN GV *gv|NN const char *oname|STRLEN len \
|int rawmode|int rawperm
Mp |bool |do_open6 |NN GV *gv|NN const char *oname|STRLEN len \
|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
|U32 num
: Used in pp_hot.c and pp_sys.c
p |bool |do_print |NULLOK SV* sv|NN PerlIO* fp
: Used in pp_sys.c
pR |OP* |do_readline
: Defined in doio.c, used only in pp_sys.c
p |bool |do_seek |NULLOK GV* gv|Off_t pos|int whence
Ap |void |do_sprintf |NN SV* sv|I32 len|NN SV** sarg
: Defined in doio.c, used only in pp_sys.c
p |Off_t |do_sysseek |NN GV* gv|Off_t pos|int whence
: Defined in doio.c, used only in pp_sys.c
pR |Off_t |do_tell |NN GV* gv
: Defined in doop.c, used only in pp.c
p |I32 |do_trans |NN SV* sv
: Used in my.c and pp.c
p |UV |do_vecget |NN SV* sv|SSize_t offset|int size
: Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */)
p |void |do_vecset |NN SV* sv
: Defined in doop.c, used only in pp.c
p |void |do_vop |I32 optype|NN SV* sv|NN SV* left|NN SV* right
: Used in perly.y
p |OP* |dofile |NN OP* term|I32 force_builtin
ApR |I32 |dowantarray
Ap |void |dump_all
p |void |dump_all_perl |bool justperl
Ap |void |dump_eval
Ap |void |dump_form |NN const GV* gv
Ap |void |gv_dump |NULLOK GV* gv
Ap |void |op_dump |NN const OP *o
Ap |void |pmop_dump |NULLOK PMOP* pm
Ap |void |dump_packsubs |NN const HV* stash
p |void |dump_packsubs_perl |NN const HV* stash|bool justperl
Ap |void |dump_sub |NN const GV* gv
p |void |dump_sub_perl |NN const GV* gv|bool justperl
Apd |void |fbm_compile |NN SV* sv|U32 flags
ApdR |char* |fbm_instr |NN unsigned char* big|NN unsigned char* bigend \
|NN SV* littlestr|U32 flags
p |CV * |find_lexical_cv|PADOFFSET off
pR |OP * |parse_subsignature
: Defined in util.c, used only in perl.c
p |char* |find_script |NN const char *scriptname|bool dosearch \
|NULLOK const char *const *const search_ext|I32 flags
#if defined(PERL_IN_OP_C)
s |OP* |force_list |NULLOK OP* arg|bool nullit
i |OP* |op_integerize |NN OP *o
i |OP* |op_std_init |NN OP *o
#if defined(USE_ITHREADS)
i |void |op_relocate_sv |NN SV** svp|NN PADOFFSET* targp
#endif
i |OP* |newMETHOP_internal |I32 type|I32 flags|NULLOK OP* dynamic_meth \
|NULLOK SV* const_meth
: FIXME
s |OP* |fold_constants |NN OP *o
#endif
Afpd |char* |form |NN const char* pat|...
Ap |char* |vform |NN const char* pat|NULLOK va_list* args
Ap |void |free_tmps
#if defined(PERL_IN_OP_C)
s |OP* |gen_constant_list|NULLOK OP* o
#endif
#if !defined(HAS_GETENV_LEN)
: Used in hv.c
p |char* |getenv_len |NN const char *env_elem|NN unsigned long *len
#endif
: Used in pp_ctl.c and pp_hot.c
pox |void |get_db_sub |NULLOK SV **svp|NN CV *cv
Ap |void |gp_free |NULLOK GV* gv
Ap |GP* |gp_ref |NULLOK GP* gp
Ap |GV* |gv_add_by_type |NULLOK GV *gv|svtype type
Apmb |GV* |gv_AVadd |NULLOK GV *gv
Apmb |GV* |gv_HVadd |NULLOK GV *gv
Apmb |GV* |gv_IOadd |NULLOK GV* gv
AmR |GV* |gv_autoload4 |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 method
ApR |GV* |gv_autoload_sv |NULLOK HV* stash|NN SV* namesv|U32 flags
ApR |GV* |gv_autoload_pv |NULLOK HV* stash|NN const char* namepv \
|U32 flags
ApR |GV* |gv_autoload_pvn |NULLOK HV* stash|NN const char* name \
|STRLEN len|U32 flags
Ap |void |gv_check |NN HV* stash
Ap |void |gv_efullname |NN SV* sv|NN const GV* gv
Apmb |void |gv_efullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
Ap |void |gv_efullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
Ap |GV* |gv_fetchfile |NN const char* name
Ap |GV* |gv_fetchfile_flags|NN const char *const name|const STRLEN len\
|const U32 flags
Amd |GV* |gv_fetchmeth |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 level
Apd |GV* |gv_fetchmeth_sv |NULLOK HV* stash|NN SV* namesv|I32 level|U32 flags
Apd |GV* |gv_fetchmeth_pv |NULLOK HV* stash|NN const char* name \
|I32 level|U32 flags
Apd |GV* |gv_fetchmeth_pvn |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 level|U32 flags
Amd |GV* |gv_fetchmeth_autoload |NULLOK HV* stash \
|NN const char* name|STRLEN len \
|I32 level
Apd |GV* |gv_fetchmeth_sv_autoload |NULLOK HV* stash|NN SV* namesv|I32 level|U32 flags
Apd |GV* |gv_fetchmeth_pv_autoload |NULLOK HV* stash|NN const char* name \
|I32 level|U32 flags
Apd |GV* |gv_fetchmeth_pvn_autoload |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 level|U32 flags
Apdmb |GV* |gv_fetchmethod |NN HV* stash|NN const char* name
Apd |GV* |gv_fetchmethod_autoload|NN HV* stash|NN const char* name \
|I32 autoload
ApM |GV* |gv_fetchmethod_sv_flags|NN HV* stash|NN SV* namesv|U32 flags
ApM |GV* |gv_fetchmethod_pv_flags|NN HV* stash|NN const char* name \
|U32 flags
ApM |GV* |gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
|const STRLEN len|U32 flags
Ap |GV* |gv_fetchpv |NN const char *nambeg|I32 add|const svtype sv_type
Ap |void |gv_fullname |NN SV* sv|NN const GV* gv
Apmb |void |gv_fullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
Ap |void |gv_fullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
: Used in scope.c
pMox |GP * |newGP |NN GV *const gv
pX |void |cvgv_set |NN CV* cv|NULLOK GV* gv
poX |GV * |cvgv_from_hek |NN CV* cv
pX |void |cvstash_set |NN CV* cv|NULLOK HV* stash
Amd |void |gv_init |NN GV* gv|NULLOK HV* stash \
|NN const char* name|STRLEN len|int multi
Ap |void |gv_init_sv |NN GV* gv|NULLOK HV* stash|NN SV* namesv|U32 flags
Ap |void |gv_init_pv |NN GV* gv|NULLOK HV* stash|NN const char* name \
|U32 flags
Ap |void |gv_init_pvn |NN GV* gv|NULLOK HV* stash|NN const char* name \
|STRLEN len|U32 flags
Ap |void |gv_name_set |NN GV* gv|NN const char *name|U32 len|U32 flags
px |GV * |gv_override |NN const char * const name \
|const STRLEN len
XMpd |void |gv_try_downgrade|NN GV* gv
p |void |gv_setref |NN SV *const dstr|NN SV *const sstr
Apd |HV* |gv_stashpv |NN const char* name|I32 flags
Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags
#if defined(PERL_IN_GV_C)
i |HV* |gv_stashpvn_internal |NN const char* name|U32 namelen|I32 flags
i |HV* |gv_stashsvpvn_cached |NULLOK SV *namesv|NULLOK const char* name|U32 namelen|I32 flags
i |GV* |gv_fetchmeth_internal |NULLOK HV* stash|NULLOK SV* meth|NULLOK const char* name \
|STRLEN len|I32 level|U32 flags
#endif
Apd |HV* |gv_stashsv |NN SV* sv|I32 flags
Apd |void |hv_clear |NULLOK HV *hv
: used in SAVEHINTS() and op.c
ApdR |HV * |hv_copy_hints_hv|NULLOK HV *const ohv
Ap |void |hv_delayfree_ent|NN HV *hv|NULLOK HE *entry
Abmd |SV* |hv_delete |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 flags
Abmd |SV* |hv_delete_ent |NULLOK HV *hv|NN SV *keysv|I32 flags|U32 hash
AbmdR |bool |hv_exists |NULLOK HV *hv|NN const char *key|I32 klen
AbmdR |bool |hv_exists_ent |NULLOK HV *hv|NN SV *keysv|U32 hash
Abmd |SV** |hv_fetch |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 lval
Abmd |HE* |hv_fetch_ent |NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
Ap |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
|NULLOK const char* key|STRLEN klen|int flags \
|int action|NULLOK SV *val|U32 hash
Ap |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \
|I32 klen_i32|const int action|NULLOK SV *val \
|const U32 hash
Apod |STRLEN |hv_fill |NN HV *const hv
Ap |void |hv_free_ent |NN HV *hv|NULLOK HE *entry
Apd |I32 |hv_iterinit |NN HV *hv
ApdR |char* |hv_iterkey |NN HE* entry|NN I32* retlen
ApdR |SV* |hv_iterkeysv |NN HE* entry
ApdRbm |HE* |hv_iternext |NN HV *hv
ApdR |SV* |hv_iternextsv |NN HV *hv|NN char **key|NN I32 *retlen
ApMdR |HE* |hv_iternext_flags|NN HV *hv|I32 flags
ApdR |SV* |hv_iterval |NN HV *hv|NN HE *entry
Ap |void |hv_ksplit |NN HV *hv|IV newmax
Apdbm |void |hv_magic |NN HV *hv|NULLOK GV *gv|int how
#if defined(PERL_IN_HV_C)
s |SV * |refcounted_he_value |NN const struct refcounted_he *he
#endif
Xpd |HV * |refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c|U32 flags
Xpd |SV * |refcounted_he_fetch_pvn|NULLOK const struct refcounted_he *chain \
|NN const char *keypv|STRLEN keylen|U32 hash|U32 flags
Xpd |SV * |refcounted_he_fetch_pv|NULLOK const struct refcounted_he *chain \
|NN const char *key|U32 hash|U32 flags
Xpd |SV * |refcounted_he_fetch_sv|NULLOK const struct refcounted_he *chain \
|NN SV *key|U32 hash|U32 flags
Xpd |struct refcounted_he *|refcounted_he_new_pvn \
|NULLOK struct refcounted_he *parent \
|NN const char *keypv|STRLEN keylen \
|U32 hash|NULLOK SV *value|U32 flags
Xpd |struct refcounted_he *|refcounted_he_new_pv \
|NULLOK struct refcounted_he *parent \
|NN const char *key \
|U32 hash|NULLOK SV *value|U32 flags
Xpd |struct refcounted_he *|refcounted_he_new_sv \
|NULLOK struct refcounted_he *parent \
|NN SV *key \
|U32 hash|NULLOK SV *value|U32 flags
Xpd |void |refcounted_he_free|NULLOK struct refcounted_he *he
Xpd |struct refcounted_he *|refcounted_he_inc|NULLOK struct refcounted_he *he
Abmd |SV** |hv_store |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash
Abmd |HE* |hv_store_ent |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
|U32 hash
AbmM |SV** |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash|int flags
Amd |void |hv_undef |NULLOK HV *hv
poX |void |hv_undef_flags |NULLOK HV *hv|U32 flags
Am |I32 |ibcmp |NN const char* a|NN const char* b|I32 len
AnpP |I32 |foldEQ |NN const char* a|NN const char* b|I32 len
Am |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
AnpP |I32 |foldEQ_locale |NN const char* a|NN const char* b|I32 len
Am |I32 |ibcmp_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2
Amd |I32 |foldEQ_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2
AMp |I32 |foldEQ_utf8_flags |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2|U32 flags
AnpP |I32 |foldEQ_latin1 |NN const char* a|NN const char* b|I32 len
#if defined(PERL_IN_DOIO_C)
sR |bool |ingroup |Gid_t testgid|bool effective
#endif
: Used in toke.c
p |void |init_argv_symbols|int argc|NN char **argv
: Used in pp_ctl.c
po |void |init_dbargs
: Used in mg.c
p |void |init_debugger
Ap |void |init_stacks
Ap |void |init_tm |NN struct tm *ptm
: Used in perly.y
AnpPR |char* |instr |NN const char* big|NN const char* little
: Used in sv.c
p |bool |io_close |NN IO* io|NULLOK GV *gv \
|bool not_implicit|bool warn_on_fail
: Used in perly.y
pR |OP* |invert |NULLOK OP* cmd
ApR |I32 |is_lvalue_sub
: Used in cop.h
XopR |I32 |was_lvalue_sub
AiMRn |STRLEN |_is_utf8_char_slow|NN const U8 *s|NN const U8 *e
ADMpPR |U32 |to_uni_upper_lc|U32 c
ADMpPR |U32 |to_uni_title_lc|U32 c
ADMpPR |U32 |to_uni_lower_lc|U32 c
ADMpPR |bool |is_uni_alnum |UV c
ADMpPR |bool |is_uni_alnumc |UV c
ADMpPR |bool |is_uni_idfirst |UV c
ADMpPR |bool |is_uni_alpha |UV c
ADMpPR |bool |is_uni_ascii |UV c
ADMpPR |bool |is_uni_blank |UV c
ADMpPR |bool |is_uni_space |UV c
ADMpPR |bool |is_uni_cntrl |UV c
ADMpPR |bool |is_uni_graph |UV c
ADMpPR |bool |is_uni_digit |UV c
ADMpPR |bool |is_uni_upper |UV c
ADMpPR |bool |is_uni_lower |UV c
ADMpPR |bool |is_uni_print |UV c
ADMpPR |bool |is_uni_punct |UV c
ADMpPR |bool |is_uni_xdigit |UV c
AMp |UV |to_uni_upper |UV c|NN U8 *p|NN STRLEN *lenp
AMp |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp
ADMpPR |bool |isIDFIRST_lazy |NN const char* p
ADMpPR |bool |isALNUM_lazy |NN const char* p
#ifdef PERL_IN_UTF8_C
snR |U8 |to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp
#endif
#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
EXp |UV |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags
#endif
#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
p |UV |_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
#endif
AMp |UV |to_uni_lower |UV c|NN U8 *p|NN STRLEN *lenp
AMmp |UV |to_uni_fold |UV c|NN U8 *p|NN STRLEN *lenp
AMp |UV |_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|U8 flags
ADMpPR |bool |is_uni_alnum_lc|UV c
ADMpPR |bool |is_uni_alnumc_lc|UV c
ADMpPR |bool |is_uni_idfirst_lc|UV c
AMpR |bool |_is_uni_perl_idcont|UV c
AMpR |bool |_is_uni_perl_idstart|UV c
ADMpPR |bool |is_uni_alpha_lc|UV c
ADMpPR |bool |is_uni_ascii_lc|UV c
ADMpPR |bool |is_uni_space_lc|UV c
ADMpPR |bool |is_uni_blank_lc|UV c
ADMpPR |bool |is_uni_cntrl_lc|UV c
ADMpPR |bool |is_uni_graph_lc|UV c
ADMpPR |bool |is_uni_digit_lc|UV c
ADMpPR |bool |is_uni_upper_lc|UV c
ADMpPR |bool |is_uni_lower_lc|UV c
ADMpPR |bool |is_uni_print_lc|UV c
ADMpPR |bool |is_uni_punct_lc|UV c
ADMpPR |bool |is_uni_xdigit_lc|UV c
AnpdR |bool |is_invariant_string|NN const U8 *s|STRLEN len
AmpdR |bool |is_ascii_string|NN const U8 *s|STRLEN len
AnpdD |STRLEN |is_utf8_char |NN const U8 *s
Abmnpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
Anpd |bool |is_utf8_string |NN const U8 *s|STRLEN len
Anpdmb |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **ep
Anpd |bool |is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
AMpR |bool |_is_uni_FOO|const U8 classnum|const UV c
AMpR |bool |_is_utf8_FOO|const U8 classnum|NN const U8 *p
ADMpR |bool |is_utf8_alnum |NN const U8 *p
ADMpR |bool |is_utf8_alnumc |NN const U8 *p
ADMpR |bool |is_utf8_idfirst|NN const U8 *p
ADMpR |bool |is_utf8_xidfirst|NN const U8 *p
AMpR |bool |_is_utf8_idcont|NN const U8 *p
AMpR |bool |_is_utf8_idstart|NN const U8 *p
AMpR |bool |_is_utf8_xidcont|NN const U8 *p
AMpR |bool |_is_utf8_xidstart|NN const U8 *p
AMpR |bool |_is_utf8_perl_idcont|NN const U8 *p
AMpR |bool |_is_utf8_perl_idstart|NN const U8 *p
ADMpR |bool |is_utf8_idcont |NN const U8 *p
ADMpR |bool |is_utf8_xidcont |NN const U8 *p
ADMpR |bool |is_utf8_alpha |NN const U8 *p
ADMpR |bool |is_utf8_ascii |NN const U8 *p
ADMpR |bool |is_utf8_blank |NN const U8 *p
ADMpR |bool |is_utf8_space |NN const U8 *p
ADMpR |bool |is_utf8_perl_space |NN const U8 *p
ADMpR |bool |is_utf8_perl_word |NN const U8 *p
ADMpR |bool |is_utf8_cntrl |NN const U8 *p
ADMpR |bool |is_utf8_digit |NN const U8 *p
ADMpR |bool |is_utf8_posix_digit |NN const U8 *p
ADMpR |bool |is_utf8_graph |NN const U8 *p
ADMpR |bool |is_utf8_upper |NN const U8 *p
ADMpR |bool |is_utf8_lower |NN const U8 *p
ADMpR |bool |is_utf8_print |NN const U8 *p
ADMpR |bool |is_utf8_punct |NN const U8 *p
ADMpR |bool |is_utf8_xdigit |NN const U8 *p
AMpR |bool |_is_utf8_mark |NN const U8 *p
ADMpR |bool |is_utf8_mark |NN const U8 *p
: Used in perly.y
p |OP* |jmaybe |NN OP *o
: Used in pp.c
pP |I32 |keyword |NN const char *name|I32 len|bool all_keywords
#if defined(PERL_IN_OP_C)
s |void |inplace_aassign |NN OP* o
#endif
Ap |void |leave_scope |I32 base
: Public lexer API
AMpd |void |lex_start |NULLOK SV* line|NULLOK PerlIO *rsfp|U32 flags
AMpd |bool |lex_bufutf8
AMpd |char* |lex_grow_linestr|STRLEN len
AMpd |void |lex_stuff_pvn |NN const char* pv|STRLEN len|U32 flags
AMpd |void |lex_stuff_pv |NN const char* pv|U32 flags
AMpd |void |lex_stuff_sv |NN SV* sv|U32 flags
AMpd |void |lex_unstuff |NN char* ptr
AMpd |void |lex_read_to |NN char* ptr
AMpd |void |lex_discard_to |NN char* ptr
AMpd |bool |lex_next_chunk |U32 flags
AMpd |I32 |lex_peek_unichar|U32 flags
AMpd |I32 |lex_read_unichar|U32 flags
AMpd |void |lex_read_space |U32 flags
: Public parser API
AMpd |OP* |parse_arithexpr|U32 flags
AMpd |OP* |parse_termexpr |U32 flags
AMpd |OP* |parse_listexpr |U32 flags
AMpd |OP* |parse_fullexpr |U32 flags
AMpd |OP* |parse_block |U32 flags
AMpd |OP* |parse_barestmt |U32 flags
AMpd |SV* |parse_label |U32 flags
AMpd |OP* |parse_fullstmt |U32 flags
AMpd |OP* |parse_stmtseq |U32 flags
: Used in various files
Apd |void |op_null |NN OP* o
: FIXME. Used by Data::Alias
EXp |void |op_clear |NN OP* o
Ap |void |op_refcnt_lock
Ap |void |op_refcnt_unlock
Apdn |OP* |op_sibling_splice|NULLOK OP *parent|NULLOK OP *start \
|int del_count|NULLOK OP* insert
#ifdef PERL_OP_PARENT
Apdn |OP* |op_parent|NN OP *o
#endif
#if defined(PERL_IN_OP_C)
s |OP* |listkids |NULLOK OP* o
#endif
: Used in S_doeval in pp_ctl.c
p |OP* |list |NULLOK OP* o
Apd |void |load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
Ap |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
: Used in perly.y
p |OP* |localize |NN OP *o|I32 lex
ApdR |I32 |looks_like_number|NN SV *const sv
Apd |UV |grok_bin |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
EMsR |char |grok_bslash_c |const char source|const bool output_warning
EMsR |bool |grok_bslash_o |NN char** s|NN UV* uv \
|NN const char** error_msg \
|const bool output_warning \
|const bool strict \
|const bool silence_non_portable \
|const bool utf8
EMiR |bool |grok_bslash_x |NN char** s|NN UV* uv \
|NN const char** error_msg \
|const bool output_warning \
|const bool strict \
|const bool silence_non_portable \
|const bool utf8
EMsPR |char*|form_short_octal_warning|NN const char * const s \
|const STRLEN len
#endif
Apd |UV |grok_hex |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
Apd |int |grok_infnan |NN const char** sp|NN const char *send
Apd |int |grok_number |NN const char *pv|STRLEN len|NULLOK UV *valuep
Apd |int |grok_number_flags|NN const char *pv|STRLEN len|NULLOK UV *valuep|U32 flags
ApdR |bool |grok_numeric_radix|NN const char **sp|NN const char *send
Apd |UV |grok_oct |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
EXpn |bool |grok_atoUV |NN const char* pv|NN UV* valptr|NULLOK const char** endptr
: These are all indirectly referenced by globals.c. This is somewhat annoying.
p |int |magic_clearenv |NN SV* sv|NN MAGIC* mg
p |int |magic_clear_all_env|NN SV* sv|NN MAGIC* mg
dp |int |magic_clearhint|NN SV* sv|NN MAGIC* mg
dp |int |magic_clearhints|NN SV* sv|NN MAGIC* mg
p |int |magic_clearisa |NULLOK SV* sv|NN MAGIC* mg
p |int |magic_clearpack|NN SV* sv|NN MAGIC* mg
p |int |magic_clearsig |NN SV* sv|NN MAGIC* mg
p |int |magic_copycallchecker|NN SV* sv|NN MAGIC *mg|NN SV *nsv \
|NULLOK const char *name|I32 namlen
p |int |magic_existspack|NN SV* sv|NN const MAGIC* mg
p |int |magic_freeovrld|NN SV* sv|NN MAGIC* mg
p |int |magic_get |NN SV* sv|NN MAGIC* mg
p |int |magic_getarylen|NN SV* sv|NN const MAGIC* mg
p |int |magic_getdefelem|NN SV* sv|NN MAGIC* mg
p |int |magic_getdebugvar|NN SV* sv|NN MAGIC* mg
p |int |magic_getnkeys |NN SV* sv|NN MAGIC* mg
p |int |magic_getpack |NN SV* sv|NN MAGIC* mg
p |int |magic_getpos |NN SV* sv|NN MAGIC* mg
p |int |magic_getsig |NN SV* sv|NN MAGIC* mg
p |int |magic_getsubstr|NN SV* sv|NN MAGIC* mg
p |int |magic_gettaint |NN SV* sv|NN MAGIC* mg
p |int |magic_getuvar |NN SV* sv|NN MAGIC* mg
p |int |magic_getvec |NN SV* sv|NN MAGIC* mg
p |int |magic_nextpack |NN SV *sv|NN MAGIC *mg|NN SV *key
p |U32 |magic_regdata_cnt|NN SV* sv|NN MAGIC* mg
p |int |magic_regdatum_get|NN SV* sv|NN MAGIC* mg
:removing noreturn to silence a warning for this function resulted in no
:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits only because
:this is used in a magic vtable, do not use this on conventionally called funcs
#ifdef _MSC_VER
p |int |magic_regdatum_set|NN SV* sv|NN MAGIC* mg
#else
pr |int |magic_regdatum_set|NN SV* sv|NN MAGIC* mg
#endif
p |int |magic_set |NN SV* sv|NN MAGIC* mg
p |int |magic_setarylen|NN SV* sv|NN MAGIC* mg
p |int |magic_cleararylen_p|NN SV* sv|NN MAGIC* mg
p |int |magic_freearylen_p|NN SV* sv|NN MAGIC* mg
p |int |magic_setdbline|NN SV* sv|NN MAGIC* mg
p |int |magic_setdebugvar|NN SV* sv|NN MAGIC* mg
p |int |magic_setdefelem|NN SV* sv|NN MAGIC* mg
p |int |magic_setenv |NN SV* sv|NN MAGIC* mg
dp |int |magic_sethint |NN SV* sv|NN MAGIC* mg
p |int |magic_setisa |NN SV* sv|NN MAGIC* mg
p |int |magic_setlvref |NN SV* sv|NN MAGIC* mg
p |int |magic_setmglob |NN SV* sv|NN MAGIC* mg
p |int |magic_setnkeys |NN SV* sv|NN MAGIC* mg
p |int |magic_setpack |NN SV* sv|NN MAGIC* mg
p |int |magic_setpos |NN SV* sv|NN MAGIC* mg
p |int |magic_setregexp|NN SV* sv|NN MAGIC* mg
p |int |magic_setsig |NULLOK SV* sv|NN MAGIC* mg
p |int |magic_setsubstr|NN SV* sv|NN MAGIC* mg
p |int |magic_settaint |NN SV* sv|NN MAGIC* mg
p |int |magic_setuvar |NN SV* sv|NN MAGIC* mg
p |int |magic_setvec |NN SV* sv|NN MAGIC* mg
p |int |magic_setutf8 |NN SV* sv|NN MAGIC* mg
p |int |magic_set_all_env|NN SV* sv|NN MAGIC* mg
p |U32 |magic_sizepack |NN SV* sv|NN MAGIC* mg
p |int |magic_wipepack |NN SV* sv|NN MAGIC* mg
pod |SV* |magic_methcall |NN SV *sv|NN const MAGIC *mg \
|NN SV *meth|U32 flags \
|U32 argc|...
Ap |I32 * |markstack_grow
#if defined(USE_LOCALE_COLLATE)
p |int |magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
: Defined in locale.c, used only in sv.c
p |char* |mem_collxfrm |NN const char* s|STRLEN len|NN STRLEN* xlen
#endif
Afpd |SV* |mess |NN const char* pat|...
Apd |SV* |mess_sv |NN SV* basemsg|bool consume
Apd |SV* |vmess |NN const char* pat|NULLOK va_list* args
: FIXME - either make it public, or stop exporting it. (Data::Alias uses this)
: Used in gv.c, op.c, toke.c
EXp |void |qerror |NN SV* err
Apd |void |sortsv |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp
Apd |void |sortsv_flags |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
Apd |int |mg_clear |NN SV* sv
Apd |int |mg_copy |NN SV *sv|NN SV *nsv|NULLOK const char *key \
|I32 klen
: Defined in mg.c, used only in scope.c
pd |void |mg_localize |NN SV* sv|NN SV* nsv|bool setmagic
ApdRn |MAGIC* |mg_find |NULLOK const SV* sv|int type
ApdRn |MAGIC* |mg_findext |NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
: exported for re.pm
EXpR |MAGIC* |mg_find_mglob |NN SV* sv
Apd |int |mg_free |NN SV* sv
Apd |void |mg_free_type |NN SV* sv|int how
Apd |int |mg_get |NN SV* sv
ApdD |U32 |mg_length |NN SV* sv
Apdn |void |mg_magical |NN SV* sv
Apd |int |mg_set |NN SV* sv
Ap |I32 |mg_size |NN SV* sv
Apn |void |mini_mktime |NN struct tm *ptm
AMmd |OP* |op_lvalue |NULLOK OP* o|I32 type
poX |OP* |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
p |void |finalize_optree |NN OP* o
#if defined(PERL_IN_OP_C)
s |void |finalize_op |NN OP* o
s |void |move_proto_attr|NN OP **proto|NN OP **attrs|NN const GV *name
#endif
: Used in op.c and pp_sys.c
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
Ap |const char* |moreswitches |NN const char* s
Ap |NV |my_atof |NN const char *s
#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
Anp |char* |my_bcopy |NN const char* from|NN char* to|I32 len
#endif
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
Anp |char* |my_bzero |NN char* loc|I32 len
#endif
Apr |void |my_exit |U32 status
Apr |void |my_failure_exit
Ap |I32 |my_fflush_all
Anp |Pid_t |my_fork
Anp |void |atfork_lock
Anp |void |atfork_unlock
Apmb |I32 |my_lstat
pX |I32 |my_lstat_flags |NULLOK const U32 flags
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
AnpP |I32 |my_memcmp |NN const char* s1|NN const char* s2|I32 len
#endif
#if !defined(HAS_MEMSET)
Anp |void* |my_memset |NN char* loc|I32 ch|I32 len
#endif
#if !defined(PERL_IMPLICIT_SYS)
Ap |I32 |my_pclose |NULLOK PerlIO* ptr
Ap |PerlIO*|my_popen |NN const char* cmd|NN const char* mode
#endif
Ap |PerlIO*|my_popen_list |NN const char* mode|int n|NN SV ** args
Ap |void |my_setenv |NULLOK const char* nam|NULLOK const char* val
Apmb |I32 |my_stat
pX |I32 |my_stat_flags |NULLOK const U32 flags
Afp |char * |my_strftime |NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
: Used in pp_ctl.c
p |void |my_unexec
ADMnoPR |UV |NATIVE_TO_NEED |const UV enc|const UV ch
ADMnoPR |UV |ASCII_TO_NEED |const UV enc|const UV ch
Apa |OP* |newANONLIST |NULLOK OP* o
Apa |OP* |newANONHASH |NULLOK OP* o
Ap |OP* |newANONSUB |I32 floor|NULLOK OP* proto|NULLOK OP* block
#if defined(PERL_IN_OP_C)
i |bool |aassign_common_vars |NULLOK OP* o
#endif
Apda |OP* |newASSIGNOP |I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
Apda |OP* |newCONDOP |I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
Apd |CV* |newCONSTSUB |NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
Apd |CV* |newCONSTSUB_flags|NULLOK HV* stash \
|NULLOK const char* name|STRLEN len \
|U32 flags|NULLOK SV* sv
Ap |void |newFORM |I32 floor|NULLOK OP* o|NULLOK OP* block
Apda |OP* |newFOROP |I32 flags|NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
Apda |OP* |newGIVENOP |NN OP* cond|NN OP* block|PADOFFSET defsv_off
Apda |OP* |newLOGOP |I32 optype|I32 flags|NN OP *first|NN OP *other
Apda |OP* |newLOOPEX |I32 type|NN OP* label
Apda |OP* |newLOOPOP |I32 flags|I32 debuggable|NULLOK OP* expr|NULLOK OP* block
Apda |OP* |newNULLLIST
Apda |OP* |newOP |I32 optype|I32 flags
Ap |void |newPROG |NN OP* o
Apda |OP* |newRANGE |I32 flags|NN OP* left|NN OP* right
Apda |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
Apda |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o
Abm |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
|NULLOK OP* block
p |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \
|NN XSUBADDR_t subaddr\
|NULLOK const char *const filename \
|NULLOK const char *const proto \
|NULLOK SV **const_svp|U32 flags
pX |CV * |newXS_deffile |NN const char *name|NN XSUBADDR_t subaddr
ApM |CV * |newXS_flags |NULLOK const char *name|NN XSUBADDR_t subaddr\
|NN const char *const filename \
|NULLOK const char *const proto|U32 flags
Apd |CV* |newXS |NULLOK const char *name|NN XSUBADDR_t subaddr\
|NN const char *filename
AmdbR |AV* |newAV
Apa |OP* |newAVREF |NN OP* o