summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/ChangeLog.txt6
-rw-r--r--apps/README.txt3
-rw-r--r--apps/builtin/Kconfig10
-rw-r--r--apps/builtin/builtin.c1
-rw-r--r--apps/builtin/exec_builtin.c46
-rw-r--r--apps/include/builtin.h (renamed from apps/include/apps.h)47
-rw-r--r--apps/nshlib/Kconfig2
-rw-r--r--apps/nshlib/nsh_builtin.c3
-rw-r--r--apps/nshlib/nsh_parse.c2
-rw-r--r--nuttx/ChangeLog5
-rw-r--r--nuttx/Documentation/NuttShell.html2
-rw-r--r--nuttx/binfmt/Kconfig14
-rw-r--r--nuttx/binfmt/Makefile3
-rw-r--r--nuttx/binfmt/libbuiltin/Kconfig4
-rw-r--r--nuttx/binfmt/libbuiltin/Make.defs49
-rw-r--r--nuttx/binfmt/libbuiltin/libbuiltin_utils.c121
-rw-r--r--nuttx/fs/binfs/fs_binfs.c3
-rw-r--r--nuttx/include/nuttx/binfmt/builtin.h81
-rw-r--r--nuttx/include/nuttx/fs/binfs.h11
-rw-r--r--nuttx/include/nuttx/fs/ioctl.h6
20 files changed, 296 insertions, 123 deletions
diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt
index 5bc3b2149..6faac9e4b 100644
--- a/apps/ChangeLog.txt
+++ b/apps/ChangeLog.txt
@@ -475,3 +475,9 @@
binfmt.
* builtin/binfs.c: Move apps/builtin/binfs.c to fs/binfs/fs_binfs.c
CONFIG_APPS_BINDIR rename CONFIG_FS_BINFS
+ * apps/include/builtin.h: Some of the content of
+ apps/include/apps.h moved to include/nuttx/binfmt/builtin.h.
+ apps/include/apps.h renamed builtin.h
+ * pps/builtin/exec_builtins.c: Move utility builtin
+ utility functions from apps/builtin/exec_builtins.c to
+ binfmt/libbuiltin/libbuiltin_utils.c \ No newline at end of file
diff --git a/apps/README.txt b/apps/README.txt
index 4a336abdb..55accfcf6 100644
--- a/apps/README.txt
+++ b/apps/README.txt
@@ -7,7 +7,6 @@ Contents
General
Directory Location
Built-In Applications
- Built-In Startup main() function
NuttShell (NSH) Built-In Commands
Synchronous Built-In Commands
Application Configuration File
@@ -62,7 +61,7 @@ collected during the make context build phase.
To execute an application function:
- exec_builtin() is defined in the nuttx/include/apps/apps.h
+ exec_builtin() is defined in the nuttx/include/apps/builtin.h
NuttShell (NSH) Built-In Commands
---------------------------------
diff --git a/apps/builtin/Kconfig b/apps/builtin/Kconfig
index 37150e8a9..c3371d708 100644
--- a/apps/builtin/Kconfig
+++ b/apps/builtin/Kconfig
@@ -3,21 +3,13 @@
# see misc/tools/kconfig-language.txt.
#
-config BUILTIN
- bool "Support Builtin Applications"
- default n
- ---help---
- Enable support for builtin applications. This features assigns a string
- name to an application. This feature is also the underlying requirement
- to support built-in applications in the NuttShell (NSH).
-
if BUILTIN
config BUILTIN_PROXY_STACKSIZE
int "Builtin Proxy Stack Size"
default 1024
---help---
- If exec_builting uses I/O redirection options, then it will require
+ If exec_builtin uses I/O redirection options, then it will require
an intermediary/proxy task to muck with the file descriptors. This
configuration item specifies the stack size used for the proxy. Default:
1024 bytes.
diff --git a/apps/builtin/builtin.c b/apps/builtin/builtin.c
index 90c0b1353..7655a531d 100644
--- a/apps/builtin/builtin.c
+++ b/apps/builtin/builtin.c
@@ -42,7 +42,6 @@
#include <nuttx/config.h>
#include <nuttx/binfmt/builtin.h>
-#include <apps/apps.h>
/****************************************************************************
* Private Types
diff --git a/apps/builtin/exec_builtin.c b/apps/builtin/exec_builtin.c
index 6868d7ee7..05648590d 100644
--- a/apps/builtin/exec_builtin.c
+++ b/apps/builtin/exec_builtin.c
@@ -54,7 +54,7 @@
#include <debug.h>
#include <nuttx/binfmt/builtin.h>
-#include <apps/apps.h>
+#include <apps/builtin.h>
/****************************************************************************
* Pre-processor Definitions
@@ -366,50 +366,6 @@ errout:
****************************************************************************/
/****************************************************************************
- * Name: builtin_getname
- *
- * Description:
- * Return the name of the application at index in the table of builtin
- * applications.
- *
- ****************************************************************************/
-
-const char *builtin_getname(int index)
-{
- if (index < 0 || index >= number_builtins())
- {
- return NULL;
- }
-
- return g_builtins[index].name;
-}
-
-/****************************************************************************
- * Name: builtin_isavail
- *
- * Description:
- * Return the index into the table of applications for the applicaiton with
- * the name 'appname'.
- *
- ****************************************************************************/
-
-int builtin_isavail(FAR const char *appname)
-{
- int i;
-
- for (i = 0; g_builtins[i].name; i++)
- {
- if (!strcmp(g_builtins[i].name, appname))
- {
- return i;
- }
- }
-
- set_errno(ENOENT);
- return ERROR;
-}
-
-/****************************************************************************
* Name: exec_builtin
*
* Description:
diff --git a/apps/include/apps.h b/apps/include/builtin.h
index 0fb807c14..24cf204fa 100644
--- a/apps/include/apps.h
+++ b/apps/include/builtin.h
@@ -1,5 +1,5 @@
/****************************************************************************
- * apps/include/apps.h
+ * apps/include/builtin.h
*
* Originally by:
*
@@ -40,8 +40,8 @@
*
****************************************************************************/
-#ifndef __APPS_INCLUDE_APPS_H
-#define __APPS_INCLUDE_APPS_H
+#ifndef __APPS_INCLUDE_BUILTIN_H
+#define __APPS_INCLUDE_BUILTIN_H
/****************************************************************************
* Included Files
@@ -50,9 +50,8 @@
#include <nuttx/config.h>
#include <sys/types.h>
-#include <stdint.h>
-#include <nuttx/fs/ioctl.h>
+#include <nuttx/binfmt/builtin.h>
/****************************************************************************
* Pre-processor Definitions
@@ -79,42 +78,6 @@ extern "C" {
****************************************************************************/
/****************************************************************************
- * Name: builtin_isavail
- *
- * Description:
- * Checks for availabiliy of application registerred during compile time.
- *
- * Input Parameter:
- * filename - Name of the linked-in binary to be started.
- *
- * Returned Value:
- * This is an end-user function, so it follows the normal convention:
- * Returns index of builtin application. If it is not found then it
- * returns -1 (ERROR) and sets errno appropriately.
- *
- ****************************************************************************/
-
-EXTERN int builtin_isavail(FAR const char *appname);
-
-/****************************************************************************
- * Name: builtin_getname
- *
- * Description:
- * Returns pointer to a name of built-in application pointed by the
- * index.
- *
- * Input Parameter:
- * index, from 0 and on ...
- *
- * Returned Value:
- * Returns valid pointer pointing to the app name if index is valid.
- * Otherwise NULL is returned.
- *
- ****************************************************************************/
-
-EXTERN const char *builtin_getname(int index);
-
-/****************************************************************************
* Name: exec_builtin
*
* Description:
@@ -145,4 +108,4 @@ EXTERN int exec_builtin(FAR const char *appname, FAR const char **argv,
}
#endif
-#endif /* __APPS_INCLUDE_APPS_H */
+#endif /* __APPS_INCLUDE_BUILTIN_H */
diff --git a/apps/nshlib/Kconfig b/apps/nshlib/Kconfig
index e60e9c480..9cfc020a5 100644
--- a/apps/nshlib/Kconfig
+++ b/apps/nshlib/Kconfig
@@ -15,7 +15,7 @@ if NSH_LIBRARY
config NSH_BUILTIN_APPS
bool "Enable built-in applications"
default y
- depends on BUILTIN
+ select BUILTIN
---help---
Support external registered, "built-in" applications that can be
executed from the NSH command line (see apps/README.txt for
diff --git a/apps/nshlib/nsh_builtin.c b/apps/nshlib/nsh_builtin.c
index 16e3e9427..ba39e8dfe 100644
--- a/apps/nshlib/nsh_builtin.c
+++ b/apps/nshlib/nsh_builtin.c
@@ -54,7 +54,8 @@
#include <errno.h>
#include <string.h>
-#include <apps/apps.h>
+#include <nuttx/binfmt/builtin.h>
+#include <apps/builtin.h>
#include "nsh.h"
#include "nsh_console.h"
diff --git a/apps/nshlib/nsh_parse.c b/apps/nshlib/nsh_parse.c
index 15723b497..c36724372 100644
--- a/apps/nshlib/nsh_parse.c
+++ b/apps/nshlib/nsh_parse.c
@@ -59,7 +59,7 @@
#endif
#ifdef CONFIG_NSH_BUILTIN_APPS
-# include <apps/apps.h>
+# include <nuttx/binfmt/builtin.h>
#endif
#include <apps/nsh.h>
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index ed85f06e1..57925a8b3 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -3957,3 +3957,8 @@
* configs/ubw32/ostest: Enable the vfork() test.
* fs/binfs: Move apps/builtin/binfs.c to fs/binfs/fs_binfs.c
CONFIG_APPS_BINDIR rename CONFIG_FS_BINFS
+ * include/nuttx/binfmt/builtin.h: Some of the content of
+ apps/include/apps.h moved to include/nuttx/binfmt/builtin.h
+ * binfmt/libbuiltin/libbuiltin_utils.c: Move utility builtin
+ utility functions from apps/builtin/exec_builtins.c to
+ binfmt/libbuiltin/libbuiltin_utils.c \ No newline at end of file
diff --git a/nuttx/Documentation/NuttShell.html b/nuttx/Documentation/NuttShell.html
index 95a75b22c..273898476 100644
--- a/nuttx/Documentation/NuttShell.html
+++ b/nuttx/Documentation/NuttShell.html
@@ -3261,7 +3261,7 @@ Builtin Apps:
<p>
<b>Built-In Application Utility Functions</b>.
- The utility functions exported by the builtin application logic are prototyped in <code>apps/include/apps.h</code>.
+ The utility functions exported by the builtin application logic are prototyped in <code>nuttx/include/nuttx/binfmt/builtin.h</code> and <code>apps/include/builtin.h</code>.
These utility functions include:
</p>
diff --git a/nuttx/binfmt/Kconfig b/nuttx/binfmt/Kconfig
index 495bd050f..8d6c0bb18 100644
--- a/nuttx/binfmt/Kconfig
+++ b/nuttx/binfmt/Kconfig
@@ -49,6 +49,20 @@ if ELF
source binfmt/libelf/Kconfig
endif
+config BUILTIN
+ bool "Support Builtin Applications"
+ default n
+ ---help---
+ Enable support for builtin applications. This features assigns a string
+ name to an application and in addition if FS_BINFS is defined, retaining
+ those names in a file system from which they can be executed. This feature
+ is also the underlying requirement to support built-in applications in the
+ NuttShell (NSH).
+
+if BUILTIN
+source binfmt/libbuiltin/Kconfig
+endif
+
endif
config PIC
diff --git a/nuttx/binfmt/Makefile b/nuttx/binfmt/Makefile
index 8ec0d877c..49dcd3d32 100644
--- a/nuttx/binfmt/Makefile
+++ b/nuttx/binfmt/Makefile
@@ -1,7 +1,7 @@
############################################################################
# nxflat/Makefile
#
-# Copyright (C) 2007-2009, 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2007-2009, 2012-2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -65,6 +65,7 @@ DEPPATH = --dep-path .
include libnxflat$(DELIM)Make.defs
include libelf$(DELIM)Make.defs
+include libbuiltin$(DELIM)Make.defs
BINFMT_AOBJS = $(BINFMT_ASRCS:.S=$(OBJEXT))
BINFMT_COBJS = $(BINFMT_CSRCS:.c=$(OBJEXT))
diff --git a/nuttx/binfmt/libbuiltin/Kconfig b/nuttx/binfmt/libbuiltin/Kconfig
new file mode 100644
index 000000000..ae2bf3130
--- /dev/null
+++ b/nuttx/binfmt/libbuiltin/Kconfig
@@ -0,0 +1,4 @@
+#
+# For a description of the syntax of this configuration file,
+# see misc/tools/kconfig-language.txt.
+#
diff --git a/nuttx/binfmt/libbuiltin/Make.defs b/nuttx/binfmt/libbuiltin/Make.defs
new file mode 100644
index 000000000..1d129294c
--- /dev/null
+++ b/nuttx/binfmt/libbuiltin/Make.defs
@@ -0,0 +1,49 @@
+############################################################################
+# binfmt/libbuiltin/Make.defs
+#
+# Copyright (C) 2013 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+# used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+############################################################################
+
+# Legacy configurations don't set CONFIG_BUILTIN
+# ifeq ($(CONFIG_BUILTIN),y)
+
+# Builtin application interfaces
+
+BINFMT_CSRCS += libbuiltin_utils.c
+
+# Hook the libelf subdirectory into the build
+
+VPATH += libbuiltin
+SUBDIRS += libbuiltin
+DEPPATH += --dep-path libbuiltin
+
+# endif
diff --git a/nuttx/binfmt/libbuiltin/libbuiltin_utils.c b/nuttx/binfmt/libbuiltin/libbuiltin_utils.c
new file mode 100644
index 000000000..b53becff9
--- /dev/null
+++ b/nuttx/binfmt/libbuiltin/libbuiltin_utils.c
@@ -0,0 +1,121 @@
+/****************************************************************************
+ * binfmt/libbuiltin/libbuiltin_utils.c
+ *
+ * Originally by:
+ *
+ * Copyright (C) 2011 Uros Platise. All rights reserved.
+ * Author: Uros Platise <uros.platise@isotel.eu>
+ *
+ * With subsequent updates, modifications, and general maintenance by:
+ *
+ * Copyright (C) 2012-2013 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <string.h>
+#include <limits.h>
+#include <errno.h>
+
+#include <nuttx/binfmt/builtin.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Types
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Function Prototypes
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: builtin_getname
+ *
+ * Description:
+ * Return the name of the application at index in the table of builtin
+ * applications.
+ *
+ ****************************************************************************/
+
+FAR const char *builtin_getname(int index)
+{
+ if (index < 0 || index >= number_builtins())
+ {
+ return NULL;
+ }
+
+ return g_builtins[index].name;
+}
+
+/****************************************************************************
+ * Name: builtin_isavail
+ *
+ * Description:
+ * Return the index into the table of applications for the applicaiton with
+ * the name 'appname'.
+ *
+ ****************************************************************************/
+
+int builtin_isavail(FAR const char *appname)
+{
+ int i;
+
+ for (i = 0; g_builtins[i].name; i++)
+ {
+ if (!strncmp(g_builtins[i].name, appname, NAME_MAX))
+ {
+ return i;
+ }
+ }
+
+ set_errno(ENOENT);
+ return ERROR;
+}
diff --git a/nuttx/fs/binfs/fs_binfs.c b/nuttx/fs/binfs/fs_binfs.c
index 2508719e7..ed6326eba 100644
--- a/nuttx/fs/binfs/fs_binfs.c
+++ b/nuttx/fs/binfs/fs_binfs.c
@@ -54,10 +54,9 @@
#include <nuttx/fs/fs.h>
#include <nuttx/fs/binfs.h>
#include <nuttx/fs/dirent.h>
+#include <nuttx/fs/ioctl.h>
#include <nuttx/binfmt/builtin.h>
-#include <apps/apps.h>
-
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && defined(CONFIG_FS_BINFS)
/****************************************************************************
diff --git a/nuttx/include/nuttx/binfmt/builtin.h b/nuttx/include/nuttx/binfmt/builtin.h
index c27605cac..632f8944d 100644
--- a/nuttx/include/nuttx/binfmt/builtin.h
+++ b/nuttx/include/nuttx/binfmt/builtin.h
@@ -1,10 +1,15 @@
/****************************************************************************
* include/nuttx/binfmt/builtin.h
*
+ * Originally by:
+ *
* Copyright (C) 2011 Uros Platise. All rights reserved.
- * Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
- * Authors: Uros Platise <uros.platise@isotel.eu>
- * Gregory Nutt <gnutt@nuttx.org>
+ * Author: Uros Platise <uros.platise@isotel.eu>
+ *
+ * With subsequent updates, modifications, and general maintenance by:
+ *
+ * Copyright (C) 2012-2013 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -43,7 +48,7 @@
****************************************************************************/
#include <nuttx/config.h>
-#include <apps/apps.h>
+#include <sys/types.h>
/****************************************************************************
* Public Types
@@ -68,13 +73,79 @@ extern "C" {
#define EXTERN extern
#endif
+/* The g_builtins[] array holds information about each builtin function. If
+ * support for builtin functions is enabled in the NuttX configuration, then
+ * this arrary (along with the number_builtins() function) must be provided
+ * by the application code.
+ */
+
EXTERN const struct builtin_s g_builtins[];
/****************************************************************************
* Public Functions
****************************************************************************/
-EXTERN int number_builtins(void);
+/****************************************************************************
+ * Utility Functions Provided to Applications by binfmt/libbuiltin
+ ****************************************************************************/
+/****************************************************************************
+ * Name: builtin_isavail
+ *
+ * Description:
+ * Checks for availabiliy of application registerred during compile time.
+ *
+ * Input Parameter:
+ * filename - Name of the linked-in binary to be started.
+ *
+ * Returned Value:
+ * This is an end-user function, so it follows the normal convention:
+ * Returns index of builtin application. If it is not found then it
+ * returns -1 (ERROR) and sets errno appropriately.
+ *
+ ****************************************************************************/
+
+int builtin_isavail(FAR const char *appname);
+
+/****************************************************************************
+ * Name: builtin_getname
+ *
+ * Description:
+ * Returns pointer to a name of built-in application pointed by the
+ * index.
+ *
+ * Input Parameter:
+ * index, from 0 and on ...
+ *
+ * Returned Value:
+ * Returns valid pointer pointing to the app name if index is valid.
+ * Otherwise NULL is returned.
+ *
+ ****************************************************************************/
+
+FAR const char *builtin_getname(int index);
+
+/****************************************************************************
+ * Data Set Access Functions Provided to Applications by binfmt/libbuiltin
+ ****************************************************************************/
+/****************************************************************************
+ * Name: number_builtins
+ *
+ * Description:
+ * Returns the number of builtin functions in the g_builtins[] array. If
+ * support for builtin functions is enabled in the NuttX configuration,
+ * then this function (along with g_builtins[]) must be provided by the
+ * application code.
+ *
+ * Input Parameter:
+ * None
+ *
+ * Returned Value:
+ * The number of entries in the g_builtins[] array. This function does
+ * not return failures.
+ *
+ ****************************************************************************/
+
+int number_builtins(void);
#undef EXTERN
#if defined(__cplusplus)
diff --git a/nuttx/include/nuttx/fs/binfs.h b/nuttx/include/nuttx/fs/binfs.h
index df92375e3..d967506d8 100644
--- a/nuttx/include/nuttx/fs/binfs.h
+++ b/nuttx/include/nuttx/fs/binfs.h
@@ -42,22 +42,11 @@
#include <nuttx/config.h>
-#include <nuttx/fs/ioctl.h>
-
#ifdef CONFIG_FS_BINFS
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
-/* This is the BINFS ioctl that can be used to recover the filename
- * associated with the builtin task.
- */
-
-#define FIOC_FILENAME FIOC_USER /* IN: FAR const char ** pointer
- * OUT: Pointer to a persistent file name
- * (Guaranteed to persist while the file
- * is open).
- */
/****************************************************************************
* Type Definitions
diff --git a/nuttx/include/nuttx/fs/ioctl.h b/nuttx/include/nuttx/fs/ioctl.h
index 8f2fdd7d9..9cde497a8 100644
--- a/nuttx/include/nuttx/fs/ioctl.h
+++ b/nuttx/include/nuttx/fs/ioctl.h
@@ -105,7 +105,11 @@
#define FIOC_OPTIMIZE _FIOC(0x0003) /* IN: None
* OUT: None
*/
-#define FIOC_USER _FIOC(0x0004) /* File system-specific */
+#define FIOC_FILENAME _FIOC(0x0004) /* IN: FAR const char ** pointer
+ * OUT: Pointer to a persistent file name
+ * (Guaranteed to persist while the file
+ * is open).
+ */
/* NuttX file system ioctl definitions **************************************/