From 1377d448a26aa67907ae86a84d33c02c7c9b9dcd Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 21 Sep 2022 16:21:36 +0200 Subject: scsi: Move core emulation state into a new struct In preparation for sharing the emulation code between two drivers, move some of the fields into a new struct. Use a separate header file so it can be used by various drivers. Signed-off-by: Simon Glass --- include/scsi_emul.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 include/scsi_emul.h (limited to 'include') diff --git a/include/scsi_emul.h b/include/scsi_emul.h new file mode 100644 index 00000000000..dec78d239c7 --- /dev/null +++ b/include/scsi_emul.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Emulation of enough SCSI commands to find and read from a unit + * + * Copyright 2022 Google LLC + * Written by Simon Glass + * + * implementations of SCSI functions required so that CONFIG_SCSI can be enabled + * for sandbox + */ + +#ifndef __scsi_emul_h +#define __scsi_emul_h + +/** + * struct scsi_emul_info - information for emulating a SCSI device + * + * @phase: Current SCSI phase + * @buff_used: Number of bytes ready to transfer back to host + * @read_len: Number of bytes of data left in the current read command + * @alloc_len: Allocation length from the last incoming command + * @transfer_len: Transfer length from CBW header + */ +struct scsi_emul_info { + enum scsi_cmd_phase phase; + int buff_used; + int read_len; + int alloc_len; + uint transfer_len; +}; + +#endif -- cgit v1.3.1