fbmuck-6.01/contrib/jresolver/
fbmuck-6.01/contrib/jresolver/org/
fbmuck-6.01/contrib/jresolver/org/fuzzball/
fbmuck-6.01/docs/devel/
fbmuck-6.01/game/
fbmuck-6.01/game/logs/
fbmuck-6.01/game/muf/
fbmuck-6.01/scripts/
fbmuck-6.01/src_docs/
#ifndef _MFUNLIST_H
#define _MFUNLIST_H

/*********************************************************************
 *  mfunlist.h   MPI functions list.    7/30/94
 *********************************************************************/

#include "msgparse.h"

typedef struct mfun_dat MFNDAT;

struct mfun_dat {
	char *name;
	const char *(*mfn) (MFUNARGS);
	short parsep;
	short postp;
	short stripp;
	short minargs;
	short maxargs;
};

/******** MFUN LIST ********/
#ifdef DEFINE_MFUN_LIST
MFNDAT mfun_list[] = {
	/* Name, Func, Preparse?, Postparse?, strip?, Minargs, Maxargs  */

    {"ABS",          mfn_abs,         1, 0, 1, 1,  1}, 
    {"ADD",          mfn_add,         1, 0, 1, 2,  9}, 
    {"AND",          mfn_and,         0, 0, 1, 2,  9}, 
    {"ATTR",         mfn_attr,        1, 0, 1, 2,  9}, 
    {"AWAKE",        mfn_awake,       1, 0, 1, 1,  1}, 
    {"BLESS",        mfn_bless,       1, 0, 1, 1,  2}, 
    {"CENTER",       mfn_center,      1, 0, 0, 1,  3}, 
    {"COMMAS",       mfn_commas,      0, 0, 0, 1,  4}, 
    {"CONCAT",       mfn_concat,      1, 0, 1, 1,  2}, 
    {"CONTAINS",     mfn_contains,    1, 0, 1, 1,  2}, 
    {"CONTENTS",     mfn_contents,    1, 0, 1, 1,  2}, 
    {"CONTROLS",     mfn_controls,    1, 0, 1, 1,  2}, 
    {"CONVSECS",     mfn_convsecs,    1, 0, 1, 1,  1}, 
    {"CONVTIME",     mfn_convtime,    1, 0, 1, 1,  1}, 
    {"COUNT",        mfn_count,       1, 0, 0, 1,  2}, 
    {"CREATED",      mfn_created,     1, 0, 1, 1,  1}, 
    {"DATE",         mfn_date,        1, 0, 1, 0,  1}, 
    {"DBEQ",         mfn_dbeq,        1, 0, 1, 2,  2}, 
    {"DEBUG",        mfn_debug,       0, 0, 0, 1,  1}, 
    {"DEBUGIF",      mfn_debugif,     0, 0, 0, 2,  2}, 
    {"DEC",          mfn_dec,         1, 0, 1, 1,  2}, 
    {"DEFAULT",      mfn_default,     0, 0, 0, 2,  2}, 
    {"DELAY",        mfn_delay,       1, 0, 1, 2,  2}, 
    {"DELPROP",      mfn_delprop,     1, 0, 1, 1,  2}, 
    {"DICE",         mfn_dice,        1, 0, 1, 1,  3}, 
    {"DIST",         mfn_dist,        1, 0, 1, 2,  6}, 
    {"DIV",          mfn_div,         1, 0, 1, 2,  9}, 
    {"ESCAPE",       mfn_escape,      1, 0, 0, 1,  1}, 
    {"EQ",           mfn_eq,          1, 0, 0, 2,  2}, 
    {"EVAL",         mfn_eval,        1, 0, 0, 1,  1}, 
    {"EVAL!",        mfn_evalbang,    1, 0, 0, 1,  1}, 
    {"EXEC",         mfn_exec,        1, 0, 1, 1,  2}, 
    {"EXEC!",        mfn_execbang,    1, 0, 1, 1,  2}, 
    {"EXITS",        mfn_exits,       1, 0, 1, 1,  1}, 
    {"FILTER",       mfn_filter,      0, 0, 0, 3,  5}, 
    {"FLAGS",        mfn_flags,       1, 0, 1, 1,  1}, 
    {"FOLD",         mfn_fold,        0, 0, 0, 4,  5}, 
    {"FOR",          mfn_for,         0, 0, 0, 5,  5}, 
    {"FORCE",        mfn_force,       1, 0, 1, 2,  2}, 
    {"FOREACH",      mfn_foreach,     0, 0, 0, 3,  4}, 
    {"FOX",          mfn_fox,         0, 0, 0, 0,  0}, 
    {"FTIME",        mfn_ftime,       1, 0, 0, 1,  3}, 
    {"FULLNAME",     mfn_fullname,    1, 0, 1, 1,  1}, 
    {"FUNC",         mfn_func,        0, 0, 1, 2,  9}, /* define a function */
    {"GE",           mfn_ge,          1, 0, 1, 2,  2}, 
    {"GT",           mfn_gt,          1, 0, 1, 2,  2}, 
    {"HOLDS",        mfn_holds,       1, 0, 1, 1,  2}, 
    {"IDLE",         mfn_idle,        1, 0, 1, 1,  1}, 
    {"IF",           mfn_if,          0, 0, 0, 2,  3}, 
    {"INC",          mfn_inc,         1, 0, 1, 1,  2}, 
    {"INDEX",        mfn_index,       1, 0, 1, 1,  2}, 
    {"INDEX!",       mfn_indexbang,   1, 0, 1, 1,  2}, 
    {"INSTR",        mfn_instr,       1, 0, 0, 2,  2}, 
    {"ISDBREF",      mfn_isdbref,     1, 0, 1, 1,  1}, 
    {"ISNUM",        mfn_isnum,       1, 0, 1, 1,  1}, 
    {"ISTYPE",       mfn_istype,      1, 0, 1, 2,  2}, 
    {"KILL",         mfn_kill,        1, 0, 1, 1,  1}, 
    {"LASTUSED",     mfn_lastused,    1, 0, 1, 1,  1}, 
    {"LCOMMON",      mfn_lcommon,     1, 0, 0, 2,  2}, /* items in both 1 & 2 */
    {"LE",           mfn_le,          1, 0, 1, 2,  2}, 
    {"LEFT",         mfn_left,        1, 0, 0, 1,  3}, 
    {"LEXEC",        mfn_lexec,       1, 0, 1, 1,  2}, 
    {"LINKS",        mfn_links,       1, 0, 1, 1,  1}, 
    {"LIST",         mfn_list,        1, 0, 1, 1,  2}, 
    {"LISTPROPS",    mfn_listprops,   1, 0, 1, 1,  3}, 
    {"LIT",          mfn_lit,         0, 0, 0, 1, -1}, 
    {"LMEMBER",      mfn_lmember,     1, 0, 0, 2,  3}, 
    {"LOC",          mfn_loc,         1, 0, 1, 1,  1}, 
    {"LOCKED",       mfn_locked,      1, 0, 1, 2,  2}, 
    {"LRAND",        mfn_lrand,       1, 0, 0, 1,  2}, /* returns random list item */
    {"LREMOVE",      mfn_lremove,     1, 0, 0, 2,  2}, /* items in 1 not in 2 */
    {"LSORT",        mfn_lsort,       0, 0, 0, 1,  4}, /* sort list items */
    {"LT",           mfn_lt,          1, 0, 1, 2,  2}, 
    {"LTIMESTR",     mfn_ltimestr,    1, 0, 1, 1,  1}, 
    {"LUNION",       mfn_lunion,      1, 0, 0, 2,  2}, /* items from both */
    {"LUNIQUE",      mfn_lunique,     1, 0, 0, 1,  1}, /* make items unique */
    {"MAX",          mfn_max,         1, 0, 1, 2,  2}, 
    {"MIDSTR",       mfn_midstr,      1, 0, 0, 2,  3}, 
    {"MIN",          mfn_min,         1, 0, 1, 2,  2}, 
    {"MKLIST",       mfn_mklist,      1, 0, 0, 0,  9}, 
    {"MOD",          mfn_mod,         1, 0, 1, 2,  9}, 
    {"MODIFIED",     mfn_modified,    1, 0, 1, 1,  1}, 
    {"MONEY",        mfn_money,       1, 0, 1, 1,  1}, 
    {"MUCKNAME",     mfn_muckname,    0, 0, 0, 0,  0}, 
    {"MUF",          mfn_muf,         1, 0, 0, 2,  2}, 
    {"MULT",         mfn_mult,        1, 0, 1, 2,  9}, 
    {"NAME",         mfn_name,        1, 0, 1, 1,  1}, 
    {"NE",           mfn_ne,          1, 0, 0, 2,  2}, 
    {"NEARBY",       mfn_nearby,      1, 0, 1, 1,  2}, 
    {"NL",           mfn_nl,          0, 0, 0, 0,  0}, 
    {"NOT",          mfn_not,         1, 0, 1, 1,  1}, 
    {"NULL",         mfn_null,        1, 0, 0, 0,  9}, 
    {"ONLINE",       mfn_online,      0, 0, 0, 0,  0}, 
    {"ONTIME",       mfn_ontime,      1, 0, 1, 1,  1}, 
    {"OR",           mfn_or,          0, 0, 1, 2,  9}, 
    {"OTELL",        mfn_otell,       1, 0, 0, 1,  3}, 
    {"OWNER",        mfn_owner,       1, 0, 1, 1,  1}, 
    {"PARSE",        mfn_parse,       0, 0, 0, 3,  5}, 
    {"PRONOUNS",     mfn_pronouns,    1, 0, 0, 1,  2}, 
    {"PROP",         mfn_prop,        1, 0, 1, 1,  2}, 
    {"PROP!",        mfn_propbang,    1, 0, 1, 1,  2}, 
    {"PROPDIR",      mfn_propdir,     1, 0, 1, 1,  2}, 
    {"RAND",         mfn_rand,        1, 0, 1, 1,  2}, 
    {"RIGHT",        mfn_right,       1, 0, 0, 1,  3}, 
    {"REF",          mfn_ref,         1, 0, 1, 1,  1}, 
    {"REVOKE",       mfn_revoke,      0, 0, 0, 1,  1}, 
    {"SECS",         mfn_secs,        0, 0, 0, 0,  0}, 
    {"SELECT",       mfn_select,      1, 0, 1, 2,  3}, 
    {"SET",          mfn_set,         1, 0, 0, 2,  2}, 
    {"SIGN",         mfn_sign,        1, 0, 1, 1,  1}, 
    {"SMATCH",       mfn_smatch,      1, 0, 0, 2,  2}, 
    {"STIMESTR",     mfn_stimestr,    1, 0, 1, 1,  1}, 
    {"STORE",        mfn_store,       1, 0, 1, 2,  3}, 
    {"STRIP",        mfn_strip,       1, 0, 0, 1, -1}, 
    {"STRLEN",       mfn_strlen,      1, 0, 0, 1,  1}, 
    {"SUBLIST",      mfn_sublist,     1, 0, 0, 1,  4}, 
    {"SUBST",        mfn_subst,       1, 0, 0, 3,  3}, 
    {"SUBT",         mfn_subt,        1, 0, 1, 2,  9}, 
    {"TESTLOCK",     mfn_testlock,    1, 0, 1, 2,  4}, 
    {"TELL",         mfn_tell,        1, 0, 0, 1,  2}, 
    {"TIME",         mfn_time,        1, 0, 1, 0,  1}, 
    {"TIMING",       mfn_timing,      0, 0, 0, 1,  1}, 
    {"TIMESTR",      mfn_timestr,     1, 0, 1, 1,  1}, 
    {"TIMESUB",      mfn_timesub,     1, 0, 1, 3,  4}, 
    {"TOLOWER",      mfn_tolower,     1, 0, 0, 1,  1}, 
    {"TOUPPER",      mfn_toupper,     1, 0, 0, 1,  1}, 
    {"TYPE",         mfn_type,        1, 0, 1, 1,  1}, 
    {"TZOFFSET",     mfn_tzoffset,    0, 0, 0, 0,  0}, 
    {"UNBLESS",      mfn_unbless,     1, 0, 1, 1,  2}, 
    {"USECOUNT",     mfn_usecount,    1, 0, 1, 1,  1}, 
    {"V",            mfn_v,           1, 0, 1, 1,  1}, /* variable value */
    {"VERSION",      mfn_version,     0, 0, 0, 0,  0}, 
    {"WHILE",        mfn_while,       0, 0, 0, 2,  2}, 
    {"WITH",         mfn_with,        0, 0, 0, 3,  9}, /* declares var & val */
    {"XOR",          mfn_xor,         1, 0, 1, 2,  2}, /* logical XOR */

	{NULL, NULL, 0, 0, 0, 0, 0}	/* Ends the mfun list */
};
#else
extern MFNDAT mfun_list[];
#endif /* defined DEFINE_MFUN_LIST */

#endif /* _MFUNLIST_H */