shell_ext.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * @file shell_ext.h
  3. * @author Letter (NevermindZZT@gmail.com)
  4. * @brief shell extensions
  5. * @version 3.0.0
  6. * @date 2019-12-31
  7. *
  8. * @copyright (c) 2019 Letter
  9. *
  10. */
  11. #ifndef __SHELL_EXT_H__
  12. #define __SHELL_EXT_H__
  13. #include "shell.h"
  14. /**
  15. * @brief 数字类型
  16. *
  17. */
  18. typedef enum
  19. {
  20. NUM_TYPE_DEC, /**< 十进制整型 */
  21. NUM_TYPE_BIN, /**< 二进制整型 */
  22. NUM_TYPE_OCT, /**< 八进制整型 */
  23. NUM_TYPE_HEX, /**< 十六进制整型 */
  24. NUM_TYPE_FLOAT /**< 浮点型 */
  25. } ShellNumType;
  26. #if SHELL_SUPPORT_ARRAY_PARAM == 1
  27. typedef struct
  28. {
  29. unsigned short size;
  30. unsigned char elementBytes;
  31. } ShellArrayHeader;
  32. #endif /** SHELL_SUPPORT_ARRAY_PARAM == 1 */
  33. int shellExtParsePara(Shell *shell, char *string, char *type, size_t *result);
  34. #if SHELL_USING_FUNC_SIGNATURE == 1
  35. int shellExtCleanerPara(Shell *shell, char *type, size_t param);
  36. #endif /** SHELL_USING_FUNC_SIGNATURE == 1 */
  37. #if SHELL_SUPPORT_ARRAY_PARAM == 1
  38. int shellGetArrayParamSize(void *param);
  39. #endif /** SHELL_SUPPORT_ARRAY_PARAM == 1 */
  40. int shellExtRun(Shell *shell, ShellCommand *command, int argc, char *argv[]);
  41. #endif