xref: /freebsd/sys/dev/vmware/vmci/vmci_queue_pair.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
1 /*-
2  * Copyright (c) 2018 VMware, Inc.
3  *
4  * SPDX-License-Identifier: (BSD-2-Clause OR GPL-2.0)
5  */
6 
7 /* VMCI QueuePair API definition. */
8 
9 #ifndef _VMCI_QUEUE_PAIR_H_
10 #define _VMCI_QUEUE_PAIR_H_
11 
12 #include "vmci_kernel_if.h"
13 #include "vmci_queue.h"
14 
15 int	vmci_qp_guest_endpoints_init(void);
16 void	vmci_qp_guest_endpoints_exit(void);
17 void	vmci_qp_guest_endpoints_sync(void);
18 void	vmci_qp_guest_endpoints_convert(bool to_local, bool device_reset);
19 
20 int	vmci_queue_pair_alloc(struct vmci_handle *handle,
21 	    struct vmci_queue **produce_q, uint64_t produce_size,
22 	    struct vmci_queue **consume_q, uint64_t consume_size,
23 	    vmci_id peer, uint32_t flags, vmci_privilege_flags priv_flags);
24 int	vmci_queue_pair_detach(struct vmci_handle handle);
25 
26 #endif /* !_VMCI_QUEUE_PAIR_H_ */
27