RTEMS
5.2
Toggle main menu visibility
Main Page
Related Pages
Modules
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
Typedefs
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
u
v
w
x
Enumerations
a
b
c
e
h
i
l
m
o
p
q
r
s
t
w
Enumerator
a
c
d
h
i
l
m
p
r
s
t
w
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
bsps
include
umon
cli.h
Go to the documentation of this file.
1
9
/* Based upon code from MicroMonitor 1.17 from http://www.umonfw.com/
10
* which includes this notice:
11
*
12
**************************************************************************
13
* General notice:
14
* This code is part of a boot-monitor package developed as a generic base
15
* platform for embedded system designs. As such, it is likely to be
16
* distributed to various projects beyond the control of the original
17
* author. Please notify the author of any enhancements made or bugs found
18
* so that all may benefit from the changes. In addition, notification back
19
* to the author will allow the new user to pick up changes that may have
20
* been made by other users after this version of the code was distributed.
21
*
22
* Note1: the majority of this code was edited with 4-space tabs.
23
* Note2: as more and more contributions are accepted, the term "author"
24
* is becoming a mis-representation of credit.
25
*
26
* Original author: Ed Sutter
27
* Email: esutter@alcatel-lucent.com
28
* Phone: 908-582-2351
29
**************************************************************************
30
*
31
* Ed Sutter has been informed that this code is being used in RTEMS.
32
*
33
* This code was reformatted by Joel Sherrill from OAR Corporation and
34
* Fernando Nicodemos <fgnicodemos@terra.com.br> from NCB - Sistemas
35
* Embarcados Ltda. (Brazil) to be more compliant with RTEMS coding
36
* standards and to eliminate C++ style comments.
37
*/
38
39
#ifndef _cli_h
40
#define _cli_h
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
54
struct
monCommand
{
55
char
*name;
/* Name of command seen by user. */
56
int (*func)(int,
char
**);
/* Called when command is invoked. */
57
char
**helptxt;
/* Help text (see notes below). */
58
long
flags;
/* Single-bit flags for various uses */
59
/* (see the CMDFLAG_XXX macros). */
60
};
61
62
#ifdef __cplusplus
63
}
64
#endif
65
66
/* Bits currently assigned to command flags used in the monCommand
67
* structure...
68
*/
69
#define CMDFLAG_NOMONRC 1
70
71
/* Maximum size of a command line:
72
*/
73
#ifndef CMDLINESIZE
74
#define CMDLINESIZE 128
75
#endif
76
77
/* Maximum number of arguments in a command line:
78
*/
79
#define ARGCNT 24
80
81
/* Definitions for docommand() return values:
82
*
83
* Note that the CMD_SUCCESS, CMD_FAILURE and CMD_PARAM_ERROR are return
84
* values used by the local command code also. The remaining errors
85
* (CMD_LINE_ERROR, CMD_ULVL_DENIED and CMD_NOT_FOUND) are used only by
86
# the docommand() function.
87
*
88
* CMD_SUCCESS:
89
* Everything worked ok.
90
* CMD_FAILURE:
91
* Command parameters were valid, but command itself failed for some other
92
* reason. The docommand() function does not print a message here, it
93
* is assumed that the error message was printed by the local function.
94
* CMD_PARAM_ERROR:
95
* Command line did not parse properly. Control was passed to a
96
* local command function, but argument syntax caused it to choke.
97
* In this case docommand() will print out the generic CLI syntax error
98
* message.
99
* CMD_LINE_ERROR:
100
* Command line itself was invalid. Too many args, invalid shell var
101
* syntax, etc.. Somekind of command line error prior to checking for
102
* the command name-to-function match.
103
* CMD_ULVL_DENIED:
104
* Command's user level is higher than current user level, so access
105
* is denied.
106
* CMD_NOT_FOUND:
107
* Since these same return values are used for each command function
108
* plus the docommand() function, this error indicates that docommand()
109
* could not even find the command in the command table.
110
* CMD_MONRC_DENIED:
111
* The command cannot execute because it is considered illegal
112
* when run from within the monrc file.
113
*/
114
#define CMD_SUCCESS 0
115
#define CMD_FAILURE -1
116
#define CMD_PARAM_ERROR -2
117
#define CMD_LINE_ERROR -3
118
#define CMD_ULVL_DENIED -4
119
#define CMD_NOT_FOUND -5
120
#define CMD_MONRC_DENIED -6
121
122
/* Notes on help text array:
123
* The monitor's CLI processor assumes that every command's help text
124
* array abides by a few basic rules...
125
* First of all, it assumes that every array has AT LEAST two strings.
126
* The first string in the array of strings is assumed to be a one-line
127
* abstract describing the command.
128
* The second string in the array of strings is assumed to be a usage
129
* message that describes the syntax of the arguments needed by the command.
130
* If this second string is an empty string (""), the docommand() prints out
131
* a generic usage string indicating that there are no options or arguements
132
* to apply to the command.
133
* All remaining lines are formatted based on the needs of the individual
134
* command and the final string is a null pointer to let the CLI processor
135
* know where the end is.
136
* Following is an example help text array...
137
*
138
* char *HelpHelp[] = {
139
* "Display command set",
140
* "-[d] [commandname]",
141
* "Options:",
142
* " -d list commands and descriptions",
143
* 0,
144
* };
145
*
146
*/
147
#endif
monCommand
Definition:
cli.h:54
Generated by
1.9.4