summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-08-10 19:16:39 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-08-10 19:16:39 +0000
commit2d0ce7d83a5ee93070da059aa3d6ce85c970c7a4 (patch)
tree1ff5134cd99ef58a3f9a781ba8cfc1e158ccb283
parentb519cf020d830ad425ff6c7e3f2f807ed0268600 (diff)
downloadpx4-nuttx-2d0ce7d83a5ee93070da059aa3d6ce85c970c7a4.tar.gz
px4-nuttx-2d0ce7d83a5ee93070da059aa3d6ce85c970c7a4.tar.bz2
px4-nuttx-2d0ce7d83a5ee93070da059aa3d6ce85c970c7a4.zip
Added mkfifo command to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@812 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog1
-rw-r--r--nuttx/Documentation/NuttX.html1
-rw-r--r--nuttx/examples/nsh/nsh.h39
-rw-r--r--nuttx/examples/nsh/nsh_fscmds.c15
-rw-r--r--nuttx/examples/nsh/nsh_main.c5
5 files changed, 42 insertions, 19 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index e2081192a..246bf4ef0 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -395,4 +395,5 @@
0.3.13 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* Added mkfatfs command to NSH
+ * Added mkfifo command to NSH
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index 1f6993e4d..a00736b20 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -1029,6 +1029,7 @@ buildroot-0.1.0 2007-03-09 &lt;spudmonkey@racsa.co.cr&gt
nuttx-0.3.13 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Added mkfatfs command to NSH
+ * Added mkfifo command to NSH
pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/nuttx/examples/nsh/nsh.h b/nuttx/examples/nsh/nsh.h
index d6fdcb297..972dc545d 100644
--- a/nuttx/examples/nsh/nsh.h
+++ b/nuttx/examples/nsh/nsh.h
@@ -114,38 +114,41 @@ extern int nsh_serialmain(void);
/* Shell command handlers */
#if CONFIG_NFILE_DESCRIPTORS > 0
-extern void cmd_cat(FAR void *handle, int argc, char **argv);
-extern void cmd_cp(FAR void *handle, int argc, char **argv);
+ extern void cmd_cat(FAR void *handle, int argc, char **argv);
+ extern void cmd_cp(FAR void *handle, int argc, char **argv);
#endif
extern void cmd_echo(FAR void *handle, int argc, char **argv);
extern void cmd_exec(FAR void *handle, int argc, char **argv);
extern void cmd_exit(FAR void *handle, int argc, char **argv);
#if defined(CONFIG_NET) && CONFIG_NSOCKET_DESCRIPTORS > 0
-extern void cmd_ifconfig(FAR void *handle, int argc, char **argv);
+ extern void cmd_ifconfig(FAR void *handle, int argc, char **argv);
#endif
#if CONFIG_NFILE_DESCRIPTORS > 0
-extern void cmd_ls(FAR void *handle, int argc, char **argv);
+ extern void cmd_ls(FAR void *handle, int argc, char **argv);
#endif
#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
+ 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);
+# endif /* CONFIG_FS_FAT */
+ extern void cmd_mkfifo(FAR void *handle, int argc, char **argv);
+# ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */
+ extern void cmd_mount(FAR void *handle, int argc, char **argv);
+# endif /* CONFIG_FS_FAT */
+#endif /* !CONFIG_DISABLE_MOUNTPOINT && CONFIG_NFILE_DESCRIPTORS */
extern void cmd_ps(FAR void *handle, int argc, char **argv);
#ifndef CONFIG_DISABLE_ENVIRON
-extern void cmd_set(FAR void *handle, int argc, char **argv);
+ extern void cmd_set(FAR void *handle, int argc, char **argv);
#endif
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0
-extern void cmd_rm(FAR void *handle, int argc, char **argv);
-extern void cmd_rmdir(FAR void *handle, int argc, char **argv);
-#ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */
-extern void cmd_umount(FAR void *handle, int argc, char **argv);
-#endif
-#endif
+ extern void cmd_rm(FAR void *handle, int argc, char **argv);
+ extern void cmd_rmdir(FAR void *handle, int argc, char **argv);
+# ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */
+ extern void cmd_umount(FAR void *handle, int argc, char **argv);
+# endif /* CONFIG_FS_FAT */
+#endif /* !CONFIG_DISABLE_MOUNTPOINT && CONFIG_NFILE_DESCRIPTORS */
#ifndef CONFIG_DISABLE_ENVIRON
-extern void cmd_unset(FAR void *handle, int argc, char **argv);
+ extern void cmd_unset(FAR void *handle, int argc, char **argv);
#endif
#endif /* __NSH_H */
diff --git a/nuttx/examples/nsh/nsh_fscmds.c b/nuttx/examples/nsh/nsh_fscmds.c
index a1f8c2ee5..45426604f 100644
--- a/nuttx/examples/nsh/nsh_fscmds.c
+++ b/nuttx/examples/nsh/nsh_fscmds.c
@@ -651,6 +651,21 @@ void cmd_mkfatfs(FAR void *handle, int argc, char **argv)
#endif
/****************************************************************************
+ * Name: cmd_mkfifo
+ ****************************************************************************/
+
+#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0
+void cmd_mkfifo(FAR void *handle, int argc, char **argv)
+{
+ int result = mkfifo(argv[1], 0777);
+ if ( result < 0)
+ {
+ nsh_output(handle, g_fmtcmdfailed, argv[0], "mkfifo", NSH_ERRNO);
+ }
+}
+#endif
+
+/****************************************************************************
* Name: cmd_mount
****************************************************************************/
diff --git a/nuttx/examples/nsh/nsh_main.c b/nuttx/examples/nsh/nsh_main.c
index 242db6872..cfa3df6e8 100644
--- a/nuttx/examples/nsh/nsh_main.c
+++ b/nuttx/examples/nsh/nsh_main.c
@@ -100,8 +100,11 @@ static const struct cmdmap_s g_cmdmap[] =
#endif
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0
{ "mkdir", cmd_mkdir, 2, 2, "<path>" },
-#ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */
+#ifdef CONFIG_FS_FAT
{ "mkfatfs", cmd_mkfatfs, 2, 2, "<path>" },
+#endif
+ { "mkfifo", cmd_mkfifo, 2, 2, "<path>" },
+#ifdef CONFIG_FS_FAT /* Need at least one filesytem in configuration */
{ "mount", cmd_mount, 4, 5, "-t <fstype> <block-device> <dir-path>" },
#endif
#endif