diff --git a/src/builtin_functions.h b/src/builtin_functions.h
index 14c12b455761b10e0f1719f56cb2dcce720b65d7..dfca4437720ce9aa796f50d996099e8072140c71 100644
--- a/src/builtin_functions.h
+++ b/src/builtin_functions.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: builtin_functions.h,v 1.32 2004/09/28 16:55:07 grubba Exp $
+|| $Id: builtin_functions.h,v 1.33 2006/03/11 17:21:34 grubba Exp $
 */
 
 #ifndef BUILTIN_EFUNS_H
@@ -27,6 +27,25 @@ PMOD_EXPORT void debug_f_aggregate(INT32 args);
 #define f_aggregate(X) debug_f_aggregate(X)
 #endif
 
+struct replace_many_tupel
+{
+  int prefix;
+  int is_prefix;
+  struct pike_string *ind;
+  struct pike_string *val;
+};
+
+struct replace_many_context
+{
+  struct replace_many_tupel *v;
+  struct pike_string *empty_repl;
+  int set_start[256];
+  int set_end[256];
+  int other_start;
+  int num;
+  int flags;
+};
+
 PMOD_EXPORT void f_equal(INT32 args);
 PMOD_EXPORT void f_hash(INT32 args);
 PMOD_EXPORT void f_copy_value(INT32 args);
@@ -61,8 +80,20 @@ PMOD_EXPORT void f_indices(INT32 args);
 PMOD_EXPORT void f_values(INT32 args);
 PMOD_EXPORT void f_next_object(INT32 args);
 PMOD_EXPORT void f_object_program(INT32 args);
+int find_longest_prefix(char *str,
+			ptrdiff_t len,
+			int size_shift,
+			struct replace_many_tupel *v,
+			INT32 a,
+			INT32 b);
+void free_replace_many_context(struct replace_many_context *ctx);
+void compile_replace_many(struct replace_many_context *ctx,
+			  struct array *from,
+			  struct array *to,
+			  int reference_strings);
+struct pike_string *execute_replace_many(struct replace_many_context *ctx,
+					 struct pike_string *str);
 PMOD_EXPORT void f_reverse(INT32 args);
-struct tupel;
 PMOD_EXPORT void f_replace(INT32 args);
 PMOD_EXPORT void f_compile(INT32 args);
 PMOD_EXPORT void f_objectp(INT32 args);