diff --git a/include/haproxy/hlua_fcn.h b/include/haproxy/hlua_fcn.h
new file mode 100644
index 0000000..0ee2183
--- /dev/null
+++ b/include/haproxy/hlua_fcn.h
@@ -0,0 +1,38 @@
+/*
+ * include/haproxy/hlua_fcn.h
+ * Lua user-level management functions
+ *
+ * Copyright (C) 2015-2016 Thierry Fournier <tfournier@arpalert.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, version 2.1
+ * exclusively.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef _HAPROXY_HLUA_FCN_H
+#define _HAPROXY_HLUA_FCN_H
+
+#include <lua.h>
+
+int hlua_checkboolean(lua_State *L, int index);
+
+void hlua_class_const_int(lua_State *L, const char *name, int value);
+void hlua_class_const_str(lua_State *L, const char *name, const char *value);
+void hlua_class_function(lua_State *L, const char *name, int (*function)(lua_State *L));
+void *hlua_checkudata(lua_State *L, int ud, int class_ref);
+int hlua_register_metatable(struct lua_State *L, char *name);
+int hlua_fcn_post_init(lua_State *L);
+int hlua_fcn_reg_core_fcn(lua_State *L);
+int hlua_dump_object(lua_State *L);
+
+#endif /* _HAPROXY_HLUA_FCN_H */
diff --git a/include/proto/hlua_fcn.h b/include/proto/hlua_fcn.h
deleted file mode 100644
index 291bd42..0000000
--- a/include/proto/hlua_fcn.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _PROTO_HLUA_FCN_H
-#define _PROTO_HLUA_FCN_H
-
-int hlua_checkboolean(lua_State *L, int index);
-
-void hlua_class_const_int(lua_State *L, const char *name, int value);
-void hlua_class_const_str(lua_State *L, const char *name, const char *value);
-void hlua_class_function(lua_State *L, const char *name, int (*function)(lua_State *L));
-void *hlua_checkudata(lua_State *L, int ud, int class_ref);
-int hlua_register_metatable(struct lua_State *L, char *name);
-int hlua_fcn_post_init(lua_State *L);
-int hlua_fcn_reg_core_fcn(lua_State *L);
-int hlua_dump_object(lua_State *L);
-
-#endif /* _PROTO_HLUA_FCN_H */
diff --git a/src/hlua.c b/src/hlua.c
index 22d2938..284c173 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -31,6 +31,7 @@
 #include <haproxy/xref.h>
 #include <haproxy/h1.h>
 #include <haproxy/hlua.h>
+#include <haproxy/hlua_fcn.h>
 #include <haproxy/tools.h>
 
 #include <types/cli.h>
@@ -43,7 +44,6 @@
 #include <proto/cli.h>
 #include <proto/connection.h>
 #include <proto/stats.h>
-#include <proto/hlua_fcn.h>
 #include <proto/http_fetch.h>
 #include <proto/http_rules.h>
 #include <proto/map.h>
