1: uhs_sbit32_t Usbh_Stor_GetUnitInfo(
PSTOR_UNIT pUnit,
STOR_UNIT_INFO *pInfo)
2: {
3: uhs_ubit8_t i;
4:
5: API_REPORT_MILESTONE( USBSTOR_CHKPOINTS_API_GETUNITINFO );
6:
7:
8:
if( pStorClassDriver == NULL ) {
9: API_REPORT_SUMMARY( USBSTOR_LOG_SYS_SYSTEM_ERROR );
10:
return USBSTOR_SYS_SYSTEM_ERROR;
11: }
12:
13:
14: pUnit = Usbh_Stor_GetStorUnit((uhs_sbit32_t)pUnit);
15:
16:
17:
if( (pUnit == NULL) || (pInfo == NULL) ||
18: (Usbh_Stor_Api_IsStorUnitObject(pUnit) == FALSE) ) {
19: API_REPORT_SUMMARY( USBSTOR_LOG_API_PARAM_ERROR );
20:
return Usbh_Stor_SetLastError( NULL,
USBSTOR_API_PARAM_ERROR );
21: }
22:
23:
24: pInfo->u16BlockSize = pUnit->u16BlockSize;
25: pInfo->u32LastBlockAddress = pUnit->u32LastBlockAddress;
26: pInfo->bRemovable = pUnit->bRemovable;
27:
for( i = 0; i < (uhs_ubit8_t)
sizeof(pInfo->u8VendorName); i++) {
28:
29: pInfo->u8VendorName[i] = pUnit->u8VendorName[i];
30: }
31:
for( i = 0; i < (uhs_ubit8_t)
sizeof(pInfo->u8ProductName); i++) {
32:
33: pInfo->u8ProductName[i] = pUnit->u8ProductName[i];
34: }
35:
return USBSTOR_SUCCESS;
36: }