xref: /openbmc/qemu/hw/block/dataplane/xen-block.h (revision 6edfca9e)
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 
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 */
33