| #include <common.h> | |
| #include <config.h> | |
| #include <command.h> | |
| #ifdef YAFFS2_DEBUG | |
| #define PRINTF(fmt,args...) printf (fmt ,##args) | |
| #else | |
| #define PRINTF(fmt,args...) | |
| #endif | |
| extern void cmd_yaffs_mount(char *mp); | |
| extern void cmd_yaffs_umount(char *mp); | |
| extern void cmd_yaffs_read_file(char *fn); | |
| extern void cmd_yaffs_write_file(char *fn,char bval,int sizeOfFile); | |
| extern void cmd_yaffs_ls(const char *mountpt, int longlist); | |
| extern void cmd_yaffs_mwrite_file(char *fn, char *addr, int size); | |
| extern void cmd_yaffs_mread_file(char *fn, char *addr); | |
| extern void cmd_yaffs_mkdir(const char *dir); | |
| extern void cmd_yaffs_rmdir(const char *dir); | |
| extern void cmd_yaffs_rm(const char *path); | |
| extern void cmd_yaffs_mv(const char *oldPath, const char *newPath); | |
| extern int yaffs_DumpDevStruct(const char *path); | |
| int do_ymount (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *mtpoint = argv[1]; | |
| cmd_yaffs_mount(mtpoint); | |
| return(0); | |
| } | |
| int do_yumount (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *mtpoint = argv[1]; | |
| cmd_yaffs_umount(mtpoint); | |
| return(0); | |
| } | |
| int do_yls (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *dirname = argv[argc-1]; | |
| cmd_yaffs_ls(dirname, (argc>2)?1:0); | |
| return(0); | |
| } | |
| int do_yrd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *filename = argv[1]; | |
| printf ("Reading file %s ", filename); | |
| cmd_yaffs_read_file(filename); | |
| printf ("done\n"); | |
| return(0); | |
| } | |
| int do_ywr (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *filename = argv[1]; | |
| ulong value = simple_strtoul(argv[2], NULL, 16); | |
| ulong numValues = simple_strtoul(argv[3], NULL, 16); | |
| printf ("Writing value (%x) %x times to %s... ", value, numValues, filename); | |
| cmd_yaffs_write_file(filename,value,numValues); | |
| printf ("done\n"); | |
| return(0); | |
| } | |
| int do_yrdm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *filename = argv[1]; | |
| ulong addr = simple_strtoul(argv[2], NULL, 16); | |
| cmd_yaffs_mread_file(filename, (char *)addr); | |
| return(0); | |
| } | |
| int do_ywrm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *filename = argv[1]; | |
| ulong addr = simple_strtoul(argv[2], NULL, 16); | |
| ulong size = simple_strtoul(argv[3], NULL, 16); | |
| cmd_yaffs_mwrite_file(filename, (char *)addr, size); | |
| return(0); | |
| } | |
| int do_ymkdir (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *dirname = argv[1]; | |
| cmd_yaffs_mkdir(dirname); | |
| return(0); | |
| } | |
| int do_yrmdir (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *dirname = argv[1]; | |
| cmd_yaffs_rmdir(dirname); | |
| return(0); | |
| } | |
| int do_yrm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *path = argv[1]; | |
| cmd_yaffs_rm(path); | |
| return(0); | |
| } | |
| int do_ymv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *oldPath = argv[1]; | |
| char *newPath = argv[2]; | |
| cmd_yaffs_mv(newPath, oldPath); | |
| return(0); | |
| } | |
| int do_ydump (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) | |
| { | |
| char *dirname = argv[1]; | |
| if (yaffs_DumpDevStruct(dirname) != 0) | |
| printf("yaffs_DumpDevStruct returning error when dumping path: , %s\n", dirname); | |
| return 0; | |
| } | |
| U_BOOT_CMD( | |
| ymount, 3, 0, do_ymount, | |
| "ymount\t- mount yaffs\n", | |
| "\n" | |
| ); | |
| U_BOOT_CMD( | |
| yumount, 3, 0, do_yumount, | |
| "yumount\t- unmount yaffs\n", | |
| "\n" | |
| ); | |
| U_BOOT_CMD( | |
| yls, 4, 0, do_yls, | |
| "yls\t- yaffs ls\n", | |
| "[-l] name\n" | |
| ); | |
| U_BOOT_CMD( | |
| yrd, 2, 0, do_yrd, | |
| "yrd\t- read file from yaffs\n", | |
| "filename\n" | |
| ); | |
| U_BOOT_CMD( | |
| ywr, 4, 0, do_ywr, | |
| "ywr\t- write file to yaffs\n", | |
| "filename value num_vlues\n" | |
| ); | |
| U_BOOT_CMD( | |
| yrdm, 3, 0, do_yrdm, | |
| "yrdm\t- read file to memory from yaffs\n", | |
| "filename offset\n" | |
| ); | |
| U_BOOT_CMD( | |
| ywrm, 4, 0, do_ywrm, | |
| "ywrm\t- write file from memory to yaffs\n", | |
| "filename offset size\n" | |
| ); | |
| U_BOOT_CMD( | |
| ymkdir, 2, 0, do_ymkdir, | |
| "ymkdir\t- YAFFS mkdir\n", | |
| "dirname\n" | |
| ); | |
| U_BOOT_CMD( | |
| yrmdir, 2, 0, do_yrmdir, | |
| "yrmdir\t- YAFFS rmdir\n", | |
| "dirname\n" | |
| ); | |
| U_BOOT_CMD( | |
| yrm, 2, 0, do_yrm, | |
| "yrm\t- YAFFS rm\n", | |
| "path\n" | |
| ); | |
| U_BOOT_CMD( | |
| ymv, 4, 0, do_ymv, | |
| "ymv\t- YAFFS mv\n", | |
| "oldPath newPath\n" | |
| ); | |
| U_BOOT_CMD( | |
| ydump, 2, 0, do_ydump, | |
| "ydump\t- YAFFS device struct\n", | |
| "dirname\n" | |
| ); |