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