/* SPDX-License-Identifier: GPL-2.0 */
#ifndef TARGET_CORE_FILE_H
#define TARGET_CORE_FILE_H

#include <target/target_core_base.h>

#define FD_VERSION		"4.0"

#define FD_MAX_DEV_NAME		256
#define FD_MAX_DEV_PROT_NAME	FD_MAX_DEV_NAME + 16
#define FD_DEVICE_QUEUE_DEPTH	32
#define FD_MAX_DEVICE_QUEUE_DEPTH 128
#define FD_BLOCKSIZE		512
/*
 * Limited by the number of iovecs (2048) per vfs_[writev,readv] call
 */
#define FD_MAX_BYTES		8388608

#define RRF_EMULATE_CDB		0x01
#define RRF_GOT_LBA		0x02

#define FBDF_HAS_PATH		0x01
#define FBDF_HAS_SIZE		0x02
#define FDBD_HAS_BUFFERED_IO_WCE 0x04
#define FDBD_HAS_ASYNC_IO	 0x08
#define FDBD_FORMAT_UNIT_SIZE	2048

struct fd_dev {
	struct se_device dev;

	u32		fbd_flags;
	unsigned char	fd_dev_name[FD_MAX_DEV_NAME];
	/* Unique Ramdisk Device ID in Ramdisk HBA */
	u32		fd_dev_id;
	/* Number of SG tables in sg_table_array */
	u32		fd_table_count;
	u32		fd_queue_depth;
	u32		fd_block_size;
	unsigned long long fd_dev_size;
	struct file	*fd_file;
	struct file	*fd_prot_file;
	/* FILEIO HBA device is connected to */
	struct fd_host *fd_host;
} ____cacheline_aligned;

struct fd_host {
	u32		fd_host_dev_id_count;
	/* Unique FILEIO Host ID */
	u32		fd_host_id;
} ____cacheline_aligned;

#endif /* TARGET_CORE_FILE_H */
