On 08/20/2012 06:56 PM, Eric Blake wrote: > Yet another split file. > > * tools/virsh-network.h: New file. Comment is incorrect - virsh-nwfilter.h ACK. > * 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" -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list