Ejemplo n.º 1
0
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;
	}
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
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;
}
Ejemplo n.º 4
0
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);
  }
}
Ejemplo n.º 5
0
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;
}