From a13e1c0911c0627184bc38f18c7fdda64447b3ad Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 23 Mar 2025 19:13:48 +0100 Subject: meta(kernel): Reworked repository's filesystem structure. Removing useless parts of the project too. Signed-off-by: Amlal El Mahrouss --- dev/kernel/FSKit/HeFS.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 dev/kernel/FSKit/HeFS.h (limited to 'dev/kernel/FSKit/HeFS.h') diff --git a/dev/kernel/FSKit/HeFS.h b/dev/kernel/FSKit/HeFS.h new file mode 100644 index 00000000..6911ddef --- /dev/null +++ b/dev/kernel/FSKit/HeFS.h @@ -0,0 +1,59 @@ +/* ------------------------------------------- + + Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. + +------------------------------------------- */ + +#pragma once + +#include + +/// @file HeFS.h +/// @brief HeFS filesystem support. + +#define kHeFSVersion (0x0100) +#define kHeFSMagic " HeFS" +#define kHeFSMagicLen (8) + +#define kHeFSFileNameLen (256U) +#define kHeFSPartNameLen (256U) + +#define kHeFSMinimumDiskSize (gib_cast(64)) + +enum +{ + kHeFSInvalidDrive, + kHeFSHDDDrive, + kHeFSSSDDrive, + kHeFSMassStorageDrive, + kHeFSSCSIDrive, + kHeFSDriveCount, +}; + +struct HeFS_BOOT_NODE; + +struct HeFS_BOOT_NODE final +{ + NeOS::Char fMagic[kHeFSMagicLen]; + NeOS::Char fPartName[kHeFSPartNameLen]; + NeOS::UInt32 fVersion; + NeOS::UInt64 fBadSectors; + NeOS::UInt64 fSectorCount; + NeOS::UInt64 fSectorSize; + NeOS::UInt32 fChecksum; + NeOS::UInt8 fDriveKind; + NeOS::UInt8 fTextEncoding; + NeOS::UInt64 fRootINode; + NeOS::UInt64 fRecoveryINode; +}; + +struct HeFS_INDEX_NODE +{ + NeOS::Char fName[kHeFSFileNameLen]; + NeOS::UInt32 fFlags; + NeOS::UInt16 fKind; + NeOS::UInt32 fSize; + NeOS::Lba fFirstINode; + NeOS::Lba fLastINode; + NeOS::UInt32 fChecksum; +}; \ No newline at end of file -- cgit v1.2.3