summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/FSKit
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2025-02-24 20:49:30 +0100
committerAmlal <amlal.elmahrouss@icloud.com>2025-02-24 20:49:30 +0100
commita69dc6b982be67156ba4273b37a87c9e03a54b2c (patch)
tree6e6c84c58d06a663bb23c3a3d8be36ed9cc51197 /dev/Kernel/FSKit
parent9ff5f391e7d7630c3b03faeba34696efa47f37a7 (diff)
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 <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/FSKit')
-rw-r--r--dev/Kernel/FSKit/HPFS.h19
-rw-r--r--dev/Kernel/FSKit/IndexableProperty.h6
-rw-r--r--dev/Kernel/FSKit/NeFS.h16
3 files changed, 29 insertions, 12 deletions
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 <CompilerKit/CompilerKit.h>
#include <KernelKit/DriveMgr.h>
-#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