initial stub implementation of implicit thread/this
[p5sagit/p5-mst-13.2.git] / proto.h
1 #if defined(WIN32)
2 int&    Perl_ErrorNo(pTHX);
3 #endif
4 #if defined(PERL_GLOBAL_STRUCT)
5 struct perl_vars *      Perl_GetVars(pTHX);
6 #endif
7 bool    Perl_Gv_AMupdate(pTHX_ HV* stash);
8 SV*     Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir);
9 OP*     Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
10 OP*     Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
11 I32     Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
12 void    Perl_assertref(pTHX_ OP* o);
13 void    Perl_av_clear(pTHX_ AV* ar);
14 void    Perl_av_extend(pTHX_ AV* ar, I32 key);
15 AV*     Perl_av_fake(pTHX_ I32 size, SV** svp);
16 SV**    Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval);
17 void    Perl_av_fill(pTHX_ AV* ar, I32 fill);
18 I32     Perl_av_len(pTHX_ AV* ar);
19 AV*     Perl_av_make(pTHX_ I32 size, SV** svp);
20 SV*     Perl_av_pop(pTHX_ AV* ar);
21 void    Perl_av_push(pTHX_ AV* ar, SV* val);
22 void    Perl_av_reify(pTHX_ AV* ar);
23 SV*     Perl_av_shift(pTHX_ AV* ar);
24 SV**    Perl_av_store(pTHX_ AV* ar, I32 key, SV* val);
25 void    Perl_av_undef(pTHX_ AV* ar);
26 void    Perl_av_unshift(pTHX_ AV* ar, I32 num);
27 bool    Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash);
28 SV**    Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash);
29 HE*     Perl_avhv_iternext(pTHX_ AV *ar);
30 SV*     Perl_avhv_iterval(pTHX_ AV *ar, HE* entry);
31 HV*     Perl_avhv_keys(pTHX_ AV *ar);
32 OP*     Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat);
33 OP*     Perl_block_end(pTHX_ I32 floor, OP* seq);
34 I32     Perl_block_gimme(pTHX);
35 int     Perl_block_start(pTHX_ int full);
36 void    Perl_boot_core_UNIVERSAL(pTHX);
37 void*   Perl_bset_obj_store(pTHX_ void *obj, I32 ix);
38 I32     Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv);
39 void    Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
40 void    Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
41 I32     Perl_call_method(pTHX_ const char* methname, I32 flags);
42 I32     Perl_call_pv(pTHX_ const char* sub_name, I32 flags);
43 I32     Perl_call_sv(pTHX_ SV* sv, I32 flags);
44 #if defined(MYMALLOC)
45 Malloc_t        Perl_calloc(pTHX_ MEM_SIZE elements, MEM_SIZE size);
46 #endif
47 I32     Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t* statbufp);
48 I32     Perl_cast_i32(pTHX_ double f);
49 IV      Perl_cast_iv(pTHX_ double f);
50 U32     Perl_cast_ulong(pTHX_ double f);
51 UV      Perl_cast_uv(pTHX_ double f);
52 #if defined(USE_THREADS)
53 MAGIC*  Perl_condpair_magic(pTHX_ SV *sv);
54 #endif
55 OP*     Perl_convert(pTHX_ I32 optype, I32 flags, OP* o);
56 void    Perl_croak(pTHX_ const char* pat, ...) __attribute__((noreturn));
57 void    Perl_cv_ckproto(pTHX_ CV* cv, GV* gv, char* p);
58 CV*     Perl_cv_clone(pTHX_ CV* proto);
59 SV*     Perl_cv_const_sv(pTHX_ CV* cv);
60 void    Perl_cv_undef(pTHX_ CV* cv);
61 void    Perl_cx_dump(pTHX_ PERL_CONTEXT* cs);
62 I32     Perl_cxinc(pTHX);
63 void    Perl_deb(pTHX_ const char* pat, ...);
64 void    Perl_deb_growlevel(pTHX);
65 I32     Perl_debop(pTHX_ OP* o);
66 void    Perl_debprofdump(pTHX);
67 I32     Perl_debstack(pTHX);
68 I32     Perl_debstackptrs(pTHX);
69 void*   Perl_default_protect(pTHX_ int *excpt, protect_body_t body, ...);
70 char*   Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen);
71 void    Perl_deprecate(pTHX_ char* s);
72 OP*     Perl_die(pTHX_ const char* pat, ...);
73 OP*     Perl_die_where(pTHX_ char* message, STRLEN msglen);
74 bool    Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp);
75 int     Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int flag);
76 I32     Perl_do_chomp(pTHX_ SV* sv);
77 void    Perl_do_chop(pTHX_ SV* asv, SV* sv);
78 bool    Perl_do_close(pTHX_ GV* gv, bool not_implicit);
79 bool    Perl_do_eof(pTHX_ GV* gv);
80 bool    Perl_do_exec(pTHX_ char* cmd);
81 #if !defined(WIN32)
82 bool    Perl_do_exec3(pTHX_ char* cmd, int fd, int flag);
83 #endif
84 void    Perl_do_execfree(pTHX);
85 void    Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv);
86 void    Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv);
87 void    Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv);
88 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
89 I32     Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp);
90 #endif
91 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
92 I32     Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp);
93 #endif
94 void    Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp);
95 OP*     Perl_do_kv(pTHX_ ARGSproto);
96 void    Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
97 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
98 I32     Perl_do_msgrcv(pTHX_ SV** mark, SV** sp);
99 #endif
100 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
101 I32     Perl_do_msgsnd(pTHX_ SV** mark, SV** sp);
102 #endif
103 void    Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o);
104 bool    Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
105 void    Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv);
106 void    Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm);
107 bool    Perl_do_print(pTHX_ SV* sv, PerlIO* fp);
108 OP*     Perl_do_readline(pTHX);
109 bool    Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
110 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
111 I32     Perl_do_semop(pTHX_ SV** mark, SV** sp);
112 #endif
113 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
114 I32     Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp);
115 #endif
116 void    Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
117 void    Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
118 Off_t   Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
119 Off_t   Perl_do_tell(pTHX_ GV* gv);
120 I32     Perl_do_trans(pTHX_ SV* sv);
121 void    Perl_do_vecset(pTHX_ SV* sv);
122 void    Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
123 OP*     Perl_dofile(pTHX_ OP* term);
124 void    Perl_dounwind(pTHX_ I32 cxix);
125 I32     Perl_dowantarray(pTHX);
126 void    Perl_dump_all(pTHX);
127 void    Perl_dump_eval(pTHX);
128 #if defined(DUMP_FDS)
129 void    Perl_dump_fds(pTHX_ char* s);
130 #endif
131 void    Perl_dump_form(pTHX_ GV* gv);
132 void    Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...);
133 #if defined(MYMALLOC)
134 void    Perl_dump_mstats(pTHX_ char* s);
135 #endif
136 void    Perl_dump_packsubs(pTHX_ HV* stash);
137 void    Perl_dump_sub(pTHX_ GV* gv);
138 SV*     Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error);
139 I32     Perl_eval_sv(pTHX_ SV* sv, I32 flags);
140 void    Perl_fbm_compile(pTHX_ SV* sv, U32 flags);
141 char*   Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags);
142 SV*     Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
143 void    Perl_filter_del(pTHX_ filter_t funcp);
144 I32     Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen);
145 char*   Perl_find_script(pTHX_ char *scriptname, bool dosearch, char **search_ext, I32 flags);
146 #if defined(USE_THREADS)
147 PADOFFSET       Perl_find_threadsv(pTHX_ const char *name);
148 #endif
149 OP*     Perl_fold_constants(pTHX_ OP* arg);
150 OP*     Perl_force_list(pTHX_ OP* arg);
151 char*   Perl_form(pTHX_ const char* pat, ...);
152 void    Perl_free_tmps(pTHX);
153 OP*     Perl_gen_constant_list(pTHX_ OP* o);
154 AV*     Perl_get_av(pTHX_ const char* name, I32 create);
155 CV*     Perl_get_cv(pTHX_ const char* name, I32 create);
156 HV*     Perl_get_hv(pTHX_ const char* name, I32 create);
157 char*   Perl_get_no_modify(pTHX);
158 char**  Perl_get_op_descs(pTHX);
159 char**  Perl_get_op_names(pTHX);
160 U32*    Perl_get_opargs(pTHX);
161 SV*     Perl_get_sv(pTHX_ const char* name, I32 create);
162 MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id);
163 #if !defined(HAS_GETENV_LEN)
164 char*   Perl_getenv_len(pTHX_ char* key, unsigned long *len);
165 #endif
166 void    Perl_gp_free(pTHX_ GV* gv);
167 GP*     Perl_gp_ref(pTHX_ GP* gp);
168 GV*     Perl_gv_AVadd(pTHX_ GV* gv);
169 GV*     Perl_gv_HVadd(pTHX_ GV* gv);
170 GV*     Perl_gv_IOadd(pTHX_ GV* gv);
171 GV*     Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method);
172 void    Perl_gv_check(pTHX_ HV* stash);
173 void    Perl_gv_dump(pTHX_ GV* gv);
174 void    Perl_gv_efullname(pTHX_ SV* sv, GV* gv);
175 void    Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
176 GV*     Perl_gv_fetchfile(pTHX_ const char* name);
177 GV*     Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level);
178 GV*     Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name);
179 GV*     Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload);
180 GV*     Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type);
181 void    Perl_gv_fullname(pTHX_ SV* sv, GV* gv);
182 void    Perl_gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
183 void    Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi);
184 HV*     Perl_gv_stashpv(pTHX_ const char* name, I32 create);
185 HV*     Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 create);
186 HV*     Perl_gv_stashsv(pTHX_ SV* sv, I32 create);
187 void    Perl_hv_clear(pTHX_ HV* tb);
188 void    Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry);
189 SV*     Perl_hv_delete(pTHX_ HV* tb, const char* key, U32 klen, I32 flags);
190 SV*     Perl_hv_delete_ent(pTHX_ HV* tb, SV* key, I32 flags, U32 hash);
191 bool    Perl_hv_exists(pTHX_ HV* tb, const char* key, U32 klen);
192 bool    Perl_hv_exists_ent(pTHX_ HV* tb, SV* key, U32 hash);
193 SV**    Perl_hv_fetch(pTHX_ HV* tb, const char* key, U32 klen, I32 lval);
194 HE*     Perl_hv_fetch_ent(pTHX_ HV* tb, SV* key, I32 lval, U32 hash);
195 void    Perl_hv_free_ent(pTHX_ HV* hv, HE* entry);
196 I32     Perl_hv_iterinit(pTHX_ HV* tb);
197 char*   Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen);
198 SV*     Perl_hv_iterkeysv(pTHX_ HE* entry);
199 HE*     Perl_hv_iternext(pTHX_ HV* tb);
200 SV*     Perl_hv_iternextsv(pTHX_ HV* hv, char** key, I32* retlen);
201 SV*     Perl_hv_iterval(pTHX_ HV* tb, HE* entry);
202 void    Perl_hv_ksplit(pTHX_ HV* hv, IV newmax);
203 void    Perl_hv_magic(pTHX_ HV* hv, GV* gv, int how);
204 SV**    Perl_hv_store(pTHX_ HV* tb, const char* key, U32 klen, SV* val, U32 hash);
205 HE*     Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash);
206 void    Perl_hv_undef(pTHX_ HV* tb);
207 I32     Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len);
208 I32     Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len);
209 I32     Perl_ingroup(pTHX_ I32 testgid, I32 effective);
210 int     Perl_init_i18nl10n(pTHX_ int printwarn);
211 int     Perl_init_i18nl14n(pTHX_ int printwarn);
212 void    Perl_init_stacks(pTHX_ ARGSproto);
213 char*   Perl_instr(pTHX_ const char* big, const char* little);
214 U32     Perl_intro_my(pTHX);
215 OP*     Perl_invert(pTHX_ OP* cmd);
216 bool    Perl_io_close(pTHX_ IO* io);
217 bool    Perl_is_uni_alnum(pTHX_ U32 c);
218 bool    Perl_is_uni_alnum_lc(pTHX_ U32 c);
219 bool    Perl_is_uni_alpha(pTHX_ U32 c);
220 bool    Perl_is_uni_alpha_lc(pTHX_ U32 c);
221 bool    Perl_is_uni_digit(pTHX_ U32 c);
222 bool    Perl_is_uni_digit_lc(pTHX_ U32 c);
223 bool    Perl_is_uni_idfirst(pTHX_ U32 c);
224 bool    Perl_is_uni_idfirst_lc(pTHX_ U32 c);
225 bool    Perl_is_uni_lower(pTHX_ U32 c);
226 bool    Perl_is_uni_lower_lc(pTHX_ U32 c);
227 bool    Perl_is_uni_print(pTHX_ U32 c);
228 bool    Perl_is_uni_print_lc(pTHX_ U32 c);
229 bool    Perl_is_uni_space(pTHX_ U32 c);
230 bool    Perl_is_uni_space_lc(pTHX_ U32 c);
231 bool    Perl_is_uni_upper(pTHX_ U32 c);
232 bool    Perl_is_uni_upper_lc(pTHX_ U32 c);
233 bool    Perl_is_utf8_alnum(pTHX_ U8 *p);
234 bool    Perl_is_utf8_alpha(pTHX_ U8 *p);
235 bool    Perl_is_utf8_digit(pTHX_ U8 *p);
236 bool    Perl_is_utf8_idfirst(pTHX_ U8 *p);
237 bool    Perl_is_utf8_lower(pTHX_ U8 *p);
238 bool    Perl_is_utf8_mark(pTHX_ U8 *p);
239 bool    Perl_is_utf8_print(pTHX_ U8 *p);
240 bool    Perl_is_utf8_space(pTHX_ U8 *p);
241 bool    Perl_is_utf8_upper(pTHX_ U8 *p);
242 OP*     Perl_jmaybe(pTHX_ OP* arg);
243 I32     Perl_keyword(pTHX_ char* d, I32 len);
244 void    Perl_leave_scope(pTHX_ I32 base);
245 void    Perl_lex_end(pTHX);
246 void    Perl_lex_start(pTHX_ SV* line);
247 OP*     Perl_linklist(pTHX_ OP* o);
248 OP*     Perl_list(pTHX_ OP* o);
249 OP*     Perl_listkids(pTHX_ OP* o);
250 OP*     Perl_localize(pTHX_ OP* arg, I32 lexical);
251 I32     Perl_looks_like_number(pTHX_ SV* sv);
252 int     Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg);
253 int     Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg);
254 int     Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg);
255 int     Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg);
256 void    Perl_magic_dump(pTHX_ MAGIC *mg);
257 int     Perl_magic_existspack(pTHX_ SV* sv, MAGIC* mg);
258 int     Perl_magic_freeregexp(pTHX_ SV* sv, MAGIC* mg);
259 int     Perl_magic_get(pTHX_ SV* sv, MAGIC* mg);
260 int     Perl_magic_getarylen(pTHX_ SV* sv, MAGIC* mg);
261 int     Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg);
262 int     Perl_magic_getglob(pTHX_ SV* sv, MAGIC* mg);
263 int     Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg);
264 int     Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg);
265 int     Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg);
266 int     Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg);
267 int     Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg);
268 int     Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg);
269 int     Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg);
270 int     Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg);
271 int     Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
272 U32     Perl_magic_len(pTHX_ SV* sv, MAGIC* mg);
273 #if defined(USE_THREADS)
274 int     Perl_magic_mutexfree(pTHX_ SV* sv, MAGIC* mg);
275 #endif
276 int     Perl_magic_nextpack(pTHX_ SV* sv, MAGIC* mg, SV* key);
277 U32     Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg);
278 int     Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg);
279 int     Perl_magic_set(pTHX_ SV* sv, MAGIC* mg);
280 int     Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg);
281 int     Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg);
282 int     Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg);
283 int     Perl_magic_setbm(pTHX_ SV* sv, MAGIC* mg);
284 #if defined(USE_LOCALE_COLLATE)
285 int     Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg);
286 #endif
287 int     Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg);
288 int     Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg);
289 int     Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg);
290 int     Perl_magic_setfm(pTHX_ SV* sv, MAGIC* mg);
291 int     Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg);
292 int     Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg);
293 int     Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg);
294 int     Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg);
295 int     Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg);
296 int     Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg);
297 int     Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg);
298 int     Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg);
299 int     Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg);
300 int     Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg);
301 int     Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg);
302 U32     Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg);
303 int     Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg);
304 void    Perl_magicname(pTHX_ char* sym, char* name, I32 namlen);
305 int     main(int argc, char** argv, char** env);
306 #if defined(MYMALLOC)
307 Malloc_t        Perl_malloc(pTHX_ MEM_SIZE nbytes);
308 #endif
309 #if defined(MYMALLOC)
310 MEM_SIZE        Perl_malloced_size(pTHX_ void *p);
311 #endif
312 void    Perl_markstack_grow(pTHX);
313 #if defined(USE_LOCALE_COLLATE)
314 char*   Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen);
315 #endif
316 SV*     Perl_mess(pTHX_ const char* pat, va_list* args);
317 #if defined(MYMALLOC)
318 Free_t  Perl_mfree(pTHX_ Malloc_t where);
319 #endif
320 int     Perl_mg_clear(pTHX_ SV* sv);
321 int     Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen);
322 MAGIC*  Perl_mg_find(pTHX_ SV* sv, int type);
323 int     Perl_mg_free(pTHX_ SV* sv);
324 int     Perl_mg_get(pTHX_ SV* sv);
325 U32     Perl_mg_length(pTHX_ SV* sv);
326 void    Perl_mg_magical(pTHX_ SV* sv);
327 int     Perl_mg_set(pTHX_ SV* sv);
328 I32     Perl_mg_size(pTHX_ SV* sv);
329 OP*     Perl_mod(pTHX_ OP* o, I32 type);
330 char*   Perl_moreswitches(pTHX_ char* s);
331 OP*     Perl_my(pTHX_ OP* o);
332 #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
333 char*   Perl_my_bcopy(pTHX_ const char* from, char* to, I32 len);
334 #endif
335 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
336 char*   Perl_my_bzero(pTHX_ char* loc, I32 len);
337 #endif
338 #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
339 I32     Perl_my_chsize(pTHX_ int fd, Off_t length);
340 #endif
341 void    Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn));
342 void    Perl_my_failure_exit(pTHX) __attribute__((noreturn));
343 I32     Perl_my_fflush_all(pTHX);
344 #if defined(MYSWAP)
345 long    Perl_my_htonl(pTHX_ long l);
346 #endif
347 I32     Perl_my_lstat(pTHX_ ARGSproto);
348 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
349 I32     Perl_my_memcmp(pTHX_ const char* s1, const char* s2, I32 len);
350 #endif
351 #if !defined(HAS_MEMSET)
352 void*   Perl_my_memset(pTHX_ char* loc, I32 ch, I32 len);
353 #endif
354 #if defined(MYSWAP)
355 long    Perl_my_ntohl(pTHX_ long l);
356 #endif
357 #if !defined(PERL_OBJECT)
358 I32     Perl_my_pclose(pTHX_ PerlIO* ptr);
359 #endif
360 #if !defined(PERL_OBJECT)
361 PerlIO* Perl_my_popen(pTHX_ char* cmd, char* mode);
362 #endif
363 void    Perl_my_setenv(pTHX_ char* nam, char* val);
364 I32     Perl_my_stat(pTHX_ ARGSproto);
365 #if defined(MYSWAP)
366 short   Perl_my_swap(pTHX_ short s);
367 #endif
368 void    Perl_my_unexec(pTHX);
369 OP*     Perl_newANONHASH(pTHX_ OP* o);
370 OP*     Perl_newANONLIST(pTHX_ OP* o);
371 OP*     Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
372 OP*     Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right);
373 AV*     Perl_newAV(pTHX);
374 OP*     Perl_newAVREF(pTHX_ OP* o);
375 OP*     Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
376 OP*     Perl_newCONDOP(pTHX_ I32 flags, OP* expr, OP* trueop, OP* falseop);
377 void    Perl_newCONSTSUB(pTHX_ HV* stash, char* name, SV* sv);
378 OP*     Perl_newCVREF(pTHX_ I32 flags, OP* o);
379 void    Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
380 OP*     Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont);
381 OP*     Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv);
382 OP*     Perl_newGVREF(pTHX_ I32 type, OP* o);
383 GV*     Perl_newGVgen(pTHX_ char* pack);
384 HV*     Perl_newHV(pTHX);
385 OP*     Perl_newHVREF(pTHX_ OP* o);
386 HV*     Perl_newHVhv(pTHX_ HV* hv);
387 IO*     Perl_newIO(pTHX);
388 OP*     Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
389 OP*     Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP* left, OP* right);
390 OP*     Perl_newLOOPEX(pTHX_ I32 type, OP* label);
391 OP*     Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block);
392 OP*     Perl_newNULLLIST(pTHX);
393 OP*     Perl_newOP(pTHX_ I32 optype, I32 flags);
394 OP*     Perl_newPMOP(pTHX_ I32 type, I32 flags);
395 void    Perl_newPROG(pTHX_ OP* o);
396 OP*     Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv);
397 OP*     Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right);
398 SV*     Perl_newRV(pTHX_ SV* pref);
399 SV*     Perl_newRV_noinc(pTHX_ SV *sv);
400 OP*     Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop);
401 OP*     Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o);
402 CV*     Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
403 SV*     Perl_newSV(pTHX_ STRLEN len);
404 OP*     Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv);
405 OP*     Perl_newSVREF(pTHX_ OP* o);
406 SV*     Perl_newSViv(pTHX_ IV i);
407 SV*     Perl_newSVnv(pTHX_ double n);
408 SV*     Perl_newSVpv(pTHX_ const char* s, STRLEN len);
409 SV*     Perl_newSVpvf(pTHX_ const char* pat, ...);
410 SV*     Perl_newSVpvn(pTHX_ const char* s, STRLEN len);
411 SV*     Perl_newSVrv(pTHX_ SV* rv, const char* classname);
412 SV*     Perl_newSVsv(pTHX_ SV* old);
413 OP*     Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first);
414 OP*     Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont);
415 CV*     Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
416 void    Perl_new_collate(pTHX_ const char* newcoll);
417 void    Perl_new_ctype(pTHX_ const char* newctype);
418 void    Perl_new_numeric(pTHX_ const char* newcoll);
419 PERL_SI*        Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems);
420 #if defined(USE_THREADS)
421 struct perl_thread*     Perl_new_struct_thread(pTHX_ struct perl_thread *t);
422 #endif
423 PerlIO* Perl_nextargv(pTHX_ GV* gv);
424 char*   Perl_ninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
425 OP*     Perl_oopsAV(pTHX_ OP* o);
426 OP*     Perl_oopsCV(pTHX_ OP* o);
427 OP*     Perl_oopsHV(pTHX_ OP* o);
428 SV*     Perl_op_const_sv(pTHX_ OP* o, CV* cv);
429 void    Perl_op_dump(pTHX_ OP* arg);
430 void    Perl_op_free(pTHX_ OP* arg);
431 void    Perl_package(pTHX_ OP* o);
432 PADOFFSET       Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
433 PADOFFSET       Perl_pad_allocmy(pTHX_ char* name);
434 PADOFFSET       Perl_pad_findmy(pTHX_ char* name);
435 void    Perl_pad_free(pTHX_ PADOFFSET po);
436 void    Perl_pad_leavemy(pTHX_ I32 fill);
437 void    Perl_pad_reset(pTHX);
438 SV*     Perl_pad_sv(pTHX_ PADOFFSET po);
439 void    Perl_pad_swipe(pTHX_ PADOFFSET po);
440 void    Perl_peep(pTHX_ OP* o);
441 #if !defined(PERL_OBJECT)
442 PerlInterpreter*        perl_alloc(void);
443 #endif
444 void    perl_construct(PerlInterpreter* sv_interp);
445 void    perl_destruct(PerlInterpreter* sv_interp);
446 void    perl_free(PerlInterpreter* sv_interp);
447 int     perl_parse(PerlInterpreter* sv_interp, XSINIT_t xsinit, int argc, char** argv, char** env);
448 int     perl_run(PerlInterpreter* sv_interp);
449 void    Perl_pidgone(pTHX_ int pid, int status);
450 void    Perl_pmflag(pTHX_ U16* pmfl, int ch);
451 void    Perl_pmop_dump(pTHX_ PMOP* pm);
452 OP*     Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
453 OP*     Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
454 OP*     Perl_pop_return(pTHX);
455 void    Perl_pop_scope(pTHX);
456 regexp* Perl_pregcomp(pTHX_ char* exp, char* xend, PMOP* pm);
457 I32     Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave);
458 void    Perl_pregfree(pTHX_ struct regexp* r);
459 OP*     Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail);
460 void    Perl_push_return(pTHX_ OP* o);
461 void    Perl_push_scope(pTHX);
462 char*   Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim);
463 #if defined(MYMALLOC)
464 Malloc_t        Perl_realloc(pTHX_ Malloc_t where, MEM_SIZE nbytes);
465 #endif
466 OP*     Perl_ref(pTHX_ OP* o, I32 type);
467 OP*     Perl_refkids(pTHX_ OP* o, I32 type);
468 void    Perl_regdump(pTHX_ regexp* r);
469 I32     Perl_regexec_flags(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags);
470 void    Perl_reginitcolors(pTHX);
471 regnode*        Perl_regnext(pTHX_ regnode* p);
472 void    Perl_regprop(pTHX_ SV* sv, regnode* o);
473 void    Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count);
474 void    Perl_require_pv(pTHX_ const char* pv);
475 char*   Perl_rninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
476 Sighandler_t    Perl_rsignal(pTHX_ int i, Sighandler_t t);
477 int     Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t);
478 int     Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* t2);
479 Sighandler_t    Perl_rsignal_state(pTHX_ int i);
480 int     Perl_runops_debug(pTHX);
481 int     Perl_runops_standard(pTHX);
482 void    Perl_rxres_free(pTHX_ void** rsp);
483 void    Perl_rxres_restore(pTHX_ void** rsp, REGEXP* prx);
484 void    Perl_rxres_save(pTHX_ void** rsp, REGEXP* prx);
485 Malloc_t        Perl_safesyscalloc(pTHX_ MEM_SIZE elements, MEM_SIZE size);
486 Free_t  Perl_safesysfree(pTHX_ Malloc_t where);
487 Malloc_t        Perl_safesysmalloc(pTHX_ MEM_SIZE nbytes);
488 Malloc_t        Perl_safesysrealloc(pTHX_ Malloc_t where, MEM_SIZE nbytes);
489 #if defined(LEAKTEST)
490 Malloc_t        Perl_safexcalloc(pTHX_ I32 x, MEM_SIZE elements, MEM_SIZE size);
491 #endif
492 #if defined(LEAKTEST)
493 void    Perl_safexfree(pTHX_ Malloc_t where);
494 #endif
495 #if defined(LEAKTEST)
496 Malloc_t        Perl_safexmalloc(pTHX_ I32 x, MEM_SIZE size);
497 #endif
498 #if defined(LEAKTEST)
499 Malloc_t        Perl_safexrealloc(pTHX_ Malloc_t where, MEM_SIZE size);
500 #endif
501 #if !defined(HAS_RENAME)
502 I32     Perl_same_dirent(pTHX_ char* a, char* b);
503 #endif
504 void    Perl_save_I16(pTHX_ I16* intp);
505 void    Perl_save_I32(pTHX_ I32* intp);
506 void    Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr);
507 I32     Perl_save_alloc(pTHX_ I32 size, I32 pad);
508 void    Perl_save_aptr(pTHX_ AV** aptr);
509 AV*     Perl_save_ary(pTHX_ GV* gv);
510 void    Perl_save_clearsv(pTHX_ SV** svp);
511 void    Perl_save_delete(pTHX_ HV* hv, char* key, I32 klen);
512 void    Perl_save_destructor(pTHX_ DESTRUCTORFUNC_t f, void* p);
513 void    Perl_save_freeop(pTHX_ OP* o);
514 void    Perl_save_freepv(pTHX_ char* pv);
515 void    Perl_save_freesv(pTHX_ SV* sv);
516 void    Perl_save_generic_svref(pTHX_ SV** sptr);
517 void    Perl_save_gp(pTHX_ GV* gv, I32 empty);
518 HV*     Perl_save_hash(pTHX_ GV* gv);
519 void    Perl_save_helem(pTHX_ HV* hv, SV *key, SV **sptr);
520 void    Perl_save_hints(pTHX);
521 void    Perl_save_hptr(pTHX_ HV** hptr);
522 void    Perl_save_int(pTHX_ int* intp);
523 void    Perl_save_item(pTHX_ SV* item);
524 void    Perl_save_iv(pTHX_ IV* iv);
525 void    Perl_save_list(pTHX_ SV** sarg, I32 maxsarg);
526 void    Perl_save_long(pTHX_ long* longp);
527 void    Perl_save_nogv(pTHX_ GV* gv);
528 void    Perl_save_op(pTHX);
529 void    Perl_save_pptr(pTHX_ char** pptr);
530 void    Perl_save_re_context(pTHX);
531 SV*     Perl_save_scalar(pTHX_ GV* gv);
532 void    Perl_save_sptr(pTHX_ SV** sptr);
533 SV*     Perl_save_svref(pTHX_ SV** sptr);
534 SV**    Perl_save_threadsv(pTHX_ PADOFFSET i);
535 char*   Perl_savepv(pTHX_ const char* sv);
536 char*   Perl_savepvn(pTHX_ const char* sv, I32 len);
537 void    Perl_savestack_grow(pTHX);
538 OP*     Perl_sawparens(pTHX_ OP* o);
539 OP*     Perl_scalar(pTHX_ OP* o);
540 OP*     Perl_scalarkids(pTHX_ OP* o);
541 OP*     Perl_scalarseq(pTHX_ OP* o);
542 OP*     Perl_scalarvoid(pTHX_ OP* o);
543 UV      Perl_scan_bin(pTHX_ char* start, I32 len, I32* retlen);
544 UV      Perl_scan_hex(pTHX_ char* start, I32 len, I32* retlen);
545 char*   Perl_scan_num(pTHX_ char* s);
546 UV      Perl_scan_oct(pTHX_ char* start, I32 len, I32* retlen);
547 OP*     Perl_scope(pTHX_ OP* o);
548 char*   Perl_screaminstr(pTHX_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last);
549 void    Perl_set_numeric_local(pTHX);
550 void    Perl_set_numeric_standard(pTHX);
551 void    Perl_setdefout(pTHX_ GV* gv);
552 #if !defined(VMS)
553 I32     Perl_setenv_getix(pTHX_ char* nam);
554 #endif
555 HEK*    Perl_share_hek(pTHX_ const char* sv, I32 len, U32 hash);
556 char*   Perl_sharepvn(pTHX_ const char* sv, I32 len, U32 hash);
557 Signal_t        Perl_sighandler(pTHX_ int sig);
558 SV**    Perl_stack_grow(pTHX_ SV** sp, SV**p, int n);
559 I32     Perl_start_subparse(pTHX_ I32 is_format, U32 flags);
560 void    Perl_sub_crush_depth(pTHX_ CV* cv);
561 bool    Perl_sv_2bool(pTHX_ SV* sv);
562 CV*     Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref);
563 IO*     Perl_sv_2io(pTHX_ SV* sv);
564 IV      Perl_sv_2iv(pTHX_ SV* sv);
565 SV*     Perl_sv_2mortal(pTHX_ SV* sv);
566 double  Perl_sv_2nv(pTHX_ SV* sv);
567 char*   Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp);
568 char*   Perl_sv_2pv_nolen(pTHX_ SV* sv);
569 UV      Perl_sv_2uv(pTHX_ SV* sv);
570 void    Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags);
571 int     Perl_sv_backoff(pTHX_ SV* sv);
572 SV*     Perl_sv_bless(pTHX_ SV* sv, HV* stash);
573 void    Perl_sv_catpv(pTHX_ SV* sv, const char* ptr);
574 void    Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr);
575 void    Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...);
576 void    Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...);
577 void    Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
578 void    Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
579 void    Perl_sv_catsv(pTHX_ SV* dsv, SV* ssv);
580 void    Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr);
581 void    Perl_sv_chop(pTHX_ SV* sv, char* ptr);
582 void    Perl_sv_clean_all(pTHX);
583 void    Perl_sv_clean_objs(pTHX);
584 void    Perl_sv_clear(pTHX_ SV* sv);
585 I32     Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2);
586 I32     Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2);
587 #if defined(USE_LOCALE_COLLATE)
588 char*   Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp);
589 #endif
590 OP*     Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, char* code, AV** avp);
591 void    Perl_sv_dec(pTHX_ SV* sv);
592 bool    Perl_sv_derived_from(pTHX_ SV* sv, const char* name);
593 void    Perl_sv_dump(pTHX_ SV* sv);
594 I32     Perl_sv_eq(pTHX_ SV* sv1, SV* sv2);
595 void    Perl_sv_force_normal(pTHX_ SV *sv);
596 void    Perl_sv_free(pTHX_ SV* sv);
597 void    Perl_sv_free_arenas(pTHX);
598 char*   Perl_sv_gets(pTHX_ SV* sv, PerlIO* fp, I32 append);
599 char*   Perl_sv_grow(pTHX_ SV* sv, STRLEN newlen);
600 void    Perl_sv_inc(pTHX_ SV* sv);
601 void    Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen);
602 int     Perl_sv_isa(pTHX_ SV* sv, const char* name);
603 int     Perl_sv_isobject(pTHX_ SV* sv);
604 IV      Perl_sv_iv(pTHX_ SV* sv);
605 STRLEN  Perl_sv_len(pTHX_ SV* sv);
606 STRLEN  Perl_sv_len_utf8(pTHX_ SV* sv);
607 void    Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen);
608 SV*     Perl_sv_mortalcopy(pTHX_ SV* oldsv);
609 SV*     Perl_sv_newmortal(pTHX);
610 SV*     Perl_sv_newref(pTHX_ SV* sv);
611 double  Perl_sv_nv(pTHX_ SV* sv);
612 char*   Perl_sv_peek(pTHX_ SV* sv);
613 void    Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp);
614 void    Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp);
615 char*   Perl_sv_pv(pTHX_ SV *sv);
616 char*   Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len);
617 char*   Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp);
618 char*   Perl_sv_reftype(pTHX_ SV* sv, int ob);
619 void    Perl_sv_replace(pTHX_ SV* sv, SV* nsv);
620 void    Perl_sv_report_used(pTHX);
621 void    Perl_sv_reset(pTHX_ char* s, HV* stash);
622 SV*     Perl_sv_rvweaken(pTHX_ SV *sv);
623 void    Perl_sv_setiv(pTHX_ SV* sv, IV num);
624 void    Perl_sv_setiv_mg(pTHX_ SV *sv, IV i);
625 void    Perl_sv_setnv(pTHX_ SV* sv, double num);
626 void    Perl_sv_setnv_mg(pTHX_ SV *sv, double num);
627 void    Perl_sv_setpv(pTHX_ SV* sv, const char* ptr);
628 void    Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr);
629 void    Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...);
630 void    Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...);
631 void    Perl_sv_setpviv(pTHX_ SV* sv, IV num);
632 void    Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv);
633 void    Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
634 void    Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
635 SV*     Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv);
636 SV*     Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, double nv);
637 SV*     Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv);
638 SV*     Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, char* pv, STRLEN n);
639 void    Perl_sv_setsv(pTHX_ SV* dsv, SV* ssv);
640 void    Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr);
641 void    Perl_sv_setuv(pTHX_ SV* sv, UV num);
642 void    Perl_sv_setuv_mg(pTHX_ SV *sv, UV u);
643 void    Perl_sv_taint(pTHX_ SV* sv);
644 bool    Perl_sv_tainted(pTHX_ SV* sv);
645 I32     Perl_sv_true(pTHX_ SV *sv);
646 int     Perl_sv_unmagic(pTHX_ SV* sv, int type);
647 void    Perl_sv_unref(pTHX_ SV* sv);
648 void    Perl_sv_untaint(pTHX_ SV* sv);
649 bool    Perl_sv_upgrade(pTHX_ SV* sv, U32 mt);
650 void    Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len);
651 void    Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len);
652 UV      Perl_sv_uv(pTHX_ SV* sv);
653 void    Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
654 void    Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
655 UV      Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr);
656 SV*     Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none);
657 void    Perl_taint_env(pTHX);
658 void    Perl_taint_proper(pTHX_ const char* f, char* s);
659 void    Perl_tmps_grow(pTHX_ I32 n);
660 U32     Perl_to_uni_lower(pTHX_ U32 c);
661 U32     Perl_to_uni_lower_lc(pTHX_ U32 c);
662 U32     Perl_to_uni_title(pTHX_ U32 c);
663 U32     Perl_to_uni_title_lc(pTHX_ U32 c);
664 U32     Perl_to_uni_upper(pTHX_ U32 c);
665 U32     Perl_to_uni_upper_lc(pTHX_ U32 c);
666 UV      Perl_to_utf8_lower(pTHX_ U8 *p);
667 UV      Perl_to_utf8_title(pTHX_ U8 *p);
668 UV      Perl_to_utf8_upper(pTHX_ U8 *p);
669 #if defined(UNLINK_ALL_VERSIONS)
670 I32     Perl_unlnk(pTHX_ char* f);
671 #endif
672 #if defined(USE_THREADS)
673 void    Perl_unlock_condpair(pTHX_ void* svv);
674 #endif
675 void    Perl_unshare_hek(pTHX_ HEK* hek);
676 void    Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
677 U8*     Perl_utf16_to_utf8(pTHX_ U16* p, U8 *d, I32 bytelen);
678 U8*     Perl_utf16_to_utf8_reversed(pTHX_ U16* p, U8 *d, I32 bytelen);
679 I32     Perl_utf8_distance(pTHX_ U8 *a, U8 *b);
680 U8*     Perl_utf8_hop(pTHX_ U8 *s, I32 off);
681 UV      Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen);
682 void    Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* id, OP* arg);
683 U8*     Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
684 void    Perl_vivify_defelem(pTHX_ SV* sv);
685 void    Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
686 I32     Perl_wait4pid(pTHX_ int pid, int* statusp, int flags);
687 void    Perl_warn(pTHX_ const char* pat, ...);
688 void    Perl_warner(pTHX_ U32 err, const char* pat, ...);
689 void    Perl_watch(pTHX_ char** addr);
690 I32     Perl_whichsig(pTHX_ char* sig);
691 void    Perl_yydestruct(pTHX_ void *ptr);
692 int     Perl_yyerror(pTHX_ char* s);
693 #if !defined(USE_PURE_BISON)
694 int     Perl_yylex(pTHX);
695 #endif
696 int     Perl_yyparse(pTHX);
697 int     Perl_yywarn(pTHX_ char* s);
698 #if defined(PL_OP_SLAB_ALLOC) && defined(PERL_IN_OP_C)
699 STATIC void*    Slab_Alloc(pTHX_ int m, size_t sz);
700 #endif
701 #if defined(PERL_IN_REGCOMP_C)
702 STATIC I32      add_data(pTHX_ I32 n, char *s);
703 #endif
704 #if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
705 STATIC void     add_to_chain(pTHX_ void *p, MEM_SIZE size, MEM_SIZE chip);
706 #endif
707 #if defined(PERL_IN_PP_CTL_C)
708 STATIC I32      amagic_cmp(pTHX_ SV *str1, SV *str2);
709 #endif
710 #if defined(PERL_IN_PP_CTL_C)
711 STATIC I32      amagic_cmp_locale(pTHX_ SV *str1, SV *str2);
712 #endif
713 #if defined(PERL_IN_PP_CTL_C)
714 STATIC I32      amagic_i_ncmp(pTHX_ SV *a, SV *b);
715 #endif
716 #if defined(PERL_IN_PP_CTL_C)
717 STATIC I32      amagic_ncmp(pTHX_ SV *a, SV *b);
718 #endif
719 #if defined(PERL_IN_TOKE_C)
720 STATIC int      ao(pTHX_ int toketype);
721 #endif
722 #if defined(PERL_IN_SV_C)
723 STATIC IV       asIV(pTHX_ SV* sv);
724 #endif
725 #if defined(PERL_IN_SV_C)
726 STATIC UV       asUV(pTHX_ SV* sv);
727 #endif
728 #if defined(PERL_IN_AV_C)
729 STATIC I32      avhv_index_sv(pTHX_ SV* sv);
730 #endif
731 #if defined(PERL_IN_OP_C)
732 STATIC void     bad_type(pTHX_ I32 n, char *t, char *name, OP *kid);
733 #endif
734 #if defined(MYMALLOC) && defined(DEBUGGING) && defined(PERL_IN_MALLOC_C)
735 STATIC void     botch(pTHX_ char *diag, char *s);
736 #endif
737 #if defined(PERL_IN_REGEXEC_C)
738 STATIC void     cache_re(pTHX_ regexp *prog);
739 #endif
740 #if defined(PERL_IN_PERL_C)
741 STATIC void*    call_body(pTHX_ va_list args);
742 #endif
743 #if defined(PERL_IN_PERL_C)
744 STATIC void*    call_list_body(pTHX_ va_list args);
745 #endif
746 #if defined(PERL_IN_PERL_C)
747 STATIC void     call_xbody(pTHX_ OP *myop, int is_eval);
748 #endif
749 #if defined(PERL_IN_TOKE_C)
750 STATIC void     check_uni(pTHX);
751 #endif
752 #if defined(PERL_IN_TOKE_C)
753 STATIC void     checkcomma(pTHX_ char *s, char *name, char *what);
754 #endif
755 #if defined(PERL_IN_REGCOMP_C)
756 STATIC void     clear_re(pTHX_ void *r);
757 #endif
758 #if defined(PERL_IN_OP_C)
759 STATIC CV*      cv_clone2(pTHX_ CV *proto, CV *outside);
760 #endif
761 #if defined(PERL_IN_RUN_C)
762 STATIC void     debprof(pTHX_ OP *o);
763 #endif
764 #if defined(PERL_IN_HV_C)
765 STATIC void     del_he(pTHX_ HE *p);
766 #endif
767 #if defined(DEBUGGING) && defined(PERL_IN_SV_C)
768 STATIC void     del_sv(pTHX_ SV *p);
769 #endif
770 #if defined(PERL_IN_SV_C)
771 STATIC void     del_xiv(pTHX_ XPVIV* p);
772 #endif
773 #if defined(PERL_IN_SV_C)
774 STATIC void     del_xnv(pTHX_ XPVNV* p);
775 #endif
776 #if defined(PERL_IN_SV_C)
777 STATIC void     del_xpv(pTHX_ XPV* p);
778 #endif
779 #if defined(PERL_IN_SV_C)
780 STATIC void     del_xrv(pTHX_ XRV* p);
781 #endif
782 #if defined(PERL_IN_TOKE_C)
783 STATIC void     depcom(pTHX);
784 #endif
785 #if defined(PERL_IN_PP_C)
786 STATIC int      div128(pTHX_ SV *pnum, bool *done);
787 #endif
788 #if defined(WIN32) && defined(PERL_IN_GLOBALS_C)
789 STATIC int      do_aspawn(pTHX_ void *vreally, void **vmark, void **vsp);
790 #endif
791 #if defined(PERL_IN_SV_C)
792 STATIC void     do_clean_all(pTHX_ SV *sv);
793 #endif
794 #if defined(PERL_IN_SV_C)
795 STATIC void     do_clean_named_objs(pTHX_ SV *sv);
796 #endif
797 #if defined(PERL_IN_SV_C)
798 STATIC void     do_clean_objs(pTHX_ SV *sv);
799 #endif
800 #if defined(PERL_IN_SV_C)
801 STATIC void     do_report_used(pTHX_ SV *sv);
802 #endif
803 #if defined(PERL_IN_DOOP_C)
804 STATIC I32      do_trans_CC_complex(pTHX_ SV *sv);
805 #endif
806 #if defined(PERL_IN_DOOP_C)
807 STATIC I32      do_trans_CC_count(pTHX_ SV *sv);
808 #endif
809 #if defined(PERL_IN_DOOP_C)
810 STATIC I32      do_trans_CC_simple(pTHX_ SV *sv);
811 #endif
812 #if defined(PERL_IN_DOOP_C)
813 STATIC I32      do_trans_CU_simple(pTHX_ SV *sv);
814 #endif
815 #if defined(PERL_IN_DOOP_C)
816 STATIC I32      do_trans_CU_trivial(pTHX_ SV *sv);
817 #endif
818 #if defined(PERL_IN_DOOP_C)
819 STATIC I32      do_trans_UC_simple(pTHX_ SV *sv);
820 #endif
821 #if defined(PERL_IN_DOOP_C)
822 STATIC I32      do_trans_UC_trivial(pTHX_ SV *sv);
823 #endif
824 #if defined(PERL_IN_DOOP_C)
825 STATIC I32      do_trans_UU_complex(pTHX_ SV *sv);
826 #endif
827 #if defined(PERL_IN_DOOP_C)
828 STATIC I32      do_trans_UU_count(pTHX_ SV *sv);
829 #endif
830 #if defined(PERL_IN_DOOP_C)
831 STATIC I32      do_trans_UU_simple(pTHX_ SV *sv);
832 #endif
833 #if defined(PERL_IN_PP_CTL_C)
834 STATIC OP*      docatch(pTHX_ OP *o);
835 #endif
836 #if defined(PERL_IN_PP_CTL_C)
837 STATIC void*    docatch_body(pTHX_ va_list args);
838 #endif
839 #if defined(PERL_IN_PP_C)
840 STATIC void     doencodes(pTHX_ SV* sv, char* s, I32 len);
841 #endif
842 #if defined(PERL_IN_PP_CTL_C)
843 STATIC OP*      doeval(pTHX_ int gimme, OP** startop);
844 #endif
845 #if defined(PERL_IN_PP_CTL_C)
846 STATIC OP*      dofindlabel(pTHX_ OP *o, char *label, OP **opstack, OP **oplimit);
847 #endif
848 #if defined(PERL_IN_PP_SYS_C)
849 STATIC OP*      doform(pTHX_ CV *cv, GV *gv, OP *retop);
850 #endif
851 #if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) && defined(PERL_IN_PP_SYS_C)
852 STATIC int      dooneliner(pTHX_ char *cmd, char *filename);
853 #endif
854 #if defined(PERL_IN_PP_CTL_C)
855 STATIC PerlIO * doopen_pmc(pTHX_ const char *name, const char *mode);
856 #endif
857 #if defined(PERL_IN_PP_CTL_C)
858 STATIC void     doparseform(pTHX_ SV *sv);
859 #endif
860 #if defined(PERL_IN_PP_CTL_C)
861 STATIC I32      dopoptoeval(pTHX_ I32 startingblock);
862 #endif
863 #if defined(PERL_IN_PP_CTL_C)
864 STATIC I32      dopoptolabel(pTHX_ char *label);
865 #endif
866 #if defined(PERL_IN_PP_CTL_C)
867 STATIC I32      dopoptoloop(pTHX_ I32 startingblock);
868 #endif
869 #if defined(PERL_IN_PP_CTL_C)
870 STATIC I32      dopoptosub(pTHX_ I32 startingblock);
871 #endif
872 #if defined(PERL_IN_PP_CTL_C)
873 STATIC I32      dopoptosub_at(pTHX_ PERL_CONTEXT* cxstk, I32 startingblock);
874 #endif
875 #if defined(PERL_IN_REGCOMP_C)
876 STATIC regnode* dumpuntil(pTHX_ regnode *start, regnode *node, regnode *last, SV* sv, I32 l);
877 #endif
878 #if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
879 STATIC Malloc_t emergency_sbrk(pTHX_ MEM_SIZE size);
880 #endif
881 #if defined(PERL_IN_PP_SYS_C)
882 STATIC int      emulate_eaccess(pTHX_ const char* path, int mode);
883 #endif
884 #if defined(FCNTL_EMULATE_FLOCK) && defined(PERL_IN_PP_SYS_C)
885 STATIC int      fcntl_emulate_flock(pTHX_ int fd, int operation);
886 #endif
887 #if defined(IAMSUID) && defined(PERL_IN_PERL_C)
888 STATIC int      fd_on_nosuid_fs(pTHX_ int fd);
889 #endif
890 #if defined(PERL_IN_TOKE_C)
891 STATIC char *   filter_gets(pTHX_ SV *sv, PerlIO *fp, STRLEN append);
892 #endif
893 #if defined(PERL_IN_PERL_C)
894 STATIC void     find_beginning(pTHX);
895 #endif
896 #if defined(PERL_IN_PERL_C)
897 STATIC void     forbid_setid(pTHX_ char *);
898 #endif
899 #if defined(PERL_IN_TOKE_C)
900 STATIC void     force_ident(pTHX_ char *s, int kind);
901 #endif
902 #if defined(PERL_IN_TOKE_C)
903 STATIC void     force_next(pTHX_ I32 type);
904 #endif
905 #if defined(PERL_IN_TOKE_C)
906 STATIC char*    force_version(pTHX_ char *start);
907 #endif
908 #if defined(PERL_IN_TOKE_C)
909 STATIC char*    force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack, int allow_tick);
910 #endif
911 #if defined(PERL_IN_PP_CTL_C)
912 STATIC void     free_closures(pTHX);
913 #endif
914 #if defined(PERL_IN_PP_HOT_C)
915 STATIC CV*      get_db_sub(pTHX_ SV **svp, CV *cv);
916 #endif
917 #if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
918 STATIC void*    get_from_bigger_buckets(pTHX_ int bucket, MEM_SIZE size);
919 #endif
920 #if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
921 STATIC void*    get_from_chain(pTHX_ MEM_SIZE size);
922 #endif
923 #if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
924 STATIC union overhead * getpages(pTHX_ int needed, int *nblksp, int bucket);
925 #endif
926 #if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
927 STATIC int      getpages_adjacent(pTHX_ int require);
928 #endif
929 #if defined(PERL_IN_OP_C)
930 STATIC char*    gv_ename(pTHX_ GV *gv);
931 #endif
932 #if defined(PERL_IN_GV_C)
933 STATIC void     gv_init_sv(pTHX_ GV *gv, I32 sv_type);
934 #endif
935 #if defined(PERL_IN_HV_C)
936 STATIC void     hfreeentries(pTHX_ HV *hv);
937 #endif
938 #if defined(PERL_IN_HV_C)
939 STATIC void     hsplit(pTHX_ HV *hv);
940 #endif
941 #if defined(PERL_IN_HV_C)
942 STATIC void     hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store);
943 #endif
944 #if defined(PERL_IN_TOKE_C)
945 STATIC char*    incl_perldb(pTHX);
946 #endif
947 #if defined(PERL_IN_TOKE_C)
948 STATIC void     incline(pTHX_ char *s);
949 #endif
950 #if defined(PERL_IN_PERL_C)
951 STATIC void     incpush(pTHX_ char *, int);
952 #endif
953 #if defined(PERL_IN_PERL_C)
954 STATIC void     init_debugger(pTHX);
955 #endif
956 #if defined(PERL_IN_PERL_C)
957 STATIC void     init_ids(pTHX);
958 #endif
959 #if defined(PERL_IN_PERL_C)
960 STATIC void     init_interp(pTHX);
961 #endif
962 #if defined(PERL_IN_PERL_C)
963 STATIC void     init_lexer(pTHX);
964 #endif
965 #if defined(PERL_IN_PERL_C)
966 STATIC void     init_main_stash(pTHX);
967 #endif
968 #if defined(USE_THREADS) && defined(PERL_IN_PERL_C)
969 STATIC struct perl_thread *     init_main_thread(pTHX);
970 #endif
971 #if defined(PERL_IN_PERL_C)
972 STATIC void     init_perllib(pTHX);
973 #endif
974 #if defined(PERL_IN_PERL_C)
975 STATIC void     init_postdump_symbols(pTHX_ int, char **, char **);
976 #endif
977 #if defined(PERL_IN_PERL_C)
978 STATIC void     init_predump_symbols(pTHX);
979 #endif
980 #if defined(PERL_IN_TOKE_C)
981 STATIC int      intuit_method(pTHX_ char *s, GV *gv);
982 #endif
983 #if defined(PERL_IN_TOKE_C)
984 STATIC int      intuit_more(pTHX_ char *s);
985 #endif
986 #if defined(PERL_IN_PP_C)
987 STATIC SV*      is_an_int(pTHX_ char *s, STRLEN l);
988 #endif
989 #if defined(PERL_IN_OP_C)
990 STATIC bool     is_handle_constructor(pTHX_ OP *o, I32 argnum);
991 #endif
992 #if defined(PERL_IN_UNIVERSAL_C)
993 STATIC SV*      isa_lookup(pTHX_ HV *stash, const char *name, int len, int level);
994 #endif
995 #if defined(PERL_IN_OP_C)
996 STATIC I32      list_assignment(pTHX_ OP *o);
997 #endif
998 #if defined(LOCKF_EMULATE_FLOCK) && defined(PERL_IN_PP_SYS_C)
999 STATIC int      lockf_emulate_flock(pTHX_ int fd, int operation);
1000 #endif
1001 #if defined(PERL_IN_TOKE_C)
1002 STATIC I32      lop(pTHX_ I32 f, expectation x, char *s);
1003 #endif
1004 #if defined(PERL_IN_MG_C)
1005 STATIC int      magic_methcall(pTHX_ SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val);
1006 #endif
1007 #if defined(PERL_IN_MG_C)
1008 STATIC int      magic_methpack(pTHX_ SV *sv, MAGIC *mg, char *meth);
1009 #endif
1010 #if defined(PERL_IN_UTIL_C)
1011 STATIC SV*      mess_alloc(pTHX);
1012 #endif
1013 #if defined(PERL_IN_TOKE_C)
1014 STATIC void     missingterm(pTHX_ char *s);
1015 #endif
1016 #if defined(PERL_IN_OP_C)
1017 STATIC OP*      modkids(pTHX_ OP *o, I32 type);
1018 #endif
1019 #if defined(PERL_IN_HV_C)
1020 STATIC void     more_he(pTHX);
1021 #endif
1022 #if defined(PERL_IN_SV_C)
1023 STATIC SV*      more_sv(pTHX);
1024 #endif
1025 #if defined(PERL_IN_SV_C)
1026 STATIC void     more_xiv(pTHX);
1027 #endif
1028 #if defined(PERL_IN_SV_C)
1029 STATIC void     more_xnv(pTHX);
1030 #endif
1031 #if defined(PERL_IN_SV_C)
1032 STATIC void     more_xpv(pTHX);
1033 #endif
1034 #if defined(PERL_IN_SV_C)
1035 STATIC void     more_xrv(pTHX);
1036 #endif
1037 #if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
1038 STATIC void     morecore(pTHX_ int bucket);
1039 #endif
1040 #if defined(PERL_IN_PP_C)
1041 STATIC SV*      mul128(pTHX_ SV *sv, U8 m);
1042 #endif
1043 #if defined(PERL_IN_PERL_C)
1044 STATIC void     my_exit_jump(pTHX) __attribute__((noreturn));
1045 #endif
1046 #if !defined(PURIFY) && defined(PERL_IN_SV_C)
1047 STATIC void*    my_safemalloc(pTHX_ MEM_SIZE size);
1048 #endif
1049 #if defined(PERL_IN_OP_C)
1050 STATIC OP*      newDEFSVOP(pTHX);
1051 #endif
1052 #if defined(PERL_IN_TOKE_C)
1053 STATIC SV*      new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type);
1054 #endif
1055 #if defined(PERL_IN_HV_C)
1056 STATIC HE*      new_he(pTHX);
1057 #endif
1058 #if defined(PERL_IN_OP_C)
1059 STATIC OP*      new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp);
1060 #endif
1061 #if defined(PERL_IN_SV_C)
1062 STATIC XPVIV*   new_xiv(pTHX);
1063 #endif
1064 #if defined(PERL_IN_SV_C)
1065 STATIC XPVNV*   new_xnv(pTHX);
1066 #endif
1067 #if defined(PERL_IN_SV_C)
1068 STATIC XPV*     new_xpv(pTHX);
1069 #endif
1070 #if defined(PERL_IN_SV_C)
1071 STATIC XRV*     new_xrv(pTHX);
1072 #endif
1073 #if defined(PERL_IN_REGCOMP_C)
1074 STATIC char*    nextchar(pTHX);
1075 #endif
1076 #if defined(PERL_IN_OP_C)
1077 STATIC void     no_bareword_allowed(pTHX_ OP *o);
1078 #endif
1079 #if defined(PERL_IN_OP_C)
1080 STATIC OP*      no_fh_allowed(pTHX_ OP *o);
1081 #endif
1082 #if defined(PERL_IN_TOKE_C)
1083 STATIC void     no_op(pTHX_ char *what, char *s);
1084 #endif
1085 #if defined(PERL_IN_SV_C)
1086 STATIC void     not_a_number(pTHX_ SV *sv);
1087 #endif
1088 #if defined(PERL_IN_PERL_C)
1089 STATIC void     nuke_stacks(pTHX);
1090 #endif
1091 #if defined(PERL_IN_OP_C)
1092 STATIC void     null(pTHX_ OP* o);
1093 #endif
1094 #if defined(PERL_IN_PERL_C)
1095 STATIC void     open_script(pTHX_ char *, bool, SV *, int *fd);
1096 #endif
1097 #if defined(PERL_IN_OP_C)
1098 STATIC PADOFFSET        pad_findlex(pTHX_ char* name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix, I32 saweval, U32 flags);
1099 #endif
1100 #if defined(PERL_IN_PERL_C)
1101 STATIC void*    parse_body(pTHX_ va_list args);
1102 #endif
1103 #if defined(PERL_IN_PP_CTL_C)
1104 STATIC void     qsortsv(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t f);
1105 #endif
1106 #if defined(PERL_IN_REGCOMP_C)
1107 STATIC void     re_croak2(pTHX_ const char* pat1, const char* pat2, ...) __attribute__((noreturn));
1108 #endif
1109 #if defined(PERL_IN_PERL_C)
1110 STATIC I32      read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen);
1111 #endif
1112 #if defined(PERL_IN_PP_C)
1113 STATIC SV*      refto(pTHX_ SV* sv);
1114 #endif
1115 #if defined(PERL_IN_REGCOMP_C)
1116 STATIC regnode* reg(pTHX_ I32, I32 *);
1117 #endif
1118 #if defined(PURIFY) && defined(PERL_IN_SV_C)
1119 STATIC void     reg_add(pTHX_ SV *sv);
1120 #endif
1121 #if defined(PERL_IN_REGCOMP_C)
1122 STATIC regnode* reg_node(pTHX_ U8);
1123 #endif
1124 #if defined(PURIFY) && defined(PERL_IN_SV_C)
1125 STATIC void     reg_remove(pTHX_ SV *sv);
1126 #endif
1127 #if defined(PERL_IN_REGCOMP_C)
1128 STATIC regnode* reganode(pTHX_ U8, U32);
1129 #endif
1130 #if defined(PERL_IN_REGCOMP_C)
1131 STATIC regnode* regatom(pTHX_ I32 *);
1132 #endif
1133 #if defined(PERL_IN_REGCOMP_C)
1134 STATIC regnode* regbranch(pTHX_ I32 *, I32);
1135 #endif
1136 #if defined(PERL_IN_REGCOMP_C)
1137 STATIC void     regc(pTHX_ U8, char *);
1138 #endif
1139 #if defined(PERL_IN_REGCOMP_C)
1140 STATIC regnode* regclass(pTHX);
1141 #endif
1142 #if defined(PERL_IN_REGCOMP_C)
1143 STATIC regnode* regclassutf8(pTHX);
1144 #endif
1145 #if defined(PERL_IN_REGEXEC_C)
1146 STATIC char*    regcp_set_to(pTHX_ I32 ss);
1147 #endif
1148 #if defined(PERL_IN_REGEXEC_C)
1149 STATIC char*    regcppop(pTHX);
1150 #endif
1151 #if defined(PERL_IN_REGEXEC_C)
1152 STATIC CHECKPOINT       regcppush(pTHX_ I32 parenfloor);
1153 #endif
1154 #if defined(PERL_IN_REGCOMP_C)
1155 STATIC I32      regcurly(pTHX_ char *);
1156 #endif
1157 #if defined(PERL_IN_REGEXEC_C)
1158 STATIC U8*      reghop(pTHX_ U8 *pos, I32 off);
1159 #endif
1160 #if defined(PERL_IN_REGEXEC_C)
1161 STATIC U8*      reghopmaybe(pTHX_ U8 *pos, I32 off);
1162 #endif
1163 #if defined(PERL_IN_REGEXEC_C)
1164 STATIC bool     reginclass(pTHX_ char *p, I32 c);
1165 #endif
1166 #if defined(PERL_IN_REGEXEC_C)
1167 STATIC bool     reginclassutf8(pTHX_ regnode *f, U8* p);
1168 #endif
1169 #if defined(PERL_IN_REGCOMP_C)
1170 STATIC void     reginsert(pTHX_ U8, regnode *);
1171 #endif
1172 #if defined(PERL_IN_REGEXEC_C)
1173 STATIC I32      regmatch(pTHX_ regnode *prog);
1174 #endif
1175 #if defined(PERL_IN_REGCOMP_C)
1176 STATIC void     regoptail(pTHX_ regnode *, regnode *);
1177 #endif
1178 #if defined(PERL_IN_REGCOMP_C)
1179 STATIC regnode* regpiece(pTHX_ I32 *);
1180 #endif
1181 #if defined(PERL_IN_REGCOMP_C)
1182 STATIC char*    regpposixcc(pTHX_ I32 value);
1183 #endif
1184 #if defined(PERL_IN_REGEXEC_C)
1185 STATIC I32      regrepeat(pTHX_ regnode *p, I32 max);
1186 #endif
1187 #if defined(PERL_IN_REGEXEC_C)
1188 STATIC I32      regrepeat_hard(pTHX_ regnode *p, I32 max, I32 *lp);
1189 #endif
1190 #if defined(PERL_IN_REGCOMP_C)
1191 STATIC void     regset(pTHX_ char *, I32);
1192 #endif
1193 #if defined(PERL_IN_REGCOMP_C)
1194 STATIC void     regtail(pTHX_ regnode *, regnode *);
1195 #endif
1196 #if defined(PERL_IN_REGEXEC_C)
1197 STATIC I32      regtry(pTHX_ regexp *prog, char *startpos);
1198 #endif
1199 #if defined(PERL_IN_REGCOMP_C)
1200 STATIC void     reguni(pTHX_ UV, char *, I32*);
1201 #endif
1202 #if defined(PERL_IN_REGCOMP_C)
1203 STATIC char*    regwhite(pTHX_ char *, char *);
1204 #endif
1205 #if defined(PERL_IN_TOKE_C)
1206 STATIC void     restore_expect(pTHX_ void *e);
1207 #endif
1208 #if defined(PERL_IN_TOKE_C)
1209 STATIC void     restore_lex_expect(pTHX_ void *e);
1210 #endif
1211 #if defined(PERL_IN_MG_C)
1212 STATIC void     restore_magic(pTHX_ void *p);
1213 #endif
1214 #if defined(PERL_IN_REGEXEC_C)
1215 STATIC void     restore_pos(pTHX_ void *arg);
1216 #endif
1217 #if defined(PERL_IN_TOKE_C)
1218 STATIC void     restore_rsfp(pTHX_ void *f);
1219 #endif
1220 #if defined(PERL_IN_PERL_C)
1221 STATIC void*    run_body(pTHX_ va_list args);
1222 #endif
1223 #if defined(PERL_IN_HV_C)
1224 STATIC HEK*     save_hek(pTHX_ const char *str, I32 len, U32 hash);
1225 #endif
1226 #if defined(PERL_IN_PP_CTL_C)
1227 STATIC void     save_lines(pTHX_ AV *array, SV *sv);
1228 #endif
1229 #if defined(PERL_IN_MG_C)
1230 STATIC void     save_magic(pTHX_ I32 mgs_ix, SV *sv);
1231 #endif
1232 #if defined(PERL_IN_SCOPE_C)
1233 STATIC SV*      save_scalar_at(pTHX_ SV **sptr);
1234 #endif
1235 #if defined(PERL_IN_OP_C)
1236 STATIC bool     scalar_mod_type(pTHX_ OP *o, I32 type);
1237 #endif
1238 #if defined(PERL_IN_OP_C)
1239 STATIC OP*      scalarboolean(pTHX_ OP *o);
1240 #endif
1241 #if defined(PERL_IN_REGCOMP_C)
1242 STATIC void     scan_commit(pTHX_ scan_data_t *data);
1243 #endif
1244 #if defined(PERL_IN_TOKE_C)
1245 STATIC char*    scan_const(pTHX_ char *start);
1246 #endif
1247 #if defined(PERL_IN_TOKE_C)
1248 STATIC char*    scan_formline(pTHX_ char *s);
1249 #endif
1250 #if defined(PERL_IN_TOKE_C)
1251 STATIC char*    scan_heredoc(pTHX_ char *s);
1252 #endif
1253 #if defined(PERL_IN_TOKE_C)
1254 STATIC char*    scan_ident(pTHX_ char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni);
1255 #endif
1256 #if defined(PERL_IN_TOKE_C)
1257 STATIC char*    scan_inputsymbol(pTHX_ char *start);
1258 #endif
1259 #if defined(PERL_IN_TOKE_C)
1260 STATIC char*    scan_pat(pTHX_ char *start, I32 type);
1261 #endif
1262 #if defined(PERL_IN_TOKE_C)
1263 STATIC char*    scan_str(pTHX_ char *start);
1264 #endif
1265 #if defined(PERL_IN_TOKE_C)
1266 STATIC char*    scan_subst(pTHX_ char *start);
1267 #endif
1268 #if defined(PERL_IN_TOKE_C)
1269 STATIC char*    scan_trans(pTHX_ char *start);
1270 #endif
1271 #if defined(PERL_IN_TOKE_C)
1272 STATIC char*    scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp);
1273 #endif
1274 #if defined(PERL_IN_PP_C)
1275 STATIC U32      seed(pTHX);
1276 #endif
1277 #if defined(PERL_IN_TOKE_C)
1278 STATIC void     set_csh(pTHX);
1279 #endif
1280 #if defined(PERL_IN_OP_C)
1281 STATIC void     simplify_sort(pTHX_ OP *o);
1282 #endif
1283 #if defined(PERL_IN_TOKE_C)
1284 STATIC char*    skipspace(pTHX_ char *s);
1285 #endif
1286 #if defined(PERL_IN_PP_CTL_C)
1287 STATIC I32      sortcv(pTHX_ SV *a, SV *b);
1288 #endif
1289 #if defined(PERL_IN_REGCOMP_C)
1290 STATIC I32      study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags);
1291 #endif
1292 #if defined(PERL_IN_TOKE_C)
1293 STATIC I32      sublex_done(pTHX);
1294 #endif
1295 #if defined(PERL_IN_TOKE_C)
1296 STATIC I32      sublex_push(pTHX);
1297 #endif
1298 #if defined(PERL_IN_TOKE_C)
1299 STATIC I32      sublex_start(pTHX);
1300 #endif
1301 #if defined(PERL_IN_SV_C)
1302 STATIC void     sv_add_backref(pTHX_ SV *tsv, SV *sv);
1303 #endif
1304 #if defined(PERL_IN_SV_C)
1305 STATIC void     sv_del_backref(pTHX_ SV *sv);
1306 #endif
1307 #if defined(PERL_IN_PP_CTL_C)
1308 STATIC I32      sv_i_ncmp(pTHX_ SV *a, SV *b);
1309 #endif
1310 #if defined(PERL_IN_PP_CTL_C)
1311 STATIC I32      sv_ncmp(pTHX_ SV *a, SV *b);
1312 #endif
1313 #if defined(PERL_IN_SV_C)
1314 STATIC void     sv_unglob(pTHX_ SV* sv);
1315 #endif
1316 #if defined(PERL_IN_TOKE_C)
1317 STATIC SV*      tokeq(pTHX_ SV *sv);
1318 #endif
1319 #if defined(PERL_IN_OP_C)
1320 STATIC OP*      too_few_arguments(pTHX_ OP *o, char* name);
1321 #endif
1322 #if defined(PERL_IN_OP_C)
1323 STATIC OP*      too_many_arguments(pTHX_ OP *o, char* name);
1324 #endif
1325 #if defined(CRIPPLED_CC) && defined(PERL_IN_TOKE_C)
1326 STATIC int      uni(pTHX_ I32 f, char *s);
1327 #endif
1328 #if defined(USE_THREADS) && defined(PERL_IN_PP_HOT_C)
1329 STATIC void     unset_cvowner(pTHX_ void *cvarg);
1330 #endif
1331 #if defined(PERL_IN_MG_C)
1332 STATIC void     unwind_handler_stack(pTHX_ void *p);
1333 #endif
1334 #if defined(PERL_IN_PERL_C)
1335 STATIC void     usage(pTHX_ char *);
1336 #endif
1337 #if defined(PERL_IN_TOKE_C)
1338 STATIC I32      utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen);
1339 #endif
1340 #if defined(PERL_IN_TOKE_C)
1341 STATIC I32      utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen);
1342 #endif
1343 #if defined(PERL_IN_PERL_C)
1344 STATIC void     validate_suid(pTHX_ char *, char*, int);
1345 #endif
1346 #if defined(PERL_IN_SV_C)
1347 STATIC void     visit(pTHX_ SVFUNC_t f);
1348 #endif
1349 #if defined(WIN32) && defined(PERL_IN_TOKE_C)
1350 STATIC I32      win32_textfilter(pTHX_ int idx, SV *sv, int maxlen);
1351 #endif
1352 #if defined(LEAKTEST) && defined(PERL_IN_UTIL_C)
1353 STATIC void     xstat(pTHX_ int);
1354 #endif