iPXE
neighbour_cmd.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 Michael Brown <mbrown@fensystems.co.uk>.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of the
7  * License, or any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  * 02110-1301, USA.
18  *
19  * You can also choose to distribute this program under the terms of
20  * the Unmodified Binary Distribution Licence (as given in the file
21  * COPYING.UBDL), provided that you have satisfied its requirements.
22  */
23 
24 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
25 
26 /** @file
27  *
28  * Neighbour management commands
29  *
30  */
31 
32 #include <getopt.h>
33 #include <ipxe/parseopt.h>
34 #include <ipxe/command.h>
35 #include <usr/neighmgmt.h>
36 
37 /** "nstat" options */
38 struct nstat_options {};
39 
40 /** "nstat" option list */
41 static struct option_descriptor nstat_opts[] = {};
42 
43 /** "nstat" command descriptor */
45  COMMAND_DESC ( struct nstat_options, nstat_opts, 0, 0, NULL );
46 
47 /**
48  * The "nstat" command
49  *
50  * @v argc Argument count
51  * @v argv Argument list
52  * @ret rc Return status code
53  */
54 static int nstat_exec ( int argc, char **argv ) {
55  struct nstat_options opts;
56  int rc;
57 
58  /* Parse options */
59  if ( ( rc = parse_options ( argc, argv, &nstat_cmd, &opts ) ) != 0)
60  return rc;
61 
62  nstat();
63 
64  return 0;
65 }
66 
67 /** Neighbour management commands */
68 struct command neighbour_commands[] __command = {
69  {
70  .name = "nstat",
71  .exec = nstat_exec,
72  },
73 };
Neighbour management.
struct arbelprm_rc_send_wqe rc
Definition: arbel.h:14
A command-line command.
Definition: command.h:9
static union @424 opts
"cert<xxx>" option list
static int nstat_exec(int argc, char **argv)
The "nstat" command.
Definition: neighbour_cmd.c:54
int parse_options(int argc, char **argv, struct command_descriptor *cmd, void *opts)
Parse command-line options.
Definition: parseopt.c:447
A command descriptor.
Definition: parseopt.h:76
Parse command-line options.
"nstat" options
Definition: neighbour_cmd.c:38
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
Command line option parsing.
static struct option_descriptor nstat_opts[]
"nstat" option list
Definition: neighbour_cmd.c:41
const char * name
Name of the command.
Definition: command.h:11
void nstat(void)
Print neighbour table.
Definition: neighmgmt.c:40
A command-line option descriptor.
Definition: parseopt.h:22
#define COMMAND_DESC(_struct, _options, _min_args, _max_args, _usage)
Construct command descriptor.
Definition: parseopt.h:107
struct command neighbour_commands [] __command
Neighbour management commands.
Definition: neighbour_cmd.c:68
#define NULL
NULL pointer (VOID *)
Definition: Base.h:362
static struct command_descriptor nstat_cmd
"nstat" command descriptor
Definition: neighbour_cmd.c:44