aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hv/hyperv_vmbus.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hv/hyperv_vmbus.h')
-rw-r--r--drivers/hv/hyperv_vmbus.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index c8e27e0fdc99..f40a5a935ab6 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -685,6 +685,23 @@ struct vmbus_msginfo {
685 685
686extern struct vmbus_connection vmbus_connection; 686extern struct vmbus_connection vmbus_connection;
687 687
688enum vmbus_message_handler_type {
689 /* The related handler can sleep. */
690 VMHT_BLOCKING = 0,
691
692 /* The related handler must NOT sleep. */
693 VMHT_NON_BLOCKING = 1,
694};
695
696struct vmbus_channel_message_table_entry {
697 enum vmbus_channel_message_type message_type;
698 enum vmbus_message_handler_type handler_type;
699 void (*message_handler)(struct vmbus_channel_message_header *msg);
700};
701
702extern struct vmbus_channel_message_table_entry
703 channel_message_table[CHANNELMSG_COUNT];
704
688/* General vmbus interface */ 705/* General vmbus interface */
689 706
690struct hv_device *vmbus_device_create(const uuid_le *type, 707struct hv_device *vmbus_device_create(const uuid_le *type,