perl 5.0 alpha 8
[p5sagit/p5-mst-13.2.git] / opcode.h
CommitLineData
79072805 1typedef enum {
2 OP_NULL, /* 0 */
93a17b20 3 OP_STUB, /* 1 */
4 OP_SCALAR, /* 2 */
5 OP_PUSHMARK, /* 3 */
6 OP_WANTARRAY, /* 4 */
79072805 7 OP_CONST, /* 5 */
8 OP_INTERP, /* 6 */
9 OP_GVSV, /* 7 */
10 OP_GV, /* 8 */
93a17b20 11 OP_PADSV, /* 9 */
12 OP_PADAV, /* 10 */
13 OP_PADHV, /* 11 */
ed6116ce 14 OP_PADANY, /* 12 */
15 OP_PUSHRE, /* 13 */
16 OP_RV2GV, /* 14 */
17 OP_SV2LEN, /* 15 */
18 OP_RV2SV, /* 16 */
19 OP_AV2ARYLEN, /* 17 */
20 OP_RV2CV, /* 18 */
21 OP_REFGEN, /* 19 */
22 OP_REF, /* 20 */
23 OP_BLESS, /* 21 */
24 OP_BACKTICK, /* 22 */
25 OP_GLOB, /* 23 */
26 OP_READLINE, /* 24 */
27 OP_RCATLINE, /* 25 */
28 OP_REGCMAYBE, /* 26 */
29 OP_REGCOMP, /* 27 */
30 OP_MATCH, /* 28 */
31 OP_SUBST, /* 29 */
32 OP_SUBSTCONT, /* 30 */
33 OP_TRANS, /* 31 */
34 OP_SASSIGN, /* 32 */
35 OP_AASSIGN, /* 33 */
36 OP_SCHOP, /* 34 */
37 OP_CHOP, /* 35 */
38 OP_DEFINED, /* 36 */
39 OP_UNDEF, /* 37 */
40 OP_STUDY, /* 38 */
41 OP_PREINC, /* 39 */
42 OP_PREDEC, /* 40 */
43 OP_POSTINC, /* 41 */
44 OP_POSTDEC, /* 42 */
45 OP_POW, /* 43 */
46 OP_MULTIPLY, /* 44 */
47 OP_DIVIDE, /* 45 */
48 OP_MODULO, /* 46 */
49 OP_REPEAT, /* 47 */
50 OP_ADD, /* 48 */
51 OP_INTADD, /* 49 */
52 OP_SUBTRACT, /* 50 */
53 OP_CONCAT, /* 51 */
54 OP_LEFT_SHIFT, /* 52 */
55 OP_RIGHT_SHIFT, /* 53 */
56 OP_LT, /* 54 */
57 OP_GT, /* 55 */
58 OP_LE, /* 56 */
59 OP_GE, /* 57 */
60 OP_EQ, /* 58 */
61 OP_NE, /* 59 */
62 OP_NCMP, /* 60 */
63 OP_SLT, /* 61 */
64 OP_SGT, /* 62 */
65 OP_SLE, /* 63 */
66 OP_SGE, /* 64 */
67 OP_SEQ, /* 65 */
68 OP_SNE, /* 66 */
69 OP_SCMP, /* 67 */
70 OP_BIT_AND, /* 68 */
71 OP_XOR, /* 69 */
72 OP_BIT_OR, /* 70 */
73 OP_NEGATE, /* 71 */
74 OP_NOT, /* 72 */
75 OP_COMPLEMENT, /* 73 */
76 OP_ATAN2, /* 74 */
77 OP_SIN, /* 75 */
78 OP_COS, /* 76 */
79 OP_RAND, /* 77 */
80 OP_SRAND, /* 78 */
81 OP_EXP, /* 79 */
82 OP_LOG, /* 80 */
83 OP_SQRT, /* 81 */
84 OP_INT, /* 82 */
85 OP_HEX, /* 83 */
86 OP_OCT, /* 84 */
87 OP_ABS, /* 85 */
88 OP_LENGTH, /* 86 */
89 OP_SUBSTR, /* 87 */
90 OP_VEC, /* 88 */
91 OP_INDEX, /* 89 */
92 OP_RINDEX, /* 90 */
93 OP_SPRINTF, /* 91 */
94 OP_FORMLINE, /* 92 */
95 OP_ORD, /* 93 */
96 OP_CHR, /* 94 */
97 OP_CRYPT, /* 95 */
98 OP_UCFIRST, /* 96 */
99 OP_LCFIRST, /* 97 */
100 OP_UC, /* 98 */
101 OP_LC, /* 99 */
102 OP_RV2AV, /* 100 */
103 OP_AELEMFAST, /* 101 */
104 OP_AELEM, /* 102 */
105 OP_ASLICE, /* 103 */
106 OP_EACH, /* 104 */
107 OP_VALUES, /* 105 */
108 OP_KEYS, /* 106 */
109 OP_DELETE, /* 107 */
110 OP_RV2HV, /* 108 */
111 OP_HELEM, /* 109 */
112 OP_HSLICE, /* 110 */
113 OP_UNPACK, /* 111 */
114 OP_PACK, /* 112 */
115 OP_SPLIT, /* 113 */
116 OP_JOIN, /* 114 */
117 OP_LIST, /* 115 */
118 OP_LSLICE, /* 116 */
119 OP_ANONLIST, /* 117 */
120 OP_ANONHASH, /* 118 */
121 OP_SPLICE, /* 119 */
122 OP_PUSH, /* 120 */
123 OP_POP, /* 121 */
124 OP_SHIFT, /* 122 */
125 OP_UNSHIFT, /* 123 */
126 OP_SORT, /* 124 */
127 OP_REVERSE, /* 125 */
128 OP_GREPSTART, /* 126 */
129 OP_GREPWHILE, /* 127 */
130 OP_RANGE, /* 128 */
131 OP_FLIP, /* 129 */
132 OP_FLOP, /* 130 */
133 OP_AND, /* 131 */
134 OP_OR, /* 132 */
135 OP_COND_EXPR, /* 133 */
136 OP_ANDASSIGN, /* 134 */
137 OP_ORASSIGN, /* 135 */
138 OP_METHOD, /* 136 */
139 OP_ENTERSUBR, /* 137 */
140 OP_LEAVESUBR, /* 138 */
141 OP_CALLER, /* 139 */
142 OP_WARN, /* 140 */
143 OP_DIE, /* 141 */
144 OP_RESET, /* 142 */
145 OP_LINESEQ, /* 143 */
146 OP_NEXTSTATE, /* 144 */
147 OP_DBSTATE, /* 145 */
148 OP_UNSTACK, /* 146 */
149 OP_ENTER, /* 147 */
150 OP_LEAVE, /* 148 */
151 OP_SCOPE, /* 149 */
152 OP_ENTERITER, /* 150 */
153 OP_ITER, /* 151 */
154 OP_ENTERLOOP, /* 152 */
155 OP_LEAVELOOP, /* 153 */
156 OP_RETURN, /* 154 */
157 OP_LAST, /* 155 */
158 OP_NEXT, /* 156 */
159 OP_REDO, /* 157 */
160 OP_DUMP, /* 158 */
161 OP_GOTO, /* 159 */
162 OP_EXIT, /* 160 */
163 OP_NSWITCH, /* 161 */
164 OP_CSWITCH, /* 162 */
165 OP_OPEN, /* 163 */
166 OP_CLOSE, /* 164 */
167 OP_PIPE_OP, /* 165 */
168 OP_FILENO, /* 166 */
169 OP_UMASK, /* 167 */
170 OP_BINMODE, /* 168 */
171 OP_TIE, /* 169 */
172 OP_UNTIE, /* 170 */
173 OP_DBMOPEN, /* 171 */
174 OP_DBMCLOSE, /* 172 */
175 OP_SSELECT, /* 173 */
176 OP_SELECT, /* 174 */
177 OP_GETC, /* 175 */
178 OP_READ, /* 176 */
179 OP_ENTERWRITE, /* 177 */
180 OP_LEAVEWRITE, /* 178 */
181 OP_PRTF, /* 179 */
182 OP_PRINT, /* 180 */
183 OP_SYSREAD, /* 181 */
184 OP_SYSWRITE, /* 182 */
185 OP_SEND, /* 183 */
186 OP_RECV, /* 184 */
187 OP_EOF, /* 185 */
188 OP_TELL, /* 186 */
189 OP_SEEK, /* 187 */
190 OP_TRUNCATE, /* 188 */
191 OP_FCNTL, /* 189 */
192 OP_IOCTL, /* 190 */
193 OP_FLOCK, /* 191 */
194 OP_SOCKET, /* 192 */
195 OP_SOCKPAIR, /* 193 */
196 OP_BIND, /* 194 */
197 OP_CONNECT, /* 195 */
198 OP_LISTEN, /* 196 */
199 OP_ACCEPT, /* 197 */
200 OP_SHUTDOWN, /* 198 */
201 OP_GSOCKOPT, /* 199 */
202 OP_SSOCKOPT, /* 200 */
203 OP_GETSOCKNAME, /* 201 */
204 OP_GETPEERNAME, /* 202 */
205 OP_LSTAT, /* 203 */
206 OP_STAT, /* 204 */
207 OP_FTRREAD, /* 205 */
208 OP_FTRWRITE, /* 206 */
209 OP_FTREXEC, /* 207 */
210 OP_FTEREAD, /* 208 */
211 OP_FTEWRITE, /* 209 */
212 OP_FTEEXEC, /* 210 */
213 OP_FTIS, /* 211 */
214 OP_FTEOWNED, /* 212 */
215 OP_FTROWNED, /* 213 */
216 OP_FTZERO, /* 214 */
217 OP_FTSIZE, /* 215 */
218 OP_FTMTIME, /* 216 */
219 OP_FTATIME, /* 217 */
220 OP_FTCTIME, /* 218 */
221 OP_FTSOCK, /* 219 */
222 OP_FTCHR, /* 220 */
223 OP_FTBLK, /* 221 */
224 OP_FTFILE, /* 222 */
225 OP_FTDIR, /* 223 */
226 OP_FTPIPE, /* 224 */
227 OP_FTLINK, /* 225 */
228 OP_FTSUID, /* 226 */
229 OP_FTSGID, /* 227 */
230 OP_FTSVTX, /* 228 */
231 OP_FTTTY, /* 229 */
232 OP_FTTEXT, /* 230 */
233 OP_FTBINARY, /* 231 */
234 OP_CHDIR, /* 232 */
235 OP_CHOWN, /* 233 */
236 OP_CHROOT, /* 234 */
237 OP_UNLINK, /* 235 */
238 OP_CHMOD, /* 236 */
239 OP_UTIME, /* 237 */
240 OP_RENAME, /* 238 */
241 OP_LINK, /* 239 */
242 OP_SYMLINK, /* 240 */
243 OP_READLINK, /* 241 */
244 OP_MKDIR, /* 242 */
245 OP_RMDIR, /* 243 */
246 OP_OPEN_DIR, /* 244 */
247 OP_READDIR, /* 245 */
248 OP_TELLDIR, /* 246 */
249 OP_SEEKDIR, /* 247 */
250 OP_REWINDDIR, /* 248 */
251 OP_CLOSEDIR, /* 249 */
252 OP_FORK, /* 250 */
253 OP_WAIT, /* 251 */
254 OP_WAITPID, /* 252 */
255 OP_SYSTEM, /* 253 */
256 OP_EXEC, /* 254 */
257 OP_KILL, /* 255 */
258 OP_GETPPID, /* 256 */
259 OP_GETPGRP, /* 257 */
260 OP_SETPGRP, /* 258 */
261 OP_GETPRIORITY, /* 259 */
262 OP_SETPRIORITY, /* 260 */
263 OP_TIME, /* 261 */
264 OP_TMS, /* 262 */
265 OP_LOCALTIME, /* 263 */
266 OP_GMTIME, /* 264 */
267 OP_ALARM, /* 265 */
268 OP_SLEEP, /* 266 */
269 OP_SHMGET, /* 267 */
270 OP_SHMCTL, /* 268 */
271 OP_SHMREAD, /* 269 */
272 OP_SHMWRITE, /* 270 */
273 OP_MSGGET, /* 271 */
274 OP_MSGCTL, /* 272 */
275 OP_MSGSND, /* 273 */
276 OP_MSGRCV, /* 274 */
277 OP_SEMGET, /* 275 */
278 OP_SEMCTL, /* 276 */
279 OP_SEMOP, /* 277 */
280 OP_REQUIRE, /* 278 */
281 OP_DOFILE, /* 279 */
282 OP_ENTEREVAL, /* 280 */
283 OP_LEAVEEVAL, /* 281 */
284 OP_EVALONCE, /* 282 */
285 OP_ENTERTRY, /* 283 */
286 OP_LEAVETRY, /* 284 */
287 OP_GHBYNAME, /* 285 */
288 OP_GHBYADDR, /* 286 */
289 OP_GHOSTENT, /* 287 */
290 OP_GNBYNAME, /* 288 */
291 OP_GNBYADDR, /* 289 */
292 OP_GNETENT, /* 290 */
293 OP_GPBYNAME, /* 291 */
294 OP_GPBYNUMBER, /* 292 */
295 OP_GPROTOENT, /* 293 */
296 OP_GSBYNAME, /* 294 */
297 OP_GSBYPORT, /* 295 */
298 OP_GSERVENT, /* 296 */
299 OP_SHOSTENT, /* 297 */
300 OP_SNETENT, /* 298 */
301 OP_SPROTOENT, /* 299 */
302 OP_SSERVENT, /* 300 */
303 OP_EHOSTENT, /* 301 */
304 OP_ENETENT, /* 302 */
305 OP_EPROTOENT, /* 303 */
306 OP_ESERVENT, /* 304 */
307 OP_GPWNAM, /* 305 */
308 OP_GPWUID, /* 306 */
309 OP_GPWENT, /* 307 */
310 OP_SPWENT, /* 308 */
311 OP_EPWENT, /* 309 */
312 OP_GGRNAM, /* 310 */
313 OP_GGRGID, /* 311 */
314 OP_GGRENT, /* 312 */
315 OP_SGRENT, /* 313 */
316 OP_EGRENT, /* 314 */
317 OP_GETLOGIN, /* 315 */
318 OP_SYSCALL, /* 316 */
79072805 319} opcode;
320
ed6116ce 321#define MAXO 317
79072805 322
323#ifndef DOINIT
324extern char *op_name[];
325#else
326char *op_name[] = {
327 "null operation",
93a17b20 328 "stub",
329 "scalar",
79072805 330 "pushmark",
331 "wantarray",
79072805 332 "constant item",
333 "interpreted string",
334 "scalar variable",
335 "glob value",
93a17b20 336 "private variable",
337 "private array",
338 "private hash",
ed6116ce 339 "private something",
79072805 340 "push regexp",
341 "ref-to-glob cast",
342 "scalar value length",
343 "ref-to-scalar cast",
344 "array length",
345 "subroutine reference",
8990e307 346 "reference constructor",
79072805 347 "reference-type operator",
348 "bless",
349 "backticks",
350 "glob",
351 "<HANDLE>",
352 "append I/O operator",
463ee0b2 353 "regexp comp once",
79072805 354 "regexp compilation",
355 "pattern match",
356 "substitution",
357 "substitution cont",
358 "character translation",
359 "scalar assignment",
360 "list assignment",
361 "scalar chop",
362 "chop",
363 "defined operator",
364 "undef operator",
365 "study",
366 "preincrement",
367 "predecrement",
368 "postincrement",
369 "postdecrement",
370 "exponentiation",
371 "multiplication",
372 "division",
373 "modulus",
374 "repeat",
375 "addition",
376 "integer addition",
377 "subtraction",
378 "concatenation",
379 "left bitshift",
380 "right bitshift",
381 "numeric lt",
382 "numeric gt",
383 "numeric le",
384 "numeric ge",
385 "numeric eq",
386 "numeric ne",
387 "spaceship",
388 "string lt",
389 "string gt",
390 "string le",
391 "string ge",
392 "string eq",
393 "string ne",
394 "string comparison",
395 "bit and",
396 "xor",
397 "bit or",
398 "negate",
399 "not",
400 "1's complement",
401 "atan2",
402 "sin",
403 "cos",
404 "rand",
405 "srand",
406 "exp",
407 "log",
408 "sqrt",
409 "int",
410 "hex",
411 "oct",
463ee0b2 412 "abs",
79072805 413 "length",
414 "substr",
415 "vec",
416 "index",
417 "rindex",
418 "sprintf",
419 "formline",
420 "ord",
463ee0b2 421 "chr",
79072805 422 "crypt",
423 "upper case first",
424 "lower case first",
425 "upper case",
426 "lower case",
427 "array deref",
428 "known array element",
429 "array element",
430 "array slice",
431 "each",
432 "values",
433 "keys",
434 "delete",
435 "associative array deref",
436 "associative array elem",
437 "associative array slice",
438 "unpack",
439 "pack",
440 "split",
441 "join",
442 "list",
443 "list slice",
444 "anonymous list",
445 "anonymous hash",
446 "splice",
447 "push",
448 "pop",
449 "shift",
450 "unshift",
451 "sort",
452 "reverse",
453 "grep",
454 "grep iterator",
455 "flipflop",
456 "range (or flip)",
457 "range (or flop)",
458 "logical and",
459 "logical or",
460 "conditional expression",
461 "logical and assignment",
462 "logical or assignment",
463 "method lookup",
464 "subroutine entry",
465 "subroutine exit",
466 "caller",
467 "warn",
468 "die",
469 "reset",
470 "line sequence",
471 "next statement",
93a17b20 472 "debug next statement",
79072805 473 "unstack",
474 "block entry",
475 "block exit",
463ee0b2 476 "block",
79072805 477 "foreach loop entry",
478 "foreach loop iterator",
479 "loop entry",
480 "loop exit",
481 "return",
482 "last",
483 "next",
484 "redo",
485 "dump",
486 "goto",
487 "exit",
488 "numeric switch",
489 "character switch",
490 "open",
491 "close",
492 "pipe",
493 "fileno",
494 "umask",
495 "binmode",
463ee0b2 496 "tie",
497 "untie",
79072805 498 "dbmopen",
499 "dbmclose",
500 "select system call",
501 "select",
502 "getc",
503 "read",
504 "write",
505 "write exit",
463ee0b2 506 "printf",
79072805 507 "print",
508 "sysread",
509 "syswrite",
510 "send",
511 "recv",
512 "eof",
513 "tell",
514 "seek",
515 "truncate",
516 "fcntl",
517 "ioctl",
518 "flock",
519 "socket",
520 "socketpair",
521 "bind",
522 "connect",
523 "listen",
524 "accept",
525 "shutdown",
526 "getsockopt",
527 "setsockopt",
528 "getsockname",
529 "getpeername",
530 "lstat",
531 "stat",
532 "-R",
533 "-W",
534 "-X",
535 "-r",
536 "-w",
537 "-x",
538 "-e",
539 "-O",
540 "-o",
541 "-z",
542 "-s",
543 "-M",
544 "-A",
545 "-C",
546 "-S",
547 "-c",
548 "-b",
549 "-f",
550 "-d",
551 "-p",
552 "-l",
553 "-u",
554 "-g",
555 "-k",
556 "-t",
557 "-T",
558 "-B",
559 "chdir",
560 "chown",
561 "chroot",
562 "unlink",
563 "chmod",
564 "utime",
565 "rename",
566 "link",
567 "symlink",
568 "readlink",
569 "mkdir",
570 "rmdir",
571 "opendir",
572 "readdir",
573 "telldir",
574 "seekdir",
575 "rewinddir",
576 "closedir",
577 "fork",
578 "wait",
579 "waitpid",
580 "system",
581 "exec",
582 "kill",
583 "getppid",
584 "getpgrp",
585 "setpgrp",
586 "getpriority",
587 "setpriority",
588 "time",
589 "times",
590 "localtime",
591 "gmtime",
592 "alarm",
593 "sleep",
594 "shmget",
595 "shmctl",
596 "shmread",
597 "shmwrite",
598 "msgget",
599 "msgctl",
600 "msgsnd",
601 "msgrcv",
602 "semget",
603 "semctl",
604 "semop",
605 "require",
606 "do 'file'",
607 "eval string",
608 "eval exit",
609 "eval constant string",
610 "eval block",
611 "eval block exit",
612 "gethostbyname",
613 "gethostbyaddr",
614 "gethostent",
615 "getnetbyname",
616 "getnetbyaddr",
617 "getnetent",
618 "getprotobyname",
619 "getprotobynumber",
620 "getprotoent",
621 "getservbyname",
622 "getservbyport",
623 "getservent",
624 "sethostent",
625 "setnetent",
626 "setprotoent",
627 "setservent",
628 "endhostent",
629 "endnetent",
630 "endprotoent",
631 "endservent",
632 "getpwnam",
633 "getpwuid",
634 "getpwent",
635 "setpwent",
636 "endpwent",
637 "getgrnam",
638 "getgrgid",
639 "getgrent",
640 "setgrent",
641 "endgrent",
642 "getlogin",
643 "syscall",
644};
645#endif
646
79072805 647OP * ck_chop P((OP* op));
648OP * ck_concat P((OP* op));
649OP * ck_eof P((OP* op));
650OP * ck_eval P((OP* op));
651OP * ck_exec P((OP* op));
652OP * ck_formline P((OP* op));
653OP * ck_ftst P((OP* op));
654OP * ck_fun P((OP* op));
655OP * ck_glob P((OP* op));
656OP * ck_grep P((OP* op));
657OP * ck_index P((OP* op));
658OP * ck_lengthconst P((OP* op));
659OP * ck_lfun P((OP* op));
660OP * ck_listiob P((OP* op));
661OP * ck_match P((OP* op));
662OP * ck_null P((OP* op));
663OP * ck_repeat P((OP* op));
8990e307 664OP * ck_require P((OP* op));
665OP * ck_rfun P((OP* op));
79072805 666OP * ck_rvconst P((OP* op));
667OP * ck_select P((OP* op));
668OP * ck_shift P((OP* op));
669OP * ck_sort P((OP* op));
670OP * ck_split P((OP* op));
671OP * ck_subr P((OP* op));
8990e307 672OP * ck_svconst P((OP* op));
79072805 673OP * ck_trunc P((OP* op));
674
463ee0b2 675OP * pp_null P((void));
676OP * pp_stub P((void));
677OP * pp_scalar P((void));
678OP * pp_pushmark P((void));
679OP * pp_wantarray P((void));
680OP * pp_const P((void));
681OP * pp_interp P((void));
682OP * pp_gvsv P((void));
683OP * pp_gv P((void));
684OP * pp_padsv P((void));
685OP * pp_padav P((void));
686OP * pp_padhv P((void));
ed6116ce 687OP * pp_padany P((void));
463ee0b2 688OP * pp_pushre P((void));
689OP * pp_rv2gv P((void));
690OP * pp_sv2len P((void));
691OP * pp_rv2sv P((void));
692OP * pp_av2arylen P((void));
693OP * pp_rv2cv P((void));
694OP * pp_refgen P((void));
695OP * pp_ref P((void));
696OP * pp_bless P((void));
697OP * pp_backtick P((void));
698OP * pp_glob P((void));
699OP * pp_readline P((void));
700OP * pp_rcatline P((void));
701OP * pp_regcmaybe P((void));
702OP * pp_regcomp P((void));
703OP * pp_match P((void));
704OP * pp_subst P((void));
705OP * pp_substcont P((void));
706OP * pp_trans P((void));
707OP * pp_sassign P((void));
708OP * pp_aassign P((void));
709OP * pp_schop P((void));
710OP * pp_chop P((void));
711OP * pp_defined P((void));
712OP * pp_undef P((void));
713OP * pp_study P((void));
714OP * pp_preinc P((void));
715OP * pp_predec P((void));
716OP * pp_postinc P((void));
717OP * pp_postdec P((void));
718OP * pp_pow P((void));
719OP * pp_multiply P((void));
720OP * pp_divide P((void));
721OP * pp_modulo P((void));
722OP * pp_repeat P((void));
723OP * pp_add P((void));
724OP * pp_intadd P((void));
725OP * pp_subtract P((void));
726OP * pp_concat P((void));
727OP * pp_left_shift P((void));
728OP * pp_right_shift P((void));
729OP * pp_lt P((void));
730OP * pp_gt P((void));
731OP * pp_le P((void));
732OP * pp_ge P((void));
733OP * pp_eq P((void));
734OP * pp_ne P((void));
735OP * pp_ncmp P((void));
736OP * pp_slt P((void));
737OP * pp_sgt P((void));
738OP * pp_sle P((void));
739OP * pp_sge P((void));
740OP * pp_seq P((void));
741OP * pp_sne P((void));
742OP * pp_scmp P((void));
743OP * pp_bit_and P((void));
744OP * pp_xor P((void));
745OP * pp_bit_or P((void));
746OP * pp_negate P((void));
747OP * pp_not P((void));
748OP * pp_complement P((void));
749OP * pp_atan2 P((void));
750OP * pp_sin P((void));
751OP * pp_cos P((void));
752OP * pp_rand P((void));
753OP * pp_srand P((void));
754OP * pp_exp P((void));
755OP * pp_log P((void));
756OP * pp_sqrt P((void));
757OP * pp_int P((void));
758OP * pp_hex P((void));
759OP * pp_oct P((void));
760OP * pp_abs P((void));
761OP * pp_length P((void));
762OP * pp_substr P((void));
763OP * pp_vec P((void));
764OP * pp_index P((void));
765OP * pp_rindex P((void));
766OP * pp_sprintf P((void));
767OP * pp_formline P((void));
768OP * pp_ord P((void));
769OP * pp_chr P((void));
770OP * pp_crypt P((void));
771OP * pp_ucfirst P((void));
772OP * pp_lcfirst P((void));
773OP * pp_uc P((void));
774OP * pp_lc P((void));
775OP * pp_rv2av P((void));
776OP * pp_aelemfast P((void));
777OP * pp_aelem P((void));
778OP * pp_aslice P((void));
779OP * pp_each P((void));
780OP * pp_values P((void));
781OP * pp_keys P((void));
782OP * pp_delete P((void));
783OP * pp_rv2hv P((void));
784OP * pp_helem P((void));
785OP * pp_hslice P((void));
786OP * pp_unpack P((void));
787OP * pp_pack P((void));
788OP * pp_split P((void));
789OP * pp_join P((void));
790OP * pp_list P((void));
791OP * pp_lslice P((void));
792OP * pp_anonlist P((void));
793OP * pp_anonhash P((void));
794OP * pp_splice P((void));
795OP * pp_push P((void));
796OP * pp_pop P((void));
797OP * pp_shift P((void));
798OP * pp_unshift P((void));
799OP * pp_sort P((void));
800OP * pp_reverse P((void));
801OP * pp_grepstart P((void));
802OP * pp_grepwhile P((void));
803OP * pp_range P((void));
804OP * pp_flip P((void));
805OP * pp_flop P((void));
806OP * pp_and P((void));
807OP * pp_or P((void));
808OP * pp_cond_expr P((void));
809OP * pp_andassign P((void));
810OP * pp_orassign P((void));
811OP * pp_method P((void));
812OP * pp_entersubr P((void));
813OP * pp_leavesubr P((void));
814OP * pp_caller P((void));
815OP * pp_warn P((void));
816OP * pp_die P((void));
817OP * pp_reset P((void));
818OP * pp_lineseq P((void));
819OP * pp_nextstate P((void));
820OP * pp_dbstate P((void));
821OP * pp_unstack P((void));
822OP * pp_enter P((void));
823OP * pp_leave P((void));
824OP * pp_scope P((void));
825OP * pp_enteriter P((void));
826OP * pp_iter P((void));
827OP * pp_enterloop P((void));
828OP * pp_leaveloop P((void));
829OP * pp_return P((void));
830OP * pp_last P((void));
831OP * pp_next P((void));
832OP * pp_redo P((void));
833OP * pp_dump P((void));
834OP * pp_goto P((void));
835OP * pp_exit P((void));
836OP * pp_nswitch P((void));
837OP * pp_cswitch P((void));
838OP * pp_open P((void));
839OP * pp_close P((void));
840OP * pp_pipe_op P((void));
841OP * pp_fileno P((void));
842OP * pp_umask P((void));
843OP * pp_binmode P((void));
844OP * pp_tie P((void));
845OP * pp_untie P((void));
846OP * pp_dbmopen P((void));
847OP * pp_dbmclose P((void));
848OP * pp_sselect P((void));
849OP * pp_select P((void));
850OP * pp_getc P((void));
851OP * pp_read P((void));
852OP * pp_enterwrite P((void));
853OP * pp_leavewrite P((void));
854OP * pp_prtf P((void));
855OP * pp_print P((void));
856OP * pp_sysread P((void));
857OP * pp_syswrite P((void));
858OP * pp_send P((void));
859OP * pp_recv P((void));
860OP * pp_eof P((void));
861OP * pp_tell P((void));
862OP * pp_seek P((void));
863OP * pp_truncate P((void));
864OP * pp_fcntl P((void));
865OP * pp_ioctl P((void));
866OP * pp_flock P((void));
867OP * pp_socket P((void));
868OP * pp_sockpair P((void));
869OP * pp_bind P((void));
870OP * pp_connect P((void));
871OP * pp_listen P((void));
872OP * pp_accept P((void));
873OP * pp_shutdown P((void));
874OP * pp_gsockopt P((void));
875OP * pp_ssockopt P((void));
876OP * pp_getsockname P((void));
877OP * pp_getpeername P((void));
878OP * pp_lstat P((void));
879OP * pp_stat P((void));
880OP * pp_ftrread P((void));
881OP * pp_ftrwrite P((void));
882OP * pp_ftrexec P((void));
883OP * pp_fteread P((void));
884OP * pp_ftewrite P((void));
885OP * pp_fteexec P((void));
886OP * pp_ftis P((void));
887OP * pp_fteowned P((void));
888OP * pp_ftrowned P((void));
889OP * pp_ftzero P((void));
890OP * pp_ftsize P((void));
891OP * pp_ftmtime P((void));
892OP * pp_ftatime P((void));
893OP * pp_ftctime P((void));
894OP * pp_ftsock P((void));
895OP * pp_ftchr P((void));
896OP * pp_ftblk P((void));
897OP * pp_ftfile P((void));
898OP * pp_ftdir P((void));
899OP * pp_ftpipe P((void));
900OP * pp_ftlink P((void));
901OP * pp_ftsuid P((void));
902OP * pp_ftsgid P((void));
903OP * pp_ftsvtx P((void));
904OP * pp_fttty P((void));
905OP * pp_fttext P((void));
906OP * pp_ftbinary P((void));
907OP * pp_chdir P((void));
908OP * pp_chown P((void));
909OP * pp_chroot P((void));
910OP * pp_unlink P((void));
911OP * pp_chmod P((void));
912OP * pp_utime P((void));
913OP * pp_rename P((void));
914OP * pp_link P((void));
915OP * pp_symlink P((void));
916OP * pp_readlink P((void));
917OP * pp_mkdir P((void));
918OP * pp_rmdir P((void));
919OP * pp_open_dir P((void));
920OP * pp_readdir P((void));
921OP * pp_telldir P((void));
922OP * pp_seekdir P((void));
923OP * pp_rewinddir P((void));
924OP * pp_closedir P((void));
925OP * pp_fork P((void));
926OP * pp_wait P((void));
927OP * pp_waitpid P((void));
928OP * pp_system P((void));
929OP * pp_exec P((void));
930OP * pp_kill P((void));
931OP * pp_getppid P((void));
932OP * pp_getpgrp P((void));
933OP * pp_setpgrp P((void));
934OP * pp_getpriority P((void));
935OP * pp_setpriority P((void));
936OP * pp_time P((void));
937OP * pp_tms P((void));
938OP * pp_localtime P((void));
939OP * pp_gmtime P((void));
940OP * pp_alarm P((void));
941OP * pp_sleep P((void));
942OP * pp_shmget P((void));
943OP * pp_shmctl P((void));
944OP * pp_shmread P((void));
945OP * pp_shmwrite P((void));
946OP * pp_msgget P((void));
947OP * pp_msgctl P((void));
948OP * pp_msgsnd P((void));
949OP * pp_msgrcv P((void));
950OP * pp_semget P((void));
951OP * pp_semctl P((void));
952OP * pp_semop P((void));
953OP * pp_require P((void));
954OP * pp_dofile P((void));
955OP * pp_entereval P((void));
956OP * pp_leaveeval P((void));
957OP * pp_evalonce P((void));
958OP * pp_entertry P((void));
959OP * pp_leavetry P((void));
960OP * pp_ghbyname P((void));
961OP * pp_ghbyaddr P((void));
962OP * pp_ghostent P((void));
963OP * pp_gnbyname P((void));
964OP * pp_gnbyaddr P((void));
965OP * pp_gnetent P((void));
966OP * pp_gpbyname P((void));
967OP * pp_gpbynumber P((void));
968OP * pp_gprotoent P((void));
969OP * pp_gsbyname P((void));
970OP * pp_gsbyport P((void));
971OP * pp_gservent P((void));
972OP * pp_shostent P((void));
973OP * pp_snetent P((void));
974OP * pp_sprotoent P((void));
975OP * pp_sservent P((void));
976OP * pp_ehostent P((void));
977OP * pp_enetent P((void));
978OP * pp_eprotoent P((void));
979OP * pp_eservent P((void));
980OP * pp_gpwnam P((void));
981OP * pp_gpwuid P((void));
982OP * pp_gpwent P((void));
983OP * pp_spwent P((void));
984OP * pp_epwent P((void));
985OP * pp_ggrnam P((void));
986OP * pp_ggrgid P((void));
987OP * pp_ggrent P((void));
988OP * pp_sgrent P((void));
989OP * pp_egrent P((void));
990OP * pp_getlogin P((void));
991OP * pp_syscall P((void));
79072805 992
993#ifndef DOINIT
994extern OP * (*ppaddr[])();
995#else
996OP * (*ppaddr[])() = {
997 pp_null,
93a17b20 998 pp_stub,
79072805 999 pp_scalar,
1000 pp_pushmark,
1001 pp_wantarray,
79072805 1002 pp_const,
1003 pp_interp,
1004 pp_gvsv,
1005 pp_gv,
93a17b20 1006 pp_padsv,
1007 pp_padav,
1008 pp_padhv,
ed6116ce 1009 pp_padany,
79072805 1010 pp_pushre,
1011 pp_rv2gv,
1012 pp_sv2len,
1013 pp_rv2sv,
1014 pp_av2arylen,
1015 pp_rv2cv,
1016 pp_refgen,
1017 pp_ref,
1018 pp_bless,
1019 pp_backtick,
1020 pp_glob,
1021 pp_readline,
1022 pp_rcatline,
463ee0b2 1023 pp_regcmaybe,
79072805 1024 pp_regcomp,
1025 pp_match,
1026 pp_subst,
1027 pp_substcont,
1028 pp_trans,
1029 pp_sassign,
1030 pp_aassign,
1031 pp_schop,
1032 pp_chop,
1033 pp_defined,
1034 pp_undef,
1035 pp_study,
1036 pp_preinc,
1037 pp_predec,
1038 pp_postinc,
1039 pp_postdec,
1040 pp_pow,
1041 pp_multiply,
1042 pp_divide,
1043 pp_modulo,
1044 pp_repeat,
1045 pp_add,
1046 pp_intadd,
1047 pp_subtract,
1048 pp_concat,
1049 pp_left_shift,
1050 pp_right_shift,
1051 pp_lt,
1052 pp_gt,
1053 pp_le,
1054 pp_ge,
1055 pp_eq,
1056 pp_ne,
1057 pp_ncmp,
1058 pp_slt,
1059 pp_sgt,
1060 pp_sle,
1061 pp_sge,
1062 pp_seq,
1063 pp_sne,
1064 pp_scmp,
1065 pp_bit_and,
1066 pp_xor,
1067 pp_bit_or,
1068 pp_negate,
1069 pp_not,
1070 pp_complement,
1071 pp_atan2,
1072 pp_sin,
1073 pp_cos,
1074 pp_rand,
1075 pp_srand,
1076 pp_exp,
1077 pp_log,
1078 pp_sqrt,
1079 pp_int,
1080 pp_hex,
1081 pp_oct,
463ee0b2 1082 pp_abs,
79072805 1083 pp_length,
1084 pp_substr,
1085 pp_vec,
1086 pp_index,
1087 pp_rindex,
1088 pp_sprintf,
1089 pp_formline,
1090 pp_ord,
463ee0b2 1091 pp_chr,
79072805 1092 pp_crypt,
1093 pp_ucfirst,
1094 pp_lcfirst,
1095 pp_uc,
1096 pp_lc,
1097 pp_rv2av,
1098 pp_aelemfast,
1099 pp_aelem,
1100 pp_aslice,
1101 pp_each,
1102 pp_values,
1103 pp_keys,
1104 pp_delete,
1105 pp_rv2hv,
1106 pp_helem,
1107 pp_hslice,
1108 pp_unpack,
1109 pp_pack,
1110 pp_split,
1111 pp_join,
1112 pp_list,
1113 pp_lslice,
1114 pp_anonlist,
1115 pp_anonhash,
1116 pp_splice,
1117 pp_push,
1118 pp_pop,
1119 pp_shift,
1120 pp_unshift,
1121 pp_sort,
1122 pp_reverse,
1123 pp_grepstart,
1124 pp_grepwhile,
1125 pp_range,
1126 pp_flip,
1127 pp_flop,
1128 pp_and,
1129 pp_or,
1130 pp_cond_expr,
1131 pp_andassign,
1132 pp_orassign,
1133 pp_method,
1134 pp_entersubr,
1135 pp_leavesubr,
1136 pp_caller,
1137 pp_warn,
1138 pp_die,
1139 pp_reset,
1140 pp_lineseq,
93a17b20 1141 pp_nextstate,
1142 pp_dbstate,
79072805 1143 pp_unstack,
1144 pp_enter,
1145 pp_leave,
463ee0b2 1146 pp_scope,
79072805 1147 pp_enteriter,
1148 pp_iter,
1149 pp_enterloop,
1150 pp_leaveloop,
1151 pp_return,
1152 pp_last,
1153 pp_next,
1154 pp_redo,
1155 pp_dump,
1156 pp_goto,
1157 pp_exit,
1158 pp_nswitch,
1159 pp_cswitch,
1160 pp_open,
1161 pp_close,
1162 pp_pipe_op,
1163 pp_fileno,
1164 pp_umask,
1165 pp_binmode,
463ee0b2 1166 pp_tie,
1167 pp_untie,
79072805 1168 pp_dbmopen,
1169 pp_dbmclose,
1170 pp_sselect,
1171 pp_select,
1172 pp_getc,
1173 pp_read,
1174 pp_enterwrite,
1175 pp_leavewrite,
1176 pp_prtf,
1177 pp_print,
1178 pp_sysread,
1179 pp_syswrite,
1180 pp_send,
1181 pp_recv,
1182 pp_eof,
1183 pp_tell,
1184 pp_seek,
1185 pp_truncate,
1186 pp_fcntl,
1187 pp_ioctl,
1188 pp_flock,
1189 pp_socket,
1190 pp_sockpair,
1191 pp_bind,
1192 pp_connect,
1193 pp_listen,
1194 pp_accept,
1195 pp_shutdown,
1196 pp_gsockopt,
1197 pp_ssockopt,
1198 pp_getsockname,
1199 pp_getpeername,
1200 pp_lstat,
1201 pp_stat,
1202 pp_ftrread,
1203 pp_ftrwrite,
1204 pp_ftrexec,
1205 pp_fteread,
1206 pp_ftewrite,
1207 pp_fteexec,
1208 pp_ftis,
1209 pp_fteowned,
1210 pp_ftrowned,
1211 pp_ftzero,
1212 pp_ftsize,
1213 pp_ftmtime,
1214 pp_ftatime,
1215 pp_ftctime,
1216 pp_ftsock,
1217 pp_ftchr,
1218 pp_ftblk,
1219 pp_ftfile,
1220 pp_ftdir,
1221 pp_ftpipe,
1222 pp_ftlink,
1223 pp_ftsuid,
1224 pp_ftsgid,
1225 pp_ftsvtx,
1226 pp_fttty,
1227 pp_fttext,
1228 pp_ftbinary,
1229 pp_chdir,
1230 pp_chown,
1231 pp_chroot,
1232 pp_unlink,
1233 pp_chmod,
1234 pp_utime,
1235 pp_rename,
1236 pp_link,
1237 pp_symlink,
1238 pp_readlink,
1239 pp_mkdir,
1240 pp_rmdir,
1241 pp_open_dir,
1242 pp_readdir,
1243 pp_telldir,
1244 pp_seekdir,
1245 pp_rewinddir,
1246 pp_closedir,
1247 pp_fork,
1248 pp_wait,
1249 pp_waitpid,
1250 pp_system,
1251 pp_exec,
1252 pp_kill,
1253 pp_getppid,
1254 pp_getpgrp,
1255 pp_setpgrp,
1256 pp_getpriority,
1257 pp_setpriority,
1258 pp_time,
1259 pp_tms,
1260 pp_localtime,
1261 pp_gmtime,
1262 pp_alarm,
1263 pp_sleep,
1264 pp_shmget,
1265 pp_shmctl,
1266 pp_shmread,
1267 pp_shmwrite,
1268 pp_msgget,
1269 pp_msgctl,
1270 pp_msgsnd,
1271 pp_msgrcv,
1272 pp_semget,
1273 pp_semctl,
1274 pp_semop,
1275 pp_require,
1276 pp_dofile,
1277 pp_entereval,
1278 pp_leaveeval,
1279 pp_evalonce,
1280 pp_entertry,
1281 pp_leavetry,
1282 pp_ghbyname,
1283 pp_ghbyaddr,
1284 pp_ghostent,
1285 pp_gnbyname,
1286 pp_gnbyaddr,
1287 pp_gnetent,
1288 pp_gpbyname,
1289 pp_gpbynumber,
1290 pp_gprotoent,
1291 pp_gsbyname,
1292 pp_gsbyport,
1293 pp_gservent,
1294 pp_shostent,
1295 pp_snetent,
1296 pp_sprotoent,
1297 pp_sservent,
1298 pp_ehostent,
1299 pp_enetent,
1300 pp_eprotoent,
1301 pp_eservent,
1302 pp_gpwnam,
1303 pp_gpwuid,
1304 pp_gpwent,
1305 pp_spwent,
1306 pp_epwent,
1307 pp_ggrnam,
1308 pp_ggrgid,
1309 pp_ggrent,
1310 pp_sgrent,
1311 pp_egrent,
1312 pp_getlogin,
1313 pp_syscall,
1314};
1315#endif
1316
1317#ifndef DOINIT
1318extern OP * (*check[])();
1319#else
1320OP * (*check[])() = {
1321 ck_null, /* null */
93a17b20 1322 ck_null, /* stub */
1323 ck_fun, /* scalar */
79072805 1324 ck_null, /* pushmark */
1325 ck_null, /* wantarray */
8990e307 1326 ck_svconst, /* const */
79072805 1327 ck_null, /* interp */
1328 ck_null, /* gvsv */
1329 ck_null, /* gv */
93a17b20 1330 ck_null, /* padsv */
1331 ck_null, /* padav */
1332 ck_null, /* padhv */
ed6116ce 1333 ck_null, /* padany */
79072805 1334 ck_null, /* pushre */
1335 ck_rvconst, /* rv2gv */
1336 ck_null, /* sv2len */
1337 ck_rvconst, /* rv2sv */
1338 ck_null, /* av2arylen */
1339 ck_rvconst, /* rv2cv */
1340 ck_null, /* refgen */
1341 ck_fun, /* ref */
1342 ck_fun, /* bless */
1343 ck_null, /* backtick */
1344 ck_glob, /* glob */
1345 ck_null, /* readline */
1346 ck_null, /* rcatline */
463ee0b2 1347 ck_fun, /* regcmaybe */
79072805 1348 ck_null, /* regcomp */
1349 ck_match, /* match */
1350 ck_null, /* subst */
1351 ck_null, /* substcont */
1352 ck_null, /* trans */
1353 ck_null, /* sassign */
1354 ck_null, /* aassign */
1355 ck_null, /* schop */
1356 ck_chop, /* chop */
8990e307 1357 ck_rfun, /* defined */
79072805 1358 ck_lfun, /* undef */
1359 ck_fun, /* study */
1360 ck_lfun, /* preinc */
1361 ck_lfun, /* predec */
1362 ck_lfun, /* postinc */
1363 ck_lfun, /* postdec */
1364 ck_null, /* pow */
1365 ck_null, /* multiply */
1366 ck_null, /* divide */
1367 ck_null, /* modulo */
1368 ck_repeat, /* repeat */
1369 ck_null, /* add */
1370 ck_null, /* intadd */
1371 ck_null, /* subtract */
1372 ck_concat, /* concat */
1373 ck_null, /* left_shift */
1374 ck_null, /* right_shift */
1375 ck_null, /* lt */
1376 ck_null, /* gt */
1377 ck_null, /* le */
1378 ck_null, /* ge */
1379 ck_null, /* eq */
1380 ck_null, /* ne */
1381 ck_null, /* ncmp */
1382 ck_null, /* slt */
1383 ck_null, /* sgt */
1384 ck_null, /* sle */
1385 ck_null, /* sge */
1386 ck_null, /* seq */
1387 ck_null, /* sne */
1388 ck_null, /* scmp */
1389 ck_null, /* bit_and */
1390 ck_null, /* xor */
1391 ck_null, /* bit_or */
1392 ck_null, /* negate */
1393 ck_null, /* not */
1394 ck_null, /* complement */
1395 ck_fun, /* atan2 */
1396 ck_fun, /* sin */
1397 ck_fun, /* cos */
1398 ck_fun, /* rand */
1399 ck_fun, /* srand */
1400 ck_fun, /* exp */
1401 ck_fun, /* log */
1402 ck_fun, /* sqrt */
1403 ck_fun, /* int */
1404 ck_fun, /* hex */
1405 ck_fun, /* oct */
463ee0b2 1406 ck_fun, /* abs */
79072805 1407 ck_lengthconst, /* length */
1408 ck_fun, /* substr */
1409 ck_fun, /* vec */
1410 ck_index, /* index */
1411 ck_index, /* rindex */
1412 ck_fun, /* sprintf */
1413 ck_formline, /* formline */
1414 ck_fun, /* ord */
463ee0b2 1415 ck_fun, /* chr */
79072805 1416 ck_fun, /* crypt */
1417 ck_fun, /* ucfirst */
1418 ck_fun, /* lcfirst */
1419 ck_fun, /* uc */
1420 ck_fun, /* lc */
1421 ck_rvconst, /* rv2av */
1422 ck_null, /* aelemfast */
8990e307 1423 ck_null, /* aelem */
79072805 1424 ck_null, /* aslice */
1425 ck_fun, /* each */
1426 ck_fun, /* values */
1427 ck_fun, /* keys */
1428 ck_null, /* delete */
1429 ck_rvconst, /* rv2hv */
1430 ck_null, /* helem */
1431 ck_null, /* hslice */
1432 ck_fun, /* unpack */
1433 ck_fun, /* pack */
1434 ck_split, /* split */
1435 ck_fun, /* join */
1436 ck_null, /* list */
1437 ck_null, /* lslice */
1438 ck_null, /* anonlist */
1439 ck_null, /* anonhash */
1440 ck_fun, /* splice */
1441 ck_fun, /* push */
1442 ck_shift, /* pop */
1443 ck_shift, /* shift */
1444 ck_fun, /* unshift */
1445 ck_sort, /* sort */
1446 ck_fun, /* reverse */
1447 ck_grep, /* grepstart */
1448 ck_null, /* grepwhile */
1449 ck_null, /* range */
1450 ck_null, /* flip */
1451 ck_null, /* flop */
1452 ck_null, /* and */
1453 ck_null, /* or */
1454 ck_null, /* cond_expr */
1455 ck_null, /* andassign */
1456 ck_null, /* orassign */
1457 ck_null, /* method */
1458 ck_subr, /* entersubr */
1459 ck_null, /* leavesubr */
1460 ck_fun, /* caller */
1461 ck_fun, /* warn */
1462 ck_fun, /* die */
1463 ck_fun, /* reset */
1464 ck_null, /* lineseq */
93a17b20 1465 ck_null, /* nextstate */
1466 ck_null, /* dbstate */
79072805 1467 ck_null, /* unstack */
1468 ck_null, /* enter */
1469 ck_null, /* leave */
463ee0b2 1470 ck_null, /* scope */
79072805 1471 ck_null, /* enteriter */
1472 ck_null, /* iter */
1473 ck_null, /* enterloop */
1474 ck_null, /* leaveloop */
1475 ck_fun, /* return */
1476 ck_null, /* last */
1477 ck_null, /* next */
1478 ck_null, /* redo */
1479 ck_null, /* dump */
1480 ck_null, /* goto */
1481 ck_fun, /* exit */
1482 ck_null, /* nswitch */
1483 ck_null, /* cswitch */
1484 ck_fun, /* open */
1485 ck_fun, /* close */
1486 ck_fun, /* pipe_op */
1487 ck_fun, /* fileno */
1488 ck_fun, /* umask */
1489 ck_fun, /* binmode */
463ee0b2 1490 ck_fun, /* tie */
1491 ck_fun, /* untie */
79072805 1492 ck_fun, /* dbmopen */
1493 ck_fun, /* dbmclose */
1494 ck_select, /* sselect */
1495 ck_select, /* select */
1496 ck_eof, /* getc */
1497 ck_fun, /* read */
1498 ck_fun, /* enterwrite */
1499 ck_null, /* leavewrite */
1500 ck_listiob, /* prtf */
1501 ck_listiob, /* print */
1502 ck_fun, /* sysread */
1503 ck_fun, /* syswrite */
1504 ck_fun, /* send */
1505 ck_fun, /* recv */
1506 ck_eof, /* eof */
1507 ck_fun, /* tell */
1508 ck_fun, /* seek */
1509 ck_trunc, /* truncate */
1510 ck_fun, /* fcntl */
1511 ck_fun, /* ioctl */
1512 ck_fun, /* flock */
1513 ck_fun, /* socket */
1514 ck_fun, /* sockpair */
1515 ck_fun, /* bind */
1516 ck_fun, /* connect */
1517 ck_fun, /* listen */
1518 ck_fun, /* accept */
1519 ck_fun, /* shutdown */
1520 ck_fun, /* gsockopt */
1521 ck_fun, /* ssockopt */
1522 ck_fun, /* getsockname */
1523 ck_fun, /* getpeername */
1524 ck_ftst, /* lstat */
1525 ck_ftst, /* stat */
1526 ck_ftst, /* ftrread */
1527 ck_ftst, /* ftrwrite */
1528 ck_ftst, /* ftrexec */
1529 ck_ftst, /* fteread */
1530 ck_ftst, /* ftewrite */
1531 ck_ftst, /* fteexec */
1532 ck_ftst, /* ftis */
1533 ck_ftst, /* fteowned */
1534 ck_ftst, /* ftrowned */
1535 ck_ftst, /* ftzero */
1536 ck_ftst, /* ftsize */
1537 ck_ftst, /* ftmtime */
1538 ck_ftst, /* ftatime */
1539 ck_ftst, /* ftctime */
1540 ck_ftst, /* ftsock */
1541 ck_ftst, /* ftchr */
1542 ck_ftst, /* ftblk */
1543 ck_ftst, /* ftfile */
1544 ck_ftst, /* ftdir */
1545 ck_ftst, /* ftpipe */
1546 ck_ftst, /* ftlink */
1547 ck_ftst, /* ftsuid */
1548 ck_ftst, /* ftsgid */
1549 ck_ftst, /* ftsvtx */
1550 ck_ftst, /* fttty */
1551 ck_ftst, /* fttext */
1552 ck_ftst, /* ftbinary */
1553 ck_fun, /* chdir */
1554 ck_fun, /* chown */
1555 ck_fun, /* chroot */
1556 ck_fun, /* unlink */
1557 ck_fun, /* chmod */
1558 ck_fun, /* utime */
1559 ck_fun, /* rename */
1560 ck_fun, /* link */
1561 ck_fun, /* symlink */
1562 ck_fun, /* readlink */
1563 ck_fun, /* mkdir */
1564 ck_fun, /* rmdir */
1565 ck_fun, /* open_dir */
1566 ck_fun, /* readdir */
1567 ck_fun, /* telldir */
1568 ck_fun, /* seekdir */
1569 ck_fun, /* rewinddir */
1570 ck_fun, /* closedir */
1571 ck_null, /* fork */
1572 ck_null, /* wait */
1573 ck_fun, /* waitpid */
1574 ck_exec, /* system */
1575 ck_exec, /* exec */
1576 ck_fun, /* kill */
1577 ck_null, /* getppid */
1578 ck_fun, /* getpgrp */
1579 ck_fun, /* setpgrp */
1580 ck_fun, /* getpriority */
1581 ck_fun, /* setpriority */
1582 ck_null, /* time */
1583 ck_null, /* tms */
1584 ck_fun, /* localtime */
1585 ck_fun, /* gmtime */
1586 ck_fun, /* alarm */
1587 ck_fun, /* sleep */
1588 ck_fun, /* shmget */
1589 ck_fun, /* shmctl */
1590 ck_fun, /* shmread */
1591 ck_fun, /* shmwrite */
1592 ck_fun, /* msgget */
1593 ck_fun, /* msgctl */
1594 ck_fun, /* msgsnd */
1595 ck_fun, /* msgrcv */
1596 ck_fun, /* semget */
1597 ck_fun, /* semctl */
1598 ck_fun, /* semop */
8990e307 1599 ck_require, /* require */
79072805 1600 ck_fun, /* dofile */
1601 ck_eval, /* entereval */
1602 ck_null, /* leaveeval */
1603 ck_null, /* evalonce */
1604 ck_null, /* entertry */
1605 ck_null, /* leavetry */
1606 ck_fun, /* ghbyname */
1607 ck_fun, /* ghbyaddr */
1608 ck_null, /* ghostent */
1609 ck_fun, /* gnbyname */
1610 ck_fun, /* gnbyaddr */
1611 ck_null, /* gnetent */
1612 ck_fun, /* gpbyname */
1613 ck_fun, /* gpbynumber */
1614 ck_null, /* gprotoent */
1615 ck_fun, /* gsbyname */
1616 ck_fun, /* gsbyport */
1617 ck_null, /* gservent */
1618 ck_fun, /* shostent */
1619 ck_fun, /* snetent */
1620 ck_fun, /* sprotoent */
1621 ck_fun, /* sservent */
1622 ck_null, /* ehostent */
1623 ck_null, /* enetent */
1624 ck_null, /* eprotoent */
1625 ck_null, /* eservent */
1626 ck_fun, /* gpwnam */
1627 ck_fun, /* gpwuid */
1628 ck_null, /* gpwent */
1629 ck_null, /* spwent */
1630 ck_null, /* epwent */
1631 ck_fun, /* ggrnam */
1632 ck_fun, /* ggrgid */
1633 ck_null, /* ggrent */
1634 ck_null, /* sgrent */
1635 ck_null, /* egrent */
1636 ck_null, /* getlogin */
1637 ck_fun, /* syscall */
1638};
1639#endif
1640
1641#ifndef DOINIT
1642EXT U32 opargs[];
1643#else
1644U32 opargs[] = {
1645 0x00000000, /* null */
93a17b20 1646 0x00000000, /* stub */
1647 0x00000104, /* scalar */
79072805 1648 0x00000004, /* pushmark */
1649 0x00000014, /* wantarray */
79072805 1650 0x00000004, /* const */
1651 0x00000000, /* interp */
1652 0x00000044, /* gvsv */
1653 0x00000044, /* gv */
93a17b20 1654 0x00000000, /* padsv */
1655 0x00000000, /* padav */
1656 0x00000000, /* padhv */
ed6116ce 1657 0x00000000, /* padany */
79072805 1658 0x00000000, /* pushre */
1659 0x00000044, /* rv2gv */
1660 0x0000001c, /* sv2len */
1661 0x00000044, /* rv2sv */
1662 0x00000014, /* av2arylen */
1663 0x00000040, /* rv2cv */
1664 0x0000020e, /* refgen */
463ee0b2 1665 0x0000090c, /* ref */
1666 0x00009104, /* bless */
79072805 1667 0x00000008, /* backtick */
1668 0x00000008, /* glob */
1669 0x00000008, /* readline */
1670 0x00000008, /* rcatline */
463ee0b2 1671 0x00000104, /* regcmaybe */
79072805 1672 0x00000104, /* regcomp */
1673 0x00000040, /* match */
1674 0x00000154, /* subst */
1675 0x00000054, /* substcont */
1676 0x00000114, /* trans */
1677 0x00000004, /* sassign */
1678 0x00002208, /* aassign */
1679 0x00000008, /* schop */
1680 0x00000209, /* chop */
1681 0x00000914, /* defined */
1682 0x00000904, /* undef */
1683 0x0000090c, /* study */
1684 0x00000104, /* preinc */
1685 0x00000104, /* predec */
1686 0x0000010c, /* postinc */
1687 0x0000010c, /* postdec */
1688 0x0000110e, /* pow */
1689 0x0000110e, /* multiply */
1690 0x0000110e, /* divide */
1691 0x0000111e, /* modulo */
1692 0x00001209, /* repeat */
1693 0x0000112e, /* add */
1694 0x0000111e, /* intadd */
1695 0x0000110e, /* subtract */
1696 0x0000110e, /* concat */
1697 0x0000111e, /* left_shift */
1698 0x0000111e, /* right_shift */
1699 0x00001116, /* lt */
1700 0x00001116, /* gt */
1701 0x00001116, /* le */
1702 0x00001116, /* ge */
1703 0x00001116, /* eq */
1704 0x00001116, /* ne */
1705 0x0000111e, /* ncmp */
1706 0x00001116, /* slt */
1707 0x00001116, /* sgt */
1708 0x00001116, /* sle */
1709 0x00001116, /* sge */
1710 0x00001116, /* seq */
1711 0x00001116, /* sne */
1712 0x0000111e, /* scmp */
1713 0x0000110e, /* bit_and */
1714 0x0000110e, /* xor */
1715 0x0000110e, /* bit_or */
1716 0x0000010e, /* negate */
1717 0x00000116, /* not */
1718 0x0000010e, /* complement */
1719 0x0000110e, /* atan2 */
1720 0x0000090e, /* sin */
1721 0x0000090e, /* cos */
1722 0x0000090c, /* rand */
1723 0x00000904, /* srand */
1724 0x0000090e, /* exp */
1725 0x0000090e, /* log */
1726 0x0000090e, /* sqrt */
1727 0x0000090e, /* int */
1728 0x0000091c, /* hex */
1729 0x0000091c, /* oct */
463ee0b2 1730 0x0000090e, /* abs */
79072805 1731 0x0000011c, /* length */
1732 0x0009110c, /* substr */
1733 0x0001111c, /* vec */
1734 0x0009111c, /* index */
1735 0x0009111c, /* rindex */
1736 0x0000210d, /* sprintf */
1737 0x00002105, /* formline */
1738 0x0000091e, /* ord */
463ee0b2 1739 0x0000090e, /* chr */
79072805 1740 0x0000110e, /* crypt */
1741 0x0000010a, /* ucfirst */
1742 0x0000010a, /* lcfirst */
1743 0x0000010a, /* uc */
1744 0x0000010a, /* lc */
1745 0x00000048, /* rv2av */
1746 0x00001304, /* aelemfast */
1747 0x00001304, /* aelem */
1748 0x00002301, /* aslice */
1749 0x00000408, /* each */
1750 0x00000408, /* values */
1751 0x00000408, /* keys */
1752 0x00001404, /* delete */
1753 0x00000048, /* rv2hv */
1754 0x00001404, /* helem */
1755 0x00002401, /* hslice */
1756 0x00001100, /* unpack */
1757 0x0000210d, /* pack */
1758 0x00011108, /* split */
1759 0x0000210d, /* join */
1760 0x00000201, /* list */
1761 0x00022400, /* lslice */
1762 0x00000201, /* anonlist */
1763 0x00000201, /* anonhash */
1764 0x00291301, /* splice */
1765 0x0000231d, /* push */
1766 0x00000304, /* pop */
1767 0x00000304, /* shift */
1768 0x0000231d, /* unshift */
1769 0x00002d01, /* sort */
1770 0x00000209, /* reverse */
1771 0x00002541, /* grepstart */
1772 0x00000048, /* grepwhile */
1773 0x00001100, /* range */
1774 0x00001100, /* flip */
1775 0x00000000, /* flop */
1776 0x00000000, /* and */
1777 0x00000000, /* or */
1778 0x00000000, /* cond_expr */
1779 0x00000004, /* andassign */
1780 0x00000004, /* orassign */
463ee0b2 1781 0x00000040, /* method */
79072805 1782 0x00000241, /* entersubr */
1783 0x00000000, /* leavesubr */
1784 0x00000908, /* caller */
1785 0x0000021d, /* warn */
1786 0x0000025d, /* die */
1787 0x00000914, /* reset */
1788 0x00000000, /* lineseq */
93a17b20 1789 0x00000004, /* nextstate */
1790 0x00000004, /* dbstate */
79072805 1791 0x00000004, /* unstack */
1792 0x00000000, /* enter */
1793 0x00000000, /* leave */
463ee0b2 1794 0x00000000, /* scope */
79072805 1795 0x00000040, /* enteriter */
1796 0x00000000, /* iter */
1797 0x00000040, /* enterloop */
1798 0x00000004, /* leaveloop */
1799 0x00000241, /* return */
1800 0x00000044, /* last */
1801 0x00000044, /* next */
1802 0x00000044, /* redo */
1803 0x00000044, /* dump */
1804 0x00000044, /* goto */
1805 0x00000944, /* exit */
1806 0x00000040, /* nswitch */
1807 0x00000040, /* cswitch */
1808 0x0000961c, /* open */
1809 0x00000e14, /* close */
1810 0x00006614, /* pipe_op */
1811 0x0000061c, /* fileno */
1812 0x0000091c, /* umask */
1813 0x00000604, /* binmode */
463ee0b2 1814 0x00021755, /* tie */
1815 0x00000714, /* untie */
1816 0x00011414, /* dbmopen */
79072805 1817 0x00000414, /* dbmclose */
1818 0x00111108, /* sselect */
1819 0x00000e0c, /* select */
1820 0x00000e0c, /* getc */
1821 0x0091761d, /* read */
1822 0x00000e54, /* enterwrite */
1823 0x00000000, /* leavewrite */
1824 0x00002e15, /* prtf */
1825 0x00002e15, /* print */
1826 0x0091761d, /* sysread */
1827 0x0091161d, /* syswrite */
1828 0x0091161d, /* send */
1829 0x0011761d, /* recv */
1830 0x00000e14, /* eof */
1831 0x00000e0c, /* tell */
1832 0x00011604, /* seek */
1833 0x00001114, /* truncate */
1834 0x0001160c, /* fcntl */
1835 0x0001160c, /* ioctl */
1836 0x0000161c, /* flock */
1837 0x00111614, /* socket */
1838 0x01116614, /* sockpair */
1839 0x00001614, /* bind */
1840 0x00001614, /* connect */
1841 0x00001614, /* listen */
1842 0x0000661c, /* accept */
1843 0x0000161c, /* shutdown */
1844 0x00011614, /* gsockopt */
1845 0x00111614, /* ssockopt */
1846 0x00000614, /* getsockname */
1847 0x00000614, /* getpeername */
1848 0x00000600, /* lstat */
1849 0x00000600, /* stat */
1850 0x00000614, /* ftrread */
1851 0x00000614, /* ftrwrite */
1852 0x00000614, /* ftrexec */
1853 0x00000614, /* fteread */
1854 0x00000614, /* ftewrite */
1855 0x00000614, /* fteexec */
1856 0x00000614, /* ftis */
1857 0x00000614, /* fteowned */
1858 0x00000614, /* ftrowned */
1859 0x00000614, /* ftzero */
1860 0x0000061c, /* ftsize */
1861 0x0000060c, /* ftmtime */
1862 0x0000060c, /* ftatime */
1863 0x0000060c, /* ftctime */
1864 0x00000614, /* ftsock */
1865 0x00000614, /* ftchr */
1866 0x00000614, /* ftblk */
1867 0x00000614, /* ftfile */
1868 0x00000614, /* ftdir */
1869 0x00000614, /* ftpipe */
1870 0x00000614, /* ftlink */
1871 0x00000614, /* ftsuid */
1872 0x00000614, /* ftsgid */
1873 0x00000614, /* ftsvtx */
1874 0x00000614, /* fttty */
1875 0x00000614, /* fttext */
1876 0x00000614, /* ftbinary */
1877 0x0000091c, /* chdir */
1878 0x0000021d, /* chown */
1879 0x0000091c, /* chroot */
1880 0x0000021d, /* unlink */
1881 0x0000021d, /* chmod */
1882 0x0000021d, /* utime */
1883 0x0000111c, /* rename */
1884 0x0000111c, /* link */
1885 0x0000111c, /* symlink */
1886 0x0000090c, /* readlink */
1887 0x0000111c, /* mkdir */
1888 0x0000091c, /* rmdir */
1889 0x00001614, /* open_dir */
1890 0x00000600, /* readdir */
1891 0x0000060c, /* telldir */
1892 0x00001604, /* seekdir */
1893 0x00000604, /* rewinddir */
1894 0x00000614, /* closedir */
1895 0x0000001c, /* fork */
1896 0x0000001c, /* wait */
1897 0x0000111c, /* waitpid */
1898 0x0000291d, /* system */
1899 0x0000295d, /* exec */
1900 0x0000025d, /* kill */
1901 0x0000001c, /* getppid */
1902 0x0000091c, /* getpgrp */
1903 0x0000111c, /* setpgrp */
1904 0x0000111c, /* getpriority */
1905 0x0001111c, /* setpriority */
1906 0x0000001c, /* time */
1907 0x00000000, /* tms */
1908 0x00000908, /* localtime */
1909 0x00000908, /* gmtime */
1910 0x0000091c, /* alarm */
1911 0x0000091c, /* sleep */
1912 0x0001111d, /* shmget */
1913 0x0001111d, /* shmctl */
1914 0x0011111d, /* shmread */
1915 0x0011111c, /* shmwrite */
1916 0x0000111d, /* msgget */
1917 0x0001111d, /* msgctl */
1918 0x0001111d, /* msgsnd */
1919 0x0111111d, /* msgrcv */
1920 0x0001111d, /* semget */
1921 0x0011111d, /* semctl */
1922 0x0001111d, /* semop */
ed6116ce 1923 0x00000940, /* require */
79072805 1924 0x00000140, /* dofile */
1925 0x00000140, /* entereval */
1926 0x00000100, /* leaveeval */
1927 0x00000140, /* evalonce */
1928 0x00000000, /* entertry */
1929 0x00000000, /* leavetry */
1930 0x00000100, /* ghbyname */
1931 0x00001100, /* ghbyaddr */
1932 0x00000000, /* ghostent */
1933 0x00000100, /* gnbyname */
1934 0x00001100, /* gnbyaddr */
1935 0x00000000, /* gnetent */
1936 0x00000100, /* gpbyname */
1937 0x00000100, /* gpbynumber */
1938 0x00000000, /* gprotoent */
1939 0x00001100, /* gsbyname */
1940 0x00001100, /* gsbyport */
1941 0x00000000, /* gservent */
93a17b20 1942 0x00000114, /* shostent */
1943 0x00000114, /* snetent */
1944 0x00000114, /* sprotoent */
1945 0x00000114, /* sservent */
1946 0x00000014, /* ehostent */
1947 0x00000014, /* enetent */
1948 0x00000014, /* eprotoent */
1949 0x00000014, /* eservent */
79072805 1950 0x00000100, /* gpwnam */
1951 0x00000100, /* gpwuid */
1952 0x00000000, /* gpwent */
1953 0x0000001c, /* spwent */
1954 0x0000001c, /* epwent */
1955 0x00000100, /* ggrnam */
1956 0x00000100, /* ggrgid */
1957 0x00000000, /* ggrent */
1958 0x0000001c, /* sgrent */
1959 0x0000001c, /* egrent */
1960 0x0000000c, /* getlogin */
1961 0x0000211c, /* syscall */
1962};
1963#endif