source: trunk/third/perl/proto.h @ 18450

Revision 18450, 70.2 KB checked in by zacheiss, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18449, which included commits to RCS files with non-trunk default branches.
Line 
1/*
2 *    proto.h
3 *
4 *    Copyright (c) 1997-2002, Larry Wall
5 *
6 *    You may distribute under the terms of either the GNU General Public
7 *    License or the Artistic License, as specified in the README file.
8 *
9 * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
10 * This file is autogenerated from data in embed.pl.  Edit that file
11 * and run 'make regen_headers' to effect changes.
12 */
13
14
15START_EXTERN_C
16
17#if defined(PERL_IMPLICIT_SYS)
18PERL_CALLCONV PerlInterpreter*  perl_alloc_using(struct IPerlMem* m, struct IPerlMem* ms, struct IPerlMem* mp, struct IPerlEnv* e, struct IPerlStdIO* io, struct IPerlLIO* lio, struct IPerlDir* d, struct IPerlSock* s, struct IPerlProc* p);
19#endif
20PERL_CALLCONV PerlInterpreter*  perl_alloc(void);
21PERL_CALLCONV void      perl_construct(PerlInterpreter* interp);
22PERL_CALLCONV int       perl_destruct(PerlInterpreter* interp);
23PERL_CALLCONV void      perl_free(PerlInterpreter* interp);
24PERL_CALLCONV int       perl_run(PerlInterpreter* interp);
25PERL_CALLCONV int       perl_parse(PerlInterpreter* interp, XSINIT_t xsinit, int argc, char** argv, char** env);
26#if defined(USE_ITHREADS)
27PERL_CALLCONV PerlInterpreter*  perl_clone(PerlInterpreter* interp, UV flags);
28#  if defined(PERL_IMPLICIT_SYS)
29PERL_CALLCONV PerlInterpreter*  perl_clone_using(PerlInterpreter *interp, UV flags, struct IPerlMem* m, struct IPerlMem* ms, struct IPerlMem* mp, struct IPerlEnv* e, struct IPerlStdIO* io, struct IPerlLIO* lio, struct IPerlDir* d, struct IPerlSock* s, struct IPerlProc* p);
30#  endif
31#endif
32
33PERL_CALLCONV Malloc_t  Perl_malloc(MEM_SIZE nbytes);
34PERL_CALLCONV Malloc_t  Perl_calloc(MEM_SIZE elements, MEM_SIZE size);
35PERL_CALLCONV Malloc_t  Perl_realloc(Malloc_t where, MEM_SIZE nbytes);
36PERL_CALLCONV Free_t    Perl_mfree(Malloc_t where);
37#if defined(MYMALLOC)
38PERL_CALLCONV MEM_SIZE  Perl_malloced_size(void *p);
39#endif
40
41PERL_CALLCONV void*     Perl_get_context(void);
42PERL_CALLCONV void      Perl_set_context(void *thx);
43
44END_EXTERN_C
45
46/* functions with flag 'n' should come before here */
47START_EXTERN_C
48#  include "pp_proto.h"
49PERL_CALLCONV SV*       Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir);
50PERL_CALLCONV bool      Perl_Gv_AMupdate(pTHX_ HV* stash);
51PERL_CALLCONV CV*       Perl_gv_handler(pTHX_ HV* stash, I32 id);
52PERL_CALLCONV OP*       Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
53PERL_CALLCONV OP*       Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
54PERL_CALLCONV I32       Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
55PERL_CALLCONV void      Perl_apply_attrs_string(pTHX_ char *stashpv, CV *cv, char *attrstr, STRLEN len);
56PERL_CALLCONV SV*       Perl_avhv_delete_ent(pTHX_ AV *ar, SV* keysv, I32 flags, U32 hash);
57PERL_CALLCONV bool      Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash);
58PERL_CALLCONV SV**      Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash);
59PERL_CALLCONV SV**      Perl_avhv_store_ent(pTHX_ AV *ar, SV* keysv, SV* val, U32 hash);
60PERL_CALLCONV HE*       Perl_avhv_iternext(pTHX_ AV *ar);
61PERL_CALLCONV SV*       Perl_avhv_iterval(pTHX_ AV *ar, HE* entry);
62PERL_CALLCONV HV*       Perl_avhv_keys(pTHX_ AV *ar);
63PERL_CALLCONV void      Perl_av_clear(pTHX_ AV* ar);
64PERL_CALLCONV SV*       Perl_av_delete(pTHX_ AV* ar, I32 key, I32 flags);
65PERL_CALLCONV bool      Perl_av_exists(pTHX_ AV* ar, I32 key);
66PERL_CALLCONV void      Perl_av_extend(pTHX_ AV* ar, I32 key);
67PERL_CALLCONV AV*       Perl_av_fake(pTHX_ I32 size, SV** svp);
68PERL_CALLCONV SV**      Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval);
69PERL_CALLCONV void      Perl_av_fill(pTHX_ AV* ar, I32 fill);
70PERL_CALLCONV I32       Perl_av_len(pTHX_ AV* ar);
71PERL_CALLCONV AV*       Perl_av_make(pTHX_ I32 size, SV** svp);
72PERL_CALLCONV SV*       Perl_av_pop(pTHX_ AV* ar);
73PERL_CALLCONV void      Perl_av_push(pTHX_ AV* ar, SV* val);
74PERL_CALLCONV void      Perl_av_reify(pTHX_ AV* ar);
75PERL_CALLCONV SV*       Perl_av_shift(pTHX_ AV* ar);
76PERL_CALLCONV SV**      Perl_av_store(pTHX_ AV* ar, I32 key, SV* val);
77PERL_CALLCONV void      Perl_av_undef(pTHX_ AV* ar);
78PERL_CALLCONV void      Perl_av_unshift(pTHX_ AV* ar, I32 num);
79PERL_CALLCONV OP*       Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat);
80PERL_CALLCONV OP*       Perl_block_end(pTHX_ I32 floor, OP* seq);
81PERL_CALLCONV I32       Perl_block_gimme(pTHX);
82PERL_CALLCONV int       Perl_block_start(pTHX_ int full);
83PERL_CALLCONV void      Perl_boot_core_UNIVERSAL(pTHX);
84PERL_CALLCONV void      Perl_boot_core_PerlIO(pTHX);
85PERL_CALLCONV void      Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
86PERL_CALLCONV bool      Perl_cando(pTHX_ Mode_t mode, Uid_t effective, Stat_t* statbufp);
87PERL_CALLCONV U32       Perl_cast_ulong(pTHX_ NV f);
88PERL_CALLCONV I32       Perl_cast_i32(pTHX_ NV f);
89PERL_CALLCONV IV        Perl_cast_iv(pTHX_ NV f);
90PERL_CALLCONV UV        Perl_cast_uv(pTHX_ NV f);
91#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
92PERL_CALLCONV I32       Perl_my_chsize(pTHX_ int fd, Off_t length);
93#endif
94#if defined(USE_5005THREADS)
95PERL_CALLCONV MAGIC*    Perl_condpair_magic(pTHX_ SV *sv);
96#endif
97PERL_CALLCONV OP*       Perl_convert(pTHX_ I32 optype, I32 flags, OP* o);
98PERL_CALLCONV void      Perl_croak(pTHX_ const char* pat, ...) __attribute__((noreturn))
99#ifdef CHECK_FORMAT
100 __attribute__((format(printf,pTHX_1,pTHX_2)))
101#endif
102;
103PERL_CALLCONV void      Perl_vcroak(pTHX_ const char* pat, va_list* args) __attribute__((noreturn));
104#if defined(PERL_IMPLICIT_CONTEXT)
105PERL_CALLCONV void      Perl_croak_nocontext(const char* pat, ...) __attribute__((noreturn))
106#ifdef CHECK_FORMAT
107 __attribute__((format(printf,1,2)))
108#endif
109;
110PERL_CALLCONV OP*       Perl_die_nocontext(const char* pat, ...)
111#ifdef CHECK_FORMAT
112 __attribute__((format(printf,1,2)))
113#endif
114;
115PERL_CALLCONV void      Perl_deb_nocontext(const char* pat, ...)
116#ifdef CHECK_FORMAT
117 __attribute__((format(printf,1,2)))
118#endif
119;
120PERL_CALLCONV char*     Perl_form_nocontext(const char* pat, ...)
121#ifdef CHECK_FORMAT
122 __attribute__((format(printf,1,2)))
123#endif
124;
125PERL_CALLCONV void      Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...);
126PERL_CALLCONV SV*       Perl_mess_nocontext(const char* pat, ...)
127#ifdef CHECK_FORMAT
128 __attribute__((format(printf,1,2)))
129#endif
130;
131PERL_CALLCONV void      Perl_warn_nocontext(const char* pat, ...)
132#ifdef CHECK_FORMAT
133 __attribute__((format(printf,1,2)))
134#endif
135;
136PERL_CALLCONV void      Perl_warner_nocontext(U32 err, const char* pat, ...)
137#ifdef CHECK_FORMAT
138 __attribute__((format(printf,2,3)))
139#endif
140;
141PERL_CALLCONV SV*       Perl_newSVpvf_nocontext(const char* pat, ...)
142#ifdef CHECK_FORMAT
143 __attribute__((format(printf,1,2)))
144#endif
145;
146PERL_CALLCONV void      Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...)
147#ifdef CHECK_FORMAT
148 __attribute__((format(printf,2,3)))
149#endif
150;
151PERL_CALLCONV void      Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...)
152#ifdef CHECK_FORMAT
153 __attribute__((format(printf,2,3)))
154#endif
155;
156PERL_CALLCONV void      Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...)
157#ifdef CHECK_FORMAT
158 __attribute__((format(printf,2,3)))
159#endif
160;
161PERL_CALLCONV void      Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...)
162#ifdef CHECK_FORMAT
163 __attribute__((format(printf,2,3)))
164#endif
165;
166PERL_CALLCONV int       Perl_fprintf_nocontext(PerlIO* stream, const char* fmt, ...)
167#ifdef CHECK_FORMAT
168 __attribute__((format(printf,2,3)))
169#endif
170;
171PERL_CALLCONV int       Perl_printf_nocontext(const char* fmt, ...)
172#ifdef CHECK_FORMAT
173 __attribute__((format(printf,1,2)))
174#endif
175;
176#endif
177PERL_CALLCONV void      Perl_cv_ckproto(pTHX_ CV* cv, GV* gv, char* p);
178PERL_CALLCONV CV*       Perl_cv_clone(pTHX_ CV* proto);
179PERL_CALLCONV SV*       Perl_cv_const_sv(pTHX_ CV* cv);
180PERL_CALLCONV SV*       Perl_op_const_sv(pTHX_ OP* o, CV* cv);
181PERL_CALLCONV void      Perl_cv_undef(pTHX_ CV* cv);
182PERL_CALLCONV void      Perl_cx_dump(pTHX_ PERL_CONTEXT* cs);
183PERL_CALLCONV SV*       Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
184PERL_CALLCONV void      Perl_filter_del(pTHX_ filter_t funcp);
185PERL_CALLCONV I32       Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen);
186PERL_CALLCONV char**    Perl_get_op_descs(pTHX);
187PERL_CALLCONV char**    Perl_get_op_names(pTHX);
188PERL_CALLCONV char*     Perl_get_no_modify(pTHX);
189PERL_CALLCONV U32*      Perl_get_opargs(pTHX);
190PERL_CALLCONV PPADDR_t* Perl_get_ppaddr(pTHX);
191PERL_CALLCONV I32       Perl_cxinc(pTHX);
192PERL_CALLCONV void      Perl_deb(pTHX_ const char* pat, ...)
193#ifdef CHECK_FORMAT
194 __attribute__((format(printf,pTHX_1,pTHX_2)))
195#endif
196;
197PERL_CALLCONV void      Perl_vdeb(pTHX_ const char* pat, va_list* args);
198PERL_CALLCONV void      Perl_debprofdump(pTHX);
199PERL_CALLCONV I32       Perl_debop(pTHX_ OP* o);
200PERL_CALLCONV I32       Perl_debstack(pTHX);
201PERL_CALLCONV I32       Perl_debstackptrs(pTHX);
202PERL_CALLCONV char*     Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen);
203PERL_CALLCONV void      Perl_deprecate(pTHX_ char* s);
204PERL_CALLCONV void      Perl_deprecate_old(pTHX_ char* s);
205PERL_CALLCONV OP*       Perl_die(pTHX_ const char* pat, ...)
206#ifdef CHECK_FORMAT
207 __attribute__((format(printf,pTHX_1,pTHX_2)))
208#endif
209;
210PERL_CALLCONV OP*       Perl_vdie(pTHX_ const char* pat, va_list* args);
211PERL_CALLCONV OP*       Perl_die_where(pTHX_ char* message, STRLEN msglen);
212PERL_CALLCONV void      Perl_dounwind(pTHX_ I32 cxix);
213PERL_CALLCONV bool      Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp);
214PERL_CALLCONV bool      Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int flag);
215PERL_CALLCONV int       Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode);
216PERL_CALLCONV void      Perl_do_chop(pTHX_ SV* asv, SV* sv);
217PERL_CALLCONV bool      Perl_do_close(pTHX_ GV* gv, bool not_implicit);
218PERL_CALLCONV bool      Perl_do_eof(pTHX_ GV* gv);
219PERL_CALLCONV bool      Perl_do_exec(pTHX_ char* cmd);
220#if defined(WIN32)
221PERL_CALLCONV int       Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp);
222PERL_CALLCONV int       Perl_do_spawn(pTHX_ char* cmd);
223PERL_CALLCONV int       Perl_do_spawn_nowait(pTHX_ char* cmd);
224#endif
225#if !defined(WIN32)
226PERL_CALLCONV bool      Perl_do_exec3(pTHX_ char* cmd, int fd, int flag);
227#endif
228PERL_CALLCONV void      Perl_do_execfree(pTHX);
229#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
230PERL_CALLCONV I32       Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp);
231PERL_CALLCONV I32       Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp);
232PERL_CALLCONV I32       Perl_do_msgrcv(pTHX_ SV** mark, SV** sp);
233PERL_CALLCONV I32       Perl_do_msgsnd(pTHX_ SV** mark, SV** sp);
234PERL_CALLCONV I32       Perl_do_semop(pTHX_ SV** mark, SV** sp);
235PERL_CALLCONV I32       Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp);
236#endif
237PERL_CALLCONV void      Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp);
238PERL_CALLCONV OP*       Perl_do_kv(pTHX);
239PERL_CALLCONV bool      Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
240PERL_CALLCONV bool      Perl_do_open9(pTHX_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num);
241PERL_CALLCONV bool      Perl_do_openn(pTHX_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num);
242PERL_CALLCONV void      Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv);
243PERL_CALLCONV bool      Perl_do_print(pTHX_ SV* sv, PerlIO* fp);
244PERL_CALLCONV OP*       Perl_do_readline(pTHX);
245PERL_CALLCONV I32       Perl_do_chomp(pTHX_ SV* sv);
246PERL_CALLCONV bool      Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
247PERL_CALLCONV void      Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
248PERL_CALLCONV Off_t     Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
249PERL_CALLCONV Off_t     Perl_do_tell(pTHX_ GV* gv);
250PERL_CALLCONV I32       Perl_do_trans(pTHX_ SV* sv);
251PERL_CALLCONV UV        Perl_do_vecget(pTHX_ SV* sv, I32 offset, I32 size);
252PERL_CALLCONV void      Perl_do_vecset(pTHX_ SV* sv);
253PERL_CALLCONV void      Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
254PERL_CALLCONV OP*       Perl_dofile(pTHX_ OP* term);
255PERL_CALLCONV I32       Perl_dowantarray(pTHX);
256PERL_CALLCONV void      Perl_dump_all(pTHX);
257PERL_CALLCONV void      Perl_dump_eval(pTHX);
258#if defined(DUMP_FDS)
259PERL_CALLCONV void      Perl_dump_fds(pTHX_ char* s);
260#endif
261PERL_CALLCONV void      Perl_dump_form(pTHX_ GV* gv);
262PERL_CALLCONV void      Perl_gv_dump(pTHX_ GV* gv);
263PERL_CALLCONV void      Perl_op_dump(pTHX_ OP* arg);
264PERL_CALLCONV void      Perl_pmop_dump(pTHX_ PMOP* pm);
265PERL_CALLCONV void      Perl_dump_packsubs(pTHX_ HV* stash);
266PERL_CALLCONV void      Perl_dump_sub(pTHX_ GV* gv);
267PERL_CALLCONV void      Perl_fbm_compile(pTHX_ SV* sv, U32 flags);
268PERL_CALLCONV char*     Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags);
269PERL_CALLCONV char*     Perl_find_script(pTHX_ char *scriptname, bool dosearch, char **search_ext, I32 flags);
270#if defined(USE_5005THREADS)
271PERL_CALLCONV PADOFFSET Perl_find_threadsv(pTHX_ const char *name);
272#endif
273PERL_CALLCONV OP*       Perl_force_list(pTHX_ OP* arg);
274PERL_CALLCONV OP*       Perl_fold_constants(pTHX_ OP* arg);
275PERL_CALLCONV char*     Perl_form(pTHX_ const char* pat, ...)
276#ifdef CHECK_FORMAT
277 __attribute__((format(printf,pTHX_1,pTHX_2)))
278#endif
279;
280PERL_CALLCONV char*     Perl_vform(pTHX_ const char* pat, va_list* args);
281PERL_CALLCONV void      Perl_free_tmps(pTHX);
282PERL_CALLCONV OP*       Perl_gen_constant_list(pTHX_ OP* o);
283#if !defined(HAS_GETENV_LEN)
284PERL_CALLCONV char*     Perl_getenv_len(pTHX_ const char* key, unsigned long *len);
285#endif
286PERL_CALLCONV void      Perl_gp_free(pTHX_ GV* gv);
287PERL_CALLCONV GP*       Perl_gp_ref(pTHX_ GP* gp);
288PERL_CALLCONV GV*       Perl_gv_AVadd(pTHX_ GV* gv);
289PERL_CALLCONV GV*       Perl_gv_HVadd(pTHX_ GV* gv);
290PERL_CALLCONV GV*       Perl_gv_IOadd(pTHX_ GV* gv);
291PERL_CALLCONV GV*       Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method);
292PERL_CALLCONV void      Perl_gv_check(pTHX_ HV* stash);
293PERL_CALLCONV void      Perl_gv_efullname(pTHX_ SV* sv, GV* gv);
294PERL_CALLCONV void      Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
295PERL_CALLCONV void      Perl_gv_efullname4(pTHX_ SV* sv, GV* gv, const char* prefix, bool keepmain);
296PERL_CALLCONV GV*       Perl_gv_fetchfile(pTHX_ const char* name);
297PERL_CALLCONV GV*       Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level);
298PERL_CALLCONV GV*       Perl_gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level);
299PERL_CALLCONV GV*       Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name);
300PERL_CALLCONV GV*       Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload);
301PERL_CALLCONV GV*       Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type);
302PERL_CALLCONV void      Perl_gv_fullname(pTHX_ SV* sv, GV* gv);
303PERL_CALLCONV void      Perl_gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
304PERL_CALLCONV void      Perl_gv_fullname4(pTHX_ SV* sv, GV* gv, const char* prefix, bool keepmain);
305PERL_CALLCONV void      Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi);
306PERL_CALLCONV HV*       Perl_gv_stashpv(pTHX_ const char* name, I32 create);
307PERL_CALLCONV HV*       Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 create);
308PERL_CALLCONV HV*       Perl_gv_stashsv(pTHX_ SV* sv, I32 create);
309PERL_CALLCONV void      Perl_hv_clear(pTHX_ HV* tb);
310PERL_CALLCONV void      Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry);
311PERL_CALLCONV SV*       Perl_hv_delete(pTHX_ HV* tb, const char* key, I32 klen, I32 flags);
312PERL_CALLCONV SV*       Perl_hv_delete_ent(pTHX_ HV* tb, SV* key, I32 flags, U32 hash);
313PERL_CALLCONV bool      Perl_hv_exists(pTHX_ HV* tb, const char* key, I32 klen);
314PERL_CALLCONV bool      Perl_hv_exists_ent(pTHX_ HV* tb, SV* key, U32 hash);
315PERL_CALLCONV SV**      Perl_hv_fetch(pTHX_ HV* tb, const char* key, I32 klen, I32 lval);
316PERL_CALLCONV HE*       Perl_hv_fetch_ent(pTHX_ HV* tb, SV* key, I32 lval, U32 hash);
317PERL_CALLCONV void      Perl_hv_free_ent(pTHX_ HV* hv, HE* entry);
318PERL_CALLCONV I32       Perl_hv_iterinit(pTHX_ HV* tb);
319PERL_CALLCONV char*     Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen);
320PERL_CALLCONV SV*       Perl_hv_iterkeysv(pTHX_ HE* entry);
321PERL_CALLCONV HE*       Perl_hv_iternext(pTHX_ HV* tb);
322PERL_CALLCONV SV*       Perl_hv_iternextsv(pTHX_ HV* hv, char** key, I32* retlen);
323PERL_CALLCONV HE*       Perl_hv_iternext_flags(pTHX_ HV* tb, I32 flags);
324PERL_CALLCONV SV*       Perl_hv_iterval(pTHX_ HV* tb, HE* entry);
325PERL_CALLCONV void      Perl_hv_ksplit(pTHX_ HV* hv, IV newmax);
326PERL_CALLCONV void      Perl_hv_magic(pTHX_ HV* hv, GV* gv, int how);
327PERL_CALLCONV SV**      Perl_hv_store(pTHX_ HV* tb, const char* key, I32 klen, SV* val, U32 hash);
328PERL_CALLCONV HE*       Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash);
329PERL_CALLCONV SV**      Perl_hv_store_flags(pTHX_ HV* tb, const char* key, I32 klen, SV* val, U32 hash, int flags);
330PERL_CALLCONV void      Perl_hv_undef(pTHX_ HV* tb);
331PERL_CALLCONV I32       Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len);
332PERL_CALLCONV I32       Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len);
333PERL_CALLCONV I32       Perl_ibcmp_utf8(pTHX_ const char* a, char **pe1, UV l1, bool u1, const char* b, char **pe2, UV l2, bool u2);
334PERL_CALLCONV bool      Perl_ingroup(pTHX_ Gid_t testgid, Uid_t effective);
335PERL_CALLCONV void      Perl_init_argv_symbols(pTHX_ int, char **);
336PERL_CALLCONV void      Perl_init_debugger(pTHX);
337PERL_CALLCONV void      Perl_init_stacks(pTHX);
338PERL_CALLCONV void      Perl_init_tm(pTHX_ struct tm *ptm);
339PERL_CALLCONV U32       Perl_intro_my(pTHX);
340PERL_CALLCONV char*     Perl_instr(pTHX_ const char* big, const char* little);
341PERL_CALLCONV bool      Perl_io_close(pTHX_ IO* io, bool not_implicit);
342PERL_CALLCONV OP*       Perl_invert(pTHX_ OP* cmd);
343PERL_CALLCONV bool      Perl_is_gv_magical(pTHX_ char *name, STRLEN len, U32 flags);
344PERL_CALLCONV I32       Perl_is_lvalue_sub(pTHX);
345PERL_CALLCONV U32       Perl_to_uni_upper_lc(pTHX_ U32 c);
346PERL_CALLCONV U32       Perl_to_uni_title_lc(pTHX_ U32 c);
347PERL_CALLCONV U32       Perl_to_uni_lower_lc(pTHX_ U32 c);
348PERL_CALLCONV bool      Perl_is_uni_alnum(pTHX_ UV c);
349PERL_CALLCONV bool      Perl_is_uni_alnumc(pTHX_ UV c);
350PERL_CALLCONV bool      Perl_is_uni_idfirst(pTHX_ UV c);
351PERL_CALLCONV bool      Perl_is_uni_alpha(pTHX_ UV c);
352PERL_CALLCONV bool      Perl_is_uni_ascii(pTHX_ UV c);
353PERL_CALLCONV bool      Perl_is_uni_space(pTHX_ UV c);
354PERL_CALLCONV bool      Perl_is_uni_cntrl(pTHX_ UV c);
355PERL_CALLCONV bool      Perl_is_uni_graph(pTHX_ UV c);
356PERL_CALLCONV bool      Perl_is_uni_digit(pTHX_ UV c);
357PERL_CALLCONV bool      Perl_is_uni_upper(pTHX_ UV c);
358PERL_CALLCONV bool      Perl_is_uni_lower(pTHX_ UV c);
359PERL_CALLCONV bool      Perl_is_uni_print(pTHX_ UV c);
360PERL_CALLCONV bool      Perl_is_uni_punct(pTHX_ UV c);
361PERL_CALLCONV bool      Perl_is_uni_xdigit(pTHX_ UV c);
362PERL_CALLCONV UV        Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp);
363PERL_CALLCONV UV        Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp);
364PERL_CALLCONV UV        Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp);
365PERL_CALLCONV UV        Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp);
366PERL_CALLCONV bool      Perl_is_uni_alnum_lc(pTHX_ UV c);
367PERL_CALLCONV bool      Perl_is_uni_alnumc_lc(pTHX_ UV c);
368PERL_CALLCONV bool      Perl_is_uni_idfirst_lc(pTHX_ UV c);
369PERL_CALLCONV bool      Perl_is_uni_alpha_lc(pTHX_ UV c);
370PERL_CALLCONV bool      Perl_is_uni_ascii_lc(pTHX_ UV c);
371PERL_CALLCONV bool      Perl_is_uni_space_lc(pTHX_ UV c);
372PERL_CALLCONV bool      Perl_is_uni_cntrl_lc(pTHX_ UV c);
373PERL_CALLCONV bool      Perl_is_uni_graph_lc(pTHX_ UV c);
374PERL_CALLCONV bool      Perl_is_uni_digit_lc(pTHX_ UV c);
375PERL_CALLCONV bool      Perl_is_uni_upper_lc(pTHX_ UV c);
376PERL_CALLCONV bool      Perl_is_uni_lower_lc(pTHX_ UV c);
377PERL_CALLCONV bool      Perl_is_uni_print_lc(pTHX_ UV c);
378PERL_CALLCONV bool      Perl_is_uni_punct_lc(pTHX_ UV c);
379PERL_CALLCONV bool      Perl_is_uni_xdigit_lc(pTHX_ UV c);
380PERL_CALLCONV STRLEN    Perl_is_utf8_char(pTHX_ U8 *p);
381PERL_CALLCONV bool      Perl_is_utf8_string(pTHX_ U8 *s, STRLEN len);
382PERL_CALLCONV bool      Perl_is_utf8_alnum(pTHX_ U8 *p);
383PERL_CALLCONV bool      Perl_is_utf8_alnumc(pTHX_ U8 *p);
384PERL_CALLCONV bool      Perl_is_utf8_idfirst(pTHX_ U8 *p);
385PERL_CALLCONV bool      Perl_is_utf8_idcont(pTHX_ U8 *p);
386PERL_CALLCONV bool      Perl_is_utf8_alpha(pTHX_ U8 *p);
387PERL_CALLCONV bool      Perl_is_utf8_ascii(pTHX_ U8 *p);
388PERL_CALLCONV bool      Perl_is_utf8_space(pTHX_ U8 *p);
389PERL_CALLCONV bool      Perl_is_utf8_cntrl(pTHX_ U8 *p);
390PERL_CALLCONV bool      Perl_is_utf8_digit(pTHX_ U8 *p);
391PERL_CALLCONV bool      Perl_is_utf8_graph(pTHX_ U8 *p);
392PERL_CALLCONV bool      Perl_is_utf8_upper(pTHX_ U8 *p);
393PERL_CALLCONV bool      Perl_is_utf8_lower(pTHX_ U8 *p);
394PERL_CALLCONV bool      Perl_is_utf8_print(pTHX_ U8 *p);
395PERL_CALLCONV bool      Perl_is_utf8_punct(pTHX_ U8 *p);
396PERL_CALLCONV bool      Perl_is_utf8_xdigit(pTHX_ U8 *p);
397PERL_CALLCONV bool      Perl_is_utf8_mark(pTHX_ U8 *p);
398PERL_CALLCONV OP*       Perl_jmaybe(pTHX_ OP* arg);
399PERL_CALLCONV I32       Perl_keyword(pTHX_ char* d, I32 len);
400PERL_CALLCONV void      Perl_leave_scope(pTHX_ I32 base);
401PERL_CALLCONV void      Perl_lex_end(pTHX);
402PERL_CALLCONV void      Perl_lex_start(pTHX_ SV* line);
403PERL_CALLCONV void      Perl_op_null(pTHX_ OP* o);
404PERL_CALLCONV void      Perl_op_clear(pTHX_ OP* o);
405PERL_CALLCONV OP*       Perl_linklist(pTHX_ OP* o);
406PERL_CALLCONV OP*       Perl_list(pTHX_ OP* o);
407PERL_CALLCONV OP*       Perl_listkids(pTHX_ OP* o);
408PERL_CALLCONV void      Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...);
409PERL_CALLCONV void      Perl_vload_module(pTHX_ U32 flags, SV* name, SV* ver, va_list* args);
410PERL_CALLCONV OP*       Perl_localize(pTHX_ OP* arg, I32 lexical);
411PERL_CALLCONV I32       Perl_looks_like_number(pTHX_ SV* sv);
412PERL_CALLCONV UV        Perl_grok_bin(pTHX_ char* start, STRLEN* len, I32* flags, NV *result);
413PERL_CALLCONV UV        Perl_grok_hex(pTHX_ char* start, STRLEN* len, I32* flags, NV *result);
414PERL_CALLCONV int       Perl_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep);
415PERL_CALLCONV bool      Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send);
416PERL_CALLCONV UV        Perl_grok_oct(pTHX_ char* start, STRLEN* len, I32* flags, NV *result);
417PERL_CALLCONV int       Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg);
418PERL_CALLCONV int       Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg);
419PERL_CALLCONV int       Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg);
420PERL_CALLCONV int       Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg);
421PERL_CALLCONV int       Perl_magic_existspack(pTHX_ SV* sv, MAGIC* mg);
422PERL_CALLCONV int       Perl_magic_freeregexp(pTHX_ SV* sv, MAGIC* mg);
423PERL_CALLCONV int       Perl_magic_freeovrld(pTHX_ SV* sv, MAGIC* mg);
424PERL_CALLCONV int       Perl_magic_get(pTHX_ SV* sv, MAGIC* mg);
425PERL_CALLCONV int       Perl_magic_getarylen(pTHX_ SV* sv, MAGIC* mg);
426PERL_CALLCONV int       Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg);
427PERL_CALLCONV int       Perl_magic_getglob(pTHX_ SV* sv, MAGIC* mg);
428PERL_CALLCONV int       Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg);
429PERL_CALLCONV int       Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg);
430PERL_CALLCONV int       Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg);
431PERL_CALLCONV int       Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg);
432PERL_CALLCONV int       Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg);
433PERL_CALLCONV int       Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg);
434PERL_CALLCONV int       Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg);
435PERL_CALLCONV int       Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg);
436PERL_CALLCONV U32       Perl_magic_len(pTHX_ SV* sv, MAGIC* mg);
437#if defined(USE_5005THREADS)
438PERL_CALLCONV int       Perl_magic_mutexfree(pTHX_ SV* sv, MAGIC* mg);
439#endif
440PERL_CALLCONV int       Perl_magic_nextpack(pTHX_ SV* sv, MAGIC* mg, SV* key);
441PERL_CALLCONV U32       Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg);
442PERL_CALLCONV int       Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg);
443PERL_CALLCONV int       Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg);
444PERL_CALLCONV int       Perl_magic_set(pTHX_ SV* sv, MAGIC* mg);
445PERL_CALLCONV int       Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg);
446PERL_CALLCONV int       Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg);
447PERL_CALLCONV int       Perl_magic_setbm(pTHX_ SV* sv, MAGIC* mg);
448PERL_CALLCONV int       Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg);
449#if defined(USE_LOCALE_COLLATE)
450PERL_CALLCONV int       Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg);
451#endif
452PERL_CALLCONV int       Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg);
453PERL_CALLCONV int       Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg);
454PERL_CALLCONV int       Perl_magic_setfm(pTHX_ SV* sv, MAGIC* mg);
455PERL_CALLCONV int       Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg);
456PERL_CALLCONV int       Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg);
457PERL_CALLCONV int       Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg);
458PERL_CALLCONV int       Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg);
459PERL_CALLCONV int       Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg);
460PERL_CALLCONV int       Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg);
461PERL_CALLCONV int       Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg);
462PERL_CALLCONV int       Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg);
463PERL_CALLCONV int       Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg);
464PERL_CALLCONV int       Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg);
465PERL_CALLCONV int       Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg);
466PERL_CALLCONV int       Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg);
467PERL_CALLCONV U32       Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg);
468PERL_CALLCONV int       Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg);
469PERL_CALLCONV void      Perl_magicname(pTHX_ char* sym, char* name, I32 namlen);
470PERL_CALLCONV void      Perl_markstack_grow(pTHX);
471#if defined(USE_LOCALE_COLLATE)
472PERL_CALLCONV char*     Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen);
473#endif
474PERL_CALLCONV SV*       Perl_mess(pTHX_ const char* pat, ...)
475#ifdef CHECK_FORMAT
476 __attribute__((format(printf,pTHX_1,pTHX_2)))
477#endif
478;
479PERL_CALLCONV SV*       Perl_vmess(pTHX_ const char* pat, va_list* args);
480PERL_CALLCONV void      Perl_qerror(pTHX_ SV* err);
481PERL_CALLCONV void      Perl_sortsv(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t cmp);
482PERL_CALLCONV int       Perl_mg_clear(pTHX_ SV* sv);
483PERL_CALLCONV int       Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen);
484PERL_CALLCONV MAGIC*    Perl_mg_find(pTHX_ SV* sv, int type);
485PERL_CALLCONV int       Perl_mg_free(pTHX_ SV* sv);
486PERL_CALLCONV int       Perl_mg_get(pTHX_ SV* sv);
487PERL_CALLCONV U32       Perl_mg_length(pTHX_ SV* sv);
488PERL_CALLCONV void      Perl_mg_magical(pTHX_ SV* sv);
489PERL_CALLCONV int       Perl_mg_set(pTHX_ SV* sv);
490PERL_CALLCONV I32       Perl_mg_size(pTHX_ SV* sv);
491PERL_CALLCONV void      Perl_mini_mktime(pTHX_ struct tm *pm);
492PERL_CALLCONV OP*       Perl_mod(pTHX_ OP* o, I32 type);
493PERL_CALLCONV int       Perl_mode_from_discipline(pTHX_ SV* discp);
494PERL_CALLCONV char*     Perl_moreswitches(pTHX_ char* s);
495PERL_CALLCONV OP*       Perl_my(pTHX_ OP* o);
496PERL_CALLCONV NV        Perl_my_atof(pTHX_ const char *s);
497#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
498PERL_CALLCONV char*     Perl_my_bcopy(const char* from, char* to, I32 len);
499#endif
500#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
501PERL_CALLCONV char*     Perl_my_bzero(char* loc, I32 len);
502#endif
503PERL_CALLCONV void      Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn));
504PERL_CALLCONV void      Perl_my_failure_exit(pTHX) __attribute__((noreturn));
505PERL_CALLCONV I32       Perl_my_fflush_all(pTHX);
506PERL_CALLCONV Pid_t     Perl_my_fork(void);
507PERL_CALLCONV void      Perl_atfork_lock(void);
508PERL_CALLCONV void      Perl_atfork_unlock(void);
509PERL_CALLCONV I32       Perl_my_lstat(pTHX);
510#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
511PERL_CALLCONV I32       Perl_my_memcmp(const char* s1, const char* s2, I32 len);
512#endif
513#if !defined(HAS_MEMSET)
514PERL_CALLCONV void*     Perl_my_memset(char* loc, I32 ch, I32 len);
515#endif
516PERL_CALLCONV I32       Perl_my_pclose(pTHX_ PerlIO* ptr);
517PERL_CALLCONV PerlIO*   Perl_my_popen(pTHX_ char* cmd, char* mode);
518PERL_CALLCONV PerlIO*   Perl_my_popen_list(pTHX_ char* mode, int n, SV ** args);
519PERL_CALLCONV void      Perl_my_setenv(pTHX_ char* nam, char* val);
520PERL_CALLCONV I32       Perl_my_stat(pTHX);
521PERL_CALLCONV char *    Perl_my_strftime(pTHX_ char *fmt, int sec, int min, int hour, int mday, int mon, int year, int wday, int yday, int isdst);
522#if defined(MYSWAP)
523PERL_CALLCONV short     Perl_my_swap(pTHX_ short s);
524PERL_CALLCONV long      Perl_my_htonl(pTHX_ long l);
525PERL_CALLCONV long      Perl_my_ntohl(pTHX_ long l);
526#endif
527PERL_CALLCONV void      Perl_my_unexec(pTHX);
528PERL_CALLCONV OP*       Perl_newANONLIST(pTHX_ OP* o);
529PERL_CALLCONV OP*       Perl_newANONHASH(pTHX_ OP* o);
530PERL_CALLCONV OP*       Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
531PERL_CALLCONV OP*       Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right);
532PERL_CALLCONV OP*       Perl_newCONDOP(pTHX_ I32 flags, OP* expr, OP* trueop, OP* falseop);
533PERL_CALLCONV CV*       Perl_newCONSTSUB(pTHX_ HV* stash, char* name, SV* sv);
534PERL_CALLCONV void      Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
535PERL_CALLCONV OP*       Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont);
536PERL_CALLCONV OP*       Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP* left, OP* right);
537PERL_CALLCONV OP*       Perl_newLOOPEX(pTHX_ I32 type, OP* label);
538PERL_CALLCONV OP*       Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block);
539PERL_CALLCONV OP*       Perl_newNULLLIST(pTHX);
540PERL_CALLCONV OP*       Perl_newOP(pTHX_ I32 optype, I32 flags);
541PERL_CALLCONV void      Perl_newPROG(pTHX_ OP* o);
542PERL_CALLCONV OP*       Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right);
543PERL_CALLCONV OP*       Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop);
544PERL_CALLCONV OP*       Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o);
545PERL_CALLCONV CV*       Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
546PERL_CALLCONV CV*       Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
547PERL_CALLCONV AV*       Perl_newAV(pTHX);
548PERL_CALLCONV OP*       Perl_newAVREF(pTHX_ OP* o);
549PERL_CALLCONV OP*       Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
550PERL_CALLCONV OP*       Perl_newCVREF(pTHX_ I32 flags, OP* o);
551PERL_CALLCONV OP*       Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv);
552PERL_CALLCONV GV*       Perl_newGVgen(pTHX_ char* pack);
553PERL_CALLCONV OP*       Perl_newGVREF(pTHX_ I32 type, OP* o);
554PERL_CALLCONV OP*       Perl_newHVREF(pTHX_ OP* o);
555PERL_CALLCONV HV*       Perl_newHV(pTHX);
556PERL_CALLCONV HV*       Perl_newHVhv(pTHX_ HV* hv);
557PERL_CALLCONV IO*       Perl_newIO(pTHX);
558PERL_CALLCONV OP*       Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
559PERL_CALLCONV OP*       Perl_newPADOP(pTHX_ I32 type, I32 flags, SV* sv);
560PERL_CALLCONV OP*       Perl_newPMOP(pTHX_ I32 type, I32 flags);
561PERL_CALLCONV OP*       Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv);
562PERL_CALLCONV SV*       Perl_newRV(pTHX_ SV* pref);
563PERL_CALLCONV SV*       Perl_newRV_noinc(pTHX_ SV *sv);
564PERL_CALLCONV SV*       Perl_newSV(pTHX_ STRLEN len);
565PERL_CALLCONV OP*       Perl_newSVREF(pTHX_ OP* o);
566PERL_CALLCONV OP*       Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv);
567PERL_CALLCONV SV*       Perl_newSViv(pTHX_ IV i);
568PERL_CALLCONV SV*       Perl_newSVuv(pTHX_ UV u);
569PERL_CALLCONV SV*       Perl_newSVnv(pTHX_ NV n);
570PERL_CALLCONV SV*       Perl_newSVpv(pTHX_ const char* s, STRLEN len);
571PERL_CALLCONV SV*       Perl_newSVpvn(pTHX_ const char* s, STRLEN len);
572PERL_CALLCONV SV*       Perl_newSVpvn_share(pTHX_ const char* s, I32 len, U32 hash);
573PERL_CALLCONV SV*       Perl_newSVpvf(pTHX_ const char* pat, ...)
574#ifdef CHECK_FORMAT
575 __attribute__((format(printf,pTHX_1,pTHX_2)))
576#endif
577;
578PERL_CALLCONV SV*       Perl_vnewSVpvf(pTHX_ const char* pat, va_list* args);
579PERL_CALLCONV SV*       Perl_newSVrv(pTHX_ SV* rv, const char* classname);
580PERL_CALLCONV SV*       Perl_newSVsv(pTHX_ SV* old);
581PERL_CALLCONV OP*       Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first);
582PERL_CALLCONV OP*       Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont);
583
584PERL_CALLCONV PERL_SI*  Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems);
585PERL_CALLCONV char*     Perl_new_vstring(pTHX_ char *vstr, SV *sv);
586PERL_CALLCONV PerlIO*   Perl_nextargv(pTHX_ GV* gv);
587PERL_CALLCONV char*     Perl_ninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
588PERL_CALLCONV OP*       Perl_oopsCV(pTHX_ OP* o);
589PERL_CALLCONV void      Perl_op_free(pTHX_ OP* arg);
590PERL_CALLCONV void      Perl_package(pTHX_ OP* o);
591PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
592PERL_CALLCONV PADOFFSET Perl_pad_allocmy(pTHX_ char* name);
593PERL_CALLCONV PADOFFSET Perl_pad_findmy(pTHX_ char* name);
594PERL_CALLCONV OP*       Perl_oopsAV(pTHX_ OP* o);
595PERL_CALLCONV OP*       Perl_oopsHV(pTHX_ OP* o);
596PERL_CALLCONV void      Perl_pad_leavemy(pTHX_ I32 fill);
597PERL_CALLCONV SV*       Perl_pad_sv(pTHX_ PADOFFSET po);
598PERL_CALLCONV void      Perl_pad_free(pTHX_ PADOFFSET po);
599PERL_CALLCONV void      Perl_pad_reset(pTHX);
600PERL_CALLCONV void      Perl_pad_swipe(pTHX_ PADOFFSET po);
601PERL_CALLCONV void      Perl_peep(pTHX_ OP* o);
602PERL_CALLCONV PerlIO*   Perl_start_glob(pTHX_ SV* pattern, IO *io);
603#if defined(USE_5005THREADS)
604PERL_CALLCONV struct perl_thread*       Perl_new_struct_thread(pTHX_ struct perl_thread *t);
605#endif
606#if defined(USE_REENTRANT_API)
607PERL_CALLCONV void      Perl_reentrant_size(pTHX);
608PERL_CALLCONV void      Perl_reentrant_init(pTHX);
609PERL_CALLCONV void      Perl_reentrant_free(pTHX);
610PERL_CALLCONV void*     Perl_reentrant_retry(const char*, ...);
611#endif
612PERL_CALLCONV void      Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
613PERL_CALLCONV I32       Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv);
614PERL_CALLCONV I32       Perl_call_method(pTHX_ const char* methname, I32 flags);
615PERL_CALLCONV I32       Perl_call_pv(pTHX_ const char* sub_name, I32 flags);
616PERL_CALLCONV I32       Perl_call_sv(pTHX_ SV* sv, I32 flags);
617PERL_CALLCONV void      Perl_despatch_signals(pTHX);
618PERL_CALLCONV SV*       Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error);
619PERL_CALLCONV I32       Perl_eval_sv(pTHX_ SV* sv, I32 flags);
620PERL_CALLCONV SV*       Perl_get_sv(pTHX_ const char* name, I32 create);
621PERL_CALLCONV AV*       Perl_get_av(pTHX_ const char* name, I32 create);
622PERL_CALLCONV HV*       Perl_get_hv(pTHX_ const char* name, I32 create);
623PERL_CALLCONV CV*       Perl_get_cv(pTHX_ const char* name, I32 create);
624PERL_CALLCONV int       Perl_init_i18nl10n(pTHX_ int printwarn);
625PERL_CALLCONV int       Perl_init_i18nl14n(pTHX_ int printwarn);
626PERL_CALLCONV void      Perl_new_collate(pTHX_ char* newcoll);
627PERL_CALLCONV void      Perl_new_ctype(pTHX_ char* newctype);
628PERL_CALLCONV void      Perl_new_numeric(pTHX_ char* newcoll);
629PERL_CALLCONV void      Perl_set_numeric_local(pTHX);
630PERL_CALLCONV void      Perl_set_numeric_radix(pTHX);
631PERL_CALLCONV void      Perl_set_numeric_standard(pTHX);
632PERL_CALLCONV void      Perl_require_pv(pTHX_ const char* pv);
633PERL_CALLCONV void      Perl_pack_cat(pTHX_ SV *cat, char *pat, char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags);
634PERL_CALLCONV void      Perl_pidgone(pTHX_ Pid_t pid, int status);
635PERL_CALLCONV void      Perl_pmflag(pTHX_ U32* pmfl, int ch);
636PERL_CALLCONV OP*       Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
637PERL_CALLCONV OP*       Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
638PERL_CALLCONV OP*       Perl_pop_return(pTHX);
639PERL_CALLCONV void      Perl_pop_scope(pTHX);
640PERL_CALLCONV OP*       Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail);
641PERL_CALLCONV void      Perl_push_return(pTHX_ OP* o);
642PERL_CALLCONV void      Perl_push_scope(pTHX);
643PERL_CALLCONV OP*       Perl_ref(pTHX_ OP* o, I32 type);
644PERL_CALLCONV OP*       Perl_refkids(pTHX_ OP* o, I32 type);
645PERL_CALLCONV void      Perl_regdump(pTHX_ regexp* r);
646PERL_CALLCONV SV*       Perl_regclass_swash(pTHX_ struct regnode *n, bool doinit, SV **listsvp, SV **altsvp);
647PERL_CALLCONV I32       Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave);
648PERL_CALLCONV void      Perl_pregfree(pTHX_ struct regexp* r);
649PERL_CALLCONV regexp*   Perl_pregcomp(pTHX_ char* exp, char* xend, PMOP* pm);
650PERL_CALLCONV char*     Perl_re_intuit_start(pTHX_ regexp* prog, SV* sv, char* strpos, char* strend, U32 flags, struct re_scream_pos_data_s *data);
651PERL_CALLCONV SV*       Perl_re_intuit_string(pTHX_ regexp* prog);
652PERL_CALLCONV I32       Perl_regexec_flags(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags);
653PERL_CALLCONV regnode*  Perl_regnext(pTHX_ regnode* p);
654PERL_CALLCONV void      Perl_regprop(pTHX_ SV* sv, regnode* o);
655PERL_CALLCONV void      Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count);
656PERL_CALLCONV char*     Perl_rninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
657PERL_CALLCONV Sighandler_t      Perl_rsignal(pTHX_ int i, Sighandler_t t);
658PERL_CALLCONV int       Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t);
659PERL_CALLCONV int       Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* t2);
660PERL_CALLCONV Sighandler_t      Perl_rsignal_state(pTHX_ int i);
661PERL_CALLCONV void      Perl_rxres_free(pTHX_ void** rsp);
662PERL_CALLCONV void      Perl_rxres_restore(pTHX_ void** rsp, REGEXP* prx);
663PERL_CALLCONV void      Perl_rxres_save(pTHX_ void** rsp, REGEXP* prx);
664#if !defined(HAS_RENAME)
665PERL_CALLCONV I32       Perl_same_dirent(pTHX_ char* a, char* b);
666#endif
667PERL_CALLCONV char*     Perl_savepv(pTHX_ const char* pv);
668PERL_CALLCONV char*     Perl_savesharedpv(pTHX_ const char* pv);
669PERL_CALLCONV char*     Perl_savepvn(pTHX_ const char* pv, I32 len);
670PERL_CALLCONV void      Perl_savestack_grow(pTHX);
671PERL_CALLCONV void      Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr);
672PERL_CALLCONV I32       Perl_save_alloc(pTHX_ I32 size, I32 pad);
673PERL_CALLCONV void      Perl_save_aptr(pTHX_ AV** aptr);
674PERL_CALLCONV AV*       Perl_save_ary(pTHX_ GV* gv);
675PERL_CALLCONV void      Perl_save_clearsv(pTHX_ SV** svp);
676PERL_CALLCONV void      Perl_save_delete(pTHX_ HV* hv, char* key, I32 klen);
677PERL_CALLCONV void      Perl_save_destructor(pTHX_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p);
678PERL_CALLCONV void      Perl_save_destructor_x(pTHX_ DESTRUCTORFUNC_t f, void* p);
679PERL_CALLCONV void      Perl_save_freesv(pTHX_ SV* sv);
680PERL_CALLCONV void      Perl_save_freeop(pTHX_ OP* o);
681PERL_CALLCONV void      Perl_save_freepv(pTHX_ char* pv);
682PERL_CALLCONV void      Perl_save_generic_svref(pTHX_ SV** sptr);
683PERL_CALLCONV void      Perl_save_generic_pvref(pTHX_ char** str);
684PERL_CALLCONV void      Perl_save_shared_pvref(pTHX_ char** str);
685PERL_CALLCONV void      Perl_save_gp(pTHX_ GV* gv, I32 empty);
686PERL_CALLCONV HV*       Perl_save_hash(pTHX_ GV* gv);
687PERL_CALLCONV void      Perl_save_helem(pTHX_ HV* hv, SV *key, SV **sptr);
688PERL_CALLCONV void      Perl_save_hints(pTHX);
689PERL_CALLCONV void      Perl_save_hptr(pTHX_ HV** hptr);
690PERL_CALLCONV void      Perl_save_I16(pTHX_ I16* intp);
691PERL_CALLCONV void      Perl_save_I32(pTHX_ I32* intp);
692PERL_CALLCONV void      Perl_save_I8(pTHX_ I8* bytep);
693PERL_CALLCONV void      Perl_save_int(pTHX_ int* intp);
694PERL_CALLCONV void      Perl_save_item(pTHX_ SV* item);
695PERL_CALLCONV void      Perl_save_iv(pTHX_ IV* iv);
696PERL_CALLCONV void      Perl_save_list(pTHX_ SV** sarg, I32 maxsarg);
697PERL_CALLCONV void      Perl_save_long(pTHX_ long* longp);
698PERL_CALLCONV void      Perl_save_mortalizesv(pTHX_ SV* sv);
699PERL_CALLCONV void      Perl_save_nogv(pTHX_ GV* gv);
700PERL_CALLCONV void      Perl_save_op(pTHX);
701PERL_CALLCONV SV*       Perl_save_scalar(pTHX_ GV* gv);
702PERL_CALLCONV void      Perl_save_pptr(pTHX_ char** pptr);
703PERL_CALLCONV void      Perl_save_vptr(pTHX_ void* pptr);
704PERL_CALLCONV void      Perl_save_re_context(pTHX);
705PERL_CALLCONV void      Perl_save_padsv(pTHX_ PADOFFSET off);
706PERL_CALLCONV void      Perl_save_sptr(pTHX_ SV** sptr);
707PERL_CALLCONV SV*       Perl_save_svref(pTHX_ SV** sptr);
708PERL_CALLCONV SV**      Perl_save_threadsv(pTHX_ PADOFFSET i);
709PERL_CALLCONV OP*       Perl_sawparens(pTHX_ OP* o);
710PERL_CALLCONV OP*       Perl_scalar(pTHX_ OP* o);
711PERL_CALLCONV OP*       Perl_scalarkids(pTHX_ OP* o);
712PERL_CALLCONV OP*       Perl_scalarseq(pTHX_ OP* o);
713PERL_CALLCONV OP*       Perl_scalarvoid(pTHX_ OP* o);
714PERL_CALLCONV NV        Perl_scan_bin(pTHX_ char* start, STRLEN len, STRLEN* retlen);
715PERL_CALLCONV NV        Perl_scan_hex(pTHX_ char* start, STRLEN len, STRLEN* retlen);
716PERL_CALLCONV char*     Perl_scan_num(pTHX_ char* s, YYSTYPE *lvalp);
717PERL_CALLCONV NV        Perl_scan_oct(pTHX_ char* start, STRLEN len, STRLEN* retlen);
718PERL_CALLCONV OP*       Perl_scope(pTHX_ OP* o);
719PERL_CALLCONV char*     Perl_screaminstr(pTHX_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last);
720#if !defined(VMS)
721PERL_CALLCONV I32       Perl_setenv_getix(pTHX_ char* nam);
722#endif
723PERL_CALLCONV void      Perl_setdefout(pTHX_ GV* gv);
724PERL_CALLCONV HEK*      Perl_share_hek(pTHX_ const char* sv, I32 len, U32 hash);
725PERL_CALLCONV Signal_t  Perl_sighandler(int sig);
726PERL_CALLCONV SV**      Perl_stack_grow(pTHX_ SV** sp, SV**p, int n);
727PERL_CALLCONV I32       Perl_start_subparse(pTHX_ I32 is_format, U32 flags);
728PERL_CALLCONV void      Perl_sub_crush_depth(pTHX_ CV* cv);
729PERL_CALLCONV bool      Perl_sv_2bool(pTHX_ SV* sv);
730PERL_CALLCONV CV*       Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref);
731PERL_CALLCONV IO*       Perl_sv_2io(pTHX_ SV* sv);
732PERL_CALLCONV IV        Perl_sv_2iv(pTHX_ SV* sv);
733PERL_CALLCONV SV*       Perl_sv_2mortal(pTHX_ SV* sv);
734PERL_CALLCONV NV        Perl_sv_2nv(pTHX_ SV* sv);
735/* PERL_CALLCONV char*  sv_2pv(pTHX_ SV* sv, STRLEN* lp); */
736PERL_CALLCONV char*     Perl_sv_2pvutf8(pTHX_ SV* sv, STRLEN* lp);
737PERL_CALLCONV char*     Perl_sv_2pvbyte(pTHX_ SV* sv, STRLEN* lp);
738PERL_CALLCONV char*     Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp);
739PERL_CALLCONV UV        Perl_sv_2uv(pTHX_ SV* sv);
740PERL_CALLCONV IV        Perl_sv_iv(pTHX_ SV* sv);
741PERL_CALLCONV UV        Perl_sv_uv(pTHX_ SV* sv);
742PERL_CALLCONV NV        Perl_sv_nv(pTHX_ SV* sv);
743PERL_CALLCONV char*     Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len);
744PERL_CALLCONV char*     Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *len);
745PERL_CALLCONV char*     Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *len);
746PERL_CALLCONV I32       Perl_sv_true(pTHX_ SV *sv);
747PERL_CALLCONV void      Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags);
748PERL_CALLCONV int       Perl_sv_backoff(pTHX_ SV* sv);
749PERL_CALLCONV SV*       Perl_sv_bless(pTHX_ SV* sv, HV* stash);
750PERL_CALLCONV void      Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...)
751#ifdef CHECK_FORMAT
752 __attribute__((format(printf,pTHX_2,pTHX_3)))
753#endif
754;
755PERL_CALLCONV void      Perl_sv_vcatpvf(pTHX_ SV* sv, const char* pat, va_list* args);
756PERL_CALLCONV void      Perl_sv_catpv(pTHX_ SV* sv, const char* ptr);
757/* PERL_CALLCONV void   sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len); */
758/* PERL_CALLCONV void   sv_catsv(pTHX_ SV* dsv, SV* ssv); */
759PERL_CALLCONV void      Perl_sv_chop(pTHX_ SV* sv, char* ptr);
760PERL_CALLCONV I32       Perl_sv_clean_all(pTHX);
761PERL_CALLCONV void      Perl_sv_clean_objs(pTHX);
762PERL_CALLCONV void      Perl_sv_clear(pTHX_ SV* sv);
763PERL_CALLCONV I32       Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2);
764PERL_CALLCONV I32       Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2);
765#if defined(USE_LOCALE_COLLATE)
766PERL_CALLCONV char*     Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp);
767#endif
768PERL_CALLCONV OP*       Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, char* code, AV** avp);
769PERL_CALLCONV int       Perl_getcwd_sv(pTHX_ SV* sv);
770PERL_CALLCONV void      Perl_sv_dec(pTHX_ SV* sv);
771PERL_CALLCONV void      Perl_sv_dump(pTHX_ SV* sv);
772PERL_CALLCONV bool      Perl_sv_derived_from(pTHX_ SV* sv, const char* name);
773PERL_CALLCONV I32       Perl_sv_eq(pTHX_ SV* sv1, SV* sv2);
774PERL_CALLCONV void      Perl_sv_free(pTHX_ SV* sv);
775PERL_CALLCONV void      Perl_sv_free_arenas(pTHX);
776PERL_CALLCONV char*     Perl_sv_gets(pTHX_ SV* sv, PerlIO* fp, I32 append);
777PERL_CALLCONV char*     Perl_sv_grow(pTHX_ SV* sv, STRLEN newlen);
778PERL_CALLCONV void      Perl_sv_inc(pTHX_ SV* sv);
779PERL_CALLCONV void      Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen);
780PERL_CALLCONV int       Perl_sv_isa(pTHX_ SV* sv, const char* name);
781PERL_CALLCONV int       Perl_sv_isobject(pTHX_ SV* sv);
782PERL_CALLCONV STRLEN    Perl_sv_len(pTHX_ SV* sv);
783PERL_CALLCONV STRLEN    Perl_sv_len_utf8(pTHX_ SV* sv);
784PERL_CALLCONV void      Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen);
785PERL_CALLCONV MAGIC *   Perl_sv_magicext(pTHX_ SV* sv, SV* obj, int how, MGVTBL *vtbl, const char* name, I32 namlen     );
786PERL_CALLCONV SV*       Perl_sv_mortalcopy(pTHX_ SV* oldsv);
787PERL_CALLCONV SV*       Perl_sv_newmortal(pTHX);
788PERL_CALLCONV SV*       Perl_sv_newref(pTHX_ SV* sv);
789PERL_CALLCONV char*     Perl_sv_peek(pTHX_ SV* sv);
790PERL_CALLCONV void      Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp);
791PERL_CALLCONV void      Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp);
792/* PERL_CALLCONV char*  sv_pvn_force(pTHX_ SV* sv, STRLEN* lp); */
793PERL_CALLCONV char*     Perl_sv_pvutf8n_force(pTHX_ SV* sv, STRLEN* lp);
794PERL_CALLCONV char*     Perl_sv_pvbyten_force(pTHX_ SV* sv, STRLEN* lp);
795PERL_CALLCONV char*     Perl_sv_recode_to_utf8(pTHX_ SV* sv, SV *encoding);
796PERL_CALLCONV char*     Perl_sv_reftype(pTHX_ SV* sv, int ob);
797PERL_CALLCONV void      Perl_sv_replace(pTHX_ SV* sv, SV* nsv);
798PERL_CALLCONV void      Perl_sv_report_used(pTHX);
799PERL_CALLCONV void      Perl_sv_reset(pTHX_ char* s, HV* stash);
800PERL_CALLCONV void      Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...)
801#ifdef CHECK_FORMAT
802 __attribute__((format(printf,pTHX_2,pTHX_3)))
803#endif
804;
805PERL_CALLCONV void      Perl_sv_vsetpvf(pTHX_ SV* sv, const char* pat, va_list* args);
806PERL_CALLCONV void      Perl_sv_setiv(pTHX_ SV* sv, IV num);
807PERL_CALLCONV void      Perl_sv_setuv(pTHX_ SV* sv, UV num);
808PERL_CALLCONV void      Perl_sv_setnv(pTHX_ SV* sv, NV num);
809PERL_CALLCONV SV*       Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv);
810PERL_CALLCONV SV*       Perl_sv_setref_uv(pTHX_ SV* rv, const char* classname, UV uv);
811PERL_CALLCONV SV*       Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, NV nv);
812PERL_CALLCONV SV*       Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv);
813PERL_CALLCONV SV*       Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, char* pv, STRLEN n);
814PERL_CALLCONV void      Perl_sv_setpv(pTHX_ SV* sv, const char* ptr);
815PERL_CALLCONV void      Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
816/* PERL_CALLCONV void   sv_setsv(pTHX_ SV* dsv, SV* ssv); */
817PERL_CALLCONV void      Perl_sv_taint(pTHX_ SV* sv);
818PERL_CALLCONV bool      Perl_sv_tainted(pTHX_ SV* sv);
819PERL_CALLCONV int       Perl_sv_unmagic(pTHX_ SV* sv, int type);
820PERL_CALLCONV void      Perl_sv_unref(pTHX_ SV* sv);
821PERL_CALLCONV void      Perl_sv_unref_flags(pTHX_ SV* sv, U32 flags);
822PERL_CALLCONV void      Perl_sv_untaint(pTHX_ SV* sv);
823PERL_CALLCONV bool      Perl_sv_upgrade(pTHX_ SV* sv, U32 mt);
824PERL_CALLCONV void      Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len);
825PERL_CALLCONV void      Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted);
826PERL_CALLCONV void      Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted);
827PERL_CALLCONV NV        Perl_str_to_version(pTHX_ SV *sv);
828PERL_CALLCONV SV*       Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none);
829PERL_CALLCONV UV        Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr, bool do_utf8);
830PERL_CALLCONV void      Perl_taint_env(pTHX);
831PERL_CALLCONV void      Perl_taint_proper(pTHX_ const char* f, const char* s);
832PERL_CALLCONV UV        Perl_to_utf8_case(pTHX_ U8 *p, U8* ustrp, STRLEN *lenp, SV **swash, char *normal, char *special);
833PERL_CALLCONV UV        Perl_to_utf8_lower(pTHX_ U8 *p, U8* ustrp, STRLEN *lenp);
834PERL_CALLCONV UV        Perl_to_utf8_upper(pTHX_ U8 *p, U8* ustrp, STRLEN *lenp);
835PERL_CALLCONV UV        Perl_to_utf8_title(pTHX_ U8 *p, U8* ustrp, STRLEN *lenp);
836PERL_CALLCONV UV        Perl_to_utf8_fold(pTHX_ U8 *p, U8* ustrp, STRLEN *lenp);
837#if defined(UNLINK_ALL_VERSIONS)
838PERL_CALLCONV I32       Perl_unlnk(pTHX_ char* f);
839#endif
840#if defined(USE_5005THREADS)
841PERL_CALLCONV void      Perl_unlock_condpair(pTHX_ void* svv);
842#endif
843PERL_CALLCONV I32       Perl_unpack_str(pTHX_ char *pat, char *patend, char *s, char *strbeg, char *strend, char **new_s, I32 ocnt, U32 flags);
844PERL_CALLCONV void      Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
845PERL_CALLCONV void      Perl_unshare_hek(pTHX_ HEK* hek);
846PERL_CALLCONV void      Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* id, OP* arg);
847PERL_CALLCONV U8*       Perl_utf16_to_utf8(pTHX_ U8* p, U8 *d, I32 bytelen, I32 *newlen);
848PERL_CALLCONV U8*       Perl_utf16_to_utf8_reversed(pTHX_ U8* p, U8 *d, I32 bytelen, I32 *newlen);
849PERL_CALLCONV STRLEN    Perl_utf8_length(pTHX_ U8* s, U8 *e);
850PERL_CALLCONV IV        Perl_utf8_distance(pTHX_ U8 *a, U8 *b);
851PERL_CALLCONV U8*       Perl_utf8_hop(pTHX_ U8 *s, I32 off);
852PERL_CALLCONV U8*       Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len);
853PERL_CALLCONV U8*       Perl_bytes_from_utf8(pTHX_ U8 *s, STRLEN *len, bool *is_utf8);
854PERL_CALLCONV U8*       Perl_bytes_to_utf8(pTHX_ U8 *s, STRLEN *len);
855PERL_CALLCONV UV        Perl_utf8_to_uvchr(pTHX_ U8 *s, STRLEN* retlen);
856PERL_CALLCONV UV        Perl_utf8_to_uvuni(pTHX_ U8 *s, STRLEN* retlen);
857PERL_CALLCONV UV        Perl_utf8n_to_uvchr(pTHX_ U8 *s, STRLEN curlen, STRLEN* retlen, U32 flags);
858PERL_CALLCONV UV        Perl_utf8n_to_uvuni(pTHX_ U8 *s, STRLEN curlen, STRLEN* retlen, U32 flags);
859PERL_CALLCONV U8*       Perl_uvchr_to_utf8(pTHX_ U8 *d, UV uv);
860PERL_CALLCONV U8*       Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv);
861PERL_CALLCONV U8*       Perl_uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags);
862PERL_CALLCONV U8*       Perl_uvuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags);
863PERL_CALLCONV char*     Perl_pv_uni_display(pTHX_ SV *dsv, U8 *spv, STRLEN len, STRLEN pvlim, UV flags);
864PERL_CALLCONV char*     Perl_sv_uni_display(pTHX_ SV *dsv, SV *ssv, STRLEN pvlim, UV flags);
865PERL_CALLCONV void      Perl_vivify_defelem(pTHX_ SV* sv);
866PERL_CALLCONV void      Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
867PERL_CALLCONV I32       Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
868PERL_CALLCONV void      Perl_report_evil_fh(pTHX_ GV *gv, IO *io, I32 op);
869PERL_CALLCONV void      Perl_report_uninit(pTHX);
870PERL_CALLCONV void      Perl_warn(pTHX_ const char* pat, ...)
871#ifdef CHECK_FORMAT
872 __attribute__((format(printf,pTHX_1,pTHX_2)))
873#endif
874;
875PERL_CALLCONV void      Perl_vwarn(pTHX_ const char* pat, va_list* args);
876PERL_CALLCONV void      Perl_warner(pTHX_ U32 err, const char* pat, ...)
877#ifdef CHECK_FORMAT
878 __attribute__((format(printf,pTHX_2,pTHX_3)))
879#endif
880;
881PERL_CALLCONV void      Perl_vwarner(pTHX_ U32 err, const char* pat, va_list* args);
882PERL_CALLCONV void      Perl_watch(pTHX_ char** addr);
883PERL_CALLCONV I32       Perl_whichsig(pTHX_ char* sig);
884PERL_CALLCONV int       Perl_yyerror(pTHX_ char* s);
885#ifdef USE_PURE_BISON
886PERL_CALLCONV int       Perl_yylex_r(pTHX_ YYSTYPE *lvalp, int *lcharp);
887#endif
888PERL_CALLCONV int       Perl_yylex(pTHX);
889PERL_CALLCONV int       Perl_yyparse(pTHX);
890PERL_CALLCONV int       Perl_yywarn(pTHX_ char* s);
891#if defined(MYMALLOC)
892PERL_CALLCONV void      Perl_dump_mstats(pTHX_ char* s);
893PERL_CALLCONV int       Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int level);
894#endif
895PERL_CALLCONV Malloc_t  Perl_safesysmalloc(MEM_SIZE nbytes);
896PERL_CALLCONV Malloc_t  Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size);
897PERL_CALLCONV Malloc_t  Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes);
898PERL_CALLCONV Free_t    Perl_safesysfree(Malloc_t where);
899#if defined(LEAKTEST)
900PERL_CALLCONV Malloc_t  Perl_safexmalloc(I32 x, MEM_SIZE size);
901PERL_CALLCONV Malloc_t  Perl_safexcalloc(I32 x, MEM_SIZE elements, MEM_SIZE size);
902PERL_CALLCONV Malloc_t  Perl_safexrealloc(Malloc_t where, MEM_SIZE size);
903PERL_CALLCONV void      Perl_safexfree(Malloc_t where);
904#endif
905#if defined(PERL_GLOBAL_STRUCT)
906PERL_CALLCONV struct perl_vars *        Perl_GetVars(pTHX);
907#endif
908PERL_CALLCONV int       Perl_runops_standard(pTHX);
909PERL_CALLCONV int       Perl_runops_debug(pTHX);
910#if defined(USE_5005THREADS)
911PERL_CALLCONV SV*       Perl_sv_lock(pTHX_ SV *sv);
912#endif
913PERL_CALLCONV void      Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...)
914#ifdef CHECK_FORMAT
915 __attribute__((format(printf,pTHX_2,pTHX_3)))
916#endif
917;
918PERL_CALLCONV void      Perl_sv_vcatpvf_mg(pTHX_ SV* sv, const char* pat, va_list* args);
919PERL_CALLCONV void      Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr);
920PERL_CALLCONV void      Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
921PERL_CALLCONV void      Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr);
922PERL_CALLCONV void      Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...)
923#ifdef CHECK_FORMAT
924 __attribute__((format(printf,pTHX_2,pTHX_3)))
925#endif
926;
927PERL_CALLCONV void      Perl_sv_vsetpvf_mg(pTHX_ SV* sv, const char* pat, va_list* args);
928PERL_CALLCONV void      Perl_sv_setiv_mg(pTHX_ SV *sv, IV i);
929PERL_CALLCONV void      Perl_sv_setuv_mg(pTHX_ SV *sv, UV u);
930PERL_CALLCONV void      Perl_sv_setnv_mg(pTHX_ SV *sv, NV num);
931PERL_CALLCONV void      Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr);
932PERL_CALLCONV void      Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
933PERL_CALLCONV void      Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr);
934PERL_CALLCONV void      Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len);
935PERL_CALLCONV MGVTBL*   Perl_get_vtbl(pTHX_ int vtbl_id);
936PERL_CALLCONV char*     Perl_pv_display(pTHX_ SV *dsv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim);
937PERL_CALLCONV void      Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
938#ifdef CHECK_FORMAT
939 __attribute__((format(printf,pTHX_3,pTHX_4)))
940#endif
941;
942PERL_CALLCONV void      Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args);
943PERL_CALLCONV void      Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv);
944PERL_CALLCONV void      Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv);
945PERL_CALLCONV void      Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv);
946PERL_CALLCONV void      Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
947PERL_CALLCONV void      Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o);
948PERL_CALLCONV void      Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm);
949PERL_CALLCONV void      Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
950PERL_CALLCONV void      Perl_magic_dump(pTHX_ MAGIC *mg);
951#if defined(PERL_FLEXIBLE_EXCEPTIONS)
952PERL_CALLCONV void*     Perl_default_protect(pTHX_ volatile JMPENV *je, int *excpt, protect_body_t body, ...);
953PERL_CALLCONV void*     Perl_vdefault_protect(pTHX_ volatile JMPENV *je, int *excpt, protect_body_t body, va_list *args);
954#endif
955PERL_CALLCONV void      Perl_reginitcolors(pTHX);
956PERL_CALLCONV char*     Perl_sv_2pv_nolen(pTHX_ SV* sv);
957PERL_CALLCONV char*     Perl_sv_2pvutf8_nolen(pTHX_ SV* sv);
958PERL_CALLCONV char*     Perl_sv_2pvbyte_nolen(pTHX_ SV* sv);
959/* PERL_CALLCONV char*  sv_pv(pTHX_ SV *sv); */
960/* PERL_CALLCONV char*  sv_pvutf8(pTHX_ SV *sv); */
961/* PERL_CALLCONV char*  sv_pvbyte(pTHX_ SV *sv); */
962/* PERL_CALLCONV STRLEN sv_utf8_upgrade(pTHX_ SV *sv); */
963PERL_CALLCONV bool      Perl_sv_utf8_downgrade(pTHX_ SV *sv, bool fail_ok);
964PERL_CALLCONV void      Perl_sv_utf8_encode(pTHX_ SV *sv);
965PERL_CALLCONV bool      Perl_sv_utf8_decode(pTHX_ SV *sv);
966PERL_CALLCONV void      Perl_sv_force_normal(pTHX_ SV *sv);
967PERL_CALLCONV void      Perl_sv_force_normal_flags(pTHX_ SV *sv, U32 flags);
968PERL_CALLCONV void      Perl_tmps_grow(pTHX_ I32 n);
969PERL_CALLCONV SV*       Perl_sv_rvweaken(pTHX_ SV *sv);
970PERL_CALLCONV int       Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
971PERL_CALLCONV OP*       Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
972PERL_CALLCONV CV*       Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
973PERL_CALLCONV void      Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
974PERL_CALLCONV OP *      Perl_my_attrs(pTHX_ OP *o, OP *attrs);
975PERL_CALLCONV void      Perl_boot_core_xsutils(pTHX);
976#if defined(USE_ITHREADS)
977PERL_CALLCONV PERL_CONTEXT*     Perl_cx_dup(pTHX_ PERL_CONTEXT* cx, I32 ix, I32 max, CLONE_PARAMS* param);
978PERL_CALLCONV PERL_SI*  Perl_si_dup(pTHX_ PERL_SI* si, CLONE_PARAMS* param);
979PERL_CALLCONV ANY*      Perl_ss_dup(pTHX_ PerlInterpreter* proto_perl, CLONE_PARAMS* param);
980PERL_CALLCONV void*     Perl_any_dup(pTHX_ void* v, PerlInterpreter* proto_perl);
981PERL_CALLCONV HE*       Perl_he_dup(pTHX_ HE* e, bool shared, CLONE_PARAMS* param);
982PERL_CALLCONV REGEXP*   Perl_re_dup(pTHX_ REGEXP* r, CLONE_PARAMS* param);
983PERL_CALLCONV PerlIO*   Perl_fp_dup(pTHX_ PerlIO* fp, char type, CLONE_PARAMS* param);
984PERL_CALLCONV DIR*      Perl_dirp_dup(pTHX_ DIR* dp);
985PERL_CALLCONV GP*       Perl_gp_dup(pTHX_ GP* gp, CLONE_PARAMS* param);
986PERL_CALLCONV MAGIC*    Perl_mg_dup(pTHX_ MAGIC* mg, CLONE_PARAMS* param);
987PERL_CALLCONV SV*       Perl_sv_dup(pTHX_ SV* sstr, CLONE_PARAMS* param);
988#if defined(HAVE_INTERP_INTERN)
989PERL_CALLCONV void      Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst);
990#endif
991PERL_CALLCONV PTR_TBL_t*        Perl_ptr_table_new(pTHX);
992PERL_CALLCONV void*     Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, void *sv);
993PERL_CALLCONV void      Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *oldsv, void *newsv);
994PERL_CALLCONV void      Perl_ptr_table_split(pTHX_ PTR_TBL_t *tbl);
995PERL_CALLCONV void      Perl_ptr_table_clear(pTHX_ PTR_TBL_t *tbl);
996PERL_CALLCONV void      Perl_ptr_table_free(pTHX_ PTR_TBL_t *tbl);
997#endif
998#if defined(HAVE_INTERP_INTERN)
999PERL_CALLCONV void      Perl_sys_intern_clear(pTHX);
1000PERL_CALLCONV void      Perl_sys_intern_init(pTHX);
1001#endif
1002
1003PERL_CALLCONV char *    Perl_custom_op_name(pTHX_ OP* op);
1004PERL_CALLCONV char *    Perl_custom_op_desc(pTHX_ OP* op);
1005
1006PERL_CALLCONV void      Perl_sv_nosharing(pTHX_ SV *);
1007PERL_CALLCONV void      Perl_sv_nolocking(pTHX_ SV *);
1008PERL_CALLCONV void      Perl_sv_nounlocking(pTHX_ SV *);
1009PERL_CALLCONV int       Perl_nothreadhook(pTHX);
1010
1011END_EXTERN_C
1012
1013#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
1014STATIC I32      S_avhv_index_sv(pTHX_ SV* sv);
1015STATIC I32      S_avhv_index(pTHX_ AV* av, SV* sv, U32 hash);
1016#endif
1017
1018#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
1019STATIC I32      S_do_trans_simple(pTHX_ SV *sv);
1020STATIC I32      S_do_trans_count(pTHX_ SV *sv);
1021STATIC I32      S_do_trans_complex(pTHX_ SV *sv);
1022STATIC I32      S_do_trans_simple_utf8(pTHX_ SV *sv);
1023STATIC I32      S_do_trans_count_utf8(pTHX_ SV *sv);
1024STATIC I32      S_do_trans_complex_utf8(pTHX_ SV *sv);
1025#endif
1026
1027#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
1028STATIC void     S_gv_init_sv(pTHX_ GV *gv, I32 sv_type);
1029STATIC void     S_require_errno(pTHX_ GV *gv);
1030#endif
1031
1032#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
1033STATIC void     S_hsplit(pTHX_ HV *hv);
1034STATIC void     S_hfreeentries(pTHX_ HV *hv);
1035STATIC void     S_more_he(pTHX);
1036STATIC HE*      S_new_he(pTHX);
1037STATIC void     S_del_he(pTHX_ HE *p);
1038STATIC HEK*     S_save_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags);
1039STATIC void     S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store);
1040STATIC void     S_unshare_hek_or_pvn(pTHX_ HEK* hek, const char* sv, I32 len, U32 hash);
1041STATIC HEK*     S_share_hek_flags(pTHX_ const char* sv, I32 len, U32 hash, int flags);
1042STATIC SV**     S_hv_fetch_flags(pTHX_ HV* tb, const char* key, I32 klen, I32 lval, int flags);
1043STATIC void     S_hv_notallowed(pTHX_ int flags, const char *key, I32 klen, const char *msg);
1044#endif
1045
1046#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
1047STATIC void     S_save_magic(pTHX_ I32 mgs_ix, SV *sv);
1048STATIC int      S_magic_methpack(pTHX_ SV *sv, MAGIC *mg, char *meth);
1049STATIC int      S_magic_methcall(pTHX_ SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val);
1050#endif
1051
1052#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
1053STATIC I32      S_list_assignment(pTHX_ OP *o);
1054STATIC void     S_bad_type(pTHX_ I32 n, char *t, char *name, OP *kid);
1055STATIC void     S_cop_free(pTHX_ COP *cop);
1056STATIC OP*      S_modkids(pTHX_ OP *o, I32 type);
1057STATIC void     S_no_bareword_allowed(pTHX_ OP *o);
1058STATIC OP*      S_no_fh_allowed(pTHX_ OP *o);
1059STATIC OP*      S_scalarboolean(pTHX_ OP *o);
1060STATIC OP*      S_too_few_arguments(pTHX_ OP *o, char* name);
1061STATIC OP*      S_too_many_arguments(pTHX_ OP *o, char* name);
1062STATIC PADOFFSET        S_pad_addlex(pTHX_ SV* name);
1063STATIC PADOFFSET        S_pad_findlex(pTHX_ char* name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix, I32 saweval, U32 flags);
1064STATIC OP*      S_newDEFSVOP(pTHX);
1065STATIC OP*      S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp);
1066STATIC void     S_simplify_sort(pTHX_ OP *o);
1067STATIC bool     S_is_handle_constructor(pTHX_ OP *o, I32 argnum);
1068STATIC char*    S_gv_ename(pTHX_ GV *gv);
1069#  if defined(DEBUG_CLOSURES)
1070STATIC void     S_cv_dump(pTHX_ CV *cv);
1071#  endif
1072STATIC CV*      S_cv_clone2(pTHX_ CV *proto, CV *outside);
1073STATIC bool     S_scalar_mod_type(pTHX_ OP *o, I32 type);
1074STATIC OP *     S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp);
1075STATIC OP *     S_dup_attrlist(pTHX_ OP *o);
1076STATIC void     S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my);
1077STATIC void     S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp);
1078#  if defined(PL_OP_SLAB_ALLOC)
1079STATIC void*    S_Slab_Alloc(pTHX_ int m, size_t sz);
1080STATIC void     S_Slab_Free(pTHX_ void *op);
1081#  endif
1082#endif
1083
1084#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
1085STATIC void     S_find_beginning(pTHX);
1086STATIC void     S_forbid_setid(pTHX_ char *);
1087STATIC void     S_incpush(pTHX_ char *, int, int);
1088STATIC void     S_init_interp(pTHX);
1089STATIC void     S_init_ids(pTHX);
1090STATIC void     S_init_lexer(pTHX);
1091STATIC void     S_init_main_stash(pTHX);
1092STATIC void     S_init_perllib(pTHX);
1093STATIC void     S_init_postdump_symbols(pTHX_ int, char **, char **);
1094STATIC void     S_init_predump_symbols(pTHX);
1095STATIC void     S_my_exit_jump(pTHX) __attribute__((noreturn));
1096STATIC void     S_nuke_stacks(pTHX);
1097STATIC void     S_open_script(pTHX_ char *, bool, SV *, int *fd);
1098STATIC void     S_usage(pTHX_ char *);
1099STATIC void     S_validate_suid(pTHX_ char *, char*, int);
1100#  if defined(IAMSUID)
1101STATIC int      S_fd_on_nosuid_fs(pTHX_ int fd);
1102#  endif
1103STATIC void*    S_parse_body(pTHX_ char **env, XSINIT_t xsinit);
1104STATIC void*    S_run_body(pTHX_ I32 oldscope);
1105STATIC void     S_call_body(pTHX_ OP *myop, int is_eval);
1106STATIC void*    S_call_list_body(pTHX_ CV *cv);
1107#if defined(PERL_FLEXIBLE_EXCEPTIONS)
1108STATIC void*    S_vparse_body(pTHX_ va_list args);
1109STATIC void*    S_vrun_body(pTHX_ va_list args);
1110STATIC void*    S_vcall_body(pTHX_ va_list args);
1111STATIC void*    S_vcall_list_body(pTHX_ va_list args);
1112#endif
1113#  if defined(USE_5005THREADS)
1114STATIC struct perl_thread *     S_init_main_thread(pTHX);
1115#  endif
1116#endif
1117
1118#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
1119STATIC SV*      S_refto(pTHX_ SV* sv);
1120STATIC U32      S_seed(pTHX);
1121#endif
1122
1123#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
1124STATIC void     S_doencodes(pTHX_ SV* sv, char* s, I32 len);
1125STATIC SV*      S_mul128(pTHX_ SV *sv, U8 m);
1126STATIC SV*      S_is_an_int(pTHX_ char *s, STRLEN l);
1127STATIC int      S_div128(pTHX_ SV *pnum, bool *done);
1128STATIC char *   S_next_symbol(pTHX_ char *pat, char *patend);
1129STATIC I32      S_find_count(pTHX_ char **ppat, char *patend, int *star);
1130STATIC char *   S_group_end(pTHX_ char *pat, char *patend, char ender);
1131STATIC I32      S_measure_struct(pTHX_ char *pat, char *patend);
1132#endif
1133
1134#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
1135STATIC OP*      S_docatch(pTHX_ OP *o);
1136STATIC void*    S_docatch_body(pTHX);
1137#if defined(PERL_FLEXIBLE_EXCEPTIONS)
1138STATIC void*    S_vdocatch_body(pTHX_ va_list args);
1139#endif
1140STATIC OP*      S_dofindlabel(pTHX_ OP *o, char *label, OP **opstack, OP **oplimit);
1141STATIC void     S_doparseform(pTHX_ SV *sv);
1142STATIC I32      S_dopoptoeval(pTHX_ I32 startingblock);
1143STATIC I32      S_dopoptolabel(pTHX_ char *label);
1144STATIC I32      S_dopoptoloop(pTHX_ I32 startingblock);
1145STATIC I32      S_dopoptosub(pTHX_ I32 startingblock);
1146STATIC I32      S_dopoptosub_at(pTHX_ PERL_CONTEXT* cxstk, I32 startingblock);
1147STATIC void     S_save_lines(pTHX_ AV *array, SV *sv);
1148STATIC OP*      S_doeval(pTHX_ int gimme, OP** startop);
1149STATIC PerlIO * S_doopen_pmc(pTHX_ const char *name, const char *mode);
1150STATIC bool     S_path_is_absolute(pTHX_ char *name);
1151#endif
1152
1153#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
1154STATIC int      S_do_maybe_phash(pTHX_ AV *ary, SV **lelem, SV **firstlelem, SV **relem, SV **lastrelem);
1155STATIC void     S_do_oddball(pTHX_ HV *hash, SV **relem, SV **firstrelem);
1156STATIC CV*      S_get_db_sub(pTHX_ SV **svp, CV *cv);
1157STATIC SV*      S_method_common(pTHX_ SV* meth, U32* hashp);
1158#endif
1159
1160#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
1161STATIC OP*      S_doform(pTHX_ CV *cv, GV *gv, OP *retop);
1162STATIC int      S_emulate_eaccess(pTHX_ const char* path, Mode_t mode);
1163#  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
1164STATIC int      S_dooneliner(pTHX_ char *cmd, char *filename);
1165#  endif
1166#endif
1167
1168#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
1169STATIC regnode* S_reg(pTHX_ struct RExC_state_t*, I32, I32 *);
1170STATIC regnode* S_reganode(pTHX_ struct RExC_state_t*, U8, U32);
1171STATIC regnode* S_regatom(pTHX_ struct RExC_state_t*, I32 *);
1172STATIC regnode* S_regbranch(pTHX_ struct RExC_state_t*, I32 *, I32);
1173STATIC void     S_reguni(pTHX_ struct RExC_state_t*, UV, char *, STRLEN*);
1174STATIC regnode* S_regclass(pTHX_ struct RExC_state_t*);
1175STATIC I32      S_regcurly(pTHX_ char *);
1176STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t*, U8);
1177STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t*, I32 *);
1178STATIC void     S_reginsert(pTHX_ struct RExC_state_t*, U8, regnode *);
1179STATIC void     S_regoptail(pTHX_ struct RExC_state_t*, regnode *, regnode *);
1180STATIC void     S_regtail(pTHX_ struct RExC_state_t*, regnode *, regnode *);
1181STATIC char*    S_regwhite(pTHX_ char *, char *);
1182STATIC char*    S_nextchar(pTHX_ struct RExC_state_t*);
1183#  ifdef DEBUGGING
1184STATIC regnode* S_dumpuntil(pTHX_ regnode *start, regnode *node, regnode *last, SV* sv, I32 l);
1185STATIC void     S_put_byte(pTHX_ SV* sv, int c);
1186#  endif
1187STATIC void     S_scan_commit(pTHX_ struct RExC_state_t*, struct scan_data_t *data);
1188STATIC void     S_cl_anything(pTHX_ struct RExC_state_t*, struct regnode_charclass_class *cl);
1189STATIC int      S_cl_is_anything(pTHX_ struct regnode_charclass_class *cl);
1190STATIC void     S_cl_init(pTHX_ struct RExC_state_t*, struct regnode_charclass_class *cl);
1191STATIC void     S_cl_init_zero(pTHX_ struct RExC_state_t*, struct regnode_charclass_class *cl);
1192STATIC void     S_cl_and(pTHX_ struct regnode_charclass_class *cl, struct regnode_charclass_class *and_with);
1193STATIC void     S_cl_or(pTHX_ struct RExC_state_t*, struct regnode_charclass_class *cl, struct regnode_charclass_class *or_with);
1194STATIC I32      S_study_chunk(pTHX_ struct RExC_state_t*, regnode **scanp, I32 *deltap, regnode *last, struct scan_data_t *data, U32 flags);
1195STATIC I32      S_add_data(pTHX_ struct RExC_state_t*, I32 n, char *s);
1196STATIC void     S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...) __attribute__((noreturn));
1197STATIC I32      S_regpposixcc(pTHX_ struct RExC_state_t*, I32 value);
1198STATIC void     S_checkposixcc(pTHX_ struct RExC_state_t*);
1199#endif
1200
1201#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
1202STATIC I32      S_regmatch(pTHX_ regnode *prog);
1203STATIC I32      S_regrepeat(pTHX_ regnode *p, I32 max);
1204STATIC I32      S_regrepeat_hard(pTHX_ regnode *p, I32 max, I32 *lp);
1205STATIC I32      S_regtry(pTHX_ regexp *prog, char *startpos);
1206STATIC bool     S_reginclass(pTHX_ regnode *n, U8 *p, STRLEN *lenp, bool do_utf8sv_is_utf8);
1207STATIC CHECKPOINT       S_regcppush(pTHX_ I32 parenfloor);
1208STATIC char*    S_regcppop(pTHX);
1209STATIC char*    S_regcp_set_to(pTHX_ I32 ss);
1210STATIC void     S_cache_re(pTHX_ regexp *prog);
1211STATIC U8*      S_reghop(pTHX_ U8 *pos, I32 off);
1212STATIC U8*      S_reghop3(pTHX_ U8 *pos, I32 off, U8 *lim);
1213STATIC U8*      S_reghopmaybe(pTHX_ U8 *pos, I32 off);
1214STATIC U8*      S_reghopmaybe3(pTHX_ U8 *pos, I32 off, U8 *lim);
1215STATIC char*    S_find_byclass(pTHX_ regexp * prog, regnode *c, char *s, char *strend, char *startpos, I32 norun);
1216STATIC void     S_to_utf8_substr(pTHX_ regexp * prog);
1217STATIC void     S_to_byte_substr(pTHX_ regexp * prog);
1218#endif
1219
1220#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
1221STATIC CV*      S_deb_curcv(pTHX_ I32 ix);
1222STATIC void     S_debprof(pTHX_ OP *o);
1223#endif
1224
1225#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
1226STATIC SV*      S_save_scalar_at(pTHX_ SV **sptr);
1227#endif
1228
1229#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
1230STATIC IV       S_asIV(pTHX_ SV* sv);
1231STATIC UV       S_asUV(pTHX_ SV* sv);
1232STATIC SV*      S_more_sv(pTHX);
1233STATIC void     S_more_xiv(pTHX);
1234STATIC void     S_more_xnv(pTHX);
1235STATIC void     S_more_xpv(pTHX);
1236STATIC void     S_more_xpviv(pTHX);
1237STATIC void     S_more_xpvnv(pTHX);
1238STATIC void     S_more_xpvcv(pTHX);
1239STATIC void     S_more_xpvav(pTHX);
1240STATIC void     S_more_xpvhv(pTHX);
1241STATIC void     S_more_xpvmg(pTHX);
1242STATIC void     S_more_xpvlv(pTHX);
1243STATIC void     S_more_xpvbm(pTHX);
1244STATIC void     S_more_xrv(pTHX);
1245STATIC XPVIV*   S_new_xiv(pTHX);
1246STATIC XPVNV*   S_new_xnv(pTHX);
1247STATIC XPV*     S_new_xpv(pTHX);
1248STATIC XPVIV*   S_new_xpviv(pTHX);
1249STATIC XPVNV*   S_new_xpvnv(pTHX);
1250STATIC XPVCV*   S_new_xpvcv(pTHX);
1251STATIC XPVAV*   S_new_xpvav(pTHX);
1252STATIC XPVHV*   S_new_xpvhv(pTHX);
1253STATIC XPVMG*   S_new_xpvmg(pTHX);
1254STATIC XPVLV*   S_new_xpvlv(pTHX);
1255STATIC XPVBM*   S_new_xpvbm(pTHX);
1256STATIC XRV*     S_new_xrv(pTHX);
1257STATIC void     S_del_xiv(pTHX_ XPVIV* p);
1258STATIC void     S_del_xnv(pTHX_ XPVNV* p);
1259STATIC void     S_del_xpv(pTHX_ XPV* p);
1260STATIC void     S_del_xpviv(pTHX_ XPVIV* p);
1261STATIC void     S_del_xpvnv(pTHX_ XPVNV* p);
1262STATIC void     S_del_xpvcv(pTHX_ XPVCV* p);
1263STATIC void     S_del_xpvav(pTHX_ XPVAV* p);
1264STATIC void     S_del_xpvhv(pTHX_ XPVHV* p);
1265STATIC void     S_del_xpvmg(pTHX_ XPVMG* p);
1266STATIC void     S_del_xpvlv(pTHX_ XPVLV* p);
1267STATIC void     S_del_xpvbm(pTHX_ XPVBM* p);
1268STATIC void     S_del_xrv(pTHX_ XRV* p);
1269STATIC void     S_sv_unglob(pTHX_ SV* sv);
1270STATIC void     S_not_a_number(pTHX_ SV *sv);
1271STATIC I32      S_visit(pTHX_ SVFUNC_t f);
1272STATIC void     S_sv_add_backref(pTHX_ SV *tsv, SV *sv);
1273STATIC void     S_sv_del_backref(pTHX_ SV *sv);
1274#  ifdef DEBUGGING
1275STATIC void     S_del_sv(pTHX_ SV *p);
1276#  endif
1277#  if !defined(NV_PRESERVES_UV)
1278STATIC int      S_sv_2iuv_non_preserve(pTHX_ SV *sv, I32 numtype);
1279#  endif
1280STATIC I32      S_expect_number(pTHX_ char** pattern);
1281#
1282#  if defined(USE_ITHREADS)
1283STATIC SV*      S_gv_share(pTHX_ SV *sv, CLONE_PARAMS *param);
1284#  endif
1285#endif
1286
1287#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
1288STATIC void     S_check_uni(pTHX);
1289STATIC void     S_force_next(pTHX_ I32 type);
1290STATIC char*    S_force_version(pTHX_ char *start, int guessing);
1291STATIC char*    S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack, int allow_tick);
1292STATIC SV*      S_tokeq(pTHX_ SV *sv);
1293STATIC int      S_pending_ident(pTHX);
1294STATIC char*    S_scan_const(pTHX_ char *start);
1295STATIC char*    S_scan_formline(pTHX_ char *s);
1296STATIC char*    S_scan_heredoc(pTHX_ char *s);
1297STATIC char*    S_scan_ident(pTHX_ char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni);
1298STATIC char*    S_scan_inputsymbol(pTHX_ char *start);
1299STATIC char*    S_scan_pat(pTHX_ char *start, I32 type);
1300STATIC char*    S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims);
1301STATIC char*    S_scan_subst(pTHX_ char *start);
1302STATIC char*    S_scan_trans(pTHX_ char *start);
1303STATIC char*    S_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp);
1304STATIC char*    S_skipspace(pTHX_ char *s);
1305STATIC char*    S_swallow_bom(pTHX_ U8 *s);
1306STATIC void     S_checkcomma(pTHX_ char *s, char *name, char *what);
1307STATIC void     S_force_ident(pTHX_ char *s, int kind);
1308STATIC void     S_incline(pTHX_ char *s);
1309STATIC int      S_intuit_method(pTHX_ char *s, GV *gv);
1310STATIC int      S_intuit_more(pTHX_ char *s);
1311STATIC I32      S_lop(pTHX_ I32 f, int x, char *s);
1312STATIC void     S_missingterm(pTHX_ char *s);
1313STATIC void     S_no_op(pTHX_ char *what, char *s);
1314STATIC void     S_set_csh(pTHX);
1315STATIC I32      S_sublex_done(pTHX);
1316STATIC I32      S_sublex_push(pTHX);
1317STATIC I32      S_sublex_start(pTHX);
1318STATIC char *   S_filter_gets(pTHX_ SV *sv, PerlIO *fp, STRLEN append);
1319STATIC HV *     S_find_in_my_stash(pTHX_ char *pkgname, I32 len);
1320STATIC SV*      S_new_constant(pTHX_ char *s, STRLEN len, const char *key, SV *sv, SV *pv, const char *type);
1321#  if defined(DEBUGGING)
1322STATIC void     S_tokereport(pTHX_ char *thing, char *s, I32 rv);
1323#  endif
1324STATIC int      S_ao(pTHX_ int toketype);
1325STATIC void     S_depcom(pTHX);
1326STATIC char*    S_incl_perldb(pTHX);
1327#if 0
1328STATIC I32      S_utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen);
1329STATIC I32      S_utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen);
1330#endif
1331#  if defined(PERL_CR_FILTER)
1332STATIC I32      S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
1333#  endif
1334#endif
1335
1336#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
1337STATIC SV*      S_isa_lookup(pTHX_ HV *stash, const char *name, HV *name_stash, int len, int level);
1338#endif
1339
1340#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
1341STATIC char*    S_stdize_locale(pTHX_ char* locs);
1342#endif
1343
1344#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
1345STATIC COP*     S_closest_cop(pTHX_ COP *cop, OP *o);
1346STATIC SV*      S_mess_alloc(pTHX);
1347#  if defined(LEAKTEST)
1348STATIC void     S_xstat(pTHX_ int);
1349#  endif
1350#endif
1351
1352START_EXTERN_C
1353
1354PERL_CALLCONV void      Perl_sv_setsv_flags(pTHX_ SV* dsv, SV* ssv, I32 flags);
1355PERL_CALLCONV void      Perl_sv_catpvn_flags(pTHX_ SV* sv, const char* ptr, STRLEN len, I32 flags);
1356PERL_CALLCONV void      Perl_sv_catsv_flags(pTHX_ SV* dsv, SV* ssv, I32 flags);
1357PERL_CALLCONV STRLEN    Perl_sv_utf8_upgrade_flags(pTHX_ SV *sv, I32 flags);
1358PERL_CALLCONV char*     Perl_sv_pvn_force_flags(pTHX_ SV* sv, STRLEN* lp, I32 flags);
1359PERL_CALLCONV char*     Perl_sv_2pv_flags(pTHX_ SV* sv, STRLEN* lp, I32 flags);
1360PERL_CALLCONV void      Perl_sv_copypv(pTHX_ SV* dsv, SV* ssv);
1361PERL_CALLCONV char*     Perl_my_atof2(pTHX_ const char *s, NV* value);
1362PERL_CALLCONV int       Perl_my_socketpair(int family, int type, int protocol, int fd[2]);
1363
1364#if defined(USE_PERLIO) && !defined(USE_SFIO)
1365PERL_CALLCONV int       Perl_PerlIO_close(pTHX_ PerlIO *);
1366PERL_CALLCONV int       Perl_PerlIO_fill(pTHX_ PerlIO *);
1367PERL_CALLCONV int       Perl_PerlIO_fileno(pTHX_ PerlIO *);
1368PERL_CALLCONV int       Perl_PerlIO_eof(pTHX_ PerlIO *);
1369PERL_CALLCONV int       Perl_PerlIO_error(pTHX_ PerlIO *);
1370PERL_CALLCONV int       Perl_PerlIO_flush(pTHX_ PerlIO *);
1371PERL_CALLCONV void      Perl_PerlIO_clearerr(pTHX_ PerlIO *);
1372PERL_CALLCONV void      Perl_PerlIO_set_cnt(pTHX_ PerlIO *, int);
1373PERL_CALLCONV void      Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *, STDCHAR *, int);
1374PERL_CALLCONV void      Perl_PerlIO_setlinebuf(pTHX_ PerlIO *);
1375PERL_CALLCONV SSize_t   Perl_PerlIO_read(pTHX_ PerlIO *, void *, Size_t);
1376PERL_CALLCONV SSize_t   Perl_PerlIO_write(pTHX_ PerlIO *, const void *, Size_t);
1377PERL_CALLCONV SSize_t   Perl_PerlIO_unread(pTHX_ PerlIO *, const void *, Size_t);
1378PERL_CALLCONV Off_t     Perl_PerlIO_tell(pTHX_ PerlIO *);
1379PERL_CALLCONV int       Perl_PerlIO_seek(pTHX_ PerlIO *, Off_t, int);
1380
1381PERL_CALLCONV STDCHAR * Perl_PerlIO_get_base(pTHX_ PerlIO *);
1382PERL_CALLCONV STDCHAR * Perl_PerlIO_get_ptr(pTHX_ PerlIO *);
1383PERL_CALLCONV int       Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *);
1384PERL_CALLCONV int       Perl_PerlIO_get_cnt(pTHX_ PerlIO *);
1385
1386PERL_CALLCONV PerlIO *  Perl_PerlIO_stdin(pTHX);
1387PERL_CALLCONV PerlIO *  Perl_PerlIO_stdout(pTHX);
1388PERL_CALLCONV PerlIO *  Perl_PerlIO_stderr(pTHX);
1389#endif /* PERLIO_LAYERS */
1390
1391END_EXTERN_C
1392
Note: See TracBrowser for help on using the repository browser.