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@xxxxxxxxxx> + * Karel Zak <kzak@xxxxxxxxxx> + * Daniel P. Berrange <berrange@xxxxxxxxxx> + * + */ + +#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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list