diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2025-02-20 12:32:38 +0100 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2025-02-20 12:38:04 +0100 |
| commit | 7d2a7e7cab23b8217498866615a3719e5d3980ee (patch) | |
| tree | 75b87af3d8be10f29f2d5c69af17a9455c90df73 /dev/Kernel/FSKit | |
| parent | aa8a096ad429640e752d69a89c572da35493d4c0 (diff) | |
NeOS: Namespace change from 'Kernel' to 'NeOS'
ADD: Start defining the Workstation's HPFS (High-Performance File System)
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/FSKit')
| -rw-r--r-- | dev/Kernel/FSKit/HPFS.h | 16 | ||||
| -rw-r--r-- | dev/Kernel/FSKit/IndexableProperty.h | 6 | ||||
| -rw-r--r-- | dev/Kernel/FSKit/NeFS.h | 88 |
3 files changed, 62 insertions, 48 deletions
diff --git a/dev/Kernel/FSKit/HPFS.h b/dev/Kernel/FSKit/HPFS.h index 762e2ce6..9e2a3e36 100644 --- a/dev/Kernel/FSKit/HPFS.h +++ b/dev/Kernel/FSKit/HPFS.h @@ -27,4 +27,18 @@ enum kHPFSDriveCount,
};
-struct HPFS_EXPLICIT_BOOT_SECTOR;
+struct HPFS_BOOT_NODE;
+
+struct HPFS_BOOT_NODE final
+{
+ NeOS::Char fMagic[kHPFSMagicLen];
+ 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;
+};
\ No newline at end of file diff --git a/dev/Kernel/FSKit/IndexableProperty.h b/dev/Kernel/FSKit/IndexableProperty.h index 4117a1d4..a942cc7c 100644 --- a/dev/Kernel/FSKit/IndexableProperty.h +++ b/dev/Kernel/FSKit/IndexableProperty.h @@ -13,7 +13,7 @@ #define kIndexerNodeNameLength 255 #define kIndexerClaimed 0xCF -namespace Kernel +namespace NeOS { namespace Indexer { @@ -30,7 +30,7 @@ namespace Kernel explicit IndexableProperty() : Property() { - Kernel::KString strProp(kMaxPropLen); + NeOS::KString strProp(kMaxPropLen); strProp += "/prop/indexable"; this->GetKey() = strProp; @@ -60,4 +60,4 @@ namespace Kernel /// @return none. Void fs_index_file(const Char* filename, SizeT filenameLen, IndexableProperty& indexer); } // namespace Indexer -} // namespace Kernel +} // namespace NeOS diff --git a/dev/Kernel/FSKit/NeFS.h b/dev/Kernel/FSKit/NeFS.h index 0b690553..19123a4c 100644 --- a/dev/Kernel/FSKit/NeFS.h +++ b/dev/Kernel/FSKit/NeFS.h @@ -87,8 +87,8 @@ default. #define kNeFSLF '\r' #define kNeFSEOF (-1) -#define kNeFSBitWidth (sizeof(Kernel::Char)) -#define kNeFSLbaType (Kernel::Lba) +#define kNeFSBitWidth (sizeof(NeOS::Char)) +#define kNeFSLbaType (NeOS::Lba) /// @note Start after the partition map header. (Virtual addressing) #define kNeFSRootCatalogStartAddress (1024) @@ -142,38 +142,38 @@ struct PACKED NEFS_CATALOG_STRUCT final { BOOL ForkOrCatalog : 1 {0}; - Kernel::Char Name[kNeFSNodeNameLen] = {0}; - Kernel::Char Mime[kNeFSMimeNameLen] = {0}; + NeOS::Char Name[kNeFSNodeNameLen] = {0}; + NeOS::Char Mime[kNeFSMimeNameLen] = {0}; /// Catalog flags. - Kernel::UInt16 Flags; + NeOS::UInt16 Flags; /// Catalog allocation status. - Kernel::UInt16 Status; + NeOS::UInt16 Status; /// Custom catalog flags. - Kernel::UInt16 CatalogFlags; + NeOS::UInt16 CatalogFlags; /// Catalog kind. - Kernel::Int32 Kind; + NeOS::Int32 Kind; /// Size of the data fork. - Kernel::Lba DataForkSize; + NeOS::Lba DataForkSize; /// Size of all resource forks. - Kernel::Lba ResourceForkSize; + NeOS::Lba ResourceForkSize; /// Forks LBA. - Kernel::Lba DataFork; - Kernel::Lba ResourceFork; + NeOS::Lba DataFork; + NeOS::Lba ResourceFork; /// Tree allocation tracker. - Kernel::Lba NextSibling; - Kernel::Lba PrevSibling; + NeOS::Lba NextSibling; + NeOS::Lba PrevSibling; /// Best-buddy tracker. - Kernel::Lba NextBestSibling; - Kernel::Lba NextPrevSibling; + NeOS::Lba NextBestSibling; + NeOS::Lba NextPrevSibling; }; /// @brief Fork type, contains a data page. @@ -184,53 +184,53 @@ struct PACKED NEFS_FORK_STRUCT final { BOOL ForkOrCatalog : 1 {1}; - Kernel::Char ForkName[kNeFSForkNameLen] = {0}; - Kernel::Char CatalogName[kNeFSNodeNameLen] = {0}; + NeOS::Char ForkName[kNeFSForkNameLen] = {0}; + NeOS::Char CatalogName[kNeFSNodeNameLen] = {0}; - Kernel::Int32 Flags; - Kernel::Int32 Kind; + NeOS::Int32 Flags; + NeOS::Int32 Kind; - Kernel::Int64 ResourceId; - Kernel::Int32 ResourceKind; - Kernel::Int32 ResourceFlags; + NeOS::Int64 ResourceId; + NeOS::Int32 ResourceKind; + NeOS::Int32 ResourceFlags; - Kernel::Lba DataOffset; // 8 Where to look for this data? - Kernel::SizeT DataSize; /// Data size according using sector count. + NeOS::Lba DataOffset; // 8 Where to look for this data? + NeOS::SizeT DataSize; /// Data size according using sector count. - Kernel::Lba NextSibling; - Kernel::Lba PreviousSibling; + NeOS::Lba NextSibling; + NeOS::Lba PreviousSibling; - Kernel::Char Pad[2] = {0}; + NeOS::Char Pad[2] = {0}; }; /// @brief Partition block type struct PACKED NEFS_ROOT_PARTITION_BLOCK final { - Kernel::Char Ident[kNeFSIdentLen] = {0}; - Kernel::Char PartitionName[kNeFSPartLen] = {0}; + NeOS::Char Ident[kNeFSIdentLen] = {0}; + NeOS::Char PartitionName[kNeFSPartLen] = {0}; - Kernel::Int32 Flags; - Kernel::Int32 Kind; + NeOS::Int32 Flags; + NeOS::Int32 Kind; - Kernel::Lba StartCatalog; - Kernel::SizeT CatalogCount; + NeOS::Lba StartCatalog; + NeOS::SizeT CatalogCount; - Kernel::SizeT DiskSize; + NeOS::SizeT DiskSize; - Kernel::SizeT FreeCatalog; - Kernel::SizeT FreeSectors; + NeOS::SizeT FreeCatalog; + NeOS::SizeT FreeSectors; - Kernel::SizeT SectorCount; - Kernel::SizeT SectorSize; + NeOS::SizeT SectorCount; + NeOS::SizeT SectorSize; - Kernel::UInt64 Version; + NeOS::UInt64 Version; - Kernel::Lba EpmBlock; + NeOS::Lba EpmBlock; - Kernel::Char Pad[kNeFSPadLen]; + NeOS::Char Pad[kNeFSPadLen]; }; -namespace Kernel +namespace NeOS { class NeFileSystemParser; class NeFileSystemJournal; @@ -440,4 +440,4 @@ namespace Kernel { Boolean fs_init_nefs(Void) noexcept; } // namespace NeFS -} // namespace Kernel +} // namespace NeOS |
