void cmd_exec(void) { switch(usb_in_buffer[0]) { case CMD_CAL: cmd_cali(); break; case CMD_MOV: cmd_move(); break; case CMD_TST: cmd_test(); break; case CMD_HLT: cmd_halt(); break; case CMD_QRY: cmd_query(); usb_send(); break; default: break; } }
int main(int argc, const char *argv[]) { if (cpn_global_init() < 0) return -1; if (cpn_opts_parse_cmd(opts, argc, argv) < 0) { return -1; } switch (cpn_opts_get(opts, 'v', NULL)->counter) { case 0: cpn_log_set_level(LOG_LEVEL_ERROR); break; case 1: cpn_log_set_level(LOG_LEVEL_WARNING); break; case 2: cpn_log_set_level(LOG_LEVEL_VERBOSE); break; case 3: cpn_log_set_level(LOG_LEVEL_TRACE); break; default: break; } if (cpn_cfg_parse(&cfg, cpn_opts_get(opts, 'c', NULL)->string) < 0) { printf("Could not parse config '%s", cpn_opts_get(opts, 'c', NULL)->string); return -1; } if (cpn_sign_keys_from_config(&local_keys, &cfg) < 0) { puts("Could not keys from config"); return -1; } memcpy(&remote_key, &cpn_opts_get(opts, 0, "--remote-key")->sigkey, sizeof(struct cpn_sign_pk)); remote_host = cpn_opts_get(opts, 0, "--remote-host")->string; remote_port = cpn_opts_get(opts, 0, "--remote-port")->uint32; if (cpn_opts_get(opts, 0, "query")) return cmd_query(); else if (cpn_opts_get(opts, 0, "request")) return cmd_request(cpn_opts_get(request_opts, 0, "--service-type")->string, &cpn_opts_get(request_opts, 0, "--parameters")->stringlist); else if (cpn_opts_get(opts, 0, "connect")) return cmd_connect(cpn_opts_get(connect_opts, 0, "--service-type")->string, cpn_opts_get(connect_opts, 0, "--session-id")->uint32, cpn_opts_get(connect_opts, 0, "--session-cap")->string); else if (cpn_opts_get(opts, 0, "terminate")) return cmd_terminate(cpn_opts_get(terminate_opts, 0, "--session-id")->uint32, cpn_opts_get(terminate_opts, 0, "--session-cap")->string); else puts("No action specified"); return 0; }
int main(int argc, char **argv) { int opt; void *v = 0; signal(SIGTERM, sig_handler); signal(SIGINT, sig_handler); signal(SIGTRAP, sig_handler); if (posix_memalign(&v, 4096, 512) != 0) { fprintf(stderr, "fatal memory allocation error\n"); return 1; } iobuf = v; memset(iobuf, 0, 512); progname = strrchr(argv[0], '/'); if (!progname) progname = argv[0]; else progname++; while ((opt = getopt(argc, argv, "+hd")) != -1) { switch (opt) { case 'h': usage(); break; case 'd': debug++; break; } } if (optind >= argc) usage(); if (!strcmp(argv[optind], "acquire")) return cmd_acquire(argc - optind, argv + optind); if (!strcmp(argv[optind], "renew")) return cmd_renew(argc - optind, argv + optind); if (!strcmp(argv[optind], "release")) return cmd_release(argc - optind, argv + optind); if (!strcmp(argv[optind], "query")) return cmd_query(argc - optind, argv + optind); if (!strcmp(argv[optind], "protect")) return cmd_protect(argc - optind, argv + optind); fprintf(stderr, "unknonwn op <%s>\n", argv[optind]); usage(); return 1; }
void command_parse(const u08 *cmd, u08 len) { u08 result = 0; switch(cmd[0]) { case 'c': result = cmd_color(cmd,len); break; case 'f': result = cmd_flags(cmd, len); break; case 'd': result = cmd_draw(cmd, len); break; case 'g': result = cmd_goto(cmd, len); break; case 'e': result = cmd_erase(cmd, len); break; case 's': /* do nothing - only return status */ result = CMD_OK; break; case 'q': result = cmd_query(cmd, len); break; case 'i': result = cmd_input(cmd, len); break; case 'p': result = cmd_picture(cmd, len); break; case 'y': result = cmd_display(cmd, len); break; default: result = CMD_UNKNOWN_ERR; break; } // report status back if(result != CMD_NO_REPLY) { cmd_status(result); } }
int main(int argc, char **argv) { int run_help = 0; int run_version = 0; char proc[256]; char path[256]; pid_t pid = getpid(); sprintf(proc, "/proc/%d/exe", pid); if (readlink(proc, path, 256) == -1) { fprintf(stderr, "failed to read execution path from /proc\n"); return 1; } if (strcmp(path, "/usr/sbin/bolo") == 0) return cmd_aggregator(argc, argc, argv); int i; for (i = 1; i < argc; i++) { if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "-?") == 0 || strcmp(argv[i], "--help") == 0) { run_help = 1; continue; } if (strcmp(argv[i], "-V") == 0 || strcmp(argv[i], "--version") == 0) { run_version = 1; continue; } if (argv[i][0] == '-') { fprintf(stderr, "Invalid option `%s'\n", argv[i]); return 1; } break; } if (run_help) return cmd_help(i, argc, argv); if (run_version) return cmd_version(i, argc, argv); if (i == argc) return cmd_help(i, argc, argv); if (strcmp(argv[i], "help") == 0) return cmd_help(i, argc, argv); if (strcmp(argv[i], "version") == 0) return cmd_version(i, argc, argv); if (strcmp(argv[i], "aggr") == 0 || strcmp(argv[i], "aggregator") == 0) return cmd_aggregator(i, argc, argv); if (strcmp(argv[i], "cache") == 0) return cmd_cache(i, argc, argv); if (strcmp(argv[i], "forget") == 0) return cmd_forget(i, argc, argv); if (strcmp(argv[i], "name") == 0) return cmd_name(i, argc, argv); if (strcmp(argv[i], "query") == 0) return cmd_query(i, argc, argv); if (strcmp(argv[i], "send") == 0) return cmd_send(i, argc, argv); if (strcmp(argv[i], "spy") == 0) return cmd_spy(i, argc, argv); if (strcmp(argv[i], "tail") == 0) return cmd_tail(i, argc, argv); fprintf(stderr, "Unrecognized command `%s'. See bolo --help.\n", argv[i]); return 1; }