static void init_everything(void) { log_init("rtpengine"); log_format(rtpe_config.log_format); recording_fs_init(rtpe_config.spooldir, rtpe_config.rec_method, rtpe_config.rec_format); rtpe_ssl_init(); #if !GLIB_CHECK_VERSION(2,32,0) g_thread_init(NULL); #endif #if !(GLIB_CHECK_VERSION(2,36,0)) g_type_init(); #endif signals(); resources(); sdp_init(); dtls_init(); ice_init(); crypto_init_main(); interfaces_init(&rtpe_config.interfaces); iptables_init(); control_ng_init(); if (call_interfaces_init()) abort(); statistics_init(); codeclib_init(0); media_player_init(); }
void timed_local_init (run_t *run, wctx_t *ctx) { ta_alg_local_t *loc = RTmallocZero (sizeof(ta_alg_local_t)); ctx->local = (alg_local_t *) loc; reach_local_setup (run, ctx); statistics_init (&loc->counters.lattice_ratio); }
static int __init ccci_init(void) { int ret = CCCI_ERR_MODULE_INIT_OK; unsigned int md_num = 1; int i = 0; int md_en[MAX_MD_NUM] = {0}; //1. Get and set Support MD nmmber md_num = get_md_sys_max_num(); set_md_sys_max_num(md_num); //2. Get and set MD enable table for(i = 0; i < md_num; i++) { if(get_modem_is_enabled(i)){ md_en[i] = 1; set_md_enable(i, 1); } else { md_en[i] = 0; set_md_enable(i, 0); } } #ifdef ENABLE_CCCI_DRV_BUILDIN CCCI_MSG("ccci_init: device_initcall_sync\n"); #else // MODULE CCCI_MSG("ccci_init: module_init\n"); #endif //3. Init ccci device table ret = init_ccci_dev_node(); if(ret) { CCCI_MSG("init_ccci_dev_node fail: %d\n", ret); ret = -CCCI_ERR_INIT_DEV_NODE_FAIL; goto out; } //4. Init ccci driver for each modem for(i = 0; i < md_num; i++) { if(md_en[i] == 0) { CCCI_MSG_INF(i, "cci", "md initial fail: md%d is not enabled\n", i+1); continue; } // 4.0 Init platform support function ret = platform_init(i, !md_en[i]); if (ret) { CCCI_MSG_INF(i, "cci", "platform_init fail: %d\n", ret); ret = -CCCI_ERR_INIT_PLATFORM_FAIL; goto platform_out; } else { CCCI_DBG_MSG(i, "cci", "platform_init OK!\n"); } // Make ccci device node ret = mk_ccci_dev_node(i); if (ret) { CCCI_MSG_INF(i, "cci", "mk_ccci_dev_node fail: %d\n", ret); ret = -CCCI_ERR_MK_DEV_NODE_FAIL; goto mk_node_out; } else { CCCI_DBG_MSG(i, "cci", "mk_ccci_dev_node OK!\n"); } // Statistics init statistics_init(i); // 4.1 Init ccci logical layer ret = ccci_logic_layer_init(i); if(ret) { CCCI_MSG_INF(i, "cci", "ccci logical layer init fail: %d\n", ret); ret = -CCCI_ERR_INIT_LOGIC_LAYER_FAIL; goto logic_out; } else { CCCI_DBG_MSG(i, "cci", "ccci_logic_layer_init OK!\n"); } // 4.2 Init md ctrl ret = ccci_md_ctrl_init(i); if(ret) { CCCI_MSG_INF(i, "cci", "ccci md ctrl init fail: %d\n", ret); ret = -CCCI_ERR_INIT_MD_CTRL_FAIL; goto mdctl_out; } else { CCCI_DBG_MSG(i, "cci", "ccci_md_ctrl_init OK!\n"); } // 4.3 Init char dev ret = ccci_chrdev_init(i); if (ret) { CCCI_MSG_INF(i, "cci", "ccci_chrdev_init fail: %d\n", ret); ret = -CCCI_ERR_INIT_CHAR_DEV_FAIL; goto char_out; } else { CCCI_DBG_MSG(i, "cci", "ccci_chrdev_init OK!\n"); } // 4.4 Init tty dev ret = ccci_tty_init(i); if (ret) { CCCI_MSG_INF(i, "cci", "ccci_tty_init fail: %d\n", ret); ret = -CCCI_ERR_INIT_TTY_FAIL; goto tty_out; } else { CCCI_DBG_MSG(i, "cci", "ccci_tty_init OK!\n"); } // 4.5 Init ipc dev ret = ccci_ipc_init(i); if (ret) { CCCI_MSG_INF(i, "cci", "ccci_ipc_init fail: %d\n", ret); ret = -CCCI_ERR_INIT_IPC_FAIL; goto ipc_out; } else { CCCI_DBG_MSG(i, "cci", "ccci_ipc_init OK!\n"); } // 4.6 Init rpc dev ret = ccci_rpc_init(i); if (ret) { CCCI_MSG_INF(i, "cci", "ccci_rpc_init fail: %d\n", ret); ret = -CCCI_ERR_INIT_RPC_FAIL; goto rpc_out; } else { CCCI_DBG_MSG(i, "cci", "ccci_rpc_init OK!\n"); } // 4.7 Init fs dev ret = ccci_fs_init(i); if (ret) { CCCI_MSG_INF(i, "cci", "ccci_fs_init fail: %d\n", ret); ret = -CCCI_ERR_INIT_FS_FAIL; goto fs_out; } else { CCCI_DBG_MSG(i, "cci", "ccci_fs_init OK!\n"); } // 4.8 Init ccmni dev ret = ccmni_init(i); if (ret) { CCCI_MSG_INF(i, "cci", "ccmni_init fail: %d\n", ret); ret = -CCCI_ERR_INIT_CCMNI_FAIL; goto ccmni_out; } else { CCCI_DBG_MSG(i, "cci", "ccmni_init OK!\n"); } // 4.9 Init pmic dev // .... // 4.10 Init vir char dev ret = ccci_vir_chrdev_init(i); if (ret) { CCCI_MSG_INF(i, "cci", "ccci_vir_chrdev_init fail: %d\n", ret); ret = -CCCI_ERR_INIT_VIR_CHAR_FAIL; goto virchar_out; } else { CCCI_DBG_MSG(i, "cci", "ccci_vir_chrdev_init OK!\n"); } CCCI_MSG_INF(i, "cci", "md initial OK!\n"); } // 5. Init common section ret = ccci_md_ctrl_common_init(); if (ret == 0) goto out; else { i = md_num-1; CCCI_MSG_INF(i, "cci", "ccci_md_ctrl_common_init fail: %d\n", ret); } virchar_out: ccci_vir_chrdev_exit(i); ccmni_out: ccmni_exit(i); fs_out: ccci_fs_exit(i); rpc_out: ccci_rpc_exit(i); ipc_out: ccci_ipc_exit(i); tty_out: ccci_tty_exit(i); char_out: ccci_chrdev_exit(i); mdctl_out: ccci_md_ctrl_exit(i); logic_out: ccci_logic_layer_exit(i); platform_out: platform_deinit(i); mk_node_out: ccci_dev_node_exit(i); out: if ((i == MD_SYS2) && (md_num > MD_SYS2)) { ccci_vir_chrdev_exit(MD_SYS1); ccmni_exit(MD_SYS1); ccci_fs_exit(MD_SYS1); ccci_rpc_exit(MD_SYS1); ccci_ipc_exit(MD_SYS1); ccci_tty_exit(MD_SYS1); ccci_chrdev_exit(MD_SYS1); ccci_md_ctrl_exit(MD_SYS1); ccci_logic_layer_exit(MD_SYS1); platform_deinit(MD_SYS1); ccci_dev_node_exit(MD_SYS1); } if (ret == CCCI_ERR_MODULE_INIT_OK) CCCI_MSG("ccci module init OK\n"); else { release_ccci_dev_node(); ccci_helper_exit(); CCCI_MSG("ccci module init fail: %d\n", ret); } return ret; }
/** * @brief edax main function. * * Do a global initialization and choose a User Interface protocol. * * @param argc Number of arguments. * @param argv Command line arguments. */ int main(int argc, char **argv) { UI *ui; int i, r, level = 0, size = 8; char *problem_file = NULL; char *wthor_file = NULL; char *count_type = NULL; int n_bench = 0; // options.n_task default to system cpu number options.n_task = get_cpu_number(); // options from edax.ini options_parse("edax.ini"); // allocate ui ui = (UI*) malloc(sizeof *ui); if (ui == NULL) fatal_error("Cannot allocate a user interface.\n"); ui->type = UI_EDAX; ui->init = ui_init_edax; ui->free = ui_free_edax; ui->loop = ui_loop_edax; // parse arguments for (i = 1; i < argc; i++) { char *arg = argv[i]; while (*arg == '-') ++arg; if (strcmp(arg, "v") == 0 || strcmp(arg, "version") == 0) version(); else if (ui_switch(ui, arg)) ; else if ((r = (options_read(arg, argv[i + 1]))) > 0) i += r - 1; else if (strcmp(arg, "solve") == 0 && argv[i + 1]) problem_file = argv[++i]; else if (strcmp(arg, "wtest") == 0 && argv[i + 1]) wthor_file = argv[++i]; else if (strcmp(arg, "bench") == 0 && argv[i + 1]) n_bench = atoi(argv[++i]); else if (strcmp(arg, "count") == 0 && argv[i + 1]) { count_type = argv[++i]; if (argv[i + 1]) level = string_to_int(argv[++i], 0); if (argv[i + 1] && strcmp(argv[i + 1], "6x6") == 0) { size = 6; ++i; } } else usage(); } options_bound(); // initialize edge_stability_init(); hash_code_init(); hash_move_init(); statistics_init(); eval_open(options.eval_file); search_global_init(); // solver & tester if (problem_file || wthor_file || n_bench) { Search search[1]; search_init(search); search->options.header = " depth|score| time | nodes (N) | N/s | principal variation"; search->options.separator = "------+-----+--------------+-------------+----------+---------------------"; if (options.verbosity) version(); if (problem_file) obf_test(search, problem_file, NULL); if (wthor_file) wthor_test(wthor_file, search); if (n_bench) obf_speed(search, n_bench); search_free(search); } else if (count_type){ Board board[1]; board_init(board); if (strcmp(count_type, "games") == 0) quick_count_games(board, level, size); else if (strcmp(count_type, "positions") == 0) count_positions(board, level, size); else if (strcmp(count_type, "shapes") == 0) count_shapes(board, level, size); } else if (ui->type == UI_CASSIO) { engine_loop(); // other protocols } else { ui_event_init(ui); ui->init(ui); ui->loop(ui); if (ui->free) ui->free(ui); ui_event_free(ui); } // display statistics statistics_print(stdout); // free; eval_close(); options_free(); free(ui); return 0; }