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