R_API int r_core_bin_set_by_fd (RCore *core, ut64 bin_fd) { if (r_bin_file_set_cur_by_fd (core->bin, bin_fd)) { r_core_bin_set_cur (core, r_core_bin_cur(core)); return R_TRUE; } return R_FALSE; }
R_API int r_core_bin_set_env (RCore *r, RBinFile *binfile) { RBinObject *binobj = binfile ? binfile->o: NULL; RBinInfo *info = binobj ? binobj->info: NULL; if (info) { int va = info->has_va; const char * arch = info->arch; ut16 bits = info->bits; ut64 loadaddr = r_config_get_i (r->config, "bin.laddr"); ut64 baseaddr = binobj->baddr; /* Hack to make baddr work on some corner */ r_config_set_i (r->config, "io.va", (binobj->info)? binobj->info->has_va: 0); r_config_set_i (r->config, "bin.laddr", loadaddr); r_config_set_i (r->config, "bin.baddr", baseaddr); r_config_set (r->config, "asm.arch", arch); r_config_set_i (r->config, "asm.bits", bits); r_config_set (r->config, "anal.arch", arch); if (strlen(info->cpu)) r_config_set (r->config, "anal.cpu", info->cpu); else r_config_set (r->config, "anal.cpu", arch); r_asm_use (r->assembler, arch); r_core_bin_info (r, R_CORE_BIN_ACC_ALL, R_CORE_BIN_SET, va, NULL, loadaddr, NULL); r_core_bin_set_cur (r, binfile); return R_TRUE; } return R_FALSE; }
R_API int r_core_bin_set_by_name(RCore *core, const char * name) { if (r_bin_file_set_cur_by_name (core->bin, name)) { r_core_bin_set_cur (core, r_core_bin_cur (core)); return true; } return false; }
R_API int r_core_bin_set_by_name (RCore *core, const char * name) { if (r_bin_file_set_cur_by_name (core->bin, name)) { r_core_bin_set_cur (core, r_core_bin_cur (core)); return R_TRUE; } return R_FALSE; }
R_API int r_core_bin_set_by_fd(RCore *core, ut64 bin_fd) { if (r_bin_file_set_cur_by_fd (core->bin, bin_fd)) { r_core_bin_set_cur (core, r_core_bin_cur(core)); return true; } return false; }