22 lines
680 B
C
Executable File
22 lines
680 B
C
Executable File
#ifndef _VOS_SXCMD_H_
|
|
#define _VOS_SXCMD_H_
|
|
|
|
typedef BOOL (*SX_CMD)(unsigned char argc, char **argv); ///< Command handler function prototype
|
|
typedef struct _SX_CMD_ENTRY {
|
|
CHAR *p_name; ///< command's module name
|
|
SX_CMD p_func; ///< command table
|
|
CHAR *p_desc;
|
|
}
|
|
SX_CMD_ENTRY;
|
|
|
|
#define SXCMD_BEGIN(tbl, desc) SX_CMD_ENTRY (tbl)[] = { {#tbl, 0, desc}, ///< begin a command table
|
|
#define SXCMD_ITEM(cmd, func, desc) { (cmd), (func), (desc) }, ///< insert a command item in command table
|
|
#define SXCMD_END() {0, 0, NULL} }; ///< end a command table
|
|
|
|
#define SXCMD_NUM(tbl) (sizeof(tbl)/sizeof(SX_CMD_ENTRY)-2)
|
|
|
|
#define sxcmd_addtable(arg...)
|
|
|
|
#endif//_VOS_SXCMD_H_
|
|
|