| From | Thomas Schoebel-Theuer <> | Subject | [PATCH 42/50] mars: add new file include/linux/xio/xio_server.h | Date | Tue, 1 Jul 2014 23:47:22 +0200 |
| |
Signed-off-by: Thomas Schoebel-Theuer <tst@schoebel-theuer.de> --- 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
|