More shell file management commands.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15428 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
8ed8c6122e
commit
c110d0e482
|
@ -408,6 +408,20 @@ static void cmd_mkdir(BaseSequentialStream *chp, int argc, char *argv[]) {
|
|||
}
|
||||
}
|
||||
|
||||
static void cmd_mv(BaseSequentialStream *chp, int argc, char *argv[]) {
|
||||
msg_t ret;
|
||||
|
||||
if (argc != 2) {
|
||||
chprintf(chp, "Usage: mv <oldpath> <newpath>" SHELL_NEWLINE_STR);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = vfsRename(argv[0], argv[1]);
|
||||
if (CH_RET_IS_ERROR(ret)) {
|
||||
chprintf(chp, "Failed (%d)" SHELL_NEWLINE_STR, ret);
|
||||
}
|
||||
}
|
||||
|
||||
static void cmd_pwd(BaseSequentialStream *chp, int argc, char *argv[]) {
|
||||
char *buf = NULL;
|
||||
|
||||
|
@ -442,6 +456,20 @@ static void cmd_pwd(BaseSequentialStream *chp, int argc, char *argv[]) {
|
|||
}
|
||||
}
|
||||
|
||||
static void cmd_rm(BaseSequentialStream *chp, int argc, char *argv[]) {
|
||||
msg_t ret;
|
||||
|
||||
if (argc != 1) {
|
||||
chprintf(chp, "Usage: rm <filepath>" SHELL_NEWLINE_STR);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = vfsUnlink(argv[0]);
|
||||
if (CH_RET_IS_ERROR(ret)) {
|
||||
chprintf(chp, "Failed (%d)" SHELL_NEWLINE_STR, ret);
|
||||
}
|
||||
}
|
||||
|
||||
static void cmd_rmdir(BaseSequentialStream *chp, int argc, char *argv[]) {
|
||||
msg_t ret;
|
||||
|
||||
|
@ -488,7 +516,9 @@ const ShellCommand shell_local_commands[] = {
|
|||
{"cd", cmd_cd},
|
||||
{"ls", cmd_ls},
|
||||
{"mkdir", cmd_mkdir},
|
||||
{"mv", cmd_mv},
|
||||
{"pwd", cmd_pwd},
|
||||
{"rm", cmd_rm},
|
||||
{"rmdir", cmd_rmdir},
|
||||
{"tree", cmd_tree},
|
||||
#endif
|
||||
|
|
|
@ -120,6 +120,7 @@ static msg_t drv_open_file(void *instance,
|
|||
int flags,
|
||||
vfs_file_node_c **vfnpp);
|
||||
msg_t drv_unlink(void *instance, const char *path);
|
||||
msg_t drv_rename(void *instance, const char *oldpath, const char *newpath);
|
||||
msg_t drv_mkdir(void *instance, const char *path);
|
||||
msg_t drv_rmdir(void *instance, const char *path);
|
||||
|
||||
|
@ -129,7 +130,7 @@ static const struct vfs_fatfs_driver_vmt driver_vmt = {
|
|||
.open_dir = drv_open_dir,
|
||||
.open_file = drv_open_file,
|
||||
.unlink = drv_unlink,
|
||||
.rename = drv_rename_unimpl,
|
||||
.rename = drv_rename,
|
||||
.mkdir = drv_mkdir,
|
||||
.rmdir = drv_rmdir
|
||||
};
|
||||
|
@ -437,6 +438,13 @@ msg_t drv_unlink(void *instance, const char *path) {
|
|||
return translate_error(f_unlink(path));
|
||||
}
|
||||
|
||||
msg_t drv_rename(void *instance, const char *oldpath, const char *newpath) {
|
||||
|
||||
(void)instance;
|
||||
|
||||
return translate_error(f_rename(oldpath, newpath));
|
||||
}
|
||||
|
||||
msg_t drv_mkdir(void *instance, const char *path) {
|
||||
|
||||
(void)instance;
|
||||
|
|
Loading…
Reference in New Issue