00001
00002
00003
00004
00005
00006
00007
00008 #ifndef BUILTIN_EFUNS_H
00009 #define BUILTIN_EFUNS_H
00010
00011 #define TYPEP(ID,NAME,TYPE) PMOD_EXPORT void ID(INT32 args);
00012
00013 #include "callback.h"
00014 #include "block_alloc_h.h"
00015
00016
00017
00018 #define PIKE_WEAK_INDICES 2
00019 #define PIKE_WEAK_VALUES 4
00020 #define PIKE_WEAK_BOTH 6
00021
00022
00023 PMOD_EXPORT void debug_f_aggregate(INT32 args);
00024 #ifdef DEBUG_MALLOC
00025 #define f_aggregate(X) do { debug_f_aggregate(X); debug_malloc_touch(Pike_sp[-1].u.refs); } while (0)
00026 #else
00027 #define f_aggregate(X) debug_f_aggregate(X)
00028 #endif
00029
00030 PMOD_EXPORT void f_equal(INT32 args);
00031 PMOD_EXPORT void f_hash(INT32 args);
00032 PMOD_EXPORT void f_copy_value(INT32 args);
00033 PMOD_EXPORT void f_lower_case(INT32 args);
00034 PMOD_EXPORT void f_upper_case(INT32 args);
00035 PMOD_EXPORT void f_random_string (INT32 args);
00036 PMOD_EXPORT void f_random_seed(INT32 args);
00037 PMOD_EXPORT void f_query_num_arg(INT32 args);
00038 PMOD_EXPORT void f_search(INT32 args);
00039 PMOD_EXPORT void f_has_prefix(INT32 args);
00040 PMOD_EXPORT void f_has_suffix(INT32 args);
00041 PMOD_EXPORT void f_has_index(INT32 args);
00042 PMOD_EXPORT void f_has_value(INT32 args);
00043 PMOD_EXPORT void f_add_constant(INT32 args);
00044 PMOD_EXPORT void f_combine_path_nt(INT32 args);
00045 PMOD_EXPORT void f_combine_path_unix(INT32 args);
00046 PMOD_EXPORT void f_zero_type(INT32 args);
00047 PMOD_EXPORT void f_string_to_unicode(INT32 args);
00048 PMOD_EXPORT void f_unicode_to_string(INT32 args);
00049 PMOD_EXPORT void f_string_to_utf8(INT32 args);
00050 PMOD_EXPORT void f_utf8_to_string(INT32 args);
00051 PMOD_EXPORT void f_all_constants(INT32 args);
00052 PMOD_EXPORT void f_allocate(INT32 args);
00053 void f_this_object(INT32 args);
00054 PMOD_EXPORT void f_throw(INT32 args);
00055 PMOD_EXPORT void f_exit(INT32 args);
00056 void f__exit(INT32 args);
00057 PMOD_EXPORT void f_time(INT32 args);
00058 PMOD_EXPORT void f_crypt(INT32 args);
00059 PMOD_EXPORT void f_destruct(INT32 args);
00060 PMOD_EXPORT void f_indices(INT32 args);
00061 PMOD_EXPORT void f_values(INT32 args);
00062 PMOD_EXPORT void f_next_object(INT32 args);
00063 PMOD_EXPORT void f_object_program(INT32 args);
00064 PMOD_EXPORT void f_reverse(INT32 args);
00065 struct tupel;
00066 PMOD_EXPORT void f_replace(INT32 args);
00067 PMOD_EXPORT void f_compile(INT32 args);
00068 PMOD_EXPORT void f_objectp(INT32 args);
00069 PMOD_EXPORT void f_functionp(INT32 args);
00070 PMOD_EXPORT void f_callablep(INT32 args);
00071 PMOD_EXPORT void f_sleep(INT32 args);
00072 PMOD_EXPORT void f_delay(INT32 args);
00073 void f_gc(INT32 args);
00074 PMOD_EXPORT void f_programp(INT32 args);
00075 TYPEP(f_intp, "intpp", PIKE_T_INT)
00076 TYPEP(f_mappingp, "mappingp", PIKE_T_MAPPING)
00077 TYPEP(f_arrayp, "arrayp", PIKE_T_ARRAY)
00078 TYPEP(f_multisetp, "multisetp", PIKE_T_MULTISET)
00079 TYPEP(f_stringp, "stringp", PIKE_T_STRING)
00080 TYPEP(f_floatp, "floatp", PIKE_T_FLOAT)
00081 PMOD_EXPORT void f_sort(INT32 args);
00082 PMOD_EXPORT void f_rows(INT32 args);
00083 PMOD_EXPORT void f__verify_internals(INT32 args);
00084 PMOD_EXPORT void f__debug(INT32 args);
00085 PMOD_EXPORT void f__optimizer_debug(INT32 args);
00086 PMOD_EXPORT void f__assembler_debug(INT32 args);
00087 PMOD_EXPORT void f__compiler_trace(INT32 args);
00088 PMOD_EXPORT void f_gmtime(INT32 args);
00089 PMOD_EXPORT void f_localtime(INT32 args);
00090 PMOD_EXPORT void f_mktime (INT32 args);
00091 PMOD_EXPORT void f_glob(INT32 args);
00092 PMOD_EXPORT void f_permute(INT32 args);
00093 struct diff_magic_link;
00094 struct diff_magic_link_pool;
00095 struct diff_magic_link_head;
00096 PMOD_EXPORT void f_diff(INT32 args);
00097 PMOD_EXPORT void f_diff_compare_table(INT32 args);
00098 PMOD_EXPORT void f_diff_longest_sequence(INT32 args);
00099 PMOD_EXPORT void f_diff_dyn_longest_sequence(INT32 args);
00100 struct callback *add_memory_usage_callback(callback_func call,
00101 void *arg,
00102 callback_func free_func);
00103 PMOD_EXPORT void f__memory_usage(INT32 args);
00104 PMOD_EXPORT void f__next(INT32 args);
00105 PMOD_EXPORT void f__prev(INT32 args);
00106 PMOD_EXPORT void f__refs(INT32 args);
00107 PMOD_EXPORT void f__leak(INT32 args);
00108 PMOD_EXPORT void f__typeof(INT32 args);
00109 PMOD_EXPORT void f_replace_master(INT32 args);
00110 PMOD_EXPORT void f_master(INT32 args);
00111 PMOD_EXPORT void f_gethrvtime(INT32 args);
00112 PMOD_EXPORT void f_gethrtime(INT32 args);
00113 PMOD_EXPORT void f_object_variablep(INT32 args);
00114 PMOD_EXPORT void f_uniq_array(INT32 args);
00115 PMOD_EXPORT void f_splice(INT32 args);
00116 PMOD_EXPORT void f_everynth(INT32 args);
00117 PMOD_EXPORT void f_transpose(INT32 args);
00118 PMOD_EXPORT void f__reset_dmalloc(INT32 args);
00119 PMOD_EXPORT void f__dmalloc_set_name(INT32 args);
00120 PMOD_EXPORT void f__list_open_fds(INT32 args);
00121 PMOD_EXPORT void f__locate_references(INT32 args);
00122 PMOD_EXPORT void f__describe(INT32 args);
00123 PMOD_EXPORT void f__gc_set_watch(INT32 args);
00124 PMOD_EXPORT void f__dump_backlog(INT32 args);
00125 PMOD_EXPORT void f_map(INT32 args);
00126 PMOD_EXPORT void f_filter(INT32 args);
00127 PMOD_EXPORT void f_inherit_list(INT32 args);
00128 PMOD_EXPORT void f_function_defined(INT32 args);
00129 void init_builtin_efuns(void);
00130
00131
00132 PMOD_EXPORT void f_get_iterator(INT32 args);
00133 int foreach_iterate(struct object *o, int do_step);
00134
00135
00136 void f_cq__describe_program(INT32 args);
00137 void f_basetype(INT32 args);
00138 void f_int2char(INT32 args);
00139 void f_int2hex(INT32 args);
00140 void f_string2hex(INT32 args);
00141 void f_hex2string(INT32 args);
00142 void f_column(INT32 args);
00143 void f_mkmultiset(INT32 args);
00144 void f_trace(INT32 args);
00145 void f_gc_parameters(INT32 args);
00146 void f_ctime(INT32 args);
00147 void f_mkmapping(INT32 args);
00148 void f_string_count(INT32 args);
00149 void f_string_trim_whites(INT32 args);
00150 void f_string_trim_all_whites(INT32 args);
00151 void f_program_implements(INT32 args);
00152 void f_program_inherits(INT32 args);
00153 void f_program_defined(INT32 args);
00154 void f_string_width(INT32 args);
00155 void f_m_delete(INT32 args);
00156 void f_get_weak_flag(INT32 args);
00157 void f_function_name(INT32 args);
00158 void f_function_object(INT32 args);
00159 void f_function_program(INT32 args);
00160 void f_random(INT32 args);
00161 PMOD_EXPORT void f_backtrace(INT32 args);
00162
00163 struct list_node
00164 {
00165
00166 struct list_node *next;
00167 INT32 refs;
00168 struct list_node *prev;
00169 struct svalue val;
00170 };
00171 BLOCK_ALLOC_FILL_PAGES(list_node, 4);
00172 PMOD_EXPORT void free_list_node(struct list_node *node);
00173 PMOD_EXPORT void unlink_list_node(struct list_node *n);
00174 PMOD_EXPORT void prepend_list_node(struct list_node *node,
00175 struct list_node *new_node);
00176 PMOD_EXPORT void append_list_node(struct list_node *node,
00177 struct list_node *new_node);
00178 void init_builtin(void);
00179 void exit_builtin(void);
00180
00181
00182 void f_werror (INT32 args);
00183
00184
00185
00186 #endif