@ -3364,6 +3364,23 @@ static int hostapd_ctrl_iface_get_capability(struct hostapd_data *hapd,
}
# ifdef ANDROID
static int hostapd_ctrl_iface_driver_cmd ( struct hostapd_data * hapd , char * cmd ,
char * buf , size_t buflen )
{
int ret ;
ret = hostapd_drv_driver_cmd ( hapd , cmd , buf , buflen ) ;
if ( ret = = 0 ) {
ret = os_snprintf ( buf , buflen , " %s \n " , " OK " ) ;
if ( os_snprintf_error ( buflen , ret ) )
ret = - 1 ;
}
return ret ;
}
# endif /* ANDROID */
static int hostapd_ctrl_iface_receive_process ( struct hostapd_data * hapd ,
char * buf , char * reply ,
int reply_size ,
@ -3866,6 +3883,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
} else if ( os_strcmp ( buf , " PTKSA_CACHE_LIST " ) = = 0 ) {
reply_len = ptksa_cache_list ( hapd - > ptksa , reply , reply_size ) ;
# endif /* CONFIG_PASN */
# ifdef ANDROID
} else if ( os_strncmp ( buf , " DRIVER " , 7 ) = = 0 ) {
reply_len = hostapd_ctrl_iface_driver_cmd ( hapd , buf + 7 , reply ,
reply_size ) ;
# endif /* ANDROID */
} else {
os_memcpy ( reply , " UNKNOWN COMMAND \n " , 16 ) ;
reply_len = 16 ;