X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/abdd5c84f1a598169caec84a2fd2acc62163ef45..713cef20be507239588df9cdc5f99ce04b7e0b40:/opnames.h diff --git a/opnames.h b/opnames.h index 417d74d..fa521a4 100644 --- a/opnames.h +++ b/opnames.h @@ -1,7 +1,18 @@ -/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - This file is built by opcode.pl from its data. Any changes made here - will be lost! -*/ +/* -*- buffer-read-only: t -*- + * + * opnames.h + * + * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + * by Larry Wall and others + * + * You may distribute under the terms of either the GNU General Public + * License or the Artistic License, as specified in the README file. + * + * + * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! + * This file is built by opcode.pl from its data. Any changes made here + * will be lost! + */ typedef enum opcode { OP_NULL, /* 0 */ @@ -172,190 +183,251 @@ typedef enum opcode { OP_METHOD, /* 165 */ OP_ENTERSUB, /* 166 */ OP_LEAVESUB, /* 167 */ - OP_CALLER, /* 168 */ - OP_WARN, /* 169 */ - OP_DIE, /* 170 */ - OP_RESET, /* 171 */ - OP_LINESEQ, /* 172 */ - OP_NEXTSTATE, /* 173 */ - OP_DBSTATE, /* 174 */ - OP_UNSTACK, /* 175 */ - OP_ENTER, /* 176 */ - OP_LEAVE, /* 177 */ - OP_SCOPE, /* 178 */ - OP_ENTERITER, /* 179 */ - OP_ITER, /* 180 */ - OP_ENTERLOOP, /* 181 */ - OP_LEAVELOOP, /* 182 */ - OP_RETURN, /* 183 */ - OP_LAST, /* 184 */ - OP_NEXT, /* 185 */ - OP_REDO, /* 186 */ - OP_DUMP, /* 187 */ - OP_GOTO, /* 188 */ - OP_EXIT, /* 189 */ - OP_OPEN, /* 190 */ - OP_CLOSE, /* 191 */ - OP_PIPE_OP, /* 192 */ - OP_FILENO, /* 193 */ - OP_UMASK, /* 194 */ - OP_BINMODE, /* 195 */ - OP_TIE, /* 196 */ - OP_UNTIE, /* 197 */ - OP_TIED, /* 198 */ - OP_DBMOPEN, /* 199 */ - OP_DBMCLOSE, /* 200 */ - OP_SSELECT, /* 201 */ - OP_SELECT, /* 202 */ - OP_GETC, /* 203 */ - OP_READ, /* 204 */ - OP_ENTERWRITE, /* 205 */ - OP_LEAVEWRITE, /* 206 */ - OP_PRTF, /* 207 */ - OP_PRINT, /* 208 */ - OP_SYSOPEN, /* 209 */ - OP_SYSSEEK, /* 210 */ - OP_SYSREAD, /* 211 */ - OP_SYSWRITE, /* 212 */ - OP_SEND, /* 213 */ - OP_RECV, /* 214 */ - OP_EOF, /* 215 */ - OP_TELL, /* 216 */ - OP_SEEK, /* 217 */ - OP_TRUNCATE, /* 218 */ - OP_FCNTL, /* 219 */ - OP_IOCTL, /* 220 */ - OP_FLOCK, /* 221 */ - OP_SOCKET, /* 222 */ - OP_SOCKPAIR, /* 223 */ - OP_BIND, /* 224 */ - OP_CONNECT, /* 225 */ - OP_LISTEN, /* 226 */ - OP_ACCEPT, /* 227 */ - OP_SHUTDOWN, /* 228 */ - OP_GSOCKOPT, /* 229 */ - OP_SSOCKOPT, /* 230 */ - OP_GETSOCKNAME, /* 231 */ - OP_GETPEERNAME, /* 232 */ - OP_LSTAT, /* 233 */ - OP_STAT, /* 234 */ - OP_FTRREAD, /* 235 */ - OP_FTRWRITE, /* 236 */ - OP_FTREXEC, /* 237 */ - OP_FTEREAD, /* 238 */ - OP_FTEWRITE, /* 239 */ - OP_FTEEXEC, /* 240 */ - OP_FTIS, /* 241 */ - OP_FTEOWNED, /* 242 */ - OP_FTROWNED, /* 243 */ - OP_FTZERO, /* 244 */ - OP_FTSIZE, /* 245 */ - OP_FTMTIME, /* 246 */ - OP_FTATIME, /* 247 */ - OP_FTCTIME, /* 248 */ - OP_FTSOCK, /* 249 */ - OP_FTCHR, /* 250 */ - OP_FTBLK, /* 251 */ - OP_FTFILE, /* 252 */ - OP_FTDIR, /* 253 */ - OP_FTPIPE, /* 254 */ - OP_FTLINK, /* 255 */ + OP_LEAVESUBLV, /* 168 */ + OP_CALLER, /* 169 */ + OP_WARN, /* 170 */ + OP_DIE, /* 171 */ + OP_RESET, /* 172 */ + OP_LINESEQ, /* 173 */ + OP_NEXTSTATE, /* 174 */ + OP_DBSTATE, /* 175 */ + OP_UNSTACK, /* 176 */ + OP_ENTER, /* 177 */ + OP_LEAVE, /* 178 */ + OP_SCOPE, /* 179 */ + OP_ENTERITER, /* 180 */ + OP_ITER, /* 181 */ + OP_ENTERLOOP, /* 182 */ + OP_LEAVELOOP, /* 183 */ + OP_RETURN, /* 184 */ + OP_LAST, /* 185 */ + OP_NEXT, /* 186 */ + OP_REDO, /* 187 */ + OP_DUMP, /* 188 */ + OP_GOTO, /* 189 */ + OP_EXIT, /* 190 */ + OP_OPEN, /* 191 */ + OP_CLOSE, /* 192 */ + OP_PIPE_OP, /* 193 */ + OP_FILENO, /* 194 */ + OP_UMASK, /* 195 */ + OP_BINMODE, /* 196 */ + OP_TIE, /* 197 */ + OP_UNTIE, /* 198 */ + OP_TIED, /* 199 */ + OP_DBMOPEN, /* 200 */ + OP_DBMCLOSE, /* 201 */ + OP_SSELECT, /* 202 */ + OP_SELECT, /* 203 */ + OP_GETC, /* 204 */ + OP_READ, /* 205 */ + OP_ENTERWRITE, /* 206 */ + OP_LEAVEWRITE, /* 207 */ + OP_PRTF, /* 208 */ + OP_PRINT, /* 209 */ + OP_SYSOPEN, /* 210 */ + OP_SYSSEEK, /* 211 */ + OP_SYSREAD, /* 212 */ + OP_SYSWRITE, /* 213 */ + OP_SEND, /* 214 */ + OP_RECV, /* 215 */ + OP_EOF, /* 216 */ + OP_TELL, /* 217 */ + OP_SEEK, /* 218 */ + OP_TRUNCATE, /* 219 */ + OP_FCNTL, /* 220 */ + OP_IOCTL, /* 221 */ + OP_FLOCK, /* 222 */ + OP_SOCKET, /* 223 */ + OP_SOCKPAIR, /* 224 */ + OP_BIND, /* 225 */ + OP_CONNECT, /* 226 */ + OP_LISTEN, /* 227 */ + OP_ACCEPT, /* 228 */ + OP_SHUTDOWN, /* 229 */ + OP_GSOCKOPT, /* 230 */ + OP_SSOCKOPT, /* 231 */ + OP_GETSOCKNAME, /* 232 */ + OP_GETPEERNAME, /* 233 */ + OP_LSTAT, /* 234 */ + OP_STAT, /* 235 */ + OP_FTRREAD, /* 236 */ + OP_FTRWRITE, /* 237 */ + OP_FTREXEC, /* 238 */ + OP_FTEREAD, /* 239 */ + OP_FTEWRITE, /* 240 */ + OP_FTEEXEC, /* 241 */ + OP_FTIS, /* 242 */ + OP_FTSIZE, /* 243 */ + OP_FTMTIME, /* 244 */ + OP_FTATIME, /* 245 */ + OP_FTCTIME, /* 246 */ + OP_FTROWNED, /* 247 */ + OP_FTEOWNED, /* 248 */ + OP_FTZERO, /* 249 */ + OP_FTSOCK, /* 250 */ + OP_FTCHR, /* 251 */ + OP_FTBLK, /* 252 */ + OP_FTFILE, /* 253 */ + OP_FTDIR, /* 254 */ + OP_FTPIPE, /* 255 */ OP_FTSUID, /* 256 */ OP_FTSGID, /* 257 */ OP_FTSVTX, /* 258 */ - OP_FTTTY, /* 259 */ - OP_FTTEXT, /* 260 */ - OP_FTBINARY, /* 261 */ - OP_CHDIR, /* 262 */ - OP_CHOWN, /* 263 */ - OP_CHROOT, /* 264 */ - OP_UNLINK, /* 265 */ - OP_CHMOD, /* 266 */ - OP_UTIME, /* 267 */ - OP_RENAME, /* 268 */ - OP_LINK, /* 269 */ - OP_SYMLINK, /* 270 */ - OP_READLINK, /* 271 */ - OP_MKDIR, /* 272 */ - OP_RMDIR, /* 273 */ - OP_OPEN_DIR, /* 274 */ - OP_READDIR, /* 275 */ - OP_TELLDIR, /* 276 */ - OP_SEEKDIR, /* 277 */ - OP_REWINDDIR, /* 278 */ - OP_CLOSEDIR, /* 279 */ - OP_FORK, /* 280 */ - OP_WAIT, /* 281 */ - OP_WAITPID, /* 282 */ - OP_SYSTEM, /* 283 */ - OP_EXEC, /* 284 */ - OP_KILL, /* 285 */ - OP_GETPPID, /* 286 */ - OP_GETPGRP, /* 287 */ - OP_SETPGRP, /* 288 */ - OP_GETPRIORITY, /* 289 */ - OP_SETPRIORITY, /* 290 */ - OP_TIME, /* 291 */ - OP_TMS, /* 292 */ - OP_LOCALTIME, /* 293 */ - OP_GMTIME, /* 294 */ - OP_ALARM, /* 295 */ - OP_SLEEP, /* 296 */ - OP_SHMGET, /* 297 */ - OP_SHMCTL, /* 298 */ - OP_SHMREAD, /* 299 */ - OP_SHMWRITE, /* 300 */ - OP_MSGGET, /* 301 */ - OP_MSGCTL, /* 302 */ - OP_MSGSND, /* 303 */ - OP_MSGRCV, /* 304 */ - OP_SEMGET, /* 305 */ - OP_SEMCTL, /* 306 */ - OP_SEMOP, /* 307 */ - OP_REQUIRE, /* 308 */ - OP_DOFILE, /* 309 */ - OP_ENTEREVAL, /* 310 */ - OP_LEAVEEVAL, /* 311 */ - OP_ENTERTRY, /* 312 */ - OP_LEAVETRY, /* 313 */ - OP_GHBYNAME, /* 314 */ - OP_GHBYADDR, /* 315 */ - OP_GHOSTENT, /* 316 */ - OP_GNBYNAME, /* 317 */ - OP_GNBYADDR, /* 318 */ - OP_GNETENT, /* 319 */ - OP_GPBYNAME, /* 320 */ - OP_GPBYNUMBER, /* 321 */ - OP_GPROTOENT, /* 322 */ - OP_GSBYNAME, /* 323 */ - OP_GSBYPORT, /* 324 */ - OP_GSERVENT, /* 325 */ - OP_SHOSTENT, /* 326 */ - OP_SNETENT, /* 327 */ - OP_SPROTOENT, /* 328 */ - OP_SSERVENT, /* 329 */ - OP_EHOSTENT, /* 330 */ - OP_ENETENT, /* 331 */ - OP_EPROTOENT, /* 332 */ - OP_ESERVENT, /* 333 */ - OP_GPWNAM, /* 334 */ - OP_GPWUID, /* 335 */ - OP_GPWENT, /* 336 */ - OP_SPWENT, /* 337 */ - OP_EPWENT, /* 338 */ - OP_GGRNAM, /* 339 */ - OP_GGRGID, /* 340 */ - OP_GGRENT, /* 341 */ - OP_SGRENT, /* 342 */ - OP_EGRENT, /* 343 */ - OP_GETLOGIN, /* 344 */ - OP_SYSCALL, /* 345 */ - OP_LOCK, /* 346 */ - OP_THREADSV, /* 347 */ - OP_SETSTATE, /* 348 */ - OP_METHOD_NAMED,/* 349 */ + OP_FTLINK, /* 259 */ + OP_FTTTY, /* 260 */ + OP_FTTEXT, /* 261 */ + OP_FTBINARY, /* 262 */ + OP_CHDIR, /* 263 */ + OP_CHOWN, /* 264 */ + OP_CHROOT, /* 265 */ + OP_UNLINK, /* 266 */ + OP_CHMOD, /* 267 */ + OP_UTIME, /* 268 */ + OP_RENAME, /* 269 */ + OP_LINK, /* 270 */ + OP_SYMLINK, /* 271 */ + OP_READLINK, /* 272 */ + OP_MKDIR, /* 273 */ + OP_RMDIR, /* 274 */ + OP_OPEN_DIR, /* 275 */ + OP_READDIR, /* 276 */ + OP_TELLDIR, /* 277 */ + OP_SEEKDIR, /* 278 */ + OP_REWINDDIR, /* 279 */ + OP_CLOSEDIR, /* 280 */ + OP_FORK, /* 281 */ + OP_WAIT, /* 282 */ + OP_WAITPID, /* 283 */ + OP_SYSTEM, /* 284 */ + OP_EXEC, /* 285 */ + OP_KILL, /* 286 */ + OP_GETPPID, /* 287 */ + OP_GETPGRP, /* 288 */ + OP_SETPGRP, /* 289 */ + OP_GETPRIORITY, /* 290 */ + OP_SETPRIORITY, /* 291 */ + OP_TIME, /* 292 */ + OP_TMS, /* 293 */ + OP_LOCALTIME, /* 294 */ + OP_GMTIME, /* 295 */ + OP_ALARM, /* 296 */ + OP_SLEEP, /* 297 */ + OP_SHMGET, /* 298 */ + OP_SHMCTL, /* 299 */ + OP_SHMREAD, /* 300 */ + OP_SHMWRITE, /* 301 */ + OP_MSGGET, /* 302 */ + OP_MSGCTL, /* 303 */ + OP_MSGSND, /* 304 */ + OP_MSGRCV, /* 305 */ + OP_SEMOP, /* 306 */ + OP_SEMGET, /* 307 */ + OP_SEMCTL, /* 308 */ + OP_REQUIRE, /* 309 */ + OP_DOFILE, /* 310 */ + OP_ENTEREVAL, /* 311 */ + OP_LEAVEEVAL, /* 312 */ + OP_ENTERTRY, /* 313 */ + OP_LEAVETRY, /* 314 */ + OP_GHBYNAME, /* 315 */ + OP_GHBYADDR, /* 316 */ + OP_GHOSTENT, /* 317 */ + OP_GNBYNAME, /* 318 */ + OP_GNBYADDR, /* 319 */ + OP_GNETENT, /* 320 */ + OP_GPBYNAME, /* 321 */ + OP_GPBYNUMBER, /* 322 */ + OP_GPROTOENT, /* 323 */ + OP_GSBYNAME, /* 324 */ + OP_GSBYPORT, /* 325 */ + OP_GSERVENT, /* 326 */ + OP_SHOSTENT, /* 327 */ + OP_SNETENT, /* 328 */ + OP_SPROTOENT, /* 329 */ + OP_SSERVENT, /* 330 */ + OP_EHOSTENT, /* 331 */ + OP_ENETENT, /* 332 */ + OP_EPROTOENT, /* 333 */ + OP_ESERVENT, /* 334 */ + OP_GPWNAM, /* 335 */ + OP_GPWUID, /* 336 */ + OP_GPWENT, /* 337 */ + OP_SPWENT, /* 338 */ + OP_EPWENT, /* 339 */ + OP_GGRNAM, /* 340 */ + OP_GGRGID, /* 341 */ + OP_GGRENT, /* 342 */ + OP_SGRENT, /* 343 */ + OP_EGRENT, /* 344 */ + OP_GETLOGIN, /* 345 */ + OP_SYSCALL, /* 346 */ + OP_LOCK, /* 347 */ + OP_THREADSV, /* 348 */ + OP_SETSTATE, /* 349 */ + OP_METHOD_NAMED,/* 350 */ + OP_DOR, /* 351 */ + OP_DORASSIGN, /* 352 */ + OP_ENTERGIVEN, /* 353 */ + OP_LEAVEGIVEN, /* 354 */ + OP_ENTERWHEN, /* 355 */ + OP_LEAVEWHEN, /* 356 */ + OP_BREAK, /* 357 */ + OP_CONTINUE, /* 358 */ + OP_SMARTMATCH, /* 359 */ + OP_SAY, /* 360 */ + OP_CUSTOM, /* 361 */ OP_max } opcode; -#define MAXO 350 +#define MAXO 362 +#define OP_phoney_INPUT_ONLY -1 +#define OP_phoney_OUTPUT_ONLY -2 + +#define OP_IS_SOCKET(op) \ + ((op) == OP_ACCEPT || \ + (op) == OP_BIND || \ + (op) == OP_CONNECT || \ + (op) == OP_GETPEERNAME || \ + (op) == OP_GETSOCKNAME || \ + (op) == OP_GSOCKOPT || \ + (op) == OP_LISTEN || \ + (op) == OP_RECV || \ + (op) == OP_SEND || \ + (op) == OP_SHUTDOWN || \ + (op) == OP_SOCKET || \ + (op) == OP_SOCKPAIR || \ + (op) == OP_SSOCKOPT) + + +#define OP_IS_FILETEST(op) \ + ((op) == OP_FTATIME || \ + (op) == OP_FTBINARY || \ + (op) == OP_FTBLK || \ + (op) == OP_FTCHR || \ + (op) == OP_FTCTIME || \ + (op) == OP_FTDIR || \ + (op) == OP_FTEEXEC || \ + (op) == OP_FTEOWNED || \ + (op) == OP_FTEREAD || \ + (op) == OP_FTEWRITE || \ + (op) == OP_FTFILE || \ + (op) == OP_FTIS || \ + (op) == OP_FTLINK || \ + (op) == OP_FTMTIME || \ + (op) == OP_FTPIPE || \ + (op) == OP_FTREXEC || \ + (op) == OP_FTROWNED || \ + (op) == OP_FTRREAD || \ + (op) == OP_FTRWRITE || \ + (op) == OP_FTSGID || \ + (op) == OP_FTSIZE || \ + (op) == OP_FTSOCK || \ + (op) == OP_FTSUID || \ + (op) == OP_FTSVTX || \ + (op) == OP_FTTEXT || \ + (op) == OP_FTTTY || \ + (op) == OP_FTZERO) + +/* ex: set ro: */