aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/vmware/vmci/vmci_kernel_api_2.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/vmware/vmci/vmci_kernel_api_2.h')
-rw-r--r--sys/dev/vmware/vmci/vmci_kernel_api_2.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/sys/dev/vmware/vmci/vmci_kernel_api_2.h b/sys/dev/vmware/vmci/vmci_kernel_api_2.h
new file mode 100644
index 000000000000..cb66b7cceab8
--- /dev/null
+++ b/sys/dev/vmware/vmci/vmci_kernel_api_2.h
@@ -0,0 +1,34 @@
+/*-
+ * Copyright (c) 2018 VMware, Inc. All Rights Reserved.
+ *
+ * SPDX-License-Identifier: (BSD-2-Clause AND GPL-2.0)
+ *
+ * $FreeBSD$
+ */
+
+/* Kernel API (v2) exported from the VMCI guest driver. */
+
+#ifndef _VMCI_KERNEL_API_2_H_
+#define _VMCI_KERNEL_API_2_H_
+
+#include "vmci_kernel_api_1.h"
+
+/* Define version 2. */
+
+#undef VMCI_KERNEL_API_VERSION
+#define VMCI_KERNEL_API_VERSION_2 2
+#define VMCI_KERNEL_API_VERSION VMCI_KERNEL_API_VERSION_2
+
+/* VMCI Doorbell API. */
+#define VMCI_FLAG_DELAYED_CB 0x01
+
+typedef void (*vmci_callback)(void *client_data);
+
+int vmci_doorbell_create(struct vmci_handle *handle, uint32_t flags,
+ vmci_privilege_flags priv_flags, vmci_callback notify_cb,
+ void *client_data);
+int vmci_doorbell_destroy(struct vmci_handle handle);
+int vmci_doorbell_notify(struct vmci_handle handle,
+ vmci_privilege_flags priv_flags);
+
+#endif /* !_VMCI_KERNEL_API_2_H_ */