console.h
上传用户:wealth48
上传日期:2022-06-24
资源大小:1701k
文件大小:2k
源码类别:

uCOS

开发平台:

C/C++

  1. /***************************************************************************
  2. Copyright (c) 2004-2007 threewater@up-tech.com, All rights reserved.
  3. by threewter 2004.4.26
  4. ***************************************************************************/
  5. /***************************************************************************
  6.     #说明: 控制台函数定义
  7. ----------------------------------  Bug  --------------------------------------
  8. ----------------------------------  TODO list  --------------------------------------
  9. ----------------------------------修正--------------------------------------
  10. 2004-5-2 创建
  11. ***************************************************************************/
  12. #ifndef __CONSOLE_H__
  13. #define __CONSOLE_H__
  14. typedef int (*cmd_func_t)(int, char *[]);
  15. typedef struct {
  16. cmd_func_t func;
  17. char *pShellMenu; //shell模式下显示的菜单字符串,如果为NULL,则不出现在系统菜单里
  18. char MenuAcc; //shell模式下菜单快捷键 ,大小写不敏感
  19. char *pCommand; //命令行模式下的命令,如果为NULL,则不出现在命令行中
  20. char *pHelp; //命令行模式下的帮助
  21. }cmd_function;
  22. #define MAX_COMMANDLINE_LENGTH 256
  23. #define MAX_ARGS (MAX_COMMANDLINE_LENGTH / 4)
  24. #define MAX_COMMANDNAME_LENGTH 256/4
  25. #define MAX_COMMANDTYPE_LENGTH 128
  26. #define ENOERROR 0 /* no error at all */
  27. #ifndef EINVAL
  28. #define EINVAL 1 /* invalid argument */
  29. #endif
  30. #define ENOPARAMS 2 /* not enough parameters */
  31. #define EMAGIC 3 /* magic value failed */
  32. #define ECOMMAND 4 /* invalid command */
  33. #define ENAN 5 /* not a number */
  34. #define EALIGN 6 /* addres not aligned */
  35. #define ERANGE 7 /* out of range */
  36. #define ETIMEOUT 8 /* timeout exceeded */
  37. #define ETOOSHORT 9 /* short CNCFILE */
  38. #define ETOOLONG 10 /* long CNCFILE */
  39. #define EAMBIGCMD 11 /* ambiguous command */
  40. #define EFLASHERASE 12 /* can't erase flash block */
  41. #define EFLASHPGM 13 /* flash program error */
  42. #define ESERIAL 14 /* serial port error */
  43. void Shell_input(void);
  44. int Console_input(int argc, char *argv[]);
  45. int GetCommand(char *command, int len);
  46. int parse_command(char *cmdline);
  47. void init_commands(void);
  48. int get_num_command_matches(char *cmdline);
  49. void parse_args(char *cmdline, int *argc, char **argv);
  50. int echo_callback(int argc, char *argv[]);
  51. int help_callback(int argc, char *argv[]);
  52. #endif