diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-01-17 16:41:46 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-01-17 16:41:46 +0000 |
commit | 9d220744e67413bc17df9fbfcebe33ad663207a6 (patch) | |
tree | 63238167f2c070d0e044f8c29f70d01a4b02ee9c /extras/mini-os/include/blkfront.h | |
parent | 86f69d44aecaf5e72f86e5686d1a2fcb8f7fc7ba (diff) | |
download | xen-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.h | 26 |
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; |