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

📄 cli.h

📁 完整的Bell实验室的嵌入式文件系统TFS
💻 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 __cplusplusextern "C" {#endifstruct 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: */#define CMDLINESIZE 128/* 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 + -