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/
/* fnproto.h - function prototypes from funmath.c, etc. */
/* $Id: fnproto.h,v 1.73 2002/12/10 21:23:23 lwl Exp $ */

#include "copyright.h"

#ifndef __FNPROTO_H
#define __FNPROTO_H

#define	XFUNCTION(x)	\
	extern void FDECL(x, (char *, char **, dbref, dbref, dbref, \
			      char *[], int, char *[], int))

#ifdef PUEBLO_SUPPORT
XFUNCTION(fun_html_escape);
XFUNCTION(fun_html_unescape);
XFUNCTION(fun_url_escape);
XFUNCTION(fun_url_unescape);
#endif /* PUEBLO SUPPORT */

XFUNCTION(fun_config);
XFUNCTION(fun_lwho);
XFUNCTION(fun_ports);
XFUNCTION(fun_doing);
XFUNCTION(handle_conninfo);
XFUNCTION(fun_conn);
XFUNCTION(fun_session);
XFUNCTION(fun_programmer);
XFUNCTION(fun_helptext);
XFUNCTION(fun_sql);

/* From funiter.c */

XFUNCTION(perform_loop);
XFUNCTION(perform_iter);
XFUNCTION(fun_ilev);
XFUNCTION(fun_itext);
XFUNCTION(fun_inum);
XFUNCTION(fun_fold);
XFUNCTION(handle_filter);
XFUNCTION(fun_map);
XFUNCTION(fun_mix);
XFUNCTION(fun_step);
XFUNCTION(fun_foreach);
XFUNCTION(fun_munge);
XFUNCTION(fun_while);

/* From funlist.c */

XFUNCTION(fun_words);
XFUNCTION(fun_first);
XFUNCTION(fun_rest);
XFUNCTION(fun_last);
XFUNCTION(fun_match);
XFUNCTION(fun_matchall);
XFUNCTION(fun_extract);
XFUNCTION(fun_index);
XFUNCTION(fun_ldelete);
XFUNCTION(fun_replace);
XFUNCTION(fun_insert);
XFUNCTION(fun_remove);
XFUNCTION(fun_member);
XFUNCTION(fun_revwords);
XFUNCTION(fun_splice);
XFUNCTION(fun_sort);
XFUNCTION(fun_sortby);
XFUNCTION(handle_sets);
XFUNCTION(fun_columns);
XFUNCTION(process_tables);
XFUNCTION(fun_table);
XFUNCTION(fun_elements);
XFUNCTION(fun_grab);
XFUNCTION(fun_graball);
XFUNCTION(fun_shuffle);
XFUNCTION(fun_ledit);
XFUNCTION(fun_itemize);
XFUNCTION(fun_choose);
XFUNCTION(fun_group);

/* From funmath.c */

XFUNCTION(fun_pi);
XFUNCTION(fun_e);
XFUNCTION(fun_sign);
XFUNCTION(fun_abs);
XFUNCTION(fun_floor);
XFUNCTION(fun_ceil);
XFUNCTION(fun_round);
XFUNCTION(fun_trunc);
XFUNCTION(fun_inc);
XFUNCTION(fun_dec);
XFUNCTION(fun_sqrt);
XFUNCTION(fun_exp);
XFUNCTION(fun_ln);
XFUNCTION(handle_trig);
XFUNCTION(fun_gt);
XFUNCTION(fun_gte);
XFUNCTION(fun_lt);
XFUNCTION(fun_lte);
XFUNCTION(fun_eq);
XFUNCTION(fun_neq);
XFUNCTION(fun_ncomp);
XFUNCTION(fun_sub);
XFUNCTION(fun_div);
XFUNCTION(fun_floordiv);
XFUNCTION(fun_fdiv);
XFUNCTION(fun_modulo);
XFUNCTION(fun_remainder);
XFUNCTION(fun_power);
XFUNCTION(fun_log);
XFUNCTION(fun_shl);
XFUNCTION(fun_shr);
XFUNCTION(fun_band);
XFUNCTION(fun_bor);
XFUNCTION(fun_bnand);
XFUNCTION(fun_add);
XFUNCTION(fun_mul);
XFUNCTION(fun_max);
XFUNCTION(fun_min);
XFUNCTION(fun_dist2d);
XFUNCTION(fun_dist3d);
XFUNCTION(fun_ladd);
XFUNCTION(fun_lmax);
XFUNCTION(fun_lmin);
XFUNCTION(handle_vector);
XFUNCTION(handle_vectors);
XFUNCTION(fun_not);
XFUNCTION(fun_notbool);
XFUNCTION(fun_t);
XFUNCTION(handle_logic);

/* From funmisc.c */

XFUNCTION(fun_switchall);
XFUNCTION(fun_switch);
XFUNCTION(fun_case);
XFUNCTION(fun_ifelse);
XFUNCTION(fun_nonzero);
XFUNCTION(fun_rand);
XFUNCTION(fun_die);
XFUNCTION(fun_lrand);
XFUNCTION(fun_lnum);
XFUNCTION(fun_time);
XFUNCTION(fun_secs);
XFUNCTION(fun_convsecs);
XFUNCTION(fun_convtime);
XFUNCTION(fun_timefmt);
XFUNCTION(fun_starttime);
XFUNCTION(fun_restarts);
XFUNCTION(fun_restarttime);
XFUNCTION(fun_version);
XFUNCTION(fun_mudname);
XFUNCTION(fun_hasmodule);
XFUNCTION(fun_connrecord);
XFUNCTION(fun_fcount);
XFUNCTION(fun_fdepth);
XFUNCTION(fun_ccount);
XFUNCTION(fun_cdepth);
XFUNCTION(fun_s);
XFUNCTION(fun_subeval);
XFUNCTION(fun_link);
XFUNCTION(fun_tel);
XFUNCTION(fun_wipe);
XFUNCTION(fun_pemit);
XFUNCTION(fun_remit);
XFUNCTION(fun_oemit);
XFUNCTION(fun_force);
XFUNCTION(fun_trigger);
XFUNCTION(fun_wait);
XFUNCTION(fun_command);
XFUNCTION(fun_create);
XFUNCTION(fun_set);

/* From funobj.c */

XFUNCTION(fun_con);
XFUNCTION(fun_exit);
XFUNCTION(fun_next);
XFUNCTION(handle_loc);
XFUNCTION(fun_rloc);
XFUNCTION(fun_room);
XFUNCTION(fun_owner);
XFUNCTION(fun_controls);
XFUNCTION(fun_sees);
XFUNCTION(fun_nearby);
XFUNCTION(handle_name);
XFUNCTION(handle_pronoun);
XFUNCTION(fun_lock);
XFUNCTION(fun_elock);
XFUNCTION(fun_elockstr);
XFUNCTION(fun_xcon);
XFUNCTION(fun_lcon);
XFUNCTION(fun_lexits);
XFUNCTION(fun_entrances);
XFUNCTION(fun_home);
XFUNCTION(fun_money);
XFUNCTION(fun_findable);
XFUNCTION(fun_visible);
XFUNCTION(fun_writable);
XFUNCTION(fun_flags);
XFUNCTION(handle_flaglists);
XFUNCTION(fun_hasflag);
XFUNCTION(fun_haspower);
XFUNCTION(fun_hasflags);
XFUNCTION(handle_timestamp);
XFUNCTION(fun_parent);
XFUNCTION(fun_lparent);
XFUNCTION(fun_children);
XFUNCTION(fun_zone);
XFUNCTION(scan_zone);
XFUNCTION(fun_zfun);
XFUNCTION(fun_hasattr);
XFUNCTION(fun_v);
XFUNCTION(perform_get);
XFUNCTION(fun_eval);
XFUNCTION(do_ufun);
XFUNCTION(fun_objcall);
XFUNCTION(fun_localize);
XFUNCTION(fun_default);
XFUNCTION(fun_edefault);
XFUNCTION(fun_udefault);
XFUNCTION(fun_objeval);
XFUNCTION(fun_num);
XFUNCTION(fun_pmatch);
XFUNCTION(fun_pfind);
XFUNCTION(fun_locate);
XFUNCTION(handle_lattr);
XFUNCTION(fun_search);
XFUNCTION(fun_stats);
XFUNCTION(fun_objmem);
XFUNCTION(fun_playmem);
XFUNCTION(fun_type);
XFUNCTION(fun_hastype);
XFUNCTION(fun_lastcreate);
XFUNCTION(fun_speak);
XFUNCTION(handle_okpres);

/* From funstring.c */

XFUNCTION(fun_isword);
XFUNCTION(fun_isnum);
XFUNCTION(fun_isdbref);
XFUNCTION(fun_null);
XFUNCTION(fun_squish);
XFUNCTION(fun_trim);
XFUNCTION(fun_after);
XFUNCTION(fun_before);
XFUNCTION(fun_lcstr);
XFUNCTION(fun_ucstr);
XFUNCTION(fun_capstr);
XFUNCTION(fun_space);
XFUNCTION(fun_ljust);
XFUNCTION(fun_rjust);
XFUNCTION(fun_center);
XFUNCTION(fun_left);
XFUNCTION(fun_right);
XFUNCTION(fun_chomp);
XFUNCTION(fun_comp);
XFUNCTION(fun_streq);
XFUNCTION(fun_strmatch);
XFUNCTION(fun_edit);
XFUNCTION(fun_merge);
XFUNCTION(fun_secure);
XFUNCTION(fun_escape);
XFUNCTION(fun_ansi);
XFUNCTION(fun_stripansi);
XFUNCTION(fun_encrypt);
XFUNCTION(fun_decrypt);
XFUNCTION(fun_scramble);
XFUNCTION(fun_reverse);
XFUNCTION(fun_mid);
XFUNCTION(fun_translate);
XFUNCTION(fun_pos);
XFUNCTION(fun_lpos);
XFUNCTION(fun_wordpos);
XFUNCTION(fun_ansipos);
XFUNCTION(fun_repeat);
XFUNCTION(perform_border);
XFUNCTION(fun_cat);
XFUNCTION(fun_strcat);
XFUNCTION(fun_strlen);
XFUNCTION(fun_delete);
XFUNCTION(fun_lit);
XFUNCTION(fun_art);
XFUNCTION(fun_alphamax);
XFUNCTION(fun_alphamin);
XFUNCTION(fun_valid);
XFUNCTION(fun_beep);

/* From funvars.c */

XFUNCTION(fun_setq);
XFUNCTION(fun_setr);
XFUNCTION(fun_r);
XFUNCTION(fun_wildmatch);
XFUNCTION(fun_x);
XFUNCTION(fun_setx);
XFUNCTION(fun_store);
XFUNCTION(fun_xvars);
XFUNCTION(fun_let);
XFUNCTION(fun_lvars);
XFUNCTION(fun_clearvars);
XFUNCTION(fun_structure);
XFUNCTION(fun_construct);
XFUNCTION(fun_load);
XFUNCTION(fun_read);
XFUNCTION(fun_delimit);
XFUNCTION(fun_z);
XFUNCTION(fun_modify);
XFUNCTION(fun_unload);
XFUNCTION(fun_write);
XFUNCTION(fun_destruct);
XFUNCTION(fun_unstructure);
XFUNCTION(fun_lstructures);
XFUNCTION(fun_linstances);
XFUNCTION(fun_empty);
XFUNCTION(fun_items);
XFUNCTION(fun_push);
XFUNCTION(fun_dup);
XFUNCTION(fun_swap);
XFUNCTION(handle_pop);
XFUNCTION(fun_popn);
XFUNCTION(fun_lstack);
XFUNCTION(perform_regedit);
XFUNCTION(fun_wildparse);
XFUNCTION(perform_regparse);
XFUNCTION(perform_regrab);
XFUNCTION(perform_regmatch);
XFUNCTION(fun_until);
XFUNCTION(perform_grep);

/* *INDENT-OFF* */

/* ---------------------------------------------------------------------------
 * flist: List of existing functions in alphabetical order.
 */

FUN flist[] = {
{"@@",		fun_null,	1,  FN_NO_EVAL,	CA_PUBLIC,	NULL},
{"ABS",		fun_abs,	1,  0,		CA_PUBLIC,	NULL},
{"ACOS",	handle_trig,	1,  TRIG_ARC|TRIG_CO,
						CA_PUBLIC,	NULL},
{"ACOSD",	handle_trig,	1,  TRIG_ARC|TRIG_CO|TRIG_DEG,
						CA_PUBLIC,	NULL},
{"ADD",		fun_add,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"AFTER",	fun_after,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"ALPHAMAX",	fun_alphamax,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"ALPHAMIN",	fun_alphamin,   0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"AND",		handle_logic,	0,  FN_VARARGS|LOGIC_AND,
						CA_PUBLIC,	NULL},
{"ANDBOOL",	handle_logic,	0,  FN_VARARGS|LOGIC_AND|LOGIC_BOOL,
						CA_PUBLIC,	NULL},
{"ANDFLAGS",	handle_flaglists, 2, 0,		CA_PUBLIC,	NULL},
{"ANSI",        fun_ansi,       2,  0,          CA_PUBLIC,	NULL},
{"ANSIPOS",     fun_ansipos,    0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"APOSS",	handle_pronoun,	1,  PRONOUN_APOSS, CA_PUBLIC,	NULL},
{"ART",		fun_art,	1,  0,		CA_PUBLIC,	NULL},
{"ASIN",	handle_trig,	1,  TRIG_ARC,	CA_PUBLIC,	NULL},
{"ASIND",	handle_trig,	1,  TRIG_ARC|TRIG_DEG,
						CA_PUBLIC,	NULL},
{"ATAN",	handle_trig,	1,  TRIG_ARC|TRIG_TAN,
						CA_PUBLIC,	NULL},
{"ATAND",	handle_trig,	1,  TRIG_ARC|TRIG_TAN|TRIG_DEG,
						CA_PUBLIC,	NULL},
{"BAND",	fun_band,	2,  0,		CA_PUBLIC,	NULL},
{"BEEP",        fun_beep,       0,  0,          CA_WIZARD,	NULL},
{"BEFORE",	fun_before,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"BNAND",	fun_bnand,	2,  0,		CA_PUBLIC,	NULL},
{"BOR",		fun_bor,	2,  0,		CA_PUBLIC,	NULL},
{"BORDER",	perform_border,	0,  FN_VARARGS|JUST_LEFT,
						CA_PUBLIC,	NULL},
{"CANDBOOL",	handle_logic,	0,  FN_VARARGS|FN_NO_EVAL|LOGIC_AND|LOGIC_BOOL,
     						CA_PUBLIC,	NULL},
{"CAND",	handle_logic,	0,  FN_VARARGS|FN_NO_EVAL|LOGIC_AND,
     						CA_PUBLIC,	NULL},
{"CAPSTR",	fun_capstr,	-1, 0,		CA_PUBLIC,	NULL},
{"CASE",	fun_case,	0,  FN_VARARGS|FN_NO_EVAL,
						CA_PUBLIC,	NULL},
{"CAT",		fun_cat,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"CBORDER",	perform_border,	0,  FN_VARARGS|JUST_CENTER,
						CA_PUBLIC,	NULL},
{"CCOUNT",	fun_ccount,	0,  0,		CA_PUBLIC,	NULL},
{"CDEPTH",	fun_cdepth,	0,  0,		CA_PUBLIC,	NULL},
{"CEIL",	fun_ceil,	1,  0,		CA_PUBLIC,	NULL},
{"CENTER",	fun_center,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"CHILDREN",    fun_children,   0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"CHOMP",	fun_chomp,	1,  0,		CA_PUBLIC,	NULL},
{"CHOOSE",	fun_choose,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"CLEARVARS",	fun_clearvars,	0,  0,		CA_PUBLIC,	NULL},
{"COLUMNS",	fun_columns,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"COMMAND",	fun_command,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"COMP",	fun_comp,	2,  0,		CA_PUBLIC,	NULL},
{"CON",		fun_con,	1,  0,		CA_PUBLIC,	NULL},
{"CONFIG",	fun_config,	1,  0,		CA_PUBLIC,	NULL},
{"CONN",	handle_conninfo, 1, 0,		CA_PUBLIC,	NULL},
{"CONNRECORD",	fun_connrecord,	0,  0,		CA_PUBLIC,	NULL},
{"CONSTRUCT",	fun_construct,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"CONTROLS", 	fun_controls,	2,  0,		CA_PUBLIC,	NULL},
{"CONVSECS",    fun_convsecs,   1,  0,		CA_PUBLIC,	NULL},
{"CONVTIME",    fun_convtime,   1,  0,		CA_PUBLIC,	NULL},
{"COR",		handle_logic,	0,  FN_VARARGS|FN_NO_EVAL|LOGIC_OR,
     						CA_PUBLIC,	NULL},
{"CORBOOL",	handle_logic,	0,  FN_VARARGS|FN_NO_EVAL|LOGIC_OR|LOGIC_BOOL,
     						CA_PUBLIC,	NULL},
{"COS",		handle_trig,	1,  TRIG_CO,	CA_PUBLIC,	NULL},
{"COSD",	handle_trig,	1,  TRIG_CO|TRIG_DEG,
						CA_PUBLIC,	NULL},
{"CREATE",      fun_create,     0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"CTABLES",	process_tables,	0,  FN_VARARGS|JUST_CENTER,
						CA_PUBLIC,	NULL},
{"DEC",         fun_dec,        1,  0,          CA_PUBLIC,	NULL},
{"DECRYPT",	fun_decrypt,	2,  0,		CA_PUBLIC,	NULL},
{"DEFAULT",	fun_default,	2,  FN_NO_EVAL, CA_PUBLIC,	NULL},
{"DELETE",	fun_delete,	3,  0,		CA_PUBLIC,	NULL},
{"DELIMIT",	fun_delimit,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"DESTRUCT",	fun_destruct,	1,  0,		CA_PUBLIC,	NULL},
{"DIE",		fun_die,	2,  0,		CA_PUBLIC,	NULL},
{"DIST2D",	fun_dist2d,	4,  0,		CA_PUBLIC,	NULL},
{"DIST3D",	fun_dist3d,	6,  0,		CA_PUBLIC,	NULL},
{"DIV",		fun_div,	2,  0,		CA_PUBLIC,	NULL},
{"DOING",	fun_doing,	1,  0,		CA_PUBLIC,	NULL},
{"DUP",		fun_dup,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"E",		fun_e,		0,  0,		CA_PUBLIC,	NULL},
{"EDEFAULT",	fun_edefault,	2,  FN_NO_EVAL, CA_PUBLIC,	NULL},
{"EDIT",	fun_edit,	3,  0,		CA_PUBLIC,	NULL},
{"ELEMENTS",	fun_elements,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"ELOCK",	fun_elock,	2,  0,		CA_PUBLIC,	NULL},
{"ELOCKSTR",	fun_elockstr,	3,  0,		CA_PUBLIC,	NULL},
{"EMPTY",	fun_empty,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"ENCRYPT",	fun_encrypt,	2,  0,		CA_PUBLIC,	NULL},
{"ENTRANCES",	fun_entrances,	0,  FN_VARARGS,	CA_NO_GUEST,	NULL},
{"EQ",		fun_eq,		2,  0,		CA_PUBLIC,	NULL},
{"ESCAPE",	fun_escape,	-1, 0,		CA_PUBLIC,	NULL},
{"EXIT",	fun_exit,	1,  0,		CA_PUBLIC,	NULL},
{"EXP",		fun_exp,	1,  0,		CA_PUBLIC,	NULL},
{"EXTRACT",	fun_extract,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"EVAL",        fun_eval,       0,  FN_VARARGS|GET_EVAL|GET_XARGS,
						CA_PUBLIC,	NULL},
{"SUBEVAL",  	fun_subeval,	1,  0,		CA_PUBLIC,	NULL},
{"FCOUNT",	fun_fcount,	0,  0,		CA_PUBLIC,	NULL},
{"FDEPTH",	fun_fdepth,	0,  0,		CA_PUBLIC,	NULL},
{"FDIV",	fun_fdiv,	2,  0,		CA_PUBLIC,	NULL},
{"FILTER",	handle_filter,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"FILTERBOOL",	handle_filter,	0,  FN_VARARGS|LOGIC_BOOL,
						CA_PUBLIC,	NULL},
{"FINDABLE",	fun_findable,	2,  0,		CA_PUBLIC,	NULL},
{"FIRST",	fun_first,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"FLAGS",	fun_flags,	1,  0,		CA_PUBLIC,	NULL},
{"FLOOR",	fun_floor,	1,  0,		CA_PUBLIC,	NULL},
{"FLOORDIV",	fun_floordiv,	2,  0,		CA_PUBLIC,	NULL},
{"FOLD",	fun_fold,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"FORCE",	fun_force,	2,  0,		CA_PUBLIC,	NULL},
{"FOREACH",	fun_foreach,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"FULLNAME",	handle_name,	1,  NAMEFN_FULLNAME, CA_PUBLIC,	NULL},
{"GET",		perform_get,	1,  0,		CA_PUBLIC,	NULL},
{"GET_EVAL",	perform_get,	1,  GET_EVAL,	CA_PUBLIC,	NULL},
{"GRAB",	fun_grab,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"GRABALL",	fun_graball,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"GREP",	perform_grep,	0,  FN_VARARGS|GREP_EXACT,	CA_PUBLIC,	NULL},
{"GREPI",	perform_grep,	0,  FN_VARARGS|GREP_EXACT|REG_CASELESS,
						CA_PUBLIC,	NULL},
{"GROUP",	fun_group,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"GT",		fun_gt,		2,  0,		CA_PUBLIC,	NULL},
{"GTE",		fun_gte,	2,  0,		CA_PUBLIC,	NULL},
{"HASATTR",	fun_hasattr,	2,  0,		CA_PUBLIC,	NULL},
{"HASATTRP",	fun_hasattr,	2,  CHECK_PARENTS,
						CA_PUBLIC,	NULL},
{"HASFLAG",	fun_hasflag,	2,  0,		CA_PUBLIC,	NULL},
{"HASFLAGS",	fun_hasflags,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"HASMODULE",	fun_hasmodule,	1,  0,		CA_PUBLIC,	NULL},
{"HASPOWER",    fun_haspower,   2,  0,          CA_PUBLIC,	NULL},
{"HASTYPE",	fun_hastype,	2,  0,		CA_PUBLIC,	NULL},
{"HEARS",	handle_okpres,	2,  PRESFN_HEARS,
						CA_PUBLIC,	NULL},
{"HELPTEXT",	fun_helptext,	2,  0,		CA_PUBLIC,	NULL},
{"HOME",	fun_home,	1,  0,		CA_PUBLIC,	NULL},
#ifdef PUEBLO_SUPPORT
{"HTML_ESCAPE",	fun_html_escape,-1, 0,		CA_PUBLIC,	NULL},
{"HTML_UNESCAPE",fun_html_unescape,-1,0,	CA_PUBLIC,	NULL},
#endif /* PUEBLO_SUPPORT */
{"IDLE",	handle_conninfo, 1, CONNINFO_IDLE, CA_PUBLIC,	NULL},
{"IFELSE",      fun_ifelse,     0,  FN_VARARGS|FN_NO_EVAL,
						CA_PUBLIC,	NULL},
{"ILEV",	fun_ilev,	0,  0,		CA_PUBLIC,	NULL},
{"INC",         fun_inc,        1,  0,          CA_PUBLIC,	NULL},
{"INDEX",	fun_index,	4,  0,		CA_PUBLIC,	NULL},
{"INSERT",	fun_insert,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"INUM",	fun_inum,	1,  0,		CA_PUBLIC,	NULL},
{"INZONE",	scan_zone,	1,  TYPE_ROOM,	CA_PUBLIC,	NULL},
{"ISDBREF",	fun_isdbref,	1,  0,		CA_PUBLIC,	NULL},
{"ISNUM",	fun_isnum,	1,  0,		CA_PUBLIC,	NULL},
{"ISWORD",	fun_isword,	1,  0,		CA_PUBLIC,	NULL},
{"ITEMIZE",	fun_itemize,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"ITEMS",	fun_items,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"ITER",	perform_iter,	0,  FN_VARARGS|FN_NO_EVAL|BOOL_COND_NONE|FILT_COND_NONE,
						CA_PUBLIC,	NULL},
{"ISFALSE",	perform_iter,	0,  FN_VARARGS|FN_NO_EVAL|BOOL_COND_NONE|FILT_COND_FALSE,
						CA_PUBLIC,	NULL},
{"ISTRUE",	perform_iter,	0,  FN_VARARGS|FN_NO_EVAL|BOOL_COND_NONE|FILT_COND_TRUE,
						CA_PUBLIC,	NULL},
{"ITEXT",	fun_itext,	1,  0,		CA_PUBLIC,	NULL},
{"KNOWS",	handle_okpres,	2,  PRESFN_KNOWS,
						CA_PUBLIC,	NULL},
{"LADD",	fun_ladd,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LAND",	handle_logic,	0,  FN_VARARGS|LOGIC_LIST|LOGIC_AND,
						CA_PUBLIC,	NULL},
{"LANDBOOL",	handle_logic,	0,  FN_VARARGS|LOGIC_LIST|LOGIC_AND|LOGIC_BOOL,
						CA_PUBLIC,	NULL},
{"LAST",	fun_last,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LASTACCESS",	handle_timestamp, 1, 0,		CA_PUBLIC,	NULL},
{"LASTCREATE",	fun_lastcreate,	2,  0,		CA_PUBLIC,	NULL},
{"LASTMOD",	handle_timestamp, 1, TIMESTAMP_MOD, CA_PUBLIC,	NULL},
{"LATTR",	handle_lattr,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LCON",	fun_lcon,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LCSTR",	fun_lcstr,	-1, 0,		CA_PUBLIC,	NULL},
{"LDELETE",	fun_ldelete,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LDIFF",	handle_sets,	0,  FN_VARARGS|SET_TYPE|SET_DIFF,
						CA_PUBLIC,	NULL},
{"LEDIT",	fun_ledit,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"LEFT",	fun_left,	2,  0,		CA_PUBLIC,	NULL},
{"LET",		fun_let,	0,  FN_VARARGS|FN_NO_EVAL,
						CA_PUBLIC,	NULL},
{"LEXITS",	fun_lexits,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LIST",	perform_iter,	0,  FN_VARARGS|FN_NO_EVAL|BOOL_COND_NONE|FILT_COND_NONE|LOOP_NOTIFY,
						CA_PUBLIC}, 
{"LIT",		fun_lit,	-1, FN_NO_EVAL,	CA_PUBLIC,	NULL},
{"LINK",	fun_link,	2,  0,		CA_PUBLIC,	NULL},
{"LINSTANCES",	fun_linstances,	0,  0,		CA_PUBLIC,	NULL},
{"LINTER",	handle_sets,	0,  FN_VARARGS|SET_TYPE|SET_INTERSECT,
						CA_PUBLIC,	NULL},
{"LJUST",	fun_ljust,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LMAX",	fun_lmax,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LMIN",	fun_lmin,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LN",		fun_ln,		1,  0,		CA_PUBLIC,	NULL},
{"LNUM",	fun_lnum,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LOAD",	fun_load,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LOC",		handle_loc,	1,  0,		CA_PUBLIC,	NULL},
{"LOCATE",	fun_locate,	3,  0,		CA_PUBLIC,	NULL},
{"LOCALIZE",    fun_localize,   1,  FN_NO_EVAL, CA_PUBLIC,	NULL},
{"LOCK",	fun_lock,	1,  0,		CA_PUBLIC,	NULL},
{"LOG",		fun_log,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LPARENT",	fun_lparent,	0,  FN_VARARGS,	CA_PUBLIC}, 
{"LOOP",	perform_loop,	0,  FN_VARARGS|FN_NO_EVAL|LOOP_NOTIFY,
						CA_PUBLIC,	NULL},
{"LOR",		handle_logic,	0,  FN_VARARGS|LOGIC_LIST|LOGIC_OR,
						CA_PUBLIC,	NULL},
{"LORBOOL",	handle_logic,	0,  FN_VARARGS|LOGIC_LIST|LOGIC_OR|LOGIC_BOOL,
						CA_PUBLIC,	NULL},
{"LPOS",	fun_lpos,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"LRAND",	fun_lrand,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"LSTACK",	fun_lstack,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"LSTRUCTURES",	fun_lstructures, 0, 0,		CA_PUBLIC,	NULL},
{"LT",		fun_lt,		2,  0,		CA_PUBLIC,	NULL},
{"LTE",		fun_lte,	2,  0,		CA_PUBLIC,	NULL},
{"LUNION",	handle_sets,	0,  FN_VARARGS|SET_TYPE|SET_UNION,
						CA_PUBLIC,	NULL},
{"LVARS",	fun_lvars,	0,  0,		CA_PUBLIC,	NULL},
{"LWHO",	fun_lwho,	0,  0,		CA_PUBLIC,	NULL},
{"MAP",		fun_map,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MATCH",	fun_match,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MATCHALL",	fun_matchall,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MAX",		fun_max,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MEMBER",	fun_member,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MERGE",	fun_merge,	3,  0,		CA_PUBLIC,	NULL},
{"MID",		fun_mid,	3,  0,		CA_PUBLIC,	NULL},
{"MIN",		fun_min,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MIX",		fun_mix,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MODULO",	fun_modulo,	2,  0,		CA_PUBLIC,	NULL},
{"MODIFY",	fun_modify,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MONEY",	fun_money,	1,  0,		CA_PUBLIC,	NULL},
{"MOVES",	handle_okpres,	2,  PRESFN_MOVES,
						CA_PUBLIC,	NULL},
{"MUDNAME",	fun_mudname,	0,  0,		CA_PUBLIC,	NULL},
{"MUL",		fun_mul,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"MUNGE",	fun_munge,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"NAME",	handle_name,	1,  0,		CA_PUBLIC,	NULL},
{"NATTR",	handle_lattr,	1,  LATTR_COUNT,
						CA_PUBLIC,	NULL},
{"NCOMP",	fun_ncomp,	2,  0,		CA_PUBLIC,	NULL},
{"NEARBY",	fun_nearby,	2,  0,		CA_PUBLIC,	NULL},
{"NEQ",		fun_neq,	2,  0,		CA_PUBLIC,	NULL},
{"NESCAPE",	fun_escape,	-1, FN_NO_EVAL,	CA_PUBLIC,	NULL},
{"NEXT",	fun_next,	1,  0,		CA_PUBLIC,	NULL},
{"NONZERO",     fun_nonzero,    0,  FN_VARARGS|FN_NO_EVAL,
						CA_PUBLIC,	NULL},
{"NOT",		fun_not,	1,  0,		CA_PUBLIC,	NULL},
{"NOTBOOL",	fun_notbool,	1,  0,		CA_PUBLIC,	NULL},
{"NSECURE",	fun_secure,	-1, FN_NO_EVAL,	CA_PUBLIC,	NULL},
{"NULL",	fun_null,	1,  0,		CA_PUBLIC,	NULL},
{"NUM",		fun_num,	1,  0,		CA_PUBLIC,	NULL},
{"OBJ",		handle_pronoun,	1,  PRONOUN_OBJ, CA_PUBLIC,	NULL},
{"OBJCALL",     fun_objcall,    0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"OBJEVAL",     fun_objeval,    2,  FN_NO_EVAL, CA_PUBLIC,	NULL},
{"OBJMEM",	fun_objmem,	1,  0,		CA_PUBLIC,	NULL},
{"OEMIT",	fun_oemit,	2,  0,		CA_PUBLIC,	NULL},
{"OR",		handle_logic,	0,  FN_VARARGS|LOGIC_OR,
						CA_PUBLIC,	NULL},
{"ORBOOL",	handle_logic,	0,  FN_VARARGS|LOGIC_OR|LOGIC_BOOL,
						CA_PUBLIC,	NULL},
{"ORFLAGS",	handle_flaglists, 2, LOGIC_OR,	CA_PUBLIC,	NULL},
{"OWNER",	fun_owner,	1,  0,		CA_PUBLIC,	NULL},
{"PARENT",	fun_parent,	1,  0,		CA_PUBLIC,	NULL},
{"PARSE",	perform_loop,	0,  FN_VARARGS|FN_NO_EVAL,
						CA_PUBLIC,	NULL},
{"PEEK",	handle_pop,	0,  FN_VARARGS|POP_PEEK,
						CA_PUBLIC,	NULL},
{"PEMIT",	fun_pemit,	2,  0,		CA_PUBLIC,	NULL},
{"PFIND",	fun_pfind,	1,  0,		CA_PUBLIC,	NULL},
{"PI",		fun_pi,		0,  0,		CA_PUBLIC,	NULL},
{"PLAYMEM",	fun_playmem,	1,  0,		CA_PUBLIC,	NULL},
{"PMATCH",	fun_pmatch,	1,  0,		CA_PUBLIC,	NULL},
{"POP",		handle_pop,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"POPN",	fun_popn,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"PORTS",	fun_ports,	1,  0,		CA_PUBLIC,	NULL},
{"POS",		fun_pos,	2,  0,		CA_PUBLIC,	NULL},
{"POSS",	handle_pronoun,	1,  PRONOUN_POSS, CA_PUBLIC,	NULL},
{"POWER",	fun_power,	2,  0,		CA_PUBLIC,	NULL},
{"PROGRAMMER",	fun_programmer,	1,  0,		CA_PUBLIC,	NULL},
{"PUSH",	fun_push,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"R",		fun_r,		1,  0,		CA_PUBLIC,	NULL},
{"RAND",	fun_rand,	1,  0,		CA_PUBLIC,	NULL},
{"RBORDER",	perform_border,	0,  FN_VARARGS|JUST_RIGHT,
						CA_PUBLIC,	NULL},
{"READ",	fun_read,	3,  0,		CA_PUBLIC,	NULL},
{"REGEDIT",	perform_regedit, 3, 0,		CA_PUBLIC,	NULL},
{"REGEDITALL",	perform_regedit, 3, REG_MATCH_ALL,
						CA_PUBLIC,	NULL},
{"REGEDITALLI",	perform_regedit, 3, REG_MATCH_ALL|REG_CASELESS,
						CA_PUBLIC,	NULL},
{"REGEDITI",	perform_regedit, 3, REG_CASELESS,
						CA_PUBLIC,	NULL},
{"REGRAB",	perform_regrab,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"REGRABALL",	perform_regrab,	0,  FN_VARARGS|REG_MATCH_ALL,
						CA_PUBLIC,	NULL},
{"REGRABALLI",	perform_regrab, 0,  FN_VARARGS|REG_MATCH_ALL|REG_CASELESS,
						CA_PUBLIC,	NULL},
{"REGRABI",	perform_regrab,	0,  FN_VARARGS|REG_CASELESS,
						CA_PUBLIC,	NULL},
{"REGREP",	perform_grep,	0,  FN_VARARGS|GREP_REGEXP,
						CA_PUBLIC,	NULL},
{"REGREPI",	perform_grep,	0,  FN_VARARGS|GREP_REGEXP|REG_CASELESS,
						CA_PUBLIC,	NULL},
{"REGMATCH",	perform_regmatch, 0, FN_VARARGS,
						CA_PUBLIC,	NULL},
{"REGMATCHI",	perform_regmatch, 0, FN_VARARGS|REG_CASELESS,
						CA_PUBLIC,	NULL},
{"REGPARSE",	perform_regparse, 3, 0,		CA_PUBLIC,	NULL},
{"REGPARSEI",	perform_regparse, 3, REG_CASELESS,
						CA_PUBLIC,	NULL},
{"REMAINDER",	fun_remainder,	2,  0,		CA_PUBLIC,	NULL},
{"REMIT",	fun_remit,	2,  0,		CA_PUBLIC,	NULL},
{"REMOVE",	fun_remove,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"REPEAT",	fun_repeat,	2,  0,		CA_PUBLIC,	NULL},
{"REPLACE",	fun_replace,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"REST",	fun_rest,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"RESTARTS",	fun_restarts,	0,  0,		CA_PUBLIC,	NULL},
{"RESTARTTIME",	fun_restarttime, 0, 0,		CA_PUBLIC,	NULL},
{"REVERSE",	fun_reverse,	-1, 0,		CA_PUBLIC,	NULL},
{"REVWORDS",	fun_revwords,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"RIGHT",	fun_right,	2,  0,		CA_PUBLIC,	NULL},
{"RJUST",	fun_rjust,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"RLOC",	fun_rloc,	2,  0,		CA_PUBLIC,	NULL},
{"ROOM",	fun_room,	1,  0,		CA_PUBLIC,	NULL},
{"ROUND",	fun_round,	2,  0,		CA_PUBLIC,	NULL},
{"RTABLES",	process_tables,	0,  FN_VARARGS|JUST_RIGHT,
						CA_PUBLIC,	NULL},
{"S",		fun_s,		-1, 0,		CA_PUBLIC,	NULL},
{"SCRAMBLE",	fun_scramble,	1,  0,		CA_PUBLIC,	NULL},
{"SEARCH",	fun_search,	-1, 0,		CA_PUBLIC,	NULL},
{"SECS",	fun_secs,	0,  0,		CA_PUBLIC,	NULL},
{"SECURE",	fun_secure,	-1, 0,		CA_PUBLIC,	NULL},
{"SEES",	fun_sees,	2,  0,		CA_PUBLIC,	NULL},
{"SESSION",	fun_session,	1,  0,		CA_PUBLIC,	NULL},
{"SET",		fun_set,	2,  0,		CA_PUBLIC,	NULL},
{"SETDIFF",	handle_sets,	0,  FN_VARARGS|SET_DIFF,
						CA_PUBLIC,	NULL},
{"SETINTER",	handle_sets,	0,  FN_VARARGS|SET_INTERSECT,
						CA_PUBLIC,	NULL},
{"SETQ",	fun_setq,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"SETR",	fun_setr,	2,  0,		CA_PUBLIC,	NULL},
{"SETX",	fun_setx,	2,  0,		CA_PUBLIC,	NULL},
{"SETUNION",	handle_sets,	0,  FN_VARARGS|SET_UNION,
						CA_PUBLIC,	NULL},
{"SHL",		fun_shl,	2,  0,		CA_PUBLIC,	NULL},
{"SHR",		fun_shr,	2,  0,		CA_PUBLIC,	NULL},
{"SHUFFLE",	fun_shuffle,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"SIGN",	fun_sign,	1,  0,		CA_PUBLIC,	NULL},
{"SIN",		handle_trig,	1,  0,		CA_PUBLIC,	NULL},
{"SIND",	handle_trig,	1,  TRIG_DEG,	CA_PUBLIC,	NULL},
{"SORT",	fun_sort,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"SORTBY",	fun_sortby,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"SPACE",	fun_space,	1,  0,		CA_PUBLIC,	NULL},
{"SPEAK",	fun_speak,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"SPLICE",	fun_splice,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"SQL",		fun_sql,	0,  FN_VARARGS, CA_SQL_OK,	NULL},
{"SQRT",	fun_sqrt,	1,  0,		CA_PUBLIC,	NULL},
{"SQUISH",	fun_squish,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"STARTTIME",	fun_starttime,	0,  0,		CA_PUBLIC,	NULL},
{"STATS",	fun_stats,	1,  0,		CA_PUBLIC,	NULL},
{"STEP",	fun_step,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"STORE",	fun_store,	2,  0,		CA_PUBLIC,	NULL},
{"STRCAT",	fun_strcat,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"STREQ",	fun_streq,	2,  0,		CA_PUBLIC,	NULL},
{"STRIPANSI",	fun_stripansi,	1,  0,		CA_PUBLIC,	NULL},
{"STRLEN",	fun_strlen,	-1, 0,		CA_PUBLIC,	NULL},
{"STRMATCH",	fun_strmatch,	2,  0,		CA_PUBLIC,	NULL},
{"STRTRUNC",    fun_left,	2,  0,          CA_PUBLIC,	NULL},
{"STRUCTURE",	fun_structure,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"SUB",		fun_sub,	2,  0,		CA_PUBLIC,	NULL},
{"SUBJ",	handle_pronoun,	1,  PRONOUN_SUBJ, CA_PUBLIC,	NULL},
{"SWAP",	fun_swap,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"SWITCH",	fun_switch,	0,  FN_VARARGS|FN_NO_EVAL,
						CA_PUBLIC,	NULL},
{"SWITCHALL",	fun_switchall,	0,  FN_VARARGS|FN_NO_EVAL,
						CA_PUBLIC,	NULL},
{"T",		fun_t,		1,  0,		CA_PUBLIC,	NULL},
{"TABLE",	fun_table,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"TABLES",	process_tables,	0,  FN_VARARGS|JUST_LEFT,
						CA_PUBLIC,	NULL},
{"TAN",		handle_trig,	1,  TRIG_TAN,	CA_PUBLIC,	NULL},
{"TAND",	handle_trig,	1,  TRIG_TAN|TRIG_DEG,
						CA_PUBLIC,	NULL},
{"TEL",		fun_tel,	2,  0,		CA_PUBLIC,	NULL},
{"TIME",	fun_time,	0,  0,		CA_PUBLIC,	NULL},
{"TIMEFMT",	fun_timefmt,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"TOSS",	handle_pop,	0,  FN_VARARGS|POP_TOSS,
						CA_PUBLIC,	NULL},
{"TRANSLATE",	fun_translate,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"TRIGGER",	fun_trigger,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"TRIM",	fun_trim,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"TRUNC",	fun_trunc,	1,  0,		CA_PUBLIC,	NULL},
{"TYPE",	fun_type,	1,  0,		CA_PUBLIC,	NULL},
{"U",		do_ufun,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"UCSTR",	fun_ucstr,	-1, 0,		CA_PUBLIC,	NULL},
{"UDEFAULT",	fun_udefault,	0,  FN_VARARGS|FN_NO_EVAL,
						CA_PUBLIC,	NULL},
{"ULOCAL",	do_ufun,	0,  FN_VARARGS|U_LOCAL,
						CA_PUBLIC,	NULL},
{"UNLOAD",	fun_unload,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"UNSTRUCTURE",	fun_unstructure,1,  0,		CA_PUBLIC,	NULL},
{"UNTIL",	fun_until,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
#ifdef PUEBLO_SUPPORT
{"URL_ESCAPE",	fun_url_escape,	-1, 0,		CA_PUBLIC,	NULL},
{"URL_UNESCAPE",fun_url_unescape,-1,0,		CA_PUBLIC,	NULL},
#endif /* PUEBLO_SUPPORT */
{"V",		fun_v,		1,  0,		CA_PUBLIC,	NULL},
{"VADD",	handle_vectors,	0,  FN_VARARGS|VEC_ADD,
						CA_PUBLIC,	NULL},
{"VALID",	fun_valid,	2,  FN_VARARGS, CA_PUBLIC,	NULL},
{"VDIM",	fun_words,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"VDOT",	handle_vectors,	0,  FN_VARARGS|VEC_DOT,
						CA_PUBLIC,	NULL},
{"VERSION",	fun_version,	0,  0,		CA_PUBLIC,	NULL},
{"VISIBLE",	fun_visible,	2,  0,		CA_PUBLIC,	NULL},
{"VMAG",	handle_vector,	0,  FN_VARARGS|VEC_MAG,
						CA_PUBLIC,	NULL},
{"VMUL",	handle_vectors,	0,  FN_VARARGS|VEC_MUL,
						CA_PUBLIC,	NULL},
{"VSUB",	handle_vectors,	0,  FN_VARARGS|VEC_SUB,
						CA_PUBLIC,	NULL},
{"VUNIT",	handle_vector,	0,  FN_VARARGS|VEC_UNIT,
						CA_PUBLIC,	NULL},
{"WAIT",	fun_wait,	2,  0,		CA_PUBLIC,	NULL},
{"WHENFALSE",	perform_iter,	0,  FN_VARARGS|FN_NO_EVAL|BOOL_COND_FALSE|FILT_COND_NONE,
						CA_PUBLIC,	NULL},
{"WHENTRUE",	perform_iter,	0,  FN_VARARGS|FN_NO_EVAL|BOOL_COND_TRUE|FILT_COND_NONE,
						CA_PUBLIC,	NULL},
{"WHERE",	handle_loc,	1,  LOCFN_WHERE, CA_PUBLIC,	NULL},
{"WHILE",	fun_while,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"WILDGREP",	perform_grep,	0,  FN_VARARGS|GREP_WILD,	CA_PUBLIC,	NULL},
{"WILDMATCH",	fun_wildmatch,	3,  0,		CA_PUBLIC,	NULL},
{"WILDPARSE",	fun_wildparse,	3,  0,		CA_PUBLIC,	NULL},
{"WIPE",	fun_wipe,	1,  0,		CA_PUBLIC,	NULL},
{"WORDPOS",     fun_wordpos,    0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"WORDS",	fun_words,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"WRITABLE",	fun_writable,	2,  0,		CA_PUBLIC,	NULL},
{"WRITE",	fun_write,	2,  0,		CA_PUBLIC,	NULL},
{"X",		fun_x,		1,  0,		CA_PUBLIC,	NULL},
{"XCON",	fun_xcon,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"XGET",	perform_get,	2,  GET_XARGS,	CA_PUBLIC,	NULL},
{"XOR",		handle_logic,	0,  FN_VARARGS|LOGIC_XOR,
						CA_PUBLIC,	NULL},
{"XORBOOL",	handle_logic,	0,  FN_VARARGS|LOGIC_XOR|LOGIC_BOOL,
						CA_PUBLIC,	NULL},
{"XVARS",	fun_xvars,	0,  FN_VARARGS, CA_PUBLIC,	NULL},
{"Z",		fun_z,		2,  0,		CA_PUBLIC,	NULL},
{"ZFUN",	fun_zfun,	0,  FN_VARARGS,	CA_PUBLIC,	NULL},
{"ZONE",        fun_zone,       1,  0,          CA_PUBLIC,	NULL},
{"ZWHO",	scan_zone,	1,  TYPE_PLAYER,
						CA_PUBLIC,	NULL},
{NULL,		NULL,		0,  0,		0,		NULL}};

/* *INDENT-ON* */

#endif /* __FNPROTO_H */