summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/FSKit
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2025-02-20 12:32:38 +0100
committerAmlal <amlal.elmahrouss@icloud.com>2025-02-20 12:38:04 +0100
commit7d2a7e7cab23b8217498866615a3719e5d3980ee (patch)
tree75b87af3d8be10f29f2d5c69af17a9455c90df73 /dev/Kernel/FSKit
parentaa8a096ad429640e752d69a89c572da35493d4c0 (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.h16
-rw-r--r--dev/Kernel/FSKit/IndexableProperty.h6
-rw-r--r--dev/Kernel/FSKit/NeFS.h88
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