[libvirt] [PATCH 14/4] virsh: split out virsh-nwfilter.c

Eric Blake eblake at redhat.com
Mon Aug 20 22:56:33 UTC 2012


Yet another split file.

* tools/virsh-network.h: New file.
* tools/Makefile.am (virsh_SOURCES): Build it.
* tools/virsh.c: Use new header.
* tools/virsh-nwfilter.c: Likewise.
---
 tools/Makefile.am      |  2 +-
 tools/virsh-nwfilter.c | 31 +++++++++++++++++++++----------
 tools/virsh-nwfilter.h | 42 ++++++++++++++++++++++++++++++++++++++++++
 tools/virsh.c          |  2 +-
 4 files changed, 65 insertions(+), 12 deletions(-)
 create mode 100644 tools/virsh-nwfilter.h

diff --git a/tools/Makefile.am b/tools/Makefile.am
index 0b3e080..1a6b97b 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -112,8 +112,8 @@ virsh_SOURCES =							\
 		virsh-interface.c virsh-interface.h		\
 		virsh-network.c virsh-network.h			\
 		virsh-nodedev.c virsh-nodedev.h			\
+		virsh-nwfilter.c virsh-nwfilter.h		\
 		$(NULL)
-#		virsh-nwfilter.c virsh-nwfilter.h		\
 #		virsh-pool.c virsh-pool.h			\
 #		virsh-secret.c virsh-secret.h			\
 #		virsh-snapshot.c virsh-snapshot.h		\
diff --git a/tools/virsh-nwfilter.c b/tools/virsh-nwfilter.c
index a6ef233..5e8f540 100644
--- a/tools/virsh-nwfilter.c
+++ b/tools/virsh-nwfilter.c
@@ -1,5 +1,5 @@
 /*
- * virsh-domain.c: Commands to manage network filters
+ * virsh-nwfilter.c: Commands to manage network filters
  *
  * Copyright (C) 2005, 2007-2012 Red Hat, Inc.
  *
@@ -23,18 +23,29 @@
  *
  */

-/* default is lookup by Name and UUID */
-#define vshCommandOptNWFilter(_ctl, _cmd, _name)                    \
-    vshCommandOptNWFilterBy(_ctl, _cmd, _name,                      \
-                            VSH_BYUUID|VSH_BYNAME)
+#include <config.h>
+#include "virsh-nwfilter.h"

-static virNWFilterPtr
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include <libxml/xpath.h>
+#include <libxml/xmlsave.h>
+
+#include "internal.h"
+#include "buf.h"
+#include "memory.h"
+#include "util.h"
+#include "xml.h"
+
+virNWFilterPtr
 vshCommandOptNWFilterBy(vshControl *ctl, const vshCmd *cmd,
-                        const char **name, int flag)
+                        const char **name, unsigned int flags)
 {
     virNWFilterPtr nwfilter = NULL;
     const char *n = NULL;
     const char *optname = "nwfilter";
+    virCheckFlags(VSH_BYUUID | VSH_BYNAME, NULL);
+
     if (!vshCmdHasOption(ctl, cmd, optname))
         return NULL;

@@ -48,13 +59,13 @@ vshCommandOptNWFilterBy(vshControl *ctl, const vshCmd *cmd,
         *name = n;

     /* try it by UUID */
-    if ((flag & VSH_BYUUID) && strlen(n) == VIR_UUID_STRING_BUFLEN-1) {
+    if ((flags & VSH_BYUUID) && strlen(n) == VIR_UUID_STRING_BUFLEN-1) {
         vshDebug(ctl, VSH_ERR_DEBUG, "%s: <%s> trying as nwfilter UUID\n",
                  cmd->def->name, optname);
         nwfilter = virNWFilterLookupByUUIDString(ctl->conn, n);
     }
     /* try it by NAME */
-    if (nwfilter == NULL && (flag & VSH_BYNAME)) {
+    if (!nwfilter && (flags & VSH_BYNAME)) {
         vshDebug(ctl, VSH_ERR_DEBUG, "%s: <%s> trying as nwfilter NAME\n",
                  cmd->def->name, optname);
         nwfilter = virNWFilterLookupByName(ctl->conn, n);
@@ -309,7 +320,7 @@ cleanup:
     return ret;
 }

-static const vshCmdDef nwfilterCmds[] = {
+const vshCmdDef nwfilterCmds[] = {
     {"nwfilter-define", cmdNWFilterDefine, opts_nwfilter_define,
      info_nwfilter_define, 0},
     {"nwfilter-dumpxml", cmdNWFilterDumpXML, opts_nwfilter_dumpxml,
diff --git a/tools/virsh-nwfilter.h b/tools/virsh-nwfilter.h
new file mode 100644
index 0000000..74b4bcc
--- /dev/null
+++ b/tools/virsh-nwfilter.h
@@ -0,0 +1,42 @@
+/*
+ * virsh-nwfilter.h: Commands to manage network filters
+ *
+ * Copyright (C) 2005, 2007-2012 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library;  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ *  Daniel Veillard <veillard at redhat.com>
+ *  Karel Zak <kzak at redhat.com>
+ *  Daniel P. Berrange <berrange at redhat.com>
+ *
+ */
+
+#ifndef VIRSH_NWFILTER_H
+# define VIRSH_NWFILTER_H
+
+# include "virsh.h"
+
+virNWFilterPtr
+vshCommandOptNWFilterBy(vshControl *ctl, const vshCmd *cmd,
+                        const char **name, unsigned int flags);
+
+/* default is lookup by Name and UUID */
+#define vshCommandOptNWFilter(_ctl, _cmd, _name)                    \
+    vshCommandOptNWFilterBy(_ctl, _cmd, _name,                      \
+                            VSH_BYUUID|VSH_BYNAME)
+
+extern const vshCmdDef nwfilterCmds[];
+
+#endif /* VIRSH_NWFILTER_H */
diff --git a/tools/virsh.c b/tools/virsh.c
index 364ca25..ab88fcb 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -80,6 +80,7 @@
 #include "virsh-interface.h"
 #include "virsh-network.h"
 #include "virsh-nodedev.h"
+#include "virsh-nwfilter.h"

 static char *progname;

@@ -2814,7 +2815,6 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
     return true;
 }

-#include "virsh-nwfilter.c"
 #include "virsh-pool.c"
 #include "virsh-secret.c"
 #include "virsh-snapshot.c"
-- 
1.7.11.4




More information about the libvir-list mailing list