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