xref: /freebsd/sys/dev/vmware/vmci/vmci_driver.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
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 driver interface. */
863a93856SMark Peek 
963a93856SMark Peek #ifndef _VMCI_DRIVER_H_
1063a93856SMark Peek #define _VMCI_DRIVER_H_
1163a93856SMark Peek 
1263a93856SMark Peek #include <sys/types.h>
1363a93856SMark Peek #include <sys/syslog.h>
1463a93856SMark Peek #include <sys/systm.h>
1563a93856SMark Peek 
1663a93856SMark Peek #include "vmci_call_defs.h"
1763a93856SMark Peek #include "vmci_kernel_if.h"
1863a93856SMark Peek 
1963a93856SMark Peek #ifndef VMCI_DEBUG_LOGGING
2063a93856SMark Peek #define VMCI_LOG_DEBUG(_args, ...)
2163a93856SMark Peek #else /* VMCI_DEBUG_LOGGING */
2263a93856SMark Peek #define VMCI_LOG_DEBUG(_args, ...)					\
2363a93856SMark Peek 	log(LOG_DEBUG, _args, ##__VA_ARGS__)
2463a93856SMark Peek #endif /* !VMCI_DEBUG_LOGGING */
2563a93856SMark Peek #define VMCI_LOG_INFO(_args, ...)					\
2663a93856SMark Peek 	log(LOG_INFO, _args, ##__VA_ARGS__)
2763a93856SMark Peek #define VMCI_LOG_WARNING(_args, ...)					\
2863a93856SMark Peek 	log(LOG_WARNING, _args, ##__VA_ARGS__)
2963a93856SMark Peek #define VMCI_LOG_ERROR(_args, ...)					\
3063a93856SMark Peek 	log(LOG_ERR, _args, ##__VA_ARGS__)
3163a93856SMark Peek 
3263a93856SMark Peek int	vmci_components_init(void);
3363a93856SMark Peek void	vmci_components_cleanup(void);
3463a93856SMark Peek int	vmci_send_datagram(struct vmci_datagram *dg);
3563a93856SMark Peek 
3663a93856SMark Peek void	vmci_util_init(void);
3763a93856SMark Peek void	vmci_util_exit(void);
3863a93856SMark Peek bool	vmci_check_host_capabilities(void);
3963a93856SMark Peek void	vmci_read_datagrams_from_port(vmci_io_handle io_handle,
4063a93856SMark Peek 	    vmci_io_port dg_in_port, uint8_t *dg_in_buffer,
4163a93856SMark Peek 	    size_t dg_in_buffer_size);
4263a93856SMark Peek 
4363a93856SMark Peek #endif /* !_VMCI_DRIVER_H_ */
44