This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Move compiler OP class information into opcode.pl.
[perl5.git] / opcode.h
CommitLineData
748a9306
LW
1#define pp_i_preinc pp_preinc
2#define pp_i_predec pp_predec
3#define pp_i_postinc pp_postinc
4#define pp_i_postdec pp_postdec
5
79072805
LW
6typedef enum {
7 OP_NULL, /* 0 */
93a17b20
LW
8 OP_STUB, /* 1 */
9 OP_SCALAR, /* 2 */
10 OP_PUSHMARK, /* 3 */
11 OP_WANTARRAY, /* 4 */
79072805 12 OP_CONST, /* 5 */
a0d0e21e
LW
13 OP_GVSV, /* 6 */
14 OP_GV, /* 7 */
c07a80fd
PP
15 OP_GELEM, /* 8 */
16 OP_PADSV, /* 9 */
17 OP_PADAV, /* 10 */
18 OP_PADHV, /* 11 */
19 OP_PADANY, /* 12 */
20 OP_PUSHRE, /* 13 */
21 OP_RV2GV, /* 14 */
a0d0e21e
LW
22 OP_RV2SV, /* 15 */
23 OP_AV2ARYLEN, /* 16 */
24 OP_RV2CV, /* 17 */
25 OP_ANONCODE, /* 18 */
c07a80fd
PP
26 OP_PROTOTYPE, /* 19 */
27 OP_REFGEN, /* 20 */
28 OP_SREFGEN, /* 21 */
29 OP_REF, /* 22 */
30 OP_BLESS, /* 23 */
31 OP_BACKTICK, /* 24 */
32 OP_GLOB, /* 25 */
33 OP_READLINE, /* 26 */
34 OP_RCATLINE, /* 27 */
35 OP_REGCMAYBE, /* 28 */
36 OP_REGCOMP, /* 29 */
37 OP_MATCH, /* 30 */
38 OP_SUBST, /* 31 */
39 OP_SUBSTCONT, /* 32 */
40 OP_TRANS, /* 33 */
41 OP_SASSIGN, /* 34 */
42 OP_AASSIGN, /* 35 */
43 OP_CHOP, /* 36 */
44 OP_SCHOP, /* 37 */
45 OP_CHOMP, /* 38 */
46 OP_SCHOMP, /* 39 */
47 OP_DEFINED, /* 40 */
48 OP_UNDEF, /* 41 */
49 OP_STUDY, /* 42 */
50 OP_POS, /* 43 */
51 OP_PREINC, /* 44 */
52 OP_I_PREINC, /* 45 */
53 OP_PREDEC, /* 46 */
54 OP_I_PREDEC, /* 47 */
55 OP_POSTINC, /* 48 */
56 OP_I_POSTINC, /* 49 */
57 OP_POSTDEC, /* 50 */
58 OP_I_POSTDEC, /* 51 */
59 OP_POW, /* 52 */
60 OP_MULTIPLY, /* 53 */
61 OP_I_MULTIPLY, /* 54 */
62 OP_DIVIDE, /* 55 */
63 OP_I_DIVIDE, /* 56 */
64 OP_MODULO, /* 57 */
65 OP_I_MODULO, /* 58 */
66 OP_REPEAT, /* 59 */
67 OP_ADD, /* 60 */
68 OP_I_ADD, /* 61 */
69 OP_SUBTRACT, /* 62 */
70 OP_I_SUBTRACT, /* 63 */
71 OP_CONCAT, /* 64 */
72 OP_STRINGIFY, /* 65 */
73 OP_LEFT_SHIFT, /* 66 */
74 OP_RIGHT_SHIFT, /* 67 */
75 OP_LT, /* 68 */
76 OP_I_LT, /* 69 */
77 OP_GT, /* 70 */
78 OP_I_GT, /* 71 */
79 OP_LE, /* 72 */
80 OP_I_LE, /* 73 */
81 OP_GE, /* 74 */
82 OP_I_GE, /* 75 */
83 OP_EQ, /* 76 */
84 OP_I_EQ, /* 77 */
85 OP_NE, /* 78 */
86 OP_I_NE, /* 79 */
87 OP_NCMP, /* 80 */
88 OP_I_NCMP, /* 81 */
89 OP_SLT, /* 82 */
90 OP_SGT, /* 83 */
91 OP_SLE, /* 84 */
92 OP_SGE, /* 85 */
93 OP_SEQ, /* 86 */
94 OP_SNE, /* 87 */
95 OP_SCMP, /* 88 */
96 OP_BIT_AND, /* 89 */
97 OP_BIT_XOR, /* 90 */
98 OP_BIT_OR, /* 91 */
99 OP_NEGATE, /* 92 */
100 OP_I_NEGATE, /* 93 */
101 OP_NOT, /* 94 */
102 OP_COMPLEMENT, /* 95 */
103 OP_ATAN2, /* 96 */
104 OP_SIN, /* 97 */
105 OP_COS, /* 98 */
106 OP_RAND, /* 99 */
107 OP_SRAND, /* 100 */
108 OP_EXP, /* 101 */
109 OP_LOG, /* 102 */
110 OP_SQRT, /* 103 */
111 OP_INT, /* 104 */
112 OP_HEX, /* 105 */
113 OP_OCT, /* 106 */
114 OP_ABS, /* 107 */
115 OP_LENGTH, /* 108 */
116 OP_SUBSTR, /* 109 */
117 OP_VEC, /* 110 */
118 OP_INDEX, /* 111 */
119 OP_RINDEX, /* 112 */
120 OP_SPRINTF, /* 113 */
121 OP_FORMLINE, /* 114 */
122 OP_ORD, /* 115 */
123 OP_CHR, /* 116 */
124 OP_CRYPT, /* 117 */
125 OP_UCFIRST, /* 118 */
126 OP_LCFIRST, /* 119 */
127 OP_UC, /* 120 */
128 OP_LC, /* 121 */
129 OP_QUOTEMETA, /* 122 */
130 OP_RV2AV, /* 123 */
131 OP_AELEMFAST, /* 124 */
132 OP_AELEM, /* 125 */
133 OP_ASLICE, /* 126 */
134 OP_EACH, /* 127 */
135 OP_VALUES, /* 128 */
136 OP_KEYS, /* 129 */
137 OP_DELETE, /* 130 */
138 OP_EXISTS, /* 131 */
139 OP_RV2HV, /* 132 */
140 OP_HELEM, /* 133 */
141 OP_HSLICE, /* 134 */
142 OP_UNPACK, /* 135 */
143 OP_PACK, /* 136 */
144 OP_SPLIT, /* 137 */
145 OP_JOIN, /* 138 */
146 OP_LIST, /* 139 */
147 OP_LSLICE, /* 140 */
148 OP_ANONLIST, /* 141 */
149 OP_ANONHASH, /* 142 */
150 OP_SPLICE, /* 143 */
151 OP_PUSH, /* 144 */
152 OP_POP, /* 145 */
153 OP_SHIFT, /* 146 */
154 OP_UNSHIFT, /* 147 */
155 OP_SORT, /* 148 */
156 OP_REVERSE, /* 149 */
157 OP_GREPSTART, /* 150 */
158 OP_GREPWHILE, /* 151 */
159 OP_MAPSTART, /* 152 */
160 OP_MAPWHILE, /* 153 */
161 OP_RANGE, /* 154 */
162 OP_FLIP, /* 155 */
163 OP_FLOP, /* 156 */
164 OP_AND, /* 157 */
165 OP_OR, /* 158 */
166 OP_XOR, /* 159 */
167 OP_COND_EXPR, /* 160 */
168 OP_ANDASSIGN, /* 161 */
169 OP_ORASSIGN, /* 162 */
170 OP_METHOD, /* 163 */
171 OP_ENTERSUB, /* 164 */
172 OP_LEAVESUB, /* 165 */
173 OP_CALLER, /* 166 */
174 OP_WARN, /* 167 */
175 OP_DIE, /* 168 */
176 OP_RESET, /* 169 */
177 OP_LINESEQ, /* 170 */
178 OP_NEXTSTATE, /* 171 */
179 OP_DBSTATE, /* 172 */
180 OP_UNSTACK, /* 173 */
181 OP_ENTER, /* 174 */
182 OP_LEAVE, /* 175 */
183 OP_SCOPE, /* 176 */
184 OP_ENTERITER, /* 177 */
185 OP_ITER, /* 178 */
186 OP_ENTERLOOP, /* 179 */
187 OP_LEAVELOOP, /* 180 */
188 OP_RETURN, /* 181 */
189 OP_LAST, /* 182 */
190 OP_NEXT, /* 183 */
191 OP_REDO, /* 184 */
192 OP_DUMP, /* 185 */
193 OP_GOTO, /* 186 */
194 OP_EXIT, /* 187 */
195 OP_OPEN, /* 188 */
196 OP_CLOSE, /* 189 */
197 OP_PIPE_OP, /* 190 */
198 OP_FILENO, /* 191 */
199 OP_UMASK, /* 192 */
200 OP_BINMODE, /* 193 */
201 OP_TIE, /* 194 */
202 OP_UNTIE, /* 195 */
203 OP_TIED, /* 196 */
204 OP_DBMOPEN, /* 197 */
205 OP_DBMCLOSE, /* 198 */
206 OP_SSELECT, /* 199 */
207 OP_SELECT, /* 200 */
208 OP_GETC, /* 201 */
209 OP_READ, /* 202 */
210 OP_ENTERWRITE, /* 203 */
211 OP_LEAVEWRITE, /* 204 */
212 OP_PRTF, /* 205 */
213 OP_PRINT, /* 206 */
214 OP_SYSOPEN, /* 207 */
8903cb82
PP
215 OP_SYSSEEK, /* 208 */
216 OP_SYSREAD, /* 209 */
217 OP_SYSWRITE, /* 210 */
218 OP_SEND, /* 211 */
219 OP_RECV, /* 212 */
220 OP_EOF, /* 213 */
221 OP_TELL, /* 214 */
222 OP_SEEK, /* 215 */
223 OP_TRUNCATE, /* 216 */
224 OP_FCNTL, /* 217 */
225 OP_IOCTL, /* 218 */
226 OP_FLOCK, /* 219 */
227 OP_SOCKET, /* 220 */
228 OP_SOCKPAIR, /* 221 */
229 OP_BIND, /* 222 */
230 OP_CONNECT, /* 223 */
231 OP_LISTEN, /* 224 */
232 OP_ACCEPT, /* 225 */
233 OP_SHUTDOWN, /* 226 */
234 OP_GSOCKOPT, /* 227 */
235 OP_SSOCKOPT, /* 228 */
236 OP_GETSOCKNAME, /* 229 */
237 OP_GETPEERNAME, /* 230 */
238 OP_LSTAT, /* 231 */
239 OP_STAT, /* 232 */
240 OP_FTRREAD, /* 233 */
241 OP_FTRWRITE, /* 234 */
242 OP_FTREXEC, /* 235 */
243 OP_FTEREAD, /* 236 */
244 OP_FTEWRITE, /* 237 */
245 OP_FTEEXEC, /* 238 */
246 OP_FTIS, /* 239 */
247 OP_FTEOWNED, /* 240 */
248 OP_FTROWNED, /* 241 */
249 OP_FTZERO, /* 242 */
250 OP_FTSIZE, /* 243 */
251 OP_FTMTIME, /* 244 */
252 OP_FTATIME, /* 245 */
253 OP_FTCTIME, /* 246 */
254 OP_FTSOCK, /* 247 */
255 OP_FTCHR, /* 248 */
256 OP_FTBLK, /* 249 */
257 OP_FTFILE, /* 250 */
258 OP_FTDIR, /* 251 */
259 OP_FTPIPE, /* 252 */
260 OP_FTLINK, /* 253 */
261 OP_FTSUID, /* 254 */
262 OP_FTSGID, /* 255 */
263 OP_FTSVTX, /* 256 */
264 OP_FTTTY, /* 257 */
265 OP_FTTEXT, /* 258 */
266 OP_FTBINARY, /* 259 */
267 OP_CHDIR, /* 260 */
268 OP_CHOWN, /* 261 */
269 OP_CHROOT, /* 262 */
270 OP_UNLINK, /* 263 */
271 OP_CHMOD, /* 264 */
272 OP_UTIME, /* 265 */
273 OP_RENAME, /* 266 */
274 OP_LINK, /* 267 */
275 OP_SYMLINK, /* 268 */
276 OP_READLINK, /* 269 */
277 OP_MKDIR, /* 270 */
278 OP_RMDIR, /* 271 */
279 OP_OPEN_DIR, /* 272 */
280 OP_READDIR, /* 273 */
281 OP_TELLDIR, /* 274 */
282 OP_SEEKDIR, /* 275 */
283 OP_REWINDDIR, /* 276 */
284 OP_CLOSEDIR, /* 277 */
285 OP_FORK, /* 278 */
286 OP_WAIT, /* 279 */
287 OP_WAITPID, /* 280 */
288 OP_SYSTEM, /* 281 */
289 OP_EXEC, /* 282 */
290 OP_KILL, /* 283 */
291 OP_GETPPID, /* 284 */
292 OP_GETPGRP, /* 285 */
293 OP_SETPGRP, /* 286 */
294 OP_GETPRIORITY, /* 287 */
295 OP_SETPRIORITY, /* 288 */
296 OP_TIME, /* 289 */
297 OP_TMS, /* 290 */
298 OP_LOCALTIME, /* 291 */
299 OP_GMTIME, /* 292 */
300 OP_ALARM, /* 293 */
301 OP_SLEEP, /* 294 */
302 OP_SHMGET, /* 295 */
303 OP_SHMCTL, /* 296 */
304 OP_SHMREAD, /* 297 */
305 OP_SHMWRITE, /* 298 */
306 OP_MSGGET, /* 299 */
307 OP_MSGCTL, /* 300 */
308 OP_MSGSND, /* 301 */
309 OP_MSGRCV, /* 302 */
310 OP_SEMGET, /* 303 */
311 OP_SEMCTL, /* 304 */
312 OP_SEMOP, /* 305 */
313 OP_REQUIRE, /* 306 */
314 OP_DOFILE, /* 307 */
315 OP_ENTEREVAL, /* 308 */
316 OP_LEAVEEVAL, /* 309 */
317 OP_ENTERTRY, /* 310 */
318 OP_LEAVETRY, /* 311 */
319 OP_GHBYNAME, /* 312 */
320 OP_GHBYADDR, /* 313 */
321 OP_GHOSTENT, /* 314 */
322 OP_GNBYNAME, /* 315 */
323 OP_GNBYADDR, /* 316 */
324 OP_GNETENT, /* 317 */
325 OP_GPBYNAME, /* 318 */
326 OP_GPBYNUMBER, /* 319 */
327 OP_GPROTOENT, /* 320 */
328 OP_GSBYNAME, /* 321 */
329 OP_GSBYPORT, /* 322 */
330 OP_GSERVENT, /* 323 */
331 OP_SHOSTENT, /* 324 */
332 OP_SNETENT, /* 325 */
333 OP_SPROTOENT, /* 326 */
334 OP_SSERVENT, /* 327 */
335 OP_EHOSTENT, /* 328 */
336 OP_ENETENT, /* 329 */
337 OP_EPROTOENT, /* 330 */
338 OP_ESERVENT, /* 331 */
339 OP_GPWNAM, /* 332 */
340 OP_GPWUID, /* 333 */
341 OP_GPWENT, /* 334 */
342 OP_SPWENT, /* 335 */
343 OP_EPWENT, /* 336 */
344 OP_GGRNAM, /* 337 */
345 OP_GGRGID, /* 338 */
346 OP_GGRENT, /* 339 */
347 OP_SGRENT, /* 340 */
348 OP_EGRENT, /* 341 */
349 OP_GETLOGIN, /* 342 */
350 OP_SYSCALL, /* 343 */
c0329465 351 OP_LOCK, /* 344 */
85e6fe83 352 OP_max
79072805
LW
353} opcode;
354
c0329465 355#define MAXO 345
79072805
LW
356
357#ifndef DOINIT
a0d0e21e 358EXT char *op_name[];
79072805 359#else
a0d0e21e 360EXT char *op_name[] = {
c07a80fd
PP
361 "null",
362 "stub",
363 "scalar",
364 "pushmark",
365 "wantarray",
366 "const",
367 "gvsv",
368 "gv",
369 "gelem",
370 "padsv",
371 "padav",
372 "padhv",
373 "padany",
374 "pushre",
375 "rv2gv",
376 "rv2sv",
377 "av2arylen",
378 "rv2cv",
379 "anoncode",
380 "prototype",
381 "refgen",
382 "srefgen",
383 "ref",
384 "bless",
385 "backtick",
386 "glob",
387 "readline",
388 "rcatline",
389 "regcmaybe",
390 "regcomp",
391 "match",
392 "subst",
393 "substcont",
394 "trans",
395 "sassign",
396 "aassign",
397 "chop",
398 "schop",
399 "chomp",
400 "schomp",
401 "defined",
402 "undef",
403 "study",
404 "pos",
405 "preinc",
406 "i_preinc",
407 "predec",
408 "i_predec",
409 "postinc",
410 "i_postinc",
411 "postdec",
412 "i_postdec",
413 "pow",
414 "multiply",
415 "i_multiply",
416 "divide",
417 "i_divide",
418 "modulo",
419 "i_modulo",
420 "repeat",
421 "add",
422 "i_add",
423 "subtract",
424 "i_subtract",
425 "concat",
426 "stringify",
427 "left_shift",
428 "right_shift",
429 "lt",
430 "i_lt",
431 "gt",
432 "i_gt",
433 "le",
434 "i_le",
435 "ge",
436 "i_ge",
437 "eq",
438 "i_eq",
439 "ne",
440 "i_ne",
441 "ncmp",
442 "i_ncmp",
443 "slt",
444 "sgt",
445 "sle",
446 "sge",
447 "seq",
448 "sne",
449 "scmp",
450 "bit_and",
451 "bit_xor",
452 "bit_or",
453 "negate",
454 "i_negate",
455 "not",
456 "complement",
457 "atan2",
458 "sin",
459 "cos",
460 "rand",
461 "srand",
462 "exp",
463 "log",
464 "sqrt",
465 "int",
466 "hex",
467 "oct",
468 "abs",
469 "length",
470 "substr",
471 "vec",
472 "index",
473 "rindex",
474 "sprintf",
475 "formline",
476 "ord",
477 "chr",
478 "crypt",
479 "ucfirst",
480 "lcfirst",
481 "uc",
482 "lc",
483 "quotemeta",
484 "rv2av",
485 "aelemfast",
486 "aelem",
487 "aslice",
488 "each",
489 "values",
490 "keys",
491 "delete",
492 "exists",
493 "rv2hv",
494 "helem",
495 "hslice",
496 "unpack",
497 "pack",
498 "split",
499 "join",
500 "list",
501 "lslice",
502 "anonlist",
503 "anonhash",
504 "splice",
505 "push",
506 "pop",
507 "shift",
508 "unshift",
509 "sort",
510 "reverse",
511 "grepstart",
512 "grepwhile",
513 "mapstart",
514 "mapwhile",
515 "range",
516 "flip",
517 "flop",
518 "and",
519 "or",
520 "xor",
521 "cond_expr",
522 "andassign",
523 "orassign",
524 "method",
525 "entersub",
526 "leavesub",
527 "caller",
528 "warn",
529 "die",
530 "reset",
531 "lineseq",
532 "nextstate",
533 "dbstate",
534 "unstack",
535 "enter",
536 "leave",
537 "scope",
538 "enteriter",
539 "iter",
540 "enterloop",
541 "leaveloop",
542 "return",
543 "last",
544 "next",
545 "redo",
546 "dump",
547 "goto",
548 "exit",
549 "open",
550 "close",
551 "pipe_op",
552 "fileno",
553 "umask",
554 "binmode",
555 "tie",
556 "untie",
557 "tied",
558 "dbmopen",
559 "dbmclose",
560 "sselect",
561 "select",
562 "getc",
563 "read",
564 "enterwrite",
565 "leavewrite",
566 "prtf",
567 "print",
568 "sysopen",
137443ea 569 "sysseek",
c07a80fd
PP
570 "sysread",
571 "syswrite",
572 "send",
573 "recv",
574 "eof",
575 "tell",
576 "seek",
577 "truncate",
578 "fcntl",
579 "ioctl",
580 "flock",
581 "socket",
582 "sockpair",
583 "bind",
584 "connect",
585 "listen",
586 "accept",
587 "shutdown",
588 "gsockopt",
589 "ssockopt",
590 "getsockname",
591 "getpeername",
592 "lstat",
593 "stat",
594 "ftrread",
595 "ftrwrite",
596 "ftrexec",
597 "fteread",
598 "ftewrite",
599 "fteexec",
600 "ftis",
601 "fteowned",
602 "ftrowned",
603 "ftzero",
604 "ftsize",
605 "ftmtime",
606 "ftatime",
607 "ftctime",
608 "ftsock",
609 "ftchr",
610 "ftblk",
611 "ftfile",
612 "ftdir",
613 "ftpipe",
614 "ftlink",
615 "ftsuid",
616 "ftsgid",
617 "ftsvtx",
618 "fttty",
619 "fttext",
620 "ftbinary",
621 "chdir",
622 "chown",
623 "chroot",
624 "unlink",
625 "chmod",
626 "utime",
627 "rename",
628 "link",
629 "symlink",
630 "readlink",
631 "mkdir",
632 "rmdir",
633 "open_dir",
634 "readdir",
635 "telldir",
636 "seekdir",
637 "rewinddir",
638 "closedir",
639 "fork",
640 "wait",
641 "waitpid",
642 "system",
643 "exec",
644 "kill",
645 "getppid",
646 "getpgrp",
647 "setpgrp",
648 "getpriority",
649 "setpriority",
650 "time",
651 "tms",
652 "localtime",
653 "gmtime",
654 "alarm",
655 "sleep",
656 "shmget",
657 "shmctl",
658 "shmread",
659 "shmwrite",
660 "msgget",
661 "msgctl",
662 "msgsnd",
663 "msgrcv",
664 "semget",
665 "semctl",
666 "semop",
667 "require",
668 "dofile",
669 "entereval",
670 "leaveeval",
671 "entertry",
672 "leavetry",
673 "ghbyname",
674 "ghbyaddr",
675 "ghostent",
676 "gnbyname",
677 "gnbyaddr",
678 "gnetent",
679 "gpbyname",
680 "gpbynumber",
681 "gprotoent",
682 "gsbyname",
683 "gsbyport",
684 "gservent",
685 "shostent",
686 "snetent",
687 "sprotoent",
688 "sservent",
689 "ehostent",
690 "enetent",
691 "eprotoent",
692 "eservent",
693 "gpwnam",
694 "gpwuid",
695 "gpwent",
696 "spwent",
697 "epwent",
698 "ggrnam",
699 "ggrgid",
700 "ggrent",
701 "sgrent",
702 "egrent",
703 "getlogin",
704 "syscall",
c0329465 705 "lock",
c07a80fd
PP
706};
707#endif
708
709#ifndef DOINIT
710EXT char *op_desc[];
711#else
712EXT char *op_desc[] = {
79072805 713 "null operation",
93a17b20
LW
714 "stub",
715 "scalar",
79072805
LW
716 "pushmark",
717 "wantarray",
79072805 718 "constant item",
79072805
LW
719 "scalar variable",
720 "glob value",
c07a80fd 721 "glob elem",
93a17b20
LW
722 "private variable",
723 "private array",
724 "private hash",
ed6116ce 725 "private something",
79072805
LW
726 "push regexp",
727 "ref-to-glob cast",
a0d0e21e 728 "scalar deref",
79072805 729 "array length",
a0d0e21e
LW
730 "subroutine deref",
731 "anonymous subroutine",
c07a80fd 732 "subroutine prototype",
8990e307 733 "reference constructor",
a0d0e21e 734 "scalar ref constructor",
79072805
LW
735 "reference-type operator",
736 "bless",
737 "backticks",
738 "glob",
739 "<HANDLE>",
740 "append I/O operator",
463ee0b2 741 "regexp comp once",
79072805
LW
742 "regexp compilation",
743 "pattern match",
744 "substitution",
745 "substitution cont",
746 "character translation",
747 "scalar assignment",
748 "list assignment",
79072805 749 "chop",
a0d0e21e
LW
750 "scalar chop",
751 "safe chop",
752 "scalar safe chop",
79072805
LW
753 "defined operator",
754 "undef operator",
755 "study",
a0d0e21e 756 "match position",
79072805 757 "preincrement",
85e6fe83 758 "integer preincrement",
79072805 759 "predecrement",
85e6fe83 760 "integer predecrement",
79072805 761 "postincrement",
85e6fe83 762 "integer postincrement",
79072805 763 "postdecrement",
85e6fe83 764 "integer postdecrement",
79072805
LW
765 "exponentiation",
766 "multiplication",
85e6fe83 767 "integer multiplication",
79072805 768 "division",
85e6fe83 769 "integer division",
79072805 770 "modulus",
85e6fe83 771 "integer modulus",
79072805
LW
772 "repeat",
773 "addition",
774 "integer addition",
775 "subtraction",
85e6fe83 776 "integer subtraction",
79072805 777 "concatenation",
a0d0e21e 778 "string",
79072805
LW
779 "left bitshift",
780 "right bitshift",
781 "numeric lt",
85e6fe83 782 "integer lt",
79072805 783 "numeric gt",
85e6fe83 784 "integer gt",
79072805 785 "numeric le",
85e6fe83 786 "integer le",
79072805 787 "numeric ge",
85e6fe83 788 "integer ge",
79072805 789 "numeric eq",
85e6fe83 790 "integer eq",
79072805 791 "numeric ne",
85e6fe83 792 "integer ne",
a0d0e21e 793 "spaceship operator",
85e6fe83 794 "integer spaceship",
79072805
LW
795 "string lt",
796 "string gt",
797 "string le",
798 "string ge",
799 "string eq",
800 "string ne",
801 "string comparison",
a0d0e21e
LW
802 "bitwise and",
803 "bitwise xor",
804 "bitwise or",
79072805 805 "negate",
85e6fe83 806 "integer negate",
79072805
LW
807 "not",
808 "1's complement",
809 "atan2",
810 "sin",
811 "cos",
812 "rand",
813 "srand",
814 "exp",
815 "log",
816 "sqrt",
817 "int",
818 "hex",
819 "oct",
463ee0b2 820 "abs",
79072805
LW
821 "length",
822 "substr",
823 "vec",
824 "index",
825 "rindex",
826 "sprintf",
827 "formline",
828 "ord",
463ee0b2 829 "chr",
79072805
LW
830 "crypt",
831 "upper case first",
832 "lower case first",
833 "upper case",
834 "lower case",
a0d0e21e 835 "quote metachars",
79072805
LW
836 "array deref",
837 "known array element",
838 "array element",
839 "array slice",
840 "each",
841 "values",
842 "keys",
843 "delete",
a0d0e21e 844 "exists operator",
aa689395
PP
845 "hash deref",
846 "hash elem",
847 "hash slice",
79072805
LW
848 "unpack",
849 "pack",
850 "split",
851 "join",
852 "list",
853 "list slice",
854 "anonymous list",
855 "anonymous hash",
856 "splice",
857 "push",
858 "pop",
859 "shift",
860 "unshift",
861 "sort",
862 "reverse",
863 "grep",
864 "grep iterator",
a0d0e21e
LW
865 "map",
866 "map iterator",
79072805
LW
867 "flipflop",
868 "range (or flip)",
869 "range (or flop)",
870 "logical and",
871 "logical or",
a0d0e21e 872 "logical xor",
79072805
LW
873 "conditional expression",
874 "logical and assignment",
875 "logical or assignment",
876 "method lookup",
877 "subroutine entry",
878 "subroutine exit",
879 "caller",
880 "warn",
881 "die",
882 "reset",
883 "line sequence",
884 "next statement",
93a17b20 885 "debug next statement",
79072805
LW
886 "unstack",
887 "block entry",
888 "block exit",
463ee0b2 889 "block",
79072805
LW
890 "foreach loop entry",
891 "foreach loop iterator",
892 "loop entry",
893 "loop exit",
894 "return",
895 "last",
896 "next",
897 "redo",
898 "dump",
899 "goto",
900 "exit",
79072805
LW
901 "open",
902 "close",
903 "pipe",
904 "fileno",
905 "umask",
906 "binmode",
463ee0b2
LW
907 "tie",
908 "untie",
c07a80fd 909 "tied",
79072805
LW
910 "dbmopen",
911 "dbmclose",
912 "select system call",
913 "select",
914 "getc",
915 "read",
916 "write",
917 "write exit",
463ee0b2 918 "printf",
79072805 919 "print",
c07a80fd 920 "sysopen",
137443ea 921 "sysseek",
79072805
LW
922 "sysread",
923 "syswrite",
924 "send",
925 "recv",
926 "eof",
927 "tell",
928 "seek",
929 "truncate",
930 "fcntl",
931 "ioctl",
932 "flock",
933 "socket",
934 "socketpair",
935 "bind",
936 "connect",
937 "listen",
938 "accept",
939 "shutdown",
940 "getsockopt",
941 "setsockopt",
942 "getsockname",
943 "getpeername",
944 "lstat",
945 "stat",
946 "-R",
947 "-W",
948 "-X",
949 "-r",
950 "-w",
951 "-x",
952 "-e",
953 "-O",
954 "-o",
955 "-z",
956 "-s",
957 "-M",
958 "-A",
959 "-C",
960 "-S",
961 "-c",
962 "-b",
963 "-f",
964 "-d",
965 "-p",
966 "-l",
967 "-u",
968 "-g",
969 "-k",
970 "-t",
971 "-T",
972 "-B",
973 "chdir",
974 "chown",
975 "chroot",
976 "unlink",
977 "chmod",
978 "utime",
979 "rename",
980 "link",
981 "symlink",
982 "readlink",
983 "mkdir",
984 "rmdir",
985 "opendir",
986 "readdir",
987 "telldir",
988 "seekdir",
989 "rewinddir",
990 "closedir",
991 "fork",
992 "wait",
993 "waitpid",
994 "system",
995 "exec",
996 "kill",
997 "getppid",
998 "getpgrp",
999 "setpgrp",
1000 "getpriority",
1001 "setpriority",
1002 "time",
1003 "times",
1004 "localtime",
1005 "gmtime",
1006 "alarm",
1007 "sleep",
1008 "shmget",
1009 "shmctl",
1010 "shmread",
1011 "shmwrite",
1012 "msgget",
1013 "msgctl",
1014 "msgsnd",
1015 "msgrcv",
1016 "semget",
1017 "semctl",
1018 "semop",
1019 "require",
1020 "do 'file'",
1021 "eval string",
1022 "eval exit",
79072805
LW
1023 "eval block",
1024 "eval block exit",
1025 "gethostbyname",
1026 "gethostbyaddr",
1027 "gethostent",
1028 "getnetbyname",
1029 "getnetbyaddr",
1030 "getnetent",
1031 "getprotobyname",
1032 "getprotobynumber",
1033 "getprotoent",
1034 "getservbyname",
1035 "getservbyport",
1036 "getservent",
1037 "sethostent",
1038 "setnetent",
1039 "setprotoent",
1040 "setservent",
1041 "endhostent",
1042 "endnetent",
1043 "endprotoent",
1044 "endservent",
1045 "getpwnam",
1046 "getpwuid",
1047 "getpwent",
1048 "setpwent",
1049 "endpwent",
1050 "getgrnam",
1051 "getgrgid",
1052 "getgrent",
1053 "setgrent",
1054 "endgrent",
1055 "getlogin",
1056 "syscall",
c0329465 1057 "lock",
79072805
LW
1058};
1059#endif
1060
5196be3e
MB
1061OP * ck_anoncode _((OP* o));
1062OP * ck_bitop _((OP* o));
1063OP * ck_concat _((OP* o));
1064OP * ck_delete _((OP* o));
1065OP * ck_eof _((OP* o));
1066OP * ck_eval _((OP* o));
1067OP * ck_exec _((OP* o));
1068OP * ck_exists _((OP* o));
1069OP * ck_ftst _((OP* o));
1070OP * ck_fun _((OP* o));
1071OP * ck_fun_locale _((OP* o));
1072OP * ck_glob _((OP* o));
1073OP * ck_grep _((OP* o));
1074OP * ck_index _((OP* o));
1075OP * ck_lengthconst _((OP* o));
1076OP * ck_lfun _((OP* o));
1077OP * ck_listiob _((OP* o));
1078OP * ck_match _((OP* o));
1079OP * ck_null _((OP* o));
1080OP * ck_repeat _((OP* o));
1081OP * ck_require _((OP* o));
1082OP * ck_rfun _((OP* o));
1083OP * ck_rvconst _((OP* o));
1084OP * ck_scmp _((OP* o));
1085OP * ck_select _((OP* o));
1086OP * ck_shift _((OP* o));
1087OP * ck_sort _((OP* o));
1088OP * ck_spair _((OP* o));
1089OP * ck_split _((OP* o));
1090OP * ck_subr _((OP* o));
1091OP * ck_svconst _((OP* o));
1092OP * ck_trunc _((OP* o));
79072805 1093
5196be3e
MB
1094OP * pp_null _((ARGSproto));
1095OP * pp_stub _((ARGSproto));
1096OP * pp_scalar _((ARGSproto));
1097OP * pp_pushmark _((ARGSproto));
1098OP * pp_wantarray _((ARGSproto));
1099OP * pp_const _((ARGSproto));
1100OP * pp_gvsv _((ARGSproto));
1101OP * pp_gv _((ARGSproto));
1102OP * pp_gelem _((ARGSproto));
1103OP * pp_padsv _((ARGSproto));
1104OP * pp_padav _((ARGSproto));
1105OP * pp_padhv _((ARGSproto));
1106OP * pp_padany _((ARGSproto));
1107OP * pp_pushre _((ARGSproto));
1108OP * pp_rv2gv _((ARGSproto));
1109OP * pp_rv2sv _((ARGSproto));
1110OP * pp_av2arylen _((ARGSproto));
1111OP * pp_rv2cv _((ARGSproto));
1112OP * pp_anoncode _((ARGSproto));
1113OP * pp_prototype _((ARGSproto));
1114OP * pp_refgen _((ARGSproto));
1115OP * pp_srefgen _((ARGSproto));
1116OP * pp_ref _((ARGSproto));
1117OP * pp_bless _((ARGSproto));
1118OP * pp_backtick _((ARGSproto));
1119OP * pp_glob _((ARGSproto));
1120OP * pp_readline _((ARGSproto));
1121OP * pp_rcatline _((ARGSproto));
1122OP * pp_regcmaybe _((ARGSproto));
1123OP * pp_regcomp _((ARGSproto));
1124OP * pp_match _((ARGSproto));
1125OP * pp_subst _((ARGSproto));
1126OP * pp_substcont _((ARGSproto));
1127OP * pp_trans _((ARGSproto));
1128OP * pp_sassign _((ARGSproto));
1129OP * pp_aassign _((ARGSproto));
1130OP * pp_chop _((ARGSproto));
1131OP * pp_schop _((ARGSproto));
1132OP * pp_chomp _((ARGSproto));
1133OP * pp_schomp _((ARGSproto));
1134OP * pp_defined _((ARGSproto));
1135OP * pp_undef _((ARGSproto));
1136OP * pp_study _((ARGSproto));
1137OP * pp_pos _((ARGSproto));
1138OP * pp_preinc _((ARGSproto));
1139OP * pp_i_preinc _((ARGSproto));
1140OP * pp_predec _((ARGSproto));
1141OP * pp_i_predec _((ARGSproto));
1142OP * pp_postinc _((ARGSproto));
1143OP * pp_i_postinc _((ARGSproto));
1144OP * pp_postdec _((ARGSproto));
1145OP * pp_i_postdec _((ARGSproto));
1146OP * pp_pow _((ARGSproto));
1147OP * pp_multiply _((ARGSproto));
1148OP * pp_i_multiply _((ARGSproto));
1149OP * pp_divide _((ARGSproto));
1150OP * pp_i_divide _((ARGSproto));
1151OP * pp_modulo _((ARGSproto));
1152OP * pp_i_modulo _((ARGSproto));
1153OP * pp_repeat _((ARGSproto));
1154OP * pp_add _((ARGSproto));
1155OP * pp_i_add _((ARGSproto));
1156OP * pp_subtract _((ARGSproto));
1157OP * pp_i_subtract _((ARGSproto));
1158OP * pp_concat _((ARGSproto));
1159OP * pp_stringify _((ARGSproto));
1160OP * pp_left_shift _((ARGSproto));
1161OP * pp_right_shift _((ARGSproto));
1162OP * pp_lt _((ARGSproto));
1163OP * pp_i_lt _((ARGSproto));
1164OP * pp_gt _((ARGSproto));
1165OP * pp_i_gt _((ARGSproto));
1166OP * pp_le _((ARGSproto));
1167OP * pp_i_le _((ARGSproto));
1168OP * pp_ge _((ARGSproto));
1169OP * pp_i_ge _((ARGSproto));
1170OP * pp_eq _((ARGSproto));
1171OP * pp_i_eq _((ARGSproto));
1172OP * pp_ne _((ARGSproto));
1173OP * pp_i_ne _((ARGSproto));
1174OP * pp_ncmp _((ARGSproto));
1175OP * pp_i_ncmp _((ARGSproto));
1176OP * pp_slt _((ARGSproto));
1177OP * pp_sgt _((ARGSproto));
1178OP * pp_sle _((ARGSproto));
1179OP * pp_sge _((ARGSproto));
1180OP * pp_seq _((ARGSproto));
1181OP * pp_sne _((ARGSproto));
1182OP * pp_scmp _((ARGSproto));
1183OP * pp_bit_and _((ARGSproto));
1184OP * pp_bit_xor _((ARGSproto));
1185OP * pp_bit_or _((ARGSproto));
1186OP * pp_negate _((ARGSproto));
1187OP * pp_i_negate _((ARGSproto));
1188OP * pp_not _((ARGSproto));
1189OP * pp_complement _((ARGSproto));
1190OP * pp_atan2 _((ARGSproto));
1191OP * pp_sin _((ARGSproto));
1192OP * pp_cos _((ARGSproto));
1193OP * pp_rand _((ARGSproto));
1194OP * pp_srand _((ARGSproto));
1195OP * pp_exp _((ARGSproto));
1196OP * pp_log _((ARGSproto));
1197OP * pp_sqrt _((ARGSproto));
1198OP * pp_int _((ARGSproto));
1199OP * pp_hex _((ARGSproto));
1200OP * pp_oct _((ARGSproto));
1201OP * pp_abs _((ARGSproto));
1202OP * pp_length _((ARGSproto));
1203OP * pp_substr _((ARGSproto));
1204OP * pp_vec _((ARGSproto));
1205OP * pp_index _((ARGSproto));
1206OP * pp_rindex _((ARGSproto));
1207OP * pp_sprintf _((ARGSproto));
1208OP * pp_formline _((ARGSproto));
1209OP * pp_ord _((ARGSproto));
1210OP * pp_chr _((ARGSproto));
1211OP * pp_crypt _((ARGSproto));
1212OP * pp_ucfirst _((ARGSproto));
1213OP * pp_lcfirst _((ARGSproto));
1214OP * pp_uc _((ARGSproto));
1215OP * pp_lc _((ARGSproto));
1216OP * pp_quotemeta _((ARGSproto));
1217OP * pp_rv2av _((ARGSproto));
1218OP * pp_aelemfast _((ARGSproto));
1219OP * pp_aelem _((ARGSproto));
1220OP * pp_aslice _((ARGSproto));
1221OP * pp_each _((ARGSproto));
1222OP * pp_values _((ARGSproto));
1223OP * pp_keys _((ARGSproto));
1224OP * pp_delete _((ARGSproto));
1225OP * pp_exists _((ARGSproto));
1226OP * pp_rv2hv _((ARGSproto));
1227OP * pp_helem _((ARGSproto));
1228OP * pp_hslice _((ARGSproto));
1229OP * pp_unpack _((ARGSproto));
1230OP * pp_pack _((ARGSproto));
1231OP * pp_split _((ARGSproto));
1232OP * pp_join _((ARGSproto));
1233OP * pp_list _((ARGSproto));
1234OP * pp_lslice _((ARGSproto));
1235OP * pp_anonlist _((ARGSproto));
1236OP * pp_anonhash _((ARGSproto));
1237OP * pp_splice _((ARGSproto));
1238OP * pp_push _((ARGSproto));
1239OP * pp_pop _((ARGSproto));
1240OP * pp_shift _((ARGSproto));
1241OP * pp_unshift _((ARGSproto));
1242OP * pp_sort _((ARGSproto));
1243OP * pp_reverse _((ARGSproto));
1244OP * pp_grepstart _((ARGSproto));
1245OP * pp_grepwhile _((ARGSproto));
1246OP * pp_mapstart _((ARGSproto));
1247OP * pp_mapwhile _((ARGSproto));
1248OP * pp_range _((ARGSproto));
1249OP * pp_flip _((ARGSproto));
1250OP * pp_flop _((ARGSproto));
1251OP * pp_and _((ARGSproto));
1252OP * pp_or _((ARGSproto));
1253OP * pp_xor _((ARGSproto));
1254OP * pp_cond_expr _((ARGSproto));
1255OP * pp_andassign _((ARGSproto));
1256OP * pp_orassign _((ARGSproto));
1257OP * pp_method _((ARGSproto));
1258OP * pp_entersub _((ARGSproto));
1259OP * pp_leavesub _((ARGSproto));
1260OP * pp_caller _((ARGSproto));
1261OP * pp_warn _((ARGSproto));
1262OP * pp_die _((ARGSproto));
1263OP * pp_reset _((ARGSproto));
1264OP * pp_lineseq _((ARGSproto));
1265OP * pp_nextstate _((ARGSproto));
1266OP * pp_dbstate _((ARGSproto));
1267OP * pp_unstack _((ARGSproto));
1268OP * pp_enter _((ARGSproto));
1269OP * pp_leave _((ARGSproto));
1270OP * pp_scope _((ARGSproto));
1271OP * pp_enteriter _((ARGSproto));
1272OP * pp_iter _((ARGSproto));
1273OP * pp_enterloop _((ARGSproto));
1274OP * pp_leaveloop _((ARGSproto));
1275OP * pp_return _((ARGSproto));
1276OP * pp_last _((ARGSproto));
1277OP * pp_next _((ARGSproto));
1278OP * pp_redo _((ARGSproto));
1279OP * pp_dump _((ARGSproto));
1280OP * pp_goto _((ARGSproto));
1281OP * pp_exit _((ARGSproto));
1282OP * pp_open _((ARGSproto));
1283OP * pp_close _((ARGSproto));
1284OP * pp_pipe_op _((ARGSproto));
1285OP * pp_fileno _((ARGSproto));
1286OP * pp_umask _((ARGSproto));
1287OP * pp_binmode _((ARGSproto));
1288OP * pp_tie _((ARGSproto));
1289OP * pp_untie _((ARGSproto));
1290OP * pp_tied _((ARGSproto));
1291OP * pp_dbmopen _((ARGSproto));
1292OP * pp_dbmclose _((ARGSproto));
1293OP * pp_sselect _((ARGSproto));
1294OP * pp_select _((ARGSproto));
1295OP * pp_getc _((ARGSproto));
1296OP * pp_read _((ARGSproto));
1297OP * pp_enterwrite _((ARGSproto));
1298OP * pp_leavewrite _((ARGSproto));
1299OP * pp_prtf _((ARGSproto));
1300OP * pp_print _((ARGSproto));
1301OP * pp_sysopen _((ARGSproto));
1302OP * pp_sysseek _((ARGSproto));
1303OP * pp_sysread _((ARGSproto));
1304OP * pp_syswrite _((ARGSproto));
1305OP * pp_send _((ARGSproto));
1306OP * pp_recv _((ARGSproto));
1307OP * pp_eof _((ARGSproto));
1308OP * pp_tell _((ARGSproto));
1309OP * pp_seek _((ARGSproto));
1310OP * pp_truncate _((ARGSproto));
1311OP * pp_fcntl _((ARGSproto));
1312OP * pp_ioctl _((ARGSproto));
1313OP * pp_flock _((ARGSproto));
1314OP * pp_socket _((ARGSproto));
1315OP * pp_sockpair _((ARGSproto));
1316OP * pp_bind _((ARGSproto));
1317OP * pp_connect _((ARGSproto));
1318OP * pp_listen _((ARGSproto));
1319OP * pp_accept _((ARGSproto));
1320OP * pp_shutdown _((ARGSproto));
1321OP * pp_gsockopt _((ARGSproto));
1322OP * pp_ssockopt _((ARGSproto));
1323OP * pp_getsockname _((ARGSproto));
1324OP * pp_getpeername _((ARGSproto));
1325OP * pp_lstat _((ARGSproto));
1326OP * pp_stat _((ARGSproto));
1327OP * pp_ftrread _((ARGSproto));
1328OP * pp_ftrwrite _((ARGSproto));
1329OP * pp_ftrexec _((ARGSproto));
1330OP * pp_fteread _((ARGSproto));
1331OP * pp_ftewrite _((ARGSproto));
1332OP * pp_fteexec _((ARGSproto));
1333OP * pp_ftis _((ARGSproto));
1334OP * pp_fteowned _((ARGSproto));
1335OP * pp_ftrowned _((ARGSproto));
1336OP * pp_ftzero _((ARGSproto));
1337OP * pp_ftsize _((ARGSproto));
1338OP * pp_ftmtime _((ARGSproto));
1339OP * pp_ftatime _((ARGSproto));
1340OP * pp_ftctime _((ARGSproto));
1341OP * pp_ftsock _((ARGSproto));
1342OP * pp_ftchr _((ARGSproto));
1343OP * pp_ftblk _((ARGSproto));
1344OP * pp_ftfile _((ARGSproto));
1345OP * pp_ftdir _((ARGSproto));
1346OP * pp_ftpipe _((ARGSproto));
1347OP * pp_ftlink _((ARGSproto));
1348OP * pp_ftsuid _((ARGSproto));
1349OP * pp_ftsgid _((ARGSproto));
1350OP * pp_ftsvtx _((ARGSproto));
1351OP * pp_fttty _((ARGSproto));
1352OP * pp_fttext _((ARGSproto));
1353OP * pp_ftbinary _((ARGSproto));
1354OP * pp_chdir _((ARGSproto));
1355OP * pp_chown _((ARGSproto));
1356OP * pp_chroot _((ARGSproto));
1357OP * pp_unlink _((ARGSproto));
1358OP * pp_chmod _((ARGSproto));
1359OP * pp_utime _((ARGSproto));
1360OP * pp_rename _((ARGSproto));
1361OP * pp_link _((ARGSproto));
1362OP * pp_symlink _((ARGSproto));
1363OP * pp_readlink _((ARGSproto));
1364OP * pp_mkdir _((ARGSproto));
1365OP * pp_rmdir _((ARGSproto));
1366OP * pp_open_dir _((ARGSproto));
1367OP * pp_readdir _((ARGSproto));
1368OP * pp_telldir _((ARGSproto));
1369OP * pp_seekdir _((ARGSproto));
1370OP * pp_rewinddir _((ARGSproto));
1371OP * pp_closedir _((ARGSproto));
1372OP * pp_fork _((ARGSproto));
1373OP * pp_wait _((ARGSproto));
1374OP * pp_waitpid _((ARGSproto));
1375OP * pp_system _((ARGSproto));
1376OP * pp_exec _((ARGSproto));
1377OP * pp_kill _((ARGSproto));
1378OP * pp_getppid _((ARGSproto));
1379OP * pp_getpgrp _((ARGSproto));
1380OP * pp_setpgrp _((ARGSproto));
1381OP * pp_getpriority _((ARGSproto));
1382OP * pp_setpriority _((ARGSproto));
1383OP * pp_time _((ARGSproto));
1384OP * pp_tms _((ARGSproto));
1385OP * pp_localtime _((ARGSproto));
1386OP * pp_gmtime _((ARGSproto));
1387OP * pp_alarm _((ARGSproto));
1388OP * pp_sleep _((ARGSproto));
1389OP * pp_shmget _((ARGSproto));
1390OP * pp_shmctl _((ARGSproto));
1391OP * pp_shmread _((ARGSproto));
1392OP * pp_shmwrite _((ARGSproto));
1393OP * pp_msgget _((ARGSproto));
1394OP * pp_msgctl _((ARGSproto));
1395OP * pp_msgsnd _((ARGSproto));
1396OP * pp_msgrcv _((ARGSproto));
1397OP * pp_semget _((ARGSproto));
1398OP * pp_semctl _((ARGSproto));
1399OP * pp_semop _((ARGSproto));
1400OP * pp_require _((ARGSproto));
1401OP * pp_dofile _((ARGSproto));
1402OP * pp_entereval _((ARGSproto));
1403OP * pp_leaveeval _((ARGSproto));
1404OP * pp_entertry _((ARGSproto));
1405OP * pp_leavetry _((ARGSproto));
1406OP * pp_ghbyname _((ARGSproto));
1407OP * pp_ghbyaddr _((ARGSproto));
1408OP * pp_ghostent _((ARGSproto));
1409OP * pp_gnbyname _((ARGSproto));
1410OP * pp_gnbyaddr _((ARGSproto));
1411OP * pp_gnetent _((ARGSproto));
1412OP * pp_gpbyname _((ARGSproto));
1413OP * pp_gpbynumber _((ARGSproto));
1414OP * pp_gprotoent _((ARGSproto));
1415OP * pp_gsbyname _((ARGSproto));
1416OP * pp_gsbyport _((ARGSproto));
1417OP * pp_gservent _((ARGSproto));
1418OP * pp_shostent _((ARGSproto));
1419OP * pp_snetent _((ARGSproto));
1420OP * pp_sprotoent _((ARGSproto));
1421OP * pp_sservent _((ARGSproto));
1422OP * pp_ehostent _((ARGSproto));
1423OP * pp_enetent _((ARGSproto));
1424OP * pp_eprotoent _((ARGSproto));
1425OP * pp_eservent _((ARGSproto));
1426OP * pp_gpwnam _((ARGSproto));
1427OP * pp_gpwuid _((ARGSproto));
1428OP * pp_gpwent _((ARGSproto));
1429OP * pp_spwent _((ARGSproto));
1430OP * pp_epwent _((ARGSproto));
1431OP * pp_ggrnam _((ARGSproto));
1432OP * pp_ggrgid _((ARGSproto));
1433OP * pp_ggrent _((ARGSproto));
1434OP * pp_sgrent _((ARGSproto));
1435OP * pp_egrent _((ARGSproto));
1436OP * pp_getlogin _((ARGSproto));
1437OP * pp_syscall _((ARGSproto));
c0329465 1438OP * pp_lock _((ARGSproto));
79072805
LW
1439
1440#ifndef DOINIT
a0d0e21e 1441EXT OP * (*ppaddr[])();
79072805 1442#else
a0d0e21e 1443EXT OP * (*ppaddr[])() = {
79072805 1444 pp_null,
93a17b20 1445 pp_stub,
79072805
LW
1446 pp_scalar,
1447 pp_pushmark,
1448 pp_wantarray,
79072805 1449 pp_const,
79072805
LW
1450 pp_gvsv,
1451 pp_gv,
c07a80fd 1452 pp_gelem,
93a17b20
LW
1453 pp_padsv,
1454 pp_padav,
1455 pp_padhv,
ed6116ce 1456 pp_padany,
79072805
LW
1457 pp_pushre,
1458 pp_rv2gv,
79072805
LW
1459 pp_rv2sv,
1460 pp_av2arylen,
1461 pp_rv2cv,
a0d0e21e 1462 pp_anoncode,
c07a80fd 1463 pp_prototype,
79072805 1464 pp_refgen,
a0d0e21e 1465 pp_srefgen,
79072805
LW
1466 pp_ref,
1467 pp_bless,
1468 pp_backtick,
1469 pp_glob,
1470 pp_readline,
1471 pp_rcatline,
463ee0b2 1472 pp_regcmaybe,
79072805
LW
1473 pp_regcomp,
1474 pp_match,
1475 pp_subst,
1476 pp_substcont,
1477 pp_trans,
1478 pp_sassign,
1479 pp_aassign,
79072805 1480 pp_chop,
a0d0e21e
LW
1481 pp_schop,
1482 pp_chomp,
1483 pp_schomp,
79072805
LW
1484 pp_defined,
1485 pp_undef,
1486 pp_study,
a0d0e21e 1487 pp_pos,
79072805 1488 pp_preinc,
85e6fe83 1489 pp_i_preinc,
79072805 1490 pp_predec,
85e6fe83 1491 pp_i_predec,
79072805 1492 pp_postinc,
85e6fe83 1493 pp_i_postinc,
79072805 1494 pp_postdec,
85e6fe83 1495 pp_i_postdec,
79072805
LW
1496 pp_pow,
1497 pp_multiply,
85e6fe83 1498 pp_i_multiply,
79072805 1499 pp_divide,
85e6fe83 1500 pp_i_divide,
79072805 1501 pp_modulo,
85e6fe83 1502 pp_i_modulo,
79072805
LW
1503 pp_repeat,
1504 pp_add,
85e6fe83 1505 pp_i_add,
79072805 1506 pp_subtract,
85e6fe83 1507 pp_i_subtract,
79072805 1508 pp_concat,
a0d0e21e 1509 pp_stringify,
79072805
LW
1510 pp_left_shift,
1511 pp_right_shift,
1512 pp_lt,
85e6fe83 1513 pp_i_lt,
79072805 1514 pp_gt,
85e6fe83 1515 pp_i_gt,
79072805 1516 pp_le,
85e6fe83 1517 pp_i_le,
79072805 1518 pp_ge,
85e6fe83 1519 pp_i_ge,
79072805 1520 pp_eq,
85e6fe83 1521 pp_i_eq,
79072805 1522 pp_ne,
85e6fe83 1523 pp_i_ne,
79072805 1524 pp_ncmp,
85e6fe83 1525 pp_i_ncmp,
79072805
LW
1526 pp_slt,
1527 pp_sgt,
1528 pp_sle,
1529 pp_sge,
1530 pp_seq,
1531 pp_sne,
1532 pp_scmp,
1533 pp_bit_and,
a0d0e21e 1534 pp_bit_xor,
79072805
LW
1535 pp_bit_or,
1536 pp_negate,
85e6fe83 1537 pp_i_negate,
79072805
LW
1538 pp_not,
1539 pp_complement,
1540 pp_atan2,
1541 pp_sin,
1542 pp_cos,
1543 pp_rand,
1544 pp_srand,
1545 pp_exp,
1546 pp_log,
1547 pp_sqrt,
1548 pp_int,
1549 pp_hex,
1550 pp_oct,
463ee0b2 1551 pp_abs,
79072805
LW
1552 pp_length,
1553 pp_substr,
1554 pp_vec,
1555 pp_index,
1556 pp_rindex,
1557 pp_sprintf,
1558 pp_formline,
1559 pp_ord,
463ee0b2 1560 pp_chr,
79072805
LW
1561 pp_crypt,
1562 pp_ucfirst,
1563 pp_lcfirst,
1564 pp_uc,
1565 pp_lc,
a0d0e21e 1566 pp_quotemeta,
79072805
LW
1567 pp_rv2av,
1568 pp_aelemfast,
1569 pp_aelem,
1570 pp_aslice,
1571 pp_each,
1572 pp_values,
1573 pp_keys,
1574 pp_delete,
a0d0e21e 1575 pp_exists,
79072805
LW
1576 pp_rv2hv,
1577 pp_helem,
1578 pp_hslice,
1579 pp_unpack,
1580 pp_pack,
1581 pp_split,
1582 pp_join,
1583 pp_list,
1584 pp_lslice,
1585 pp_anonlist,
1586 pp_anonhash,
1587 pp_splice,
1588 pp_push,
1589 pp_pop,
1590 pp_shift,
1591 pp_unshift,
1592 pp_sort,
1593 pp_reverse,
1594 pp_grepstart,
1595 pp_grepwhile,
a0d0e21e
LW
1596 pp_mapstart,
1597 pp_mapwhile,
79072805
LW
1598 pp_range,
1599 pp_flip,
1600 pp_flop,
1601 pp_and,
1602 pp_or,
a0d0e21e 1603 pp_xor,
79072805
LW
1604 pp_cond_expr,
1605 pp_andassign,
1606 pp_orassign,
1607 pp_method,
a0d0e21e
LW
1608 pp_entersub,
1609 pp_leavesub,
79072805
LW
1610 pp_caller,
1611 pp_warn,
1612 pp_die,
1613 pp_reset,
1614 pp_lineseq,
93a17b20
LW
1615 pp_nextstate,
1616 pp_dbstate,
79072805
LW
1617 pp_unstack,
1618 pp_enter,
1619 pp_leave,
463ee0b2 1620 pp_scope,
79072805
LW
1621 pp_enteriter,
1622 pp_iter,
1623 pp_enterloop,
1624 pp_leaveloop,
1625 pp_return,
1626 pp_last,
1627 pp_next,
1628 pp_redo,
1629 pp_dump,
1630 pp_goto,
1631 pp_exit,
79072805
LW
1632 pp_open,
1633 pp_close,
1634 pp_pipe_op,
1635 pp_fileno,
1636 pp_umask,
1637 pp_binmode,
463ee0b2
LW
1638 pp_tie,
1639 pp_untie,
c07a80fd 1640 pp_tied,
79072805
LW
1641 pp_dbmopen,
1642 pp_dbmclose,
1643 pp_sselect,
1644 pp_select,
1645 pp_getc,
1646 pp_read,
1647 pp_enterwrite,
1648 pp_leavewrite,
1649 pp_prtf,
1650 pp_print,
c07a80fd 1651 pp_sysopen,
137443ea 1652 pp_sysseek,
79072805
LW
1653 pp_sysread,
1654 pp_syswrite,
1655 pp_send,
1656 pp_recv,
1657 pp_eof,
1658 pp_tell,
1659 pp_seek,
1660 pp_truncate,
1661 pp_fcntl,
1662 pp_ioctl,
1663 pp_flock,
1664 pp_socket,
1665 pp_sockpair,
1666 pp_bind,
1667 pp_connect,
1668 pp_listen,
1669 pp_accept,
1670 pp_shutdown,
1671 pp_gsockopt,
1672 pp_ssockopt,
1673 pp_getsockname,
1674 pp_getpeername,
1675 pp_lstat,
1676 pp_stat,
1677 pp_ftrread,
1678 pp_ftrwrite,
1679 pp_ftrexec,
1680 pp_fteread,
1681 pp_ftewrite,
1682 pp_fteexec,
1683 pp_ftis,
1684 pp_fteowned,
1685 pp_ftrowned,
1686 pp_ftzero,
1687 pp_ftsize,
1688 pp_ftmtime,
1689 pp_ftatime,
1690 pp_ftctime,
1691 pp_ftsock,
1692 pp_ftchr,
1693 pp_ftblk,
1694 pp_ftfile,
1695 pp_ftdir,
1696 pp_ftpipe,
1697 pp_ftlink,
1698 pp_ftsuid,
1699 pp_ftsgid,
1700 pp_ftsvtx,
1701 pp_fttty,
1702 pp_fttext,
1703 pp_ftbinary,
1704 pp_chdir,
1705 pp_chown,
1706 pp_chroot,
1707 pp_unlink,
1708 pp_chmod,
1709 pp_utime,
1710 pp_rename,
1711 pp_link,
1712 pp_symlink,
1713 pp_readlink,
1714 pp_mkdir,
1715 pp_rmdir,
1716 pp_open_dir,
1717 pp_readdir,
1718 pp_telldir,
1719 pp_seekdir,
1720 pp_rewinddir,
1721 pp_closedir,
1722 pp_fork,
1723 pp_wait,
1724 pp_waitpid,
1725 pp_system,
1726 pp_exec,
1727 pp_kill,
1728 pp_getppid,
1729 pp_getpgrp,
1730 pp_setpgrp,
1731 pp_getpriority,
1732 pp_setpriority,
1733 pp_time,
1734 pp_tms,
1735 pp_localtime,
1736 pp_gmtime,
1737 pp_alarm,
1738 pp_sleep,
1739 pp_shmget,
1740 pp_shmctl,
1741 pp_shmread,
1742 pp_shmwrite,
1743 pp_msgget,
1744 pp_msgctl,
1745 pp_msgsnd,
1746 pp_msgrcv,
1747 pp_semget,
1748 pp_semctl,
1749 pp_semop,
1750 pp_require,
1751 pp_dofile,
1752 pp_entereval,
1753 pp_leaveeval,
79072805
LW
1754 pp_entertry,
1755 pp_leavetry,
1756 pp_ghbyname,
1757 pp_ghbyaddr,
1758 pp_ghostent,
1759 pp_gnbyname,
1760 pp_gnbyaddr,
1761 pp_gnetent,
1762 pp_gpbyname,
1763 pp_gpbynumber,
1764 pp_gprotoent,
1765 pp_gsbyname,
1766 pp_gsbyport,
1767 pp_gservent,
1768 pp_shostent,
1769 pp_snetent,
1770 pp_sprotoent,
1771 pp_sservent,
1772 pp_ehostent,
1773 pp_enetent,
1774 pp_eprotoent,
1775 pp_eservent,
1776 pp_gpwnam,
1777 pp_gpwuid,
1778 pp_gpwent,
1779 pp_spwent,
1780 pp_epwent,
1781 pp_ggrnam,
1782 pp_ggrgid,
1783 pp_ggrent,
1784 pp_sgrent,
1785 pp_egrent,
1786 pp_getlogin,
1787 pp_syscall,
c0329465 1788 pp_lock,
79072805
LW
1789};
1790#endif
1791
1792#ifndef DOINIT
c6ecf61f 1793EXT OP * (*check[]) _((OP *op));
79072805 1794#else
c6ecf61f 1795EXT OP * (*check[]) _((OP *op)) = {
79072805 1796 ck_null, /* null */
93a17b20
LW
1797 ck_null, /* stub */
1798 ck_fun, /* scalar */
79072805
LW
1799 ck_null, /* pushmark */
1800 ck_null, /* wantarray */
8990e307 1801 ck_svconst, /* const */
79072805
LW
1802 ck_null, /* gvsv */
1803 ck_null, /* gv */
c07a80fd 1804 ck_null, /* gelem */
93a17b20
LW
1805 ck_null, /* padsv */
1806 ck_null, /* padav */
1807 ck_null, /* padhv */
ed6116ce 1808 ck_null, /* padany */
79072805
LW
1809 ck_null, /* pushre */
1810 ck_rvconst, /* rv2gv */
79072805
LW
1811 ck_rvconst, /* rv2sv */
1812 ck_null, /* av2arylen */
1813 ck_rvconst, /* rv2cv */
5f05dabc 1814 ck_anoncode, /* anoncode */
c07a80fd 1815 ck_null, /* prototype */
a0d0e21e
LW
1816 ck_spair, /* refgen */
1817 ck_null, /* srefgen */
79072805
LW
1818 ck_fun, /* ref */
1819 ck_fun, /* bless */
1820 ck_null, /* backtick */
1821 ck_glob, /* glob */
1822 ck_null, /* readline */
1823 ck_null, /* rcatline */
463ee0b2 1824 ck_fun, /* regcmaybe */
79072805
LW
1825 ck_null, /* regcomp */
1826 ck_match, /* match */
1827 ck_null, /* subst */
1828 ck_null, /* substcont */
1829 ck_null, /* trans */
1830 ck_null, /* sassign */
1831 ck_null, /* aassign */
a0d0e21e 1832 ck_spair, /* chop */
79072805 1833 ck_null, /* schop */
a0d0e21e
LW
1834 ck_spair, /* chomp */
1835 ck_null, /* schomp */
8990e307 1836 ck_rfun, /* defined */
79072805
LW
1837 ck_lfun, /* undef */
1838 ck_fun, /* study */
a0d0e21e 1839 ck_lfun, /* pos */
79072805 1840 ck_lfun, /* preinc */
85e6fe83 1841 ck_lfun, /* i_preinc */
79072805 1842 ck_lfun, /* predec */
85e6fe83 1843 ck_lfun, /* i_predec */
79072805 1844 ck_lfun, /* postinc */
85e6fe83 1845 ck_lfun, /* i_postinc */
79072805 1846 ck_lfun, /* postdec */
85e6fe83 1847 ck_lfun, /* i_postdec */
79072805
LW
1848 ck_null, /* pow */
1849 ck_null, /* multiply */
85e6fe83 1850 ck_null, /* i_multiply */
79072805 1851 ck_null, /* divide */
85e6fe83 1852 ck_null, /* i_divide */
79072805 1853 ck_null, /* modulo */
85e6fe83 1854 ck_null, /* i_modulo */
79072805
LW
1855 ck_repeat, /* repeat */
1856 ck_null, /* add */
85e6fe83 1857 ck_null, /* i_add */
79072805 1858 ck_null, /* subtract */
85e6fe83 1859 ck_null, /* i_subtract */
79072805 1860 ck_concat, /* concat */
a0d0e21e 1861 ck_fun, /* stringify */
55497cff
PP
1862 ck_bitop, /* left_shift */
1863 ck_bitop, /* right_shift */
79072805 1864 ck_null, /* lt */
85e6fe83 1865 ck_null, /* i_lt */
79072805 1866 ck_null, /* gt */
85e6fe83 1867 ck_null, /* i_gt */
79072805 1868 ck_null, /* le */
85e6fe83 1869 ck_null, /* i_le */
79072805 1870 ck_null, /* ge */
85e6fe83 1871 ck_null, /* i_ge */
79072805 1872 ck_null, /* eq */
85e6fe83 1873 ck_null, /* i_eq */
79072805 1874 ck_null, /* ne */
85e6fe83 1875 ck_null, /* i_ne */
79072805 1876 ck_null, /* ncmp */
85e6fe83 1877 ck_null, /* i_ncmp */
bbce6d69
PP
1878 ck_scmp, /* slt */
1879 ck_scmp, /* sgt */
1880 ck_scmp, /* sle */
1881 ck_scmp, /* sge */
36477c24
PP
1882 ck_null, /* seq */
1883 ck_null, /* sne */
bbce6d69 1884 ck_scmp, /* scmp */
55497cff
PP
1885 ck_bitop, /* bit_and */
1886 ck_bitop, /* bit_xor */
1887 ck_bitop, /* bit_or */
79072805 1888 ck_null, /* negate */
85e6fe83 1889 ck_null, /* i_negate */
79072805 1890 ck_null, /* not */
55497cff 1891 ck_bitop, /* complement */
79072805
LW
1892 ck_fun, /* atan2 */
1893 ck_fun, /* sin */
1894 ck_fun, /* cos */
1895 ck_fun, /* rand */
1896 ck_fun, /* srand */
1897 ck_fun, /* exp */
1898 ck_fun, /* log */
1899 ck_fun, /* sqrt */
1900 ck_fun, /* int */
1901 ck_fun, /* hex */
1902 ck_fun, /* oct */
463ee0b2 1903 ck_fun, /* abs */
79072805
LW
1904 ck_lengthconst, /* length */
1905 ck_fun, /* substr */
1906 ck_fun, /* vec */
1907 ck_index, /* index */
1908 ck_index, /* rindex */
bbce6d69
PP
1909 ck_fun_locale, /* sprintf */
1910 ck_fun, /* formline */
79072805 1911 ck_fun, /* ord */
463ee0b2 1912 ck_fun, /* chr */
79072805 1913 ck_fun, /* crypt */
bbce6d69
PP
1914 ck_fun_locale, /* ucfirst */
1915 ck_fun_locale, /* lcfirst */
1916 ck_fun_locale, /* uc */
1917 ck_fun_locale, /* lc */
a0d0e21e 1918 ck_fun, /* quotemeta */
79072805
LW
1919 ck_rvconst, /* rv2av */
1920 ck_null, /* aelemfast */
8990e307 1921 ck_null, /* aelem */
79072805
LW
1922 ck_null, /* aslice */
1923 ck_fun, /* each */
1924 ck_fun, /* values */
1925 ck_fun, /* keys */
a0d0e21e 1926 ck_delete, /* delete */
5f05dabc 1927 ck_exists, /* exists */
79072805
LW
1928 ck_rvconst, /* rv2hv */
1929 ck_null, /* helem */
1930 ck_null, /* hslice */
1931 ck_fun, /* unpack */
1932 ck_fun, /* pack */
1933 ck_split, /* split */
1934 ck_fun, /* join */
1935 ck_null, /* list */
1936 ck_null, /* lslice */
a0d0e21e
LW
1937 ck_fun, /* anonlist */
1938 ck_fun, /* anonhash */
79072805
LW
1939 ck_fun, /* splice */
1940 ck_fun, /* push */
1941 ck_shift, /* pop */
1942 ck_shift, /* shift */
1943 ck_fun, /* unshift */
1944 ck_sort, /* sort */
1945 ck_fun, /* reverse */
1946 ck_grep, /* grepstart */
1947 ck_null, /* grepwhile */
a0d0e21e
LW
1948 ck_grep, /* mapstart */
1949 ck_null, /* mapwhile */
79072805
LW
1950 ck_null, /* range */
1951 ck_null, /* flip */
1952 ck_null, /* flop */
1953 ck_null, /* and */
1954 ck_null, /* or */
a0d0e21e 1955 ck_null, /* xor */
79072805
LW
1956 ck_null, /* cond_expr */
1957 ck_null, /* andassign */
1958 ck_null, /* orassign */
1959 ck_null, /* method */
a0d0e21e
LW
1960 ck_subr, /* entersub */
1961 ck_null, /* leavesub */
79072805
LW
1962 ck_fun, /* caller */
1963 ck_fun, /* warn */
1964 ck_fun, /* die */
1965 ck_fun, /* reset */
1966 ck_null, /* lineseq */
93a17b20
LW
1967 ck_null, /* nextstate */
1968 ck_null, /* dbstate */
79072805
LW
1969 ck_null, /* unstack */
1970 ck_null, /* enter */
1971 ck_null, /* leave */
463ee0b2 1972 ck_null, /* scope */
79072805
LW
1973 ck_null, /* enteriter */
1974 ck_null, /* iter */
1975 ck_null, /* enterloop */
1976 ck_null, /* leaveloop */
748a9306 1977 ck_null, /* return */
79072805
LW
1978 ck_null, /* last */
1979 ck_null, /* next */
1980 ck_null, /* redo */
1981 ck_null, /* dump */
1982 ck_null, /* goto */
1983 ck_fun, /* exit */
79072805
LW
1984 ck_fun, /* open */
1985 ck_fun, /* close */
1986 ck_fun, /* pipe_op */
1987 ck_fun, /* fileno */
1988 ck_fun, /* umask */
1989 ck_fun, /* binmode */
463ee0b2
LW
1990 ck_fun, /* tie */
1991 ck_fun, /* untie */
c07a80fd 1992 ck_fun, /* tied */
79072805
LW
1993 ck_fun, /* dbmopen */
1994 ck_fun, /* dbmclose */
1995 ck_select, /* sselect */
1996 ck_select, /* select */
1997 ck_eof, /* getc */
1998 ck_fun, /* read */
1999 ck_fun, /* enterwrite */
2000 ck_null, /* leavewrite */
2001 ck_listiob, /* prtf */
2002 ck_listiob, /* print */
c07a80fd 2003 ck_fun, /* sysopen */
137443ea 2004 ck_fun, /* sysseek */
79072805
LW
2005 ck_fun, /* sysread */
2006 ck_fun, /* syswrite */
2007 ck_fun, /* send */
2008 ck_fun, /* recv */
2009 ck_eof, /* eof */
2010 ck_fun, /* tell */
2011 ck_fun, /* seek */
2012 ck_trunc, /* truncate */
2013 ck_fun, /* fcntl */
2014 ck_fun, /* ioctl */
2015 ck_fun, /* flock */
2016 ck_fun, /* socket */
2017 ck_fun, /* sockpair */
2018 ck_fun, /* bind */
2019 ck_fun, /* connect */
2020 ck_fun, /* listen */
2021 ck_fun, /* accept */
2022 ck_fun, /* shutdown */
2023 ck_fun, /* gsockopt */
2024 ck_fun, /* ssockopt */
2025 ck_fun, /* getsockname */
2026 ck_fun, /* getpeername */
2027 ck_ftst, /* lstat */
2028 ck_ftst, /* stat */
2029 ck_ftst, /* ftrread */
2030 ck_ftst, /* ftrwrite */
2031 ck_ftst, /* ftrexec */
2032 ck_ftst, /* fteread */
2033 ck_ftst, /* ftewrite */
2034 ck_ftst, /* fteexec */
2035 ck_ftst, /* ftis */
2036 ck_ftst, /* fteowned */
2037 ck_ftst, /* ftrowned */
2038 ck_ftst, /* ftzero */
2039 ck_ftst, /* ftsize */
2040 ck_ftst, /* ftmtime */
2041 ck_ftst, /* ftatime */
2042 ck_ftst, /* ftctime */
2043 ck_ftst, /* ftsock */
2044 ck_ftst, /* ftchr */
2045 ck_ftst, /* ftblk */
2046 ck_ftst, /* ftfile */
2047 ck_ftst, /* ftdir */
2048 ck_ftst, /* ftpipe */
2049 ck_ftst, /* ftlink */
2050 ck_ftst, /* ftsuid */
2051 ck_ftst, /* ftsgid */
2052 ck_ftst, /* ftsvtx */
2053 ck_ftst, /* fttty */
2054 ck_ftst, /* fttext */
2055 ck_ftst, /* ftbinary */
2056 ck_fun, /* chdir */
2057 ck_fun, /* chown */
2058 ck_fun, /* chroot */
2059 ck_fun, /* unlink */
2060 ck_fun, /* chmod */
2061 ck_fun, /* utime */
2062 ck_fun, /* rename */
2063 ck_fun, /* link */
2064 ck_fun, /* symlink */
2065 ck_fun, /* readlink */
2066 ck_fun, /* mkdir */
2067 ck_fun, /* rmdir */
2068 ck_fun, /* open_dir */
2069 ck_fun, /* readdir */
2070 ck_fun, /* telldir */
2071 ck_fun, /* seekdir */
2072 ck_fun, /* rewinddir */
2073 ck_fun, /* closedir */
2074 ck_null, /* fork */
2075 ck_null, /* wait */
2076 ck_fun, /* waitpid */
2077 ck_exec, /* system */
2078 ck_exec, /* exec */
2079 ck_fun, /* kill */
2080 ck_null, /* getppid */
2081 ck_fun, /* getpgrp */
2082 ck_fun, /* setpgrp */
2083 ck_fun, /* getpriority */
2084 ck_fun, /* setpriority */
2085 ck_null, /* time */
2086 ck_null, /* tms */
2087 ck_fun, /* localtime */
2088 ck_fun, /* gmtime */
2089 ck_fun, /* alarm */
2090 ck_fun, /* sleep */
2091 ck_fun, /* shmget */
2092 ck_fun, /* shmctl */
2093 ck_fun, /* shmread */
2094 ck_fun, /* shmwrite */
2095 ck_fun, /* msgget */
2096 ck_fun, /* msgctl */
2097 ck_fun, /* msgsnd */
2098 ck_fun, /* msgrcv */
2099 ck_fun, /* semget */
2100 ck_fun, /* semctl */
2101 ck_fun, /* semop */
8990e307 2102 ck_require, /* require */
79072805
LW
2103 ck_fun, /* dofile */
2104 ck_eval, /* entereval */
2105 ck_null, /* leaveeval */
79072805
LW
2106 ck_null, /* entertry */
2107 ck_null, /* leavetry */
2108 ck_fun, /* ghbyname */
2109 ck_fun, /* ghbyaddr */
2110 ck_null, /* ghostent */
2111 ck_fun, /* gnbyname */
2112 ck_fun, /* gnbyaddr */
2113 ck_null, /* gnetent */
2114 ck_fun, /* gpbyname */
2115 ck_fun, /* gpbynumber */
2116 ck_null, /* gprotoent */
2117 ck_fun, /* gsbyname */
2118 ck_fun, /* gsbyport */
2119 ck_null, /* gservent */
2120 ck_fun, /* shostent */
2121 ck_fun, /* snetent */
2122 ck_fun, /* sprotoent */
2123 ck_fun, /* sservent */
2124 ck_null, /* ehostent */
2125 ck_null, /* enetent */
2126 ck_null, /* eprotoent */
2127 ck_null, /* eservent */
2128 ck_fun, /* gpwnam */
2129 ck_fun, /* gpwuid */
2130 ck_null, /* gpwent */
2131 ck_null, /* spwent */
2132 ck_null, /* epwent */
2133 ck_fun, /* ggrnam */
2134 ck_fun, /* ggrgid */
2135 ck_null, /* ggrent */
2136 ck_null, /* sgrent */
2137 ck_null, /* egrent */
2138 ck_null, /* getlogin */
2139 ck_fun, /* syscall */
e55aaa0e 2140 ck_rfun, /* lock */
79072805
LW
2141};
2142#endif
2143
2144#ifndef DOINIT
2145EXT U32 opargs[];
2146#else
a0d0e21e 2147EXT U32 opargs[] = {
79072805 2148 0x00000000, /* null */
93a17b20 2149 0x00000000, /* stub */
db173bac 2150 0x00001c04, /* scalar */
79072805
LW
2151 0x00000004, /* pushmark */
2152 0x00000014, /* wantarray */
db173bac
MB
2153 0x00000704, /* const */
2154 0x00000844, /* gvsv */
2155 0x00000844, /* gv */
2156 0x00011240, /* gelem */
748a9306
LW
2157 0x00000044, /* padsv */
2158 0x00000040, /* padav */
2159 0x00000040, /* padhv */
2160 0x00000040, /* padany */
db173bac
MB
2161 0x00000600, /* pushre */
2162 0x00000144, /* rv2gv */
2163 0x00000144, /* rv2sv */
2164 0x00000114, /* av2arylen */
2165 0x00000140, /* rv2cv */
2166 0x00000700, /* anoncode */
2167 0x00001c04, /* prototype */
2168 0x00002001, /* refgen */
2169 0x00001006, /* srefgen */
2170 0x00009c8c, /* ref */
2171 0x00091504, /* bless */
2172 0x00000c08, /* backtick */
2173 0x00099508, /* glob */
2174 0x00000c08, /* readline */
2175 0x00000c08, /* rcatline */
2176 0x00001104, /* regcmaybe */
2177 0x00001304, /* regcomp */
2178 0x00000640, /* match */
2179 0x00001654, /* subst */
2180 0x00000354, /* substcont */
2181 0x00001914, /* trans */
79072805 2182 0x00000004, /* sassign */
db173bac
MB
2183 0x00022208, /* aassign */
2184 0x00002c0d, /* chop */
2185 0x00009c8c, /* schop */
2186 0x00002c0d, /* chomp */
2187 0x00009c8c, /* schomp */
2188 0x00009c94, /* defined */
2189 0x00009c04, /* undef */
2190 0x00009c84, /* study */
2191 0x00009c8c, /* pos */
2192 0x00001164, /* preinc */
2193 0x00001154, /* i_preinc */
2194 0x00001164, /* predec */
2195 0x00001154, /* i_predec */
2196 0x0000116c, /* postinc */
2197 0x0000115c, /* i_postinc */
2198 0x0000116c, /* postdec */
2199 0x0000115c, /* i_postdec */
2200 0x0001120e, /* pow */
2201 0x0001122e, /* multiply */
2202 0x0001121e, /* i_multiply */
2203 0x0001122e, /* divide */
2204 0x0001121e, /* i_divide */
2205 0x0001123e, /* modulo */
2206 0x0001121e, /* i_modulo */
2207 0x00012209, /* repeat */
2208 0x0001122e, /* add */
2209 0x0001121e, /* i_add */
2210 0x0001122e, /* subtract */
2211 0x0001121e, /* i_subtract */
2212 0x0001120e, /* concat */
2213 0x0000150e, /* stringify */
2214 0x0001120e, /* left_shift */
2215 0x0001120e, /* right_shift */
2216 0x00011236, /* lt */
2217 0x00011216, /* i_lt */
2218 0x00011236, /* gt */
2219 0x00011216, /* i_gt */
2220 0x00011236, /* le */
2221 0x00011216, /* i_le */
2222 0x00011236, /* ge */
2223 0x00011216, /* i_ge */
2224 0x00011236, /* eq */
2225 0x00011216, /* i_eq */
2226 0x00011236, /* ne */
2227 0x00011216, /* i_ne */
2228 0x0001123e, /* ncmp */
2229 0x0001121e, /* i_ncmp */
2230 0x00011216, /* slt */
2231 0x00011216, /* sgt */
2232 0x00011216, /* sle */
2233 0x00011216, /* sge */
2234 0x00011216, /* seq */
2235 0x00011216, /* sne */
2236 0x0001121e, /* scmp */
2237 0x0001120e, /* bit_and */
2238 0x0001120e, /* bit_xor */
2239 0x0001120e, /* bit_or */
2240 0x0000112e, /* negate */
2241 0x0000111e, /* i_negate */
2242 0x00001116, /* not */
2243 0x0000110e, /* complement */
2244 0x0001150e, /* atan2 */
2245 0x00009c8e, /* sin */
2246 0x00009c8e, /* cos */
2247 0x00009c0c, /* rand */
2248 0x00009c04, /* srand */
2249 0x00009c8e, /* exp */
2250 0x00009c8e, /* log */
2251 0x00009c8e, /* sqrt */
2252 0x00009c8e, /* int */
2253 0x00009c8e, /* hex */
2254 0x00009c8e, /* oct */
2255 0x00009c8e, /* abs */
2256 0x00009c9c, /* length */
2257 0x0091150c, /* substr */
2258 0x0011151c, /* vec */
2259 0x0091151c, /* index */
2260 0x0091151c, /* rindex */
2261 0x0002150f, /* sprintf */
2262 0x00021505, /* formline */
2263 0x00009c9e, /* ord */
2264 0x00009c8e, /* chr */
2265 0x0001150e, /* crypt */
2266 0x00009c8e, /* ucfirst */
2267 0x00009c8e, /* lcfirst */
2268 0x00009c8e, /* uc */
2269 0x00009c8e, /* lc */
2270 0x00009c8e, /* quotemeta */
2271 0x00000148, /* rv2av */
2272 0x00013804, /* aelemfast */
2273 0x00013204, /* aelem */
2274 0x00023501, /* aslice */
2275 0x00004c08, /* each */
2276 0x00004c08, /* values */
2277 0x00004c08, /* keys */
2278 0x00001c00, /* delete */
2279 0x00001c14, /* exists */
2280 0x00000148, /* rv2hv */
2281 0x00014204, /* helem */
2282 0x00024501, /* hslice */
2283 0x00011500, /* unpack */
2284 0x0002150d, /* pack */
2285 0x00111508, /* split */
2286 0x0002150d, /* join */
2287 0x00002501, /* list */
2288 0x00224200, /* lslice */
2289 0x00002505, /* anonlist */
2290 0x00002505, /* anonhash */
2291 0x02993501, /* splice */
2292 0x0002351d, /* push */
2293 0x00003c14, /* pop */
2294 0x00003c04, /* shift */
2295 0x0002351d, /* unshift */
2296 0x0002d501, /* sort */
2297 0x00002509, /* reverse */
2298 0x00025541, /* grepstart */
2299 0x00000348, /* grepwhile */
2300 0x00025541, /* mapstart */
2301 0x00000348, /* mapwhile */
2302 0x00011400, /* range */
2303 0x00011100, /* flip */
2304 0x00000100, /* flop */
2305 0x00000300, /* and */
2306 0x00000300, /* or */
2307 0x00011306, /* xor */
2308 0x00000440, /* cond_expr */
2309 0x00000304, /* andassign */
2310 0x00000304, /* orassign */
2311 0x00000140, /* method */
2312 0x00002149, /* entersub */
2313 0x00000100, /* leavesub */
2314 0x00009c08, /* caller */
2315 0x0000251d, /* warn */
2316 0x0000255d, /* die */
2317 0x00009c14, /* reset */
2318 0x00000500, /* lineseq */
2319 0x00000b04, /* nextstate */
2320 0x00000b04, /* dbstate */
79072805
LW
2321 0x00000004, /* unstack */
2322 0x00000000, /* enter */
db173bac
MB
2323 0x00000500, /* leave */
2324 0x00000500, /* scope */
2325 0x00000a40, /* enteriter */
79072805 2326 0x00000000, /* iter */
db173bac
MB
2327 0x00000a40, /* enterloop */
2328 0x00000200, /* leaveloop */
2329 0x00002541, /* return */
2330 0x00000e44, /* last */
2331 0x00000e44, /* next */
2332 0x00000e44, /* redo */
2333 0x00000e44, /* dump */
2334 0x00000e44, /* goto */
2335 0x00009c44, /* exit */
2336 0x0009651c, /* open */
2337 0x0000ec14, /* close */
2338 0x00066514, /* pipe_op */
2339 0x00006c1c, /* fileno */
2340 0x00009c1c, /* umask */
2341 0x00006c04, /* binmode */
2342 0x00217555, /* tie */
2343 0x00007c14, /* untie */
2344 0x00007c04, /* tied */
2345 0x00114514, /* dbmopen */
2346 0x00004c14, /* dbmclose */
2347 0x01111508, /* sselect */
2348 0x0000e50c, /* select */
2349 0x0000ec0c, /* getc */
2350 0x0917651d, /* read */
2351 0x0000ec54, /* enterwrite */
2352 0x00000100, /* leavewrite */
2353 0x0002e515, /* prtf */
2354 0x0002e515, /* print */
2355 0x09116504, /* sysopen */
2356 0x00116504, /* sysseek */
2357 0x0917651d, /* sysread */
2358 0x0911651d, /* syswrite */
2359 0x0911651d, /* send */
2360 0x0117651d, /* recv */
2361 0x0000ec14, /* eof */
2362 0x0000ec0c, /* tell */
2363 0x00116504, /* seek */
2364 0x00011514, /* truncate */
2365 0x0011650c, /* fcntl */
2366 0x0011650c, /* ioctl */
2367 0x0001651c, /* flock */
2368 0x01116514, /* socket */
2369 0x11166514, /* sockpair */
2370 0x00016514, /* bind */
2371 0x00016514, /* connect */
2372 0x00016514, /* listen */
2373 0x0006651c, /* accept */
2374 0x0001651c, /* shutdown */
2375 0x00116514, /* gsockopt */
2376 0x01116514, /* ssockopt */
2377 0x00006c14, /* getsockname */
2378 0x00006c14, /* getpeername */
2379 0x00006d80, /* lstat */
2380 0x00006d80, /* stat */
2381 0x00006d94, /* ftrread */
2382 0x00006d94, /* ftrwrite */
2383 0x00006d94, /* ftrexec */
2384 0x00006d94, /* fteread */
2385 0x00006d94, /* ftewrite */
2386 0x00006d94, /* fteexec */
2387 0x00006d94, /* ftis */
2388 0x00006d94, /* fteowned */
2389 0x00006d94, /* ftrowned */
2390 0x00006d94, /* ftzero */
2391 0x00006d9c, /* ftsize */
2392 0x00006d8c, /* ftmtime */
2393 0x00006d8c, /* ftatime */
2394 0x00006d8c, /* ftctime */
2395 0x00006d94, /* ftsock */
2396 0x00006d94, /* ftchr */
2397 0x00006d94, /* ftblk */
2398 0x00006d94, /* ftfile */
2399 0x00006d94, /* ftdir */
2400 0x00006d94, /* ftpipe */
2401 0x00006d94, /* ftlink */
2402 0x00006d94, /* ftsuid */
2403 0x00006d94, /* ftsgid */
2404 0x00006d94, /* ftsvtx */
2405 0x00006d14, /* fttty */
2406 0x00006d94, /* fttext */
2407 0x00006d94, /* ftbinary */
2408 0x00009c1c, /* chdir */
2409 0x0000251d, /* chown */
2410 0x00009c9c, /* chroot */
2411 0x0000259d, /* unlink */
2412 0x0000251d, /* chmod */
2413 0x0000251d, /* utime */
2414 0x0001151c, /* rename */
2415 0x0001151c, /* link */
2416 0x0001151c, /* symlink */
2417 0x00009c8c, /* readlink */
2418 0x0001151c, /* mkdir */
2419 0x00009c9c, /* rmdir */
2420 0x00016514, /* open_dir */
2421 0x00006c00, /* readdir */
2422 0x00006c0c, /* telldir */
2423 0x00016504, /* seekdir */
2424 0x00006c04, /* rewinddir */
2425 0x00006c14, /* closedir */
79072805
LW
2426 0x0000001c, /* fork */
2427 0x0000001c, /* wait */
db173bac
MB
2428 0x0001151c, /* waitpid */
2429 0x0002951d, /* system */
2430 0x0002955d, /* exec */
2431 0x0000255d, /* kill */
79072805 2432 0x0000001c, /* getppid */
db173bac
MB
2433 0x00009c1c, /* getpgrp */
2434 0x0009951c, /* setpgrp */
2435 0x0001151c, /* getpriority */
2436 0x0011151c, /* setpriority */
79072805
LW
2437 0x0000001c, /* time */
2438 0x00000000, /* tms */
db173bac
MB
2439 0x00009c08, /* localtime */
2440 0x00009c08, /* gmtime */
2441 0x00009c9c, /* alarm */
2442 0x00009c1c, /* sleep */
2443 0x0011151d, /* shmget */
2444 0x0011151d, /* shmctl */
2445 0x0111151d, /* shmread */
2446 0x0111151d, /* shmwrite */
2447 0x0001151d, /* msgget */
2448 0x0011151d, /* msgctl */
2449 0x0011151d, /* msgsnd */
2450 0x1111151d, /* msgrcv */
2451 0x0011151d, /* semget */
2452 0x0111151d, /* semctl */
2453 0x0001151d, /* semop */
2454 0x00009cc0, /* require */
2455 0x00001140, /* dofile */
2456 0x00001c40, /* entereval */
2457 0x00001100, /* leaveeval */
2458 0x00000300, /* entertry */
2459 0x00000500, /* leavetry */
2460 0x00001c00, /* ghbyname */
2461 0x00011500, /* ghbyaddr */
79072805 2462 0x00000000, /* ghostent */
db173bac
MB
2463 0x00001c00, /* gnbyname */
2464 0x00011500, /* gnbyaddr */
79072805 2465 0x00000000, /* gnetent */
db173bac
MB
2466 0x00001c00, /* gpbyname */
2467 0x00001500, /* gpbynumber */
79072805 2468 0x00000000, /* gprotoent */
db173bac
MB
2469 0x00011500, /* gsbyname */
2470 0x00011500, /* gsbyport */
79072805 2471 0x00000000, /* gservent */
db173bac
MB
2472 0x00001c14, /* shostent */
2473 0x00001c14, /* snetent */
2474 0x00001c14, /* sprotoent */
2475 0x00001c14, /* sservent */
93a17b20
LW
2476 0x00000014, /* ehostent */
2477 0x00000014, /* enetent */
2478 0x00000014, /* eprotoent */
2479 0x00000014, /* eservent */
db173bac
MB
2480 0x00001c00, /* gpwnam */
2481 0x00001c00, /* gpwuid */
79072805 2482 0x00000000, /* gpwent */
a0d0e21e
LW
2483 0x00000014, /* spwent */
2484 0x00000014, /* epwent */
db173bac
MB
2485 0x00001c00, /* ggrnam */
2486 0x00001c00, /* ggrgid */
79072805 2487 0x00000000, /* ggrent */
a0d0e21e
LW
2488 0x00000014, /* sgrent */
2489 0x00000014, /* egrent */
79072805 2490 0x0000000c, /* getlogin */
db173bac
MB
2491 0x0002151d, /* syscall */
2492 0x00001c04, /* lock */
79072805
LW
2493};
2494#endif