Zephyr Project API 4.1.99
A Scalable Open Source RTOS
|
Go to the source code of this file.
Data Structures | |
struct | virtq_desc |
virtqueue descriptor More... | |
struct | virtq_avail |
virtqueue available ring More... | |
struct | virtq_used_elem |
used descriptor chain More... | |
struct | virtq_used |
virtqueue used ring More... | |
struct | virtq_receive_callback_entry |
callback descriptor More... | |
struct | virtq |
virtqueue More... | |
struct | virtq_buf |
single buffer passed to virtq_add_buffer_chain More... | |
Macros | |
#define | VIRTQ_DESC_F_NEXT 1 |
used in virtq_desc::flags, enables chaining descriptor via virtq_desc::next | |
#define | VIRTQ_DESC_F_WRITE 2 |
used in virtq_desc::flags, makes descriptor device writeable | |
Typedefs | |
typedef void(* | virtq_receive_callback) (void *opaque, uint32_t used_len) |
receive callback function type | |
Functions | |
int | virtq_create (struct virtq *v, size_t size) |
creates virtqueue | |
void | virtq_free (struct virtq *v) |
frees virtqueue | |
int | virtq_add_buffer_chain (struct virtq *v, struct virtq_buf *bufs, uint16_t bufs_size, uint16_t device_readable_count, virtq_receive_callback cb, void *cb_opaque, k_timeout_t timeout) |
adds chain of buffers to the virtqueue | |
void | virtq_add_free_desc (struct virtq *v, uint16_t desc_idx) |
adds free descriptor back | |
int | virtq_get_free_desc (struct virtq *v, uint16_t *desc_idx, k_timeout_t timeout) |
gets next free descriptor | |