Update version to 0.16
[ust.git] / ustctl / cli.h
CommitLineData
0c89df6c
NC
1/* Copyright (C) 2011 Ericsson AB, Nils Carlson <nils.carlson@ericsson.com>
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2.1 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17#ifndef _CLI_H
18#define _CLI_H
19
20struct cli_cmd {
21 const char *name;
22 const char *description;
23 const char *help_text;
24 int (*function)(int, char **);
25 int desired_args;
26 int desired_args_op;
27} __attribute__((aligned(8)));
28
29#define __cli_cmds __attribute__((section("__cli_cmds"), aligned(8), used))
30
31struct cli_cmd *find_cli_cmd(const char *command);
32
33enum cli_list_opts {
34 CLI_SIMPLE_LIST,
35 CLI_DESCRIPTIVE_LIST,
36 CLI_EXTENDED_LIST,
37};
38
39void list_cli_cmds(int option);
40
41int cli_print_help(const char *command);
42
43enum cli_arg_ops {
44 CLI_EQ,
45 CLI_GE,
46};
47
48void cli_dispatch_cmd(struct cli_cmd *cmd, int argc, char *argv[]);
49
50#endif /* _CLI_H */
This page took 0.026361 seconds and 4 git commands to generate.