Example #1
0
int
main(int argc, char **argv)
{
	struct nandsim_command *cmdopts;
	int retcode = 0;

	if (argc < 2) {
		cmdhelp(argc, argv);
		retcode = EX_USAGE;
	} else {
		cmdopts = getcommand(argv[1]);
		if (cmdopts != NULL && cmdopts->commandfunc != NULL) {
			if (checkusage(argc, cmdopts->req_argc, argv) == 1) {
				/* Print command specific usage */
				printf("nandsim %s", cmdopts->usagestring);
				return (EX_USAGE);
			}
			retcode = cmdopts->commandfunc(argc, argv);

			if (retcode == EX_USAGE) {
				/* Print command-specific usage */
				printf("nandsim %s", cmdopts->usagestring);
			} else if (retcode == EX_OSFILE) {
				error("Could not open device file");
			}

		} else {
			error("Unknown command!");
			retcode = EX_USAGE;
		}
	}
	return (retcode);
}
Example #2
0
void initparam(string *argv, string *defv)
{
  int nparam;
  param *pvec;

  progname = argv[0];				// initialize program name
  nparam = 1 + countdefaults(defv);		// include argv0 in count
  pvec = (param *) allocate(sizeof(param) * (nparam + 1));
  setprogram(pvec, argv[0]);			// install 0th argument
  copydefaults(pvec, defv);			// set up default values
  if (argv[1] != NULL)				// if first arg is given...
    checkhelp(pvec, argv[1]);			// see if help is requested
  setarguments(pvec, argv);			// args override defaults
  checkusage(pvec);				// complain if args missing
  paramvec = pvec;				// install parameter vector
  savehistory(pvec);				// save activation record
}