{
{"abs",F_ABS,1,1,TYPE_ANY,T_FLOAT|T_NUMBER,0,0,0},
{"acos",F_ACOS,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"acosh",F_ACOSH,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"add_action",F_ADD_ACTION,1,3,TYPE_VOID,T_STRING|T_FUNCTION,T_STRING,5,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,1,0},
{"asin",F_ASIN,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"asinh",F_ASINH,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"atan",F_ATAN,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"atan2",F_ATAN2,2,2,TYPE_FLOAT,T_FLOAT,T_FLOAT,14,0},
{"atanh",F_ATANH,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"break_string",F_BREAK_STRING,2,3,TYPE_STRING,T_NUMBER|T_STRING,T_NUMBER,18,0},
{"call_other",F_CALL_OTHER,2,-1,TYPE_ANY,T_MAPPING|T_OBJECT|T_STRING|T_NUMBER|T_POINTER,T_STRING,26,0},
{"call_otherv",F_CALL_OTHERV,3,3,TYPE_ANY,T_MAPPING|T_OBJECT|T_STRING|T_NUMBER|T_POINTER,T_STRING,35,0},
{"call_self",F_CALL_SELF,1,-1,TYPE_ANY,T_STRING,T_STRING|T_NUMBER|T_POINTER|T_OBJECT|T_MAPPING|T_FLOAT|T_FUNCTION,32,0},
{"call_selfv",F_CALL_SELFV,2,2,TYPE_ANY,T_STRING,T_POINTER,41,0},
{"calling_function",F_CALLING_FUNCTION,1,1,TYPE_STRING,T_NUMBER,0,1,F_CONST0},
{"calling_object",F_CALLING_OBJECT,1,1,TYPE_OBJECT,T_NUMBER,0,1,F_CONST0},
{"calling_program",F_CALLING_PROGRAM,1,1,TYPE_STRING,T_NUMBER,0,1,F_CONST0},
{"capitalize",F_CAPITALIZE,1,1,TYPE_STRING,T_STRING|T_NUMBER,0,45,0},
{"clear_bit",F_CLEAR_BIT,2,2,TYPE_STRING,T_STRING,T_NUMBER,8,0},
{"clone_object",F_CLONE_OBJECT,1,1,TYPE_OBJECT,T_STRING,0,8,0},
{"command",F_COMMAND,1,1,TYPE_NUMBER,T_STRING,0,8,0},
{"commands",F_COMMANDS,1,1,TYPE_MOD_POINTER|TYPE_ANY,T_OBJECT|T_NUMBER,0,48,F_THIS_OBJECT},
{"cos",F_COS,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"cosh",F_COSH,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"crypt",F_CRYPT,2,2,TYPE_STRING,T_STRING,T_STRING|T_NUMBER,51,0},
{"ctime",F_CTIME,1,1,TYPE_STRING,T_NUMBER,0,1,0},
{"debug",F_DEBUG,1,-1,TYPE_ANY,T_STRING,T_STRING|T_NUMBER|T_POINTER|T_OBJECT|T_MAPPING|T_FLOAT|T_FUNCTION,32,0},
{"deep_inventory",F_DEEP_INVENTORY,1,1,TYPE_MOD_POINTER|TYPE_OBJECT,T_NUMBER|T_OBJECT,0,56,F_THIS_OBJECT},
{"destruct",F_DESTRUCT,0,0,TYPE_VOID,0,0,0,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|T_FUNCTION,59,0},
{"enable_commands",F_ENABLE_COMMANDS,0,1,TYPE_VOID,T_STRING|T_NUMBER|T_POINTER|T_OBJECT|T_MAPPING|T_FLOAT|T_FUNCTION,0,2,0},
{"environment",F_ENVIRONMENT,1,1,TYPE_OBJECT,T_OBJECT,0,12,F_THIS_OBJECT},
{"exec",F_EXEC,2,2,TYPE_NUMBER,T_OBJECT|T_NUMBER,T_OBJECT,64,0},
{"exp",F_EXP,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"explode",F_EXPLODE,2,2,TYPE_MOD_POINTER|TYPE_STRING,T_STRING,T_STRING,69,0},
{"extract",F_EXTRACT,1,3,TYPE_STRING,T_STRING,T_NUMBER,73,0},
{"fact",F_FACT,1,1,TYPE_FLOAT,T_FLOAT,0,3,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,8,0},
{"file_time",F_FILE_TIME,1,1,TYPE_NUMBER,T_STRING,0,8,0},
{"filter",F_FILTER,2,4,TYPE_MOD_POINTER|TYPE_ANY,T_NUMBER|T_MAPPING|T_POINTER,T_STRING|T_FUNCTION,79,0},
{"find_living",F_FIND_LIVING,1,2,TYPE_ANY,T_STRING,T_NUMBER,8,0},
{"find_object",F_FIND_OBJECT,1,1,TYPE_OBJECT,T_STRING,0,8,0},
{"find_player",F_FIND_PLAYER,1,1,TYPE_OBJECT,T_STRING,0,8,0},
{"floatp",F_FLOATP,1,1,TYPE_NUMBER,0,0,89,0},
{"ftoa",F_FTOA,1,1,TYPE_STRING,T_FLOAT,0,3,0},
{"ftoi",F_FTOI,1,1,TYPE_NUMBER,T_FLOAT,0,3,0},
{"function_exists",F_FUNCTION_EXISTS,2,2,TYPE_STRING,T_STRING,T_OBJECT,91,F_THIS_OBJECT},
{"function_name",F_FUNCTION_NAME,1,1,TYPE_STRING,T_FUNCTION,0,6,0},
{"function_object",F_FUNCTION_OBJECT,1,1,TYPE_OBJECT,T_FUNCTION,0,6,0},
{"functionp",F_FUNCTIONP,1,1,TYPE_NUMBER,0,0,89,0},
{"get_alarm",F_GET_ALARM,1,1,TYPE_MOD_POINTER|TYPE_ANY,T_NUMBER,0,1,0},
{"get_all_alarms",F_GET_ALL_ALARMS,0,0,TYPE_MOD_POINTER|TYPE_ANY,0,0,0,0},
{"get_dir",F_GET_DIR,1,1,TYPE_MOD_POINTER|TYPE_STRING,T_STRING,0,8,0},
{"gettimeofday",F_GETTIMEOFDAY,0,0,TYPE_FLOAT,0,0,0,0},
{"implode",F_IMPLODE,2,2,TYPE_STRING,T_NUMBER|T_POINTER,T_STRING,95,0},
{"input_to",F_INPUT_TO,1,-1,TYPE_VOID,T_STRING|T_FUNCTION,T_STRING|T_NUMBER|T_POINTER|T_OBJECT|T_MAPPING|T_FLOAT|T_FUNCTION,100,0},
{"intp",F_INTP,1,1,TYPE_NUMBER,0,0,89,0},
{"itof",F_ITOF,1,1,TYPE_FLOAT,T_NUMBER,0,1,0},
{"last_reference_time",F_LAST_REFERENCE_TIME,0,0,TYPE_NUMBER,0,0,0,0},
{"living",F_LIVING,1,1,TYPE_NUMBER,T_OBJECT|T_NUMBER,0,48,0},
{"log",F_LOG,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"lower_case",F_LOWER_CASE,1,1,TYPE_STRING,T_NUMBER|T_STRING,0,18,0},
{"m_delete",F_M_DELETE,2,2,TYPE_MAPPING,T_NUMBER|T_MAPPING,0,104,0},
{"m_delkey",F_M_DELKEY,2,2,TYPE_VOID,T_MAPPING,0,105,0},
{"m_indexes",F_M_INDEXES,1,1,TYPE_MOD_POINTER|TYPE_ANY,T_NUMBER|T_MAPPING,0,104,0},
{"m_restore_object",F_M_RESTORE_OBJECT,1,1,TYPE_VOID,T_MAPPING,0,105,0},
{"m_save_object",F_M_SAVE_OBJECT,0,0,TYPE_MAPPING,0,0,0,0},
{"m_sizeof",F_M_SIZEOF,1,1,TYPE_NUMBER,T_NUMBER|T_MAPPING,0,104,0},
{"m_values",F_M_VALUES,1,1,TYPE_MOD_POINTER|TYPE_ANY,T_NUMBER|T_MAPPING,0,104,0},
{"map",F_MAP,2,4,TYPE_MOD_POINTER|TYPE_ANY,T_NUMBER|T_MAPPING|T_POINTER,T_STRING|T_FUNCTION,79,0},
{"mappingp",F_MAPPINGP,1,1,TYPE_NUMBER,0,0,89,0},
{"match_path",F_MATCH_PATH,2,2,TYPE_ANY,T_MAPPING,T_STRING,109,0},
{"max",F_MAX,1,-1,TYPE_ANY,T_NUMBER|T_STRING|T_FLOAT,T_STRING|T_NUMBER|T_POINTER|T_OBJECT|T_MAPPING|T_FLOAT|T_FUNCTION,113,0},
{"member_array",F_MEMBER_ARRAY,2,2,TYPE_NUMBER,0,T_NUMBER|T_POINTER,118,0},
{"min",F_MIN,1,-1,TYPE_ANY,T_NUMBER|T_STRING|T_FLOAT,T_STRING|T_NUMBER|T_POINTER|T_OBJECT|T_MAPPING|T_FLOAT|T_FUNCTION,113,0},
{"mkdir",F_MKDIR,1,1,TYPE_NUMBER,T_STRING,0,8,0},
{"mkfunction",F_MKFUNCTION,2,2,TYPE_FUNCTION,T_STRING,T_OBJECT,91,F_THIS_OBJECT},
{"mkmapping",F_MKMAPPING,2,2,TYPE_MAPPING,T_NUMBER|T_POINTER,T_NUMBER|T_POINTER,123,0},
{"move_object",F_MOVE_OBJECT,1,1,TYPE_VOID,T_OBJECT|T_STRING,0,86,0},
{"notify_fail",F_NOTIFY_FAIL,1,2,TYPE_NUMBER,T_STRING,T_NUMBER,8,0},
{"nrnd",F_NRND,0,2,TYPE_FLOAT,T_FLOAT,T_FLOAT,14,0},
{"object_clones",F_OBJECT_CLONES,1,1,TYPE_MOD_POINTER|TYPE_OBJECT,T_OBJECT,0,12,0},
{"object_time",F_OBJECT_TIME,1,1,TYPE_NUMBER,T_OBJECT,0,12,F_THIS_OBJECT},
{"objectp",F_OBJECTP,1,1,TYPE_NUMBER,0,0,89,0},
{"obsolete",F_OBSOLETE,1,1,TYPE_VOID,T_STRING,0,8,0},
{"papplyv",F_PAPPLYV,2,2,TYPE_FUNCTION,T_FUNCTION,T_POINTER,129,0},
{"pointerp",F_POINTERP,1,1,TYPE_NUMBER,0,0,89,0},
{"pow",F_POW,2,2,TYPE_FLOAT,T_FLOAT,T_FLOAT,14,0},
{"present",F_PRESENT,2,2,TYPE_OBJECT,T_NUMBER|T_OBJECT|T_STRING,T_POINTER|T_OBJECT,133,F_THIS_OBJECT},
{"previous_object",F_PREVIOUS_OBJECT,1,1,TYPE_OBJECT,T_NUMBER,0,1,F_CONST0},
{"process_string",F_PROCESS_STRING,2,2,TYPE_STRING,T_STRING,T_NUMBER,8,F_CONST0},
{"process_value",F_PROCESS_VALUE,2,2,TYPE_ANY,T_STRING,T_NUMBER,8,F_CONST0},
{"query_auth",F_QUERY_AUTH,1,1,TYPE_ANY,T_OBJECT,0,12,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_interactive",F_QUERY_INTERACTIVE,1,1,TYPE_NUMBER,T_OBJECT|T_NUMBER,0,48,0},
{"query_ip_ident",F_QUERY_IP_IDENT,1,1,TYPE_STRING,T_OBJECT,0,12,F_THIS_OBJECT},
{"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_living_name",F_QUERY_LIVING_NAME,1,1,TYPE_STRING,T_OBJECT,0,12,0},
{"query_screen_width",F_QUERY_SCREEN_WIDTH,0,0,TYPE_NUMBER,0,0,0,0},
{"query_snoop",F_QUERY_SNOOP,1,1,TYPE_OBJECT,T_OBJECT,0,12,0},
{"query_trigverb",F_QUERY_TRIGVERB,0,0,TYPE_STRING,0,0,0,0},
{"query_verb",F_QUERY_VERB,0,0,TYPE_STRING,0,0,0,0},
{"random",F_RANDOM,1,2,TYPE_NUMBER,T_NUMBER,T_NUMBER,75,0},
{"read_bytes",F_READ_BYTES,1,3,TYPE_STRING,T_STRING,T_NUMBER,73,0},
{"read_file",F_READ_FILE,1,3,TYPE_STRING,T_STRING,T_NUMBER,73,0},
{"readable_string",F_READABLE_STRING,1,1,TYPE_STRING,T_STRING,0,8,0},
{"reduce",F_REDUCE,2,3,TYPE_ANY,T_FUNCTION,0,140,0},
{"regexp",F_REGEXP,2,2,TYPE_MOD_POINTER|TYPE_STRING,T_POINTER,T_STRING,96,0},
{"remove_alarm",F_REMOVE_ALARM,1,1,TYPE_VOID,T_NUMBER,0,1,0},
{"rename",F_RENAME,2,2,TYPE_NUMBER,T_STRING,T_STRING,69,0},
{"restore_map",F_RESTORE_MAP,1,1,TYPE_MAPPING,T_STRING,0,8,0},
{"restore_object",F_RESTORE_OBJECT,1,1,TYPE_NUMBER,T_STRING,0,8,0},
{"rm",F_RM,1,1,TYPE_NUMBER,T_STRING,0,8,0},
{"rmdir",F_RMDIR,1,1,TYPE_NUMBER,T_STRING,0,8,0},
{"rnd",F_RND,0,1,TYPE_FLOAT,T_NUMBER,0,1,0},
{"save_map",F_SAVE_MAP,2,2,TYPE_VOID,T_MAPPING,T_STRING,109,0},
{"save_object",F_SAVE_OBJECT,1,1,TYPE_VOID,T_STRING,0,8,0},
{"set_alarm",F_SET_ALARM,3,-1,TYPE_NUMBER,T_FLOAT,T_FLOAT,146,0},
{"set_alarmv",F_SET_ALARMV,4,4,TYPE_NUMBER,T_FLOAT,T_FLOAT,154,0},
{"set_auth",F_SET_AUTH,2,2,TYPE_VOID,T_OBJECT,0,162,0},
{"set_bit",F_SET_BIT,2,2,TYPE_STRING,T_STRING,T_NUMBER,8,0},
{"set_living_name",F_SET_LIVING_NAME,1,1,TYPE_VOID,T_STRING,0,8,0},
{"set_screen_width",F_SET_SCREEN_WIDTH,1,1,TYPE_VOID,T_NUMBER,0,1,0},
{"set_this_player",F_SET_THIS_PLAYER,1,1,TYPE_VOID,T_NUMBER|T_OBJECT,0,56,F_THIS_OBJECT},
{"shadow",F_SHADOW,2,2,TYPE_OBJECT,T_OBJECT,T_NUMBER,166,0},
{"sin",F_SIN,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"sinh",F_SINH,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"sizeof",F_SIZEOF,1,1,TYPE_NUMBER,T_NUMBER|T_POINTER,0,120,0},
{"snoop",F_SNOOP,0,2,TYPE_OBJECT,T_OBJECT,T_OBJECT,170,0},
{"sprintf",F_SPRINTF,1,-1,TYPE_STRING,T_STRING,T_STRING|T_NUMBER|T_POINTER|T_OBJECT|T_MAPPING|T_FLOAT|T_FUNCTION,32,0},
{"sqrt",F_SQRT,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"str2val",F_STR2VAL,1,1,TYPE_ANY,T_STRING,0,8,0},
{"stringp",F_STRINGP,1,1,TYPE_NUMBER,0,0,89,0},
{"strlen",F_STRLEN,1,1,TYPE_NUMBER,T_NUMBER|T_STRING,0,18,0},
{"tail",F_TAIL,1,1,TYPE_VOID,T_STRING,0,8,0},
{"tan",F_TAN,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"tanh",F_TANH,1,1,TYPE_FLOAT,T_FLOAT,0,3,0},
{"test_bit",F_TEST_BIT,2,2,TYPE_NUMBER,T_STRING,T_NUMBER,8,0},
{"this_interactive",F_THIS_INTERACTIVE,0,0,TYPE_OBJECT,0,0,0,0},
{"this_object",F_THIS_OBJECT,0,0,TYPE_OBJECT,0,0,0,0},
{"this_player",F_THIS_PLAYER,0,0,TYPE_OBJECT,0,0,0,0},
{"time",F_TIME,0,0,TYPE_NUMBER,0,0,0,0},
{"typeof",F_TYPEOF,1,1,TYPE_NUMBER,0,0,89,0},
{"unique_array",F_UNIQUE_ARRAY,2,3,TYPE_MOD_POINTER|TYPE_ANY,T_NUMBER|T_POINTER,T_STRING|T_FUNCTION,174,0},
{"update_actions",F_UPDATE_ACTIONS,1,1,TYPE_VOID,T_OBJECT,0,12,F_THIS_OBJECT},
{"upper_case",F_UPPER_CASE,1,1,TYPE_STRING,T_NUMBER|T_STRING,0,18,0},
{"users",F_USERS,0,0,TYPE_MOD_POINTER|TYPE_OBJECT,0,0,0,0},
{"val2json",F_VAL2JSON,1,1,TYPE_STRING,0,0,89,0},
{"val2str",F_VAL2STR,1,1,TYPE_STRING,0,0,89,0},
{"wildmatch",F_WILDMATCH,2,2,TYPE_NUMBER,T_STRING,T_STRING|T_NUMBER,51,0},
{"write_bytes",F_WRITE_BYTES,3,3,TYPE_NUMBER,T_STRING,T_NUMBER,182,0},
{"write_file",F_WRITE_FILE,2,2,TYPE_NUMBER,T_STRING,T_STRING,69,0},
{"write_socket",F_WRITE_SOCKET,1,1,TYPE_VOID,T_STRING|T_NUMBER,0,45,0},
{"write_socket_gmcp",F_WRITE_SOCKET_GMCP,2,2,TYPE_VOID,T_STRING,0,87,0},

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