RTEMS Documentation Project RTEMS Filesystem Design Guide
5.1
  • 1. Preface
  • 2. Pathname Evaluation
    • 2.1. Pathname Evaluation Handlers
    • 2.2. Crossing a Mount Point During Path Evaluation
    • 2.3. The rtems_filesystem_location_info_t Structure
  • 3. System Initialization
    • 3.1. Base Filesystem
      • 3.1.1. Base Filesystem Mounting
  • 4. Mounting and Unmounting Filesystems
    • 4.1. Mount Points
    • 4.2. Mount Table Chain
    • 4.3. Adding entries to the chain during mount
    • 4.4. Removing entries from the chain during unmount
  • 5. System Call Development Notes
    • 5.1. access
    • 5.2. chdir
    • 5.3. chmod
    • 5.4. chown
    • 5.5. close
    • 5.6. closedir
    • 5.7. dup() Unimplemented
    • 5.8. dup2() Unimplemented
    • 5.9. fchmod
    • 5.10. fcntl()
    • 5.11. fdatasync
    • 5.12. fpathconf
    • 5.13. fstat
    • 5.14. ioctl
    • 5.15. link
    • 5.16. lseek
    • 5.17. mkdir
    • 5.18. mkfifo
    • 5.19. mknod
    • 5.20. mount
    • 5.21. open
    • 5.22. opendir
    • 5.23. pathconf
    • 5.24. read
    • 5.25. readdir
    • 5.26. unmount
    • 5.27. eval
    • 5.28. getdentsc
  • 6. Filesystem Implementation Requirements
    • 6.1. General
    • 6.2. File and Directory Removal Constraints
    • 6.3. API Layering
      • 6.3.1. Mapping of Generic System Calls to Filesystem Specific Functions
      • 6.3.2. File/Device/Directory function access via file control block - rtems_libio_t structure
      • 6.3.3. File/Directory function access via rtems_filesystem_location_info_t structure
    • 6.4. Operation Tables
      • 6.4.1. Filesystem Handler Table Functions
        • 6.4.1.1. evalpath Handler
        • 6.4.1.2. evalformake Handler
        • 6.4.1.3. link Handler
        • 6.4.1.4. unlink Handler
        • 6.4.1.5. node_type Handler
        • 6.4.1.6. mknod Handler
        • 6.4.1.7. rmnod Handler
        • 6.4.1.8. chown Handler
        • 6.4.1.9. freenod Handler
        • 6.4.1.10. mount Handler
        • 6.4.1.11. fsmount_me Handler
        • 6.4.1.12. unmount Handler
        • 6.4.1.13. fsunmount_me Handler
        • 6.4.1.14. utime Handler
        • 6.4.1.15. eval_link Handler
        • 6.4.1.16. symlink Handler
      • 6.4.2. File Handler Table Functions
        • 6.4.2.1. open Handler
  • 7. In-Memory Filesystem
    • 7.1. IMFS Per Node Data Structure
    • 7.2. Miscellaneous IMFS Information
    • 7.3. Memory associated with the IMFS
      • 7.3.1. Node removal constraints for the IMFS
      • 7.3.2. IMFS General Housekeeping Notes
    • 7.4. IMFS Operation Tables
      • 7.4.1. IMFS Filesystem Handler Table Functions
        • 7.4.1.1. IMFS_evalpath()
        • 7.4.1.2. IMFS_evalformake()
        • 7.4.1.3. IMFS_link()
        • 7.4.1.4. IMFS_unlink()
        • 7.4.1.5. IMFS_node_type()
        • 7.4.1.6. IMFS_mknod()
        • 7.4.1.7. IMFS_rmnod()
        • 7.4.1.8. IMFS_chown()
        • 7.4.1.9. IMFS_freenod()
        • 7.4.1.10. IMFS_freenodinfo()
        • 7.4.1.11. IMFS_mount()
        • 7.4.1.12. IMFS_fsmount_me()
        • 7.4.1.13. IMFS_unmount()
        • 7.4.1.14. IMFS_fsunmount()
        • 7.4.1.15. IMFS_utime()
        • 7.4.1.16. IMFS_eval_link()
      • 7.4.2. Regular File Handler Table Functions
        • 7.4.2.1. memfile_open() for Regular Files
        • 7.4.2.2. memfile_close() for Regular Files
        • 7.4.2.3. memfile_read() for Regular Files
        • 7.4.2.4. memfile_write() for Regular Files
        • 7.4.2.5. memfile_ioctl() for Regular Files
        • 7.4.2.6. memfile_lseek() for Regular Files
        • 7.4.2.7. IMFS_stat() for Regular Files
        • 7.4.2.8. IMFS_fchmod() for Regular Files
        • 7.4.2.9. memfile_ftruncate() for Regular Files
        • 7.4.2.10. No pathconf() for Regular Files
        • 7.4.2.11. No fsync() for Regular Files
        • 7.4.2.12. IMFS_fdatasync() for Regular Files
      • 7.4.3. Directory Handler Table Functions
        • 7.4.3.1. IMFS_dir_open() for Directories
        • 7.4.3.2. IMFS_dir_close() for Directories
        • 7.4.3.3. IMFS_dir_read() for Directories
        • 7.4.3.4. No write() for Directories
        • 7.4.3.5. No ioctl() for Directories
        • 7.4.3.6. IMFS_dir_lseek() for Directories
        • 7.4.3.7. IMFS_dir_fstat() for Directories
        • 7.4.3.8. IMFS_fchmod() for Directories
        • 7.4.3.9. No ftruncate() for Directories
        • 7.4.3.10. No fpathconf() for Directories
        • 7.4.3.11. No fsync() for Directories
        • 7.4.3.12. IMFS_fdatasync() for Directories
      • 7.4.4. Device Handler Table Functions
        • 7.4.4.1. device_open() for Devices
        • 7.4.4.2. device_close() for Devices
        • 7.4.4.3. device_read() for Devices
        • 7.4.4.4. device_write() for Devices
        • 7.4.4.5. device_ioctl() for Devices
        • 7.4.4.6. device_lseek() for Devices
        • 7.4.4.7. IMFS_stat() for Devices
        • 7.4.4.8. IMFS_fchmod() for Devices
        • 7.4.4.9. No ftruncate() for Devices
        • 7.4.4.10. No fpathconf() for Devices
        • 7.4.4.11. No fsync() for Devices
        • 7.4.4.12. No fdatasync() for Devices
  • 8. Miniature In-Memory Filesystem
  • 9. Trivial FTP Client Filesystem
  • 10. Command and Variable Index
Index
RTEMS Filesystem Design Guide
  • »
  • Search


© Copyright 1988, 2020 RTEMS Project and contributors

Built with Sphinx using a theme provided by Read the Docs.