[Encode] 1.77 Released
[p5sagit/p5-mst-13.2.git] / opnames.h
CommitLineData
d6376244 1/*
2 * opnames.h
3 *
4 * Copyright (c) 1997-2002, Larry Wall
5 *
6 * You may distribute under the terms of either the GNU General Public
7 * License or the Artistic License, as specified in the README file.
8 *
9 *
10 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
11 * This file is built by opcode.pl from its data. Any changes made here
12 * will be lost!
13 */
abdd5c84 14
15typedef enum opcode {
16 OP_NULL, /* 0 */
17 OP_STUB, /* 1 */
18 OP_SCALAR, /* 2 */
19 OP_PUSHMARK, /* 3 */
20 OP_WANTARRAY, /* 4 */
21 OP_CONST, /* 5 */
22 OP_GVSV, /* 6 */
23 OP_GV, /* 7 */
24 OP_GELEM, /* 8 */
25 OP_PADSV, /* 9 */
26 OP_PADAV, /* 10 */
27 OP_PADHV, /* 11 */
28 OP_PADANY, /* 12 */
29 OP_PUSHRE, /* 13 */
30 OP_RV2GV, /* 14 */
31 OP_RV2SV, /* 15 */
32 OP_AV2ARYLEN, /* 16 */
33 OP_RV2CV, /* 17 */
34 OP_ANONCODE, /* 18 */
35 OP_PROTOTYPE, /* 19 */
36 OP_REFGEN, /* 20 */
37 OP_SREFGEN, /* 21 */
38 OP_REF, /* 22 */
39 OP_BLESS, /* 23 */
40 OP_BACKTICK, /* 24 */
41 OP_GLOB, /* 25 */
42 OP_READLINE, /* 26 */
43 OP_RCATLINE, /* 27 */
44 OP_REGCMAYBE, /* 28 */
45 OP_REGCRESET, /* 29 */
46 OP_REGCOMP, /* 30 */
47 OP_MATCH, /* 31 */
48 OP_QR, /* 32 */
49 OP_SUBST, /* 33 */
50 OP_SUBSTCONT, /* 34 */
51 OP_TRANS, /* 35 */
52 OP_SASSIGN, /* 36 */
53 OP_AASSIGN, /* 37 */
54 OP_CHOP, /* 38 */
55 OP_SCHOP, /* 39 */
56 OP_CHOMP, /* 40 */
57 OP_SCHOMP, /* 41 */
58 OP_DEFINED, /* 42 */
59 OP_UNDEF, /* 43 */
60 OP_STUDY, /* 44 */
61 OP_POS, /* 45 */
62 OP_PREINC, /* 46 */
63 OP_I_PREINC, /* 47 */
64 OP_PREDEC, /* 48 */
65 OP_I_PREDEC, /* 49 */
66 OP_POSTINC, /* 50 */
67 OP_I_POSTINC, /* 51 */
68 OP_POSTDEC, /* 52 */
69 OP_I_POSTDEC, /* 53 */
70 OP_POW, /* 54 */
71 OP_MULTIPLY, /* 55 */
72 OP_I_MULTIPLY, /* 56 */
73 OP_DIVIDE, /* 57 */
74 OP_I_DIVIDE, /* 58 */
75 OP_MODULO, /* 59 */
76 OP_I_MODULO, /* 60 */
77 OP_REPEAT, /* 61 */
78 OP_ADD, /* 62 */
79 OP_I_ADD, /* 63 */
80 OP_SUBTRACT, /* 64 */
81 OP_I_SUBTRACT, /* 65 */
82 OP_CONCAT, /* 66 */
83 OP_STRINGIFY, /* 67 */
84 OP_LEFT_SHIFT, /* 68 */
85 OP_RIGHT_SHIFT, /* 69 */
86 OP_LT, /* 70 */
87 OP_I_LT, /* 71 */
88 OP_GT, /* 72 */
89 OP_I_GT, /* 73 */
90 OP_LE, /* 74 */
91 OP_I_LE, /* 75 */
92 OP_GE, /* 76 */
93 OP_I_GE, /* 77 */
94 OP_EQ, /* 78 */
95 OP_I_EQ, /* 79 */
96 OP_NE, /* 80 */
97 OP_I_NE, /* 81 */
98 OP_NCMP, /* 82 */
99 OP_I_NCMP, /* 83 */
100 OP_SLT, /* 84 */
101 OP_SGT, /* 85 */
102 OP_SLE, /* 86 */
103 OP_SGE, /* 87 */
104 OP_SEQ, /* 88 */
105 OP_SNE, /* 89 */
106 OP_SCMP, /* 90 */
107 OP_BIT_AND, /* 91 */
108 OP_BIT_XOR, /* 92 */
109 OP_BIT_OR, /* 93 */
110 OP_NEGATE, /* 94 */
111 OP_I_NEGATE, /* 95 */
112 OP_NOT, /* 96 */
113 OP_COMPLEMENT, /* 97 */
114 OP_ATAN2, /* 98 */
115 OP_SIN, /* 99 */
116 OP_COS, /* 100 */
117 OP_RAND, /* 101 */
118 OP_SRAND, /* 102 */
119 OP_EXP, /* 103 */
120 OP_LOG, /* 104 */
121 OP_SQRT, /* 105 */
122 OP_INT, /* 106 */
123 OP_HEX, /* 107 */
124 OP_OCT, /* 108 */
125 OP_ABS, /* 109 */
126 OP_LENGTH, /* 110 */
127 OP_SUBSTR, /* 111 */
128 OP_VEC, /* 112 */
129 OP_INDEX, /* 113 */
130 OP_RINDEX, /* 114 */
131 OP_SPRINTF, /* 115 */
132 OP_FORMLINE, /* 116 */
133 OP_ORD, /* 117 */
134 OP_CHR, /* 118 */
135 OP_CRYPT, /* 119 */
136 OP_UCFIRST, /* 120 */
137 OP_LCFIRST, /* 121 */
138 OP_UC, /* 122 */
139 OP_LC, /* 123 */
140 OP_QUOTEMETA, /* 124 */
141 OP_RV2AV, /* 125 */
142 OP_AELEMFAST, /* 126 */
143 OP_AELEM, /* 127 */
144 OP_ASLICE, /* 128 */
145 OP_EACH, /* 129 */
146 OP_VALUES, /* 130 */
147 OP_KEYS, /* 131 */
148 OP_DELETE, /* 132 */
149 OP_EXISTS, /* 133 */
150 OP_RV2HV, /* 134 */
151 OP_HELEM, /* 135 */
152 OP_HSLICE, /* 136 */
153 OP_UNPACK, /* 137 */
154 OP_PACK, /* 138 */
155 OP_SPLIT, /* 139 */
156 OP_JOIN, /* 140 */
157 OP_LIST, /* 141 */
158 OP_LSLICE, /* 142 */
159 OP_ANONLIST, /* 143 */
160 OP_ANONHASH, /* 144 */
161 OP_SPLICE, /* 145 */
162 OP_PUSH, /* 146 */
163 OP_POP, /* 147 */
164 OP_SHIFT, /* 148 */
165 OP_UNSHIFT, /* 149 */
166 OP_SORT, /* 150 */
167 OP_REVERSE, /* 151 */
168 OP_GREPSTART, /* 152 */
169 OP_GREPWHILE, /* 153 */
170 OP_MAPSTART, /* 154 */
171 OP_MAPWHILE, /* 155 */
172 OP_RANGE, /* 156 */
173 OP_FLIP, /* 157 */
174 OP_FLOP, /* 158 */
175 OP_AND, /* 159 */
176 OP_OR, /* 160 */
177 OP_XOR, /* 161 */
178 OP_COND_EXPR, /* 162 */
179 OP_ANDASSIGN, /* 163 */
180 OP_ORASSIGN, /* 164 */
181 OP_METHOD, /* 165 */
182 OP_ENTERSUB, /* 166 */
183 OP_LEAVESUB, /* 167 */
cd06dffe 184 OP_LEAVESUBLV, /* 168 */
185 OP_CALLER, /* 169 */
186 OP_WARN, /* 170 */
187 OP_DIE, /* 171 */
188 OP_RESET, /* 172 */
189 OP_LINESEQ, /* 173 */
190 OP_NEXTSTATE, /* 174 */
191 OP_DBSTATE, /* 175 */
192 OP_UNSTACK, /* 176 */
193 OP_ENTER, /* 177 */
194 OP_LEAVE, /* 178 */
195 OP_SCOPE, /* 179 */
196 OP_ENTERITER, /* 180 */
197 OP_ITER, /* 181 */
198 OP_ENTERLOOP, /* 182 */
199 OP_LEAVELOOP, /* 183 */
200 OP_RETURN, /* 184 */
201 OP_LAST, /* 185 */
202 OP_NEXT, /* 186 */
203 OP_REDO, /* 187 */
204 OP_DUMP, /* 188 */
205 OP_GOTO, /* 189 */
206 OP_EXIT, /* 190 */
207 OP_OPEN, /* 191 */
208 OP_CLOSE, /* 192 */
209 OP_PIPE_OP, /* 193 */
210 OP_FILENO, /* 194 */
211 OP_UMASK, /* 195 */
212 OP_BINMODE, /* 196 */
213 OP_TIE, /* 197 */
214 OP_UNTIE, /* 198 */
215 OP_TIED, /* 199 */
216 OP_DBMOPEN, /* 200 */
217 OP_DBMCLOSE, /* 201 */
218 OP_SSELECT, /* 202 */
219 OP_SELECT, /* 203 */
220 OP_GETC, /* 204 */
221 OP_READ, /* 205 */
222 OP_ENTERWRITE, /* 206 */
223 OP_LEAVEWRITE, /* 207 */
224 OP_PRTF, /* 208 */
225 OP_PRINT, /* 209 */
226 OP_SYSOPEN, /* 210 */
227 OP_SYSSEEK, /* 211 */
228 OP_SYSREAD, /* 212 */
229 OP_SYSWRITE, /* 213 */
230 OP_SEND, /* 214 */
231 OP_RECV, /* 215 */
232 OP_EOF, /* 216 */
233 OP_TELL, /* 217 */
234 OP_SEEK, /* 218 */
235 OP_TRUNCATE, /* 219 */
236 OP_FCNTL, /* 220 */
237 OP_IOCTL, /* 221 */
238 OP_FLOCK, /* 222 */
239 OP_SOCKET, /* 223 */
240 OP_SOCKPAIR, /* 224 */
241 OP_BIND, /* 225 */
242 OP_CONNECT, /* 226 */
243 OP_LISTEN, /* 227 */
244 OP_ACCEPT, /* 228 */
245 OP_SHUTDOWN, /* 229 */
246 OP_GSOCKOPT, /* 230 */
247 OP_SSOCKOPT, /* 231 */
248 OP_GETSOCKNAME, /* 232 */
249 OP_GETPEERNAME, /* 233 */
250 OP_LSTAT, /* 234 */
251 OP_STAT, /* 235 */
252 OP_FTRREAD, /* 236 */
253 OP_FTRWRITE, /* 237 */
254 OP_FTREXEC, /* 238 */
255 OP_FTEREAD, /* 239 */
256 OP_FTEWRITE, /* 240 */
257 OP_FTEEXEC, /* 241 */
258 OP_FTIS, /* 242 */
259 OP_FTEOWNED, /* 243 */
260 OP_FTROWNED, /* 244 */
261 OP_FTZERO, /* 245 */
262 OP_FTSIZE, /* 246 */
263 OP_FTMTIME, /* 247 */
264 OP_FTATIME, /* 248 */
265 OP_FTCTIME, /* 249 */
266 OP_FTSOCK, /* 250 */
267 OP_FTCHR, /* 251 */
268 OP_FTBLK, /* 252 */
269 OP_FTFILE, /* 253 */
270 OP_FTDIR, /* 254 */
271 OP_FTPIPE, /* 255 */
272 OP_FTLINK, /* 256 */
273 OP_FTSUID, /* 257 */
274 OP_FTSGID, /* 258 */
275 OP_FTSVTX, /* 259 */
276 OP_FTTTY, /* 260 */
277 OP_FTTEXT, /* 261 */
278 OP_FTBINARY, /* 262 */
279 OP_CHDIR, /* 263 */
280 OP_CHOWN, /* 264 */
281 OP_CHROOT, /* 265 */
282 OP_UNLINK, /* 266 */
283 OP_CHMOD, /* 267 */
284 OP_UTIME, /* 268 */
285 OP_RENAME, /* 269 */
286 OP_LINK, /* 270 */
287 OP_SYMLINK, /* 271 */
288 OP_READLINK, /* 272 */
289 OP_MKDIR, /* 273 */
290 OP_RMDIR, /* 274 */
291 OP_OPEN_DIR, /* 275 */
292 OP_READDIR, /* 276 */
293 OP_TELLDIR, /* 277 */
294 OP_SEEKDIR, /* 278 */
295 OP_REWINDDIR, /* 279 */
296 OP_CLOSEDIR, /* 280 */
297 OP_FORK, /* 281 */
298 OP_WAIT, /* 282 */
299 OP_WAITPID, /* 283 */
300 OP_SYSTEM, /* 284 */
301 OP_EXEC, /* 285 */
302 OP_KILL, /* 286 */
303 OP_GETPPID, /* 287 */
304 OP_GETPGRP, /* 288 */
305 OP_SETPGRP, /* 289 */
306 OP_GETPRIORITY, /* 290 */
307 OP_SETPRIORITY, /* 291 */
308 OP_TIME, /* 292 */
309 OP_TMS, /* 293 */
310 OP_LOCALTIME, /* 294 */
311 OP_GMTIME, /* 295 */
312 OP_ALARM, /* 296 */
313 OP_SLEEP, /* 297 */
314 OP_SHMGET, /* 298 */
315 OP_SHMCTL, /* 299 */
316 OP_SHMREAD, /* 300 */
317 OP_SHMWRITE, /* 301 */
318 OP_MSGGET, /* 302 */
319 OP_MSGCTL, /* 303 */
320 OP_MSGSND, /* 304 */
321 OP_MSGRCV, /* 305 */
322 OP_SEMGET, /* 306 */
323 OP_SEMCTL, /* 307 */
324 OP_SEMOP, /* 308 */
325 OP_REQUIRE, /* 309 */
326 OP_DOFILE, /* 310 */
327 OP_ENTEREVAL, /* 311 */
328 OP_LEAVEEVAL, /* 312 */
329 OP_ENTERTRY, /* 313 */
330 OP_LEAVETRY, /* 314 */
331 OP_GHBYNAME, /* 315 */
332 OP_GHBYADDR, /* 316 */
333 OP_GHOSTENT, /* 317 */
334 OP_GNBYNAME, /* 318 */
335 OP_GNBYADDR, /* 319 */
336 OP_GNETENT, /* 320 */
337 OP_GPBYNAME, /* 321 */
338 OP_GPBYNUMBER, /* 322 */
339 OP_GPROTOENT, /* 323 */
340 OP_GSBYNAME, /* 324 */
341 OP_GSBYPORT, /* 325 */
342 OP_GSERVENT, /* 326 */
343 OP_SHOSTENT, /* 327 */
344 OP_SNETENT, /* 328 */
345 OP_SPROTOENT, /* 329 */
346 OP_SSERVENT, /* 330 */
347 OP_EHOSTENT, /* 331 */
348 OP_ENETENT, /* 332 */
349 OP_EPROTOENT, /* 333 */
350 OP_ESERVENT, /* 334 */
351 OP_GPWNAM, /* 335 */
352 OP_GPWUID, /* 336 */
353 OP_GPWENT, /* 337 */
354 OP_SPWENT, /* 338 */
355 OP_EPWENT, /* 339 */
356 OP_GGRNAM, /* 340 */
357 OP_GGRGID, /* 341 */
358 OP_GGRENT, /* 342 */
359 OP_SGRENT, /* 343 */
360 OP_EGRENT, /* 344 */
361 OP_GETLOGIN, /* 345 */
362 OP_SYSCALL, /* 346 */
363 OP_LOCK, /* 347 */
364 OP_THREADSV, /* 348 */
365 OP_SETSTATE, /* 349 */
366 OP_METHOD_NAMED,/* 350 */
c963b151 367 OP_DOR, /* 351 */
368 OP_DORASSIGN, /* 352 */
369 OP_CUSTOM, /* 353 */
abdd5c84 370 OP_max
371} opcode;
372
c963b151 373#define MAXO 354
4c80c0b2 374#define OP_phoney_INPUT_ONLY -1
375#define OP_phoney_OUTPUT_ONLY -2
abdd5c84 376
a85d93d9 377
378#define OP_IS_SOCKET(op) \
379 ((op) == OP_ACCEPT || \
380 (op) == OP_BIND || \
381 (op) == OP_CONNECT || \
382 (op) == OP_GETPEERNAME || \
383 (op) == OP_GETSOCKNAME || \
384 (op) == OP_GSOCKOPT || \
385 (op) == OP_LISTEN || \
386 (op) == OP_RECV || \
387 (op) == OP_SEND || \
388 (op) == OP_SHUTDOWN || \
389 (op) == OP_SOCKET || \
390 (op) == OP_SOCKPAIR || \
391 (op) == OP_SSOCKOPT)
392
393
394#define OP_IS_FILETEST(op) \
395 ((op) == OP_FTATIME || \
396 (op) == OP_FTBINARY || \
397 (op) == OP_FTBLK || \
398 (op) == OP_FTCHR || \
399 (op) == OP_FTCTIME || \
400 (op) == OP_FTDIR || \
401 (op) == OP_FTEEXEC || \
402 (op) == OP_FTEOWNED || \
403 (op) == OP_FTEREAD || \
404 (op) == OP_FTEWRITE || \
405 (op) == OP_FTFILE || \
406 (op) == OP_FTIS || \
407 (op) == OP_FTLINK || \
408 (op) == OP_FTMTIME || \
409 (op) == OP_FTPIPE || \
410 (op) == OP_FTREXEC || \
411 (op) == OP_FTROWNED || \
412 (op) == OP_FTRREAD || \
413 (op) == OP_FTRWRITE || \
414 (op) == OP_FTSGID || \
415 (op) == OP_FTSIZE || \
416 (op) == OP_FTSOCK || \
417 (op) == OP_FTSUID || \
418 (op) == OP_FTSVTX || \
419 (op) == OP_FTTEXT || \
420 (op) == OP_FTTTY || \
421 (op) == OP_FTZERO)
422