-typedef command_ret_t (*do_cmd_t)(cmd_tbl_t *, int, int, char * const []);
+#define CMD_TBL_ITEM(_name, _maxargs, _rep, _cmd, _usage, _help) \
+ CMD_TBL_ITEM_FULL(_name, _maxargs, _rep, _cmd, \
+ _usage, _help, NULL, NULL)
+
+#define CMD_TBL_ITEM_TOP(_name, _maxargs, _rep, _cmd, _usage, _help, _subtbl) \
+ CMD_TBL_ITEM_FULL(_name, _maxargs, _rep, _cmd, \
+ _usage, _help, _subtbl, NULL)
+
+#define CMD_TBL_END(_table_start) { .subcmd = _table_start }
+
+typedef command_ret_t (*do_cmd_t)(cmd_tbl_t *, uint_fast8_t, int, char * const []);