/*
- * virsh-domain.c: Commands to manage network filters
+ * virsh-nwfilter.c: Commands to manage network filters
*
* Copyright (C) 2005, 2007-2012 Red Hat, Inc.
*
*
*/
-/* 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;
*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);
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,
--- /dev/null
+/*
+ * 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@redhat.com>
+ * Karel Zak <kzak@redhat.com>
+ * Daniel P. Berrange <berrange@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 */