1: uhs_status_t Usbh_Api_RegistAppCallback(
usbh_regist_info init )
2: {
3:
int i = 0;
4: uhs_status_t retval =
UDI_OK;
5:
app_callback_info * app_cb = NULL;
6:
7:
8:
if( Usbh_susres_get_state() != USBH_SUSRES_STS_IDLE ){
9: uhs_debug_print (DBG_ERR, ("ERROR : Don't Call Current State!!"));
10: CORE_REPORT_ERROR(
USBC_ILLEGAL_ERROR );
11:
return UDI_STAT_INVALID_STATE;
12: }
13:
14:
if(g_usbh_status == USBHSTAT_RUN){
15:
16: Usbh_RegistGetStatusCallback( init.status_notify_callback );
17:
18:
19: Usbh_RegistOverCurrentCallback( init.overload_callback );
20:
21:
22: Usbh_RegistSplitErrNotifyCallback( init.split_err_notify_callback );
23:
24:
if ( init.app_callback == NULL ) {
25:
return UDI_OK;
26: }
else {
27: app_cb = init.app_callback;
28: }
29:
30: 31: 32: retval = Usbh_RegistAppCallback( &app_cb[i] );
33:
if ( retval !=
UDI_OK ) {
34: CORE_REPORT_ERROR(
USBC_ILLEGAL_ERROR );
35: }
36: }
else{
37:
return UDI_STAT_INVALID_STATE;
38: }
39:
40:
return retval;
41: }