Commit Graph

120 Commits

Author SHA1 Message Date
Chris Johns
826f3afaf3 libmisc/xz: Add xz decompression.
Add support to untar XZ compressed files.
2016-10-13 13:11:40 +11:00
Sebastian Huber
bba988d313 stackchk: Remove superfluous internal header file 2016-09-08 07:43:02 +02:00
Alexander Krutwig
6a174c024a Add Untar_FromGzChunk_Print() + Test 2016-07-26 10:00:04 +02:00
Sebastian Huber
01cb5540bd shell: Add CPUINFO command
Update #2723.
2016-05-31 10:10:36 +02:00
Sebastian Huber
c7a65085d2 Fix build for non-SPARC targets 2015-04-17 09:19:03 +02:00
Daniel Hellstrom
219d4045e7 DRVMGR: added drvmgr shell command 2015-04-17 01:10:16 +02:00
Daniel Hellstrom
02550220c5 LIBPCI: added PCI shell command 2015-04-17 01:10:15 +02:00
Chris Johns
a300920de1 libmisc/shell: Add the rtrace command for buffered tracing support.
The rtrace command interfaces to the RTEMS Trace Linker's trace
buffering data allowing users to capture and report trace data.
2015-03-31 17:04:43 +11:00
Sebastian Huber
2bd71d95b6 shell: Add PROFREPORT command 2015-03-06 16:20:00 +01:00
Alexander Krutwig
7f577d3a56 tests: Refactor parallel test execution 2015-03-05 09:12:14 +01:00
Sebastian Huber
18d0a49129 Move test support from sapi to libmisc/testsupport 2015-03-05 08:44:59 +01:00
Sebastian Huber
e870941bb0 libmisc: More useful default configuration
The dummy.c was a de-facto default configuration.  Rename it to
default-configuration.c.  Use unlimited objects and the stack checker.
This makes it easier for new RTEMS users which will likely use this file
if they just work with the usual main() function as the application
entry point.  Provide proper arguments for main() using the BSP command
line.  Add spare user extensions and drivers.

Do not initialize the network by default.  Delete bspinit.c.
2014-12-05 07:47:06 +01:00
Jennifer Averett
04a13bdf74 capture: Move print methods out of cli for reuse.
Methods to print the data were moved from capture-cli into
a support area and are no longer static so that they can
be shared by test routines, or application code that wants
to use the capture engine without the shell interface.
2014-11-24 14:04:53 -06:00
Sebastian Huber
3fe5d01bc0 shell: Add CMDLS, CMDCHOWN, CMDCHMOD commands 2014-11-20 10:30:26 +01:00
Jennifer Averett
a7817010c5 libmisc: Add top to shell. 2014-10-27 14:12:05 -05:00
Jennifer Averett
6031da438d libmisc: Add top to cpuusage. 2014-10-27 14:11:04 -05:00
Chris Johns
42c77e9982 shell: Add an editor to the shell.
This is a small (21K on sparc) editor that provides some powerful
features useful when a file needs editing on an embedded
board. No need to copy files off, edit, copy back.
2014-10-24 16:06:54 -07:00
Joel Sherrill
2195a95fb7 Libmisc/Makefile.am: Build with networking disabled 2014-09-16 17:41:43 -05:00
Chris Johns
b299960aed shell: Add an md5 hash command for files.
This command lets you get an MD5 hash for a file in an RTEMS file system.
2014-09-16 15:19:58 +10:00
Chris Johns
ebf9a057b5 libmisc: Add a stdio redirector helper.
This module makes it easy to redirect and capture stdout, stderr or any
other fd in your application.

The captured data can be sent off board, for example using syslog,
or buffered and displayed in a web page.
2014-09-16 15:19:58 +10:00
Chris Johns
a8fa078f1e shell: Add a ping command.
The ping code is taken from a recent FreeBSD release. Some options have been
tested, other not tested or do not work. This could be due to the age of
our TCP/IP stack.

This version of ping will not work if more than 64 file descriptors are
open at once because the select FD size is 64 as set in newlib.
2014-09-16 15:19:58 +10:00
Jennifer Averett
2a86615b98 capture: Add support for variable length records. 2014-09-05 06:50:29 -05:00
Jennifer Averett
133962bf2f capture: Split user extension methods out. 2014-09-05 06:50:29 -05:00
Sebastian Huber
91404ded25 libmisc: Provide libutf8proc conditionally 2013-07-26 11:55:48 +02:00
Ralf Kirchner
46b7f92152 libmisc: Add utf8proc-v1.1.5
utf8proc is a small library for processing UTF-8 encoded Unicode strings.
Some features are Unicode normalization, stripping of default ignorable characters, case folding and detection of grapheme cluster boundaries.
For the time beeing utf8proc is intended to be used for normalizing and folding UTF-8 strings
for comparison purposes when adding UTF-8 support to the FAT file system.
2013-06-03 17:28:40 +02:00
Andrei Mozzhuhin
7bb71c7e9d shell: Add df command 2013-05-16 11:40:42 +02:00
Sebastian Huber
9f527308d7 libblock: Add block device statistics 2012-06-12 10:12:40 +02:00
Sebastian Huber
3b7c123c8d Filesystem: Reference counting for locations
o A new data structure rtems_filesystem_global_location_t was
   introduced to be used for
    o the mount point location in the mount table entry,
    o the file system root location in the mount table entry,
    o the root directory location in the user environment, and
    o the current directory location in the user environment.
   During the path evaluation global start locations are obtained to
   ensure that the current file system instance will be not unmounted in
   the meantime.
 o The user environment uses now reference counting and is protected
   from concurrent access.
 o The path evaluation process was completely rewritten and simplified.
   The IMFS, RFS, NFS, and DOSFS use now a generic path evaluation
   method.  Recursive calls in the path evaluation have been replaced
   with iteration to avoid stack overflows.  Only the evaluation of
   symbolic links is recursive.  No dynamic memory allocations and
   intermediate buffers are used in the high level path evaluation.  No
   global locks are held during the file system instance specific path
   evaluation process.
 o Recursive symbolic link evaluation is now limited by
   RTEMS_FILESYSTEM_SYMLOOP_MAX.  Applications can retrieve this value
   via sysconf().
 o The device file system (devFS) uses now no global variables and
   allocation from the workspace.  Node names are allocated from the
   heap.
 o The upper layer lseek() performs now some parameter checks.
 o The upper layer ftruncate() performs now some parameter checks.
 o unmask() is now restricted to the RWX flags and protected from
   concurrent access.
 o The fchmod_h and rmnod_h file system node handlers are now a file
   system operation.
 o The unlink_h operation has been removed.  All nodes are now destroyed
   with the rmnod_h operation.
 o New lock_h, unlock_h, clonenod_h, and are_nodes_equal_h file system
   operations.
 o The path evaluation and file system operations are now protected by
   per file system instance lock and unlock operations.
 o Fix and test file descriptor duplicate in fcntl().
 o New test fstests/fsnofs01.
2012-03-13 12:23:37 +01:00
Joel Sherrill
6d1a1d3ebb PR 2012 - mdump/wdump shell cmds handle length arg incorrectly; add ldump cmd
* libmisc/shell/main_mdump.c: Reworked to fix bugs in handling of the
	length argument and to provide an "ldump" command.  This file now also
	supports the "wdump" command.  In addition, an RTEMS API function called
	rtems_mdump() is provided to allow easy dumping from application code.
	* libmisc/shell/main_mwdump.c: Obsolete file.
	* libmisc/Makefile.am: Removed main_mwdump.c
	* libmisc/shell/shellconfig.h: Added "ldump" command.
	* shell/memory.t: Added documentation for the "ldump" command

Signed-off-by: Ric Claus <claus@SLAC.Stanford.edu>
2012-02-02 15:02:16 -06:00
Sebastian Huber
6c5ee7f009 2011-09-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libmisc/shell/shell-wait-for-input.c: New file.
	* libmisc/Makefile.am: Reflect change above.
	* libmisc/shell/shell.h: Declare rtems_shell_wait_for_input().
2011-09-16 09:16:32 +00:00
Sebastian Huber
158b416c72 2011-05-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libmisc/devnull/devzero.c, libmisc/devnull/devzero.h: New files.
	* libmisc/Makefile.am, Makefile.am, preinstall.am: Reflect changes
	above.
2011-05-13 13:46:43 +00:00
Joel Sherrill
3d6c1bb6b4 2011-03-14 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1762/cpukit
	* Makefile.am, preinstall.am, libmisc/Makefile.am, wrapup/Makefile.am:
	Add generic serial mouse driver and mouse parser. The parser code was
	in the pc386 BSP but was generic so cleaned up and placed here.
	Serial mouse driver itself is new.
	* libmisc/mouse/README, libmisc/mouse/mouse_parser.c,
	libmisc/mouse/mouse_parser.h, libmisc/mouse/serial_mouse.c,
	libmisc/mouse/serial_mouse.h: New files.
2011-03-14 14:56:08 +00:00
Joel Sherrill
d18d5890ab 2011-02-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* libmisc/Makefile.am, libmisc/fb/mw_uid.c, libmisc/fb/mw_uid.h: Clean
	up. Add Doxygen style comments. Add method to print uid structure.
	* libmisc/fb/mw_print.c: New file.
2011-02-17 19:24:20 +00:00
Ralf Corsepius
5410c14a56 2011-02-01 Ralf Corsepius <ralf.corsepius@rtems.org>
* libmisc/Makefile.am: Add stringto/stringtolongdouble.c.
	* libmisc/stringto/stringtolongdouble.c: New.
2011-02-01 05:48:30 +00:00
Ralf Corsepius
5598bdd3f6 2011-02-01 Ralf Corsepius <ralf.corsepius@rtems.org>
* libmisc/Makefile.am: Remove stringto/stringto_template.h.
	* libmisc/stringto/stringto_template.h: Remove.
2011-02-01 02:39:21 +00:00
Chris Johns
29e92b090c 2010-05-31 Chris Johns <chrisj@rtems.org>
* libcsupport/Makefile.am: Add mount-mgr.c.
        * libcsupport/src/mount-mgr.c: New.
        * include/rtems/fs.h: Added rtems_filesystem_location_mount.
        * libcsupport/include/rtems/libio.h, libcsupport/src/mount.c: New
        mount interface. It is similar to Linux.
        * libcsupport/include/rtems/libio_.h: Remove the
        init_fs_mount_table call.
        * libcsupport/src/base_fs.c: Remove init_fs_mount_table_call. Use
        the new mount call. Remove setting the root node in the global
        pathloc. Mount does this now.
        * libcsupport/src/privateenv.c: Remove the hack to set the root
        mount table entry in the environment.
        * libcsupport/src/unmount.cL Free the target string.
        * libblock/src/bdpart-mount.c: New mount API.

        * libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_init.c,
        libfs/src/dosfs/dosfs.h, libfs/src/dosfs/msdos.h,
        libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs.h,
        libfs/src/imfs/imfs_eval.c, libfs/src/imfs/imfs_init.c,
        libfs/src/imfs/miniimfs_init.c,
        libfs/src/nfsclient/src/librtemsNfs.h,
        libfs/src/rfs/rtems-rfs-rtems.c, libfs/src/rfs/rtems-rfs.h,
        libnetworking/lib/ftpfs.c, libnetworking/rtems/ftpfs.h,
        libnetworking/rtems/tftp.h: New mount_h API.

        * libfs/src/devfs/devfs_eval.c: Local include of extern ops.
        * libfs/src/nfsclient/src/nfs.c: New mount API. Removed the mount
        me call and fixed the initialisation to happen when mounting.

        * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Remove mount
        filesystem files.

        * libmisc/fsmount/fsmount.c, libmisc/fsmount/fsmount.h: Updated to
        the new mount table values.

        * libmisc/shell/main_mount_ftp.c,
        libmisc/shell/main_mount_msdos.c, libmisc/shell/main_mount_rfs.c,
        libmisc/shell/main_mount_tftp.c: Removed.

        * libmisc/shell/main_mount.c: Use the new mount API. Also access
        the file system table for the file system types.

        * libnetworking/lib/tftpDriver.c: Updated to the new mount
        API. Fixed to allow mounting from any mount point. Also can now
        have more than file system mounted.

        * sapi/include/confdefs.h: Add file system configuration support.
2010-05-31 13:56:37 +00:00
Ralf Corsepius
e6505cff1d Add stringto/stringto_template.h to libstringto_a_SOURCES. 2010-03-28 03:25:06 +00:00
Joel Sherrill
81ced0e040 2010-03-09 Joel Sherrill <joel.sherrilL@oarcorp.com>
* libmisc/Makefile.am: Remove duplicate file from list.
2010-03-09 21:42:15 +00:00
Chris Johns
cca94a248b 2010-02-19 Chris Johns <chrisj@rtems.org>
* libblock/src/diskdevs.c: Create the devices as block devices.

        * libmisc/shell/main_debugrfs.c, libmisc/shell/main_mkrfs.c,
        libmisc/shell/main_mount_rfs.c: New.

        * libmisc/shell/main_msdosfmt.c: Change the command to mkdos and
        alias the old name.

        * libmisc/shell/shellconfig.h, libmisc/Makefile.am: Add RFS
        support.

        * libfs/src/rfs/rtems-rfs-shell.c,
        libfs/src/rfs/rtems-rfs-shell.h: Move the format command code into
        the shell file.
2010-02-19 03:23:11 +00:00
Chris Johns
05404983e2 2009-11-18 Chris Johns <chrisj@rtems.org>
* libmisc/shell/main_getenv.c, libmisc/shell/main_setenv.c,
        libmisc/shell/main_unsetenv.c: New. The shell can now play with
        environment variables.
        * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Add setenv,
        getenv, and unsetenv to the shell.
2009-11-18 00:09:21 +00:00
Chris Johns
eb649786c8 2009-10-08 Chris Johns <chrisj@rtems.org>
* Makefile.am, preinstall.am: Added statvfs.h.
        * libcsupport/Makefile.am: Add statvfs.c.
        * libcsupport/include/sys/statvfs.h, libcsupport/src/statvfs.c:
        New.
        * libcsupport/include/rtems/libio.h: Add a file system handler for
        the statvfs call.
        * libfs/src/devfs/devfs_init.c, libfs/src/dosfs/msdos_init.c,
        libfs/src/imfs/imfs_init.c, libfs/src/nfsclient/src/nfs.c: Set the
        statvfs handler to NULL.
        * include/rtems/fs.h: Add a second node access field for the RFS
        file system to hold a directory offset while the existing field
        holds the inode number. This save a rescan of the directory when
        working with directories.
        * libblock/include/rtems/bdbuf.h: Added references and user fields
        to the buffer descriptor.
        * libblock/src/bdbuf.c: Added dynamic buffer support for different
        block sizes. Fixed a number of bugs.
        * libblock/src/blkdev.c: Release the disk device on an error.
        * libblock/src/diskdevs.c: Set the block size to the media block
        size during initialisation of the disk device.
        * libblock/src/flashdisk.c, libblock/src/nvdisk.c,
        libblock/src/ramdisk.c: Updated the drivers to handle variable
        block sizes.
        * libfs/src/dosfs/fat.c, libfs/src/dosfs/fat.h: Release any
        buffers when an error occurs. The FAT buffer layer hangs onto a
        single buffer while mounted. This should be fixed.
        * sapi/inline/rtems/chain.inl: Added rtems_chain_set_off_chain,
        rtems_chain_is_node_off_chain, and rtems_chain_previous.
        * score/inline/rtems/score/chain.inl: Added _Chain_Set_off_chain,
        and _Chain_Is_node_off_chain.
        * libmisc/shell/main_ln.c, libmisc/shell/main_mknod.c,
        libmisc/shell/mknod-pack_dev.c, libmisc/shell/mknod-pack_dev.h:
        New shell commands.
        * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Added ln and
        mknod commands.
        * libmisc/shell/hexdump-display.c: Fixed the reopen bug which
        showed up as a free with a bad pointer.
        * libmisc/shell/main_mount.c: List the user adding file system
        when listing the available file systems to mount.
        * libmisc/shell/utils-cp.c: Remove the fixed static copy buffer
        and use a large dynamic buffer.
        * score/inline/rtems/score/address.inl, score/src/coremsgsubmit.c,
        score/src/objectallocate.c, score/src/objectfree.c: Remove
        warnings.
2009-10-08 07:07:36 +00:00
Joel Sherrill
cb09a5da6a 2009-08-21 Roxana Leontie <roxana.leontie@gmail.com>
* Makefile.am, preinstall.am, libmisc/Makefile.am: Changed the name of
	mw-fb directory into fb.  Relocated files.
	* libmisc/fb/fb.h, libmisc/fb/mw_uid.c, libmisc/fb/mw_uid.h: New files.
	* libmisc/mw-fb/fb.h, libmisc/mw-fb/mw_uid.c, libmisc/mw-fb/mw_uid.h:
	Removed.
2009-08-21 18:39:59 +00:00
Joel Sherrill
e152ecb7ec 2009-08-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, preinstall.am, libmisc/Makefile.am, wrapup/Makefile.am:
	Add new BSP Boot Command Line helper routines. Recently boot_card()
	has grown the ability to have a command line string pointer. These
	routines provide an interface to that string.
2009-08-05 19:37:55 +00:00
Chris Johns
0d15414ed6 009-08-05 Chris Johns <chrisj@rtems.org>
* libmisc/dummy/dummy-networking.c: New.
        * libmisc/dummy/dummy.c, libmisc/Makefile.am: Move
        trhe networking configuration into a separate file so
        configuration varations do not cause conflicts.
        * score/inline/rtems/score/object.inl,
        score/include/rtems/score/object.h: Remove warnings.
        * score/inline/rtems/score/object.inl: Add _Chain_First,
        _Chain_Last, _Chain_Mext, and _Chain_Previous.
        * sapi/inline/rtems/chain.inl: Add rtems_chain_first,
        rtems_chain_last, rtems_chain_mext, and rtems_chain_previous.
        * libblock/include/rtems/diskdevs.h: Remove the bdbuf pool id and
        block_size_log2. Add media_block_size.
        * libblock/src/diskdevs.c: Remove size restrictions on block
        size. Add media block size initialisation. Remove comment to clean
        up the bdbuf cache.
        * libblock/src/blkdev.c: Remove references to
        block_size_log2. Allow any block size.
        * libblock/include/rtems/bdbuf.h, libblock/src/bdbuf.c: Remove all
        references to pools and make the cache handle demand driver
        variable buffer size allocation. Added worker threads support the
        swapout task.
        * sapi/include/confdefs.h: Updated the bdbuf configutation.
2009-08-05 00:00:54 +00:00
Joel Sherrill
a20baf9b9f 2009-08-03 Roxana Leontie <roxana.leontie@gmail.com>
* Makefile.am, preinstall.am, libmisc/Makefile.am: changed the
	references to mw_fb.h into fb.h
	* libmisc/mw-fb/mw_fb.h: renamed fb.h
2009-08-03 15:10:10 +00:00
Joel Sherrill
48751ab095 2009-07-23 Joel Sherrill <joel.sherrill@oarcorp.com>
* libmisc/Makefile.am, libmisc/shell/main_chmod.c,
	libmisc/shell/main_mdump.c, libmisc/shell/main_medit.c,
	libmisc/shell/main_mfill.c, libmisc/shell/main_mmove.c,
	libmisc/shell/main_msdosfmt.c, libmisc/shell/main_mwdump.c,
	libmisc/shell/main_sleep.c, libmisc/shell/main_umask.c,
	libmisc/shell/shell_script.c, libmisc/stringto/stringto.h,
	libmisc/stringto/stringto_template.h: Convert return type from bool
	to rtems_status_code and add rtems_string_to_pointer. Perform
	associated clean up and changes for return type change.
	* libmisc/stringto/stringtopointer.c: New file.
2009-07-23 14:32:34 +00:00
Joel Sherrill
35d09baa84 2009-07-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* libmisc/Makefile.am, libmisc/shell/main_chmod.c,
	libmisc/shell/main_mdump.c, libmisc/shell/main_medit.c,
	libmisc/shell/main_mfill.c, libmisc/shell/main_mmove.c,
	libmisc/shell/main_msdosfmt.c, libmisc/shell/main_mwdump.c,
	libmisc/shell/main_sleep.c, libmisc/shell/main_umask.c,
	libmisc/shell/shell.h, libmisc/shell/shell_script.c,
	libmisc/stringto/stringto_template.h: Convert all shell code to use
	stringto.h mehods with better error checking.
	* libmisc/shell/str2int.c: Removed.
2009-07-22 15:17:37 +00:00
Joel Sherrill
e8d59ca6af 2009-07-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, preinstall.am, libmisc/Makefile.am, wrapup/Makefile.am:
	Add the stringto family of string to number converters. These are
	error checking wrappers for the strtoXXX methods and do their best to
	return false if the conversion failed. The error checking required
	for this is tedious and error prone. Hence better to have in a family
	of helper routines.
	* libmisc/stringto/stringto.h, libmisc/stringto/stringto_template.h,
	libmisc/stringto/stringtodouble.c, libmisc/stringto/stringtofloat.c,
	libmisc/stringto/stringtoint.c, libmisc/stringto/stringtolong.c,
	libmisc/stringto/stringtolonglong.c,
	libmisc/stringto/stringtounsignedchar.c,
	libmisc/stringto/stringtounsignedint.c,
	libmisc/stringto/stringtounsignedlong.c,
	libmisc/stringto/stringtounsignedlonglong.c: New files.
2009-07-22 14:26:25 +00:00
Joel Sherrill
db862461cb 2009-07-21 Roxana Leontie <roxana.leontie@gmail.com>
* libmisc/Makefile.am, libmisc/mw-fb/mw_fb.h: mw_fb.h eliminated the
	ufb_* calls and replaced some of the ioctl structures and numbers
	with the linux framebuffer equivalents
	* libmisc/mw-fb/mw_fb.c: Removed.
2009-07-21 15:47:28 +00:00
Chris Johns
b311cbc957 2009-06-17 Chris Johns <chrisj@rtems.org>
* libmisc/shell/extern-dd.h: Delcare the conv arrays extern to
        stop PPC link errors.
        * libmisc/shell/main_time.c, libmisc/Makefile.am,
        libmisc/shell/shellconfig.h: Add a time command.
2009-06-17 05:34:33 +00:00