123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #ifndef __OSSHELL_H
- #define __OSSHELL_H
- #include <stdint.h>
- #include <stddef.h>
- #include <link_log.h>
- #if CONFIG_SHELL_ENABLE
- enum en_os_shell_type
- {
- EN_OSSHELL_CMD = 0,
- EN_OSSHELL_VAR,
- EN_OSSHELL_LAST,
- };
- #define BUILD_VAR_NAME(A,B) A##B
- #define MAX_TAB_MATCHES 16
- struct shell_tab_matches
- {
- const char *matches[MAX_TAB_MATCHES];
- unsigned short len;
- };
- struct shell_item_t
- {
- const char *name;
- const char *help;
- void *addr;
- unsigned short type;
- unsigned short len;
- };
- #define OSSHELL_EXPORT_CMD(cmdentry,cmdname,cmdhelp) \
- static const struct shell_item_t BUILD_VAR_NAME(__oshell_,cmdentry) __attribute__((used,section("oshell")))= \
- { \
- .name=cmdname, \
- .help=cmdhelp, \
- .addr=(void *)&cmdentry, \
- .type=EN_OSSHELL_CMD, \
- .len = sizeof(void *), \
- }
- #define OSSHELL_EXPORT_VAR(var,varname,varhelp) \
- static const struct shell_item_t BUILD_VAR_NAME(__oshell_,var) __attribute__((used,section("oshell")))= \
- { \
- .name=varname, \
- .help=varhelp, \
- .addr=(void *)&var, \
- .type=EN_OSSHELL_VAR, \
- .len =sizeof(var), \
- }
-
- void shell_init(void);
- #else
- #define OSSHELL_EXPORT_CMD(cmdentry,cmdname,cmdhelp)
- #define OSSHELL_EXPORT_VAR(var,varname,varhelp)
- #define shell_init()
- #endif //end for the shell_config
- #endif /* __OSSHELL_H */
|