int action_clean(UmMainData *ad, int mode)
{
	__USB_FUNC_ENTER__ ;
	if(!ad) return -1;
	int ret = -1;
	int usbSelMode = -1;
	ret = vconf_get_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT, &usbSelMode);

	switch(mode) {
	case SETTING_USB_DEFAULT_MODE:
		USB_LOG("Mode : SETTING_USB_DEFAULT_MODE action_clean\n");
		call_cmd(SDBD_STOP);
		break;
	case SETTING_USB_DEBUG_MODE:
		call_cmd(OPENSSHD_STOP);
		if (SETTING_USB_MOBILE_HOTSPOT == usbSelMode) {
			call_cmd(OPENSSHD_STOP);
		}
		break;
	case SETTING_USB_MOBILE_HOTSPOT:
		USB_LOG("Mode : SETTING_USB_MOBILE_HOTSPOT action_clean\n");
		if (SETTING_USB_DEBUG_MODE == usbSelMode) {
			call_cmd(UNSET_USB0_IP);
		}
		break;
	case SETTING_USB_ACCESSORY_MODE:
	default:
		break;
	}
	ret = mode_set_kernel(ad->driverVersion, SETTING_USB_NONE_MODE);
	um_retvm_if(0 != ret, -1, "FAIL: mode_set_kernel(SETTING_USB_SAMSUNG_KIES)");
	__USB_FUNC_EXIT__ ;
	return 0;
}
示例#2
0
static int	launch_cmd(char *line, t_client *client, t_kernel *kernel)
{
  char		**av;
  int		i;
  int		ret;

  while (line && *line)
    {
      if (!(av = my_str_to_wordtab(line)))
	return (-1);
      i = 0;
      ret = -1;
      while (ret == -1 && av[0] && g_functions[i].name)
	{
	  if (!strcmp(av[0], g_functions[i].name))
	    {
	      if ((ret = call_cmd(i, client, av, kernel)))
		return (ret);
	    }
	  ++i;
	}
      if (!g_functions[i].name)
	if ((ret = game_auth(av, client, kernel)))
	  return (ret);
      line = find_end(line);
    }
  return (0);
}
示例#3
0
static
long
ms_ioctl(
    struct file *file,
    unsigned int cmd,
    unsigned long arg)
{
    TRACE("IOCTL received: cmd: 0x%x\n", cmd);
    switch(cmd)
    {
        case MS_IOCTL_CO:       
            call_cmd((void *)arg, call_func_return_results);
            break;
        case MS_IOCTL_GIC:
            call_cmd((void *)arg, gic_return_results);
            break;
        default:
            break;
    }
    return 0;
}
static int run_core_action(UmMainData *ad, int mode)
{
	__USB_FUNC_ENTER__ ;
	if(!ad) return ACT_FAIL;
	int ret = -1;
	int usbCurMode = -1;
	ret = vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT, &usbCurMode);
	um_retvm_if(0 != ret, ACT_FAIL, "FAIL: vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT)\n");

	switch(mode)
	{
	case SETTING_USB_DEFAULT_MODE:
		USB_LOG("Mode : SETTING_USB_DFAULT_MODE\n");
		ret = mode_set_kernel(ad->driverVersion, SETTING_USB_DEFAULT_MODE);
		um_retvm_if(0 != ret, ACT_FAIL, "FAIL : mode_set_kernel()\n");
		start_dr(ad);
		call_cmd(SDBD_START);
		break;

	case SETTING_USB_DEBUG_MODE:
		USB_LOG("Mode: SETTING_USB_DEBUG_MODE\n");
		if (SETTING_USB_MOBILE_HOTSPOT != usbCurMode) {
			ret = mode_set_kernel(ad->driverVersion, SETTING_USB_DEBUG_MODE);
			um_retvm_if(0 != ret, ACT_FAIL, "FAIL : mode_set_kernel()\n");
			call_cmd(SET_USB0_IP);
			call_cmd(ADD_DEFAULT_GW);
		}
		call_cmd(OPENSSHD_START);

	case SETTING_USB_MOBILE_HOTSPOT:
		USB_LOG("Mode : SETTING_USB_MOBILE_HOTSPOT\n");
		if (SETTING_USB_DEBUG_MODE != usbCurMode) {
			ret = mode_set_kernel(ad->driverVersion, SETTING_USB_DEBUG_MODE);
			um_retvm_if(0 != ret, ACT_FAIL, "FAIL : mode_set_kernel()\n");
			call_cmd(SET_USB0_IP);
			call_cmd(ADD_DEFAULT_GW);
		}
		break;

	case SETTING_USB_ACCESSORY_MODE:
		USB_LOG("Mode : SETTING_USB_ACCESSORY_MODE\n");
		ret = mode_set_kernel(ad->driverVersion, SETTING_USB_ACCESSORY_MODE);
		um_retvm_if(0 != ret, ACT_FAIL, "FAIL : mode_set_kernel()\n");
		break;

	default:
		break;
	}
	__USB_FUNC_EXIT__ ;
	return ACT_SUCCESS;
}