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
|
|
|