*/
#include "cmd_fat.h"
-#include "common.h"
-#include <string.h>
-#include <stdbool.h>
-#include "command.h"
#include "ff.h"
#include "z80-if.h"
#include "eval_arg.h"
* fatstat path - Show logical drive status
*
*/
-command_ret_t do_stat(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_stat(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
FATFS *fs;
DWORD nfreeclst;
* pwd - Print current directory of the current drive.
*
*/
-command_ret_t do_pwd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_pwd(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
FRESULT res;
char *buf;
* cd - Change the current/working directory.
*
*/
-command_ret_t do_cd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_cd(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
char *arg;
FRESULT res = 0;
* fatls path - Directory listing
*
*/
-command_ret_t do_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_ls(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
FATFS *fs;
DIR Dir; /* Directory object */
* read <d:/path/filename> <addr> [bytes [pos]]
* write <d:/path/filename> <addr> <bytes>
*/
-command_ret_t do_rw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_rw(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
FIL File;
uint32_t addr;
unsigned long pos;
unsigned long bytes_rw;
- bool dowrite = (argv[0][3] == 'w');
+ bool dowrite = (argv[0][0] == 'w');
FRESULT res = FR_OK;
bool buserr = 0;
uint32_t timer;
}
-static
-command_ret_t do_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
-
-cmd_tbl_t cmd_fat_sub[] = {
+cmd_tbl_t cmd_tbl_fat[] = {
CMD_TBL_ITEM(
- stat, 2, 1, do_stat,
+ stat, 2, CTBL_REPEAT, do_stat,
"Show logical drive status",
"dev"
),
CMD_TBL_ITEM(
- pwd, 2, 1, do_pwd,
+ pwd, 2, CTBL_REPEAT, do_pwd,
"Print name of current/working directory",
""
),
CMD_TBL_ITEM(
- cd, 2, 1, do_cd,
+ cd, 2, CTBL_REPEAT, do_cd,
"Change the current/working directory.",
"path"
),
CMD_TBL_ITEM(
- ls, 2, 1, do_ls,
+ ls, 2, CTBL_REPEAT, do_ls,
"Directory listing",
"path"
),
),
CMD_TBL_ITEM(
- help, CONFIG_SYS_MAXARGS, 1, do_help,
+ help, CONFIG_SYS_MAXARGS, CTBL_REPEAT, do_help,
"Print sub command description/usage",
"\n"
" - print brief description of all sub commands\n"
#ifdef CONFIG_SYS_LONGHELP
FSTR(""),
#endif /* CONFIG_SYS_LONGHELP */
+ NULL,
#ifdef CONFIG_AUTO_COMPLETE
- 0,
+ NULL,
#endif
},
+/* Mark end of table */
+CMD_TBL_END(cmd_tbl_fat)
};
-static
-command_ret_t do_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
- return _do_help(cmd_fat_sub, ARRAY_SIZE(cmd_fat_sub), cmdtp, flag, argc, argv);
-}
-
-command_ret_t do_fat(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_fat(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
- cmd_tbl_t *cp;
-
- if (argc < 2)
- return CMD_RET_USAGE;
-
- /* drop initial "fat" arg */
- argc--;
- argv++;
-
- cp = find_cmd_tbl(argv[0], cmd_fat_sub, ARRAY_SIZE(cmd_fat_sub));
-
- if (cp)
- return cp->cmd(cmdtp, flag, argc, argv);
+ puts_P(PSTR("Huch?"));
return CMD_RET_USAGE;
}