tinymush-3.1p2/game/backups/
tinymush-3.1p2/game/bin/
tinymush-3.1p2/game/data/
tinymush-3.1p2/game/modules/
tinymush-3.1p2/game/modules/old/
tinymush-3.1p2/src/modules/comsys/
tinymush-3.1p2/src/modules/hello/
tinymush-3.1p2/src/modules/mail/
tinymush-3.1p2/src/tools/
/* 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* */