{
{"add_action",F_ADD_ACTION,1,3,TYPE_VOID,T_STRING,T_STRING,4,0},
{"add_verb",F_ADD_VERB,1,1,TYPE_VOID,T_STRING,0,2,0},
{"add_worth",F_ADD_WORTH,1,2,TYPE_VOID,T_NUMBER,T_OBJECT,10,0},
{"add_xverb",F_ADD_XVERB,1,1,TYPE_VOID,T_STRING,0,2,0},
{"all_inventory",F_ALL_INVENTORY,1,1,TYPE_MOD_POINTER|TYPE_OBJECT,T_OBJECT,0,12,F_THIS_OBJECT},
{"allocate",F_ALLOCATE,1,1,TYPE_MOD_POINTER|TYPE_ANY,T_NUMBER,0,8,0},
{"assoc",F_ASSOC,2,4,TYPE_ANY,0,T_POINTER,14,0},
{"break_point",F_BREAK_POINT,0,0,TYPE_VOID,0,0,0,0},
{"call_other",F_CALL_OTHER,2,-1,TYPE_UNKNOWN,T_OBJECT|T_STRING,T_STRING,22,0},
{"call_out",F_CALL_OUT,2,3,TYPE_VOID,T_STRING,T_NUMBER,28,0},
{"call_out_info",F_CALL_OUT_INFO,0,0,TYPE_MOD_POINTER|TYPE_ANY,0,0,0,0},
{"capitalize",F_CAPITALIZE,1,1,TYPE_STRING,T_STRING,0,2,0},
{"cat",F_CAT,1,3,TYPE_NUMBER,T_STRING,T_NUMBER,6,0},
{"cindent",F_CINDENT,1,1,TYPE_NUMBER,T_STRING,0,2,0},
{"clear_bit",F_CLEAR_BIT,2,2,TYPE_STRING,T_STRING,T_NUMBER,6,0},
{"clone_object",F_CLONE_OBJECT,1,1,TYPE_OBJECT,T_STRING,0,2,0},
{"command",F_COMMAND,1,2,TYPE_NUMBER,T_STRING,T_OBJECT,34,0},
{"crypt",F_CRYPT,2,2,TYPE_STRING,T_STRING,T_STRING|T_NUMBER,38,0},
{"ctime",F_CTIME,1,1,TYPE_STRING,T_NUMBER,0,8,0},
{"debug_info",F_DEBUG_INFO,1,-1,TYPE_ANY,T_NUMBER,0,43,0},
{"deep_inventory",F_DEEP_INVENTORY,1,1,TYPE_MOD_POINTER|TYPE_OBJECT,T_OBJECT,0,12,0},
{"destruct",F_DESTRUCT,1,1,TYPE_VOID,T_OBJECT,0,12,0},
{"disable_commands",F_DISABLE_COMMANDS,0,0,TYPE_VOID,0,0,0,0},
{"ed",F_ED,0,2,TYPE_VOID,T_STRING,T_STRING,2,0},
{"enable_commands",F_ENABLE_COMMANDS,0,0,TYPE_VOID,0,0,0,0},
{"environment",F_ENVIRONMENT,0,1,TYPE_OBJECT,T_OBJECT,0,12,0},
{"exec",F_EXEC,2,2,TYPE_NUMBER,T_OBJECT,T_OBJECT,48,0},
{"explode",F_EXPLODE,2,2,TYPE_MOD_POINTER|TYPE_STRING,T_STRING,T_STRING,2,0},
{"export_uid",F_EXPORT_UID,1,1,TYPE_NUMBER,T_OBJECT,0,12,0},
{"extract",F_EXTRACT,1,3,TYPE_STRING,T_STRING,T_NUMBER,6,0},
{"file_name",F_FILE_NAME,1,1,TYPE_STRING,T_OBJECT,0,12,F_THIS_OBJECT},
{"file_size",F_FILE_SIZE,1,1,TYPE_NUMBER,T_STRING,0,2,0},
{"filter_array",F_FILTER_ARRAY,3,4,TYPE_MOD_POINTER|TYPE_ANY,T_POINTER,T_STRING,52,0},
{"find_call_out",F_FIND_CALL_OUT,1,1,TYPE_NUMBER,T_STRING,0,2,0},
{"find_living",F_FIND_LIVING,1,1,TYPE_OBJECT,T_STRING,0,2,0},
{"find_object",F_FIND_OBJECT,1,1,TYPE_OBJECT,T_STRING,0,2,0},
{"find_player",F_FIND_PLAYER,1,1,TYPE_OBJECT,T_STRING,0,2,0},
{"first_inventory",F_FIRST_INVENTORY,1,1,TYPE_OBJECT,T_OBJECT|T_STRING,0,22,F_THIS_OBJECT},
{"function_exists",F_FUNCTION_EXISTS,2,2,TYPE_STRING,T_STRING,T_OBJECT,34,F_THIS_OBJECT},
{"get_dir",F_GET_DIR,1,1,TYPE_MOD_POINTER|TYPE_STRING,T_STRING,0,2,0},
{"geteuid",F_GETEUID,1,1,TYPE_STRING,T_OBJECT,0,12,F_THIS_OBJECT},
{"getuid",F_GETUID,1,1,TYPE_STRING,T_OBJECT,0,12,F_THIS_OBJECT},
{"implode",F_IMPLODE,2,2,TYPE_STRING,T_POINTER,T_STRING,0,0},
{"inherit_list",F_INHERIT_LIST,1,1,TYPE_MOD_POINTER|TYPE_STRING,T_OBJECT,0,12,F_THIS_OBJECT},
{"input_to",F_INPUT_TO,1,2,TYPE_VOID,T_STRING,T_NUMBER,6,0},
{"insert_alist",F_INSERT_ALIST,2,-1,TYPE_ANY,0,0,61,0},
{"interactive",F_INTERACTIVE,1,1,TYPE_NUMBER,T_OBJECT,0,12,F_THIS_OBJECT},
{"intersect_alist",F_INTERSECT_ALIST,2,2,TYPE_MOD_POINTER|TYPE_ANY,T_POINTER,T_POINTER,66,0},
{"intp",F_INTP,1,1,TYPE_NUMBER,0,0,14,0},
{"living",F_LIVING,1,1,TYPE_NUMBER,T_OBJECT,0,12,0},
{"localcmd",F_LOCALCMD,0,0,TYPE_VOID,0,0,0,0},
{"log_file",F_LOG_FILE,2,2,TYPE_VOID,T_STRING,T_STRING,2,0},
{"lower_case",F_LOWER_CASE,1,1,TYPE_STRING,T_STRING,0,2,0},
{"map_array",F_MAP_ARRAY,3,4,TYPE_MOD_POINTER|TYPE_ANY,T_POINTER,T_STRING,52,0},
{"member_array",F_MEMBER_ARRAY,2,2,TYPE_NUMBER,0,T_POINTER,14,0},
{"mkdir",F_MKDIR,1,1,TYPE_NUMBER,T_STRING,0,2,0},
{"move_object",F_MOVE_OBJECT,2,2,TYPE_VOID,T_OBJECT|T_STRING,T_OBJECT|T_STRING,70,0},
{"next_inventory",F_NEXT_INVENTORY,1,1,TYPE_OBJECT,T_OBJECT,0,12,F_THIS_OBJECT},
{"notify_fail",F_NOTIFY_FAIL,1,1,TYPE_VOID,T_STRING,0,2,0},
{"objectp",F_OBJECTP,1,1,TYPE_NUMBER,0,0,14,0},
{"order_alist",F_ORDER_ALIST,1,-1,TYPE_MOD_POINTER|TYPE_ANY,T_POINTER,T_POINTER,76,0},
{"pointerp",F_POINTERP,1,1,TYPE_NUMBER,0,0,14,0},
{"present",F_PRESENT,1,2,TYPE_OBJECT,T_OBJECT|T_STRING,T_OBJECT,81,0},
{"previous_object",F_PREVIOUS_OBJECT,0,0,TYPE_OBJECT,0,0,0,0},
{"process_string",F_PROCESS_STRING,1,1,TYPE_STRING,T_STRING,0,2,0},
{"query_host_name",F_QUERY_HOST_NAME,0,0,TYPE_STRING,0,0,0,0},
{"query_idle",F_QUERY_IDLE,1,1,TYPE_NUMBER,T_OBJECT,0,12,0},
{"query_ip_name",F_QUERY_IP_NAME,0,1,TYPE_STRING,T_OBJECT,0,12,0},
{"query_ip_number",F_QUERY_IP_NUMBER,0,1,TYPE_STRING,T_OBJECT,0,12,0},
{"query_load_average",F_QUERY_LOAD_AVERAGE,0,0,TYPE_STRING,0,0,0,0},
{"query_snoop",F_QUERY_SNOOP,1,1,TYPE_OBJECT,T_OBJECT,0,12,0},
{"query_verb",F_QUERY_VERB,0,0,TYPE_STRING,0,0,0,0},
{"random",F_RANDOM,1,1,TYPE_NUMBER,T_NUMBER,0,8,0},
{"read_bytes",F_READ_BYTES,1,3,TYPE_STRING,T_STRING,T_NUMBER,6,0},
{"read_file",F_READ_FILE,1,3,TYPE_STRING,T_STRING,T_NUMBER,6,0},
{"regexp",F_REGEXP,2,2,TYPE_MOD_POINTER|TYPE_STRING,T_POINTER,T_STRING,0,0},
{"remove_call_out",F_REMOVE_CALL_OUT,1,1,TYPE_NUMBER,T_STRING,0,2,0},
{"rename",F_RENAME,2,2,TYPE_NUMBER,T_STRING,T_STRING,2,0},
{"restore_object",F_RESTORE_OBJECT,1,1,TYPE_NUMBER,T_STRING,0,2,0},
{"rm",F_RM,1,1,TYPE_NUMBER,T_STRING,0,2,0},
{"rmdir",F_RMDIR,1,1,TYPE_VOID,T_STRING,0,2,0},
{"save_object",F_SAVE_OBJECT,1,1,TYPE_VOID,T_STRING,0,2,0},
{"say",F_SAY,1,2,TYPE_VOID,T_STRING|T_POINTER,T_OBJECT|T_POINTER,86,0},
{"set_bit",F_SET_BIT,2,2,TYPE_STRING,T_STRING,T_NUMBER,6,0},
{"set_heart_beat",F_SET_HEART_BEAT,1,1,TYPE_NUMBER,T_NUMBER,0,8,0},
{"set_light",F_SET_LIGHT,1,1,TYPE_NUMBER,T_NUMBER,0,8,0},
{"set_living_name",F_SET_LIVING_NAME,1,1,TYPE_VOID,T_STRING,0,2,0},
{"seteuid",F_SETEUID,1,1,TYPE_NUMBER,T_STRING|T_NUMBER,0,40,0},
{"shadow",F_SHADOW,2,2,TYPE_OBJECT,T_OBJECT,T_NUMBER,92,0},
{"shout",F_SHOUT,1,1,TYPE_VOID,T_STRING,0,2,0},
{"shutdown",F_SHUTDOWN,0,0,TYPE_VOID,0,0,0,0},
{"sizeof",F_SIZEOF,1,1,TYPE_NUMBER,T_POINTER,0,16,0},
{"snoop",F_SNOOP,0,2,TYPE_OBJECT,T_OBJECT,T_OBJECT,48,0},
{"sort_array",F_SORT_ARRAY,3,3,TYPE_MOD_POINTER|TYPE_ANY,T_POINTER,T_STRING,52,F_THIS_OBJECT},
{"stringp",F_STRINGP,1,1,TYPE_NUMBER,0,0,14,0},
{"strlen",F_STRLEN,1,1,TYPE_NUMBER,T_STRING,0,2,0},
{"swap",F_SWAP,1,1,TYPE_VOID,T_OBJECT,0,12,0},
{"tail",F_TAIL,1,1,TYPE_VOID,T_STRING,0,2,0},
{"tell_object",F_TELL_OBJECT,2,2,TYPE_VOID,T_OBJECT,T_STRING,36,0},
{"tell_room",F_TELL_ROOM,2,3,TYPE_VOID,T_OBJECT|T_STRING,T_STRING,96,0},
{"test_bit",F_TEST_BIT,2,2,TYPE_NUMBER,T_STRING,T_NUMBER,6,0},
{"this_object",F_THIS_OBJECT,0,0,TYPE_OBJECT,0,0,0,0},
{"this_player",F_THIS_PLAYER,0,1,TYPE_OBJECT,T_NUMBER,0,8,0},
{"throw",F_THROW,1,1,TYPE_VOID,0,0,14,0},
{"time",F_TIME,0,0,TYPE_NUMBER,0,0,0,0},
{"trace",F_TRACE,1,1,TYPE_NUMBER,T_NUMBER,0,8,0},
{"traceprefix",F_TRACEPREFIX,1,1,TYPE_STRING,T_STRING|T_NUMBER,0,40,0},
{"unique_array",F_UNIQUE_ARRAY,2,3,TYPE_MOD_POINTER|TYPE_ANY,T_POINTER,T_STRING,103,0},
{"users",F_USERS,0,0,TYPE_MOD_POINTER|TYPE_OBJECT,0,0,0,0},
{"version",F_VERSION,0,0,TYPE_STRING,0,0,0,0},
{"wizlist",F_WIZLIST,0,1,TYPE_VOID,T_STRING,0,2,0},
{"write",F_WRITE,1,1,TYPE_VOID,0,0,14,0},
{"write_bytes",F_WRITE_BYTES,3,3,TYPE_NUMBER,T_STRING,T_NUMBER,109,0},
{"write_file",F_WRITE_FILE,2,2,TYPE_NUMBER,T_STRING,T_STRING,2,0},

};
int efun_arg_types[] = {
TYPE_MOD_POINTER|TYPE_STRING,0,
TYPE_STRING,0,
TYPE_STRING,0,
TYPE_STRING,0,
TYPE_NUMBER,0,
TYPE_NUMBER,0,
TYPE_OBJECT,0,
TYPE_ANY,0,
TYPE_MOD_POINTER|TYPE_ANY,0,
TYPE_ANY,0,
TYPE_ANY,0,
TYPE_OBJECT,TYPE_STRING,0,
TYPE_STRING,0,
0,
TYPE_STRING,0,
TYPE_NUMBER,0,
TYPE_ANY,0,
TYPE_STRING,0,
TYPE_OBJECT,0,
TYPE_STRING,0,
TYPE_STRING,TYPE_NUMBER,0,
TYPE_NUMBER,0,
TYPE_ANY,0,
0,
TYPE_OBJECT,0,
TYPE_OBJECT,0,
TYPE_MOD_POINTER|TYPE_ANY,0,
TYPE_STRING,0,
TYPE_OBJECT,TYPE_STRING,0,
TYPE_ANY,0,
TYPE_ANY,0,
TYPE_ANY,0,
0,
TYPE_MOD_POINTER|TYPE_ANY,0,
TYPE_MOD_POINTER|TYPE_ANY,0,
TYPE_OBJECT,TYPE_STRING,0,
TYPE_OBJECT,TYPE_STRING,0,
TYPE_MOD_POINTER|TYPE_ANY,0,
TYPE_MOD_POINTER|TYPE_ANY,0,
0,
TYPE_OBJECT,TYPE_STRING,0,
TYPE_OBJECT,0,
TYPE_STRING,TYPE_MOD_POINTER|TYPE_ANY,0,
TYPE_OBJECT,TYPE_MOD_POINTER|TYPE_OBJECT,0,
TYPE_OBJECT,0,
TYPE_NUMBER,0,
TYPE_OBJECT,TYPE_STRING,0,
TYPE_STRING,0,
TYPE_MOD_POINTER|TYPE_OBJECT,0,
TYPE_MOD_POINTER|TYPE_ANY,0,
TYPE_STRING,0,
TYPE_ANY,0,
TYPE_STRING,0,
TYPE_NUMBER,0,
TYPE_STRING,0,
};
