lpmoo-1.2/etc/
lpmoo-1.2/mudlib/
lpmoo-1.2/mudlib/etc/
lpmoo-1.2/mudlib/include/
lpmoo-1.2/mudlib/include/moo/
lpmoo-1.2/mudlib/lpc/
lpmoo-1.2/mudlib/std/auto/
lpmoo-1.2/mudlib/std/bfuns/
/*
 * NAME:	moo/errors.h
 * DESCRIPTION:	list of MOO errors
 */

# define E_NONE		 0
# define E_TYPE		 1
# define E_DIV		 2
# define E_PERM		 3
# define E_PROPNF	 4
# define E_VERBNF	 5
# define E_VARNF	 6
# define E_INVIND	 7
# define E_RECMOVE	 8
# define E_MAXREC	 9
# define E_RANGE	10
# define E_ARGS		11
# define E_NACC		12
# define E_INVARG	13
# define E_QUOTA	14
# define E_OVERFL	15

# define MOO_ERRORS  \
  ([ "E_NONE"		: E_NONE    + 1,  \
     "E_TYPE"		: E_TYPE    + 1,  \
     "E_DIV"		: E_DIV     + 1,  \
     "E_PERM"		: E_PERM    + 1,  \
     "E_PROPNF"		: E_PROPNF  + 1,  \
     "E_VERBNF"		: E_VERBNF  + 1,  \
     "E_VARNF"		: E_VARNF   + 1,  \
     "E_INVIND"		: E_INVIND  + 1,  \
     "E_RECMOVE"	: E_RECMOVE + 1,  \
     "E_MAXREC"		: E_MAXREC  + 1,  \
     "E_RANGE"		: E_RANGE   + 1,  \
     "E_ARGS"		: E_ARGS    + 1,  \
     "E_NACC"		: E_NACC    + 1,  \
     "E_INVARG"		: E_INVARG  + 1,  \
     "E_QUOTA"		: E_QUOTA   + 1,  \
     "E_OVERFL"		: E_OVERFL  + 1,  \
  ])

# define ERROR_NAMES  \
  ({ "E_NONE",  "E_TYPE",   "E_DIV",     "E_PERM",   "E_PROPNF", "E_VERBNF",  \
     "E_VARNF", "E_INVIND", "E_RECMOVE", "E_MAXREC", "E_RANGE",  "E_ARGS",    \
     "E_NACC",  "E_INVARG", "E_QUOTA",   "E_OVERFL",                          \
  })

# define ERROR_DESCS  \
  ({ "No error",			"Type mismatch",		 \
     "Division by zero",		"Permission denied",		 \
     "Property not found",		"Verb not found",		 \
     "Variable not found",		"Invalid indirection",		 \
     "Recursive move",			"Too many verb calls",		 \
     "Range error",			"Incorrect number of arguments", \
     "Move refused by destination",	"Invalid argument",		 \
     "Object ownership quota exceeded",	"Floating point overflow",	 \
  })