brintos

brintos / linux-shallow public Read only

0
0
Text · 1.1 KiB · 9906824 Raw
54 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * VMware VMCI Driver4 *5 * Copyright (C) 2012 VMware, Inc. All rights reserved.6 */7 8#ifndef _VMCI_DRIVER_H_9#define _VMCI_DRIVER_H_10 11#include <linux/vmw_vmci_defs.h>12#include <linux/wait.h>13 14#include "vmci_queue_pair.h"15#include "vmci_context.h"16 17enum vmci_obj_type {18	VMCIOBJ_VMX_VM = 10,19	VMCIOBJ_CONTEXT,20	VMCIOBJ_SOCKET,21	VMCIOBJ_NOT_SET,22};23 24/* For storing VMCI structures in file handles. */25struct vmci_obj {26	void *ptr;27	enum vmci_obj_type type;28};29 30/*31 * Needed by other components of this module.  It's okay to have one global32 * instance of this because there can only ever be one VMCI device.  Our33 * virtual hardware enforces this.34 */35extern struct pci_dev *vmci_pdev;36 37u32 vmci_get_context_id(void);38int vmci_send_datagram(struct vmci_datagram *dg);39void vmci_call_vsock_callback(bool is_host);40 41int vmci_host_init(void);42void vmci_host_exit(void);43bool vmci_host_code_active(void);44int vmci_host_users(void);45 46int vmci_guest_init(void);47void vmci_guest_exit(void);48bool vmci_guest_code_active(void);49u32 vmci_get_vm_context_id(void);50 51bool vmci_use_ppn64(void);52 53#endif /* _VMCI_DRIVER_H_ */54