Lines Matching defs:struct
74 #define DESC_WRITABLE(/* struct vring_desc */ x) \
81 struct viodev_msg {
107 * This struct stores notifications from a virtio driver. There is
108 * one such struct per virtio device.
110 struct virtio_io_cfg {
121 struct virtio_backing {
124 ssize_t (*preadv)(void *, struct iovec *, int, off_t);
126 ssize_t (*pwritev)(void *, struct iovec *, int, off_t);
132 * each for transmitting and receiving packets. This struct describes the state
136 struct virtio_vq_info {
178 struct virtio_vq_acct {
190 struct vring_desc *desc;
193 struct vring_desc *req_desc;
196 struct vring_desc *resp_desc;
199 struct vring_avail *avail;
202 struct vring_used *used;
205 struct viornd_dev {
206 struct virtio_io_cfg cfg;
208 struct virtio_vq_info vq[VIRTIO_MAX_QUEUES];
215 struct vioblk_dev {
216 struct virtio_io_cfg cfg;
217 struct virtio_vq_info vq[VIRTIO_MAX_QUEUES];
218 struct virtio_backing file;
234 struct vioscsi_dev {
235 struct virtio_io_cfg cfg;
237 struct virtio_vq_info vq[VIRTIO_MAX_QUEUES];
239 struct virtio_backing file;
256 struct vionet_dev {
257 struct virtio_io_cfg cfg;
258 struct virtio_vq_info vq[VIRTIO_MAX_QUEUES];
267 struct local_prefix local_prefix;
272 struct virtio_dev {
274 struct vioblk_dev vioblk;
275 struct vionet_dev vionet;
278 struct imsgev async_iev;
279 struct imsgev sync_iev;
294 struct virtio_net_hdr {
317 struct vmmci_dev {
318 struct virtio_io_cfg cfg;
319 struct event timeout;
320 struct timeval time;
327 struct vm_dev_pipe dev_pipe;
331 struct ioinfo {
338 void virtio_init(struct vmd_vm *, int, int[][VM_MAX_BASE_PER_DISK], int *);
339 void virtio_broadcast_imsg(struct vmd_vm *, uint16_t, void *, uint16_t);
340 void virtio_stop(struct vmd_vm *);
341 void virtio_start(struct vmd_vm *);
342 void virtio_shutdown(struct vmd_vm *);
344 int virtio_restore(int, struct vmd_vm *, int, int[][VM_MAX_BASE_PER_DISK],
348 int vm_device_pipe(struct virtio_dev *, void (*)(int, short, void *),
349 struct event_base *);
351 void virtio_assert_irq(struct virtio_dev *, int);
352 void virtio_deassert_irq(struct virtio_dev *, int);
356 int viornd_restore(int, struct vmd_vm *);
363 int virtio_qcow2_init(struct virtio_backing *, off_t *, int*, size_t);
365 int virtio_raw_init(struct virtio_backing *, off_t *, int*, size_t);
368 int vioblk_restore(int, struct vmd_vm *, int[][VM_MAX_BASE_PER_DISK]);
371 int vionet_restore(int, struct vmd_vm *, int *);
372 void vionet_set_hostmac(struct vmd_vm *, unsigned int, uint8_t *);
383 int vioscsi_restore(int, struct vmd_vm *, int);
386 ssize_t dhcp_request(struct virtio_dev *, char *, size_t, char **);
390 void vioscsi_update_qs(struct vioscsi_dev *);
391 void vioscsi_update_qa(struct vioscsi_dev *);
392 int vioscsi_notifyq(struct vioscsi_dev *);