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