summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2016-12-24 15:55:56 +0100
committerFelix Morgner <felix.morgner@gmail.com>2016-12-24 15:55:56 +0100
commitd6c74fdea16c70a93c70449317d75c5445c7522e (patch)
tree2f801a3ea8fe49b21fd99836edd77ce2d0f26924 /doc
parent9b02e03c2a6f8a74a83dd40c69719fe36f4dd154 (diff)
downloadextfs-d6c74fdea16c70a93c70449317d75c5445c7522e.tar.xz
extfs-d6c74fdea16c70a93c70449317d75c5445c7522e.zip
Update documentation
Diffstat (limited to 'doc')
-rw-r--r--doc/src/api/extfs.rst (renamed from doc/src/extfs.rst)0
-rw-r--r--doc/src/api/index.rst (renamed from doc/src/api.rst)0
-rw-r--r--doc/src/conf.py8
-rw-r--r--doc/src/index.rst3
-rw-r--r--doc/src/internal/index.rst7
-rw-r--r--doc/src/internal/superblock.rst42
6 files changed, 57 insertions, 3 deletions
diff --git a/doc/src/extfs.rst b/doc/src/api/extfs.rst
index d8f1f5a..d8f1f5a 100644
--- a/doc/src/extfs.rst
+++ b/doc/src/api/extfs.rst
diff --git a/doc/src/api.rst b/doc/src/api/index.rst
index 3b2cec2..3b2cec2 100644
--- a/doc/src/api.rst
+++ b/doc/src/api/index.rst
diff --git a/doc/src/conf.py b/doc/src/conf.py
index a67aee4..bf3d6b1 100644
--- a/doc/src/conf.py
+++ b/doc/src/conf.py
@@ -9,11 +9,15 @@ subprocess.call('cd ../../ && doxygen', shell=True)
html_theme = 'sphinx_rtd_theme'
-extensions = ['breathe']
+extensions = [
+ 'breathe',
+ 'sphinx.ext.todo',
+]
breathe_projects = {'extfs': os.path.abspath('../../build/xml') }
breathe_default_project = 'extfs'
+
source_suffix = '.rst'
master_doc = 'index'
@@ -35,7 +39,7 @@ exclude_patterns = [
pygments_style = 'sphinx'
-todo_include_todos = False
+todo_include_todos = True
htmlhelp_basename = 'extfsdoc'
diff --git a/doc/src/index.rst b/doc/src/index.rst
index dee63dd..9c02bcc 100644
--- a/doc/src/index.rst
+++ b/doc/src/index.rst
@@ -12,4 +12,5 @@ User documentation
.. toctree::
:maxdepth: 2
- api
+ api/index
+ internal/index
diff --git a/doc/src/internal/index.rst b/doc/src/internal/index.rst
new file mode 100644
index 0000000..4b7e2f7
--- /dev/null
+++ b/doc/src/internal/index.rst
@@ -0,0 +1,7 @@
+Internal Design
+===============
+
+.. toctree::
+ :maxdepth: 1
+
+ superblock
diff --git a/doc/src/internal/superblock.rst b/doc/src/internal/superblock.rst
new file mode 100644
index 0000000..6e85df4
--- /dev/null
+++ b/doc/src/internal/superblock.rst
@@ -0,0 +1,42 @@
+The Superblock
+==============
+
+The **superblock** of an ext2/3/4 file system describes the structure and
+configuration of the file system. This information is used by the
+implementation to determine the physical and logical structure of the file
+system. This section describes the structure of the superblock itself.
+
+Definitions
+-----------
+
+All fields described in this section are stored on the disk in little-endian
+format, regardless of the system architecture.
+
+.. warning:: The implementation currently only works in little-endian
+ architectures. If you would like to get involved in implementing big-endian
+ support, please file an issue at the project repository over at
+ `Github <https://github.com/fmorgner/extfs>`_
+
+The code in `Implementation`_ makes us of several :code:`using` directives to
+reduce the amount of typing as well as make the code more readable. The
+following aliases are declared in ``fs/detail/types.hpp``:
+
+.. doxygentypedef:: fs::detail::u32
+.. doxygentypedef:: fs::detail::s32
+.. doxygentypedef:: fs::detail::u16
+.. doxygentypedef:: fs::detail::s16
+.. doxygentypedef:: fs::detail::u08
+.. doxygentypedef:: fs::detail::u32_arr
+.. doxygentypedef:: fs::detail::u08_arr
+.. doxygentypedef:: fs::detail::chr_arr
+
+Structure
+---------
+
+.. todo:: Describe structure of the superblock
+
+Implementation
+--------------
+
+.. doxygenstruct:: fs::detail::extfs_superblock
+ :members: