perl 5.0 alpha 2
[p5sagit/p5-mst-13.2.git] / proto.h
1 OP *    CopDBadd P((OP *cur));
2 OP *    add_label P((char *lbl, OP *cmd));
3 OP *    addcond P((OP *cmd, OP *arg));
4 OP *    addflags P((I32 i, I32 flags, OP *arg));
5 OP *    addloop P((OP *cmd, OP *arg));
6 OP *    append_elem P((I32 optype, OP *head, OP *tail));
7 OP *    append_list P((I32 optype, OP *head, OP *tail));
8 I32     apply P((I32 type, SV **mark, SV **sp));
9 void    av_clear P((AV *ar));
10 AV *    av_fake P((I32 size, SV **strp));
11 SV **   av_fetch P((AV *ar, I32 key, I32 lval));
12 void    av_fill P((AV *ar, I32 fill));
13 void    av_free P((AV *ar));
14 I32     av_len P((AV *ar));
15 AV *    av_make P((I32 size, SV **strp));
16 SV *    av_pop P((AV *ar));
17 void    av_popnulls P((AV *ar));
18 bool    av_push P((AV *ar, SV *val));
19 SV *    av_shift P((AV *ar));
20 SV **   av_store P((AV *ar, I32 key, SV *val));
21 void    av_undef P((AV *ar));
22 void    av_unshift P((AV *ar, I32 num));
23 OP *    bind_match P((I32 type, OP *left, OP *pat));
24 OP *    block_head P((OP *tail));
25 I32     cando P((I32 bit, I32 effective, struct stat *statbufp));
26 unsigned long   cast_ulong P((double f));
27 void    checkcomma P((char *s, char *name, char *what));
28 I32     chsize P((int fd, off_t length));
29 OP *    convert P((I32 optype, I32 flags, OP *op));
30 OP *    cop_to_arg P((OP *cmd));
31 I32     copyopt P((OP *cmd, OP *which));
32 void    cpy7bit P((char *d, char *s, I32 l));
33 char *  cpytill P((char *to, char *from, char *fromend, I32 delim, I32 *retlen));
34 void    cryptfilter P((FILE *fil));
35 void    cryptswitch P((void));
36 void    deb P((char *pat, ...));
37 void    deb_growlevel P((void));
38 OP *    die P((const char* pat, ...));
39 OP *    die_where P((char *message));
40 void    do_accept P((SV *sv, GV *ngv, GV *ggv));
41 bool    do_aexec P((SV *really, SV **mark, SV **sp));
42 void    do_chop P((SV *astr, SV *sv));
43 bool    do_close P((GV *gv, bool explicit));
44 int     do_ctl P((I32 optype, GV *gv, I32 func, SV *argstr));
45 bool    do_eof P((GV *gv));
46 bool    do_exec P((char *cmd));
47 void    do_execfree P((void));
48 SV *    do_fttext P((OP *arg, SV *sv));
49 I32     do_ipcctl P((I32 optype, SV **mark, SV **sp));
50 I32     do_ipcget P((I32 optype, SV **mark, SV **sp));
51 void    do_join P((SV *sv, SV *del, SV **mark, SV **sp));
52 OP *    do_kv P((SV*,OP*,I32));
53 I32     do_msgrcv P((SV **mark, SV **sp));
54 I32     do_msgsnd P((SV **mark, SV **sp));
55 bool    do_open P((GV *gv, char *name, I32 len));
56 void    do_pipe P((SV *sv, GV *rgv, GV *wgv));
57 bool    do_print P((SV *sv, FILE *fp));
58 I32     do_repeatary P((SV*,OP*,I32));
59 bool    do_seek P((GV *gv, long pos, int whence));
60 I32     do_semop P((SV **mark, SV **sp));
61 I32     do_shmio P((I32 optype, SV **mark, SV **sp));
62 void    do_sprintf P((SV *sv, int len, SV **sarg));
63 OP *    do_subr P((void));
64 long    do_tell P((GV *gv));
65 I32     do_trans P((SV *sv, OP *arg));
66 void    do_vecset P((SV *sv));
67 void    do_vop P((I32 optype, SV *sv, SV *left, SV *right));
68 void    do_write P((struct Outrec *orec, GV *gv));
69 void    dump_all P((void));
70 void    dump_cop P((OP *cmd, OP *alt));
71 void    dump_eval P((OP *root, OP *start));
72         dump_fds P((char *s));
73 void    dump_flags P((char *b, U32 flags));
74 void    dump_gv P((GV *gv));
75 void    dump_op P((OP *arg));
76 void    dump_pm P((PM *pm));
77         dup2 P((int oldfd, int newfd));
78 void    fbm_compile P((SV *sv, I32 iflag));
79 char *  fbm_instr P((unsigned char *big, unsigned char *bigend, SV *littlestr));
80 IO *    fetch_io P((OP* op, I32 num));
81 GV *    fetch_gv P((OP* op, I32 num));
82 OP *    flatten P((OP *arg));
83 void    force_ident P((char *s));
84 char *  force_word P((char *s));
85 OP *    forcelist P((OP *arg));
86 void    free_tmps P((void));
87 OP *    gen_constant_list P((OP *op));
88 I32     getgimme P((OP*op));
89 void    gp_free P((GV* gv));
90 GP *    gp_ref P((GP* gp));
91 GV *    gv_AVadd P((GV *gv));
92 GV *    gv_HVadd P((GV *gv));
93 void    gv_check P((I32 min, I32 max));
94 void    gv_efullname P((SV *sv, GV *gv));
95 GV *    gv_fetchfile P((char *name));
96 GV *    gv_fetchmethod P((HV* stash, char *name));
97 GV *    gv_fetchpv P((char *name, I32 add));
98 void    gv_fullname P((SV *sv, GV *gv));
99 STRLEN  gv_len P((SV *sv));
100 SV *    gv_str P((SV *sv));
101 OP *    gv_to_op P((I32 atype, GV *gv));
102 void    he_delayfree P((HE *hent));
103 void    he_free P((HE *hent));
104 void    hoistmust P((PM *pm));
105 void    hv_clear P((HV *tb, I32 dodbm));
106 void    hv_dbmclose P((HV *tb));
107 bool    hv_dbmopen P((HV *tb, char *fname, int mode));
108 bool    hv_dbmstore P((HV *tb, char *key, U32 klen, SV *sv));
109 SV *    hv_delete P((HV *tb, char *key, U32 klen));
110 SV **   hv_fetch P((HV *tb, char *key, U32 klen, I32 lval));
111 void    hv_free P((HV *tb, I32 dodbm));
112 I32     hv_iterinit P((HV *tb));
113 char *  hv_iterkey P((HE *entry, I32 *retlen));
114 HE *    hv_iternext P((HV *tb));
115 SV *    hv_iterval P((HV *tb, HE *entry));
116 void    hv_magic P((SV *sv, GV *gv, I32 how));
117 SV **   hv_store P((HV *tb, char *key, U32 klen, SV *val, U32 hash));
118 void    hv_undef P((HV *tb, I32 dodbm));
119 I32     ibcmp P((char *a, char *b, I32 len));
120 I32     ingroup P((int testgid, I32 effective));
121 char *  instr P((char *big, char *little));
122 OP *    invert P((OP *cmd));
123 OP *    jmaybe P((OP *arg));
124 I32     keyword P((char *d));
125 void    leave_scope P((I32 base));
126 OP *    linklist P((OP *op));
127 OP *    list P((OP *o));
128 OP *    listkids P((OP *o));
129 OP *    localize P((OP *arg));
130 I32     looks_like_number P((SV *sv));
131 OP *    loopscope P((OP *o));
132 I32     lop P((I32 f, char *s));
133 int     magic_get       P((SV* sv, MAGIC* mg));
134 int     magic_getarylen P((SV* sv, MAGIC* mg));
135 int     magic_getglob   P((SV* sv, MAGIC* mg));
136 int     magic_getuvar   P((SV* sv, MAGIC* mg));
137 int     magic_set       P((SV* sv, MAGIC* mg));
138 int     magic_setarylen P((SV* sv, MAGIC* mg));
139 int     magic_setbm     P((SV* sv, MAGIC* mg));
140 int     magic_setdbline P((SV* sv, MAGIC* mg));
141 int     magic_setdbm    P((SV* sv, MAGIC* mg));
142 int     magic_setenv    P((SV* sv, MAGIC* mg));
143 int     magic_setglob   P((SV* sv, MAGIC* mg));
144 int     magic_setsig    P((SV* sv, MAGIC* mg));
145 int     magic_setsubstr P((SV* sv, MAGIC* mg));
146 int     magic_setuvar   P((SV* sv, MAGIC* mg));
147 int     magic_setvec    P((SV* sv, MAGIC* mg));
148 void    magicalize P((char *list));
149 void    magicname P((char *sym, char *name, I32 namlen));
150         main P((int argc, char **argv, char **env));
151 MALLOCPTRTYPE * malloc P((MEM_SIZE nbytes));
152 OP *    maybeforcelist P((I32 optype, OP *arg));
153 char *  mess P((char *pat, ...));
154 int     mg_clear P((SV *sv));
155 int     mg_free P((SV *sv, char type));
156 int     mg_freeall P((SV *sv));
157 int     mg_get P((SV *sv));
158 U32     mg_len P((SV *sv));
159 int     mg_set P((SV *sv));
160 char *  moreswitches P((char *s));
161 void    mstats P((char *s));
162 char *  my_bcopy P((char *from, char *to, I32 len));
163 char *  my_bzero P((char *loc, I32 len));
164 void    my_exit P((I32 status));
165 I32     my_lstat P((OP *arg, SV *sv));
166 I32     my_memcmp P((unsigned char *s1, unsigned char *s2, I32 len));
167 I32     my_pclose P((FILE *ptr));
168 FILE *  my_pfiopen P((FILE *fil, VOID (*func)()));
169 FILE *  my_popen P((char *cmd, char *mode));
170 void    my_setenv P((char *nam, char *val));
171 I32     my_stat P((OP *arg, SV *sv));
172 short   my_swap P((short s));
173 void    my_unexec P((void));
174 OP *    newANONLIST P((OP *op));
175 OP *    newANONHASH P((OP *op));
176 OP *    newASSIGNOP P((I32 flags, OP *left, OP *right));
177 OP *    newBINOP P((I32 optype, I32 flags, OP *left, OP *right));
178 OP *    newCONDOP P((I32 flags, OP *expr, OP *true, OP *false));
179 void    newFORM P((OP *name, OP *block));
180 OP *    newFOROP P((I32 flags, char *label, line_t forline, OP* scalar, OP* expr, OP*block, OP*cont));
181 HV *    newHV P((U32 lookat));
182 OP *    newLOGOP P((I32 optype, I32 flags, OP *left, OP *right));
183 OP *    newLOOPOP P((I32 flags, I32 debuggable, OP *expr, OP *block, OP *cont));
184 OP *    newMETHOD P((OP *ref, OP* name));
185 OP *    newNAMEOP P((OP *o));
186 OP *    newNULLLIST P((void));
187 OP *    newOP P((I32 optype, I32 flags));
188 OP *    newRANGE P((I32 flags, OP *left, OP *right));
189 OP *    newSLICEOP P((I32 flags, OP *subscript, OP *list));
190 OP *    newSTATEOP P((I32 flags, char *label, OP *o));
191 void    newSUB P((OP *name, OP *block));
192 OP *    newUNOP P((I32 optype, I32 flags, OP *child));
193 AV *    newAV P((void));
194 OP *    newAVREF P((OP *o));
195 OP *    newBINOP P((I32 type, I32 flags, OP *first, OP *last));
196 OP *    newCVREF P((OP *o));
197 OP *    newGVOP P((I32 type, I32 flags, GV *gv));
198 GV *    newGVgen P((void));
199 OP *    newGVREF P((OP *o));
200 OP *    newHVREF P((OP *o));
201 HV *    newHV P((U32 lookat));
202 IO *    newIO P((void));
203 OP *    newLISTOP P((I32 type, I32 flags, first, last));
204 OP *    newPMOP P((I32 type, I32 flags));
205 OP *    newPVOP P((I32 type, I32 flags, PV *pv));
206 #ifdef LEAKTEST
207 SV *    newSV P((I32 x, STRLEN len));
208 #else
209 SV *    newSV P((STRLEN len));
210 #endif
211 OP *    newSVREF P((OP *o));
212 OP *    newSVOP P((I32 type, I32 flags, SV *sv));
213 SV *    newSViv P((I32 i));
214 SV *    newSVnv P((double n));
215 SV *    newSVpv P((char *s, STRLEN len));
216 SV *    newSVsv P((SV *old));
217 OP *    newUNOP P((I32 type, I32 flags, OP *first));
218 FILE *  nextargv P((GV *gv));
219 char *  ninstr P((char *big, char *bigend, char *little, char *lend));
220 char *  nsavestr P((char *sv, I32 len));
221 void    op_behead P((OP *arg));
222 OP *    op_fold_const P((OP *arg));
223 void    op_free P((OP *arg));
224 void    op_optimize P((OP *cmd, I32 fliporflop, I32 acmd));
225 OP *    over P((GV *eachgv, OP *cmd));
226 PADOFFSET       pad_alloc P((void));
227 SV *    pad_sv P((PADOFFSET po));
228 void    pad_free P((PADOFFSET po));
229 void    pad_reset P((void));
230 void    pad_swipe P((PADOFFSET po));
231 OP *    parse_list P((SV *sv));
232 void    peep P((OP *op));
233 Interpreter *   perl_alloc P((void));
234 I32     perl_callback P((char *subname, I32 sp, I32 gimme, I32 hasargs, I32 numargs));
235 I32     perl_callv P((char *subname, I32 sp, I32 gimme, char **argv));
236 void    perl_construct P((Interpreter *sv_interp));
237 void    perl_destruct P((Interpreter *sv_interp));
238 void    perl_free P((Interpreter *sv_interp));
239 I32     perl_parse P((Interpreter *sv_interp, int argc, char **argv, char **env));
240 I32     perl_run P((Interpreter *sv_interp));
241 void    pidgone P((int pid, int status));
242 OP *    pmruntime P((OP *pm, OP *expr));
243 OP *    pop_return P((void));
244 OP *    prepend_elem P((I32 optype, OP *head, OP *tail));
245 void    push_return P((OP* op));
246 void    pv_grow P((char **strptr, I32 *curlen, I32 newlen));
247 OP *    rcatmaybe P((OP *arg));
248 regexp *        regcomp P((char *exp, char *xend, I32 fold));
249 OP *    ref P((OP *op, I32 type));
250 OP *    refkids P((OP *op, I32 type));
251 void    regdump P((regexp *r));
252 I32     regexec P((regexp *prog, char *stringarg, char *strend, char *strbeg, I32 minend, SV *screamer, I32 safebase));
253 void    regfree P((struct regexp *r));
254 char *  regnext P((char *p));
255 char *  regprop P((char *op));
256 void    reinit_lexer P((void));
257 void    repeatcpy P((char *to, char *from, I32 len, I32 count));
258 char *  rninstr P((char *big, char *bigend, char *little, char *lend));
259 void    run_format P((struct Outrec *orec, FF *fcmd));
260 #ifndef safemalloc
261 void    safefree P((char *where));
262 char *  safemalloc P((MEM_SIZE size));
263 char *  saferealloc P((char *where, unsigned long size));
264 #endif
265 void    safexfree P((char *where));
266 char *  safexmalloc P((I32 x, MEM_SIZE size));
267 char *  safexrealloc P((char *where, MEM_SIZE size));
268 I32     same_dirent P((char *a, char *b));
269 void    savestack_grow P((void));
270 void    save_aptr P((AV **aptr));
271 AV *    save_ary P((GV *gv));
272 HV *    save_hash P((GV *gv));
273 void    save_hptr P((HV **hptr));
274 void    save_I32 P((I32 *intp));
275 void    save_int P((int *intp));
276 void    save_item P((SV *item));
277 void    save_lines P((AV *array, SV *sv));
278 void    save_list P((SV **sarg, I32 maxsarg));
279 void    save_nogv P((GV *gv));
280 SV *    save_scalar P((GV *gv));
281 void    save_sptr P((SV **sptr));
282 SV *    save_svref P((SV **sptr));
283 char *  savestr P((char *sv));
284 OP *    sawparens P((OP *o));
285 OP *    scalar P((OP *o));
286 OP *    scalarkids P((OP *op));
287 OP *    scalarseq P((OP *o));
288 OP *    scalarvoid P((OP *op));
289 char *  scan_formline P((char *s));
290 unsigned long   scan_hex P((char *start, I32 len, I32 *retlen));
291 char *  scan_heredoc P((char *s));
292 char *  scan_inputsymbol P((char *s));
293 char *  scan_ident P((char *s, char *send, char *dest));
294 char *  scan_num P((char *s));
295 unsigned long   scan_oct P((char *start, I32 len, I32 *retlen));
296 char *  scan_pat P((char *s));
297 void    scan_prefix P((PM *pm, char *string, I32 len));
298 char *  scan_str P((char *start));
299 char *  scan_subst P((char *start));
300 char *  scan_trans P((char *start));
301 OP *    scope P((OP *o));
302 char *  screaminstr P((SV *bigstr, SV *littlestr));
303 I32     setenv_getix P((char *nam));
304 char *  skipspace P((char *s));
305 AV *    sv_2av P((SV *sv, STASH **st, GV **gvp, I32 lref));
306 CV *    sv_2cv P((SV *sv, STASH **st, GV **gvp, I32 lref));
307 HV *    sv_2hv P((SV *sv, STASH **st, GV **gvp, I32 lref));
308 I32     sv_2iv P((SV *sv));
309 SV *    sv_2mortal P((SV *sv));
310 double  sv_2nv P((SV *sv));
311 char *  sv_2pv P((SV *sv));
312 char *  sv_append_till P((SV *sv, char *from, char *fromend, I32 delim, char *keeplist));
313 int     sv_backoff P((SV *sv));
314 void    sv_catpv P((SV *sv, char *ptr));
315 void    sv_catpvn P((SV *sv, char *ptr, STRLEN len));
316 void    sv_catsv P((SV *dstr, SV *sstr));
317 void    sv_chop P((SV *sv, char *ptr));
318 void    sv_clear P((SV *sv));
319 I32     sv_cmp P((SV *str1, SV *str2));
320 void    sv_dec P((SV *sv));
321 I32     sv_eq P((SV *str1, SV *str2));
322 void    sv_free P((SV *sv));
323 char *  sv_gets P((SV *sv, FILE *fp, I32 append));
324 char *  sv_grow P((SV *sv, unsigned long newlen));
325 void    sv_inc P((SV *sv));
326 void    sv_insert P((SV *bigstr, STRLEN offset, STRLEN len, char *little, STRLEN littlelen));
327 SV *    sv_interp P((SV *sv, SV *src, I32 sp));
328 void    sv_intrpcompile P((SV *src));
329 STRLEN  sv_len P((SV *sv));
330 void    sv_magic P((SV *sv, SV *sv, char how, char *name, STRLEN namlen));
331 SV *    sv_mortalcopy P((SV *oldstr));
332 SV *    sv_ref P((SV *sv));
333 void    sv_replace P((SV *sv, SV *nstr));
334 void    sv_reset P((char *s, HV *stash));
335 void    sv_setiv P((SV *sv, I32 num));
336 void    sv_setnv P((SV *sv, double num));
337 void    sv_setpv P((SV *sv, char *ptr));
338 void    sv_setpvn P((SV *sv, char *ptr, STRLEN len));
339 void    sv_setsv P((SV *dstr, SV *sstr));
340 void    taint_env P((void));
341 void    taint_proper P((char *f, char *s));
342 I32     uni P((I32 f, char *s));
343 I32     unlnk P((char *f));
344 I32     userinit P((void));
345 I32     wait4pid P((int pid, int *statusp, int flags));
346 void    warn P((const char* pat, ...));
347 I32     whichsig P((char *sig));
348 void    while_io P((OP *cmd));
349 OP *    wopt P((OP *cmd));
350 int     yyerror P((char *s));
351 int     yylex P((void));
352 int     yyparse P((void));