Preface
*******

The following file system capabilities have been added to the existing RTEMS system:

  * Mountable file systems

  * Hierarchical file system directory structure

  * POSIX compliant set of routines for the manipulation of files and directories

  * Individual file and directory support for the following:

      1. Permissions for read, write and execute

      2. User ID

      3. Group ID

      4. Access time

      5. Modification time

      6. Creation time

  * Hard links to files and directories are supported

  * Symbolic links to files and directories are supported

These enhancements have been made to provide the framework for `UNIX like' file system support. The POSIX file and directory functions have been implemented to allow a standard method of accessing file, device and directory information within the file system. The file system concept that has been implemented allows for expansion and adaptation of the file system to a variety of existing and future data storage devices. To this end, file system mount and unmount capabilities have been included in this RTEMS framework.

This framework slightly alters the manner in which devices are handled under RTEMS. Devices that are defined under a given RTEMS configuration will now be registered as files in a mounted file system. Access to these devices and their associated device handlers will be obtained through the traditional file system open(), read(), write(), lseek(), fstat() and ioctl() functions.

A node structure is maintained for each file, device, and directory in the file system. The node structure is used to manage ownership, access rights, access time, modification time, and creation time. A union of structures within the nodal structure provide for manipulation of file data, device selection, or directory content as required by the nodal type. Manipulation of these properties is accomplished through the POSIX set of file and directory functions.