diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-29 14:53:01 -0500 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-29 14:54:13 -0500 |
| commit | a8e99f3a783069cf85b626c6cfb2fbe83ae4fd44 (patch) | |
| tree | 8322b0d20dd02660c3f26fcfd37c2cc4dcd33cda /meta | |
| parent | 463a0c01f96d86c9c91f02903bc1d194c5e55b15 (diff) | |
chore: new version of OCL and codebase cleanup.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/pdf/.keep | 0 | ||||
| -rw-r--r-- | meta/tex/embfs.tex | 141 |
2 files changed, 0 insertions, 141 deletions
diff --git a/meta/pdf/.keep b/meta/pdf/.keep deleted file mode 100644 index e69de29..0000000 --- a/meta/pdf/.keep +++ /dev/null diff --git a/meta/tex/embfs.tex b/meta/tex/embfs.tex deleted file mode 100644 index 2d5c60e..0000000 --- a/meta/tex/embfs.tex +++ /dev/null @@ -1,141 +0,0 @@ -\documentclass{article} -\usepackage[a4paper,margin=1in]{geometry} -\usepackage{listings} -\usepackage{xcolor} -\usepackage{amsmath} -\usepackage{hyperref} -\usepackage{longtable} -\usepackage{graphicx} -\usepackage{fancyhdr} -\usepackage{titlesec} -\usepackage{caption} - -\titleformat{\section}{\normalfont\Large\bfseries}{\thesection}{1em}{} - -\definecolor{codegray}{gray}{0.95} -\lstset{ - backgroundcolor=\color{codegray}, - basicstyle=\ttfamily\small, - breaklines=true, - frame=single, - tabsize=4, - language=C++, - showstringspaces=false -} - -\title{Embedded File System (EMBFS) Specification} -\author{Amlal El Mahrouss} -\date{\today} - -\begin{document} - -\maketitle - -\section{Overview} -The \textbf{Embedded File System (EMBFS)} is a compact and minimal filesystem designed for use in embedded environments with limited storage media. This specification describes its key data structures, constants, and layout. - -\section{Namespace} -The EMBFS implementation resides under: -\begin{lstlisting} -namespace ocl::embfs -\end{lstlisting} - -\section{Supported Logical Block Addressing (LBA) Modes} -Two LBA addressing modes are supported via macro definitions: -\begin{itemize} - \item \texttt{EMBFS\_28BIT\_LBA} — Uses \texttt{uint32\_t}. - \item \texttt{EMBFS\_48BIT\_LBA} — Uses \texttt{uint64\_t}. -\end{itemize} - -\section{Fundamental Types} -\begin{longtable}{|l|l|} -\hline -\textbf{Type} & \textbf{Definition} \\ -\hline -\texttt{lba\_t} & 28-bit or 48-bit logical block address \\ -\texttt{sword\_t} & \texttt{int16\_t} \\ -\texttt{sdword\_t} & \texttt{int32\_t} \\ -\texttt{utf8\_char\_t} & \texttt{uint8\_t}, used for file names and labels \\ -\hline -\end{longtable} - -\section{Constants} -\begin{longtable}{|l|l|} -\hline -\textbf{Constant} & \textbf{Description} \\ -\hline -\texttt{\_superblock\_name\_len} & Length of superblock name (16 bytes) \\ -\texttt{\_superblock\_reserve\_len} & Reserved bytes in superblock (462 bytes) \\ -\texttt{\_inode\_name\_len} & Length of inode file name (128 bytes) \\ -\texttt{\_inode\_arr\_len} & Number of inodes per partition (12) \\ -\texttt{\_inode\_lookup\_len} & Number of direct LBA pointers in inode (8) \\ -\hline -\end{longtable} - -\section{Superblock Structure} -\textbf{Structure:} \texttt{embfs\_superblock} -\begin{lstlisting} -struct embfs_superblock { - sword_t s_block_mag; - sdword_t s_num_inodes; - sdword_t s_part_size; - sdword_t s_part_used; - sdword_t s_version; - sword_t s_sector_sz; - lba_t s_inode_start; - lba_t s_inode_end; - utf8_char_t s_name[16]; - utf8_char_t s_reserved[462]; -}; -\end{lstlisting} - -\textbf{Description:} -\begin{itemize} - \item \texttt{s\_block\_mag} — Magic number identifying the filesystem - \item \texttt{s\_num\_inodes} — Total number of inodes - \item \texttt{s\_part\_size} — Total size of the partition (in sectors) - \item \texttt{s\_part\_used} — Used size of the partition - \item \texttt{s\_version} — Filesystem version - \item \texttt{s\_sector\_sz} — Sector size (in bytes) - \item \texttt{s\_inode\_start}, \texttt{s\_inode\_end} — LBA range where inodes are stored - \item \texttt{s\_name} — Filesystem label - \item \texttt{s\_reserved} — Reserved for future use -\end{itemize} - -\section{Inode Structure} -\textbf{Structure:} \texttt{embfs\_inode} -\begin{lstlisting} -struct embfs_inode { - utf8_char_t i_name[128]; - sword_t i_size_virt, i_size_phys; - lba_t i_offset[8]; - sword_t i_checksum, i_flags_perms; - lba_t i_acl_creat, i_acl_edit, i_acl_delet; -}; -\end{lstlisting} - -\textbf{Description:} -\begin{itemize} - \item \texttt{i\_name} — UTF-8 encoded file name - \item \texttt{i\_size\_virt} — Virtual file size (logical size) - \item \texttt{i\_size\_phys} — Physical size in sectors - \item \texttt{i\_offset} — Array of direct LBA pointers - \item \texttt{i\_checksum} — CRC32 checksum of file contents - \item \texttt{i\_flags\_perms} — Flags and permissions field - \item \texttt{i\_acl\_creat}, \texttt{i\_acl\_edit}, \texttt{i\_acl\_delet} — ACLs for access control -\end{itemize} - -\section{Inode Array Type} -\begin{lstlisting} -typedef embfs_inode embfs_inode_arr_t[12]; -\end{lstlisting} -Represents a fixed-size array of 12 inodes within a given partition. - -\section{License} -\begin{itemize} - \item Copyright © 2025 Amlal El Mahrouss - \item All rights reserved. - \item For questions or licensing requests, contact: \texttt{amlal@nekernel.org} -\end{itemize} - -\end{document}
\ No newline at end of file |
