コード例 #1
0
ファイル: lsadmin.c プロジェクト: spandon/openlava
int
main(int argc, char **argv)
{
    int cc,  myIndex;
    char *prompt = "lsadmin>";
    char line[MAXLINELEN];

    if (ls_initdebug(argv[0]) < 0) {
	ls_perror("ls_initdebug");
	exit(-1);
    }

    while ((cc = getopt(argc, argv, "Vh")) != EOF) {
        switch (cc) {
            case 'V':
                fputs(_LS_VERSION_, stderr);
                exit(0);
            case 'h':
            default:
                cmdsUsage("lsadmin", cmdList, cmdInfo);
        }
    }
    if (argc > optind) {
        if ((myIndex=adminCmdIndex(argv[optind], cmdList)) == -1) {
            fprintf(stderr, "Invalid command <%s> \n", argv[optind]);
            cmdsUsage("lsadmin", cmdList, cmdInfo);
	}
	optind++;
	exit (doLsCmd (argc, argv));
    }

    for (;;) {
        printf("%s", prompt);
        fflush(stdout);
	if (fgets(line, MAXLINELEN, stdin) == NULL) {
	    printf("\n");
            exit(-1);
        }
        parseAndDo(line , doLsCmd);

    }
}
コード例 #2
0
ファイル: admin.c プロジェクト: nattoheaven/openlava
void
cmdHelp (int argc, char **argv, char *cmdList[], char *cmdInfo[],
         char *cmdSyntax[])
{

    static char intCmds[] = " ";
    int i, j = 0;

    if (argc <= optind) {

        fprintf(stderr, "\n%s\n\n", _i18n_msg_get(ls_catd,NL_SETN, 104, "Commands are : "));  /* catgets 104  */

        for (i=0; cmdList[i] != NULL; i++) {

            if (strstr(intCmds,cmdList[i]) == NULL ) {
                j++;
                fprintf(stderr, "%-12.12s",  cmdList[i]);
                if (j % 6 == 0)
                    fprintf(stderr, "\n");
            }
        }
        fprintf(stderr, "\n\n%s\n\n", _i18n_msg_get(ls_catd,NL_SETN, 105, "Try help command... to get details. ")); /* catgets 105 */
        fflush(stderr);
        return;
    }

    for (; argc > optind; optind++)
        if ((i = adminCmdIndex(argv[optind], cmdList)) != -1) {
            oneCmdUsage(i, cmdList, cmdSyntax);
            fprintf(stderr,
                    _i18n_msg_get(ls_catd, NL_SETN, 106,
                                  "Function: %s\n\n"), /* catgets 106 */
                    cmdInfo[i]);
        } else
            fprintf(stderr,
                    _i18n_msg_get(ls_catd, NL_SETN, 107,
                                  "Invalid command <%s>\n\n"), /* catgets 107 */
                    argv[optind]);
    fflush(stderr);

}
コード例 #3
0
int
main (int argc, char **argv)
{
  int cc, myIndex;
  const char prompt[] = "badmin> ";
  static char line[MAXLINELEN];
  int rc;

  rc = _i18n_init (I18N_CAT_MIN);

  if (lsb_init (argv[0]) < 0)
    {
      lsb_perror ("lsb_init");
      _i18n_end (ls_catd);
      exit (-1);
    }

  while ((cc = getopt (argc, argv, "Vh")) != EOF)
    {
      switch (cc)
	{
	case 'V':
	  fputs (_LS_VERSION_, stderr);
	  exit (0);
	case 'h':
	default:


	  cmdsUsage ("badmin", cmdList,
		     _i18n_msgArray_get (ls_catd, NL_SETN, cmdInfo_ID,
					 cmdInfo));
	}
    }
  if (argc > optind)
    {
      int rc;

      if ((myIndex = adminCmdIndex (argv[optind], cmdList)) == -1)
	{
	  fprintf (stderr, (_i18n_msg_get (ls_catd, NL_SETN, 2552, "Invalid command <%s> \n")), argv[optind]);	/* catgets  2552  */

	  cmdsUsage ("badmin", cmdList,
		     _i18n_msgArray_get (ls_catd, NL_SETN, cmdInfo_ID,
					 cmdInfo));
	}
      optind++;
      rc = doBatchCmd (argc, argv);
      _i18n_end (ls_catd);
      exit (rc);
    }

  for (;;)
    {
      printf ("%s", prompt);
      fflush (stdout);
      if (fgets (line, MAXLINELEN, stdin) == NULL)
	{
	  printf ("\n");
	  _i18n_end (ls_catd);
	  exit (-1);
	}

      parseAndDo (line, doBatchCmd);
    }
  return (0);

}
コード例 #4
0
static int
doBatchCmd (int argc, char *argv[])
{
  int cmdRet = 0, myIndex;

  if ((myIndex = adminCmdIndex (argv[optind - 1], cmdList)) == -1)
    {
      fprintf (stderr, _i18n_msg_get (ls_catd, NL_SETN, 2554, "Invalid command <%s>. Try help\n"),	/* catgets  2554  */
	       argv[optind - 1]);
      return -1;
    }
  switch (myIndex)
    {
    case BADMIN_MBDRESTART:
      cmdRet = breconfig (argc, argv, MBD_RESTART);
      break;
    case BADMIN_RECONFIG:
      cmdRet = breconfig (argc, argv, MBD_RECONFIG);
      break;
    case BADMIN_CKCONFIG:
      cmdRet = breconfig (argc, argv, MBD_CKCONFIG);
      break;
    case BADMIN_QOPEN:
    case BADMIN_QCLOSE:
    case BADMIN_QACT:
    case BADMIN_QINACT:
      cmdRet = bqc (argc, argv, opCodeList[myIndex]);
      break;
    case BADMIN_HOPEN:
    case BADMIN_HCLOSE:
    case BADMIN_HREBOOT:
    case BADMIN_HSHUT:
      cmdRet = bhc (argc, argv, opCodeList[myIndex]);
      break;
    case BADMIN_HSTARTUP:
      startup (argc, argv, myIndex);
      break;
    case BADMIN_QHIST:
    case BADMIN_HHIST:
    case BADMIN_MBDHIST:
    case BADMIN_HIST:
      cmdRet = sysHist (argc, argv, opCodeList[myIndex]);
      break;
    case BADMIN_MBDDEBUG:
    case BADMIN_MBDTIME:
    case BADMIN_SBDDEBUG:
    case BADMIN_SBDTIME:
      cmdRet = badminDebug (argc, argv, opCodeList[myIndex]);
      break;

    case BADMIN_HELP:
    case BADMIN_QES:
      cmdHelp (argc, argv, cmdList,
	       _i18n_msgArray_get (ls_catd, NL_SETN, cmdInfo_ID, cmdInfo),
	       cmdSyntax);
      break;
    case BADMIN_QUIT:
      exit (0);
    default:
      fprintf (stderr, I18N_FUNC_S_ERROR, "adminCmdIndex()");
      exit (-1);
    }
  if (cmdRet == -2)
    oneCmdUsage (myIndex, cmdList, cmdSyntax);

  fflush (stderr);
  return (cmdRet);

}
コード例 #5
0
ファイル: lsadmin.c プロジェクト: spandon/openlava
static int
doLsCmd (int argc, char *argv[])
{
    int cmdRet = 0, cc, myIndex;

    if ((myIndex = adminCmdIndex(argv[optind-1], cmdList)) == -1) {
        fprintf(stderr, "Invalid command <%s>. Try help\n", argv[optind - 1]);
            return -1;
    }
    switch (myIndex) {
        case LSADM_CKCONFIG :
            if ((argc == optind + 1) && strcmp(argv[optind], "-v") == 0)
                cc =  checkConf(1, 1);
            else if (argc == optind) {
                cc = checkConf(0, 1);
                if (cc == -1 || cc == -2)
                    if (getConfirm("Do you want to see detailed messages? [y/n] "));
                cc =  checkConf(1, 1);
            } else
                cmdRet = -2;
            if (cmdRet == 0 && cc != 0)
                cmdRet = -1;
            break;
        case LSADM_RECONFIG :
        case LSADM_LIMREBOOT :
        case LSADM_LIMSHUTDOWN :
            cmdRet = limCtrl(argc, argv, opCodeList[myIndex]);
            break;
        case LSADM_LIMSTARTUP :
            cmdRet = startup(argc, argv, myIndex);
            break;
        case LSADM_LIMLOCK :
            cmdRet = limLock(argc, argv);
            break;
        case LSADM_LIMUNLOCK :
            cmdRet = limUnlock(argc, argv);
            break;
        case LSADM_RESREBOOT :
        case LSADM_RESSHUTDOWN :
        case LSADM_RESLOGON :
        case LSADM_RESLOGOFF :
            cmdRet = resCtrl(argc, argv, opCodeList[myIndex]);
            break;
        case LSADM_LIMDEBUG:
        case LSADM_LIMTIME:
        case LSADM_RESDEBUG:
        case LSADM_RESTIME:
            cmdRet = lsadminDebug(argc, argv, opCodeList[myIndex]);
            break;
        case LSADM_RESSTARTUP :
            cmdRet = startup(argc, argv, myIndex);
            break;
        case LSADM_HELP :
        case LSADM_QES :
            cmdHelp(argc, argv, cmdList, cmdInfo, cmdSyntax);
            break;
        case LSADM_QUIT :
            exit(0);
        default :
            fprintf(stderr, "adminCmdIndex: Error");
            exit(-1);
    }
    if (cmdRet == -2)
	oneCmdUsage(myIndex, cmdList, cmdSyntax);

    fflush(stderr);
    return (cmdRet);

}