[PATCH 42/50] mars: add new file include/linux/xio/xio_server.h

Thomas Schoebel-Theuer
2014-07-01T21:56:35Z

include/linux/xio/xio_server.h | 48 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 include/linux/xio/xio_server.h

diff --git a/include/linux/xio/xio_server.h b/include/linux/xio/xio_server.h
new file mode 100644
index 0000000..98ad994
--- /dev/null
+++ b/include/linux/xio/xio_server.h
@@ -0,0 +1,48 @@
+/* (c) 2010 Thomas Schoebel-Theuer / 1&1 Internet AG */
+#ifndef XIO_SERVER_H
+#define XIO_SERVER_H
+
+#include <linux/wait.h>
+
+#include <linux/xio_net.h>
+#include <linux/brick/lib_limiter.h>
+
+extern int server_show_statist;
+
+extern struct xio_limiter server_limiter;
+
+struct server_aio_aspect {
+ GENERIC_ASPECT(aio);
+ struct server_brick *brick;
+ struct list_head cb_head;
+ bool do_put;
+};
+
+struct server_output {
+ XIO_OUTPUT(server);
+};
+
+struct server_brick {
+ XIO_BRICK(server);
+ atomic_t in_flight;
+ struct semaphore socket_sem;
+ struct xio_socket handler_socket;
+ struct task_struct *handler_thread;
+ struct task_struct *cb_thread;
+
+ wait_queue_head_t startup_event;
+ wait_queue_head_t cb_event;
+ spinlock_t cb_lock;
+ struct list_head cb_read_list;
+ struct list_head cb_write_list;
+ bool cb_running;
+ bool handler_running;
+};
+
+struct server_input {
+ XIO_INPUT(server);
+};
+
+XIO_TYPES(server);
+
+#endif
--
2.0.0