aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/include/blkfront.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-01-17 16:41:46 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-01-17 16:41:46 +0000
commit9d220744e67413bc17df9fbfcebe33ad663207a6 (patch)
tree63238167f2c070d0e044f8c29f70d01a4b02ee9c /extras/mini-os/include/blkfront.h
parent86f69d44aecaf5e72f86e5686d1a2fcb8f7fc7ba (diff)
downloadxen-9d220744e67413bc17df9fbfcebe33ad663207a6.tar.gz
xen-9d220744e67413bc17df9fbfcebe33ad663207a6.tar.bz2
xen-9d220744e67413bc17df9fbfcebe33ad663207a6.zip
minios: add blkfront
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/include/blkfront.h')
-rw-r--r--extras/mini-os/include/blkfront.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/extras/mini-os/include/blkfront.h b/extras/mini-os/include/blkfront.h
new file mode 100644
index 0000000000..b062641807
--- /dev/null
+++ b/extras/mini-os/include/blkfront.h
@@ -0,0 +1,26 @@
+#include <wait.h>
+#include <xen/io/blkif.h>
+#include <types.h>
+struct blkfront_dev;
+struct blkfront_aiocb
+{
+ struct blkfront_dev *aio_dev;
+ uint8_t *aio_buf;
+ size_t aio_nbytes;
+ uint64_t aio_offset;
+ void *data;
+
+ grant_ref_t gref[BLKIF_MAX_SEGMENTS_PER_REQUEST];
+
+ void (*aio_cb)(struct blkfront_aiocb *aiocb, int ret);
+};
+struct blkfront_dev *init_blkfront(char *nodename, uint64_t *sectors, unsigned *sector_size, int *mode);
+int blkfront_open(struct blkfront_dev *dev);
+void blkfront_aio(struct blkfront_aiocb *aiocbp, int write);
+void blkfront_aio_read(struct blkfront_aiocb *aiocbp);
+void blkfront_aio_write(struct blkfront_aiocb *aiocbp);
+int blkfront_aio_poll(struct blkfront_dev *dev);
+void blkfront_sync(struct blkfront_dev *dev);
+void shutdown_blkfront(struct blkfront_dev *dev);
+
+extern struct wait_queue_head blkfront_queue;