X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_host_events.h;h=15bcb7dd8b1ec0611a66093e254c8b0713002e89;hb=c0e8207d10b6b077c3fac4fb013ba7485f3a6391;hp=b76250187763130063390abddbda0d864983c871;hpb=7ee094e43dab15b0139847bca24cef904f8a42f6;p=palacios.git diff --git a/palacios/include/palacios/vmm_host_events.h b/palacios/include/palacios/vmm_host_events.h index b762501..15bcb7d 100644 --- a/palacios/include/palacios/vmm_host_events.h +++ b/palacios/include/palacios/vmm_host_events.h @@ -43,6 +43,11 @@ struct v3_console_event { unsigned int cmd; }; +struct v3_packet_event { + unsigned char * pkt; + unsigned int size; +}; + #ifdef __V3VEE__ #include @@ -53,7 +58,8 @@ typedef enum { HOST_KEYBOARD_EVT, HOST_MOUSE_EVT, HOST_TIMER_EVT, HOST_CONSOLE_EVT, - HOST_SERIAL_EVT } v3_host_evt_type_t; + HOST_SERIAL_EVT, + HOST_PACKET_EVT} v3_host_evt_type_t; union v3_host_event_handler { @@ -62,6 +68,7 @@ union v3_host_event_handler { int (*timer_handler)(struct v3_vm_info * vm, struct v3_timer_event * evt, void * priv_data); int (*serial_handler)(struct v3_vm_info * vm, struct v3_serial_event * evt, void * priv_data); int (*console_handler)(struct v3_vm_info * vm, struct v3_console_event * evt, void * priv_data); + int (*packet_handler)(struct v3_vm_info * vm, struct v3_packet_event * evt, void * priv_data); }; @@ -79,11 +86,13 @@ struct v3_host_events { struct list_head timer_events; struct list_head serial_events; struct list_head console_events; + struct list_head packet_events; }; int v3_init_host_events(struct v3_vm_info * vm); +int v3_deinit_host_events(struct v3_vm_info * vm); #define V3_HOST_EVENT_HANDLER(cb) ((union v3_host_event_handler)cb) @@ -101,7 +110,7 @@ int v3_deliver_mouse_event(struct v3_vm_info * vm, struct v3_mouse_event * evt); int v3_deliver_timer_event(struct v3_vm_info * vm, struct v3_timer_event * evt); int v3_deliver_serial_event(struct v3_vm_info * vm, struct v3_serial_event * evt); int v3_deliver_console_event(struct v3_vm_info * vm, struct v3_console_event * evt); - +int v3_deliver_packet_event(struct v3_vm_info * vm, struct v3_packet_event * evt); #endif