1 #ifndef _V3_USER_HOST_DEV_
2 #define _V3_USER_HOST_DEV_
6 #include "iface-host-dev.h"
8 int v3_user_host_dev_rendezvous(char *vmdev, char *url); // returns devfd for use in poll/select
9 int v3_user_host_dev_depart(int devfd);
11 int v3_user_host_dev_have_request(int devfd);
12 int v3_user_host_dev_pull_request(int devfd, struct palacios_host_dev_host_request_response **req);
13 int v3_user_host_dev_push_response(int devfd, struct palacios_host_dev_host_request_response *resp);
15 uint64_t v3_user_host_dev_read_guest_mem(int devfd, void *gpa, void *dest, uint64_t len);
16 uint64_t v3_user_host_dev_write_guest_mem(int devfd, void *gpa, void *src, uint64_t len);
18 // Note that "IRQ" here is context-dependent. For a legacy device, it is the IRQ
19 // For a PCI device, it is the PCI int #, etc.
20 int v3_user_host_dev_raise_guest_irq(int devfd, uint8_t irq);
21 int v3_user_host_dev_lower_guest_irq(int devfd, uint8_t irq);