From 75ec13c73ed67f9cc730f94db76e8723d85d0e4b Mon Sep 17 00:00:00 2001 From: patacongo Date: Sun, 10 Aug 2008 18:42:55 +0000 Subject: [PATCH] Added mkfatfs command to NSH git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@811 42af7a65-404d-4744-a932-0658087f49c3 --- ChangeLog | 3 +++ Documentation/NuttX.html | 2 ++ examples/nsh/nsh.h | 1 + examples/nsh/nsh_fscmds.c | 25 +++++++++++++++++++++---- examples/nsh/nsh_main.c | 35 ++++++++++++++++++----------------- 5 files changed, 45 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9a0107c66ed..e2081192aff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -393,3 +393,6 @@ basic mkfatfs functionality for FAT12. 0.3.13 2008-xx-xx Gregory Nutt + + * Added mkfatfs command to NSH + diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 3ad82701fc3..1f6993e4d8d 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -1028,6 +1028,8 @@ buildroot-0.1.0 2007-03-09 <spudmonkey@racsa.co.cr>
    nuttx-0.3.13 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> + * Added mkfatfs command to NSH + pascal-0.1.3 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> buildroot-0.1.1 2008-xx-xx <spudmonkey@racsa.co.cr> diff --git a/examples/nsh/nsh.h b/examples/nsh/nsh.h index 71d5d510089..d6fdcb2976b 100644 --- a/examples/nsh/nsh.h +++ b/examples/nsh/nsh.h @@ -129,6 +129,7 @@ extern void cmd_ls(FAR void *handle, int argc, char **argv); #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 extern void cmd_mkdir(FAR void *handle, int argc, char **argv); #ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */ +extern void cmd_mkfatfs(FAR void *handle, int argc, char **argv); extern void cmd_mount(FAR void *handle, int argc, char **argv); #endif #endif diff --git a/examples/nsh/nsh_fscmds.c b/examples/nsh/nsh_fscmds.c index 84c36b8fd4f..a1f8c2ee539 100644 --- a/examples/nsh/nsh_fscmds.c +++ b/examples/nsh/nsh_fscmds.c @@ -43,11 +43,12 @@ #if CONFIG_NFILE_DESCRIPTORS > 0 # include # include +# if !defined(CONFIG_DISABLE_MOUNTPOINT) +# ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */ +# include +# include +# endif #endif -#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 -# ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */ -# include -# endif #endif #include @@ -633,6 +634,22 @@ void cmd_mkdir(FAR void *handle, int argc, char **argv) } #endif +/**************************************************************************** + * Name: cmd_mkfatfs + ****************************************************************************/ + +#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_FS_FAT) +void cmd_mkfatfs(FAR void *handle, int argc, char **argv) +{ + struct fat_format_s fmt = FAT_FORMAT_INITIALIZER; + int result = mkfatfs(argv[1], &fmt); + if ( result < 0) + { + nsh_output(handle, g_fmtcmdfailed, argv[0], "mkfatfs", NSH_ERRNO); + } +} +#endif + /**************************************************************************** * Name: cmd_mount ****************************************************************************/ diff --git a/examples/nsh/nsh_main.c b/examples/nsh/nsh_main.c index 204ff34797c..242db6872d6 100644 --- a/examples/nsh/nsh_main.c +++ b/examples/nsh/nsh_main.c @@ -81,44 +81,45 @@ static const char delim[] = " \t\n"; static const struct cmdmap_s g_cmdmap[] = { #if CONFIG_NFILE_DESCRIPTORS > 0 - { "cat", cmd_cat, 2, 2, "" }, - { "cp", cmd_cp, 3, 3, " " }, + { "cat", cmd_cat, 2, 2, "" }, + { "cp", cmd_cp, 3, 3, " " }, #endif #ifndef CONFIG_DISABLE_ENVIRON - { "echo", cmd_echo, 0, NSH_MAX_ARGUMENTS, "[ [...]]" }, + { "echo", cmd_echo, 0, NSH_MAX_ARGUMENTS, "[ [...]]" }, #else - { "echo", cmd_echo, 0, NSH_MAX_ARGUMENTS, "[ [...]]" }, + { "echo", cmd_echo, 0, NSH_MAX_ARGUMENTS, "[ [...]]" }, #endif - { "exec", cmd_exec, 2, 3, "" }, - { "exit", cmd_exit, 1, 1, NULL }, - { "help", cmd_help, 1, 1, NULL }, + { "exec", cmd_exec, 2, 3, "" }, + { "exit", cmd_exit, 1, 1, NULL }, + { "help", cmd_help, 1, 1, NULL }, #if defined(CONFIG_NET) && CONFIG_NSOCKET_DESCRIPTORS > 0 { "ifconfig", cmd_ifconfig, 1, 1, NULL }, #endif #if CONFIG_NFILE_DESCRIPTORS > 0 - { "ls", cmd_ls, 2, 5, "[-lRs] " }, + { "ls", cmd_ls, 2, 5, "[-lRs] " }, #endif #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 - { "mkdir", cmd_mkdir, 2, 2, "" }, + { "mkdir", cmd_mkdir, 2, 2, "" }, #ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */ - { "mount", cmd_mount, 4, 5, "-t " }, + { "mkfatfs", cmd_mkfatfs, 2, 2, "" }, + { "mount", cmd_mount, 4, 5, "-t " }, #endif #endif - { "ps", cmd_ps, 1, 1, NULL }, + { "ps", cmd_ps, 1, 1, NULL }, #ifndef CONFIG_DISABLE_ENVIRON - { "set", cmd_set, 3, 3, " " }, + { "set", cmd_set, 3, 3, " " }, #endif #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 - { "rm", cmd_rm, 2, 2, "" }, - { "rmdir", cmd_rmdir, 2, 2, "" }, + { "rm", cmd_rm, 2, 2, "" }, + { "rmdir", cmd_rmdir, 2, 2, "" }, # ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */ - { "umount", cmd_umount, 2, 2, "" }, + { "umount", cmd_umount, 2, 2, "" }, #endif #endif #ifndef CONFIG_DISABLE_ENVIRON - { "unset", cmd_unset, 2, 2, "" }, + { "unset", cmd_unset, 2, 2, "" }, #endif - { NULL, NULL, 1, 1, NULL } + { NULL, NULL, 1, 1, NULL } }; /****************************************************************************