[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/26] qemu-io: Interface cleanup
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL 15/26] qemu-io: Interface cleanup |
Date: |
Fri, 7 Jun 2013 13:58:34 +0200 |
From: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
cmd.h | 48 ------------------------------------------------
include/qemu-io.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++
qemu-io-cmds.c | 14 +++++++-------
qemu-io.c | 7 +++----
4 files changed, 56 insertions(+), 59 deletions(-)
delete mode 100644 cmd.h
create mode 100644 include/qemu-io.h
diff --git a/cmd.h b/cmd.h
deleted file mode 100644
index 9907795..0000000
--- a/cmd.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2000-2005 Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __COMMAND_H__
-#define __COMMAND_H__
-
-#include "qemu-common.h"
-
-#define CMD_FLAG_GLOBAL ((int)0x80000000) /* don't iterate "args"
*/
-
-extern BlockDriverState *qemuio_bs;
-
-typedef int (*cfunc_t)(BlockDriverState *bs, int argc, char **argv);
-typedef void (*helpfunc_t)(void);
-
-typedef struct cmdinfo {
- const char *name;
- const char *altname;
- cfunc_t cfunc;
- int argmin;
- int argmax;
- int canpush;
- int flags;
- const char *args;
- const char *oneline;
- helpfunc_t help;
-} cmdinfo_t;
-
-void qemuio_add_command(const cmdinfo_t *ci);
-
-int qemuio_command_usage(const cmdinfo_t *ci);
-
-bool qemuio_command(const char *cmd);
-
-#endif /* __COMMAND_H__ */
diff --git a/include/qemu-io.h b/include/qemu-io.h
new file mode 100644
index 0000000..a418b46
--- /dev/null
+++ b/include/qemu-io.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2000-2005 Silicon Graphics, Inc.
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef QEMU_IO_H
+#define QEMU_IO_H
+
+#include "qemu-common.h"
+
+#define CMD_FLAG_GLOBAL ((int)0x80000000) /* don't iterate "args" */
+
+typedef int (*cfunc_t)(BlockDriverState *bs, int argc, char **argv);
+typedef void (*helpfunc_t)(void);
+
+typedef struct cmdinfo {
+ const char* name;
+ const char* altname;
+ cfunc_t cfunc;
+ int argmin;
+ int argmax;
+ int canpush;
+ int flags;
+ const char *args;
+ const char *oneline;
+ helpfunc_t help;
+} cmdinfo_t;
+
+bool qemuio_command(BlockDriverState *bs, const char *cmd);
+
+void qemuio_add_command(const cmdinfo_t *ci);
+int qemuio_command_usage(const cmdinfo_t *ci);
+
+#endif /* QEMU_IO_H */
diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c
index 05ce342..ffbcf31 100644
--- a/qemu-io-cmds.c
+++ b/qemu-io-cmds.c
@@ -8,9 +8,8 @@
* See the COPYING file in the top-level directory.
*/
-#include "qemu-common.h"
+#include "qemu-io.h"
#include "block/block_int.h"
-#include "cmd.h"
#define CMD_NOFILE_OK 0x01
@@ -50,11 +49,12 @@ static int init_check_command(BlockDriverState *bs, const
cmdinfo_t *ct)
return 1;
}
-static int command(const cmdinfo_t *ct, int argc, char **argv)
+static int command(BlockDriverState *bs, const cmdinfo_t *ct, int argc,
+ char **argv)
{
char *cmd = argv[0];
- if (!init_check_command(qemuio_bs, ct)) {
+ if (!init_check_command(bs, ct)) {
return 0;
}
@@ -75,7 +75,7 @@ static int command(const cmdinfo_t *ct, int argc, char **argv)
return 0;
}
optind = 0;
- return ct->cfunc(qemuio_bs, argc, argv);
+ return ct->cfunc(bs, argc, argv);
}
static const cmdinfo_t *find_command(const char *cmd)
@@ -2068,7 +2068,7 @@ static const cmdinfo_t help_cmd = {
.oneline = "help for one or all commands",
};
-bool qemuio_command(const char *cmd)
+bool qemuio_command(BlockDriverState *bs, const char *cmd)
{
char *input;
const cmdinfo_t *ct;
@@ -2081,7 +2081,7 @@ bool qemuio_command(const char *cmd)
if (c) {
ct = find_command(v[0]);
if (ct) {
- done = command(ct, c, v);
+ done = command(bs, ct, c, v);
} else {
fprintf(stderr, "command \"%s\" not found\n", v[0]);
}
diff --git a/qemu-io.c b/qemu-io.c
index eec8cbc..514edcb 100644
--- a/qemu-io.c
+++ b/qemu-io.c
@@ -14,10 +14,9 @@
#include <getopt.h>
#include <libgen.h>
-#include "qemu-common.h"
+#include "qemu-io.h"
#include "qemu/main-loop.h"
#include "block/block_int.h"
-#include "cmd.h"
#include "trace/control.h"
#define VERSION "0.0.1"
@@ -273,7 +272,7 @@ static void command_loop(void)
char *input;
for (i = 0; !done && i < ncmdline; i++) {
- done = qemuio_command(cmdline[i]);
+ done = qemuio_command(qemuio_bs, cmdline[i]);
}
if (cmdline) {
g_free(cmdline);
@@ -298,7 +297,7 @@ static void command_loop(void)
if (input == NULL) {
break;
}
- done = qemuio_command(input);
+ done = qemuio_command(qemuio_bs, input);
g_free(input);
prompted = 0;
--
1.8.1.4
- [Qemu-devel] [PULL 05/26] qemu-io: Handle cvtnum() errors in 'alloc', (continued)
- [Qemu-devel] [PULL 05/26] qemu-io: Handle cvtnum() errors in 'alloc', Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 06/26] qemu-io: Don't use global bs in command implementations, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 08/26] qemu-io: Factor out qemuio_command, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 09/26] qemu-io: Move 'help' function, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 11/26] qemu-io: Move qemu_strsep() to cutils.c, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 10/26] qemu-io: Move 'quit' function, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 07/26] qemu-io: Split off commands to qemu-io-cmds.c, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 12/26] qemu-io: Move functions for registering and running commands, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 13/26] qemu-io: Move command_loop() and friends, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 14/26] qemu-io: Move remaining helpers from cmd.c, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 15/26] qemu-io: Interface cleanup,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL 16/26] qemu-io: Use the qemu version for -V, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 17/26] Make qemu-io commands available in HMP, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 18/26] blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 19/26] ide-test: Add enum value for DEV, Stefan Hajnoczi, 2013/06/07
- [Qemu-devel] [PULL 21/26] ide-test: Add FLUSH CACHE test case, Stefan Hajnoczi, 2013/06/07
[Qemu-devel] [PULL 20/26] ide: Set BSY bit during FLUSH, Stefan Hajnoczi, 2013/06/07