summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add RTEMS_FATAL_SOURCE_ASSERTSebastian Huber2012-11-151-1/+1
|
* Filesystem: Preserve source NULL pointer in mountSebastian Huber2012-11-131-4/+6
|
* Filesystem: Use transient eventSebastian Huber2012-10-304-22/+11
|
* score: Work area initialization API changeSebastian Huber2012-10-2510-206/+171
| | | | | | | | | | | | The work areas (RTEMS work space and C program heap) will be initialized now in a separate step and are no longer part of rtems_initialize_data_structures(). Initialization is performed with tables of Heap_Area entries. This allows usage of scattered memory areas present on various small scale micro-controllers. The sbrk() support API changes also. The bsp_sbrk_init() must now deal with a minimum size for the first memory chunk to take the configured work space size into account.
* libcsupport: malloc_deferred_frees_initialize()Sebastian Huber2012-10-253-12/+1
| | | | Remove this function and statically initialize RTEMS_Malloc_GC_list.
* libcsupport: SpellingSebastian Huber2012-10-151-3/+3
|
* Filesystem: Rename functionSebastian Huber2012-10-074-4/+4
| | | | | | Rename rtems_filesystem_location_exists_in_same_fs_instance_as() into rtems_filesystem_location_exists_in_same_instance_as() for consistency with other file system instance related functions.
* Filesystem: Rename functionSebastian Huber2012-10-075-5/+5
| | | | | | Rename rtems_filesystem_location_is_root() into rtems_filesystem_location_is_instance_root() to distinguish this from the file system root directory of the current task environment.
* Filesystem: Reject removal of root nodesSebastian Huber2012-10-072-3/+14
| | | | | | | Reject the removal of file system instance root nodes in rmdir() and unlink() and return the EBUSY error status. File system instances can be removed with unmount(). Remove root node special cases in IMFS, DOSFS, and RFS.
* libcsupport: Add and use rtems_putc()Sebastian Huber2012-08-203-9/+34
| | | | This reduces code size and provides a function similar to fputc().
* score: Change greedy allocation APISebastian Huber2012-07-172-5/+12
|
* libcsupport: C++ compatibilitySebastian Huber2012-07-021-0/+8
|
* libcsupport: Add rtems_printf_plugin()Sebastian Huber2012-06-042-0/+34
|
* Filesystem: Wait for unmount() to finishSebastian Huber2012-05-294-11/+79
|
* libcsupport: Adjust malloc_walk() prototypeSebastian Huber2012-05-163-3/+4
| | | | | | | | The header file <rtems/malloc.h> provides now also the malloc_walk() prototype. The malloc_walk() prototype reflects now the _Protected_heap_Walk() API. The return status helps to print only in case of an error.
* Filesystem: Add missing include file <stdint.h>Sebastian Huber2012-05-151-0/+1
|
* Filesystem: Change pathconf_limits_and_optionsSebastian Huber2012-05-153-4/+4
| | | | | | The pathconf_limits_and_options field of rtems_filesystem_mount_table_entry_t is now a const pointer to reduce the read-write memory demands of file system instances.
* Filesystem: Move operations to mount table entrySebastian Huber2012-05-1526-51/+62
| | | | | | | | | | | The scope of the file system operations is the file system instance. The scope of the file system node handlers is the file location. The benefit of moving the operations to the mount table entry is a size reduction of the file location (rtems_filesystem_location_info_t). The code size is slightly increased due to additional load instructions. Restructure rtems_filesystem_mount_table_entry_t to improve cache efficiency.
* Filesystem: Add const qualifier to lock/unlockSebastian Huber2012-05-152-5/+5
|
* Filesystem: PR1255: Move offset update to handlersSebastian Huber2012-05-156-16/+10
| | | | | | | It is now the responsibility of the read() and write() handler to update the offset field of the IO descriptor (rtems_libio_t). This change makes it possible to protect the IO descriptor from concurrent access by per file locks.
* Filesystem: Add shared device IO supportSebastian Huber2012-05-155-0/+261
| | | | | The device IO file system support in IMFS, devFS, and RFS uses now a shared implementation.
* Filesystem: Use ioctl_command_tSebastian Huber2012-05-152-12/+9
|
* Filesystem: Remove duplicate prototypeSebastian Huber2012-05-141-11/+0
|
* Remove CVS Id Strings (manual edits after script)Joel Sherrill2012-05-114-11/+1
| | | | | | These modifications were required by hand after running the script. In some cases, the file names did not match patterns. In others, the format of the file did not match any common patterns.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-11188-414/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* Filesystem: PR1398: Fix lseek() mechanicSebastian Huber2012-05-112-58/+46
| | | | | | | | | | | | According to POSIX the lseek() function shall not, by itself, extend the size of a file. Remove the size field of rtems_libio_t. A file has only one size but may have multiple open file descriptors. Thus a file size field in the file descriptor may lead to inconsistencies. New default handlers rtems_filesystem_default_lseek_file() and rtems_filesystem_default_lseek_directory().
* Revert: Remove CVS IdsJoel Sherrill2012-05-071-0/+4
| | | | | See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
* Filesystem: Remove per file descriptor semaphoreSebastian Huber2012-05-042-25/+4
| | | | | | | | | The per file descriptor semaphore (field of rtems_libio_t) is unused in RTEMS. There is a considerable memory overhead due to that. A semaphore needs roughly 124 bytes which is huge compared to the approximately 72 bytes for the file descriptor structure itself. Device drivers can create their own synchronization primitives in the open handler on demand.
* Remove CVS-Ids.Ralf Corsépius2012-05-041-4/+0
|
* General - Remove extraneous blank line in license messageJoel Sherrill2012-05-031-0/+0
| | | | | | | | | | | | | Many files had an extra blank line in the license text found in the file header. This patch removes that line. * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * * http://www.rtems.com/license/LICENSE. The script that did this also turned off execute permission when it was turned on incorrectly.
* networking: socket to/from file descriptorSebastian Huber2012-04-032-80/+0
| | | | | | | | | | o Move rtems_bsdnet_fdToSocket() and rtems_bsdnet_makeFdForSocket() to "cpukit/libnetworking/rtems/rtems_syscall.c". o The rtems_bsdnet_makeFdForSocket() function is now static. o Check in rtems_bsdnet_fdToSocket() function that the file descriptor uses the socket handlers, otherwise an error status will be returned and errno set to ENOTSOCK. o New test libtests/syscall01.
* Filesystem: Change type of ioctl_returnSebastian Huber2012-04-032-4/+2
| | | | | Change the ioctl_return type of rtems_libio_ioctl_args_t to match the ioctl() return value type.
* Filesystem: Rename definesSebastian Huber2012-03-1324-81/+122
| | | | | | | | | | | | | | | o Removed RTEMS_LIBIO_PERMS_SEARCH. o Renamed RTEMS_LIBIO_PERMS_READ in RTEMS_FS_PERMS_READ. o Renamed RTEMS_LIBIO_PERMS_WRITE in RTEMS_FS_PERMS_WRITE. o Renamed RTEMS_LIBIO_PERMS_EXEC in RTEMS_FS_PERMS_EXEC. o Renamed RTEMS_LIBIO_FOLLOW_HARD_LINK in RTEMS_FS_FOLLOW_HARD_LINK. o Renamed RTEMS_LIBIO_FOLLOW_SYM_LINK in RTEMS_FS_FOLLOW_SYM_LINK. o Renamed RTEMS_LIBIO_MAKE in RTEMS_FS_MAKE. o Renamed RTEMS_LIBIO_EXCLUSIVE in RTEMS_FS_EXCLUSIVE. o Renamed RTEMS_LIBIO_ACCEPT_RESIDUAL_DELIMITERS in RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS. o Renamed RTEMS_LIBIO_REJECT_TERMINAL_DOT in RTEMS_FS_REJECT_TERMINAL_DOT.
* Filesystem: New defaults fsync_h and fdatasync_hSebastian Huber2012-03-132-10/+12
| | | | | | | New defaults rtems_filesystem_default_fsync_or_fdatasync() and rtems_filesystem_default_fsync_or_fdatasync_success() for fsync_h and fdatasync_h. The rtems_filesystem_default_fsync_or_fdatasync() sets now errno to EINVAL according to POSIX.
* Filesystem: Change node type enum valuesSebastian Huber2012-03-131-2/+2
| | | | | | | Move the RTEMS_FILESYSTEM_INVALID_NODE_TYPE to the end. This makes it possible to use this enum easily as an array index. Most comparisons are made against RTEMS_FILESYSTEM_DIRECTORY. A value of zero allows on some architectures simpler branch operations.
* Filesystem: Change error indicationSebastian Huber2012-03-131-1/+1
| | | | Change error indication to ESPIPE in rtems_filesystem_default_lseek().
* Filesystem: New functionSebastian Huber2012-03-131-4/+16
| | | | New function rtems_filesystem_default_lseek_success().
* Filesystem: Read-only file system checksSebastian Huber2012-03-133-26/+40
| | | | | | | o Make sure EROFS is indicated for write operations on a read-only file system. o Add error indication for read-only file systems in fchmod() and fchown() according to POSIX.
* Filesystem: Reference counting for locationsSebastian Huber2012-03-1350-2624/+3654
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-02-22 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsépius2012-02-221-0/+2
| | | | | * libcsupport/src/assocnamebad.c: Add #define INSIDE_ASSOC.
* Added support functions for greedy heap allocationSebastian Huber2012-02-103-1/+57
| | | | | | Various tests must check program paths that result due to failed memory allocations from the heap. To avoid tinkering with internal heap structures throughout the test code these functions should be used.
* Fixed typo (setegid.c was missing)Sebastian Huber2012-02-081-1/+1
|
* Removed fpathconf file system node handler.Sebastian Huber2012-02-021-29/+0
| | | | There existed no calling function for this handler.
* Remove all .cvsignore files.Joel Sherrill2012-02-011-2/+0
|
* 2011-12-14 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-12-141-1/+1
| | | | * libcsupport/src/termios_setinitialbaud.c: Fixed typo.
* 2011-12-14 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-12-145-55/+61
| | | | | | | | | * libcsupport/include/rtems/termiostypes.h, libcsupport/src/termios_baud2num.c, libcsupport/src/termios_baudtable.c, libcsupport/src/termios_num2baud.c, libcsupport/src/termios_setinitialbaud.c: Added const qualifier to baud associations. Fixed integer types.
* 2011-12-13 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-131-0/+4
| | | | | | * configure.ac: Check for getrusage.h decl. * libcsupport/src/getrusage.c: Apply HAVE_DECL_GETRUSAGE (Missing prototypes).
* 2011-12-08 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-081-1/+1
| | | | | * libcsupport/src/termios.c: Make rtems_termios_refill_transmitter static.
* 2011-12-07 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-071-0/+1
| | | | | * libcsupport/src/sup_fs_is_separator.c: Include <rtems/libio_.h> (Missing protypes).
* 2011-12-06 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-061-2/+3
| | | | | * libcsupport/src/pipe.c: Include <unistd.h>. Include <rtems/pipe.h>.