]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[cmdline] Add "nstat" command
authorMichael Brown <mcb30@ipxe.org>
Wed, 25 Sep 2013 13:35:07 +0000 (14:35 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 25 Sep 2013 13:36:36 +0000 (14:36 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/config/config.c
src/config/general.h
src/hci/commands/neighbour_cmd.c [new file with mode: 0644]

index 6596e951cf34b6ebd47d4a2a261f20b9ab5762ad..13fa7db43b3d2333db823c3c10f7a2831a4afb34 100644 (file)
@@ -269,6 +269,9 @@ REQUIRE_OBJECT ( pci_cmd );
 #ifdef PARAM_CMD
 REQUIRE_OBJECT ( param_cmd );
 #endif
+#ifdef NEIGHBOUR_CMD
+REQUIRE_OBJECT ( neighbour_cmd );
+#endif
 
 /*
  * Drag in miscellaneous objects
index 2e93efdeeb7d18fd68dfd1329a4b1d2af1873c49..00a327f29d3e52f2faa887fa14413325b0333df4 100644 (file)
@@ -132,6 +132,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
 //#define IMAGE_TRUST_CMD      /* Image trust management commands */
 //#define PCI_CMD              /* PCI commands */
 //#define PARAM_CMD            /* Form parameter commands */
+//#define NEIGHBOUR_CMD                /* Neighbour management commands */
 
 /*
  * ROM-specific options
diff --git a/src/hci/commands/neighbour_cmd.c b/src/hci/commands/neighbour_cmd.c
new file mode 100644 (file)
index 0000000..d65c355
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2013 Michael Brown <mbrown@fensystems.co.uk>.
+ *
+ * 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; either version 2 of the
+ * License, or any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+/** @file
+ *
+ * Neighbour management commands
+ *
+ */
+
+#include <getopt.h>
+#include <ipxe/parseopt.h>
+#include <ipxe/command.h>
+#include <usr/neighmgmt.h>
+
+/** "nstat" options */
+struct nstat_options {};
+
+/** "nstat" option list */
+static struct option_descriptor nstat_opts[] = {};
+
+/** "nstat" command descriptor */
+static struct command_descriptor nstat_cmd =
+       COMMAND_DESC ( struct nstat_options, nstat_opts, 0, 0, "" );
+
+/**
+ * The "nstat" command
+ *
+ * @v argc             Argument count
+ * @v argv             Argument list
+ * @ret rc             Return status code
+ */
+static int nstat_exec ( int argc, char **argv ) {
+       struct nstat_options opts;
+       int rc;
+
+       /* Parse options */
+       if ( ( rc = parse_options ( argc, argv, &nstat_cmd, &opts ) ) != 0)
+               return rc;
+
+       nstat();
+
+       return 0;
+}
+
+/** Neighbour management commands */
+struct command neighbour_commands[] __command = {
+       {
+               .name = "nstat",
+               .exec = nstat_exec,
+       },
+};