From e47a33d7d4f70c54a27e96df437e6d9ac4e829cf Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 6 Apr 2024 01:45:03 +0200 Subject: Add boot_write_epm_partition for PowerPC, update start location for AMD64 EPM. Remove HCFS support, fully focusing on NewFS. Signed-off-by: Amlal El Mahrouss --- Private/FSKit/HCFS.hxx | 94 -------------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 Private/FSKit/HCFS.hxx (limited to 'Private/FSKit') diff --git a/Private/FSKit/HCFS.hxx b/Private/FSKit/HCFS.hxx deleted file mode 100644 index 6386a84d..00000000 --- a/Private/FSKit/HCFS.hxx +++ /dev/null @@ -1,94 +0,0 @@ -/* ------------------------------------------- - - Copyright Mahrouss Logic - - 3/16/24: - -------------------------------------------- */ - -#pragma once - -/** - @brief NewOS File System. - @author Amlal EL Mahrouss -*/ - -#include -#include - -#define kHCFSIdentLen 8 -#define kHCFSIdent " HCFS" -#define kHCFSNameLen 256 -#define kHCFSPadLen 16 - -#define kHCFSFlagDeleted 0xF0 -#define kHCFSFlagUnallocated 0x0F -#define kHCFSFlagCatalog 0xFF - -#define kHCFSGuid "@{0771b3c9-b977-440a-a9ca-396b6d3f07b5}" - -/// @brief HCFS Balanced Tree structure. -/// @author Amlal El Mahrouss -typedef struct HCFSBTree final { - /// @brief The Catalog Data record. - struct PACKED { - NewOS::Lba fDataCatalog; - NewOS::Lba fRsrcCatalog; - NewOS::SizeT fDataCatalogSize; - NewOS::SizeT fRsrcCatalogSize; - } fCatalogData; - - NewOS::Lba fRelatedTrees[12]; - NewOS::Char fReserved[384]; -} PACKED HCFSBTree; - -/// @brief Catalog file for HCFS. -typedef struct HCFSCatalog { - NewOS::Char fCatalogName[kHCFSNameLen]; - NewOS::UInt32 fCatalogKind; - NewOS::UInt32 fCatalogFlags; - - /// @brief Tree information structure. - /// 0: BTree LBA. - /// 1: Next BTree LBA. - /// 3: Last BTree LBA. - /// 4: First BTree LBA. - /// Everything else is reserved. - NewOS::Lba fTreeInfo[12]; - - NewOS::Char fReserved[152]; -} HCFSCatalog; - -#define kHCFSCatalogKindFile 1 -#define kHCFSCatalogKindDirectory 2 -#define kHCFSCatalogKindJunction 3 -#define kHCFSCatalogKindNetwork 4 - -enum { - kHCFSHardDrive = 0xC0, // Hard Drive - kHCFSOpticalDrive = 0x0C, // Blu-Ray/DVD - kHCFSMassStorageDevice = 0xCC, // USB - kHCFSUnknown = 0xFF, // unknown device or unsupported (floppy) - kHCFSDriveCount = 4, -}; - -/// @brief This is a boot block, used by HCFS to boot the system (if formated using this filesystem.) -typedef struct HCFSBootBlock final { - NewOS::Char Ident[kHCFSIdentLen]; - NewOS::Char Shell[kHCFSNameLen]; - - NewOS::Int64 NumParts; // number of sub-partitions. - NewOS::Int64 FreeSectors; - NewOS::Int64 SectorCount; - NewOS::Int64 SectorSz; - - NewOS::Int64 DiskSize; // size of media. - NewOS::Int32 DiskKind; // kind of disk. - - NewOS::Lba FirstPartBlock; - NewOS::Lba LastPartBlock; - - NewOS::Char Pad[kHCFSPadLen]; -} PACKED HCFSBootBlock; - -// EOF. -- cgit v1.2.3