34#if VSF_USE_SCSI == ENABLED
38#if defined(__VSF_SCSI_CLASS_IMPLEMENT)
39# define __VSF_CLASS_IMPLEMENT__
40#elif defined(__VSF_SCSI_CLASS_INHERIT__)
41# define __VSF_CLASS_INHERIT__
138#if VSF_USE_SIMPLE_STREAM == ENABLED
153#if defined(__VSF_SCSI_CLASS_IMPLEMENT) || defined(__VSF_SCSI_CLASS_INHERIT__)
159# if VSF_USE_SIMPLE_STREAM == ENABLED
163#
if VSF_USE_SIMPLE_STREAM ==
ENABLED
179#if VSF_USE_SIMPLE_STREAM == ENABLED
183#ifdef __VSF_SCSI_CLASS_INHERIT__
197#undef __VSF_SCSI_CLASS_IMPLEMENT
198#undef __VSF_SCSI_CLASS_INHERIT__
#define ENABLED
Definition __type.h:28
vsf_err_t
Definition __type.h:42
Definition vsf_scsi.h:133
Definition vsf_scsi.h:146
Definition vsf_simple_stream.h:254
unsigned int uint32_t
Definition lvgl.h:43
unsigned char uint8_t
Definition lvgl.h:40
#define vsf_dcl_class
Definition ooc_class.h:46
#define vsf_class(__name)
Definition ooc_class.h:48
unsigned char uint_fast8_t
Definition stdint.h:23
unsigned long long uint64_t
Definition stdint.h:11
Definition vsf_scsi.h:121
uint8_t type
Definition vsf_scsi.h:122
uint8_t removable
Definition vsf_scsi.h:123
uint8_t vendor[8]
Definition vsf_scsi.h:128
uint8_t version
Definition vsf_scsi.h:124
uint8_t product[16]
Definition vsf_scsi.h:129
uint8_t reserved[3]
Definition vsf_scsi.h:127
uint8_t additional_length
Definition vsf_scsi.h:126
uint8_t data_format
Definition vsf_scsi.h:125
uint8_t revision[4]
Definition vsf_scsi.h:130
Definition vsf_utilities.h:51
#define __vsf_component_peda_ifs(__peda_name,...)
Definition vsf_component_cfg.h:62
#define vsf_peda_evthandler_t
Definition vsf_component_cfg.h:37
uint32_t size
Definition vsf_memfs.h:50
struct vk_romfs_header_t VSF_CAL_PACKED
bool vk_scsi_get_rw_param(uint8_t *cbd, uint64_t *addr, uint32_t *size)
Definition vsf_scsi.c:126
uint_fast8_t vk_scsi_get_command_len(uint8_t *cbd)
Definition vsf_scsi.c:112
vsf_err_t vk_scsi_execute_stream(vk_scsi_t *pthis, uint8_t *cbd, vsf_stream_t *stream)
Definition vsf_scsi.c:95
bool vk_scsi_prepare_buffer(vk_scsi_t *pthis, uint8_t *cbd, vsf_mem_t *mem)
Definition vsf_scsi.c:61
scsi_cmd_code_t
Definition vsf_scsi.h:93
@ SCSI_CMDCODE_SERVICE_ACTION_OUT16
Definition vsf_scsi.h:118
@ SCSI_CMDCODE_MODE_SELECT
Definition vsf_scsi.h:112
@ SCSI_CMDCODE_SEND_DIAGNOSTIC
Definition vsf_scsi.h:116
@ SCSI_CMDCODE_VERIFY
Definition vsf_scsi.h:109
@ SCSI_CMDCODE_READ
Definition vsf_scsi.h:103
@ SCSI_CMDCODE_TEST_UNIT_READY
Definition vsf_scsi.h:94
@ SCSI_CMDCODE_MODE_SENSE
Definition vsf_scsi.h:114
@ SCSI_CMDCODE_READ_TOC
Definition vsf_scsi.h:98
@ SCSI_CMDCODE_REQUEST_SENSE
Definition vsf_scsi.h:96
@ SCSI_CMDCODE_START_STOP_UNIT
Definition vsf_scsi.h:115
@ SCSI_CMDCODE_SERVICE_ACTION_OUT12
Definition vsf_scsi.h:104
@ SCSI_CMDCODE_ATA_COMMAND_PASS_THROUGH16
Definition vsf_scsi.h:102
@ SCSI_CMDCODE_SERVICE_ACTION_IN12
Definition vsf_scsi.h:107
@ SCSI_CMDCODE_GET_EVENT_STATUS_NOTIFY
Definition vsf_scsi.h:106
@ SCSI_CMDCODE_ATA_COMMAND_PASS_THROUGH12
Definition vsf_scsi.h:95
@ SCSI_CMDCODE_SYNC_CACHE10
Definition vsf_scsi.h:113
@ SCSI_CMDCODE_SYNC_CACHE16
Definition vsf_scsi.h:110
@ SCSI_CMDCODE_READ_FORMAT_CAPACITIES
Definition vsf_scsi.h:97
@ SCSI_CMDCODE_INQUIRY
Definition vsf_scsi.h:111
@ SCSI_CMDCODE_FORMAT_UNIT
Definition vsf_scsi.h:100
@ SCSI_CMDCODE_ALLOW_MEDIUM_REMOVAL
Definition vsf_scsi.h:117
@ SCSI_CMDCODE_READ_CAPACITY
Definition vsf_scsi.h:101
@ SCSI_CMDCODE_REPORT_ID_INFO
Definition vsf_scsi.h:99
@ SCSI_CMDCODE_WRITE
Definition vsf_scsi.h:105
@ SCSI_CMDCODE_SERVICE_ACTION_IN16
Definition vsf_scsi.h:108
vsf_err_t vk_scsi_fini(vk_scsi_t *pthis)
Definition vsf_scsi.c:53
scsi_asc_t
Definition vsf_scsi.h:74
@ SCSI_ASC_INVALID_COMMAND
Definition vsf_scsi.h:77
@ SCSI_ASC_ADDRESS_OUT_OF_RANGE
Definition vsf_scsi.h:81
@ SCSI_ASC_NONE
Definition vsf_scsi.h:75
@ SCSI_ASC_INVALID_FIELD_IN_COMMAND
Definition vsf_scsi.h:78
@ SCSI_ASC_INVALID_FIELD_IN_PARAMETER_LIST
Definition vsf_scsi.h:79
@ SCSI_ASC_MEDIUM_HAVE_CHANGED
Definition vsf_scsi.h:80
@ SCSI_ASC_PARAMETER_LIST_LENGTH_ERROR
Definition vsf_scsi.h:76
@ SCSI_ASC_MEDIUM_NOT_PRESENT
Definition vsf_scsi.h:82
scsi_sensekey_t
This module provides SCSI device class which can execute SCSI commands. !
Definition vsf_scsi.h:57
@ SCSI_SENSEKEY_BLANK_CHECK
Definition vsf_scsi.h:66
@ SCSI_SENSEKEY_DATA_PROTECT
Definition vsf_scsi.h:65
@ SCSI_SENSEKEY_MEDIUM_ERROR
Definition vsf_scsi.h:61
@ SCSI_SENSEKEY_NO_SENSE
Definition vsf_scsi.h:58
@ SCSI_SENSEKEY_ABORTED_COMMAND
Definition vsf_scsi.h:69
@ SCSI_SENSEKEY_VOLUME_OVERFLOW
Definition vsf_scsi.h:70
@ SCSI_SENSEKEY_UNIT_ATTENTION
Definition vsf_scsi.h:64
@ SCSI_SENSEKEY_NOT_READY
Definition vsf_scsi.h:60
@ SCSI_SENSEKEY_ILLEGAL_REQUEST
Definition vsf_scsi.h:63
@ SCSI_SENSEKEY_COPY_ABORTED
Definition vsf_scsi.h:68
@ SCSI_SENSEKEY_RECOVERED_ERROR
Definition vsf_scsi.h:59
@ SCSI_SENSEKEY_MISCOMPARE
Definition vsf_scsi.h:71
@ SCSI_SENSEKEY_HARDWARE_ERROR
Definition vsf_scsi.h:62
@ SCSI_SENSEKEY_VENDOR_SPECIFIC
Definition vsf_scsi.h:67
vsf_err_t vk_scsi_execute(vk_scsi_t *pthis, uint8_t *cbd, vsf_mem_t *mem)
Definition vsf_scsi.c:72
scsi_group_code_t
Definition vsf_scsi.h:85
@ SCSI_GROUPCODE6
Definition vsf_scsi.h:86
@ SCSI_GROUPCODE12
Definition vsf_scsi.h:90
@ SCSI_GROUPCODE10_2
Definition vsf_scsi.h:88
@ SCSI_GROUPCODE10_1
Definition vsf_scsi.h:87
@ SCSI_GROUPCODE16
Definition vsf_scsi.h:89
vsf_err_t vk_scsi_init(vk_scsi_t *pthis)
Definition vsf_scsi.c:45