summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/FSKit/Ext2.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-18 09:18:55 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-04-18 09:18:55 +0200
commit95f1448a371f563071a755b9ed507cd64d70ed5b (patch)
treee728a7c260e3daa02eaf82c89ec384183be170d4 /dev/kernel/FSKit/Ext2.h
parent7bfa36c2215e13097bb5ddcb15d2a8a476102b55 (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.h40
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