2007-10-22 10:03:40 +09:00
|
|
|
#ifndef _LINUX_VIRTIO_RING_H
|
|
|
|
#define _LINUX_VIRTIO_RING_H
|
|
|
|
|
|
|
|
#include <linux/irqreturn.h>
|
2012-10-13 18:46:48 +09:00
|
|
|
#include <uapi/linux/virtio_ring.h>
|
|
|
|
|
2007-10-22 10:03:40 +09:00
|
|
|
struct virtio_device;
|
|
|
|
struct virtqueue;
|
|
|
|
|
2012-08-28 20:54:13 +09:00
|
|
|
struct virtqueue *vring_new_virtqueue(unsigned int index,
|
|
|
|
unsigned int num,
|
2008-12-31 00:26:03 +09:00
|
|
|
unsigned int vring_align,
|
2007-10-22 10:03:40 +09:00
|
|
|
struct virtio_device *vdev,
|
2012-01-12 14:14:42 +09:00
|
|
|
bool weak_barriers,
|
2007-10-22 10:03:40 +09:00
|
|
|
void *pages,
|
|
|
|
void (*notify)(struct virtqueue *vq),
|
2009-06-13 13:16:35 +09:00
|
|
|
void (*callback)(struct virtqueue *vq),
|
|
|
|
const char *name);
|
2007-10-22 10:03:40 +09:00
|
|
|
void vring_del_virtqueue(struct virtqueue *vq);
|
2008-07-26 02:06:13 +09:00
|
|
|
/* Filter out transport-specific feature bits. */
|
|
|
|
void vring_transport_features(struct virtio_device *vdev);
|
2007-10-22 10:03:40 +09:00
|
|
|
|
|
|
|
irqreturn_t vring_interrupt(int irq, void *_vq);
|
|
|
|
#endif /* _LINUX_VIRTIO_RING_H */
|