예제 #1
0
파일: conf.c 프로젝트: noushi/bmon
void conf_init(void)
{
	cfg_read_interval = cfg_getfloat(cfg, "read_interval");
	cfg_rate_interval = cfg_getfloat(cfg, "rate_interval");
	cfg_rate_variance = cfg_getfloat(cfg, "variance") * cfg_rate_interval;
	cfg_history_variance = cfg_getfloat(cfg, "history_variance");
	cfg_show_all = cfg_getbool(cfg, "show_all");
	cfg_unit_exp = cfg_getint(cfg, "unit_exp");

	element_parse_policy(cfg_getstr(cfg, "policy"));
}
예제 #2
0
gdouble config_getdouble (const gchar* key) {
	gdouble temp;

	config_mutex_lock ();
	temp = cfg_getfloat (tc, key);
	config_mutex_unlock ();

	return temp;
}
예제 #3
0
파일: conf.c 프로젝트: noushi/bmon
static void configfile_read_history(void)
{
	int i, nhistory;

	nhistory = cfg_size(cfg, "history");

	for (i = 0; i < nhistory; i++) {
		struct history_def *def;
		cfg_t *history;
		const char *name, *type;
		float interval;
		int size;

		if (!(history = cfg_getnsec(cfg, "history", i)))
			BUG();

		if (!(name = cfg_title(history)))
			BUG();

		interval = cfg_getfloat(history, "interval");
		size = cfg_getint(history, "size");
		type = cfg_getstr(history, "type");

		if (interval == 0.0f)
			interval = cfg_getfloat(cfg, "read_interval");

		def = history_def_alloc(name);
		def->hd_interval = interval;
		def->hd_size = size;

		if (!strcasecmp(type, "8bit"))
			def->hd_type = HISTORY_TYPE_8;
		else if (!strcasecmp(type, "16bit"))
			def->hd_type = HISTORY_TYPE_16;
		else if (!strcasecmp(type, "32bit"))
			def->hd_type = HISTORY_TYPE_32;
		else if (!strcasecmp(type, "64bit"))
			def->hd_type = HISTORY_TYPE_64;
		else
			quit("Invalid type \'%s\', must be \"(8|16|32|64)bit\""
			     " in history definition #%d\n", type, i+1);
	}
}
예제 #4
0
svm_model_info * get_svm_model_info(const char * filename){
  cfg_opt_t * opts = get_opt();
  cfg_t *cfg;

  cfg = cfg_init(opts, CFGF_NONE);
  cfg_parse(cfg, filename);

  svm_model_info * info;
  info = (svm_model_info*)malloc(sizeof(svm_model_info));

  info->svm_type = cfg_getint(cfg,"svm_type");
  info->kernel_type = cfg_getint(cfg,"kernel_type");
  info->C = cfg_getfloat(cfg,"C");
  info->gamma = cfg_getfloat(cfg,"gamma");

  cfg_free(cfg);

   return info;
}
예제 #5
0
파일: config.c 프로젝트: NickCharsley/lvmts
float get_tier_pinning_score(struct program_params *pp, const char *lv_name,
    int tier)
{
    cfg_t *vol_cfg = cfg_gettsec(pp->cfg, "volume", lv_name);
    assert(vol_cfg);

    cfg_t *pv_cfg;

    for (size_t i=0; i < cfg_size(vol_cfg, "pv"); i++) {
        pv_cfg = cfg_getnsec(vol_cfg, "pv", i);
        if (cfg_getint(pv_cfg, "tier") == tier)
            return cfg_getfloat(pv_cfg, "pinningScore");
    }

    return 0;
}
예제 #6
0
파일: pk2dft.c 프로젝트: GBert/misc
int parse_family(char *filename, family_ent_t * family) {
    cfg_t *pcfg;

    memset(family, 0, sizeof(family_ent_t));

    pcfg = cfg_init(family_opts, CFGF_NONE);
    if (cfg_parse(pcfg, filename) == CFG_PARSE_ERROR)
	return -1;

    strcpy(family->name, cfg_getstr(pcfg, "name"));
    family->fam_id = cfg_getint(pcfg, "fam_id");
    family->fam_type = cfg_getint(pcfg, "fam_type");
    family->search_prio = cfg_getint(pcfg, "search_prio");
    family->prg_entry_script = get_script_by_name(cfg_getstr(pcfg, "prg_entry_script"));
    family->prg_exit_script = get_script_by_name(cfg_getstr(pcfg, "prg_exit_script"));
    family->rd_devid_script = get_script_by_name(cfg_getstr(pcfg, "rd_devid_script"));

/*	family->devid_mask           = cfg_getint(pcfg, "devid_mask");  */
/*	family->blank_value          = cfg_getint(pcfg, "blank_value"); */

    family->devid_mask = strtoul(cfg_getstr(pcfg, "devid_mask"), NULL, 16);
    family->blank_value = strtoul(cfg_getstr(pcfg, "blank_value"), NULL, 16);

    family->bytes_per_loc = cfg_getint(pcfg, "bytes_per_loc");
    family->addr_inc = cfg_getint(pcfg, "addr_inc");
    family->b_detect = cfg_getint(pcfg, "b_detect");
    family->prg_entry_vpp_script = get_script_by_name(cfg_getstr(pcfg, "prg_entry_vpp_script"));
    family->ee_bytes_per_word = cfg_getint(pcfg, "ee_bytes_per_word");
    family->ee_addr_inc = cfg_getint(pcfg, "ee_addr_inc");
    family->user_id_hex_bytes = cfg_getint(pcfg, "user_id_hex_bytes");
    family->user_id_bytes = cfg_getint(pcfg, "user_id_bytes");
    family->prog_mem_hex_bytes = cfg_getint(pcfg, "prog_mem_hex_bytes");
    family->ee_mem_hex_bytes = cfg_getint(pcfg, "ee_mem_hex_bytes");
    family->prg_mem_shift = cfg_getint(pcfg, "prg_mem_shift");
    family->test_memory_start = cfg_getint(pcfg, "test_memory_start");
    family->test_memory_length = cfg_getint(pcfg, "test_memory_length");
    family->vpp = cfg_getfloat(pcfg, "vpp");

    cfg_free(pcfg);
    return 0;
}
예제 #7
0
void src_init(cfg_t *source_cfg) {
	char *stream = cfg_getstr(source_cfg, "stream");
	if (!stream) return;
	crcInit();

	if (!strncmp("udp://", stream, 6)) {
		double chunk_duration = cfg_getfloat(source_cfg,"chunk_duration");
		info("Initializing SOURCE mode: tuning to stream %s, sampling rate is "
			"%.2lf Hz", stream, (double)1.0/chunk_duration);
		init_source_ul(stream, chunk_duration);
	} else if (!strncmp("http://", stream, 7)) {
		char addr[128];
		int port,i;

		if (sscanf(stream, "http://%127[^:]:%i", addr, &port) != 2) 
			fatal("Unable to parse source specification %s", stream);

		if (ulChunkReceiverSetup(addr, port)) 
			fatal("Unable to start the HTTP receiver to http://%s:%d", 
					addr, port);
	} else fatal("Unable to parse stream specification %s", stream);
	napaSchedulePeriodic(NULL, 1/60.0, periodicPublishSrcLag, NULL);
}
예제 #8
0
파일: pk2dft.c 프로젝트: GBert/misc
int parse_device(char *filename, device_ent_t * device) {
    cfg_t *pcfg;
    int i;

    memset(device, 0, sizeof(device_ent_t));

    pcfg = cfg_init(device_opts, CFGF_NONE);
    if (cfg_parse(pcfg, filename) == CFG_PARSE_ERROR)
	return -1;

    strcpy(device->part_name, cfg_getstr(pcfg, "part_name"));
    device->family = get_family_by_name(cfg_getstr(pcfg, "family"));
    device->device_id = strtoul(cfg_getstr(pcfg, "device_id"), NULL, 16);
    device->program_mem = cfg_getint(pcfg, "program_mem");
    device->ee_mem = cfg_getint(pcfg, "ee_mem");
    device->ee_addr = cfg_getint(pcfg, "ee_addr");
    device->config_words = cfg_getint(pcfg, "config_words");
    device->config_addr = cfg_getint(pcfg, "config_addr");
    device->user_id_words = cfg_getint(pcfg, "user_id_words");
    device->user_id_addr = cfg_getint(pcfg, "user_id_addr");
    device->bandgap_mask = cfg_getint(pcfg, "bandgap_mask");

    if (cfg_size(pcfg, "config_masks") != 8)
	printf("WARNING : size of \"config_masks\" array is wrong! (%d)\n", cfg_size(pcfg, "config_masks"));
    for (i = 0; i < 8; i++)
	device->config_masks[i] = (uint16_t) cfg_getnint(pcfg, "config_masks", i);

    if (cfg_size(pcfg, "config_blank") != 8)
	printf("WARNING : size of \"config_blank\" array is wrong!\n");
    for (i = 0; i < 8; i++)
	device->config_blank[i] = (uint16_t) cfg_getnint(pcfg, "config_blank", i);

    device->cp_mask = cfg_getint(pcfg, "cp_mask");
    device->cp_config = cfg_getint(pcfg, "cp_config");
    device->osscal_save = cfg_getint(pcfg, "osscal_save");
    device->ignore_address = cfg_getint(pcfg, "ignore_address");
    device->vdd_min = cfg_getfloat(pcfg, "vdd_min");
    device->vdd_max = cfg_getfloat(pcfg, "vdd_max");
    device->vdd_erase = cfg_getfloat(pcfg, "vdd_erase");
    device->calibration_words = cfg_getint(pcfg, "calibration_words");
    device->chip_erase_script = get_script_by_name(cfg_getstr(pcfg, "chip_erase_script"));
    device->progmem_addr_set_script = get_script_by_name(cfg_getstr(pcfg, "progmem_addr_set_script"));
    device->progmem_addr_bytes = cfg_getint(pcfg, "progmem_addr_bytes");
    device->progmem_rd_script = get_script_by_name(cfg_getstr(pcfg, "progmem_rd_script"));
    device->progmem_rd_words = cfg_getint(pcfg, "progmem_rd_words");
    device->eerd_prep_script = get_script_by_name(cfg_getstr(pcfg, "eerd_prep_script"));
    device->eerd_script = get_script_by_name(cfg_getstr(pcfg, "eerd_script"));
    device->eerd_locations = cfg_getint(pcfg, "eerd_locations");
    device->user_id_rd_prep_script = get_script_by_name(cfg_getstr(pcfg, "user_id_rd_prep_script"));
    device->user_id_rd_script = get_script_by_name(cfg_getstr(pcfg, "user_id_rd_script"));
    device->config_rd_prep_script = get_script_by_name(cfg_getstr(pcfg, "config_rd_prep_script"));
    device->config_rd_script = get_script_by_name(cfg_getstr(pcfg, "config_rd_script"));
    device->progmem_wr_prep_script = get_script_by_name(cfg_getstr(pcfg, "progmem_wr_prep_script"));
    device->progmem_wr_script = get_script_by_name(cfg_getstr(pcfg, "progmem_wr_script"));
    device->progmem_wr_words = cfg_getint(pcfg, "progmem_wr_words");
    device->progmem_panel_bufs = cfg_getint(pcfg, "progmem_panel_bufs");
    device->progmem_panel_offset = cfg_getint(pcfg, "progmem_panel_offset");
    device->eewr_prep_script = get_script_by_name(cfg_getstr(pcfg, "eewr_prep_script"));
    device->eewr_script = get_script_by_name(cfg_getstr(pcfg, "eewr_script"));
    device->eewr_locations = cfg_getint(pcfg, "eewr_locations");
    device->user_id_wr_prep_script = get_script_by_name(cfg_getstr(pcfg, "user_id_wr_prep_script"));
    device->user_id_wr_script = get_script_by_name(cfg_getstr(pcfg, "user_id_wr_script"));
    device->config_wr_prep_script = get_script_by_name(cfg_getstr(pcfg, "config_wr_prep_script"));
    device->config_wr_script = get_script_by_name(cfg_getstr(pcfg, "config_wr_script"));
    device->osccal_rd_script = get_script_by_name(cfg_getstr(pcfg, "osccal_rd_script"));
    device->osccal_wr_script = get_script_by_name(cfg_getstr(pcfg, "osccal_wr_script"));
    device->dp_mask = cfg_getint(pcfg, "dp_mask");
    device->write_cfg_on_erase = cfg_getint(pcfg, "write_cfg_on_erase");
    device->blank_check_skip_usr_ids = cfg_getint(pcfg, "blank_check_skip_usr_ids");
    device->ignore_bytes = cfg_getint(pcfg, "ignore_bytes");
    device->chip_erase_prep_script = get_script_by_name(cfg_getstr(pcfg, "chip_erase_prep_script"));
    device->boot_flash = cfg_getint(pcfg, "boot_flash");
    device->config9_mask = cfg_getint(pcfg, "config9_mask");
    device->config9_blank = cfg_getint(pcfg, "config9_blank");
    device->progmem_erase_script = get_script_by_name(cfg_getstr(pcfg, "progmem_erase_script"));
    device->eemem_erase_script = get_script_by_name(cfg_getstr(pcfg, "eemem_erase_script"));
    device->configmem_erase_script = get_script_by_name(cfg_getstr(pcfg, "configmem_erase_script"));
    device->reserved1_erase_script = get_script_by_name(cfg_getstr(pcfg, "reserved1_erase_script"));
    device->reserved2_erase_script = get_script_by_name(cfg_getstr(pcfg, "reserved2_erase_script"));
    device->test_memory_rd_script = get_script_by_name(cfg_getstr(pcfg, "test_memory_rd_script"));
    device->test_memory_rd_words = cfg_getint(pcfg, "test_memory_rd_words");
    device->eerow_erase_script = get_script_by_name(cfg_getstr(pcfg, "eerow_erase_script"));
    device->eerow_erase_words = cfg_getint(pcfg, "eerow_erase_words");
    device->export_to_mplab = cfg_getint(pcfg, "export_to_mplab");
    device->debug_halt_script = get_script_by_name(cfg_getstr(pcfg, "debug_halt_script"));
    device->debug_run_script = get_script_by_name(cfg_getstr(pcfg, "debug_run_script"));
    device->debug_status_script = get_script_by_name(cfg_getstr(pcfg, "debug_status_script"));
    device->debug_read_exec_ver_script = get_script_by_name(cfg_getstr(pcfg, "debug_read_exec_ver_script"));
    device->debug_single_step_script = get_script_by_name(cfg_getstr(pcfg, "debug_single_step_script"));
    device->debug_bulk_wr_data_script = get_script_by_name(cfg_getstr(pcfg, "debug_bulk_wr_data_script"));
    device->debug_bulk_rd_data_script = get_script_by_name(cfg_getstr(pcfg, "debug_bulk_rd_data_script"));
    device->debug_write_vector_script = get_script_by_name(cfg_getstr(pcfg, "debug_write_vector_script"));
    device->debug_read_vector_script = get_script_by_name(cfg_getstr(pcfg, "debug_read_vector_script"));
    device->debug_row_erase_script = get_script_by_name(cfg_getstr(pcfg, "debug_row_erase_script"));
    device->debug_row_erase_size = cfg_getint(pcfg, "debug_row_erase_size");
    device->debug_reserved5_script = get_script_by_name(cfg_getstr(pcfg, "debug_reserved5_script"));
    device->debug_reserved6_script = get_script_by_name(cfg_getstr(pcfg, "debug_reserved6_script"));
    device->debug_reserved7_script = get_script_by_name(cfg_getstr(pcfg, "debug_reserved7_script"));
    device->debug_reserved8_script = get_script_by_name(cfg_getstr(pcfg, "debug_reserved8_script"));
    device->lvp_script = get_script_by_name(cfg_getstr(pcfg, "lvp_script"));

    cfg_free(pcfg);
    return 0;
}
예제 #9
0
파일: config.c 프로젝트: NickCharsley/lvmts
float
get_score_scaling_factor(struct program_params *pp, const char *lv_name)
{
    return cfg_getfloat(cfg_gettsec(pp->cfg, "volume", lv_name),
                         "timeExponent");
}
예제 #10
0
파일: config.c 프로젝트: NickCharsley/lvmts
float
get_hit_score(struct program_params *pp, const char *lv_name)
{
    return cfg_getfloat(cfg_gettsec(pp->cfg, "volume", lv_name),
                         "hitScore");
}
예제 #11
0
파일: config.c 프로젝트: NickCharsley/lvmts
float
get_write_multiplier(struct program_params *pp, const char *lv_name)
{
    return cfg_getfloat(cfg_gettsec(pp->cfg, "volume", lv_name),
                         "writeMultiplier");
}
예제 #12
0
파일: conf.c 프로젝트: noushi/bmon
unsigned int get_lifecycles(void)
{
	return (unsigned int)
		(cfg_getfloat(cfg, "lifetime") / cfg_getfloat(cfg, "read_interval"));
}
예제 #13
0
/**
 * Loads the routing data from the config file given in global
 * variable config_data and stores it in routing tree rd.
 *
 * @param rd Pointer to the route data tree where the routing data
 * shall be loaded into
 *
 * @return 0 means ok, -1 means an error occured
 *
 */
int load_config(struct rewrite_data * rd) {
	cfg_t * cfg = NULL;
	int n, m, o, i, j, k,l;
	cfg_t * d, * p, * t;
	const char * domain = NULL, * prefix = NULL;
	double prob;
	const char * rewrite_prefix = NULL, * rewrite_suffix = NULL,
	                              * rewrite_host = NULL, * comment = NULL;
	int backed_up_size = 0;
	int * backed_up = NULL;
	int backup = 0;
	int status, hash_index, max_targets, strip;

	if ((cfg = parse_config()) == NULL) {
		return -1;
	}

	if ((rd->carriers = shm_malloc(sizeof(struct carrier_tree *))) == NULL) {
		LM_ERR("out of shared memory\n");
		return -1;
	}
	memset(rd->carriers, 0, sizeof(struct carrier_tree *));

	rd->tree_num = 1;
	n = cfg_size(cfg, "domain");
	if (add_carrier_tree(default_tree, 1, rd, n) == NULL) {
		LM_ERR("couldn't add carrier tree\n");
		return -1;
	}

	memset(rd->carriers[0]->trees, 0, sizeof(struct route_tree *) * n);
	for (i = 0; i < n; i++) {
		d = cfg_getnsec(cfg, "domain", i);
		domain = cfg_title(d);
		m = cfg_size(d, "prefix");
		LM_INFO("loading domain %s\n", domain);
		for (j = 0; j < m; j++) {
			p = cfg_getnsec(d, "prefix", j);
			prefix = cfg_title(p);
			if (strcasecmp(prefix, SP_EMPTY_PREFIX) == 0) {
				prefix = NULL;
			}
			LM_INFO("loading prefix %s\n", prefix);
			max_targets = cfg_getint(p, "max_targets");
			o = cfg_size(p, "target");
			for (k = 0; k < o; k++) {
				t = cfg_getnsec(p, "target", k);
				rewrite_host = cfg_title(t);
				if (strcasecmp(rewrite_host, SP_EMPTY_PREFIX) == 0) {
					rewrite_host = 0;
				}
				LM_INFO("loading target %s\n", rewrite_host);
				prob = cfg_getfloat(t, "prob");
				strip = cfg_getint(t, "strip");
				rewrite_prefix = cfg_getstr(t, "rewrite_prefix");
				rewrite_suffix = cfg_getstr(t, "rewrite_suffix");
				hash_index = cfg_getint(t, "hash_index");
				comment = cfg_getstr(t, "comment");
				status = cfg_getint(t, "status");
				if ((backed_up_size = cfg_size(t, "backed_up")) > 0) {
					if ((backed_up = pkg_malloc(sizeof(int) * (backed_up_size + 1))) == NULL) {
						LM_ERR("out of private memory\n");
						return -1;
					}
					for (l = 0; l < backed_up_size; l++) {
						backed_up[l] = cfg_getnint(t, "backed_up", l);
					}
					backed_up[backed_up_size] = -1;
				}
				backup = cfg_getint(t, "backup");
				LM_INFO("adding route for prefix %s, to host %s, prob %f, backed up: %i, backup: %i\n",
				    prefix, rewrite_host, prob, backed_up_size, backup);
				if (add_route(rd, 1, domain, prefix, max_targets, prob, rewrite_host,
				              strip, rewrite_prefix, rewrite_suffix, status,
				              hash_index, backup, backed_up, comment) < 0) {
					LM_INFO("Error while adding route\n");
					if (backed_up) {
						pkg_free(backed_up);
					}
					return -1;
				}
				if (backed_up) {
					pkg_free(backed_up);
				}
				backed_up = NULL;
			}
		}

	}
	cfg_free(cfg);
	return 0;
}