diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-08-19 16:50:12 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-08-19 16:50:12 +0200 |
| commit | b7d4273f655c97974ee853082ac5dc1f69aa6324 (patch) | |
| tree | 2c585f2f106919d8deb7362c42235447a7b20ece /docs/kernel | |
| parent | 9fe746c41ec00ddb9d0b5f31616ae3970a73bb74 (diff) | |
| download | kernel-b7d4273f655c97974ee853082ac5dc1f69aa6324.tar.xz kernel-b7d4273f655c97974ee853082ac5dc1f69aa6324.zip | |
docs: clean up some of the documentation
Diffstat (limited to 'docs/kernel')
| -rw-r--r-- | docs/kernel/filesystem.rst | 14 | ||||
| -rw-r--r-- | docs/kernel/filesystem/constants.rst | 10 | ||||
| -rw-r--r-- | docs/kernel/filesystem/dentry.rst | 12 | ||||
| -rw-r--r-- | docs/kernel/filesystem/device_inode.rst | 19 | ||||
| -rw-r--r-- | docs/kernel/filesystem/inode.rst | 12 |
5 files changed, 67 insertions, 0 deletions
diff --git a/docs/kernel/filesystem.rst b/docs/kernel/filesystem.rst new file mode 100644 index 00000000..35d92fdc --- /dev/null +++ b/docs/kernel/filesystem.rst @@ -0,0 +1,14 @@ +Filesystem Layer +================= + +The filesystem layer of the TeachOS kernel comprises all platform-agnostic filesystem entities and operations. +All platform-independent code related to filesystem implementations resides here. +This includes the implementations of platform-independent kAPI filesystem types and functions. + +.. toctree:: + :maxdepth: 1 + :caption: Contents: + :glob: + + filesystem/* + diff --git a/docs/kernel/filesystem/constants.rst b/docs/kernel/filesystem/constants.rst new file mode 100644 index 00000000..aa698711 --- /dev/null +++ b/docs/kernel/filesystem/constants.rst @@ -0,0 +1,10 @@ +Global Constants +================ + +The constants described here are applicable to all types and functions in the kernel filesystem layers. +They describe maxima of supported lengths and sizes where not other specification takes precedence. + +API Reference +------------- + +.. doxygennamespace:: kernel::filesystem::constants diff --git a/docs/kernel/filesystem/dentry.rst b/docs/kernel/filesystem/dentry.rst new file mode 100644 index 00000000..3d40c067 --- /dev/null +++ b/docs/kernel/filesystem/dentry.rst @@ -0,0 +1,12 @@ +Directory Entries +================= + +A directory entry associates a name with an inode. +As such, a directory entry may refer to any entity represented by an inode. +Directory entries may be nested. + +API Reference +------------- + +.. doxygenstruct:: kernel::filesystem::dentry + :members:
\ No newline at end of file diff --git a/docs/kernel/filesystem/device_inode.rst b/docs/kernel/filesystem/device_inode.rst new file mode 100644 index 00000000..cf5e72fa --- /dev/null +++ b/docs/kernel/filesystem/device_inode.rst @@ -0,0 +1,19 @@ +Device Inodes +============= + +Device inodes are filesystem inodes that represent a device in the system. +They may be created from either a device, or by reconstituting a persistent device inode from a filesystem. + +An example for device inodes created to directly represent devices are the entries in the devfs (/dev) filesystem. +Entries in this filesystem are generally created and removed based on devices appearing in and being removed from the system. + +An example for device inodes reconstituted from persisted inodes can be found in the inodes supported by the ext2 filesystem. +In that filesystem, an inode may represent a device, using a device identification number. +When accessing such an inode, a device inode needs to be reconstituted from the persisted device inode in order to resolve which device, if any, it refers to. +However, any file operations (e.g. `stat`) need to be forwarded to the persisted inode. + +API Reference +------------- + +.. doxygenstruct:: kernel::filesystem::device_inode + :members:
\ No newline at end of file diff --git a/docs/kernel/filesystem/inode.rst b/docs/kernel/filesystem/inode.rst new file mode 100644 index 00000000..6e36bda1 --- /dev/null +++ b/docs/kernel/filesystem/inode.rst @@ -0,0 +1,12 @@ +Inode Base Class +================= + +An inode (or filesystem index node) represents a filesystem entity, e.g. a file or directory, in the virtual filesystem (VFS). +While not all filesystems may use traditional inodes, as for example used in ext2, the VFS expects for all entities to be represented as inodes. +As such, file I/O operation always happen through inodes. + +API Reference +------------- + +.. doxygenstruct:: kernel::filesystem::inode + :members:
\ No newline at end of file |
