From c05b2053904dbcef44a000230860b56586c87a71 Mon Sep 17 00:00:00 2001 From: Grissiom Date: Sat, 31 Aug 2013 17:58:34 +0800 Subject: [PATCH] finsh: use alias in the variable definition With this patch, one could define two alias for the same function like: FINSH_FUNCTION_EXPORT_ALIAS(rt_hw_cpu_reset, reboot, reboot the cpu); FINSH_FUNCTION_EXPORT_ALIAS(rt_hw_cpu_reset, __cmd_reboot, reboot the cpu); Suitable for being used in MSH/Finsh. --- components/finsh/finsh.h | 47 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/components/finsh/finsh.h b/components/finsh/finsh.h index 99851e8d36..c93986de6e 100644 --- a/components/finsh/finsh.h +++ b/components/finsh/finsh.h @@ -237,33 +237,34 @@ struct finsh_sysvar* finsh_sysvar_lookup(const char* name); */ #ifdef _MSC_VER #define FINSH_FUNCTION_EXPORT_ALIAS(name, alias, desc) \ - const char __fsym_##name##_name[] = #alias; \ - const char __fsym_##name##_desc[] = #desc; \ - __declspec(allocate("FSymTab$f")) const struct finsh_syscall __fsym_##name = \ + const char __fsym_##alias##_name[] = #alias; \ + const char __fsym_##alias##_desc[] = #desc; \ + __declspec(allocate("FSymTab$f")) \ + const struct finsh_syscall __fsym_##alias = \ { \ - __fsym_##name##_name, \ - __fsym_##name##_desc, \ + __fsym_##alias##_name, \ + __fsym_##alias##_desc, \ (syscall_func)&name \ }; #elif defined(__TI_COMPILER_VERSION__) #define FINSH_FUNCTION_EXPORT_ALIAS(name, alias, desc) \ - __TI_FINSH_EXPORT_FUNCTION(__fsym_##name); \ - const char __fsym_##name##_name[] = #alias; \ - const char __fsym_##name##_desc[] = #desc; \ - const struct finsh_syscall __fsym_##name = \ + __TI_FINSH_EXPORT_FUNCTION(__fsym_##alias); \ + const char __fsym_##alias##_name[] = #alias; \ + const char __fsym_##alias##_desc[] = #desc; \ + const struct finsh_syscall __fsym_##alias = \ { \ - __fsym_##name##_name, \ - __fsym_##name##_desc, \ + __fsym_##alias##_name, \ + __fsym_##alias##_desc, \ (syscall_func)&name \ }; #else #define FINSH_FUNCTION_EXPORT_ALIAS(name, alias, desc) \ - const char __fsym_##name##_name[] = #alias; \ - const char __fsym_##name##_desc[] = #desc; \ - const struct finsh_syscall __fsym_##name SECTION("FSymTab")= \ + const char __fsym_##alias##_name[] = #alias; \ + const char __fsym_##alias##_desc[] = #desc; \ + const struct finsh_syscall __fsym_##alias SECTION("FSymTab")= \ { \ - __fsym_##name##_name, \ - __fsym_##name##_desc, \ + __fsym_##alias##_name, \ + __fsym_##alias##_desc, \ (syscall_func)&name \ }; #endif /* FINSH_FUNCTION_EXPORT_ALIAS defines */ @@ -324,11 +325,11 @@ struct finsh_sysvar* finsh_sysvar_lookup(const char* name); (syscall_func)&name \ }; #define FINSH_FUNCTION_EXPORT_ALIAS(name, alias, desc) \ - const char __fsym_##name##_name[] = #alias; \ - __TI_FINSH_EXPORT_FUNCTION(__fsym_##name); \ - const struct finsh_syscall __fsym_##name = \ + const char __fsym_##alias##_name[] = #alias; \ + __TI_FINSH_EXPORT_FUNCTION(__fsym_##alias); \ + const struct finsh_syscall __fsym_##alias = \ { \ - __fsym_##name##_name, \ + __fsym_##alias##_name, \ (syscall_func)&name \ }; @@ -351,10 +352,10 @@ struct finsh_sysvar* finsh_sysvar_lookup(const char* name); }; #define FINSH_FUNCTION_EXPORT_ALIAS(name, alias, desc) \ - const char __fsym_##name##_name[] = #alias; \ - const struct finsh_syscall __fsym_##name SECTION("FSymTab")= \ + const char __fsym_##alias##_name[] = #alias; \ + const struct finsh_syscall __fsym_##alias SECTION("FSymTab")= \ { \ - __fsym_##name##_name, \ + __fsym_##alias##_name, \ (syscall_func)&name \ }; -- GitLab