aboutsummaryrefslogtreecommitdiff
path: root/nuttx/include/nuttx/binfmt/builtin.h
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/include/nuttx/binfmt/builtin.h')
-rw-r--r--nuttx/include/nuttx/binfmt/builtin.h54
1 files changed, 38 insertions, 16 deletions
diff --git a/nuttx/include/nuttx/binfmt/builtin.h b/nuttx/include/nuttx/binfmt/builtin.h
index 632f8944d..6ff565395 100644
--- a/nuttx/include/nuttx/binfmt/builtin.h
+++ b/nuttx/include/nuttx/binfmt/builtin.h
@@ -73,18 +73,40 @@ 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.
- */
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: builtin_initialize
+ *
+ * Description:
+ * Builtin support is built unconditionally. However, it order to
+ * use this binary format, this function must be called during system
+ * format in order to register the builtin binary format.
+ *
+ * Returned Value:
+ * This is a NuttX internal function so it follows the convention that
+ * 0 (OK) is returned on success and a negated errno is returned on
+ * failure.
+ *
+ ****************************************************************************/
-EXTERN const struct builtin_s g_builtins[];
+int builtin_initialize(void);
/****************************************************************************
- * Public Functions
+ * Name: builtin_uninitialize
+ *
+ * Description:
+ * Unregister the builtin binary loader
+ *
+ * Returned Value:
+ * None
+ *
****************************************************************************/
+void builtin_uninitialize(void);
+
/****************************************************************************
* Utility Functions Provided to Applications by binfmt/libbuiltin
****************************************************************************/
@@ -128,24 +150,24 @@ FAR const char *builtin_getname(int index);
* Data Set Access Functions Provided to Applications by binfmt/libbuiltin
****************************************************************************/
/****************************************************************************
- * Name: number_builtins
+ * Name: builtin_for_index
*
* 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.
+ * Returns the builtin_s structure for the selected builtin.
+ * If support for builtin functions is enabled in the NuttX configuration,
+ * then this function must be provided by the application code.
*
* Input Parameter:
- * None
+ * index, from 0 and on...
*
* Returned Value:
- * The number of entries in the g_builtins[] array. This function does
- * not return failures.
+ * Returns valid pointer pointing to the builtin_s structure if index is
+ * valid.
+ * Otherwise, NULL is returned.
*
****************************************************************************/
-int number_builtins(void);
+EXTERN FAR const struct builtin_s *builtin_for_index(int index);
#undef EXTERN
#if defined(__cplusplus)