/* $Header: /belch_a/users/rearl/tinymuck/include/RCS/inst.h,v 1.9 90/09/28 12:16:12 rearl Exp $ * $Log: inst.h,v $ * Revision 1.9 90/09/28 12:16:12 rearl * Added PROGRAM primitive to deal with CALLing setuid or wizard programs. * * Revision 1.8 90/09/18 08:06:19 rearl * Added hash tables for primitive lookup. * * Revision 1.7 90/09/16 13:59:24 rearl * Changed CONTENTS, added EXITS and NEXT primitives. * * Revision 1.6 90/09/13 06:34:33 rearl * EXECUTE, PUT added. * * Revision 1.5 90/08/27 14:08:02 rearl * New primitives: INSTR, RINSTR, OK?, TIME. * * Revision 1.4 90/07/30 00:11:51 rearl * Added new primitives: strncmp, strcut, strlen. * * Revision 1.3 90/07/29 17:19:56 rearl * Added primitives FLAGP and GETLINK, replacing various P's and DEST, * added PRONOUN_SUB. * * Revision 1.2 90/07/19 23:14:34 casie * Removed log comments from top. * * */ #include "copyright.h" /* most of these are built-in functions, but some of them are not. */ #define IN_IF 1 /* IF */ #define IN_ADD 2 #define IN_SUBTRACT 3 #define IN_MULTIPLY 4 #define IN_DIVIDE 5 #define IN_POP 6 #define IN_DUP 7 #define IN_CALL 8 #define IN_NUMBERP 9 /* number predicate */ #define IN_STRCMP 10 #define IN_STRINGCMP 11 #define IN_STRCAT 12 #define IN_ATOI 13 #define IN_AND 14 #define IN_OR 15 #define IN_NOT 16 #define IN_READ 17 #define IN_NOTIFY 18 #define IN_NOTIFY_EXCEPT 19 #define IN_RET 20 #define IN_JMP 21 #define IN_ADDPENNIES 22 #define IN_AT 23 /* @ */ #define IN_BANG 24 /* ! */ #define IN_GETPROPVAL 25 #define IN_GETPROPSTR 26 #define IN_SETPROP 27 #define IN_REMOVE_PROP 28 #define IN_MOVETO 29 #define IN_PENNIES 30 #define IN_LESSTHAN 31 #define IN_GREATHAN 32 #define IN_EQUAL 33 #define IN_LESSEQ 34 #define IN_GREATEQ 35 #define IN_RANDOM 36 #define IN_MOD 37 #define IN_INTOSTR 38 #define IN_DBCOMP 39 #define IN_DBREF 40 #define IN_INT 41 #define IN_VAR 42 #define IN_SWAP 43 #define IN_CONTENTS 44 #define IN_NAME 45 #define IN_SETNAME 46 #define IN_EXPLODE 47 #define IN_MATCH 48 #ifdef COPYOBJ #define IN_COPYOBJ 49 #endif /* COPYOBJ */ #define IN_SUBST 50 #define IN_SET 51 #define IN_LOCATION 52 #define IN_PLAYERP 53 #define IN_THINGP 54 #define IN_ROOMP 55 #define IN_PROGRAMP 56 #define IN_EXITP 57 #define IN_FLAGP 58 #define IN_OWNER 59 #define IN_RMATCH 60 #define IN_OVER 61 #define IN_PICK 62 #define IN_PUT 63 #define IN_ROT 64 #define IN_ROTATE 65 #define IN_GETLINK 66 #define IN_PRONOUN_SUB 67 #define IN_STRNCMP 68 #define IN_STRCUT 69 #define IN_STRLEN 70 #define IN_INSTR 71 #define IN_RINSTR 72 #define IN_OKP 73 #define IN_TIME 74 #define IN_EXECUTE 75 #define IN_EXITS 76 #define IN_NEXT 77 #define IN_PROGRAM 78 /* TinyMUCK 2.3 primitives */ #define IN_ONLINE 79 #define IN_AWAKEP 80 #define IN_CONBOOT 81 #define IN_CONCOUNT 82 #define IN_CONDBREF 83 #define IN_CONHOST 84 #define IN_CONIDLE 85 #define IN_CONNECTIONS 86 #define IN_CONTIME 87 #define IN_STRINGNCMP 88 #define IN_PROG 89 #define IN_SELF 90 #define IN_SYSTIME 91 #define IN_STRFTIME 92 #define IN_DEPTH 93 /* TinyMAGE-only primtives */ #define IN_WILD_MATCH 94 #define IN_PRONOUN_EVAL 95 #define IN_CHECKFUNC 96 #define IN_HALT 97 #define IN_TRIGOBJ 98 #define BASE_MIN 1 #define BASE_MAX 98 /* now refer to tables to map instruction number to name */ extern const char *base_inst[]; extern char * insttotext(struct inst *); /* and declare debug instruction diagnostic routine */ extern char * debug_inst(struct inst *, struct inst *, int, dbref);