diff --git a/include/proto/proto_tcp.h b/include/proto/proto_tcp.h
index f5b9e55..13d7a78 100644
--- a/include/proto/proto_tcp.h
+++ b/include/proto/proto_tcp.h
@@ -36,29 +36,10 @@
 int tcp_get_src(int fd, struct sockaddr *sa, socklen_t salen, int dir);
 int tcp_get_dst(int fd, struct sockaddr *sa, socklen_t salen, int dir);
 int tcp_drain(int fd);
-int tcp_inspect_request(struct stream *s, struct channel *req, int an_bit);
-int tcp_inspect_response(struct stream *s, struct channel *rep, int an_bit);
-int tcp_exec_l4_rules(struct session *sess);
-int tcp_exec_l5_rules(struct session *sess);
-
-/* TCP keywords. */
-void tcp_req_conn_keywords_register(struct action_kw_list *kw_list);
-void tcp_req_sess_keywords_register(struct action_kw_list *kw_list);
-void tcp_req_cont_keywords_register(struct action_kw_list *kw_list);
-void tcp_res_cont_keywords_register(struct action_kw_list *kw_list);
 
 /* Export some samples. */
 int smp_fetch_src(const struct arg *args, struct sample *smp, const char *kw, void *private);
 
-
-/* for a tcp-request action ACT_TCP_TRK_*, return a tracking index starting at
- * zero for SC0. Unknown actions also return zero.
- */
-static inline int tcp_trk_idx(int trk_action)
-{
-	return trk_action - ACT_ACTION_TRK_SC0;
-}
-
 #endif /* _PROTO_PROTO_TCP_H */
 
 /*
diff --git a/include/proto/tcp_rules.h b/include/proto/tcp_rules.h
new file mode 100644
index 0000000..3aa62ab
--- /dev/null
+++ b/include/proto/tcp_rules.h
@@ -0,0 +1,55 @@
+/*
+ * include/proto/tcp_rules.h
+ * This file contains "tcp" rules definitions
+ *
+ * Copyright (C) 2000-2016 Willy Tarreau - w@1wt.eu
+ *
+ * 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 _PROTO_TCP_RULES_H
+#define _PROTO_TCP_RULES_H
+
+#include <common/config.h>
+#include <types/action.h>
+#include <types/task.h>
+#include <proto/stick_table.h>
+
+int tcp_inspect_request(struct stream *s, struct channel *req, int an_bit);
+int tcp_inspect_response(struct stream *s, struct channel *rep, int an_bit);
+int tcp_exec_l4_rules(struct session *sess);
+int tcp_exec_l5_rules(struct session *sess);
+
+void tcp_req_conn_keywords_register(struct action_kw_list *kw_list);
+void tcp_req_sess_keywords_register(struct action_kw_list *kw_list);
+void tcp_req_cont_keywords_register(struct action_kw_list *kw_list);
+void tcp_res_cont_keywords_register(struct action_kw_list *kw_list);
+
+/* for a tcp-request action ACT_TCP_TRK_*, return a tracking index starting at
+ * zero for SC0. Unknown actions also return zero.
+ */
+static inline int tcp_trk_idx(int trk_action)
+{
+	return trk_action - ACT_ACTION_TRK_SC0;
+}
+
+#endif /* _PROTO_TCP_RULES_H */
+
+/*
+ * Local variables:
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ * End:
+ */
