RTEMS Documentation Project
RTEMS Filesystem Design Guide
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
9.1. RTEMS TFTP Filesystem Implementation
9.2. Prerequisites
9.2.1. RTEMS Tools
9.2.2. RTEMS Board Support Package
9.2.3. RTEMS libbsd
9.2.4. RTEMS Configuration
9.2.5. Application Linkage
9.2.6. Network Configuration and TFTP Server
9.2.7. External TFTP Server Example for OpenSUSE
9.3. Usage
9.3.1. Mounting the TFTP Filesystem
9.3.2. Opening a File
9.3.3. Closing a File
9.4. Use From Shell
9.5. TFTP Client API
9.6. Software Design
9.6.1. Test Suite
10. Command and Variable Index
Index
RTEMS Filesystem Design Guide
Search
Please activate JavaScript to enable the search functionality.