163a93856SMark Peek /*- 2*3eeb7511SMark Peek * Copyright (c) 2018 VMware, Inc. 363a93856SMark Peek * 48c302b2eSMark Peek * SPDX-License-Identifier: (BSD-2-Clause OR GPL-2.0) 563a93856SMark Peek */ 663a93856SMark Peek 763a93856SMark Peek /* VMCI QueuePair API definition. */ 863a93856SMark Peek 963a93856SMark Peek #ifndef _VMCI_QUEUE_PAIR_H_ 1063a93856SMark Peek #define _VMCI_QUEUE_PAIR_H_ 1163a93856SMark Peek 1263a93856SMark Peek #include "vmci_kernel_if.h" 1363a93856SMark Peek #include "vmci_queue.h" 1463a93856SMark Peek 1563a93856SMark Peek int vmci_qp_guest_endpoints_init(void); 1663a93856SMark Peek void vmci_qp_guest_endpoints_exit(void); 1763a93856SMark Peek void vmci_qp_guest_endpoints_sync(void); 1863a93856SMark Peek void vmci_qp_guest_endpoints_convert(bool to_local, bool device_reset); 1963a93856SMark Peek 2063a93856SMark Peek int vmci_queue_pair_alloc(struct vmci_handle *handle, 2163a93856SMark Peek struct vmci_queue **produce_q, uint64_t produce_size, 2263a93856SMark Peek struct vmci_queue **consume_q, uint64_t consume_size, 2363a93856SMark Peek vmci_id peer, uint32_t flags, vmci_privilege_flags priv_flags); 2463a93856SMark Peek int vmci_queue_pair_detach(struct vmci_handle handle); 2563a93856SMark Peek 2663a93856SMark Peek #endif /* !_VMCI_QUEUE_PAIR_H_ */ 27