AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: uhs_status_t Usbh_Stor_Init(app_callback_info* stCallback) 2: { 3: uhs_ubit8_t i; 4: USB_BOT_STATUS nBotRet; 5: USB_SCSI_STATUS nScsiRet; 6: 7: API_REPORT_MILESTONE( USBSTOR_CHKPOINTS_API_INITIALIZE ); 8: 9: 10: if( stCallback->clsdrv_type != USB_CLASS_MASSSTOR ) { 11: API_REPORT_SUMMARY( USBSTOR_LOG_SYS_SYSTEM_ERROR ); 12: return UDI_STAT_DATA_ERROR; 13: } 14: 15: 16: for( i = 0; i < (uhs_ubit8_t) numof(stDriveTable); i++ ) { 17: stDriveTable[i].s32Context = (CONTEXT_BASE + i); 18: stDriveTable[i].pUserDrv = NULL; 19: stDriveTable[i].pStorUnit = NULL; 20: } 21: 22: 23: pStorClassDriver = Usbh_Stor_CreateStorClassDriver( stCallback->attach_callback, 24: stCallback->detach_callback, 25: Usbh_Stor_Api_AttachStorUnit, 26: Usbh_Stor_Api_DetachStorUnit, 27: Usbh_Stor_ScsiCtrl_AttachStorUnit, 28: Usbh_Stor_ScsiCtrl_DetachStorUnit ); 29: if( pStorClassDriver == NULL ) { 30: API_REPORT_SUMMARY( USBSTOR_LOG_SYS_SYSTEM_ERROR ); 31: return UDI_STAT_DATA_ERROR; 32: } 33: 34: 35: if( (nBotRet = Usbh_Stor_Bot_Initialize(pStorClassDriver)) != USB_BOT_NORMAL ) { 36: 37: Usbh_Stor_DeleteStorClassDriver( pStorClassDriver ); 38: pStorClassDriver = NULL; 39: 40: API_REPORT_SUMMARY( Usbh_Stor_ApiLog_ConvertUsbBotStatToUsbStorStat(nBotRet) ); 41: return UDI_STAT_DATA_ERROR; 42: } 43: 44: 45: if( (nScsiRet = Usbh_Stor_ScsiCtrl_Initialize()) != USB_SCSI_NORMAL ) { 46: 47: Usbh_Stor_Bot_Finalize( pStorClassDriver ); 48: Usbh_Stor_DeleteStorClassDriver( pStorClassDriver ); 49: pStorClassDriver = NULL; 50: 51: API_REPORT_SUMMARY( Usbh_Stor_ApiLog_ConvertUsbScsiStatToUsbStorStat(nScsiRet) ); 52: return UDI_STAT_DATA_ERROR; 53: } 54: 55: return UDI_OK; 56: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.