2022-06-03 19:15:11 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
2022-11-01 20:26:26 +00:00
|
|
|
* Copyright (C) 2020 Intel Corporation. All rights reserved.
|
2020-08-19 15:35:38 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _SPDK_VFIO_USER_PCI_H
|
|
|
|
#define _SPDK_VFIO_USER_PCI_H
|
|
|
|
|
|
|
|
#include "spdk/stdinc.h"
|
2022-08-04 20:47:45 +00:00
|
|
|
#include "spdk/vfio_user_spec.h"
|
2020-08-19 15:35:38 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
struct vfio_device;
|
|
|
|
|
|
|
|
int spdk_vfio_user_pci_bar_access(struct vfio_device *dev, uint32_t index,
|
|
|
|
uint64_t offset, size_t len, void *buf,
|
|
|
|
bool is_write);
|
|
|
|
|
|
|
|
void *spdk_vfio_user_get_bar_addr(struct vfio_device *dev, uint32_t index,
|
|
|
|
uint64_t offset, uint32_t len);
|
|
|
|
|
|
|
|
struct vfio_device *spdk_vfio_user_setup(const char *path);
|
|
|
|
|
|
|
|
void spdk_vfio_user_release(struct vfio_device *dev);
|
|
|
|
|
2022-08-04 20:47:45 +00:00
|
|
|
/* For fuzzing only */
|
|
|
|
int spdk_vfio_user_dev_send_request(struct vfio_device *dev, enum vfio_user_command command,
|
|
|
|
void *arg, size_t arg_len, size_t buf_len, int *fds,
|
|
|
|
int max_fds);
|
|
|
|
|
2020-08-19 15:35:38 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|