/* cmdtabs.h - command and other supporting tables */ /* $Id: cmdtabs.h,v 1.38 2004/08/17 21:47:25 lwl Exp $ */ #include "copyright.h" /* Make sure that all of your command and switch names are lowercase! */ /* *INDENT-OFF* */ /* --------------------------------------------------------------------------- * Switch tables for the various commands. */ NAMETAB addcmd_sw[] = { {(char *)"preserve", 1, CA_GOD, ADDCMD_PRESERVE}, { NULL, 0, 0, 0}}; NAMETAB attrib_sw[] = { {(char *)"access", 1, CA_GOD, ATTRIB_ACCESS}, {(char *)"delete", 1, CA_GOD, ATTRIB_DELETE}, {(char *)"info", 1, CA_WIZARD, ATTRIB_INFO}, {(char *)"rename", 1, CA_GOD, ATTRIB_RENAME}, { NULL, 0, 0, 0}}; NAMETAB boot_sw[] = { {(char *)"port", 1, CA_WIZARD, BOOT_PORT|SW_MULTIPLE}, {(char *)"quiet", 1, CA_WIZARD, BOOT_QUIET|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB chown_sw[] = { {(char *)"nostrip", 1, CA_WIZARD, CHOWN_NOSTRIP}, { NULL, 0, 0, 0}}; NAMETAB chzone_sw[] = { {(char *)"nostrip", 1, CA_WIZARD, CHZONE_NOSTRIP}, { NULL, 0, 0, 0}}; NAMETAB clone_sw[] = { {(char *)"cost", 1, CA_PUBLIC, CLONE_SET_COST|SW_MULTIPLE}, {(char *)"inherit", 3, CA_PUBLIC, CLONE_INHERIT|SW_MULTIPLE}, {(char *)"inventory", 3, CA_PUBLIC, CLONE_INVENTORY}, {(char *)"location", 1, CA_PUBLIC, CLONE_LOCATION}, {(char *)"nostrip", 1, CA_WIZARD, CLONE_NOSTRIP|SW_MULTIPLE}, {(char *)"parent", 2, CA_PUBLIC, CLONE_PARENT|SW_MULTIPLE}, {(char *)"preserve", 2, CA_PUBLIC, CLONE_PRESERVE|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB decomp_sw[] = { {(char *)"pretty", 1, CA_PUBLIC, DECOMP_PRETTY}, { NULL, 0, 0, 0}}; NAMETAB destroy_sw[] = { {(char *)"instant", 4, CA_PUBLIC, DEST_INSTANT|SW_MULTIPLE}, {(char *)"override", 8, CA_PUBLIC, DEST_OVERRIDE|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB dig_sw[] = { {(char *)"teleport", 1, CA_PUBLIC, DIG_TELEPORT}, { NULL, 0, 0, 0}}; NAMETAB doing_sw[] = { {(char *)"header", 1, CA_PUBLIC, DOING_HEADER|SW_MULTIPLE}, {(char *)"message", 1, CA_PUBLIC, DOING_MESSAGE|SW_MULTIPLE}, {(char *)"poll", 1, CA_PUBLIC, DOING_POLL}, {(char *)"quiet", 1, CA_PUBLIC, DOING_QUIET|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB dolist_sw[] = { {(char *)"delimit", 1, CA_PUBLIC, DOLIST_DELIMIT}, {(char *)"space", 1, CA_PUBLIC, DOLIST_SPACE}, {(char *)"notify", 1, CA_PUBLIC, DOLIST_NOTIFY | SW_MULTIPLE }, {(char *)"now", 1, CA_PUBLIC, DOLIST_NOW|SW_MULTIPLE}, { NULL, 0, 0, 0,}}; NAMETAB drop_sw[] = { {(char *)"quiet", 1, CA_PUBLIC, DROP_QUIET}, { NULL, 0, 0, 0}}; NAMETAB dump_sw[] = { {(char *)"structure", 1, CA_WIZARD, DUMP_STRUCT|SW_MULTIPLE}, {(char *)"text", 1, CA_WIZARD, DUMP_TEXT|SW_MULTIPLE}, {(char *)"flatfile", 1, CA_WIZARD, DUMP_FLATFILE|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB emit_sw[] = { {(char *)"noeval", 1, CA_PUBLIC, SW_NOEVAL | SW_MULTIPLE}, {(char *)"here", 1, CA_PUBLIC, SAY_HERE|SW_MULTIPLE}, {(char *)"room", 1, CA_PUBLIC, SAY_ROOM|SW_MULTIPLE}, #ifdef PUEBLO_SUPPORT {(char *)"html", 1, CA_PUBLIC, SAY_HTML|SW_MULTIPLE}, #endif { NULL, 0, 0, 0}}; NAMETAB enter_sw[] = { {(char *)"quiet", 1, CA_PUBLIC, MOVE_QUIET}, { NULL, 0, 0, 0}}; NAMETAB examine_sw[] = { {(char *)"brief", 1, CA_PUBLIC, EXAM_BRIEF}, {(char *)"debug", 1, CA_WIZARD, EXAM_DEBUG}, {(char *)"full", 1, CA_PUBLIC, EXAM_LONG}, {(char *)"owner", 1, CA_PUBLIC, EXAM_OWNER}, {(char *)"pairs", 3, CA_PUBLIC, EXAM_PAIRS}, {(char *)"parent", 1, CA_PUBLIC, EXAM_PARENT|SW_MULTIPLE}, {(char *)"pretty", 2, CA_PUBLIC, EXAM_PRETTY}, { NULL, 0, 0, 0}}; NAMETAB femit_sw[] = { {(char *)"noeval", 1, CA_PUBLIC, SW_NOEVAL | SW_MULTIPLE}, {(char *)"here", 1, CA_PUBLIC, PEMIT_HERE|SW_MULTIPLE}, {(char *)"room", 1, CA_PUBLIC, PEMIT_ROOM|SW_MULTIPLE}, {(char *)"spoof", 1, CA_PUBLIC, PEMIT_SPOOF|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB fixdb_sw[] = { /* {(char *)"add_pname",1, CA_GOD, FIXDB_ADD_PN}, */ {(char *)"contents", 1, CA_GOD, FIXDB_CON}, {(char *)"exits", 1, CA_GOD, FIXDB_EXITS}, {(char *)"location", 1, CA_GOD, FIXDB_LOC}, {(char *)"next", 1, CA_GOD, FIXDB_NEXT}, {(char *)"owner", 1, CA_GOD, FIXDB_OWNER}, {(char *)"pennies", 1, CA_GOD, FIXDB_PENNIES}, {(char *)"rename", 1, CA_GOD, FIXDB_NAME}, /* {(char *)"rm_pname", 1, CA_GOD, FIXDB_DEL_PN}, */ { NULL, 0, 0, 0}}; NAMETAB floaters_sw[] = { {(char *)"all", 1, CA_PUBLIC, FLOATERS_ALL}, { NULL, 0, 0, 0}}; NAMETAB force_sw[] = { {(char *)"now", 1, CA_PUBLIC, FRC_NOW|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB fpose_sw[] = { {(char *)"default", 1, CA_PUBLIC, 0}, {(char *)"noeval", 3, CA_PUBLIC, SW_NOEVAL | SW_MULTIPLE}, {(char *)"nospace", 1, CA_PUBLIC, SAY_NOSPACE}, {(char *)"spoof", 1, CA_PUBLIC, PEMIT_SPOOF | SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB fsay_sw[] = { {(char *)"noeval", 1, CA_PUBLIC, SW_NOEVAL | SW_MULTIPLE}, {(char *)"spoof", 1, CA_PUBLIC, PEMIT_SPOOF | SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB function_sw[] = { {(char *)"list", 1, CA_WIZARD, FUNCT_LIST}, {(char *)"noeval", 1, CA_WIZARD, FUNCT_NO_EVAL|SW_MULTIPLE}, {(char *)"privileged", 3, CA_WIZARD, FUNCT_PRIV|SW_MULTIPLE}, {(char *)"preserve", 3, CA_WIZARD, FUNCT_PRES|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB get_sw[] = { {(char *)"quiet", 1, CA_PUBLIC, GET_QUIET}, { NULL, 0, 0, 0}}; NAMETAB give_sw[] = { {(char *)"quiet", 1, CA_WIZARD, GIVE_QUIET}, { NULL, 0, 0, 0}}; NAMETAB goto_sw[] = { {(char *)"quiet", 1, CA_PUBLIC, MOVE_QUIET}, { NULL, 0, 0, 0}}; NAMETAB halt_sw[] = { {(char *)"all", 1, CA_PUBLIC, HALT_ALL}, { NULL, 0, 0, 0}}; NAMETAB help_sw[] = { {(char *)"fine", 1, CA_PUBLIC, HELP_FIND}, { NULL, 0, 0, 0}}; NAMETAB hook_sw[] = { {(char *)"before", 1, CA_GOD, HOOK_BEFORE}, {(char *)"after", 1, CA_GOD, HOOK_AFTER}, {(char *)"permit", 1, CA_GOD, HOOK_PERMIT}, {(char *)"preserve", 1, CA_GOD, HOOK_PRESERVE}, {(char *)"nopreserve", 1, CA_GOD, HOOK_NOPRESERVE}, { NULL, 0, 0, 0}}; NAMETAB leave_sw[] = { {(char *)"quiet", 1, CA_PUBLIC, MOVE_QUIET}, { NULL, 0, 0, 0}}; NAMETAB listmotd_sw[] = { {(char *)"brief", 1, CA_WIZARD, MOTD_BRIEF}, { NULL, 0, 0, 0}}; NAMETAB lock_sw[] = { {(char *)"chownlock", 2, CA_PUBLIC, A_LCHOWN}, {(char *)"controllock", 2, CA_PUBLIC, A_LCONTROL}, {(char *)"defaultlock", 1, CA_PUBLIC, A_LOCK}, {(char *)"darklock", 2, CA_PUBLIC, A_LDARK}, {(char *)"droplock", 2, CA_PUBLIC, A_LDROP}, {(char *)"enterlock", 1, CA_PUBLIC, A_LENTER}, {(char *)"givelock", 2, CA_PUBLIC, A_LGIVE}, {(char *)"heardlock", 5, CA_PUBLIC, A_LHEARD}, {(char *)"hearslock", 5, CA_PUBLIC, A_LHEARS}, {(char *)"knownlock", 5, CA_PUBLIC, A_LKNOWN}, {(char *)"knowslock", 5, CA_PUBLIC, A_LKNOWS}, {(char *)"leavelock", 2, CA_PUBLIC, A_LLEAVE}, {(char *)"linklock", 2, CA_PUBLIC, A_LLINK}, {(char *)"movedlock", 5, CA_PUBLIC, A_LMOVED}, {(char *)"moveslock", 5, CA_PUBLIC, A_LMOVES}, {(char *)"pagelock", 3, CA_PUBLIC, A_LPAGE}, {(char *)"parentlock", 3, CA_PUBLIC, A_LPARENT}, {(char *)"receivelock", 1, CA_PUBLIC, A_LRECEIVE}, {(char *)"teloutlock", 2, CA_PUBLIC, A_LTELOUT}, {(char *)"tportlock", 2, CA_PUBLIC, A_LTPORT}, {(char *)"uselock", 1, CA_PUBLIC, A_LUSE}, {(char *)"userlock", 4, CA_PUBLIC, A_LUSER}, {(char *)"speechlock", 1, CA_PUBLIC, A_LSPEECH}, { NULL, 0, 0, 0}}; NAMETAB look_sw[] = { {(char *)"outside", 1, CA_PUBLIC, LOOK_OUTSIDE}, { NULL, 0, 0, 0}}; NAMETAB mark_sw[] = { {(char *)"set", 1, CA_PUBLIC, MARK_SET}, {(char *)"clear", 1, CA_PUBLIC, MARK_CLEAR}, { NULL, 0, 0, 0}}; NAMETAB markall_sw[] = { {(char *)"set", 1, CA_PUBLIC, MARK_SET}, {(char *)"clear", 1, CA_PUBLIC, MARK_CLEAR}, { NULL, 0, 0, 0}}; NAMETAB motd_sw[] = { {(char *)"brief", 1, CA_WIZARD, MOTD_BRIEF|SW_MULTIPLE}, {(char *)"connect", 1, CA_WIZARD, MOTD_ALL}, {(char *)"down", 1, CA_WIZARD, MOTD_DOWN}, {(char *)"full", 1, CA_WIZARD, MOTD_FULL}, {(char *)"list", 1, CA_PUBLIC, MOTD_LIST}, {(char *)"wizard", 1, CA_WIZARD, MOTD_WIZ}, { NULL, 0, 0, 0}}; NAMETAB notify_sw[] = { {(char *)"all", 1, CA_PUBLIC, NFY_NFYALL}, {(char *)"first", 1, CA_PUBLIC, NFY_NFY}, { NULL, 0, 0, 0}}; NAMETAB oemit_sw[] = { {(char *)"noeval", 1, CA_PUBLIC, SW_NOEVAL | SW_MULTIPLE}, {(char *)"speech", 1, CA_PUBLIC, PEMIT_SPEECH|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB open_sw[] = { {(char *)"inventory", 1, CA_PUBLIC, OPEN_INVENTORY}, {(char *)"location", 1, CA_PUBLIC, OPEN_LOCATION}, { NULL, 0, 0, 0}}; NAMETAB pemit_sw[] = { {(char *)"contents", 1, CA_PUBLIC, PEMIT_CONTENTS|SW_MULTIPLE}, {(char *)"object", 1, CA_PUBLIC, 0}, {(char *)"silent", 2, CA_PUBLIC, 0}, {(char *)"speech", 2, CA_PUBLIC, PEMIT_SPEECH|SW_MULTIPLE}, {(char *)"list", 1, CA_PUBLIC, PEMIT_LIST|SW_MULTIPLE}, {(char *)"noeval", 1, CA_PUBLIC, SW_NOEVAL | SW_MULTIPLE}, #ifdef PUEBLO_SUPPORT {(char *)"html", 1, CA_PUBLIC, PEMIT_HTML|SW_MULTIPLE}, #endif { NULL, 0, 0, 0}}; NAMETAB pose_sw[] = { {(char *)"default", 1, CA_PUBLIC, 0}, {(char *)"noeval", 3, CA_PUBLIC, SW_NOEVAL | SW_MULTIPLE}, {(char *)"nospace", 1, CA_PUBLIC, SAY_NOSPACE}, { NULL, 0, 0, 0}}; NAMETAB ps_sw[] = { {(char *)"all", 1, CA_PUBLIC, PS_ALL|SW_MULTIPLE}, {(char *)"brief", 1, CA_PUBLIC, PS_BRIEF}, {(char *)"long", 1, CA_PUBLIC, PS_LONG}, {(char *)"summary", 1, CA_PUBLIC, PS_SUMM}, { NULL, 0, 0, 0}}; NAMETAB quota_sw[] = { {(char *)"all", 1, CA_GOD, QUOTA_ALL|SW_MULTIPLE}, {(char *)"fix", 1, CA_WIZARD, QUOTA_FIX}, {(char *)"remaining", 1, CA_WIZARD, QUOTA_REM|SW_MULTIPLE}, {(char *)"set", 1, CA_WIZARD, QUOTA_SET}, {(char *)"total", 1, CA_WIZARD, QUOTA_TOT|SW_MULTIPLE}, {(char *)"room", 1, CA_WIZARD, QUOTA_ROOM | SW_MULTIPLE}, {(char *)"exit", 1, CA_WIZARD, QUOTA_EXIT | SW_MULTIPLE}, {(char *)"thing", 1, CA_WIZARD, QUOTA_THING | SW_MULTIPLE}, {(char *)"player", 1, CA_WIZARD, QUOTA_PLAYER | SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB reference_sw[] = { {(char *)"list", 1, CA_PUBLIC, NREF_LIST}, { NULL, 0, 0, 0}}; NAMETAB set_sw[] = { {(char *)"quiet", 1, CA_PUBLIC, SET_QUIET}, { NULL, 0, 0, 0}}; NAMETAB shutdown_sw[] = { {(char *)"abort", 1, CA_WIZARD, SHUTDN_COREDUMP}, { NULL, 0, 0, 0}}; NAMETAB stats_sw[] = { {(char *)"all", 1, CA_PUBLIC, STAT_ALL}, {(char *)"me", 1, CA_PUBLIC, STAT_ME}, {(char *)"player", 1, CA_PUBLIC, STAT_PLAYER}, { NULL, 0, 0, 0}}; NAMETAB sweep_sw[] = { {(char *)"commands", 3, CA_PUBLIC, SWEEP_COMMANDS|SW_MULTIPLE}, {(char *)"connected", 3, CA_PUBLIC, SWEEP_CONNECT|SW_MULTIPLE}, {(char *)"exits", 1, CA_PUBLIC, SWEEP_EXITS|SW_MULTIPLE}, {(char *)"here", 1, CA_PUBLIC, SWEEP_HERE|SW_MULTIPLE}, {(char *)"inventory", 1, CA_PUBLIC, SWEEP_ME|SW_MULTIPLE}, {(char *)"listeners", 1, CA_PUBLIC, SWEEP_LISTEN|SW_MULTIPLE}, {(char *)"players", 1, CA_PUBLIC, SWEEP_PLAYER|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB switch_sw[] = { {(char *)"all", 1, CA_PUBLIC, SWITCH_ANY}, {(char *)"default", 1, CA_PUBLIC, SWITCH_DEFAULT}, {(char *)"first", 1, CA_PUBLIC, SWITCH_ONE}, {(char *)"now", 1, CA_PUBLIC, SWITCH_NOW|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB teleport_sw[] = { {(char *)"loud", 1, CA_PUBLIC, TELEPORT_DEFAULT}, {(char *)"quiet", 1, CA_PUBLIC, TELEPORT_QUIET}, { NULL, 0, 0, 0}}; NAMETAB timecheck_sw[] = { {(char *) "log", 1, CA_WIZARD, TIMECHK_LOG | SW_MULTIPLE}, {(char *) "reset", 1, CA_WIZARD, TIMECHK_RESET | SW_MULTIPLE}, {(char *) "screen", 1, CA_WIZARD, TIMECHK_SCREEN | SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB toad_sw[] = { {(char *)"no_chown", 1, CA_WIZARD, TOAD_NO_CHOWN|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB trig_sw[] = { {(char *)"quiet", 1, CA_PUBLIC, TRIG_QUIET}, {(char *)"now", 1, CA_PUBLIC, TRIG_NOW|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB verb_sw[] = { {(char *)"known", 1, CA_PUBLIC, VERB_PRESENT|SW_MULTIPLE}, {(char *)"move", 1, CA_PUBLIC, VERB_MOVE|SW_MULTIPLE}, {(char *)"now", 3, CA_PUBLIC, VERB_NOW|SW_MULTIPLE}, {(char *)"no_name", 3, CA_PUBLIC, VERB_NONAME|SW_MULTIPLE}, {(char *)"speech", 1, CA_PUBLIC, VERB_SPEECH|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB wall_sw[] = { {(char *)"emit", 1, CA_PUBLIC, SAY_WALLEMIT}, {(char *)"no_prefix", 1, CA_PUBLIC, SAY_NOTAG|SW_MULTIPLE}, {(char *)"pose", 1, CA_PUBLIC, SAY_WALLPOSE}, {(char *)"wizard", 1, CA_PUBLIC, SAY_WIZSHOUT|SW_MULTIPLE}, {(char *)"admin", 1, CA_ADMIN, SAY_ADMINSHOUT}, { NULL, 0, 0, 0}}; NAMETAB warp_sw[] = { {(char *)"check", 1, CA_WIZARD, TWARP_CLEAN|SW_MULTIPLE}, {(char *)"dump", 1, CA_WIZARD, TWARP_DUMP|SW_MULTIPLE}, {(char *)"idle", 1, CA_WIZARD, TWARP_IDLE|SW_MULTIPLE}, {(char *)"queue", 1, CA_WIZARD, TWARP_QUEUE|SW_MULTIPLE}, {(char *)"events", 1, CA_WIZARD, TWARP_EVENTS|SW_MULTIPLE}, { NULL, 0, 0, 0}}; NAMETAB noeval_sw[] = { {(char *)"noeval", 1, CA_PUBLIC, SW_NOEVAL}, { NULL, 0, 0, 0}}; /* --------------------------------------------------------------------------- * Command table: Definitions for builtin commands, used to build the command * hash table. * * Format: Name Switches Permissions Needed * Key (if any) Calling Seq Handler */ CMDENT command_table[] = { {(char *)"@@", NULL, CA_PUBLIC, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_comment}}, {(char *)"@addcommand", addcmd_sw, CA_GOD, 0, CS_TWO_ARG, NULL, NULL, NULL, {do_addcommand}}, {(char *)"@admin", NULL, CA_WIZARD, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_admin}}, {(char *)"@alias", NULL, CA_NO_GUEST|CA_NO_SLAVE, 0, CS_TWO_ARG, NULL, NULL, NULL, {do_alias}}, {(char *)"@apply_marked", NULL, CA_WIZARD|CA_GBL_INTERP, 0, CS_ONE_ARG|CS_CMDARG|CS_NOINTERP|CS_STRIP_AROUND, NULL, NULL, NULL, {do_apply_marked}}, {(char *)"@attribute", attrib_sw, CA_WIZARD, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_attribute}}, {(char *)"@boot", boot_sw, CA_NO_GUEST|CA_NO_SLAVE, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_boot}}, {(char *)"@chown", chown_sw, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, CHOWN_ONE, CS_TWO_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_chown}}, {(char *)"@chownall", chown_sw, CA_WIZARD|CA_GBL_BUILD, CHOWN_ALL, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_chownall}}, {(char *)"@chzone", chzone_sw, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_chzone}}, {(char *)"@clone", clone_sw, CA_NO_SLAVE|CA_GBL_BUILD|CA_CONTENTS|CA_NO_GUEST, 0, CS_TWO_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_clone}}, {(char *)"@cpattr", NULL, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, 0, CS_TWO_ARG|CS_ARGV, NULL, NULL, NULL, {do_cpattr}}, {(char *)"@create", NULL, CA_NO_SLAVE|CA_GBL_BUILD|CA_CONTENTS|CA_NO_GUEST, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_create}}, {(char *)"@cron", NULL, CA_NO_SLAVE|CA_NO_GUEST, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_cron}}, {(char *)"@crondel", NULL, CA_NO_SLAVE|CA_NO_GUEST, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_crondel}}, {(char *)"@crontab", NULL, CA_NO_SLAVE|CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_crontab}}, {(char *)"@cut", NULL, CA_WIZARD|CA_LOCATION, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_cut}}, {(char *)"@dbck", NULL, CA_WIZARD, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_dbck}}, {(char *)"@decompile", decomp_sw, CA_PUBLIC, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_decomp}}, {(char *)"@delcommand", NULL, CA_GOD, 0, CS_TWO_ARG, NULL, NULL, NULL, {do_delcommand}}, {(char *)"@destroy", destroy_sw, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, DEST_ONE, CS_ONE_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_destroy}}, /*{(char *)"@destroyall", NULL, CA_WIZARD|CA_GBL_BUILD, DEST_ALL, CS_ONE_ARG, NULL, NULL, NULL, {do_destroy}}, */ {(char *)"@dig", dig_sw, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, 0, CS_TWO_ARG|CS_ARGV|CS_INTERP, NULL, NULL, NULL, {do_dig}}, {(char *)"@disable", NULL, CA_WIZARD, GLOB_DISABLE, CS_ONE_ARG, NULL, NULL, NULL, {do_global}}, {(char *)"@doing", doing_sw, CA_PUBLIC, 0, CS_ONE_ARG, NULL, NULL, NULL, {do_doing}}, {(char *)"@dolist", dolist_sw, CA_GBL_INTERP, 0, CS_TWO_ARG|CS_CMDARG|CS_NOINTERP|CS_STRIP_AROUND, NULL, NULL, NULL, {do_dolist}}, {(char *)"@drain", NULL, CA_GBL_INTERP|CA_NO_SLAVE|CA_NO_GUEST, NFY_DRAIN, CS_TWO_ARG, NULL, NULL, NULL, {do_notify}}, {(char *)"@dump", dump_sw, CA_WIZARD, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_dump}}, {(char *)"@edit", NULL, CA_NO_SLAVE|CA_NO_GUEST, 0, CS_TWO_ARG|CS_ARGV|CS_STRIP_AROUND, NULL, NULL, NULL, {do_edit}}, {(char *)"@emit", emit_sw, CA_LOCATION|CA_NO_GUEST|CA_NO_SLAVE, SAY_EMIT, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_say}}, {(char *)"@enable", NULL, CA_WIZARD, GLOB_ENABLE, CS_ONE_ARG, NULL, NULL, NULL, {do_global}}, {(char *)"@entrances", NULL, CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_entrances}}, {(char *)"@eval", NULL, CA_NO_SLAVE, 0, CS_ONE_ARG | CS_INTERP, NULL, NULL, NULL, {do_eval}}, {(char *)"@femit", femit_sw, CA_LOCATION|CA_NO_GUEST|CA_NO_SLAVE, PEMIT_FEMIT, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_pemit}}, {(char *)"@find", NULL, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_find}}, {(char *)"@fixdb", fixdb_sw, CA_GOD, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_fixdb}}, {(char *)"@floaters", floaters_sw, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_floaters}}, {(char *)"@force", force_sw, CA_NO_SLAVE|CA_GBL_INTERP|CA_NO_GUEST, FRC_COMMAND, CS_TWO_ARG|CS_INTERP|CS_CMDARG, NULL, NULL, NULL, {do_force}}, {(char *)"@fpose", fpose_sw, CA_LOCATION|CA_NO_SLAVE, PEMIT_FPOSE, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_pemit}}, {(char *)"@fsay", fsay_sw, CA_LOCATION|CA_NO_SLAVE, PEMIT_FSAY, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_pemit}}, {(char *)"@freelist", NULL, CA_WIZARD, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_freelist}}, {(char *)"@function", function_sw, CA_GOD, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_function}}, {(char *)"@halt", halt_sw, CA_NO_SLAVE, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_halt}}, {(char *)"@hashresize", NULL, CA_GOD, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_hashresize}}, {(char *)"@hook", hook_sw, CA_GOD, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_hook}}, {(char *)"@kick", NULL, CA_WIZARD, QUEUE_KICK, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_queue}}, {(char *)"@last", NULL, CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_last}}, {(char *)"@link", NULL, CA_NO_SLAVE|CA_GBL_BUILD|CA_NO_GUEST, 0, CS_TWO_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_link}}, {(char *)"@list", NULL, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_list}}, {(char *)"@listcommands", NULL, CA_GOD, 0, CS_ONE_ARG, NULL, NULL, NULL, {do_listcommands}}, {(char *)"@list_file", NULL, CA_WIZARD, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_list_file}}, {(char *)"@listmotd", listmotd_sw, CA_PUBLIC, MOTD_LIST, CS_ONE_ARG, NULL, NULL, NULL, {do_motd}}, {(char *)"@lock", lock_sw, CA_NO_SLAVE, 0, CS_TWO_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_lock}}, {(char *)"@log", NULL, CA_WIZARD, 0, CS_TWO_ARG, NULL, NULL, NULL, {do_logwrite}}, {(char *)"@logrotate", NULL, CA_GOD, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_logrotate}}, {(char *)"@mark", mark_sw, CA_WIZARD, SRCH_MARK, CS_ONE_ARG|CS_NOINTERP, NULL, NULL, NULL, {do_search}}, {(char *)"@mark_all", markall_sw, CA_WIZARD, MARK_SET, CS_NO_ARGS, NULL, NULL, NULL, {do_markall}}, {(char *)"@motd", motd_sw, CA_WIZARD, 0, CS_ONE_ARG, NULL, NULL, NULL, {do_motd}}, {(char *)"@mvattr", NULL, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, 0, CS_TWO_ARG|CS_ARGV, NULL, NULL, NULL, {do_mvattr}}, {(char *)"@name", NULL, CA_NO_SLAVE|CA_GBL_BUILD|CA_NO_GUEST, 0, CS_TWO_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_name}}, {(char *)"@newpassword", NULL, CA_WIZARD, PASS_ANY, CS_TWO_ARG, NULL, NULL, NULL, {do_newpassword}}, {(char *)"@notify", notify_sw, CA_GBL_INTERP|CA_NO_SLAVE|CA_NO_GUEST, 0, CS_TWO_ARG, NULL, NULL, NULL, {do_notify}}, {(char *)"@oemit", oemit_sw, CA_LOCATION|CA_NO_GUEST|CA_NO_SLAVE, PEMIT_OEMIT, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_pemit}}, {(char *)"@open", open_sw, CA_NO_SLAVE|CA_GBL_BUILD|CA_CONTENTS|CA_NO_GUEST, 0, CS_TWO_ARG|CS_ARGV|CS_INTERP, NULL, NULL, NULL, {do_open}}, {(char *)"@parent", NULL, CA_NO_SLAVE|CA_GBL_BUILD|CA_NO_GUEST, 0, CS_TWO_ARG|CS_FUNCTION, NULL, NULL, NULL, {do_parent}}, {(char *)"@password", NULL, CA_NO_GUEST, PASS_MINE, CS_TWO_ARG, NULL, NULL, NULL, {do_password}}, {(char *)"@pcreate", NULL, CA_WIZARD|CA_GBL_BUILD, PCRE_PLAYER, CS_TWO_ARG, NULL, NULL, NULL, {do_pcreate}}, {(char *)"@pemit", pemit_sw, CA_NO_GUEST|CA_NO_SLAVE, PEMIT_PEMIT, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_pemit}}, {(char *)"@npemit", pemit_sw, CA_NO_GUEST|CA_NO_SLAVE, PEMIT_PEMIT, CS_TWO_ARG|CS_UNPARSE|CS_NOSQUISH, NULL, NULL, NULL, {do_pemit}}, {(char *)"@poor", NULL, CA_GOD, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_poor}}, {(char *)"@power", NULL, CA_PUBLIC, 0, CS_TWO_ARG, NULL, NULL, NULL, {do_power}}, {(char *)"@program", NULL, CA_PUBLIC, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_prog}}, {(char *)"@ps", ps_sw, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_ps}}, {(char *)"@quota", quota_sw, CA_PUBLIC, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_quota}}, {(char *)"@quitprogram", NULL, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_quitprog}}, {(char *)"@readcache", NULL, CA_WIZARD, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_readcache}}, {(char *)"@redirect", NULL, CA_PUBLIC, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_redirect}}, {(char *)"@reference", reference_sw, CA_PUBLIC, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_reference}}, {(char *)"@restart", NULL, CA_WIZARD, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_restart}}, {(char *)"@robot", NULL, CA_NO_SLAVE|CA_GBL_BUILD|CA_NO_GUEST|CA_PLAYER, PCRE_ROBOT, CS_TWO_ARG, NULL, NULL, NULL, {do_pcreate}}, {(char *)"@search", NULL, CA_PUBLIC, SRCH_SEARCH, CS_ONE_ARG|CS_NOINTERP, NULL, NULL, NULL, {do_search}}, {(char *)"@set", set_sw, CA_NO_SLAVE|CA_GBL_BUILD|CA_NO_GUEST, 0, CS_TWO_ARG, NULL, NULL, NULL, {do_set}}, {(char *)"@shutdown", shutdown_sw, CA_WIZARD, 0, CS_ONE_ARG, NULL, NULL, NULL, {do_shutdown}}, {(char *)"@sql", NULL, CA_SQL_OK, 0, CS_ONE_ARG, NULL, NULL, NULL, {do_sql}}, {(char *)"@sqlconnect", NULL, CA_WIZARD, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_sql_connect}}, {(char *)"@sqldisconnect", NULL, CA_WIZARD, 0, CS_NO_ARGS, NULL, NULL, NULL, {sql_shutdown}}, {(char *)"@stats", stats_sw, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_stats}}, {(char *)"@startslave", NULL, CA_WIZARD, 0, CS_NO_ARGS, NULL, NULL, NULL, {boot_slave}}, {(char *)"@sweep", sweep_sw, CA_PUBLIC, 0, CS_ONE_ARG, NULL, NULL, NULL, {do_sweep}}, {(char *)"@switch", switch_sw, CA_GBL_INTERP, 0, CS_TWO_ARG|CS_ARGV|CS_CMDARG|CS_NOINTERP|CS_STRIP_AROUND, NULL, NULL, NULL, {do_switch}}, {(char *)"@teleport", teleport_sw, CA_NO_GUEST, TELEPORT_DEFAULT, CS_TWO_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_teleport}}, {(char *)"@timecheck", timecheck_sw, CA_WIZARD, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_timecheck}}, {(char *)"@timewarp", warp_sw, CA_WIZARD, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_timewarp}}, {(char *)"@toad", toad_sw, CA_WIZARD, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_toad}}, {(char *)"@trigger", trig_sw, CA_GBL_INTERP, 0, CS_TWO_ARG|CS_ARGV, NULL, NULL, NULL, {do_trigger}}, {(char *)"@unlink", NULL, CA_NO_SLAVE|CA_GBL_BUILD, 0, CS_ONE_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_unlink}}, {(char *)"@unlock", lock_sw, CA_NO_SLAVE, 0, CS_ONE_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_unlock}}, {(char *)"@verb", verb_sw, CA_GBL_INTERP|CA_NO_SLAVE, 0, CS_TWO_ARG|CS_ARGV|CS_INTERP|CS_STRIP_AROUND, NULL, NULL, NULL, {do_verb}}, {(char *)"@wait", NULL, CA_GBL_INTERP, 0, CS_TWO_ARG|CS_CMDARG|CS_NOINTERP|CS_STRIP_AROUND, NULL, NULL, NULL, {do_wait}}, {(char *)"@wall", wall_sw, CA_PUBLIC, SAY_SHOUT, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_say}}, {(char *)"@wipe", NULL, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, 0, CS_ONE_ARG|CS_INTERP|CS_FUNCTION, NULL, NULL, NULL, {do_wipe}}, {(char *)"drop", drop_sw, CA_NO_SLAVE|CA_CONTENTS|CA_LOCATION|CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_drop}}, {(char *)"enter", enter_sw, CA_LOCATION, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_enter}}, {(char *)"examine", examine_sw, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_examine}}, {(char *)"get", get_sw, CA_LOCATION|CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_get}}, {(char *)"give", give_sw, CA_LOCATION|CA_NO_GUEST, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_give}}, {(char *)"goto", goto_sw, CA_LOCATION, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_move}}, {(char *)"inventory", NULL, CA_PUBLIC, LOOK_INVENTORY, CS_NO_ARGS, NULL, NULL, NULL, {do_inventory}}, {(char *)"kill", NULL, CA_NO_GUEST|CA_NO_SLAVE, KILL_KILL, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_kill}}, {(char *)"leave", leave_sw, CA_LOCATION, 0, CS_NO_ARGS|CS_INTERP, NULL, NULL, NULL, {do_leave}}, {(char *)"look", look_sw, CA_LOCATION, LOOK_LOOK, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_look}}, {(char *)"page", noeval_sw, CA_NO_SLAVE, 0, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_page}}, {(char *)"pose", pose_sw, CA_LOCATION|CA_NO_SLAVE, SAY_POSE, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_say}}, {(char *)"say", noeval_sw, CA_LOCATION|CA_NO_SLAVE, SAY_SAY, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_say}}, {(char *)"score", NULL, CA_PUBLIC, LOOK_SCORE, CS_NO_ARGS, NULL, NULL, NULL, {do_score}}, {(char *)"slay", NULL, CA_WIZARD, KILL_SLAY, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_kill}}, {(char *)"think", NULL, CA_NO_SLAVE, 0, CS_ONE_ARG, NULL, NULL, NULL, {do_think}}, {(char *)"use", NULL, CA_NO_SLAVE|CA_GBL_INTERP, 0, CS_ONE_ARG|CS_INTERP, NULL, NULL, NULL, {do_use}}, {(char *)"version", NULL, CA_PUBLIC, 0, CS_NO_ARGS, NULL, NULL, NULL, {do_version}}, {(char *)"whisper", NULL, CA_LOCATION|CA_NO_SLAVE, PEMIT_WHISPER, CS_TWO_ARG|CS_INTERP, NULL, NULL, NULL, {do_pemit}}, {(char *)"doing", NULL, CA_PUBLIC, CMD_DOING, CS_ONE_ARG, NULL, NULL, NULL, {logged_out}}, {(char *)"quit", NULL, CA_PUBLIC, CMD_QUIT, CS_NO_ARGS, NULL, NULL, NULL, {logged_out}}, {(char *)"logout", NULL, CA_PUBLIC, CMD_LOGOUT, CS_NO_ARGS, NULL, NULL, NULL, {logged_out}}, {(char *)"who", NULL, CA_PUBLIC, CMD_WHO, CS_ONE_ARG, NULL, NULL, NULL, {logged_out}}, {(char *)"session", NULL, CA_PUBLIC, CMD_SESSION, CS_ONE_ARG, NULL, NULL, NULL, {logged_out}}, {(char *)"info", NULL, CA_PUBLIC, CMD_INFO, CS_NO_ARGS, NULL, NULL, NULL, {logged_out}}, {(char *)"outputprefix", NULL, CA_PUBLIC, CMD_PREFIX, CS_ONE_ARG, NULL, NULL, NULL, {logged_out}}, {(char *)"outputsuffix", NULL, CA_PUBLIC, CMD_SUFFIX, CS_ONE_ARG, NULL, NULL, NULL, {logged_out}}, {(char *)"puebloclient", NULL, CA_PUBLIC, CMD_PUEBLOCLIENT,CS_ONE_ARG, NULL, NULL, NULL, {logged_out}}, {(char *)"\\", NULL, CA_NO_GUEST|CA_LOCATION|CF_DARK|CA_NO_SLAVE, SAY_PREFIX|SAY_EMIT, CS_ONE_ARG|CS_INTERP|CS_LEADIN, NULL, NULL, NULL, {do_say}}, {(char *)"#", NULL, CA_NO_SLAVE|CA_GBL_INTERP|CF_DARK, 0, CS_ONE_ARG|CS_INTERP|CS_CMDARG|CS_LEADIN, NULL, NULL, NULL, {do_force_prefixed}}, {(char *)":", NULL, CA_LOCATION|CF_DARK|CA_NO_SLAVE, SAY_PREFIX|SAY_POSE, CS_ONE_ARG|CS_INTERP|CS_LEADIN, NULL, NULL, NULL, {do_say}}, {(char *)";", NULL, CA_LOCATION|CF_DARK|CA_NO_SLAVE, SAY_PREFIX|SAY_POSE_NOSPC, CS_ONE_ARG|CS_INTERP|CS_LEADIN, NULL, NULL, NULL, {do_say}}, {(char *)"\"", NULL, CA_LOCATION|CF_DARK|CA_NO_SLAVE, SAY_PREFIX|SAY_SAY, CS_ONE_ARG|CS_INTERP|CS_LEADIN, NULL, NULL, NULL, {do_say}}, {(char *)"&", NULL, CA_NO_GUEST|CA_NO_SLAVE|CF_DARK, 0, CS_TWO_ARG|CS_LEADIN, NULL, NULL, NULL, {do_setvattr}}, {(char *)NULL, NULL, 0, 0, 0, NULL, NULL, NULL, {NULL}}}; /* --------------------------------------------------------------------------- * Command, function, etc. access name table. */ NAMETAB access_nametab[] = { {(char *)"admin", 2, CA_WIZARD, CA_ADMIN}, {(char *)"builder", 6, CA_WIZARD, CA_BUILDER}, {(char *)"dark", 4, CA_GOD, CF_DARK}, {(char *)"disabled", 4, CA_GOD, CA_DISABLED}, {(char *)"global_build", 8, CA_PUBLIC, CA_GBL_BUILD}, {(char *)"global_interp", 8, CA_PUBLIC, CA_GBL_INTERP}, {(char *)"god", 2, CA_GOD, CA_GOD}, {(char *)"head", 2, CA_WIZARD, CA_HEAD}, {(char *)"immortal", 3, CA_WIZARD, CA_IMMORTAL}, {(char *)"marker0", 7, CA_WIZARD, CA_MARKER0}, {(char *)"marker1", 7, CA_WIZARD, CA_MARKER1}, {(char *)"marker2", 7, CA_WIZARD, CA_MARKER2}, {(char *)"marker3", 7, CA_WIZARD, CA_MARKER3}, {(char *)"marker4", 7, CA_WIZARD, CA_MARKER4}, {(char *)"marker5", 7, CA_WIZARD, CA_MARKER5}, {(char *)"marker6", 7, CA_WIZARD, CA_MARKER6}, {(char *)"marker7", 7, CA_WIZARD, CA_MARKER7}, {(char *)"marker8", 7, CA_WIZARD, CA_MARKER8}, {(char *)"marker9", 7, CA_WIZARD, CA_MARKER9}, {(char *)"need_location", 6, CA_PUBLIC, CA_LOCATION}, {(char *)"need_contents", 6, CA_PUBLIC, CA_CONTENTS}, {(char *)"need_player", 6, CA_PUBLIC, CA_PLAYER}, {(char *)"no_haven", 4, CA_PUBLIC, CA_NO_HAVEN}, {(char *)"no_robot", 4, CA_WIZARD, CA_NO_ROBOT}, {(char *)"no_slave", 5, CA_PUBLIC, CA_NO_SLAVE}, {(char *)"no_suspect", 5, CA_WIZARD, CA_NO_SUSPECT}, {(char *)"no_guest", 5, CA_WIZARD, CA_NO_GUEST}, {(char *)"sql", 2, CA_GOD, CA_SQL_OK}, {(char *)"staff", 3, CA_WIZARD, CA_STAFF}, {(char *)"static", 3, CA_GOD, CA_STATIC}, {(char *)"wizard", 3, CA_WIZARD, CA_WIZARD}, {NULL, 0, 0, 0}}; /* --------------------------------------------------------------------------- * Attribute access name tables. */ NAMETAB attraccess_nametab[] = { {(char *)"const", 2, CA_PUBLIC, AF_CONST}, {(char *)"dark", 2, CA_WIZARD, AF_DARK}, {(char *)"default", 3, CA_WIZARD, AF_DEFAULT}, {(char *)"deleted", 3, CA_WIZARD, AF_DELETED}, {(char *)"god", 1, CA_PUBLIC, AF_GOD}, {(char *)"hidden", 1, CA_WIZARD, AF_MDARK}, {(char *)"ignore", 2, CA_WIZARD, AF_NOCMD}, {(char *)"internal", 2, CA_WIZARD, AF_INTERNAL}, {(char *)"is_lock", 4, CA_PUBLIC, AF_IS_LOCK}, {(char *)"locked", 1, CA_PUBLIC, AF_LOCK}, {(char *)"no_clone", 5, CA_PUBLIC, AF_NOCLONE}, {(char *)"no_command", 5, CA_PUBLIC, AF_NOPROG}, {(char *)"no_inherit", 4, CA_PUBLIC, AF_PRIVATE}, {(char *)"visual", 1, CA_PUBLIC, AF_VISUAL}, {(char *)"wizard", 1, CA_PUBLIC, AF_WIZARD}, { NULL, 0, 0, 0}}; NAMETAB indiv_attraccess_nametab[] = { {(char *)"case", 1, CA_PUBLIC, AF_CASE}, {(char *)"hidden", 1, CA_WIZARD, AF_MDARK}, {(char *)"wizard", 1, CA_WIZARD, AF_WIZARD}, {(char *)"no_command", 4, CA_PUBLIC, AF_NOPROG}, {(char *)"no_inherit", 4, CA_PUBLIC, AF_PRIVATE}, {(char *)"no_name", 4, CA_PUBLIC, AF_NONAME}, {(char *)"no_parse", 4, CA_PUBLIC, AF_NOPARSE}, {(char *)"now", 3, CA_PUBLIC, AF_NOW}, {(char *)"regexp", 2, CA_PUBLIC, AF_REGEXP}, {(char *)"rmatch", 2, CA_PUBLIC, AF_RMATCH}, {(char *)"structure", 1, CA_GOD, AF_STRUCTURE}, {(char *)"visual", 1, CA_PUBLIC, AF_VISUAL}, {(char *)"html", 2, CA_PUBLIC, AF_HTML}, { NULL, 0, 0, 0}}; /* *INDENT-ON* */