command-line: add ovs_cmdl_context
[cascardo/ovs.git] / ovsdb / ovsdb-tool.c
index f648707..32883e2 100644 (file)
@@ -55,10 +55,13 @@ static const char *default_schema(void);
 int
 main(int argc, char *argv[])
 {
+    struct ovs_cmdl_context ctx = { .argc = 0, };
     set_program_name(argv[0]);
     parse_options(argc, argv);
     fatal_ignore_sigpipe();
-    ovs_cmdl_run_command(argc - optind, argv + optind, get_all_commands());
+    ctx.argc = argc - optind;
+    ctx.argv = argv + optind;
+    ovs_cmdl_run_command(&ctx, get_all_commands());
     return 0;
 }
 
@@ -187,10 +190,10 @@ check_ovsdb_error(struct ovsdb_error *error)
 }
 \f
 static void
-do_create(int argc, char *argv[])
+do_create(struct ovs_cmdl_context *ctx)
 {
-    const char *db_file_name = argc >= 2 ? argv[1] : default_db();
-    const char *schema_file_name = argc >= 3 ? argv[2] : default_schema();
+    const char *db_file_name = ctx->argc >= 2 ? ctx->argv[1] : default_db();
+    const char *schema_file_name = ctx->argc >= 3 ? ctx->argv[2] : default_schema();
     struct ovsdb_schema *schema;
     struct ovsdb_log *log;
     struct json *json;
@@ -272,20 +275,20 @@ compact_or_convert(const char *src_name_, const char *dst_name_,
 }
 
 static void
-do_compact(int argc, char *argv[])
+do_compact(struct ovs_cmdl_context *ctx)
 {
-    const char *db = argc >= 2 ? argv[1] : default_db();
-    const char *target = argc >= 3 ? argv[2] : NULL;
+    const char *db = ctx->argc >= 2 ? ctx->argv[1] : default_db();
+    const char *target = ctx->argc >= 3 ? ctx->argv[2] : NULL;
 
     compact_or_convert(db, target, NULL, "compacted by ovsdb-tool "VERSION);
 }
 
 static void
-do_convert(int argc, char *argv[])
+do_convert(struct ovs_cmdl_context *ctx)
 {
-    const char *db = argc >= 2 ? argv[1] : default_db();
-    const char *schema = argc >= 3 ? argv[2] : default_schema();
-    const char *target = argc >= 4 ? argv[3] : NULL;
+    const char *db = ctx->argc >= 2 ? ctx->argv[1] : default_db();
+    const char *schema = ctx->argc >= 3 ? ctx->argv[2] : default_schema();
+    const char *target = ctx->argc >= 4 ? ctx->argv[3] : NULL;
     struct ovsdb_schema *new_schema;
 
     check_ovsdb_error(ovsdb_schema_from_file(schema, &new_schema));
@@ -295,10 +298,10 @@ do_convert(int argc, char *argv[])
 }
 
 static void
-do_needs_conversion(int argc, char *argv[])
+do_needs_conversion(struct ovs_cmdl_context *ctx)
 {
-    const char *db_file_name = argc >= 2 ? argv[1] : default_db();
-    const char *schema_file_name = argc >= 3 ? argv[2] : default_schema();
+    const char *db_file_name = ctx->argc >= 2 ? ctx->argv[1] : default_db();
+    const char *schema_file_name = ctx->argc >= 3 ? ctx->argv[2] : default_schema();
     struct ovsdb_schema *schema1, *schema2;
 
     check_ovsdb_error(ovsdb_file_read_schema(db_file_name, &schema1));
@@ -309,9 +312,9 @@ do_needs_conversion(int argc, char *argv[])
 }
 
 static void
-do_db_version(int argc, char *argv[])
+do_db_version(struct ovs_cmdl_context *ctx)
 {
-    const char *db_file_name = argc >= 2 ? argv[1] : default_db();
+    const char *db_file_name = ctx->argc >= 2 ? ctx->argv[1] : default_db();
     struct ovsdb_schema *schema;
 
     check_ovsdb_error(ovsdb_file_read_schema(db_file_name, &schema));
@@ -320,9 +323,9 @@ do_db_version(int argc, char *argv[])
 }
 
 static void
-do_db_cksum(int argc OVS_UNUSED, char *argv[])
+do_db_cksum(struct ovs_cmdl_context *ctx)
 {
-    const char *db_file_name = argc >= 2 ? argv[1] : default_db();
+    const char *db_file_name = ctx->argc >= 2 ? ctx->argv[1] : default_db();
     struct ovsdb_schema *schema;
 
     check_ovsdb_error(ovsdb_file_read_schema(db_file_name, &schema));
@@ -331,9 +334,9 @@ do_db_cksum(int argc OVS_UNUSED, char *argv[])
 }
 
 static void
-do_schema_version(int argc, char *argv[])
+do_schema_version(struct ovs_cmdl_context *ctx)
 {
-    const char *schema_file_name = argc >= 2 ? argv[1] : default_schema();
+    const char *schema_file_name = ctx->argc >= 2 ? ctx->argv[1] : default_schema();
     struct ovsdb_schema *schema;
 
     check_ovsdb_error(ovsdb_schema_from_file(schema_file_name, &schema));
@@ -342,9 +345,9 @@ do_schema_version(int argc, char *argv[])
 }
 
 static void
-do_schema_cksum(int argc, char *argv[])
+do_schema_cksum(struct ovs_cmdl_context *ctx)
 {
-    const char *schema_file_name = argc >= 2 ? argv[1] : default_schema();
+    const char *schema_file_name = ctx->argc >= 2 ? ctx->argv[1] : default_schema();
     struct ovsdb_schema *schema;
 
     check_ovsdb_error(ovsdb_schema_from_file(schema_file_name, &schema));
@@ -371,15 +374,15 @@ transact(bool read_only, int argc, char *argv[])
 }
 
 static void
-do_query(int argc, char *argv[])
+do_query(struct ovs_cmdl_context *ctx)
 {
-    transact(true, argc, argv);
+    transact(true, ctx->argc, ctx->argv);
 }
 
 static void
-do_transact(int argc, char *argv[])
+do_transact(struct ovs_cmdl_context *ctx)
 {
-    transact(false, argc, argv);
+    transact(false, ctx->argc, ctx->argv);
 }
 
 static void
@@ -495,9 +498,9 @@ print_db_changes(struct shash *tables, struct shash *names,
 }
 
 static void
-do_show_log(int argc, char *argv[])
+do_show_log(struct ovs_cmdl_context *ctx)
 {
-    const char *db_file_name = argc >= 2 ? argv[1] : default_db();
+    const char *db_file_name = ctx->argc >= 2 ? ctx->argv[1] : default_db();
     struct shash names;
     struct ovsdb_log *log;
     struct ovsdb_schema *schema;
@@ -558,13 +561,13 @@ do_show_log(int argc, char *argv[])
 }
 
 static void
-do_help(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_help(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     usage();
 }
 
 static void
-do_list_commands(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_list_commands(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
      ovs_cmdl_print_commands(get_all_commands());
 }