⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cli.h

📁 基于Arm7/9处理器的UCOS代码
💻 H
字号:
/* cli.h:
 * Header file for Command Line Interface related stuff.
 *
 *	General notice:
 *	This code is part of a boot-monitor package developed as a generic base
 *	platform for embedded system designs.  As such, it is likely to be
 *	distributed to various projects beyond the control of the original
 *	author.  Please notify the author of any enhancements made or bugs found
 *	so that all may benefit from the changes.  In addition, notification back
 *	to the author will allow the new user to pick up changes that may have
 *	been made by other users after this version of the code was distributed.
 *
 *	Note1: the majority of this code was edited with 4-space tabs.
 *	Note2: as more and more contributions are accepted, the term "author"
 *		   is becoming a mis-representation of credit.
 *
 *	Original author:	Ed Sutter
 *	Email:				esutter@lucent.com
 *	Phone:				908-582-2351
 */
#ifndef _cli_h
#define _cli_h


#ifdef __cplusplus
extern "C" {
#endif

struct cliextra {
	int (*nextarg)();		/* Function that will print command's next arg. */
};

/* Command table structure used by the monitor:
 */
struct	monCommand {
    char    *name;			/* Name of command seen by user. */
    int	    (*func)();		/* Function called when command is invoked. */
    char    **helptxt;		/* Help text (see notes below). */
    struct	cliextra *clix;	/* Pointer to "extras" that may or may not be */ 
							/* used by a specific command. */
};

#ifdef __cplusplus
}
#endif

/* Maximum size of a command line:
 */
#ifndef CMDLINESIZE
#define CMDLINESIZE	128
#endif

/* Maximum number of arguments in a command line:
 */
#define ARGCNT		24

/* Definitions for docommand() return values:
 *
 * Note that the CMD_SUCCESS, CMD_FAILURE and CMD_PARAM_ERROR are return
 * values used by the local command code also.  The remaining errors
 * (CMD_LINE_ERROR, CMD_ULVL_DENIED and CMD_NOT_FOUND) are used only by
 # the docommand() function.
 *
 *	CMD_SUCCESS:
 *		Everything worked ok.
 *	CMD_FAILURE:
 *		Command parameters were valid, but command itself failed for some other
 *		reason. The docommand() function does not print a message here, it
 *		is assumed that the error message was printed by the local function.
 *	CMD_PARAM_ERROR:
 *		Command line did not parse properly.  Control was passed to a 
 *		local command function, but argument syntax caused it to choke.
 *		In this case docommand() will print out the generic CLI syntax error
 *		message.
 *	CMD_LINE_ERROR:
 *		Command line itself was invalid.  Too many args, invalid shell var
 *		syntax, etc.. Somekind of command line error prior to checking for
 *		the command name-to-function match.
 *	CMD_ULVL_DENIED:
 *		Command's user level is higher than current user level, so access
 *		is denied.
 *	CMD_NOT_FOUND:
 *		Since these same return values are used for each command function
 *		plus the docommand() function, this error indicates that docommand()
 *		could not even find the command in the command table.
 *	CMD_PREFILL:
 *		The final argument of the command line received was '?'.  The
 *		response to this is to ask the specific command for information
 *		about the next argument, so the command responds, the CLI returns
 *		with CMD_PREFILL to tell the getline() function to pre-fill the
 *		new line with the entered string.
 */
#define CMD_SUCCESS			0
#define CMD_FAILURE			-1
#define CMD_PARAM_ERROR		-2
#define CMD_LINE_ERROR		-3
#define CMD_ULVL_DENIED		-4
#define CMD_NOT_FOUND		-5
#define CMD_PREFILL			-6

/* Notes on help text array:
 * The monitor's CLI processor assumes that every command's help text 
 * array abides by a few basic rules...
 * First of all, it assumes that every array has AT LEAST two strings.
 * The first string in the array of strings is assumed to be a one-line
 * abstract describing the command.
 * The second string in the array of strings is assumed to be a usage
 * message that describes the syntax of the arguments needed by the command.
 * If this second string is an empty string (""), the docommand() prints out
 * a generic usage string indicating that there are no options or arguements
 * to apply to the command.
 * All remaining lines are formatted based on the needs of the individual
 * command and the final string is a null pointer to let the CLI processor
 * know where the end is.
 * Following is an example help text array...
 *
 *	char *HelpHelp[] = {
 *			"Display command set",
 *			"-[d] [commandname]",
 *			"Options:",
 *			" -d   list commands and descriptions",
 *			0,
 *	};
 *
 */
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -