1c66ac9dbSNicholas Bellinger #ifndef TARGET_CORE_FILE_H 2c66ac9dbSNicholas Bellinger #define TARGET_CORE_FILE_H 3c66ac9dbSNicholas Bellinger 4c66ac9dbSNicholas Bellinger #define FD_VERSION "4.0" 5c66ac9dbSNicholas Bellinger 6c66ac9dbSNicholas Bellinger #define FD_MAX_DEV_NAME 256 70f5e2ec4SNicholas Bellinger #define FD_MAX_DEV_PROT_NAME FD_MAX_DEV_NAME + 16 8c66ac9dbSNicholas Bellinger #define FD_DEVICE_QUEUE_DEPTH 32 9c66ac9dbSNicholas Bellinger #define FD_MAX_DEVICE_QUEUE_DEPTH 128 10c66ac9dbSNicholas Bellinger #define FD_BLOCKSIZE 512 11f002a243SNicholas Bellinger #define FD_MAX_SECTORS 2048 12c66ac9dbSNicholas Bellinger 13c66ac9dbSNicholas Bellinger #define RRF_EMULATE_CDB 0x01 14c66ac9dbSNicholas Bellinger #define RRF_GOT_LBA 0x02 15c66ac9dbSNicholas Bellinger 16c66ac9dbSNicholas Bellinger #define FBDF_HAS_PATH 0x01 17c66ac9dbSNicholas Bellinger #define FBDF_HAS_SIZE 0x02 18b32f4c7eSNicholas Bellinger #define FDBD_HAS_BUFFERED_IO_WCE 0x04 190f5e2ec4SNicholas Bellinger #define FDBD_FORMAT_UNIT_SIZE 2048 200f5e2ec4SNicholas Bellinger 21c66ac9dbSNicholas Bellinger 22c66ac9dbSNicholas Bellinger struct fd_dev { 230fd97ccfSChristoph Hellwig struct se_device dev; 240fd97ccfSChristoph Hellwig 25c66ac9dbSNicholas Bellinger u32 fbd_flags; 26c66ac9dbSNicholas Bellinger unsigned char fd_dev_name[FD_MAX_DEV_NAME]; 27c66ac9dbSNicholas Bellinger /* Unique Ramdisk Device ID in Ramdisk HBA */ 28c66ac9dbSNicholas Bellinger u32 fd_dev_id; 29c66ac9dbSNicholas Bellinger /* Number of SG tables in sg_table_array */ 30c66ac9dbSNicholas Bellinger u32 fd_table_count; 31c66ac9dbSNicholas Bellinger u32 fd_queue_depth; 32c66ac9dbSNicholas Bellinger u32 fd_block_size; 33c66ac9dbSNicholas Bellinger unsigned long long fd_dev_size; 34c66ac9dbSNicholas Bellinger struct file *fd_file; 350f5e2ec4SNicholas Bellinger struct file *fd_prot_file; 36c66ac9dbSNicholas Bellinger /* FILEIO HBA device is connected to */ 37c66ac9dbSNicholas Bellinger struct fd_host *fd_host; 38c66ac9dbSNicholas Bellinger } ____cacheline_aligned; 39c66ac9dbSNicholas Bellinger 40c66ac9dbSNicholas Bellinger struct fd_host { 41c66ac9dbSNicholas Bellinger u32 fd_host_dev_id_count; 42c66ac9dbSNicholas Bellinger /* Unique FILEIO Host ID */ 43c66ac9dbSNicholas Bellinger u32 fd_host_id; 44c66ac9dbSNicholas Bellinger } ____cacheline_aligned; 45c66ac9dbSNicholas Bellinger 46c66ac9dbSNicholas Bellinger #endif /* TARGET_CORE_FILE_H */ 47