51 lines
		
	
	
		
			920 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			920 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef commend_h__
 | |
| #define commend_h__
 | |
| 
 | |
| 
 | |
| #include "list.h"
 | |
| #include "bytearray.h"
 | |
| #include "signal.h"
 | |
| 
 | |
| 
 | |
| // 执行命令函数不能调用延时函数
 | |
| typedef int (*cmd_fun_def)(list_def *argv /* str */);
 | |
| 
 | |
| 
 | |
| 
 | |
| typedef struct{
 | |
|   const char *name;
 | |
|   const char *help;
 | |
|   cmd_fun_def fun;
 | |
| }commend_def;
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| #define commend_export(name_,fun_,help_) \
 | |
|   const static char __cmd_##name_##_name[] SECTION(".rodata.cmdstr") = #name_; \
 | |
|   const static char __cmd_##name_##_help[] SECTION(".rodata.cmdstr") = help_; \
 | |
|   RT_USED static commend_def _cmd_##name_ SECTION("cmdstruct")= \
 | |
|   {\
 | |
|     .name=__cmd_##name_##_name,\
 | |
|     .help=__cmd_##name_##_help,\
 | |
|     .fun=fun_,\
 | |
|   };
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| int cmd_print(const char *fmt,...);
 | |
| 
 | |
| int cmd_printf(const char *fmt,...);
 | |
| 
 | |
|   
 | |
| signal cmd_reply_signal(void *obj,uint8_t cmd,array_def *data);
 | |
| 
 | |
| void cmd_recv_slot(void *obj,const char *codec_name,uint8_t cmd,array_def *data,char *err_str);  
 | |
| 
 | |
| 
 | |
| 
 | |
| #endif
 | |
| 
 | 
