From a69dc6b982be67156ba4273b37a87c9e03a54b2c Mon Sep 17 00:00:00 2001 From: Amlal Date: Mon, 24 Feb 2025 20:49:30 +0100 Subject: IMPL: NeFS doesn't store full path now in catalog name. IMPL: HPFS defining data structures. META: Ran format command for project. Signed-off-by: Amlal --- dev/Kernel/FSKit/HPFS.h | 19 +++++++++++++++++-- dev/Kernel/FSKit/IndexableProperty.h | 6 +++--- dev/Kernel/FSKit/NeFS.h | 16 +++++++++------- 3 files changed, 29 insertions(+), 12 deletions(-) (limited to 'dev/Kernel/FSKit') diff --git a/dev/Kernel/FSKit/HPFS.h b/dev/Kernel/FSKit/HPFS.h index 9e2a3e36..ef1b4ad0 100644 --- a/dev/Kernel/FSKit/HPFS.h +++ b/dev/Kernel/FSKit/HPFS.h @@ -11,9 +11,12 @@ /// @file HPFS.h /// @brief HPFS filesystem support. -#define kHPFSVersion 0x0100 +#define kHPFSVersion (0x0100) #define kHPFSMagic " HPFS" -#define kHPFSMagicLen 8 +#define kHPFSMagicLen (8) + +#define kHPFSFileNameLen (255) +#define kHPFSPartNameLen (255) #define kHPFSMinimumDiskSize (gib_cast(64)) @@ -32,6 +35,7 @@ struct HPFS_BOOT_NODE; struct HPFS_BOOT_NODE final { NeOS::Char fMagic[kHPFSMagicLen]; + NeOS::Char fPartName[kHPFSPartNameLen]; NeOS::UInt32 fVersion; NeOS::UInt64 fBadSectors; NeOS::UInt64 fSectorCount; @@ -41,4 +45,15 @@ struct HPFS_BOOT_NODE final NeOS::UInt8 fTextEncoding; NeOS::UInt64 fRootINode; NeOS::UInt64 fRecoveryINode; +}; + +struct HPFS_INDEX_NODE +{ + NeOS::Char fName[kHPFSFileNameLen]; + NeOS::UInt32 fFlags; + NeOS::UInt16 fKind; + NeOS::UInt32 fSize; + NeOS::Lba fFirstINode; + NeOS::Lba fLastINode; + NeOS::UInt32 fChecksum; }; \ No newline at end of file diff --git a/dev/Kernel/FSKit/IndexableProperty.h b/dev/Kernel/FSKit/IndexableProperty.h index a942cc7c..091f4c9b 100644 --- a/dev/Kernel/FSKit/IndexableProperty.h +++ b/dev/Kernel/FSKit/IndexableProperty.h @@ -10,8 +10,8 @@ #include #include -#define kIndexerNodeNameLength 255 -#define kIndexerClaimed 0xCF +#define kIndexerCatalogNameLength 255 +#define kIndexerClaimed 0xCF namespace NeOS { @@ -21,7 +21,7 @@ namespace NeOS { public: Char Drive[kDriveNameLen]; - Char Path[kIndexerNodeNameLength]; + Char Path[kIndexerCatalogNameLength]; }; class IndexableProperty final : public Property diff --git a/dev/Kernel/FSKit/NeFS.h b/dev/Kernel/FSKit/NeFS.h index 19123a4c..0383c234 100644 --- a/dev/Kernel/FSKit/NeFS.h +++ b/dev/Kernel/FSKit/NeFS.h @@ -29,7 +29,7 @@ default. #define kNeFSInvalidFork (-1) #define kNeFSInvalidCatalog (-1) -#define kNeFSNodeNameLen (256) +#define kNeFSCatalogNameLen (256) #define kNeFSMinimumDiskSize (gib_cast(4)) @@ -142,8 +142,8 @@ struct PACKED NEFS_CATALOG_STRUCT final { BOOL ForkOrCatalog : 1 {0}; - NeOS::Char Name[kNeFSNodeNameLen] = {0}; - NeOS::Char Mime[kNeFSMimeNameLen] = {0}; + NeOS::Char Name[kNeFSCatalogNameLen] = {0}; + NeOS::Char Mime[kNeFSMimeNameLen] = {0}; /// Catalog flags. NeOS::UInt16 Flags; @@ -167,13 +167,15 @@ struct PACKED NEFS_CATALOG_STRUCT final NeOS::Lba DataFork; NeOS::Lba ResourceFork; - /// Tree allocation tracker. + /// Buddy allocation tracker. NeOS::Lba NextSibling; NeOS::Lba PrevSibling; /// Best-buddy tracker. NeOS::Lba NextBestSibling; NeOS::Lba NextPrevSibling; + + NeOS::UInt32 Checksum; }; /// @brief Fork type, contains a data page. @@ -184,8 +186,8 @@ struct PACKED NEFS_FORK_STRUCT final { BOOL ForkOrCatalog : 1 {1}; - NeOS::Char ForkName[kNeFSForkNameLen] = {0}; - NeOS::Char CatalogName[kNeFSNodeNameLen] = {0}; + NeOS::Char ForkName[kNeFSForkNameLen] = {0}; + NeOS::Char CatalogName[kNeFSCatalogNameLen] = {0}; NeOS::Int32 Flags; NeOS::Int32 Kind; @@ -433,7 +435,7 @@ namespace NeOS } private: - Char mStamp[kNeFSNodeNameLen] = {"/etc/xml/journal" kNeFSJournalExt}; + Char mStamp[kNeFSCatalogNameLen] = {"/etc/xml/journal" kNeFSJournalExt}; }; namespace NeFS -- cgit v1.2.3