| 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, LISTOP* first, LISTOP* last)); |
| 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** svp)); |
| 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** svp)); |
| 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* o, OP** startp)); |
| 25 | void calllist P((AV* list)); |
| 26 | I32 cando P((I32 bit, I32 effective, struct stat* statbufp)); |
| 27 | U32 cast_ulong P((double f)); |
| 28 | void checkcomma P((char* s, char* name, char* what)); |
| 29 | I32 chsize P((int fd, off_t length)); |
| 30 | OP* convert P((I32 optype, I32 flags, OP* op)); |
| 31 | OP* cop_to_arg P((OP* cmd)); |
| 32 | I32 copyopt P((OP* cmd, OP* which)); |
| 33 | void cpy7bit P((char* d, char* s, I32 l)); |
| 34 | char* cpytill P((char* to, char* from, char* fromend, I32 delim, I32* retlen)); |
| 35 | void croak P((char* pat,...)); |
| 36 | void cryptfilter P((FILE* fil)); |
| 37 | void cryptswitch P((void)); |
| 38 | void cv_clear P((CV* cv)); |
| 39 | void deb P((char* pat,...)); |
| 40 | void deb_growlevel P((void)); |
| 41 | OP* die P((char* pat,...)); |
| 42 | OP* die_where P((char* message)); |
| 43 | void do_accept P((SV* sv, GV* ngv, GV* ggv)); |
| 44 | bool do_aexec P((SV* really, SV** mark, SV** sp)); |
| 45 | void do_chop P((SV* asv, SV* sv)); |
| 46 | bool do_close P((GV* gv, bool explicit)); |
| 47 | int do_ctl P((I32 optype, GV* gv, I32 func, SV* argsv)); |
| 48 | bool do_eof P((GV* gv)); |
| 49 | bool do_exec P((char* cmd)); |
| 50 | void do_execfree P((void)); |
| 51 | SV* do_fttext P((OP* arg, SV* sv)); |
| 52 | I32 do_ipcctl P((I32 optype, SV** mark, SV** sp)); |
| 53 | I32 do_ipcget P((I32 optype, SV** mark, SV** sp)); |
| 54 | void do_join P((SV* sv, SV* del, SV** mark, SV** sp)); |
| 55 | OP* do_kv P((void)); |
| 56 | I32 do_msgrcv P((SV** mark, SV** sp)); |
| 57 | I32 do_msgsnd P((SV** mark, SV** sp)); |
| 58 | bool do_open P((GV* gv, char* name, I32 len)); |
| 59 | void do_pipe P((SV* sv, GV* rgv, GV* wgv)); |
| 60 | bool do_print P((SV* sv, FILE* fp)); |
| 61 | bool do_seek P((GV* gv, long pos, int whence)); |
| 62 | I32 do_semop P((SV** mark, SV** sp)); |
| 63 | I32 do_shmio P((I32 optype, SV** mark, SV** sp)); |
| 64 | void do_sprintf P((SV* sv, int len, SV** sarg)); |
| 65 | OP* do_subr P((void)); |
| 66 | long do_tell P((GV* gv)); |
| 67 | I32 do_trans P((SV* sv, OP* arg)); |
| 68 | void do_vecset P((SV* sv)); |
| 69 | void do_vop P((I32 optype, SV* sv, SV* left, SV* right)); |
| 70 | void do_write P((struct Outrec* orec, GV* gv)); |
| 71 | void dump_all P((void)); |
| 72 | void dump_cop P((OP* cmd, OP* alt)); |
| 73 | void dump_eval P((void)); |
| 74 | int dump_fds P((char* s)); |
| 75 | void dump_flags P((char* b, U32 flags)); |
| 76 | void dump_gv P((GV* gv)); |
| 77 | void dump_op P((OP* arg)); |
| 78 | void dump_pm P((PMOP* pm)); |
| 79 | void dump_packsubs P((HV* stash)); |
| 80 | void dump_sub P((GV* gv)); |
| 81 | void fbm_compile P((SV* sv, I32 iflag)); |
| 82 | char* fbm_instr P((unsigned char* big, unsigned char* bigend, SV* littlesv)); |
| 83 | IO* fetch_io P((OP* op, I32 num)); |
| 84 | GV* fetch_gv P((OP* op, I32 num)); |
| 85 | HV* fetch_stash P((SV* sv, I32 create)); |
| 86 | OP* flatten P((OP* arg)); |
| 87 | void force_ident P((char* s)); |
| 88 | char* force_word P((char* start, int token, int check_keyword, int allow_tick)); |
| 89 | OP* forcelist P((OP* arg)); |
| 90 | void free_tmps P((void)); |
| 91 | OP* gen_constant_list P((OP* op)); |
| 92 | I32 getgimme P((OP*op)); |
| 93 | void gp_free P((GV* gv)); |
| 94 | GP* gp_ref P((GP* gp)); |
| 95 | GV* gv_AVadd P((GV* gv)); |
| 96 | GV* gv_HVadd P((GV* gv)); |
| 97 | void gv_check P((HV* stash)); |
| 98 | void gv_efullname P((SV* sv, GV* gv)); |
| 99 | GV* gv_fetchfile P((char* name)); |
| 100 | GV* gv_fetchmethod P((HV* stash, char* name)); |
| 101 | GV* gv_fetchpv P((char* name, I32 add)); |
| 102 | void gv_fullname P((SV* sv, GV* gv)); |
| 103 | STRLEN gv_len P((SV* sv)); |
| 104 | SV* gv_str P((SV* sv)); |
| 105 | OP* gv_to_op P((I32 atype, GV* gv)); |
| 106 | void he_delayfree P((HE* hent)); |
| 107 | void he_free P((HE* hent)); |
| 108 | void hoistmust P((PMOP* pm)); |
| 109 | void hv_clear P((HV* tb)); |
| 110 | SV* hv_delete P((HV* tb, char* key, U32 klen)); |
| 111 | SV** hv_fetch P((HV* tb, char* key, U32 klen, I32 lval)); |
| 112 | void hv_free P((HV* tb)); |
| 113 | I32 hv_iterinit P((HV* tb)); |
| 114 | char* hv_iterkey P((HE* entry, I32* retlen)); |
| 115 | HE* hv_iternext P((HV* tb)); |
| 116 | SV* hv_iterval P((HV* tb, HE* entry)); |
| 117 | void hv_magic P((HV* hv, GV* gv, I32 how)); |
| 118 | SV** hv_store P((HV* tb, char* key, U32 klen, SV* val, U32 hash)); |
| 119 | void hv_undef P((HV* tb)); |
| 120 | I32 ibcmp P((char* a, char* b, I32 len)); |
| 121 | I32 ingroup P((int testgid, I32 effective)); |
| 122 | char* instr P((char* big, char* little)); |
| 123 | int init_DB_File P((int ix, int sp, int items)); |
| 124 | int init_NDBM_File P((int ix, int sp, int items)); |
| 125 | int init_GDBM_File P((int ix, int sp, int items)); |
| 126 | int init_SDBM_File P((int ix, int sp, int items)); |
| 127 | int init_ODBM_File P((int ix, int sp, int items)); |
| 128 | int init_DBZ_File P((int ix, int sp, int items)); |
| 129 | OP* invert P((OP* cmd)); |
| 130 | OP* jmaybe P((OP* arg)); |
| 131 | I32 keyword P((char* d, I32 len)); |
| 132 | void leave_scope P((I32 base)); |
| 133 | void lex_end P((void)); |
| 134 | void lex_start P((void)); |
| 135 | OP* linklist P((OP* op)); |
| 136 | OP* list P((OP* o)); |
| 137 | OP* listkids P((OP* o)); |
| 138 | OP* localize P((OP* arg, I32 lexical)); |
| 139 | I32 looks_like_number P((SV* sv)); |
| 140 | OP* loopscope P((OP* o)); |
| 141 | I32 lop P((I32 f, char* s)); |
| 142 | int magic_clearpack P((SV* sv, MAGIC* mg)); |
| 143 | int magic_get P((SV* sv, MAGIC* mg)); |
| 144 | int magic_getarylen P((SV* sv, MAGIC* mg)); |
| 145 | int magic_getpack P((SV* sv, MAGIC* mg)); |
| 146 | int magic_getglob P((SV* sv, MAGIC* mg)); |
| 147 | int magic_gettaint P((SV* sv, MAGIC* mg)); |
| 148 | int magic_getuvar P((SV* sv, MAGIC* mg)); |
| 149 | U32 magic_len P((SV* sv, MAGIC* mg)); |
| 150 | int magic_set P((SV* sv, MAGIC* mg)); |
| 151 | int magic_setarylen P((SV* sv, MAGIC* mg)); |
| 152 | int magic_setbm P((SV* sv, MAGIC* mg)); |
| 153 | int magic_setpack P((SV* sv, MAGIC* mg)); |
| 154 | int magic_setdbline P((SV* sv, MAGIC* mg)); |
| 155 | int magic_setenv P((SV* sv, MAGIC* mg)); |
| 156 | int magic_setisa P((SV* sv, MAGIC* mg)); |
| 157 | int magic_setglob P((SV* sv, MAGIC* mg)); |
| 158 | int magic_setmglob P((SV* sv, MAGIC* mg)); |
| 159 | int magic_setsig P((SV* sv, MAGIC* mg)); |
| 160 | int magic_setsubstr P((SV* sv, MAGIC* mg)); |
| 161 | int magic_settaint P((SV* sv, MAGIC* mg)); |
| 162 | int magic_setuvar P((SV* sv, MAGIC* mg)); |
| 163 | int magic_setvec P((SV* sv, MAGIC* mg)); |
| 164 | void magicalize P((char* list)); |
| 165 | void magicname P((char* sym, char* name, I32 namlen)); |
| 166 | int main P((int argc, char** argv, char** env)); |
| 167 | #ifndef STANDARD_C |
| 168 | MALLOCPTRTYPE* malloc P((MEM_SIZE nbytes)); |
| 169 | #endif |
| 170 | OP* maybeforcelist P((I32 optype, OP* arg)); |
| 171 | char* mess P((char* pat, ...)); |
| 172 | int mg_clear P((SV* sv)); |
| 173 | MAGIC* mg_find P((SV* sv, char type)); |
| 174 | int mg_free P((SV* sv)); |
| 175 | int mg_get P((SV* sv)); |
| 176 | U32 mg_len P((SV* sv)); |
| 177 | int mg_set P((SV* sv)); |
| 178 | OP* mod P((OP* op, I32 type)); |
| 179 | char* moreswitches P((char* s)); |
| 180 | void mstats P((char* s)); |
| 181 | char* my_bcopy P((char* from, char* to, I32 len)); |
| 182 | char* my_bzero P((char* loc, I32 len)); |
| 183 | void my_exit P((I32 status)); |
| 184 | I32 my_lstat P((void)); |
| 185 | I32 my_memcmp P((unsigned char* s1, unsigned char* s2, I32 len)); |
| 186 | I32 my_pclose P((FILE* ptr)); |
| 187 | FILE* my_pfiopen P((FILE* fil, VOID (*func)())); |
| 188 | FILE* my_popen P((char* cmd, char* mode)); |
| 189 | void my_setenv P((char* nam, char* val)); |
| 190 | I32 my_stat P((void)); |
| 191 | short my_swap P((short s)); |
| 192 | void my_unexec P((void)); |
| 193 | OP* newANONLIST P((OP* op)); |
| 194 | OP* newANONHASH P((OP* op)); |
| 195 | OP* newASSIGNOP P((I32 flags, OP* left, OP* right)); |
| 196 | OP* newBINOP P((I32 optype, I32 flags, OP* left, OP* right)); |
| 197 | OP* newCONDOP P((I32 flags, OP* expr, OP* true, OP* false)); |
| 198 | void newFORM P((I32 floor, OP* op, OP* block)); |
| 199 | OP* newFOROP P((I32 flags, char* label, line_t forline, OP* scalar, OP* expr, OP*block, OP*cont)); |
| 200 | OP* newLOGOP P((I32 optype, I32 flags, OP* left, OP* right)); |
| 201 | OP* newLOOPOP P((I32 flags, I32 debuggable, OP* expr, OP* block)); |
| 202 | OP* newMETHOD P((OP* ref, OP* name)); |
| 203 | OP* newNAMEOP P((OP* o)); |
| 204 | OP* newNULLLIST P((void)); |
| 205 | OP* newOP P((I32 optype, I32 flags)); |
| 206 | OP* newRANGE P((I32 flags, OP* left, OP* right)); |
| 207 | OP* newSLICEOP P((I32 flags, OP* subscript, OP* list)); |
| 208 | OP* newSTATEOP P((I32 flags, char* label, OP* o)); |
| 209 | void newSUB P((I32 floor, OP* op, OP* block)); |
| 210 | OP* newUNOP P((I32 optype, I32 flags, OP* child)); |
| 211 | void newXSUB P((char *name, I32 ix, I32 (*subaddr)(int,int,int), char *filename)); |
| 212 | AV* newAV P((void)); |
| 213 | OP* newAVREF P((OP* o)); |
| 214 | OP* newBINOP P((I32 type, I32 flags, OP* first, OP* last)); |
| 215 | OP* newCVREF P((OP* o)); |
| 216 | OP* newGVOP P((I32 type, I32 flags, GV* gv)); |
| 217 | GV* newGVgen P((void)); |
| 218 | OP* newGVREF P((OP* o)); |
| 219 | OP* newHVREF P((OP* o)); |
| 220 | HV* newHV P((void)); |
| 221 | IO* newIO P((void)); |
| 222 | OP* newLISTOP P((I32 type, I32 flags, OP* first, OP* last)); |
| 223 | OP* newPMOP P((I32 type, I32 flags)); |
| 224 | OP* newPVOP P((I32 type, I32 flags, char* pv)); |
| 225 | #ifdef LEAKTEST |
| 226 | SV* newSV P((I32 x, STRLEN len)); |
| 227 | #else |
| 228 | SV* newSV P((STRLEN len)); |
| 229 | #endif |
| 230 | OP* newSVREF P((OP* o)); |
| 231 | OP* newSVOP P((I32 type, I32 flags, SV* sv)); |
| 232 | SV* newSViv P((I32 i)); |
| 233 | SV* newSVnv P((double n)); |
| 234 | SV* newSVpv P((char* s, STRLEN len)); |
| 235 | SV* newSVsv P((SV* old)); |
| 236 | OP* newUNOP P((I32 type, I32 flags, OP* first)); |
| 237 | OP * newWHILEOP P((I32 flags, I32 debuggable, LOOP* loop, OP* expr, OP* block, OP* cont)); |
| 238 | FILE* nextargv P((GV* gv)); |
| 239 | char* ninstr P((char* big, char* bigend, char* little, char* lend)); |
| 240 | char* nsavestr P((char* sv, I32 len)); |
| 241 | void op_behead P((OP* arg)); |
| 242 | OP* op_fold_const P((OP* arg)); |
| 243 | void op_free P((OP* arg)); |
| 244 | void op_optimize P((OP* cmd, I32 fliporflop, I32 acmd)); |
| 245 | OP* over P((GV* eachgv, OP* cmd)); |
| 246 | PADOFFSET pad_alloc P((I32 optype, char tmptype)); |
| 247 | PADOFFSET pad_allocmy P((char* name)); |
| 248 | PADOFFSET pad_findmy P((char* name)); |
| 249 | OP* oopsAV P((OP* o)); |
| 250 | OP* oopsHV P((OP* o)); |
| 251 | void pad_leavemy P((I32 fill)); |
| 252 | SV* pad_sv P((PADOFFSET po)); |
| 253 | void pad_free P((PADOFFSET po)); |
| 254 | void pad_reset P((void)); |
| 255 | void pad_swipe P((PADOFFSET po)); |
| 256 | OP* parse_list P((SV* sv)); |
| 257 | void peep P((OP* op)); |
| 258 | PerlInterpreter* perl_alloc P((void)); |
| 259 | I32 perl_callback P((char* subname, I32 sp, I32 gimme, I32 hasargs, I32 numargs)); |
| 260 | I32 perl_callv P((char* subname, I32 sp, I32 gimme, char** argv)); |
| 261 | void perl_construct P((PerlInterpreter* sv_interp)); |
| 262 | void perl_destruct P((PerlInterpreter* sv_interp)); |
| 263 | void perl_free P((PerlInterpreter* sv_interp)); |
| 264 | void perl_init_ext P((void)); |
| 265 | I32 perl_parse P((PerlInterpreter* sv_interp, int argc, char** argv, char** env)); |
| 266 | I32 perl_run P((PerlInterpreter* sv_interp)); |
| 267 | void pidgone P((int pid, int status)); |
| 268 | OP* pmruntime P((OP* pm, OP* expr, OP* repl)); |
| 269 | OP* pop_return P((void)); |
| 270 | OP* prepend_elem P((I32 optype, OP* head, OP* tail)); |
| 271 | void push_return P((OP* op)); |
| 272 | void pv_grow P((char** strptr, I32* curlen, I32 newlen)); |
| 273 | OP* rcatmaybe P((OP* arg)); |
| 274 | regexp* regcomp P((char* exp, char* xend, I32 fold)); |
| 275 | OP* ref P((OP* op, I32 type)); |
| 276 | OP* refkids P((OP* op, I32 type)); |
| 277 | void regdump P((regexp* r)); |
| 278 | I32 regexec P((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, I32 safebase)); |
| 279 | void regfree P((struct regexp* r)); |
| 280 | char* regnext P((char* p)); |
| 281 | char* regprop P((char* op)); |
| 282 | void repeatcpy P((char* to, char* from, I32 len, I32 count)); |
| 283 | char* rninstr P((char* big, char* bigend, char* little, char* lend)); |
| 284 | void run_format P((struct Outrec* orec, FF* fcmd)); |
| 285 | #ifndef safemalloc |
| 286 | void safefree P((char* where)); |
| 287 | char* safemalloc P((MEM_SIZE size)); |
| 288 | char* saferealloc P((char* where, unsigned long size)); |
| 289 | #endif |
| 290 | void safexfree P((char* where)); |
| 291 | char* safexmalloc P((I32 x, MEM_SIZE size)); |
| 292 | char* safexrealloc P((char* where, MEM_SIZE size)); |
| 293 | I32 same_dirent P((char* a, char* b)); |
| 294 | void savestack_grow P((void)); |
| 295 | void save_aptr P((AV** aptr)); |
| 296 | AV* save_ary P((GV* gv)); |
| 297 | HV* save_hash P((GV* gv)); |
| 298 | void save_hptr P((HV** hptr)); |
| 299 | void save_I32 P((I32* intp)); |
| 300 | void save_int P((int* intp)); |
| 301 | void save_item P((SV* item)); |
| 302 | void save_list P((SV** sarg, I32 maxsarg)); |
| 303 | void save_nogv P((GV* gv)); |
| 304 | SV* save_scalar P((GV* gv)); |
| 305 | void save_sptr P((SV** sptr)); |
| 306 | SV* save_svref P((SV** sptr)); |
| 307 | char* savestr P((char* sv)); |
| 308 | OP* sawparens P((OP* o)); |
| 309 | OP* scalar P((OP* o)); |
| 310 | OP* scalarkids P((OP* op)); |
| 311 | OP* scalarseq P((OP* o)); |
| 312 | OP* scalarvoid P((OP* op)); |
| 313 | char* scan_formline P((char* s)); |
| 314 | unsigned long scan_hex P((char* start, I32 len, I32* retlen)); |
| 315 | char* scan_heredoc P((char* s)); |
| 316 | char* scan_inputsymbol P((char* s)); |
| 317 | char* scan_ident P((char* s, char* send, char* dest, I32 ck_uni)); |
| 318 | char* scan_num P((char* s)); |
| 319 | unsigned long scan_oct P((char* start, I32 len, I32* retlen)); |
| 320 | char* scan_pat P((char* s)); |
| 321 | void scan_prefix P((PMOP* pm, char* string, I32 len)); |
| 322 | char* scan_str P((char* start)); |
| 323 | char* scan_subst P((char* start)); |
| 324 | char* scan_trans P((char* start)); |
| 325 | char* scan_word P((char* s, char* dest, int allow_package, STRLEN *slp)); |
| 326 | OP* scope P((OP* o)); |
| 327 | char* screaminstr P((SV* bigsv, SV* littlesv)); |
| 328 | I32 setenv_getix P((char* nam)); |
| 329 | char* skipspace P((char* s)); |
| 330 | bool sv_2bool P((SV* sv)); |
| 331 | CV* sv_2cv P((SV* sv, HV** st, GV** gvp, I32 lref)); |
| 332 | I32 sv_2iv P((SV* sv)); |
| 333 | SV* sv_2mortal P((SV* sv)); |
| 334 | double sv_2nv P((SV* sv)); |
| 335 | char* sv_2pv P((SV* sv, STRLEN* lp)); |
| 336 | char* sv_append_till P((SV* sv, char* from, char* fromend, I32 delim, char* keeplist)); |
| 337 | int sv_backoff P((SV* sv)); |
| 338 | void sv_catpv P((SV* sv, char* ptr)); |
| 339 | void sv_catpvn P((SV* sv, char* ptr, STRLEN len)); |
| 340 | void sv_catsv P((SV* dsv, SV* ssv)); |
| 341 | void sv_chop P((SV* sv, char* ptr)); |
| 342 | void sv_clear P((SV* sv)); |
| 343 | I32 sv_cmp P((SV* sv1, SV* sv2)); |
| 344 | void sv_dec P((SV* sv)); |
| 345 | I32 sv_eq P((SV* sv1, SV* sv2)); |
| 346 | void sv_free P((SV* sv)); |
| 347 | char* sv_gets P((SV* sv, FILE* fp, I32 append)); |
| 348 | #ifndef DOSISH |
| 349 | char* sv_grow P((SV* sv, I32 newlen)); |
| 350 | #else |
| 351 | char* sv_grow P((SV* sv, unsigned long newlen)); |
| 352 | #endif |
| 353 | void sv_inc P((SV* sv)); |
| 354 | void sv_insert P((SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen)); |
| 355 | SV* sv_interp P((SV* sv, SV* src, I32 sp)); |
| 356 | void sv_intrpcompile P((SV* src)); |
| 357 | STRLEN sv_len P((SV* sv)); |
| 358 | void sv_magic P((SV* sv, SV* obj, char how, char* name, I32 namlen)); |
| 359 | SV* sv_mortalcopy P((SV* oldsv)); |
| 360 | SV* sv_ref P((SV* sv)); |
| 361 | void sv_replace P((SV* sv, SV* nsv)); |
| 362 | void sv_reset P((char* s, HV* stash)); |
| 363 | void sv_setiv P((SV* sv, I32 num)); |
| 364 | void sv_setnv P((SV* sv, double num)); |
| 365 | void sv_setpv P((SV* sv, char* ptr)); |
| 366 | void sv_setpvn P((SV* sv, char* ptr, STRLEN len)); |
| 367 | void sv_setsv P((SV* dsv, SV* ssv)); |
| 368 | int sv_unmagic P((SV* sv, char type)); |
| 369 | void sv_usepvn P((SV* sv, char* ptr, STRLEN len)); |
| 370 | void taint_env P((void)); |
| 371 | void taint_not P((char *s)); |
| 372 | void taint_proper P((char* f, char* s)); |
| 373 | I32 uni P((I32 f, char* s)); |
| 374 | I32 unlnk P((char* f)); |
| 375 | I32 userinit P((void)); |
| 376 | I32 wait4pid P((int pid, int* statusp, int flags)); |
| 377 | void warn P((char* pat,...)); |
| 378 | I32 whichsig P((char* sig)); |
| 379 | void while_io P((OP* cmd)); |
| 380 | OP* wopt P((OP* cmd)); |
| 381 | int yyerror P((char* s)); |
| 382 | int yylex P((void)); |
| 383 | int yyparse P((void)); |