diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-18 09:18:55 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-18 09:18:55 +0200 |
| commit | 95f1448a371f563071a755b9ed507cd64d70ed5b (patch) | |
| tree | e728a7c260e3daa02eaf82c89ec384183be170d4 /dev/kernel/FSKit/Ext2.h | |
| parent | 7bfa36c2215e13097bb5ddcb15d2a8a476102b55 (diff) | |
kernel, boot: improvements and tweaks on the kernel's filesystems.
- HeFS requires a 4gb disk at minimum now.
- make_app fully supports STEPS.
- Errata of NeFS.tex, add HeFS.tex.
- Better boot flow.
- New filesystems for FileMgr.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/FSKit/Ext2.h')
| -rw-r--r-- | dev/kernel/FSKit/Ext2.h | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/dev/kernel/FSKit/Ext2.h b/dev/kernel/FSKit/Ext2.h index 81b6853e..856654d6 100644 --- a/dev/kernel/FSKit/Ext2.h +++ b/dev/kernel/FSKit/Ext2.h @@ -6,31 +6,35 @@ #pragma once +#include <CompilerKit/CompilerKit.h> +#include <hint/CompilerHint.h> +#include <KernelKit/DriveMgr.h> #include <NewKit/Defines.h> +#include <NewKit/KString.h> /// @file Ext2.h /// @brief EXT2 filesystem structures and constants. -#define kExt2FSMagic (0xEF53) -#define kExt2FSMaxFileNameLen (255U) -#define kExt2FSSuperblockOffset (1024) -#define kExt2FSRootInodeNumber (2) +#define kExt2FSMagic (0xEF53) +#define kExt2FSMaxFileNameLen (255U) +#define kExt2FSSuperblockOffset (1024) +#define kExt2FSRootInodeNumber (2) -#define kExt2FSInodeSize (128U) -#define kExt2FSBlockSizeBase (1024U) +#define kExt2FSInodeSize (128U) +#define kExt2FSBlockSizeBase (1024U) -#define kExt2FSRev0 (0) -#define kExt2FSRev1 (1) +#define kExt2FSRev0 (0) +#define kExt2FSRev1 (1) enum { - kExt2FileTypeUnknown = 0, - kExt2FileTypeRegular = 1, - kExt2FileTypeDirectory = 2, - kExt2FileTypeCharDevice = 3, - kExt2FileTypeBlockDevice = 4, - kExt2FileTypeFIFO = 5, - kExt2FileTypeSocket = 6, + kExt2FileTypeUnknown = 0, + kExt2FileTypeRegular = 1, + kExt2FileTypeDirectory = 2, + kExt2FileTypeCharDevice = 3, + kExt2FileTypeBlockDevice = 4, + kExt2FileTypeFIFO = 5, + kExt2FileTypeSocket = 6, kExt2FileTypeSymbolicLink = 7 }; @@ -91,7 +95,7 @@ struct PACKED EXT2_SUPER_BLOCK final Kernel::UInt32 fDefaultMountOpts; Kernel::UInt32 fFirstMetaBlockGroup; - Kernel::UInt8 fReserved[760]; // Padding to make 1024 bytes + Kernel::UInt8 fReserved[760]; // Padding to make 1024 bytes }; struct PACKED EXT2_INODE final @@ -113,10 +117,10 @@ struct PACKED EXT2_INODE final Kernel::UInt32 fGeneration; Kernel::UInt32 fFileACL; - Kernel::UInt32 fDirACL; // Only for revision 1+ + Kernel::UInt32 fDirACL; // Only for revision 1+ Kernel::UInt32 fFragmentAddr; - Kernel::UInt8 fOSD2[12]; + Kernel::UInt8 fOSD2[12]; }; struct PACKED EXT2_DIR_ENTRY final |
