Ejemplo n.º 1
0
/*
 * set_option -- (internal) set single config option
 */
static int
set_option(enum rpmemd_option option, const char *value,
	struct rpmemd_config *config)
{
	errno = 0;

	switch (option) {
	case RPD_OPT_LOG_FILE:
		free(config->log_file);
		config->log_file = parse_config_string(value);
		config->use_syslog = false;
		break;
	case RPD_OPT_POOLSET_DIR:
		free(config->poolset_dir);
		config->poolset_dir = parse_config_string(value);
		break;
	case RPD_OPT_PERSIST_APM:
		parse_config_bool(&config->persist_apm, value);
		break;
	case RPD_OPT_PERSIST_GENERAL:
		parse_config_bool(&config->persist_general, value);
		break;
	case RPD_OPT_USE_SYSLOG:
		parse_config_bool(&config->use_syslog, value);
		break;
	case RPD_OPT_LOG_LEVEL:
		config->log_level = rpmemd_log_level_from_str(value);
		if (config->log_level == MAX_RPD_LOG)
			errno = EINVAL;
		break;
	default:
		errno = EINVAL;
	}

	if (errno != 0)
		return 1;
	else
		return 0;
}
Ejemplo n.º 2
0
/*
 * set_option -- set single config option
 */
static int
set_option(uint64_t key, const char *value, struct rpmemd_config *config)
{
	switch (key) {
	case RPD_OPT_PID_FILE:
		free(config->pid_file);
		config->pid_file = parse_config_string(value);
		break;
	case RPD_OPT_LOG_FILE:
		free(config->log_file);
		config->log_file = parse_config_string(value);
		break;
	case RPD_OPT_POOLSET_DIR:
		free(config->poolset_dir);
		config->poolset_dir = parse_config_string(value);
		break;
	case RPD_OPT_ENABLE_CREATE:
		parse_config_bool(&config->enable_create, value);
		break;
	case RPD_OPT_ENABLE_REMOVE:
		parse_config_bool(&config->enable_remove, value);
		break;
	case RPD_OPT_PERSIST_APM:
		parse_config_bool(&config->persist_apm, value);
		break;
	case RPD_OPT_PERSIST_GENERAL:
		parse_config_bool(&config->persist_general, value);
		break;
	case RPD_OPT_PROVIDER_SOCKETS:
		parse_config_bool(&config->provider_sockets, value);
		break;
	case RPD_OPT_PROVIDER_VERBS:
		parse_config_bool(&config->provider_verbs, value);
		break;
	case RPD_OPT_USE_SYSLOG:
		parse_config_bool(&config->use_syslog, value);
		break;
	case RPD_OPT_VERIFY_POOL_SETS:
		parse_config_bool(&config->verify_pool_sets, value);

		if (errno == 0)
			config->verify_pool_sets_auto = false;
		else if (strcmp("auto", value) == 0) {
			config->verify_pool_sets_auto = true;
			errno = 0;
		}
		break;
	case RPD_OPT_PORT:
		config->port = (uint16_t)parse_config_integer(value,
			UINT16_MAX);
		break;
	case RPD_OPT_MAX_LANES:
		config->max_lanes =
			(uint32_t)parse_config_integer(value, UINT32_MAX);
		break;
	case RPD_OPT_LOG_LEVEL:
		config->log_level = rpmemd_log_level_from_str(value);
		if (config->log_level == MAX_RPD_LOG)
			errno = EINVAL;
		break;
	default:
		errno = EINVAL;
	}

	if (errno != 0)
		return 1;
	else
		return 0;
}
Ejemplo n.º 3
0
int main(int argc, char **argv)
{
    int i = 0;
    int result = -1;
	int enable = 1;

  	VPSS_IMG_QUALITY_CFG_S stImgQualityCfg;
	VPSS_IMG_QUALITY_PARAM_S *pstImgQualityParam;

    VPSS_GRP VpssGrp = 0;
    VPSS_CHN VpssChn = 0;
    
	if (argc < 3)
	{
		printf("no input param\n");
		USAGE_HELP();
		return -1;
	}

	pstImgQualityParam = &stImgQualityCfg.stImageQualityParam;

	printf("%s %d\n", __func__, __LINE__);

#if 1
	//get group 0,channel 0 as default.
	result = HI_MPI_VPSS_GetImageQualityCfg(VpssGrp, VpssChn, &stImgQualityCfg);
	CHECK_RET(result, "HI_MPI_VPSS_GetImgQualityParam");

	for (i = 1; i < argc; i++)
	{
		if (!strcmp("-f", argv[i]))
		{
			i++;
			char *file_name = argv[i];
			result = parse_config_file(file_name, pstImgQualityParam);
		}
		else if (!strcmp("-s", argv[i]))
		{
			i++;
			char *string = argv[i];	
			result = parse_config_string(string, pstImgQualityParam);
		}
		else if (!strcmp("-g", argv[i]))
		{
			i++;			
			VpssGrp = atoi(argv[i]);		
			if (VpssGrp > VPSS_MAX_GRP_NUM || VpssGrp < 0)
			{
				printf("invalid group num %d", VpssGrp);
				return -1;
			}
		}
		else if (!strcmp("-c", argv[i]))
		{
			i++;
			VpssChn = atoi(argv[i]);
			if (VpssChn > VPSS_MAX_GRP_NUM || VpssChn < 0)
			{
				printf("invalid chn num %d", VpssChn);
				return -1;
			}
			
			/*if grp, chnl exist, get new debug param*/
			result = HI_MPI_VPSS_GetImageQualityCfg(VpssGrp, VpssChn, &stImgQualityCfg);
			CHECK_RET(result, "HI_MPI_VPSS_GetImgQualityParam");
		}
		else if (!strcmp("off", argv[i]))
		{
			i++;
			printf("\tdisable Image quality Cfg!!\n");
			enable = 0;
		}	
		else
		{
			printf("invalid options %s\n", argv[i]);
			result = -1;
		}

		if (result < 0)
		{
			return result;
		}		
	}

	if (enable)
	{
		stImgQualityCfg.bEnable = HI_TRUE;
		printf("\t\t tf             %d\n", pstImgQualityParam->u32TfStrength);
		printf("\t\t tf_y_pro       %d\n", pstImgQualityParam->u32TfyProfile);
		printf("\t\t sf_post_flag   %d\n", pstImgQualityParam->u32SfPostFlag);
		printf("\t\t c_range        %d\n", pstImgQualityParam->u32CStrength);
		printf("\t\t c_mad_thresh   %d\n", pstImgQualityParam->u32CMADThresh);
		printf("\t\t c_mad_slope    %d\n", pstImgQualityParam->u32CMADSlope);
		printf("\t\t s0             %d\n", pstImgQualityParam->u32SfStrength0);
		printf("\t\t s1             %d\n", pstImgQualityParam->u32SfStrength1);
		printf("\t\t s2             %d\n", pstImgQualityParam->u32SfStrength2);
	}
	else
	{
		stImgQualityCfg.bEnable = HI_FALSE;
	}

    result = HI_MPI_VPSS_SetImageQualityCfg(VpssGrp, VpssChn, &stImgQualityCfg);
    CHECK_RET(result, "HI_MPI_VPSS_SetImgQualityCfg");
    
#endif
    return 0;
}