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