Index: server/fen-thread-pool.h
===================================================================
--- server/fen-thread-pool.h	(revision 0)
+++ server/fen-thread-pool.h	(revision 0)
@@ -0,0 +1,22 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:set expandtab ts=4 shiftwidth=4: */
+
+#include <pthread.h>
+
+#ifndef _FEN_THREAD_POOL_H_
+#define _FEN_THREAD_POOL_H_
+
+typedef struct thread_pool_data thp_t;
+
+typedef void (*thp_run_cb) (void *data);
+typedef void (*thp_data_destroy_cb) (void *data);
+
+extern thp_t *thread_pool_new (int max_thread_num, int max_queue_num);
+extern void thread_pool_destroy (thp_t *tp, int wait);
+extern int thread_pool_run (thp_t *tp, thp_run_cb run_cb, void *data);
+extern int thread_pool_run_full (thp_t *tp,
+				 thp_run_cb run_cb,
+				 void *data,
+				 thp_data_destroy_cb destroy_cb);
+
+#endif /* _FEN_THREAD_POOL_H_ */
