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