/*
- * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
+ * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2014 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include "timeval.h"
#include "unixctl.h"
#include "util.h"
+#include "vlog.h"
static void usage(void);
static const char *parse_command_line(int argc, char *argv[]);
static const char *
parse_command_line(int argc, char *argv[])
{
+ enum {
+ OPT_START = UCHAR_MAX + 1,
+ VLOG_OPTION_ENUMS
+ };
static const struct option long_options[] = {
{"target", required_argument, NULL, 't'},
{"execute", no_argument, NULL, 'e'},
{"help", no_argument, NULL, 'h'},
+ {"option", no_argument, NULL, 'o'},
{"version", no_argument, NULL, 'V'},
{"timeout", required_argument, NULL, 'T'},
+ VLOG_LONG_OPTIONS,
{NULL, 0, NULL, 0},
};
+ char *short_options_ = long_options_to_short_options(long_options);
+ char *short_options = xasprintf("+%s", short_options_);
const char *target;
int e_options;
for (;;) {
int option;
- option = getopt_long(argc, argv, "+t:hVe", long_options, NULL);
+ option = getopt_long(argc, argv, short_options, long_options, NULL);
if (option == -1) {
break;
}
usage();
break;
+ case 'o':
+ print_options(long_options);
+ exit(EXIT_SUCCESS);
+
case 'T':
time_alarm(atoi(optarg));
break;
ovs_print_version(0, 0);
exit(EXIT_SUCCESS);
+ VLOG_OPTION_HANDLERS
+
case '?':
exit(EXIT_FAILURE);
OVS_NOT_REACHED();
}
}
+ free(short_options_);
+ free(short_options);
if (optind >= argc) {
ovs_fatal(0, "at least one non-option argument is required "