aboutsummaryrefslogtreecommitdiffstats
path: root/tools/blktap2/drivers/tapdisk-server.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-06-08 08:05:09 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-06-08 08:05:09 +0100
commit4b1af8b188ccf532742ed5f2a49f480d9a702333 (patch)
treea34e14bc4e972f3ec7af5870b6a7ed634cd3282b /tools/blktap2/drivers/tapdisk-server.h
parentc6913b5aaf48107f7bb9fb4e01c7f74c863b3713 (diff)
downloadxen-4b1af8b188ccf532742ed5f2a49f480d9a702333.tar.gz
xen-4b1af8b188ccf532742ed5f2a49f480d9a702333.tar.bz2
xen-4b1af8b188ccf532742ed5f2a49f480d9a702333.zip
blktap2: The tap-ctl userspace control utility and library.
Tapdisk control in userspace, a replacement for the original blktap2 control stack, which had to pass a kernel space interface based on sysfs nodes. All tapdisk processes listen for commands on a unix stream socket. The control library supports scanning the socket namespace for running tapdisks, VBD minors allocated, associated images and state inquiry. Control operations include allocating/releasing devices, spawning tapdisks, opening/closing images, attaching disk images to devices. disk pause/resume operations and runtime switching of disk images. Signed-off-by: Jake Wires <jake.wires@citrix.com> Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
Diffstat (limited to 'tools/blktap2/drivers/tapdisk-server.h')
-rw-r--r--tools/blktap2/drivers/tapdisk-server.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/blktap2/drivers/tapdisk-server.h b/tools/blktap2/drivers/tapdisk-server.h
index f401b049b2..d9c1a03bb5 100644
--- a/tools/blktap2/drivers/tapdisk-server.h
+++ b/tools/blktap2/drivers/tapdisk-server.h
@@ -28,6 +28,7 @@
#ifndef _TAPDISK_SERVER_H_
#define _TAPDISK_SERVER_H_
+#include "list.h"
#include "tapdisk-vbd.h"
#include "tapdisk-queue.h"
@@ -35,6 +36,7 @@ struct tap_disk *tapdisk_server_find_driver_interface(int);
td_image_t *tapdisk_server_get_shared_image(td_image_t *);
+struct list_head *tapdisk_server_get_all_vbds(void);
td_vbd_t *tapdisk_server_get_vbd(td_uuid_t);
void tapdisk_server_add_vbd(td_vbd_t *);
void tapdisk_server_remove_vbd(td_vbd_t *);
@@ -47,8 +49,11 @@ event_id_t tapdisk_server_register_event(char, int, int, event_cb_t, void *);
void tapdisk_server_unregister_event(event_id_t);
void tapdisk_server_set_max_timeout(int);
+int tapdisk_server_init(void);
int tapdisk_server_initialize(void);
+int tapdisk_server_complete(void);
int tapdisk_server_run(void);
+void tapdisk_server_iterate(void);
#define TAPDISK_TIOCBS (TAPDISK_DATA_REQUESTS + 50)