1 /* 2 * Copyright (c) 2006-2018, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2012-10-01 Yi Qiu first version 9 * 2012-12-12 heyuanjie87 add MASS endpoints collection 10 */ 11 12 #ifndef __MSTORAGE_H__ 13 #define __MSTORAGE_H__ 14 15 #include <rtthread.h> 16 17 #pragma pack(1) 18 19 struct umass_descriptor 20 { 21 #ifdef RT_USB_DEVICE_COMPOSITE 22 struct uiad_descriptor iad_desc; 23 #endif 24 struct uinterface_descriptor intf_desc; 25 struct uendpoint_descriptor ep_out_desc; 26 struct uendpoint_descriptor ep_in_desc; 27 }; 28 typedef struct umass_descriptor* umass_desc_t; 29 30 struct capacity_data 31 { 32 rt_uint8_t LastLogicalBlockAddress[4]; 33 rt_uint8_t BlockLengthInBytes[4]; 34 }; 35 36 struct request_sense_data 37 { 38 rt_uint8_t ErrorCode:7; 39 rt_uint8_t Valid:1; 40 rt_uint8_t Reserved1; 41 rt_uint8_t SenseKey:4; 42 rt_uint8_t Reserved2:4; 43 rt_uint8_t Information[4]; 44 rt_uint8_t AdditionalSenseLength; 45 rt_uint8_t Reserved3[4]; 46 rt_uint8_t AdditionalSenseCode; 47 rt_uint8_t AdditionalSenseCodeQualifier; 48 rt_uint8_t Reserved4[4]; 49 }request_sense_data_t; 50 51 #pragma pack() 52 53 #endif 54