+ while (++argno < argc)
+ {
+ if (argv[argno][0] == '-')
+ {
+ if (argv[argno][1] == '-')
+ {
+ monitor_flag = 0;
+ break;
+ }
+ switch (argv[argno][1])
+ {
+ case 'h':
+ case 'H':
+ fprintf (stderr, "eti [options] -- [kernelOptions]\n");
+ fprintf (stderr, "Options:\n");
+ fprintf (stderr, " -l log Set Log file\n");
+ fprintf (stderr, " -d Enable debugging log\n");
+ fprintf (stderr, " -D Enable more debugging log\n");
+ fprintf (stderr, " -c dir Change to directory\n");
+ fprintf (stderr, " -- Precedes kernel options "
+ "(kernel is invoked instead of monitor)\n");
+ exit (1);
+ case 'l':
+ if (argv[argno][2])
+ gw_log_file (GW_LOG_ALL, argv[argno]+2);
+ else if (++argno < argc)
+ gw_log_file (GW_LOG_ALL, argv[argno]);
+ else
+ {
+ fprintf (stderr, "%s: missing log filename\n", *argv);
+ exit (1);
+ }
+ break;
+ case 'd':
+ gw_log_level (GW_LOG_ALL & ~RES_DEBUG);
+ break;
+ case 'D':
+ gw_log_level (GW_LOG_ALL);
+ break;
+ case 'c':
+ if (argv[argno][2])
+ {
+ if (chdir (argv[argno]+2))
+ gw_log (GW_LOG_WARN|GW_LOG_ERRNO, module, "chdir");
+ }
+ else if (++argno < argc)
+ {
+ if (chdir (argv[argno]))
+ gw_log (GW_LOG_WARN|GW_LOG_ERRNO, module, "chdir");
+ }
+ else
+ {
+ fprintf (stderr, "%s: missing chdir name\n", *argv);
+ exit (1);
+ }
+ break;
+ default:
+ fprintf (stderr, "%s: unknown option `%s'; use -H for help\n",
+ *argv, argv[argno]);
+ exit (1);
+ }
+ }
+ }