1 /*- 2 * Copyright (c) 2018 VMware, Inc. 3 * 4 * SPDX-License-Identifier: (BSD-2-Clause OR GPL-2.0) 5 */ 6 7 /* Kernel API (v2) exported from the VMCI guest driver. */ 8 9 #ifndef _VMCI_KERNEL_API_2_H_ 10 #define _VMCI_KERNEL_API_2_H_ 11 12 #include "vmci_kernel_api_1.h" 13 14 /* Define version 2. */ 15 16 #undef VMCI_KERNEL_API_VERSION 17 #define VMCI_KERNEL_API_VERSION_2 2 18 #define VMCI_KERNEL_API_VERSION VMCI_KERNEL_API_VERSION_2 19 20 /* VMCI Doorbell API. */ 21 #define VMCI_FLAG_DELAYED_CB 0x01 22 23 typedef void (*vmci_callback)(void *client_data); 24 25 int vmci_doorbell_create(struct vmci_handle *handle, uint32_t flags, 26 vmci_privilege_flags priv_flags, vmci_callback notify_cb, 27 void *client_data); 28 int vmci_doorbell_destroy(struct vmci_handle handle); 29 int vmci_doorbell_notify(struct vmci_handle handle, 30 vmci_privilege_flags priv_flags); 31 32 #endif /* !_VMCI_KERNEL_API_2_H_ */ 33