summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-12-23 18:18:56 +1100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-01-25 08:45:26 +0100
commit2afb22b7e1ebcbe40373ff7e0efae7d207c655a9 (patch)
tree44759efe9374f13200a97e96d91bd9a2b7e5ce2a /cpukit/libmisc
parentMAINTAINERS: Add myself to Write After Approval. (diff)
downloadrtems-2afb22b7e1ebcbe40373ff7e0efae7d207c655a9.tar.bz2
Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
Diffstat (limited to 'cpukit/libmisc')
-rw-r--r--cpukit/libmisc/Makefile.am1
-rw-r--r--cpukit/libmisc/bspcmdline/bspcmdline.h131
-rw-r--r--cpukit/libmisc/capture/capture-cli.h53
-rw-r--r--cpukit/libmisc/capture/capture.h1122
-rw-r--r--cpukit/libmisc/capture/captureimpl.h185
-rw-r--r--cpukit/libmisc/capture/rtems-trace-buffer-vars.h148
-rw-r--r--cpukit/libmisc/cpuuse/cpuuse.h88
-rw-r--r--cpukit/libmisc/devnull/devnull.h84
-rw-r--r--cpukit/libmisc/devnull/devzero.h92
-rw-r--r--cpukit/libmisc/dumpbuf/dumpbuf.h52
-rw-r--r--cpukit/libmisc/fb/fb.h101
-rw-r--r--cpukit/libmisc/fb/mw_uid.h194
-rw-r--r--cpukit/libmisc/fsmount/fsmount.h211
-rw-r--r--cpukit/libmisc/monitor/monitor.h528
-rw-r--r--cpukit/libmisc/mouse/mouse_parser.h121
-rw-r--r--cpukit/libmisc/mouse/serial_mouse.h169
-rw-r--r--cpukit/libmisc/preinstall.am9
-rw-r--r--cpukit/libmisc/redirector/stdio-redirect.h115
-rw-r--r--cpukit/libmisc/rtems-fdt/rtems-fdt-shell.h42
-rw-r--r--cpukit/libmisc/rtems-fdt/rtems-fdt.h621
-rw-r--r--cpukit/libmisc/serdbg/serdbg.h151
-rw-r--r--cpukit/libmisc/serdbg/serdbgcnf.h91
-rw-r--r--cpukit/libmisc/serdbg/termios_printk.h101
-rw-r--r--cpukit/libmisc/serdbg/termios_printk_cnf.h81
-rw-r--r--cpukit/libmisc/shell/shell.h385
-rw-r--r--cpukit/libmisc/shell/shellconfig.h554
-rw-r--r--cpukit/libmisc/stackchk/stackchk.h139
-rw-r--r--cpukit/libmisc/stringto/stringto.h262
-rw-r--r--cpukit/libmisc/testsupport/test.h314
-rw-r--r--cpukit/libmisc/untar/untar.h260
-rw-r--r--cpukit/libmisc/utf8proc/utf8proc.h385
-rw-r--r--cpukit/libmisc/uuid/uuid.h103
-rw-r--r--cpukit/libmisc/xz/xz.h304
33 files changed, 0 insertions, 7197 deletions
diff --git a/cpukit/libmisc/Makefile.am b/cpukit/libmisc/Makefile.am
index e1343ddf11..ca4686a954 100644
--- a/cpukit/libmisc/Makefile.am
+++ b/cpukit/libmisc/Makefile.am
@@ -208,5 +208,4 @@ libxz_a_SOURCES = xz/xz/h xz/xz_crc32.c \
EXTRA_DIST += xz/README xz/COPING
## ---
-include $(srcdir)/preinstall.am
include $(top_srcdir)/automake/local.am
diff --git a/cpukit/libmisc/bspcmdline/bspcmdline.h b/cpukit/libmisc/bspcmdline/bspcmdline.h
deleted file mode 100644
index 51916ff26a..0000000000
--- a/cpukit/libmisc/bspcmdline/bspcmdline.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
- * @file rtems/bspcmdline.h
- *
- * @defgroup BSPCommandLine BSP Command Line Helpers
- *
- * @ingroup libmisc
- * @brief BSP Command Line Handler
- *
- * This include file contains all prototypes and specifications
- * related to the BSP Command Line String and associated helper
- * routines. The helpers are useful for locating command line
- * type arguments (e.g. --mode) and their associated right
- * hand side (e.g. FAST in --mode=FAST).
- */
-
-/*
- * COPYRIGHT (c) 1989-2009.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef __BSP_COMMAND_LINE_h
-#define __BSP_COMMAND_LINE_h
-
-/**
- * @defgroup BSPCommandLine BSP Command Line Helpers
- *
- * The BSP Command Line Handler provides a set of routines which assist
- * in examining and decoding the Command Line String passed to the BSP
- * at boot time.
- */
-/**@{*/
-
-#include <stddef.h> /* for size_t */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/**
- * @brief Obtain Pointer to BSP Boot Command String
- *
- * This method returns a pointer to the BSP Boot Command String. It
- * is as likely to be NULL as point to a string as most BSPs do not
- * have a start environment that provides a boot string.
- *
- * @retval This method returns the pointer to the BSP Boot Command String.
- */
-const char *rtems_bsp_cmdline_get(void);
-
-/**
- * @brief Obtain COPY of the Entire Matching Argument
- *
- * This method searches for the argument @a name in the BSP Boot Command
- * String and returns a copy of the entire string associated with it in
- * @a value up to a string of @a length. This will include the argument
- * and any right hand side portion of the string. For example, one might
- * be returned --mode=FAST if
- * searching for --mode.
- *
- * @param[in] name is the arugment to search for
- * @param[in] value points to where the contents will
- * be placed if located.
- * @param[in] length is the maximum length to copy
- *
- * @return This method returns NULL if not found and
- * @a value if found.
- */
-const char *rtems_bsp_cmdline_get_param(
- const char *name,
- char *value,
- size_t length
-);
-
-
-/**
- * @brief Obtain COPY of the Right Hand Side of the Matching Argument
- *
- * This method searches for the argument @a name in
- * the BSP Boot Command String and returns the right hand side
- * associated with it in @a value up to a maximum string @a length.
- * This will NOT include the argument but only any right hand side
- * portion of the string. * For example, one might be returned FAST if
- * searching for --mode.
- *
- * @param[in] name is the arugment to search for
- * @param[in] value points to where the contents will
- * be placed if located.
- * @param[in] length is the maximum length to copy
- *
- * @retval This method returns NULL if not found and
- * @a value if found.
- */
-const char *rtems_bsp_cmdline_get_param_rhs(
- const char *name,
- char *value,
- size_t length
-);
-
-/**
- * @brief Obtain Pointer to the Entire Matching Argument
- *
- * This method searches for the argument @a name in
- * the BSP Boot Command String and returns a pointer to the
- * entire string associated with it. This will include the
- * argument and any right hand side portion of the string.
- * For example, one might be returned --mode=FAST if
- * searching for --mode.
- *
- * @param[in] name is the arugment to search for
- *
- * @retval This method returns NULL if not found and a pointer
- * into the BSP Boot Command String if found.
- *
- * @note The pointer will be to the original BSP Command
- * Line string. Exercise caution when using this.
- */
-const char *rtems_bsp_cmdline_get_param_raw(
- const char *name
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-/**@}*/
-#endif
diff --git a/cpukit/libmisc/capture/capture-cli.h b/cpukit/libmisc/capture/capture-cli.h
deleted file mode 100644
index 55749b7cb1..0000000000
--- a/cpukit/libmisc/capture/capture-cli.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * @file rtems/capture-cli.h
- *
- * This is the Target Interface Command Line Interface. You need
- * start the RTEMS monitor.
- */
-
-/*
- ------------------------------------------------------------------------
-
- Copyright 2002, 2016 Chris Johns <chrisj@rtems.org>.
- All rights reserved.
-
- COPYRIGHT (c) 1989-2014.
- On-Line Applications Research Corporation (OAR).
-
- The license and distribution terms for this file may be
- found in the file LICENSE in this distribution.
-
- This software with is provided ``as is'' and with NO WARRANTY.
-
- ------------------------------------------------------------------------
-
- RTEMS Performance Monitoring and Measurement Framework.
-
- This is the Target Interface Command Line Interface. You need
- start the RTEMS monitor.
-
-*/
-
-#ifndef __CAPTURE_CLI_H_
-#define __CAPTURE_CLI_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems/capture.h>
-
-/**
- * rtems_capture_cli_init
- *
- * This function initialises the command line interface to the capture
- * engine.
- */
-rtems_status_code
-rtems_capture_cli_init (rtems_capture_timestamp timestamp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/cpukit/libmisc/capture/capture.h b/cpukit/libmisc/capture/capture.h
deleted file mode 100644
index f847ee0424..0000000000
--- a/cpukit/libmisc/capture/capture.h
+++ /dev/null
@@ -1,1122 +0,0 @@
-/**
- * @file rtems/capture.h
- *
- * @brief Capture Engine Component of the RTEMS Measurement and
- * Monitoring System
- *
- * This is the Capture Engine component of the RTEMS Measurement and
- * Monitoring system.
- */
-
-/*
- ------------------------------------------------------------------------
-
- Copyright 2002, 2016 Chris Johns <chrisj@rtems.org>.
- All rights reserved.
-
- COPYRIGHT (c) 1989-2014
- On-Line Applications Research Corporation (OAR).
-
- The license and distribution terms for this file may be
- found in the file LICENSE in this distribution.
-
- This software with is provided ``as is'' and with NO WARRANTY.
-
- ------------------------------------------------------------------------
-
- RTEMS Performance Monitoring and Measurement Framework.
- This is the Capture Engine component.
-
-*/
-
-#ifndef __CAPTURE_H_
-#define __CAPTURE_H_
-
-#include <rtems.h>
-#include <rtems/rtems/tasksimpl.h>
-#include <rtems/score/schedulerimpl.h>
-
-/**
- * @defgroup libmisc_capture RTEMS Capture Engine
- *
- * @ingroup libmisc
- *
- * Capture Engine Component of the RTEMS Measurement and Monitoring System
- */
-/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Global capture flags.
- */
-#define RTEMS_CAPTURE_INIT (1u << 0)
-#define RTEMS_CAPTURE_ON (1U << 1)
-#define RTEMS_CAPTURE_NO_MEMORY (1U << 2)
-#define RTEMS_CAPTURE_TRIGGERED (1U << 3)
-#define RTEMS_CAPTURE_GLOBAL_WATCH (1U << 4)
-#define RTEMS_CAPTURE_ONLY_MONITOR (1U << 5)
-
-/*
- * Per-CPU capture flags.
- */
-#define RTEMS_CAPTURE_OVERFLOW (1U << 0)
-#define RTEMS_CAPTURE_READER_ACTIVE (1U << 1)
-#define RTEMS_CAPTURE_READER_WAITING (1U << 2)
-
-/**
- * The number of tasks in a trigger group.
- */
-#define RTEMS_CAPTURE_TRIGGER_TASKS (32)
-
-/**
- * @brief A capture timestamp.
- *
- * This is a nanosecond capture timestamp
- */
-typedef uint64_t rtems_capture_time;
-
-/**
- * @brief Task id and mask for the from trigger.
- *
- * A from capture is a task id and a mask for the type of
- * from trigger we are interested in. The mask uses the same
- * bit maps as the flags field in the control structure. There
- * will only be a from type trigger if the flags in the control
- * structure has the specific *_BY bit set.
- */
-typedef struct rtems_capture_from
-{
- rtems_name name;
- rtems_id id;
- uint32_t trigger;
-} rtems_capture_from;
-
-/**
- * @brief Capture control structure for a group of tasks.
- *
- * RTEMS control holds the trigger and watch configuration for a group of
- * tasks with the same name. The flags hold global control flags.
- *
- * The to_triggers fields holds triggers TO this task. The from_triggers holds
- * triggers from this task. The by_triggers is an OR or triggers which are
- * caused BY the task listed TO this task. The by_valid flag which entries
- * in by are valid.
- */
-typedef struct rtems_capture_control
-{
- rtems_name name;
- rtems_id id;
- uint32_t flags;
- uint32_t to_triggers;
- uint32_t from_triggers;
- uint32_t by_triggers;
- uint32_t by_valid;
- rtems_capture_from by[RTEMS_CAPTURE_TRIGGER_TASKS];
- struct rtems_capture_control* next;
-} rtems_capture_control;
-
-/**
- * The from_valid mask.
- */
-#define RTEMS_CAPTURE_CONTROL_FROM_MASK(_s) \
- (UINT32_C(1) << (RTEMS_CAPTURE_TRIGGER_TASKS - ((_s) + 1)))
-
-/**
- * Control flags.
- */
-#define RTEMS_CAPTURE_WATCH (1U << 0)
-
-/**
- * Control triggers.
- */
-#define RTEMS_CAPTURE_SWITCH (1 << 0)
-#define RTEMS_CAPTURE_CREATE (1 << 1)
-#define RTEMS_CAPTURE_START (1 << 2)
-#define RTEMS_CAPTURE_RESTART (1 << 3)
-#define RTEMS_CAPTURE_DELETE (1 << 4)
-#define RTEMS_CAPTURE_BEGIN (1 << 5)
-#define RTEMS_CAPTURE_EXITTED (1 << 6)
-#define RTEMS_CAPTURE_TERMINATED (1 << 7)
-
-#define RTEMS_CAPTURE_FROM_TRIGS (RTEMS_CAPTURE_SWITCH | \
- RTEMS_CAPTURE_CREATE | \
- RTEMS_CAPTURE_START | \
- RTEMS_CAPTURE_RESTART | \
- RTEMS_CAPTURE_DELETE)
-
-#define RTEMS_CAPTURE_TO_TRIGS (RTEMS_CAPTURE_SWITCH | \
- RTEMS_CAPTURE_CREATE | \
- RTEMS_CAPTURE_START | \
- RTEMS_CAPTURE_RESTART | \
- RTEMS_CAPTURE_DELETE | \
- RTEMS_CAPTURE_BEGIN | \
- RTEMS_CAPTURE_EXITTED)
-
-/**
- * Task flags.
- */
-#define RTEMS_CAPTURE_TRACED (1U << 0)
-#define RTEMS_CAPTURE_INIT_TASK (1U << 1)
-#define RTEMS_CAPTURE_RECORD_TASK (1U << 2)
-
-/*
- * @brief Capture record.
- *
- * This is a record that is written into
- * the buffer. The events includes the priority of the task
- * at the time of the context switch.
- */
-typedef struct rtems_capture_record
-{
- size_t size;
- uint32_t events;
- rtems_id task_id;
- rtems_capture_time time;
-} RTEMS_PACKED rtems_capture_record;
-
-/*
- * @brief Capture task record.
- *
- * This is a record that is written into
- * the buffer. The events includes the priority of the task
- * at the time of the context switch.
- */
-typedef struct rtems_capture_task_record
-{
- rtems_name name;
- rtems_task_priority start_priority;
- uint32_t stack_size;
-} RTEMS_PACKED rtems_capture_task_record;
-
-/**
- * The capture record event flags.
- */
-#define RTEMS_CAPTURE_REAL_PRI_EVENT_MASK UINT32_C (0x000000ff)
-#define RTEMS_CAPTURE_CURR_PRI_EVENT_MASK UINT32_C (0x0000ff00)
-#define RTEMS_CAPTURE_REAL_PRIORITY_EVENT (0)
-#define RTEMS_CAPTURE_CURR_PRIORITY_EVENT (8)
-#define RTEMS_CAPTURE_EVENT_START (16)
-#define RTEMS_CAPTURE_CREATED_BY_EVENT UINT32_C (0x00010000)
-#define RTEMS_CAPTURE_CREATED_EVENT UINT32_C (0x00020000)
-#define RTEMS_CAPTURE_STARTED_BY_EVENT UINT32_C (0x00040000)
-#define RTEMS_CAPTURE_STARTED_EVENT UINT32_C (0x00080000)
-#define RTEMS_CAPTURE_RESTARTED_BY_EVENT UINT32_C (0x00100000)
-#define RTEMS_CAPTURE_RESTARTED_EVENT UINT32_C (0x00200000)
-#define RTEMS_CAPTURE_DELETED_BY_EVENT UINT32_C (0x00400000)
-#define RTEMS_CAPTURE_DELETED_EVENT UINT32_C (0x00800000)
-#define RTEMS_CAPTURE_TERMINATED_EVENT UINT32_C (0x01000000)
-#define RTEMS_CAPTURE_BEGIN_EVENT UINT32_C (0x02000000)
-#define RTEMS_CAPTURE_EXITTED_EVENT UINT32_C (0x04000000)
-#define RTEMS_CAPTURE_SWITCHED_OUT_EVENT UINT32_C (0x08000000)
-#define RTEMS_CAPTURE_SWITCHED_IN_EVENT UINT32_C (0x10000000)
-#define RTEMS_CAPTURE_TIMESTAMP UINT32_C (0x20000000)
-#define RTEMS_CAPTURE_EVENT_END (29)
-
-/**
- * @brief Capture trigger modes
- *
- * The types of trigger modes that exist.
- */
-typedef enum rtems_capture_trigger_mode
-{
- rtems_capture_to_any,
- rtems_capture_from_any,
- rtems_capture_from_to
-} rtems_capture_trigger_mode;
-
-/**
- * @brief Capture trigger.
- *
- * The types of triggers that exist.
- */
-typedef enum rtems_capture_trigger
-{
- rtems_capture_switch,
- rtems_capture_create,
- rtems_capture_start,
- rtems_capture_restart,
- rtems_capture_delete,
- rtems_capture_begin,
- rtems_capture_exitted,
- rtems_capture_terminated
-} rtems_capture_trigger;
-
-/**
- * @brief Capture timestamp callout handler.
- *
- * This defines the callout handler to obtain a time stamp. The
- * value returned is time count since the last read.
- *
- */
-
-typedef void (*rtems_capture_timestamp)(rtems_capture_time* time);
-
-/**
- * @brief Capture record lock context.
- *
- * This structure is used to lock a per CPU buffer when opeining recording. The
- * per CPU buffer is held locked until the record close is called. Locking
- * masks interrupts so use this lock only when needed and do not hold it for
- * long.
- *
- * The lock first masks the CPU interrupt before taking the interrupt
- * lock. This stops a thread context taking the lock and then an interrupt on
- * the same CPU attempting to take the lock so creating a deadlock.
- *
- */
-typedef struct {
- rtems_interrupt_lock_context lock_context;
- rtems_interrupt_lock* lock;
-} rtems_capture_record_lock_context;
-
-/**
- * @brief Capture open
- *
- * This function initialises the realtime trace manager allocating the
- * capture buffer. It is assumed we have a working heap at stage of
- * initialisation.
- *
- * @param[in] size The number of capture records to define.
- * @param[in] timestamp The timestamp callout handler to use. If the
- * the handler is NULL a default nano-second timestamp
- * will be used.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_open (uint32_t size,
- rtems_capture_timestamp timestamp);
-
-/**
- * @brief Capture close
- *
- * This function shutdowns the tracer and release any claimed
- * resources.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_close (void);
-
-/**
- * @brief Capture control trace enable/disable.
- *
- * This function allows control of tracing at a global level.
- *
- * @param[in] enable The trace enable/disable flag.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_set_control (bool enable);
-
-/**
- * @brief Capture monitor enable/disable.
- *
- * This function enable the monitor mode. When in the monitor mode
- * the tasks are monitored but no data is saved. This can be used
- * to profile the load on a system.
- *
- * @param[in] enable The monitor enable/disable flag.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_set_monitor (bool enable);
-
-/*
- * @brief Capture flush trace buffer.
- *
- * This function flushes the trace buffer. The prime parameter allows the
- * capture engine to also be primed again.
- *
- * @param[in] prime The prime after flush flag.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_flush (bool prime);
-
-/**
- * @brief Capture add watch
- *
- * This function defines a watch for a specific task given a name. A watch
- * causes it to be traced either in or out of context. The watch can be
- * optionally enabled or disabled with the set routine. It is disabled by
- * default.
- *
- * @param[in] name The name of the @a capture_controls entry
- * @param[in] id The id of the @a capture_controls entry.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_watch_add (rtems_name name, rtems_id id);
-
-/**
- * @brief Capture delete watch.
- *
- * This function removes a watch for a specific task given a name. The task
- * description will still exist if referenced by a trace record in the trace
- * buffer or a global watch is defined.
- *
- * @param[in] name The name of the @a capture_controls entry
- * @param[in] id The id of the @a capture_controls entry.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_watch_del (rtems_name name, rtems_id id);
-
-/**
- * @brief Capture enable/disable watch.
- *
- * This function allows control of a watch. The watch can be enabled or
- * disabled.
- *
- * @param[in] name The name of the @a capture_controls entry
- * @param[in] id The id of the @a capture_controls entry.
- * @param[in] enable The enable/disable flag for the watch.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_watch_ctrl (rtems_name name,
- rtems_id id,
- bool enable);
-
-/**
- * @brief Capture enable/disable global watch.
- *
- * This function allows control of a global watch. The watch can
- * be enabled or disabled. A global watch configures all tasks below
- * the ceiling and above the floor to be traced.
- *
- * @param[in] enable The enable/disable flag for the watch.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_watch_global (bool enable);
-
-/**
- * @brief Get global watch state
- *
- * This function returns the global watch state.
- *
- * @retval This method returns true if the global watch
- * is on. Otherwise, it returns false.
- */
-bool rtems_capture_watch_global_on (void);
-
-/**
- * @brief Set watch ceiling.
- *
- * This function sets a watch ceiling. Events from tasks at or greater
- * than the ceiling priority are ignored. This is a simple way to
- * monitor an application and exclude system tasks running at a higher
- * priority level.
- *
- * @param[in] ceiling specifies the priority level immediately above
- * that at which events from tasks are not captured.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_watch_ceiling (rtems_task_priority ceiling);
-
-/**
- * @brief Get watch ceiling.
- *
- * This function gets the watch ceiling.
- *
- * @retval The priority level immediately above that at which events
- * from tasks are not captured.
- */
-rtems_task_priority rtems_capture_watch_get_ceiling (void);
-
-/**
- * @brief Capture set watch floor.
- *
- * This function sets a watch floor. Tasks at or less than the
- * floor priority are not watched. This is a simple way to monitor
- * an application and exclude system tasks running at a lower
- * priority level.
- *
- * @param[in] floor specifies the priority level immediately below
- * that at which events from tasks are not captured.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_watch_floor (rtems_task_priority floor);
-
-/**
- * @brief Capture set watch floor
- *
- * This function gets the watch floor.
- *
- * @retval The priority level immediately below
- * that at which events from tasks are not captured.
- */
-rtems_task_priority rtems_capture_watch_get_floor (void);
-
-/**
- * @brief Capture set trigger
- *
- * This function sets a trigger.
- *
- * This set trigger routine will create a trace control for the
- * target task. The task list is searched and any existing tasks
- * are linked to the new control.
- *
- * We can have a number of tasks that have the same name so we
- * search using names. This means a number of tasks can be
- * linked to single control.
- *
- * Some events captured such as context switch include two
- * tasks. These are referred to as being "from" and "to"
- * Some events may only have one task specified.
- *
- * @param[in] from_name specifies the name of the from task.
- * @param[in] from_id specifies the id of the from task.
- * @param[in] to_name specifies the name of the to task.
- * @param[in] to_id specifies the id of the to task.
- * @param[in] mode specifies the trigger mode.
- * @param[in] trigger specifies the type of trigger.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code
-rtems_capture_set_trigger (rtems_name from_name,
- rtems_id from_id,
- rtems_name to_name,
- rtems_id to_id,
- rtems_capture_trigger_mode mode,
- rtems_capture_trigger trigger);
-
-/**
- * @brief Capture clear trigger.
- *
- * This function clears a trigger.
- *
- * This clear trigger routine will not clear a watch.
- *
- * @param[in] from_name specifies the name of the from task.
- * @param[in] from_id specifies the id of the from task.
- * @param[in] to_name specifies the name of the to task.
- * @param[in] to_id specifies the id of the to task.
- * @param[in] mode specifies the trigger mode.
- * @param[in] trigger specifies the type of trigger.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code
-rtems_capture_clear_trigger (rtems_name from_name,
- rtems_id from_id,
- rtems_name to_name,
- rtems_id to_id,
- rtems_capture_trigger_mode mode,
- rtems_capture_trigger trigger);
-
-/**
- * @brief Capture read records from capture buffer
- *
- * This function reads a number of records from the capture buffer.
- *
- * The function returns the number of record that is has that are
- * in a continous block of memory. If the number of available records
- * wrap then only those records are provided. This removes the need for
- * caller to be concerned about buffer wrappings. If the number of
- * requested records cannot be met due to the wrapping of the records
- * less than the specified number will be returned.
- *
- * The user must release the records. This is achieved with a call to
- * rtems_capture_release. Calls this function without a release will
- * result in at least the same number of records being released.
- *
- * @param[in] cpu The cpu number that the records were recorded on
- * @param[out] read will contain the number of records read
- * @param[out] recs The capture records that are read.
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_read (uint32_t cpu,
- size_t* read,
- const void** recs);
-
-/**
- * @brief Capture release records.
- *
- * This function releases the requested number of record slots back
- * to the capture engine. The count must match the number read.
- *
- * @param[in] count The number of record slots to release
- *
- * @retval This method returns RTEMS_SUCCESSFUL if there was not an
- * error. Otherwise, a status code is returned indicating the
- * source of the error.
- */
-rtems_status_code rtems_capture_release (uint32_t cpu, uint32_t count);
-
-/**
- * @brief Capture filter
- *
- * This function this function specifies if the given task and events should be
- * logged.
- *
- * @param[in] task specifies the capture task control block
- * @param[in] events specifies the events
- *
- * @retval This method returns true if this data should be filtered from the
- * log. It returns false if this data should be logged.
- */
-bool rtems_capture_filter (rtems_tcb* task, uint32_t events);
-
-/**
- * @brief Capture returns the current time.
- *
- * This function returns the current time. If a handler is provided
- * by the user the time is gotten from that.
- *
- * @param[in] time specifies the capture time
- *
- * @retval This method returns a nano-second time if no user handler
- * is provided. Otherwise, it returns a resolution defined by the handler.
- */
-void rtems_capture_get_time (rtems_capture_time* time);
-
-/**
- * @brief Capture get event text.
- *
- * This function returns a string for an event based on the bit in the
- * event. The functions takes the bit offset as a number not the bit
- * set in a bit map.
- *
- * @param[in] event specifies the event to describe
- *
- * @retval This method returns a string description of the given event.
- */
-const char* rtems_capture_event_text (int event);
-
-/**
- * @brief Capture initialize task
- *
- * This function initializes capture control in the tcb.
- *
- * @param[in] tcb is the task control block for the task
- */
-void rtems_capture_initialize_task (rtems_tcb* tcb);
-
-/**
- * @brief Capture record task.
- *
- * This function records a new capture task record.
- *
- * @param[in] tcb is the task control block for the task
- */
-void rtems_capture_record_task (rtems_tcb* tcb);
-
-/**
- * @brief Capture record lock.
- *
- * This does a lock acquire which will remain in effect until
- * rtems_capture_record_unlock is called.
- *
- * @param[out] context specifies the record context
- */
-void rtems_capture_record_lock (rtems_capture_record_lock_context* context);
-
-/**
- * @brief Capture record unlock.
- *
- * This unlocks the record lock.
- *
- * @param[in] context specifies the record context
- */
-void rtems_capture_record_unlock (rtems_capture_record_lock_context* context);
-
-/**
- * @brief Capture record open.
- *
- * This function allocates a record and fills in the header information. It
- * does a lock acquire which will remain in effect until
- * rtems_capture_record_close is called. The size is the amount of user data
- * being recorded. The record header is internally managed.
- *
- * @param[in] task specifies the caputre task block
- * @param[in] events specifies the events
- * @param[in] size specifies the user's capture data size
- * @param[out] context specifies the record context
- *
- * @retval This method returns a pointer to the next location in
- * the capture record to store data.
- */
-void* rtems_capture_record_open (rtems_tcb* task,
- uint32_t events,
- size_t size,
- rtems_capture_record_lock_context* context);
-
-/**
- * @brief Capture record close.
- *
- * This function closes writing to capure record and releases the lock that was
- * held on the per CPU buffer.
- *
- * @param[out] context specifies the record context
- */
-void rtems_capture_record_close (rtems_capture_record_lock_context* context);
-
-/**
- * @brief Capture append to record to the per CPU buffer.
- *
- * This function appends data of a specifed size into a capture buffer.
- *
- * @param[in] rec specifies the next write point in the capture record
- * @param[in] data specifies the data to write
- * @param[in] size specifies the size of the data
- *
- * @retval This method returns the next write point in the capture record.
- */
-static inline void*
-rtems_capture_record_append (void* rec, const void* data, size_t size)
-{
- memcpy (rec, data, size);
- return ((uint8_t*) rec) + size;
-}
-
-/**
- * @brief Capture read a record from the per CPU buffer.
- *
- * This function reads data of a specifed size from a capture buffer.
- *
- * @param[in] rec specifies the next read point in the capture record
- * @param[in] data specifies where to write the data
- * @param[in] size specifies the size of the data
- *
- * @retval This method returns the next write point in the capture record.
- */
-static inline void*
-rtems_capture_record_extract (const void* rec, void* data, size_t size)
-{
- memcpy (data, rec, size);
- return ((uint8_t*) rec) + size;
-}
-
-/**
- * @brief Capture task recorded
- *
- * This function returns true if this task information has been
- * recorded.
- *
- * @param[in] tcb is the task control block for the task
- */
-static inline bool rtems_capture_task_recorded (rtems_tcb* tcb) {
- return ((tcb->Capture.flags & RTEMS_CAPTURE_RECORD_TASK) != 0);
-}
-
-/**
- * @brief Capture task initialized
- *
- * This function returns true if this task information has been
- * initialized.
- *
- * @param[in] tcb is the task control block for the task
- */
-static inline bool rtems_capture_task_initialized (rtems_tcb* tcb) {
- return ((tcb->Capture.flags & RTEMS_CAPTURE_INIT_TASK) != 0);
-}
-
-/**
- * @brief Capture get task id.
- *
- * This function returns the task id.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the task id.
- */
-static inline rtems_id
-rtems_capture_task_id (rtems_tcb* tcb)
-{
- return tcb->Object.id;
-}
-
-/**
- * @brief Capture get task API.
- *
- * This function returns the task API as an int.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the task API as an int.
- */
-static inline int
-rtems_capture_task_api (rtems_id id)
-{
- return _Objects_Get_API (id);
-}
-
-/**
- * @brief Capture get task state.
- *
- * This function returns the task state.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the task state.
- */
-static inline States_Control
-rtems_capture_task_state (rtems_tcb* tcb)
-{
- if (tcb)
- return tcb->current_state;
- return 0;
-}
-
-/**
- * @brief Capture get task name.
- *
- * This function returns the task name.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the task name.
- */
-static inline rtems_name
-rtems_capture_task_name (rtems_tcb* tcb)
-{
- rtems_name name;
- rtems_object_get_classic_name( tcb->Object.id, &name );
- return name;
-}
-
-/**
- * @brief Capture get task flags.
- *
- * This function returns the task flags.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the task flags.
- */
-static inline uint32_t
-rtems_capture_task_flags (rtems_tcb* tcb)
-{
- return tcb->Capture.flags;
-}
-
-/**
- * @brief Capture get task control
- *
- * This function returns the task control if present.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the task control if present.
- */
-static inline rtems_capture_control*
-rtems_capture_task_control (rtems_tcb* tcb)
-{
- return tcb->Capture.control;
-}
-
-/**
- * @brief Capture get task control flags.
- *
- * This function returns the task control flags if a control is present.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the task control flags if a control is present.
- */
-static inline uint32_t
-rtems_capture_task_control_flags (rtems_tcb* tcb)
-{
- rtems_capture_control* control = tcb->Capture.control;
- if (!control)
- return 0;
- return control->flags;
-}
-
-/**
- * @brief Capture get task start priority.
- *
- * This function returns the tasks start priority. The tracer needs this
- * to track where the task's priority goes.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the tasks start priority. The tracer needs this
- * to track where the task's priority goes.
- */
-static inline rtems_task_priority
-rtems_capture_task_start_priority (rtems_tcb* tcb)
-{
- return _RTEMS_Priority_From_core (_Thread_Scheduler_get_home( tcb ),
- tcb->Start.initial_priority);
-}
-
-/**
- * @brief Capture get task real priority.
- *
- * This function returns the tasks real priority.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the tasks real priority.
- */
-static inline rtems_task_priority
-rtems_capture_task_real_priority (rtems_tcb* tcb)
-{
- return tcb->Real_priority.priority;
-}
-
-/**
- * @brief Capture get task current priority.
- *
- * This function returns the tasks current priority.
- *
- * @param[in] task The capture task.
- *
- * @retval This function returns the tasks current priority.
- */
-static inline rtems_task_priority
-rtems_capture_task_curr_priority (rtems_tcb* tcb)
-{
- return _Thread_Get_priority (tcb);
-}
-
-/**
- * @brief Capture get control list.
- *
- * This function returns the head of the list of controls in the
- * capture engine.
- *
- * @retval This function returns the head of the list of controls in the
- * capture engine.
- */
-rtems_capture_control*
-rtems_capture_get_control_list (void);
-
-/**
- * @brief Capture get next capture control.
- *
- * This function returns the pointer to the next control in the list. The
- * pointer NULL terminates the list.
- *
- * @param[in] control the current capture control.
- *
- * @retval This function returns the pointer to the next control in the list. The
- * pointer NULL terminates the list.
- */
-static inline rtems_capture_control*
-rtems_capture_next_control (rtems_capture_control* control)
-{
- return control->next;
-}
-
-/**
- * @brief Capture get capture control id.
- *
- * This function returns the control id.
- *
- * @param[in] control the capture control.
- *
- * @retval This function returns the control id.
- */
-static inline rtems_id
-rtems_capture_control_id (rtems_capture_control* control)
-{
- return control->id;
-}
-
-/**
- * @brief Capture get capture control name.
- *
- * This function returns the control name.
- *
- * @param[in] control the capture control.
- *
- * @retval This function returns the control name.
- */
-static inline rtems_name
-rtems_capture_control_name (rtems_capture_control* control)
-{
- return control->name;
-}
-
-/**
- * @brief Capture get capture control flags.
- *
- * This function returns the control flags.
- *
- * @param[in] control the capture control.
- *
- * @retval This function returns the control flags.
- */
-static inline uint32_t
-rtems_capture_control_flags (rtems_capture_control* control)
-{
- return control->flags;
-}
-
-/**
- * @brief Capture get capture control to triggers.
- *
- * This function returns the task control to triggers.
- *
- * @param[in] control the capture control.
- *
- * @retval This function returns the task control to triggers.
- */
-static inline uint32_t
-rtems_capture_control_to_triggers (rtems_capture_control* control)
-{
- return control->to_triggers;
-}
-
-/**
- * @brief Capture get capture control from triggers.
- *
- * This function returns the task control from triggers.
- *
- * @param[in] control the capture control.
- *
- * @retval This function returns the task control from triggers.
- */
-static inline uint32_t
-rtems_capture_control_from_triggers (rtems_capture_control* control)
-{
- return control->from_triggers;
-}
-
-/**
- * @brief Capture get capture control by triggers.
- *
- * This function returns the task control by triggers.
- *
- * @param[in] control the capture control.
- *
- * @retval This function returns the task control by triggers.
- */
-static inline uint32_t
-rtems_capture_control_all_by_triggers (rtems_capture_control* control)
-{
- return control->by_triggers;
-}
-
-/**
- * @brief Capture get capture control valid by flags.
- *
- * This function returns the control valid BY flags.
- *
- * @param[in] control The capture control.
- * @param[in] slot The slot.
- *
- * @retval This function returns the control valid BY flags.
- */
-static inline int
-rtems_capture_control_by_valid (rtems_capture_control* control, int slot)
-{
- return control->by_valid & RTEMS_CAPTURE_CONTROL_FROM_MASK (slot);
-}
-
-/**
- * @brief Capture get capture control by task name.
- *
- * This function returns the control @a by task name.
- *
- * @param[in] control The capture control.
- * @param[in] by The by index.
- *
- * @retval This function returns the control @a by task name.
- */
-static inline rtems_name
-rtems_capture_control_by_name (rtems_capture_control* control, int by)
-{
- if (by < RTEMS_CAPTURE_TRIGGER_TASKS)
- return control->by[by].name;
- return control->by[0].name;
-}
-
-/**
- * @brief Capture get capture control by task id.
- *
- * This function returns the control @a by task id
- *
- * @retval This function returns the control @a by task id.
- */
-static inline rtems_id
-rtems_capture_control_by_id (rtems_capture_control* control, int by)
-{
- if (by < RTEMS_CAPTURE_TRIGGER_TASKS)
- return control->by[by].id;
- return control->by[0].id;
-}
-
-/**
- * @brief Capture get capture control by task triggers.
- *
- * This function returns the control @a by task triggers.
- *
- * @retval This function returns the control @a by task triggers.
- */
-static inline uint32_t
-rtems_capture_control_by_triggers (rtems_capture_control* control,
- int by)
-{
- if (by < RTEMS_CAPTURE_TRIGGER_TASKS)
- return control->by[by].trigger;
- return control->by[0].trigger;
-}
-
-/**
- * @brief Capture get capture control count.
- *
- * This function returns the number of controls the capture
- * engine has.
- *
- * @retval This function returns the number of controls the capture
- * engine has.
- */
-static inline uint32_t
-rtems_capture_control_count (void)
-{
- rtems_capture_control* control = rtems_capture_get_control_list ();
- uint32_t count = 0;
-
- while (control)
- {
- count++;
- control = rtems_capture_next_control (control);
- }
-
- return count;
-}
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-
-#endif
diff --git a/cpukit/libmisc/capture/captureimpl.h b/cpukit/libmisc/capture/captureimpl.h
deleted file mode 100644
index 4c4cbe66c3..0000000000
--- a/cpukit/libmisc/capture/captureimpl.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/**
- * @file rtems/captureimpl.h
- *
- * @brief Capture Implementation file
- *
- * This file contains an interface between the capture engine and
- * capture user extension methods.
- */
-
-/*
- ------------------------------------------------------------------------
-
- Copyright 2002, 2016 Chris Johns <chrisj@rtems.org>.
- All rights reserved.
-
- COPYRIGHT (c) 1989-2014.
- On-Line Applications Research Corporation (OAR).
-
- The license and distribution terms for this file may be
- found in the file LICENSE in this distribution.
-
- This software with is provided ``as is'' and with NO WARRANTY.
-
- ------------------------------------------------------------------------
-
- RTEMS Performance Monitoring and Measurement Framework.
- This is the Capture Engine component.
-
-*/
-
-#ifndef __CAPTUREIMPL_H_
-#define __CAPTUREIMPL_H_
-
-#include "capture.h"
-
-/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Capture set extension index.
- *
- * This function is used to set the extension index
- * for the capture engine.
- *
- * @param[in] index specifies the extension index to be
- * used for capture engine data.
- */
-void rtems_capture_set_extension_index(int index);
-
-/**
- * @brief Capture get extension index.
- *
- * This function rturns the extension index for the
- * capture engine.
- *
- * @retval This method returns the extension index.
- */
-int rtems_capture_get_extension_index(void);
-
-/**
- * @brief Capture get flags.
- *
- * This function gets the current flag settings
- * for the capture engine.
- *
- * @retval This method returns the global capture
- * flags.
- *
- */
-uint32_t rtems_capture_get_flags(void);
-
-/**
- * @brief Capture set flags.
- *
- * This function sets a flag in the capture engine
- *
- * @param[in] mask specifies the flag to set
- */
-void rtems_capture_set_flags(uint32_t mask);
-
-/**
- * @brief Capture user extension open.
- *
- * This function creates the capture user extensions.
- *
- *
- * @retval This method returns RTEMS_SUCCESSFUL upon successful
- * creation of the user extensions.
- */
-rtems_status_code rtems_capture_user_extension_open(void);
-
-/**
- * @brief Capture user extension close.
- *
- * This function closes the capture user extensions.
- *
- * @retval This method returns RTEMS_SUCCESSFUL upon a successful
- * delete of the user extensions.
- */
-rtems_status_code rtems_capture_user_extension_close(void);
-
-/**
- * @brief Capture check trigger.
- *
- * This function checks if we have triggered or if this event is a
- * cause of a trigger.
- *
- * @param[in] ft specifies specifices the capture from task
- * @param[in] tt specifies specifices the capture to task
- * @param[in] events specifies the events
- *
- * @retval This method returns true if we have triggered or
- * if the event is a cause of a trigger.
- */
-bool rtems_capture_trigger_fired (rtems_tcb* ft,
- rtems_tcb* tt,
- uint32_t events);
-
-/**
- * @brief Capture print trace records.
- *
- * This function reads, prints and releases up to
- * total trace records in either a csv format or an
- * ascii table format.
- *
- * @param[in] total specifies the number of records to print
- * @param[in] csv specifies a comma seperated value format
- */
-void rtems_capture_print_trace_records ( int total, bool csv );
-
-/**
- * @brief Capture print timestamp.
- *
- * This function prints uptime in a timestamp format.
- *
- * @param[in] uptime specifies the timestamp to print
- */
-void rtems_capture_print_timestamp (uint64_t uptime);
-
-/**
- * @brief Capture print record task.
- *
- * This function prints a capture record task. This
- * record contains information to identify a task. It
- * is refrenced in other records by the task id.
- *
- * @param[in] cpu specifies the cpu the cpu the record was logged on.
- * @param[in] rec specifies the task record.
- */
-void rtems_capture_print_record_task(int cpu,
- const rtems_capture_record* rec,
- const rtems_capture_task_record* task_rec);
-
-/**
- * @brief Capture print capture record.
- *
- * This function prints a user extension
- * capture record.
- *
- * @param[in] cpu specifies the cpu the cpu the record was logged on.
- * @param[in] rec specifies the record.
- * @param[in] diff specifies the time between this and the last capture record.
- * @param[in] name specifies the name of the task, NULL if none.
- * @param[in] task_count number of tasks to search for.
- */
-void rtems_capture_print_record_capture(int cpu,
- const rtems_capture_record* rec,
- uint64_t diff,
- const rtems_name* name);
-
-/**
- * @brief Capture print watch list
- *
- * This function prints a capture watch list
- */
-void rtems_capture_print_watch_list (void);
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-
-#endif
diff --git a/cpukit/libmisc/capture/rtems-trace-buffer-vars.h b/cpukit/libmisc/capture/rtems-trace-buffer-vars.h
deleted file mode 100644
index 8f0ff08587..0000000000
--- a/cpukit/libmisc/capture/rtems-trace-buffer-vars.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
- * @file
- *
- * @ingroup Shell
- *
- * @brief Access to the RTEMS Trace Buffer Generator (TBG).
- */
-/*
- * Copyright (c) 2015 Chris Johns <chrisj@rtems.org>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#if !defined (_RTEMS_TRACE_BUFFER_VARS_H_)
-#define _RTEMS_TRACE_BUFFER_VARS_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * These functions are provided as a separated interface to the Trace Buffer
- * Generatror (TBG) data are not really designed for any real-time performance
- * type interface.
- *
- * Separating the data from the codes stops the compiler incorrectly loop
- * optimising.
- */
-
-typedef struct
-{
- uint32_t size;
- const char* const type;
-} __rtld_trace_sig_arg;
-
- typedef struct {
- uint32_t argc;
- const __rtld_trace_sig_arg* args;
-} __rtld_trace_sig;
-
-typedef __rtld_trace_sig_arg rtems_trace_sig_arg;
-typedef __rtld_trace_sig rtems_trace_sig;
-
-/**
- * Returns the number of trace functions.
- */
-uint32_t rtems_trace_names_size (void);
-
-/**
- * Return the name given an index. No range checking.
- */
-const char* rtems_trace_names (const uint32_t index);
-
-/**
- * Returns the number of words in the enables array.
- */
-uint32_t rtems_trace_enables_size (void);
-
-/**
- * Return the enable 32bit bitmap indexed into the enables array. No range
- * checking.
- */
-uint32_t rtems_trace_enables (const uint32_t index);
-
-/**
- * Returns the number of words in the triggers array.
- */
-uint32_t rtems_trace_triggers_size (void);
-
-/**
- * Return the trigger 32bit bitmap indexed into the triggers array. No range
- * checking.
- */
-uint32_t rtems_trace_triggers (const uint32_t index);
-
-/**
- * Return the trace function signature.
- */
-const rtems_trace_sig* rtems_trace_signatures (const uint32_t index);
-
-/**
- * Return true is the enable bit is set for the trace function index.
- */
-bool rtems_trace_enable_set(const uint32_t index);
-
-/**
- * Return true is the trigger bit is set for the trace function index.
- */
-bool rtems_trace_trigger_set(const uint32_t index);
-
-/**
- * The application has been linked with Trace Buffering generated code.
- */
-bool rtems_trace_buffering_present (void);
-
-/**
- * Return the trace buffering mode flags.
- */
-uint32_t rtems_trace_buffering_mode (void);
-
-/**
- * Return the size of the trace buffering buffer in words.
- */
-uint32_t rtems_trace_buffering_buffer_size (void);
-
-/**
- * Return the base of the trace buffering buffer.
- */
-uint32_t* rtems_trace_buffering_buffer (void);
-
-/**
- * Return the buffer level. This is only stable if tracing has finished.
- */
-uint32_t rtems_trace_buffering_buffer_in (void);
-
-/**
- * The tracing has finished.
- */
-bool rtems_trace_buffering_finished (void);
-
-/**
- * Trace has been triggered and enable trace functions are being recorded.
- */
-bool rtems_trace_buffering_triggered (void);
-
-/**
- * Start tracing by clearing the triggered flag, setting to 0 and clearing the
- * finished flag.
- */
-void rtems_trace_buffering_start (void);
-
-/**
- * Stop tracing by setting the finished flag.
- */
-void rtems_trace_buffering_stop (void);
-
-/**
- * Resume tracing by setting the finished flag.
- */
-void rtems_trace_buffering_resume (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/cpukit/libmisc/cpuuse/cpuuse.h b/cpukit/libmisc/cpuuse/cpuuse.h
deleted file mode 100644
index 23f58faf1b..0000000000
--- a/cpukit/libmisc/cpuuse/cpuuse.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * @file rtems/cpuuse.h
- *
- * @defgroup libmisc_cpuuse CPU Usage
- *
- * @ingroup libmisc
- * @brief CPU Usage Report
- *
- * This include file contains information necessary to utilize
- * and install the cpu usage reporting mechanism.
- */
-
-/*
- * COPYRIGHT (c) 1989-2011.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef __RTEMS_CPUUSE_h
-#define __RTEMS_CPUUSE_h
-
-#include <rtems.h>
-#include <rtems/print.h>
-
-/**
- * @defgroup libmisc_cpuuse CPU Usage
- *
- * @ingroup libmisc
- */
-/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * rtems_cpu_usage_report_with_handler
- */
-
-void rtems_cpu_usage_report_with_plugin( const rtems_printer *printer );
-
-/**
- * @brief Report CPU usage.
- *
- * CPU Usage Reporter
- */
-
-void rtems_cpu_usage_report( void );
-
-/**
- * @brief CPU usage Top plugin
- *
- * Report CPU Usage in top format to
- * to a print plugin.
- */
-void rtems_cpu_usage_top_with_plugin( const rtems_printer *printer );
-
-/**
- * @brief CPU usage top.
- *
- * CPU Usage top
- */
-
-void rtems_cpu_usage_top( void );
-
-/**
- * @brief Reset CPU usage.
- *
- * CPU Usage Reporter
- */
-
-void rtems_cpu_usage_reset( void );
-
-/**
- * @brief Reports per-processor information.
- *
- * @return The number of characters printed.
- */
-int rtems_cpu_info_report( const rtems_printer *printer );
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif
-/* end of include file */
diff --git a/cpukit/libmisc/devnull/devnull.h b/cpukit/libmisc/devnull/devnull.h
deleted file mode 100644
index 39081f478b..0000000000
--- a/cpukit/libmisc/devnull/devnull.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * @file
- *
- * @brief RTEMS /dev/null Device Driver
- *
- * This include file defines the interface to the RTEMS /dev/null
- * device driver.
- */
-
-/*
- * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
- *
- * COPYRIGHT (c) 1989-2000.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_DEVNULL_H
-#define _RTEMS_DEVNULL_H
-
-#include <rtems/io.h>
-
-/**
- * @defgroup libmisc_devnull Null Device Driver
- *
- * @ingroup libmisc
- */
-/**@{*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DEVNULL_DRIVER_TABLE_ENTRY \
- { null_initialize, null_open, null_close, null_read, \
- null_write, null_control }
-
-#define NULL_SUCCESSFUL RTEMS_SUCCESSFUL
-
-rtems_device_driver null_initialize(
- rtems_device_major_number,
- rtems_device_minor_number,
- void *
-);
-
-rtems_device_driver null_open(
- rtems_device_major_number,
- rtems_device_minor_number,
- void *
-);
-
-rtems_device_driver null_close(
- rtems_device_major_number,
- rtems_device_minor_number,
- void *
-);
-
-rtems_device_driver null_read(
- rtems_device_major_number,
- rtems_device_minor_number,
- void *
-);
-
-rtems_device_driver null_write(
- rtems_device_major_number,
- rtems_device_minor_number,
- void *
-);
-
-rtems_device_driver null_control(
- rtems_device_major_number,
- rtems_device_minor_number,
- void *
-);
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif
-/* end of include file */
diff --git a/cpukit/libmisc/devnull/devzero.h b/cpukit/libmisc/devnull/devzero.h
deleted file mode 100644
index bc47d3ea09..0000000000
--- a/cpukit/libmisc/devnull/devzero.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * @file rtems/devzero.h
- *
- * @brief RTEMS /dev/zero Device Driver
- *
- * This include file defines the interface to the RTEMS /dev/zero
- * device driver.
- */
-
-/*
- * Copyright (c) 2011 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_DEVZERO_H
-#define _RTEMS_DEVZERO_H
-
-#include <rtems/io.h>
-
-/**
- * @defgroup libmisc_devzero Zero Device Driver
- *
- * @ingroup libmisc
- */
-/**@{*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define DEVZERO_DEVICE_NAME "/dev/zero"
-
-#define DEVZERO_DRIVER_TABLE_ENTRY \
- { \
- dev_zero_initialize, \
- dev_zero_open, \
- dev_zero_close, \
- dev_zero_read, \
- dev_zero_write, \
- dev_zero_control \
- }
-
-rtems_device_driver dev_zero_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-rtems_device_driver dev_zero_open(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-rtems_device_driver dev_zero_close(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-rtems_device_driver dev_zero_read(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-rtems_device_driver dev_zero_write(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-rtems_device_driver dev_zero_control(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-/**@}*/
-#endif /* _RTEMS_DEVZERO_H */
diff --git a/cpukit/libmisc/dumpbuf/dumpbuf.h b/cpukit/libmisc/dumpbuf/dumpbuf.h
deleted file mode 100644
index d714879ab4..0000000000
--- a/cpukit/libmisc/dumpbuf/dumpbuf.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * @file
- *
- * @brief Print a Memory Buffer
- *
- * This file defines the interface to the RTEMS methods to print a
- * memory buffer in a style similar to many ROM monitors and debuggers.
- */
-
-/*
- * COPYRIGHT (c) 1997-2011.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may in
- * the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef __DUMP_BUFFER_h
-#define __DUMP_BUFFER_h
-
-/**
- * @defgroup libmisc_dumpbuf Print Memory Buffer
- *
- * @ingroup libmisc
- */
-/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Print memory buffer.
- *
- * This method prints @a length bytes beginning at @a buffer in
- * a nice format similar to what one would expect from a debugger
- * or ROM monitor.
- *
- * @param[in] buffer is the address of the buffer
- * @param[in] length is the length of the buffer
- */
-void rtems_print_buffer(
- const unsigned char *buffer,
- int length
-);
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif
-/* end of include file */
diff --git a/cpukit/libmisc/fb/fb.h b/cpukit/libmisc/fb/fb.h
deleted file mode 100644
index bb5cb23805..0000000000
--- a/cpukit/libmisc/fb/fb.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * @file rtems/fb.h
- *
- * @brief Frame Buffer Device Driver
- *
- * This file defines the interface to a frame buffer device driver.
- */
-
-/*
- * Copyright (c) 2000 - Rosimildo da Silva
- */
-
-#ifndef _MW_FB_H
-#define _MW_FB_H
-
-#include <stdint.h>
-
-/**
- * @defgroup libmisc_fb Frame Buffer Device Driver Interface
- *
- * @ingroup Device Drivers and Frameworks
- */
-/**@{*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ioctls
- 0x46 is 'F' */
-#define FBIOGET_VSCREENINFO 0x4600
-#define FBIOPUT_VSCREENINFO 0x4601
-#define FBIOGET_FSCREENINFO 0x4602
-#define FBIOGETCMAP 0x4604
-#define FBIOPUTCMAP 0x4605
-#define FB_EXEC_FUNCTION 0x4606
-#define FBIOSWAPBUFFERS 0x4607
-#define FBIOSETBUFFERMODE 0x4608
-#define FBIOSETVIDEOMODE 0x4609
-
-#define FB_SINGLE_BUFFERED 0
-#define FB_TRIPLE_BUFFERED 1
-
-#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
-#define FB_TYPE_PLANES 1 /* Non interleaved planes */
-#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */
-#define FB_TYPE_TEXT 3 /* Text/attributes */
-#define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */
-#define FB_TYPE_VIRTUAL_BUFFER 5 /* Virtual Buffer */
-
-
-#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */
-#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */
-#define FB_VISUAL_TRUECOLOR 2 /* True color */
-#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */
-#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */
-#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */
-
-#define FB_ACCEL_NONE 0 /* no hardware accelerator */
-
-struct fb_bitfield {
- uint32_t offset; /* beginning of bitfield */
- uint32_t length; /* length of bitfield */
- uint32_t msb_right; /* != 0 : Most significant bit is */
- /* right */
-};
-
-struct fb_var_screeninfo {
- uint32_t xres; /* visible resolution */
- uint32_t yres;
- uint32_t bits_per_pixel; /* guess what */
- struct fb_bitfield red; /* bitfield in fb mem if true color, */
- struct fb_bitfield green; /* else only length is significant */
- struct fb_bitfield blue;
- struct fb_bitfield transp; /* transparency */
-};
-
-struct fb_fix_screeninfo {
- volatile char *smem_start; /* Start of frame buffer mem */
- /* (physical address) */
- uint32_t smem_len; /* Length of frame buffer mem */
- uint32_t type; /* see FB_TYPE_* */
- uint32_t visual; /* see FB_VISUAL_* */
- uint32_t line_length; /* number of chars per line */
-};
-
-struct fb_cmap {
- uint32_t start; /* First entry */
- uint32_t len; /* Number of entries */
- uint16_t *red; /* Red values */
- uint16_t *green;
- uint16_t *blue;
- uint16_t *transp; /* transparency, can be NULL */
-};
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-
-#endif /* _MW_FB_H */
diff --git a/cpukit/libmisc/fb/mw_uid.h b/cpukit/libmisc/fb/mw_uid.h
deleted file mode 100644
index aa88392d26..0000000000
--- a/cpukit/libmisc/fb/mw_uid.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * @file rtems/mw_uid.h
- *
- * @defgroup libmisc_fb_mw Input Devices for MicroWindows
- *
- * @ingroup libmisc
- * @brief Input Devices for MicroWindows
- *
- * This file defines the interface for input devices used by MicroWindows
- * in an embedded system environment.
- */
-
-/*
- * Copyright (c) 2000 - Rosimildo da Silva
- */
-
-#ifndef _MW_UID_H
-#define _MW_UID_H
-
-#include <sys/types.h>
-#include <rtems/print.h>
-
-/**
- * @defgroup libmisc_fb_mw Input Devices for MicroWindows
- *
- * @ingroup libmisc
- */
-/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* 0x41XX -- IOCTL functions for the Micro Input Devices commands */
-#define MW_UID_REGISTER_DEVICE 0x4100
-#define MW_UID_UNREGISTER_DEVICE 0x4101
-
-/* devices supported by MicroWindows */
-enum MW_INPUT_DEVICE_TYPE {
- MV_UID_INVALID = 0,
- MV_UID_REL_POS = 1, /* mouse */
- MV_UID_ABS_POS = 2, /* touch-screen */
- MV_UID_KBD = 3, /* keyboard */
- MV_UID_TIMER = 4 /* timer -- not used */
-};
-
-/* matching MicroWindows */
-#define MV_BUTTON_RIGHT 0x01
-#define MV_BUTTON_CENTER 0x02
-#define MV_BUTTON_LEFT 0x04
-
-/* modifiers of the keyboard type devices */
-#define MV_KEY_MODIFIER_SHIFT_DOWN 0x10
-#define MV_KEY_MODIFIER_ALT_DOWN 0x20
-
-/* indication of the LEDS */
-#define MV_KEY_MODIFIER_CAPS_ON 0x04
-#define MV_KEY_MODIFIER_NUN_LOCK_ON 0x02
-#define MV_KEY_SCROLL_LOCK_ON 0x01
-
-/* keyboard modes -- default ASCII */
-#define MV_KEY_MODE_ASCII 0x01
-/*
- * This mode one event is sent when a key is pressed,
- * and another one is send when a key is released.
- */
-#define MV_KEY_MODE_SCANCODE 0x00
-
-/* these defines match with the linux keyboard range
- * for ioctls functions for the keyboard interface.
- * 0x4BXX --- keyboard related functions
- */
-#define MV_KDGKBMODE 0x4B44 /* gets current keyboard mode */
-#define MV_KDSKBMODE 0x4B45 /* sets current keyboard mode */
-
-/*
- * Message generated by input devices controlled by MicroWindows.
- */
-struct MW_UID_MESSAGE {
- enum MW_INPUT_DEVICE_TYPE type; /* device type */
- union {
- /* fired when keyboard events are raised */
- struct kbd_t {
- unsigned short code; /* keycode or scancode */
- unsigned char modifiers; /* key modifiers */
- unsigned char mode; /* current Kbd mode */
- } kbd;
-
- /* fired when position events are raised, mouse, touch screen, etc */
- struct pos_t {
- unsigned short btns; /* indicates which buttons are pressed */
- short x; /* x location */
- short y; /* y location */
- short z; /* z location, 0 for 2D */
- } pos;
-
- /* fired by a timer device periodically */
- struct timer_t {
- unsigned long frt; /* free running timer */
- unsigned long seq; /* sequence number */
- } tmr;
- } m;
-};
-
-
-/*
- * API for creating/closing/accessing the message queue used by the micro
- * input device interface. All functions in this interface returns a
- * zero ( 0 ) on success. One exception for that is the "read" routine
- * that returns the number of bytes read. Negaive numbers indicate errors
- *
- * The implementation of the message queue for RTEMS uses a POSIX message
- * queue interface. It should be very portable among systems with a POSIX
- * support.
- */
-
-/**
- * This method creates the message queue that holds events from the
- * input devices.
- *
- * @param[in] q_name is the name of the message queue
- * @param[in] flags controls the behaviour of the queue
- * @param[in] max_msgs specifies the maximum number of pending messages
- *
- * @note The message queue is from the Classic API.
- *
- * @retval This method returns 0 on success and -1 on error.
- */
-extern int uid_open_queue( const char *q_name, int flags, size_t max_msgs );
-
-/**
- * This method closes the message queue and deletes it.
- *
- * @retval This method returns 0 on success and -1 on error.
- */
-extern int uid_close_queue( void );
-
-/**
- * This method reads a message from the queue. It waits up to the specified
- * timeout in miliseconds. A @a timeout of 0 is a poll.
- *
- * @param[in] m will be filled in with the received message
- * @param[in] timeout is the maximum number of mulliseconds to wait
- *
- * @retval This method returns 0 on success and -1 on error.
- */
-extern int uid_read_message( struct MW_UID_MESSAGE *m, unsigned long timeout );
-
-/**
- * This methods writes a message to the queue.
- *
- * @param[in] m is the message to send
- *
- * @retval This method returns 0 on success and -1 on error.
- */
-extern int uid_send_message( struct MW_UID_MESSAGE *m );
-
-/**
- * This method registers the device associated with @a fd to
- * to insert data to the queue
- */
-extern int uid_register_device( int fd, const char *q_name );
-
-/* unregister device to stop adding messages to the queue */
-extern int uid_unregister_device( int fd );
-
-/* set the keyboard */
-extern int uid_set_kbd_mode( int fd, int mode, int *old_mode );
-
-/**
- * This methods prints the specified UID message using printk
- *
- * @param[in] uid points to the message to print
- */
-void uid_print_message(
- struct MW_UID_MESSAGE *uid
-);
-
-/**
- * This methods prints the specified UID message using your fprintf
- * style method of choice.
- *
- * @param[in] RTEMS printer
- * @param[in] uid points to the message to print
- */
-void uid_print_message_with_plugin(
- const rtems_printer *printer,
- struct MW_UID_MESSAGE *uid
-);
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif /* _MW_UID_H */
diff --git a/cpukit/libmisc/fsmount/fsmount.h b/cpukit/libmisc/fsmount/fsmount.h
deleted file mode 100644
index 441b0d68ef..0000000000
--- a/cpukit/libmisc/fsmount/fsmount.h
+++ /dev/null
@@ -1,211 +0,0 @@
-/**
- * @file rtems/fsmount.h
- *
- * @defgroup rtems_fstab File System Mount Support
- *
- * @ingroup FileSystemTypesAndMount
- * @brief File System Mount Functions
- *
- * This file contains the fsmount functions. These functions
- * are used to mount a list of filesystems (and create their mount
- * points before).
- */
-
-/*
- * Copyright (c) 2003 IMD
- *
- * Ingenieurbuero fuer Microcomputertechnik Th. Doerfler
- * <Thomas.Doerfler@imd-systems.de>
- * all rights reserved
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _FSMOUNT_H
-#define _FSMOUNT_H
-
-#include <rtems.h>
-#include <rtems/libio.h>
-#include <rtems/libcsupport.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup rtems_fstab File System Mount Support
- *
- * @ingroup FileSystemTypesAndMount
- */
-/**@{**/
-
-/**
- * File system mount report and abort condition flags.
- *
- * The flags define, which conditions will cause a report during the mount
- * process (via printf()) or abort the mount process.
- *
- * @see rtems_fstab_entry and rtems_fsmount().
- */
-typedef enum {
- /**
- * No conditions.
- */
- RTEMS_FSTAB_NONE = 0U,
-
- /**
- * Complete mount process was successful.
- */
- RTEMS_FSTAB_OK = 0x1U,
-
- /**
- * Mount point creation failed.
- */
- RTEMS_FSTAB_ERROR_MOUNT_POINT = 0x2U,
-
- /**
- * File system mount failed.
- */
- RTEMS_FSTAB_ERROR_MOUNT = 0x4U,
-
- /**
- * Something failed.
- */
- RTEMS_FSTAB_ERROR = RTEMS_FSTAB_ERROR_MOUNT_POINT | RTEMS_FSTAB_ERROR_MOUNT,
-
- /**
- * Any condition.
- */
- RTEMS_FSTAB_ANY = RTEMS_FSTAB_OK | RTEMS_FSTAB_ERROR
-} rtems_fstab_conditions;
-
-/**
- * File system table entry.
- */
-typedef struct {
- /**
- * Source for the mount.
- */
- const char *source;
-
- /**
- * Target for the mount.
- */
- const char *target;
-
- /**
- * File system operations.
- */
- const char *type;
-
- /**
- * File system mount options.
- */
- rtems_filesystem_options_t options;
-
- /**
- * Report @ref rtems_fstab_conditions "condition flags".
- */
- uint16_t report_reasons;
-
- /**
- * Abort @ref rtems_fstab_conditions "condition flags".
- */
- uint16_t abort_reasons;
-} rtems_fstab_entry;
-
-/**
- * @brief Mounts the file systems listed in the file system mount table.
- *
- * Mounts the file systems listed in the file system mount table @a fstab of
- * size @a size.
- *
- * Each file system will be mounted according to its table entry parameters.
- * In case of an abort condition the corresponding table index will be reported
- * in @a abort_index. The pointer @a abort_index may be @c NULL. The mount
- * point paths will be created with rtems_mkdir() and need not exist
- * beforehand.
- *
- * On success, zero is returned. On error, -1 is returned, and @c errno is set
- * appropriately.
- *
- * @see rtems_bdpart_register_from_disk().
- *
- * The following example code tries to mount a FAT file system within a SD
- * Card. Some cards do not have a partition table so at first it tries to find
- * a file system inside the hole disk. If this is successful the mount process
- * will be aborted because the @ref RTEMS_FSTAB_OK condition is true. If this
- * did not work it tries to mount the file system inside the first partition.
- * If this fails the mount process will not be aborted (this is already the
- * last entry), but the last error status will be returned.
- *
- * @code
- * #include <stdio.h>
- * #include <string.h>
- * #include <errno.h>
- *
- * #include <rtems.h>
- * #include <rtems/bdpart.h>
- * #include <rtems/error.h>
- * #include <rtems/fsmount.h>
- *
- * static const rtems_fstab_entry fstab [] = {
- * {
- * .source = "/dev/sd-card-a",
- * .target = "/mnt",
- * .type = "dosfs",
- * .options = RTEMS_FILESYSTEM_READ_WRITE,
- * .report_reasons = RTEMS_FSTAB_ANY,
- * .abort_reasons = RTEMS_FSTAB_OK
- * }, {
- * .source = "/dev/sd-card-a1",
- * .target = "/mnt",
- * .type = "dosfs",
- * .options = RTEMS_FILESYSTEM_READ_WRITE,
- * .report_reasons = RTEMS_FSTAB_ANY,
- * .abort_reasons = RTEMS_FSTAB_NONE
- * }
- * };
- *
- * static void my_mount(void)
- * {
- * rtems_status_code sc = RTEMS_SUCCESSFUL;
- * int rv = 0;
- * size_t abort_index = 0;
- *
- * sc = rtems_bdpart_register_from_disk("/dev/sd-card-a");
- * if (sc != RTEMS_SUCCESSFUL) {
- * printf("read partition table failed: %s\n", rtems_status_text(sc));
- * }
- *
- * rv = rtems_fsmount(fstab, sizeof(fstab) / sizeof(fstab [0]), &abort_index);
- * if (rv != 0) {
- * printf("mount failed: %s\n", strerror(errno));
- * }
- * printf("mount aborted at %zu\n", abort_index);
- * }
- * @endcode
- */
-int rtems_fsmount(
- const rtems_fstab_entry *fstab,
- size_t size,
- size_t *abort_index
-);
-
-/** @} */
-
-typedef rtems_fstab_entry fstab_t;
-
-#define FSMOUNT_MNT_OK RTEMS_FSTAB_OK
-
-#define FSMOUNT_MNTPNT_CRTERR RTEMS_FSTAB_ERROR_MOUNT_POINT
-
-#define FSMOUNT_MNT_FAILED RTEMS_FSTAB_ERROR_MOUNT
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _FSMOUNT_H */
diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h
deleted file mode 100644
index 6ecd903c63..0000000000
--- a/cpukit/libmisc/monitor/monitor.h
+++ /dev/null
@@ -1,528 +0,0 @@
-/**
- * @file rtems/monitor.h
- *
- * @brief The RTEMS Monitor Task
- */
-
-
-#ifndef __MONITOR_H
-#define __MONITOR_H
-
-#include <rtems/score/objectimpl.h>
-#include <rtems/error.h> /* rtems_error() */
-#include <rtems/config.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward decls from symbols.h */
-typedef struct _rtems_symbol_t rtems_symbol_t;
-typedef struct _rtems_symbol_table_t rtems_symbol_table_t;
-
-/*
- * Monitor types are derived from rtems object classes
- */
-
-typedef enum {
- RTEMS_MONITOR_OBJECT_INVALID = OBJECTS_CLASSIC_NO_CLASS,
- RTEMS_MONITOR_OBJECT_TASK = OBJECTS_RTEMS_TASKS,
- RTEMS_MONITOR_OBJECT_EXTENSION = OBJECTS_RTEMS_EXTENSIONS,
- RTEMS_MONITOR_OBJECT_QUEUE = OBJECTS_RTEMS_MESSAGE_QUEUES,
- RTEMS_MONITOR_OBJECT_SEMAPHORE = OBJECTS_RTEMS_SEMAPHORES,
- RTEMS_MONITOR_OBJECT_PARTITION = OBJECTS_RTEMS_PARTITIONS,
- RTEMS_MONITOR_OBJECT_REGION = OBJECTS_RTEMS_REGIONS,
- RTEMS_MONITOR_OBJECT_PORT = OBJECTS_RTEMS_PORTS,
-
- /* following monitor objects are not known to RTEMS, but
- * we like to have "types" for them anyway */
-
- RTEMS_MONITOR_OBJECT_DRIVER = OBJECTS_RTEMS_CLASSES_LAST+1,
- RTEMS_MONITOR_OBJECT_DNAME,
- RTEMS_MONITOR_OBJECT_CONFIG,
- RTEMS_MONITOR_OBJECT_INIT_TASK,
- RTEMS_MONITOR_OBJECT_MPCI,
- RTEMS_MONITOR_OBJECT_SYMBOL,
- #if defined(RTEMS_POSIX_API)
- RTEMS_MONITOR_OBJECT_PTHREAD,
- #endif
-} rtems_monitor_object_type_t;
-
-/*
- * rtems_monitor_init() flags
- */
-
-#define RTEMS_MONITOR_SUSPEND 0x0001 /* suspend monitor on startup */
-#define RTEMS_MONITOR_GLOBAL 0x0002 /* monitor should be global */
-#define RTEMS_MONITOR_NOTASK 0x0004 /* do not start monitor task */
-#define RTEMS_MONITOR_NOSYMLOAD 0x0008 /* do not load symbols */
-#define RTEMS_MONITOR_WAITQUIT 0x0010 /* wait for monitor task to terminate */
-
-/*
- * Public interfaces for RTEMS data structures monitor is aware of.
- * These are only used by the monitor.
- *
- * NOTE:
- * All the canonical objects that correspond to RTEMS managed "objects"
- * must have an identical first portion with 'id' and 'name' fields.
- *
- * Others do not have that restriction, even tho we would like them to.
- * This is because some of the canonical structures are almost too big
- * for shared memory driver (eg: mpci) and we are nickel and diming it.
- */
-
-/*
- * Type of a pointer that may be a symbol
- */
-
-#define MONITOR_SYMBOL_LEN 20
-typedef struct {
- char name[MONITOR_SYMBOL_LEN];
- uint32_t value;
- uint32_t offset;
-} rtems_monitor_symbol_t;
-
-typedef struct {
- rtems_id id;
- rtems_name name;
- /* end of common portion */
-} rtems_monitor_generic_t;
-
-/*
- * Task
- */
-typedef struct {
- rtems_id id;
- rtems_name name;
- /* end of common portion */
- char short_name[5];
- char long_name[16];
- Thread_Entry_information entry;
- void *stack;
- uint32_t stack_size;
- char scheduler_name[5];
- rtems_task_priority priority;
- States_Control state;
- rtems_event_set events;
- rtems_mode modes;
- rtems_attribute attributes;
- char wait[17];
- uint32_t ticks;
-} rtems_monitor_task_t;
-
-/*
- * Init task
- */
-
-typedef struct {
- rtems_id id; /* not really an id */
- rtems_name name;
- /* end of common portion */
- rtems_monitor_symbol_t entry;
- uint32_t argument;
- uint32_t stack_size;
- rtems_task_priority priority;
- rtems_mode modes;
- rtems_attribute attributes;
-} rtems_monitor_init_task_t;
-
-
-/*
- * Message queue
- */
-typedef struct {
- rtems_id id;
- rtems_name name;
- /* end of common portion */
- rtems_attribute attributes;
- uint32_t number_of_pending_messages;
- uint32_t maximum_pending_messages;
- size_t maximum_message_size;
-} rtems_monitor_queue_t;
-
-/*
- * Semaphore
- */
-typedef struct {
- rtems_id id;
- rtems_name name;
- /* end of common portion */
- rtems_attribute attribute;
- rtems_task_priority priority_ceiling;
- uint32_t max_count;
- uint32_t cur_count;
- rtems_id holder_id;
-} rtems_monitor_sema_t;
-
-/*
- * Extension
- */
-typedef struct {
- rtems_id id;
- rtems_name name;
- /* end of common portion */
- rtems_monitor_symbol_t e_create;
- rtems_monitor_symbol_t e_start;
- rtems_monitor_symbol_t e_restart;
- rtems_monitor_symbol_t e_delete;
- rtems_monitor_symbol_t e_tswitch;
- rtems_monitor_symbol_t e_begin;
- rtems_monitor_symbol_t e_exitted;
- rtems_monitor_symbol_t e_fatal;
-} rtems_monitor_extension_t;
-
- /*
- * Region
- */
-typedef struct {
- rtems_id id;
- rtems_name name;
- /* end of common portion */
- rtems_attribute attribute;
- void * start_addr;
- uint32_t length;
- uint32_t page_size;
- uint32_t max_seg_size;
- uint32_t used_blocks;
-} rtems_monitor_region_t;
-
-/*
- * Partition
- */
-typedef struct {
- rtems_id id;
- rtems_name name;
- /* end of common portion */
- rtems_attribute attribute;
- void * start_addr;
- uint32_t length;
- uint32_t buf_size;
- uint32_t used_blocks;
-} rtems_monitor_part_t;
-
-/*
- * Device driver
- */
-
-typedef struct {
- rtems_id id; /* not really an id (should be tho) */
- rtems_name name; /* ditto */
- /* end of common portion */
- rtems_monitor_symbol_t initialization; /* initialization procedure */
- rtems_monitor_symbol_t open; /* open request procedure */
- rtems_monitor_symbol_t close; /* close request procedure */
- rtems_monitor_symbol_t read; /* read request procedure */
- rtems_monitor_symbol_t write; /* write request procedure */
- rtems_monitor_symbol_t control; /* special functions procedure */
-} rtems_monitor_driver_t;
-
-/*
- * System config
- */
-
-typedef struct {
- void *work_space_start;
- uint32_t work_space_size;
- uint32_t maximum_tasks;
- uint32_t maximum_timers;
- uint32_t maximum_semaphores;
- uint32_t maximum_message_queues;
- uint32_t maximum_partitions;
- uint32_t maximum_regions;
- uint32_t maximum_ports;
- uint32_t maximum_periods;
- uint32_t maximum_extensions;
- uint32_t microseconds_per_tick;
- uint32_t ticks_per_timeslice;
- uint32_t number_of_initialization_tasks;
-} rtems_monitor_config_t;
-
-/*
- * MPCI config
- */
-
-#if defined(RTEMS_MULTIPROCESSING)
-typedef struct {
- uint32_t node; /* local node number */
- uint32_t maximum_nodes; /* maximum # nodes in system */
- uint32_t maximum_global_objects; /* maximum # global objects */
- uint32_t maximum_proxies; /* maximum # proxies */
-
- uint32_t default_timeout; /* in ticks */
- size_t maximum_packet_size;
- rtems_monitor_symbol_t initialization;
- rtems_monitor_symbol_t get_packet;
- rtems_monitor_symbol_t return_packet;
- rtems_monitor_symbol_t send_packet;
- rtems_monitor_symbol_t receive_packet;
-} rtems_monitor_mpci_t;
-#endif
-
-/*
- * The generic canonical information union
- */
-
-typedef union {
- rtems_monitor_generic_t generic;
- rtems_monitor_task_t task;
- rtems_monitor_queue_t queue;
- rtems_monitor_sema_t sema;
- rtems_monitor_extension_t extension;
- rtems_monitor_driver_t driver;
- rtems_monitor_config_t config;
- rtems_monitor_region_t region;
- rtems_monitor_part_t part;
-#if defined(RTEMS_MULTIPROCESSING)
- rtems_monitor_mpci_t mpci;
-#endif
- rtems_monitor_init_task_t itask;
-} rtems_monitor_union_t;
-
-/*
- * Support for talking to other monitors
- */
-
-/*
- * Names of other monitors
- */
-
-#define RTEMS_MONITOR_NAME (rtems_build_name('R', 'M', 'O', 'N'))
-#define RTEMS_MONITOR_SERVER_NAME (rtems_build_name('R', 'M', 'S', 'V'))
-#define RTEMS_MONITOR_QUEUE_NAME (rtems_build_name('R', 'M', 'S', 'Q'))
-#define RTEMS_MONITOR_RESPONSE_QUEUE_NAME (rtems_build_name('R', 'M', 'R', 'Q'))
-
-#define RTEMS_MONITOR_SERVER_RESPONSE 0x0001
-#define RTEMS_MONITOR_SERVER_CANONICAL 0x0002
-
-typedef struct
-{
- uint32_t command;
- rtems_id return_id;
- uint32_t argument0;
- uint32_t argument1;
- uint32_t argument2;
- uint32_t argument3;
- uint32_t argument4;
- uint32_t argument5;
-} rtems_monitor_server_request_t;
-
-typedef struct
-{
- uint32_t command;
- uint32_t result0;
- uint32_t result1;
- rtems_monitor_union_t payload;
-} rtems_monitor_server_response_t;
-
-extern rtems_id rtems_monitor_task_id;
-
-extern uint32_t rtems_monitor_node; /* our node number */
-extern uint32_t rtems_monitor_default_node; /* current default for commands */
-
-/*
- * Monitor command function and table entry
- */
-
-typedef struct rtems_monitor_command_entry_s rtems_monitor_command_entry_t;
-typedef union _rtems_monitor_command_arg_t rtems_monitor_command_arg_t;
-
-typedef void (*rtems_monitor_command_function_t)(
- int argc,
- char **argv,
- const rtems_monitor_command_arg_t *command_arg,
- bool verbose
-);
-
-union _rtems_monitor_command_arg_t {
- rtems_monitor_object_type_t monitor_object;
- rtems_status_code status_code;
- rtems_symbol_table_t **symbol_table;
- const rtems_monitor_command_entry_t *monitor_command_entry;
-};
-
-struct rtems_monitor_command_entry_s {
- const char *command; /* command name */
- const char *usage; /* usage string for the command */
- uint32_t arguments_required; /* # of required args */
- rtems_monitor_command_function_t command_function;
- /* Some argument for the command */
- rtems_monitor_command_arg_t command_arg;
- const rtems_monitor_command_entry_t *next;
-};
-
-
-typedef const void *(*rtems_monitor_object_next_fn)(void *, void *, rtems_id *);
-typedef void (*rtems_monitor_object_canonical_fn)(void *, const void *);
-typedef void (*rtems_monitor_object_dump_header_fn)(bool);
-typedef void (*rtems_monitor_object_dump_fn)(void *, bool);
-
-typedef struct {
- rtems_monitor_object_type_t type;
- void *object_information;
- int size; /* of canonical object */
- rtems_monitor_object_next_fn next;
- rtems_monitor_object_canonical_fn canonical;
- rtems_monitor_object_dump_header_fn dump_header;
- rtems_monitor_object_dump_fn dump;
-} rtems_monitor_object_info_t;
-
-typedef bool (*rtems_monitor_per_command_routine)(const rtems_monitor_command_entry_t *, void *);
-
-/* monitor.c */
-void rtems_monitor_pause_cmd(int, char **, const rtems_monitor_command_arg_t*, bool);
-void rtems_monitor_fatal_cmd(int, char **, const rtems_monitor_command_arg_t*, bool);
-void rtems_monitor_continue_cmd(int, char **, const rtems_monitor_command_arg_t*, bool);
-void rtems_monitor_debugger_cmd(int, char **, const rtems_monitor_command_arg_t*, bool);
-void rtems_monitor_reset_cmd(int, char **, const rtems_monitor_command_arg_t*, bool);
-void rtems_monitor_node_cmd(int, char **, const rtems_monitor_command_arg_t*, bool);
-void rtems_monitor_symbols_loadup(void);
-int rtems_monitor_insert_cmd(rtems_monitor_command_entry_t *);
-void rtems_monitor_wakeup(void);
-void rtems_monitor_command_iterate(rtems_monitor_per_command_routine routine, void *arg);
-rtems_status_code rtems_monitor_suspend(rtems_interval timeout);
-
-/* editor.c */
-void rtems_monitor_kill(void);
-void rtems_monitor_init(uint32_t);
-void rtems_monitor_task(rtems_task_argument);
-
-/* server.c */
-void rtems_monitor_server_kill(void);
-rtems_status_code rtems_monitor_server_request(uint32_t , rtems_monitor_server_request_t *, rtems_monitor_server_response_t *);
-void rtems_monitor_server_task(rtems_task_argument);
-void rtems_monitor_server_init(uint32_t);
-
-/* command.c */
-int rtems_monitor_make_argv(char *, int *, char **);
-int rtems_monitor_command_read(char *, int *, char **);
-void rtems_monitor_command_usage(const rtems_monitor_command_entry_t *, const char *);
-void rtems_monitor_help_cmd(int, char **, const rtems_monitor_command_arg_t *, bool);
-const rtems_monitor_command_entry_t *rtems_monitor_command_lookup(const char *name);
-
-/* prmisc.c */
-void rtems_monitor_separator(void);
-uint32_t rtems_monitor_pad(uint32_t dest_col, uint32_t curr_col);
-int rtems_monitor_dump_decimal(uint32_t num);
-int rtems_monitor_dump_hex(uint32_t num);
-int rtems_monitor_dump_addr(const void *addr);
-int rtems_monitor_dump_id(rtems_id id);
-int rtems_monitor_dump_name(rtems_id id);
-int rtems_monitor_dump_priority(rtems_task_priority priority);
-int rtems_monitor_dump_state(States_Control state);
-int rtems_monitor_dump_modes(rtems_mode modes);
-int rtems_monitor_dump_attributes(rtems_attribute attributes);
-int rtems_monitor_dump_events(rtems_event_set events);
-
-/* object.c */
-rtems_id rtems_monitor_id_fixup(rtems_id, uint32_t , rtems_monitor_object_type_t);
-const rtems_monitor_object_info_t *rtems_monitor_object_lookup(rtems_monitor_object_type_t type);
-rtems_id rtems_monitor_object_canonical_get(rtems_monitor_object_type_t, rtems_id, void *, size_t *size_p);
-rtems_id rtems_monitor_object_canonical_next(const rtems_monitor_object_info_t *, rtems_id, void *);
-const void *rtems_monitor_object_next(void *, void *, rtems_id, rtems_id *);
-rtems_id rtems_monitor_object_canonical(rtems_id, const void *);
-void rtems_monitor_object_cmd(int, char **, const rtems_monitor_command_arg_t*, bool);
-
-/* manager.c */
-const void *rtems_monitor_manager_next(void *, void *, rtems_id *);
-
-/* config.c */
-void rtems_monitor_config_canonical(rtems_monitor_config_t *, const void *);
-const void *rtems_monitor_config_next(void *, rtems_monitor_config_t *, rtems_id *);
-void rtems_monitor_config_dump_header(bool);
-int rtems_monitor_config_dump(rtems_monitor_config_t *, bool verbose);
-
-/* mpci.c */
-#if defined(RTEMS_MULTIPROCESSING)
-void rtems_monitor_mpci_canonical(rtems_monitor_mpci_t *, const void *);
-const void *rtems_monitor_mpci_next(void *, rtems_monitor_mpci_t *, rtems_id *);
-void rtems_monitor_mpci_dump_header(bool);
-void rtems_monitor_mpci_dump(rtems_monitor_mpci_t *, bool verbose);
-#endif
-
-/* itask.c */
-void rtems_monitor_init_task_canonical(rtems_monitor_init_task_t *, const void *);
-const void *rtems_monitor_init_task_next(void *, rtems_monitor_init_task_t *, rtems_id *);
-void rtems_monitor_init_task_dump_header(bool);
-void rtems_monitor_init_task_dump(rtems_monitor_init_task_t *, bool verbose);
-
-/* extension.c */
-void rtems_monitor_extension_canonical(rtems_monitor_extension_t *, const void *);
-void rtems_monitor_extension_dump_header(bool verbose);
-void rtems_monitor_extension_dump(rtems_monitor_extension_t *, bool);
-
-/* task.c */
-void rtems_monitor_task_canonical(rtems_monitor_task_t *, const void *);
-void rtems_monitor_task_dump_header(bool verbose);
-void rtems_monitor_task_dump(rtems_monitor_task_t *, bool);
-
-/* sema.c */
-void rtems_monitor_sema_canonical(rtems_monitor_sema_t *, const void *);
-void rtems_monitor_sema_dump_header(bool verbose);
-void rtems_monitor_sema_dump(rtems_monitor_sema_t *, bool);
-
-/* queue.c */
-void rtems_monitor_queue_canonical(rtems_monitor_queue_t *, const void *);
-void rtems_monitor_queue_dump_header(bool verbose);
-void rtems_monitor_queue_dump(rtems_monitor_queue_t *, bool);
-
-/* region.c */
-void rtems_monitor_region_canonical(rtems_monitor_region_t *, const void *);
-void rtems_monitor_region_dump_header(bool verbose);
-void rtems_monitor_region_dump(rtems_monitor_region_t *, bool);
-
-/* partition.c */
-void rtems_monitor_part_canonical(rtems_monitor_part_t *, const void *);
-void rtems_monitor_part_dump_header(bool verbose);
-void rtems_monitor_part_dump(rtems_monitor_part_t *, bool);
-
-/* driver.c */
-const void *rtems_monitor_driver_next(void *, rtems_monitor_driver_t *, rtems_id *);
-void rtems_monitor_driver_canonical(rtems_monitor_driver_t *, const void *);
-void rtems_monitor_driver_dump_header(bool);
-void rtems_monitor_driver_dump(rtems_monitor_driver_t *, bool);
-
-/* symbols.c */
-rtems_symbol_table_t *rtems_symbol_table_create(void);
-void rtems_symbol_table_destroy(rtems_symbol_table_t *table);
-
-rtems_symbol_t *rtems_symbol_create(rtems_symbol_table_t *, const char *, uint32_t);
-rtems_symbol_t *rtems_symbol_value_lookup(rtems_symbol_table_t *, uint32_t);
-const rtems_symbol_t *rtems_symbol_value_lookup_exact(rtems_symbol_table_t *, uint32_t);
-rtems_symbol_t *rtems_symbol_name_lookup(rtems_symbol_table_t *, const char *);
-const void *rtems_monitor_symbol_next(void *object_info, rtems_monitor_symbol_t *, rtems_id *);
-void rtems_monitor_symbol_canonical(rtems_monitor_symbol_t *, rtems_symbol_t *);
-void rtems_monitor_symbol_canonical_by_name(rtems_monitor_symbol_t *, const char *);
-void rtems_monitor_symbol_canonical_by_value(rtems_monitor_symbol_t *, void *);
-uint32_t rtems_monitor_symbol_dump(rtems_monitor_symbol_t *, bool);
-void rtems_monitor_symbol_cmd(int, char **, const rtems_monitor_command_arg_t*, bool);
-
-#if defined(RTEMS_NETWORKING)
-void mon_ifconfig(
- int argc,
- char *argv[],
- uint32_t command_arg,
- bool verbose
-);
-void mon_route(
- int argc,
- char *argv[],
- uint32_t command_arg,
- bool verbose
-);
-#endif
-
-/* mon-object.c */
-const rtems_monitor_object_info_t *rtems_monitor_object_lookup(
- rtems_monitor_object_type_t type
-);
-
-/* shared data */
-extern rtems_symbol_table_t *rtems_monitor_symbols;
-
-#define MONITOR_WAKEUP_EVENT RTEMS_EVENT_0
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! __MONITOR_H */
diff --git a/cpukit/libmisc/mouse/mouse_parser.h b/cpukit/libmisc/mouse/mouse_parser.h
deleted file mode 100644
index 27bea1bbbc..0000000000
--- a/cpukit/libmisc/mouse/mouse_parser.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * @file rtems/mouse_parser.h
- *
- * @brief Initialize Mouse Parser Engine
- *
- * This file is the header file for the Mouse Parser Engine.
- */
-
-/*
- * This file is derived from a UNIX Serial Port Mouse Driver with the
- * following notice:
- *
- * ==================================================================
- * Copyright (c) 1999 Greg Haerr <greg@censoft.com>
- * Portions Copyright (c) 1991 David I. Bell
- * Permission is granted to use, distribute, or modify this source,
- * provided that this copyright notice remains intact.
- *
- * UNIX Serial Port Mouse Driver
- *
- * This driver opens a serial port directly, and interprets serial data.
- * Microsoft, PC, Logitech and PS/2 mice are supported. The PS/2 mouse
- * is only supported if the OS runs the mouse byte codes through the
- * serial port.
- *
- * Mouse Types Supported: pc ms, logi, ps2
- * ==================================================================
- *
- * It has been modified to support the concept of being just a parser
- * fed data from an arbitrary source. It is independent of either
- * a PS/2 driver or a serial port.
- *
- * It was moved to cpukit/libmisc/mouse by Joel Sherrill.
- */
-
-#ifndef __MOUSE_PARSER_h__
-#define __MOUSE_PARSER_h__
-
-#include <rtems/mw_uid.h>
-
-/**
- * @defgroup libmisc_mouseparser Mouse Parser Engine
- * @ingroup libmisc_mouse
- */
-/**@{*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * This is the mask for the right button.
- *
- * @note Use the same definitions as the user interface.
- */
-#define RBUTTON MV_BUTTON_RIGHT
-
-/**
- * This is the mask for the center button.
- *
- * @note Use the same definitions as the user interface.
- */
-#define MBUTTON MV_BUTTON_CENTER
-
-/**
- * This is the mask for the left button.
- *
- * @note Use the same definitions as the user interface.
- */
-#define LBUTTON MV_BUTTON_LEFT
-
-/**
- * This type is the device coordinates.
- */
-typedef int COORD;
-
-/**
- * This type is the mouse button mask.
- */
-typedef unsigned int BUTTON;
-
-/**
- * This type defines a pointer to the enqueue method. It is
- * available since some device drivers keep pointers to the method
- * to know when to enqueue or not.
- */
-typedef void (*mouse_parser_enqueue_handler)(unsigned char *, size_t);
-
-/**
- * @brief Initialize the mouse parser engine.
- *
- * This method initializes the Mouse Parser Engine for the mouse
- * of @a type. The @a type should be one of the following strings:
- * pc ms, logi, ps2.
- *
- * @a param[in] type indicates the type of mouse.
- *
- * @retval This method returns 0 on success and -1 on error.
- */
-int mouse_parser_initialize(const char *type);
-
-/**
- * @brief Enqueue input to the mouse parser engine.
- *
- * This method is used to pass mouse input to the Mouse Parser Engine.
- *
- * @a param[in] buffer is the data to enqueue
- * @a param[in] size is the amount of data to enqueue
- */
-void mouse_parser_enqueue(
- unsigned char *buffer,
- size_t size
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-/**@}*/
-
-#endif
diff --git a/cpukit/libmisc/mouse/serial_mouse.h b/cpukit/libmisc/mouse/serial_mouse.h
deleted file mode 100644
index 174fcfb909..0000000000
--- a/cpukit/libmisc/mouse/serial_mouse.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
- * @file
- *
- * @brief Serial Mouse Driver
- *
- * This file describes the Serial Mouse Driver for all boards.
- * This driver assumes that the BSP or application will provide
- * an implementation of the method bsp_get_serial_mouse_device()
- * which tells the driver what serial port device to open() and
- * what type of mouse is connected.
- *
- * This driver relies on the Mouse Parser Engine.
- */
-
-/*
- * COPYRIGHT (c) 1989-2011.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef __SERIAL_MOUSE_h__
-#define __SERIAL_MOUSE_h__
-
-#include <rtems/io.h>
-
-/* functions */
-
-/**
- * @defgroup libmisc_serialmouse Serial Mouse Driver
- * @ingroup libmisc_mouse
- */
-/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Standard device file path for a PS2 mouse device.
- */
-#define SERIAL_MOUSE_DEVICE_PS2 "/dev/psaux"
-
-/**
- * This macro defines the serial mouse device driver entry points.
- */
-#define SERIAL_MOUSE_DRIVER_TABLE_ENTRY \
- { serial_mouse_initialize, serial_mouse_open, serial_mouse_close, \
- serial_mouse_read, serial_mouse_write, serial_mouse_control }
-
-/**
- * @brief The initialization of the serial mouse driver.
- *
- * This method initializes the serial mouse driver.
- *
- * @param[in] major is the mouse device major number
- * @param[in] minor is the mouse device minor number
- * @param[in] arg points to device driver arguments
- */
-rtems_device_driver serial_mouse_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-/**
- * @brief Open device driver entry point for the serial mouse driver.
- *
- * This method implements the Open device driver entry
- * point for the serial mouse driver.
- *
- * @param[in] major is the mouse device major number
- * @param[in] minor is the mouse device minor number
- * @param[in] arg points to device driver arguments
- */
-rtems_device_driver serial_mouse_open(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-/**
- * @brief Close device driver entry point for the serial mouse driver.
- *
- * This method implements the Close device driver entry
- * point for the serial mouse driver.
- *
- * @param[in] major is the mouse device major number
- * @param[in] minor is the mouse device minor number
- * @param[in] arg points to device driver arguments
- */
-rtems_device_driver serial_mouse_close(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-/**
- * @brief Read device driver entry point for the serial mouse driver.
- *
- * This method implements the Read device driver entry
- * point for the serial mouse driver.
- *
- * @param[in] major is the mouse device major number
- * @param[in] minor is the mouse device minor number
- * @param[in] arg points to device driver arguments
- */
-rtems_device_driver serial_mouse_read(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-/**
- * @brief Write device driver entry point for the serial mouse driver.
- *
- * This method implements the Write device driver entry
- * point for the serial mouse driver.
- *
- * @param[in] major is the mouse device major number
- * @param[in] minor is the mouse device minor number
- * @param[in] arg points to device driver arguments
- */
-rtems_device_driver serial_mouse_write(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-/**
- * @brief IO Control device driver entry point for the serial mouse driver.
- *
- * This method implements the IO Control device driver entry
- * point for the serial mouse driver.
- *
- * @param[in] major is the mouse device major number
- * @param[in] minor is the mouse device minor number
- * @param[in] arg points to device driver arguments
- */
-rtems_device_driver serial_mouse_control(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-);
-
-/**
- * @brief Obtain serial mouse configuration information.
- *
- * This method is implemented by the BSP or application and
- * tells the driver what device to open() and what type of
- * mouse is connected.
- *
- * @param[in] name will point to a string with the device name
- * of the serial port with the mouse connected.
- * @param[in] type will point to a string with the type of mouse connected.
- *
- * @retval This method returns true on success and false on error.
- */
-bool bsp_get_serial_mouse_device(
- const char **name,
- const char **type
-);
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif /* __tty_drv__ */
diff --git a/cpukit/libmisc/preinstall.am b/cpukit/libmisc/preinstall.am
deleted file mode 100644
index f6a7e763d2..0000000000
--- a/cpukit/libmisc/preinstall.am
+++ /dev/null
@@ -1,9 +0,0 @@
-## Automatically generated by ampolish3 - Do not edit
-
-if AMPOLISH3
-$(srcdir)/preinstall.am: Makefile.am
- $(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
-endif
-
-if LIBSHELL
-endif
diff --git a/cpukit/libmisc/redirector/stdio-redirect.h b/cpukit/libmisc/redirector/stdio-redirect.h
deleted file mode 100644
index 6f1d4cdd98..0000000000
--- a/cpukit/libmisc/redirector/stdio-redirect.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2014 Chris Johns (chrisj@rtems.org)
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution.
- *
- * This software with is provided ``as is'' and with NO WARRANTY.
- */
-
-/*
- * @brief Redirect an stdio file decriptor.
- *
- * The is a helper module of code design to redirect an stdio file
- * descriptor. You can optionally have the data buffered and/or you can provide
- * a handler function that is called when data arrives.
- *
- * The module uses standard POSIX calls to implement the redirection and if the
- * threading was POSIX based the code would be portable. Currently the code
- * uses RTEMS threads.
- *
- * Redirecting stderr and stdout is useful in embedded system because you can
- * transport the output off your device or create a web interface that can
- * display the output. This can be a very powerful diagnostic and support tool.
- *
- * The implementation does:
- *
- * 1. Duplicate the file descriptor (fd) to redirect using the dup call. The
- * duplicated desciptor is used to echo the output out the existing path.
- *
- * 2. Create a pipe using the pipe call.
- *
- * 3. Duplicate the pipe's writer file descriptor to user's file
- * descriptor. This results in any writes to the user's fd being written to
- * the pipe.
- *
- * 4. Create a reader task that blocks on the pipe. It optionally calls a
- * handler and if configured buffers the data.
- */
-
-#if !defined(RTEMS_STDIO_REDIRECT_H)
-#define RTEMS_STDIO_REDIRECT_H
-
-#include <stdbool.h>
-#include <rtems.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/*
- * Handler called whenever redirected data arrives.
- *
- * @param buffer The data.
- * @param length The amount of data in the buffer.
- */
-typedef void (*rtems_stdio_redirect_handler)(const char* buffer,
- ssize_t length);
-
-/*
- * Redirector data.
- */
-typedef struct
-{
- volatile uint32_t state; /**< The state. */
- rtems_id reader; /**< The reader thread. */
- rtems_id lock; /**< Lock for this struct. */
- int fd; /**< The file descriptor to redirect. */
- int fd_dup; /**< Duplicated fd to write to. */
- int pipe[2]; /**< The pipe to the reader thread. */
- char* input; /**< The input buffer the reader uses. */
- ssize_t input_size; /**< The input buffer size. */
- char* buffer; /**< Captured redirected data. */
- ssize_t buffer_size; /**< Capture buffer size. */
- ssize_t in; /**< Buffer in index. */
- bool full; /**< The buffer is full. */
- bool echo; /**< Echo the data out the existing path. */
- rtems_stdio_redirect_handler handler; /**< Redirected data handler. */
-} rtems_stdio_redirect;
-
-/*
- * Open a redirector returning the handle to it.
- *
- * @param fd The file descriptor to redirect.
- * @param priority The priority of the reader thread.
- */
-rtems_stdio_redirect* rtems_stdio_redirect_open(int fd,
- rtems_task_priority priority,
- size_t stack_size,
- ssize_t input_size,
- ssize_t buffer_size,
- bool echo,
- rtems_stdio_redirect_handler handler);
-
-/*
- * Close the redirector.
- */
-void rtems_stdio_redirect_close(rtems_stdio_redirect* sr);
-
-/*
- * Get data from the capture buffer. Data read is removed from the buffer.
- *
- * @param sr The stdio redirection handle.
- * @param buffer The buffer data is written into.
- * @param length The size of the buffer.
- * @return ssize_t The amount of data written and -1 or an error.
- */
-ssize_t rtems_stdio_redirect_read(rtems_stdio_redirect* sr,
- char* buffer,
- ssize_t length);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/cpukit/libmisc/rtems-fdt/rtems-fdt-shell.h b/cpukit/libmisc/rtems-fdt/rtems-fdt-shell.h
deleted file mode 100644
index 74e9a44aaf..0000000000
--- a/cpukit/libmisc/rtems-fdt/rtems-fdt-shell.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * COPYRIGHT (c) 2013-2017 Chris Johns <chrisj@rtems.org>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-/**
- * @file
- *
- * @ingroup rtems_fdt
- *
- * @brief RTEMS Flattened Device Tree Shell Command
- *
- * Support for loading, managing and accessing FDT blobs in RTEMS.
- */
-
-#if !defined (_RTEMS_FDT_SHELL_H_)
-#define _RTEMS_FDT_SHELL_H_
-
-#include <rtems/rtems-fdt.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * Add a shell command to access memory and registers associated with the DTF.
- */
-void rtems_fdt_add_shell_command (void);
-
-/**
- * Get a pointer to the handle. You can use this to load files or register
- * blobs and have the shell command access them.
- */
-rtems_fdt_handle* rtems_fdt_get_shell_handle (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/cpukit/libmisc/rtems-fdt/rtems-fdt.h b/cpukit/libmisc/rtems-fdt/rtems-fdt.h
deleted file mode 100644
index ebc222e4c9..0000000000
--- a/cpukit/libmisc/rtems-fdt/rtems-fdt.h
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * COPYRIGHT (c) 2013-2017 Chris Johns <chrisj@rtems.org>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- *
- * Interface based on the libdft:
- * libfdt - Flat Device Tree manipulation
- * Copyright (C) 2006 David Gibson, IBM Corporation.
- */
-/**
- * @file
- *
- * @ingroup rtems_fdt
- *
- * @brief RTEMS Flattened Device Tree
- *
- * Support for loading, managing and accessing FDT blobs in RTEMS.
- */
-
-#if !defined (_RTEMS_FDT_H_)
-#define _RTEMS_FDT_H_
-
-#include <rtems.h>
-#include <rtems/chain.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * A blob.
- */
-struct rtems_fdt_blob;
-typedef struct rtems_fdt_blob rtems_fdt_blob;
-
-/**
- * A blob handle is a way to manage access to the FDT blobs. The blob is
- * referenced via the handle to allow searches across loaded DTB's to return
- * the referenced DTB.
- */
-typedef struct
-{
- rtems_fdt_blob* blob; /**< The blob the handle references. */
-} rtems_fdt_handle;
-
-/*
- * The following are mappings to the standard FDT calls.
- */
-
-/**
- * RTEMS_FDT_ERR_NOTFOUND: The requested node or property does not exist
- */
-#define RTEMS_FDT_ERR_NOTFOUND 1
-/**
- * RTEMS_FDT_ERR_EXISTS: Attemped to create a node or property which already
- * exists */
-#define RTEMS_FDT_ERR_EXISTS 2
-/**
- * RTEMS_FDT_ERR_NOSPACE: Operation needed to expand the device tree, but its
- * buffer did not have sufficient space to contain the expanded tree. Use
- * rtems_fdt_open_into() to move the device tree to a buffer with more space.
- */
-#define RTEMS_FDT_ERR_NOSPACE 3
-
-/* Error codes: codes for bad parameters */
-/**
- * RTEMS_FDT_ERR_BADOFFSET: Function was passed a structure block offset which
- * is out-of-bounds, or which points to an unsuitable part of the structure for
- * the operation.
- */
-#define RTEMS_FDT_ERR_BADOFFSET 4
-/**
- * RTEMS_FDT_ERR_BADPATH: Function was passed a badly formatted path
- * (e.g. missing a leading / for a function which requires an absolute path)
-*/
-#define RTEMS_FDT_ERR_BADPATH 5
-/**
- * RTEMS_FDT_ERR_BADPHANDLE: Function was passed an invalid phandle value.
- * phandle values of 0 and -1 are not permitted.
- */
-#define RTEMS_FDT_ERR_BADPHANDLE 6
-/**
- * RTEMS_FDT_ERR_BADSTATE: Function was passed an incomplete device tree
- * created by the sequential-write functions, which is not sufficiently
- * complete for the requested operation.
- */
-#define RTEMS_FDT_ERR_BADSTATE 7
-
-/* Error codes: codes for bad device tree blobs */
-
-/**
- * RTEMS_FDT_ERR_TRUNCATED: Structure block of the given device tree ends
- * without an RTEMS_FDT_END tag.
- */
-#define RTEMS_FDT_ERR_TRUNCATED 8
-/**
- * RTEMS_FDT_ERR_BADMAGIC: Given "device tree" appears not to be a device tree
- * at all - it is missing the flattened device tree magic number.
- */
-#define RTEMS_FDT_ERR_BADMAGIC 9
-/** RTEMS_FDT_ERR_BADVERSION: Given device tree has a version which can't be
- * handled by the requested operation. For read-write functions, this may mean
- * that rtems_fdt_open_into() is required to convert the tree to the expected
- * version.
- */
-#define RTEMS_FDT_ERR_BADVERSION 10
-/**
- * RTEMS_FDT_ERR_BADSTRUCTURE: Given device tree has a corrupt structure block
- * or other serious error (e.g. misnested nodes, or subnodes preceding
- * properties).
- */
-#define RTEMS_FDT_ERR_BADSTRUCTURE 11
-/**
- * RTEMS_FDT_ERR_BADLAYOUT: For read-write functions, the given device tree has
- * it's sub-blocks in an order that the function can't handle (memory reserve
- * map, then structure, then strings). Use rtems_fdt_open_into() to reorganize
- * the tree into a form suitable for the read-write operations.
- */
-#define RTEMS_FDT_ERR_BADLAYOUT 12
-/**
- * "Can't happen" error indicating a bug in libfdt
- */
-#define RTEMS_FDT_ERR_INTERNAL 13
-
-/* RTEMS error codes. */
-
-/**
- * Invalid handle.
- */
-#define RTEMS_FDT_ERR_INVALID_HANDLE 100
-/**
- * No memory.
- */
-#define RTEMS_FDT_ERR_NO_MEMORY 101
-/**
- * File not found.
- */
-#define RTEMS_FDT_ERR_NOT_FOUND 102
-/**
- * Cannot read the DTB into memory.
- */
-#define RTEMS_FDT_ERR_READ_FAIL 103
-/**
- * The blob cannot be unloaded as it is referenced.
- */
-#define RTEMS_FDT_ERR_REFERENCED 104
-
-#define RTEMS_FDT_ERR_RTEMS_MIN 100
-#define RTEMS_FDT_ERR_MAX 104
-
-/**
- * Initialise a handle to a default state.
- *
- * @param handle The handle to initialise.
- */
-void rtems_fdt_init_handle (rtems_fdt_handle* handle);
-
-/**
- * Duplicate a handle. The copy must be released.
- *
- * @param from Duplicate from this handle.
- * @param to Duplicate to this handle.
- */
-void rtems_fdt_dup_handle (rtems_fdt_handle* from, rtems_fdt_handle* to);
-
-/**
- * Release a blob from a handle and clear it.
- *
- * @param handle The handle to check.
- */
-void rtems_fdt_release_handle (rtems_fdt_handle* handle);
-
-/**
- * Check if a handle had a valid blob assigned.
- *
- * @param handle The handle to check.
- * @retval true The handle has a valid blob.
- * @retval false The handle does not have a valid blob.
- */
-bool rtems_fdt_valid_handle (const rtems_fdt_handle* handle);
-
-/**
- * Find a tree node by its full path looking across of loaded blobs.. Each path
- * component may omit the unit address portion, but the results of this are
- * undefined if any such path component is ambiguous (that is if there are
- * multiple nodes at the relevant level matching the given component,
- * differentiated only by unit address).
- *
- * If the handle points to a valid blob it is release and the search starts
- * from the first blob.
- *
- * @param handle The FDT handle assigned to the blob if found else left invalid.
- * @param path Full path of the node to locate.
- * @param int If less than 0 an error code else the node offset is returned.
- */
-int rtems_fdt_find_path_offset (rtems_fdt_handle* handle, const char* path);
-
-/**
- * Load a device tree blob or DTB file into memory and register it on the chain
- * of blobs.
- *
- * @param filename The name of the blob file to load.
- * @param handle The handle returns the reference to the blob once load.
- * @return int If less than 0 it is an error code else it is the blob descriptor.
- */
-int rtems_fdt_load (const char* const filename, rtems_fdt_handle* handle);
-
-/**
- * Register a device tree blob or DTB on to the chain of blobs.
- *
- * @param blob_desc A pointer to the blob.
- * @param handle The handle returns the reference to the blob once load.
- * @return int If less than 0 it is an error code else it is the blob descriptor.
- */
-int rtems_fdt_register (const void* blob, rtems_fdt_handle* handle);
-
-/**
- * Unload a device tree blob or DTB file and release any memory allocated when
- * loading. The blob is removed from the list of registered.
- *
- * @param blob_desc A valid blob descriptor.
- * @return int If less than 0 it is an error code else 0 is return on success.
- */
-int rtems_fdt_unload (rtems_fdt_handle* handle);
-
-/**
- * Returns the number of entries in the device tree blob's memory
- * reservation map. This does not include the terminating 0,0 entry
- * or any other (0,0) entries reserved for expansion.
- *
- * @param blob_desc A valid blob descriptor.
- * @return int The number of entries.
- */
-int rtems_fdt_num_mem_rsv (rtems_fdt_handle* handle);
-
-/**
- * Retrieve one memory reserve map entry. On success, *address and *size will
- * contain the address and size of the n-th reserve map entry from the device
- * tree blob, in native-endian format.
- *
- * @param blob_desc A valid blob descriptor.
- * @param address Pointer to 64-bit variables to hold the addresses.
- * @param size Pointer to 64-bit variables to hold the size.
- * @return int If less than 0 it is an error code else 0 is returned on
- * success.
- */
-int rtems_fdt_get_mem_rsv (rtems_fdt_handle* handle,
- int n,
- uint64_t* address,
- uint64_t* size);
-
-/**
- * Find a subnode based on substring. Identical to rtems_fdt_subnode_offset(),
- * but only examine the first namelen characters of name for matching the
- * subnode name. This is useful for finding subnodes based on a portion of a
- * larger string, such as a full path.
- *
- * @param blob_desc A valid blob descriptor.
- * @param arentoffset Structure block offset of a node
- * @param name Name of the subnode to locate.
- * @param namelen Number of characters of name to consider.
- * @return int If less than 0 it is an error code else the node offset is
- * returned.
- */
-int rtems_fdt_subnode_offset_namelen (rtems_fdt_handle* handle,
- int parentoffset,
- const char* const name,
- int namelen);
-
-/**
- * Find a subnode of a given node at structure block offset parentoffset with
- * the given name. The name may include a unit address, in which case
- * rtems_fdt_subnode_offset() will find the subnode with that unit address, or
- * the unit address may be omitted, in which case rtems_fdt_subnode_offset()
- * will find an arbitrary subnode whose name excluding unit address matches the
- * given name.
- *
- * @param blob_desc A valid blob descriptor.
- * @param parentoffset Structure block offset of a node.
- * @param name The name of the subnode to locate.
- * @return int If less than 0 it is an error code else the subnode offset is
- * returned.
- */
-int rtems_fdt_subnode_offset (rtems_fdt_handle* handle,
- int parentoffset,
- const char* const name);
-
-/**
- * Find a tree node by its full path. Each path component may omit the unit
- * address portion, but the results of this are undefined if any such path
- * component is ambiguous (that is if there are multiple nodes at the relevant
- * level matching the given component, differentiated only by unit address).
- *
- * @param handle The FDT handle to the current blob.
- * @param path Full path of the node to locate.
- * @param int If less than 0 an error code else the node offset is returned.
- */
-int rtems_fdt_path_offset (rtems_fdt_handle* handle, const char* path);
-
-/**
- * Retrieve the name of a given node (including unit address) of the device
- * tree node at structure block offset @nodeoffset. If @length is non-NULL,
- * the length of this name is also returned, in the integer pointed to by
- * @length.
- *
- * @param handle The FDT handle to the current blob.
- * @param nodeoffset Structure block offset of the starting node.
- * @param length Pointer to an integer variable (will be overwritten) or NULL.
- * @return const char* The node's name on success or NULL on error. The length
- * if non-NULL will hold the error code.
- */
-const char* rtems_fdt_get_name (rtems_fdt_handle* handle,
- int nodeoffset,
- int* length);
-
-/**
- * Get property value based on substring. Identical to rtems_fdt_getprop(), but
- * only examine the first namelen characters of name for matching the property
- * name.
- *
- * @param handle The FDT handle to the current blob.
- * @param nodeoffset Offset of the node whose property to find
- * @param name The name of the property to find
- * @param namelen The number of characters of name to consider
- * @param length A pointer to an integer variable (will be overwritten) or
- * NULL.
- * @return const void* The node's property on success or NULL on error. The
- * length if non-NULL will hold the error code.
- */
-const void *rtems_fdt_getprop_namelen (rtems_fdt_handle* handle,
- int nodeoffset,
- const char* const name,
- int namelen,
- int* length);
-
-/**
- * Retrieve the value of a given property. Retrieves a pointer to the value of
- * the property named 'name' of the node at offset nodeoffset (this will be a
- * pointer to within the device blob itself, not a copy of the value). If lenp
- * is non-NULL, the length of the property value is also returned, in the
- * integer pointed to by @length.
- *
- * @param handle The FDT handle to the current blob.
- * @param nodeoffset The offset of the node whose property to find.
- * @param name The name of the property to find.
- * @param length A pointer to an integer variable (will be overwritten) or
- * NULL.
- * @return const void* The node's property on success or NULL on error. The
- * length if non-NULL will hold the error code.
- */
-const void *rtems_fdt_getprop (rtems_fdt_handle* handle,
- int nodeoffset,
- const char* const name,
- int* length);
-
-/**
- * Retrieve the phandle of a given of the device tree node at structure block
- * offset nodeoffset.
- *
- * @param handle The FDT handle to the current blob.
- * @oaram nodeoffset The structure block offset of the node.
- * return uint32_t The phandle of the node at nodeoffset, on success (!= 0, !=
- * -1) 0, if the node has no phandle, or another error occurs.
- */
-uint32_t rtems_fdt_get_phandle (rtems_fdt_handle* handle, int nodeoffset);
-
-/**
- * Get alias based on substring. Identical to rtems_fdt_get_alias(), but only
- * examine the first namelen characters of name for matching the alias name.
- *
- * @param handle The FDT handle to the current blob.
- * @param name The name of the alias th look up.
- * @param namelen The number of characters of name to consider.
- * @return const char* The alias or NULL.
- */
-const char *rtems_fdt_get_alias_namelen (rtems_fdt_handle* handle,
- const char* const name,
- int namelen);
-
-/**
- * Retreive the path referenced by a given alias. That is, the value of the
- * property named 'name' in the node /aliases.
- *
- * @param handle The FDT handle to the current blob.
- * @param name The name of the alias to look up.
- * @return const char* A pointer to the expansion of the alias named 'name', of
- * it exists NULL, if the given alias or the /aliases node
- * does not exist
- */
-const char* rtems_fdt_get_alias (rtems_fdt_handle* handle, const char* name);
-
-/**
- * Determine the full path of a node. This function is expensive, as it must
- * scan the device tree structure from the start to nodeoffset. It computes the
- * full path of the node at offset nodeoffset, and records that path in the
- * buffer at buf.
- *
- * @param handle The FDT handle to the current blob.
- * @param nodeoffset The offset of the node whose path to find.
- * @param buf A character buffer to contain the returned path (will be
- * overwritten)
- * @param buflen The size of the character buffer at buf.
- * @return int 0 on success of an error code.
- */
-int rtems_fdt_get_path (rtems_fdt_handle* handle,
- int nodeoffset,
- char* buf,
- int buflen);
-
-/**
- * Find a specific ancestor of a node at a specific depth from the root (where
- * the root itself has depth 0, its immediate subnodes depth 1 and so forth).
- * So rtems_fdt_supernode_atdepth_offset(blob, nodeoffset, 0, NULL); will
- * always return 0, the offset of the root node. If the node at nodeoffset has
- * depth D, then:
- * rtems_fdt_supernode_atdepth_offset(blob, nodeoffset, D, NULL);
- * will return nodeoffset itself.
- *
- * @param handle The FDT handle to the current blob.
- * @param nodeoffset The offset of the node whose parent to find.
- * @param supernodedepth The depth of the ancestor to find.
- * @oaram nodedepth The pointer to an integer variable (will be overwritten) or
- * NULL
- * @return int If less than 0 an error else the node offset.
- */
-int rtems_fdt_supernode_atdepth_offset (rtems_fdt_handle* handle,
- int nodeoffset,
- int supernodedepth,
- int* nodedepth);
-
-/**
- * Find the depth of a given node. The root node has depth 0, its immediate
- * subnodes depth 1 and so forth.
- *
- * @note This function is expensive, as it must scan the device tree structure
- * from the start to nodeoffset.
- *
- * @param handle The FDT handle to the current blob.
- * @param nodeoffset The offset of the node whose parent to find.
- * @return int If less than 0 an error else the node offset.
- */
-int rtems_fdt_node_depth (rtems_fdt_handle* handle, int nodeoffset);
-
-/**
- * Find the parent of a given node. This funciton locates the parent node of a
- * given node (that is, it finds the offset of the node which contains the node
- * at nodeoffset as a subnode).
- *
- * @note This function is expensive, as it must scan the device tree structure
- * from the start to nodeoffset, *twice*.
- *
- * @param handle The FDT handle to the current blob.
- * @param nodeoffset The offset of the node whose parent to find.
- * @return int If less than 0 an error else the node offset.
- */
-int rtems_fdt_parent_offset (rtems_fdt_handle* handle, int nodeoffset);
-
-/**
- * Find nodes with a given property value. This funtion returns the offset of
- * the first node after startoffset, which has a property named propname whose
- * value is of length proplen and has value equal to propval; or if startoffset
- * is -1, the very first such node in the tree.
- *
- * To iterate through all nodes matching the criterion, the following idiom can
- * be used:
- * offset = rtemsfdt_node_offset_by_prop_value(blob, -1, propname,
- * propval, proplen);
- * while (offset != -RTEMS_FDT_ERR_NOTFOUND) {
- * // other code here
- * offset = rtems_fdt_node_offset_by_prop_value(fdt, offset, propname,
- * propval, proplen);
- * }
- *
- * @note The -1 in the first call to the function, if 0 is used here
- * instead, the function will never locate the root node, even if it
- * matches the criterion.
- *
- * @param handle The FDT handle to the current blob.
- * @param startoffset Only find nodes after this offset.
- * @param propname The property name to check.
- * @param propval The property value to search for.
- * @param proplen The length of the value in propval.
- * @return int The structure block offset of the located node (>= 0,
- * >startoffset), on success and an error code is less
- * than 0.
- */
-int rtems_fdt_node_offset_by_prop_value (rtems_fdt_handle* handle,
- int startoffset,
- const char* const propname,
- const void* propval,
- int proplen);
-
-/**
- * Find the node with a given phandle returning the offset of the node which
- * has the given phandle value. If there is more than one node in the tree
- * with the given phandle (an invalid tree), results are undefined.
- *
- * @param handle The FDT handle to the current blob.
- * @param phandle The phandle value.
- * @return int If less than 0 an error else the node offset.
- */
-int rtems_fdt_node_offset_by_phandle (rtems_fdt_handle* handle,
- uint32_t phandle);
-
-/**
- * Check a node's compatible property returning 0 if the given node contains a
- * 'compatible' property with the given string as one of its elements, it
- * returns non-zero otherwise, or on error.
- *
- * @param handle The FDT handle to the current blob.
- * @param nodeoffset The offset of a tree node.
- * @param compatible The string to match against.
- * @retval 0, if the node has a 'compatible' property listing the given string.
- * @retval 1, if the node has a 'compatible' property, but it does not list the
- * given string
- */
-int rtems_fdt_node_check_compatible (rtems_fdt_handle* handle,
- int nodeoffset,
- const char* const compatible);
-
-/**
- * Find nodes with a given 'compatible' value returning the offset of the first
- * node after startoffset, which has a 'compatible' property which lists the
- * given compatible string; or if startoffset is -1, the very first such node
- * in the tree.
- *
- * To iterate through all nodes matching the criterion, the following idiom can
- * be used:
- *
- * offset = rtems_fdt_node_offset_by_compatible(blob, -1, compatible);
- * while (offset != -RTEMS_FDT_ERR_NOTFOUND) {
- * // other code here
- * offset = rtems_fdt_node_offset_by_compatible(blob, offset, compatible);
- * }
- *
- * @note The -1 in the first call to the function, if 0 is used here instead,
- * the function will never locate the root node, even if it matches the
- * criterion.
- *
- * @param handle The FDT handle to the current blob.
- * @param startoffset Only find nodes after this offset.
- * @param compatible The 'compatible' string to match against.
- * @return int If less than 0 an error else the node offset.
- */
-int rtems_fdt_node_offset_by_compatible(rtems_fdt_handle* handle,
- int startoffset,
- const char* compatible);
-
-/**
- * Traverse to the next node.
- *
- * @param handle The FDT handle to the current blob.
- * @param offset The offset in the blob to start looking for the next node.
- * @param depth Pointer to return the depth the node is.
- * @return int If less than 0 an error else the node offset.
- */
-int rtems_fdt_next_node (rtems_fdt_handle* handle, int offset, int* depth);
-
-/**
- * Return an error string given an error value.
- *
- * @param errval The error value.
- * @return const char* The error string.
- */
-const char* rtems_fdt_strerror (int errval);
-
-/**
- * Return a property given a path.
- */
-int rtems_fdt_prop_value(const char* const path,
- const char* const propname,
- void* value,
- size_t* size);
-
-/**
- * Create a map given a path the property name and the names of the subnodes of
- * the path.
- */
-int rtems_fdt_prop_map (const char* const path,
- const char* const propname,
- const char* const names[],
- uint32_t* values,
- size_t count);
-
-/*
- * Get a value given a path and a property.
- */
-int rtems_fdt_get_value (const char* const path,
- const char* const property,
- size_t size,
- uint32_t* value);
-
-/**
- * Get the number of entries in an FDT handle.
- */
-int rtems_fdt_num_entries(rtems_fdt_handle* handle);
-
-/**
- * Get the numbered entry name. Note that the id isn't the same as
- * the offset - it's numbered 0, 1, 2 ... num_entries-1
- */
-const char *rtems_fdt_entry_name(rtems_fdt_handle* handle, int id);
-
-/**
- * Get the numbered entry offset. Note that the id isn't the same as
- * the offset - it's numbered 0, 1, 2 ... num_entries-1
- */
-int rtems_fdt_entry_offset(rtems_fdt_handle* handle, int id);
-
-/*
- * Helper function to convert the void* property result to a 32bit unsigned int.
- */
-uint32_t rtems_fdt_get_uint32 (const void* prop);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/cpukit/libmisc/serdbg/serdbg.h b/cpukit/libmisc/serdbg/serdbg.h
deleted file mode 100644
index fe106bce44..0000000000
--- a/cpukit/libmisc/serdbg/serdbg.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/*===============================================================*\
-| Project: RTEMS remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: serdbg.h |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file declares intialization functions to add |
-| a gdb remote debug stub to an RTEMS system |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 04.04.02 creation doe |
-\*===============================================================*/
-#ifndef _SERDBG_H
-#define _SERDBG_H
-
-#include <rtems.h>
-#include <termios.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
- uint32_t baudrate; /* debug baud rate, e.g. 57600 */
- void (*callout)(void); /* callout pointer during polling */
- int (*open_io)(const char *dev_name, uint32_t baudrate); /* I/O open fnc */
- const char *devname; /* debug device, e.g. "/dev/tty01" */
- bool skip_init_bkpt; /* if TRUE, do not stop when initializing */
-} serdbg_conf_t;
-
-/*
- * must be defined in init module...
- */
-extern serdbg_conf_t serdbg_conf;
-
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void putDebugChar
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| send character to remote debugger |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- char c /* char to send */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int getDebugChar
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| get character from remote debugger |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- void /* <none> */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void serdbg_exceptionHandler
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| hook directly to an exception vector |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- int vecnum, /* vector index to hook at */
- void *vector /* address of handler function */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int serdbg_init
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| initialize remote gdb session over serial line |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- void
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| rtems_status_code |
-\*=========================================================================*/
-
-/*
- * stuff from serdbgio.c
- */
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int serdbg_open
-
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| try to open given serial debug port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- const char *dev_name, /* name of device to open */
- uint32_t baudrate /* baud rate to use */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| 0 on success, -1 and errno otherwise |
-\*=========================================================================*/
-
-
-extern int serdbg_init_dbg(void);
-
-/*
- * Assumed to be provided by the BSP
- */
-extern void set_debug_traps(void);
-extern void breakpoint(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SERDBG_H */
diff --git a/cpukit/libmisc/serdbg/serdbgcnf.h b/cpukit/libmisc/serdbg/serdbgcnf.h
deleted file mode 100644
index 9d4087ae69..0000000000
--- a/cpukit/libmisc/serdbg/serdbgcnf.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * @file
- *
- * @brief Adds a GDB remote Debug Stub to an RTEMS System
- */
-
-/*===============================================================*\
-| Project: RTEMS configure remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: serdbgcnf.h |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file declares intialization functions to add |
-| a gdb remote debug stub to an RTEMS system |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 13.05.02 creation doe |
-\*===============================================================*/
-#ifndef _SERDBGCNF_H
-#define _SERDBGCNF_H
-
-#include <rtems/serdbg.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef CONFIGURE_INIT
-
-/*
- * fallback for baud rate to use
- */
-#ifndef CONFIGURE_SERDBG_BAUDRATE
-#define CONFIGURE_SERDBG_BAUDRATE 9600
-#endif
-
-/*
- * fallback for device name to use
- */
-#ifndef CONFIGURE_SERDBG_DEVNAME
-#define CONFIGURE_SERDBG_DEVNAME "/dev/tty01"
-#endif
-
-/*
- * fill in serdbg_conf structure
- */
-serdbg_conf_t serdbg_conf = {
- CONFIGURE_SERDBG_BAUDRATE,
-
-#ifdef CONFIGURE_SERDBG_CALLOUT
- CONFIGURE_SERDBG_CALLOUT,
-#else
- NULL,
-#endif
-
-#ifdef CONFIGURE_SERDBG_USE_POLLED_TERMIOS
- serdbg_open,
-#else
- NULL,
-#endif
-
- CONFIGURE_SERDBG_DEVNAME,
-
-#ifdef CONFIGURE_SERDBG_SKIP_INIT_BKPT
- true,
-#else
- false,
-#endif
-};
-
-int serdbg_init(void) {
-#ifdef CONFIGURE_USE_SERDBG
- return serdbg_init_dbg();
-#else
- return 0;
-#endif
-}
-
-#endif /* CONFIGURE_INIT */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SERDBGCNF_H */
diff --git a/cpukit/libmisc/serdbg/termios_printk.h b/cpukit/libmisc/serdbg/termios_printk.h
deleted file mode 100644
index dcb183533a..0000000000
--- a/cpukit/libmisc/serdbg/termios_printk.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*===============================================================*\
-| Project: RTEMS remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: termios_printk.h |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file declares intialization functions to add |
-| printk polled output via termios polled drivers |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 13.04.02 creation doe |
-\*===============================================================*/
-#ifndef _TERMIOS_PRINTK_H
-#define _TERMIOS_PRINTK_H
-
-#include <rtems.h>
-#include <termios.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
- uint32_t baudrate; /* debug baud rate, e.g. 57600 */
- void (*callout)(void); /* callout pointer during polling */
- const char *devname; /* debug device, e.g. "/dev/tty01" */
-} termios_printk_conf_t;
-
-/*
- * must be defined in init module...
- */
-extern termios_printk_conf_t termios_printk_conf;
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void termios_printk_outputchar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| send one character to serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- char c /* character to print */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int termios_printk_inputchar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| wait for one character from serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- void /* none */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| received character |
-\*=========================================================================*/
-
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int termios_printk_open
-
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| try to open given serial debug port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- const char *dev_name, /* name of device to open */
- uint32_t baudrate /* baud rate to use */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| 0 on success, -1 and errno otherwise |
-\*=========================================================================*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TERMIOS_PRINTK_H */
diff --git a/cpukit/libmisc/serdbg/termios_printk_cnf.h b/cpukit/libmisc/serdbg/termios_printk_cnf.h
deleted file mode 100644
index 03c3090c38..0000000000
--- a/cpukit/libmisc/serdbg/termios_printk_cnf.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * @file
- *
- * @brief Adds printk Support via Polled termios
- */
-
-/*===============================================================*\
-| Project: RTEMS configure remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: termios_printk_cnf.h |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file declares intialization functions to add |
-| printk support via polled termios |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 13.05.02 creation doe |
-\*===============================================================*/
-#ifndef _TERMIOS_PRINTK_CNF_H
-#define _TERMIOS_PRINTK_CNF_H
-
-#include <rtems/termios_printk.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef CONFIGURE_INIT
-
-/*
- * fallback for baud rate to use
- */
-#ifndef CONFIGURE_TERMIOS_PRINTK_BAUDRATE
-#define CONFIGURE_TERMIOS_PRINTK_BAUDRATE 9600
-#endif
-
-/*
- * fallback for device name to use
- */
-#ifndef CONFIGURE_TERMIOS_PRINTK_DEVNAME
-#define CONFIGURE_TERMIOS_PRINTK_DEVNAME "/dev/console"
-#endif
-
-#ifdef CONFIGURE_USE_TERMIOS_PRINTK
-/*
- * fill in termios_printk_conf structure
- */
-termios_printk_conf_t termios_printk_conf = {
- CONFIGURE_TERMIOS_PRINTK_BAUDRATE,
-
-#ifdef CONFIGURE_TERMIOS_PRINTK_CALLOUT
- CONFIGURE_TERMIOS_PRINTK_CALLOUT,
-#else
- NULL,
-#endif
- CONFIGURE_TERMIOS_PRINTK_DEVNAME,
-};
-#endif
-
-int termios_printk_init(void) {
-#ifdef CONFIGURE_USE_TERMIOS_PRINTK
- return termios_printk_open(termios_printk_conf.devname,
- termios_printk_conf.baudrate);
-#else
- return 0;
-#endif
-}
-
-#endif /* CONFIGURE_INIT */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TERMIOS_PRINTK_CNF_H */
diff --git a/cpukit/libmisc/shell/shell.h b/cpukit/libmisc/shell/shell.h
deleted file mode 100644
index 98ddf0a958..0000000000
--- a/cpukit/libmisc/shell/shell.h
+++ /dev/null
@@ -1,385 +0,0 @@
-/**
- * @file rtems/shell.h
- *
- * @brief Instantatiate a New Terminal Shell
- */
-
-/*
- * Author:
- *
- * WORK: fernando.ruiz@ctv.es
- * HOME: correo@fernando-ruiz.com
- *
- * Thanks at:
- * Chris Johns
- */
-
-#ifndef __RTEMS_SHELL_H__
-#define __RTEMS_SHELL_H__
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <rtems.h>
-#include <stdio.h>
-#include <termios.h>
-#include <rtems/fs.h>
-#include <rtems/libio.h>
-#include <rtems/chain.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Some key labels to define special keys.
- */
-
-#define RTEMS_SHELL_KEYS_EXTENDED (0x8000)
-#define RTEMS_SHELL_KEYS_NORMAL_MASK (0x00ff)
-#define RTEMS_SHELL_KEYS_INS (0)
-#define RTEMS_SHELL_KEYS_DEL (1)
-#define RTEMS_SHELL_KEYS_UARROW (2)
-#define RTEMS_SHELL_KEYS_DARROW (3)
-#define RTEMS_SHELL_KEYS_LARROW (4)
-#define RTEMS_SHELL_KEYS_RARROW (5)
-#define RTEMS_SHELL_KEYS_HOME (6)
-#define RTEMS_SHELL_KEYS_END (7)
-#define RTEMS_SHELL_KEYS_F1 (8)
-#define RTEMS_SHELL_KEYS_F2 (9)
-#define RTEMS_SHELL_KEYS_F3 (10)
-#define RTEMS_SHELL_KEYS_F4 (11)
-#define RTEMS_SHELL_KEYS_F5 (12)
-#define RTEMS_SHELL_KEYS_F6 (13)
-#define RTEMS_SHELL_KEYS_F7 (14)
-#define RTEMS_SHELL_KEYS_F8 (15)
-#define RTEMS_SHELL_KEYS_F9 (16)
-#define RTEMS_SHELL_KEYS_F10 (17)
-
-typedef bool (*rtems_shell_login_check_t)(
- const char * /* user */,
- const char * /* passphrase */
-);
-
-extern bool rtems_shell_login_prompt(
- FILE *in,
- FILE *out,
- const char *device,
- rtems_shell_login_check_t check
-);
-
-extern bool rtems_shell_login_check(
- const char *user,
- const char *passphrase
-);
-
-typedef int (*rtems_shell_command_t)(int argc, char **argv);
-
-struct rtems_shell_cmd_tt;
-typedef struct rtems_shell_cmd_tt rtems_shell_cmd_t;
-
-struct rtems_shell_cmd_tt {
- const char *name;
- const char *usage;
- const char *topic;
- rtems_shell_command_t command;
- rtems_shell_cmd_t *alias;
- rtems_shell_cmd_t *next;
- mode_t mode;
- uid_t uid;
- gid_t gid;
-};
-
-typedef struct {
- const char *name;
- const char *alias;
-} rtems_shell_alias_t;
-
-struct rtems_shell_topic_tt;
-typedef struct rtems_shell_topic_tt rtems_shell_topic_t;
-
-struct rtems_shell_topic_tt {
- const char *topic;
- rtems_shell_topic_t *next;
-};
-
-/*
- * The return value has RTEMS_SHELL_KEYS_EXTENDED set if the key
- * is extended, ie a special key.
- */
-extern unsigned int rtems_shell_getchar(FILE *in);
-
-extern rtems_shell_cmd_t * rtems_shell_lookup_cmd(const char *cmd);
-
-extern rtems_shell_cmd_t *rtems_shell_add_cmd_struct(
- rtems_shell_cmd_t *shell_cmd
-);
-
-rtems_shell_cmd_t * rtems_shell_add_cmd(
- const char *cmd,
- const char *topic,
- const char *usage,
- rtems_shell_command_t command
-);
-
-extern rtems_shell_cmd_t * rtems_shell_alias_cmd(
- const char *cmd,
- const char *alias
-);
-
-extern int rtems_shell_make_args(
- char *commandLine,
- int *argc_p,
- char **argv_p,
- int max_args
-);
-
-extern rtems_shell_topic_t * rtems_shell_lookup_topic(
- const char *topic
-);
-
-extern bool rtems_shell_can_see_cmd(
- const rtems_shell_cmd_t *shell_cmd
-);
-
-extern int rtems_shell_execute_cmd(
- const char *cmd, int argc, char *argv[]
-);
-
-/*
- * Call to set up the shell environment if you need to execute commands before
- * running a shell.
- */
-extern void rtems_shell_init_environment(
- void
-);
-
-extern int rtems_shell_cat_file(
- FILE *out,
- const char *name
-);
-
-extern void rtems_shell_write_file(
- const char *name,
- const char *content
-);
-
-extern int rtems_shell_script_file(
- int argc,
- char **argv
-);
-
-/**
- * Initialise the shell creating tasks to login and run the shell
- * sessions.
- *
- * @param task_name Name of the shell task.
- * @param task_stacksize The size of the stack. If 0 the default size is used.
- * @param task_priority The priority the shell runs at.
- * @param forever Repeat logins.
- * @param wait Caller should block until shell exits.
- * @param login_check User login check function, NULL disables login checks.
- *
- */
-extern rtems_status_code rtems_shell_init(
- const char *task_name,
- size_t task_stacksize,
- rtems_task_priority task_priority,
- const char *devname,
- bool forever,
- bool wait,
- rtems_shell_login_check_t login_check
-);
-
-/**
- * Run a shell script creating a shell tasks to execute the command under.
- *
- * @param task_name Name of the shell task.
- * @param task_stacksize The size of the stack. If 0 the default size is used.
- * @param task_priority The priority the shell runs at.
- * @param input The file of commands. Can be 'stdin' to use stdin.
- * @param output The output file to write commands to. Can be 'stdout',
- * 'stderr' or '/dev/null'.
- * @param output_append Append the output to the file or truncate the file.
- * Create if it does not exist.
- * @param wait Wait for the script to finish.
- */
-extern rtems_status_code rtems_shell_script(
- const char *task_name,
- size_t task_stacksize, /* 0 default*/
- rtems_task_priority task_priority,
- const char *input,
- const char *output,
- bool output_append,
- bool wait,
- bool echo
-);
-
-/**
- * Private environment associated with each shell instance.
- */
-typedef struct {
- /** 'S','E','N','V': Shell Environment */
- rtems_name magic;
- const char *devname;
- const char *taskname;
- bool exit_shell; /* logout */
- bool forever; /* repeat login */
- int errorlevel;
- bool echo;
- char cwd[256];
- const char *input;
- const char *output;
- bool output_append;
- rtems_id wake_on_end;
- rtems_shell_login_check_t login_check;
-
- /**
- * @brief The real and effective UID of the shell task in case no login check
- * is present.
- */
- uid_t uid;
-
- /**
- * @brief The real and effective GID of the shell task in case no login check
- * is present.
- */
- gid_t gid;
-} rtems_shell_env_t;
-
-bool rtems_shell_main_loop(
- rtems_shell_env_t *rtems_shell_env
-);
-
-extern const rtems_shell_env_t rtems_global_shell_env;
-
-rtems_shell_env_t *rtems_shell_get_current_env(void);
-void rtems_shell_dup_current_env(rtems_shell_env_t *);
-
-/*
- * The types of file systems we can mount. We have them broken out
- * out like this so they can be configured by shellconfig.h. The
- * mount command needs special treatment due to some file systems
- * being dependent on the network stack and some not. If we had
- * all possible file systems being included it would force the
- * networking stack into the applcation and this may not be
- * required.
- */
-struct rtems_shell_filesystems_tt;
-typedef struct rtems_shell_filesystems_tt rtems_shell_filesystems_t;
-
-typedef int (*rtems_shell_filesystems_mounter_t)(
- const char* driver,
- const char* path,
- rtems_shell_filesystems_t* fs,
- rtems_filesystem_options_t options
-);
-
-struct rtems_shell_filesystems_tt {
- rtems_chain_node link;
- const char *name;
- int driver_needed;
- const rtems_filesystem_operations_table *fs_ops;
- rtems_shell_filesystems_mounter_t mounter;
-};
-
-/**
- * This method dynamically builds the command line prompt string
- * and places it in @a prompt.
- *
- * @param[in] shell_env is the shell execution environment
- * @param[in] prompt is a pointer to a string buffer area
- * @param[in] size is length of the prompt buffer area
- *
- * @return This method fills in the memory pointed to by @a prompt.
- *
- * @note An application specific implementation can be provided
- * by the user.
- */
-extern void rtems_shell_get_prompt(
- rtems_shell_env_t *shell_env,
- char *prompt,
- size_t size
-);
-
-/**
- * Helper for the mount command.
- *
- * @param[in] driver The path to the driver.
- * @param[in] path The path to mount on.
- * @param[in] fs The file system definition.
- * @param[in] options Special file system options.
- */
-extern int rtems_shell_libc_mounter(
- const char* driver,
- const char* path,
- rtems_shell_filesystems_t* fs,
- rtems_filesystem_options_t options
-);
-
-/**
- * Add a new file system mount configuration to the mount command.
- *
- * @param[in] fs The file system mount data.
- */
-extern void rtems_shell_mount_add_fsys(rtems_shell_filesystems_t* fs);
-
-/**
- * Delete file system mount configuration from the mount command.
- *
- * @param[in] fs The file system mount data to remove.
- */
-extern void rtems_shell_mount_del_fsys(rtems_shell_filesystems_t* fs);
-
-typedef void (*rtems_shell_wait_for_input_notification)(
- int fd,
- int seconds_remaining,
- void *arg
-);
-
-/**
- * @brief Waits for input.
- *
- * @retval RTEMS_SUCCESSFUL Input detected.
- * @retval RTEMS_TIMEOUT Timeout expired.
- * @retval RTEMS_UNSATISFIED Cannot change or restore termios attributes.
- */
-extern rtems_status_code rtems_shell_wait_for_input(
- int fd,
- int timeout_in_seconds,
- rtems_shell_wait_for_input_notification notification,
- void *notification_arg
-);
-
-/**
- * @brief Waits for explicit input.
- *
- * @param desired_input An explicit unsigned character to wait for or -1 to
- * accept any input.
- *
- * @retval RTEMS_SUCCESSFUL Input detected.
- * @retval RTEMS_TIMEOUT Timeout expired.
- * @retval RTEMS_UNSATISFIED Cannot change or restore termios attributes.
- */
-extern rtems_status_code rtems_shell_wait_for_explicit_input(
- int fd,
- int timeout_in_seconds,
- rtems_shell_wait_for_input_notification notification,
- void *notification_arg,
- int desired_input
-);
-
-extern int rtems_shell_main_monitor(int argc, char **argv);
-
-/*
- * Provide these commands for application use, as their implementation
- * is tedious.
- */
-int rtems_shell_main_mv(int argc, char *argv[]);
-int rtems_shell_main_cp(int argc, char *argv[]);
-int rtems_shell_main_rm(int argc, char *argv[]);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/cpukit/libmisc/shell/shellconfig.h b/cpukit/libmisc/shell/shellconfig.h
deleted file mode 100644
index 9f68b313fb..0000000000
--- a/cpukit/libmisc/shell/shellconfig.h
+++ /dev/null
@@ -1,554 +0,0 @@
-/**
- * @file rtems/shellconfig.h
- *
- * RTEMS Shell Command Set Configuration
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_SHELL_CONFIG_h
-#define _RTEMS_SHELL_CONFIG_h
-
-#include <rtems/shell.h>
-
-/*
- * Externs for all command definition structures
- */
-extern rtems_shell_cmd_t rtems_shell_HELP_Command;
-extern rtems_shell_cmd_t rtems_shell_ALIAS_Command;
-extern rtems_shell_cmd_t rtems_shell_TIME_Command;
-extern rtems_shell_cmd_t rtems_shell_CMDLS_Command;
-extern rtems_shell_cmd_t rtems_shell_CMDCHOWN_Command;
-extern rtems_shell_cmd_t rtems_shell_CMDCHMOD_Command;
-extern rtems_shell_cmd_t rtems_shell_LOGOFF_Command;
-extern rtems_shell_cmd_t rtems_shell_SETENV_Command;
-extern rtems_shell_cmd_t rtems_shell_GETENV_Command;
-extern rtems_shell_cmd_t rtems_shell_UNSETENV_Command;
-
-extern rtems_shell_cmd_t rtems_shell_MDUMP_Command;
-extern rtems_shell_cmd_t rtems_shell_WDUMP_Command;
-extern rtems_shell_cmd_t rtems_shell_LDUMP_Command;
-extern rtems_shell_cmd_t rtems_shell_MEDIT_Command;
-extern rtems_shell_cmd_t rtems_shell_MFILL_Command;
-extern rtems_shell_cmd_t rtems_shell_MMOVE_Command;
-
-extern rtems_shell_cmd_t rtems_shell_JOEL_Command;
-extern rtems_shell_cmd_t rtems_shell_DATE_Command;
-extern rtems_shell_cmd_t rtems_shell_ECHO_Command;
-extern rtems_shell_cmd_t rtems_shell_EDIT_Command;
-extern rtems_shell_cmd_t rtems_shell_SLEEP_Command;
-extern rtems_shell_cmd_t rtems_shell_ID_Command;
-extern rtems_shell_cmd_t rtems_shell_TTY_Command;
-extern rtems_shell_cmd_t rtems_shell_WHOAMI_Command;
-
-extern rtems_shell_cmd_t rtems_shell_CP_Command;
-extern rtems_shell_cmd_t rtems_shell_PWD_Command;
-extern rtems_shell_cmd_t rtems_shell_LS_Command;
-extern rtems_shell_cmd_t rtems_shell_CHDIR_Command;
-extern rtems_shell_cmd_t rtems_shell_MKDIR_Command;
-extern rtems_shell_cmd_t rtems_shell_RMDIR_Command;
-extern rtems_shell_cmd_t rtems_shell_CHROOT_Command;
-extern rtems_shell_cmd_t rtems_shell_CHMOD_Command;
-extern rtems_shell_cmd_t rtems_shell_CAT_Command;
-extern rtems_shell_cmd_t rtems_shell_MKRFS_Command;
-extern rtems_shell_cmd_t rtems_shell_MSDOSFMT_Command;
-extern rtems_shell_cmd_t rtems_shell_MSDOSFMT_Alias;
-extern rtems_shell_cmd_t rtems_shell_MV_Command;
-extern rtems_shell_cmd_t rtems_shell_RM_Command;
-extern rtems_shell_cmd_t rtems_shell_LN_Command;
-extern rtems_shell_cmd_t rtems_shell_MKNOD_Command;
-extern rtems_shell_cmd_t rtems_shell_UMASK_Command;
-extern rtems_shell_cmd_t rtems_shell_LSOF_Command;
-extern rtems_shell_cmd_t rtems_shell_MOUNT_Command;
-extern rtems_shell_cmd_t rtems_shell_UNMOUNT_Command;
-extern rtems_shell_cmd_t rtems_shell_BLKSYNC_Command;
-extern rtems_shell_cmd_t rtems_shell_BLKSTATS_Command;
-extern rtems_shell_cmd_t rtems_shell_FDISK_Command;
-extern rtems_shell_cmd_t rtems_shell_DD_Command;
-extern rtems_shell_cmd_t rtems_shell_HEXDUMP_Command;
-extern rtems_shell_cmd_t rtems_shell_DEBUGRFS_Command;
-extern rtems_shell_cmd_t rtems_shell_DF_Command;
-extern rtems_shell_cmd_t rtems_shell_MD5_Command;
-
-extern rtems_shell_cmd_t rtems_shell_RTC_Command;
-
-extern rtems_shell_cmd_t rtems_shell_SHUTDOWN_Command;
-extern rtems_shell_cmd_t rtems_shell_CPUINFO_Command;
-extern rtems_shell_cmd_t rtems_shell_CPUUSE_Command;
-extern rtems_shell_cmd_t rtems_shell_TOP_Command;
-extern rtems_shell_cmd_t rtems_shell_STACKUSE_Command;
-extern rtems_shell_cmd_t rtems_shell_PERIODUSE_Command;
-extern rtems_shell_cmd_t rtems_shell_PROFREPORT_Command;
-extern rtems_shell_cmd_t rtems_shell_WKSPACE_INFO_Command;
-extern rtems_shell_cmd_t rtems_shell_MALLOC_INFO_Command;
-extern rtems_shell_cmd_t rtems_shell_RTRACE_Command;
-#if RTEMS_NETWORKING
- extern rtems_shell_cmd_t rtems_shell_IFCONFIG_Command;
- extern rtems_shell_cmd_t rtems_shell_ROUTE_Command;
- extern rtems_shell_cmd_t rtems_shell_NETSTATS_Command;
- extern rtems_shell_cmd_t rtems_shell_PING_Command;
-#endif
-
-/*
- * Extern for System commands
- */
-extern rtems_shell_cmd_t rtems_shell_DRVMGR_Command;
-extern rtems_shell_cmd_t rtems_shell_PCI_Command;
-
-extern rtems_shell_cmd_t * const rtems_shell_Initial_commands[];
-
-/*
- * Extern for alias commands
- */
-extern rtems_shell_alias_t rtems_shell_DIR_Alias;
-extern rtems_shell_alias_t rtems_shell_CD_Alias;
-extern rtems_shell_alias_t rtems_shell_EXIT_Alias;
-
-extern rtems_shell_alias_t * const rtems_shell_Initial_aliases[];
-
-/*
- * If we are configured to alias a command, then make sure the underlying
- * command is configured.
- */
-
-#if !defined(CONFIGURE_SHELL_COMMANDS_ALL)
- #if defined(CONFIGURE_SHELL_COMMANDS_DIR) && \
- !defined(CONFIGURE_SHELL_COMMANDS_LS)
- #define CONFIGURE_SHELL_COMMAND_LS
- #endif
-
- #if defined(CONFIGURE_SHELL_COMMANDS_CD) && \
- !defined(CONFIGURE_SHELL_COMMANDS_CHDIR)
- #define CONFIGURE_SHELL_COMMAND_CHDIR
- #endif
-
- #if defined(CONFIGURE_SHELL_COMMANDS_EXIT) && \
- !defined(CONFIGURE_SHELL_COMMANDS_LOGOFF)
- #define CONFIGURE_SHELL_COMMAND_LOGOFF
- #endif
-#endif
-
-#if defined(CONFIGURE_SHELL_COMMANDS_INIT)
- rtems_shell_alias_t * const rtems_shell_Initial_aliases[] = {
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_DIR)) || \
- defined(CONFIGURE_SHELL_COMMAND_DIR)
- &rtems_shell_DIR_Alias,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CD)) || \
- defined(CONFIGURE_SHELL_COMMAND_CD)
- &rtems_shell_CD_Alias,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_EXIT)) || \
- defined(CONFIGURE_SHELL_COMMAND_EXIT)
- &rtems_shell_EXIT_Alias,
- #endif
-
- /*
- * User defined shell aliases
- */
- #if defined(CONFIGURE_SHELL_USER_ALIASES)
- CONFIGURE_SHELL_USER_ALIASES,
- #endif
- NULL
- };
-
- rtems_shell_cmd_t * const rtems_shell_Initial_commands[] = {
- /*
- * General comamnds that should be present
- */
- &rtems_shell_HELP_Command,
- &rtems_shell_ALIAS_Command,
- &rtems_shell_TIME_Command,
-
- /*
- * Common commands that can be optional
- */
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CMDLS)) || \
- defined(CONFIGURE_SHELL_COMMAND_CMDLS)
- &rtems_shell_CMDLS_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CMDCHOWN)) || \
- defined(CONFIGURE_SHELL_COMMAND_CMDCHOWN)
- &rtems_shell_CMDCHOWN_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CMDCHMOD)) || \
- defined(CONFIGURE_SHELL_COMMAND_CMDCHMOD)
- &rtems_shell_CMDCHMOD_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_JOEL)) || \
- defined(CONFIGURE_SHELL_COMMAND_JOEL)
- &rtems_shell_JOEL_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_DATE)) || \
- defined(CONFIGURE_SHELL_COMMAND_DATE)
- &rtems_shell_DATE_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_ECHO)) || \
- defined(CONFIGURE_SHELL_COMMAND_ECHO)
- &rtems_shell_ECHO_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_EDIT)) || \
- defined(CONFIGURE_SHELL_COMMAND_EDIT)
- &rtems_shell_EDIT_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_SLEEP)) || \
- defined(CONFIGURE_SHELL_COMMAND_SLEEP)
- &rtems_shell_SLEEP_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_ID)) || \
- defined(CONFIGURE_SHELL_COMMAND_ID)
- &rtems_shell_ID_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_TTY)) || \
- defined(CONFIGURE_SHELL_COMMAND_TTY)
- &rtems_shell_TTY_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_WHOAMI)) || \
- defined(CONFIGURE_SHELL_COMMAND_WHOAMI)
- &rtems_shell_WHOAMI_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_LOGOFF)) || \
- defined(CONFIGURE_SHELL_COMMAND_LOGOFF)
- &rtems_shell_LOGOFF_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_SETENV)) || \
- defined(CONFIGURE_SHELL_COMMAND_SETENV)
- &rtems_shell_SETENV_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_GETENV)) || \
- defined(CONFIGURE_SHELL_COMMAND_GETENV)
- &rtems_shell_GETENV_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CRLENV)) || \
- defined(CONFIGURE_SHELL_COMMAND_UNSETENV)
- &rtems_shell_UNSETENV_Command,
- #endif
-
- /*
- * Memory printing/modification family commands
- */
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MDUMP)) || \
- defined(CONFIGURE_SHELL_COMMAND_MDUMP)
- &rtems_shell_MDUMP_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_WDUMP)) || \
- defined(CONFIGURE_SHELL_COMMAND_WDUMP)
- &rtems_shell_WDUMP_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_LDUMP)) || \
- defined(CONFIGURE_SHELL_COMMAND_LDUMP)
- &rtems_shell_LDUMP_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MEDIT)) || \
- defined(CONFIGURE_SHELL_COMMAND_MEDIT)
- &rtems_shell_MEDIT_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MFILL)) || \
- defined(CONFIGURE_SHELL_COMMAND_MFILL)
- &rtems_shell_MFILL_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MMOVE)) || \
- defined(CONFIGURE_SHELL_COMMAND_MMOVE)
- &rtems_shell_MMOVE_Command,
- #endif
-
- /*
- * File and directory commands
- */
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CP)) || \
- defined(CONFIGURE_SHELL_COMMAND_CP)
- &rtems_shell_CP_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_PWD)) || \
- defined(CONFIGURE_SHELL_COMMAND_PWD)
- &rtems_shell_PWD_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_LS)) || \
- defined(CONFIGURE_SHELL_COMMAND_LS)
- &rtems_shell_LS_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CHDIR)) || \
- defined(CONFIGURE_SHELL_COMMAND_CHDIR)
- &rtems_shell_CHDIR_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MKDIR)) || \
- defined(CONFIGURE_SHELL_COMMAND_MKDIR)
- &rtems_shell_MKDIR_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_RMDIR)) || \
- defined(CONFIGURE_SHELL_COMMAND_RMDIR)
- &rtems_shell_RMDIR_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CHROOT)) || \
- defined(CONFIGURE_SHELL_COMMAND_CHROOT)
- &rtems_shell_CHROOT_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CHMOD)) || \
- defined(CONFIGURE_SHELL_COMMAND_CHMOD)
- &rtems_shell_CHMOD_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CAT)) || \
- defined(CONFIGURE_SHELL_COMMAND_CAT)
- &rtems_shell_CAT_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MKRFS)) || \
- defined(CONFIGURE_SHELL_COMMAND_MKRFS)
- &rtems_shell_MKRFS_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MSDOSFMT)) || \
- defined(CONFIGURE_SHELL_COMMAND_MSDOSFMT)
- &rtems_shell_MSDOSFMT_Command,
- &rtems_shell_MSDOSFMT_Alias,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MV)) || \
- defined(CONFIGURE_SHELL_COMMAND_MV)
- &rtems_shell_MV_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_RM)) || \
- defined(CONFIGURE_SHELL_COMMAND_RM)
- &rtems_shell_RM_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_LN)) || \
- defined(CONFIGURE_SHELL_COMMAND_LN)
- &rtems_shell_LN_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MKNOD)) || \
- defined(CONFIGURE_SHELL_COMMAND_MKNOD)
- &rtems_shell_MKNOD_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_UMASK)) || \
- defined(CONFIGURE_SHELL_COMMAND_UMASK)
- &rtems_shell_UMASK_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_LSOF)) || \
- defined(CONFIGURE_SHELL_COMMAND_LSOF)
- &rtems_shell_LSOF_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MOUNT)) || \
- defined(CONFIGURE_SHELL_COMMAND_MOUNT)
- &rtems_shell_MOUNT_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_UNMOUNT)) || \
- defined(CONFIGURE_SHELL_COMMAND_UNMOUNT)
- &rtems_shell_UNMOUNT_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_BLKSYNC)) || \
- defined(CONFIGURE_SHELL_COMMAND_BLKSYNC)
- &rtems_shell_BLKSYNC_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_BLKSTATS)) || \
- defined(CONFIGURE_SHELL_COMMAND_BLKSTATS)
- &rtems_shell_BLKSTATS_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_FDISK)) || \
- defined(CONFIGURE_SHELL_COMMAND_FDISK)
- &rtems_shell_FDISK_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_DD)) || \
- defined(CONFIGURE_SHELL_COMMAND_DD)
- &rtems_shell_DD_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_HEXDUMP)) || \
- defined(CONFIGURE_SHELL_COMMAND_HEXDUMP)
- &rtems_shell_HEXDUMP_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_DEBUGRFS)) || \
- defined(CONFIGURE_SHELL_COMMAND_DEBUGRFS)
- &rtems_shell_DEBUGRFS_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_DF)) || \
- defined(CONFIGURE_SHELL_COMMAND_DF)
- &rtems_shell_DF_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MD5)) || \
- defined(CONFIGURE_SHELL_COMMAND_MD5)
- &rtems_shell_MD5_Command,
- #endif
-
- /*
- * RTEMS Related commands
- */
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_SHUTDOWN)) || \
- defined(CONFIGURE_SHELL_COMMAND_SHUTDOWN)
- &rtems_shell_SHUTDOWN_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CPUINFO)) || \
- defined(CONFIGURE_SHELL_COMMAND_CPUINFO)
- &rtems_shell_CPUINFO_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_CPUUSE)) || \
- defined(CONFIGURE_SHELL_COMMAND_CPUUSE)
- &rtems_shell_CPUUSE_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_TOP)) || \
- defined(CONFIGURE_SHELL_COMMAND_TOP)
- &rtems_shell_TOP_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_STACKUSE)) || \
- defined(CONFIGURE_SHELL_COMMAND_STACKUSE)
- &rtems_shell_STACKUSE_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_PERIODUSE)) || \
- defined(CONFIGURE_SHELL_COMMAND_PERIODUSE)
- &rtems_shell_PERIODUSE_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_PROFREPORT)) || \
- defined(CONFIGURE_SHELL_COMMAND_PROFREPORT)
- &rtems_shell_PROFREPORT_Command,
- #endif
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_WKSPACE_INFO)) || \
- defined(CONFIGURE_SHELL_COMMAND_WKSPACE_INFO)
- &rtems_shell_WKSPACE_INFO_Command,
- #endif
-
- /*
- * Malloc family commands
- */
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_MALLOC_INFO)) || \
- defined(CONFIGURE_SHELL_COMMAND_MALLOC_INFO)
- &rtems_shell_MALLOC_INFO_Command,
- #endif
-
- /*
- * Tracing family commands
- */
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_RTRACE)) || \
- defined(CONFIGURE_SHELL_COMMAND_RTRACE)
- &rtems_shell_RTRACE_Command,
- #endif
-
- /*
- * Network related commands
- */
- #if RTEMS_NETWORKING
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL_NETWORKING) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_IFCONFIG)) || \
- defined(CONFIGURE_SHELL_COMMAND_IFCONFIG)
- &rtems_shell_IFCONFIG_Command,
- #endif
-
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL_NETWORKING) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_ROUTE)) || \
- defined(CONFIGURE_SHELL_COMMAND_ROUTE)
- &rtems_shell_ROUTE_Command,
- #endif
-
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL_NETWORKING) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_NETSTATS)) || \
- defined(CONFIGURE_SHELL_COMMAND_NETSTATS)
- &rtems_shell_NETSTATS_Command,
- #endif
-
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL_NETWORKING) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_PING)) || \
- defined(CONFIGURE_SHELL_COMMAND_PING)
- &rtems_shell_PING_Command,
- #endif
- #endif
-
- /* Miscanellous shell commands */
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) \
- && !defined(CONFIGURE_SHELL_NO_COMMAND_RTC)) \
- || defined(CONFIGURE_SHELL_COMMAND_RTC)
- &rtems_shell_RTC_Command,
- #endif
-
- /*
- * System related commands
- */
- #if defined(RTEMS_DRVMGR_STARTUP) || defined(CONFIGURE_SHELL_COMMAND_DRVMGR)
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_DRVMGR)) || \
- defined(CONFIGURE_SHELL_COMMAND_DRVMGR)
- &rtems_shell_DRVMGR_Command,
- #endif
- #endif
-
- #if defined(RTEMS_PCI_CONFIG_LIB)
- #if (defined(CONFIGURE_SHELL_COMMANDS_ALL) && \
- !defined(CONFIGURE_SHELL_NO_COMMAND_PCI)) || \
- defined(CONFIGURE_SHELL_COMMAND_PCI)
- &rtems_shell_PCI_Command,
- #endif
- #endif
-
- /*
- * User defined shell commands
- */
- #if defined(CONFIGURE_SHELL_USER_COMMANDS)
- CONFIGURE_SHELL_USER_COMMANDS,
- #endif
- NULL
- };
-
-#endif
-
-#endif
diff --git a/cpukit/libmisc/stackchk/stackchk.h b/cpukit/libmisc/stackchk/stackchk.h
deleted file mode 100644
index 16fc4f9b9d..0000000000
--- a/cpukit/libmisc/stackchk/stackchk.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * @file rtems/stackchk.h
- *
- * @defgroup libmisc_stackchk Stack Checker Mechanism
- *
- * @ingroup libmisc
- * @brief Stack Checker Information
- *
- * This include file contains information necessary to utilize
- * and install the stack checker mechanism.
- */
-
-/*
- * COPYRIGHT (c) 1989-2009.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_STACKCHK_H
-#define _RTEMS_STACKCHK_H
-
-#include <stdbool.h> /* bool */
-
-#include <rtems/score/thread.h> /* Thread_Control */
-#include <rtems/print.h>
-
-/**
- * @defgroup libmisc_stackchk Stack Checker Mechanism
- *
- * @ingroup libmisc
- */
-/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Checks if current task is blown its stack.
- *
- * This method is used to determine if the current stack pointer
- * of the currently executing task is within bounds.
- *
- * @retval This method returns true if the currently executing task
- * has blown its stack.
- *
- */
-bool rtems_stack_checker_is_blown( void );
-
-/**
- * @brief Print the stack usage report using printk.
- *
- * This method prints a stack usage report for the curently executing
- * task.
- *
- * @note It uses printk to print the report.
- */
-void rtems_stack_checker_report_usage( void );
-
-/**
- * @brief Print the stack usage report using caller's routine.
- *
- * This method prints a stack usage report for the curently executing
- * task.
- *
- * @param[in] context is the context to pass to the print handler
- * @param[in] print is the print handler
- *
- * @note It uses the caller's routine to print the report.
- */
-void rtems_stack_checker_report_usage_with_plugin(
- const rtems_printer *printer
-);
-
-/*************************************************************
- *************************************************************
- ** Prototyped only so the user extension can be installed **
- *************************************************************
- *************************************************************/
-
-/**
- * @brief Stack Checker Task Create Extension
- *
- * This method is the task create extension for the stack checker.
- *
- * @param[in] running points to the currently executing task
- * @param[in] the_thread points to the newly created task
- *
- * @note If this this the first task created, the stack checker
- * will automatically intialize itself.
- */
-bool rtems_stack_checker_create_extension(
- Thread_Control *running,
- Thread_Control *the_thread
-);
-
-/**
- * @brief Stack Checker Task Context Switch Extension
- *
- * This method is the task context switch extension for the stack checker.
- *
- * @param[in] running points to the currently executing task which
- * is being context switched out
- * @param[in] running points to the heir task which we are switching to
- *
- * @note This is called from the internal method _Thread_Dispatch.
- */
-void rtems_stack_checker_switch_extension(
- Thread_Control *running,
- Thread_Control *heir
-);
-
-/**
- * @brief Stack Checker Extension Set Definition
- *
- * This macro defines the user extension handler set for the stack
- * checker. This macro is normally only used by confdefs.h.
- */
-#define RTEMS_STACK_CHECKER_EXTENSION \
-{ \
- rtems_stack_checker_create_extension, /* rtems_task_create */ \
- 0, /* rtems_task_start */ \
- 0, /* rtems_task_restart */ \
- 0, /* rtems_task_delete */ \
- rtems_stack_checker_switch_extension, /* task_switch */ \
- 0, /* task_begin */ \
- 0, /* task_exitted */ \
- 0 /* rtems_stack_checker_fatal_extension */, /* fatal */ \
- 0, /* terminate */ \
-}
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif
-/* end of include file */
diff --git a/cpukit/libmisc/stringto/stringto.h b/cpukit/libmisc/stringto/stringto.h
deleted file mode 100644
index 878814da54..0000000000
--- a/cpukit/libmisc/stringto/stringto.h
+++ /dev/null
@@ -1,262 +0,0 @@
-/**
- * @file rtems/stringto.h
- *
- * @defgroup libmisc_conv_help Conversion Helpers
- *
- * @ingroup libmisc
- * @brief Convert String to Pointer (with validation)
- *
- * This file defines the interface to a set of string conversion helpers.
- */
-
-/*
- * COPYRIGHT (c) 2009-2011.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_STRINGTO_H
-#define _RTEMS_STRINGTO_H
-/**
- * @defgroup libmisc_conv_help Conversion Helpers
- *
- * @ingroup libmisc
- */
-/**@{*/
-
-#include <rtems.h>
-
-/**
- * @brief Convert String to Pointer (with validation).
- *
- * This method converts a string to a pointer (void *) with
- * basic numeric validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_pointer(
- const char *s,
- void **n,
- char **endptr
-);
-
-/**
- * @brief Convert String to Unsigned Character (with validation).
- *
- * This method converts a string to an unsigned character with
- * range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- * @param[in] base is the expected base of the number
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_unsigned_char(
- const char *s,
- unsigned char *n,
- char **endptr,
- int base
-);
-
-/**
- * @brief Convert String to Int (with validation).
- *
- * This method converts a string to an int with range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- * @param[in] base is the expected base of the number
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_int(
- const char *s,
- int *n,
- char **endptr,
- int base
-);
-
-/**
- * @brief Convert String to Unsigned Int (with validation).
- *
- * This method converts a string to an unsigned int with range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- * @param[in] base is the expected base of the number
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_unsigned_int(
- const char *s,
- unsigned int *n,
- char **endptr,
- int base
-);
-
-/**
- * @brief Convert String to Long (with validation).
- *
- * This method converts a string to a long with
- * range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- * @param[in] base is the expected base of the number
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_long(
- const char *s,
- long *n,
- char **endptr,
- int base
-);
-
-/**
- * @brief Convert String to Unsigned Long (with validation).
- *
- * This method converts a string to an unsigned long with
- * range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- * @param[in] base is the expected base of the number
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_unsigned_long(
- const char *s,
- unsigned long *n,
- char **endptr,
- int base
-);
-
-/**
- * @brief Convert String to Long Long (with validation).
- *
- * This method converts a string to a long long with
- * range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- * @param[in] base is the expected base of the number
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_long_long(
- const char *s,
- long long *n,
- char **endptr,
- int base
-);
-
-/**
- * @brief Convert String to Unsigned Long Long (with validation).
- *
- * This method converts a string to an unsigned character with
- * range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- * @param[in] base is the expected base of the number
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_unsigned_long_long(
- const char *s,
- unsigned long long *n,
- char **endptr,
- int base
-);
-
-/**
- * @brief Convert String to Float (with validation).
- *
- * This method converts a string to a float with range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_float(
- const char *s,
- float *n,
- char **endptr
-);
-
-/**
- * @brief Convert String to Double (with validation).
- *
- * This method converts a string to a double with range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_double(
- const char *s,
- double *n,
- char **endptr
-);
-
-/**
- * @brief Convert String to long double (with validation).
- *
- * This method converts a string to a long double with range validation.
- *
- * @param[in] s is the string to convert
- * @param[in] n points to the variable to place the converted output in
- * @param[in] endptr is used to keep track of the position in the string
- *
- * @retval This method returns RTEMS_SUCCESSFUL on successful conversion
- * and *n is filled in. Otherwise, the status indicates the
- * source of the error.
- */
-rtems_status_code rtems_string_to_long_double(
- const char *s,
- long double *n,
- char **endptr
-);
-
-#endif
-/**@}*/
diff --git a/cpukit/libmisc/testsupport/test.h b/cpukit/libmisc/testsupport/test.h
deleted file mode 100644
index 3dbdb9e32e..0000000000
--- a/cpukit/libmisc/testsupport/test.h
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright (c) 2014, 2017 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_TEST_H
-#define _RTEMS_TEST_H
-
-#include <rtems.h>
-#include <rtems/printer.h>
-#include <rtems/score/atomic.h>
-#include <rtems/score/smpbarrier.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup RTEMSTest Test Support
- *
- * @brief Test support functions.
- *
- * @{
- */
-
-/**
- * @brief Each test must define a test name string.
- */
-extern const char rtems_test_name[];
-
-/**
- * @brief Each test must define a printer.
- */
-extern rtems_printer rtems_test_printer;
-
-/**
- * @brief Fatal extension for tests.
- */
-void rtems_test_fatal_extension(
- rtems_fatal_source source,
- bool always_set_to_false,
- rtems_fatal_code code
-);
-
-/**
- * @brief Initial extension for tests.
- */
-#define RTEMS_TEST_INITIAL_EXTENSION \
- { NULL, NULL, NULL, NULL, NULL, NULL, NULL, rtems_test_fatal_extension }
-
-/**
- * @brief Test states.
- */
-typedef enum
-{
- RTEMS_TEST_STATE_PASS,
- RTEMS_TEST_STATE_FAIL,
- RTEMS_TEST_STATE_USER_INPUT,
- RTEMS_TEST_STATE_INDETERMINATE,
- RTEMS_TEST_STATE_BENCHMARK
-} RTEMS_TEST_STATE;
-
-#if (TEST_STATE_EXPECTED_FAIL && TEST_STATE_USER_INPUT) || \
- (TEST_STATE_EXPECTED_FAIL && TEST_STATE_INDETERMINATE) || \
- (TEST_STATE_EXPECTED_FAIL && TEST_STATE_BENCHMARK) || \
- (TEST_STATE_USER_INPUT && TEST_STATE_INDETERMINATE) || \
- (TEST_STATE_USER_INPUT && TEST_STATE_BENCHMARK) || \
- (TEST_STATE_INDETERMINATE && TEST_STATE_BENCHMARK)
- #error Test states must be unique
-#endif
-
-#if TEST_STATE_EXPECTED_FAIL
- #define TEST_STATE RTEMS_TEST_STATE_FAIL
-#elif TEST_STATE_USER_INPUT
- #define TEST_STATE RTEMS_TEST_STATE_USER_INPUT
-#elif TEST_STATE_INDETERMINATE
- #define TEST_STATE RTEMS_TEST_STATE_INDETERMINATE
-#elif TEST_STATE_BENCHMARK
- #define TEST_STATE RTEMS_TEST_STATE_BENCHMARK
-#else
- #define TEST_STATE RTEMS_TEST_STATE_PASS
-#endif
-
-/**
- * @brief Prints a begin of test message using printf().
- *
- * @returns As specified by printf().
- */
-int rtems_test_begin(const char* name, const RTEMS_TEST_STATE state);
-
-/**
- * @brief Prints an end of test message using printf().
- *
- * @returns As specified by printf().
- */
-int rtems_test_end(const char* name);
-
-/**
- * @brief Exit the test without calling exit() since it closes stdin, etc and
- * pulls in stdio code
- */
-void rtems_test_exit(int status) RTEMS_NO_RETURN;
-
-/**
- * @brief Prints via the RTEMS printer.
- *
- * @returns As specified by printf().
- */
-int rtems_test_printf(const char* format, ...) RTEMS_PRINTFLIKE(1, 2);
-
-#define RTEMS_TEST_PARALLEL_PROCESSOR_MAX 32
-
-typedef struct rtems_test_parallel_job rtems_test_parallel_job;
-
-/**
- * @brief Internal context for parallel job execution.
- */
-typedef struct {
- Atomic_Ulong stop;
- SMP_barrier_Control barrier;
- size_t worker_count;
- rtems_id worker_ids[RTEMS_TEST_PARALLEL_PROCESSOR_MAX];
- rtems_id stop_worker_timer_id;
- const struct rtems_test_parallel_job *jobs;
- size_t job_count;
-} rtems_test_parallel_context;
-
-/**
- * @brief Worker task setup handler.
- *
- * Called during rtems_test_parallel() to optionally setup a worker task before
- * it is started.
- *
- * @param[in] ctx The parallel context.
- * @param[in] worker_index The worker index.
- * @param[in] worker_id The worker task identifier.
- */
-typedef void (*rtems_test_parallel_worker_setup)(
- rtems_test_parallel_context *ctx,
- size_t worker_index,
- rtems_id worker_id
-);
-
-/**
- * @brief Basic parallel job description.
- */
-struct rtems_test_parallel_job {
- /**
- * @brief Job initialization handler.
- *
- * This handler executes only in the context of the master worker before the
- * job body handler.
- *
- * @param[in] ctx The parallel context.
- * @param[in] arg The user specified argument.
- * @param[in] active_workers Count of active workers. Depends on the cascade
- * option.
- *
- * @return The desired job body execution time in clock ticks. See
- * rtems_test_parallel_stop_job().
- */
- rtems_interval (*init)(
- rtems_test_parallel_context *ctx,
- void *arg,
- size_t active_workers
- );
-
- /**
- * @brief Job body handler.
- *
- * @param[in] ctx The parallel context.
- * @param[in] arg The user specified argument.
- * @param[in] active_workers Count of active workers. Depends on the cascade
- * option.
- * @param[in] worker_index The worker index. It ranges from 0 to the
- * processor count minus one.
- */
- void (*body)(
- rtems_test_parallel_context *ctx,
- void *arg,
- size_t active_workers,
- size_t worker_index
- );
-
- /**
- * @brief Job finalization handler.
- *
- * This handler executes only in the context of the master worker after the
- * job body handler.
- *
- * @param[in] ctx The parallel context.
- * @param[in] arg The user specified argument.
- * @param[in] active_workers Count of active workers. Depends on the cascade
- * option.
- */
- void (*fini)(
- rtems_test_parallel_context *ctx,
- void *arg,
- size_t active_workers
- );
-
- /**
- * @brief Job specific argument.
- */
- void *arg;
-
- /**
- * @brief Job cascading flag.
- *
- * This flag indicates whether the job should be executed in a cascaded
- * manner (the job is executed on one processor first, two processors
- * afterwards and incremented step by step until all processors are used).
- */
- bool cascade;
-};
-
-/**
- * @brief Indicates if a job body should stop its work loop.
- *
- * @param[in] ctx The parallel context.
- *
- * @retval true The job body should stop its work loop and return to the caller.
- * @retval false Otherwise.
- */
-static inline bool rtems_test_parallel_stop_job(
- const rtems_test_parallel_context *ctx
-)
-{
- return _Atomic_Load_ulong(&ctx->stop, ATOMIC_ORDER_RELAXED) != 0;
-}
-
-/**
- * @brief Indicates if a worker is the master worker.
- *
- * The master worker is the thread that called rtems_test_parallel().
- *
- * @param[in] worker_index The worker index.
- *
- * @retval true This is the master worker.
- * @retval false Otherwise.
- */
-static inline bool rtems_test_parallel_is_master_worker(size_t worker_index)
-{
- return worker_index == 0;
-}
-
-/**
- * @brief Returns the task identifier for a worker.
- *
- * @param[in] ctx The parallel context.
- * @param[in] worker_index The worker index.
- *
- * @return The task identifier of the worker.
- */
-static inline rtems_id rtems_test_parallel_get_task_id(
- const rtems_test_parallel_context *ctx,
- size_t worker_index
-)
-{
- return ctx->worker_ids[worker_index];
-}
-
-/**
- * @brief Runs a bunch of jobs in parallel on all processors of the system.
- *
- * The worker tasks inherit the priority of the executing task.
- *
- * There are SMP barriers before and after the job body.
- *
- * @param[in] ctx The parallel context.
- * @param[in] worker_setup Optional handler to setup a worker task before it is
- * started.
- * @param[in] jobs The table of jobs.
- * @param[in] job_count The count of jobs in the job table.
- */
-void rtems_test_parallel(
- rtems_test_parallel_context *ctx,
- rtems_test_parallel_worker_setup worker_setup,
- const rtems_test_parallel_job *jobs,
- size_t job_count
-);
-
-/**
- * @brief Performs a busy loop with the specified iteration count.
- *
- * This function is optimized to not perform memory accesses and should have a
- * small jitter.
- *
- * @param[in] count The iteration count.
- */
-void rtems_test_busy(uint_fast32_t count);
-
-/**
- * @brief Returns a count value for rtems_test_busy() which yields roughly a
- * duration of one clock tick.
- */
-uint_fast32_t rtems_test_get_one_tick_busy_count(void);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _RTEMS_TEST_H */
diff --git a/cpukit/libmisc/untar/untar.h b/cpukit/libmisc/untar/untar.h
deleted file mode 100644
index bc0a97c103..0000000000
--- a/cpukit/libmisc/untar/untar.h
+++ /dev/null
@@ -1,260 +0,0 @@
-/**
- * @file
- *
- * @brief Untar an Image
- *
- * This file defines the interface to methods which can untar an image.
- */
-
-/*
- * Written by: Jake Janovetz <janovetz@tempest.ece.uiuc.edu>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_UNTAR_H
-#define _RTEMS_UNTAR_H
-
-#include <stdbool.h>
-#include <stddef.h>
-#include <tar.h>
-#include <zlib.h>
-#include <xz.h>
-
-#include <rtems/print.h>
-
-/**
- * @defgroup libmisc_untar_img Untar Image
- *
- * @ingroup libmisc
- */
-/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define UNTAR_SUCCESSFUL 0
-#define UNTAR_FAIL 1
-#define UNTAR_INVALID_CHECKSUM 2
-#define UNTAR_INVALID_HEADER 3
-
-#define UNTAR_GZ_INFLATE_FAILED 4
-#define UNTAR_GZ_INFLATE_END_FAILED 5
-
-int Untar_FromMemory(void *tar_buf, size_t size);
-int Untar_FromMemory_Print(void *tar_buf, size_t size, const rtems_printer* printer);
-int Untar_FromFile(const char *tar_name);
-int Untar_FromFile_Print(const char *tar_name, const rtems_printer* printer);
-
-typedef struct {
- /**
- * @brief Current context state.
- */
- enum {
- UNTAR_CHUNK_HEADER,
- UNTAR_CHUNK_SKIP,
- UNTAR_CHUNK_WRITE,
- UNTAR_CHUNK_ERROR
- } state;
-
- /**
- * @brief Header buffer.
- */
- char header[512];
-
- /**
- * @brief Name buffer.
- */
- char fname[100];
-
- /**
- * @brief Number of bytes of overall length are already processed.
- */
- size_t done_bytes;
-
- /**
- * @brief Mode of the file.
- */
- unsigned long mode;
-
- /**
- * @brief Overall amount of bytes to be processed.
- */
- unsigned long todo_bytes;
-
- /**
- * @brief Overall amount of blocks to be processed.
- */
- unsigned long todo_blocks;
-
- /**
- * @brief File descriptor of output file.
- */
- int out_fd;
-} Untar_ChunkContext;
-
-typedef struct {
- /**
- * @brief Instance of Chunk Context needed for tar decompression.
- */
- Untar_ChunkContext base;
-
- /**
- * @brief Current zlib context.
- */
- z_stream strm;
-
- /**
- * @brief Buffer that contains the inflated data.
- */
- void *inflateBuffer;
-
- /**
- * @brief Size of buffer that contains the inflated data.
- */
- size_t inflateBufferSize;
-
-} Untar_GzChunkContext;
-
-typedef struct {
- /**
- * @brief Instance of Chunk Context needed for tar decompression.
- */
- Untar_ChunkContext base;
-
- /**
- * @brief Xz context.
- */
- struct xz_dec* strm;
-
- /**
- * @brief Xz buffer.
- */
- struct xz_buf buf;
-
- /**
- * @brief Buffer that contains the inflated data.
- */
- void *inflateBuffer;
-
- /**
- * @brief Size of buffer that contains the inflated data.
- */
- size_t inflateBufferSize;
-
-} Untar_XzChunkContext;
-
-/**
- * @brief Initializes the Untar_ChunkContext files out of a part of a block of
- * memory.
- *
- * @param Untar_ChunkContext *context [in] Pointer to a context structure.
- */
-void Untar_ChunkContext_Init(Untar_ChunkContext *context);
-
-/*
- * @brief Rips links, directories and files out of a part of a block of memory.
- *
- * @param Untar_ChunkContext *context [in] Pointer to a context structure.
- * @param void *chunk [in] Pointer to a chunk of a TAR buffer.
- * @param size_t chunk_size [in] Length of the chunk of a TAR buffer.
- *
- * @retval UNTAR_SUCCESSFUL (0) on successful completion.
- * @retval UNTAR_FAIL for a faulty step within the process.
- * @retval UNTAR_INVALID_CHECKSUM for an invalid header checksum.
- * @retval UNTAR_INVALID_HEADER for an invalid header.
- */
-
-int Untar_FromChunk_Print(
- Untar_ChunkContext *context,
- void *chunk,
- size_t chunk_size,
- const rtems_printer* printer
-);
-
-/**
- * @brief Initializes the Untar_ChunkGzContext.
- *
- * @param Untar_ChunkGzContext *context [in] Pointer to a context structure.
- * @param void *inflateBuffer [in] Pointer to a context structure.
- * @param size_t inflateBufferSize [in] Size of inflateBuffer.
- */
-int Untar_GzChunkContext_Init(
- Untar_GzChunkContext *ctx,
- void *inflateBuffer,
- size_t inflateBufferSize
-);
-
-/*
- * @brief Untars a GZ compressed POSIX TAR file.
- *
- * This is a subroutine used to rip links, directories, and
- * files out of a tar.gz/tgz file.
- *
- * @param Untar_ChunkContext *context [in] Pointer to a context structure.
- * @param ssize buflen [in] Size of valid bytes in input buffer.
- * @param z_stream *strm [in] Pointer to the current zlib context.
- */
-int Untar_FromGzChunk_Print(
- Untar_GzChunkContext *ctx,
- void *chunk,
- size_t chunk_size,
- const rtems_printer* printer
-);
-
-/**
- * @brief Initializes the Untar_ChunkXzContext.
- *
- * @param Untar_ChunkXzContext *context [in] Pointer to a context structure.
- * @param enum xz_mode mode [in] Dictionary mode.
- * @param uint32_t dict_max [in] Maximum size of dictionary.
- * @param void *inflateBuffer [in] Pointer to a context structure.
- * @param size_t inflateBufferSize [in] Size of inflateBuffer.
- */
-int Untar_XzChunkContext_Init(
- Untar_XzChunkContext *ctx,
- enum xz_mode mode,
- uint32_t dict_max,
- void *inflateBuffer,
- size_t inflateBufferSize
-);
-
-/*
- * @brief Untars a XZ compressed POSIX TAR file.
- *
- * This is a subroutine used to rip links, directories, and
- * files out of a tar.gz/tgz file.
- *
- * @param Untar_ChunkContext *context [in] Pointer to a context structure.
- * @param ssize buflen [in] Size of valid bytes in input buffer.
- * @param z_stream *strm [in] Pointer to the current zlib context.
- */
-int Untar_FromXzChunk_Print(
- Untar_XzChunkContext *ctx,
- const void *chunk,
- size_t chunk_size,
- const rtems_printer* printer
-);
-
-/**************************************************************************
- * This converts octal ASCII number representations into an
- * unsigned long. Only support 32-bit numbers for now.
- *************************************************************************/
-extern unsigned long
-_rtems_octal2ulong(const char *octascii, size_t len);
-
-/************************************************************************
- * Compute the TAR checksum and check with the value in
- * the archive. The checksum is computed over the entire
- * header, but the checksum field is substituted with blanks.
- ************************************************************************/
-extern int
-_rtems_tar_header_checksum(const char *bufr);
-
-#ifdef __cplusplus
-}
-#endif
-/**@}*/
-#endif /* _RTEMS_UNTAR_H */
diff --git a/cpukit/libmisc/utf8proc/utf8proc.h b/cpukit/libmisc/utf8proc/utf8proc.h
deleted file mode 100644
index 24a891b6c6..0000000000
--- a/cpukit/libmisc/utf8proc/utf8proc.h
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * Copyright (c) 2009 Public Software Group e. V., Berlin, Germany
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-
-/*
- * File name: utf8proc.h
- *
- * Description:
- * Header files for libutf8proc, which is a mapping tool for UTF-8 strings
- * with following features:
- * - decomposing and composing of strings
- * - replacing compatibility characters with their equivalents
- * - stripping of "default ignorable characters"
- * like SOFT-HYPHEN or ZERO-WIDTH-SPACE
- * - folding of certain characters for string comparison
- * (e.g. HYPHEN U+2010 and MINUS U+2212 to ASCII "-")
- * (see "LUMP" option)
- * - optional rejection of strings containing non-assigned code points
- * - stripping of control characters
- * - stripping of character marks (accents, etc.)
- * - transformation of LF, CRLF, CR and NEL to line-feed (LF)
- * or to the unicode chararacters for paragraph separation (PS)
- * or line separation (LS).
- * - unicode case folding (for case insensitive string comparisons)
- * - rejection of illegal UTF-8 data
- * (i.e. UTF-8 encoded UTF-16 surrogates)
- * - support for korean hangul characters
- * Unicode Version 5.0.0 is supported.
- */
-
-
-#ifndef UTF8PROC_H
-#define UTF8PROC_H
-
-
-#include <stdlib.h>
-#include <sys/types.h>
-#ifdef _MSC_VER
-typedef signed char int8_t;
-typedef unsigned char uint8_t;
-typedef short int16_t;
-typedef unsigned short uint16_t;
-typedef int int32_t;
-#ifdef _WIN64
-#define ssize_t __int64
-#else
-#define ssize_t int
-#endif
-typedef unsigned char bool;
-enum {false, true};
-#else
-#include <stdbool.h>
-#include <inttypes.h>
-#endif
-#include <limits.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef SSIZE_MAX
-#define SSIZE_MAX ((size_t)SIZE_MAX/2)
-#endif
-
-#define UTF8PROC_NULLTERM (1<<0)
-#define UTF8PROC_STABLE (1<<1)
-#define UTF8PROC_COMPAT (1<<2)
-#define UTF8PROC_COMPOSE (1<<3)
-#define UTF8PROC_DECOMPOSE (1<<4)
-#define UTF8PROC_IGNORE (1<<5)
-#define UTF8PROC_REJECTNA (1<<6)
-#define UTF8PROC_NLF2LS (1<<7)
-#define UTF8PROC_NLF2PS (1<<8)
-#define UTF8PROC_NLF2LF (UTF8PROC_NLF2LS | UTF8PROC_NLF2PS)
-#define UTF8PROC_STRIPCC (1<<9)
-#define UTF8PROC_CASEFOLD (1<<10)
-#define UTF8PROC_CHARBOUND (1<<11)
-#define UTF8PROC_LUMP (1<<12)
-#define UTF8PROC_STRIPMARK (1<<13)
-/*
- * Flags being regarded by several functions in the library:
- * NULLTERM: The given UTF-8 input is NULL terminated.
- * STABLE: Unicode Versioning Stability has to be respected.
- * COMPAT: Compatiblity decomposition
- * (i.e. formatting information is lost)
- * COMPOSE: Return a result with composed characters.
- * DECOMPOSE: Return a result with decomposed characters.
- * IGNORE: Strip "default ignorable characters"
- * REJECTNA: Return an error, if the input contains unassigned
- * code points.
- * NLF2LS: Indicating that NLF-sequences (LF, CRLF, CR, NEL) are
- * representing a line break, and should be converted to the
- * unicode character for line separation (LS).
- * NLF2PS: Indicating that NLF-sequences are representing a paragraph
- * break, and should be converted to the unicode character for
- * paragraph separation (PS).
- * NLF2LF: Indicating that the meaning of NLF-sequences is unknown.
- * STRIPCC: Strips and/or convers control characters.
- * NLF-sequences are transformed into space, except if one of
- * the NLF2LS/PS/LF options is given.
- * HorizontalTab (HT) and FormFeed (FF) are treated as a
- * NLF-sequence in this case.
- * All other control characters are simply removed.
- * CASEFOLD: Performs unicode case folding, to be able to do a
- * case-insensitive string comparison.
- * CHARBOUND: Inserts 0xFF bytes at the beginning of each sequence which
- * is representing a single grapheme cluster (see UAX#29).
- * LUMP: Lumps certain characters together
- * (e.g. HYPHEN U+2010 and MINUS U+2212 to ASCII "-").
- * (See lump.txt for details.)
- * If NLF2LF is set, this includes a transformation of
- * paragraph and line separators to ASCII line-feed (LF).
- * STRIPMARK: Strips all character markings
- * (non-spacing, spacing and enclosing) (i.e. accents)
- * NOTE: this option works only with COMPOSE or DECOMPOSE
- */
-
-#define UTF8PROC_ERROR_NOMEM -1
-#define UTF8PROC_ERROR_OVERFLOW -2
-#define UTF8PROC_ERROR_INVALIDUTF8 -3
-#define UTF8PROC_ERROR_NOTASSIGNED -4
-#define UTF8PROC_ERROR_INVALIDOPTS -5
-/*
- * Error codes being returned by almost all functions:
- * ERROR_NOMEM: Memory could not be allocated.
- * ERROR_OVERFLOW: The given string is too long to be processed.
- * ERROR_INVALIDUTF8: The given string is not a legal UTF-8 string.
- * ERROR_NOTASSIGNED: The REJECTNA flag was set,
- * and an unassigned code point was found.
- * ERROR_INVALIDOPTS: Invalid options have been used.
- */
-
-typedef int16_t utf8proc_propval_t;
-typedef struct utf8proc_property_struct {
- utf8proc_propval_t category;
- utf8proc_propval_t combining_class;
- utf8proc_propval_t bidi_class;
- utf8proc_propval_t decomp_type;
- const int32_t *decomp_mapping;
- unsigned bidi_mirrored:1;
- int32_t uppercase_mapping;
- int32_t lowercase_mapping;
- int32_t titlecase_mapping;
- int32_t comb1st_index;
- int32_t comb2nd_index;
- unsigned comp_exclusion:1;
- unsigned ignorable:1;
- unsigned control_boundary:1;
- unsigned extend:1;
- const int32_t *casefold_mapping;
-} utf8proc_property_t;
-
-#define UTF8PROC_CATEGORY_LU 1
-#define UTF8PROC_CATEGORY_LL 2
-#define UTF8PROC_CATEGORY_LT 3
-#define UTF8PROC_CATEGORY_LM 4
-#define UTF8PROC_CATEGORY_LO 5
-#define UTF8PROC_CATEGORY_MN 6
-#define UTF8PROC_CATEGORY_MC 7
-#define UTF8PROC_CATEGORY_ME 8
-#define UTF8PROC_CATEGORY_ND 9
-#define UTF8PROC_CATEGORY_NL 10
-#define UTF8PROC_CATEGORY_NO 11
-#define UTF8PROC_CATEGORY_PC 12
-#define UTF8PROC_CATEGORY_PD 13
-#define UTF8PROC_CATEGORY_PS 14
-#define UTF8PROC_CATEGORY_PE 15
-#define UTF8PROC_CATEGORY_PI 16
-#define UTF8PROC_CATEGORY_PF 17
-#define UTF8PROC_CATEGORY_PO 18
-#define UTF8PROC_CATEGORY_SM 19
-#define UTF8PROC_CATEGORY_SC 20
-#define UTF8PROC_CATEGORY_SK 21
-#define UTF8PROC_CATEGORY_SO 22
-#define UTF8PROC_CATEGORY_ZS 23
-#define UTF8PROC_CATEGORY_ZL 24
-#define UTF8PROC_CATEGORY_ZP 25
-#define UTF8PROC_CATEGORY_CC 26
-#define UTF8PROC_CATEGORY_CF 27
-#define UTF8PROC_CATEGORY_CS 28
-#define UTF8PROC_CATEGORY_CO 29
-#define UTF8PROC_CATEGORY_CN 30
-#define UTF8PROC_BIDI_CLASS_L 1
-#define UTF8PROC_BIDI_CLASS_LRE 2
-#define UTF8PROC_BIDI_CLASS_LRO 3
-#define UTF8PROC_BIDI_CLASS_R 4
-#define UTF8PROC_BIDI_CLASS_AL 5
-#define UTF8PROC_BIDI_CLASS_RLE 6
-#define UTF8PROC_BIDI_CLASS_RLO 7
-#define UTF8PROC_BIDI_CLASS_PDF 8
-#define UTF8PROC_BIDI_CLASS_EN 9
-#define UTF8PROC_BIDI_CLASS_ES 10
-#define UTF8PROC_BIDI_CLASS_ET 11
-#define UTF8PROC_BIDI_CLASS_AN 12
-#define UTF8PROC_BIDI_CLASS_CS 13
-#define UTF8PROC_BIDI_CLASS_NSM 14
-#define UTF8PROC_BIDI_CLASS_BN 15
-#define UTF8PROC_BIDI_CLASS_B 16
-#define UTF8PROC_BIDI_CLASS_S 17
-#define UTF8PROC_BIDI_CLASS_WS 18
-#define UTF8PROC_BIDI_CLASS_ON 19
-#define UTF8PROC_DECOMP_TYPE_FONT 1
-#define UTF8PROC_DECOMP_TYPE_NOBREAK 2
-#define UTF8PROC_DECOMP_TYPE_INITIAL 3
-#define UTF8PROC_DECOMP_TYPE_MEDIAL 4
-#define UTF8PROC_DECOMP_TYPE_FINAL 5
-#define UTF8PROC_DECOMP_TYPE_ISOLATED 6
-#define UTF8PROC_DECOMP_TYPE_CIRCLE 7
-#define UTF8PROC_DECOMP_TYPE_SUPER 8
-#define UTF8PROC_DECOMP_TYPE_SUB 9
-#define UTF8PROC_DECOMP_TYPE_VERTICAL 10
-#define UTF8PROC_DECOMP_TYPE_WIDE 11
-#define UTF8PROC_DECOMP_TYPE_NARROW 12
-#define UTF8PROC_DECOMP_TYPE_SMALL 13
-#define UTF8PROC_DECOMP_TYPE_SQUARE 14
-#define UTF8PROC_DECOMP_TYPE_FRACTION 15
-#define UTF8PROC_DECOMP_TYPE_COMPAT 16
-
-extern const int8_t utf8proc_utf8class[256];
-
-const char *utf8proc_version(void);
-
-const char *utf8proc_errmsg(ssize_t errcode);
-/*
- * Returns a static error string for the given error code.
- */
-
-ssize_t utf8proc_iterate(const uint8_t *str, ssize_t strlen, int32_t *dst);
-/*
- * Reads a single char from the UTF-8 sequence being pointed to by 'str'.
- * The maximum number of bytes read is 'strlen', unless 'strlen' is
- * negative.
- * If a valid unicode char could be read, it is stored in the variable
- * being pointed to by 'dst', otherwise that variable will be set to -1.
- * In case of success the number of bytes read is returned, otherwise a
- * negative error code is returned.
- */
-
-bool utf8proc_codepoint_valid(int32_t uc);
-/*
- * Returns 1, if the given unicode code-point is valid, otherwise 0.
- */
-
-ssize_t utf8proc_encode_char(int32_t uc, uint8_t *dst);
-/*
- * Encodes the unicode char with the code point 'uc' as an UTF-8 string in
- * the byte array being pointed to by 'dst'. This array has to be at least
- * 4 bytes long.
- * In case of success the number of bytes written is returned,
- * otherwise 0.
- * This function does not check if 'uc' is a valid unicode code point.
- */
-
-const utf8proc_property_t *utf8proc_get_property(int32_t uc);
-/*
- * Returns a pointer to a (constant) struct containing information about
- * the unicode char with the given code point 'uc'.
- * If the character is not existent a pointer to a special struct is
- * returned, where 'category' is a NULL pointer.
- * WARNING: The parameter 'uc' has to be in the range of 0x0000 to
- * 0x10FFFF, otherwise the program might crash!
- */
-
-ssize_t utf8proc_decompose_char(
- int32_t uc, int32_t *dst, ssize_t bufsize,
- int options, int *last_boundclass
-);
-/*
- * Writes a decomposition of the unicode char 'uc' into the array being
- * pointed to by 'dst'.
- * Following flags in the 'options' field are regarded:
- * REJECTNA: an unassigned unicode code point leads to an error
- * IGNORE: "default ignorable" chars are stripped
- * CASEFOLD: unicode casefolding is applied
- * COMPAT: replace certain characters with their
- * compatibility decomposition
- * CHARBOUND: Inserts 0xFF bytes before each grapheme cluster
- * LUMP: lumps certain different characters together
- * STRIPMARK: removes all character marks
- * The pointer 'last_boundclass' has to point to an integer variable which
- * is storing the last character boundary class, if the CHARBOUND option
- * is used.
- * In case of success the number of chars written is returned,
- * in case of an error, a negative error code is returned.
- * If the number of written chars would be bigger than 'bufsize',
- * the buffer (up to 'bufsize') has inpredictable data, and the needed
- * buffer size is returned.
- * WARNING: The parameter 'uc' has to be in the range of 0x0000 to
- * 0x10FFFF, otherwise the program might crash!
- */
-
-ssize_t utf8proc_decompose(
- const uint8_t *str, ssize_t strlen,
- int32_t *buffer, ssize_t bufsize, int options
-);
-/*
- * Does the same as 'utf8proc_decompose_char', but acts on a whole UTF-8
- * string, and orders the decomposed sequences correctly.
- * If the NULLTERM flag in 'options' is set, processing will be stopped,
- * when a NULL byte is encounted, otherwise 'strlen' bytes are processed.
- * The result in form of unicode code points is written into the buffer
- * being pointed to by 'buffer', having the length of 'bufsize' entries.
- * In case of success the number of chars written is returned,
- * in case of an error, a negative error code is returned.
- * If the number of written chars would be bigger than 'bufsize',
- * the buffer (up to 'bufsize') has inpredictable data, and the needed
- * buffer size is returned.
- */
-
-ssize_t utf8proc_reencode(int32_t *buffer, ssize_t length, int options);
-/*
- * Reencodes the sequence of unicode characters given by the pointer
- * 'buffer' and 'length' as UTF-8.
- * The result is stored in the same memory area where the data is read.
- * Following flags in the 'options' field are regarded:
- * NLF2LS: converts LF, CRLF, CR and NEL into LS
- * NLF2PS: converts LF, CRLF, CR and NEL into PS
- * NLF2LF: converts LF, CRLF, CR and NEL into LF
- * STRIPCC: strips or converts all non-affected control characters
- * COMPOSE: tries to combine decomposed characters into composite
- * characters
- * STABLE: prohibits combining characters which would violate
- * the unicode versioning stability
- * In case of success the length of the resulting UTF-8 string is
- * returned, otherwise a negative error code is returned.
- * WARNING: The amount of free space being pointed to by 'buffer', has to
- * exceed the amount of the input data by one byte, and the
- * entries of the array pointed to by 'str' have to be in the
- * range of 0x0000 to 0x10FFFF, otherwise the program might
- * crash!
- */
-
-ssize_t utf8proc_map(
- const uint8_t *str, ssize_t strlen, uint8_t **dstptr, int options
-);
-/*
- * Maps the given UTF-8 string being pointed to by 'str' to a new UTF-8
- * string, which is allocated dynamically, and afterwards pointed to by
- * the pointer being pointed to by 'dstptr'.
- * If the NULLTERM flag in the 'options' field is set, the length is
- * determined by a NULL terminator, otherwise the parameter 'strlen' is
- * evaluated to determine the string length, but in any case the result
- * will be NULL terminated (though it might contain NULL characters
- * before). Other flags in the 'options' field are passed to the functions
- * defined above, and regarded as described.
- * In case of success the length of the new string is returned,
- * otherwise a negative error code is returned.
- * NOTICE: The memory of the new UTF-8 string will have been allocated with
- * 'malloc', and has theirfore to be freed with 'free'.
- */
-
-uint8_t *utf8proc_NFD(const uint8_t *str);
-uint8_t *utf8proc_NFC(const uint8_t *str);
-uint8_t *utf8proc_NFKD(const uint8_t *str);
-uint8_t *utf8proc_NFKC(const uint8_t *str);
-/*
- * Returns a pointer to newly allocated memory of a NFD, NFC, NFKD or NFKC
- * normalized version of the null-terminated string 'str'.
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/cpukit/libmisc/uuid/uuid.h b/cpukit/libmisc/uuid/uuid.h
deleted file mode 100644
index ca846da0f0..0000000000
--- a/cpukit/libmisc/uuid/uuid.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Public include file for the UUID library
- *
- * Copyright (C) 1996, 1997, 1998 Theodore Ts'o.
- *
- * %Begin-Header%
- * 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, and the entire permission notice in its entirety,
- * including the disclaimer of warranties.
- * 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. The name of the author may not be used to endorse or promote
- * products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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 NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- * %End-Header%
- */
-
-#ifndef _UUID_UUID_H
-#define _UUID_UUID_H
-
-#include <sys/types.h>
-#ifndef _WIN32
-#include <sys/time.h>
-#endif
-#include <time.h>
-
-typedef unsigned char uuid_t[16];
-
-/* UUID Variant definitions */
-#define UUID_VARIANT_NCS 0
-#define UUID_VARIANT_DCE 1
-#define UUID_VARIANT_MICROSOFT 2
-#define UUID_VARIANT_OTHER 3
-
-/* UUID Type definitions */
-#define UUID_TYPE_DCE_TIME 1
-#define UUID_TYPE_DCE_RANDOM 4
-
-/* Allow UUID constants to be defined */
-#ifdef __GNUC__
-#define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \
- static const uuid_t name __attribute__ ((unused)) = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}
-#else
-#define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \
- static const uuid_t name = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* clear.c */
-void uuid_clear(uuid_t uu);
-
-/* compare.c */
-int uuid_compare(const uuid_t uu1, const uuid_t uu2);
-
-/* copy.c */
-void uuid_copy(uuid_t dst, const uuid_t src);
-
-/* gen_uuid.c */
-void uuid_generate(uuid_t out);
-void uuid_generate_random(uuid_t out);
-void uuid_generate_time(uuid_t out);
-
-/* isnull.c */
-int uuid_is_null(const uuid_t uu);
-
-/* parse.c */
-int uuid_parse(const char *in, uuid_t uu);
-
-/* unparse.c */
-void uuid_unparse(const uuid_t uu, char *out);
-void uuid_unparse_lower(const uuid_t uu, char *out);
-void uuid_unparse_upper(const uuid_t uu, char *out);
-
-/* uuid_time.c */
-time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);
-int uuid_type(const uuid_t uu);
-int uuid_variant(const uuid_t uu);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _UUID_UUID_H */
diff --git a/cpukit/libmisc/xz/xz.h b/cpukit/libmisc/xz/xz.h
deleted file mode 100644
index 0a4b38d33c..0000000000
--- a/cpukit/libmisc/xz/xz.h
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * XZ decompressor
- *
- * Authors: Lasse Collin <lasse.collin@tukaani.org>
- * Igor Pavlov <http://7-zip.org/>
- *
- * This file has been put into the public domain.
- * You can do whatever you want with this file.
- */
-
-#ifndef XZ_H
-#define XZ_H
-
-#ifdef __KERNEL__
-# include <linux/stddef.h>
-# include <linux/types.h>
-#else
-# include <stddef.h>
-# include <stdint.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* In Linux, this is used to make extern functions static when needed. */
-#ifndef XZ_EXTERN
-# define XZ_EXTERN extern
-#endif
-
-/**
- * enum xz_mode - Operation mode
- *
- * @XZ_SINGLE: Single-call mode. This uses less RAM than
- * than multi-call modes, because the LZMA2
- * dictionary doesn't need to be allocated as
- * part of the decoder state. All required data
- * structures are allocated at initialization,
- * so xz_dec_run() cannot return XZ_MEM_ERROR.
- * @XZ_PREALLOC: Multi-call mode with preallocated LZMA2
- * dictionary buffer. All data structures are
- * allocated at initialization, so xz_dec_run()
- * cannot return XZ_MEM_ERROR.
- * @XZ_DYNALLOC: Multi-call mode. The LZMA2 dictionary is
- * allocated once the required size has been
- * parsed from the stream headers. If the
- * allocation fails, xz_dec_run() will return
- * XZ_MEM_ERROR.
- *
- * It is possible to enable support only for a subset of the above
- * modes at compile time by defining XZ_DEC_SINGLE, XZ_DEC_PREALLOC,
- * or XZ_DEC_DYNALLOC. The xz_dec kernel module is always compiled
- * with support for all operation modes, but the preboot code may
- * be built with fewer features to minimize code size.
- */
-enum xz_mode {
- XZ_SINGLE,
- XZ_PREALLOC,
- XZ_DYNALLOC
-};
-
-/**
- * enum xz_ret - Return codes
- * @XZ_OK: Everything is OK so far. More input or more
- * output space is required to continue. This
- * return code is possible only in multi-call mode
- * (XZ_PREALLOC or XZ_DYNALLOC).
- * @XZ_STREAM_END: Operation finished successfully.
- * @XZ_UNSUPPORTED_CHECK: Integrity check type is not supported. Decoding
- * is still possible in multi-call mode by simply
- * calling xz_dec_run() again.
- * Note that this return value is used only if
- * XZ_DEC_ANY_CHECK was defined at build time,
- * which is not used in the kernel. Unsupported
- * check types return XZ_OPTIONS_ERROR if
- * XZ_DEC_ANY_CHECK was not defined at build time.
- * @XZ_MEM_ERROR: Allocating memory failed. This return code is
- * possible only if the decoder was initialized
- * with XZ_DYNALLOC. The amount of memory that was
- * tried to be allocated was no more than the
- * dict_max argument given to xz_dec_init().
- * @XZ_MEMLIMIT_ERROR: A bigger LZMA2 dictionary would be needed than
- * allowed by the dict_max argument given to
- * xz_dec_init(). This return value is possible
- * only in multi-call mode (XZ_PREALLOC or
- * XZ_DYNALLOC); the single-call mode (XZ_SINGLE)
- * ignores the dict_max argument.
- * @XZ_FORMAT_ERROR: File format was not recognized (wrong magic
- * bytes).
- * @XZ_OPTIONS_ERROR: This implementation doesn't support the requested
- * compression options. In the decoder this means
- * that the header CRC32 matches, but the header
- * itself specifies something that we don't support.
- * @XZ_DATA_ERROR: Compressed data is corrupt.
- * @XZ_BUF_ERROR: Cannot make any progress. Details are slightly
- * different between multi-call and single-call
- * mode; more information below.
- *
- * In multi-call mode, XZ_BUF_ERROR is returned when two consecutive calls
- * to XZ code cannot consume any input and cannot produce any new output.
- * This happens when there is no new input available, or the output buffer
- * is full while at least one output byte is still pending. Assuming your
- * code is not buggy, you can get this error only when decoding a compressed
- * stream that is truncated or otherwise corrupt.
- *
- * In single-call mode, XZ_BUF_ERROR is returned only when the output buffer
- * is too small or the compressed input is corrupt in a way that makes the
- * decoder produce more output than the caller expected. When it is
- * (relatively) clear that the compressed input is truncated, XZ_DATA_ERROR
- * is used instead of XZ_BUF_ERROR.
- */
-enum xz_ret {
- XZ_OK,
- XZ_STREAM_END,
- XZ_UNSUPPORTED_CHECK,
- XZ_MEM_ERROR,
- XZ_MEMLIMIT_ERROR,
- XZ_FORMAT_ERROR,
- XZ_OPTIONS_ERROR,
- XZ_DATA_ERROR,
- XZ_BUF_ERROR
-};
-
-/**
- * struct xz_buf - Passing input and output buffers to XZ code
- * @in: Beginning of the input buffer. This may be NULL if and only
- * if in_pos is equal to in_size.
- * @in_pos: Current position in the input buffer. This must not exceed
- * in_size.
- * @in_size: Size of the input buffer
- * @out: Beginning of the output buffer. This may be NULL if and only
- * if out_pos is equal to out_size.
- * @out_pos: Current position in the output buffer. This must not exceed
- * out_size.
- * @out_size: Size of the output buffer
- *
- * Only the contents of the output buffer from out[out_pos] onward, and
- * the variables in_pos and out_pos are modified by the XZ code.
- */
-struct xz_buf {
- const uint8_t *in;
- size_t in_pos;
- size_t in_size;
-
- uint8_t *out;
- size_t out_pos;
- size_t out_size;
-};
-
-/**
- * struct xz_dec - Opaque type to hold the XZ decoder state
- */
-struct xz_dec;
-
-/**
- * xz_dec_init() - Allocate and initialize a XZ decoder state
- * @mode: Operation mode
- * @dict_max: Maximum size of the LZMA2 dictionary (history buffer) for
- * multi-call decoding. This is ignored in single-call mode
- * (mode == XZ_SINGLE). LZMA2 dictionary is always 2^n bytes
- * or 2^n + 2^(n-1) bytes (the latter sizes are less common
- * in practice), so other values for dict_max don't make sense.
- * In the kernel, dictionary sizes of 64 KiB, 128 KiB, 256 KiB,
- * 512 KiB, and 1 MiB are probably the only reasonable values,
- * except for kernel and initramfs images where a bigger
- * dictionary can be fine and useful.
- *
- * Single-call mode (XZ_SINGLE): xz_dec_run() decodes the whole stream at
- * once. The caller must provide enough output space or the decoding will
- * fail. The output space is used as the dictionary buffer, which is why
- * there is no need to allocate the dictionary as part of the decoder's
- * internal state.
- *
- * Because the output buffer is used as the workspace, streams encoded using
- * a big dictionary are not a problem in single-call mode. It is enough that
- * the output buffer is big enough to hold the actual uncompressed data; it
- * can be smaller than the dictionary size stored in the stream headers.
- *
- * Multi-call mode with preallocated dictionary (XZ_PREALLOC): dict_max bytes
- * of memory is preallocated for the LZMA2 dictionary. This way there is no
- * risk that xz_dec_run() could run out of memory, since xz_dec_run() will
- * never allocate any memory. Instead, if the preallocated dictionary is too
- * small for decoding the given input stream, xz_dec_run() will return
- * XZ_MEMLIMIT_ERROR. Thus, it is important to know what kind of data will be
- * decoded to avoid allocating excessive amount of memory for the dictionary.
- *
- * Multi-call mode with dynamically allocated dictionary (XZ_DYNALLOC):
- * dict_max specifies the maximum allowed dictionary size that xz_dec_run()
- * may allocate once it has parsed the dictionary size from the stream
- * headers. This way excessive allocations can be avoided while still
- * limiting the maximum memory usage to a sane value to prevent running the
- * system out of memory when decompressing streams from untrusted sources.
- *
- * On success, xz_dec_init() returns a pointer to struct xz_dec, which is
- * ready to be used with xz_dec_run(). If memory allocation fails,
- * xz_dec_init() returns NULL.
- */
-XZ_EXTERN struct xz_dec *xz_dec_init(enum xz_mode mode, uint32_t dict_max);
-
-/**
- * xz_dec_run() - Run the XZ decoder
- * @s: Decoder state allocated using xz_dec_init()
- * @b: Input and output buffers
- *
- * The possible return values depend on build options and operation mode.
- * See enum xz_ret for details.
- *
- * Note that if an error occurs in single-call mode (return value is not
- * XZ_STREAM_END), b->in_pos and b->out_pos are not modified and the
- * contents of the output buffer from b->out[b->out_pos] onward are
- * undefined. This is true even after XZ_BUF_ERROR, because with some filter
- * chains, there may be a second pass over the output buffer, and this pass
- * cannot be properly done if the output buffer is truncated. Thus, you
- * cannot give the single-call decoder a too small buffer and then expect to
- * get that amount valid data from the beginning of the stream. You must use
- * the multi-call decoder if you don't want to uncompress the whole stream.
- */
-XZ_EXTERN enum xz_ret xz_dec_run(struct xz_dec *s, struct xz_buf *b);
-
-/**
- * xz_dec_reset() - Reset an already allocated decoder state
- * @s: Decoder state allocated using xz_dec_init()
- *
- * This function can be used to reset the multi-call decoder state without
- * freeing and reallocating memory with xz_dec_end() and xz_dec_init().
- *
- * In single-call mode, xz_dec_reset() is always called in the beginning of
- * xz_dec_run(). Thus, explicit call to xz_dec_reset() is useful only in
- * multi-call mode.
- */
-XZ_EXTERN void xz_dec_reset(struct xz_dec *s);
-
-/**
- * xz_dec_end() - Free the memory allocated for the decoder state
- * @s: Decoder state allocated using xz_dec_init(). If s is NULL,
- * this function does nothing.
- */
-XZ_EXTERN void xz_dec_end(struct xz_dec *s);
-
-/*
- * Standalone build (userspace build or in-kernel build for boot time use)
- * needs a CRC32 implementation. For normal in-kernel use, kernel's own
- * CRC32 module is used instead, and users of this module don't need to
- * care about the functions below.
- */
-#ifndef XZ_INTERNAL_CRC32
-# ifdef __KERNEL__
-# define XZ_INTERNAL_CRC32 0
-# else
-# define XZ_INTERNAL_CRC32 1
-# endif
-#endif
-
-/*
- * If CRC64 support has been enabled with XZ_USE_CRC64, a CRC64
- * implementation is needed too.
- */
-#ifndef XZ_USE_CRC64
-# undef XZ_INTERNAL_CRC64
-# define XZ_INTERNAL_CRC64 0
-#endif
-#ifndef XZ_INTERNAL_CRC64
-# ifdef __KERNEL__
-# error Using CRC64 in the kernel has not been implemented.
-# else
-# define XZ_INTERNAL_CRC64 1
-# endif
-#endif
-
-#if XZ_INTERNAL_CRC32
-/*
- * This must be called before any other xz_* function to initialize
- * the CRC32 lookup table.
- */
-XZ_EXTERN void xz_crc32_init(void);
-
-/*
- * Update CRC32 value using the polynomial from IEEE-802.3. To start a new
- * calculation, the third argument must be zero. To continue the calculation,
- * the previously returned value is passed as the third argument.
- */
-XZ_EXTERN uint32_t xz_crc32(const uint8_t *buf, size_t size, uint32_t crc);
-#endif
-
-#if XZ_INTERNAL_CRC64
-/*
- * This must be called before any other xz_* function (except xz_crc32_init())
- * to initialize the CRC64 lookup table.
- */
-XZ_EXTERN void xz_crc64_init(void);
-
-/*
- * Update CRC64 value using the polynomial from ECMA-182. To start a new
- * calculation, the third argument must be zero. To continue the calculation,
- * the previously returned value is passed as the third argument.
- */
-XZ_EXTERN uint64_t xz_crc64(const uint8_t *buf, size_t size, uint64_t crc);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif