diff options
Diffstat (limited to 'arg.h')
-rw-r--r-- | arg.h | 991 |
1 files changed, 0 insertions, 991 deletions
diff --git a/arg.h b/arg.h deleted file mode 100644 index cbcf4ebf07..0000000000 --- a/arg.h +++ /dev/null @@ -1,991 +0,0 @@ -/* $RCSfile: arg.h,v $$Revision: 4.0.1.3 $$Date: 92/06/08 11:44:06 $ - * - * Copyright (c) 1991, Larry Wall - * - * You may distribute under the terms of either the GNU General Public - * License or the Artistic License, as specified in the README file. - * - * $Log: arg.h,v $ - * Revision 4.0.1.3 92/06/08 11:44:06 lwall - * patch20: O_PIPE conflicted with Atari - * patch20: clarified debugging output for literals and double-quoted strings - * - * Revision 4.0.1.2 91/11/05 15:51:05 lwall - * patch11: added eval {} - * patch11: added sort {} LIST - * - * Revision 4.0.1.1 91/06/07 10:18:30 lwall - * patch4: length($`), length($&), length($') now optimized to avoid string copy - * patch4: new copyright notice - * patch4: many, many itty-bitty portability fixes - * - * Revision 4.0 91/03/20 01:03:09 lwall - * 4.0 baseline. - * - */ - -#define O_NULL 0 -#define O_RCAT 1 -#define O_ITEM 2 -#define O_SCALAR 3 -#define O_ITEM2 4 -#define O_ITEM3 5 -#define O_CONCAT 6 -#define O_REPEAT 7 -#define O_MATCH 8 -#define O_NMATCH 9 -#define O_SUBST 10 -#define O_NSUBST 11 -#define O_ASSIGN 12 -#define O_LOCAL 13 -#define O_AASSIGN 14 -#define O_SASSIGN 15 -#define O_CHOP 16 -#define O_DEFINED 17 -#define O_UNDEF 18 -#define O_STUDY 19 -#define O_POW 20 -#define O_MULTIPLY 21 -#define O_DIVIDE 22 -#define O_MODULO 23 -#define O_ADD 24 -#define O_SUBTRACT 25 -#define O_LEFT_SHIFT 26 -#define O_RIGHT_SHIFT 27 -#define O_LT 28 -#define O_GT 29 -#define O_LE 30 -#define O_GE 31 -#define O_EQ 32 -#define O_NE 33 -#define O_NCMP 34 -#define O_BIT_AND 35 -#define O_XOR 36 -#define O_BIT_OR 37 -#define O_AND 38 -#define O_OR 39 -#define O_COND_EXPR 40 -#define O_COMMA 41 -#define O_NEGATE 42 -#define O_NOT 43 -#define O_COMPLEMENT 44 -#define O_SELECT 45 -#define O_WRITE 46 -#define O_DBMOPEN 47 -#define O_DBMCLOSE 48 -#define O_OPEN 49 -#define O_TRANS 50 -#define O_NTRANS 51 -#define O_CLOSE 52 -#define O_EACH 53 -#define O_VALUES 54 -#define O_KEYS 55 -#define O_LARRAY 56 -#define O_ARRAY 57 -#define O_AELEM 58 -#define O_DELETE 59 -#define O_LHASH 60 -#define O_HASH 61 -#define O_HELEM 62 -#define O_LAELEM 63 -#define O_LHELEM 64 -#define O_LSLICE 65 -#define O_ASLICE 66 -#define O_HSLICE 67 -#define O_LASLICE 68 -#define O_LHSLICE 69 -#define O_SPLICE 70 -#define O_PUSH 71 -#define O_POP 72 -#define O_SHIFT 73 -#define O_UNPACK 74 -#define O_SPLIT 75 -#define O_LENGTH 76 -#define O_SPRINTF 77 -#define O_SUBSTR 78 -#define O_PACK 79 -#define O_GREP 80 -#define O_JOIN 81 -#define O_SLT 82 -#define O_SGT 83 -#define O_SLE 84 -#define O_SGE 85 -#define O_SEQ 86 -#define O_SNE 87 -#define O_SCMP 88 -#define O_SUBR 89 -#define O_DBSUBR 90 -#define O_CALLER 91 -#define O_SORT 92 -#define O_REVERSE 93 -#define O_WARN 94 -#define O_DIE 95 -#define O_PRTF 96 -#define O_PRINT 97 -#define O_CHDIR 98 -#define O_EXIT 99 -#define O_RESET 100 -#define O_LIST 101 -#define O_EOF 102 -#define O_GETC 103 -#define O_TELL 104 -#define O_RECV 105 -#define O_READ 106 -#define O_SYSREAD 107 -#define O_SYSWRITE 108 -#define O_SEND 109 -#define O_SEEK 110 -#define O_RETURN 111 -#define O_REDO 112 -#define O_NEXT 113 -#define O_LAST 114 -#define O_DUMP 115 -#define O_GOTO 116 -#define O_INDEX 117 -#define O_RINDEX 118 -#define O_TIME 119 -#define O_TMS 120 -#define O_LOCALTIME 121 -#define O_GMTIME 122 -#define O_TRUNCATE 123 -#define O_LSTAT 124 -#define O_STAT 125 -#define O_CRYPT 126 -#define O_ATAN2 127 -#define O_SIN 128 -#define O_COS 129 -#define O_RAND 130 -#define O_SRAND 131 -#define O_EXP 132 -#define O_LOG 133 -#define O_SQRT 134 -#define O_INT 135 -#define O_ORD 136 -#define O_ALARM 137 -#define O_SLEEP 138 -#define O_RANGE 139 -#define O_F_OR_R 140 -#define O_FLIP 141 -#define O_FLOP 142 -#define O_FORK 143 -#define O_WAIT 144 -#define O_WAITPID 145 -#define O_SYSTEM 146 -#define O_EXEC_OP 147 -#define O_HEX 148 -#define O_OCT 149 -#define O_CHOWN 150 -#define O_KILL 151 -#define O_UNLINK 152 -#define O_CHMOD 153 -#define O_UTIME 154 -#define O_UMASK 155 -#define O_MSGGET 156 -#define O_SHMGET 157 -#define O_SEMGET 158 -#define O_MSGCTL 159 -#define O_SHMCTL 160 -#define O_SEMCTL 161 -#define O_MSGSND 162 -#define O_MSGRCV 163 -#define O_SEMOP 164 -#define O_SHMREAD 165 -#define O_SHMWRITE 166 -#define O_RENAME 167 -#define O_LINK 168 -#define O_MKDIR 169 -#define O_RMDIR 170 -#define O_GETPPID 171 -#define O_GETPGRP 172 -#define O_SETPGRP 173 -#define O_GETPRIORITY 174 -#define O_SETPRIORITY 175 -#define O_CHROOT 176 -#define O_FCNTL 177 -#define O_IOCTL 178 -#define O_FLOCK 179 -#define O_UNSHIFT 180 -#define O_REQUIRE 181 -#define O_DOFILE 182 -#define O_EVAL 183 -#define O_FTRREAD 184 -#define O_FTRWRITE 185 -#define O_FTREXEC 186 -#define O_FTEREAD 187 -#define O_FTEWRITE 188 -#define O_FTEEXEC 189 -#define O_FTIS 190 -#define O_FTEOWNED 191 -#define O_FTROWNED 192 -#define O_FTZERO 193 -#define O_FTSIZE 194 -#define O_FTMTIME 195 -#define O_FTATIME 196 -#define O_FTCTIME 197 -#define O_FTSOCK 198 -#define O_FTCHR 199 -#define O_FTBLK 200 -#define O_FTFILE 201 -#define O_FTDIR 202 -#define O_FTPIPE 203 -#define O_FTLINK 204 -#define O_SYMLINK 205 -#define O_READLINK 206 -#define O_FTSUID 207 -#define O_FTSGID 208 -#define O_FTSVTX 209 -#define O_FTTTY 210 -#define O_FTTEXT 211 -#define O_FTBINARY 212 -#define O_SOCKET 213 -#define O_BIND 214 -#define O_CONNECT 215 -#define O_LISTEN 216 -#define O_ACCEPT 217 -#define O_GHBYNAME 218 -#define O_GHBYADDR 219 -#define O_GHOSTENT 220 -#define O_GNBYNAME 221 -#define O_GNBYADDR 222 -#define O_GNETENT 223 -#define O_GPBYNAME 224 -#define O_GPBYNUMBER 225 -#define O_GPROTOENT 226 -#define O_GSBYNAME 227 -#define O_GSBYPORT 228 -#define O_GSERVENT 229 -#define O_SHOSTENT 230 -#define O_SNETENT 231 -#define O_SPROTOENT 232 -#define O_SSERVENT 233 -#define O_EHOSTENT 234 -#define O_ENETENT 235 -#define O_EPROTOENT 236 -#define O_ESERVENT 237 -#define O_SOCKPAIR 238 -#define O_SHUTDOWN 239 -#define O_GSOCKOPT 240 -#define O_SSOCKOPT 241 -#define O_GETSOCKNAME 242 -#define O_GETPEERNAME 243 -#define O_SSELECT 244 -#define O_FILENO 245 -#define O_BINMODE 246 -#define O_VEC 247 -#define O_GPWNAM 248 -#define O_GPWUID 249 -#define O_GPWENT 250 -#define O_SPWENT 251 -#define O_EPWENT 252 -#define O_GGRNAM 253 -#define O_GGRGID 254 -#define O_GGRENT 255 -#define O_SGRENT 256 -#define O_EGRENT 257 -#define O_GETLOGIN 258 -#define O_OPEN_DIR 259 -#define O_READDIR 260 -#define O_TELLDIR 261 -#define O_SEEKDIR 262 -#define O_REWINDDIR 263 -#define O_CLOSEDIR 264 -#define O_SYSCALL 265 -#define O_PIPE_OP 266 -#define O_TRY 267 -#define O_EVALONCE 268 -#define MAXO 269 - -#ifndef DOINIT -extern char *opname[]; -#else -char *opname[] = { - "NULL", - "RCAT", - "ITEM", - "SCALAR", - "ITEM2", - "ITEM3", - "CONCAT", - "REPEAT", - "MATCH", - "NMATCH", - "SUBST", - "NSUBST", - "ASSIGN", - "LOCAL", - "AASSIGN", - "SASSIGN", - "CHOP", - "DEFINED", - "UNDEF", - "STUDY", - "POW", - "MULTIPLY", - "DIVIDE", - "MODULO", - "ADD", - "SUBTRACT", - "LEFT_SHIFT", - "RIGHT_SHIFT", - "LT", - "GT", - "LE", - "GE", - "EQ", - "NE", - "NCMP", - "BIT_AND", - "XOR", - "BIT_OR", - "AND", - "OR", - "COND_EXPR", - "COMMA", - "NEGATE", - "NOT", - "COMPLEMENT", - "SELECT", - "WRITE", - "DBMOPEN", - "DBMCLOSE", - "OPEN", - "TRANS", - "NTRANS", - "CLOSE", - "EACH", - "VALUES", - "KEYS", - "LARRAY", - "ARRAY", - "AELEM", - "DELETE", - "LHASH", - "HASH", - "HELEM", - "LAELEM", - "LHELEM", - "LSLICE", - "ASLICE", - "HSLICE", - "LASLICE", - "LHSLICE", - "SPLICE", - "PUSH", - "POP", - "SHIFT", - "UNPACK", - "SPLIT", - "LENGTH", - "SPRINTF", - "SUBSTR", - "PACK", - "GREP", - "JOIN", - "SLT", - "SGT", - "SLE", - "SGE", - "SEQ", - "SNE", - "SCMP", - "SUBR", - "DBSUBR", - "CALLER", - "SORT", - "REVERSE", - "WARN", - "DIE", - "PRINTF", - "PRINT", - "CHDIR", - "EXIT", - "RESET", - "LIST", - "EOF", - "GETC", - "TELL", - "RECV", - "READ", - "SYSREAD", - "SYSWRITE", - "SEND", - "SEEK", - "RETURN", - "REDO", - "NEXT", - "LAST", - "DUMP", - "GOTO",/* shudder */ - "INDEX", - "RINDEX", - "TIME", - "TIMES", - "LOCALTIME", - "GMTIME", - "TRUNCATE", - "LSTAT", - "STAT", - "CRYPT", - "ATAN2", - "SIN", - "COS", - "RAND", - "SRAND", - "EXP", - "LOG", - "SQRT", - "INT", - "ORD", - "ALARM", - "SLEEP", - "RANGE", - "FLIP_OR_RANGE", - "FLIP", - "FLOP", - "FORK", - "WAIT", - "WAITPID", - "SYSTEM", - "EXEC", - "HEX", - "OCT", - "CHOWN", - "KILL", - "UNLINK", - "CHMOD", - "UTIME", - "UMASK", - "MSGGET", - "SHMGET", - "SEMGET", - "MSGCTL", - "SHMCTL", - "SEMCTL", - "MSGSND", - "MSGRCV", - "SEMOP", - "SHMREAD", - "SHMWRITE", - "RENAME", - "LINK", - "MKDIR", - "RMDIR", - "GETPPID", - "GETPGRP", - "SETPGRP", - "GETPRIORITY", - "SETPRIORITY", - "CHROOT", - "FCNTL", - "SYSIOCTL", - "FLOCK", - "UNSHIFT", - "REQUIRE", - "DOFILE", - "EVAL", - "FTRREAD", - "FTRWRITE", - "FTREXEC", - "FTEREAD", - "FTEWRITE", - "FTEEXEC", - "FTIS", - "FTEOWNED", - "FTROWNED", - "FTZERO", - "FTSIZE", - "FTMTIME", - "FTATIME", - "FTCTIME", - "FTSOCK", - "FTCHR", - "FTBLK", - "FTFILE", - "FTDIR", - "FTPIPE", - "FTLINK", - "SYMLINK", - "READLINK", - "FTSUID", - "FTSGID", - "FTSVTX", - "FTTTY", - "FTTEXT", - "FTBINARY", - "SOCKET", - "BIND", - "CONNECT", - "LISTEN", - "ACCEPT", - "GHBYNAME", - "GHBYADDR", - "GHOSTENT", - "GNBYNAME", - "GNBYADDR", - "GNETENT", - "GPBYNAME", - "GPBYNUMBER", - "GPROTOENT", - "GSBYNAME", - "GSBYPORT", - "GSERVENT", - "SHOSTENT", - "SNETENT", - "SPROTOENT", - "SSERVENT", - "EHOSTENT", - "ENETENT", - "EPROTOENT", - "ESERVENT", - "SOCKPAIR", - "SHUTDOWN", - "GSOCKOPT", - "SSOCKOPT", - "GETSOCKNAME", - "GETPEERNAME", - "SSELECT", - "FILENO", - "BINMODE", - "VEC", - "GPWNAM", - "GPWUID", - "GPWENT", - "SPWENT", - "EPWENT", - "GGRNAM", - "GGRGID", - "GGRENT", - "SGRENT", - "EGRENT", - "GETLOGIN", - "OPENDIR", - "READDIR", - "TELLDIR", - "SEEKDIR", - "REWINDDIR", - "CLOSEDIR", - "SYSCALL", - "PIPE", - "TRY", - "EVALONCE", - "269" -}; -#endif - -#define A_NULL 0 -#define A_EXPR 1 -#define A_CMD 2 -#define A_STAB 3 -#define A_LVAL 4 -#define A_SINGLE 5 -#define A_DOUBLE 6 -#define A_BACKTICK 7 -#define A_READ 8 -#define A_SPAT 9 -#define A_LEXPR 10 -#define A_ARYLEN 11 -#define A_ARYSTAB 12 -#define A_LARYLEN 13 -#define A_GLOB 14 -#define A_WORD 15 -#define A_INDREAD 16 -#define A_LARYSTAB 17 -#define A_STAR 18 -#define A_LSTAR 19 -#define A_WANTARRAY 20 -#define A_LENSTAB 21 - -#define A_MASK 31 -#define A_DONT 32 /* or this into type to suppress evaluation */ - -#ifndef DOINIT -extern char *argname[]; -#else -char *argname[] = { - "A_NULL", - "EXPR", - "CMD", - "STAB", - "LVAL", - "LITERAL", - "DOUBLEQUOTE", - "BACKTICK", - "READ", - "SPAT", - "LEXPR", - "ARYLEN", - "ARYSTAB", - "LARYLEN", - "GLOB", - "WORD", - "INDREAD", - "LARYSTAB", - "STAR", - "LSTAR", - "WANTARRAY", - "LENSTAB", - "22" -}; -#endif - -#ifndef DOINIT -extern bool hoistable[]; -#else -bool hoistable[] = - {0, /* A_NULL */ - 0, /* EXPR */ - 1, /* CMD */ - 1, /* STAB */ - 0, /* LVAL */ - 1, /* SINGLE */ - 0, /* DOUBLE */ - 0, /* BACKTICK */ - 0, /* READ */ - 0, /* SPAT */ - 0, /* LEXPR */ - 1, /* ARYLEN */ - 1, /* ARYSTAB */ - 0, /* LARYLEN */ - 0, /* GLOB */ - 1, /* WORD */ - 0, /* INDREAD */ - 0, /* LARYSTAB */ - 1, /* STAR */ - 1, /* LSTAR */ - 1, /* WANTARRAY */ - 0, /* LENSTAB */ - 0, /* 21 */ -}; -#endif - -union argptr { - ARG *arg_arg; - char *arg_cval; - STAB *arg_stab; - SPAT *arg_spat; - CMD *arg_cmd; - STR *arg_str; - HASH *arg_hash; -}; - -struct arg { - union argptr arg_ptr; - short arg_len; - unsigned short arg_type; - unsigned short arg_flags; -}; - -#define AF_ARYOK 1 /* op can handle multiple values here */ -#define AF_POST 2 /* post *crement this item */ -#define AF_PRE 4 /* pre *crement this item */ -#define AF_UP 8 /* increment rather than decrement */ -#define AF_COMMON 16 /* left and right have symbols in common */ -#define AF_DEPR 32 /* an older form of the construct */ -#define AF_LISTISH 64 /* turn into list if important */ -#define AF_LOCAL 128 /* list of local variables */ - -/* - * Most of the ARG pointers are used as pointers to arrays of ARG. When - * so used, the 0th element is special, and represents the operator to - * use on the list of arguments following. The arg_len in the 0th element - * gives the maximum argument number, and the arg_str is used to store - * the return value in a more-or-less static location. Sorry it's not - * re-entrant (yet), but it sure makes it efficient. The arg_type of the - * 0th element is an operator (O_*) rather than an argument type (A_*). - */ - -#define Nullarg Null(ARG*) - -#ifndef DOINIT -EXT unsigned short opargs[MAXO+1]; -#else -#define A(e1,e2,e3) (e1+(e2<<2)+(e3<<4)) -#define A5(e1,e2,e3,e4,e5) (e1+(e2<<2)+(e3<<4)+(e4<<6)+(e5<<8)) -unsigned short opargs[MAXO+1] = { - A(0,0,0), /* NULL */ - A(1,1,0), /* RCAT */ - A(1,0,0), /* ITEM */ - A(1,0,0), /* SCALAR */ - A(0,0,0), /* ITEM2 */ - A(0,0,0), /* ITEM3 */ - A(1,1,0), /* CONCAT */ - A(3,1,0), /* REPEAT */ - A(1,0,0), /* MATCH */ - A(1,0,0), /* NMATCH */ - A(1,0,0), /* SUBST */ - A(1,0,0), /* NSUBST */ - A(1,1,0), /* ASSIGN */ - A(1,0,0), /* LOCAL */ - A(3,3,0), /* AASSIGN */ - A(0,0,0), /* SASSIGN */ - A(3,0,0), /* CHOP */ - A(1,0,0), /* DEFINED */ - A(1,0,0), /* UNDEF */ - A(1,0,0), /* STUDY */ - A(1,1,0), /* POW */ - A(1,1,0), /* MULTIPLY */ - A(1,1,0), /* DIVIDE */ - A(1,1,0), /* MODULO */ - A(1,1,0), /* ADD */ - A(1,1,0), /* SUBTRACT */ - A(1,1,0), /* LEFT_SHIFT */ - A(1,1,0), /* RIGHT_SHIFT */ - A(1,1,0), /* LT */ - A(1,1,0), /* GT */ - A(1,1,0), /* LE */ - A(1,1,0), /* GE */ - A(1,1,0), /* EQ */ - A(1,1,0), /* NE */ - A(1,1,0), /* NCMP */ - A(1,1,0), /* BIT_AND */ - A(1,1,0), /* XOR */ - A(1,1,0), /* BIT_OR */ - A(1,0,0), /* AND */ - A(1,0,0), /* OR */ - A(1,0,0), /* COND_EXPR */ - A(1,1,0), /* COMMA */ - A(1,0,0), /* NEGATE */ - A(1,0,0), /* NOT */ - A(1,0,0), /* COMPLEMENT */ - A(1,0,0), /* SELECT */ - A(1,0,0), /* WRITE */ - A(1,1,1), /* DBMOPEN */ - A(1,0,0), /* DBMCLOSE */ - A(1,1,0), /* OPEN */ - A(1,0,0), /* TRANS */ - A(1,0,0), /* NTRANS */ - A(1,0,0), /* CLOSE */ - A(0,0,0), /* EACH */ - A(0,0,0), /* VALUES */ - A(0,0,0), /* KEYS */ - A(0,0,0), /* LARRAY */ - A(0,0,0), /* ARRAY */ - A(0,1,0), /* AELEM */ - A(0,1,0), /* DELETE */ - A(0,0,0), /* LHASH */ - A(0,0,0), /* HASH */ - A(0,1,0), /* HELEM */ - A(0,1,0), /* LAELEM */ - A(0,1,0), /* LHELEM */ - A(0,3,3), /* LSLICE */ - A(0,3,0), /* ASLICE */ - A(0,3,0), /* HSLICE */ - A(0,3,0), /* LASLICE */ - A(0,3,0), /* LHSLICE */ - A(0,3,1), /* SPLICE */ - A(0,3,0), /* PUSH */ - A(0,0,0), /* POP */ - A(0,0,0), /* SHIFT */ - A(1,1,0), /* UNPACK */ - A(1,0,1), /* SPLIT */ - A(1,0,0), /* LENGTH */ - A(3,0,0), /* SPRINTF */ - A(1,1,1), /* SUBSTR */ - A(1,3,0), /* PACK */ - A(0,3,0), /* GREP */ - A(1,3,0), /* JOIN */ - A(1,1,0), /* SLT */ - A(1,1,0), /* SGT */ - A(1,1,0), /* SLE */ - A(1,1,0), /* SGE */ - A(1,1,0), /* SEQ */ - A(1,1,0), /* SNE */ - A(1,1,0), /* SCMP */ - A(0,3,0), /* SUBR */ - A(0,3,0), /* DBSUBR */ - A(1,0,0), /* CALLER */ - A(1,3,0), /* SORT */ - A(0,3,0), /* REVERSE */ - A(0,3,0), /* WARN */ - A(0,3,0), /* DIE */ - A(1,3,0), /* PRINTF */ - A(1,3,0), /* PRINT */ - A(1,0,0), /* CHDIR */ - A(1,0,0), /* EXIT */ - A(1,0,0), /* RESET */ - A(3,0,0), /* LIST */ - A(1,0,0), /* EOF */ - A(1,0,0), /* GETC */ - A(1,0,0), /* TELL */ - A5(1,1,1,1,0), /* RECV */ - A(1,1,3), /* READ */ - A(1,1,3), /* SYSREAD */ - A(1,1,3), /* SYSWRITE */ - A(1,1,3), /* SEND */ - A(1,1,1), /* SEEK */ - A(0,3,0), /* RETURN */ - A(0,0,0), /* REDO */ - A(0,0,0), /* NEXT */ - A(0,0,0), /* LAST */ - A(0,0,0), /* DUMP */ - A(0,0,0), /* GOTO */ - A(1,1,1), /* INDEX */ - A(1,1,1), /* RINDEX */ - A(0,0,0), /* TIME */ - A(0,0,0), /* TIMES */ - A(1,0,0), /* LOCALTIME */ - A(1,0,0), /* GMTIME */ - A(1,1,0), /* TRUNCATE */ - A(1,0,0), /* LSTAT */ - A(1,0,0), /* STAT */ - A(1,1,0), /* CRYPT */ - A(1,1,0), /* ATAN2 */ - A(1,0,0), /* SIN */ - A(1,0,0), /* COS */ - A(1,0,0), /* RAND */ - A(1,0,0), /* SRAND */ - A(1,0,0), /* EXP */ - A(1,0,0), /* LOG */ - A(1,0,0), /* SQRT */ - A(1,0,0), /* INT */ - A(1,0,0), /* ORD */ - A(1,0,0), /* ALARM */ - A(1,0,0), /* SLEEP */ - A(1,1,0), /* RANGE */ - A(1,0,0), /* F_OR_R */ - A(1,0,0), /* FLIP */ - A(0,1,0), /* FLOP */ - A(0,0,0), /* FORK */ - A(0,0,0), /* WAIT */ - A(1,1,0), /* WAITPID */ - A(1,3,0), /* SYSTEM */ - A(1,3,0), /* EXEC */ - A(1,0,0), /* HEX */ - A(1,0,0), /* OCT */ - A(0,3,0), /* CHOWN */ - A(0,3,0), /* KILL */ - A(0,3,0), /* UNLINK */ - A(0,3,0), /* CHMOD */ - A(0,3,0), /* UTIME */ - A(1,0,0), /* UMASK */ - A(1,1,0), /* MSGGET */ - A(1,1,1), /* SHMGET */ - A(1,1,1), /* SEMGET */ - A(1,1,1), /* MSGCTL */ - A(1,1,1), /* SHMCTL */ - A5(1,1,1,1,0), /* SEMCTL */ - A(1,1,1), /* MSGSND */ - A5(1,1,1,1,1), /* MSGRCV */ - A(1,1,1), /* SEMOP */ - A5(1,1,1,1,0), /* SHMREAD */ - A5(1,1,1,1,0), /* SHMWRITE */ - A(1,1,0), /* RENAME */ - A(1,1,0), /* LINK */ - A(1,1,0), /* MKDIR */ - A(1,0,0), /* RMDIR */ - A(0,0,0), /* GETPPID */ - A(1,0,0), /* GETPGRP */ - A(1,1,0), /* SETPGRP */ - A(1,1,0), /* GETPRIORITY */ - A(1,1,1), /* SETPRIORITY */ - A(1,0,0), /* CHROOT */ - A(1,1,1), /* FCNTL */ - A(1,1,1), /* SYSIOCTL */ - A(1,1,0), /* FLOCK */ - A(0,3,0), /* UNSHIFT */ - A(1,0,0), /* REQUIRE */ - A(1,0,0), /* DOFILE */ - A(1,0,0), /* EVAL */ - A(1,0,0), /* FTRREAD */ - A(1,0,0), /* FTRWRITE */ - A(1,0,0), /* FTREXEC */ - A(1,0,0), /* FTEREAD */ - A(1,0,0), /* FTEWRITE */ - A(1,0,0), /* FTEEXEC */ - A(1,0,0), /* FTIS */ - A(1,0,0), /* FTEOWNED */ - A(1,0,0), /* FTROWNED */ - A(1,0,0), /* FTZERO */ - A(1,0,0), /* FTSIZE */ - A(1,0,0), /* FTMTIME */ - A(1,0,0), /* FTATIME */ - A(1,0,0), /* FTCTIME */ - A(1,0,0), /* FTSOCK */ - A(1,0,0), /* FTCHR */ - A(1,0,0), /* FTBLK */ - A(1,0,0), /* FTFILE */ - A(1,0,0), /* FTDIR */ - A(1,0,0), /* FTPIPE */ - A(1,0,0), /* FTLINK */ - A(1,1,0), /* SYMLINK */ - A(1,0,0), /* READLINK */ - A(1,0,0), /* FTSUID */ - A(1,0,0), /* FTSGID */ - A(1,0,0), /* FTSVTX */ - A(1,0,0), /* FTTTY */ - A(1,0,0), /* FTTEXT */ - A(1,0,0), /* FTBINARY */ - A5(1,1,1,1,0), /* SOCKET */ - A(1,1,0), /* BIND */ - A(1,1,0), /* CONNECT */ - A(1,1,0), /* LISTEN */ - A(1,1,0), /* ACCEPT */ - A(1,0,0), /* GHBYNAME */ - A(1,1,0), /* GHBYADDR */ - A(0,0,0), /* GHOSTENT */ - A(1,0,0), /* GNBYNAME */ - A(1,1,0), /* GNBYADDR */ - A(0,0,0), /* GNETENT */ - A(1,0,0), /* GPBYNAME */ - A(1,0,0), /* GPBYNUMBER */ - A(0,0,0), /* GPROTOENT */ - A(1,1,0), /* GSBYNAME */ - A(1,1,0), /* GSBYPORT */ - A(0,0,0), /* GSERVENT */ - A(1,0,0), /* SHOSTENT */ - A(1,0,0), /* SNETENT */ - A(1,0,0), /* SPROTOENT */ - A(1,0,0), /* SSERVENT */ - A(0,0,0), /* EHOSTENT */ - A(0,0,0), /* ENETENT */ - A(0,0,0), /* EPROTOENT */ - A(0,0,0), /* ESERVENT */ - A5(1,1,1,1,1), /* SOCKPAIR */ - A(1,1,0), /* SHUTDOWN */ - A(1,1,1), /* GSOCKOPT */ - A5(1,1,1,1,0), /* SSOCKOPT */ - A(1,0,0), /* GETSOCKNAME */ - A(1,0,0), /* GETPEERNAME */ - A5(1,1,1,1,0), /* SSELECT */ - A(1,0,0), /* FILENO */ - A(1,0,0), /* BINMODE */ - A(1,1,1), /* VEC */ - A(1,0,0), /* GPWNAM */ - A(1,0,0), /* GPWUID */ - A(0,0,0), /* GPWENT */ - A(0,0,0), /* SPWENT */ - A(0,0,0), /* EPWENT */ - A(1,0,0), /* GGRNAM */ - A(1,0,0), /* GGRGID */ - A(0,0,0), /* GGRENT */ - A(0,0,0), /* SGRENT */ - A(0,0,0), /* EGRENT */ - A(0,0,0), /* GETLOGIN */ - A(1,1,0), /* OPENDIR */ - A(1,0,0), /* READDIR */ - A(1,0,0), /* TELLDIR */ - A(1,1,0), /* SEEKDIR */ - A(1,0,0), /* REWINDDIR */ - A(1,0,0), /* CLOSEDIR */ - A(1,3,0), /* SYSCALL */ - A(1,1,0), /* PIPE */ - A(0,0,0), /* TRY */ - A(1,0,0), /* EVALONCE */ - 0 -}; -#undef A -#undef A5 -#endif - -int do_trans(); -int do_split(); -bool do_eof(); -long do_tell(); -bool do_seek(); -int do_tms(); -int do_time(); -int do_stat(); -STR *do_push(); -FILE *nextargv(); -STR *do_fttext(); -int do_slice(); |