master
h 32 lines 1.27 KB
Raw
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 "system/iothread.h"
14
15 typedef struct XenBlockDataPlane XenBlockDataPlane;
16
17 XenBlockDataPlane *xen_block_dataplane_create(XenDevice *xendev,
18 BlockBackend *blk,
19 unsigned int sector_size,
20 IOThread *iothread);
21 void xen_block_dataplane_destroy(XenBlockDataPlane *dataplane);
22 void 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);
28 void xen_block_dataplane_stop(XenBlockDataPlane *dataplane);
29 void xen_block_dataplane_attach(XenBlockDataPlane *dataplane);
30 void xen_block_dataplane_detach(XenBlockDataPlane *dataplane);
31
32 #endif /* HW_BLOCK_DATAPLANE_XEN_BLOCK_H */