Exemplo n.º 1
0
struct cmdline *
cmdline_term_new(cmdline_parse_ctx_t *ctx, const char *prompt, char *ptyname)
{
        int fd;
        struct cmdline *cl;


        fd = open(ptyname, O_RDWR);

        if (fd > 0) {
          cl = cmdline_new(ctx, prompt, fd, fd);
#ifdef RTE_EXEC_ENV_LINUXAPP
        {

        struct termios oldterm, term;

        tcgetattr(fd, &oldterm);
        memcpy(&term, &oldterm, sizeof(term));
//      term.c_lflag &= ~(ICANON | ECHO | ISIG);
//        term.c_lflag &= ~(ICANON | ECHO);  /* To have GDB ctrl-c stop */
//        tcsetattr(fd, TCSANOW, &term);
        if (cl)
          memcpy(&cl->oldterm, &oldterm, sizeof(term));
       }
#endif
          return cl;
       }
       else {
         return NULL;
       }
}
Exemplo n.º 2
0
struct cmdline *
cmdline_file_new(cmdline_parse_ctx_t *ctx, const char *prompt, const char *path)
{
	int fd;

	/* everything else is checked in cmdline_new() */
	if (!path)
		return NULL;

	fd = open(path, O_RDONLY, 0);
	if (fd < 0) {
		dprintf("open() failed\n");
		return NULL;
	}
	return cmdline_new(ctx, prompt, fd, -1);
}
Exemplo n.º 3
0
static cmdline_t
local_cmdlineSetup(void)
{
	cmdline_t cmdline;

	cmdline = cmdline_new(6, 6, "cubepm_dumpSelection");
	(void)cmdline_addOpt(cmdline, "version",
	                     "This will output a version information.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addOpt(cmdline, "help",
	                     "This will print this help text.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addOpt(cmdline, "boxsize",
	                     "The boxsize in Mpc/h.",
	                     true, CMDLINE_TYPE_DOUBLE);
	(void)cmdline_addOpt(cmdline, "omega0",
	                     "Omega0",
	                     true, CMDLINE_TYPE_DOUBLE);
	(void)cmdline_addOpt(cmdline, "lambda0",
	                     "Lambda0",
	                     true, CMDLINE_TYPE_DOUBLE);
	(void)cmdline_addOpt(cmdline, "properUnits",
	                     "Converts from file units to Mpc/h and km/s.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addArg(cmdline,
	                     "The prefix of the filenames.",
	                     CMDLINE_TYPE_STRING);
	(void)cmdline_addArg(cmdline,
	                     "The stem of the filenames",
	                     CMDLINE_TYPE_STRING);
	(void)cmdline_addArg(
	    cmdline,
	    "The number of nodes (1D) used to write the files.",
	    CMDLINE_TYPE_INT);
	(void)cmdline_addArg(cmdline,
	                     "The size of the grid.",
	                     CMDLINE_TYPE_INT);
	(void)cmdline_addArg(cmdline,
	                     "The number of particles to skip.",
	                     CMDLINE_TYPE_LONG);
	(void)cmdline_addArg(cmdline,
	                     "The number of particles to read.",
	                     CMDLINE_TYPE_LONG);

	return cmdline;
} /* local_cmdlineSetup */
Exemplo n.º 4
0
static cmdline_t
local_cmdlineSetup(void)
{
	cmdline_t cmdline;

	cmdline = cmdline_new(1, 2, localProgramName);
	(void)cmdline_addOpt(cmdline, "version",
	                     "This will output a version information.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addOpt(cmdline, "help",
	                     "This will print this help text.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addArg(cmdline,
	                     "The filename.",
	                     CMDLINE_TYPE_STRING);

	return cmdline;
}
Exemplo n.º 5
0
static cmdline_t
local_cmdlineSetup(void)
{
	cmdline_t cmdline;

	cmdline = cmdline_new(1, 3, localProgramName);
	(void)cmdline_addOpt(cmdline, "version",
	                     "This will output a version information.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addOpt(cmdline, "help",
	                     "This will print this help text.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addOpt(cmdline, "numFiles",
	                     "Gives the number of files in the file set.",
	                     true, CMDLINE_TYPE_INT);
	(void)cmdline_addArg(cmdline,
	                     "The name of the Gadget file.",
	                     CMDLINE_TYPE_STRING);

	return cmdline;
}
Exemplo n.º 6
0
int main(int argc, char* argv[])
{
  #ifdef SEQ_ALIGN_VERBOSE
  printf("VERBOSE: on\n");
  #endif

  sw_set_default_scoring();
  cmd = cmdline_new(argc, argv, &scoring, SEQ_ALIGN_SW_CMD);

  // Align!
  sw = smith_waterman_new();
  result = alignment_create(256);

  if(cmd->seq1 != NULL)
  {
    // Align seq1 and seq2
    align(cmd->seq1, cmd->seq2, NULL, NULL);
  }

  // Align from files
  size_t i, num_of_file_pairs = cmdline_get_num_of_file_pairs(cmd);
  for(i = 0; i < num_of_file_pairs; i++)
  {
    const char *file1 = cmdline_get_file1(cmd, i);
    const char *file2 = cmdline_get_file2(cmd, i);
    if(file1 != NULL && *file1 == '\0' && file2 == NULL) {
      wait_on_keystroke = 1;
      file1 = "-";
    }
    align_from_file(file1, file2, &align_pair_from_file, !cmd->interactive);
  }

  // Free memory for storing alignment results
  smith_waterman_free(sw);
  alignment_free(result);

  cmdline_free(cmd);

  return EXIT_SUCCESS;
}
Exemplo n.º 7
0
struct cmdline *
cmdline_stdin_new(cmdline_parse_ctx_t *ctx, const char *prompt)
{
	struct cmdline *cl;
#ifdef RTE_EXEC_ENV_LINUXAPP
	struct termios oldterm, term;

	tcgetattr(0, &oldterm);
	memcpy(&term, &oldterm, sizeof(term));
	term.c_lflag &= ~(ICANON | ECHO | ISIG);
	tcsetattr(0, TCSANOW, &term);
	setbuf(stdin, NULL);
#endif

	cl = cmdline_new(ctx, prompt, 0, 1);

#ifdef RTE_EXEC_ENV_LINUXAPP
	if (cl)
		memcpy(&cl->oldterm, &oldterm, sizeof(term));
#endif
	return cl;
}
Exemplo n.º 8
0
struct cmdline *
cmdline_stdin_new(cmdline_parse_ctx_t *ctx, const char *prompt)
{
	struct cmdline *cl;
	struct termios oldterm, term;

	tcgetattr(0, &oldterm);
	memcpy(&term, &oldterm, sizeof(term));
#ifdef  RTE_LIBRW_PIOT
	term.c_lflag &= ~(ICANON | ECHO);  /* To have GDB ctrl-c stop */
#else
	term.c_lflag &= ~(ICANON | ECHO | ISIG);
#endif
	tcsetattr(0, TCSANOW, &term);
	setbuf(stdin, NULL);

	cl = cmdline_new(ctx, prompt, 0, 1);

	if (cl)
		memcpy(&cl->oldterm, &oldterm, sizeof(term));

	return cl;
}
Exemplo n.º 9
0
static cmdline_t
local_cmdlineSetup(void)
{
	cmdline_t cmdline;

	cmdline = cmdline_new(1, 3, THIS_PROGNAME);
	(void)cmdline_addOpt(cmdline, "version",
	                     "This will output a version information.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addOpt(cmdline, "help",
	                     "This will print this help text.",
	                     false, CMDLINE_TYPE_NONE);
	(void)cmdline_addOpt(
	    cmdline,
	    "sectionName",
	    "The name of the section in the configuration file.",
	    true,
	    CMDLINE_TYPE_STRING);
	(void)cmdline_addArg(cmdline,
	                     "Gives the name of the configuration file.",
	                     CMDLINE_TYPE_STRING);

	return cmdline;
}
Exemplo n.º 10
0
static int
pipeline_run(void *pipeline)
{
	struct pipeline_master *p = (struct pipeline_master *) pipeline;
	int status;

	if (p->script_file_done == 0) {
		struct app_params *app = p->app;
		int fd = open(app->script_file, O_RDONLY);

		if (fd < 0)
			printf("Cannot open CLI script file \"%s\"\n",
				app->script_file);
		else {
			struct cmdline *file_cl;

			printf("Running CLI script file \"%s\" ...\n",
				app->script_file);
			file_cl = cmdline_new(p->cl->ctx, "", fd, 1);
			cmdline_interact(file_cl);
			close(fd);
		}

		p->script_file_done = 1;
	}

	status = cmdline_poll(p->cl);
	if (status < 0)
		rte_panic("CLI poll error (%" PRId32 ")\n", status);
	else if (status == RDLINE_EXITED) {
		cmdline_stdin_exit(p->cl);
		rte_exit(0, "Bye!\n");
	}

	return 0;
}