Raw integrate of latest perl
[p5sagit/p5-mst-13.2.git] / proto.h
CommitLineData
fed7345c 1#ifndef NEXT30_NO_ATTRIBUTE
ecfc5424 2#ifndef HASATTRIBUTE /* disable GNU-cc attribute checking? */
3#ifdef __attribute__ /* Avoid possible redefinition errors */
a0d0e21e 4#undef __attribute__
ecfc5424 5#endif
a0d0e21e 6#define __attribute__(attr)
fed7345c 7#endif
a0d0e21e 8#endif
9#ifdef OVERLOAD
10SV* amagic_call _((SV* left,SV* right,int method,int dir));
44a8e56a 11bool Gv_AMupdate _((HV* stash));
a0d0e21e 12#endif /* OVERLOAD */
13OP* append_elem _((I32 optype, OP* head, OP* tail));
14OP* append_list _((I32 optype, LISTOP* first, LISTOP* last));
15I32 apply _((I32 type, SV** mark, SV** sp));
11343788 16void assertref _((OP* o));
c750a3ec 17SV* avhv_delete _((AV *ar, char* key, U32 klen, I32 flags));
97fcbf96 18SV* avhv_delete_ent _((AV *ar, SV* keysv, I32 flags, U32 hash));
c750a3ec 19bool avhv_exists _((AV *ar, char* key, U32 klen));
97fcbf96 20bool avhv_exists_ent _((AV *ar, SV* keysv, U32 hash));
c750a3ec 21SV** avhv_fetch _((AV *ar, char* key, U32 klen, I32 lval));
97fcbf96 22SV** avhv_fetch_ent _((AV *ar, SV* keysv, I32 lval, U32 hash));
c750a3ec 23I32 avhv_iterinit _((AV *ar));
24HE* avhv_iternext _((AV *ar));
25SV * avhv_iternextsv _((AV *ar, char** key, I32* retlen));
26SV* avhv_iterval _((AV *ar, HE* entry));
27SV** avhv_store _((AV *ar, char* key, U32 klen, SV* val, U32 hash));
a0d0e21e 28void av_clear _((AV* ar));
29void av_extend _((AV* ar, I32 key));
30AV* av_fake _((I32 size, SV** svp));
31SV** av_fetch _((AV* ar, I32 key, I32 lval));
32void av_fill _((AV* ar, I32 fill));
33I32 av_len _((AV* ar));
34AV* av_make _((I32 size, SV** svp));
35SV* av_pop _((AV* ar));
36void av_push _((AV* ar, SV* val));
fb73857a 37void av_reify _((AV* ar));
a0d0e21e 38SV* av_shift _((AV* ar));
39SV** av_store _((AV* ar, I32 key, SV* val));
40void av_undef _((AV* ar));
41void av_unshift _((AV* ar, I32 num));
42OP* bind_match _((I32 type, OP* left, OP* pat));
36477c24 43OP* block_end _((I32 floor, OP* seq));
54310121 44I32 block_gimme _((void));
55497cff 45int block_start _((int full));
45b989d7 46void boot_core_UNIVERSAL _((void));
68dc0745 47void call_list _((I32 oldscope, AV* list));
a0d0e21e 48I32 cando _((I32 bit, I32 effective, struct stat* statbufp));
49#ifndef CASTNEGFLOAT
50U32 cast_ulong _((double f));
51#endif
52#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
45b989d7 53I32 my_chsize _((int fd, Off_t length));
a0d0e21e 54#endif
46fc3d4c 55OP* ck_gvconst _((OP* o));
5dc0d613 56OP* ck_retarget _((OP* o));
f93b4edd 57#ifdef USE_THREADS
58MAGIC * condpair_magic _((SV *sv));
59#endif
11343788 60OP* convert _((I32 optype, I32 flags, OP* o));
fc36a67e 61void croak _((const char* pat,...)) __attribute__((noreturn));
3fe9a6f1 62void cv_ckproto _((CV* cv, GV* gv, char* p));
748a9306 63CV* cv_clone _((CV* proto));
760ac839 64SV* cv_const_sv _((CV* cv));
a0d0e21e 65void cv_undef _((CV* cv));
66#ifdef DEBUGGING
67void cx_dump _((CONTEXT* cs));
68#endif
46fc3d4c 69SV* filter_add _((filter_t funcp, SV* datasv));
16d20bd9 70void filter_del _((filter_t funcp));
46fc3d4c 71I32 filter_read _((int idx, SV* buffer, int maxlen));
a0d0e21e 72I32 cxinc _((void));
71be2cbc 73void deb _((const char* pat,...)) __attribute__((format(printf,1,2)));
a0d0e21e 74void deb_growlevel _((void));
11343788 75I32 debop _((OP* o));
a0d0e21e 76I32 debstackptrs _((void));
77#ifdef DEBUGGING
78void debprofdump _((void));
79#endif
80I32 debstack _((void));
fc36a67e 81char* delimcpy _((char* to, char* toend, char* from, char* fromend,
82 int delim, I32* retlen));
a0d0e21e 83void deprecate _((char* s));
fc36a67e 84OP* die _((const char* pat,...));
a0d0e21e 85OP* die_where _((char* message));
86void dounwind _((I32 cxix));
87bool do_aexec _((SV* really, SV** mark, SV** sp));
88void do_chop _((SV* asv, SV* sv));
45b989d7 89bool do_close _((GV* gv, bool not_implicit));
a0d0e21e 90bool do_eof _((GV* gv));
91bool do_exec _((char* cmd));
92void do_execfree _((void));
93#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
94I32 do_ipcctl _((I32 optype, SV** mark, SV** sp));
95I32 do_ipcget _((I32 optype, SV** mark, SV** sp));
96#endif
97void do_join _((SV* sv, SV* del, SV** mark, SV** sp));
11343788 98OP* do_kv _((ARGSproto));
a0d0e21e 99#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
100I32 do_msgrcv _((SV** mark, SV** sp));
101I32 do_msgsnd _((SV** mark, SV** sp));
102#endif
c07a80fd 103bool do_open _((GV* gv, char* name, I32 len,
760ac839 104 int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp));
a0d0e21e 105void do_pipe _((SV* sv, GV* rgv, GV* wgv));
760ac839 106bool do_print _((SV* sv, PerlIO* fp));
46fc3d4c 107OP* do_readline _((void));
a0d0e21e 108I32 do_chomp _((SV* sv));
109bool do_seek _((GV* gv, long pos, int whence));
110#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
111I32 do_semop _((SV** mark, SV** sp));
112I32 do_shmio _((I32 optype, SV** mark, SV** sp));
113#endif
114void do_sprintf _((SV* sv, I32 len, SV** sarg));
8903cb82 115long do_sysseek _((GV* gv, long pos, int whence));
a0d0e21e 116long do_tell _((GV* gv));
117I32 do_trans _((SV* sv, OP* arg));
118void do_vecset _((SV* sv));
119void do_vop _((I32 optype, SV* sv, SV* left, SV* right));
e50aee73 120I32 dowantarray _((void));
a0d0e21e 121void dump_all _((void));
122void dump_eval _((void));
748a9306 123#ifdef DUMP_FDS /* See util.c */
a0d0e21e 124int dump_fds _((char* s));
125#endif
126void dump_form _((GV* gv));
127void dump_gv _((GV* gv));
8eccb90b 128#ifdef MYMALLOC
c07a80fd 129void dump_mstats _((char* s));
8eccb90b 130#endif
a0d0e21e 131void dump_op _((OP* arg));
132void dump_pm _((PMOP* pm));
133void dump_packsubs _((HV* stash));
134void dump_sub _((GV* gv));
bbce6d69 135void fbm_compile _((SV* sv));
a0d0e21e 136char* fbm_instr _((unsigned char* big, unsigned char* bigend, SV* littlesv));
137OP* force_list _((OP* arg));
46fc3d4c 138OP* fold_constants _((OP* arg));
139char* form _((const char* pat, ...));
a0d0e21e 140void free_tmps _((void));
11343788 141OP* gen_constant_list _((OP* o));
a0d0e21e 142void gp_free _((GV* gv));
143GP* gp_ref _((GP* gp));
144GV* gv_AVadd _((GV* gv));
145GV* gv_HVadd _((GV* gv));
146GV* gv_IOadd _((GV* gv));
54310121 147GV* gv_autoload4 _((HV* stash, char* name, STRLEN len, I32 method));
a0d0e21e 148void gv_check _((HV* stash));
149void gv_efullname _((SV* sv, GV* gv));
ab4ed645 150void gv_efullname3 _((SV* sv, GV* gv, char* prefix));
a0d0e21e 151GV* gv_fetchfile _((char* name));
152GV* gv_fetchmeth _((HV* stash, char* name, STRLEN len, I32 level));
153GV* gv_fetchmethod _((HV* stash, char* name));
dc848c6f 154GV* gv_fetchmethod_autoload _((HV* stash, char* name, I32 autoload));
a0d0e21e 155GV* gv_fetchpv _((char* name, I32 add, I32 sv_type));
156void gv_fullname _((SV* sv, GV* gv));
ab4ed645 157void gv_fullname3 _((SV* sv, GV* gv, char* prefix));
46fc3d4c 158void gv_init _((GV* gv, HV* stash, char* name, STRLEN len, int multi));
a0d0e21e 159HV* gv_stashpv _((char* name, I32 create));
45b989d7 160HV* gv_stashpvn _((char* name, U32 namelen, I32 create));
a0d0e21e 161HV* gv_stashsv _((SV* sv, I32 create));
a0d0e21e 162void hoistmust _((PMOP* pm));
163void hv_clear _((HV* tb));
68dc0745 164void hv_delayfree_ent _((HV* hv, HE* entry));
748a9306 165SV* hv_delete _((HV* tb, char* key, U32 klen, I32 flags));
45b989d7 166SV* hv_delete_ent _((HV* tb, SV* key, I32 flags, U32 hash));
a0d0e21e 167bool hv_exists _((HV* tb, char* key, U32 klen));
45b989d7 168bool hv_exists_ent _((HV* tb, SV* key, U32 hash));
a0d0e21e 169SV** hv_fetch _((HV* tb, char* key, U32 klen, I32 lval));
45b989d7 170HE* hv_fetch_ent _((HV* tb, SV* key, I32 lval, U32 hash));
68dc0745 171void hv_free_ent _((HV* hv, HE* entry));
a0d0e21e 172I32 hv_iterinit _((HV* tb));
173char* hv_iterkey _((HE* entry, I32* retlen));
45b989d7 174SV* hv_iterkeysv _((HE* entry));
a0d0e21e 175HE* hv_iternext _((HV* tb));
45b989d7 176SV* hv_iternextsv _((HV* hv, char** key, I32* retlen));
a0d0e21e 177SV* hv_iterval _((HV* tb, HE* entry));
ab4ed645 178void hv_ksplit _((HV* hv, IV newmax));
a0d0e21e 179void hv_magic _((HV* hv, GV* gv, int how));
180SV** hv_store _((HV* tb, char* key, U32 klen, SV* val, U32 hash));
45b989d7 181HE* hv_store_ent _((HV* tb, SV* key, SV* val, U32 hash));
a0d0e21e 182void hv_undef _((HV* tb));
bbce6d69 183I32 ibcmp _((char* a, char* b, I32 len));
184I32 ibcmp_locale _((char* a, char* b, I32 len));
a0d0e21e 185I32 ingroup _((I32 testgid, I32 effective));
11343788 186void init_stacks _((ARGSproto));
bbce6d69 187U32 intro_my _((void));
a0d0e21e 188char* instr _((char* big, char* little));
8eccb90b 189bool io_close _((IO* io));
a0d0e21e 190OP* invert _((OP* cmd));
191OP* jmaybe _((OP* arg));
192I32 keyword _((char* d, I32 len));
193void leave_scope _((I32 base));
194void lex_end _((void));
46fc3d4c 195void lex_start _((SV* line));
11343788 196OP* linklist _((OP* o));
a0d0e21e 197OP* list _((OP* o));
198OP* listkids _((OP* o));
199OP* localize _((OP* arg, I32 lexical));
200I32 looks_like_number _((SV* sv));
201int magic_clearenv _((SV* sv, MAGIC* mg));
3e3baf6d 202int magic_clear_all_env _((SV* sv, MAGIC* mg));
a0d0e21e 203int magic_clearpack _((SV* sv, MAGIC* mg));
45b989d7 204int magic_clearsig _((SV* sv, MAGIC* mg));
5f05dabc 205int magic_existspack _((SV* sv, MAGIC* mg));
68dc0745 206int magic_freedefelem _((SV* sv, MAGIC* mg));
a0d0e21e 207int magic_get _((SV* sv, MAGIC* mg));
208int magic_getarylen _((SV* sv, MAGIC* mg));
68dc0745 209int magic_getdefelem _((SV* sv, MAGIC* mg));
a0d0e21e 210int magic_getglob _((SV* sv, MAGIC* mg));
68dc0745 211int magic_getpack _((SV* sv, MAGIC* mg));
a0d0e21e 212int magic_getpos _((SV* sv, MAGIC* mg));
45b989d7 213int magic_getsig _((SV* sv, MAGIC* mg));
a0d0e21e 214int magic_gettaint _((SV* sv, MAGIC* mg));
215int magic_getuvar _((SV* sv, MAGIC* mg));
216U32 magic_len _((SV* sv, MAGIC* mg));
f93b4edd 217#ifdef USE_THREADS
218int magic_mutexfree _((SV* sv, MAGIC* mg));
219#endif /* USE_THREADS */
a0d0e21e 220int magic_nextpack _((SV* sv, MAGIC* mg, SV* key));
221int magic_set _((SV* sv, MAGIC* mg));
222#ifdef OVERLOAD
223int magic_setamagic _((SV* sv, MAGIC* mg));
224#endif /* OVERLOAD */
225int magic_setarylen _((SV* sv, MAGIC* mg));
226int magic_setbm _((SV* sv, MAGIC* mg));
227int magic_setdbline _((SV* sv, MAGIC* mg));
44a8e56a 228#ifdef USE_LOCALE_COLLATE
bbce6d69 229int magic_setcollxfrm _((SV* sv, MAGIC* mg));
44a8e56a 230#endif
68dc0745 231int magic_setdefelem _((SV* sv, MAGIC* mg));
a0d0e21e 232int magic_setenv _((SV* sv, MAGIC* mg));
55497cff 233int magic_setfm _((SV* sv, MAGIC* mg));
a0d0e21e 234int magic_setisa _((SV* sv, MAGIC* mg));
235int magic_setglob _((SV* sv, MAGIC* mg));
236int magic_setmglob _((SV* sv, MAGIC* mg));
ab4ed645 237int magic_setnkeys _((SV* sv, MAGIC* mg));
a0d0e21e 238int magic_setpack _((SV* sv, MAGIC* mg));
239int magic_setpos _((SV* sv, MAGIC* mg));
240int magic_setsig _((SV* sv, MAGIC* mg));
241int magic_setsubstr _((SV* sv, MAGIC* mg));
242int magic_settaint _((SV* sv, MAGIC* mg));
243int magic_setuvar _((SV* sv, MAGIC* mg));
244int magic_setvec _((SV* sv, MAGIC* mg));
fb73857a 245int magic_set_all_env _((SV* sv, MAGIC* mg));
a0d0e21e 246int magic_wipepack _((SV* sv, MAGIC* mg));
247void magicname _((char* sym, char* name, I32 namlen));
248int main _((int argc, char** argv, char** env));
a0d0e21e 249void markstack_grow _((void));
5f05dabc 250#ifdef USE_LOCALE_COLLATE
46fc3d4c 251char* mem_collxfrm _((const char* s, STRLEN len, STRLEN* xlen));
5f05dabc 252#endif
71be2cbc 253char* mess _((const char* pat, va_list* args));
a0d0e21e 254int mg_clear _((SV* sv));
46fc3d4c 255int mg_copy _((SV* , SV* , char* , I32));
a0d0e21e 256MAGIC* mg_find _((SV* sv, int type));
257int mg_free _((SV* sv));
258int mg_get _((SV* sv));
259U32 mg_len _((SV* sv));
260void mg_magical _((SV* sv));
261int mg_set _((SV* sv));
11343788 262OP* mod _((OP* o, I32 type));
a0d0e21e 263char* moreswitches _((char* s));
5dc0d613 264OP* my _((OP* o));
5f05dabc 265#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
a0d0e21e 266char* my_bcopy _((char* from, char* to, I32 len));
5f05dabc 267#endif
a0d0e21e 268#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
269char* my_bzero _((char* loc, I32 len));
85e6fe83 270#endif
748a9306 271void my_exit _((U32 status)) __attribute__((noreturn));
f86702cc 272void my_failure_exit _((void)) __attribute__((noreturn));
11343788 273I32 my_lstat _((ARGSproto));
5f05dabc 274#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
36477c24 275I32 my_memcmp _((char* s1, char* s2, I32 len));
a0d0e21e 276#endif
fc36a67e 277#if !defined(HAS_MEMSET)
278void* my_memset _((char* loc, I32 ch, I32 len));
279#endif
760ac839 280I32 my_pclose _((PerlIO* ptr));
281PerlIO* my_popen _((char* cmd, char* mode));
a0d0e21e 282void my_setenv _((char* nam, char* val));
11343788 283I32 my_stat _((ARGSproto));
a0d0e21e 284#ifdef MYSWAP
285short my_swap _((short s));
748a9306 286long my_htonl _((long l));
287long my_ntohl _((long l));
a0d0e21e 288#endif
289void my_unexec _((void));
11343788 290OP* newANONLIST _((OP* o));
291OP* newANONHASH _((OP* o));
4633a7c4 292OP* newANONSUB _((I32 floor, OP* proto, OP* block));
a0d0e21e 293OP* newASSIGNOP _((I32 flags, OP* left, I32 optype, OP* right));
1aef975c 294OP* newCONDOP _((I32 flags, OP* expr, OP* trueop, OP* falseop));
11343788 295void newFORM _((I32 floor, OP* o, OP* block));
a0d0e21e 296OP* newFOROP _((I32 flags, char* label, line_t forline, OP* scalar, OP* expr, OP*block, OP*cont));
297OP* newLOGOP _((I32 optype, I32 flags, OP* left, OP* right));
298OP* newLOOPEX _((I32 type, OP* label));
299OP* newLOOPOP _((I32 flags, I32 debuggable, OP* expr, OP* block));
a0d0e21e 300OP* newNULLLIST _((void));
301OP* newOP _((I32 optype, I32 flags));
11343788 302void newPROG _((OP* o));
a0d0e21e 303OP* newRANGE _((I32 flags, OP* left, OP* right));
304OP* newSLICEOP _((I32 flags, OP* subscript, OP* list));
305OP* newSTATEOP _((I32 flags, char* label, OP* o));
11343788 306CV* newSUB _((I32 floor, OP* o, OP* proto, OP* block));
46fc3d4c 307CV* newXS _((char* name, void (*subaddr)(CV* cv), char* filename));
a0d0e21e 308AV* newAV _((void));
309OP* newAVREF _((OP* o));
310OP* newBINOP _((I32 type, I32 flags, OP* first, OP* last));
c07a80fd 311OP* newCVREF _((I32 flags, OP* o));
a0d0e21e 312OP* newGVOP _((I32 type, I32 flags, GV* gv));
46fc3d4c 313GV* newGVgen _((char* pack));
a0d0e21e 314OP* newGVREF _((I32 type, OP* o));
315OP* newHVREF _((OP* o));
316HV* newHV _((void));
317IO* newIO _((void));
318OP* newLISTOP _((I32 type, I32 flags, OP* first, OP* last));
319OP* newPMOP _((I32 type, I32 flags));
320OP* newPVOP _((I32 type, I32 flags, char* pv));
321SV* newRV _((SV* ref));
4e35701f 322SV* newRV_noinc _((SV *));
79072805 323#ifdef LEAKTEST
a0d0e21e 324SV* newSV _((I32 x, STRLEN len));
79072805 325#else
a0d0e21e 326SV* newSV _((STRLEN len));
79072805 327#endif
a0d0e21e 328OP* newSVREF _((OP* o));
329OP* newSVOP _((I32 type, I32 flags, SV* sv));
330SV* newSViv _((IV i));
331SV* newSVnv _((double n));
332SV* newSVpv _((char* s, STRLEN len));
46fc3d4c 333SV* newSVpvf _((const char* pat, ...));
a0d0e21e 334SV* newSVrv _((SV* rv, char* classname));
335SV* newSVsv _((SV* old));
336OP* newUNOP _((I32 type, I32 flags, OP* first));
fb73857a 337OP* newWHILEOP _((I32 flags, I32 debuggable, LOOP* loop,
338 I32 whileline, OP* expr, OP* block, OP* cont));
760ac839 339PerlIO* nextargv _((GV* gv));
a0d0e21e 340char* ninstr _((char* big, char* bigend, char* little, char* lend));
46fc3d4c 341OP* oopsCV _((OP* o));
a0d0e21e 342void op_free _((OP* arg));
11343788 343void package _((OP* o));
a0d0e21e 344PADOFFSET pad_alloc _((I32 optype, U32 tmptype));
345PADOFFSET pad_allocmy _((char* name));
346PADOFFSET pad_findmy _((char* name));
347OP* oopsAV _((OP* o));
348OP* oopsHV _((OP* o));
349void pad_leavemy _((I32 fill));
350SV* pad_sv _((PADOFFSET po));
351void pad_free _((PADOFFSET po));
352void pad_reset _((void));
353void pad_swipe _((PADOFFSET po));
11343788 354void peep _((OP* o));
a0d0e21e 355PerlInterpreter* perl_alloc _((void));
356I32 perl_call_argv _((char* subname, I32 flags, char** argv));
357I32 perl_call_method _((char* methname, I32 flags));
358I32 perl_call_pv _((char* subname, I32 flags));
359I32 perl_call_sv _((SV* sv, I32 flags));
a0d0e21e 360void perl_construct _((PerlInterpreter* sv_interp));
748a9306 361void perl_destruct _((PerlInterpreter* sv_interp));
137443ea 362SV* perl_eval_pv _((char* p, I32 croak_on_error));
4633a7c4 363I32 perl_eval_sv _((SV* sv, I32 flags));
a0d0e21e 364void perl_free _((PerlInterpreter* sv_interp));
365SV* perl_get_sv _((char* name, I32 create));
366AV* perl_get_av _((char* name, I32 create));
367HV* perl_get_hv _((char* name, I32 create));
368CV* perl_get_cv _((char* name, I32 create));
45b989d7 369int perl_init_i18nl10n _((int printwarn));
8eccb90b 370int perl_init_i18nl14n _((int printwarn));
46fc3d4c 371void perl_new_collate _((char* newcoll));
372void perl_new_ctype _((char* newctype));
373void perl_new_numeric _((char* newcoll));
36477c24 374void perl_set_numeric_local _((void));
375void perl_set_numeric_standard _((void));
a0d0e21e 376int perl_parse _((PerlInterpreter* sv_interp, void(*xsinit)(void), int argc, char** argv, char** env));
4633a7c4 377void perl_require_pv _((char* pv));
378#define perl_requirepv perl_require_pv
a0d0e21e 379int perl_run _((PerlInterpreter* sv_interp));
380void pidgone _((int pid, int status));
381void pmflag _((U16* pmfl, int ch));
382OP* pmruntime _((OP* pm, OP* expr, OP* repl));
11343788 383OP* pmtrans _((OP* o, OP* expr, OP* repl));
a0d0e21e 384OP* pop_return _((void));
385void pop_scope _((void));
386OP* prepend_elem _((I32 optype, OP* head, OP* tail));
11343788 387void push_return _((OP* o));
a0d0e21e 388void push_scope _((void));
e50aee73 389regexp* pregcomp _((char* exp, char* xend, PMOP* pm));
11343788 390OP* ref _((OP* o, I32 type));
391OP* refkids _((OP* o, I32 type));
a0d0e21e 392void regdump _((regexp* r));
e50aee73 393I32 pregexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, I32 safebase));
394void pregfree _((struct regexp* r));
a0d0e21e 395char* regnext _((char* p));
5dc0d613 396void regprop _((SV* sv, char* o));
a0d0e21e 397void repeatcpy _((char* to, char* from, I32 len, I32 count));
398char* rninstr _((char* big, char* bigend, char* little, char* lend));
ff68c719 399Sighandler_t rsignal _((int, Sighandler_t));
400int rsignal_restore _((int, Sigsave_t*));
401int rsignal_save _((int, Sighandler_t, Sigsave_t*));
402Sighandler_t rsignal_state _((int));
c90c0ff4 403void rxres_free _((void** rsp));
404void rxres_restore _((void** rsp, REGEXP* rx));
405void rxres_save _((void** rsp, REGEXP* rx));
a0d0e21e 406#ifndef HAS_RENAME
407I32 same_dirent _((char* a, char* b));
408#endif
409char* savepv _((char* sv));
410char* savepvn _((char* sv, I32 len));
411void savestack_grow _((void));
412void save_aptr _((AV** aptr));
413AV* save_ary _((GV* gv));
414void save_clearsv _((SV** svp));
415void save_delete _((HV* hv, char* key, I32 klen));
416#ifndef titan /* TitanOS cc can't handle this */
417void save_destructor _((void (*f)(void*), void* p));
418#endif /* titan */
419void save_freesv _((SV* sv));
11343788 420void save_freeop _((OP* o));
a0d0e21e 421void save_freepv _((char* pv));
5f05dabc 422void save_gp _((GV* gv, I32 empty));
a0d0e21e 423HV* save_hash _((GV* gv));
424void save_hptr _((HV** hptr));
55497cff 425void save_I16 _((I16* intp));
a0d0e21e 426void save_I32 _((I32* intp));
427void save_int _((int* intp));
428void save_item _((SV* item));
55497cff 429void save_iv _((IV* iv));
a0d0e21e 430void save_list _((SV** sarg, I32 maxsarg));
46fc3d4c 431void save_long _((long* longp));
a0d0e21e 432void save_nogv _((GV* gv));
462e5cf6 433void save_op _((void));
a0d0e21e 434SV* save_scalar _((GV* gv));
46fc3d4c 435void save_pptr _((char** pptr));
a0d0e21e 436void save_sptr _((SV** sptr));
437SV* save_svref _((SV** sptr));
438OP* sawparens _((OP* o));
439OP* scalar _((OP* o));
11343788 440OP* scalarkids _((OP* o));
a0d0e21e 441OP* scalarseq _((OP* o));
11343788 442OP* scalarvoid _((OP* o));
55497cff 443UV scan_hex _((char* start, I32 len, I32* retlen));
a0d0e21e 444char* scan_num _((char* s));
55497cff 445UV scan_oct _((char* start, I32 len, I32* retlen));
a0d0e21e 446OP* scope _((OP* o));
447char* screaminstr _((SV* bigsv, SV* littlesv));
448#ifndef VMS
449I32 setenv_getix _((char* nam));
85e6fe83 450#endif
46fc3d4c 451void setdefout _((GV* gv));
71be2cbc 452char* sharepvn _((char* sv, I32 len, U32 hash));
453HEK* share_hek _((char* sv, I32 len, U32 hash));
ecfc5424 454Signal_t sighandler _((int sig));
a0d0e21e 455SV** stack_grow _((SV** sp, SV**p, int n));
ba6d6ac9 456I32 start_subparse _((I32 is_format, U32 flags));
44a8e56a 457void sub_crush_depth _((CV* cv));
a0d0e21e 458bool sv_2bool _((SV* sv));
459CV* sv_2cv _((SV* sv, HV** st, GV** gvp, I32 lref));
460IO* sv_2io _((SV* sv));
461IV sv_2iv _((SV* sv));
462SV* sv_2mortal _((SV* sv));
463double sv_2nv _((SV* sv));
464char* sv_2pv _((SV* sv, STRLEN* lp));
ff68c719 465UV sv_2uv _((SV* sv));
4e35701f 466IV sv_iv _((SV* sv));
467UV sv_uv _((SV* sv));
468double sv_nv _((SV* sv));
469char * sv_pvn _((SV *, STRLEN *));
470I32 sv_true _((SV *));
4633a7c4 471void sv_add_arena _((char* ptr, U32 size, U32 flags));
a0d0e21e 472int sv_backoff _((SV* sv));
473SV* sv_bless _((SV* sv, HV* stash));
46fc3d4c 474void sv_catpvf _((SV* sv, const char* pat, ...));
a0d0e21e 475void sv_catpv _((SV* sv, char* ptr));
476void sv_catpvn _((SV* sv, char* ptr, STRLEN len));
477void sv_catsv _((SV* dsv, SV* ssv));
478void sv_chop _((SV* sv, char* ptr));
479void sv_clean_all _((void));
480void sv_clean_objs _((void));
481void sv_clear _((SV* sv));
482I32 sv_cmp _((SV* sv1, SV* sv2));
bbce6d69 483I32 sv_cmp_locale _((SV* sv1, SV* sv2));
5f05dabc 484#ifdef USE_LOCALE_COLLATE
bbce6d69 485char* sv_collxfrm _((SV* sv, STRLEN* nxp));
5f05dabc 486#endif
a0d0e21e 487void sv_dec _((SV* sv));
488void sv_dump _((SV* sv));
55497cff 489bool sv_derived_from _((SV* sv, char* name));
a0d0e21e 490I32 sv_eq _((SV* sv1, SV* sv2));
491void sv_free _((SV* sv));
4633a7c4 492void sv_free_arenas _((void));
760ac839 493char* sv_gets _((SV* sv, PerlIO* fp, I32 append));
93a17b20 494#ifndef DOSISH
a0d0e21e 495char* sv_grow _((SV* sv, I32 newlen));
93a17b20 496#else
a0d0e21e 497char* sv_grow _((SV* sv, unsigned long newlen));
93a17b20 498#endif
a0d0e21e 499void sv_inc _((SV* sv));
500void sv_insert _((SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen));
501int sv_isa _((SV* sv, char* name));
502int sv_isobject _((SV* sv));
503STRLEN sv_len _((SV* sv));
504void sv_magic _((SV* sv, SV* obj, int how, char* name, I32 namlen));
505SV* sv_mortalcopy _((SV* oldsv));
506SV* sv_newmortal _((void));
507SV* sv_newref _((SV* sv));
46fc3d4c 508char* sv_peek _((SV* sv));
509char* sv_pvn_force _((SV* sv, STRLEN* lp));
a0d0e21e 510char* sv_reftype _((SV* sv, int ob));
511void sv_replace _((SV* sv, SV* nsv));
512void sv_report_used _((void));
513void sv_reset _((char* s, HV* stash));
46fc3d4c 514void sv_setpvf _((SV* sv, const char* pat, ...));
a0d0e21e 515void sv_setiv _((SV* sv, IV num));
84902520 516void sv_setpviv _((SV* sv, IV num));
55497cff 517void sv_setuv _((SV* sv, UV num));
a0d0e21e 518void sv_setnv _((SV* sv, double num));
46fc3d4c 519SV* sv_setref_iv _((SV* rv, char* classname, IV iv));
520SV* sv_setref_nv _((SV* rv, char* classname, double nv));
521SV* sv_setref_pv _((SV* rv, char* classname, void* pv));
522SV* sv_setref_pvn _((SV* rv, char* classname, char* pv, I32 n));
71be2cbc 523void sv_setpv _((SV* sv, const char* ptr));
524void sv_setpvn _((SV* sv, const char* ptr, STRLEN len));
a0d0e21e 525void sv_setsv _((SV* dsv, SV* ssv));
bbce6d69 526void sv_taint _((SV* sv));
527bool sv_tainted _((SV* sv));
a0d0e21e 528int sv_unmagic _((SV* sv, int type));
529void sv_unref _((SV* sv));
bbce6d69 530void sv_untaint _((SV* sv));
a0d0e21e 531bool sv_upgrade _((SV* sv, U32 mt));
532void sv_usepvn _((SV* sv, char* ptr, STRLEN len));
46fc3d4c 533void sv_vcatpvfn _((SV* sv, const char* pat, STRLEN patlen,
534 va_list* args, SV** svargs, I32 svmax,
535 bool *used_locale));
536void sv_vsetpvfn _((SV* sv, const char* pat, STRLEN patlen,
537 va_list* args, SV** svargs, I32 svmax,
538 bool *used_locale));
a0d0e21e 539void taint_env _((void));
71be2cbc 540void taint_proper _((const char* f, char* s));
16d20bd9 541#ifdef UNLINK_ALL_VERSIONS
a0d0e21e 542I32 unlnk _((char* f));
16d20bd9 543#endif
77a005ab 544#ifdef USE_THREADS
545void unlock_condpair _((void* svv));
546#endif
71be2cbc 547void unsharepvn _((char* sv, I32 len, U32 hash));
548void unshare_hek _((HEK* hek));
45b989d7 549void utilize _((int aver, I32 floor, OP* version, OP* id, OP* arg));
68dc0745 550void vivify_defelem _((SV* sv));
551void vivify_ref _((SV* sv, U32 to_what));
a0d0e21e 552I32 wait4pid _((int pid, int* statusp, int flags));
fc36a67e 553void warn _((const char* pat,...));
46fc3d4c 554void watch _((char** addr));
a0d0e21e 555I32 whichsig _((char* sig));
556int yyerror _((char* s));
557int yylex _((void));
558int yyparse _((void));
559int yywarn _((char* s));
55497cff 560
561#if defined(MYMALLOC) || !defined(STANDARD_C)
562Malloc_t malloc _((MEM_SIZE nbytes));
563Malloc_t calloc _((MEM_SIZE elements, MEM_SIZE size));
564Malloc_t realloc _((Malloc_t where, MEM_SIZE nbytes));
565Free_t free _((Malloc_t where));
566#endif
567
bbce6d69 568#ifndef MYMALLOC
569Malloc_t safemalloc _((MEM_SIZE nbytes));
570Malloc_t safecalloc _((MEM_SIZE elements, MEM_SIZE size));
571Malloc_t saferealloc _((Malloc_t where, MEM_SIZE nbytes));
572Free_t safefree _((Malloc_t where));
573#endif
574
55497cff 575#ifdef LEAKTEST
576Malloc_t safexmalloc _((I32 x, MEM_SIZE size));
577Malloc_t safexcalloc _((I32 x, MEM_SIZE elements, MEM_SIZE size));
578Malloc_t safexrealloc _((Malloc_t where, MEM_SIZE size));
579void safexfree _((Malloc_t where));
580#endif