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")); }
gdouble config_getdouble (const gchar* key) { gdouble temp; config_mutex_lock (); temp = cfg_getfloat (tc, key); config_mutex_unlock (); return temp; }
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); } }
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; }
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; }
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; }
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); }
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; }
float get_score_scaling_factor(struct program_params *pp, const char *lv_name) { return cfg_getfloat(cfg_gettsec(pp->cfg, "volume", lv_name), "timeExponent"); }
float get_hit_score(struct program_params *pp, const char *lv_name) { return cfg_getfloat(cfg_gettsec(pp->cfg, "volume", lv_name), "hitScore"); }
float get_write_multiplier(struct program_params *pp, const char *lv_name) { return cfg_getfloat(cfg_gettsec(pp->cfg, "volume", lv_name), "writeMultiplier"); }
unsigned int get_lifecycles(void) { return (unsigned int) (cfg_getfloat(cfg, "lifetime") / cfg_getfloat(cfg, "read_interval")); }
/** * 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; }