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