]> git.proxmox.com Git - mirror_qemu.git/blame - hw/block/dataplane/xen-block.h
xen-block: implement BlockDevOps->drained_begin()
[mirror_qemu.git] / hw / block / dataplane / xen-block.h
CommitLineData
fcab2b46
PD
1/*
2 * Copyright (c) 2018 Citrix Systems Inc.
3 *
4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
5 * See the COPYING file in the top-level directory.
6 */
7
8#ifndef HW_BLOCK_DATAPLANE_XEN_BLOCK_H
9#define HW_BLOCK_DATAPLANE_XEN_BLOCK_H
10
11#include "hw/block/block.h"
12#include "hw/xen/xen-bus.h"
13#include "sysemu/iothread.h"
14
f3b604e3 15typedef struct XenBlockDataPlane XenBlockDataPlane;
fcab2b46
PD
16
17XenBlockDataPlane *xen_block_dataplane_create(XenDevice *xendev,
5feeb718
PD
18 BlockBackend *blk,
19 unsigned int sector_size,
fcab2b46
PD
20 IOThread *iothread);
21void xen_block_dataplane_destroy(XenBlockDataPlane *dataplane);
22void xen_block_dataplane_start(XenBlockDataPlane *dataplane,
23 const unsigned int ring_ref[],
24 unsigned int nr_ring_ref,
25 unsigned int event_channel,
26 unsigned int protocol,
27 Error **errp);
28void xen_block_dataplane_stop(XenBlockDataPlane *dataplane);
f6eac904
SH
29void xen_block_dataplane_attach(XenBlockDataPlane *dataplane);
30void xen_block_dataplane_detach(XenBlockDataPlane *dataplane);
fcab2b46
PD
31
32#endif /* HW_BLOCK_DATAPLANE_XEN_BLOCK_H */