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