char mount_uefi_partition() { char *unused = unused_drive(); if(unused == NULL) return '\0'; char drive = unused[0]; free(unused); char c[strlen(COMMAND_MOUNT_UEFI) + 1]; sprintf(c, COMMAND_MOUNT_UEFI, drive); if(!run_system(c)) return '\0'; return drive; }
void main(void) { //Inicializa sistema init_drivers(); //Inicializa dispositivos init_devices(); while(1) { //Executa rotinas da funcionalidade run_system(); //Executa rotina que trata a HIM run_him(); } }
int main(void) { //Inicializa sistema setupHardware(); //Inicializa dispositivos setupDevices(); while(1) { //Executa rotinas da funcionalidade run_system(); //Executa rotina que trata a HIM run_him(); } return 0; }
/* * ----- static int checkInodesFile(struct FsInfo *fp) * * Use the ls command to check the existence of .inodes in the target * filesystem. * * Returns: * * * -1 : Out of memory error in creating command string * 0 : Success * non-zero: Failure of the ls command */ static int checkInodesFile(struct FsInfo *fp) { int l, rc; char cmd[MAXPATHLEN+64]; scds_syslog_debug(DBG_LVL_HIGH, "checkInodesFile - Begin"); l = snprintf(cmd, sizeof (cmd), "/bin/ls -l %s/.inodes", fp->fi_mntpt); if (l >= sizeof (cmd)) { scds_syslog(LOG_ERR, "%s: mount pathname too long", fp->fi_fs); scds_syslog_debug(DBG_LVL_HIGH, "checkInodesFile - End/Err"); return (1); } /* Suppress ls command output */ closefds(); rc = run_system(LOG_ERR, cmd); scds_syslog_debug(DBG_LVL_HIGH, "checkInodesFile - End"); return (rc); }
int main(int argc, char **argv) { char title[80]; char buf[80], *p; struct Ortho_Image_Group group; struct GModule *module; struct Option *group_opt; /* must run in a term window */ G_putenv("GRASS_UI_TERM", "1"); /* initialize grass */ G_gisinit(argv[0]); module = G_define_module(); module->keywords = _("imagery, orthorectify"); module->description = _("Menu driver for the photo imagery programs."); group_opt = G_define_standard_option(G_OPT_I_GROUP); group_opt->description = _("Name of imagery group for ortho-rectification"); if (G_parser(argc, argv)) exit(EXIT_FAILURE); strncpy(group.name, group_opt->answer, 99); group.name[99] = '\0'; /* strip off mapset if it's there: I_() fns only work with current mapset */ if ((p = strchr(group.name, '@'))) *p = 0; /* get and check the group reference files */ if (!I_get_group_ref(group.name, &group.group_ref)) { G_warning(_("Pre-selected group <%s> not found"), group.name); /* clean the wrong name in GROUPFILE */ I_put_group(""); /* ask for new group name */ if (!I_ask_group_old( _("Enter imagery group for ortho-rectification"), group.name)) exit(EXIT_SUCCESS); I_get_group_ref(group.name, &group.group_ref); } if (group.group_ref.nfiles <= 0) G_fatal_error(_("Group [%s] contains no files"), group.name); I_put_group(group.name); while (1) { if (!I_get_group(group.name)) { exit(EXIT_SUCCESS); } /* print the screen full of options */ sprintf(title, "i.ortho.photo -- \tImagery Group = %s ", group.name); G_clear_screen(); fprintf(stderr, "%s\n\n", title); fprintf(stderr, "Initialization Options:\n"); fprintf(stderr, "\n"); fprintf(stderr, " 1. Select/Modify imagery group\n"); fprintf(stderr, " 2. Select/Modify imagery group target\n"); fprintf(stderr, " 3. Select/Modify target elevation model\n"); fprintf(stderr, " 4. Select/Modify imagery group camera\n"); fprintf(stderr, "\n"); fprintf(stderr, "Transformation Parameter Computations:\n"); fprintf(stderr, "\n"); fprintf(stderr, " 5. Compute image-to-photo transformation\n"); fprintf(stderr, " 6. Initialize exposure station parameters\n"); fprintf(stderr, " 7. Compute ortho-rectification parameters\n"); fprintf(stderr, "\n"); fprintf(stderr, "Ortho-rectification Option:\n"); fprintf(stderr, "\n"); fprintf(stderr, " 8. Ortho-rectify imagery files\n"); fprintf(stderr, "\n"); fprintf(stderr, "RETURN exit\n"); fprintf(stderr, "\n> "); /* Get the option */ if (!G_gets(buf)) continue; if (*buf == 0) /* exit */ exit(EXIT_SUCCESS); /* run the program chosen */ G_strip(buf); fprintf(stderr, "<%s>\n", buf); if (strcmp(buf, "1") == 0) run_system("i.group"); if (strcmp(buf, "2") == 0) run_etc_imagery("i.photo.target", group.name); if (strcmp(buf, "3") == 0) run_etc_imagery("i.photo.elev", group.name); if (strcmp(buf, "4") == 0) run_etc_imagery("i.photo.camera", group.name); if (strcmp(buf, "5") == 0) run_etc_imagery("i.photo.2image", group.name); if (strcmp(buf, "6") == 0) run_etc_imagery("i.photo.init", group.name); if (strcmp(buf, "7") == 0) run_etc_imagery("i.photo.2target", group.name); if (strcmp(buf, "8") == 0) { rectify(group.name); /* sprintf(buf, "i.photo.rectify group=%s", group.name); run_system(buf); */ } } }
int main(int argc, char** argv) { try { po::options_description description{"Options"}; description.add_options() ("adult_selection", po::value<std::string>()->default_value("full"), "Adult selection (full/mixed/over)") ("child_count", po::value<unsigned>()->default_value(150), "Child count used in mixed/over adult selection") ("crossover_points", po::value<unsigned>()->default_value(1), "Crossover points") ("crossover_rate", po::value<double>()->default_value(1.0), "Crossover rate") ("epsilon", po::value<double>()->default_value(0.1), "Tournament probability of selecting random winner") ("generations", po::value<unsigned>()->default_value(1000), "Generation count") ("group_size", po::value<unsigned>()->default_value(10), "Tournament group size") ("mutation_rate", po::value<double>()->default_value(0.001), "Mutation rate") ("parent_selection", po::value<std::string>()->default_value("proportionate"), "Parent selection (proportionate/rank/sigma/tournament)") ("population_size", po::value<unsigned>()->default_value(100), "Population size") ("problem_size", po::value<unsigned>()->default_value(40), "Problem size") ("random_target", "Random target string") ("rank_max", po::value<double>()->default_value(1.5), "Rank selection pressure ('max')"); po::store(po::parse_command_line(argc, argv, description), variables); target_value = vi::ea::dynamic_bit_vector{variables["problem_size"].as<unsigned>()}; if (variables.count("random_target")) { auto random_generator = std::default_random_engine{std::random_device{}()}; auto value_distribution = std::bernoulli_distribution{}; for (vi::ea::dynamic_bit_vector::size_type i = 0; i != target_value.size(); ++i) { target_value[i] = value_distribution(random_generator); } } else { target_value.set(); } const auto adult_selection = variables["adult_selection"].as<std::string>(); const auto parent_selection = variables["parent_selection"].as<std::string>(); if (adult_selection == "full" and parent_selection == "proportionate") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::fitness_proportionate{}, vi::ea::adult_selection::full_generational_replacement{})); } else if (adult_selection == "full" and parent_selection == "rank") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::rank{variables["rank_max"].as<double>()}, vi::ea::adult_selection::full_generational_replacement{})); } else if (adult_selection == "full" and parent_selection == "sigma") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::sigma{}, vi::ea::adult_selection::full_generational_replacement{})); } else if (adult_selection == "full" and parent_selection == "tournament") { auto parent_selection = vi::ea::parent_selection::tournament{ variables["group_size"].as<unsigned>(), variables["epsilon"].as<double>()}; run_system(BUILD_SYSTEM(parent_selection, vi::ea::adult_selection::full_generational_replacement{})); } else if (adult_selection == "mixed" and parent_selection == "proportionate") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::fitness_proportionate{}, vi::ea::adult_selection::generational_mixing{variables["child_count"].as<unsigned>()})); } else if (adult_selection == "mixed" and parent_selection == "rank") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::rank{variables["rank_max"].as<double>()}, vi::ea::adult_selection::generational_mixing{variables["child_count"].as<unsigned>()})); } else if (adult_selection == "mixed" and parent_selection == "sigma") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::sigma{}, vi::ea::adult_selection::generational_mixing{variables["child_count"].as<unsigned>()})); } else if (adult_selection == "mixed" and parent_selection == "tournament") { auto parent_selection = vi::ea::parent_selection::tournament{ variables["group_size"].as<unsigned>(), variables["epsilon"].as<double>()}; run_system(BUILD_SYSTEM( parent_selection, vi::ea::adult_selection::generational_mixing{variables["child_count"].as<unsigned>()})); } else if (adult_selection == "over" and parent_selection == "proportionate") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::fitness_proportionate{}, vi::ea::adult_selection::overproduction{variables["child_count"].as<unsigned>()})); } else if (adult_selection == "over" and parent_selection == "rank") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::rank{variables["rank_max"].as<double>()}, vi::ea::adult_selection::overproduction{variables["child_count"].as<unsigned>()})); } else if (adult_selection == "over" and parent_selection == "sigma") { run_system(BUILD_SYSTEM( vi::ea::parent_selection::sigma{}, vi::ea::adult_selection::overproduction{variables["child_count"].as<unsigned>()})); } else if (adult_selection == "over" and parent_selection == "tournament") { auto parent_selection = vi::ea::parent_selection::tournament{ variables["group_size"].as<unsigned>(), variables["epsilon"].as<double>()}; run_system(BUILD_SYSTEM( parent_selection, vi::ea::adult_selection::overproduction{variables["child_count"].as<unsigned>()})); } } catch (const po::error& error) { std::cerr << "error: " << error.what() << std::endl; return EXIT_FAILURE; } return solution_found ? 1 : 0; }
int unmount_uefi_partition(char drive) { char c[strlen(COMMAND_UMOUNT_UEFI) + 1]; sprintf(c, COMMAND_UMOUNT_UEFI, drive); return run_system(c); }