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/* VMCI QueuePair API definition. */
10
11#ifndef _VMCI_QUEUE_PAIR_H_
12#define _VMCI_QUEUE_PAIR_H_
13
14#include "vmci_kernel_if.h"
15#include "vmci_queue.h"
16
17int	vmci_qp_guest_endpoints_init(void);
18void	vmci_qp_guest_endpoints_exit(void);
19void	vmci_qp_guest_endpoints_sync(void);
20void	vmci_qp_guest_endpoints_convert(bool to_local, bool device_reset);
21
22int	vmci_queue_pair_alloc(struct vmci_handle *handle,
23	    struct vmci_queue **produce_q, uint64_t produce_size,
24	    struct vmci_queue **consume_q, uint64_t consume_size,
25	    vmci_id peer, uint32_t flags, vmci_privilege_flags priv_flags);
26int	vmci_queue_pair_detach(struct vmci_handle handle);
27
28#endif /* !_VMCI_QUEUE_PAIR_H_ */
29