summaryrefslogtreecommitdiff
path: root/sys/dev/vmware/vmci/vmci_kernel_api_2.h
blob: ffcd16a3042f624ff304928633fd752a346d9a8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*-
 * Copyright (c) 2018 VMware, Inc.
 *
 * SPDX-License-Identifier: (BSD-2-Clause OR GPL-2.0)
 */

/* 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_ */