* libmisc/shell/shell.c: Always duplicate the environment passed to us
because we will delete it when the shell exits. If we do not
duplicate it, we could end up freeing memory which was not allocated
from the heap or double freeing it.
* 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.
* 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.
* libmisc/capture/capture.c, posix/src/pthread.c, rtems/src/tasks.c,
score/include/rtems/score/userext.h: Eliminate use of deprecated
rtems_extension. Re-add prototype for _User_extensions_Add_API_set.
* score/include/rtems/score/heap.h, score/inline/rtems/score/heap.inl,
score/src/heapallocate.c, score/src/heap.c, score/src/heapextend.c,
score/src/heapresizeblock.c, score/src/heapwalk.c: Documenation.
Simplified block resize. Improved heap walk. Changed heap layout to
avoid a special case for _Heap_Is_used() and _Heap_Is_free().
* libmisc/stackchk/check.c: Update for heap API changes.
* 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.
* libmisc/bspcmdline/bspcmdline.h, libmisc/bspcmdline/bspcmdline_get.c,
libmisc/bspcmdline/bspcmdline_getparam.c,
libmisc/bspcmdline/bspcmdline_getparamraw.c,
libmisc/bspcmdline/bspcmdline_getparamrhs.c: Add rtems_ as prefix to
all routines.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* libmisc/shell/hexdump-odsyntax.c: AVR has the same size float
and double. Fix error in case statement.
* libmisc/shell/main_dd.c: Remove sys/conf.h header. It is not
available if networking is disabled.
* libblock/src/bdbuf.c: Update comments.
* libblock/src/bdpart.c, libblock/src/ide_part_table.c: Get the
device from the rdev field of the stat buf.
* libcsupport/include/rtems/libio.h: Add a path length to evalpath
handler. Add parent locations to rmmod and unlink handlers.
* libcsupport/include/rtems/libio_.h: Add a path length to
rtems_filesystem_evaluate_path. Add
rtems_filesystem_evaluate_relative_path, rtems_filesystem_dirname,
and rtems_filesystem_prefix_separators. Remove
rtems_filesystem_evaluate_parent.
* libcsupport/src/base_fs.c, libcsupport/src/chdir.c,
libcsupport/src/chmod.c, libcsupport/src/chown.c,
libcsupport/src/chroot.c, libcsupport/src/fchdir.c,
libcsupport/src/link.c, libcsupport/src/mount.c,
libcsupport/src/open.c, libcsupport/src/privateenv.c,
libcsupport/src/readlink.c, libcsupport/src/unmount.c,
libcsupport/src/utime.c, libcsupport/src/unmount.c,
libcsupport/src/utime.c, libfs/src/devfs/devfs.h,
libfs/src/devfs/devfs_eval.c, libfs/src/devfs/devstat.c,
libfs/src/dosfs/msdos_create.c, libfs/src/dosfs/msdos_misc.c,
libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_eval.c,
libfs/src/imfs/imfs_load_tar.c, libfs/src/imfs/ioman.c,
libfs/src/pipe/pipe.c, libmisc/fsmount/fsmount.c,
libnetworking/lib/ftpfs.c: Add the length parameter to the eval
call.
* libcsupport/src/eval.c: Add rtems_filesystem_prefix_separators,
rtems_filesystem_dirname,
rtems_filesystem_evaluate_relative_path. Add the length parameter
to the eval call.
* libcsupport/src/rmdir.c: Find the parent pathloc then the node
pathloc from that node. Remove the call to find the parent given
the node pathloc.
* libcsupport/src/stat.c: Add the length parameter to the eval
call. Set the device into the rdev field.
* libcsupport/src/unlink.c: Find the parent pathloc then the node
pathloc from that node. Remove the call to find the parent given
the node pathloc.
* libfs/src/dosfs/fat.c, libfs/src/dosfs/msdos_format.c: Get the
disk device number from the stat rdev field.
* libfs/src/dosfs/msdos.h: Add the length parameter to the eval
call. Add the parent pathloc to the rmnod handler.
* libfs/src/dosfs/msdos_dir.c: Add the parent pathloc to the rmnod
handler.
* libfs/src/dosfs/msdos_eval.c: Add the length parameter to the
eval and token call.
* libfs/src/imfs/imfs_directory.c: Add the parent pathloc to the
rmnod handler.
* libfs/src/imfs/imfs_fchmod.c: Do not test the mode flags for
only the allowed flags. Add the missing flags spec'ed in the POSIX
standard.
* libfs/src/imfs/imfs_fsunmount.c, libfs/src/imfs/imfs_rmnod.c,
libfs/src/imfs/imfs_unlink.c, libfs/src/imfs/memfile.c: Add the
parent node. Currently ignored in the IMFS.
* libfs/src/imfs/imfs_stat.c: Return the device number in the rdev
field.
* libfs/src/imfs/imfs_mknod.c, libfs/src/imfs/imfs_symlink.c : Add
the length parameter to the token call.
* libfs/src/nfsclient/src/nfs.c: Add the length parameter to the
eval call and parent node to the rmnod and unlink command.
* libmisc/shell/internal.h: Remove the libc mounter decl to make
public.
* libmisc/shell/main_mount.c: Add support for hooking external
mount support for new file systems.
* libmisc/shell/shell.h: Add helper functions for the mount
command.